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 javax.servlet.http.HttpSession; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.pms.common.SqlMapConfig; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.service.CommonService; import com.pms.service.OrderMgmtService; import com.pms.service.ProjectConceptService; @Controller public class OrderMgmtController { ProjectConceptService service = null; OrderMgmtService orderMgmtservice = null; @Autowired CommonService commonService; @Autowired public void setProjectConceptService(ProjectConceptService service){ this.service = service; } @Autowired public void setOrderMgmtService(OrderMgmtService orderMgmtservice){ this.orderMgmtservice = orderMgmtservice; } /** * 수주활동 목록(제품별 Row구성) * @param request * @param paramMap * @return */ @RequestMapping("/ordermgmt/ordermgmtList.do") public String ordermgmtList(HttpServletRequest request, @RequestParam Map paramMap){ List list = orderMgmtservice.getOrderMgntList(request,paramMap); Map code_map = new HashMap(); try{ //String bizMakeOptionList(String code_id, String selValue, String sql_id) code_map.put("region_cd",commonService.bizMakeOptionList(Constants.REGION_H_CD, (String)paramMap.get("region_cd"),"common.getCodeselect")); //지역 code_map.put("customer_cd",commonService.bizMakeOptionList(Constants.CUSTOMER_CD, (String)paramMap.get("customer_cd"),"common.getCodeselect")); //고객사 //제품군 code_map.put("plant_cd",commonService.bizMakeOptionList("PLA10000", CommonUtils.nullToEmpty((String)paramMap.get("plant_cd")),"common.getCodeselect")); code_map.put("orditem_cd",commonService.bizMakeOptionList("ORD10000", (String)paramMap.get("orditem_cd"),"common.getCodeselect")); //수주 ITEM code_map.put("result_cd",commonService.bizMakeOptionList(Constants.RESULT_CD, (String)paramMap.get("result_cd"),"common.getCodeselect")); //수주결과 code_map.put("division_cd",commonService.bizMakeOptionList("PND10000", (String)paramMap.get("division_cd"),"common.getCodeselect")); //구분 code_map.put("team_cd",commonService.bizMakeOptionList("", (String)paramMap.get("team_cd"),"common.getDeptselect")); //작성자 code_map.put("reg_id", commonService.bizMakeOptionList("", (String)paramMap.get("reg_id"),"common.getUserselect")); request.setAttribute("code_map",code_map); request.setAttribute("cu01_file", Constants.CUSTOMER_CODE01); request.setAttribute("cu02_file", Constants.CUSTOMER_CODE02); request.setAttribute("LIST", list); }catch(Exception e){ e.printStackTrace(); } String actionType = CommonUtils.checkNull(paramMap.get("actionType")); String page ="/orderMgmt/orderMgmtList"; if("excel".equals(actionType)){ page ="/orderMgmt/orderMgmtListExcel"; } return page; } @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/ordermgmt/makeCodeselect.do") public Map makeCodeselect(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", commonService.bizMakeOptionList((String)paramMap.get("codeId"), "","common.getCodeselect")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * Excel을 이용한 예가내역서 등록 팝업을 호출한다. * @param request * @param paramMap * @return */ @RequestMapping("/ordermgmt/openOrderExcelImportPopUp.do") public String openOrderExcelImportPopUp(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); String objid=""; String actionType = CommonUtils.checkNull(paramMap.get("actionType")); try{ //jqGrid내에서 사용할 코드 Map param = new HashMap(); objid = CommonUtils.createObjId(); //규격(재질) /*param.put("parentCodeId",Constants.SPEC_CD); code_map.put("spec_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //제조사 param.put("parentCodeId", "MFA90000"); code_map.put("mfa_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //후처리 param.put("parentCodeId",Constants.PROCESS_CD); code_map.put("process_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //부품구분 param.put("parentCodeId",Constants.SORT_CD); code_map.put("sort_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //공급업체 param.put("parentCodeId",Constants.SORT_CD); code_map.put("supply_cd", commonService.getJqGridSelectBoxJsonData("common.getsupplyselect", param, "선택")); //projectNo code_map.put("projectno",commonService.bizMakeOptionList("", (String)paramMap.get("projectno"),"common.getProjectNoselect"));*/ //request.setAttribute("code_map",code_map); request.setAttribute("actionType", actionType); request.setAttribute("objid",objid); request.setAttribute("orderobjId", (String)paramMap.get("orderobjId")); request.setAttribute("costType", (String)paramMap.get("costType")); }catch(Exception e){ e.printStackTrace(); } return "/orderMgmt/orderExcelImportPopUp"; } /** * 등록되어 있는 예가내역서를 불러온다. * @param request * @param paramMap * @return */ @RequestMapping("/ordermgmt/getOrderexample.do") @ResponseBody public HashMap getOrderexample(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resMap = new HashMap(); try{ List list = null; //재료비, 노무비 조건 추가 paramMap.put("laborCostArr", Constants.laborCostArr); paramMap.put("exceptCostArr", Constants.exceptCostArr); list = CommonUtils.keyChangeUpperList(orderMgmtservice.getOrderexample(request, paramMap)); resMap.put("records", 1); resMap.put("page", 1); resMap.put("total", 1); resMap.put("rows", list); }catch(Exception e){ e.printStackTrace(); } return resMap; } /** * 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return. * @param request * @param paramMap * @return */ @RequestMapping("/ordermgmt/parsingExcelFile.do") public String parsingExcelFile(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList parsingPartList = new ArrayList(); try{ parsingPartList = (ArrayList)orderMgmtservice.parsingExcelFile(request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonArray(parsingPartList)); return "/ajax/ajaxResult"; } /** * 예가내역서 저장 */ @RequestMapping("/ordermgmt/orderApplySave.do") @ResponseBody public String orderApplySave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String result = ""; try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId())); orderMgmtservice.orderApplySave(request, paramMap); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * 수주활동 수정 Form * @param request * @param paramMap * @return */ @RequestMapping("/ordermgmt/ordermgmtUpdateFormPopup.do") public String ordermgmtUpdateFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String objId = CommonUtils.checkNull(paramMap.get("objId")); String actionType = CommonUtils.checkNull(paramMap.get("actionType")); Map code_map = new HashMap(); try{ // 영업활동 조회 Map info = null; if(paramMap.get("objId")!=null){ paramMap.put("objId",Integer.parseInt(objId)); info = CommonUtils.keyChangeUpperMap(orderMgmtservice.getProjectConceptInfo(paramMap)); //지역 code_map.put("order_cd",commonService.bizMakeOptionList(Constants.REGION_H_CD, CommonUtils.nullToEmpty((String)info.get("ORDER_CD")),"common.getCodeselect")); //지역 //거래처 code_map.put("customer_cd",commonService.bizMakeOptionList(Constants.CUSTOMER_CD, CommonUtils.nullToEmpty((String)info.get("CUSTOMER_CD")),"common.getCodeselect")); //고객사 //프로젝트 구분 code_map.put("project_division",commonService.bizMakeOptionList("PND10000", CommonUtils.nullToEmpty((String)info.get("PROJECT_DIVISION")),"common.getCodeselect")); //고객사 //제품군 code_map.put("plant_cd",commonService.bizMakeOptionList("PLA10000", CommonUtils.nullToEmpty((String)info.get("PLANT_CD")),"common.getCodeselect")); //공장 code_map.put("region_cd",commonService.bizMakeOptionList(Constants.REGION_H_CD, CommonUtils.nullToEmpty((String)info.get("REGION_CD")),"common.getCodeselect")); //지역 //PM code_map.put("manager_pm", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("MANAGER_PM")),"common.getUserselect")); //설계 PM code_map.put("design_pm", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("DESIGN_PM")),"common.getUserselect")); //구매 PM code_map.put("se_pm", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("SE_PM")),"common.getUserselect")); //생산 PM code_map.put("production_pm", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PRODUCTION_PM")),"common.getUserselect")); //수주결과 code_map.put("result_cd",commonService.bizMakeOptionList(Constants.RESULT_CD, CommonUtils.nullToEmpty((String)info.get("RESULT_CD")),"common.getCodeselect")); //수주결과 code_map.put("project_derivation_no",commonService.bizMakeOptionList("", (String)info.get("PROJECT_DERIVATION_NO"),"common.getProjectNoselect")); }else{ //구분 code_map.put("order_cd",commonService.bizMakeOptionList(Constants.REGION_H_CD, "","common.getCodeselect")); //지역 //거래처 code_map.put("customer_cd",commonService.bizMakeOptionList(Constants.CUSTOMER_CD, "","common.getCodeselect")); //고객사 //프로젝트 구분 code_map.put("project_division",commonService.bizMakeOptionList("PND10000", "","common.getCodeselect")); //고객사 //제품군 code_map.put("plant_cd",commonService.bizMakeOptionList("PLA10000", "","common.getCodeselect")); //공장 code_map.put("region_cd",commonService.bizMakeOptionList(Constants.REGION_H_CD, "","common.getCodeselect")); //지역 //PM code_map.put("manager_pm", commonService.bizMakeOptionList("", "","common.getUserselect")); //설계 PM code_map.put("design_pm", commonService.bizMakeOptionList("", "","common.getUserselect")); //구매 PM code_map.put("se_pm", commonService.bizMakeOptionList("", "","common.getUserselect")); //생산 PM code_map.put("production_pm", commonService.bizMakeOptionList("", "","common.getUserselect")); //수주결과 code_map.put("result_cd",commonService.bizMakeOptionList(Constants.RESULT_CD, "","common.getCodeselect")); //수주결과 code_map.put("project_derivation_no",commonService.bizMakeOptionList("", "","common.getProjectNoselect")); } //차종별 프로젝트 수주활동 object id if("".equals(objId)) objId = CommonUtils.createObjId(); request.setAttribute("code_map",code_map); request.setAttribute("info", info); request.setAttribute("objId", objId); request.setAttribute("actionType", actionType); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); request.setAttribute("writer", writer); //프로젝트에서 팝업을 열었을 때는 PM만 수정가능하도록 해야함 //권한을 위한 파라미터 값 if(paramMap.get("managerPm")!= null){ Map projectPmMap = new HashMap(); projectPmMap.put("managerPm", paramMap.get("managerPm")); request.setAttribute("projectPmId", projectPmMap); } }catch(Exception e){ e.printStackTrace(); } return "/orderMgmt/orderMgmtUpdateFormPopup"; } /** * 영업정보 삭제 */ @RequestMapping("/ordermgmt/orderListDelete.do") @ResponseBody public String materDelete(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); String result = ""; try{ result_map.put("RESULT", orderMgmtservice.delOrderMgmt(request, paramMap)); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * 영업활동등록 저장 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/ordermgmt/saveOrderMgmtInfo.do") public Map saveOrderMgmttInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", orderMgmtservice.saveOrderMgmtInfo(request, paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } }