diff --git a/ktg-mes/src/main/java/com/ktg/mes/qc/mapper/QcIqcMapper.java b/ktg-mes/src/main/java/com/ktg/mes/qc/mapper/QcIqcMapper.java index 66c1f96..58b62e0 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/qc/mapper/QcIqcMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/qc/mapper/QcIqcMapper.java @@ -45,6 +45,11 @@ public interface QcIqcMapper */ public int updateQcIqc(QcIqc qcIqc); + /** + * 根据缺陷记录更新头上的缺陷数量和比率 + * @param iqcId + * @return + */ public int updateCrMajMinQuaAndRate(Long iqcId); /** diff --git a/ktg-mes/src/main/java/com/ktg/mes/qc/service/IQcIpqcService.java b/ktg-mes/src/main/java/com/ktg/mes/qc/service/IQcIpqcService.java index 10e0fa9..ada9d33 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/qc/service/IQcIpqcService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/qc/service/IQcIpqcService.java @@ -58,12 +58,6 @@ public interface IQcIpqcService */ public int updateCrMajMinQuaAndRate(Long qcId); - /** - * 根据缺陷记录更新头上的缺陷数量和缺陷率 - * @param qcIpqc - * @return - */ - public int updateCrMajMinQuaAndRate(QcIpqc qcIpqc); /** * 批量删除过程检验单 diff --git a/ktg-mes/src/main/java/com/ktg/mes/qc/service/impl/QcIpqcServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/qc/service/impl/QcIpqcServiceImpl.java index b989c53..7f43d90 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/qc/service/impl/QcIpqcServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/qc/service/impl/QcIpqcServiceImpl.java @@ -88,6 +88,7 @@ public class QcIpqcServiceImpl implements IQcIpqcService return qcIpqcMapper.updateCrMajMinQuaAndRate(qcId); } + /** * 批量删除过程检验单 * diff --git a/ktg-mes/src/main/resources/mapper/qc/QcIqcLineMapper.xml b/ktg-mes/src/main/resources/mapper/qc/QcIqcLineMapper.xml index 1ec0de3..685d4c5 100644 --- a/ktg-mes/src/main/resources/mapper/qc/QcIqcLineMapper.xml +++ b/ktg-mes/src/main/resources/mapper/qc/QcIqcLineMapper.xml @@ -117,21 +117,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE qc_iqc_line a - INNER JOIN ( + INNER JOIN ( SELECT SUM(CASE WHEN defect_level = 'CR' THEN defect_quantity ELSE 0 END ) AS cr_quantity, - SUM(CASE WHEN defect_level = 'MAJ' THEN defect_quantity ELSE 0 END) AS maj_quantity, - SUM(CASE WHEN defect_level = 'MIN' THEN defect_quantity ELSE 0 END) AS min_quantity, - qid.`iqc_id`, - qid.`line_id` - FROM qc_iqc_defect qid - WHERE qid.iqc_id = #{iqcId} + SUM(CASE WHEN defect_level = 'MAJ' THEN defect_quantity ELSE 0 END) AS maj_quantity, + SUM(CASE WHEN defect_level = 'MIN' THEN defect_quantity ELSE 0 END) AS min_quantity, + qid.`qc_id` as 'iqc_id', + qid.`line_id` + FROM qc_defect_record qid + WHERE qid.qc_id = #{iqcId} AND qid.line_id = #{lineId} - GROUP BY qid.iqc_id,qid.line_id - )b + AND qid.qc_type = 'IQC' + GROUP BY qid.qc_id,qid.line_id + )b ON a.iqc_id = b.iqc_id AND a.line_id = b.line_id - SET a.cr_quantity=b.cr_quantity,a.maj_quantity=b.maj_quantity,a.min_quantity=b.min_quantity + SET a.cr_quantity=b.cr_quantity,a.maj_quantity=b.maj_quantity,a.min_quantity=b.min_quantity WHERE a.iqc_id = #{iqcId} - AND a.line_id = #{lineId} + AND a.line_id = #{lineId} diff --git a/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml b/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml index a5505a4..a5cc4ef 100644 --- a/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml +++ b/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml @@ -182,22 +182,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE qc_iqc a - INNER JOIN ( - + INNER JOIN ( SELECT SUM(CASE WHEN defect_level = 'CR' THEN defect_quantity ELSE 0 END ) AS cr_quantity, - SUM(CASE WHEN defect_level = 'MAJ' THEN defect_quantity ELSE 0 END) AS maj_quantity, - SUM(CASE WHEN defect_level = 'MIN' THEN defect_quantity ELSE 0 END) AS min_quantity, - qid.`iqc_id` - FROM qc_iqc_defect qid - WHERE qid.iqc_id = #{iqc_id} - GROUP BY qid.iqc_id - ) b + SUM(CASE WHEN defect_level = 'MAJ' THEN defect_quantity ELSE 0 END) AS maj_quantity, + SUM(CASE WHEN defect_level = 'MIN' THEN defect_quantity ELSE 0 END) AS min_quantity, + qid.`qc_id` as 'iqc_id' + FROM qc_defect_record qid + WHERE qid.qc_id = #{iqcId} + and qc_type = 'IQC' + GROUP BY qid.qc_id + ) b ON a.`iqc_id` = b.iqc_id - SET a.cr_quantity=b.cr_quantity,a.maj_quantity=b.maj_quantity,a.min_quantity=b.min_quantity, - a.`cr_rate`= ROUND(b.cr_quantity/a.`quantity_check`*100,2), - a.`maj_rate`= ROUND(b.maj_quantity/a.`quantity_check`*100,2), - a.`min_rate`= ROUND(b.min_quantity/a.`quantity_check`*100,2) - WHERE a.iqc_id = #{iqc_id} + SET a.cr_quantity=b.cr_quantity,a.maj_quantity=b.maj_quantity,a.min_quantity=b.min_quantity, + a.`cr_rate`= ROUND(b.cr_quantity/a.`quantity_check`*100,2), + a.`maj_rate`= ROUND(b.maj_quantity/a.`quantity_check`*100,2), + a.`min_rate`= ROUND(b.min_quantity/a.`quantity_check`*100,2) + WHERE a.iqc_id = #{iqcId}