Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-10-28 13:15:13 +09:00
3 changed files with 188 additions and 127 deletions

View File

@@ -185,8 +185,30 @@ ui-jqgrid tr.jqgrow td {
// {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : 'PART 구분', field : 'PART_TYPE_TITLE' }, // {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : 'PART 구분', field : 'PART_TYPE_TITLE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '비고', field : 'REMARK' } {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '비고', field : 'REMARK' }
]; ];
// 중복 요청 방지 플래그
var isSearching = false;
function fn_search(){ function fn_search(){
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/partMng/partMngTempGridList.do", columns, true); // 이미 검색 중이면 중단
if (isSearching) {
console.log('검색 중입니다. 잠시만 기다려주세요.');
return;
}
isSearching = true;
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/partMng/partMngTempGridList.do", columns, true, function() {
// 검색 완료 후 플래그 해제
isSearching = false;
});
// 타임아웃 방어 (10초 후 자동 해제)
setTimeout(function() {
if (isSearching) {
isSearching = false;
}
}, 10000);
} }
function openPartMngPopup(objId){ function openPartMngPopup(objId){

View File

@@ -180,9 +180,31 @@ var columns = [
{headerHozAlign : 'center', hozAlign : 'center', width : '200', title : '상태', field : 'STATUS' } {headerHozAlign : 'center', hozAlign : 'center', width : '200', title : '상태', field : 'STATUS' }
]; ];
// 중복 요청 방지를 위한 로딩 플래그
var isSearching = false;
//var grid; //var grid;
function fn_search(){ function fn_search(){
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/partMng/searchStructureGridList.do", columns, true); // 이미 검색 중이면 중복 요청 방지
if (isSearching) {
console.log('검색 중입니다. 잠시만 기다려주세요.');
return;
}
isSearching = true;
// 기존 그리드 검색 함수 실행
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/partMng/searchStructureGridList.do", columns, true, function() {
// 검색 완료 후 플래그 해제
isSearching = false;
});
// fnc_tabul_search가 콜백을 지원하지 않을 경우를 위한 타임아웃 처리
setTimeout(function() {
if (isSearching) {
isSearching = false;
}
}, 10000); // 10초 타임아웃
} }
//양산제품에 해당하는 SPEC 정보 목록을 가져온다. //양산제품에 해당하는 SPEC 정보 목록을 가져온다.

View File

@@ -97,8 +97,8 @@
P.PART_NO, P.PART_NO,
P.PART_NAME, P.PART_NAME,
P.UNIT, P.UNIT,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.UNIT) AS UNIT_TITLE, CC_UNIT.CODE_NAME AS UNIT_TITLE,
NVL((SELECT QTY FROM BOM_PART_QTY Q WHERE Q.LAST_PART_OBJID = P.OBJID AND STATUS = 'deploy' ORDER BY DEPLOY_DATE DESC LIMIT 1), P.QTY) QTY, COALESCE(BOM_QTY_DATA.QTY, P.QTY) QTY,
P.QTY QTY_P, P.QTY QTY_P,
P.SPEC, P.SPEC,
P.POST_PROCESSING, P.POST_PROCESSING,
@@ -106,19 +106,14 @@
P.WEIGHT, P.WEIGHT,
P.PART_TYPE, P.PART_TYPE,
P.IS_LONGD, P.IS_LONGD,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE, CC_PART.CODE_NAME AS PART_TYPE_TITLE,
P.REMARK, P.REMARK,
P.ES_SPEC, P.ES_SPEC,
P.MS_SPEC, P.MS_SPEC,
P.CHANGE_TYPE, P.CHANGE_TYPE,
P.DESIGN_APPLY_POINT, P.DESIGN_APPLY_POINT,
P.CHANGE_OPTION, P.CHANGE_OPTION,
(SELECT ARRAY_TO_STRING(ARRAY_AGG(CODE_NAME),',') CHANGE_OPT.CHANGE_OPTION_NAME,
FROM COMM_CODE AS CC
WHERE CC.CODE_ID IN (SELECT UNNEST(STRING_TO_ARRAY(CHANGE_OPTION, ',')) AS CHANGE_OPTION
FROM PART_MNG AS T
WHERE T.OBJID = P.OBJID)
) CHANGE_OPTION_NAME,
<!-- <!--
T3.CHANGE_OPTION_NAME, T3.CHANGE_OPTION_NAME,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.DESIGN_APPLY_POINT) AS DESIGN_APPLY_POINT_TITLE, (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.DESIGN_APPLY_POINT) AS DESIGN_APPLY_POINT_TITLE,
@@ -158,15 +153,45 @@
(SELECT CC.CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.SOURCING_CODE) AS SOURCING_NAME, (SELECT CC.CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.SOURCING_CODE) AS SOURCING_NAME,
--> -->
P.SUPPLY_CODE, P.SUPPLY_CODE,
(SELECT SUPPLY_NAME FROM admin_supply_mng O WHERE O.objid::varchar = P.SUPPLY_CODE) AS SUPPLY_NAME, SUP.SUPPLY_NAME,
P.HEAT_TREATMENT_HARDNESS, P.HEAT_TREATMENT_HARDNESS,
P.HEAT_TREATMENT_METHOD, P.HEAT_TREATMENT_METHOD,
P.SURFACE_TREATMENT P.SURFACE_TREATMENT,
,(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')) CU01_CNT COALESCE(FILE_CNT.CU01_CNT, 0) 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')) CU02_CNT COALESCE(FILE_CNT.CU02_CNT, 0) 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')) CU03_CNT COALESCE(FILE_CNT.CU03_CNT, 0) CU03_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','2D_DRAWING_CAD')) CU_TOTAL_CNT COALESCE(FILE_CNT.CU_TOTAL_CNT, 0) CU_TOTAL_CNT
FROM PART_MNG P FROM PART_MNG P
LEFT JOIN COMM_CODE CC_UNIT ON CC_UNIT.CODE_ID = P.UNIT
LEFT JOIN COMM_CODE CC_PART ON CC_PART.CODE_ID = P.PART_TYPE
LEFT JOIN admin_supply_mng SUP ON SUP.objid::varchar = P.SUPPLY_CODE
LEFT JOIN LATERAL (
SELECT QTY
FROM BOM_PART_QTY Q
WHERE Q.LAST_PART_OBJID = P.OBJID
AND STATUS = 'deploy'
ORDER BY DEPLOY_DATE DESC
LIMIT 1
) BOM_QTY_DATA ON TRUE
LEFT JOIN LATERAL (
SELECT ARRAY_TO_STRING(ARRAY_AGG(CC.CODE_NAME), ',') AS CHANGE_OPTION_NAME
FROM COMM_CODE AS CC
WHERE CC.CODE_ID IN (
SELECT UNNEST(STRING_TO_ARRAY(P.CHANGE_OPTION, ','))
)
) CHANGE_OPT ON TRUE
LEFT JOIN (
SELECT
TARGET_OBJID,
SUM(CASE WHEN DOC_TYPE = '3D_CAD' THEN 1 ELSE 0 END) AS CU01_CNT,
SUM(CASE WHEN DOC_TYPE = '2D_DRAWING_CAD' THEN 1 ELSE 0 END) AS CU02_CNT,
SUM(CASE WHEN DOC_TYPE = '2D_PDF_CAD' THEN 1 ELSE 0 END) AS CU03_CNT,
SUM(CASE WHEN DOC_TYPE IN ('2D_PDF_CAD', '2D_DRAWING_CAD') THEN 1 ELSE 0 END) AS CU_TOTAL_CNT
FROM ATTACH_FILE_INFO
WHERE STATUS = 'Active'
AND DOC_TYPE IN ('3D_CAD', '2D_DRAWING_CAD', '2D_PDF_CAD')
GROUP BY TARGET_OBJID
) FILE_CNT ON FILE_CNT.TARGET_OBJID = P.OBJID
<!-- <!--
LEFT OUTER JOIN ATTACH_FILE_INFO F LEFT OUTER JOIN ATTACH_FILE_INFO F
ON P.OBJID = CAD.TARGET_OBJID::varchar ON P.OBJID = CAD.TARGET_OBJID::varchar
@@ -267,14 +292,14 @@
P.PART_NO, P.PART_NO,
P.PART_NAME, P.PART_NAME,
P.UNIT, P.UNIT,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.UNIT) AS UNIT_TITLE, CC_UNIT.CODE_NAME AS UNIT_TITLE,
P.QTY, P.QTY,
P.SPEC, P.SPEC,
P.POST_PROCESSING, P.POST_PROCESSING,
P.MATERIAL, P.MATERIAL,
P.WEIGHT, P.WEIGHT,
P.PART_TYPE, P.PART_TYPE,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE, CC_PART.CODE_NAME AS PART_TYPE_TITLE,
P.REMARK, P.REMARK,
P.ES_SPEC, P.ES_SPEC,
P.MS_SPEC, P.MS_SPEC,
@@ -282,7 +307,7 @@
P.CHANGE_OPTION, P.CHANGE_OPTION,
T3.CHANGE_OPTION_NAME, T3.CHANGE_OPTION_NAME,
P.DESIGN_APPLY_POINT, P.DESIGN_APPLY_POINT,
(SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.DESIGN_APPLY_POINT) AS DESIGN_APPLY_POINT_TITLE, CC_DESIGN.CODE_NAME AS DESIGN_APPLY_POINT_TITLE,
P.MANAGEMENT_FLAG, P.MANAGEMENT_FLAG,
P.REVISION, P.REVISION,
P.STATUS, P.STATUS,
@@ -300,7 +325,7 @@
P.CONTRACT_OBJID, P.CONTRACT_OBJID,
P.SOURCING_CODE, P.SOURCING_CODE,
(SELECT CC.CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.SOURCING_CODE) AS SOURCING_NAME, CC_SOURCING.CODE_NAME AS SOURCING_NAME,
AF.SAVED_FILE_NAME, AF.SAVED_FILE_NAME,
AF.REAL_FILE_NAME, AF.REAL_FILE_NAME,
@@ -333,10 +358,15 @@
OUT_DIAMETER, OUT_DIAMETER,
IN_DIAMETER, IN_DIAMETER,
LENGTH, LENGTH,
SUPPLY_CODE, P.SUPPLY_CODE,
(SELECT SUPPLY_NAME FROM admin_supply_mng O WHERE O.objid::varchar = P.SUPPLY_CODE) AS SUPPLY_NAME SUP.SUPPLY_NAME
FROM FROM
PART_MNG P PART_MNG P
LEFT JOIN COMM_CODE CC_UNIT ON CC_UNIT.CODE_ID = P.UNIT
LEFT JOIN COMM_CODE CC_PART ON CC_PART.CODE_ID = P.PART_TYPE
LEFT JOIN COMM_CODE CC_DESIGN ON CC_DESIGN.CODE_ID = P.DESIGN_APPLY_POINT
LEFT JOIN COMM_CODE CC_SOURCING ON CC_SOURCING.CODE_ID = P.SOURCING_CODE
LEFT JOIN admin_supply_mng SUP ON SUP.objid::varchar = P.SUPPLY_CODE
LEFT OUTER JOIN V_FILE AF LEFT OUTER JOIN V_FILE AF
ON P.OBJID = AF.TARGET_OBJID ON P.OBJID = AF.TARGET_OBJID
@@ -468,13 +498,14 @@
LEFT OUTER JOIN( LEFT OUTER JOIN(
SELECT SELECT
TT.OBJID, TT.OBJID,
ARRAY_TO_STRING(ARRAY_AGG((SELECT CODE_NAME FROM COMM_CODE AS CC WHERE CC.CODE_ID IN(TT.CHANGE_OPTION))),',') AS CHANGE_OPTION_NAME ARRAY_TO_STRING(ARRAY_AGG(CC.CODE_NAME ORDER BY CC.CODE_NAME), ',') AS CHANGE_OPTION_NAME
FROM ( FROM (
SELECT SELECT
T.OBJID, T.OBJID,
UNNEST(STRING_TO_ARRAY(CHANGE_OPTION, ',')) AS CHANGE_OPTION UNNEST(STRING_TO_ARRAY(CHANGE_OPTION, ',')) AS CHANGE_OPTION
FROM PART_MNG AS T FROM PART_MNG AS T
) AS TT ) AS TT
LEFT JOIN COMM_CODE CC ON CC.CODE_ID = TT.CHANGE_OPTION
GROUP BY TT.OBJID GROUP BY TT.OBJID
) AS T3 ) AS T3
ON T3.OBJID = P.OBJID ON T3.OBJID = P.OBJID
@@ -2211,24 +2242,10 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
LEFT OUTER JOIN ( LEFT OUTER JOIN (
SELECT SELECT
PART_OBJID, PART_OBJID,
ARRAY_TO_STRING(ARRAY_AGG(PARTNER_TITLE), ',') AS PARTNER_TITLE ARRAY_TO_STRING(ARRAY_AGG(SEQ || '. ' || SUP.SUPPLY_NAME ORDER BY SEQ), ',') AS PARTNER_TITLE
FROM( FROM ORDER_SPEC_MNG OSM
SELECT LEFT JOIN ADMIN_SUPPLY_MNG SUP ON SUP.OBJID::VARCHAR = OSM.PARTNER_OBJID::VARCHAR
OBJID, GROUP BY PART_OBJID
PART_OBJID,
SEQ || '. ' ||(
SELECT
SUPPLY_NAME
FROM
ADMIN_SUPPLY_MNG
WHERE
OBJID::VARCHAR = PARTNER_OBJID::VARCHAR
) AS PARTNER_TITLE
FROM
ORDER_SPEC_MNG OSM
ORDER BY
SEQ
) OSMO GROUP BY PART_OBJID
) O ) O
ON T.OBJID::VARCHAR = O.PART_OBJID::VARCHAR ON T.OBJID::VARCHAR = O.PART_OBJID::VARCHAR
WHERE 1=1 WHERE 1=1
@@ -2307,24 +2324,10 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
LEFT OUTER JOIN ( LEFT OUTER JOIN (
SELECT SELECT
PART_OBJID, PART_OBJID,
ARRAY_TO_STRING(ARRAY_AGG(PARTNER_TITLE), ',') AS PARTNER_TITLE ARRAY_TO_STRING(ARRAY_AGG(SEQ || '. ' || SUP.SUPPLY_NAME ORDER BY SEQ), ',') AS PARTNER_TITLE
FROM( FROM ORDER_SPEC_MNG OSM
SELECT LEFT JOIN ADMIN_SUPPLY_MNG SUP ON SUP.OBJID::VARCHAR = OSM.PARTNER_OBJID::VARCHAR
OBJID, GROUP BY PART_OBJID
PART_OBJID,
SEQ || '. ' ||(
SELECT
SUPPLY_NAME
FROM
ADMIN_SUPPLY_MNG
WHERE
OBJID::VARCHAR = PARTNER_OBJID::VARCHAR
) AS PARTNER_TITLE
FROM
ORDER_SPEC_MNG OSM
ORDER BY
SEQ
) OSMO GROUP BY PART_OBJID
) O ) O
ON T.OBJID::VARCHAR = O.PART_OBJID::VARCHAR ON T.OBJID::VARCHAR = O.PART_OBJID::VARCHAR
@@ -2408,24 +2411,10 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
LEFT OUTER JOIN ( LEFT OUTER JOIN (
SELECT SELECT
PART_OBJID, PART_OBJID,
ARRAY_TO_STRING(ARRAY_AGG(PARTNER_TITLE), ',') AS PARTNER_TITLE ARRAY_TO_STRING(ARRAY_AGG(SEQ || '. ' || SUP.SUPPLY_NAME ORDER BY SEQ), ',') AS PARTNER_TITLE
FROM( FROM ORDER_SPEC_MNG OSM
SELECT LEFT JOIN ADMIN_SUPPLY_MNG SUP ON SUP.OBJID::VARCHAR = OSM.PARTNER_OBJID::VARCHAR
OBJID, GROUP BY PART_OBJID
PART_OBJID,
SEQ || '. ' ||(
SELECT
SUPPLY_NAME
FROM
ADMIN_SUPPLY_MNG
WHERE
OBJID::VARCHAR = PARTNER_OBJID::VARCHAR
) AS PARTNER_TITLE
FROM
ORDER_SPEC_MNG OSM
ORDER BY
SEQ
) OSMO GROUP BY PART_OBJID
) O ) O
ON T.OBJID::VARCHAR = O.PART_OBJID::VARCHAR ON T.OBJID::VARCHAR = O.PART_OBJID::VARCHAR
WHERE 1=1 WHERE 1=1
@@ -2641,38 +2630,52 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
SELECT * FROM SELECT * FROM
(SELECT (SELECT
ROW_NUMBER() OVER(ORDER BY REGDATE DESC) AS RNUM, ROW_NUMBER() OVER(ORDER BY T.REGDATE DESC) AS RNUM,
OBJID, T.OBJID,
CUSTOMER_OBJID, T.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID) AS CUSTOMER_NAME, SM.SUPPLY_NAME AS CUSTOMER_NAME,
CONTRACT_OBJID, T.CONTRACT_OBJID,
(SELECT CUSTOMER_PROJECT_NAME FROM PROJECT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME, PM.CUSTOMER_PROJECT_NAME,
(SELECT PROJECT_NO FROM PROJECT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS PROJECT_NO, PM.PROJECT_NO,
UNIT_CODE, T.UNIT_CODE,
<!-- (SELECT CODE_NAME FROM COMM_CODE AS O WHERE O.CODE_ID = T.UNIT_CODE) AS UNIT_NAME, <!-- (SELECT CODE_NAME FROM COMM_CODE AS O WHERE O.CODE_ID = T.UNIT_CODE) AS UNIT_NAME,
(SELECT TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = T.UNIT_CODE) AS UNIT_NAME, (SELECT TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = T.UNIT_CODE) AS UNIT_NAME,
--> -->
(SELECT O.UNIT_NO || '-' || O.TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = T.UNIT_CODE) AS UNIT_NAME, COALESCE(WT.UNIT_NO || '-' || WT.TASK_NAME, '') AS UNIT_NAME,
STATUS, T.STATUS,
CASE UPPER(STATUS) CASE UPPER(T.STATUS)
WHEN 'CREATE' THEN '등록중' WHEN 'CREATE' THEN '등록중'
WHEN 'CHANGEDESIGN' THEN '설계변경미배포' WHEN 'CHANGEDESIGN' THEN '설계변경미배포'
WHEN 'DEPLOY' THEN '배포완료' WHEN 'DEPLOY' THEN '배포완료'
ELSE '' ELSE ''
END STATUS_TITLE, END STATUS_TITLE,
WRITER, T.WRITER,
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS DEPT_NAME, UI.DEPT_NAME,
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS USER_NAME, UI.USER_NAME,
REGDATE AS REGDATE, T.REGDATE AS REGDATE,
TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REG_DATE, TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS REG_DATE,
DEPLOY_DATE, T.DEPLOY_DATE,
REVISION, T.REVISION,
<!-- (SELECT MAX(PM.REVISION) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS REVISION, --> <!-- (SELECT MAX(PM.REVISION) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS REVISION, -->
(SELECT MAX(PM.EO_NO) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS EO_NO, EO_DATA.EO_NO,
(SELECT MAX(PM.EO_DATE) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS EO_DATE, EO_DATA.EO_DATE,
NOTE, T.NOTE,
(SELECT COUNT(*) FROM BOM_PART_QTY AS A WHERE A.BOM_REPORT_OBJID = T.OBJID) AS BOM_CNT COALESCE(EO_DATA.BOM_CNT, 0) AS BOM_CNT
FROM PART_BOM_REPORT AS T FROM PART_BOM_REPORT AS T
LEFT JOIN SUPPLY_MNG SM ON SM.OBJID::VARCHAR = T.CUSTOMER_OBJID
LEFT JOIN PROJECT_MGMT PM ON PM.OBJID = T.CONTRACT_OBJID
LEFT JOIN PMS_WBS_TASK WT ON WT.OBJID = T.UNIT_CODE
LEFT JOIN USER_INFO UI ON UI.USER_ID = T.WRITER
LEFT JOIN (
SELECT
BP.BOM_REPORT_OBJID,
MAX(PM2.EO_NO) AS EO_NO,
MAX(PM2.EO_DATE) AS EO_DATE,
COUNT(*) AS BOM_CNT
FROM BOM_PART_QTY BP
LEFT JOIN PART_MNG PM2 ON BP.PART_NO = PM2.OBJID::VARCHAR
GROUP BY BP.BOM_REPORT_OBJID
) EO_DATA ON EO_DATA.BOM_REPORT_OBJID = T.OBJID
WHERE 1=1 WHERE 1=1
<if test="customer_cd != null and customer_cd != ''"> <if test="customer_cd != null and customer_cd != ''">
AND T.CUSTOMER_OBJID = #{customer_cd} AND T.CUSTOMER_OBJID = #{customer_cd}
@@ -2734,48 +2737,62 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
<!-- //구조등록 목록조회 --> <!-- //구조등록 목록조회 -->
<select id="getBOMStandardStructureGridList" parameterType="map" resultType="map"> <select id="getBOMStandardStructureGridList" parameterType="map" resultType="map">
SELECT SELECT
ROW_NUMBER() OVER(ORDER BY REGDATE DESC) AS NUM, ROW_NUMBER() OVER(ORDER BY T.REGDATE DESC) AS NUM,
OBJID, T.OBJID,
CUSTOMER_OBJID, T.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = T.CUSTOMER_OBJID) AS CUSTOMER_NAME, SM.SUPPLY_NAME AS CUSTOMER_NAME,
CONTRACT_OBJID, T.CONTRACT_OBJID,
(SELECT CUSTOMER_PROJECT_NAME FROM PROJECT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME, PM.CUSTOMER_PROJECT_NAME,
(SELECT PROJECT_NO FROM PROJECT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS PROJECT_NO, PM.PROJECT_NO,
UNIT_CODE, T.UNIT_CODE,
<!-- (SELECT CODE_NAME FROM COMM_CODE AS O WHERE O.CODE_ID = T.UNIT_CODE) AS UNIT_NAME, <!-- (SELECT CODE_NAME FROM COMM_CODE AS O WHERE O.CODE_ID = T.UNIT_CODE) AS UNIT_NAME,
(SELECT TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = T.UNIT_CODE) AS UNIT_NAME, (SELECT TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = T.UNIT_CODE) AS UNIT_NAME,
--> -->
(SELECT O.UNIT_NO || '-' || O.TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = T.UNIT_CODE) AS UNIT_NAME, COALESCE(WT.UNIT_NO || '-' || WT.TASK_NAME, '') AS UNIT_NAME,
STATUS, T.STATUS,
CASE UPPER(STATUS) CASE UPPER(T.STATUS)
WHEN 'CREATE' THEN '등록중' WHEN 'CREATE' THEN '등록중'
WHEN 'CHANGEDESIGN' THEN '설계변경미배포' WHEN 'CHANGEDESIGN' THEN '설계변경미배포'
WHEN 'DEPLOY' THEN '배포완료' WHEN 'DEPLOY' THEN '배포완료'
ELSE '' ELSE ''
END STATUS_TITLE, END STATUS_TITLE,
WRITER, T.WRITER,
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS DEPT_NAME, UI.DEPT_NAME,
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS USER_NAME, UI.USER_NAME,
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = WRITER) || '/' || (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = WRITER) as DEPT_USER_NAME, COALESCE(UI.DEPT_NAME || '/' || UI.USER_NAME, '') as DEPT_USER_NAME,
REGDATE AS REGDATE, T.REGDATE AS REGDATE,
TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REG_DATE, TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS REG_DATE,
DEPLOY_DATE, T.DEPLOY_DATE,
REVISION, T.REVISION,
<!-- (SELECT MAX(PM.REVISION) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS REVISION, --> <!-- (SELECT MAX(PM.REVISION) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS REVISION, -->
(SELECT MAX(PM.EO_NO) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS EO_NO, EO_DATA.EO_NO,
(SELECT MAX(PM.EO_DATE) FROM BOM_PART_QTY AS BP LEFT JOIN PART_MNG AS PM ON BP.PART_NO = PM.OBJID::VARCHAR WHERE BP.BOM_REPORT_OBJID =T.OBJID) AS EO_DATE, EO_DATA.EO_DATE,
NOTE, T.NOTE,
T.MULTI_YN T.MULTI_YN
,T.MULTI_MASTER_YN ,T.MULTI_MASTER_YN
,T.MULTI_BREAK_YN ,T.MULTI_BREAK_YN
,T.MULTI_MASTER_OBJID ,T.MULTI_MASTER_OBJID
,(SELECT COUNT(*) FROM BOM_PART_QTY AS A WHERE A.BOM_REPORT_OBJID = T.OBJID) AS BOM_CNT ,COALESCE(EO_DATA.BOM_CNT, 0) AS BOM_CNT
,PRODUCT_CD ,T.PRODUCT_CD
,CODE_NAME(PRODUCT_CD) as PRODUCT_NAME ,CODE_NAME(T.PRODUCT_CD) as PRODUCT_NAME
,PART_NO ,T.PART_NO
,PART_NAME ,T.PART_NAME
FROM FROM
PART_BOM_REPORT AS T PART_BOM_REPORT AS T
LEFT JOIN SUPPLY_MNG SM ON SM.OBJID::VARCHAR = T.CUSTOMER_OBJID
LEFT JOIN PROJECT_MGMT PM ON PM.OBJID = T.CONTRACT_OBJID
LEFT JOIN PMS_WBS_TASK WT ON WT.OBJID = T.UNIT_CODE
LEFT JOIN USER_INFO UI ON UI.USER_ID = T.WRITER
LEFT JOIN (
SELECT
BP.BOM_REPORT_OBJID,
MAX(PM2.EO_NO) AS EO_NO,
MAX(PM2.EO_DATE) AS EO_DATE,
COUNT(*) AS BOM_CNT
FROM BOM_PART_QTY BP
LEFT JOIN PART_MNG PM2 ON BP.PART_NO = PM2.OBJID::VARCHAR
GROUP BY BP.BOM_REPORT_OBJID
) EO_DATA ON EO_DATA.BOM_REPORT_OBJID = T.OBJID
WHERE 1=1 WHERE 1=1
<if test="SEARCH_PART_NO != null and !''.equals(SEARCH_PART_NO)"> <if test="SEARCH_PART_NO != null and !''.equals(SEARCH_PART_NO)">
AND UPPER(T.PART_NO) LIKE UPPER('%${SEARCH_PART_NO}%') AND UPPER(T.PART_NO) LIKE UPPER('%${SEARCH_PART_NO}%')