발주서관리까지

This commit is contained in:
leeheejin
2025-12-04 18:31:32 +09:00
parent 6c1a5cb490
commit 171efbe149
25 changed files with 843 additions and 184 deletions

View File

@@ -2300,7 +2300,7 @@ SELECT
FROM CONTRACT_MGMT T1, RELEASE_MGMT T2
WHERE T1.OBJID = T2.PARENT_OBJID::NUMERIC
) AS T1
WHERE T.OBJID = T1.CUSTOMER_OBJID::NUMERIC
WHERE T1.CUSTOMER_OBJID NOT LIKE 'C_%' AND T.OBJID::VARCHAR = T1.CUSTOMER_OBJID::VARCHAR
-->
</select>

View File

@@ -3185,7 +3185,7 @@ where
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3390,7 +3390,7 @@ where
PM.CATEGORY_CD,
CODE_NAME(PM.CATEGORY_CD) AS CATEGORY_NAME,
PM.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = PM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
CASE WHEN PM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = PM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = PM.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME,
PM.PRODUCT,
CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME,
(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = PM.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME,
@@ -3637,7 +3637,7 @@ where
,T.CATEGORY_CD
,CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME
,T.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
,T.PRODUCT
,CODE_NAME(PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3960,7 +3960,7 @@ where
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -42,7 +42,7 @@
,C.CATEGORY_CD
,CODE_NAME(C.CATEGORY_CD) AS CATEGORY_NAME
,C.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = C.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE WHEN C.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS CL WHERE 'C_' || CL.OBJID::VARCHAR = C.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = C.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME
,C.PRODUCT
,CODE_NAME(C.PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -512,7 +512,7 @@
,C.CATEGORY_CD
,CODE_NAME(C.CATEGORY_CD) AS CATEGORY_NAME
,C.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = C.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE WHEN C.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS CL WHERE 'C_' || CL.OBJID::VARCHAR = C.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = C.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME
,C.PRODUCT
,CODE_NAME(C.PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -65,7 +65,7 @@
,T.CATEGORY_CD
,CODE_NAME(T.CATEGORY_CD) AS CATEGORY_NAME
,T.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
,T.PRODUCT
,CODE_NAME(T.PRODUCT)||'('||T.MECHANICAL_TYPE||')' AS PRODUCT_NAME
,T.MECHANICAL_TYPE

View File

@@ -32,7 +32,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -244,7 +244,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1066,7 +1066,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1653,7 +1653,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1744,7 +1744,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1943,7 +1943,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -2674,7 +2674,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -2895,7 +2895,7 @@
TO_CHAR(PM.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
CM.CUSTOMER_OBJID,
COALESCE(
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CM.CUSTOMER_OBJID::NUMERIC LIMIT 1),
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID LIMIT 1) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR LIMIT 1) END,
''
) AS CUSTOMER_NAME,
CM.PAID_TYPE,
@@ -2922,8 +2922,8 @@
WHERE CIS.ITEM_OBJID = CI.OBJID
AND UPPER(CIS.STATUS) = 'ACTIVE'
AND CIS.SERIAL_NO IS NOT NULL) AS SERIAL_NO,
-- 수량: CONTRACT_ITEM의 수량
COALESCE(CI.ORDER_QUANTITY::numeric, PM.QUANTITY::numeric, 0) AS QUANTITY,
-- 수량: PROJECT_MGMT 우선
COALESCE(PM.QUANTITY::numeric, CI.ORDER_QUANTITY::numeric, 0) AS QUANTITY,
-- 요청납기: CONTRACT_ITEM 우선
COALESCE(CI.DUE_DATE, PM.DUE_DATE, CM.req_del_date) AS REQ_DEL_DATE,
-- 고객요청사항: CONTRACT_ITEM에서 가져옴
@@ -2944,6 +2944,37 @@
LIMIT 1),
''
) AS EBOM_REGDATE,
-- M-BOM HEADER OBJID: 구매리스트 생성 시 필요
(SELECT MH.OBJID::VARCHAR
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY MH.REGDATE DESC
LIMIT 1) AS MBOM_HEADER_OBJID,
-- 구매리스트 OBJID: 이미 생성된 구매리스트가 있는지 확인용
(SELECT SRM.OBJID::VARCHAR
FROM SALES_REQUEST_MASTER SRM
WHERE SRM.MBOM_HEADER_OBJID = (
SELECT MH.OBJID::VARCHAR
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY MH.REGDATE DESC
LIMIT 1
)
LIMIT 1) AS PURCHASE_LIST_OBJID,
-- 구매리스트 생성일
(SELECT TO_CHAR(SRM.REGDATE, 'YYYY-MM-DD')
FROM SALES_REQUEST_MASTER SRM
WHERE SRM.MBOM_HEADER_OBJID = (
SELECT MH.OBJID::VARCHAR
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY MH.REGDATE DESC
LIMIT 1
)
LIMIT 1) AS PURCHASE_LIST_DATE,
-- M-BOM 상태: 새 MBOM_HEADER 테이블에서 조회
COALESCE(
(SELECT
@@ -2968,16 +2999,35 @@
''
) AS MBOM_PART_NO,
'1.0' AS MBOM_VERSION,
-- M-BOM 저장일: 새 MBOM_HEADER 테이블에서 조회
COALESCE(
(SELECT TO_CHAR(MH.REGDATE, 'YYYY-MM-DD')
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY MH.REGDATE DESC
LIMIT 1),
TO_CHAR(PM.REGDATE, 'YYYY-MM-DD')
) AS MBOM_REGDATE
-- M-BOM 저장일: 새 MBOM_HEADER 테이블에서 조회 (수정일 우선, 없으면 등록일)
(SELECT TO_CHAR(COALESCE(MH.EDIT_DATE, MH.REGDATE), 'YYYY-MM-DD')
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY COALESCE(MH.EDIT_DATE, MH.REGDATE) DESC
LIMIT 1) AS MBOM_REGDATE,
-- M-BOM 작성자: 새 MBOM_HEADER 테이블에서 조회
(SELECT USER_NAME(COALESCE(MH.EDITER, MH.WRITER))
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY COALESCE(MH.EDITER, MH.WRITER) DESC
LIMIT 1) AS MBOM_EDITOR,
-- M-BOM 히스토리 카운트 (버전, 0이면 NULL)
NULLIF(
(
SELECT COUNT(1)::INTEGER
FROM MBOM_HISTORY MHI
WHERE MHI.MBOM_HEADER_OBJID = (
SELECT MH.OBJID::VARCHAR
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY MH.REGDATE DESC
LIMIT 1
)
), 0
) AS MBOM_VERSION
FROM
PROJECT_MGMT PM
LEFT JOIN CONTRACT_MGMT CM ON PM.CONTRACT_OBJID = CM.OBJID
@@ -3060,6 +3110,7 @@
''
) AS CATEGORY_NAME,
CM.PRODUCT,
CM.PRODUCT AS PRODUCT_CODE,
COALESCE(
(SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CM.PRODUCT LIMIT 1),
''
@@ -3071,7 +3122,7 @@
) AS AREA_NAME,
CM.CUSTOMER_OBJID,
COALESCE(
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CM.CUSTOMER_OBJID::NUMERIC LIMIT 1),
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID LIMIT 1) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR LIMIT 1) END,
''
) AS CUSTOMER_NAME,
CM.PAID_TYPE,
@@ -3442,6 +3493,215 @@
LIMIT 1
</select>
<!-- 품번 기준 최신 M-BOM 템플릿 조회 (Machine 이외 제품용) -->
<select id="getLatestMbomTemplateByPartNo" parameterType="map" resultType="com.pms.common.UpperKeyMap">
SELECT
MH.OBJID AS TEMPLATE_HEADER_OBJID,
MH.MBOM_NO AS TEMPLATE_MBOM_NO,
MH.PART_NO,
MH.PART_NAME,
MH.SOURCE_BOM_TYPE,
MH.SOURCE_EBOM_OBJID,
MH.SOURCE_MBOM_OBJID,
TO_CHAR(MH.REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS REGDATE
FROM MBOM_HEADER MH
INNER JOIN PROJECT_MGMT PM ON MH.PROJECT_OBJID = PM.OBJID
INNER JOIN CONTRACT_MGMT CM ON PM.CONTRACT_OBJID = CM.OBJID
WHERE MH.PART_NO = #{partNo}
AND MH.STATUS = 'Y'
AND CM.PRODUCT != '0000928' <!-- Machine 제외 -->
ORDER BY MH.REGDATE DESC
LIMIT 1
</select>
<!-- 템플릿 M-BOM의 상세 항목 조회 -->
<select id="getMbomTemplateDetails" parameterType="map" resultType="com.pms.common.UpperKeyMap">
WITH RECURSIVE VIEW_BOM(
MBOM_HEADER_OBJID,
OBJID,
PARENT_OBJID,
CHILD_OBJID,
PART_OBJID,
PART_NO,
PART_NAME,
QTY,
ITEM_QTY,
QTY_TEMP,
REGDATE,
SEQ,
STATUS,
LEV,
PATH,
PATH2,
CYCLE,
UNIT,
SUPPLY_TYPE,
MAKE_OR_BUY,
RAW_MATERIAL_PART_NO,
RAW_MATERIAL_SPEC,
RAW_MATERIAL,
RAW_MATERIAL_SIZE,
PROCESSING_VENDOR,
PROCESSING_DEADLINE,
GRINDING_DEADLINE,
REQUIRED_QTY,
WRITER,
EDITER,
EDIT_DATE,
REMARK
) AS (
SELECT
A.MBOM_HEADER_OBJID,
A.OBJID,
A.PARENT_OBJID,
A.CHILD_OBJID,
A.PART_OBJID,
A.PART_NO,
A.PART_NAME,
A.QTY,
A.QTY,
A.QTY,
A.REGDATE,
A.SEQ,
A.STATUS,
1,
ARRAY [A.CHILD_OBJID::TEXT],
ARRAY [A.SEQ::TEXT],
FALSE,
A.UNIT,
A.SUPPLY_TYPE,
A.MAKE_OR_BUY,
A.RAW_MATERIAL_PART_NO,
A.RAW_MATERIAL_SPEC,
A.RAW_MATERIAL,
A.RAW_MATERIAL_SIZE,
A.PROCESSING_VENDOR,
A.PROCESSING_DEADLINE,
A.GRINDING_DEADLINE,
A.REQUIRED_QTY,
A.WRITER,
A.EDITER,
A.EDIT_DATE,
A.REMARK
FROM
MBOM_DETAIL A
WHERE 1=1
AND (A.PARENT_OBJID IS NULL OR A.PARENT_OBJID = '')
AND A.MBOM_HEADER_OBJID = #{mbomHeaderObjid}
AND A.STATUS = 'ACTIVE'
UNION ALL
SELECT
B.MBOM_HEADER_OBJID,
B.OBJID,
B.PARENT_OBJID,
B.CHILD_OBJID,
B.PART_OBJID,
B.PART_NO,
B.PART_NAME,
B.QTY,
B.QTY,
B.QTY,
B.REGDATE,
B.SEQ,
B.STATUS,
LEV + 1,
PATH||B.CHILD_OBJID::TEXT,
PATH2||B.SEQ::TEXT,
B.PARENT_OBJID = ANY(PATH),
B.UNIT,
B.SUPPLY_TYPE,
B.MAKE_OR_BUY,
B.RAW_MATERIAL_PART_NO,
B.RAW_MATERIAL_SPEC,
B.RAW_MATERIAL,
B.RAW_MATERIAL_SIZE,
B.PROCESSING_VENDOR,
B.PROCESSING_DEADLINE,
B.GRINDING_DEADLINE,
B.REQUIRED_QTY,
B.WRITER,
B.EDITER,
B.EDIT_DATE,
B.REMARK
FROM
MBOM_DETAIL B
JOIN
VIEW_BOM
ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID
AND VIEW_BOM.MBOM_HEADER_OBJID = B.MBOM_HEADER_OBJID
AND B.STATUS = 'ACTIVE'
)
SELECT
V.MBOM_HEADER_OBJID AS BOM_REPORT_OBJID,
V.OBJID,
V.PARENT_OBJID,
V.CHILD_OBJID,
V.PART_OBJID,
V.PART_OBJID AS LAST_PART_OBJID,
V.PART_OBJID AS BOM_LAST_PART_OBJID,
V.PART_NO,
V.PART_NAME,
V.QTY,
V.ITEM_QTY,
V.QTY_TEMP,
V.LEV AS LEVEL,
(SELECT COUNT(*) FROM MBOM_DETAIL WHERE PARENT_OBJID = V.CHILD_OBJID) AS SUB_PART_CNT,
V.SEQ,
V.STATUS,
-- M-BOM 전용 필드
V.UNIT,
V.SUPPLY_TYPE,
V.MAKE_OR_BUY,
V.RAW_MATERIAL_PART_NO AS RAW_MATERIAL_NO,
V.RAW_MATERIAL_SPEC,
V.RAW_MATERIAL,
V.RAW_MATERIAL_SIZE AS SIZE,
V.PROCESSING_VENDOR,
V.PROCESSING_DEADLINE,
V.GRINDING_DEADLINE,
V.REQUIRED_QTY,
-- ORDER_QTY, PRODUCTION_QTY는 새 프로젝트에서 재계산되므로 제외
V.WRITER,
TO_CHAR(V.REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS REGDATE,
V.EDITER,
CASE WHEN V.EDIT_DATE IS NOT NULL THEN TO_CHAR(V.EDIT_DATE, 'YYYY-MM-DD HH24:MI:SS') ELSE NULL END AS EDIT_DATE,
V.REMARK,
-- E-BOM 호환 필드
NULL AS PARENT_PART_NO,
NULL AS CONTRACT_OBJID,
CASE WHEN V.LEV = 1 THEN V.OBJID ELSE NULL END AS ROOT_OBJID,
CASE WHEN V.LEV = 1 THEN V.OBJID ELSE NULL END AS SUB_ROOT_OBJID,
1 AS LEAF,
-- PART_MNG 테이블에서 추가 정보 (3D/2D/PDF, 재료, 열처리 등)
P.SPEC,
P.MATERIAL,
P.WEIGHT,
P.PART_TYPE,
P.REVISION,
P.MAKER,
P.THICKNESS,
P.WIDTH,
P.HEIGHT,
P.OUT_DIAMETER,
P.IN_DIAMETER,
P.LENGTH,
P.SOURCING_CODE,
P.HEAT_TREATMENT_HARDNESS,
P.HEAT_TREATMENT_METHOD,
P.SURFACE_TREATMENT,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.UNIT) AS UNIT_TITLE,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE,
(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.STATUS = 'Active' AND F.DOC_TYPE IN ('3D_CAD')) AS CU01_CNT,
(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.STATUS = 'Active' AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) AS CU02_CNT,
(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.STATUS = 'Active' AND F.DOC_TYPE IN ('2D_PDF_CAD')) AS CU03_CNT,
V.LEV
FROM VIEW_BOM V
LEFT JOIN PART_MNG P ON V.PART_OBJID = P.OBJID
ORDER BY V.PATH2
</select>
<!-- M-BOM 할당 정보 조회 -->
<select id="getMbomAssignment" parameterType="map" resultType="com.pms.common.UpperKeyMap">
SELECT
@@ -3451,8 +3711,8 @@
PM.SOURCE_MBOM_OBJID,
PM.PART_NO,
PM.PART_NAME,
PM.PRODUCT,
CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME,
CM.PRODUCT AS PRODUCT_CODE,
CODE_NAME(CM.PRODUCT) AS PRODUCT_NAME,
-- E-BOM 정보
CASE WHEN PM.SOURCE_BOM_TYPE = 'EBOM' THEN
(SELECT PART_NO FROM PART_BOM_REPORT WHERE OBJID = PM.SOURCE_EBOM_OBJID)
@@ -3468,6 +3728,7 @@
(SELECT PART_NAME FROM MBOM_HEADER WHERE OBJID = PM.SOURCE_MBOM_OBJID)
END AS MBOM_PART_NAME
FROM PROJECT_MGMT PM
INNER JOIN CONTRACT_MGMT CM ON PM.CONTRACT_OBJID = CM.OBJID
WHERE PM.OBJID::VARCHAR = #{projectObjId}
</select>
@@ -3493,6 +3754,30 @@
LIMIT 1
</select>
<!-- 프로젝트의 활성 M-BOM 목록 조회 -->
<select id="getActiveMbomsByProjectId" parameterType="map" resultType="com.pms.common.UpperKeyMap">
SELECT * FROM MBOM_HEADER
WHERE PROJECT_OBJID = #{projectObjId}
AND (STATUS = 'Y' OR STATUS = 'ACTIVE')
ORDER BY REGDATE DESC
</select>
<!-- M-BOM HEADER 비활성화 -->
<update id="inactivateMbomHeader" parameterType="map">
UPDATE MBOM_HEADER
SET STATUS = 'INACTIVE',
EDIT_DATE = NOW()
WHERE OBJID = #{mbomHeaderObjid}
</update>
<!-- M-BOM DETAIL 비활성화 -->
<update id="inactivateMbomDetail" parameterType="map">
UPDATE MBOM_DETAIL
SET STATUS = 'INACTIVE',
EDIT_DATE = NOW()
WHERE MBOM_HEADER_OBJID = #{mbomHeaderObjid}
</update>
<!-- MBOM_HEADER 삽입 -->
<insert id="insertMbomHeader" parameterType="map">
INSERT INTO MBOM_HEADER (
@@ -3515,8 +3800,12 @@
RAW_MATERIAL_PART_NO, RAW_MATERIAL_SPEC, RAW_MATERIAL, RAW_MATERIAL_SIZE,
PROCESSING_VENDOR, PROCESSING_DEADLINE, GRINDING_DEADLINE,
REQUIRED_QTY, ORDER_QTY, PRODUCTION_QTY, STOCK_QTY, SHORTAGE_QTY,
NET_QTY, PO_QTY,
VENDOR, UNIT_PRICE, TOTAL_PRICE, CURRENCY, LEAD_TIME, MIN_ORDER_QTY,
STATUS, WRITER, REGDATE, REMARK
<if test="proposalDate != null">
PROPOSAL_DATE,
</if>
STATUS, WRITER, REGDATE, EDITER, EDIT_DATE, REMARK
) VALUES (
#{objid}, #{mbomHeaderObjid}, #{parentObjid}, #{childObjid}, #{seq}, #{level},
#{partObjid}, #{partNo}, #{partName}, #{qty}, #{unit},
@@ -3524,8 +3813,12 @@
#{rawMaterialPartNo}, #{rawMaterialSpec}, #{rawMaterial}, #{rawMaterialSize},
#{processingVendor}, #{processingDeadline}, #{grindingDeadline},
#{requiredQty}, #{orderQty}, #{productionQty}, #{stockQty}, #{shortageQty},
#{netQty}, #{poQty},
#{vendor}, #{unitPrice}, #{totalPrice}, #{currency}, #{leadTime}, #{minOrderQty},
'ACTIVE', #{sessionUserId}, NOW(), #{remark}
<if test="proposalDate != null">
#{proposalDate},
</if>
'ACTIVE', #{sessionUserId}, NOW(), #{sessionUserId}, NOW(), #{remark}
)
</insert>
@@ -3540,12 +3833,50 @@
WHERE OBJID = #{mbomHeaderObjid}
</update>
<!-- MBOM_DETAIL 삭제 (수정 시 기존 데이터 삭제 후 재삽입) -->
<!-- MBOM_DETAIL 전체 삭제 (신규 저장 시 사용 - 기존 호환성 유지) -->
<delete id="deleteMbomDetail" parameterType="map">
DELETE FROM MBOM_DETAIL
WHERE MBOM_HEADER_OBJID = #{mbomHeaderObjid}
</delete>
<!-- MBOM_DETAIL 개별 삭제 (UPSERT용) -->
<delete id="deleteMbomDetailByObjid" parameterType="map">
DELETE FROM MBOM_DETAIL
WHERE OBJID = #{objid}
</delete>
<!-- MBOM_DETAIL 업데이트 (UPSERT용) -->
<update id="updateMbomDetail" parameterType="map">
UPDATE MBOM_DETAIL
SET
PARENT_OBJID = NULLIF(#{parentObjid}, ''),
SEQ = NULLIF(#{seq}::TEXT, '')::INTEGER,
LEVEL = NULLIF(#{level}::TEXT, '')::INTEGER,
PART_OBJID = NULLIF(#{partObjid}, ''),
PART_NO = NULLIF(#{partNo}, ''),
PART_NAME = NULLIF(#{partName}, ''),
QTY = NULLIF(#{qty}::TEXT, '')::NUMERIC,
UNIT = NULLIF(#{unit}, ''),
SUPPLY_TYPE = NULLIF(#{supplyType}, ''),
MAKE_OR_BUY = NULLIF(#{makeOrBuy}, ''),
RAW_MATERIAL_PART_NO = NULLIF(#{rawMaterialPartNo}, ''),
RAW_MATERIAL_SPEC = NULLIF(#{rawMaterialSpec}, ''),
RAW_MATERIAL = NULLIF(#{rawMaterial}, ''),
RAW_MATERIAL_SIZE = NULLIF(#{rawMaterialSize}, ''),
PROCESSING_VENDOR = NULLIF(#{processingVendor}, ''),
PROCESSING_DEADLINE = NULLIF(#{processingDeadline}, ''),
GRINDING_DEADLINE = NULLIF(#{grindingDeadline}, ''),
REQUIRED_QTY = NULLIF(#{requiredQty}::TEXT, '')::NUMERIC,
ORDER_QTY = NULLIF(#{orderQty}::TEXT, '')::NUMERIC,
PRODUCTION_QTY = NULLIF(#{productionQty}::TEXT, '')::NUMERIC,
STOCK_QTY = NULLIF(#{stockQty}::TEXT, '')::NUMERIC,
SHORTAGE_QTY = NULLIF(#{shortageQty}::TEXT, '')::NUMERIC,
EDITER = #{sessionUserId},
EDIT_DATE = NOW(),
REMARK = NULLIF(#{remark}, '')
WHERE OBJID = #{objid}
</update>
<!-- MBOM_HISTORY 삽입 -->
<insert id="insertMbomHistory" parameterType="map">
INSERT INTO MBOM_HISTORY (
@@ -3591,6 +3922,41 @@
ORDER BY REGDATE DESC, MBOM_NO
</select>
<!-- M-BOM 헤더 정보 조회 (OBJID로) -->
<select id="getMbomHeaderByObjid" parameterType="map" resultType="com.pms.common.UpperKeyMap">
SELECT
OBJID,
MBOM_NO,
PART_NO,
PART_NAME,
SOURCE_BOM_TYPE,
TO_CHAR(REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS REGDATE,
WRITER,
TO_CHAR(EDIT_DATE, 'YYYY-MM-DD HH24:MI:SS') AS EDIT_DATE,
EDITER,
STATUS
FROM MBOM_HEADER
WHERE OBJID::VARCHAR = #{mbomHeaderObjid}
</select>
<!-- M-BOM 이력 조회 -->
<select id="getMbomHistoryList" parameterType="map" resultType="com.pms.common.UpperKeyMap">
SELECT
MH.OBJID,
MH.MBOM_HEADER_OBJID,
MH.CHANGE_TYPE,
MH.CHANGE_DESCRIPTION,
TO_CHAR(MH.CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS') AS CHANGE_DATE,
MH.CHANGE_USER,
COALESCE(
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = MH.CHANGE_USER LIMIT 1),
MH.CHANGE_USER
) AS CHANGE_USER_NAME
FROM MBOM_HISTORY MH
WHERE MH.MBOM_HEADER_OBJID::VARCHAR = #{mbomHeaderObjid}
ORDER BY MH.CHANGE_DATE DESC
</select>
<!-- M-BOM 상세 리스트 조회 (이력용) -->
<select id="getMbomDetailList" parameterType="map" resultType="com.pms.common.UpperKeyMap">
SELECT
@@ -3619,12 +3985,15 @@
PRODUCTION_QTY,
STOCK_QTY,
SHORTAGE_QTY,
NET_QTY,
PO_QTY,
VENDOR,
UNIT_PRICE,
TOTAL_PRICE,
CURRENCY,
LEAD_TIME,
MIN_ORDER_QTY,
PROPOSAL_DATE,
STATUS,
REMARK
FROM
@@ -3818,6 +4187,7 @@
V.STOCK_QTY,
V.SHORTAGE_QTY,
V.VENDOR,
(SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = V.VENDOR) AS VENDOR_NAME,
V.UNIT_PRICE,
V.TOTAL_PRICE,
V.CURRENCY,
@@ -3863,4 +4233,173 @@
ORDER BY V.PATH2
</select>
<!-- M-BOM 구조만 조회 (할당용 - 생산 정보 제외) -->
<select id="getMbomStructureOnly" parameterType="map" resultType="com.pms.common.UpperKeyMap">
/* productionplanning.getMbomStructureOnly - M-BOM 구조만 조회 (생산 정보 제외) */
WITH RECURSIVE VIEW_BOM(
MBOM_HEADER_OBJID,
OBJID,
PARENT_OBJID,
CHILD_OBJID,
PART_OBJID,
PART_NO,
PART_NAME,
QTY,
ITEM_QTY,
QTY_TEMP,
REGDATE,
SEQ,
STATUS,
LEV,
PATH,
PATH2,
CYCLE,
UNIT,
WRITER
) AS (
SELECT
A.MBOM_HEADER_OBJID,
A.OBJID,
A.PARENT_OBJID,
A.CHILD_OBJID,
A.PART_OBJID,
A.PART_NO,
A.PART_NAME,
A.QTY,
A.QTY,
A.QTY,
A.REGDATE,
A.SEQ,
A.STATUS,
1,
ARRAY [A.CHILD_OBJID::TEXT],
ARRAY [A.SEQ::TEXT],
FALSE,
A.UNIT,
A.WRITER
FROM
MBOM_DETAIL A
WHERE 1=1
AND (A.PARENT_OBJID IS NULL OR A.PARENT_OBJID = '')
AND A.MBOM_HEADER_OBJID = #{mbomHeaderObjid}
AND A.STATUS = 'ACTIVE'
UNION ALL
SELECT
B.MBOM_HEADER_OBJID,
B.OBJID,
B.PARENT_OBJID,
B.CHILD_OBJID,
B.PART_OBJID,
B.PART_NO,
B.PART_NAME,
B.QTY,
B.QTY,
B.QTY,
B.REGDATE,
B.SEQ,
B.STATUS,
LEV + 1,
PATH||B.CHILD_OBJID::TEXT,
PATH2||B.SEQ::TEXT,
B.PARENT_OBJID = ANY(PATH),
B.UNIT,
B.WRITER
FROM
MBOM_DETAIL B
JOIN
VIEW_BOM
ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID
AND VIEW_BOM.MBOM_HEADER_OBJID = B.MBOM_HEADER_OBJID
AND B.STATUS = 'ACTIVE'
)
SELECT
V.MBOM_HEADER_OBJID AS BOM_REPORT_OBJID,
V.OBJID,
V.PARENT_OBJID,
V.CHILD_OBJID,
V.PART_OBJID,
V.PART_OBJID AS LAST_PART_OBJID,
V.PART_OBJID AS BOM_LAST_PART_OBJID,
V.PART_NO,
V.PART_NAME,
V.QTY,
V.ITEM_QTY,
V.QTY_TEMP,
V.LEV AS LEVEL,
(SELECT COUNT(*) FROM MBOM_DETAIL WHERE PARENT_OBJID = V.CHILD_OBJID) AS SUB_PART_CNT,
V.SEQ,
V.STATUS,
V.UNIT,
V.WRITER,
TO_CHAR(V.REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS REGDATE,
-- 생산 정보는 모두 NULL
NULL AS SUPPLY_TYPE,
NULL AS MAKE_OR_BUY,
NULL AS RAW_MATERIAL_NO,
NULL AS RAW_MATERIAL_SPEC,
NULL AS RAW_MATERIAL,
NULL AS SIZE,
NULL AS PROCESSING_VENDOR,
NULL AS PROCESSING_DEADLINE,
NULL AS GRINDING_DEADLINE,
NULL AS REQUIRED_QTY,
NULL AS ORDER_QTY,
NULL AS PRODUCTION_QTY,
NULL AS STOCK_QTY,
NULL AS SHORTAGE_QTY,
NULL AS VENDOR,
NULL AS UNIT_PRICE,
NULL AS TOTAL_PRICE,
NULL AS CURRENCY,
NULL AS LEAD_TIME,
NULL AS MIN_ORDER_QTY,
NULL AS EDITER,
NULL AS EDIT_DATE,
NULL AS REMARK,
-- E-BOM 호환 필드
NULL AS PARENT_PART_NO,
NULL AS CONTRACT_OBJID,
CASE WHEN V.LEV = 1 THEN V.OBJID ELSE NULL END AS ROOT_OBJID,
CASE WHEN V.LEV = 1 THEN V.OBJID ELSE NULL END AS SUB_ROOT_OBJID,
1 AS LEAF,
-- PART_MNG 테이블에서 파트 속성 정보
P.SPEC,
P.MATERIAL,
P.WEIGHT,
P.PART_TYPE,
P.REVISION,
P.MAKER,
P.THICKNESS,
P.WIDTH,
P.HEIGHT,
P.OUT_DIAMETER,
P.IN_DIAMETER,
P.LENGTH,
P.SOURCING_CODE,
P.HEAT_TREATMENT_HARDNESS,
P.HEAT_TREATMENT_METHOD,
P.SURFACE_TREATMENT,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.UNIT) AS UNIT_TITLE,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE,
(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.STATUS = 'Active' AND F.DOC_TYPE IN ('3D_CAD')) AS CU01_CNT,
(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.STATUS = 'Active' AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) AS CU02_CNT,
(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.STATUS = 'Active' AND F.DOC_TYPE IN ('2D_PDF_CAD')) AS CU03_CNT,
V.LEV
FROM VIEW_BOM V
INNER JOIN PART_MNG P ON P.OBJID = V.PART_OBJID
WHERE 1=1
ORDER BY V.PATH2
</select>
<!-- MBOM_HEADER 테이블에 OBJID 존재 여부 확인 -->
<select id="checkMbomHeaderExists" parameterType="map" resultType="int">
/* productionplanning.checkMbomHeaderExists - M-BOM 존재 확인 */
SELECT COUNT(*)
FROM MBOM_HEADER
WHERE OBJID = #{objid}
AND STATUS = 'Y'
</select>
</mapper>

View File

@@ -3416,7 +3416,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3558,7 +3558,7 @@
,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
,T.PRODUCT
,CODE_NAME(T.PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3857,7 +3857,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -4250,7 +4250,7 @@
,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
@@ -4363,7 +4363,7 @@
,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
@@ -4479,7 +4479,7 @@
,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
@@ -7910,7 +7910,7 @@ SELECT
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -8022,7 +8022,7 @@ SELECT
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -836,13 +836,13 @@
<select id="grtPartnerObjidBySalesRequestObjid" parameterType="map" resultType="map">
SELECT
PARTNER_OBJID
COALESCE(NULLIF(VENDOR_PM, ''), PARTNER_OBJID) AS PARTNER_OBJID
FROM
SALES_REQUEST_PART SRP
LEFT OUTER JOIN SALES_REQUEST_MASTER SRM ON SRP.SALES_REQUEST_MASTER_OBJID = SRM.OBJID
WHERE SRP.SALES_REQUEST_MASTER_OBJID = #{SALES_REQUEST_OBJID}
AND NOT EXISTS (SELECT 1 FROM PURCHASE_ORDER_MASTER AS P WHERE P.SALES_REQUEST_OBJID = SRM.OBJID AND P.PARTNER_OBJID = SRP.PARTNER_OBJID)
GROUP BY PARTNER_OBJID
AND (VENDOR_PM IS NOT NULL AND VENDOR_PM != '' OR PARTNER_OBJID IS NOT NULL AND PARTNER_OBJID != '')
GROUP BY COALESCE(NULLIF(VENDOR_PM, ''), PARTNER_OBJID)
</select>
<!-- 품의서용 공급업체 조회 (VENDOR_PM 사용) -->
@@ -3265,7 +3265,7 @@ SELECT POM.OBJID
ON POM.CONTRACT_MGMT_OBJID = CM.OBJID
left outer join SALES_REQUEST_MASTER as SRM
on POM.SALES_REQUEST_OBJID = SRM.OBJID
and SRM.DOC_TYPE = 'PROPOSAL'
-- and SRM.DOC_TYPE = 'PROPOSAL' -- DOC_TYPE 컬럼 없음, 주석처리
<!-- 230907 outer join으로 변경
,PROJECT_MGMT AS CM
WHERE POM.CONTRACT_MGMT_OBJID = CM.OBJID
@@ -4292,6 +4292,7 @@ SELECT POM.OBJID
<!-- AND POM.STATUS = 'approvalComplete' --> <!-- A.APPR_STATUS = 'complete' -->/*결재완료*/
<!-- AND POM.SALES_STATUS = 'OK' -->
<!-- AND (POM.SALES_STATUS = 'OK' OR POM.TYPE = '0001538' ) -->
AND POM.MAIL_SEND_DATE IS NOT NULL
AND (MULTI_MASTER_YN = 'Y' OR NVL(MULTI_MASTER_YN, '') != 'Y' AND NVL(MULTI_YN, '') != 'Y')
<if test="Year !=null and Year != '' ">

View File

@@ -712,12 +712,30 @@ VALUES
-- 저장된 값 우선, 없으면 조인으로 가져오기
COALESCE(NULLIF(SRM.PURCHASE_TYPE, ''), POM.TYPE) AS PURCHASE_TYPE, -- 구매유형
(SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = COALESCE(NULLIF(SRM.PURCHASE_TYPE, ''), POM.TYPE)) AS PURCHASE_TYPE_NAME, -- 구매유형명
COALESCE(NULLIF(SRM.ORDER_TYPE, ''), POM.ORDER_TYPE_CD) AS ORDER_TYPE, -- 주문유형
COALESCE(NULLIF(SRM.PRODUCT_NAME, ''), PM.PRODUCT) AS PRODUCT_NAME, -- 제품구분
COALESCE(NULLIF(SRM.AREA_CD, ''), SM.AREA_CD) AS AREA_CD, -- 국내/해외
COALESCE(NULLIF(SRM.CUSTOMER_OBJID, ''), SM.OBJID::VARCHAR) AS CUSTOMER_OBJID, -- 고객사
COALESCE(NULLIF(SRM.PAID_TYPE, ''), CM.PAID_TYPE) AS PAID_TYPE, -- 유/무상
CM.CATEGORY_CD AS CATEGORY_CD -- 제품유형 코드 ID (드롭다운 선택용)
CM.CATEGORY_CD AS CATEGORY_CD, -- 제품유형 코드 ID (드롭다운 선택용)
-- 품번/품명: 첫 번째 품목 + 외 N건 형태
(SELECT
CASE
WHEN (SELECT COUNT(*) FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID) > 1 THEN
COALESCE((SELECT PM2.PART_NO FROM PART_MNG PM2 WHERE PM2.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)), '') || ' 외 ' || ((SELECT COUNT(*) FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID) - 1)::TEXT || '건'
ELSE
COALESCE((SELECT PM2.PART_NO FROM PART_MNG PM2 WHERE PM2.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)), '')
END
) AS PART_NO,
(SELECT
CASE
WHEN (SELECT COUNT(*) FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID) > 1 THEN
COALESCE((SELECT PM2.PART_NAME FROM PART_MNG PM2 WHERE PM2.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)), '') || ' 외 ' || ((SELECT COUNT(*) FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID) - 1)::TEXT || '건'
ELSE
COALESCE((SELECT PM2.PART_NAME FROM PART_MNG PM2 WHERE PM2.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)), '')
END
) AS PART_NAME
FROM
SALES_REQUEST_MASTER SRM
@@ -1296,7 +1314,7 @@ VALUES
,PM.CATEGORY_CD
,CODE_NAME(PM.CATEGORY_CD) AS CATEGORY_NAME
,PM.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = PM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE WHEN PM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = PM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = PM.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME
,PM.PRODUCT
,CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME
,PM.STATUS_CD
@@ -1388,7 +1406,7 @@ VALUES
,COALESCE(PM.PART_NO, BPQ.PART_NO, '') AS PART_NO
,COALESCE(PM.PART_NAME, '') AS PART_NAME
,COALESCE(PM.PART_NAME, '') AS PART_FULL_NAME
,COALESCE(PM.SPEC, '') AS SPEC
,COALESCE(PM.STANDARD, '') AS SPEC
,BPQ.QTY AS ORDER_QTY
,COALESCE(PM.MAKER, '') AS MAKER
,'' AS REMARK
@@ -1399,7 +1417,7 @@ VALUES
PROJECT_MGMT AS PJT
INNER JOIN BOM_PART_QTY AS BPQ
ON PJT.BOM_REPORT_OBJID::VARCHAR = BPQ.BOM_REPORT_OBJID::VARCHAR
LEFT JOIN PART_MGMT AS PM
LEFT JOIN PART_MNG AS PM
ON BPQ.PART_NO = PM.PART_NO
WHERE 1=1
AND PJT.OBJID::VARCHAR = #{PROJECT_OBJID}
@@ -3360,7 +3378,7 @@ ORDER BY V.PATH2
VENDOR = #{VENDOR_PM},
UNIT_PRICE = COALESCE(NULLIF(TRIM(#{UNIT_PRICE}::TEXT), '')::NUMERIC, 0),
TOTAL_PRICE = COALESCE(NULLIF(TRIM(#{TOTAL_PRICE}::TEXT), '')::NUMERIC, 0),
-- PROPOSAL_DATE는 품의서 생성 시에만 자동 설정 (여기서는 업데이트하지 않음)
PROPOSAL_DATE = COALESCE(PROPOSAL_DATE, NOW()), -- 저장 시 품의서작성일 자동 설정 (기존 값 없으면 오늘 날짜)
EDITER = #{EDITER},
EDIT_DATE = NOW()
WHERE OBJID::VARCHAR = #{OBJID}
@@ -3375,7 +3393,7 @@ ORDER BY V.PATH2
VENDOR_PM = #{VENDOR_PM},
UNIT_PRICE = COALESCE(NULLIF(TRIM(#{UNIT_PRICE}::TEXT), '')::NUMERIC, 0),
TOTAL_PRICE = COALESCE(NULLIF(TRIM(#{TOTAL_PRICE}::TEXT), '')::NUMERIC, 0),
-- PROPOSAL_DATE는 품의서 생성 시에만 자동 설정 (여기서는 업데이트하지 않음)
PROPOSAL_DATE = COALESCE(PROPOSAL_DATE, NOW()), -- 저장 시 품의서작성일 자동 설정 (기존 값 없으면 오늘 날짜)
WRITER = #{EDITER}
WHERE OBJID::VARCHAR = #{OBJID}
</update>
@@ -3402,11 +3420,12 @@ ORDER BY V.PATH2
WHERE DOC_TYPE = 'PURCHASE_REQUEST' OR DOC_TYPE IS NULL
</select>
<!-- 다음 품의서 번호 생성 (P + YYYYMMDD + - + 3자리 순번) - 품의서용 -->
<!-- 다음 품의서 번호 생성 (RPS + YY + - + MMDD + - + 2자리 순번) 예: RPS25-0926-01 -->
<select id="getNextProposalNo" resultType="string">
SELECT 'P'||TO_CHAR(NOW(),'YYYYMMDD')||'-'||LPAD((COALESCE(MAX(SUBSTR(REQUEST_MNG_NO,11,13)),'0')::INTEGER+1)::TEXT,3,'0')
SELECT 'RPS'||TO_CHAR(NOW(),'YY')||'-'||TO_CHAR(NOW(),'MMDD')||'-'||LPAD((COALESCE(MAX(SUBSTR(REQUEST_MNG_NO,12,2)),'0')::INTEGER+1)::TEXT,2,'0')
FROM SALES_REQUEST_MASTER
WHERE DOC_TYPE = 'PROPOSAL'
AND REQUEST_MNG_NO LIKE 'RPS'||TO_CHAR(NOW(),'YY')||'-'||TO_CHAR(NOW(),'MMDD')||'%'
</select>
<!-- M-BOM에서 구매리스트 생성 - SALES_REQUEST_MASTER만 생성 (SALES_REQUEST_PART는 생성 안 함) -->
@@ -3728,9 +3747,21 @@ ORDER BY V.PATH2
SELECT
CASE
WHEN COUNT(DISTINCT POM.PARTNER_OBJID) > 1 THEN
COALESCE((SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)::NUMERIC), '') || ' 외 ' || (COUNT(DISTINCT POM.PARTNER_OBJID) - 1)::TEXT || '건'
COALESCE(
CASE
WHEN (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1) LIKE 'C_%'
THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
END
, '') || ' 외 ' || (COUNT(DISTINCT POM.PARTNER_OBJID) - 1)::TEXT || '건'
ELSE
COALESCE((SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)::NUMERIC), '')
COALESCE(
CASE
WHEN (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1) LIKE 'C_%'
THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
END
, '')
END
FROM PURCHASE_ORDER_MASTER POM
WHERE POM.SALES_REQUEST_OBJID = SRM.OBJID
@@ -3801,7 +3832,7 @@ ORDER BY V.PATH2
) A ON SRM.OBJID::VARCHAR = A.TARGET_OBJID::VARCHAR
WHERE 1=1
AND SRM.STATUS IN ('create', 'approvalRequest', 'approvalComplete', 'reject')
AND SRM.DOC_TYPE = 'PROPOSAL'
-- AND SRM.DOC_TYPE = 'PROPOSAL' -- DOC_TYPE 컬럼 없음, 주석처리
<if test="SEARCH_PROPOSAL_NO != null and !''.equals(SEARCH_PROPOSAL_NO)">
AND SRM.REQUEST_MNG_NO LIKE '%${SEARCH_PROPOSAL_NO}%'
</if>
@@ -3853,12 +3884,12 @@ ORDER BY V.PATH2
SRM.CUSTOMER_OBJID
) AS PROJECT_CUSTOMER_OBJID,
COALESCE(
(SELECT SM.SUPPLY_NAME
(SELECT CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG CL WHERE 'C_' || CL.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 CM.CUSTOMER_OBJID NOT LIKE 'C_%' AND 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 CL WHERE 'C_' || CL.OBJID::VARCHAR = SRM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID) END)
) AS PROJECT_CUSTOMER_NAME,
COALESCE(
(SELECT CM.PAID_TYPE

View File

@@ -1057,14 +1057,14 @@
FROM(
SELECT T.OBJID::VARCHAR
,CONTRACT_NO --계약번호
,(SELECT CODE_NAME(SUPPLY_CODE) FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS SUPPLY_CODE --구분
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS SUPPLY_NAME --고객명
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT CODE_NAME(SUPPLY_CODE) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS SUPPLY_CODE --구분
,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 SUPPLY_NAME --고객명
,(SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS AREA_CD --지역
,(SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CHARGE_USER_NAME --대표자명
,(SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_ID --실사용자명
,(SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS BUS_REG_NO --사업자등록번호
,(SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_NO --법인/주민번호
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS AREA_CD --지역
,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 (SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS CHARGE_USER_NAME --대표자명
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_ID --실사용자명
,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 (SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS BUS_REG_NO --사업자등록번호
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_NO --법인/주민번호
,CODE_NAME(PRODUCT_GROUP) AS PRODUCT_GROUP_NAME
,(SELECT PRODUCT_CODE FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = T.PRODUCT) AS PRODUCT_NAME
,QTY
@@ -1100,7 +1100,7 @@
FROM
CONTRACT_MGMT AS T,
SUPPLY_MNG T1
WHERE T.CUSTOMER_OBJID::NUMERIC = T1.OBJID
WHERE T.CUSTOMER_OBJID NOT LIKE 'C_%' AND T1.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
<if test="PRODUCT_CATEGORY !=null and PRODUCT_CATEGORY != '' ">
AND
@@ -1865,7 +1865,7 @@ SELECT
FROM
CONTRACT_MGMT T,
SUPPLY_MNG T1
WHERE T.CUSTOMER_OBJID::NUMERIC = T1.OBJID
WHERE T.CUSTOMER_OBJID NOT LIKE 'C_%' AND T1.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
<if test="Year !=null and Year != '' ">
AND TO_CHAR(T.REGDATE,'YYYY') = #{Year}
</if>
@@ -2126,7 +2126,7 @@ SELECT
FROM
CONTRACT_MGMT T
INNER JOIN SUPPLY_MNG T1
ON T.CUSTOMER_OBJID::NUMERIC = T1.OBJID
ON T.CUSTOMER_OBJID NOT LIKE 'C_%' AND T1.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
LEFT OUTER JOIN
FUND_MGMT FM
ON T.OBJID::VARCHAR = FM.PARENT_OBJID
@@ -3047,12 +3047,12 @@ SELECT
( SELECT T.OBJID::VARCHAR
,T.CUSTOMER_OBJID
,ESTIMATE_NO
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS SUPPLY_NAME
,(SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS AREA_CD_NAME
,(SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CHARGE_USER_NAME
,(SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_ID
,(SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS BUS_REG_NO
,(SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_NO
,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 SUPPLY_NAME
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS AREA_CD_NAME
,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 (SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS CHARGE_USER_NAME
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_ID
,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 (SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS BUS_REG_NO
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_NO
,T.CATEGORY_CD
,T.PRODUCT_GROUP AS PRODUCT_GROUP
,T.PRODUCT AS PRODUCT
@@ -5393,7 +5393,7 @@ WHERE
ROW_NUMBER() OVER(ORDER BY CM.REGDATE DESC, CI.SEQ) AS ROWNUM,
CM.CONTRACT_NO,
PM2.PROJECT_NO,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME,
COALESCE(NULLIF(CI.PART_NO, ''), P.PART_NO) AS PART_NO,
COALESCE(NULLIF(CI.PART_NAME, ''), P.PART_NAME) AS PART_NAME,
-- 견적 정보
@@ -5473,8 +5473,12 @@ WHERE
<if test="customer_name != null and customer_name != ''">
AND EXISTS (
SELECT 1 FROM SUPPLY_MNG SM
WHERE SM.OBJID = CM.CUSTOMER_OBJID::NUMERIC
WHERE CM.CUSTOMER_OBJID NOT LIKE 'C_%' AND SM.OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR
AND UPPER(SM.SUPPLY_NAME) LIKE '%' || UPPER(#{customer_name}) || '%'
UNION ALL
SELECT 1 FROM CLIENT_MNG CL
WHERE CM.CUSTOMER_OBJID LIKE 'C_%' AND 'C_' || CL.OBJID::VARCHAR = CM.CUSTOMER_OBJID
AND UPPER(CL.CLIENT_NM) LIKE '%' || UPPER(#{customer_name}) || '%'
)
</if>
<if test="part_no != null and part_no != ''">

View File

@@ -53,7 +53,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -824,7 +824,12 @@
CODE_NAME(T.PRODUCT) AS PRODUCT_TYPE,
CODE_NAME(T.AREA_CD) AS NATION,
TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER,
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,
(SELECT
CASE
WHEN CM.PAID_TYPE = 'paid' THEN '유상'
@@ -935,8 +940,12 @@
WHERE 1 = 1
AND T.PROJECT_NO IS NOT NULL
AND T.PROJECT_NO != ''
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 - CODE_NAME으로 체크 */
AND CODE_NAME(T.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 - CONTRACT_MGMT에서 체크 */
AND EXISTS (
SELECT 1 FROM CONTRACT_MGMT CM
WHERE CM.OBJID = T.CONTRACT_OBJID
AND CODE_NAME(CM.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
)
<if test="orderType != null and orderType != ''">
AND T.CATEGORY_CD = #{orderType}
</if>
@@ -947,11 +956,18 @@
AND T.AREA_CD = #{nation}
</if>
<if test="customer != null and customer != ''">
AND EXISTS (
SELECT 1 FROM SUPPLY_MNG
WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC
AND SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
AND (
EXISTS (
SELECT 1 FROM CLIENT_MNG C
WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID
AND C.CLIENT_NM LIKE CONCAT('%', #{customer}, '%')
)
OR EXISTS (
SELECT 1 FROM SUPPLY_MNG SM
WHERE SM.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
AND SM.SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
)
)
</if>
<if test="customer_objid != null and customer_objid != ''">
AND T.CUSTOMER_OBJID = #{customer_objid}
@@ -1081,8 +1097,12 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
WHERE 1 = 1
AND T.PROJECT_NO IS NOT NULL
AND T.PROJECT_NO != ''
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 */
AND CODE_NAME(T.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 - CONTRACT_MGMT에서 체크 */
AND EXISTS (
SELECT 1 FROM CONTRACT_MGMT CM
WHERE CM.OBJID = T.CONTRACT_OBJID
AND CODE_NAME(CM.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
)
<if test="orderType != null and orderType != ''">
AND T.CATEGORY_CD = #{orderType}
</if>
@@ -1093,11 +1113,18 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
AND T.AREA_CD = #{nation}
</if>
<if test="customer != null and customer != ''">
AND EXISTS (
SELECT 1 FROM SUPPLY_MNG
WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC
AND SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
AND (
EXISTS (
SELECT 1 FROM CLIENT_MNG C
WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID
AND C.CLIENT_NM LIKE CONCAT('%', #{customer}, '%')
)
OR EXISTS (
SELECT 1 FROM SUPPLY_MNG SM
WHERE SM.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
AND SM.SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
)
)
</if>
<if test="customer_objid != null and customer_objid != ''">
AND T.CUSTOMER_OBJID = #{customer_objid}
@@ -1459,7 +1486,12 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
CODE_NAME(T.PRODUCT) AS PRODUCT_TYPE,
CODE_NAME(T.AREA_CD) AS NATION,
TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER,
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,
(SELECT
CASE
WHEN CM.PAID_TYPE = 'paid' THEN '유상'
@@ -1875,7 +1907,8 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
SM.BUSINESS_ITEM AS CUSTOMER_TYPE,
SM.TEL_NO AS CUSTOMER_CONTACT
FROM PROJECT_MGMT PM
INNER JOIN SUPPLY_MNG SM ON PM.CUSTOMER_OBJID::NUMERIC = SM.OBJID
LEFT JOIN CLIENT_MNG CL ON 'C_' || CL.OBJID::VARCHAR = PM.CUSTOMER_OBJID
LEFT JOIN SUPPLY_MNG SM ON SM.OBJID::VARCHAR = PM.CUSTOMER_OBJID::VARCHAR AND PM.CUSTOMER_OBJID NOT LIKE 'C_%'
WHERE PM.PROJECT_NO = #{projectNo}
</select>

View File

@@ -180,7 +180,7 @@ var columns = [
formatter:fnc_subInfoValueFormatter,
cellClick:function(e, cell){
var objid = fnc_checkNull(cell.getData().OBJID);
fn_FileRegist(objid,"ORDER_DOC","ORDER_DOC");
fn_FileRegist(objid,"ORDER_DOC","ORDER_DOC","CU01_CNT");
}
},
{headerHozAlign : 'center', hozAlign : 'right', minWidth : 75, widthGrow: 0.8, title : '수주공급가액', field : 'ORDER_SUPPLY_PRICE_SUM',
@@ -361,14 +361,15 @@ function approval_form(APPROVAL_OBJID,ROUTE_OBJID){
fn_centerPopup(650,400,url,'approvalDetailPopup')
}
function fn_FileRegist(objId, docType, docTypeName){
function fn_FileRegist(objId, docType, docTypeName, columnField){
var popup_width = 800;
var popup_height = 650;
var objId = objId;
var docType = docType;
var docTypeName = docTypeName;
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
var columnField = columnField || '';
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName+"&columnField="+columnField;
var url = "/contractMgmt/FileRegistPopup.do"+params;
fn_centerPopup(popup_width, popup_height, url);
@@ -666,7 +667,7 @@ function openProjectFormPopUp(objId){
<div class="btnArea">
<input type="button" value="조회" class="plm_btns" id="btnSearch" name="btnSearch">
<input type="button" value="수주등록" class="plm_btns btnRegist">
<input type="button" value="결재상신" class="plm_btns" id="btnApproval">
<!-- <input type="button" value="결재상신" class="plm_btns" id="btnApproval"> -->
</div>
</div>
<div id="plmSearchZon">

View File

@@ -497,7 +497,7 @@ function fn_initGrid() {
title: '가공업체',
field: 'PROCESSING_VENDOR'
},
// 25. 가공납기
/* // 25. 가공납기 - 주석처리
{
headerHozAlign: 'center',
hozAlign: 'center',
@@ -512,13 +512,13 @@ function fn_initGrid() {
width: 100,
title: '연삭납기',
field: 'GRINDING_DEADLINE'
},
// 27. 사용여부
}, */
// 27. 사용여부 (수정가능)
{
headerHozAlign: 'center',
hozAlign: 'center',
width: 80,
title: '사용여부',
title: '<span style="background-color: #FFFF00; padding: 2px 5px;">사용여부</span>',
field: 'USE_YN',
editor: 'list',
editorParams: {
@@ -555,12 +555,12 @@ function fn_initGrid() {
return value ? Number(value).toLocaleString() : '0';
}
},
// 29. 발주수량 (편집 가능) - 정미수량 올림
// 29. 발주수량 (수정가능) - 정미수량 올림
{
headerHozAlign: 'center',
hozAlign: 'right',
width: 100,
title: '발주수량',
title: '<span style="background-color: #FFFF00; padding: 2px 5px;">발주수량</span>',
field: 'PO_QTY',
editor: 'number',
mutator: function(value, data) {
@@ -577,12 +577,12 @@ function fn_initGrid() {
return value ? Number(value).toLocaleString() : '0';
}
},
// 30. 공급업체2 (기준정보에서 선택)
// 30. 공급업체 (수정가능 - 기준정보에서 선택)
{
headerHozAlign: 'center',
hozAlign: 'left',
width: 150,
title: '공급업체',
title: '<span style="background-color: #FFFF00; padding: 2px 5px;">공급업체</span>',
field: 'VENDOR_PM',
editor: 'list',
editorParams: function(cell) {
@@ -601,12 +601,12 @@ function fn_initGrid() {
return vendorList[value] || value;
}
},
// 31. 단가
// 31. 단가 (수정가능)
{
headerHozAlign: 'center',
hozAlign: 'right',
width: 100,
title: '단가',
title: '<span style="background-color: #FFFF00; padding: 2px 5px;">단가</span>',
field: 'UNIT_PRICE',
editor: 'number',
editable: true,

View File

@@ -3254,9 +3254,10 @@ function fnc_tabulCallbackFnc(objid, docType, columnField, fileCnt){
var sameRows = _tabulGrid.searchRows("OBJID", "=", objid);
sameRows.forEach(function (sameRow) {
var sameRowData = sameRow.getData();
sameRowData.FILE_CNT = fileCnt;
// columnField가 있으면 해당 필드 업데이트, 없으면 FILE_CNT 업데이트
var targetField = (columnField && columnField !== '') ? columnField : 'FILE_CNT';
sameRowData[targetField] = fileCnt;
sameRow.update(sameRowData);
//sameRow.update(sameRow.getData());
});
}

View File

@@ -2300,7 +2300,7 @@ SELECT
FROM CONTRACT_MGMT T1, RELEASE_MGMT T2
WHERE T1.OBJID = T2.PARENT_OBJID::NUMERIC
) AS T1
WHERE T.OBJID = T1.CUSTOMER_OBJID::NUMERIC
WHERE T1.CUSTOMER_OBJID NOT LIKE 'C_%' AND T.OBJID::VARCHAR = T1.CUSTOMER_OBJID::VARCHAR
-->
</select>

View File

@@ -3185,7 +3185,7 @@ where
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3390,7 +3390,7 @@ where
PM.CATEGORY_CD,
CODE_NAME(PM.CATEGORY_CD) AS CATEGORY_NAME,
PM.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = PM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
CASE WHEN PM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = PM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = PM.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME,
PM.PRODUCT,
CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME,
(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = PM.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME,
@@ -3637,7 +3637,7 @@ where
,T.CATEGORY_CD
,CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME
,T.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
,T.PRODUCT
,CODE_NAME(PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3960,7 +3960,7 @@ where
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -42,7 +42,7 @@
,C.CATEGORY_CD
,CODE_NAME(C.CATEGORY_CD) AS CATEGORY_NAME
,C.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = C.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE WHEN C.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS CL WHERE 'C_' || CL.OBJID::VARCHAR = C.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = C.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME
,C.PRODUCT
,CODE_NAME(C.PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -512,7 +512,7 @@
,C.CATEGORY_CD
,CODE_NAME(C.CATEGORY_CD) AS CATEGORY_NAME
,C.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = C.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE WHEN C.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS CL WHERE 'C_' || CL.OBJID::VARCHAR = C.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = C.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME
,C.PRODUCT
,CODE_NAME(C.PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -65,7 +65,7 @@
,T.CATEGORY_CD
,CODE_NAME(T.CATEGORY_CD) AS CATEGORY_NAME
,T.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
,T.PRODUCT
,CODE_NAME(T.PRODUCT)||'('||T.MECHANICAL_TYPE||')' AS PRODUCT_NAME
,T.MECHANICAL_TYPE

View File

@@ -32,7 +32,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -244,7 +244,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1066,7 +1066,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1653,7 +1653,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1744,7 +1744,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -1943,7 +1943,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -2674,7 +2674,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -2895,7 +2895,7 @@
TO_CHAR(PM.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
CM.CUSTOMER_OBJID,
COALESCE(
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CM.CUSTOMER_OBJID::NUMERIC LIMIT 1),
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID LIMIT 1) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR LIMIT 1) END,
''
) AS CUSTOMER_NAME,
CM.PAID_TYPE,
@@ -3122,7 +3122,7 @@
) AS AREA_NAME,
CM.CUSTOMER_OBJID,
COALESCE(
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CM.CUSTOMER_OBJID::NUMERIC LIMIT 1),
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID LIMIT 1) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR LIMIT 1) END,
''
) AS CUSTOMER_NAME,
CM.PAID_TYPE,

View File

@@ -3416,7 +3416,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3558,7 +3558,7 @@
,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
,T.PRODUCT
,CODE_NAME(T.PRODUCT) AS PRODUCT_NAME
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -3857,7 +3857,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -4250,7 +4250,7 @@
,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
@@ -4363,7 +4363,7 @@
,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
@@ -4479,7 +4479,7 @@
,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
@@ -7910,7 +7910,7 @@ SELECT
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
@@ -8022,7 +8022,7 @@ SELECT
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -836,13 +836,13 @@
<select id="grtPartnerObjidBySalesRequestObjid" parameterType="map" resultType="map">
SELECT
PARTNER_OBJID
COALESCE(NULLIF(VENDOR_PM, ''), PARTNER_OBJID) AS PARTNER_OBJID
FROM
SALES_REQUEST_PART SRP
LEFT OUTER JOIN SALES_REQUEST_MASTER SRM ON SRP.SALES_REQUEST_MASTER_OBJID = SRM.OBJID
WHERE SRP.SALES_REQUEST_MASTER_OBJID = #{SALES_REQUEST_OBJID}
AND NOT EXISTS (SELECT 1 FROM PURCHASE_ORDER_MASTER AS P WHERE P.SALES_REQUEST_OBJID = SRM.OBJID AND P.PARTNER_OBJID = SRP.PARTNER_OBJID)
GROUP BY PARTNER_OBJID
AND (VENDOR_PM IS NOT NULL AND VENDOR_PM != '' OR PARTNER_OBJID IS NOT NULL AND PARTNER_OBJID != '')
GROUP BY COALESCE(NULLIF(VENDOR_PM, ''), PARTNER_OBJID)
</select>
<!-- 품의서용 공급업체 조회 (VENDOR_PM 사용) -->
@@ -3265,7 +3265,7 @@ SELECT POM.OBJID
ON POM.CONTRACT_MGMT_OBJID = CM.OBJID
left outer join SALES_REQUEST_MASTER as SRM
on POM.SALES_REQUEST_OBJID = SRM.OBJID
and SRM.DOC_TYPE = 'PROPOSAL'
-- and SRM.DOC_TYPE = 'PROPOSAL' -- DOC_TYPE 컬럼 없음, 주석처리
<!-- 230907 outer join으로 변경
,PROJECT_MGMT AS CM
WHERE POM.CONTRACT_MGMT_OBJID = CM.OBJID

View File

@@ -1314,7 +1314,7 @@ VALUES
,PM.CATEGORY_CD
,CODE_NAME(PM.CATEGORY_CD) AS CATEGORY_NAME
,PM.CUSTOMER_OBJID
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = PM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
,CASE WHEN PM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = PM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = PM.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME
,PM.PRODUCT
,CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME
,PM.STATUS_CD
@@ -1406,7 +1406,7 @@ VALUES
,COALESCE(PM.PART_NO, BPQ.PART_NO, '') AS PART_NO
,COALESCE(PM.PART_NAME, '') AS PART_NAME
,COALESCE(PM.PART_NAME, '') AS PART_FULL_NAME
,COALESCE(PM.SPEC, '') AS SPEC
,COALESCE(PM.STANDARD, '') AS SPEC
,BPQ.QTY AS ORDER_QTY
,COALESCE(PM.MAKER, '') AS MAKER
,'' AS REMARK
@@ -1417,7 +1417,7 @@ VALUES
PROJECT_MGMT AS PJT
INNER JOIN BOM_PART_QTY AS BPQ
ON PJT.BOM_REPORT_OBJID::VARCHAR = BPQ.BOM_REPORT_OBJID::VARCHAR
LEFT JOIN PART_MGMT AS PM
LEFT JOIN PART_MNG AS PM
ON BPQ.PART_NO = PM.PART_NO
WHERE 1=1
AND PJT.OBJID::VARCHAR = #{PROJECT_OBJID}
@@ -3378,7 +3378,7 @@ ORDER BY V.PATH2
VENDOR = #{VENDOR_PM},
UNIT_PRICE = COALESCE(NULLIF(TRIM(#{UNIT_PRICE}::TEXT), '')::NUMERIC, 0),
TOTAL_PRICE = COALESCE(NULLIF(TRIM(#{TOTAL_PRICE}::TEXT), '')::NUMERIC, 0),
-- PROPOSAL_DATE는 품의서 생성 시에만 자동 설정 (여기서는 업데이트하지 않음)
PROPOSAL_DATE = COALESCE(PROPOSAL_DATE, NOW()), -- 저장 시 품의서작성일 자동 설정 (기존 값 없으면 오늘 날짜)
EDITER = #{EDITER},
EDIT_DATE = NOW()
WHERE OBJID::VARCHAR = #{OBJID}
@@ -3393,7 +3393,7 @@ ORDER BY V.PATH2
VENDOR_PM = #{VENDOR_PM},
UNIT_PRICE = COALESCE(NULLIF(TRIM(#{UNIT_PRICE}::TEXT), '')::NUMERIC, 0),
TOTAL_PRICE = COALESCE(NULLIF(TRIM(#{TOTAL_PRICE}::TEXT), '')::NUMERIC, 0),
-- PROPOSAL_DATE는 품의서 생성 시에만 자동 설정 (여기서는 업데이트하지 않음)
PROPOSAL_DATE = COALESCE(PROPOSAL_DATE, NOW()), -- 저장 시 품의서작성일 자동 설정 (기존 값 없으면 오늘 날짜)
WRITER = #{EDITER}
WHERE OBJID::VARCHAR = #{OBJID}
</update>
@@ -3747,9 +3747,21 @@ ORDER BY V.PATH2
SELECT
CASE
WHEN COUNT(DISTINCT POM.PARTNER_OBJID) > 1 THEN
COALESCE((SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)::NUMERIC), '') || ' 외 ' || (COUNT(DISTINCT POM.PARTNER_OBJID) - 1)::TEXT || '건'
COALESCE(
CASE
WHEN (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1) LIKE 'C_%'
THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
END
, '') || ' 외 ' || (COUNT(DISTINCT POM.PARTNER_OBJID) - 1)::TEXT || '건'
ELSE
COALESCE((SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)::NUMERIC), '')
COALESCE(
CASE
WHEN (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1) LIKE 'C_%'
THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = (SELECT PARTNER_OBJID FROM PURCHASE_ORDER_MASTER WHERE SALES_REQUEST_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
END
, '')
END
FROM PURCHASE_ORDER_MASTER POM
WHERE POM.SALES_REQUEST_OBJID = SRM.OBJID
@@ -3820,7 +3832,7 @@ ORDER BY V.PATH2
) A ON SRM.OBJID::VARCHAR = A.TARGET_OBJID::VARCHAR
WHERE 1=1
AND SRM.STATUS IN ('create', 'approvalRequest', 'approvalComplete', 'reject')
AND SRM.DOC_TYPE = 'PROPOSAL'
-- AND SRM.DOC_TYPE = 'PROPOSAL' -- DOC_TYPE 컬럼 없음, 주석처리
<if test="SEARCH_PROPOSAL_NO != null and !''.equals(SEARCH_PROPOSAL_NO)">
AND SRM.REQUEST_MNG_NO LIKE '%${SEARCH_PROPOSAL_NO}%'
</if>
@@ -3872,12 +3884,12 @@ ORDER BY V.PATH2
SRM.CUSTOMER_OBJID
) AS PROJECT_CUSTOMER_OBJID,
COALESCE(
(SELECT SM.SUPPLY_NAME
(SELECT CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG CL WHERE 'C_' || CL.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 CM.CUSTOMER_OBJID NOT LIKE 'C_%' AND 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 CL WHERE 'C_' || CL.OBJID::VARCHAR = SRM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID) END)
) AS PROJECT_CUSTOMER_NAME,
COALESCE(
(SELECT CM.PAID_TYPE

View File

@@ -1057,14 +1057,14 @@
FROM(
SELECT T.OBJID::VARCHAR
,CONTRACT_NO --계약번호
,(SELECT CODE_NAME(SUPPLY_CODE) FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS SUPPLY_CODE --구분
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS SUPPLY_NAME --고객명
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT CODE_NAME(SUPPLY_CODE) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS SUPPLY_CODE --구분
,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 SUPPLY_NAME --고객명
,(SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS AREA_CD --지역
,(SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CHARGE_USER_NAME --대표자명
,(SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_ID --실사용자명
,(SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS BUS_REG_NO --사업자등록번호
,(SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_NO --법인/주민번호
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS AREA_CD --지역
,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 (SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS CHARGE_USER_NAME --대표자명
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_ID --실사용자명
,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 (SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS BUS_REG_NO --사업자등록번호
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_NO --법인/주민번호
,CODE_NAME(PRODUCT_GROUP) AS PRODUCT_GROUP_NAME
,(SELECT PRODUCT_CODE FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = T.PRODUCT) AS PRODUCT_NAME
,QTY
@@ -1100,7 +1100,7 @@
FROM
CONTRACT_MGMT AS T,
SUPPLY_MNG T1
WHERE T.CUSTOMER_OBJID::NUMERIC = T1.OBJID
WHERE T.CUSTOMER_OBJID NOT LIKE 'C_%' AND T1.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
<if test="PRODUCT_CATEGORY !=null and PRODUCT_CATEGORY != '' ">
AND
@@ -1865,7 +1865,7 @@ SELECT
FROM
CONTRACT_MGMT T,
SUPPLY_MNG T1
WHERE T.CUSTOMER_OBJID::NUMERIC = T1.OBJID
WHERE T.CUSTOMER_OBJID NOT LIKE 'C_%' AND T1.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
<if test="Year !=null and Year != '' ">
AND TO_CHAR(T.REGDATE,'YYYY') = #{Year}
</if>
@@ -2126,7 +2126,7 @@ SELECT
FROM
CONTRACT_MGMT T
INNER JOIN SUPPLY_MNG T1
ON T.CUSTOMER_OBJID::NUMERIC = T1.OBJID
ON T.CUSTOMER_OBJID NOT LIKE 'C_%' AND T1.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
LEFT OUTER JOIN
FUND_MGMT FM
ON T.OBJID::VARCHAR = FM.PARENT_OBJID
@@ -3047,12 +3047,12 @@ SELECT
( SELECT T.OBJID::VARCHAR
,T.CUSTOMER_OBJID
,ESTIMATE_NO
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS SUPPLY_NAME
,(SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS AREA_CD_NAME
,(SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CHARGE_USER_NAME
,(SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_ID
,(SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS BUS_REG_NO
,(SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS REG_NO
,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 SUPPLY_NAME
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS AREA_CD_NAME
,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 (SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS CHARGE_USER_NAME
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_ID
,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 (SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS BUS_REG_NO
,CASE WHEN T.CUSTOMER_OBJID LIKE 'C_%' THEN NULL ELSE (SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR) END AS REG_NO
,T.CATEGORY_CD
,T.PRODUCT_GROUP AS PRODUCT_GROUP
,T.PRODUCT AS PRODUCT
@@ -5393,7 +5393,7 @@ WHERE
ROW_NUMBER() OVER(ORDER BY CM.REGDATE DESC, CI.SEQ) AS ROWNUM,
CM.CONTRACT_NO,
PM2.PROJECT_NO,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR) END AS CUSTOMER_NAME,
COALESCE(NULLIF(CI.PART_NO, ''), P.PART_NO) AS PART_NO,
COALESCE(NULLIF(CI.PART_NAME, ''), P.PART_NAME) AS PART_NAME,
-- 견적 정보
@@ -5473,8 +5473,12 @@ WHERE
<if test="customer_name != null and customer_name != ''">
AND EXISTS (
SELECT 1 FROM SUPPLY_MNG SM
WHERE SM.OBJID = CM.CUSTOMER_OBJID::NUMERIC
WHERE CM.CUSTOMER_OBJID NOT LIKE 'C_%' AND SM.OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR
AND UPPER(SM.SUPPLY_NAME) LIKE '%' || UPPER(#{customer_name}) || '%'
UNION ALL
SELECT 1 FROM CLIENT_MNG CL
WHERE CM.CUSTOMER_OBJID LIKE 'C_%' AND 'C_' || CL.OBJID::VARCHAR = CM.CUSTOMER_OBJID
AND UPPER(CL.CLIENT_NM) LIKE '%' || UPPER(#{customer_name}) || '%'
)
</if>
<if test="part_no != null and part_no != ''">

View File

@@ -53,7 +53,7 @@
,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
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME

View File

@@ -824,7 +824,12 @@
CODE_NAME(T.PRODUCT) AS PRODUCT_TYPE,
CODE_NAME(T.AREA_CD) AS NATION,
TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER,
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,
(SELECT
CASE
WHEN CM.PAID_TYPE = 'paid' THEN '유상'
@@ -935,8 +940,12 @@
WHERE 1 = 1
AND T.PROJECT_NO IS NOT NULL
AND T.PROJECT_NO != ''
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 - CODE_NAME으로 체크 */
AND CODE_NAME(T.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 - CONTRACT_MGMT에서 체크 */
AND EXISTS (
SELECT 1 FROM CONTRACT_MGMT CM
WHERE CM.OBJID = T.CONTRACT_OBJID
AND CODE_NAME(CM.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
)
<if test="orderType != null and orderType != ''">
AND T.CATEGORY_CD = #{orderType}
</if>
@@ -947,11 +956,18 @@
AND T.AREA_CD = #{nation}
</if>
<if test="customer != null and customer != ''">
AND EXISTS (
SELECT 1 FROM SUPPLY_MNG
WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC
AND SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
AND (
EXISTS (
SELECT 1 FROM CLIENT_MNG C
WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID
AND C.CLIENT_NM LIKE CONCAT('%', #{customer}, '%')
)
OR EXISTS (
SELECT 1 FROM SUPPLY_MNG SM
WHERE SM.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
AND SM.SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
)
)
</if>
<if test="customer_objid != null and customer_objid != ''">
AND T.CUSTOMER_OBJID = #{customer_objid}
@@ -1081,8 +1097,12 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
WHERE 1 = 1
AND T.PROJECT_NO IS NOT NULL
AND T.PROJECT_NO != ''
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 */
AND CODE_NAME(T.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
/* 수주상태가 수주(FCST) 또는 수주일 때만 표시 - CONTRACT_MGMT에서 체크 */
AND EXISTS (
SELECT 1 FROM CONTRACT_MGMT CM
WHERE CM.OBJID = T.CONTRACT_OBJID
AND CODE_NAME(CM.CONTRACT_RESULT) IN ('수주(FCST)', '수주')
)
<if test="orderType != null and orderType != ''">
AND T.CATEGORY_CD = #{orderType}
</if>
@@ -1093,11 +1113,18 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
AND T.AREA_CD = #{nation}
</if>
<if test="customer != null and customer != ''">
AND EXISTS (
SELECT 1 FROM SUPPLY_MNG
WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC
AND SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
AND (
EXISTS (
SELECT 1 FROM CLIENT_MNG C
WHERE 'C_' || C.OBJID::VARCHAR = T.CUSTOMER_OBJID
AND C.CLIENT_NM LIKE CONCAT('%', #{customer}, '%')
)
OR EXISTS (
SELECT 1 FROM SUPPLY_MNG SM
WHERE SM.OBJID::VARCHAR = T.CUSTOMER_OBJID::VARCHAR
AND SM.SUPPLY_NAME LIKE CONCAT('%', #{customer}, '%')
)
)
</if>
<if test="customer_objid != null and customer_objid != ''">
AND T.CUSTOMER_OBJID = #{customer_objid}
@@ -1459,7 +1486,12 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
CODE_NAME(T.PRODUCT) AS PRODUCT_TYPE,
CODE_NAME(T.AREA_CD) AS NATION,
TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER,
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,
(SELECT
CASE
WHEN CM.PAID_TYPE = 'paid' THEN '유상'
@@ -1875,7 +1907,8 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
SM.BUSINESS_ITEM AS CUSTOMER_TYPE,
SM.TEL_NO AS CUSTOMER_CONTACT
FROM PROJECT_MGMT PM
INNER JOIN SUPPLY_MNG SM ON PM.CUSTOMER_OBJID::NUMERIC = SM.OBJID
LEFT JOIN CLIENT_MNG CL ON 'C_' || CL.OBJID::VARCHAR = PM.CUSTOMER_OBJID
LEFT JOIN SUPPLY_MNG SM ON SM.OBJID::VARCHAR = PM.CUSTOMER_OBJID::VARCHAR AND PM.CUSTOMER_OBJID NOT LIKE 'C_%'
WHERE PM.PROJECT_NO = #{projectNo}
</select>