ERP-node/src/com/pms/controller/AsController.java

563 lines
23 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.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.JsonUtil;
import com.pms.common.bean.PersonBean;
import com.pms.common.utils.CommonUtils;
import com.pms.common.utils.Constants;
import com.pms.service.AdminService;
import com.pms.service.ApprovalService;
import com.pms.service.AsService;
import com.pms.service.CommonService;
@Controller
public class AsController {
@Autowired
AsService asService;
@Autowired
CommonService commonService;
@Autowired
AdminService adminService;
@Autowired
ApprovalService approvalService;
/**
* EO 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/as/saveas.do")
public String saveAS(HttpSession session,HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap resultMap = new HashMap();
try{
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
String writer = CommonUtils.checkNull(person.getUserId());
paramMap.put("writer", writer);
//asService.mergeAs(request, paramMap);
asService.mergeAs_CS(request, paramMap);
resultMap.put("message", "저장되었습니다.");
}catch(Exception e){
resultMap.put("message", "오류가 발생하였습니다.");
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* ECR 등록 팝업
* @param request
* @param paramMap
* @return
*/
// @RequestMapping("/as/asMngFormPopUp.do")
// public String asMngFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// HashMap ecrMap = new HashMap();
// Map code_map = new HashMap();
// ArrayList eoApprovalList = new ArrayList();
// String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
// try{
// String objid = CommonUtils.checkNull(paramMap.get("objId"));
// String request_code ="";
// String [] arrrequest_code = null;
// if("".equals(objid)){
// ecrMap = new HashMap();
// ecrMap.put("objId", CommonUtils.createObjId());
//
// //기종(모델)명
// code_map.put("custcd",commonService.bizMakeOptionList("", "","common.getCustomerCodeselect"));
//
// //설변요청 코드
// code_map.put("rec_type",commonService.bizMakeCheckBoxMultiList("0000140","rec_type",arrrequest_code,"common.getCodeselect"));
//
// //결배방식
// code_map.put("payment_type",commonService.bizMakeOptionList("0000148", "","common.getCodeselect"));
//
// //유/무상 코드
// code_map.put("warranty_code",commonService.bizMakeOptionList("0000156", "","common.getCodeselect"));
// //정비업체명
// code_map.put("maintenance",commonService.bizMakeOptionList("", "","common.getmaintenanceselect"));
//
// code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
//
//
// //상태코드
// //code_map.put("status_code",commonService.bizMakeOptionList("0000099", (String)ecrMap.get("status_code"),"common.getCodeselect"));
//
// }else{
// ecrMap = asService.getAsInfo(request, paramMap);
// request_code = CommonUtils.nvl((String)ecrMap.get("rec_type"),"");
// if(!"".equals(request_code)){
// arrrequest_code = request_code.split(",");
// }
// //고객명
// code_map.put("custcd",commonService.bizMakeOptionList("", (String)ecrMap.get("custcd"),"common.getCustomerCodeselect"));
//
// //설변요청 코드
// code_map.put("rec_type",commonService.bizMakeCheckBoxMultiList("0000140","rec_type",arrrequest_code,"common.getCodeselect"));
//
// //결배방식
// code_map.put("payment_type",commonService.bizMakeOptionList("0000148", (String)ecrMap.get("payment_type"),"common.getCodeselect"));
//
// //유/무상 코드
// code_map.put("warranty_code",commonService.bizMakeOptionList("0000156", (String)ecrMap.get("warranty_code"),"common.getCodeselect"));
// //정비업체명
// code_map.put("maintenance",commonService.bizMakeOptionList("", (String)ecrMap.get("maintenance"),"common.getmaintenanceselect"));
// //상태코드
// //code_map.put("status_code",commonService.bizMakeOptionList("0000099", (String)ecrMap.get("status_code"),"common.getCodeselect"));
//
// code_map.put("product_code",commonService.bizMakeOptionList("", (String)ecrMap.get("product_code"),"common.getProductCodeselect"));
// }
//
// //eoApprovalList = ecrService.getECRApprovalList(request, paramMap);
//
// }catch(Exception e){
// e.printStackTrace();
// }
// request.setAttribute("ecrInfo", CommonUtils.keyChangeUpperHashMap(ecrMap));
// request.setAttribute("code_map", code_map);
// request.setAttribute("actionType", actionType);
// request.setAttribute("eoApprovalList", eoApprovalList);
// return "/as/asMngFormPopUp";
// }
@RequestMapping("/as/asMngFormPopUp.do")
public String asMngFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap info = new HashMap();
ArrayList partList = new ArrayList();
ArrayList workList = new ArrayList();
Map code_map = new HashMap();
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
try{
String objid = CommonUtils.checkNull(paramMap.get("objId"));
if("".equals(objid)){
info = new HashMap();
info.put("OBJID", CommonUtils.createObjId());
}else{
info = commonService.selectOne("as.getCSMInfo", request, paramMap);
partList = commonService.selectList("as.getCSPList",request,paramMap);
workList = commonService.selectList("as.getCSWList",request,paramMap);
}
//제품구분
//code_map.put("product",commonService.bizMakeOptionList("", (String)info.get("PRODUCT"),"common.getProductCodeselect"));
code_map.put("product",commonService.bizMakeOptionList("0000001", (String)info.get("PRODUCT"),"common.getCodeselect"));
//당사프로젝트번호 project_no
code_map.put("project_no",commonService.bizMakeOptionList("", (String)info.get("CONTRACT_OBJID"),"common.getProjectNameList"));
//고객명
code_map.put("custcd",commonService.bizMakeOptionList("", (String)info.get("CUSTCD"),"common.getCustomerCodeselect"));
//CS구분
code_map.put("cs_category",commonService.bizMakeOptionList("0000970", (String)info.get("CS_CATEGORY"),"common.getCodeselect"));
//유/무상 코드
code_map.put("warranty",commonService.bizMakeOptionList("0000156", (String)info.get("WARRANTY"),"common.getCodeselect"));
//조치담당자
code_map.put("manager_id", commonService.bizMakeOptionList("", (String)info.get("MANAGER_ID"),"common.getUserselect"));
//상태코드
//code_map.put("appr_status",commonService.bizMakeOptionList("0000099", (String)info.get("appr_status"),"common.getCodeselect"));
Map param = new HashMap();
param.put("parent_code_id", "0000975"); //조치내역유형
//code_map.put("gridExpSubdCd", commonService.getJsonSqlInfoList("common.getCodeselectAllLevel",param)); //조치내역서유형
code_map.put("jsonLevel3_csmCategory", commonService.getJsonSqlInfoListLevel3("common.getCodeselectAllLevel",param)); //조치내역서유형
code_map.put("jqGridSelect_SUPPLY" , commonService.getJqGridSelectBoxJsonData("common.getsupplyselect2", param, "선택")); //업체명
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("info", info);
request.setAttribute("code_map", code_map);
request.setAttribute("actionType", actionType);
request.setAttribute("gridPartData", JsonUtil.ListToJson(partList));
request.setAttribute("gridWorkData", JsonUtil.ListToJson(workList));
return "/as/asMngFormPopUp_CS";
}
@RequestMapping("/as/asMngDetailPopUp_CS.do")
public String asMngDetailPopUp_CS(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap info = new HashMap();
ArrayList partList = new ArrayList();
ArrayList workList = new ArrayList();
Map code_map = new HashMap();
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
try{
String objid = CommonUtils.checkNull(paramMap.get("objId"));
if("".equals(objid)){
info = new HashMap();
info.put("OBJID", CommonUtils.createObjId());
}else{
info = commonService.selectOne("as.getCSMInfo", request, paramMap);
partList = commonService.selectList("as.getCSPList",request,paramMap);
workList = commonService.selectList("as.getCSWList",request,paramMap);
}
//제품구분
//code_map.put("product",commonService.bizMakeOptionList("", (String)info.get("PRODUCT"),"common.getProductCodeselect"));
code_map.put("product",commonService.bizMakeOptionList("0000001", (String)info.get("PRODUCT"),"common.getCodeselect"));
//당사프로젝트번호 project_no
code_map.put("project_no",commonService.bizMakeOptionList("", (String)info.get("CONTRACT_OBJID"),"common.getProjectNameList"));
//고객명
code_map.put("custcd",commonService.bizMakeOptionList("", (String)info.get("CUSTCD"),"common.getCustomerCodeselect"));
//CS구분
code_map.put("cs_category",commonService.bizMakeOptionList("0000970", (String)info.get("CS_CATEGORY"),"common.getCodeselect"));
//유/무상 코드
code_map.put("warranty",commonService.bizMakeOptionList("0000156", (String)info.get("WARRANTY"),"common.getCodeselect"));
//조치담당자
code_map.put("manager_id", commonService.bizMakeOptionList("", (String)info.get("MANAGER_ID"),"common.getUserselect"));
//상태코드
//code_map.put("appr_status",commonService.bizMakeOptionList("0000099", (String)info.get("appr_status"),"common.getCodeselect"));
Map param = new HashMap();
param.put("parent_code_id", "0000975"); //조치내역유형
//code_map.put("gridExpSubdCd", commonService.getJsonSqlInfoList("common.getCodeselectAllLevel",param)); //조치내역서유형
code_map.put("jsonLevel3_csmCategory", commonService.getJsonSqlInfoListLevel3("common.getCodeselectAllLevel",param)); //조치내역서유형
code_map.put("jqGridSelect_SUPPLY" , commonService.getJqGridSelectBoxJsonData("common.getsupplyselect2", param, "선택")); //업체명
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("info", info);
request.setAttribute("code_map", code_map);
request.setAttribute("actionType", actionType);
request.setAttribute("gridPartData", JsonUtil.ListToJson(partList));
request.setAttribute("gridWorkData", JsonUtil.ListToJson(workList));
return "/as/asMngDetailPopUp_CS";
}
/**
* AS 등록 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/as/asMngDetailPopUp.do")
public String asMngDetailPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap ecrMap = new HashMap();
Map code_map = new HashMap();
ArrayList approvalList = new ArrayList();
try{
String objId = CommonUtils.checkNull(paramMap.get("objId"));
paramMap.put("OBJID",objId);
String request_code ="";
String [] arrrequest_code = null;
ecrMap = asService.getAsInfo(request, paramMap);
request_code = CommonUtils.nvl((String)ecrMap.get("rec_type"),"");
if(!"".equals(request_code)){
arrrequest_code = request_code.split(",");
}
//고객명
code_map.put("custcd",commonService.bizMakeOptionList("", (String)ecrMap.get("custcd"),"common.getCustomerCodeselect"));
//기종(모델)명
code_map.put("product_code",commonService.bizMakeOptionList("", (String)ecrMap.get("product_objid"),"common.getProductCodeselect"));
//설변요청 코드
code_map.put("rec_type",commonService.bizMakeCheckBoxMultiList("0000140","rec_type",arrrequest_code,"common.getCodeselect"));
code_map.put("payment_type",commonService.bizMakeOptionList("0000148", (String)ecrMap.get("payment_type"),"common.getCodeselect"));
//유/무상 코드
code_map.put("warranty_code",commonService.bizMakeOptionList("0000156", (String)ecrMap.get("warranty_code"),"common.getCodeselect"));
//정비업체명
code_map.put("maintenance",commonService.bizMakeOptionList("", (String)paramMap.get("maintenance"),"common.getmaintenanceselect"));
approvalList = approvalService.getApprovalLine(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("ecrInfo", CommonUtils.keyChangeUpperHashMap(ecrMap));
request.setAttribute("code_map", code_map);
request.setAttribute("approvalList", approvalList);
return "/as/asMngDetailPopUp";
}
/**
* AS목록 현황
*
* @param request
* @param paramMap
* @return
*/
// @RequestMapping("/as/asList.do")
// public String asList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// ArrayList ecrList = new ArrayList();
// Map code_map = new HashMap();
// try{
// ecrList = (ArrayList)asService.getAsTotalList(request, paramMap);
// //기종(모델)명
// code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
//
// }catch(Exception e){
// e.printStackTrace();
// }
//
// request.setAttribute("code_map",code_map);
// request.setAttribute("ecrList", CommonUtils.keyChangeUpperArrayList(ecrList));
// return "/as/asList";
// }
// @RequestMapping("/as/asList.do")
// public String asList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// ArrayList list = new ArrayList();
// Map code_map = new HashMap();
//
// try{
// //제품구분
// code_map.put("product_cd",commonService.bizMakeOptionList("", (String)paramMap.get("product_cd"),"common.getProductCodeselect"));
// //당사프로젝트번호 project_no
// code_map.put("project_no",commonService.bizMakeOptionList("", (String)paramMap.get("project_no"),"common.getProjectNameList"));
// //CS구분
// //code_map.put("cs_category",commonService.bizMakeOptionList("0000970", (String)paramMap.get("cs_category"),"common.getCodeselect"));
// //유/무상 코드
// code_map.put("warranty",commonService.bizMakeOptionList("0000156", (String)paramMap.get("warranty"),"common.getCodeselect"));
// //조치담당자
// code_map.put("manager_id", commonService.bizMakeOptionList("", (String)paramMap.get("manager_id"),"common.getUserselect"));
// //상태코드
// code_map.put("appr_status",commonService.bizMakeOptionList("0000099", (String)paramMap.get("appr_status"),"common.getCodeselect"));
// //조치내역유형
// Map param = new HashMap();
// param.put("parent_code_id", "0000975");
// code_map.put("jsonLevel3_csmCategory", commonService.getJsonSqlInfoListLevel3("common.getCodeselectAllLevel",param)); //조치내역서유형
// //code_map.put("jqGridSelect_SUPPLY" , commonService.getJqGridSelectBoxJsonData("common.getsupplyselect2", param, "선택")); //업체명
//
// //list = CommonUtils.keyChangeUpperArrayList(asService.getAsTotalListPaging_CS(request,paramMap));
// list = commonService.selectListPaging("as.getAsTotalList_CS", request, paramMap);
//
// }catch(Exception e){
// e.printStackTrace();
// }
//
// request.setAttribute("code_map",code_map);
// request.setAttribute("LIST", JsonUtil.ListToJson(list));
// return "/as/asList_CS";
// }
@RequestMapping("/as/asList.do")
public String asList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List resultList = new ArrayList();
Map code_map = new HashMap();
try{
//제품구분
//code_map.put("product_cd",commonService.bizMakeOptionList("", (String)paramMap.get("product_cd"),"common.getProductCodeselect"));
code_map.put("product_cd",commonService.bizMakeOptionList("0000001", (String)paramMap.get("product_cd"),"common.getCodeselect"));
//당사프로젝트번호 project_no
code_map.put("project_no",commonService.bizMakeOptionList("", (String)paramMap.get("project_no"),"common.getProjectNameList"));
//CS구분
code_map.put("cs_category",commonService.bizMakeOptionList("0000970", (String)paramMap.get("cs_category"),"common.getCodeselect"));
//유/무상 코드
code_map.put("warranty",commonService.bizMakeOptionList("0000156", (String)paramMap.get("warranty"),"common.getCodeselect"));
//조치담당자
code_map.put("manager_id", commonService.bizMakeOptionList("", (String)paramMap.get("manager_id"),"common.getUserselect"));
//상태코드
code_map.put("appr_status",commonService.bizMakeOptionList("0000099", (String)paramMap.get("appr_status"),"common.getCodeselect"));
//목록에서 사용할 동적 header 목록을 설정한다.
asService.getHeaderList(request, paramMap);
resultList = asService.getASDashboardList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", resultList);
return "/as/asList_CS";
}
/**
* 수리내역서 등록
*
* @param request
* @param paramMap
* @return
*/
// @RequestMapping("/as/asMngList.do")
// public String asMngList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// ArrayList ecrList = new ArrayList();
//
// Map code_map = new HashMap();
// try{
// ecrList = (ArrayList)asService.getAsListPaging(request, paramMap);
// //기종(모델)명
// code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
//
//
// //상태코드
// code_map.put("status_code",commonService.bizMakeOptionList("0000099", (String)paramMap.get("status_code"),"common.getCodeselect"));
// //유/무상 코드
// code_map.put("warranty_code",commonService.bizMakeOptionList("0000156", (String)paramMap.get("warranty_code"),"common.getCodeselect"));
// //정비업체명
// code_map.put("maintenance",commonService.bizMakeOptionList("", (String)paramMap.get("maintenance"),"common.getmaintenanceselect"));
//
// //기종(모델)명
// code_map.put("rec_type",commonService.bizMakeOptionList("0000140", (String)paramMap.get("rec_type"),"common.getCodeselect"));
//
// //작성자
// code_map.put("writer", commonService.bizMakeOptionList("", (String)paramMap.get("writer"),"common.getUserselect"));
// }catch(Exception e){
// e.printStackTrace();
// }
//
// request.setAttribute("code_map",code_map);
// request.setAttribute("ecrList", CommonUtils.keyChangeUpperArrayList(ecrList));
// return "/as/asMngList";
// }
@RequestMapping("/as/asMngList.do")
public String asMngList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
//ArrayList list = new ArrayList();
Map code_map = new HashMap();
try{
//제품구분
//code_map.put("product_cd",commonService.bizMakeOptionList("", (String)paramMap.get("product_cd"),"common.getProductCodeselect"));
code_map.put("product_cd",commonService.bizMakeOptionList("0000001", (String)paramMap.get("product_cd"),"common.getCodeselect"));
//당사프로젝트번호 project_no
code_map.put("project_no",commonService.bizMakeOptionList("", (String)paramMap.get("project_no"),"common.getProjectNameList"));
//CS구분
//code_map.put("cs_category",commonService.bizMakeOptionList("0000970", (String)paramMap.get("cs_category"),"common.getCodeselect"));
//유/무상 코드
code_map.put("warranty",commonService.bizMakeOptionList("0000156", (String)paramMap.get("warranty"),"common.getCodeselect"));
//조치담당자
code_map.put("manager_id", commonService.bizMakeOptionList("", (String)paramMap.get("manager_id"),"common.getUserselect"));
//상태코드
code_map.put("appr_status",commonService.bizMakeOptionList("0000099", (String)paramMap.get("appr_status"),"common.getCodeselect"));
//조치내역유형
Map param = new HashMap();
param.put("parent_code_id", "0000975");
code_map.put("jsonLevel3_csmCategory", commonService.getJsonSqlInfoListLevel3("common.getCodeselectAllLevel",param)); //조치내역서유형
//code_map.put("jqGridSelect_SUPPLY" , commonService.getJqGridSelectBoxJsonData("common.getsupplyselect2", param, "선택")); //업체명
//list = commonService.selectListPaging("as.getECRList_CS", request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
//request.setAttribute("LIST", JsonUtil.ListToJson(list));
return "/as/asMngList_CS";
}
/**
* CS관리
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/as/asMngGridList.do")
public Map getProductKindSpecListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("as.getECRList_CS", request, paramMap);
return paramMap;
}
/**
* ecr 삭제
*/
@RequestMapping("/as/asDelete.do")
@ResponseBody
public String ecrDelete(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result_map = new HashMap();
String result = "";
try{
result_map.put("RESULT", asService.asDelete(request, paramMap));
result = "SUCCESS";
}catch(Exception e){
e.printStackTrace();
result = "FAIL";
}
return result;
}
/**
* as 부품추가 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/as/partMngListPopUp.do")
public String partSearchPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
List list = new ArrayList();
try {
list = CommonUtils.keyChangeUpperList(asService.getPartMngList(request,paramMap));
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("LIST", list);
return "/as/aspartMngListPopUp";
}
/**
* EO에 연결된 Part를 저장한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/as/addPartMng.do")
public String addPartMng(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap resultMap = new HashMap();
try{
asService.addPartMng(request, paramMap);
resultMap.put("msg", "저장되었습니다.");
}catch(Exception e){
resultMap.put("msg", "오류가 발생하였습니다.");
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
@RequestMapping("/as/searchPartMgmt.do")
@ResponseBody
public HashMap<String, Object> searchPartMgmt(HttpServletRequest request, @RequestParam Map paramMap){
HashMap<String, Object> resMap = new HashMap<String, Object>();
try{
List list = null;
list = asService.searchPartMgmt(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;
}
}