From 5d81fcc5768741323a2e343fc01f44e17e68b65b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 25 六月 2026 14:59:38 +0800
Subject: [PATCH] 1.库存入库新增质检流程 2.销售相关查询返回总合同号 3.采购相关查询返回总合同号
---
src/main/resources/mapper/production/ProductionOrderMapper.xml | 84 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductionOrderMapper.xml b/src/main/resources/mapper/production/ProductionOrderMapper.xml
index 1a304ef..7326fe4 100644
--- a/src/main/resources/mapper/production/ProductionOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductionOrderMapper.xml
@@ -23,6 +23,7 @@
<resultMap id="ProductionOrderVoResultMap" type="com.ruoyi.production.bean.vo.ProductionOrderVo" extends="BaseResultMap">
<result column="salesContractNo" property="salesContractNo" />
+ <result column="masterContractNo" property="masterContractNo" />
<result column="customerName" property="customerName" />
<result column="productName" property="productName" />
<result column="model" property="model" />
@@ -47,6 +48,7 @@
po.plan_complete_time,
po.status,
po_sales.salesContractNo,
+ po_sales.masterContractNo,
po_sales.customerName,
p.product_name as productName,
pm.model as model,
@@ -62,6 +64,7 @@
left join (
select po2.id as orderId,
group_concat(distinct sl2.sales_contract_no order by sl2.sales_contract_no separator ',') as salesContractNo,
+ group_concat(distinct sl2.master_contract_no order by sl2.master_contract_no separator ',') as masterContractNo,
group_concat(distinct sl2.customer_name order by sl2.customer_name separator ',') as customerName,
group_concat(distinct sl2.project_name order by sl2.project_name separator ',') as projectName,
min(sl2.delivery_date) as deliveryDate
@@ -212,4 +215,85 @@
and ifnull(complete_quantity, 0) < quantity
</select>
+ <select id="selectHomeOrderProgressPage" resultType="java.util.Map">
+ select po.nps_no as orderNo,
+ p.product_name as productName,
+ ifnull(po.quantity, 0) as plannedQuantity,
+ ifnull(po.complete_quantity, 0) as completedQuantity,
+ round(ifnull(po.complete_quantity, 0) / nullif(po.quantity, 0) * 100, 2) as completionRate,
+ po.plan_complete_time as dueDate,
+ po.status as status
+ from production_order po
+ left join product_model pm on po.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ <where>
+ <if test="status != null">
+ and po.status = #{status}
+ </if>
+ <if test="startTime != null and endTime != null">
+ and po.create_time >= #{startTime}
+ and po.create_time < #{endTime}
+ </if>
+ </where>
+ order by po.id desc
+ limit #{offset}, #{size}
+ </select>
+
+ <select id="countHomeOrderProgress" resultType="java.lang.Long">
+ select count(1)
+ from production_order po
+ <where>
+ <if test="status != null">
+ and po.status = #{status}
+ </if>
+ <if test="startTime != null and endTime != null">
+ and po.create_time >= #{startTime}
+ and po.create_time < #{endTime}
+ </if>
+ </where>
+ </select>
+
+ <select id="countHomeOrderProgressByStatus" resultType="java.util.Map">
+ select po.status as status, count(1) as cnt
+ from production_order po
+ where po.status in (1, 2, 3, 4)
+ <if test="startTime != null and endTime != null">
+ and po.create_time >= #{startTime}
+ and po.create_time < #{endTime}
+ </if>
+ group by po.status
+ </select>
+
+ <select id="selectHomeTodayProductionPlan" resultType="java.util.Map">
+ select po.nps_no as orderNo,
+ p.product_name as productName,
+ ifnull(po.quantity, 0) as plannedQuantity,
+ po.plan_complete_time as dueDate,
+ po.status as status
+ from production_order po
+ left join product_model pm on po.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ <where>
+ po.status in (1, 2)
+ <if test="planStart != null and planEnd != null">
+ and po.plan_complete_time >= #{planStart}
+ and po.plan_complete_time < #{planEnd}
+ </if>
+ </where>
+ order by case when po.status = 2 then 0 else 1 end, po.id desc
+ limit #{size}
+ </select>
+
+ <select id="countHomeTodayProductionPlan" resultType="java.lang.Long">
+ select count(1)
+ from production_order po
+ <where>
+ po.status in (1, 2)
+ <if test="planStart != null and planEnd != null">
+ and po.plan_complete_time >= #{planStart}
+ and po.plan_complete_time < #{planEnd}
+ </if>
+ </where>
+ </select>
+
</mapper>
--
Gitblit v1.9.3