From cd2ed591a01abcaef8dac4cc5ad3b398abacbaef Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期五, 28 八月 2026 11:13:41 +0800
Subject: [PATCH] feat: 环境配置
---
src/main/resources/mapper/sales/ShippingInfoMapper.xml | 116 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 97 insertions(+), 19 deletions(-)
diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index c5b3ae7..b27c0c5 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -18,15 +18,35 @@
s.create_user,
s.update_user,
s.tenant_id,
+ s.shipping_document,
+ s.is_reconciled,
+ s.statement_archiving_status,
+ s.is_settled,
+ s.settlement_archiving_status,
+ s.is_invoiced,
+ s.project_id,
+ sl.project_name as projectName,
sl.sales_contract_no,
- slp.specification_model,
+ pm.model as specification_model,
+ pm.unit,
p.product_name,
- sl.customer_name
+ sl.customer_name,
+ spd.totalQuantity,
+ sor.outboundBatches,
+ rm_agg.returnNos
FROM shipping_info s
+ LEFT JOIN (select shipping_info_id,sum(quantity) totalQuantity from shipping_product_detail GROUP BY shipping_info_id) spd ON spd.shipping_info_id = s.id
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
+ left join (select record_id,GROUP_CONCAT(outbound_batches SEPARATOR ',') AS outboundBatches
+ from stock_out_record
+ where record_type='13'and approval_status=1
+ group by record_id)sor on sor.record_id= s.id
+ left join (select shipping_id, GROUP_CONCAT(DISTINCT return_no SEPARATOR ',') AS returnNos
+ from return_management
+ group by shipping_id) rm_agg on rm_agg.shipping_id = s.id
WHERE 1=1
<if test="req.salesContractNo != null and req.salesContractNo != ''">
AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
@@ -39,6 +59,15 @@
</if>
<if test="req.expressNumber != null and req.expressNumber != ''">
AND s.express_number LIKE CONCAT('%',#{req.expressNumber},'%')
+ </if>
+ <if test="req.projectId != null">
+ AND s.project_id = #{req.projectId}
+ </if>
+ <if test="req.beginShippingDate != null and req.beginShippingDate != ''">
+ AND DATE(s.shipping_date) >= DATE(#{req.beginShippingDate})
+ </if>
+ <if test="req.endShippingDate != null and req.endShippingDate != ''">
+ AND DATE(s.shipping_date) <= DATE(#{req.endShippingDate})
</if>
order by create_time DESC
</select>
@@ -53,34 +82,83 @@
s.create_user,
s.update_user,
s.tenant_id,
+ s.shipping_document,
+ s.is_reconciled,
+ s.statement_archiving_status,
+ s.is_settled,
+ s.settlement_archiving_status,
+ s.is_invoiced,
+ s.project_id,
+ sl.project_name as projectName,
sl.sales_contract_no,
sl.customer_name
FROM shipping_info s
LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.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.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>
+ <if test="req.projectId != null">
+ AND s.project_id = #{req.projectId}
+ </if>
+ <if test="req.beginShippingDate != null and req.beginShippingDate != ''">
+ AND DATE(s.shipping_date) >= DATE(#{req.beginShippingDate})
+ </if>
+ <if test="req.endShippingDate != null and req.endShippingDate != ''">
+ AND DATE(s.shipping_date) <= DATE(#{req.endShippingDate})
+ </if>
+ order by 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
+ <select id="getReturnManagementDtoById" resultType="com.ruoyi.procurementrecord.bean.vo.ShippingProductVo">
+ SELECT distinct
+ sor.id,
+ slp.product_category,
+ slp.specification_model,
+ slp.unit,
+ slp.product_model_id,
+ sor.outbound_batches,
+ sor.stock_out_num,
+ sor.batch_no,
+ slp.tax_inclusive_unit_price,
+ GREATEST(sor.stock_out_num - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
+ COALESCE(rs.return_num, 0) AS total_return_num,
+ COALESCE(rs.pending_return_num, 0) AS pending_return_num
FROM shipping_info si
- LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id
+ LEFT JOIN shipping_product_detail spd ON spd.shipping_info_id = si.id
+ LEFT JOIN stock_out_record sor ON sor.record_id = si.id and sor.record_type = '13'
+ 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
+ stock_out_record_id,
+ SUM(num) AS total_return_num,
+ SUM( CASE WHEN rsp.STATUS = 0 THEN rsp.num ELSE 0 END ) AS pending_return_num ,
+ SUM( CASE WHEN rsp.STATUS = 1 THEN rsp.num ELSE 0 END ) AS return_num
+ 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 stock_out_record_id
+ ) rs ON rs.stock_out_record_id = sor.id
<where>
- <if test="productId != null">
- AND return_sale_ledger_product_id = #{productId}
+ <if test="shippingId != null">
+ si.id = #{shippingId}
</if>
</where>
- GROUP BY return_sale_ledger_product_id
- ) rs ON rs.return_sale_ledger_product_id = slp.id
+ order by sor.id
</select>
<select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
- select * from shipping_info si
+ select distinct si.* from shipping_info si
left join sales_ledger sl on si.sales_ledger_id = sl.id
- where sl.customer_name = #{customerName}
+ inner join stock_out_record sor on sor.record_id = si.id and sor.record_type = '13' and sor.approval_status = 1
+ where sl.customer_name = #{customerName} and si.status = '瀹℃牳閫氳繃'
</select>
-</mapper>
\ No newline at end of file
+</mapper>
--
Gitblit v1.9.3