From 455b965c6435b5359bb5c25f2b6810dbc06f5481 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期五, 13 二月 2026 17:56:39 +0800
Subject: [PATCH] Merge branch 'dev_New_kthg' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_kthg
---
src/main/resources/mapper/production/ProductionProductMainMapper.xml | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 101 insertions(+), 16 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 5b5c825..fee9cdc 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -14,23 +14,24 @@
<select id="listPageProductionProductMainDto" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
select ppm.*,
- pwo.work_order_no as workOrderNo,
- pwo.status as workOrderStatus,
- u.nick_name as nickName,
- p.product_name as productName,
- pm.model as productModelName,
- ppo.quantity,
- pm.unit,
- sl.customer_contract_no salesContractNo
+ pwo.work_order_no as workOrderNo,
+ pwo.status as workOrderStatus,
+ u.nick_name as nickName,
+ p.product_name as productName,
+ pm.model as productModelName,
+ ppo.quantity,
+ ppo.scrap_qty,
+ pm.unit,
+ sl.sales_contract_no salesContractNo
from
- production_product_main ppm
- left join product_work_order pwo on pwo.id = ppm.work_order_id
- left join product_order po on po.id = pwo.product_order_id
- left join production_product_output ppo on ppm.id = ppo.product_main_id
- left join product_model pm on pm.id = ppo.product_model_id
- left join product p on p.id = pm.product_id
- left join sales_ledger sl on sl.id = po.sales_ledger_id
- left join sys_user u on u.user_id = ppm.user_id
+ production_product_main ppm
+ left join product_work_order pwo on pwo.id = ppm.work_order_id
+ left join product_order po on po.id = pwo.product_order_id
+ left join production_product_output ppo on ppm.id = ppo.product_main_id
+ left join product_model pm on pm.id = ppo.product_model_id
+ left join product p on p.id = pm.product_id
+ left join sales_ledger sl on sl.id = po.sales_ledger_id
+ left join sys_user u on u.user_id = ppm.user_id
<where>
<if test="c.nickName != null and c.nickName != ''">
and u.nick_name like concat('%',#{c.nickName},'%')
@@ -48,6 +49,64 @@
order by ppm.id
</select>
+ <select id="getOrderByMainId" resultType="com.ruoyi.production.pojo.ProductOrder">
+ select po.*
+ from product_order po
+ left join product_work_order pwo on po.id = pwo.product_order_id
+ left join production_product_main pm on work_order_id = pwo.id
+ where pm.id = #{productMainId}
+ </select>
+ <select id="listProductionDetails" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
+ SELECT
+ slpa.scheduling_date,
+ slpa.scheduling_user_name,
+ sl.sales_contract_no,
+ sl.customer_name,
+ p.product_name,
+ pm.model as product_model_name,
+ pm.unit,
+ slpa.process,
+ ppo.quantity,
+ slpa.work_hours,
+ slpa.work_hours * slpa.finished_num AS wages
+ FROM
+ production_product_main ppm
+ LEFT JOIN sales_ledger_production_accounting slpa ON slpa.product_main_id = ppm.id
+ LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
+ LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
+ LEFT JOIN product_order po ON po.id = pwo.product_order_id
+ LEFT JOIN process_route pr ON pr.id = po.route_id
+ LEFT JOIN product_model pm ON po.product_model_id = pm.id
+ LEFT JOIN product p ON p.id = pm.product_id
+ LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
+ <where>
+ <if test="ew.schedulingUserName != null and ew.schedulingUserName !=''">
+ and slpa.scheduling_user_name = #{ew.schedulingUserName}
+ </if>
+ <if test="ew.entryDate != null " >
+ and slpa.scheduling_date >= #{ew.entryDate}
+ and slpa.scheduling_date < DATE_ADD(#{ew.entryDate}, INTERVAL 1 DAY)
+ </if>
+ <if test="ew.entryDateStart != null and ew.entryDateEnd != null" >
+ and slpa.scheduling_date >= #{ew.entryDateStart}
+ and slpa.scheduling_date < date_add(#{ew.entryDateEnd}, INTERVAL 1 DAY)
+ </if>
+ </where>
+ </select>
+ <select id="listMain" resultType="java.lang.Long">
+ SELECT ppm.id FROM production_product_main ppm
+ left join product_work_order pwo on pwo.id = ppm.work_order_id
+ left join product_order po on po.id = pwo.product_order_id
+ left join sales_ledger sl on sl.id = po.sales_ledger_id
+ <where>
+ <if test="idList != null and idList.size() > 0">
+ and sl.id in
+ <foreach item="id" collection="idList" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </if>
+ </where>
+ </select>
<delete id="deleteByWorkOrderIds" parameterType="java.util.List">
DELETE FROM production_product_main
@@ -56,4 +115,30 @@
#{id}
</foreach>
</delete>
+
+ <select id="queryProductInputAndOutput" resultType="Hashmap">
+ select *
+ from (select p.product_name as productName,
+ pm.model as model,
+ pm.unit as unit,
+ temp.inputQuantity as inputQuantity,
+ temp.outputQuantity as outputQuantity
+ from (select product_model_id,
+ coalesce(sum(inputQuantity), 0) as inputQuantity,
+ coalesce(sum(outputQuantity), 0) as outputQuantity
+ from ((select product_model_id, coalesce(sum(quantity), 0) as inputQuantity, 0 as outputQuantity
+ from production_product_input
+ where create_time >= #{ew.startTime}
+ and create_time < #{ew.endTime}
+ group by product_model_id)
+ union all
+ (select product_model_id, 0 as inputQuantity, coalesce(sum(quantity), 0) as outputQuantity
+ from production_product_output
+ where create_time >= #{ew.startTime}
+ and create_time < #{ew.endTime}
+ group by product_model_id)) t
+ group by product_model_id) temp
+ left join product_model pm on temp.product_model_id = pm.id
+ left join product p on pm.product_id = p.id) tmp
+ </select>
</mapper>
--
Gitblit v1.9.3