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/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp index 1983352..da96cd2 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp @@ -86,7 +86,8 @@ $(document).ready(function(){ var columns = [ // 요구사항: 품의서 No, 발주서 No, 프로젝트번호, 품번, 품명, 공급업체, 발주수량, 입고수량, 미입고수량, 검사성적서, 입고결과 {title:'TOTAL_SUPPLY_PRICE' ,field:'TOTAL_SUPPLY_PRICE' ,visible:false, frozen:true}, - {title:'TOTAL_DELIVERY_PRICE' ,field:'TOTAL_DELIVERY_PRICE' ,visible:false, frozen:true}, + {title:'TOTAL_DELIVERY_PRICE' ,field:'TOTAL_DELIVERY_PRICE' ,visible:false, frozen:true}, + {title:'TOTAL_NOT_DELIVERY_PRICE',field:'TOTAL_NOT_DELIVERY_PRICE',visible:false, frozen:true}, {headerHozAlign : 'center', hozAlign : 'center', minWidth : 130, widthGrow : 1, title : '품의서 No', field : 'PROPOSAL_NO', formatter: fnc_createGridAnchorTag, cellClick : function(e, cell) { @@ -179,17 +180,18 @@ function fn_calculateTotalAmount(){ // 현재 그리드에 표시된 데이터 가져오기 var data = _tabulGrid.getData(); - var totalOrderAmount = 0; // 총 발주금액 + var totalOrderAmount = 0; // 총 발주금액 var totalDeliveredAmount = 0; // 입고금액 var totalNotDeliveredAmount = 0; // 미입고금액 if(data.length > 0) { data.forEach(function(row) { - var rowTotalPrice = parseFloat(row.TOTAL_SUPPLY_PRICE || 0); + // SQL에서 계산된 값 사용 + var rowSupplyPrice = parseFloat(row.TOTAL_SUPPLY_PRICE || 0); var rowDeliveredPrice = parseFloat(row.TOTAL_DELIVERY_PRICE || 0); - var rowNotDeliveredPrice = rowTotalPrice - rowDeliveredPrice; + var rowNotDeliveredPrice = parseFloat(row.TOTAL_NOT_DELIVERY_PRICE || 0); - totalOrderAmount += rowTotalPrice; + totalOrderAmount += rowSupplyPrice; totalDeliveredAmount += rowDeliveredPrice; totalNotDeliveredAmount += rowNotDeliveredPrice; }); diff --git a/src/com/pms/controller/ProductionPlanningController.java b/src/com/pms/controller/ProductionPlanningController.java index 4298ba0..4b67033 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 4a215ef..39efd84 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 + + +