select line_id, iqc_id, index_id, index_code, index_name, index_type, qc_tool, check_method, stander_val, unit_of_measure, threshold_max, threshold_min, cr_quantity, maj_quantity, min_quantity, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from qc_iqc_line
insert into qc_iqc_line
iqc_id,
index_id,
index_code,
index_name,
index_type,
qc_tool,
check_method,
stander_val,
unit_of_measure,
threshold_max,
threshold_min,
cr_quantity,
maj_quantity,
min_quantity,
remark,
attr1,
attr2,
attr3,
attr4,
create_by,
create_time,
update_by,
update_time,
#{iqcId},
#{indexId},
#{indexCode},
#{indexName},
#{indexType},
#{qcTool},
#{checkMethod},
#{standerVal},
#{unitOfMeasure},
#{thresholdMax},
#{thresholdMin},
#{crQuantity},
#{majQuantity},
#{minQuantity},
#{remark},
#{attr1},
#{attr2},
#{attr3},
#{attr4},
#{createBy},
#{createTime},
#{updateBy},
#{updateTime},
UPDATE qc_iqc_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 'iqc_id',
qid.`line_id`
FROM qc_defect_record qid
WHERE qid.qc_id = #{iqcId}
AND qid.line_id = #{lineId}
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
WHERE a.iqc_id = #{iqcId}
AND a.line_id = #{lineId}
update qc_iqc_line
iqc_id = #{iqcId},
index_id = #{indexId},
index_code = #{indexCode},
index_name = #{indexName},
index_type = #{indexType},
qc_tool = #{qcTool},
check_method = #{checkMethod},
stander_val = #{standerVal},
unit_of_measure = #{unitOfMeasure},
threshold_max = #{thresholdMax},
threshold_min = #{thresholdMin},
cr_quantity = #{crQuantity},
maj_quantity = #{majQuantity},
min_quantity = #{minQuantity},
remark = #{remark},
attr1 = #{attr1},
attr2 = #{attr2},
attr3 = #{attr3},
attr4 = #{attr4},
create_by = #{createBy},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
where line_id = #{lineId}
delete from qc_iqc_line where line_id = #{lineId}
delete from qc_iqc_line where iqc_id =#{iqcId}
delete from qc_iqc_line where line_id in
#{lineId}