일반 거래처 관리 xml까지 완료상태

This commit is contained in:
leeheejin
2025-11-20 18:25:35 +09:00
parent 75457247f7
commit 7f650cc3aa
6 changed files with 611 additions and 42 deletions

View File

@@ -1561,11 +1561,10 @@ public String deleteWarehouse(HttpServletRequest request, @RequestParam Map<Stri
public String clientMngListFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap<String,Object> info = new HashMap();
try{
// 임시 주석 - DB 테이블 생성 후 활성화
//if(!"".equals(CommonUtils.checkNull(request.getParameter("objid")))){
// info = (HashMap)adminService.getClientMngListInfo(request, paramMap);
// info = CommonUtils.toUpperCaseMapKey(info);
//}
if(!"".equals(CommonUtils.checkNull(request.getParameter("objid")))){
info = (HashMap)adminService.getClientMngListInfo(request, paramMap);
info = CommonUtils.toUpperCaseMapKey(info);
}
}catch(Exception e){
e.printStackTrace();
}

View File

@@ -8770,6 +8770,277 @@ SELECT
<!-- ========================================
일반거래처 관리 (CLIENT_MNG) - 2025.11.20 이희진
======================================== -->
<!-- 1. 일반거래처 목록 조회 -->
<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,
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,
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, 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
FROM CLIENT_MNG
WHERE 1=1
<if test="searchClientCd != null and searchClientCd != ''">
AND UPPER(CLIENT_CD) LIKE UPPER('%${searchClientCd}%')
</if>
<if test="searchClientNm != null and searchClientNm != ''">
AND UPPER(CLIENT_NM) LIKE UPPER('%${searchClientNm}%')
</if>
<if test="searchBusinessNo != null and searchBusinessNo != ''">
AND UPPER(BUS_REG_NO) LIKE UPPER('%${searchBusinessNo}%')
</if>
<if test="searchClientType != null and searchClientType != ''">
AND CLIENT_TYPE = #{searchClientType}
</if>
<if test="searchUseStatus != null and searchUseStatus != ''">
AND USE_YN = #{searchUseStatus}
</if>
ORDER BY CLIENT_CD
</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,
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,
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, 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
FROM CLIENT_MNG
WHERE OBJID = #{OBJID}::numeric
</select>
<!-- 3. 일반거래처 중복 체크 -->
<select id="getDuplicateClientMngListInfo" parameterType="map" resultType="map">
SELECT *
FROM CLIENT_MNG
WHERE 1=1
<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>
</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,
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,
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, 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
)
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},
MODIFY_DT = NOW()
</insert>
<!-- 5. 일반거래처 삭제 (물리 삭제) -->
<delete id="deleteClient" parameterType="map">
DELETE FROM CLIENT_MNG
WHERE OBJID = #{OBJID}::numeric
</delete>
</mapper>