379 lines
14 KiB
Java
379 lines
14 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 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<String, Object> makeCodeselect(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> getOrderexample(HttpServletRequest request, @RequestParam Map paramMap){
|
||
|
|
HashMap<String, Object> resMap = new HashMap<String, Object>();
|
||
|
|
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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> saveOrderMgmttInfo(HttpServletRequest request, @RequestParam Map<String, Object> 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;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|