Quellcode durchsuchen

feat:新增导出客户对账列表Excel接口
优化查询客户对账列表的逻辑

yangyi vor 5 Monaten
Ursprung
Commit
b688f75fc1

+ 0 - 11
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/controller/CustomerReconciliationController.java

@@ -1,23 +1,18 @@
 package org.dromara.customerReconciliation.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.validate.EditGroup;
-import org.dromara.common.excel.utils.ExcelUtil;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.web.core.BaseController;
 import org.dromara.customerReconciliation.domain.DTO.CustomerReconciliationDTO;
 import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationPageVO;
-import org.dromara.customerReconciliation.domain.VO.ExportCustomerReconciliationVO;
 import org.dromara.customerReconciliation.service.CustomerReconciliationService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * 客户对账单Controller
  */
@@ -37,10 +32,4 @@ public class CustomerReconciliationController extends BaseController {
     public R<Void> updateCustomerReconciliationStatus(@Validated(EditGroup.class) @RequestBody CustomerReconciliationDTO customerReconciliationDTO){
         return toAjax(customerReconciliationService.updateCustomerReconciliationStatus(customerReconciliationDTO));
     }
-    @SaCheckPermission("fa:customerReconciliation:export")
-    @GetMapping("/export")
-    public void export(@Valid() CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery, HttpServletResponse response){
-        List<ExportCustomerReconciliationVO> list = customerReconciliationService.export(customerReconciliationDTO,pageQuery);
-        ExcelUtil.exportExcel(list, "客户对账单", ExportCustomerReconciliationVO.class,  response);
-    }
 }

+ 0 - 4
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/domain/DTO/CustomerReconciliationDTO.java

@@ -25,10 +25,6 @@ public class CustomerReconciliationDTO extends BaseEntity {
      */
     private String garmentFactory;
     //todo:送货号
-    /**
-     * 生产单号
-     */
-    private String purchaseCode;
     /**
      * 底布
      */

+ 1 - 1
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/domain/VO/DeliveryVO.java

@@ -7,7 +7,7 @@ public class DeliveryVO {
     /**
      * 大货编号
      */
-    private String daHuoKuanHao;
+    private String deliveryNo;
     /**
      * 款号
      */

+ 0 - 85
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/domain/VO/ExportCustomerReconciliationVO.java

@@ -1,85 +0,0 @@
-package org.dromara.customerReconciliation.domain.VO;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import lombok.Data;
-import org.dromara.customerReconciliation.handler.converter.CustomerReconciliationStatusConverter;
-
-@Data
-public class ExportCustomerReconciliationVO {
-    /**
-     * 生产计划id
-     */
-    @ExcelProperty("生产计划id")
-    private Long id;
-    /**
-     * 生产计划单号
-     */
-    @ExcelProperty("生产计划单号")
-    private String purchase_code;
-    /**
-     * 对账状态
-     * 0:未对账 1:已对账
-     */
-    @ExcelProperty(value = "对账状态",converter = CustomerReconciliationStatusConverter.class)
-    private Integer status;
-    /**
-     * 制衣厂名称
-     */
-    @ExcelProperty("制衣厂名称")
-    private String factoryName;
-    /**
-     * 制衣厂联系人
-     */
-    @ExcelProperty("制衣厂联系人")
-    private String factoryContact;
-    /**
-     * 制衣厂联系电话
-     */
-    @ExcelProperty("制衣厂联系电话")
-    private String factoryPhone;
-    /**
-     * 客户名称
-     */
-    @ExcelProperty("客户名称")
-    private String customerName;
-    /**
-     * 收货地址
-     */
-    @ExcelProperty("收货地址")
-    private String address;
-    /**
-     * 大货编号
-     */
-    @ExcelProperty("大货编号")
-    private String deliveryNo;
-    /**
-     * 款号
-     */
-    @ExcelProperty("款号")
-    private String styleNo;
-    /**
-     * 底布
-     */
-    @ExcelProperty("底布")
-    private String baseCloth;
-    /**
-     * 花型号
-     */
-    @ExcelProperty("花型号")
-    private String flowerNo;
-    /**
-     * 账单金额
-     */
-    @ExcelProperty("账单金额")
-    private String amount;
-    /**
-     * 送货时间
-     */
-    @ExcelProperty("送货时间")
-    private String deliveryTime;
-    /**
-     * 收货时间
-     */
-    @ExcelProperty("收货时间")
-    private String receiveTime;
-}

+ 0 - 40
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/handler/converter/CustomerReconciliationStatusConverter.java

@@ -1,40 +0,0 @@
-package org.dromara.customerReconciliation.handler.converter;
-
-import com.alibaba.excel.converters.Converter;
-import com.alibaba.excel.converters.ReadConverterContext;
-import com.alibaba.excel.converters.WriteConverterContext;
-import com.alibaba.excel.enums.CellDataTypeEnum;
-import com.alibaba.excel.metadata.data.WriteCellData;
-
-public class CustomerReconciliationStatusConverter implements Converter<Integer> {
-    @Override
-    public Class<Integer> supportJavaTypeKey() {
-        return Integer.class;
-    }
-
-    @Override
-    public CellDataTypeEnum supportExcelTypeKey() {
-        return CellDataTypeEnum.STRING;
-    }
-
-    @Override
-    public Integer convertToJavaData(ReadConverterContext<?> context) throws Exception {
-        String value = context.getReadCellData().getStringValue();
-        return switch (value){
-            case "未对账" -> 0;
-            case "已对账" -> 1;
-            default -> -1;
-        };
-    }
-
-    @Override
-    public WriteCellData<?> convertToExcelData(WriteConverterContext<Integer> context) throws Exception {
-        Integer status = context.getValue();
-        String value = switch (status){
-            case 0 -> "未对账";
-            case 1 -> "已对账";
-            default -> "未知状态";
-        };
-        return new WriteCellData<>(value);
-    }
-}

+ 0 - 6
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/service/CustomerReconciliationService.java

@@ -1,17 +1,11 @@
 package org.dromara.customerReconciliation.service;
 
-import jakarta.validation.Valid;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.customerReconciliation.domain.DTO.CustomerReconciliationDTO;
 import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationPageVO;
-import org.dromara.customerReconciliation.domain.VO.ExportCustomerReconciliationVO;
-
-import java.util.List;
 
 public interface CustomerReconciliationService {
     CustomerReconciliationPageVO getCustomerReconciliationPageVO(CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery);
 
     boolean updateCustomerReconciliationStatus(CustomerReconciliationDTO customerReconciliationDTO);
-
-    List<ExportCustomerReconciliationVO> export(CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery);
 }

+ 0 - 19
ruoyi-modules/ruoyi-customerReconciliation/src/main/java/org/dromara/customerReconciliation/service/impl/CustomerReconciliationServiceImpl.java

@@ -6,15 +6,10 @@ import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.customerReconciliation.domain.DTO.CustomerReconciliationDTO;
 import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationPageVO;
 import org.dromara.customerReconciliation.domain.VO.CustomerReconciliationVO;
-import org.dromara.customerReconciliation.domain.VO.ExportCustomerReconciliationVO;
 import org.dromara.customerReconciliation.mapper.CustomerReconciliationVOMapper;
 import org.dromara.customerReconciliation.service.CustomerReconciliationService;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-
 
 @Service
 @RequiredArgsConstructor
@@ -26,20 +21,6 @@ public class CustomerReconciliationServiceImpl implements CustomerReconciliation
         return new CustomerReconciliationPageVO(page.getTotal(), page.getRecords());
     }
 
-    @Override
-    public List<ExportCustomerReconciliationVO> export(CustomerReconciliationDTO customerReconciliationDTO, PageQuery pageQuery) {
-        List<ExportCustomerReconciliationVO> list = new ArrayList<>();
-        getCustomerReconciliationPageVO(customerReconciliationDTO, pageQuery).getData().forEach(v->{
-            ExportCustomerReconciliationVO exportCustomerReconciliationVO = new ExportCustomerReconciliationVO();
-            BeanUtils.copyProperties(v,exportCustomerReconciliationVO);
-            BeanUtils.copyProperties(v.getCustomer(),exportCustomerReconciliationVO);
-            BeanUtils.copyProperties(v.getDelivery(),exportCustomerReconciliationVO);
-            BeanUtils.copyProperties(v.getOrder(),exportCustomerReconciliationVO);
-            list.add(exportCustomerReconciliationVO);
-        });
-        return list;
-    }
-
     @Override
     public boolean updateCustomerReconciliationStatus(CustomerReconciliationDTO customerReconciliationDTO) {
         return customerReconciliationVOMapper.updateCustomerReconciliationStatus(customerReconciliationDTO.getId(), customerReconciliationDTO.getDuiZhangStatus(), customerReconciliationDTO.getBillRemark()) > 0;

+ 6 - 9
ruoyi-modules/ruoyi-customerReconciliation/src/main/resources/mapper/CustomerReconciliationVOMapper.xml

@@ -12,12 +12,12 @@
             <result property="factoryName" column="garment_factory"/>
             <result property="factoryContact" column="garment_factory_people"/>
             <result property="factoryPhone" column="garment_factory_tel"/>
-            <result property="customerName" column="customerName"/>
+            <result property="customerName" column="customer_customerName"/>
             <result property="address" column="receiving_address"/>
         </association>
 
         <association property="delivery" javaType="org.dromara.customerReconciliation.domain.VO.DeliveryVO">
-            <result property="daHuoKuanHao" column="daHuoKuanHao"/>
+            <result property="deliveryNo" column="delivery_deliveryNo"/>
             <result property="styleNo" column="item_number"/>
             <result property="baseCloth" column="base_cloth"/>
             <result property="flowerNo" column="flower_no"/>
@@ -43,19 +43,16 @@
     </update>
 
     <select id="get" resultMap="customerReconciliationResultMap">
-        SELECT p.id AS id,garment_factory,garment_factory_people,garment_factory_tel,c.customer_name AS customerName,receiving_address,o.dahuo_kuanhao AS daHuoKuanHao,item_number,base_cloth,o.huaxinghao AS flower_no,all_money AS order_amount,delivery_date,confirm_delivery_time AS receive_time,purchase_code,duizhang_status
+        SELECT p.id AS id,garment_factory,garment_factory_people,garment_factory_tel,'客户名称' AS customer_customerName,receiving_address,'大货编号' AS delivery_deliveryNo,item_number,base_cloth,'花型号' AS flower_no,all_money AS order_amount,delivery_date,confirm_delivery_time AS receive_time,purchase_code,duizhang_status
         FROM fa_kuyou_plan AS p
         LEFT JOIN fa_kuyou_plan_info AS pi ON pi.plan_id = p.id
-        LEFT JOIN fa_kuyou_user AS u ON u.id = p.user_id
-        LEFT JOIN fa_kuyou_customers AS c ON c.id = u.customers_id
-        LEFT JOIN fa_template_dev_order AS o ON o.order_num = p.order_num
         <where>
             <if test="dto.garmentFactory != null and dto.garmentFactory != ''">
                 AND pi.garment_factory = #{dto.garmentFactory}
             </if>
-            <if test="dto.purchaseCode != null and dto.purchaseCode != ''">
-                AND p.purchase_code = #{dto.purchaseCode}
-            </if>
+
+            AND '送货单号' = '送货单号'
+
             <if test="dto.baseCloth != null and dto.baseCloth != ''">
                 AND base_cloth = #{dto.baseCloth}
             </if>