INSERT INTO MENU_INFO ( OBJID, MENU_TYPE, SYSTEM_NAME, PARENT_OBJ_ID, MENU_NAME_KOR, MENU_NAME_ENG, SEQ, MENU_URL, MENU_DESC, WRITER, REGDATE, STATUS ) VALUES ( #{OBJID}::numeric, #{MENU_TYPE}::numeric, #{SYSTEM_NAME}, #{PARENT_OBJ_ID}::numeric, #{MENU_NAME_KOR}, #{MENU_NAME_ENG}, #{SEQ}::numeric, #{MENU_URL}, #{MENU_DESC}, #{WRITER}, now(), #{STATUS} ) UPDATE MENU_INFO SET MENU_NAME_KOR = #{MENU_NAME_KOR}, MENU_NAME_ENG = #{MENU_NAME_ENG}, SEQ = #{SEQ}::numeric, MENU_URL = #{MENU_URL}, MENU_DESC = #{MENU_DESC}, STATUS = #{STATUS} WHERE OBJID = #{OBJID}::numeric DELETE FROM MENU_INFO WHERE OBJID = #{OBJID}::numeric INSERT INTO AUTHORITY_MASTER ( OBJID, AUTH_NAME, AUTH_CODE, WRITER, REGDATE, STATUS ) VALUES ( #{OBJID}::numeric, #{AUTH_NAME}, #{AUTH_CODE}, #{WRITER}, now(), #{STATUS} ) ON CONFLICT (OBJID) DO UPDATE SET AUTH_NAME = #{AUTH_NAME}, AUTH_CODE = #{AUTH_CODE}, STATUS = #{STATUS} DELETE FROM AUTHORITY_SUB_USER WHERE MASTER_OBJID = #{MASTEROBJID}::numeric AND OBJID = #{USER_OBJID}::numeric INSERT INTO AUTHORITY_SUB_USER ( OBJID, MASTER_OBJID, USER_ID, WRITER, REGDATE ) SELECT #{OBJID}::numeric, #{MASTEROBJID}::numeric, #{USERID}, #{WRITER}, now() WHERE 1=1 AND NOT EXISTS( SELECT * FROM AUTHORITY_SUB_USER WHERE 1=1 AND USER_ID = #{USERID} AND MASTER_OBJID = #{MASTEROBJID}::numeric ) INSERT INTO AUTHORITY_MASTER_HISTORY ( OBJID, PARENT_OBJID, PARENT_NAME, PARENT_CODE, USER_ID, ACTIVE, HISTORY_TYPE, WRITER, REG_DATE ) VALUES ( #{OBJID}::numeric, #{MASTEROBJID}::numeric, (SELECT AM.AUTH_NAME FROM AUTHORITY_MASTER AM WHERE AM.OBJID = #{MASTEROBJID}::NUMERIC), (SELECT AM.AUTH_CODE FROM AUTHORITY_MASTER AM WHERE AM.OBJID = #{MASTEROBJID}::NUMERIC), #{USERID}, (SELECT AM.STATUS FROM AUTHORITY_MASTER AM WHERE AM.OBJID = #{MASTEROBJID}::NUMERIC), #{HISTORY_TYPE}, #{WRITER}, NOW() ) UPDATE AUTHORITY_MASTER SET STATUS = #{STATUS} WHERE OBJID = #{OBJID}::numeric DELETE FROM AUTHORITY_MASTER WHERE OBJID = #{OBJID}::NUMERIC DELETE FROM AUTHORITY_SUB_USER WHERE MASTER_OBJID = #{OBJID}::NUMERIC DELETE FROM DEPT_INFO WHERE DEPT_CODE = #{DEPT_CODE} WITH V_PARAM AS ( SELECT #{OBJID}::numeric, #{MENU_OBJID}::numeric, #{AUTH_OBJID}::numeric, #{WRITER} ) INSERT INTO REL_MENU_AUTH ( OBJID, MENU_OBJID, AUTH_OBJID, WRITER, REGDATE ) SELECT A.*, now() FROM V_PARAM A WHERE 1=1 AND NOT EXISTS( SELECT * FROM REL_MENU_AUTH B WHERE 1=1 AND B.MENU_OBJID = #{MENU_OBJID}::numeric AND B.AUTH_OBJID = #{AUTH_OBJID}::numeric ) DELETE FROM REL_MENU_AUTH WHERE MENU_OBJID = #{MENU_OBJID}::numeric AND OBJID = #{AUTH_OBJID}::numeric UPDATE REL_MENU_AUTH SET CREATE_YN = #{value} READ_YN = #{value} UPDATE_YN = #{value} DELETE_YN = #{value} ,WRITER = #{writer} WHERE OBJID = #{objid}::numeric AND MENU_OBJID = #{menuObjid}::numeric AND AUTH_OBJID = #{authObjid}::numeric MERGE INTO CAR_MNG T USING DUAL ON ( T.OBJID = #{OBJID}) WHEN MATCHED THEN UPDATE SET T.CAR_CODE = #{CAR_CODE}, T.MODEL_CODE = #{MODEL_CODE}, T.CAR_NAME = #{CAR_NAME}, T.DESCRIPTION = #{DESCRIPTION}, T.GRADE_OBJID = #{GRADE_OBJID}, T.STATUS = #{STATUS} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.CAR_CODE, T.MODEL_CODE, T.CAR_NAME, T.DESCRIPTION, T.GRADE_OBJID, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{OBJID}, #{CAR_CODE}, #{MODEL_CODE}, #{CAR_NAME}, #{DESCRIPTION}, #{GRADE_OBJID}, #{WRITER}, SYSDATE, #{STATUS} ) INSERT INTO OEM_MNG ( objid, oem_code, oem_name, writer, regdate, status ) VALUES ( #{OBJID}::integer, #{OEM_CODE}, #{OEM_NAME}, #{WRITER}, now(), #{STATUS} ) ON CONFLICT (OBJID) DO UPDATE SET OEM_CODE = #{OEM_CODE}, OEM_NAME = #{OEM_NAME}, STATUS = #{STATUS} MERGE INTO OEM_MILESTONE_MNG T USING DUAL ON ( T.OBJID = #{OBJID} AND OEM_OBJID = #{OEM_OBJID}) WHEN MATCHED THEN UPDATE SET T.SEQ = #{SEQ}, T.MILESTONE_NAME = #{MILESTONE_NAME}, T.STATUS = #{STATUS} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.SEQ, T.OEM_OBJID, T.MILESTONE_NAME, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{OBJID}, #{SEQ}, #{OEM_OBJID}, #{MILESTONE_NAME}, #{WRITER}, SYSDATE, #{STATUS} ) INSERT INTO ADMIN_SUPPLY_MNG ( OBJID ,SUPPLY_CODE ,SUPPLY_NAME ,REG_NO ,SUPPLY_ADDRESS ,SUPPLY_BUSNAME ,SUPPLY_STOCKNAME ,SUPPLY_TEL_NO ,SUPPLY_FAX_NO ,CHARGE_USER_NAME ,PAYMENT_METHOD ,REG_ID ,REG_DATE ,STATUS ,AREA_CD ,BUS_REG_NO ,OFFICE_NO ,EMAIL ) VALUES ( #{objid }::NUMERIC ,#{supply_code } ,#{supply_name } ,#{reg_no } ,#{supply_address } ,#{supply_busname } ,#{supply_stockname } ,#{supply_tel_no } ,#{supply_fax_no } ,#{charge_user_name } ,#{payment_method } ,#{reg_id } ,now() ,'active' ,#{area_cd } ,#{bus_reg_no } ,#{office_no } ,#{email } ) ON CONFLICT (OBJID) DO UPDATE SET SUPPLY_CODE =#{supply_code } ,SUPPLY_NAME =#{supply_name } ,REG_NO =#{reg_no } ,SUPPLY_ADDRESS =#{supply_address } ,SUPPLY_BUSNAME =#{supply_busname } ,SUPPLY_STOCKNAME =#{supply_stockname } ,SUPPLY_TEL_NO =#{supply_tel_no } ,SUPPLY_FAX_NO =#{supply_fax_no } ,CHARGE_USER_NAME =#{charge_user_name } ,PAYMENT_METHOD =#{payment_method } ,REG_ID =#{reg_id } ,REG_DATE =#{reg_date } ,AREA_CD =#{area_cd } ,BUS_REG_NO =#{bus_reg_no } ,OFFICE_NO =#{office_no } ,EMAIL =#{email } INSERT INTO ADMIN_SUPPLY_MNG_HISTORY SELECT #{objid}::numeric, #{targetObjid}::numeric, SUPPLY_CODE, SUPPLY_NAME, REG_NO, SUPPLY_ADDRESS, SUPPLY_BUSNAME, SUPPLY_STOCKNAME, SUPPLY_TEL_NO, SUPPLY_FAX_NO, CHARGE_USER_NAME, PAYMENT_METHOD, #{writer}, NOW(), STATUS FROM ADMIN_SUPPLY_MNG WHERE OBJID = #{targetObjid}::numeric INSERT INTO RATECAL_MGMT_HISTORY ( ratecal_mgmt_objid, old_data, new_data, reg_date ) VALUES ( #{objid}::numeric, (select ORDINARY_HOURLY_WAGE from RATECAL_MGMT where RATECAL_MGMT_OBJID = #{objid}::numeric), TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric,'999,999,999,990')), now() ) with upsert as ( update RATECAL_MGMT set YYYY=#{yyyy} ,ORDINARY_HOURLY_WAGE=TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric,'999,999,999,990')) ,DAILY_WAGE=TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric*8,'999,999,999,990')) ,EST_ANNUAL_SALARY=TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric*8*365,'999,999,999,990')) ,STATUS=#{status} where RATECAL_MGMT_OBJID = #{objid}::numeric ) insert into RATECAL_MGMT ( RATECAL_MGMT_OBJID ,POSITION ,USER_NAME ,YYYY ,ORDINARY_HOURLY_WAGE ,DAILY_WAGE ,EST_ANNUAL_SALARY ,REASON ,USER_ID ,REG_USER_ID ,REG_DATE ,STATUS ) select #{objid}::numeric ,#{position} ,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = #{user_id}) ,#{yyyy} ,TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric, '999,999,999,990')) ,TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric*8, '999,999,999,990')) ,TRIM(TO_CHAR(#{ordinary_hourly_wage}::numeric*8*365,'999,999,999,990')) ,#{reason} ,#{user_id} ,#{userId} ,now() ,#{status} where not exists ( select * from RATECAL_MGMT where RATECAL_MGMT_OBJID = #{objid}::numeric ) DELETE OEM_MILESTONE_MNG WHERE OEM_OBJID = #{OEM_OBJID} UPDATE OEM_MNG SET STATUS = #{STATUS} WHERE OBJID = #{OEM_OBJID} UPDATE ADMIN_SUPPLY_MNG SET STATUS = #{status} WHERE OBJID = #{objid}::numeric MERGE INTO MATERIAL_MNG M USING DUAL on (M.OBJID = #{materialObjid}) WHEN MATCHED THEN UPDATE SET M.MATERIAL_NAME = #{materialName}, M.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( M.OBJID, M.MATERIAL_NAME, M.WRITER, M.REGDATE, M.STATUS ) VALUES ( #{materialObjid}, #{materialName}, #{writer}, SYSDATE, #{status} ) UPDATE MATERIAL_MNG SET STATUS = #{actionType} WHERE OBJID = #{materialObjid} MERGE INTO OPTION_SPEC_MNG M USING DUAL on (M.OBJID = #{optionObjid}) WHEN MATCHED THEN UPDATE SET M.OPTION_NAME = #{optionName}, M.DESCRIPTION = #{optionDescription}, M.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( M.OBJID, M.OPTION_NAME, M.DESCRIPTION, M.WRITER, M.REGDATE, M.STATUS ) VALUES ( #{optionObjid}, #{optionName}, #{optionDescription}, #{writer}, SYSDATE, #{status} ) UPDATE OPTION_SPEC_MNG SET STATUS = #{actionType} WHERE OBJID = #{optionObjid} INSERT INTO STANDARD_DOC_CATEGORY ( objid, parent_objid, category_type, doc_no_rule, category_name, seq, writer, regdate, status, use_car, use_product, use_revision, use_doc_link, use_compatition_car, use_product_group, spec_input_type ) VALUES ( #{objid}::numeric, #{parentObjid}::numeric, #{categoryType}, #{categoryDocName}, #{categoryName}, #{categorySeq}::numeric, #{writer}, now(), #{status}, #{car}, #{product}, #{revision}, #{changeFlag}, #{compatitionCar}, #{productGroup}, #{specInputType} ) ON CONFLICT (OBJID) DO UPDATE SET parent_objid = #{parentObjid}::numeric, category_type = #{categoryType}, doc_no_rule = #{categoryDocName}, category_name = #{categoryName}, seq = #{categorySeq}::numeric, status = #{status}, use_car = #{car}, use_product = #{product}, use_revision = #{revision}, use_doc_link = #{changeFlag}, use_compatition_car = #{compatitionCar}, use_product_group = #{productGroup}, spec_input_type = #{specInputType} INSERT INTO COMM_CODE ( OBJID, CODE_ID, PARENT_CODE_ID, CODE_NAME, ID, CODE_CD, EXT_VAL, WRITER, REGDATE, STATUS ) VALUES ( #{objid}::numeric, LPAD(nextval('seq_comm_code')::varchar,7,'0'), #{parentCodeId}, #{codeName}, #{id}, #{code_cd}, #{ext_val}, #{writer}, now(), #{status} ) ON CONFLICT (OBJID) DO UPDATE SET CODE_NAME = #{codeName}, EXT_VAL = #{ext_val}, STATUS = #{status} INSERT INTO COMM_CODE_HISTORY SELECT #{objid}::numeric, #{targetObjid}::numeric, CODE_ID, PARENT_CODE_ID, CODE_NAME, ID, CODE_CD, EXT_VAL, #{writer}, NOW(), STATUS FROM COMM_CODE WHERE OBJID = #{targetObjid}::numeric DELETE STANDARD_DOC_CATEGORY WHERE OBJID = #{OBJID} UPDATE STANDARD_DOC_CATEGORY SET STATUS = #{STATUS} WHERE OBJID = #{OBJID}::numeric UPDATE COMM_CODE SET STATUS = #{STATUS} WHERE OBJID = #{OBJID}::numeric DELETE FROM COMM_CODE WHERE OBJID = #{OBJID}::NUMERIC DELETE FROM COMM_CODE WHERE PARENT_CODE_ID = (SELECT CODE_ID FROM COMM_CODE WHERE OBJID = #{OBJID}::NUMERIC) MERGE INTO REGION_MNG R USING DUAL on (R.OBJID = #{regionObjid}) WHEN MATCHED THEN UPDATE SET R.REGION_NAME = #{regionName}, R.DESCRIPTION = #{regionDescription}, R.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( R.OBJID, R.REGION_NAME, R.DESCRIPTION, R.WRITER, R.REGDATE, R.STATUS ) VALUES ( #{regionObjid}, #{regionName}, #{regionDescription}, #{writer}, SYSDATE, #{status} ) UPDATE REGION_MNG SET STATUS = #{actionType} WHERE OBJID = #{regionObjid} MERGE INTO MATERIAL_TYPE_MNG M USING DUAL on (M.OBJID = #{materialTypeObjid}) WHEN MATCHED THEN UPDATE SET M.MATERIAL_TYPE_NAME = #{materialTypeName}, M.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( M.OBJID, M.MATERIAL_TYPE_NAME, M.WRITER, M.REGDATE, M.STATUS ) VALUES ( #{materialTypeObjid}, #{materialTypeName}, #{writer}, SYSDATE, #{status} ) UPDATE MATERIAL_TYPE_MNG SET STATUS = #{actionType} WHERE OBJID = #{materialTypeObjid} MERGE INTO APPLY_POINT_MNG A USING DUAL on (A.OBJID = #{applyPointObjid}) WHEN MATCHED THEN UPDATE SET A.APPLY_POINT_NAME = #{applyPointName}, A.DESCRIPTION = #{applyPointDescription}, A.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( A.OBJID, A.APPLY_POINT_NAME, A.DESCRIPTION, A.WRITER, A.REGDATE, A.STATUS ) VALUES ( #{applyPointObjid}, #{applyPointName}, #{applyPointDescription}, #{writer}, SYSDATE, #{status} ) UPDATE APPLY_POINT_MNG SET STATUS = #{actionType} WHERE OBJID = #{applyPointObjid} MERGE INTO PRODUCT_GROUP_MNG PG USING DUAL on (PG.OBJID = #{productGroupObjid}) WHEN MATCHED THEN UPDATE SET PG.PRODUCT_GROUP_NAME = #{productGroupName}, PG.DESCRIPTION = #{productGroupDescription}, PG.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( PG.OBJID, PG.PRODUCT_GROUP_NAME, PG.DESCRIPTION, PG.WRITER, PG.REGDATE, PG.STATUS ) VALUES ( #{productGroupObjid}, #{productGroupName}, #{productGroupDescription}, #{writer}, SYSDATE, #{status} ) UPDATE PRODUCT_GROUP_MNG SET STATUS = #{actionType} WHERE OBJID = #{productGroupObjid} MERGE INTO PRODUCT_MNG P USING DUAL on (P.OBJID = #{productObjid}) WHEN MATCHED THEN UPDATE SET P.PRODUCT_GROUP_OBJID = #{productGroupObjid}, P.PRODUCT_CODE = #{productCode}, P.PRODUCT_NAME = #{productName}, P.PRODUCT_DESC = #{productDescription}, P.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( P.OBJID, P.PRODUCT_GROUP_OBJID, P.PRODUCT_CODE, P.PRODUCT_NAME, P.PRODUCT_DESC, P.WRITER, P.REGDATE, P.STATUS ) VALUES ( #{productObjid}, #{productGroupObjid}, #{productCode}, #{productName}, #{productDescription}, #{writer}, SYSDATE, #{status} ) UPDATE PRODUCT_MNG SET STATUS = #{actionType} WHERE OBJID = #{productObjid} INSERT INTO CAR_MNG ( OBJID, CAR_CODE, MODEL_CODE, CAR_NAME, DESCRIPTION, GRADE_OBJID, OEM_OBJID, WRITER, REGDATE, STATUS ) VALUES ( #{carObjid}::integer, #{carCode}, #{modelCode}, #{carName}, #{carDescription}, #{carGradeObjid}::integer, #{oemObjid}::integer, #{writer}, now(), #{carStatus} ) ON CONFLICT (OBJID) DO UPDATE SET CAR_NAME = #{carName}, CAR_CODE = #{carCode}, MODEL_CODE = #{modelCode}, DESCRIPTION = #{carDescription}, GRADE_OBJID = #{carGradeObjid}, OEM_OBJID = #{oemObjid}::integer, STATUS = #{carStatus} with upsert as ( UPDATE CAR_DISTRIBUTE_MEMBER SET IS_TFT_LEADER = 0 where CAR_OBJID = #{carObjId}::numeric AND MEMBER_USER_ID = #{targetUserId} ) INSERT INTO CAR_DISTRIBUTE_MEMBER( OBJID, CAR_OBJID, MEMBER_USER_ID, REGDATE, STATUS, IS_TFT_LEADER, IS_PROJ_LEADER ) select #{objId}::numeric, #{carObjId}::numeric, #{targetUserId}, now(), 'active', 0, 1 where not exists ( select * from CAR_DISTRIBUTE_MEMBER where CAR_OBJID = #{carObjId}::numeric AND MEMBER_USER_ID = #{targetUserId} ) UPDATE CAR_DISTRIBUTE_MEMBER SET IS_TFT_LEADER = 1, IS_PROJ_LEADER = 1 WHERE CAR_OBJID = #{carObjId}::integer UPDATE CAR_DISTRIBUTE_MEMBER SET IS_TFT_LEADER = 0 WHERE CAR_OBJID = #{carObjId} AND MEMBER_USER_ID = #{targetUserId} UPDATE CAR_DISTRIBUTE_MEMBER SET IS_PROJ_LEADER = 0 WHERE CAR_OBJID = #{carObjId} AND MEMBER_USER_ID = #{targetUserId} UPDATE CAR_MNG SET STATUS = #{actionType} WHERE OBJID = #{carObjid} MERGE INTO CAR_GRADE_MNG CG USING DUAL on (CG.OBJID = #{carGradeObjid}) WHEN MATCHED THEN UPDATE SET CG.GRADE_CODE = #{carGradeCode}, CG.GRADE_NAME = #{carGradeName}, CG.DESCRIPTION = #{carGradeDescription}, CG.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( CG.OBJID, CG.GRADE_CODE, CG.GRADE_NAME, CG.DESCRIPTION, CG.WRITER, CG.REGDATE, CG.STATUS ) VALUES ( #{carGradeObjid}, #{carGradeCode}, #{carGradeName}, #{carGradeDescription}, #{writer}, SYSDATE, #{status} ) UPDATE CAR_GRADE_MNG SET STATUS = #{actionType} WHERE OBJID = #{carGradeObjid} INSERT INTO CAR_MILESTONE_MNG ( OBJID, CAR_OBJID, MILESTONE_OBJID, MILESTONE_DATE, WRITER, REGDATE ) VALUES ( #{carMileObjId}::integer, #{carObjId}::integer, #{oemMileObjId}::integer, #{carMileDate}, #{writer}, now() ) ON CONFLICT (MILESTONE_OBJID,CAR_OBJID) DO UPDATE SET MILESTONE_DATE=#{carMileDate} DELETE FROM CAR_MILESTONE_MNG WHERE CAR_OBJID = #{search_carObjid} INSERT INTO CAR_DISTRIBUTE_MEMBER ( OBJID, CAR_OBJID, MEMBER_USER_ID, REGDATE, STATUS ) VALUES ( #{carDistributeObjid}::integer, #{carObjid}::integer, #{userId}, now(), #{status} ) ON CONFLICT (CAR_OBJID,MEMBER_USER_ID) DO UPDATE SET STATUS=#{status} ,REGDATE=now() DELETE CAR_DISTRIBUTE_MEMBER WHERE CAR_OBJID = #{carObjid} AND MEMBER_USER_ID = #{userId} DELETE FROM CAR_DISTRIBUTE_MEMBER WHERE CAR_OBJID = #{search_carObjid} DELETE FROM OEM_MILESTONE_MNG WHERE OBJID = ${targetObjId} INSERT INTO OEM_MILESTONE_MNG(OBJID, SEQ, OEM_OBJID, MILESTONE_NAME, WRITER, REGDATE, STATUS) VALUES ( ${objId}::integer , #{mSeq} , #{oemObjid}::integer , #{mName} , #{writer} , now() , #{mStatus} ) UPDATE OEM_MILESTONE_MNG SET SEQ = #{mSeq}, MILESTONE_NAME = #{mName}, STATUS = #{mStatus} WHERE OBJID = #{objId} MERGE INTO TEST_TYPE_MNG T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.TEST_TYPE_NAME = #{testTypeName}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.TEST_TYPE_NAME, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{testTypeName}, #{writer}, SYSDATE, #{status} ) UPDATE TEST_TYPE_MNG SET STATUS = #{status} WHERE OBJID = #{objId} UPDATE DEPT_INFO SET STATUS = #{status} WHERE DEPT_CODE = #{dept_code} INSERT INTO DEPT_INFO_HISTORY ( DEPT_CODE, OLD_DATA, NEW_DATA, REG_DATE ) VALUES ( #{dept_code}, (SELECT STATUS FROM DEPT_INFO WHERE DEPT_CODE = #{dept_code}), #{status}, now() ) INSERT INTO DEPT_INFO ( DEPT_CODE, DEPT_NAME, COMPANY_NAME, LOCATION_NAME, DATA_TYPE, REGDATE, STATUS ) VALUES ( #{deptCode}, #{deptName}, #{companyName}, #{locationName}, 'etc', now(), #{status} ) ON CONFLICT (DEPT_CODE) DO UPDATE SET DEPT_NAME = #{deptName}, COMPANY_NAME = #{companyName}, LOCATION_NAME = #{locationName}, STATUS = #{status} INSERT INTO DEPT_INFO_HISTORY ( OBJID, PARENT_NAME, PARENT_CODE, COMPANY_NAME, ACTIVE, HISTORY_TYPE, WRITER, REG_DATE ) VALUES ( #{OBJID}::numeric, #{deptName}, #{deptCode}, #{companyName}, #{status}, #{HISTORY_TYPE}, #{WRITER}, NOW() ) UPDATE USER_INFO SET STATUS = #{status} ,END_DATE = now() ,END_DATE = null WHERE USER_ID = #{user_id} INSERT INTO USER_INFO_HISTORY ( USER_ID, OLD_DATA, NEW_DATA, REG_DATE ) VALUES ( #{user_id}, (SELECT STATUS FROM USER_INFO WHERE USER_ID = #{user_id}), #{status}, now() ) INSERT INTO USER_INFO ( USER_ID , SABUN , USER_PASSWORD , USER_NAME , DEPT_CODE , DEPT_NAME , EMAIL , TEL , CELL_PHONE , USER_TYPE_NAME , REGDATE , STATUS , FAX_NO , POSITION_NAME , RANK , PARTNER_OBJID ) VALUES ( #{userId} , #{sabun} , #{password} , #{userName} , #{deptCode} , (SELECT DEPT_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}) , #{email} , #{tel} , #{cellPhone} , (SELECT LOCATION_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}) , now() , #{status} , #{fax_no} , #{position_name} , #{rank} , #{partner_objid} ) ON CONFLICT (USER_ID) DO UPDATE SET EMAIL = #{email} , USER_NAME = #{userName} , DEPT_CODE = #{deptCode} , DEPT_NAME = (SELECT DEPT_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}) , USER_PASSWORD = #{password} , USER_TYPE_NAME = (SELECT LOCATION_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}) , SABUN = #{sabun} , STATUS = #{status} ,END_DATE = now() ,END_DATE = null , TEL = #{tel} , CELL_PHONE = #{cellPhone} , FAX_NO = #{fax_no} , POSITION_NAME = #{position_name} , RANK = #{rank} , PARTNER_OBJID = #{partner_objid} INSERT INTO USER_INFO_HISTORY ( sabun, user_id, user_name, dept_code, dept_name, user_type_name, history_type, writer, regdate, status ) VALUES ( #{sabun}, #{userId}, #{userName}, #{deptCode}, (SELECT DEPT_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}), (SELECT LOCATION_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}), #{history_type}, #{writer}, NOW(), #{status} ) UPDATE ATTACH_FILE_INFO SET REGDATE = TO_DATE(#{date}, 'yyyy-mm-dd') WHERE OBJID = #{objId} MERGE INTO TAKE_OVER_PIC_MNG USING DUAL ON ( PRODUCING_COMPANY = #{producingCompany}) WHEN MATCHED THEN UPDATE SET USER_ID = #{userId} WHEN NOT MATCHED THEN INSERT ( PRODUCING_COMPANY , USER_ID , REGDATE ) VALUES ( #{producingCompany} , #{userId} , SYSDATE ) MERGE INTO OEM_FACTORY_MNG T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.FACTORY_NAME = #{factoryName}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.FACTORY_NAME, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{factoryName}, #{writer}, SYSDATE, #{status} ) UPDATE OEM_FACTORY_MNG SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO LINE_INSTL_AREA_MNG T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.AREA_NAME = #{lineAreaName}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.AREA_NAME, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{lineAreaName}, #{writer}, SYSDATE, #{status} ) UPDATE LINE_INSTL_AREA_MNG SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO DFMEA_CATEGORY_GROUP T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.TARGET_OBJID = #{prodObjId}, T.CATEGORY_GROUP_NAME = #{categoryGroupName}, T.DESCRIPTION = #{categoryGroupDescription}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.TARGET_OBJID, T.CATEGORY_GROUP_NAME, T.DESCRIPTION, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{prodObjId}, #{categoryGroupName}, #{categoryGroupDescription}, #{writer}, SYSDATE, #{status} ) UPDATE DFMEA_CATEGORY_GROUP SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO DFMEA_CATEGORY T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.CATEGORY_NAME = #{categoryName}, T.CATEGORY_GROUP_OBJID = #{categoryGroupObjId}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.CATEGORY_GROUP_OBJID, T.CATEGORY_NAME, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{categoryGroupObjId}, #{categoryName}, #{writer}, SYSDATE, #{status} ) UPDATE DFMEA_CATEGORY SET STATUS = #{status} WHERE OBJID = #{objId} DELETE FROM USER_INFO WHERE USER_ID = #{userId} MERGE INTO DFMEA_CATEGORY_ATTRIBUTE T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.ATTRIBUTE_NAME = #{attributeName}, T.POTENTIAL_IMPACT = #{potentialImpact}, T.POTENTIAL_CAUSE = #{potentialCause}, T.CURRENT_DESIGN_MANAGE_PREVENT = #{currentPrevent}, T.CURRENT_DESIGN_MANAGE_DETECT = #{currentDetect}, T.RECOMMEND_OPTION = #{recommendOption}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.CATEGORY_OBJID, T.ATTRIBUTE_NAME, T.POTENTIAL_IMPACT, T.POTENTIAL_CAUSE, T.CURRENT_DESIGN_MANAGE_PREVENT, T.CURRENT_DESIGN_MANAGE_DETECT, T.RECOMMEND_OPTION, T.WRITER, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{categoryObjId}, #{attributeName}, #{potentialImpact}, #{potentialCause}, #{currentPrevent}, #{currentDetect}, #{recommendOption}, #{writer}, SYSDATE, #{status} ) UPDATE DFMEA_CATEGORY_ATTRIBUTE SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO DESIGN_CHECK_LIST_GROUP T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.TARGET_OBJID = #{prodObjId}, T.GROUP_NAME = #{groupName}, T.SEQ = #{seqNum}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.TARGET_OBJID, T.GROUP_NAME, T.WRITER, T.SEQ, T.REGDATE, T.STATUS ) VALUES ( #{objId}, #{prodObjId}, #{groupName}, #{writer}, #{seqNum}, SYSDATE, #{status} ) UPDATE DESIGN_CHECK_LIST_GROUP SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO DESIGN_CHECK_LIST_CATEGORY T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.PRODUCT_OBJID = #{prodObjId}, T.GROUP_OBJID = #{groupObjId}, T.CATEGORY_NAME = #{categoryName}, T.SEQ = #{seqNum}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.PRODUCT_OBJID, T.GROUP_OBJID, T.CATEGORY_NAME, T.WRITER, T.REGDATE, T.SEQ, T.STATUS ) VALUES ( #{objId}, #{prodObjId}, #{groupObjId}, #{categoryName}, #{writer}, SYSDATE, #{seqNum}, #{status} ) UPDATE DESIGN_CHECK_LIST_CATEGORY SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO DESIGN_CHECK_LIST_ATTRIBUTE T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.PRODUCT_OBJID = #{prodObjId}, T.CATEGORY_OBJID = #{categoryObjId}, T.ATTRIBUTE_NAME = #{attributeName}, T.CHECK_OPTION = #{checkOption}, T.CHECK_BASE = #{checkBase}, T.SEQ = #{seqNum}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.PRODUCT_OBJID, T.CATEGORY_OBJID, T.ATTRIBUTE_NAME, T.CHECK_OPTION, T.CHECK_BASE, T.WRITER, T.REGDATE, T.SEQ, T.STATUS ) VALUES ( #{objId}, #{prodObjId}, #{categoryObjId}, #{attributeName}, #{checkOption}, #{checkBase}, #{writer}, SYSDATE, #{seqNum}, #{status} ) UPDATE DESIGN_CHECK_LIST_ATTRIBUTE SET STATUS = #{status} WHERE OBJID = #{objId} MERGE INTO PMS_TRANSLATE_DOC_MNG T USING DUAL ON ( T.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET T.DOC_TITLE = #{docTitle}, T.DOC_TYPE = #{docType}, T.TRANSLATE_TYPE = #{translateType}, T.HAND_OVER_DEPT = #{deptId}, T.IS_PRODUCTION = #{isProduction}, T.IS_PRODUCT_MNG = #{isProductMng}, T.IS_INTEGRITY = #{isIntegrity}, T.IS_COMPONENT_BUY = #{isComponentBuy}, T.IS_PRODUCT_QUALITY = #{isProductQuality}, T.SEQ = #{seq}, T.STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( T.OBJID, T.DOC_TITLE, T.DOC_TYPE, T.TRANSLATE_TYPE, T.HAND_OVER_DEPT, T.IS_PRODUCTION, T.IS_PRODUCT_MNG, T.IS_INTEGRITY, T.IS_COMPONENT_BUY, T.IS_PRODUCT_QUALITY, T.SEQ, T.REGDATE, T.STATUS, T.WRITER ) VALUES ( #{objId}, #{docTitle}, #{docType}, #{translateType}, #{deptId}, #{isProduction}, #{isProductMng}, #{isIntegrity}, #{isComponentBuy}, #{isProductQuality}, #{seq}, SYSDATE, #{status}, #{writer} ) UPDATE PMS_TRANSLATE_DOC_MNG SET STATUS = #{status} WHERE OBJID = #{objId} DELETE FROM profit_loss_srrate INSERT INTO PROFIT_LOSS_SRRATE ( AREA ,FROM_VALUE ,TO_VALUE ,SR_RATE) VALUES ( #{area} ,#{from_value}::numeric ,#{to_value}::numeric ,#{sr_rate}::numeric ) DELETE FROM profit_loss_lossrate INSERT INTO profit_loss_lossrate ( AREA ,DIVISION ,FROM_VALUE ,TO_VALUE ,LOSSRATE) VALUES ( #{area} ,#{division} ,#{from_value}::numeric ,#{to_value}::numeric ,#{lossrate}::numeric ) DELETE FROM profit_loss_machine INSERT INTO PROFIT_LOSS_MACHINE ( AREA ,FROM_VALUE ,TO_VALUE ,SECOND) VALUES ( #{area} ,#{from_value}::numeric ,#{to_value}::numeric ,#{second}::numeric ) DELETE FROM profit_loss_coolingtime INSERT INTO PROFIT_LOSS_COOLINGTIME ( AREA ,MATERIAL ,SECOND ) VALUES ( #{area} ,#{material} ,#{second}::numeric ) DELETE FROM profit_loss_depth INSERT INTO PROFIT_LOSS_DEPTH ( AREA ,FROM_VALUE ,TO_VALUE ,COEFFICIENT) VALUES ( #{area} ,#{from_value}::numeric ,#{to_value}::numeric ,#{coefficient}::numeric ) DELETE FROM profit_loss_coefficient INSERT INTO PROFIT_LOSS_COEFFICIENT ( AREA ,FROM_VALUE ,TO_VALUE ,COEFFICIENT) VALUES ( #{area} ,#{from_value}::numeric ,#{to_value}::numeric ,#{coefficient}::numeric ) DELETE FROM profit_loss_weight INSERT INTO PROFIT_LOSS_WEIGHT ( AREA ,FROM_VALUE ,TO_VALUE ,THICKNESS) VALUES ( #{area} ,#{from_value}::numeric ,#{to_value}::numeric ,#{thickness}::numeric ) DELETE FROM profit_loss_pretime INSERT INTO PROFIT_LOSS_PRETIME ( AREA ,FROM_VALUE ,TO_VALUE ,PERSON ,PRETIME) VALUES ( #{area} ,#{from_value}::numeric ,#{to_value}::numeric ,#{person}::numeric ,#{pretime}::numeric ) INSERT INTO TEMPLATE_MNG ( OBJID ,TEMPLATE_CODE ,CONTENTS ,REG_DATE ,STATUS ,TEMPLATE_CODE_DETAIL ) VALUES ( #{objid}::numeric ,#{template_code} ,#{contents} ,now() ,#{status} ,#{template_code_detail} ) ON CONFLICT (OBJID) DO UPDATE SET TEMPLATE_CODE = #{template_code} ,CONTENTS = #{contents} ,STATUS = #{status} ,TEMPLATE_CODE_DETAIL = #{template_code_detail} DELETE FROM TEMPLATE_MNG WHERE OBJID = #{objId}::NUMERIC UPDATE TEMPLATE_MNG SET STATUS = #{status} WHERE OBJID = #{objid}::numeric INSERT INTO SUPPLY_CHARGER_MNG ( OBJID, CHARGER_TYPE, SUPPLY_OBJID, CHARGER_NAME, PHONE, TEL, FAX, EMAIL, WRITER, REGDATE ) VALUES ( #{OBJID}, #{CHARGER_TYPE}, #{SUPPLY_OBJID}, #{CHARGER_NAME}, #{PHONE}, #{TEL}, #{FAX}, #{EMAIL}, #{WRITER}, NOW() ) ON CONFLICT (OBJID) DO UPDATE SET CHARGER_TYPE = #{CHARGER_TYPE}, SUPPLY_OBJID = #{SUPPLY_OBJID}, CHARGER_NAME = #{CHARGER_NAME}, PHONE = #{PHONE}, TEL = #{TEL}, FAX = #{FAX}, EMAIL = #{EMAIL}, WRITER = #{WRITER} DELETE FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID = #{objid} DELETE FROM ADMIN_SUPPLY_MNG WHERE OBJID = #{objId}::NUMERIC DELETE FROM USER_INFO WHERE USER_ID = #{objId} MERGE INTO COMM_MANAGEMENT_GUIDE T USING (SELECT #{YYYY_Q} AS YYYY_Q ) AS T1 ON T.YYYY_Q = T1.YYYY_Q WHEN MATCHED THEN UPDATE SET EDITDATE = NOW() ,EDITER = #{WRITER} ,CONTENTS = #{CONTENTS} WHEN NOT MATCHED THEN INSERT ( YYYY_Q ,REGDATE ,EDITDATE ,WRITER ,EDITER ,CONTENTS ) VALUES ( #{YYYY_Q} ,NOW() ,NULL ,#{WRITER} ,NULL ,#{CONTENTS} ) DELETE FROM COMM_MANAGEMENT_GUIDE WHERE YYYY_Q = #{YYYY_Q} WITH UPSERT AS ( UPDATE COMM_EXCHANGE_RATE SET EDITDATE = NOW() ,EDITER = #{WRITER} ,COST_USD = #{COST_USD} ,COST_EU = #{COST_EU} ,COST_JAPAN = #{COST_JAPAN} ,COST_CHINA = #{COST_CHINA} ,COST_VIETNAM = #{COST_VIETNAM} ,COST_RUB = #{COST_RUB} ,COST_INR = #{COST_INR} WHERE YYYY_MM = #{YYYY_MM} ) INSERT INTO COMM_EXCHANGE_RATE ( YYYY_MM ,REGDATE ,EDITDATE ,WRITER ,EDITER ,COST_USD ,COST_EU ,COST_JAPAN ,COST_CHINA ,COST_VIETNAM ,COST_RUB ,COST_INR ) SELECT #{YYYY_MM} ,NOW() ,NULL ,#{WRITER} ,NULL ,#{COST_USD} ,#{COST_EU} ,#{COST_JAPAN} ,#{COST_CHINA} ,#{COST_VIETNAM} ,#{COST_RUB} ,#{COST_INR} WHERE NOT EXISTS ( SELECT * FROM COMM_EXCHANGE_RATE WHERE YYYY_MM = #{YYYY_MM} ) WITH UPSERT AS ( UPDATE COMM_EXCHANGE_RATE SET EDITDATE = NOW() ,API_DATE = NOW() ,EDITER = #{WRITER} ,COST_USD = #{USD} ,COST_EU = #{EUR} ,COST_JAPAN = #{JPY} ,COST_CHINA = #{CNH} ,COST_VIETNAM = #{VTN} ,COST_RUB = #{RUB} ,COST_INR = #{INR} ,COST_THB = #{THB} ,COST_HKD = #{HKD} WHERE YYYY_MM = #{YYYY_MM} AND YYYY_MM_DD = #{YYYY_MM_DD} ) INSERT INTO COMM_EXCHANGE_RATE ( YYYY_MM ,YYYY_MM_DD ,REGDATE ,EDITDATE ,API_DATE ,WRITER ,EDITER ,COST_USD ,COST_EU ,COST_JAPAN ,COST_CHINA ,COST_VIETNAM ,COST_RUB ,COST_INR ,COST_THB ,COST_HKD ) SELECT #{YYYY_MM} ,#{YYYY_MM_DD} ,NOW() ,NULL ,NOW() ,#{WRITER} ,NULL ,#{USD} ,#{EUR} ,#{JPY} ,#{CNH} ,#{VTN} ,#{RUB} ,#{INR} ,#{THB} ,#{HKD} WHERE NOT EXISTS ( SELECT * FROM COMM_EXCHANGE_RATE WHERE YYYY_MM = #{YYYY_MM} AND YYYY_MM_DD = #{YYYY_MM_DD} ) DELETE FROM COMM_EXCHANGE_RATE WHERE YYYY_MM = #{YYYY_MM} AND NATION_CODE = #{NATION_CODE} UPDATE USER_INFO SET USER_PASSWORD = #{USER_PWD} WHERE USER_ID = #{USER_ID}