MERGE INTO PMS_QUALITY_TEST_INFO USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET CAR_OBJID = #{carObjId} , PROD_OBJID = #{prodObjId} , TEST_TYPE_OBJID = #{testTypeObjId} , STEP1 = #{step1} , STEP2 = #{step2} WHEN NOT MATCHED THEN INSERT ( OBJID , CAR_OBJID , PROD_OBJID , TEST_TYPE_OBJID , STEP1 , STEP2 , WRITER , REGDATE , STATUS ) VALUES ( #{objId} , #{carObjId} , #{prodObjId} , #{testTypeObjId} , #{step1} , #{step2} , #{writer} , SYSDATE , 'create' ) MERGE INTO PMS_QUALITY_TEST_REL_PART_ATTR USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET SCORE = #{score} , RESULT = #{result} , TYPE1 = #{type1} , TYPE2 = #{type2} WHEN NOT MATCHED THEN INSERT ( OBJID , TARGET_OBJID , PART_NO , SCORE , RESULT , TYPE1 , TYPE2 , WRITER , REGDATE , STATUS ) VALUES ( #{objId} , #{targetObjId} , #{partNo} , #{score} , #{result} , #{type1} , #{type2} , #{writer} , SYSDATE , 'create' ) UPDATE PMS_QUALITY_TEST_INFO SET STATUS = 'complete' WHERE OBJID = #{targetObjId} INSERT INTO PMS_QUALITY_INSPECTION_TYPE ( OBJID , INSPECTION_TYPE_NAME , STATUS , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{INSPECTION_TYPE_NAME} , #{STATUS} , #{writer} , SYSDATE ) UPDATE PMS_QUALITY_INSPECTION_TYPE SET INSPECTION_TYPE_NAME = #{INSPECTION_TYPE_NAME} , STATUS = #{STATUS} WHERE OBJID = #{OBJID} DELETE FROM PMS_QUALITY_INSPECTION_TYPE WHERE OBJID = #{OBJID} INSERT INTO PMS_QUALITY_DEFECT_TYPE ( OBJID , DEFECT_TYPE_NAME , STATUS , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{DEFECT_TYPE_NAME} , #{STATUS} , #{writer} , SYSDATE ) UPDATE PMS_QUALITY_DEFECT_TYPE SET DEFECT_TYPE_NAME = #{DEFECT_TYPE_NAME} , STATUS = #{STATUS} WHERE OBJID = #{OBJID} DELETE FROM PMS_QUALITY_DEFECT_TYPE WHERE OBJID = #{OBJID} INSERT INTO PMS_QUALITY_DEFECT_REASON ( OBJID , DEFECT_TYPE_OBJID , DEFECT_REASON_NAME , STATUS , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{DEFECT_TYPE_OBJID} , #{DEFECT_REASON_NAME} , #{STATUS} , #{writer} , SYSDATE ) UPDATE PMS_QUALITY_DEFECT_REASON SET DEFECT_REASON_NAME = #{DEFECT_REASON_NAME} , STATUS = #{STATUS} WHERE OBJID = #{OBJID} DELETE FROM PMS_QUALITY_DEFECT_REASON WHERE OBJID = #{OBJID} DELETE FROM PMS_QUALITY_DEFECT_REASON WHERE DEFECT_TYPE_OBJID = #{OBJID} INSERT INTO QUALITY_INCOMING_INSPECTION ( OBJID , PURCHASE_ORDER_MASTER_OBJID , INSPECTOR_ID , INSPECTION_DATE , INSPECTION_RESULT , INSPECTION_MEMO , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{PURCHASE_ORDER_MASTER_OBJID} , #{INSPECTOR_ID} , TO_DATE(#{INSPECTION_DATE}, 'YYYY-MM-DD') , #{INSPECTION_RESULT} , #{INSPECTION_MEMO} , #{writer} , SYSDATE ) UPDATE QUALITY_INCOMING_INSPECTION SET INSPECTOR_ID = #{INSPECTOR_ID} , INSPECTION_DATE = TO_DATE(#{INSPECTION_DATE}, 'YYYY-MM-DD') , INSPECTION_RESULT = #{INSPECTION_RESULT} , INSPECTION_MEMO = #{INSPECTION_MEMO} WHERE OBJID = #{OBJID} INSERT INTO PROCESS_INSPECTION_MASTER ( OBJID , INSPECTION_DATE , INSPECTOR_ID , REMARK , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{INSPECTION_DATE} , #{INSPECTOR_ID} , #{REMARK} , #{WRITER} , NOW() ) UPDATE PROCESS_INSPECTION_MASTER SET INSPECTION_DATE = #{INSPECTION_DATE} , INSPECTOR_ID = #{INSPECTOR_ID} , REMARK = #{REMARK} , MOD_DATE = NOW() WHERE OBJID = #{OBJID} INSERT INTO PROCESS_INSPECTION_DETAIL ( OBJID , MASTER_OBJID , PROCESS_CD , PROJECT_OBJID , PART_OBJID , PART_NO , PART_NAME , INSPECTION_QTY , DEFECT_QTY , WORK_ENV_STATUS , MEASURING_DEVICE , DEPT_CD , USER_ID , INSPECTION_DATE , INSPECTOR_ID , REMARK , ACTION_STATUS , INSPECTION_RESULT , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{MASTER_OBJID} , #{PROCESS_CD} , #{PROJECT_OBJID} , #{PART_OBJID} , #{PART_NO} , #{PART_NAME} , NULLIF(#{INSPECTION_QTY}, '')::NUMERIC , NULLIF(#{DEFECT_QTY}, '')::NUMERIC , #{WORK_ENV_STATUS} , #{MEASURING_DEVICE} , #{DEPT_CD} , #{USER_ID} , #{INSPECTION_DATE} , #{INSPECTOR_ID} , #{REMARK} , #{ACTION_STATUS} , #{INSPECTION_RESULT} , #{WRITER} , NOW() ) ON CONFLICT (OBJID) DO UPDATE SET PROCESS_CD = #{PROCESS_CD} , PROJECT_OBJID = #{PROJECT_OBJID} , PART_OBJID = #{PART_OBJID} , PART_NO = #{PART_NO} , PART_NAME = #{PART_NAME} , INSPECTION_QTY = NULLIF(#{INSPECTION_QTY}, '')::NUMERIC , DEFECT_QTY = NULLIF(#{DEFECT_QTY}, '')::NUMERIC , WORK_ENV_STATUS = #{WORK_ENV_STATUS} , MEASURING_DEVICE = #{MEASURING_DEVICE} , DEPT_CD = #{DEPT_CD} , USER_ID = #{USER_ID} , INSPECTION_DATE = #{INSPECTION_DATE} , INSPECTOR_ID = #{INSPECTOR_ID} , REMARK = #{REMARK} , ACTION_STATUS = #{ACTION_STATUS} , INSPECTION_RESULT = #{INSPECTION_RESULT} , MOD_DATE = NOW() DELETE FROM PROCESS_INSPECTION_DETAIL WHERE MASTER_OBJID = #{MASTER_OBJID} INSERT INTO CUSTOMER_CS ( OBJID , RECEIPT_NO , RECEIPT_DATE , QTY , CUSTOMER_OBJID , MODEL_NAME , PRODUCT_NO , PRODUCT_NAME , PART_NO , PART_NAME , PRODUCTION_DATE , SALES_DATE , SERIAL_NO , MANUFACTURER , COMPLAINT_CONTENT , BLAME_DECISION , STATUS , REMARK , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{RECEIPT_NO} , #{RECEIPT_DATE} , NULLIF(#{QTY}, '')::NUMERIC , #{CUSTOMER_OBJID} , #{MODEL_NAME} , #{PRODUCT_NO} , #{PRODUCT_NAME} , #{PART_NO} , #{PART_NAME} , #{PRODUCTION_DATE} , #{SALES_DATE} , #{SERIAL_NO} , #{MANUFACTURER} , #{COMPLAINT_CONTENT} , #{BLAME_DECISION} , #{STATUS} , #{REMARK} , #{WRITER} , NOW() ) UPDATE CUSTOMER_CS SET RECEIPT_DATE = #{RECEIPT_DATE} , QTY = NULLIF(#{QTY}, '')::NUMERIC , CUSTOMER_OBJID = #{CUSTOMER_OBJID} , MODEL_NAME = #{MODEL_NAME} , PRODUCT_NO = #{PRODUCT_NO} , PRODUCT_NAME = #{PRODUCT_NAME} , PART_NO = #{PART_NO} , PART_NAME = #{PART_NAME} , PRODUCTION_DATE = #{PRODUCTION_DATE} , SALES_DATE = #{SALES_DATE} , SERIAL_NO = #{SERIAL_NO} , MANUFACTURER = #{MANUFACTURER} , COMPLAINT_CONTENT = #{COMPLAINT_CONTENT} , MOD_DATE = NOW() WHERE OBJID = #{OBJID} UPDATE CUSTOMER_CS SET ACTION_CONTENT = #{ACTION_CONTENT} , BLAME_DECISION = #{BLAME_DECISION} , ACTION_DATE = #{ACTION_DATE} , ACTION_USER_ID = #{ACTION_USER_ID} , STATUS = #{STATUS} , REMARK = #{REMARK} , MOD_DATE = NOW() , ACTION_TYPE = #{ACTION_TYPE} WHERE OBJID = #{OBJID} INSERT INTO PMS_QUALITY_ECR ( OBJID , ECR_NO , REQUEST_DATE , REQUESTER_ID , PART_OBJID , PART_NO , PART_NAME , ISSUE_CONTENT , DUE_DATE , ACTION_DEPT , ACTION_MANAGER_ID , ATTACH_FILE_OBJID , REMARK , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{ECR_NO} , #{REQUEST_DATE} , #{REQUESTER_ID} , #{PART_OBJID} , #{PART_NO} , #{PART_NAME} , #{ISSUE_CONTENT} , #{DUE_DATE} , #{ACTION_DEPT} , #{ACTION_MANAGER_ID} , #{ATTACH_FILE_OBJID} , #{REMARK} , #{WRITER} , NOW() ) UPDATE PMS_QUALITY_ECR SET REQUEST_DATE = #{REQUEST_DATE} , REQUESTER_ID = #{REQUESTER_ID} , PART_OBJID = #{PART_OBJID} , PART_NO = #{PART_NO} , PART_NAME = #{PART_NAME} , ISSUE_CONTENT = #{ISSUE_CONTENT} , DUE_DATE = #{DUE_DATE} , ACTION_DEPT = #{ACTION_DEPT} , ACTION_MANAGER_ID = #{ACTION_MANAGER_ID} , REMARK = #{REMARK} , MODIFIER = #{WRITER} , MOD_DATE = NOW() WHERE OBJID = #{OBJID} UPDATE PMS_QUALITY_ECR SET ACTION_USER_ID = #{ACTION_USER_ID} , ACTION_CONTENT = #{ACTION_CONTENT} , COMPLETE_DATE = #{COMPLETE_DATE} , MODIFIER = #{MODIFIER} , MOD_DATE = NOW() WHERE OBJID = #{OBJID} INSERT INTO INCOMING_INSPECTION_DETAIL ( OBJID , INVENTORY_IN_OBJID , PURCHASE_ORDER_MASTER_OBJID , REQUEST_DATE , REQUEST_USER_ID , INSPECTION_DATE , INSPECTOR_ID , INSPECTION_TYPE , INSPECTION_YN , DEFECT_TYPE , DEFECT_REASON , ACTION_STATUS , INSPECTION_QTY , DEFECT_QTY , INSPECTION_RESULT , ATTACH_FILE_OBJID , REMARK , WRITER , REG_DATE ) VALUES ( #{NEW_OBJID} , #{OBJID} , #{PURCHASE_ORDER_MASTER_OBJID} , #{REQUEST_DATE} , #{REQUEST_USER_ID} , #{INSPECTION_DATE} , #{INSPECTOR_ID} , #{INSPECTION_TYPE} , #{INSPECTION_YN} , #{DEFECT_TYPE} , #{DEFECT_REASON} , #{ACTION_STATUS} , #{INSPECTION_QTY} , #{DEFECT_QTY} , #{INSPECTION_RESULT} , #{ATTACH_FILE_OBJID} , #{REMARK} , #{WRITER} , NOW() ) ON CONFLICT (INVENTORY_IN_OBJID) DO UPDATE SET REQUEST_DATE = COALESCE(#{REQUEST_DATE}, INCOMING_INSPECTION_DETAIL.REQUEST_DATE) , REQUEST_USER_ID = COALESCE(#{REQUEST_USER_ID}, INCOMING_INSPECTION_DETAIL.REQUEST_USER_ID) , INSPECTION_DATE = COALESCE(#{INSPECTION_DATE}, INCOMING_INSPECTION_DETAIL.INSPECTION_DATE) , INSPECTOR_ID = COALESCE(#{INSPECTOR_ID}, INCOMING_INSPECTION_DETAIL.INSPECTOR_ID) , INSPECTION_TYPE = COALESCE(#{INSPECTION_TYPE}, INCOMING_INSPECTION_DETAIL.INSPECTION_TYPE) , INSPECTION_YN = COALESCE(#{INSPECTION_YN}, INCOMING_INSPECTION_DETAIL.INSPECTION_YN) , DEFECT_TYPE = COALESCE(#{DEFECT_TYPE}, INCOMING_INSPECTION_DETAIL.DEFECT_TYPE) , DEFECT_REASON = COALESCE(#{DEFECT_REASON}, INCOMING_INSPECTION_DETAIL.DEFECT_REASON) , ACTION_STATUS = COALESCE(#{ACTION_STATUS}, INCOMING_INSPECTION_DETAIL.ACTION_STATUS) , INSPECTION_QTY = COALESCE(#{INSPECTION_QTY}, INCOMING_INSPECTION_DETAIL.INSPECTION_QTY) , DEFECT_QTY = COALESCE(#{DEFECT_QTY}, INCOMING_INSPECTION_DETAIL.DEFECT_QTY) , INSPECTION_RESULT = COALESCE(#{INSPECTION_RESULT}, INCOMING_INSPECTION_DETAIL.INSPECTION_RESULT) , ATTACH_FILE_OBJID = COALESCE(#{ATTACH_FILE_OBJID}, INCOMING_INSPECTION_DETAIL.ATTACH_FILE_OBJID) , REMARK = COALESCE(#{REMARK}, INCOMING_INSPECTION_DETAIL.REMARK) , MODIFIER = #{WRITER} , MOD_DATE = NOW() INSERT INTO INCOMING_INSPECTION_DEFECT ( OBJID , INSPECTION_DETAIL_OBJID , INSPECTION_TYPE , INSPECTION_DATE , INSPECTOR_ID , DEFECT_TYPE , DEFECT_REASON , ACTION_STATUS , ACTION_RESULT , INSPECTION_QTY , DEFECT_QTY , INSPECTION_RESULT , REMARK , WRITER , REG_DATE ) VALUES ( #{OBJID} , #{INSPECTION_DETAIL_OBJID} , #{INSPECTION_TYPE} , #{INSPECTION_DATE}::DATE , #{INSPECTOR_ID} , #{DEFECT_TYPE} , #{DEFECT_REASON} , #{ACTION_STATUS} , #{ACTION_RESULT} , #{INSPECTION_QTY} , #{DEFECT_QTY} , #{INSPECTION_RESULT} , #{REMARK} , #{WRITER} , NOW() ) ON CONFLICT (OBJID) DO UPDATE SET INSPECTION_TYPE = #{INSPECTION_TYPE} , INSPECTION_DATE = #{INSPECTION_DATE}::DATE , INSPECTOR_ID = #{INSPECTOR_ID} , DEFECT_TYPE = #{DEFECT_TYPE} , DEFECT_REASON = #{DEFECT_REASON} , ACTION_STATUS = #{ACTION_STATUS} , ACTION_RESULT = #{ACTION_RESULT} , INSPECTION_QTY = #{INSPECTION_QTY} , DEFECT_QTY = #{DEFECT_QTY} , INSPECTION_RESULT = #{INSPECTION_RESULT} , REMARK = #{REMARK} , MODIFIER = #{WRITER} , MOD_DATE = NOW() DELETE FROM INCOMING_INSPECTION_DEFECT WHERE OBJID = #{OBJID} DELETE FROM INCOMING_INSPECTION_DEFECT WHERE INSPECTION_DETAIL_OBJID = #{INSPECTION_DETAIL_OBJID}