select oqc_id, oqc_code, oqc_name, template_id, source_doc_id,source_doc_type, source_doc_code, source_line_id, client_id, client_code, client_name, batch_code, item_id, item_code, item_name, specification, unit_of_measure, quantity_min_check, quantity_max_unqualified, quantity_out, quantity_check, quantity_unqualified, quantity_quanlified, cr_rate, maj_rate, min_rate, cr_quantity, maj_quantity, min_quantity, check_result, out_date, inspect_date, inspector, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from qc_oqc
insert into qc_oqc
oqc_code,
oqc_name,
template_id,
source_doc_id,
source_doc_type,
source_doc_code,
source_line_id,
client_id,
client_code,
client_name,
batch_code,
item_id,
item_code,
item_name,
specification,
unit_of_measure,
quantity_min_check,
quantity_max_unqualified,
quantity_out,
quantity_check,
quantity_unqualified,
quantity_quanlified,
cr_rate,
maj_rate,
min_rate,
cr_quantity,
maj_quantity,
min_quantity,
check_result,
out_date,
inspect_date,
inspector,
status,
remark,
attr1,
attr2,
attr3,
attr4,
create_by,
create_time,
update_by,
update_time,
#{oqcCode},
#{oqcName},
#{templateId},
#{sourceDocId},
#{sourceDocType},
#{sourceDocCode},
#{sourceLineId},
#{clientId},
#{clientCode},
#{clientName},
#{batchCode},
#{itemId},
#{itemCode},
#{itemName},
#{specification},
#{unitOfMeasure},
#{quantityMinCheck},
#{quantityMaxUnqualified},
#{quantityOut},
#{quantityCheck},
#{quantityUnqualified},
#{quantityQuanlified},
#{crRate},
#{majRate},
#{minRate},
#{crQuantity},
#{majQuantity},
#{minQuantity},
#{checkResult},
#{outDate},
#{inspectDate},
#{inspector},
#{status},
#{remark},
#{attr1},
#{attr2},
#{attr3},
#{attr4},
#{createBy},
#{createTime},
#{updateBy},
#{updateTime},
update qc_oqc
oqc_code = #{oqcCode},
oqc_name = #{oqcName},
template_id = #{templateId},
source_doc_id = #{sourceDocId},
source_doc_type = #{sourceDocType},
source_doc_code = #{sourceDocCode},
source_line_id = #{sourceLineId},
client_id = #{clientId},
client_code = #{clientCode},
client_name = #{clientName},
batch_code = #{batchCode},
item_id = #{itemId},
item_code = #{itemCode},
item_name = #{itemName},
specification = #{specification},
unit_of_measure = #{unitOfMeasure},
quantity_min_check = #{quantityMinCheck},
quantity_max_unqualified = #{quantityMaxUnqualified},
quantity_out = #{quantityOut},
quantity_check = #{quantityCheck},
quantity_unqualified = #{quantityUnqualified},
quantity_quanlified = #{quantityQuanlified},
cr_rate = #{crRate},
maj_rate = #{majRate},
min_rate = #{minRate},
cr_quantity = #{crQuantity},
maj_quantity = #{majQuantity},
min_quantity = #{minQuantity},
check_result = #{checkResult},
out_date = #{outDate},
inspect_date = #{inspectDate},
inspector = #{inspector},
status = #{status},
remark = #{remark},
attr1 = #{attr1},
attr2 = #{attr2},
attr3 = #{attr3},
attr4 = #{attr4},
create_by = #{createBy},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
where oqc_id = #{oqcId}
UPDATE qc_oqc 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 'oqc_id'
FROM qc_defect_record qid
WHERE qid.qc_id = #{oqcId}
and qc_type = 'OQC'
GROUP BY qid.qc_id
) b
ON a.`oqc_id` = b.oqc_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.oqc_id = #{oqcId}
delete from qc_oqc where oqc_id = #{oqcId}
delete from qc_oqc where oqc_id in
#{oqcId}