Files
wace_plm/src/com/pms/controller/ProductionPlanningController.java
2025-11-17 17:29:04 +09:00

1241 lines
46 KiB
Java

package com.pms.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.Gson;
import com.pms.common.service.BaseService;
import com.pms.common.utils.CommonUtils;
import com.pms.common.utils.Constants;
import com.pms.salesmgmt.service.ReleaseMgmtService;
import com.pms.service.CommonService;
import com.pms.service.ProductionPlanningService;
@Controller
public class ProductionPlanningController extends BaseService {
@Autowired
CommonService commonService;
@Autowired
ProductionPlanningService productionPlanningService;
// 영업관리 - 출고관리 서비스
@Autowired
ReleaseMgmtService releaseMgmtService;
/**
* 생산관리 -> 현황
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/planningdashboard.do")
public String planningdashboard(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/planningdashboard";
}
/**
* 생산관리 -> 현황
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/planningdashboardGridList.do")
public Map planningdashboardGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.planningdashboardGridList", request, paramMap);
return paramMap;
}
/**
* 생산관리 -> 생산계획수립
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/planningList.do")
public String planningList(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/planningList";
}
/**
* 생산관리 -> 생산계획수립
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/planningGridList.do")
public Map planningGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.planningGridList", request, paramMap);
return paramMap;
}
/**
* 생산관리 -> 이슈관리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/processperformanceList.do")
public String processperformanceList(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/processperformanceList";
}
/**
* 생산관리 -> 공정실적관리
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/processperformanceGridList.do")
public Map processperformanceGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.processperformanceGridList", request, paramMap);
return paramMap;
}
/**
* 생산관리 -> 이슈관리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/issuemgmtList.do")
public String issuemgmtList(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("issue_category",commonService.bizMakeOptionList("0001611", CommonUtils.nullToEmpty((String)paramMap.get("issue_category")),"common.getCodeselect"));
//등록자
code_map.put("writer", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("writer")), "common.getUserselect")); //구매 PM
//조치담당자
code_map.put("design_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("design_userid")),"common.getUserselect"));
//조치결과
code_map.put("design_result",commonService.bizMakeOptionList("0001615",CommonUtils.nullToEmpty((String)paramMap.get("design_result")),"common.getCodeselect"));
request.setAttribute("code_map",code_map);
request.setAttribute("paramMap",paramMap);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/issuemgmtList";
}
/**
* 생산관리 -> 이슈관리
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/issuemgmtGridList.do")
public Map issuemgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.selectPlanningIssueList", request, paramMap);
return paramMap;
}
@RequestMapping("/productionplanning/issueFormPopUp.do")
public String issueFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map info = new HashMap();
Map code_map = new HashMap();
String objid = CommonUtils.checkNull(paramMap.get("objId"));
try{
info = productionPlanningService.issueFormPopUp(request,paramMap);
if(info==null){
objid = CommonUtils.createObjId();
//프로젝트 번호
code_map.put("project_no",commonService.bizMakeOptionList("", "","common.getCusProjectNoList"));
//이슈구분
code_map.put("issue_category",commonService.bizMakeOptionList("0001611", "","common.getCodeselect"));
//설계담당자
code_map.put("design_userid", commonService.bizMakeOptionList("", "","common.getUserselect"));
//설계 조치내역
code_map.put("design_result",commonService.bizMakeOptionList("0001615","","common.getCodeselect"));
//구매담당자
code_map.put("purchase_userid", commonService.bizMakeOptionList("", "","common.getUserselect"));
//구매 조치내역
code_map.put("purchase_result",commonService.bizMakeOptionList("0001615", "","common.getCodeselect"));
//품질담당자
code_map.put("quality_userid", commonService.bizMakeOptionList("", "","common.getUserselect"));
//품질 조치내역
code_map.put("quality_result",commonService.bizMakeOptionList("0001615","","common.getCodeselect"));
//생산담당자
code_map.put("production_userid", commonService.bizMakeOptionList("", "","common.getUserselect"));
//생산 조치내역
code_map.put("production_result",commonService.bizMakeOptionList("0001615", "","common.getCodeselect"));
}else{
//프로젝트 번호
code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PROJECT_OBJID")),"common.getCusProjectNoList"));
//이슈구분
code_map.put("issue_category",commonService.bizMakeOptionList("0001611", CommonUtils.nullToEmpty((String)info.get("ISSUE_CATEGORY")),"common.getCodeselect"));
//설계담당자
code_map.put("design_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("DESIGN_USERID")),"common.getUserselect"));
//설계 조치내역
code_map.put("design_result",commonService.bizMakeOptionList("0001615", CommonUtils.nullToEmpty((String)info.get("DESIGN_RESULT")),"common.getCodeselect"));
//구매담당자
code_map.put("purchase_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PURCHASE_USERID")),"common.getUserselect"));
//구매 조치내역
code_map.put("purchase_result",commonService.bizMakeOptionList("0001615", CommonUtils.nullToEmpty((String)info.get("PURCHASE_RESULT")),"common.getCodeselect"));
//품질담당자
code_map.put("quality_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("QUALITY_USERID")),"common.getUserselect"));
//품질 조치내역
code_map.put("quality_result",commonService.bizMakeOptionList("0001615",CommonUtils.nullToEmpty((String)info.get("QUALITY_RESULT")),"common.getCodeselect"));
//생산담당자
code_map.put("production_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PRODUCTION_USERID")),"common.getUserselect"));
//생산 조치내역
code_map.put("production_result",commonService.bizMakeOptionList("0001615", CommonUtils.nullToEmpty((String)info.get("PRODUCTION_RESULT")),"common.getCodeselect"));
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("info", info);
request.setAttribute("code_map", code_map);
request.setAttribute("OBJID", objid);
return "/productionplanning/issueFormPopUp";
}
/**
* 이슈 저장
* @param request
* @param paramMap
* @return
*/
@SuppressWarnings("unchecked")
@ResponseBody
@RequestMapping("/productionplanning/saveissueInfo.do")
public Map<String, Object> saveissueInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result_map = new HashMap();
try {
result_map.put("RESULT", productionPlanningService.saveissueInfo(request, paramMap));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result_map;
}
/**
* 이슈 삭제
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/planningDelete.do")
public Map planningDelete(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = productionPlanningService.planningDelete(request, paramMap);
return resultMap;
}
/**
* 이슈 배포
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/planningRelease.do")
public Map planningRelease(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = productionPlanningService.planningRelease(request, paramMap);
return resultMap;
}
@RequestMapping("/productionplanning/assemblyWbsFormPopUp.do")
public String assemblyWbsFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
List resultList = null;
String search = CommonUtils.checkNull(paramMap.get("search"));
try{
code_map.put("project_name",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_name")),"common.getProjectNameList"));
code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_cd")),"common.getsupplyselect"));
code_map.put("unit_code",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("unit_code")),"common.getUnitCodeList"));
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
//인계자
code_map.put("transfer_user_id",commonService.bizMakeOptionList("",CommonUtils.nullToEmpty((String)paramMap.get("transfer_user_id")),"common.getUserselect", true, "TRANSFER_USER_ID", "TRANSFER_USER_ID"));
//인수담당자
code_map.put("receive_user_id",commonService.bizMakeOptionList("",CommonUtils.nullToEmpty((String)paramMap.get("receive_user_id")),"common.getUserselect", true, "RECEIVE_USER_ID", "RECEIVE_USER_ID"));
//조립담당자
code_map.put("assembly_user_id",commonService.bizMakeOptionList("",CommonUtils.nullToEmpty((String)paramMap.get("assembly_user_id")),"common.getUserselect", true, "ASSEMBLY_USER_ID", "ASSEMBLY_USER_ID"));
resultList = productionPlanningService.getassemblyWbsList(request,paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("List",resultList);
return "/productionplanning/assemblyWbsFormPopUp";
}
/**
* 생산관리 -> 출고관리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/releaseMgmtList.do")
public String releasMgmtList(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/releaseMgmtList";
}
/**
* 생산관리 -> 출고관리
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/releaseMgmtGridList.do")
public Map releaseMgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.releaseMgmtGridList", request, paramMap);
return paramMap;
}
/**
* 생산관리 -> 출고관리 등록 PopUp
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/releaseMgmtFormSimplePopUp.do")
public String releaseMgmtFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
Map code_map = new HashMap();
try{
resultMap = releaseMgmtService.getReleaseMgmtInfo(request,paramMap);
resultMap.put("PM_USER_ID", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("resultMap", resultMap);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/releaseMgmtFormSimplePopUp";
}
/**
* 생산관리 -> 출고관리 등록 PopUp 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/saveReleaseMgmtInfo.do")
public Map saveReleaseMgmtInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
try{
resultMap = productionPlanningService.saveReleaseMgmtInfo(request,paramMap);
}catch(Exception e){
e.printStackTrace();
}
return resultMap;
}
/**
* 생산관리 -> 셋업관리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/setupmgmtList.do")
public String setupmgmtList(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/setupmgmtList";
}
/**
* 생산관리 -> 셋업관리
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/setupmgmtGridList.do")
public Map setupmgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.selectSetupMgmtList", request, paramMap);
return paramMap;
}
/**
* 공정실적 등록
* @param request
* @param paramMap
* @return
*/
@SuppressWarnings("unchecked")
@ResponseBody
@RequestMapping("/productionplanning/saveassemblyList.do")
public Map<String, Object> saveassemblyList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result_map = new HashMap();
try {
result_map.put("RESULT", productionPlanningService.saveassemblyList(request, paramMap));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result_map;
}
/**
* 생산관리 -> 검사관리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/inspectionMgmtList.do")
public String inspectionMgmtList(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/inspectionMgmtList";
}
/**
* 생산관리 -> 검사관리
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/inspectionGridList.do")
public Map inspectionMgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.inspectionGridList", request, paramMap);
return paramMap;
}
/**
* 생산관리 -> 담당자별 작업현황
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/workStatusByImployeeList.do")
public String workStatusByImployeeList(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
List list = new ArrayList();
List non_proj_list = new ArrayList();
Map sumPriceMap = new HashMap();
String search = CommonUtils.checkNull(paramMap.get("search"));
try{
//프로젟트번호
code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList"));
//등록자
code_map.put("worker", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("worker")), "common.getUserselect")); //구매 PM
//부서
code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀
if("Y".equals(search)){
sumPriceMap = commonService.selectOne("productionplanning.workStatusByImployeeList_sum", request, paramMap);
list = CommonUtils.keyChangeUpperList(productionPlanningService.getWorkStatusByImployeeList(request,paramMap));
non_proj_list = CommonUtils.keyChangeUpperList(productionPlanningService.getWorkStatusByImployeeNPList(request,paramMap));
}
request.setAttribute("code_map",code_map);
request.setAttribute("paramMap",paramMap);
request.setAttribute("LIST", list);
request.setAttribute("NP_LIST", non_proj_list);
request.setAttribute("SUM_PRICE_MAP", sumPriceMap);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/workStatusByImployeeList";
}
/**
* 생산관리 -> 프로젝트별 작업현황
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/workStatusByProjectList.do")
public String workStatusByProjectList(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
List list = new ArrayList();
Map sumPriceMap = new HashMap();
String search = CommonUtils.checkNull(paramMap.get("search"));
try{
//프로젟트번호
code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList"));
//등록자
code_map.put("worker", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("worker")), "common.getUserselect")); //구매 PM
//부서
code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀
if("Y".equals(search)){
sumPriceMap = commonService.selectOne("productionplanning.workStatusByProjectList_sum", request, paramMap);
list = CommonUtils.keyChangeUpperList(productionPlanningService.getworkStatusByProjectList(request,paramMap));
}
request.setAttribute("code_map",code_map);
request.setAttribute("paramMap",paramMap);
request.setAttribute("LIST", list);
request.setAttribute("SUM_PRICE_MAP", sumPriceMap);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/workStatusByProjectList";
}
/**
* 생산관리 -> 공정실적 등록 인수 History PopUp
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/assemblyWbsHistoryPopUp.do")
public String assemblyWbsHistoryPopUp(HttpServletRequest request, @RequestParam Map paramMap){
//List list = new ArrayList();
Map code_map = new HashMap();
try{
//list = productionPlanningService.getAssemblyWbsHistoryInfo(request,paramMap);
}catch(Exception e){
e.printStackTrace();
}
//request.setAttribute("list", list);
return "/productionplanning/assemblyWbsHistoryPopUp";
}
@ResponseBody
@RequestMapping("/productionplanning/getAssemblyWbsHistoryList.do")
public List getAssemblyWbsHistoryList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List<Map<String,Object>> detailList = new ArrayList();
try {
detailList = commonService.selectList("productionplanning.getAssemblyWbsHistoryList", request, paramMap);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("detailList:"+detailList);
return detailList;
}
@RequestMapping("/productionplanning/deleteassemblyWbsHistoryList.do")
public String deleteinventoryHistoryList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
try {
request.setAttribute("RESULT", CommonUtils.getJsonMap(productionPlanningService.deleteassemblyWbsHistoryList(request, paramMap)) );
} catch (Exception e) {
e.printStackTrace();
}
return "/ajax/ajaxResult";
}
/**
* 인수인계 History 저장
* @param request
* @param paramMap
* @return
*/
@SuppressWarnings("unchecked")
@ResponseBody
@RequestMapping("/productionplanning/saveAssemblyWbsHistory.do")
public Map<String, Object> saveAssemblyWbsHistory(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result_map = new HashMap();
try {
result_map = productionPlanningService.saveAssemblyWbsHistory(request, paramMap);
} catch (Exception e) {
e.printStackTrace();
}
return result_map;
}
/**
* 작업관리 -> 현황
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/workMgmtdashboard.do")
public String workMgmtdashboard(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("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
//작업자
code_map.put("worker", commonService.bizMakeOptionList("", "", "common.getUserselect")); //구매 PM
//부서
code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀
request.setAttribute("code_map",code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/workMgmtdashboard";
}
/**
* 생산관리 -> 현황
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/workMgmtdashboardGridList.do")
public Map workMgmtdashboardGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.workMgmtdashboardGridList", request, paramMap);
return paramMap;
}
/**
* 작업관리 -> 작업일지
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/workDiaryList.do")
public String workDiaryList(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("writer", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("writer")), "common.getUserselect")); //구매 PM
//작업자
code_map.put("worker", commonService.bizMakeOptionList("", "", "common.getUserselect")); //구매 PM
//부서
code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀
request.setAttribute("code_map",code_map);
request.setAttribute("paramMap",paramMap);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/workDiaryList";
}
/**
* 작업관리 -> 작업일지
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/workDiaryGridList.do")
public Map workDiaryGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.workDiaryGridList", request, paramMap);
return paramMap;
}
@RequestMapping("/productionplanning/workDiaryFormPopUp.do")
public String workDiaryFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map info = new HashMap();
Map code_map = new HashMap();
String objid = CommonUtils.checkNull(paramMap.get("objId"));
try{
info = productionPlanningService.workDiaryFormPopUp(request,paramMap);
if(info==null){
objid = CommonUtils.createObjId();
//프로젝트 번호
code_map.put("project_no",commonService.bizMakeOptionList("", "","common.getCusProjectNoList"));
//작업자
code_map.put("worker_id", commonService.bizMakeOptionList("", "","common.getUserselect"));
}else{
//프로젝트 번호
code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("CONTRACT_OBJID")),"common.getCusProjectNoList"));
//작업자
code_map.put("worker_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("WORKER_ID")),"common.getUserselect"));
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("info", info);
request.setAttribute("code_map", code_map);
request.setAttribute("OBJID", objid);
return "/productionplanning/workDiaryFormPopUp";
}
@RequestMapping("/productionplanning/workDiaryFormPopUp_NEW.do")
public String workDiaryFormPopUp_NEW(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map info = new HashMap();
Map code_map = new HashMap();
String objid = CommonUtils.checkNull(paramMap.get("objId"));
try{
info = productionPlanningService.workDiaryFormPopUp(request,paramMap);
if(info==null){
objid = CommonUtils.createObjId();
//프로젝트 번호
code_map.put("project_no",commonService.bizMakeOptionList("", "","common.getCusProjectNoList"));
//작업자
code_map.put("worker_id", commonService.bizMakeOptionList("", "","common.getUserselect"));
}else{
//프로젝트 번호
code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("CONTRACT_OBJID")),"common.getCusProjectNoList"));
//작업자
code_map.put("worker_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("WORKER_ID")),"common.getUserselect"));
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("info", info);
request.setAttribute("code_map", code_map);
request.setAttribute("OBJID", objid);
return "/productionplanning/workDiaryFormPopUp_NEW";
}
/**
* 작업일지 저장
* @param request
* @param paramMap
* @return
*/
@SuppressWarnings("unchecked")
@ResponseBody
@RequestMapping("/productionplanning/saveWorkDiaryInfo.do")
public Map<String, Object> saveWorkDiaryInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result_map = new HashMap();
try {
result_map.put("RESULT", productionPlanningService.saveWorkDiaryInfo(request, paramMap));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result_map;
}
/**
* 작업일지 삭제
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/workDiaryDelete.do")
public Map workDiaryDelete(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = productionPlanningService.workDiaryDelete(request, paramMap);
return resultMap;
}
/**
* 작업일지 팀장 확인
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/workDiaryConfirm.do")
public Map workDiaryConfirm(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = productionPlanningService.workDiaryConfirm(request, paramMap);
return resultMap;
}
/**
* 생산관리 -> M-BOM 관리 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomMgmt.do")
public String mBomMgmt(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
try{
request.setAttribute("code_map", code_map);
}catch(Exception e){
e.printStackTrace();
}
return "/productionplanning/mBomMgmtList";
}
/**
* 생산관리 -> M-BOM 관리 그리드 목록
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/mBomMgmtGridList.do")
public Map mBomMgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("productionplanning.mBomMgmtGridList", request, paramMap);
return paramMap;
}
/**
* M-BOM E-BOM 선택 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomEbomSelectPopup.do")
public String mBomEbomSelectPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
try {
// 필요한 코드 맵 설정 (structureList.jsp 참고)
Map<String, Object> codeMap = new HashMap<>();
// 제품구분 코드 - structureList와 동일하게 설정
codeMap.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product_cd")), "common.getCodeselect"));
request.setAttribute("code_map", codeMap);
// 현재 할당된 E-BOM 정보 조회
String bomReportObjid = CommonUtils.checkNull(paramMap.get("bomReportObjid"));
if(!"".equals(bomReportObjid)) {
// E-BOM 정보 조회
Map<String, Object> ebomInfo = productionPlanningService.getEbomInfo(bomReportObjid);
request.setAttribute("currentEbom", ebomInfo);
}
} catch(Exception e) {
e.printStackTrace();
}
return "/productionplanning/mBomEbomSelectPopup";
}
/**
* M-BOM 조회 팝업 (읽기 전용)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomViewPopup.do")
public String mBomViewPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
return "/productionplanning/mBomViewPopup";
}
/**
* M-BOM 복사 팝업 메인 (frameset)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomFormPopup.do")
public String mBomFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
try {
String objId = CommonUtils.checkNull(paramMap.get("objId"));
System.out.println("========== mBomFormPopup ==========");
System.out.println("objId: " + objId);
// PROJECT_MGMT 정보 조회
if(!"".equals(objId)) {
paramMap.put("objId", objId);
Map<String, Object> projectInfo = commonService.selectOne("productionplanning.getProjectMgmtDetail", request, paramMap);
System.out.println("projectInfo: " + projectInfo);
if(projectInfo != null && !projectInfo.isEmpty()) {
request.setAttribute("info", projectInfo);
} else {
System.out.println("projectInfo is null or empty!");
}
}
} catch(Exception e) {
e.printStackTrace();
}
return "/productionplanning/mBomPopupHeaderFs";
}
/**
* M-BOM 조회 팝업 상단 헤더
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomHeaderPopup.do")
public String mBomHeaderPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
try {
String objId = CommonUtils.checkNull(paramMap.get("objId"));
if(!"".equals(objId)) {
paramMap.put("objId", objId);
Map<String, Object> projectInfo = commonService.selectOne("productionplanning.getProjectMgmtDetail", request, paramMap);
request.setAttribute("info", projectInfo);
}
} catch(Exception e) {
e.printStackTrace();
}
return "/productionplanning/mBomHeaderPopup";
}
/**
* M-BOM 조회 팝업 중앙 버튼 영역
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomCenterBtnPopup.do")
public String mBomCenterBtnPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
return "/productionplanning/mBomCenterBtnPopup";
}
/**
* M-BOM 조회 팝업 중앙 버튼 영역
*/
@RequestMapping("/productionplanning/mBomPopupCenter.do")
public String mBomPopupCenter(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
return "/productionplanning/mBomPopupCenter";
}
/**
* M-BOM 조회 팝업 오른쪽 E-BOM 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomPopupRight.do")
public String mBomPopupRight(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
return "/productionplanning/mBomPopupRight";
}
/**
* E-BOM 목록 조회 (AJAX)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/getEbomList.do")
@ResponseBody
public Map<String, Object> getEbomList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> result = new HashMap<>();
try {
List<Map<String, Object>> list = commonService.selectList("productionplanning.getEbomList", request, paramMap);
result.put("list", list);
result.put("result", true);
} catch(Exception e) {
e.printStackTrace();
result.put("result", false);
result.put("list", new ArrayList<>());
}
return result;
}
/**
* M-BOM 조회 팝업 하단 frameset
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomBottomPopupFS.do")
public String mBomBottomPopupFS(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
return "/productionplanning/mBomPopupFs";
}
/**
* M-BOM 조회 팝업 왼쪽 트리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/productionplanning/mBomPopupLeft.do")
public String mBomPopupLeft(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
Gson gson = new Gson();
try {
String objId = CommonUtils.checkNull(paramMap.get("objId"));
// PROJECT_MGMT 정보 조회
if(!"".equals(objId)) {
paramMap.put("objId", objId);
Map<String, Object> projectInfo = commonService.selectOne("productionplanning.getProjectMgmtDetail", request, paramMap);
if(projectInfo != null) {
// 1. 먼저 저장된 M-BOM 데이터가 있는지 확인
List<Map<String, Object>> mbomDetailList = commonService.selectList("productionplanning.getMbomDetailByProject", request, paramMap);
if(mbomDetailList != null && !mbomDetailList.isEmpty()) {
// 저장된 M-BOM 데이터가 있으면 이를 표시
int maxLevel = 1;
for(Map<String, Object> item : mbomDetailList) {
Integer level = (Integer) item.get("LEVEL");
if(level != null && level > maxLevel) {
maxLevel = level;
}
}
request.setAttribute("MAXLEV", maxLevel);
request.setAttribute("bomTreeListJson", gson.toJson(mbomDetailList));
return "/productionplanning/mBomPopupLeft";
}
// 저장된 M-BOM이 없으면 할당된 E-BOM 정보 조회
String bomReportObjid = CommonUtils.checkNull(projectInfo.get("BOM_REPORT_OBJID"));
if(!"".equals(bomReportObjid)) {
Map<String, Object> ebomParam = new HashMap<>();
ebomParam.put("objId", bomReportObjid);
ebomParam.put("bomReportObjId", bomReportObjid);
// E-BOM 정보 조회
Map<String, Object> ebomInfo = commonService.selectOne("partMng.getBomReportInfo", request, ebomParam);
request.setAttribute("ebomInfo", ebomInfo);
// BOM 트리 데이터 조회 (레벨 정보 포함)
List<Map<String, Object>> bomTreeList = commonService.selectList("partMng.getBOMTreeList", request, ebomParam);
if(bomTreeList != null && !bomTreeList.isEmpty()) {
// MAX LEVEL 계산
int maxLevel = 1;
for(Map<String, Object> item : bomTreeList) {
Integer level = (Integer) item.get("LEVEL");
if(level != null && level > maxLevel) {
maxLevel = level;
}
}
request.setAttribute("MAXLEV", maxLevel);
request.setAttribute("bomTreeListJson", gson.toJson(bomTreeList));
return "/productionplanning/mBomPopupLeft";
}
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
// 데이터가 없을 때 빈 배열 설정
request.setAttribute("MAXLEV", 1);
request.setAttribute("bomTreeListJson", "[]");
return "/productionplanning/mBomPopupLeft";
}
/**
* E-BOM을 M-BOM(PROJECT_MGMT)에 할당
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/assignEbomToMbom.do")
public Map<String, Object> assignEbomToMbom(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<>();
try {
String projectMgmtObjid = CommonUtils.checkNull(paramMap.get("projectMgmtObjid"));
String bomReportObjid = CommonUtils.checkNull(paramMap.get("bomReportObjid"));
if(projectMgmtObjid.isEmpty() || bomReportObjid.isEmpty()) {
resultMap.put("success", false);
resultMap.put("message", "필수 파라미터가 누락되었습니다.");
return resultMap;
}
// PROJECT_MGMT 테이블의 PART_OBJID 업데이트
int updateResult = productionPlanningService.assignEbomToProject(projectMgmtObjid, bomReportObjid);
if(updateResult > 0) {
resultMap.put("success", true);
resultMap.put("message", "E-BOM이 할당되었습니다.");
} else {
resultMap.put("success", false);
resultMap.put("message", "할당에 실패했습니다.");
}
} catch(Exception e) {
e.printStackTrace();
resultMap.put("success", false);
resultMap.put("message", "오류가 발생했습니다: " + e.getMessage());
}
return resultMap;
}
/**
* M-BOM 목록 조회 (검색 조건 포함)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/getMbomList.do")
public Map<String, Object> getMbomList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> result = new HashMap<>();
try {
// 검색 조건에 맞는 M-BOM 목록 조회
List<Map<String, Object>> list = commonService.selectList("productionplanning.getMbomList", request, paramMap);
result.put("list", list);
result.put("result", true);
} catch(Exception e) {
e.printStackTrace();
result.put("result", false);
result.put("list", new ArrayList<>());
}
return result;
}
/**
* M-BOM 저장
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/productionplanning/saveMbom.do")
public Map<String, Object> saveMbom(HttpServletRequest request, @RequestBody Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<>();
try {
// M-BOM 데이터 저장 로직
List<Map<String, Object>> mbomData = (List<Map<String, Object>>) paramMap.get("mbomData");
String partNo = CommonUtils.checkNull(paramMap.get("partNo"));
String partName = CommonUtils.checkNull(paramMap.get("partName"));
if(mbomData == null || mbomData.isEmpty()) {
resultMap.put("result", "fail");
resultMap.put("message", "저장할 데이터가 없습니다.");
return resultMap;
}
// M-BOM 저장 서비스 호출
int saveResult = productionPlanningService.saveMbom(request, mbomData, partNo, partName);
if(saveResult > 0) {
resultMap.put("result", "success");
resultMap.put("message", "M-BOM이 저장되었습니다.");
} else {
resultMap.put("result", "fail");
resultMap.put("message", "저장에 실패했습니다.");
}
} catch(Exception e) {
e.printStackTrace();
resultMap.put("result", "fail");
resultMap.put("message", "오류가 발생했습니다: " + e.getMessage());
}
return resultMap;
}
}