From 4f263663066e351114e871d6017632a4eb406869 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 22 八月 2026 17:18:31 +0800
Subject: [PATCH] fix(quality): 修正质量检测SQL中的条件判断错误
---
src/main/resources/mapper/quality/QualityInspectMapper.xml | 68 +++++++++++++++++++++------------
1 files changed, 43 insertions(+), 25 deletions(-)
diff --git a/src/main/resources/mapper/quality/QualityInspectMapper.xml b/src/main/resources/mapper/quality/QualityInspectMapper.xml
index f252881..112be1a 100644
--- a/src/main/resources/mapper/quality/QualityInspectMapper.xml
+++ b/src/main/resources/mapper/quality/QualityInspectMapper.xml
@@ -54,6 +54,15 @@
<if test="qualityInspect.entryDateEnd != null and qualityInspect.entryDateEnd != '' ">
AND qi.check_time <= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d')
</if>
+ <if test="qualityInspect.purchaseContractNo != null and qualityInspect.purchaseContractNo != '' ">
+ AND pl.purchase_contract_number like concat('%',#{qualityInspect.purchaseContractNo},'%')
+ </if>
+ <if test="qualityInspect.workOrderNo != null and qualityInspect.workOrderNo != '' ">
+ AND pot.work_order_no like concat('%',#{qualityInspect.workOrderNo},'%')
+ </if>
+ <if test="qualityInspect.salesContractNo != null and qualityInspect.salesContractNo != '' ">
+ AND po_sales.sales_contract_no like concat('%',#{qualityInspect.salesContractNo},'%')
+ </if>
ORDER BY qi.check_time DESC
</select>
@@ -87,7 +96,7 @@
<select id="getInspectStatistics" resultType="com.ruoyi.quality.dto.QualityInspectStatDto">
SELECT CASE pp.product_name
- WHEN '鍘熸潗鏂�' THEN 0
+ WHEN '鍘熸枡' THEN 0
WHEN '鍗婃垚鍝�' THEN 1
WHEN '鎴愬搧' THEN 2
END AS modelType,
@@ -107,7 +116,7 @@
LEFT JOIN quality_inspect qi
ON qi.product_model_id = pm.id
- WHERE pp.product_name IN ('鍘熸潗鏂�', '鍗婃垚鍝�', '鎴愬搧')
+ WHERE pp.product_name IN ('鍘熸枡', '鍗婃垚鍝�', '鎴愬搧')
GROUP BY pp.product_name
@@ -128,8 +137,7 @@
COALESCE(SUM(
CASE
WHEN qi.inspect_state = 1
- AND qi.check_result = '鍚堟牸'
- THEN qi.quantity
+ THEN qi.qualified_quantity
ELSE 0
END
), 0) AS qualifiedCount,
@@ -137,8 +145,7 @@
COALESCE(SUM(
CASE
WHEN qi.inspect_state = 1
- AND qi.check_result = '涓嶅悎鏍�'
- THEN qi.quantity
+ THEN qi.unqualified_quantity
ELSE 0
END
), 0) AS unqualifiedCount,
@@ -166,8 +173,7 @@
COALESCE(SUM(
CASE
WHEN qi.inspect_state = 1
- AND qi.check_result = '鍚堟牸'
- THEN qi.quantity
+ THEN qi.qualified_quantity
ELSE 0
END
), 0)
@@ -194,7 +200,7 @@
LEFT JOIN quality_inspect qi
ON qi.product_model_id = pm.id
AND (
- (pp.product_name = '鍘熸潗鏂�' AND t.modelType = 0) OR
+ (pp.product_name = '鍘熸枡' AND t.modelType = 0) OR
(pp.product_name = '鍗婃垚鍝�' AND t.modelType = 1) OR
(pp.product_name = '鎴愬搧' AND t.modelType = 2)
)
@@ -248,8 +254,8 @@
/* 鍚堟牸 */
COALESCE(SUM(
CASE
- WHEN qi.inspect_state = 1 AND qi.check_result = '鍚堟牸'
- THEN qi.quantity
+ WHEN qi.inspect_state = 1
+ THEN qi.qualified_quantity
ELSE 0
END
), 0) AS qualifiedCount,
@@ -257,8 +263,8 @@
/* 涓嶅悎鏍� */
COALESCE(SUM(
CASE
- WHEN qi.inspect_state = 1 AND qi.check_result = '涓嶅悎鏍�'
- THEN qi.quantity
+ WHEN qi.inspect_state = 1
+ THEN qi.unqualified_quantity
ELSE 0
END
), 0) AS unqualifiedCount,
@@ -279,8 +285,8 @@
ROUND(
COALESCE(SUM(
CASE
- WHEN qi.inspect_state = 1 AND qi.check_result = '鍚堟牸'
- THEN qi.quantity
+ WHEN qi.inspect_state = 1
+ THEN qi.qualified_quantity
ELSE 0
END
), 0)
@@ -300,7 +306,7 @@
AND YEAR(qi.check_time) = #{year}
AND MONTH(qi.check_time) = b.month_num
AND (
- (pp.product_name = '鍘熸潗鏂�' AND b.modelType = 0)
+ (pp.product_name = '鍘熸枡' AND b.modelType = 0)
OR (pp.product_name = '鍗婃垚鍝�' AND b.modelType = 1)
OR (pp.product_name = '鎴愬搧' AND b.modelType = 2)
)
@@ -312,16 +318,30 @@
<select id="getYearlyPassRateStatistics" resultType="com.ruoyi.quality.dto.QualityPassRateDto">
SELECT t.modelType,
-
COALESCE(SUM(
CASE
- WHEN pp.product_name = '鍘熸潗鏂�' AND t.modelType = 0 THEN qi.quantity
+ WHEN pp.product_name = '鍘熸枡' AND t.modelType = 0 THEN qi.quantity
WHEN pp.product_name = '鍗婃垚鍝�' AND t.modelType = 1 THEN qi.quantity
WHEN pp.product_name = '鎴愬搧' AND t.modelType = 2 THEN qi.quantity
ELSE 0
END
- ), 0) AS totalCount
-
+ ), 0) AS totalCount,
+ COALESCE(SUM(
+ CASE
+ WHEN pp.product_name = '鍘熸枡' AND t.modelType = 0 THEN qi.qualified_quantity
+ WHEN pp.product_name = '鍗婃垚鍝�' AND t.modelType = 1 THEN qi.qualified_quantity
+ WHEN pp.product_name = '鎴愬搧' AND t.modelType = 2 THEN qi.qualified_quantity
+ ELSE 0
+ END
+ ), 0) AS qualifiedCount,
+ COALESCE(SUM(
+ CASE
+ WHEN pp.product_name = '鍘熸枡' AND t.modelType = 0 THEN qi.unqualified_quantity
+ WHEN pp.product_name = '鍗婃垚鍝�' AND t.modelType = 1 THEN qi.unqualified_quantity
+ WHEN pp.product_name = '鎴愬搧' AND t.modelType = 2 THEN qi.unqualified_quantity
+ ELSE 0
+ END
+ ), 0) AS unqualifiedCount
FROM (SELECT 0 AS modelType
UNION ALL
SELECT 1
@@ -334,8 +354,6 @@
ON qi.product_model_id = pm.id
AND YEAR(qi.check_time) = #{year}
AND qi.inspect_state = 1
- AND qi.check_result = '鍚堟牸'
-
GROUP BY t.modelType
ORDER BY t.modelType;
</select>
@@ -363,10 +381,10 @@
WHEN 12 THEN '鍗佷簩鏈�'
END AS month,
- /* 鍘熸潗鏂� */
+ /* 鍘熸枡 */
COALESCE(SUM(
CASE
- WHEN pp.product_name = '鍘熸潗鏂�'
+ WHEN pp.product_name = '鍘熸枡'
THEN qi.quantity
ELSE 0
END
@@ -417,7 +435,7 @@
ON p.parent_id = pp.id
WHERE qi.inspect_state = 1
AND (
- (#{modelType} = 1 AND pp.product_name = '鍘熸潗鏂�')
+ (#{modelType} = 1 AND pp.product_name = '鍘熸枡')
OR (#{modelType} = 2 AND pp.product_name = '鍗婃垚鍝�')
OR (#{modelType} = 3 AND pp.product_name = '鎴愬搧')
)
--
Gitblit v1.9.3