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 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 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 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 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 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 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 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 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 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 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 paramMap){ commonService.selectListPagingNew("as.getECRList_CS", request, paramMap); return paramMap; } /** * ecr 삭제 */ @RequestMapping("/as/asDelete.do") @ResponseBody public String ecrDelete(HttpServletRequest request, @RequestParam Map 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 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 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 searchPartMgmt(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resMap = new HashMap(); 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; } }