Преглед на файлове

Revert "feat:新增导出客户对账列表Excel接口"

This reverts commit b688f75fc143a6b38a89ba8fb17426fbee05159f.
yangyi преди 5 месеца
родител
ревизия
750cb589dd

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

@@ -1,18 +1,23 @@
 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
  */
@@ -32,4 +37,10 @@ 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);
+    }
 }

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

@@ -25,6 +25,10 @@ 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 deliveryNo;
+    private String daHuoKuanHao;
     /**
      * 款号
      */

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

@@ -0,0 +1,85 @@
+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;
+}

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

@@ -0,0 +1,40 @@
+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);
+    }
+}

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

@@ -1,11 +1,17 @@
 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);
 }

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

@@ -6,10 +6,15 @@ 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
@@ -21,6 +26,20 @@ 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;

+ 9 - 6
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="customer_customerName"/>
+            <result property="customerName" column="customerName"/>
             <result property="address" column="receiving_address"/>
         </association>
 
         <association property="delivery" javaType="org.dromara.customerReconciliation.domain.VO.DeliveryVO">
-            <result property="deliveryNo" column="delivery_deliveryNo"/>
+            <result property="daHuoKuanHao" column="daHuoKuanHao"/>
             <result property="styleNo" column="item_number"/>
             <result property="baseCloth" column="base_cloth"/>
             <result property="flowerNo" column="flower_no"/>
@@ -43,16 +43,19 @@
     </update>
 
     <select id="get" resultMap="customerReconciliationResultMap">
-        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
+        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
         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>
-
-            AND '送货单号' = '送货单号'
-
+            <if test="dto.purchaseCode != null and dto.purchaseCode != ''">
+                AND p.purchase_code = #{dto.purchaseCode}
+            </if>
             <if test="dto.baseCloth != null and dto.baseCloth != ''">
                 AND base_cloth = #{dto.baseCloth}
             </if>