diff --git a/WebContent/WEB-INF/view/productionplanning/mBomHistoryDetailPopup.jsp b/WebContent/WEB-INF/view/productionplanning/mBomHistoryDetailPopup.jsp new file mode 100644 index 0000000..eb587a8 --- /dev/null +++ b/WebContent/WEB-INF/view/productionplanning/mBomHistoryDetailPopup.jsp @@ -0,0 +1,294 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="com.pms.common.utils.*"%> +<%@ page import="java.util.*" %> +<%@include file= "/init.jsp" %> + + + + +<%=Constants.SYSTEM_NAME%> - M-BOM 변경 이력 상세 + + + +
+

M-BOM 변경 이력 상세

+ +
+ 변경유형: ${historyInfo.CHANGE_TYPE} + 변경일: ${historyInfo.CHANGE_DATE} + 작성자: ${historyInfo.CHANGE_USER_NAME} + 프로젝트: ${historyInfo.PROJECT_NO} +
+ +
+ +
+ + +
+ + + + + diff --git a/WebContent/WEB-INF/view/productionplanning/mBomHistoryList.jsp b/WebContent/WEB-INF/view/productionplanning/mBomHistoryList.jsp new file mode 100644 index 0000000..7009f62 --- /dev/null +++ b/WebContent/WEB-INF/view/productionplanning/mBomHistoryList.jsp @@ -0,0 +1,207 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ 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" %> + + +<% +// DB에서 메뉴명 조회 (공통 유틸 사용) +String menuObjId = request.getParameter("menuObjId"); +String menuName = CommonUtils.getMenuName(menuObjId, "생산관리_M-BOM 변경이력"); +%> + + + + + <%=Constants.SYSTEM_NAME%> + + + + + + +
+ +
+
+
+

+ <%=menuName%> +

+
+ +
+
+ + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + ~ + +
+
+ + + <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> +
+
+
+ + diff --git a/src/com/pms/controller/ProductionPlanningController.java b/src/com/pms/controller/ProductionPlanningController.java index ae6784d..5cfe571 100644 --- a/src/com/pms/controller/ProductionPlanningController.java +++ b/src/com/pms/controller/ProductionPlanningController.java @@ -2107,4 +2107,68 @@ public class ProductionPlanningController extends BaseService { return resultMap; } + /** + * M-BOM 변경이력 목록 페이지 + */ + @RequestMapping("/productionplanning/mBomHistoryList.do") + public String mBomHistoryList(HttpServletRequest request, @RequestParam Map paramMap){ + Map code_map = new HashMap(); + try { + // 주문유형 (0000167) + code_map.put("category_cd", commonService.bizMakeOptionList("0000167", (String)paramMap.get("search_category_cd"), "common.getCodeselect")); + // 제품구분 (0000001) + code_map.put("product_cd", commonService.bizMakeOptionList("0000001", (String)paramMap.get("search_product_cd"), "common.getCodeselect")); + // 고객사 (SUPPLY_MNG + CLIENT_MNG) + code_map.put("customer_cd", commonService.bizMakeOptionList("", (String)paramMap.get("search_customer_objid"), "common.getAllSupplySelect")); + + request.setAttribute("code_map", code_map); + } catch(Exception e) { + e.printStackTrace(); + } + return "/productionplanning/mBomHistoryList"; + } + + /** + * M-BOM 변경이력 그리드 목록 조회 (MBOM_HISTORY 기준) + */ + @ResponseBody + @RequestMapping("/productionplanning/mBomHistoryGridList.do") + public Map mBomHistoryGridList(HttpServletRequest request, @RequestParam Map paramMap){ + commonService.selectListPagingNew("productionplanning.getMbomHistoryGridList", request, paramMap); + return paramMap; + } + + /** + * M-BOM 변경이력 상세 팝업 + */ + @RequestMapping("/productionplanning/mBomHistoryDetailPopup.do") + public String mBomHistoryDetailPopup(HttpServletRequest request, @RequestParam Map paramMap){ + try { + String historyObjId = CommonUtils.nullToEmpty((String)paramMap.get("historyObjId")); + + if(!"".equals(historyObjId)) { + // 이력 상세 정보 조회 + Map historyInfo = commonService.selectOne("productionplanning.getMbomHistoryDetail", request, paramMap); + + if(historyInfo != null) { + // JSON 데이터 이스케이프 처리 (JSP에서 JavaScript로 전달 시 오류 방지) + String beforeData = CommonUtils.nullToEmpty((String)historyInfo.get("BEFORE_DATA")); + String afterData = CommonUtils.nullToEmpty((String)historyInfo.get("AFTER_DATA")); + + // 줄바꿈, 작은따옴표 등 이스케이프 + beforeData = beforeData.replace("\\", "\\\\").replace("'", "\\'").replace("\n", "\\n").replace("\r", ""); + afterData = afterData.replace("\\", "\\\\").replace("'", "\\'").replace("\n", "\\n").replace("\r", ""); + + historyInfo.put("BEFORE_DATA_ESCAPED", beforeData); + historyInfo.put("AFTER_DATA_ESCAPED", afterData); + + request.setAttribute("historyInfo", historyInfo); + } + } + } catch(Exception e) { + e.printStackTrace(); + } + return "/productionplanning/mBomHistoryDetailPopup"; + } + } diff --git a/src/com/pms/mapper/productionplanning.xml b/src/com/pms/mapper/productionplanning.xml index 5b1d9bc..841269f 100644 --- a/src/com/pms/mapper/productionplanning.xml +++ b/src/com/pms/mapper/productionplanning.xml @@ -4933,4 +4933,93 @@ WHERE PROJECT_OBJID = #{projectObjid} + + + + + +