From 457bd85597cda51f2fd3e1ad83be354dc624c28a Mon Sep 17 00:00:00 2001 From: hjjeong Date: Tue, 10 Mar 2026 17:59:14 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=8C=ED=8A=B8=20=EB=8B=A8=EC=9C=84=20?= =?UTF-8?q?=EC=BB=AC=EB=9F=BC=20=EB=B3=80=EA=B2=BD=20=EB=93=B1..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deliveryMngAcceptancePartList.jsp | 31 +++++++++++++++++++ src/com/pms/mapper/purchaseOrder.xml | 23 +++++++++++++- src/com/pms/mapper/salesMng.xml | 4 +-- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptancePartList.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptancePartList.jsp index 3542401..1234f82 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptancePartList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptancePartList.jsp @@ -50,6 +50,29 @@ $(document).ready(function(){ // 품번/품명 Select2 AJAX 초기화 initPartSelect2Ajax("#SEARCH_PART_NO", "#SEARCH_PART_NAME", "#SEARCH_PART_OBJID"); + // 부품품번 Select2 AJAX 초기화 (단독) + $("#SEARCH_COMPONENT_PART_NO").select2({ + placeholder: "부품품번 검색...", + allowClear: true, + width: '100%', + minimumInputLength: 1, + language: { inputTooShort: function(){ return "1글자 이상 입력하세요"; }, searching: function(){ return "검색 중..."; }, noResults: function(){ return "검색 결과가 없습니다"; } }, + ajax: { + url: '/contractMgmt/searchPartList.do', + dataType: 'json', type: 'POST', + contentType: 'application/x-www-form-urlencoded; charset=UTF-8', + delay: 250, + data: function(params){ return { searchTerm: params.term, searchType: 'partNo' }; }, + processResults: function(data){ + return { results: $.map(data, function(item){ + var partNo = item.PART_NO || item.part_no || ''; + return { id: partNo, text: partNo }; + })}; + }, + cache: true + } + }); + $("input").keyup(function(e){ if(e.keyCode == 13){ $("#page").val("1"); @@ -407,6 +430,14 @@ function fn_purchaseClose(){ + + + + + + diff --git a/src/com/pms/mapper/purchaseOrder.xml b/src/com/pms/mapper/purchaseOrder.xml index 6fd3ff4..6abceba 100644 --- a/src/com/pms/mapper/purchaseOrder.xml +++ b/src/com/pms/mapper/purchaseOrder.xml @@ -887,7 +887,7 @@ PM.PART_NO, PM.PART_NAME, PM.SPEC, - COALESCE(NULLIF(SRP.UNIT, ''), PM.UNIT) AS UNIT, + COALESCE(NULLIF(SRP.UNIT, ''), PM.UNIT_DC) AS UNIT, PM.MAKER, (SELECT PJ.PART_NAME FROM PROJECT_MGMT PJ WHERE PJ.OBJID::VARCHAR = SRM.PROJECT_NO) AS PROJECT_PRODUCT_NAME, CASE WHEN COALESCE(SRP.MATERIAL_YN, 'N') = 'Y' AND SRM.MBOM_HEADER_OBJID IS NOT NULL THEN @@ -6411,6 +6411,27 @@ FROM( AND TRIM(UPPER(POP.SPEC)) LIKE '%'||TRIM(UPPER(#{SEARCH_PART_SPEC}))||'%' + + AND TRIM(UPPER( + COALESCE( + (SELECT + CASE WHEN COALESCE(SRP3.MATERIAL_YN, 'N') = 'Y' AND SRM3.MBOM_HEADER_OBJID IS NOT NULL THEN + (SELECT MIN(PM3.PART_NO) FROM MBOM_DETAIL MD3 + JOIN PART_MNG PM3 ON MD3.PART_OBJID::VARCHAR = PM3.OBJID::VARCHAR + WHERE MD3.RAW_MATERIAL_PART_NO = POP.PART_NO + AND MD3.MBOM_HEADER_OBJID::VARCHAR = SRM3.MBOM_HEADER_OBJID::VARCHAR) + ELSE POP.PART_NO + END + FROM SALES_REQUEST_PART SRP3 + JOIN SALES_REQUEST_MASTER SRM3 ON SRP3.SALES_REQUEST_MASTER_OBJID = SRM3.OBJID + WHERE SRM3.OBJID::VARCHAR = POM.SALES_REQUEST_OBJID + AND SRP3.PART_OBJID = POP.PART_OBJID + LIMIT 1 + ), + POP.PART_NO + ) + )) LIKE '%'||TRIM(UPPER(#{SEARCH_COMPONENT_PART_NO}))||'%' + ORDER BY POM.REGDATE DESC, POP.OBJID diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index 78605ab..df61bee 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -5007,10 +5007,10 @@ ORDER BY V.PATH2 PM.PART_NAME, PM.SPEC, PM.MATERIAL, - COALESCE(NULLIF(SRP.UNIT, ''), PM.UNIT) AS UNIT, + COALESCE(NULLIF(SRP.UNIT, ''), PM.UNIT_DC) AS UNIT, COALESCE( (SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = NULLIF(SRP.UNIT, '')), - (SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = PM.UNIT) + (SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = PM.UNIT_DC) ) AS UNIT_TITLE, SRP.QTY, COALESCE(SRP.UNIT_PRICE, 0) AS UNIT_PRICE,