From 11b572c44aceea15d1a668b1fb2bc8243b07aa14 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 5 Dec 2025 13:08:09 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EB=B0=9C=EC=A3=BC=EC=84=9C=20=EA=B3=B5?= =?UTF-8?q?=EA=B8=89=EC=97=85=EC=B2=B4=20=ED=85=8C=EC=9D=B4=EB=B8=94=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD(admin=5Fsupply=5Fmng=20->=20CLIENT=5FMNG)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/salesMng/purchaseListFormPopUp.jsp | 39 ++---------- .../controller/PurchaseOrderController.java | 4 +- src/com/pms/mapper/common.xml | 60 +++++++++++++------ src/com/pms/mapper/purchaseOrder.xml | 28 ++++----- 4 files changed, 62 insertions(+), 69 deletions(-) diff --git a/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp b/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp index cfd88c7..2638627 100644 --- a/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp +++ b/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp @@ -164,14 +164,13 @@ $(document).ready(function(){ }); }); -// 공급업체 목록 로드 (협력업체관리 ADMIN_SUPPLY_MNG + 일반거래처관리 CLIENT_MNG) +// 공급업체 목록 로드 (일반거래처관리 CLIENT_MNG) function fn_loadVendorList(callback) { vendorList = {}; // 객체 형태로 변경 vendorList[''] = '선택'; // 빈 값 - // 1. 협력업체 로드 (ADMIN_SUPPLY_MNG) $.ajax({ - url: "/admin/supplyMngPagingGridList.do", + url: "/admin/clientMngListPagingGridList.do", method: 'post', data: { countPerPage: 9999 @@ -180,44 +179,18 @@ function fn_loadVendorList(callback) { success: function(data) { if(data && data.RESULTLIST) { data.RESULTLIST.forEach(function(item) { - var name = item.SUPPLY_NAME || ''; + var name = item.CLIENT_NM || ''; var objid = item.OBJID || ''; if(objid && name) { vendorList[objid] = name; } }); } - console.log("협력업체 로드 완료:", Object.keys(vendorList).length + "개", vendorList); - - // 2. 일반거래처 로드 (CLIENT_MNG) - C_ 접두사 붙여서 구분 - $.ajax({ - url: "/admin/clientMngListPagingGridList.do", - method: 'post', - data: { - countPerPage: 9999 - }, - dataType: 'json', - success: function(data2) { - if(data2 && data2.RESULTLIST) { - data2.RESULTLIST.forEach(function(item) { - var name = item.CLIENT_NM || ''; - var objid = item.OBJID || ''; - if(objid && name) { - vendorList['C_' + objid] = name + ' (일반)'; - } - }); - } - console.log("vendorList 최종 생성 완료:", Object.keys(vendorList).length + "개", vendorList); - if(callback) callback(); - }, - error: function(xhr, status, error) { - logError("일반거래처 목록 로드 실패:", error); - if(callback) callback(); - } - }); + console.log("공급업체 로드 완료:", Object.keys(vendorList).length + "개", vendorList); + if(callback) callback(); }, error: function(xhr, status, error) { - logError("협력업체 목록 로드 실패:", error); + logError("공급업체 목록 로드 실패:", error); if(callback) callback(); } }); diff --git a/src/com/pms/controller/PurchaseOrderController.java b/src/com/pms/controller/PurchaseOrderController.java index 9efe721..3347bde 100644 --- a/src/com/pms/controller/PurchaseOrderController.java +++ b/src/com/pms/controller/PurchaseOrderController.java @@ -610,8 +610,8 @@ public class PurchaseOrderController { code_map.put("PO_CLIENT_ID", commonService.bizMakeOptionList("Y", (String)info.get("PO_CLIENT_ID"),"admin.getSUPPLYInfoGridList", "searchHeadOffice", true, "objid", "supply_name", new String []{"supply_address","office_no","supply_fax_no","bus_reg_no","email"} )); //당사프로젝트번호 project_no code_map.put("project_no", commonService.bizMakeOptionList("", (String)info.get("CONTRACT_MGMT_OBJID"),"common.getProjectNameList")); - //공급업체 - code_map.put("partner_cd", commonService.bizMakeOptionList("", (String)info.get("PARTNER_OBJID" ),"common.getmatersupplyselect")); + //공급업체 (CLIENT_MNG 테이블 사용) + code_map.put("partner_cd", commonService.bizMakeOptionList("", (String)info.get("PARTNER_OBJID" ),"common.getClientMngSupplySelect")); //구매담당자 code_map.put("sales_mng_user_id", commonService.bizMakeOptionList("", (String)info.get("SALES_MNG_USER_ID"),"common.getUserselect", new String []{"cell_phone"} )); diff --git a/src/com/pms/mapper/common.xml b/src/com/pms/mapper/common.xml index b732382..d730983 100644 --- a/src/com/pms/mapper/common.xml +++ b/src/com/pms/mapper/common.xml @@ -2717,24 +2717,48 @@ ORDER BY COALESCE(T.REVISION, '1.0') WHERE OBJID::numeric = #{OBJID}::numeric - + + + + + SELECT T1.OBJID ,T1.BUS_REG_NO AS SUPPLY_BUS_NO - ,(CASE WHEN T2.OBJID IS NULL THEN T1.CHARGE_USER_NAME ELSE T2.CHARGER_NAME END) AS SUPPLY_USER_NAME - ,(CASE WHEN T2.OBJID IS NULL THEN T1.SUPPLY_TEL_NO ELSE T2.PHONE END) AS SUPPLY_USER_HP - ,(CASE WHEN T2.OBJID IS NULL THEN T1.OFFICE_NO ELSE T2.TEL END) AS SUPPLY_USER_TEL - ,(CASE WHEN T2.OBJID IS NULL THEN T1.SUPPLY_FAX_NO ELSE T2.FAX END) AS SUPPLY_USER_FAX - ,(CASE WHEN T2.OBJID IS NULL THEN T1.EMAIL ELSE T2.EMAIL END) AS SUPPLY_USER_EMAIL - ,T1.SUPPLY_ADDRESS AS SUPPLY_ADDR - FROM ADMIN_SUPPLY_MNG AS T1 - LEFT OUTER JOIN - (SELECT * FROM (SELECT DENSE_RANK() OVER(PARTITION BY T.SUPPLY_OBJID ORDER BY T.CHARGER_NAME ASC) AS TOP, T.* - FROM SUPPLY_CHARGER_MNG T WHERE CHARGER_TYPE = '0000330' /*발주서공급처담당*/ - ) AS T WHERE TOP = 1 - ) AS T2 - ON T1.OBJID = T2.SUPPLY_OBJID::NUMERIC + ,T1.CEO_NM AS SUPPLY_USER_NAME + ,T1.VENDOR_MOBILE AS SUPPLY_USER_HP + ,T1.TEL_NO AS SUPPLY_USER_TEL + ,T1.FAX_NO AS SUPPLY_USER_FAX + ,T1.EMAIL AS SUPPLY_USER_EMAIL + ,CONCAT(COALESCE(T1.ADDR1,''), ' ', COALESCE(T1.ADDR2,'')) AS SUPPLY_ADDR + FROM CLIENT_MNG AS T1 WHERE 1=1 - AND T1.OBJID = #{PARTNER_OBJID}::NUMERIC + AND T1.OBJID::VARCHAR = #{PARTNER_OBJID}::VARCHAR - + @@ -3832,7 +3830,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' -- DOC_TYPE 컬럼 없음, 주석처리 + AND SRM.DOC_TYPE = 'PROPOSAL' AND SRM.REQUEST_MNG_NO LIKE '%${SEARCH_PROPOSAL_NO}%' @@ -3970,7 +3968,7 @@ ORDER BY V.PATH2 SRP.UNIT_PRICE, SRP.TOTAL_PRICE, SRP.VENDOR_PM, - (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = SRP.VENDOR_PM) AS VENDOR_NAME, + (SELECT CLIENT_NM FROM CLIENT_MNG WHERE OBJID::VARCHAR = SRP.VENDOR_PM) AS VENDOR_NAME, SRP.REMARK, SRP.DELIVERY_REQUEST_DATE, SRP.DELIVERY_REQUEST_DATE AS DELIVERY_REQUEST_DATE_TITLE -- 2.49.1 From a3b916eded6a06ef832871c86eee720bd5acc9c6 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 5 Dec 2025 17:41:33 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=ED=92=88=EC=A7=88=EA=B4=80=EB=A6=AC=5F?= =?UTF-8?q?=EC=88=98=EC=9E=85=EA=B2=80=EC=82=AC=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EA=B1=B0=EC=9D=98=20=EC=99=84=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deliveryMngAcceptanceList.jsp | 20 +- .../purchaseOrder/purchaseOrderList_new.jsp | 4 - .../quality/incomingInspectionFormPopUp.jsp | 464 +++++++++++++----- .../view/quality/incomingInspectionList.jsp | 138 +++--- .../WEB-INF/view/salesMng/proposalMngList.jsp | 3 +- src/com/pms/controller/QualityController.java | 85 +++- src/com/pms/mapper/inventoryMng.xml | 2 + src/com/pms/mapper/purchaseOrder.xml | 31 +- src/com/pms/mapper/quality.xml | 249 ++++++++-- src/com/pms/service/InventoryMngService.java | 1 + src/com/pms/service/PurchaseOrderService.java | 11 + src/com/pms/service/QualityService.java | 58 ++- 12 files changed, 767 insertions(+), 299 deletions(-) diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp index 56875a4..d7e2004 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp @@ -80,13 +80,10 @@ $(document).ready(function(){ var columns = [ // 요구사항: 품의서 No, 발주서 No, 프로젝트번호, 품번, 품명, 공급업체, 발주수량, 입고수량, 미입고수량, 검사성적서, 입고결과 {headerHozAlign : 'center', hozAlign : 'center', minWidth : 130, widthGrow : 1, title : '품의서 No', field : 'PROPOSAL_NO', - formatter:fnc_createGridAnchorTag, - cellClick:function(e, cell){ - var proposalObjId = fnc_checkNull(cell.getData().PROPOSAL_OBJID); - if(proposalObjId != ''){ - fn_openProposalPopUp(proposalObjId); - } - } + formatter: fnc_createGridAnchorTag, + cellClick : function(e, cell) { + fn_openProposalFormPopUp(cell.getData().SALES_REQUEST_OBJID); + } }, {headerHozAlign : 'center', hozAlign : 'center', minWidth : 130, widthGrow : 1, title : '발주서 No', field : 'PURCHASE_ORDER_NO', formatter:fnc_createGridAnchorTag, @@ -214,6 +211,12 @@ function fn_deliveryAcceptanceViewPopUp(objId,DELIVERY_STATUS){ hiddenForm.submit(); } +// 품의서 상세 팝업 +function fn_openProposalFormPopUp(objId){ + var url = "/salesMng/proposalFormPopUp.do?PROPOSAL_OBJID=" + fnc_checkNull(objId); + window.open(url, "proposalFormPopUp", "width=1200,height=900,scrollbars=yes,resizable=yes"); +} + //부적합등록 function fn_deliveryInvaildPopUp(){ @@ -324,7 +327,7 @@ function fn_openInspectionFilePopUp(objId){ <%-- --%> - <%-- 검색필터 주석처리 +
@@ -394,7 +397,6 @@ function fn_openInspectionFilePopUp(objId){
- --%> <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp index 051692c..e9db4ce 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp @@ -812,7 +812,6 @@ function fn_openMailFormPopup(purchaseOrderObjId){ - <%-- 검색필터 주석처리
@@ -875,12 +874,9 @@ function fn_openMailFormPopup(purchaseOrderObjId){
- --%> - <%-- 총발주금액 주석처리
- --%> <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> diff --git a/WebContent/WEB-INF/view/quality/incomingInspectionFormPopUp.jsp b/WebContent/WEB-INF/view/quality/incomingInspectionFormPopUp.jsp index 5414fe8..cb296ab 100644 --- a/WebContent/WEB-INF/view/quality/incomingInspectionFormPopUp.jsp +++ b/WebContent/WEB-INF/view/quality/incomingInspectionFormPopUp.jsp @@ -1,8 +1,15 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ page import="com.pms.common.utils.*"%> <%@ page import="java.util.*" %> <%@include file= "/init.jsp" %> +<% +PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); +String connector = person.getUserId(); +%> + + @@ -11,62 +18,64 @@ - -
- - - -
-
-
-

수입검사 등록

-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
발주서 No${param.PURCHASE_ORDER_NO}검사자 * - -
검사일 * - - 검사결과 * - -
검사 메모 - -
- -
- - -
+ + + + +
+

수입검사 등록

+
+ +
-
-
+ +
+
+ + +
+
+ + +
+
+ + <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> + - diff --git a/WebContent/WEB-INF/view/quality/incomingInspectionList.jsp b/WebContent/WEB-INF/view/quality/incomingInspectionList.jsp index 7b48edf..ace014c 100644 --- a/WebContent/WEB-INF/view/quality/incomingInspectionList.jsp +++ b/WebContent/WEB-INF/view/quality/incomingInspectionList.jsp @@ -43,11 +43,6 @@ String menuName = CommonUtils.getMenuName(menuObjId, "수입검사 관리"); .inspection-ng { color: #dc3545; font-weight: bold; cursor: pointer; } .inspection-ok { color: #28a745; font-weight: bold; cursor: pointer; } .inspection-ng:hover, .inspection-ok:hover { text-decoration: underline; } - - /* 검색필터 아이템 스타일 */ - .search-item { display: flex; align-items: center; gap: 5px; } - .search-item label { font-weight: bold; white-space: nowrap; min-width: 70px; } - .search-item input, .search-item select { height: 28px; }