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}