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} + +