CREATE TABLE IF NOT EXISTS COMPANY_CODE_SEQUENCE ( sequence_name VARCHAR(50) PRIMARY KEY, current_value INTEGER NOT NULL DEFAULT 0 ) INSERT INTO COMPANY_MNG ( COMPANY_CODE, COMPANY_NAME, WRITER, REGDATE, STATUS ) VALUES ( #{COMPANY_CODE}, #{COMPANY_NAME}, #{WRITER}, now(), #{STATUS} ) UPDATE COMPANY_MNG SET COMPANY_NAME = #{COMPANY_NAME}, STATUS = #{STATUS} WHERE COMPANY_CODE = #{COMPANY_CODE} DELETE FROM COMPANY_MNG WHERE COMPANY_CODE = #{COMPANY_CODE} 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, COMPANY_CODE, LANG_KEY ) VALUES ( #{OBJID}::numeric, #{MENU_TYPE}::numeric, #{SYSTEM_NAME}, #{PARENT_OBJ_ID}::numeric, #{MENU_NAME_KOR}, #{MENU_NAME_ENG}, COALESCE(#{SEQ}::numeric, 1), #{MENU_URL}, #{MENU_DESC}, #{WRITER}, now(), #{STATUS}, #{COMPANY_CODE}, #{LANG_KEY} ) 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}, COMPANY_CODE = #{COMPANY_CODE}, LANG_KEY = #{LANG_KEY} WHERE OBJID = #{OBJID}::numeric DELETE FROM MENU_INFO WHERE OBJID = #{OBJID}::numeric WITH RECURSIVE menu_tree AS ( -- 시작 메뉴 SELECT OBJID, PARENT_OBJ_ID, MENU_NAME_KOR FROM MENU_INFO WHERE OBJID = #{OBJID}::numeric UNION ALL -- 하위 메뉴들 SELECT m.OBJID, m.PARENT_OBJ_ID, m.MENU_NAME_KOR FROM MENU_INFO m JOIN menu_tree mt ON m.PARENT_OBJ_ID = mt.OBJID ) DELETE FROM MENU_INFO WHERE OBJID IN (SELECT OBJID FROM menu_tree) UPDATE MENU_INFO SET STATUS = #{status} 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 = #{MASTER_OBJID}::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}, #{MASTEROBJID}, (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}, NOW(), #{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}, NOW(), #{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 FROM OEM_MILESTONE_MNG WHERE OEM_OBJID = #{OEM_OBJID} UPDATE OEM_MNG SET STATUS = #{STATUS} WHERE OBJID = #{OEM_OBJID} DELETE FROM OEM_MNG WHERE OBJID = #{OEM_OBJID} DELETE FROM OEM_MILESTONE_MNG WHERE OEM_OBJID = #{OEM_OBJID} DELETE FROM CAR_MNG WHERE OBJID = #{CAR_OBJID} DELETE FROM PRODUCT_GROUP_MNG WHERE OBJID = #{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}, NOW(), #{status} ) UPDATE MATERIAL_MNG SET STATUS = #{actionType} WHERE OBJID = #{materialObjid} MERGE INTO OPTION_SPEC_MNG M USING (SELECT #{optionObjid} AS OBJID) AS T1 ON M.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET OPTION_NAME = #{optionName}, DESCRIPTION = #{optionDescription}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, OPTION_NAME, DESCRIPTION, WRITER, REGDATE, STATUS ) VALUES ( #{optionObjid}, #{optionName}, #{optionDescription}, #{writer}, NOW(), #{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}, #{categoryType}, #{categoryDocName}, #{categoryName}, #{categorySeq}::numeric, #{writer}, now(), #{status}, #{car}, #{product}, #{revision}, #{changeFlag}, #{compatitionCar}, #{productGroup}, #{specInputType} ) ON CONFLICT (OBJID) DO UPDATE SET parent_objid = #{parentObjid}, 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} MERGE INTO COMM_CODE T USING (SELECT #{objid} AS OBJID) AS T1 ON T.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET CODE_NAME = #{codeName}, EXT_VAL = #{ext_val}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, CODE_ID, PARENT_CODE_ID, CODE_NAME, ID, CODE_CD, EXT_VAL, WRITER, REGDATE, STATUS ) VALUES ( #{objid}, #{objid}, #{parentCodeId}, #{codeName}, #{id}, #{code_cd}, #{ext_val}, #{writer}, now(), #{status} ) MERGE INTO PART_COMM_CODE T USING (SELECT #{objid} AS OBJID) AS T1 ON T.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET CODE_NAME = #{codeName}, EXT_VAL = #{ext_val}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, CODE_ID, PARENT_CODE_ID, CODE_NAME, ID, CODE_CD, EXT_VAL, WRITER, REGDATE, STATUS ) VALUES ( #{objid}, #{objid}, #{parentCodeId}, #{codeName}, #{id}, #{code_cd}, #{ext_val}, #{writer}, now(), #{status} ) INSERT INTO COMM_CODE_HISTORY SELECT #{objid}, #{targetObjid}, CODE_ID, PARENT_CODE_ID, CODE_NAME, ID, CODE_CD, EXT_VAL, #{writer}, NOW(), STATUS FROM COMM_CODE WHERE OBJID = #{targetObjid} DELETE FROM STANDARD_DOC_CATEGORY WHERE OBJID = #{OBJID} UPDATE STANDARD_DOC_CATEGORY SET STATUS = #{STATUS} WHERE OBJID = #{OBJID} UPDATE COMM_CODE SET STATUS = #{STATUS} WHERE OBJID = #{OBJID} 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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{status} ) UPDATE APPLY_POINT_MNG SET STATUS = #{actionType} WHERE OBJID = #{applyPointObjid} MERGE INTO PRODUCT_GROUP_MNG T USING (SELECT #{productGroupObjid} AS OBJID) AS T1 ON T.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET PRODUCT_GROUP_CODE = #{productGroupCode}, PRODUCT_GROUP_NAME = #{productGroupName}, DESCRIPTION = #{productGroupDescription}, STATUS = #{status}, OPERATION_DIVISION_CODE = #{operation_division_code} WHEN NOT MATCHED THEN INSERT ( OBJID, PRODUCT_GROUP_CODE, PRODUCT_GROUP_NAME, DESCRIPTION, WRITER, REGDATE, STATUS, OPERATION_DIVISION_CODE ) VALUES ( #{productGroupObjid}, #{productGroupCode}, #{productGroupName}, #{productGroupDescription}, #{writer}, NOW(), #{status}, #{operation_division_code} ) UPDATE PRODUCT_GROUP_MNG SET STATUS = #{actionType} WHERE OBJID = #{productGroupObjid} MERGE INTO PRODUCT_MID_MNG AS P USING (SELECT #{productMidObjid} AS OBJID) AS T1 ON P.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET PRODUCT_GROUP_OBJID = #{productGroupObjid}, PRODUCT_CODE = #{productMidCode}, PRODUCT_NAME = #{productMidName}, PRODUCT_DESC = #{productMidDescription}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, PRODUCT_GROUP_OBJID, PRODUCT_CODE, PRODUCT_NAME, PRODUCT_DESC, WRITER, REGDATE, STATUS ) VALUES ( #{productMidObjid}, #{productGroupObjid}, #{productMidCode}, #{productMidName}, #{productMidDescription}, #{writer}, NOW(), #{status} ) UPDATE PRODUCT_MID_MNG SET STATUS = #{actionType} WHERE OBJID = #{productMidObjid} MERGE INTO PRODUCT_MNG AS P USING (SELECT #{productObjid} AS OBJID) AS T1 ON P.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET PRODUCT_GROUP_OBJID = #{productGroupObjid}, PRODUCT_CODE = #{productCode}, PRODUCT_NAME = #{productName}, PRODUCT_DESC = #{productDescription}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, PRODUCT_GROUP_OBJID, PRODUCT_CODE, PRODUCT_NAME, PRODUCT_DESC, WRITER, REGDATE, STATUS ) VALUES ( #{productObjid}, #{productGroupObjid}, #{productCode}, #{productName}, #{productDescription}, #{writer}, NOW(), #{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}, #{carCode}, #{modelCode}, #{carName}, #{carDescription}, #{carGradeObjid}, #{oemObjid}, #{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}, STATUS = #{carStatus} with upsert as ( UPDATE CAR_DISTRIBUTE_MEMBER SET IS_TFT_LEADER = 0 where CAR_OBJID = #{carObjId} 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} AND MEMBER_USER_ID = #{targetUserId} ) UPDATE CAR_DISTRIBUTE_MEMBER SET IS_TFT_LEADER = 1, IS_PROJ_LEADER = 1 WHERE CAR_OBJID = #{carObjId} 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 (SELECT #{carGradeObjid} AS OBJID) AS T1 on (CG.OBJID = t1.OBJID) WHEN MATCHED THEN UPDATE SET GRADE_CODE = #{carGradeCode}, GRADE_NAME = #{carGradeName}, DESCRIPTION = #{carGradeDescription}, STATUS = #{status} WHEN NOT MATCHED THEN INSERT ( OBJID, GRADE_CODE, GRADE_NAME, DESCRIPTION, WRITER, REGDATE, STATUS ) VALUES ( #{carGradeObjid}, #{carGradeCode}, #{carGradeName}, #{carGradeDescription}, #{writer}, NOW(), #{status} ) UPDATE CAR_GRADE_MNG SET STATUS = #{actionType} WHERE OBJID = #{carGradeObjid} MERGE INTO CAR_MILESTONE_MNG AS CM USING (SELECT #{oemMileObjId} MILESTONE_OBJID, #{carObjId} CAR_OBJID) AS T1 ON CM.MILESTONE_OBJID = T1.MILESTONE_OBJID AND CM.CAR_OBJID = T1.CAR_OBJID WHEN MATCHED THEN UPDATE SET MILESTONE_DATE = #{carMileDate}, MILESTONE_DATE1 = #{carMileDate1}, MILESTONE_DATE2 = #{carMileDate2}, MILESTONE_GATE = #{carMileGate}, MILESTONE_NAME = #{MILENAME} WHEN NOT MATCHED THEN INSERT ( OBJID, CAR_OBJID, MILESTONE_OBJID, MILESTONE_DATE, MILESTONE_DATE1, MILESTONE_DATE2, MILESTONE_GATE, WRITER, REGDATE, MILESTONE_NAME ) VALUES ( #{carMileObjId}, #{carObjId}, #{oemMileObjId}, #{carMileDate}, #{carMileDate1}, #{carMileDate2}, #{carMileGate}, #{writer}, NOW(), #{MILENAME} ) DELETE FROM CAR_MILESTONE_MNG WHERE MILESTONE_OBJID = #{MILESTONE_OBJID} AND CAR_OBJID = #{CAR_OBJID} 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 FROM 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} , #{mSeq} , #{OBJID} , #{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}, NOW(), #{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() ) MERGE INTO DEPT_INFO T USING (SELECT #{objId} AS OBJID) AS T1 ON T.OBJID = T1.OBJID WHEN MATCHED THEN UPDATE SET DEPT_NAME = #{deptName}, DEPT_CODE = #{deptCode}, LOCATION_NAME = #{locationName}, HQ_NAME = #{hq_Name} WHEN NOT MATCHED THEN INSERT ( OBJID, DEPT_CODE, DEPT_NAME, LOCATION_NAME, HQ_NAME, REGDATE ) VALUES ( #{objId}, #{deptCode}, #{deptName}, #{locationName}, #{hq_Name}, NOW() ) INSERT INTO DEPT_INFO_HISTORY ( OBJID, PARENT_NAME, PARENT_CODE, ACTIVE, HISTORY_TYPE, WRITER, REG_DATE ) VALUES ( #{OBJID}, #{deptName}, #{deptCode}, #{status}, #{HISTORY_TYPE}, #{WRITER}, NOW() ) UPDATE USER_INFO SET STATUS = #{status} ,END_DATE = now() ,END_DATE = null WHERE USER_ID = #{user_id} UPDATE USER_INFO SET user_password = #{USER_PWD} 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() ) MERGE INTO USER_INFO T USING (SELECT #{userId} AS USER_ID) AS T1 ON T.USER_ID = T1.USER_ID WHEN MATCHED THEN UPDATE SET USER_NAME = #{userName} , DEPT_CODE = #{deptCode} , DEPT_NAME = (SELECT DEPT_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}) , EMAIL = #{email} , USER_PASSWORD = #{password} , USER_TYPE_NAME = (SELECT LOCATION_NAME FROM DEPT_INFO WHERE DEPT_CODE = #{deptCode}) , SABUN = #{sabun} , COMPANY_CODE = #{companyCode} , STATUS = #{status} ,END_DATE = now() ,END_DATE = null , TEL = #{tel} , CELL_PHONE = #{cellPhone} , LOCALE = #{locale} , POSITION_NAME = #{position_name} , RANK = #{rank} , PHOTO = #{photo}::bytea WHEN NOT MATCHED THEN INSERT ( USER_ID , SABUN , USER_PASSWORD , USER_NAME , DEPT_CODE , DEPT_NAME , EMAIL , TEL , CELL_PHONE , USER_TYPE_NAME , REGDATE , STATUS , RANK , POSITION_NAME , PHOTO , LOCALE , COMPANY_CODE ) 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} , #{position_name} , #{rank} , #{photo}::bytea , #{locale} , #{companyCode} ) 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} , NOW() ) 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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{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}, NOW(), #{status}, #{writer} ) UPDATE PMS_TRANSLATE_DOC_MNG SET STATUS = #{status} WHERE OBJID = #{objId} DELETE FROM COMM_CODE C WHERE 1=1 AND(C.CODE_ID = #{OBJID} OR C.PARENT_CODE_ID = #{OBJID}) DELETE FROM PART_COMM_CODE C WHERE 1=1 AND(C.CODE_ID = #{OBJID} OR C.PARENT_CODE_ID = #{OBJID}) 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} 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} MERGE INTO COMM_EXCHANGE_RATE T USING (SELECT #{YYYY_MM} AS YYYY_MM ) AS T1 ON T.YYYY_MM = T1.YYYY_MM WHEN MATCHED THEN UPDATE 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} WHEN NOT MATCHED THEN INSERT ( YYYY_MM ,REGDATE ,EDITDATE ,WRITER ,EDITER ,COST_USD ,COST_EU ,COST_JAPAN ,COST_CHINA ,COST_VIETNAM ,COST_RUB ,COST_INR ) VALUES ( #{YYYY_MM} ,NOW() ,NULL ,#{WRITER} ,NULL ,#{COST_USD} ,#{COST_EU} ,#{COST_JAPAN} ,#{COST_CHINA} ,#{COST_VIETNAM} ,#{COST_RUB} ,#{COST_INR} ) DELETE FROM COMM_EXCHANGE_RATE WHERE YYYY_MM = #{YYYY_MM} AND NATION_CODE = #{NATION_CODE} INSERT INTO USER_INFO ( USER_ID, SABUN, USER_PASSWORD, USER_NAME, DEPT_CODE, DEPT_NAME, EMAIL, TEL, CELL_PHONE, USER_TYPE_NAME, REGDATE, STATUS, RANK, POSITION_NAME, PHOTO, LOCALE, COMPANY_CODE ) 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(), COALESCE(#{status}, 'active'), #{positionName}, #{positionName}, #{photo}::bytea, COALESCE(#{locale}, 'ko'), #{companyCode} )