생산계획&실적관리(장비) 메뉴 추가, wbs 할당 기능 추가

This commit is contained in:
2026-03-16 15:25:07 +09:00
parent e017520b60
commit b5045b45c2
6 changed files with 1734 additions and 2 deletions

View File

@@ -1719,6 +1719,154 @@ public class ProductionPlanningController extends BaseService {
return paramMap;
}
/**
* 생산관리 -> 생산계획&실적관리(장비) 목록
*/
@RequestMapping("/productionplanning/prodPlanResultMgmtEquipList.do")
public String prodPlanResultMgmtEquipList(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
try{
code_map.put("project_no", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")), "common.getCusProjectNoList"));
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product_code")), "common.getCodeselect"));
code_map.put("category_cd", commonService.bizMakeOptionList("0000167", CommonUtils.nullToEmpty((String)paramMap.get("category_code")), "common.getCodeselect"));
code_map.put("production_type_cd", commonService.bizMakeOptionList("0001832", CommonUtils.nullToEmpty((String)paramMap.get("production_type")), "common.getCodeselect"));
code_map.put("customer_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")), "common.getsupplyselect"));
// WBS 템플릿 목록 (Machine 제품용)
List wbsTemplateList = commonService.selectList("productionplanning.getWbsTemplateOptionList", request, paramMap);
StringBuilder wbsTemplateSb = new StringBuilder();
if(wbsTemplateList != null) {
for(int i=0; i<wbsTemplateList.size(); i++) {
Map row = (Map)wbsTemplateList.get(i);
wbsTemplateSb.append("<option value=\"").append(row.get("OBJID")).append("\">").append(row.get("TITLE")).append("</option>");
}
}
code_map.put("wbs_template", wbsTemplateSb.toString());
request.setAttribute("code_map", code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/prodPlanResultMgmtEquipList";
}
/**
* 생산관리 -> 생산계획&실적관리(장비) 그리드 목록
*/
@ResponseBody
@RequestMapping("/productionplanning/prodPlanResultMgmtEquipGridList.do")
public Map prodPlanResultMgmtEquipGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String[] projectNos = request.getParameterValues("search_project_no");
if(projectNos != null && projectNos.length > 0) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < projectNos.length; i++) {
if(i > 0) sb.append(",");
sb.append(projectNos[i]);
}
paramMap.put("search_project_nos", sb.toString());
}
commonService.selectListPagingNew("productionplanning.prodPlanResultMgmtEquipGridList", request, paramMap);
return paramMap;
}
/**
* 장비 WBS할당 팝업
*/
@RequestMapping("/productionplanning/prodPlanWbsAssignPopup.do")
public String prodPlanWbsAssignPopup(HttpServletRequest request, @RequestParam Map paramMap){
try{
// 프로젝트 정보 조회
Map projectInfo = commonService.selectOne("productionplanning.getEquipProjectInfo", request, paramMap);
request.setAttribute("projectInfo", projectInfo);
// WBS 템플릿 목록
List templateList = commonService.selectList("productionplanning.getWbsTemplateOptionList", request, paramMap);
StringBuilder sb = new StringBuilder();
if(templateList != null){
for(int i=0; i<templateList.size(); i++){
Map row = (Map)templateList.get(i);
sb.append("<option value=\"").append(row.get("OBJID")).append("\">").append(row.get("TITLE")).append("</option>");
}
}
request.setAttribute("wbsTemplateOptions", sb.toString());
// 사용자 목록
List userList = commonService.selectList("common.getUserselect6", request, new HashMap());
request.setAttribute("userList", userList);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/prodPlanWbsAssignPopup";
}
/**
* 장비 WBS 템플릿 태스크 목록 조회
*/
@ResponseBody
@RequestMapping("/productionplanning/getWbsTemplateTasks.do")
public Map getWbsTemplateTasks(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result = new HashMap();
try{
List list = commonService.selectList("productionplanning.getWbsTemplateTasks", request, paramMap);
result.put("list", list);
}catch(Exception e){
e.printStackTrace();
result.put("list", new ArrayList());
}
return result;
}
/**
* 장비 프로젝트의 기존 WBS 태스크 목록 조회
*/
@ResponseBody
@RequestMapping("/productionplanning/getEquipWbsTaskList.do")
public Map getEquipWbsTaskList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result = new HashMap();
try{
List list = commonService.selectList("productionplanning.getEquipWbsTaskList", request, paramMap);
result.put("list", list);
}catch(Exception e){
e.printStackTrace();
result.put("list", new ArrayList());
}
return result;
}
/**
* 장비 WBS 할당 저장
*/
@ResponseBody
@RequestMapping("/productionplanning/saveEquipWbsAssign.do")
public Map saveEquipWbsAssign(HttpServletRequest request, @RequestBody Map<String, Object> paramMap){
try{
HttpSession session = request.getSession();
PersonBean loginUser = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
if(loginUser != null){
paramMap.put("writer", loginUser.getUserId());
} else {
paramMap.put("writer", "");
}
List<Map<String, Object>> tasks = (List<Map<String, Object>>)paramMap.get("tasks");
if(tasks == null || tasks.isEmpty()){
Map result = new HashMap();
result.put("success", false);
result.put("message", "저장할 태스크가 없습니다.");
return result;
}
return productionPlanningService.saveEquipWbsAssign(paramMap);
}catch(Exception e){
e.printStackTrace();
Map result = new HashMap();
result.put("success", false);
result.put("message", e.getMessage());
return result;
}
}
/**
* 생산계획 생성 팝업
* @param request