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}
INSERT INTO SUPPLY_CHARGER_MNG
(
OBJID,
CHARGER_TYPE,
SUPPLY_OBJID,
CHARGER_NAME,
PHONE,
TEL,
FAX,
EMAIL,
WRITER,
REGDATE
)
VALUES
(
#{OBJID}::INTEGER,
#{CHARGER_TYPE},
#{CLIENT_OBJID},
#{CHARGER_NAME},
#{PHONE},
#{TEL},
#{FAX},
#{EMAIL},
#{WRITER},
NOW()
)
DELETE FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = #{objid}::VARCHAR
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}
INSERT INTO WAREHOUSE_LOCATION
(
OBJID,
LOCATION_CODE,
LOCATION_NAME,
LOCATION_DESCRIPTION,
OUT_CODE,
OUT_CO_NAME,
FIT_STATUS,
AVAILABLE_STATUS,
USE_STATUS,
BASE_LOC_CD,
CO_CD,
LOC_NMK,
INSERT_ID,
INSERT_IP,
INSERT_DT,
MODIFY_ID,
MODIFY_IP,
MODIFY_DT,
ATTR_NMK,
WRITER,
REGDATE,
STATUS
)
VALUES
(
#{objid}::numeric,
#{location_code},
#{location_name},
#{location_description},
#{out_code},
#{out_co_name},
#{fit_status},
#{available_status},
COALESCE(#{use_status}, 'Y'),
#{base_loc_cd},
#{co_cd},
#{loc_nmk},
#{insert_id},
#{insert_ip},
CASE WHEN #{insert_dt} = '' THEN NOW() ELSE COALESCE(#{insert_dt}::timestamp, NOW()) END,
#{modify_id},
#{modify_ip},
CASE WHEN #{modify_dt} = '' THEN NULL ELSE #{modify_dt}::timestamp END,
#{attr_nmk},
#{writer},
NOW(),
COALESCE(#{status}, 'ACTIVE')
)
ON CONFLICT (OBJID) DO UPDATE
SET
LOCATION_CODE = #{location_code},
LOCATION_NAME = #{location_name},
LOCATION_DESCRIPTION = #{location_description},
OUT_CODE = #{out_code},
OUT_CO_NAME = #{out_co_name},
FIT_STATUS = #{fit_status},
AVAILABLE_STATUS = #{available_status},
USE_STATUS = #{use_status},
BASE_LOC_CD = #{base_loc_cd},
CO_CD = #{co_cd},
LOC_NMK = #{loc_nmk},
MODIFY_ID = #{modify_id},
MODIFY_IP = #{modify_ip},
MODIFY_DT = CASE WHEN #{modify_dt} = '' THEN NOW() ELSE COALESCE(#{modify_dt}::timestamp, NOW()) END,
ATTR_NMK = #{attr_nmk},
STATUS = #{status}
INSERT INTO WAREHOUSE_LOCATION_HISTORY
SELECT
#{objid}::numeric,
#{targetObjid}::numeric,
LOCATION_CODE,
LOCATION_NAME,
LOCATION_DESCRIPTION,
OUT_CODE,
OUT_CO_NAME,
FIT_STATUS,
AVAILABLE_STATUS,
USE_STATUS,
BASE_LOC_CD,
CO_CD,
LOC_NMK,
INSERT_ID,
INSERT_IP,
INSERT_DT,
MODIFY_ID,
MODIFY_IP,
MODIFY_DT,
ATTR_NMK,
#{writer},
NOW(),
STATUS
FROM
WAREHOUSE_LOCATION
WHERE
OBJID = #{targetObjid}::numeric
DELETE FROM
WAREHOUSE_LOCATION
WHERE
OBJID = #{OBJID}::numeric
INSERT INTO CLIENT_MNG (
OBJID, COMP_CODE, CLIENT_CD, CLIENT_NM, TR_NMK, CLIENT_NMK, ATTR_NMK, CLIENT_TYPE,
BUS_REG_NO, RESIDENT_NO, CEO_NM, CEO_NMK, BUS_TYPE, BUS_ITEM,
POST_NO, ADDR1, ADDR2, ADDR_FG, TEL_NO, FAX_NO, HOMEPAGE, EMAIL, LIQ_RS, TR_FG,
COUNTRY_NM, CLASS_CD, CLASS_NM, GRADE_CD, GRADE_NM,
COLLECT_CLIENT_CD, COLLECT_CLIENT_NM, REGION_CD, REGION_NM,
TRADE_START_DT, TRADE_END_DT, USE_YN,
CONTRACT_START_DT, CONTRACT_END_DT, TRADE_TYPE,
DISCOUNT_RATE, CONTRACT_AMT, MONTHLY_FEE, PAYMENT_TERM, RCP_TP,
CREDIT_LIMIT, LIMIT_RETURN_DAY,
PUR_BANK_CD, PUR_BANK_NM, PUR_BRANCH_NM, PUR_ACCOUNT_NO,
PUR_ACCOUNT_HOLDER, PUR_PAY_PLAN, PUR_SLIP_TYPE, PUR_TAX_TYPE,
SALE_BANK_CD, SALE_BANK_NM, SALE_BRANCH_NM, SALE_ACCOUNT_NO,
SALE_COLLECT_PLAN, SALE_SLIP_TYPE, SALE_TAX_TYPE,
VENDOR_DEPT_NM, VENDOR_POSITION, VENDOR_DUTY, VENDOR_MANAGER_NM,
VENDOR_TEL, VENDOR_EXT, VENDOR_MOBILE, VENDOR_EMAIL,
MGR_DEPT_CD, MGR_DEPT_NM, MGR_POSITION, MGR_DUTY,
MGR_EMP_CD, MGR_EMP_NM, MGR_TEL, MGR_EXT, MGR_MOBILE, MGR_EMAIL, MGR_REMARK,
REC_REMARK, REC_POST_NO, REC_ADDR1, REC_ADDR2, REC_ADDR_FG, REC_TEL, REC_FAX,
PROJECT_CD, PROJECT_NM, PJT_NMK, EXT_DATA_CD, E_TAX_YN,
UNIT_REPORT_CLIENT, SUB_BUS_NO, PROCUREMENT_YN,
USER_DEF_DC1, USER_DEF_DC2,
USE_FG, USE_NM,
BIZCON_FG, BIZCON_NM, SHIP_TP, SHIP_NM,
PLAN_DAY_TYPE, PLAN_DAY, PURPOSE_TYPE, FOR_YN,
CHECK_DATA, CHECK_STATE, CHECK_ORDER, FIXED_ORDER,
INSERT_ID, INSERT_IP, INSERT_DT, MODIFY_ID, MODIFY_IP, MODIFY_DT
) VALUES (
#{objid}::numeric,
#{COMP_CODE}, #{CLIENT_CD}, #{CLIENT_NM}, #{TR_NMK}, #{CLIENT_NMK}, #{ATTR_NMK}, #{CLIENT_TYPE},
#{BUS_REG_NO}, #{RESIDENT_NO}, #{CEO_NM}, #{CEO_NMK}, #{BUS_TYPE}, #{BUS_ITEM},
#{POST_NO}, #{ADDR1}, #{ADDR2}, #{ADDR_FG}, #{TEL_NO}, #{FAX_NO}, #{HOMEPAGE}, #{EMAIL}, #{LIQ_RS}, #{TR_FG},
#{COUNTRY_NM}, #{CLASS_CD}, #{CLASS_NM}, #{GRADE_CD}, #{GRADE_NM},
#{COLLECT_CLIENT_CD}, #{COLLECT_CLIENT_NM}, #{REGION_CD}, #{REGION_NM},
#{TRADE_START_DT}, #{TRADE_END_DT}, COALESCE(#{USE_YN}, 'Y'),
#{CONTRACT_START_DT}, #{CONTRACT_END_DT}, #{TRADE_TYPE},
CASE WHEN #{DISCOUNT_RATE} = '' THEN NULL ELSE #{DISCOUNT_RATE}::numeric END,
CASE WHEN #{CONTRACT_AMT} = '' THEN NULL ELSE #{CONTRACT_AMT}::numeric END,
CASE WHEN #{MONTHLY_FEE} = '' THEN NULL ELSE #{MONTHLY_FEE}::numeric END,
#{PAYMENT_TERM}, #{RCP_TP},
CASE WHEN #{CREDIT_LIMIT} = '' THEN NULL ELSE #{CREDIT_LIMIT}::numeric END,
#{LIMIT_RETURN_DAY},
#{PUR_BANK_CD}, #{PUR_BANK_NM}, #{PUR_BRANCH_NM}, #{PUR_ACCOUNT_NO},
#{PUR_ACCOUNT_HOLDER}, #{PUR_PAY_PLAN}, #{PUR_SLIP_TYPE}, #{PUR_TAX_TYPE},
#{SALE_BANK_CD}, #{SALE_BANK_NM}, #{SALE_BRANCH_NM}, #{SALE_ACCOUNT_NO},
#{SALE_COLLECT_PLAN}, #{SALE_SLIP_TYPE}, #{SALE_TAX_TYPE},
#{VENDOR_DEPT_NM}, #{VENDOR_POSITION}, #{VENDOR_DUTY}, #{VENDOR_MANAGER_NM},
#{VENDOR_TEL}, #{VENDOR_EXT}, #{VENDOR_MOBILE}, #{VENDOR_EMAIL},
#{MGR_DEPT_CD}, #{MGR_DEPT_NM}, #{MGR_POSITION}, #{MGR_DUTY},
#{MGR_EMP_CD}, #{MGR_EMP_NM}, #{MGR_TEL}, #{MGR_EXT}, #{MGR_MOBILE}, #{MGR_EMAIL}, #{MGR_REMARK},
#{REC_REMARK}, #{REC_POST_NO}, #{REC_ADDR1}, #{REC_ADDR2}, #{REC_ADDR_FG}, #{REC_TEL}, #{REC_FAX},
#{PROJECT_CD}, #{PROJECT_NM}, #{PJT_NMK}, #{EXT_DATA_CD}, #{E_TAX_YN},
#{UNIT_REPORT_CLIENT}, #{SUB_BUS_NO}, #{PROCUREMENT_YN},
#{USER_DEF_DC1}, #{USER_DEF_DC2},
#{USE_FG}, #{USE_NM},
#{BIZCON_FG}, #{BIZCON_NM}, #{SHIP_TP}, #{SHIP_NM},
#{PLAN_DAY_TYPE}, #{PLAN_DAY}, #{PURPOSE_TYPE}, #{FOR_YN},
#{CHECK_DATA}, #{CHECK_STATE},
CASE WHEN #{CHECK_ORDER} = '' OR #{CHECK_ORDER} !~ '^[0-9]+$' THEN NULL ELSE #{CHECK_ORDER}::numeric END,
CASE WHEN #{FIXED_ORDER} = '' OR #{FIXED_ORDER} !~ '^[0-9]+$' THEN NULL ELSE #{FIXED_ORDER}::numeric END,
#{INSERT_ID}, #{INSERT_IP},
CASE WHEN #{INSERT_DT} = '' THEN NOW() ELSE COALESCE(#{INSERT_DT}::timestamp, NOW()) END,
#{MODIFY_ID}, #{MODIFY_IP},
CASE WHEN #{MODIFY_DT} = '' THEN NULL ELSE #{MODIFY_DT}::timestamp END
)
ON CONFLICT (OBJID) DO UPDATE SET
COMP_CODE = #{COMP_CODE},
CLIENT_CD = #{CLIENT_CD},
CLIENT_NM = #{CLIENT_NM},
TR_NMK = #{TR_NMK},
CLIENT_NMK = #{CLIENT_NMK},
ATTR_NMK = #{ATTR_NMK},
CLIENT_TYPE = #{CLIENT_TYPE},
BUS_REG_NO = #{BUS_REG_NO},
RESIDENT_NO = #{RESIDENT_NO},
CEO_NM = #{CEO_NM},
CEO_NMK = #{CEO_NMK},
BUS_TYPE = #{BUS_TYPE},
BUS_ITEM = #{BUS_ITEM},
POST_NO = #{POST_NO},
ADDR1 = #{ADDR1},
ADDR2 = #{ADDR2},
ADDR_FG = #{ADDR_FG},
TEL_NO = #{TEL_NO},
FAX_NO = #{FAX_NO},
HOMEPAGE = #{HOMEPAGE},
EMAIL = #{EMAIL},
LIQ_RS = #{LIQ_RS},
TR_FG = #{TR_FG},
COUNTRY_NM = #{COUNTRY_NM},
CLASS_CD = #{CLASS_CD},
CLASS_NM = #{CLASS_NM},
GRADE_CD = #{GRADE_CD},
GRADE_NM = #{GRADE_NM},
COLLECT_CLIENT_CD = #{COLLECT_CLIENT_CD},
COLLECT_CLIENT_NM = #{COLLECT_CLIENT_NM},
REGION_CD = #{REGION_CD},
REGION_NM = #{REGION_NM},
TRADE_START_DT = #{TRADE_START_DT},
TRADE_END_DT = #{TRADE_END_DT},
USE_YN = #{USE_YN},
CONTRACT_START_DT = #{CONTRACT_START_DT},
CONTRACT_END_DT = #{CONTRACT_END_DT},
TRADE_TYPE = #{TRADE_TYPE},
DISCOUNT_RATE = CASE WHEN #{DISCOUNT_RATE} = '' THEN NULL ELSE #{DISCOUNT_RATE}::numeric END,
CONTRACT_AMT = CASE WHEN #{CONTRACT_AMT} = '' THEN NULL ELSE #{CONTRACT_AMT}::numeric END,
MONTHLY_FEE = CASE WHEN #{MONTHLY_FEE} = '' THEN NULL ELSE #{MONTHLY_FEE}::numeric END,
PAYMENT_TERM = #{PAYMENT_TERM},
RCP_TP = #{RCP_TP},
CREDIT_LIMIT = CASE WHEN #{CREDIT_LIMIT} = '' THEN NULL ELSE #{CREDIT_LIMIT}::numeric END,
LIMIT_RETURN_DAY = #{LIMIT_RETURN_DAY},
PUR_BANK_CD = #{PUR_BANK_CD},
PUR_BANK_NM = #{PUR_BANK_NM},
PUR_BRANCH_NM = #{PUR_BRANCH_NM},
PUR_ACCOUNT_NO = #{PUR_ACCOUNT_NO},
PUR_ACCOUNT_HOLDER = #{PUR_ACCOUNT_HOLDER},
PUR_PAY_PLAN = #{PUR_PAY_PLAN},
PUR_SLIP_TYPE = #{PUR_SLIP_TYPE},
PUR_TAX_TYPE = #{PUR_TAX_TYPE},
SALE_BANK_CD = #{SALE_BANK_CD},
SALE_BANK_NM = #{SALE_BANK_NM},
SALE_BRANCH_NM = #{SALE_BRANCH_NM},
SALE_ACCOUNT_NO = #{SALE_ACCOUNT_NO},
SALE_COLLECT_PLAN = #{SALE_COLLECT_PLAN},
SALE_SLIP_TYPE = #{SALE_SLIP_TYPE},
SALE_TAX_TYPE = #{SALE_TAX_TYPE},
VENDOR_DEPT_NM = #{VENDOR_DEPT_NM},
VENDOR_POSITION = #{VENDOR_POSITION},
VENDOR_DUTY = #{VENDOR_DUTY},
VENDOR_MANAGER_NM = #{VENDOR_MANAGER_NM},
VENDOR_TEL = #{VENDOR_TEL},
VENDOR_EXT = #{VENDOR_EXT},
VENDOR_MOBILE = #{VENDOR_MOBILE},
VENDOR_EMAIL = #{VENDOR_EMAIL},
MGR_DEPT_CD = #{MGR_DEPT_CD},
MGR_DEPT_NM = #{MGR_DEPT_NM},
MGR_POSITION = #{MGR_POSITION},
MGR_DUTY = #{MGR_DUTY},
MGR_EMP_CD = #{MGR_EMP_CD},
MGR_EMP_NM = #{MGR_EMP_NM},
MGR_TEL = #{MGR_TEL},
MGR_EXT = #{MGR_EXT},
MGR_MOBILE = #{MGR_MOBILE},
MGR_EMAIL = #{MGR_EMAIL},
MGR_REMARK = #{MGR_REMARK},
REC_REMARK = #{REC_REMARK},
REC_POST_NO = #{REC_POST_NO},
REC_ADDR1 = #{REC_ADDR1},
REC_ADDR2 = #{REC_ADDR2},
REC_ADDR_FG = #{REC_ADDR_FG},
REC_TEL = #{REC_TEL},
REC_FAX = #{REC_FAX},
PROJECT_CD = #{PROJECT_CD},
PROJECT_NM = #{PROJECT_NM},
PJT_NMK = #{PJT_NMK},
EXT_DATA_CD = #{EXT_DATA_CD},
E_TAX_YN = #{E_TAX_YN},
UNIT_REPORT_CLIENT = #{UNIT_REPORT_CLIENT},
SUB_BUS_NO = #{SUB_BUS_NO},
PROCUREMENT_YN = #{PROCUREMENT_YN},
USER_DEF_DC1 = #{USER_DEF_DC1},
USER_DEF_DC2 = #{USER_DEF_DC2},
USE_FG = #{USE_FG},
USE_NM = #{USE_NM},
BIZCON_FG = #{BIZCON_FG},
BIZCON_NM = #{BIZCON_NM},
SHIP_TP = #{SHIP_TP},
SHIP_NM = #{SHIP_NM},
PLAN_DAY_TYPE = #{PLAN_DAY_TYPE},
PLAN_DAY = #{PLAN_DAY},
PURPOSE_TYPE = #{PURPOSE_TYPE},
FOR_YN = #{FOR_YN},
CHECK_DATA = #{CHECK_DATA},
CHECK_STATE = #{CHECK_STATE},
CHECK_ORDER = CASE WHEN #{CHECK_ORDER} = '' OR #{CHECK_ORDER} !~ '^[0-9]+$' THEN NULL ELSE #{CHECK_ORDER}::numeric END,
FIXED_ORDER = CASE WHEN #{FIXED_ORDER} = '' OR #{FIXED_ORDER} !~ '^[0-9]+$' THEN NULL ELSE #{FIXED_ORDER}::numeric END,
MODIFY_ID = #{MODIFY_ID},
MODIFY_IP = #{MODIFY_IP},
MODIFY_DT = NOW()
DELETE FROM CLIENT_MNG
WHERE OBJID = #{OBJID}::numeric
INSERT INTO MATERIAL_MNG (
OBJID,
MATERIAL_CODE,
MATERIAL_NAME,
MATERIAL_PART_NO,
SIZE_SPEC,
REMARK,
STATUS,
WRITER,
REGDATE
) VALUES (
#{objid},
#{material_code},
#{material_name},
#{material_part_no},
#{size_spec},
#{remark},
COALESCE(#{status}, 'ACTIVE'),
#{userId},
NOW()
)
UPDATE MATERIAL_MNG SET
MATERIAL_CODE = #{material_code},
MATERIAL_NAME = #{material_name},
MATERIAL_PART_NO = #{material_part_no},
SIZE_SPEC = #{size_spec},
REMARK = #{remark},
STATUS = #{status},
EDITER = #{userId},
EDIT_DATE = NOW()
WHERE OBJID = #{objid}
DELETE FROM MATERIAL_MNG
WHERE OBJID = #{objid}