From b375d48ce214bf66d76b07035783f8243aef712a Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 6 Aug 2025 14:30:42 +0800 Subject: [PATCH] =?UTF-8?q?2025-08-06=20=E6=A3=80=E9=AA=8C=E5=8D=95?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=94=B9=E6=89=B9=E9=87=8F=20=E5=B9=B6?= =?UTF-8?q?=E5=8A=A0=E8=A1=8C=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/modules/pms/mapper/QcMapper.java | 6 + .../pms/service/Impl/QcServiceImpl.java | 21 ++- src/main/resources/mapper/pms/QcMapper.xml | 122 +++++++++++++++++- 3 files changed, 142 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java index 49b4e6d..d70cf49 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java @@ -630,4 +630,10 @@ public interface QcMapper { void batchSavePartAttribute(List newAttrs); void batchSavePartAttributeDetails(List newDetails); + + void updateIQCDetailedRecordBatch(List itemList); + + void updateIPQCDetailedRecordBatch(List itemList); + + void updateFQASDetailedRecordBatch(List itemList); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java index 734fd09..81a6164 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java @@ -3388,8 +3388,11 @@ public class QcServiceImpl implements QcService { data.setState("待审核"); qcMapper.updateIPQCMasterRecord(data); // 修改明细记录信息 - for (int i = 0; i < data.getItemList().size(); i++) { - qcMapper.updateIPQCDetailedRecord(data.getItemList().get(i)); +// for (int i = 0; i < data.getItemList().size(); i++) { +// qcMapper.updateIPQCDetailedRecord(data.getItemList().get(i)); +// } + if (!data.getItemList().isEmpty()) { + qcMapper.updateIPQCDetailedRecordBatch(data.getItemList()); } // 删除之前的人员数据 qcMapper.delOperator(data); @@ -3771,8 +3774,11 @@ public class QcServiceImpl implements QcService { data.setState("待审核"); qcMapper.updateIQCMasterRecord(data); // 修改明细记录信息 - for (int i = 0; i < data.getItemList().size(); i++) { - qcMapper.updateIQCDetailedRecord(data.getItemList().get(i)); +// for (int i = 0; i < data.getItemList().size(); i++) { +// qcMapper.updateIQCDetailedRecord(data.getItemList().get(i)); +// } + if (!data.getItemList().isEmpty()) { + qcMapper.updateIQCDetailedRecordBatch(data.getItemList()); } // 删除之前的人员数据 qcMapper.delOperator(data); @@ -5141,8 +5147,11 @@ public class QcServiceImpl implements QcService { data.setState("待审核"); qcMapper.updateFQASMasterRecord(data); // 修改明细记录信息 - for (int i = 0; i < data.getItemList().size(); i++) { - qcMapper.updateFQASDetailedRecord(data.getItemList().get(i)); +// for (int i = 0; i < data.getItemList().size(); i++) { +// qcMapper.updateFQASDetailedRecord(data.getItemList().get(i)); +// } + if (!data.getItemList().isEmpty()) { + qcMapper.updateFQASDetailedRecordBatch(data.getItemList()); } // 删除之前的人员数据 qcMapper.delOperator(data); diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index 2deeb7c..a7b94ea 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -2219,6 +2219,46 @@ WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + UPDATE qc_ipqc_detailed_record with (rowlock) + SET + item_result = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.itemResult} + + ELSE item_result + END, + unqualified_quantity = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.unqualifiedQuantity,jdbcType=DECIMAL} + + ELSE unqualified_quantity + END, + sampling_qty = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.samplingQty,jdbcType=DECIMAL} + + ELSE sampling_qty + END, + text_value = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.textValue} + + ELSE text_value + END, + number_value = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.numberValue,jdbcType=DECIMAL} + + ELSE number_value + END + WHERE item_no IN + + #{item.itemNo} + + AND site = #{list[0].site} and bu_no = #{list[0].buNo} and inspection_no = #{list[0].inspectionNo} + + UPDATE qc_ipqc_record @@ -2607,7 +2647,7 @@ - UPDATE qc_iqc_detailed_record + UPDATE qc_iqc_detailed_record with (rowlock) SET item_result = #{itemResult}, unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}, sampling_qty = #{samplingQty,jdbcType=DECIMAL}, @@ -2616,6 +2656,46 @@ WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + UPDATE qc_iqc_detailed_record with (rowlock) + SET + item_result = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.itemResult} + + ELSE item_result + END, + unqualified_quantity = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.unqualifiedQuantity,jdbcType=DECIMAL} + + ELSE unqualified_quantity + END, + sampling_qty = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.samplingQty,jdbcType=DECIMAL} + + ELSE sampling_qty + END, + text_value = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.textValue} + + ELSE text_value + END, + number_value = CASE + + WHEN item_no = #{item.itemNo} THEN #{item.numberValue,jdbcType=DECIMAL} + + ELSE number_value + END + WHERE item_no IN + + #{item.itemNo} + + AND site = #{list[0].site} and bu_no = #{list[0].buNo} and inspection_no = #{list[0].inspectionNo} + +