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}
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}