기준정보관리의 일반거래처 관리

This commit is contained in:
leeheejin
2025-11-24 14:17:03 +09:00
parent 63e07e03d0
commit 52c089ffc5
17 changed files with 67331 additions and 1170 deletions

View File

@@ -8778,14 +8778,14 @@ SELECT
<select id="getClientMngList" parameterType="map" resultType="map">
SELECT
ROW_NUMBER() OVER (ORDER BY CLIENT_CD) AS RNUM,
OBJID, COMP_CODE, CLIENT_CD, CLIENT_NM, CLIENT_NMK, CLIENT_TYPE,
BUS_REG_NO, RESIDENT_NO, CEO_NM, BUS_TYPE, BUS_ITEM,
POST_NO, ADDR1, ADDR2, TEL_NO, FAX_NO, HOMEPAGE, EMAIL,
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,
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,
@@ -8795,12 +8795,13 @@ SELECT
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_TEL, REC_FAX,
PROJECT_CD, PROJECT_NM, EXT_DATA_CD, E_TAX_YN,
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,
PLAN_DAY_TYPE, PLAN_DAY, PURPOSE_TYPE, FOR_YN,
USER_DEF_DC1, USER_DEF_DC2, USE_FG, USE_NM,
USER_DEF_DC1, USER_DEF_DC2,
REGION_CD, REGION_NM, 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, TO_CHAR(INSERT_DT, 'YYYY-MM-DD HH24:MI:SS') AS INSERT_DT,
MODIFY_ID, MODIFY_IP, TO_CHAR(MODIFY_DT, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_DT
@@ -8827,14 +8828,14 @@ SELECT
<!-- 2. 일반거래처 상세 조회 -->
<select id="getClientMngListInfo" parameterType="map" resultType="map">
SELECT
OBJID, COMP_CODE, CLIENT_CD, CLIENT_NM, CLIENT_NMK, CLIENT_TYPE,
BUS_REG_NO, RESIDENT_NO, CEO_NM, BUS_TYPE, BUS_ITEM,
POST_NO, ADDR1, ADDR2, TEL_NO, FAX_NO, HOMEPAGE, EMAIL,
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,
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,
@@ -8844,12 +8845,13 @@ SELECT
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_TEL, REC_FAX,
PROJECT_CD, PROJECT_NM, EXT_DATA_CD, E_TAX_YN,
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,
PLAN_DAY_TYPE, PLAN_DAY, PURPOSE_TYPE, FOR_YN,
USER_DEF_DC1, USER_DEF_DC2, USE_FG, USE_NM,
USER_DEF_DC1, USER_DEF_DC2,
REGION_CD, REGION_NM, 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, TO_CHAR(INSERT_DT, 'YYYY-MM-DD HH24:MI:SS') AS INSERT_DT,
MODIFY_ID, MODIFY_IP, TO_CHAR(MODIFY_DT, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_DT
@@ -8862,25 +8864,25 @@ SELECT
SELECT *
FROM CLIENT_MNG
WHERE 1=1
<if test="objid != null and objid != ''">
AND OBJID != #{objid}::numeric
<if test="OBJID != null and OBJID != ''">
AND OBJID != #{OBJID}::numeric
</if>
<if test="client_cd != null and client_cd != ''">
AND TRIM(UPPER(CLIENT_CD)) = TRIM(UPPER(#{client_cd}))
<if test="CLIENT_CD != null and CLIENT_CD != ''">
AND TRIM(UPPER(CLIENT_CD)) = TRIM(UPPER(#{CLIENT_CD}))
</if>
</select>
<!-- 4. 일반거래처 저장 (INSERT/UPDATE) -->
<insert id="mergeClientMngInfo" parameterType="map">
INSERT INTO CLIENT_MNG (
OBJID, COMP_CODE, CLIENT_CD, CLIENT_NM, CLIENT_NMK, CLIENT_TYPE,
BUS_REG_NO, RESIDENT_NO, CEO_NM, BUS_TYPE, BUS_ITEM,
POST_NO, ADDR1, ADDR2, TEL_NO, FAX_NO, HOMEPAGE, EMAIL,
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,
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,
@@ -8890,149 +8892,166 @@ SELECT
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_TEL, REC_FAX,
PROJECT_CD, PROJECT_NM, EXT_DATA_CD, E_TAX_YN,
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,
PLAN_DAY_TYPE, PLAN_DAY, PURPOSE_TYPE, FOR_YN,
USER_DEF_DC1, USER_DEF_DC2, USE_FG, USE_NM,
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}, #{client_nmk}, #{client_type},
#{bus_reg_no}, #{resident_no}, #{ceo_nm}, #{bus_type}, #{bus_item},
#{post_no}, #{addr1}, #{addr2}, #{tel_no}, #{fax_no}, #{homepage}, #{email},
#{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},
#{discount_rate}, #{contract_amt}, #{monthly_fee}, #{payment_term},
#{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_tel}, #{rec_fax},
#{project_cd}, #{project_nm}, #{ext_data_cd}, #{e_tax_yn},
#{unit_report_client}, #{sub_bus_no}, #{procurement_yn},
#{plan_day_type}, #{plan_day}, #{purpose_type}, #{for_yn},
#{user_def_dc1}, #{user_def_dc2}, #{use_fg}, #{use_nm},
#{bizcon_fg}, #{bizcon_nm}, #{ship_tp}, #{ship_nm},
#{check_data}, #{check_state}, #{check_order}, #{fixed_order},
#{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
#{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} = '' THEN NULL ELSE #{CHECK_ORDER}::numeric END,
#{FIXED_ORDER},
#{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},
CLIENT_NMK = #{client_nmk},
CLIENT_TYPE = #{client_type},
BUS_REG_NO = #{bus_reg_no},
RESIDENT_NO = #{resident_no},
CEO_NM = #{ceo_nm},
BUS_TYPE = #{bus_type},
BUS_ITEM = #{bus_item},
POST_NO = #{post_no},
ADDR1 = #{addr1},
ADDR2 = #{addr2},
TEL_NO = #{tel_no},
FAX_NO = #{fax_no},
HOMEPAGE = #{homepage},
EMAIL = #{email},
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 = #{discount_rate},
CONTRACT_AMT = #{contract_amt},
MONTHLY_FEE = #{monthly_fee},
PAYMENT_TERM = #{payment_term},
CREDIT_LIMIT = #{credit_limit},
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_TEL = #{rec_tel},
REC_FAX = #{rec_fax},
PROJECT_CD = #{project_cd},
PROJECT_NM = #{project_nm},
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},
PLAN_DAY_TYPE = #{plan_day_type},
PLAN_DAY = #{plan_day},
PURPOSE_TYPE = #{purpose_type},
FOR_YN = #{for_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},
CHECK_DATA = #{check_data},
CHECK_STATE = #{check_state},
CHECK_ORDER = #{check_order},
FIXED_ORDER = #{fixed_order},
MODIFY_ID = #{modify_id},
MODIFY_IP = #{modify_ip},
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} = '' THEN NULL ELSE #{CHECK_ORDER}::numeric END,
FIXED_ORDER = #{FIXED_ORDER},
MODIFY_ID = #{MODIFY_ID},
MODIFY_IP = #{MODIFY_IP},
MODIFY_DT = NOW()
</insert>
@@ -9042,5 +9061,269 @@ SELECT
WHERE OBJID = #{OBJID}::numeric
</delete>
<!-- 6. Excel 업로드 - 중복 체크 -->
<select id="getDuplicateClientExcel" parameterType="map" resultType="map">
SELECT OBJID, CLIENT_CD, CLIENT_NM
FROM CLIENT_MNG
WHERE UPPER(CLIENT_CD) = UPPER(#{CLIENT_CD})
LIMIT 1
</select>
<!-- 7. Excel 업로드 - 일괄 INSERT -->
<insert id="insertClientExcel" parameterType="map">
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,
INSERT_ID,
INSERT_IP,
INSERT_DT
) VALUES (
#{OBJID}::numeric,
NULLIF(#{COMP_CODE}, ''),
NULLIF(#{CLIENT_CD}, ''),
NULLIF(#{CLIENT_NM}, ''),
NULLIF(#{TR_NMK}, ''),
NULLIF(#{CLIENT_NMK}, ''),
NULLIF(#{ATTR_NMK}, ''),
NULLIF(#{CLIENT_TYPE}, ''),
NULLIF(#{BUS_REG_NO}, ''),
NULLIF(#{RESIDENT_NO}, ''),
NULLIF(#{CEO_NM}, ''),
NULLIF(#{CEO_NMK}, ''),
NULLIF(#{BUS_TYPE}, ''),
NULLIF(#{BUS_ITEM}, ''),
NULLIF(#{POST_NO}, ''),
NULLIF(#{ADDR1}, ''),
NULLIF(#{ADDR2}, ''),
NULLIF(#{ADDR_FG}, ''),
NULLIF(#{TEL_NO}, ''),
NULLIF(#{FAX_NO}, ''),
NULLIF(#{HOMEPAGE}, ''),
NULLIF(#{EMAIL}, ''),
NULLIF(#{LIQ_RS}, ''),
NULLIF(#{TR_FG}, ''),
NULLIF(#{COUNTRY_NM}, ''),
NULLIF(#{CLASS_CD}, ''),
NULLIF(#{CLASS_NM}, ''),
NULLIF(#{GRADE_CD}, ''),
NULLIF(#{GRADE_NM}, ''),
NULLIF(#{COLLECT_CLIENT_CD}, ''),
NULLIF(#{COLLECT_CLIENT_NM}, ''),
NULLIF(#{REGION_CD}, ''),
NULLIF(#{REGION_NM}, ''),
NULLIF(#{TRADE_START_DT}, ''),
NULLIF(#{TRADE_END_DT}, ''),
COALESCE(NULLIF(#{USE_YN}, ''), 'Y'),
NULLIF(#{CONTRACT_START_DT}, ''),
NULLIF(#{CONTRACT_END_DT}, ''),
NULLIF(#{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,
NULLIF(#{PAYMENT_TERM}, ''),
NULLIF(#{RCP_TP}, ''),
CASE WHEN #{CREDIT_LIMIT} = '' THEN NULL ELSE #{CREDIT_LIMIT}::numeric END,
NULLIF(#{LIMIT_RETURN_DAY}, ''),
NULLIF(#{PUR_BANK_CD}, ''),
NULLIF(#{PUR_BANK_NM}, ''),
NULLIF(#{PUR_BRANCH_NM}, ''),
NULLIF(#{PUR_ACCOUNT_NO}, ''),
NULLIF(#{PUR_ACCOUNT_HOLDER}, ''),
NULLIF(#{PUR_PAY_PLAN}, ''),
NULLIF(#{PUR_SLIP_TYPE}, ''),
NULLIF(#{PUR_TAX_TYPE}, ''),
NULLIF(#{SALE_BANK_CD}, ''),
NULLIF(#{SALE_BANK_NM}, ''),
NULLIF(#{SALE_BRANCH_NM}, ''),
NULLIF(#{SALE_ACCOUNT_NO}, ''),
NULLIF(#{SALE_COLLECT_PLAN}, ''),
NULLIF(#{SALE_SLIP_TYPE}, ''),
NULLIF(#{SALE_TAX_TYPE}, ''),
NULLIF(#{VENDOR_DEPT_NM}, ''),
NULLIF(#{VENDOR_POSITION}, ''),
NULLIF(#{VENDOR_DUTY}, ''),
NULLIF(#{VENDOR_MANAGER_NM}, ''),
NULLIF(#{VENDOR_TEL}, ''),
NULLIF(#{VENDOR_EXT}, ''),
NULLIF(#{VENDOR_MOBILE}, ''),
NULLIF(#{VENDOR_EMAIL}, ''),
NULLIF(#{MGR_DEPT_CD}, ''),
NULLIF(#{MGR_DEPT_NM}, ''),
NULLIF(#{MGR_POSITION}, ''),
NULLIF(#{MGR_DUTY}, ''),
NULLIF(#{MGR_EMP_CD}, ''),
NULLIF(#{MGR_EMP_NM}, ''),
NULLIF(#{MGR_TEL}, ''),
NULLIF(#{MGR_EXT}, ''),
NULLIF(#{MGR_MOBILE}, ''),
NULLIF(#{MGR_EMAIL}, ''),
NULLIF(#{MGR_REMARK}, ''),
NULLIF(#{REC_REMARK}, ''),
NULLIF(#{REC_POST_NO}, ''),
NULLIF(#{REC_ADDR1}, ''),
NULLIF(#{REC_ADDR2}, ''),
NULLIF(#{REC_ADDR_FG}, ''),
NULLIF(#{REC_TEL}, ''),
NULLIF(#{REC_FAX}, ''),
NULLIF(#{PROJECT_CD}, ''),
NULLIF(#{PROJECT_NM}, ''),
NULLIF(#{PJT_NMK}, ''),
NULLIF(#{EXT_DATA_CD}, ''),
NULLIF(#{E_TAX_YN}, ''),
NULLIF(#{UNIT_REPORT_CLIENT}, ''),
NULLIF(#{SUB_BUS_NO}, ''),
NULLIF(#{PROCUREMENT_YN}, ''),
NULLIF(#{USER_DEF_DC1}, ''),
NULLIF(#{USER_DEF_DC2}, ''),
NULLIF(#{USE_FG}, ''),
NULLIF(#{USE_NM}, ''),
NULLIF(#{BIZCON_FG}, ''),
NULLIF(#{BIZCON_NM}, ''),
NULLIF(#{SHIP_TP}, ''),
NULLIF(#{SHIP_NM}, ''),
NULLIF(#{PLAN_DAY_TYPE}, ''),
NULLIF(#{PLAN_DAY}, ''),
NULLIF(#{PURPOSE_TYPE}, ''),
NULLIF(#{FOR_YN}, ''),
NULLIF(#{CHECK_DATA}, ''),
NULLIF(#{CHECK_STATE}, ''),
CASE WHEN #{CHECK_ORDER} = '' THEN NULL ELSE #{CHECK_ORDER}::numeric END,
#{CONNECTUSERID},
#{insert_ip},
NOW()
)
</insert>
<!-- 8. Excel 업로드 - 중복/신규 건수 조회 -->
<select id="countExcelclient" parameterType="map" resultType="map">
SELECT
COUNT(CASE WHEN DUP_YN = 'Y' THEN 1 END) AS DUP_CNT,
COUNT(CASE WHEN DUP_YN = 'N' THEN 1 END) AS NOW_CNT
FROM (
SELECT
CASE
WHEN EXISTS (
SELECT 1 FROM CLIENT_MNG
WHERE CLIENT_CD = T.CLIENT_CD
) THEN 'Y'
ELSE 'N'
END AS DUP_YN
FROM (
SELECT CLIENT_CD
FROM ATTACH_FILE_INFO
WHERE TARGET_OBJID = #{targetObjId}
AND DOC_TYPE = 'CLIENT_EXCEL_IMPORT'
) T
) RESULT
</select>
</mapper>