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}