From 741918a903e17b2ec7522556d2c043b8d35dd8a1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 15 六月 2026 17:42:58 +0800
Subject: [PATCH] 生产取消bom,不合格管理定制化
---
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..556a4a3 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -12,6 +12,8 @@
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="update_user" property="updateUser" />
+ <result column="actual_start_time" property="actualStartTime" />
+ <result column="actual_end_time" property="actualEndTime" />
</resultMap>
<select id="listPageProductionProductMainDto" resultType="com.ruoyi.production.bean.dto.ProductionProductMainDto">
@@ -81,6 +83,9 @@
<if test="c.productMainId != null">
and ppm.id = #{c.productMainId}
</if>
+ <if test="c.currentUserId != null">
+ and (pot.user_ids is null or pot.user_ids = '' or pot.user_ids = '[]' or json_contains(pot.user_ids, json_quote(cast(#{c.currentUserId} as char))))
+ </if>
</where>
order by ppm.create_time desc
</select>
@@ -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