MERGE INTO EO_INFO T USING DUAL ON ( T.OBJID = #{objId})
WHEN MATCHED THEN
UPDATE
SET
T.OEM_OBJID = #{oem},
T.CAR_OBJID = #{car},
T.DESIGN_TEAM = #{designTeam},
T.EO_ISSUE_DATE = #{eoIssueDate},
T.EO_NO = #{eoNo},
T.EO_TYPE = #{eoType},
T.HKMC_DISTRIBUTE_DATE = #{hkmcDistributeDate},
T.STATUS = #{status},
T.URGENT_DEGREE = #{urgentDegree}
WHEN NOT MATCHED THEN
INSERT
(
T.OBJID,
T.OEM_OBJID,
T.CAR_OBJID,
T.DESIGN_TEAM,
T.EO_ISSUE_DATE,
T.EO_NO,
T.EO_TYPE,
T.HKMC_DISTRIBUTE_DATE,
T.REGDATE,
T.STATUS,
T.URGENT_DEGREE,
T.WRITER
)
VALUES
(
#{objId},
#{oem},
#{car},
#{designTeam},
#{eoIssueDate},
(SELECT 'New EO:'||to_char(sysdate, 'yyyy-mm-dd')||':'||LTRIM(TO_CHAR((SELECT COUNT(*)+1 FROM EO_INFO WHERE TO_CHAR(REGDATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')), '00')) FROM DUAL),
#{eoType},
#{hkmcDistributeDate},
SYSDATE,
#{status},
#{urgentDegree},
#{writer}
)
UPDATE PART_INFO SET EO_NO = #{eoNo}, EO_ISSUE_DATE = #{eoIssueDate} WHERE EO_OBJID = #{objId}
MERGE INTO REL_EO_PART T USING DUAL ON ( T.MASTER_OBJID = #{eoObjId} AND T.SUB_OBJID = #{partObjId})
WHEN NOT MATCHED THEN
INSERT
(
OBJID,
MASTER_OBJID,
SUB_OBJID,
WRITER,
REGDATE
)
VALUES
(
#{objId},
#{eoObjId},
#{partObjId},
#{writer},
SYSDATE
)
UPDATE PART_INFO
SET EO_OBJID = #{eoObjId}
,EO_NO = #{eoNo}
,EO_ISSUE_DATE = #{eoIssueDate}
WHERE OBJID = #{partObjId}
DELETE REL_EO_PART WHERE MASTER_OBJID = #{eoObjId} AND SUB_OBJID = #{partObjId}
DELETE REL_EO_PART WHERE MASTER_OBJID = #{eoObjId}
DELETE EO_INFO WHERE OBJID = #{objId}
UPDATE PART_INFO SET EO_OBJID = NULL, EO_ISSUE_DATE = NULL, EO_NO = NULL WHERE EO_OBJID = #{objId}
UPDATE ATTACH_FILE_INFO SET REAL_FILE_NAME = #{realFileName} WHERE OBJID = #{fileObjId}