MERGE INTO PMS_TRANSFER_MOLD USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET OEM_OBJID = #{oemObjId}, CAR_OBJID = #{carObjId} WHEN NOT MATCHED THEN INSERT ( OBJID , OEM_OBJID , CAR_OBJID , WRITER , REGDATE , STATUS ) VALUES ( #{objId} , #{oemObjId} , #{carObjId} , #{writer} , SYSDATE , 'create' ) UPDATE PMS_TRANSFER_MOLD_PART_HISTORY SET IS_LAST = 'N' WHERE TARGET_OBJID = #{targetObjId} AND PART_NO = #{partNo} INSERT INTO PMS_TRANSFER_MOLD_PART_HISTORY( OBJID , TARGET_OBJID , PROD_GROUP_OBJID , PROD_OBJID , PART_NO , RESULT , REASON , DESCRIPTION , REGDATE , WRITER , IS_LAST ) VALUES ( #{objId} , #{targetObjId} , (SELECT PRODUCT_GROUP_OBJID FROM PART_INFO WHERE PART_NO = #{partNo} AND IS_LAST = 1 AND UPPER(STATUS) = 'COMPLETE') , (SELECT PRODUCT_OBJID FROM PART_INFO WHERE PART_NO = #{partNo} AND IS_LAST = 1 AND UPPER(STATUS) = 'COMPLETE') , #{partNo} , #{result} , #{reason} , #{description} , SYSDATE , #{writer} , 'Y' ) MERGE INTO PMS_TRANSFER_FACILITIES USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET OEM_OBJID = #{oemObjId}, CAR_OBJID = #{carObjId}, ACCEPTOR = #{acceptor} WHEN NOT MATCHED THEN INSERT ( OBJID , OEM_OBJID , CAR_OBJID , WRITER , REGDATE , STATUS , ACCEPTOR ) VALUES ( #{objId} , #{oemObjId} , #{carObjId} , #{writer} , SYSDATE , 'create' , #{acceptor} ) UPDATE PMS_TRANSFER_FACILITIES_HIS SET IS_LAST = 'N' WHERE TARGET_OBJID = #{targetObjId} AND PART_NO = #{partNo} INSERT INTO PMS_TRANSFER_FACILITIES_HIS( OBJID , TARGET_OBJID , PROD_GROUP_OBJID , PROD_OBJID , PART_NO , RESULT , REASON , DESCRIPTION , REGDATE , WRITER , IS_LAST ) VALUES ( #{objId} , #{targetObjId} , (SELECT PRODUCT_GROUP_OBJID FROM PART_INFO WHERE PART_NO = #{partNo} AND IS_LAST = 1 AND UPPER(STATUS) = 'COMPLETE') , (SELECT PRODUCT_OBJID FROM PART_INFO WHERE PART_NO = #{partNo} AND IS_LAST = 1 AND UPPER(STATUS) = 'COMPLETE') , #{partNo} , #{result} , #{reason} , #{description} , SYSDATE , #{writer} , 'Y' ) MERGE INTO PMS_TRANSFER_DOC USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET OEM_OBJID = #{oemObjId}, CAR_OBJID = #{carObjId} WHEN NOT MATCHED THEN INSERT ( OBJID , OEM_OBJID , CAR_OBJID , WRITER , REGDATE , STATUS ) VALUES ( #{objId} , #{oemObjId} , #{carObjId} , #{writer} , SYSDATE , 'create' ) MERGE INTO PMS_TRANS_DOC_INFO USING DUAL ON (TARGET_OBJID = #{targetObjId} AND DOC_OBJID = #{docObjId} AND PRODUCT_OBJID = #{productObjId} AND CAR_OBJID = #{carObjId}) WHEN NOT MATCHED THEN INSERT ( OBJID, TARGET_OBJID, CAR_OBJID, PRODUCT_OBJID, DOC_OBJID ) VALUES ( #{objId}, #{targetObjId}, #{carObjId}, #{productObjId}, #{docObjId} ) DELETE PMS_TRANS_DOC_INFO WHERE TARGET_OBJID = #{targetObjId} AND DOC_OBJID = #{docObjId} MERGE INTO PMS_TRANSFER_DOC_HISTORY USING DUAL ON (OBJID = #{objId} AND TARGET_OBJID = #{targetObjId}) WHEN MATCHED THEN UPDATE SET HAND_OVER_STATUS = #{status}, HAND_OVER_COMMENT = #{handOverComment} WHEN NOT MATCHED THEN INSERT ( OBJID, TARGET_OBJID, HAND_OVER_STATUS, HAND_OVER_COMMENT, HAND_OVER_REGDATE ) VALUES ( #{objId}, #{targetObjId}, 'create', #{handOverComment}, SYSDATE ) MERGE INTO PMS_TRANSFER_DOC_HISTORY USING DUAL ON (OBJID = #{objId} AND TARGET_OBJID = #{targetObjId}) WHEN MATCHED THEN UPDATE PRODUCTION_STATUS = #{takeOverStatus}, PRODUCTION_COMMENT = #{takeOverComment} PRODUCT_MNG_STATUS = #{takeOverStatus}, PRODUCT_MNG_COMMENT = #{takeOverComment} INTEGRITY_STATUS = #{takeOverStatus}, INTEGRITY_COMMENT = #{takeOverComment} COMPONENT_BUY_STATUS = #{takeOverStatus}, COMPONENT_BUY_COMMENT = #{takeOverComment} PRODUCT_QUALITY_STATUS = #{takeOverStatus}, PRODUCT_QUALITY_COMMENT = #{takeOverComment} UPDATE PMS_TRANSFER_DOC_HISTORY SET HAND_OVER_STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO PMS_TRANSFER_DOC_HISTORY USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE PRODUCTION_REGDATE = SYSDATE PRODUCT_MNG_REGDATE = SYSDATE INTEGRITY_REGDATE = SYSDATE COMPONENT_BUY_REGDATE = SYSDATE PRODUCT_QUALITY_REGDATE = SYSDATE UPDATE PMS_TRANS_DOC_INFO PRODUCTION_STATUS = #{status} PRODUCT_MNG_STATUS = #{status} INTEGRITY_STATUS = #{status} COMPONENT_BUY_STATUS = #{status} PRODUCT_QUALITY_STATUS = #{status} TRANSFER_DATE = SYSDATE WHERE OBJID = #{targetObjId} MERGE INTO PMS_TRANS_DOC_PROD_REL_USER USING DUAL ON (TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND CHARGER_USER_ID = #{userId} AND CHARGER_TYPE = #{userType}) WHEN NOT MATCHED THEN INSERT ( OBJID , TARGET_OBJID , PRODUCT_OBJID , CHARGER_USER_ID , CHARGER_TYPE , WRITER , REGDATE ) VALUES ( #{objId} , #{targetObjId} , #{productObjId} , #{userId} , #{userType} , #{writer} , SYSDATE ) DELETE PMS_TRANS_DOC_PROD_REL_USER WHERE TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND CHARGER_USER_ID = #{userId} AND CHARGER_TYPE = #{userType} DELETE PMS_TRANS_DOC_PROD_REL_USER WHERE TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND CHARGER_TYPE = #{userType} UPDATE PMS_TRANS_DOC_INFO SET STATUS = #{status} WHERE OBJID = #{targetObjId} MERGE INTO PMS_TRANSFER_QUALITY USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET OEM_OBJID = #{oemObjId}, CAR_OBJID = #{carObjId}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, OEM_OBJID, CAR_OBJID, WRITER, REGDATE, STATUS ) VALUES ( #{objId}, #{oemObjId}, #{carObjId}, #{writer}, SYSDATE, #{status} ) MERGE INTO PMS_TRANSFER_REL_TEST_RESULT USING DUAL ON (TARGET_OBJID = #{targetObjId} AND TEST_RESULT_MASTER_OBJID = #{testResultMasterObjId} AND TEST_RESULT_SLAVE_OBJID = #{testResultSlaveObjId} AND PRODUCT_OBJID = #{productObjId} AND PART_NO = #{partNo} ) WHEN NOT MATCHED THEN INSERT ( OBJID, TARGET_OBJID, TEST_RESULT_MASTER_OBJID, TEST_RESULT_SLAVE_OBJID, PRODUCT_OBJID, PART_NO, PART_TYPE, REGDATE ) VALUES ( #{objId}, #{targetObjId}, #{testResultMasterObjId}, #{testResultSlaveObjId}, #{productObjId}, #{partNo}, #{partType}, SYSDATE ) DELETE PMS_TRANSFER_REL_TEST_RESULT WHERE OBJID = #{objId} AND TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND UPPER(PART_TYPE) = UPPER(#{partType}) MERGE INTO PMS_TRANSFER_QUALITY_CHARGER USING DUAL ON (TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId}) WHEN MATCHED THEN UPDATE SET CHARGER_ID = #{chargerUsereId} WHEN NOT MATCHED THEN INSERT ( OBJID, TARGET_OBJID, PRODUCT_OBJID, CHARGER_ID, REGDATE ) VALUES ( #{objId}, #{targetObjId}, #{productObjId}, #{chargerUsereId}, SYSDATE ) MERGE INTO PMS_TRANS_TEST_RESULT_STATUS USING DUAL ON ( TRANSFER_INFO_OBJID = #{transferInfoObjid} AND PRODUCT_OBJID = #{productObjId} AND PART_NO = #{devMasterPartNo} AND TEST_RESULT_MASTER_OBJID = #{testResultMasterObjId} AND TEST_RESULT_SLAVE_OBJID = #{testResultSlaveObjId} ) WHEN MATCHED THEN UPDATE SET TAKE_OVER_STATUS = #{takeOverStatus}, TAKE_OVER_USER_ID = #{takeOverUserId}, TAKE_OVER_COMMENT = #{takeOverComment} WHEN NOT MATCHED THEN INSERT ( OBJID, TEST_RESULT_MASTER_OBJID, TEST_RESULT_SLAVE_OBJID, TRANSFER_INFO_OBJID, PRODUCT_OBJID, PART_NO, TAKE_OVER_STATUS, TAKE_OVER_USER_ID, TAKE_OVER_COMMENT, REGDATE ) VALUES ( #{objId}, #{testResultMasterObjId}, #{testResultSlaveObjId}, #{transferInfoObjid}, #{productObjId}, #{devMasterPartNo}, #{takeOverStatus}, #{takeOverUserId}, #{takeOverComment}, SYSDATE ) MERGE INTO PMS_TRANSFER_QUALITY_HISTORY USING DUAL ON ( OBJID = #{objId} AND TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND PART_NO = #{partNo} ) WHEN MATCHED THEN UPDATE SET TAKE_OVER_STATUS = #{takeOverStatus}, REASON = #{takeOverReason}, TAKE_OVER_COMMENT = #{takeOverComment} WHEN NOT MATCHED THEN INSERT ( OBJID, TARGET_OBJID, PRODUCT_OBJID, PART_NO, CHARGER_ID, TAKE_OVER_STATUS, REASON, TAKE_OVER_COMMENT, IS_LAST, REGDATE ) VALUES ( #{objId}, #{targetObjId}, #{productObjId}, #{partNo}, #{chargerId}, #{takeOverStatus}, #{takeOverReason}, #{takeOverComment}, 1, SYSDATE ) UPDATE PMS_TRANSFER_QUALITY_HISTORY SET IS_LAST = 0 WHERE OBJID != #{objId} AND TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND PART_NO = #{partNo} UPDATE PMS_TRANSFER_QUALITY_HISTORY SET TAKE_OVER_DATE = SYSDATE WHERE OBJID = #{objId} AND TARGET_OBJID = #{targetObjId} AND PRODUCT_OBJID = #{productObjId} AND PART_NO = #{partNo}