根据缺陷记录更新过程检验单头和行上的各种缺陷数量以及比率。
This commit is contained in:
parent
d3ba6a4184
commit
929632ff22
@ -50,6 +50,13 @@ public interface QcIpqcMapper
|
||||
*/
|
||||
public int updateQcIpqc(QcIpqc qcIpqc);
|
||||
|
||||
/**
|
||||
* 根据缺陷记录更新头上的缺陷数量和缺陷率
|
||||
* @param ipqcId
|
||||
* @return
|
||||
*/
|
||||
public int updateCrMajMinQuaAndRate(Long ipqcId);
|
||||
|
||||
/**
|
||||
* 删除过程检验单
|
||||
*
|
||||
|
@ -58,6 +58,13 @@ public interface IQcIpqcService
|
||||
*/
|
||||
public int updateCrMajMinQuaAndRate(Long qcId);
|
||||
|
||||
/**
|
||||
* 根据缺陷记录更新头上的缺陷数量和缺陷率
|
||||
* @param qcIpqc
|
||||
* @return
|
||||
*/
|
||||
public int updateCrMajMinQuaAndRate(QcIpqc qcIpqc);
|
||||
|
||||
/**
|
||||
* 批量删除过程检验单
|
||||
*
|
||||
|
@ -72,7 +72,9 @@ public class QcIpqcLineServiceImpl implements IQcIpqcLineService
|
||||
|
||||
@Override
|
||||
public int updateCrMajMinQuantity(Long qcId, Long lineId) {
|
||||
//TODO:
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -85,8 +85,7 @@ public class QcIpqcServiceImpl implements IQcIpqcService
|
||||
|
||||
@Override
|
||||
public int updateCrMajMinQuaAndRate(Long qcId) {
|
||||
//TODO:
|
||||
return 0;
|
||||
return qcIpqcMapper.updateCrMajMinQuaAndRate(qcId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -144,6 +144,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where line_id = #{lineId}
|
||||
</update>
|
||||
|
||||
<update id="updateCrMajMinQuantity" parameterType="QcIpqcLine">
|
||||
UPDATE qc_ipqc_line a
|
||||
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.`qc_id` as 'ipqc_id',
|
||||
qid.`line_id`
|
||||
FROM qc_defect_record qid
|
||||
WHERE qid.qc_id = #{ipqcId}
|
||||
AND qid.line_id = #{lineId}
|
||||
and qid.qc_type = 'IPQC'
|
||||
GROUP BY qid.qc_id,qid.line_id
|
||||
)b
|
||||
ON a.ipqc_id = b.ipqc_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
|
||||
WHERE a.ipqc_id = #{ipqcId}
|
||||
AND a.line_id = #{lineId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteQcIpqcLineByLineId" parameterType="Long">
|
||||
delete from qc_ipqc_line where line_id = #{lineId}
|
||||
</delete>
|
||||
|
@ -248,6 +248,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where ipqc_id = #{ipqcId}
|
||||
</update>
|
||||
|
||||
<update id="updateCrMajMinQuaAndRate" parameterType="Long">
|
||||
UPDATE qc_ipqc a
|
||||
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.`qc_id` as 'ipqc_id'
|
||||
FROM qc_defect_record qid
|
||||
WHERE qid.qc_id = #{ipqcId}
|
||||
and qid.qc_type = 'IPQC'
|
||||
GROUP BY qid.qc_id
|
||||
) b
|
||||
ON a.`ipqc_id` = b.ipqc_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.ipqc_id = #{ipqcId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteQcIpqcByIpqcId" parameterType="Long">
|
||||
delete from qc_ipqc where ipqc_id = #{ipqcId}
|
||||
</delete>
|
||||
|
Loading…
Reference in New Issue
Block a user