From f4d4d29368ccacb807f93e2033cd4a643a3ddade Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 30 三月 2026 10:20:28 +0800
Subject: [PATCH] yys 1.修改bug

---
 src/main/resources/mapper/sales/ShippingInfoMapper.xml |   81 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index efe93cf..9e28542 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -2,21 +2,29 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.sales.mapper.ShippingInfoMapper">
 
-    <select id="listPage" resultType="com.ruoyi.sales.pojo.ShippingInfo">
+    <select id="listPage" 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,
-        sl.customer_name
+        sl.customer_name,
+        s.shipping_total AS shipping_total,
+        slp.id as salesLedgerProductId
         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
         WHERE 1=1
         <if test="req.salesContractNo != null and req.salesContractNo != ''">
             AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
@@ -24,6 +32,16 @@
         <if test="req.shippingCarNumber != null and req.shippingCarNumber != ''">
             AND s.shipping_car_number LIKE CONCAT('%',#{req.shippingCarNumber},'%')
         </if>
+        <if test="req.customerName != null and req.customerName != ''">
+            AND sl.customer_name LIKE CONCAT('%',#{req.customerName},'%')
+        </if>
+        <if test="req.shippingNo != null and req.shippingNo != ''">
+            AND s.shipping_no LIKE CONCAT('%',#{req.shippingNo},'%')
+        </if>
+        <if test="req.expressNumber != null and req.expressNumber != ''">
+            AND s.express_number LIKE CONCAT('%',#{req.expressNumber},'%')
+        </if>
+        order by create_time DESC
     </select>
     <select id="listAll" resultType="com.ruoyi.sales.pojo.ShippingInfo">
         SELECT
@@ -41,4 +59,63 @@
         FROM shipping_info s
                  LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
     </select>
+    <select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
+        select *,sid.id as id from shipping_info_detail sid
+            left join shipping_info si on si.id = sid.shipping_info_id
+                          left join sales_ledger sl on si.sales_ledger_id = sl.id
+        where (si.status = '宸插彂璐�' or si.status = '鍙戣揣涓�')  and (sid.status is null or sid.status != '宸查��璐�') and sl.customer_name = #{customerName}
+    </select>
+    <select id="getReturnManagementDtoById" resultType="com.ruoyi.sales.dto.SalesLedgerProductDto">
+        SELECT
+        slp.*,
+        si.shipping_num,
+        GREATEST(si.shipping_num - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
+        COALESCE(rs.total_return_num, 0) AS total_return_num
+        FROM shipping_info_detail si
+        LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id and slp.type = 1
+        LEFT JOIN (
+        SELECT
+        return_sale_ledger_product_id,
+        SUM(num) AS total_return_num
+        FROM return_sale_product rsp
+        left join return_management rm on rm.id = rsp.return_management_id
+        left join shipping_info_detail si on si.id = rm.shipping_id
+        <where>
+            <if test="shippingId != null">
+                si.id = #{shippingId}
+            </if>
+        </where>
+        GROUP BY si.id
+        ) rs ON rs.return_sale_ledger_product_id = slp.id
+        <where>
+            <if test="shippingId != null">
+                si.id = #{shippingId}
+            </if>
+        </where>
+    </select>
+    <select id="getDateil" resultType="com.ruoyi.sales.dto.ShippingInfoDto" parameterType="java.lang.Long">
+        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,
+            sl.customer_name,
+            s.shipping_total AS shipping_total,
+            slp.id as salesLedgerProductId
+        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
+        WHERE s.id = #{id}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3