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/ProductionProductMainMapper.xml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 8dd4613..1b5f92d 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -31,6 +31,7 @@
pm.model as productModelName,
pm.unit,
po_sales.salesContractNo,
+ po_sales.masterContractNo,
date(ppm.create_time) as schedulingDate,
su.nick_name as schedulingUserName,
po_sales.customerName,
@@ -42,6 +43,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
from production_order po2
left join production_plan pp2
@@ -62,6 +64,9 @@
</if>
<if test="c.salesContractNo != null and c.salesContractNo != ''">
and po_sales.salesContractNo like concat('%', #{c.salesContractNo}, '%')
+ </if>
+ <if test="c.masterContractNo != null and c.masterContractNo != ''">
+ and po_sales.masterContractNo like concat('%', #{c.masterContractNo}, '%')
</if>
<if test="c.customerName != null and c.customerName != ''">
and po_sales.customerName like concat('%', #{c.customerName}, '%')
@@ -95,17 +100,63 @@
p.product_name as productName,
pm.model as productModelName,
pm.unit,
- poro.operation_name as process,
+ pa.technology_operation_name as process,
ifnull(ppo.quantity, 0) as quantity,
- ifnull(ppo.scrap_qty, 0) as scrapQty
- from production_product_main ppm
+ ifnull(ppo.scrap_qty, 0) as scrapQty,
+ date(pa.scheduling_date) as schedulingDate,
+ pa.scheduling_user_name as schedulingUserName,
+ cast(ifnull(ppm.work_hour, 0) as decimal(18,4)) as workHour,
+ cast(ifnull(pa.work_hours, 0) as decimal(18,4)) as workHours,
+ cast(
+ case
+ when poro.type = 0 then ifnull(pa.work_hours, 0) * ifnull(ppm.work_hour, 0)
+ else ifnull(pa.work_hours, 0) * ifnull(pa.finished_num, 0) *
+ case
+ when substring_index(pm.model, '*', -1) regexp '^[0-9]+(\\.[0-9]+)?$'
+ then cast(substring_index(pm.model, '*', -1) as decimal(18,4))
+ else 1
+ end
+ end
+ as decimal(18,4)
+ ) as wages
+ from production_account pa
+ left join production_product_main ppm on ppm.id = pa.production_product_main_id
left join production_operation_task pot on ppm.production_operation_task_id = pot.id
left join production_order po on pot.production_order_id = po.id
left join production_order_routing_operation poro on pot.production_order_routing_operation_id = poro.id
left join product_model pm on pm.id = ifnull(poro.product_model_id, po.product_model_id)
left join product p on pm.product_id = p.id
+ left join product p_parent on p_parent.id = p.parent_id
left join production_product_output ppo on ppo.production_product_main_id = ppm.id
- order by ppm.create_time desc
+ <where>
+ <if test="c != null">
+ <if test="c.productCategory != null and c.productCategory != ''">
+ and p_parent.product_name like concat('%', #{c.productCategory}, '%')
+ </if>
+ <if test="c.specificationModel != null and c.specificationModel != ''">
+ and pm.model like concat('%', #{c.specificationModel}, '%')
+ </if>
+ <if test="c.schedulingUserId != null">
+ and pa.scheduling_user_id = #{c.schedulingUserId}
+ </if>
+ <if test="c.schedulingUserName != null and c.schedulingUserName != ''">
+ and pa.scheduling_user_name like concat('%', #{c.schedulingUserName}, '%')
+ </if>
+ <if test="c.process != null and c.process != ''">
+ and pa.technology_operation_name like concat('%', #{c.process}, '%')
+ </if>
+ <if test="c.entryDate != null">
+ and date(pa.scheduling_date) = #{c.entryDate}
+ </if>
+ <if test="c.entryDateStart != null">
+ and date(pa.scheduling_date) >= #{c.entryDateStart}
+ </if>
+ <if test="c.entryDateEnd != null">
+ and date(pa.scheduling_date) <= #{c.entryDateEnd}
+ </if>
+ </if>
+ </where>
+ order by pa.scheduling_date desc, pa.id desc
</select>
<select id="listMain" resultType="java.lang.Long">
--
Gitblit v1.9.3