From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板
---
src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml | 131 +++++++++++++++++++++++++++++++++++++------
1 files changed, 113 insertions(+), 18 deletions(-)
diff --git a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
index f4fb205..ec00fa0 100644
--- a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
+++ b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
@@ -3,34 +3,129 @@
<mapper namespace="com.ruoyi.quality.mapper.QualityUnqualifiedMapper">
<select id="qualityUnqualifiedListPage" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
SELECT
- *
- FROM quality_unqualified
+ qu.id,
+ qu.inspect_type,
+ qu.inspect_state,
+ qu.check_time,
+ qu.check_name,
+ qu.product_id,
+ qu.product_name,
+ qu.unit,
+ qu.quantity,
+ qu.defective_phenomena,
+ qu.deal_result,
+ qu.deal_name,
+ qu.deal_time,
+ qu.quarantine_lifted,
+ qu.model,
+ pm.material_code as materialCode,
+ CASE
+ WHEN qu.inspect_id is null THEN true
+ ELSE false
+ END AS method
+ FROM quality_unqualified qu
+ LEFT JOIN product_model pm ON qu.model = pm.model and qu.product_id = pm.product_id
where
1=1
- <if test="qualityUnqualified.inspectType != null and qualityTestStandard.inspectType != '' ">
+ <if test="qualityUnqualified.inspectType != null ">
AND inspect_type = #{qualityUnqualified.inspectType}
</if>
- <if test="qualityUnqualified.inspectState != null and qualityTestStandard.inspectState != '' ">
+ <if test="qualityUnqualified.inspectState != null ">
AND inspect_state = #{qualityUnqualified.inspectState}
</if>
- <if test="qualityUnqualified.productName != null and qualityTestStandard.productName != '' ">
+ <if test="qualityUnqualified.productName != null and qualityUnqualified.productName != '' ">
+ AND product_name = #{qualityUnqualified.productName}
+ </if>
+ <if test="qualityUnqualified.entryDateStart != null and qualityUnqualified.entryDateStart != '' ">
+ AND check_time >= DATE_FORMAT(#{qualityUnqualified.entryDateStart},'%Y-%m-%d')
+ </if>
+ <if test="qualityUnqualified.entryDateEnd != null and qualityUnqualified.entryDateEnd != '' ">
+ AND check_time <= DATE_FORMAT(#{qualityUnqualified.entryDateEnd},'%Y-%m-%d')
+ </if>
+ </select>
+
+ <select id="qualityUnqualifiedExport" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
+ SELECT
+ qu.*,
+ pm.material_code as materialCode
+ FROM quality_unqualified qu
+ LEFT JOIN product_model pm ON qu.model = pm.model
+ where
+ 1=1
+ <if test="qualityUnqualified.inspectType != null">
+ AND inspect_type = #{qualityUnqualified.inspectType}
+ </if>
+ <if test="qualityUnqualified.inspectState != null">
+ AND inspect_state = #{qualityUnqualified.inspectState}
+ </if>
+ <if test="qualityUnqualified.productName != null and qualityUnqualified.productName != '' ">
AND product_name = #{qualityUnqualified.productName}
</if>
</select>
- <select id="qualityUnqualifiedExport" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
+
+ <select id="getUnqualified" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
SELECT
- *
- FROM quality_unqualified
+ qu.id,
+ qu.inspect_type,
+ qu.inspect_state,
+ qu.check_time,
+ qu.check_name,
+ qu.product_id,
+ qu.product_name,
+ qu.unit,
+ qu.quantity,
+ qu.defective_phenomena,
+ qu.deal_result,
+ qu.deal_name,
+ qu.deal_time,
+ qi.process,
+ qu.model,
+ pm.material_code as materialCode,
+ CASE
+ WHEN qu.inspect_id is null THEN true
+ ELSE false
+ END AS method
+ FROM quality_unqualified qu
+ LEFT JOIN product_model pm ON qu.model = pm.model AND pm.product_id = qu.product_id
+ LEFT JOIN quality_inspect qi ON qu.inspect_id = qi.id
where
- 1=1
- <if test="qualityUnqualified.inspectType != null and qualityTestStandard.inspectType != '' ">
- AND inspect_type = #{qualityUnqualified.inspectType}
- </if>
- <if test="qualityUnqualified.inspectState != null and qualityTestStandard.inspectState != '' ">
- AND inspect_state = #{qualityUnqualified.inspectState}
- </if>
- <if test="qualityUnqualified.productName != null and qualityTestStandard.productName != '' ">
- AND product_name = #{qualityUnqualified.productName}
- </if>
+ 1=1
+ and qu.id = #{id}
+ </select>
+
+ <select id="getModelId" resultType="java.lang.Long">
+ select pm.id
+ from product_model pm
+ left join product p on pm.product_id = p.id
+ where pm.model = #{model}
+ and p.product_name = #{productName}
+ </select>
+
+ <select id="selectUnqualifiedByProductOrderAndProcessNames" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
+ SELECT DISTINCT qu.*
+ FROM quality_unqualified qu
+ JOIN quality_inspect qi ON qu.inspect_id = qi.id
+ JOIN production_product_main ppm ON qi.product_main_id = ppm.id
+ JOIN product_work_order pwo ON ppm.work_order_id = pwo.id
+ WHERE qi.process IN
+ <foreach collection="processNames" item="processName" open="(" separator="," close=")">
+ #{processName}
+ </foreach>
+ AND pwo.product_order_id = #{productOrderId}
+ AND qu.deal_result = '闅旂'
+ AND qu.quarantine_lifted = false
+ </select>
+
+ <select id="selectUnqualifiedWithProductionOrder" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
+ SELECT
+ po.id as productOrderId,
+ po.nps_no as productOrderNpsNo
+ FROM quality_unqualified qu
+ LEFT JOIN quality_inspect qi ON qu.inspect_id = qi.id
+ LEFT JOIN production_product_main ppm ON qi.product_main_id = ppm.id
+ LEFT JOIN product_work_order pwo ON ppm.work_order_id = pwo.id
+ LEFT JOIN product_order po ON pwo.product_order_id = po.id
+ WHERE po.id IS NOT NULL
+ GROUP BY po.id
</select>
</mapper>
--
Gitblit v1.9.3