오늘치 커밋

This commit is contained in:
leeheejin
2025-12-02 18:09:47 +09:00
parent 59f883b711
commit eeba0c6f9e
19 changed files with 2119 additions and 438 deletions

View File

@@ -4849,6 +4849,17 @@ public String clientImportFileProc(HttpServletRequest request, HttpSession sessi
return resultList;
}
/**
* 일반거래처 담당자 목록 조회
*/
@ResponseBody
@RequestMapping("/admin/getClientChargerList.do")
public List<Map<String,Object>> getClientChargerList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List<Map<String,Object>> resultList = new ArrayList();
resultList = adminService.getClientChargerList(paramMap);
return resultList;
}
// 공급업체의 담당자 정보 목록을 삭제한다.
@RequestMapping("/admin/deletesupplyMngInfo.do")
public String deletesupplyMngInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){

View File

@@ -704,6 +704,8 @@ public class PurchaseOrderController {
@RequestMapping("/purchaseOrder/purchaseOrder_salesRequest_Save.do")
@ResponseBody
public String purchaseOrder_salesRequest_Save(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
System.out.println("=== purchaseOrder_salesRequest_Save 컨트롤러 호출 ===");
System.out.println("paramMap: " + paramMap);
String result = "";
try{
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
@@ -711,9 +713,11 @@ public class PurchaseOrderController {
purchaseOrderService.savePurchaseOrder_salesRequest(request, paramMap);
result = "SUCCESS";
System.out.println("=== purchaseOrder_salesRequest_Save 완료: SUCCESS ===");
}catch(Exception e){
e.printStackTrace();
result = "FAIL";
System.out.println("=== purchaseOrder_salesRequest_Save 실패: " + e.getMessage() + " ===");
}
return result;
}

View File

@@ -8042,6 +8042,61 @@ FROM (
DELETE FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID = #{objid}
</delete>
<!-- 일반거래처 담당자 목록 조회 (SUPPLY_OBJID를 공용으로 사용) -->
<select id="getClientChargerList" parameterType="map" resultType="map">
SELECT
ROW_NUMBER() OVER(ORDER BY REGDATE DESC) RNUM,
OBJID,
CHARGER_TYPE,
SUPPLY_OBJID,
CHARGER_NAME,
PHONE,
TEL,
FAX,
EMAIL,
WRITER,
REGDATE,
TO_CHAR(REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
FROM
SUPPLY_CHARGER_MNG
WHERE SUPPLY_OBJID::VARCHAR = #{client_objid}::VARCHAR
</select>
<!-- 일반거래처 담당자 저장 (SUPPLY_OBJID를 공용으로 사용) -->
<insert id="mergeClientCharger" parameterType="map">
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()
)
</insert>
<!-- 일반거래처 담당자 삭제 (SUPPLY_OBJID를 공용으로 사용) -->
<delete id="initClientCharger" parameterType="map">
DELETE FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = #{objid}::VARCHAR
</delete>
<update id="deletesupplyMngInfo" parameterType="map">
DELETE FROM ADMIN_SUPPLY_MNG WHERE OBJID = #{objId}::NUMERIC
</update>
@@ -8864,8 +8919,8 @@ 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}))
@@ -8932,8 +8987,8 @@ SELECT
#{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},
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},
@@ -9048,8 +9103,8 @@ SELECT
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},
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()

View File

@@ -1526,29 +1526,57 @@
</select> -->
<select id="getsupplyselect" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,SUPPLY_NAME AS NAME
,SUPPLY_CODE AS CODE_ID
,SUPPLY_NAME AS CODE_NAME
,SUPPLY_CODE AS CODE_CD
,REG_NO
,CHARGE_USER_NAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,PAYMENT_METHOD
,STATUS AS STATUS
,'' AS ID
,'' AS EXT_VAL
FROM SUPPLY_MNG
WHERE 1=1
AND SUPPLY_CODE != '0000269'
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND OBJID::VARCHAR = #{SUPPLY_OBJID}::VARCHAR
</if>
<if test="CHARGER_TYPE != null and !''.equals(CHARGER_TYPE)">
AND CHARGER_TYPE = #{CHARGER_TYPE}
</if>
SELECT * FROM (
<!-- 기존 SUPPLY_MNG 데이터 -->
SELECT
OBJID::VARCHAR AS CODE
,SUPPLY_NAME AS NAME
,SUPPLY_CODE AS CODE_ID
,SUPPLY_NAME AS CODE_NAME
,SUPPLY_CODE AS CODE_CD
,REG_NO
,CHARGE_USER_NAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,PAYMENT_METHOD
,STATUS AS STATUS
,'' AS ID
,'' AS EXT_VAL
,'SUPPLY' AS DATA_SOURCE
FROM SUPPLY_MNG
WHERE 1=1
AND SUPPLY_CODE != '0000269'
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND OBJID::VARCHAR = #{SUPPLY_OBJID}::VARCHAR
</if>
<if test="CHARGER_TYPE != null and !''.equals(CHARGER_TYPE)">
AND CHARGER_TYPE = #{CHARGER_TYPE}
</if>
UNION ALL
<!-- CLIENT_MNG (일반거래처) 데이터 -->
SELECT
'C_' || OBJID::VARCHAR AS CODE
,CLIENT_NM AS NAME
,CLIENT_CD AS CODE_ID
,CLIENT_NM AS CODE_NAME
,CLIENT_CD AS CODE_CD
,BUS_REG_NO AS REG_NO
,CEO_NM AS CHARGE_USER_NAME
,TEL_NO AS SUPPLY_TEL_NO
,FAX_NO AS SUPPLY_FAX_NO
,PAYMENT_TERM AS PAYMENT_METHOD
,USE_YN AS STATUS
,'' AS ID
,'' AS EXT_VAL
,'CLIENT' AS DATA_SOURCE
FROM CLIENT_MNG
WHERE 1=1
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND ('C_' || OBJID::VARCHAR) = #{SUPPLY_OBJID}::VARCHAR
</if>
) AS COMBINED
ORDER BY NAME
</select>
<select id="getsupplyselect2" parameterType="map" resultType="map">
@@ -3206,31 +3234,63 @@ ORDER BY COALESCE(T.REVISION, '1.0')
AND MASTER_OBJID::varchar = #{masterObjid}
</select>
<!-- 고객사 정보 조회 -->
<!-- 고객사 정보 조회 (공급업체 + 일반거래처 통합) -->
<select id="getSupplyInfo" parameterType="map" resultType="map">
SELECT
OBJID,
SUPPLY_CODE,
SUPPLY_NAME,
REG_NO,
SUPPLY_ADDRESS,
SUPPLY_BUSNAME,
SUPPLY_STOCKNAME,
SUPPLY_TEL_NO,
SUPPLY_FAX_NO,
CHARGE_USER_NAME,
PAYMENT_METHOD,
MANAGER1_NAME,
MANAGER1_EMAIL,
MANAGER2_NAME,
MANAGER2_EMAIL,
MANAGER3_NAME,
MANAGER3_EMAIL,
MANAGER4_NAME,
MANAGER4_EMAIL,
MANAGER5_NAME,
MANAGER5_EMAIL
FROM SUPPLY_MNG
WHERE OBJID = #{objId}::numeric
<choose>
<!-- 일반거래처인 경우 (C_로 시작) -->
<when test="objId != null and objId.startsWith('C_')">
SELECT
C.OBJID,
C.CLIENT_CD AS SUPPLY_CODE,
C.CLIENT_NM AS SUPPLY_NAME,
C.BUS_REG_NO AS REG_NO,
C.ADDR1 AS SUPPLY_ADDRESS,
C.BUS_TYPE AS SUPPLY_BUSNAME,
C.BUS_ITEM AS SUPPLY_STOCKNAME,
C.TEL_NO AS SUPPLY_TEL_NO,
C.FAX_NO AS SUPPLY_FAX_NO,
C.CEO_NM AS CHARGE_USER_NAME,
C.PAYMENT_TERM AS PAYMENT_METHOD,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 0) AS MANAGER1_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 0) AS MANAGER1_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 1) AS MANAGER2_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 1) AS MANAGER2_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 2) AS MANAGER3_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 2) AS MANAGER3_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 3) AS MANAGER4_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 3) AS MANAGER4_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 4) AS MANAGER5_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 4) AS MANAGER5_EMAIL
FROM CLIENT_MNG C
WHERE C.OBJID::VARCHAR = REPLACE(#{objId}, 'C_', '')
</when>
<!-- 공급업체인 경우 -->
<otherwise>
SELECT
OBJID,
SUPPLY_CODE,
SUPPLY_NAME,
REG_NO,
SUPPLY_ADDRESS,
SUPPLY_BUSNAME,
SUPPLY_STOCKNAME,
SUPPLY_TEL_NO,
SUPPLY_FAX_NO,
CHARGE_USER_NAME,
PAYMENT_METHOD,
MANAGER1_NAME,
MANAGER1_EMAIL,
MANAGER2_NAME,
MANAGER2_EMAIL,
MANAGER3_NAME,
MANAGER3_EMAIL,
MANAGER4_NAME,
MANAGER4_EMAIL,
MANAGER5_NAME,
MANAGER5_EMAIL
FROM SUPPLY_MNG
WHERE OBJID = #{objId}::numeric
</otherwise>
</choose>
</select>
</mapper>

View File

@@ -32,7 +32,10 @@
POM.PARTNER_OBJID,
(SELECT SUPPLY_CODE FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_CODE,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME,
CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME,
(
SELECT
SUM(ORDER_QTY::numeric)
@@ -274,7 +277,10 @@
POM.PARTNER_OBJID,
(SELECT SUPPLY_CODE FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_CODE,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME,
CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME,
(
SELECT
SUM(ORDER_QTY::numeric)
@@ -772,15 +778,15 @@
#{SALES_MNG_USER_ID}
,#{TITLE}
,#{PURCHASE_DATE}
,#{PROJECT_NO}::NUMERIC
,NULLIF(#{PROJECT_NO}::TEXT, '')::NUMERIC
,#{TYPE }
,#{INSPECT_METHOD }
,#{TOTAL_PRICE_TXT }
,#{VAT_METHOD }
,#{TOTAL_SUPPLY_UNIT_PRICE}
,#{DISCOUNT_PRICE }
,#{TOTAL_PRICE }
,#{NEGO_RATE }
,NULLIF(#{TOTAL_SUPPLY_UNIT_PRICE}::TEXT, '')::NUMERIC
,NULLIF(#{DISCOUNT_PRICE}::TEXT, '')::NUMERIC
,NULLIF(#{TOTAL_PRICE}::TEXT, '')::NUMERIC
,NULLIF(#{NEGO_RATE}::TEXT, '')::NUMERIC
,#{SUPPLY_BUS_NO }
,#{SUPPLY_USER_NAME }
,#{SUPPLY_USER_HP }
@@ -807,7 +813,7 @@
SALES_MNG_USER_ID = #{SALES_MNG_USER_ID}
,TITLE = #{TITLE}
,PURCHASE_DATE = #{PURCHASE_DATE}
,CONTRACT_MGMT_OBJID = #{CONTRACT_MGMT_OBJID}::NUMERIC
,CONTRACT_MGMT_OBJID = NULLIF(#{CONTRACT_MGMT_OBJID}::TEXT, '')::NUMERIC
,TYPE = #{TYPE }
,INSPECT_METHOD = #{INSPECT_METHOD }
,TOTAL_PRICE_TXT = #{TOTAL_PRICE_TXT }
@@ -1281,7 +1287,10 @@
SM.OFFICE_NO AS MY_COMPANY_SUPPLY_OFFICE_NO,
POM.PARTNER_OBJID,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME,
CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME,
(
SELECT
SUM(ORDER_QTY::numeric)
@@ -1454,7 +1463,10 @@
SM.OFFICE_NO AS MY_COMPANY_SUPPLY_OFFICE_NO,
POM.PARTNER_OBJID,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME,
CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME,
(
SELECT
SUM(ORDER_QTY::numeric)
@@ -1692,7 +1704,10 @@
PM.REVISION,
PM.PART_NAME||'('||PM.MATERIAL||','||PM.SPEC||')/'||PM.PART_NO||(CASE WHEN PM.REVISION IS NULL THEN '' ELSE PM.REVISION END) AS TARGET_TITLE,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = pop.UNIT) as UNIT_TITLE,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME,
CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME,
POP.ORDER_QTY,
POP.OBJID,
POP.PURCHASE_ORDER_MASTER_OBJID,
@@ -1781,7 +1796,10 @@
PM.REVISION,
PM.PART_NAME||'('||PM.MATERIAL||','||PM.SPEC||')/'||PM.PART_NO||(CASE WHEN PM.REVISION IS NULL THEN '' ELSE PM.REVISION END) AS TARGET_TITLE,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = pop.UNIT) as UNIT_TITLE,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME,
CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME,
POP.ORDER_QTY,
POP.REAL_ORDER_QTY,
POP.OBJID AS ORDER_PART_OBJID,
@@ -3146,7 +3164,10 @@ SELECT POM.OBJID
,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = POM.TYPE) AS TYPE_NAME
,POM.PARTNER_OBJID
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,POM.SALES_MNG_USER_ID
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS SALES_MNG_USER_NAME
@@ -3397,7 +3418,10 @@ SELECT POM.OBJID
,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = POM.TYPE) AS TYPE_NAME
,POM.PARTNER_OBJID
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,POM.SALES_MNG_USER_ID
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS SALES_MNG_USER_NAME
@@ -4178,7 +4202,10 @@ SELECT POM.OBJID
,POM.DELIVERY_DATE
,POM.PARTNER_OBJID
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,POM.SALES_MNG_USER_ID
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS SALES_MNG_USER_NAME
@@ -5288,7 +5315,10 @@ FROM(
,(SELECT PART_NAME FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = DH.PART_OBJID) AS PART_NAME
,(SELECT PART_NO FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = DH.PART_OBJID) AS PART_NO
,DH.ORDER_QTY
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,DH.INSPECT_DATE
,DH.DEFECT_QTY
,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = DH.DEFECT_REASON) AS DEFECT_REASON_NAME
@@ -5392,7 +5422,10 @@ FROM(
,(SELECT PART_NAME FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = DH.PART_OBJID) AS PART_NAME
,(SELECT PART_NO FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = DH.PART_OBJID) AS PART_NO
,DH.ORDER_QTY
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,DH.INSPECT_DATE
,DH.DEFECT_QTY
,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = DH.DEFECT_REASON) AS DEFECT_REASON_NAME
@@ -5528,7 +5561,10 @@ FROM(
,POP.PART_NO
,POP.PART_NAME
,POP.ORDER_QTY
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS SALES_MNG_USER_NAME
,(SELECT (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = PM.WRITER) FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = AP.PART_OBJID) AS DESIGN_NAME
<!-- ,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = AP.OBJID AND DOC_TYPE='DEFECT_ACTION_IMG_01' AND UPPER(STATUS) = 'ACTIVE') AS CU01_CNT -->
@@ -5697,7 +5733,10 @@ FROM(
,POP.PART_NO
,POP.PART_NAME
,POP.SPEC
,(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
,CASE
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID)
END AS PARTNER_NAME
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS SALES_MNG_USER_NAME
,(SELECT (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = PM.WRITER) FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = AP.PART_OBJID) AS DESIGN_NAME
<!-- ,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = DH.OBJID AND DOC_TYPE='DEFECT_ACTION_IMG_01' AND UPPER(STATUS) = 'ACTIVE') AS CU01_CNT -->

View File

@@ -676,8 +676,12 @@ VALUES
(SELECT BOM_REPORT_OBJID FROM PROJECT_MGMT WHERE PROJECT_NO = SRM.PROJECT_NO LIMIT 1)
) AS BOM_REPORT_OBJID,
PM.SETUP,
SM.SUPPLY_NAME AS CUSTOMER_NAME,
SM.OBJID::VARCHAR AS CUSTOMER_OBJID, -- 고객사 OBJID (드롭다운 선택용)
CASE
WHEN SM.OBJID IS NOT NULL THEN SM.SUPPLY_NAME
WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = CM.CUSTOMER_OBJID)
ELSE SM.SUPPLY_NAME
END AS CUSTOMER_NAME,
COALESCE(SM.OBJID::VARCHAR, CM.CUSTOMER_OBJID) AS CUSTOMER_OBJID, -- 고객사 OBJID (드롭다운 선택용)
PM.MECHANICAL_TYPE,
SRM.RELEASE_DATE,
SRM.REQUEST_REASONS,
@@ -1000,14 +1004,23 @@ VALUES
SRM.AREA_CD,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.AREA_CD) AS AREA_CD_NAME,
-- 고객사: 프로젝트 정보 우선, 없으면 SALES_REQUEST_MASTER 값
-- 고객사: 프로젝트 정보 우선, 없으면 SALES_REQUEST_MASTER 값 (일반거래처 지원)
COALESCE(
(SELECT SM.SUPPLY_NAME
(SELECT
CASE
WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = CM.CUSTOMER_OBJID)
ELSE SM.SUPPLY_NAME
END
FROM PROJECT_MGMT PM
LEFT JOIN CONTRACT_MGMT CM ON CM.OBJID = PM.CONTRACT_OBJID
LEFT JOIN SUPPLY_MNG SM ON SM.OBJID = CM.CUSTOMER_OBJID::NUMERIC
LEFT JOIN SUPPLY_MNG SM ON SM.OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR
WHERE PM.OBJID::VARCHAR = SRM.PROJECT_NO),
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID)
(SELECT
CASE
WHEN SRM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = SRM.CUSTOMER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID)
END
)
) AS CUSTOMER_NAME,
-- 유/무상: 프로젝트 정보 우선, 없으면 SALES_REQUEST_MASTER 값
@@ -3873,7 +3886,10 @@ ORDER BY V.PATH2
SRM.AREA_CD,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.AREA_CD) AS AREA_CD_NAME,
SRM.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID) AS CUSTOMER_NAME,
CASE
WHEN SRM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = SRM.CUSTOMER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID)
END AS CUSTOMER_NAME,
SRM.PAID_TYPE,
(CASE WHEN SRM.PAID_TYPE = 'paid' THEN '유상' WHEN SRM.PAID_TYPE = 'free' THEN '무상' ELSE SRM.PAID_TYPE END) AS PAID_TYPE_NAME,
SRM.STATUS,

View File

@@ -427,7 +427,42 @@
,CATEGORY_CD
,CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME
,CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN
(SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR)
END AS CUSTOMER_NAME
<!-- 일반거래처 추가 정보 -->
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN
(SELECT CLIENT_CD FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE NULL
END AS CLIENT_CD
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN
(SELECT BUS_REG_NO FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE NULL
END AS CLIENT_BUS_REG_NO
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN
(SELECT CEO_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE NULL
END AS CLIENT_CEO_NM
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN
(SELECT TEL_NO FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE NULL
END AS CLIENT_TEL_NO
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN
(SELECT EMAIL FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE NULL
END AS CLIENT_EMAIL
,CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN 'CLIENT'
ELSE 'SUPPLY'
END AS CUSTOMER_TYPE
,PRODUCT
,CODE_NAME(PRODUCT) AS PRODUCT_NAME
,CUSTOMER_PROJECT_NAME
@@ -1625,13 +1660,16 @@
</update>
<select id="getContractMgmtInfo" parameterType="map" resultType="map">
SELECT
A.OBJID
,A.CATEGORY_CD
,CODE_NAME(A.CATEGORY_CD) AS CATEGORY_NAME
,A.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = A.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,A.PRODUCT
SELECT
A.OBJID
,A.CATEGORY_CD
,CODE_NAME(A.CATEGORY_CD) AS CATEGORY_NAME
,A.CUSTOMER_OBJID
,CASE
WHEN A.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = A.CUSTOMER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = A.CUSTOMER_OBJID::VARCHAR)
END AS CUSTOMER_NAME
,A.PRODUCT
,CODE_NAME(A.PRODUCT) AS PRODUCT_NAME
,A.CUSTOMER_PROJECT_NAME
,A.STATUS_CD
@@ -4066,7 +4104,10 @@ ORDER BY ASM.SUPPLY_NAME
CATEGORY_CD,
CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME,
CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR)
END AS CUSTOMER_NAME,
PRODUCT,
CODE_NAME(PRODUCT) AS PRODUCT_NAME,
CUSTOMER_PROJECT_NAME,
@@ -4587,8 +4628,14 @@ WHERE
SELECT
T.OBJID,
T.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
(SELECT EMAIL FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_EMAIL,
CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR)
END AS CUSTOMER_NAME,
CASE
WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT EMAIL FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID)
ELSE (SELECT EMAIL FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR)
END AS CUSTOMER_EMAIL,
T.CUSTOMER_PROJECT_NAME,
T.CONTRACT_NO,
T.PRODUCT,
@@ -4802,7 +4849,10 @@ WHERE
OBJID,
CONTRACT_NO,
CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CONTRACT_MGMT.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
CASE
WHEN CONTRACT_MGMT.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CONTRACT_MGMT.CUSTOMER_OBJID)
ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CONTRACT_MGMT.CUSTOMER_OBJID::VARCHAR)
END AS CUSTOMER_NAME,
-- 주문유형
CATEGORY_CD,
CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME,

View File

@@ -1084,6 +1084,22 @@ public class AdminService extends BaseService {
return CommonUtils.toUpperCaseMapKey(resultList);
}
/**
* 일반거래처 담당자 목록 조회
*/
public List<Map<String,Object>> getClientChargerList(Map<String, Object> paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultList = sqlSession.selectList("admin.getClientChargerList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
/**
* 고객사의 Milestone을 연결하기전 기존에 연결된 Milestone을 삭제한다.
* @param request
@@ -2546,6 +2562,31 @@ public class AdminService extends BaseService {
if(!"".equals(objid)){
sqlSession.update("admin.mergeClientMngInfo",paramMap);
// 담당자 정보 저장
String[] rowObjIds = request.getParameterValues("rowObjId");
// 기존 담당자 삭제 (담당자가 0명이어도 삭제 실행)
Map<String,Object> deleteParam = new HashMap<String,Object>();
deleteParam.put("objid", objid);
sqlSession.delete("admin.initClientCharger", deleteParam);
// 담당자 저장 (담당자가 있을 때만)
if(rowObjIds != null && rowObjIds.length > 0){
for(String rowObjId : rowObjIds){
Map<String,Object> chargerParam = new HashMap<String,Object>();
chargerParam.put("OBJID", rowObjId);
chargerParam.put("CLIENT_OBJID", objid);
chargerParam.put("CHARGER_TYPE", CommonUtils.checkNull(request.getParameter("charger_type_" + rowObjId)));
chargerParam.put("CHARGER_NAME", CommonUtils.checkNull(request.getParameter("charger_name_" + rowObjId)));
chargerParam.put("PHONE", CommonUtils.checkNull(request.getParameter("phone_" + rowObjId)));
chargerParam.put("TEL", CommonUtils.checkNull(request.getParameter("tel_" + rowObjId)));
chargerParam.put("FAX", CommonUtils.checkNull(request.getParameter("fax_" + rowObjId)));
chargerParam.put("EMAIL", CommonUtils.checkNull(request.getParameter("email_" + rowObjId)));
chargerParam.put("WRITER", writer);
sqlSession.insert("admin.mergeClientCharger", chargerParam);
}
}
//이력 (TODO: CLIENT_MNG_HISTORY 테이블 생성 후 활성화)
// paramMap.put("objid", CommonUtils.createObjId());
// paramMap.put("targetObjid", objid);

View File

@@ -1791,6 +1791,9 @@ public class PurchaseOrderService {
public void savePurchaseOrder_salesRequest(HttpServletRequest request, Map paramMap) throws Exception{
SqlSession sqlSession = null;
try{
System.out.println("=== savePurchaseOrder_salesRequest 시작 ===");
System.out.println("paramMap: " + paramMap);
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
HttpSession session = request.getSession();
@@ -1799,6 +1802,7 @@ public class PurchaseOrderService {
// 선택된 구매요청서/품의서 목록
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
System.out.println("gridDataList size: " + gridDataList.size());
for(int i = 0; i < gridDataList.size(); i++){
Map<String, Object> selectedItem = gridDataList.get(i);
@@ -1814,15 +1818,20 @@ public class PurchaseOrderService {
queryParam.put("SALES_REQUEST_OBJID", salesRequestObjid);
Map salesRequestInfo = (Map) sqlSession.selectOne("salesMng.getProposalInfo", queryParam);
System.out.println("salesRequestInfo: " + salesRequestInfo);
String docType = CommonUtils.checkNull((String) salesRequestInfo.get("doc_type"));
System.out.println("docType: " + docType);
// 품의서(PROPOSAL)인 경우 VENDOR_PM 사용, 구매요청서는 PARTNER_OBJID 사용
String queryId = "PROPOSAL".equals(docType)
? "purchaseOrder.getVendorListByProposalObjid"
: "purchaseOrder.grtPartnerObjidBySalesRequestObjid";
System.out.println("queryId: " + queryId);
// 공급업체별 목록 조회
List<Map<String, Object>> vendorList = sqlSession.selectList(queryId, queryParam);
System.out.println("vendorList size: " + vendorList.size());
System.out.println("vendorList: " + vendorList);
// 공급업체별로 발주서 마스터 생성
for(Map<String, Object> vendorMap : vendorList){