From e2079ea034c7f6bb5fc096fd4d83ed9b2cc3ff13 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期日, 21 六月 2026 10:38:31 +0800
Subject: [PATCH] fix: 导入销售订单汇总修改

---
 src/main/resources/mapper/sales/ShippingInfoMapper.xml |   88 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 75 insertions(+), 13 deletions(-)

diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index c5b3ae7..fde05d2 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.sales.mapper.ShippingInfoMapper">
 
@@ -21,10 +22,11 @@
         sl.sales_contract_no,
         slp.specification_model,
         p.product_name,
+        pm.thickness,
         sl.customer_name
         FROM shipping_info s
         LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
-        LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id
+        LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id and slp.type = 1
         left join product_model pm on slp.product_model_id = pm.id
         left join product p on pm.product_id = p.id
         WHERE 1=1
@@ -39,6 +41,12 @@
         </if>
         <if test="req.expressNumber != null and req.expressNumber != ''">
             AND s.express_number LIKE CONCAT('%',#{req.expressNumber},'%')
+        </if>
+        <if test="req.shippingDateStart != null and req.shippingDateStart != ''">
+            AND s.shipping_date >= #{req.shippingDateStart}
+        </if>
+        <if test="req.shippingDateEnd != null and req.shippingDateEnd != ''">
+            AND s.shipping_date &lt;= #{req.shippingDateEnd}
         </if>
         order by create_time DESC
     </select>
@@ -56,31 +64,85 @@
             sl.sales_contract_no,
             sl.customer_name
         FROM shipping_info s
-                 LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
+        LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
+        ORDER BY s.create_time ASC
     </select>
+
+    <select id="exportList" resultType="com.ruoyi.sales.dto.ShippingInfoDto">
+        SELECT
+        s.id,
+        s.sales_ledger_id,
+        s.shipping_date,
+        s.shipping_car_number,
+        s.express_number,
+        s.express_company,
+        s.shipping_no,
+        s.type,
+        s.status,
+        s.create_time,
+        s.update_time,
+        s.create_user,
+        s.update_user,
+        s.tenant_id,
+        sl.sales_contract_no,
+        slp.specification_model,
+        p.product_name,
+        pm.thickness,
+        sl.customer_name
+        FROM shipping_info s
+        LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
+        LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id and slp.type = 1
+        left join product_model pm on slp.product_model_id = pm.id
+        left join product p on pm.product_id = p.id
+        WHERE 1=1
+        <if test="req.salesContractNo != null and req.salesContractNo != ''">
+            AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
+        </if>
+        <if test="req.shippingCarNumber != null and req.shippingCarNumber != ''">
+            AND s.shipping_car_number LIKE CONCAT('%',#{req.shippingCarNumber},'%')
+        </if>
+        <if test="req.expressNumber != null and req.expressNumber != ''">
+            AND s.express_number LIKE CONCAT('%',#{req.expressNumber},'%')
+        </if>
+        <if test="req.shippingDateStart != null and req.shippingDateStart != ''">
+            AND s.shipping_date >= #{req.shippingDateStart}
+        </if>
+        <if test="req.shippingDateEnd != null and req.shippingDateEnd != ''">
+            AND s.shipping_date &lt;= #{req.shippingDateEnd}
+        </if>
+        order by s.create_time DESC
+    </select>
+
     <select id="getReturnManagementDtoById" resultType="com.ruoyi.sales.dto.SalesLedgerProductDto">
         SELECT
         slp.*,
-        slp.quantity - COALESCE(rs.total_return_num, 0) AS un_quantity,
-        COALESCE(rs.total_return_num, 0) AS total_return_num
+        GREATEST(slp.quantity - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
+        COALESCE(rs.total_return_num, 0) AS total_return_num,
+        pm.unit AS product_model_unit,
+        pm.thickness AS thickness
         FROM shipping_info si
-        LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id
+        LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id and slp.type = 1
+        LEFT JOIN product_model pm ON slp.product_model_id = pm.id
         LEFT JOIN (
         SELECT
         return_sale_ledger_product_id,
         SUM(num) AS total_return_num
-        FROM return_sale_product
-        <where>
-            <if test="productId != null">
-                AND return_sale_ledger_product_id = #{productId}
-            </if>
-        </where>
+        FROM return_sale_product rsp
+        left join return_management rm on rm.id = rsp.return_management_id
+        left join shipping_info si on si.id = rm.shipping_id
+        WHERE 1=1
         GROUP BY return_sale_ledger_product_id
         ) rs ON rs.return_sale_ledger_product_id = slp.id
+        <where>
+            <if test="shippingId != null">
+                si.id = #{shippingId}
+            </if>
+        </where>
     </select>
+
     <select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
         select * from shipping_info si
         left join sales_ledger sl on si.sales_ledger_id = sl.id
-        where sl.customer_name = #{customerName}
+        where si.status = '宸插彂璐�' and sl.customer_name = #{customerName}
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3