From bfc9d768c8947c5ff4079b06077d4e81af855f87 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Tue, 23 Dec 2025 16:31:08 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=98=EC=A0=9C=ED=92=88,=20=EC=9B=90?= =?UTF-8?q?=EC=9E=90=EC=9E=AC=20=EC=86=8C=EC=9A=94=EB=9F=89=20=EC=97=A0?= =?UTF-8?q?=EB=B4=84=EC=84=A0=ED=83=9D=20=ED=92=88=EB=AA=85=EC=9E=90?= =?UTF-8?q?=EB=8F=99=ED=91=9C=EC=8B=9C=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rawMaterialRequirementList.jsp | 17 ++++++++++---- .../semiProductRequirementList.jsp | 17 ++++++++++---- .../ProductionPlanningController.java | 8 +++++++ src/com/pms/mapper/productionplanning.xml | 11 +++++++++ .../service/ProductionPlanningService.java | 23 +++++++++++++++++++ 5 files changed, 68 insertions(+), 8 deletions(-) diff --git a/WebContent/WEB-INF/view/productionplanning/rawMaterialRequirementList.jsp b/WebContent/WEB-INF/view/productionplanning/rawMaterialRequirementList.jsp index f99f6c6..9aa3ab4 100644 --- a/WebContent/WEB-INF/view/productionplanning/rawMaterialRequirementList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/rawMaterialRequirementList.jsp @@ -46,8 +46,10 @@ var resultGrid; var grid; // 입력 행 번호 var rowSeq = 0; -// M-BOM 옵션 데이터 +// M-BOM 옵션 데이터 (셀렉트박스용) var mbomOptionsData = {}; +// M-BOM 품명 데이터 (OBJID -> PART_NAME 매핑) +var mbomPartNameData = {}; $(document).ready(function(){ $('.select2').select2(); @@ -87,7 +89,14 @@ function fn_initMbomOptions() { mbomOptionsData[val] = text; } }); + + // M-BOM 품명 데이터 초기화 (서버에서 전달받은 데이터) + + mbomPartNameData["${item.OBJID}"] = "${item.PART_NAME}"; + + console.log("M-BOM 옵션:", mbomOptionsData); + console.log("M-BOM 품명:", mbomPartNameData); } // 입력 그리드 초기화 @@ -136,12 +145,12 @@ function fn_initInputGrid() { return mbomOptionsData[value] || ""; }, cellEdited: function(cell) { - // M-BOM 선택 시 품명 자동 입력 + // M-BOM 선택 시 품명 자동 입력 (MBOM_HEADER.PART_NAME 사용) var mbomObjid = cell.getValue(); var row = cell.getRow(); if(mbomObjid) { - var mbomName = mbomOptionsData[mbomObjid] || ""; - row.update({PART_NAME: mbomName}); + var partName = mbomPartNameData[mbomObjid] || ""; + row.update({PART_NAME: partName}); } else { row.update({PART_NAME: ""}); } diff --git a/WebContent/WEB-INF/view/productionplanning/semiProductRequirementList.jsp b/WebContent/WEB-INF/view/productionplanning/semiProductRequirementList.jsp index 1b36795..53c0beb 100644 --- a/WebContent/WEB-INF/view/productionplanning/semiProductRequirementList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/semiProductRequirementList.jsp @@ -46,8 +46,10 @@ var resultGrid; var grid; // 입력 행 번호 var rowSeq = 0; -// M-BOM 옵션 데이터 +// M-BOM 옵션 데이터 (셀렉트박스용) var mbomOptionsData = {}; +// M-BOM 품명 데이터 (OBJID -> PART_NAME 매핑) +var mbomPartNameData = {}; $(document).ready(function(){ $('.select2').select2(); @@ -87,7 +89,14 @@ function fn_initMbomOptions() { mbomOptionsData[val] = text; } }); + + // M-BOM 품명 데이터 초기화 (서버에서 전달받은 데이터) + + mbomPartNameData["${item.OBJID}"] = "${item.PART_NAME}"; + + console.log("M-BOM 옵션:", mbomOptionsData); + console.log("M-BOM 품명:", mbomPartNameData); } // 입력 그리드 초기화 @@ -136,12 +145,12 @@ function fn_initInputGrid() { return mbomOptionsData[value] || ""; }, cellEdited: function(cell) { - // M-BOM 선택 시 품명 자동 입력 + // M-BOM 선택 시 품명 자동 입력 (MBOM_HEADER.PART_NAME 사용) var mbomObjid = cell.getValue(); var row = cell.getRow(); if(mbomObjid) { - var mbomName = mbomOptionsData[mbomObjid] || ""; - row.update({PART_NAME: mbomName}); + var partName = mbomPartNameData[mbomObjid] || ""; + row.update({PART_NAME: partName}); } else { row.update({PART_NAME: ""}); } diff --git a/src/com/pms/controller/ProductionPlanningController.java b/src/com/pms/controller/ProductionPlanningController.java index bee4495..ce894fa 100644 --- a/src/com/pms/controller/ProductionPlanningController.java +++ b/src/com/pms/controller/ProductionPlanningController.java @@ -1863,6 +1863,10 @@ public class ProductionPlanningController extends BaseService { // M-BOM 목록 (셀렉트박스용) code_map.put("mbom_list", commonService.bizMakeOptionList("", "", "productionplanning.getMbomListForSelect2")); + // M-BOM 목록 (품명 포함) - 품명 자동 입력용 + List mbomListWithPartName = productionPlanningService.getMbomListWithPartName(); + request.setAttribute("mbom_part_name_list", mbomListWithPartName); + request.setAttribute("code_map", code_map); } catch(Exception e) { e.printStackTrace(); @@ -1902,6 +1906,10 @@ public class ProductionPlanningController extends BaseService { // M-BOM 목록 (셀렉트박스용) code_map.put("mbom_list", commonService.bizMakeOptionList("", "", "productionplanning.getMbomListForSelect2")); + // M-BOM 목록 (품명 포함) - 품명 자동 입력용 + List mbomListWithPartName = productionPlanningService.getMbomListWithPartName(); + request.setAttribute("mbom_part_name_list", mbomListWithPartName); + request.setAttribute("code_map", code_map); } catch(Exception e) { e.printStackTrace(); diff --git a/src/com/pms/mapper/productionplanning.xml b/src/com/pms/mapper/productionplanning.xml index 5d26cab..253623b 100644 --- a/src/com/pms/mapper/productionplanning.xml +++ b/src/com/pms/mapper/productionplanning.xml @@ -3969,6 +3969,17 @@ ORDER BY REGDATE DESC, MBOM_NO + + +