From b0a062c30176f165d9e1aa830426898306adb9d0 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Sat, 21 Feb 2026 21:50:10 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EA=B7=B8=EB=A6=AC=EB=93=9C=EC=97=90=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC=EB=B0=95=EC=8A=A4=20=EC=BB=AC=EB=9F=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../incomingInspectionProgressList.jsp | 1 + .../quality/semiProductInspectionList.jsp | 43 ++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp b/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp index 290a165..9c271de 100644 --- a/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp +++ b/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp @@ -103,6 +103,7 @@ $(document).ready(function(){ // 컬럼 정의 (입고품목 상세 기준) - 신규 // ===================================================== var columns = [ + {formatter:"rowSelection", titleFormatter:"rowSelection", hozAlign:"center", headerSort:false, width:40, frozen:true}, {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'검사일', field:'INSPECTION_DATE', frozen: true, sorter: "string"}, {headerHozAlign:'center', hozAlign:'center', minWidth:70, widthGrow:1, title:'검사자', field:'INSPECTOR_NAME', frozen: true}, {headerHozAlign:'center', hozAlign:'center', minWidth:105, widthGrow:1, title:'품의서 No', field:'PROPOSAL_NO', frozen: true}, diff --git a/WebContent/WEB-INF/view/quality/semiProductInspectionList.jsp b/WebContent/WEB-INF/view/quality/semiProductInspectionList.jsp index 9200b07..b47dc74 100644 --- a/WebContent/WEB-INF/view/quality/semiProductInspectionList.jsp +++ b/WebContent/WEB-INF/view/quality/semiProductInspectionList.jsp @@ -223,6 +223,7 @@ async function fn_createExcelFile(data){ // 컬럼: 검사일, 검사자, 제품구분, 품명(모델명), 작업지시번호, 부품품번, 부품명, 입고수량 합계, 양품수량 합계, 불량수량 합계, 불량율, 재생수량 합계, 최종양품수량 합계 var columns = [ + {formatter:"rowSelection", titleFormatter:"rowSelection", hozAlign:"center", headerSort:false, width:40, frozen:true}, {headerHozAlign:'center', hozAlign:'center', minWidth:150, widthGrow:1, title:'검사일', field:'INSPECTION_DATE', formatter:fnc_createGridAnchorTag, cellClick: function(e, cell){ @@ -347,25 +348,47 @@ function fn_openInspectionPopUp(rowData){ hiddenForm.submit(); } -// 반제품검사 등록 팝업 (신규 등록) +// 반제품검사 등록 팝업 (선택된 행이 있으면 기존 데이터, 없으면 신규 등록) function fn_registPopUp(){ + var selected = _tabulGrid ? _tabulGrid.getSelectedData() : []; + var popup_width = 1800; var popup_height = 1050; var hiddenForm = document.hiddenForm; var target = "semiProductInspectionPopUp"; var url = "/quality/semiProductInspectionFormPopUp.do"; - fn_centerPopup(popup_width, popup_height, "", target); + if(selected.length > 1){ + Swal.fire("한건씩 등록 가능합니다."); + return; + } + fn_centerPopup(popup_width, popup_height, "", target); hiddenForm.action = url; - hiddenForm.OBJID.value = ''; // 신규 등록이므로 빈값 - hiddenForm.INSPECTION_GROUP_ID.value = ''; // 신규 등록이므로 빈값 - hiddenForm.actionType.value = 'new'; - hiddenForm.MODEL_NAME.value = ''; - hiddenForm.WORK_ORDER_NO.value = ''; - hiddenForm.PART_NO.value = ''; - hiddenForm.PART_NAME.value = ''; - hiddenForm.INSPECTION_DATE.value = ''; + + if(selected.length == 1){ + // 선택된 행이 있으면 기존 데이터로 열기 + var rowData = selected[0]; + hiddenForm.OBJID.value = rowData.OBJID || ''; + hiddenForm.INSPECTION_GROUP_ID.value = rowData.INSPECTION_GROUP_ID || ''; + hiddenForm.MODEL_NAME.value = rowData.MODEL_NAME || ''; + hiddenForm.WORK_ORDER_NO.value = rowData.WORK_ORDER_NO || ''; + hiddenForm.PART_NO.value = rowData.PART_NO || ''; + hiddenForm.PART_NAME.value = rowData.PART_NAME || ''; + hiddenForm.INSPECTION_DATE.value = rowData.INSPECTION_DATE || ''; + hiddenForm.actionType.value = 'view'; + } else { + // 선택된 행이 없으면 신규 등록 + hiddenForm.OBJID.value = ''; + hiddenForm.INSPECTION_GROUP_ID.value = ''; + hiddenForm.actionType.value = 'new'; + hiddenForm.MODEL_NAME.value = ''; + hiddenForm.WORK_ORDER_NO.value = ''; + hiddenForm.PART_NO.value = ''; + hiddenForm.PART_NAME.value = ''; + hiddenForm.INSPECTION_DATE.value = ''; + } + hiddenForm.target = target; hiddenForm.submit(); } -- 2.49.1 From c36bcf275f09c9b28e6eaca43b53b36f8a1f10ef Mon Sep 17 00:00:00 2001 From: hjjeong Date: Sat, 21 Feb 2026 21:59:04 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EB=B6=84=ED=95=A0=EC=B6=9C=ED=95=98=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EC=A3=BC=EC=84=9D=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp index 1271b52..02e1af1 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp @@ -714,7 +714,7 @@ body { --%> - +
-- 2.49.1 From 972352b2a324e75d010d0aa3bc61cc1794e6ebd7 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Sat, 21 Feb 2026 21:59:51 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EC=A0=95=EC=88=98=EB=B3=80=ED=99=98=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/pms/mapper/purchaseOrder.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/com/pms/mapper/purchaseOrder.xml b/src/com/pms/mapper/purchaseOrder.xml index 7e97835..d6dfb64 100644 --- a/src/com/pms/mapper/purchaseOrder.xml +++ b/src/com/pms/mapper/purchaseOrder.xml @@ -1193,7 +1193,7 @@ #{PART_OBJID}, REPLACE(#{BOM_QTY}::VARCHAR, ',', ''), REPLACE(#{QTY}::VARCHAR, ',', ''), - REPLACE(#{ORDER_QTY}::VARCHAR, ',', ''), + COALESCE(NULLIF(REPLACE(#{ORDER_QTY}::VARCHAR, ',', ''), '')::NUMERIC::INTEGER, 0), #{PARTNER_PRICE}, #{REMARK}, #{WRITER}, @@ -1231,7 +1231,7 @@ ) ON CONFLICT (OBJID) DO UPDATE SET - ORDER_QTY = REPLACE(#{ORDER_QTY} ::VARCHAR, ',', '') + ORDER_QTY = COALESCE(NULLIF(REPLACE(#{ORDER_QTY}::VARCHAR, ',', ''), '')::NUMERIC::INTEGER, 0) ,PARTNER_PRICE = REPLACE(#{PARTNER_PRICE} ::VARCHAR, ',', '') ,REMARK = #{REMARK} + (ORDER_QTY::NUMERIC - TOTAL_DELIVERY_QTY::NUMERIC) AS NON_ARRIVAL_QTY FROM( SELECT ROW_NUMBER() OVER(ORDER BY PM.PART_NO, POP.REGDATE DESC) AS RNUM, @@ -1855,7 +1854,7 @@ WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID) ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE 1=1 AND OBJID::VARCHAR = POM.PARTNER_OBJID) END AS PARTNER_NAME, - POP.ORDER_QTY, + COALESCE(NULLIF(POP.ORDER_QTY::VARCHAR, '')::NUMERIC::INTEGER, 0) AS ORDER_QTY, POP.REAL_ORDER_QTY, POP.OBJID AS ORDER_PART_OBJID, POP.PURCHASE_ORDER_MASTER_OBJID, -- 2.49.1 From aefb2d28589460be1f52ea0d3301e5fb3dc5bd93 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Sat, 21 Feb 2026 22:35:26 +0900 Subject: [PATCH 4/4] =?UTF-8?q?select2=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quality/processInspectionFormPopUp.jsp | 124 +++++++++++------- 1 file changed, 75 insertions(+), 49 deletions(-) diff --git a/WebContent/WEB-INF/view/quality/processInspectionFormPopUp.jsp b/WebContent/WEB-INF/view/quality/processInspectionFormPopUp.jsp index 3c72c75..69db83d 100644 --- a/WebContent/WEB-INF/view/quality/processInspectionFormPopUp.jsp +++ b/WebContent/WEB-INF/view/quality/processInspectionFormPopUp.jsp @@ -44,6 +44,8 @@ String connector = person.getUserId(); .inspection-ok { color: #28a745; font-weight: bold; } /* 공통에서 추가되는 초기화, Excel Download 버튼 숨기기 */ .resetBtn, .excelBtn { display: none !important; } + /* select2 드롭다운이 Tabulator 그리드 위에 표시되도록 */ + .select2-container--open .select2-dropdown { z-index: 99999 !important; }