package com.pms.controller; 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.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.service.DashboardService; import com.pms.service.ProblemService; @Controller public class ProblemController { ProblemService service = null; DashboardService dashBoardService = null; @Autowired public void setProblemService(ProblemService service){ this.service = service; } @Autowired public void setDashboardService(DashboardService dashBoardService){ this.dashBoardService = dashBoardService; } /*************************************************************************************************************************/ /*jmpark start*/ /** * 제품문제점관리 현황 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemMngStatus.do") public String problemMngStatus(HttpServletRequest request, @RequestParam Map paramMap){ Map baseParamMap = new HashMap(); baseParamMap = dashBoardService.getCarProductProblemBaseParam(baseParamMap); request.setAttribute("baseParamMap", baseParamMap); return "/problem/problemMngStatus"; } /** * 유형별 발생 현황 * @param request * @param paramMap * @return */ @RequestMapping("/problem/byTypeStatus.do") public String byTypeStatus(HttpServletRequest request, @RequestParam Map paramMap){ return "/problem/byTypeStatus"; } /** * 통합문제점 검사명 그룹 제기 목록 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemGroupRequestList.do") public String problemGroupRequestList(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemGroupRequestList(request, paramMap); request.setAttribute("LIST", list); return "/problem/problemGroupRequestList"; } /** * 통합문제점 검사명 그룹 조치 목록 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemGroupResponseList.do") public String problemGroupResponseList(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemGroupResponseList(request, paramMap); request.setAttribute("LIST", list); return "/problem/problemGroupResponseList"; } /** * 통합문제점 검사명 그룹 완료 목록 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemGroupList.do") public String problemGroupList(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemGroupList(request, paramMap); request.setAttribute("LIST", list); return "/problem/problemGroupList"; } /** * 문제점 등록리스트 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemRegistListPopup.do") public String problemRegistListPopup(HttpServletRequest request, @RequestParam Map paramMap){ Map info = service.getProblemGroupInfo(paramMap); List list = service.getProblemList(request, paramMap); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); if(info != null){ String writer = CommonUtils.checkNull(info.get("WRITER")); String resPIC = CommonUtils.checkNull(info.get("RES_PIC")); String connector = CommonUtils.checkNull(person.getUserId()); if(writer.equals(connector)){ request.setAttribute("isWriter", true); } if(resPIC.equals(connector)){ request.setAttribute("isResponsor", true); } } request.setAttribute("problem", Constants.FILE_DOC_TYPE_PROBLEM_ATTACH_CODE); request.setAttribute("response", Constants.FILE_DOC_TYPE_PROBLEM_RESPONSE_ATTACH_CODE); request.setAttribute("info", info); request.setAttribute("LIST", list); return "/problem/problemRegistListPopup"; } /** * 문제점 Form 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemFormPopup.do") public String problemFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ String objId = CommonUtils.checkNull(request.getParameter("objId")); //문제점 검사 그룹 상세정보 조회 Map params = new HashMap(); params.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId"))); Map problemGroupInfo = service.getProblemGroupInfo(params); Map info = new HashMap(); if("".equals(objId)){ info.put("OBJID", CommonUtils.createObjId()); }else{ info = service.getProblemInfo(paramMap); } //접속자 정보 PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); if(problemGroupInfo != null){ String writer = CommonUtils.checkNull(problemGroupInfo.get("WRITER")); String resPIC = CommonUtils.checkNull(problemGroupInfo.get("RES_PIC")); String connector = CommonUtils.checkNull(person.getUserId()); if(writer.equals(connector)){ request.setAttribute("isWriter", true); } if(resPIC.equals(connector)){ request.setAttribute("isResponsor", true); } } request.setAttribute("userInfo", person.getLoginInfo()); request.setAttribute("problemCode", Constants.FILE_DOC_TYPE_PROBLEM_ATTACH_CODE); request.setAttribute("responseCode", Constants.FILE_DOC_TYPE_PROBLEM_RESPONSE_ATTACH_CODE); request.setAttribute("reasonCode", Constants.FILE_DOC_TYPE_PROBLEM_REASON_ATTACH_CODE); request.setAttribute("problemName", Constants.FILE_DOC_TYPE_PROBLEM_ATTACH_NAME); request.setAttribute("responseName", Constants.FILE_DOC_TYPE_PROBLEM_RESPONSE_ATTACH_NAME); request.setAttribute("reasonName", Constants.FILE_DOC_TYPE_PROBLEM_REASON_ATTACH_NAME); request.setAttribute("info", info); request.setAttribute("problemGroupInfo", problemGroupInfo); return "/problem/problemFormPopup"; } /** * 문제점 Detail 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemDetailPopup.do") public String problemDetailPopup(HttpServletRequest request, @RequestParam Map paramMap){ //문제점 상세정보 조회 Map info = service.getProblemInfo(paramMap); //문제점 검사 상세정보 조회 String targetObjId = CommonUtils.checkNull(info.get("TARGET_OBJID")); Map params = new HashMap(); params.put("targetObjId", targetObjId); Map problemGroupInfo = service.getProblemGroupInfo(params); request.setAttribute("problem", Constants.FILE_DOC_TYPE_PROBLEM_ATTACH_CODE); request.setAttribute("response", Constants.FILE_DOC_TYPE_PROBLEM_RESPONSE_ATTACH_CODE); request.setAttribute("reason", Constants.FILE_DOC_TYPE_PROBLEM_REASON_ATTACH_CODE); request.setAttribute("info", info); request.setAttribute("problemGroupInfo", problemGroupInfo); return "/problem/problemDetailPopup"; } /** * 문제점 등록 > 검사 Form 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemGroupFormPopup.do") public String problemGroupFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ Map info = service.getProblemGroupInfo(paramMap); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String userId = person.getUserId(); request.setAttribute("info", info); request.setAttribute("connector", userId); return "/problem/problemGroupFormPopup"; } /** * 문제점 등록 > 검사 Detail 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemGroupDetailPopup.do") public String problemGroupDetailPopup(HttpServletRequest request, @RequestParam Map paramMap){ Map info = service.getProblemGroupInfo(paramMap); request.setAttribute("info", info); return "/problem/problemGroupDetailPopup"; } /** * 문제점 등록 디테일뷰 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemDetailFormPopup.do") public String problemDetailFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ return "/problem/problemDetailFormPopup"; } /** * 통합문제점관리 검사 그룹 저장 * @param request * @param paramMap * @return */ @RequestMapping("/problem/saveProblemGroupInfo.do") public String saveProblemGroupInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map map = service.saveProblemGroupInfo(request, paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(map)); return "/ajax/ajaxResult"; } /** * 통합문제점관리 검사 배포 * @param request * @param paramMap * @return */ @RequestMapping("/problem/distributeProblemGroupInfo.do") public String distributeProblemGroupInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map map = service.distributeProblemGroupInfo(paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(map)); return problemGroupRequestList(request, paramMap); } /** * 통합문제점관리 문제점 저장 * @param request * @param paramMap * @return */ @RequestMapping("/problem/saveProblemInfo.do") public String saveProblemInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map map = service.saveProblemInfo(request, paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(map)); return "/ajax/ajaxResult"; } /** * 통합문제점관리 문제점 상태변경(확인결과 반영) * @param request * @param paramMap * @return */ @RequestMapping("/problem/changeProblemStatusInfo.do") public String changeProblemStatusInfo(HttpServletRequest request, @RequestParam Map paramMap){ service.changeProblemStatusInfo(paramMap); return "/ajax/ajaxResult"; } /** * 통합문제점관리 문제점 과거차대상여부 변경 * @param request * @param paramMap * @return */ @RequestMapping("/problem/changeProblemContinualMngTypeInfo.do") public String changeProblemContinualMngTypeInfo(HttpServletRequest request, @RequestParam Map paramMap){ service.changeProblemContinualMngTypeInfo(paramMap); return "/ajax/ajaxResult"; } /** * 과거차문제점 승인요청 목록 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngApplyReqList.do") public String problemContinualMngApplyReqList(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemContinualMngApplyReqList(request, paramMap); request.setAttribute("problem", Constants.FILE_DOC_TYPE_PROBLEM_ATTACH_CODE); request.setAttribute("response", Constants.FILE_DOC_TYPE_PROBLEM_RESPONSE_ATTACH_CODE); request.setAttribute("reason", Constants.FILE_DOC_TYPE_PROBLEM_REASON_ATTACH_CODE); request.setAttribute("LIST", list); return "/problem/problemContinualMngApplyReqList"; } /** * 과거차문제점 승인결과 목록 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngApplyResultList.do") public String problemContinualMngRejectList(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemContinualMngApplyResultList(request, paramMap); request.setAttribute("LIST", list); return "/problem/problemContinualMngApplyResultList"; } /** * 과거차문제점 조회 목록 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngList.do") public String problemContinualMngList(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemContinualMngList(request, paramMap); request.setAttribute("problem", Constants.FILE_DOC_TYPE_PROBLEM_ATTACH_CODE); request.setAttribute("response", Constants.FILE_DOC_TYPE_PROBLEM_RESPONSE_ATTACH_CODE); request.setAttribute("reason", Constants.FILE_DOC_TYPE_PROBLEM_REASON_ATTACH_CODE); request.setAttribute("LIST", list); return "/problem/problemContinualMngList"; } /** * 과거차 문제점 반영이력 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngReflectListPopup.do") public String problemContinualMngReflectListPopup(HttpServletRequest request, @RequestParam Map paramMap){ List list = service.getProblemContinualReflectList(paramMap); request.setAttribute("LIST", list); request.setAttribute("connectTaskType", Constants.CONNECT_TYPE_CODE_APPLY_HISTORY); request.setAttribute("connectTaskName", Constants.CONNECT_TYPE_NAME_APPLY_HISTORY); return "/problem/problemContinualMngReflectListPopup"; } /** * 과거차 문제점 반영이력 등록 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngReflectFormPopup.do") public String problemContinualMngReflectFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String connector = CommonUtils.checkNull(person.getUserId()); Map info = service.getProblemContinualReflectInfo(paramMap); request.setAttribute("connector", connector); request.setAttribute("info", info); return "/problem/problemContinualMngReflectFormPopup"; } /** * 과거차 문제점 승인여부 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngApplyFormPopup.do") public String problemContinualMngApplyFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ return "/problem/problemContinualMngApplyFormPopup"; } /** * 과거차 문제점 승인처리 * @param request * @param paramMap * @return */ @RequestMapping("/problem/problemContinualMngApplyProc.do") @ResponseBody public void problemContinualMngApplyProc(HttpServletRequest request, @RequestParam Map paramMap){ service.insertProblemContinualMngApplyResult(request, paramMap); } /** * 조치자가 조치를 완료하고, 제기자 배포일을 저장한다.. * @param request * @param paramMap * @return */ @RequestMapping("/problem/resDistributeProblemGroupInfo.do") public String redistributeProblemGroupInfo(HttpServletRequest request, @RequestParam Map paramMap){ service.resDistributeProblemGroupInfo(request, paramMap); return problemGroupResponseList(request, paramMap); } /** * 과거차 반영이력 저장 * @param request * @param paramMap * @return */ @RequestMapping("/problem/saveProblemContinualReflectHistoryInfo.do") public String saveProblemContinualReflectHistoryInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map map = service.saveProblemContinualReflectHistoryInfo(request, paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(map)); return "/ajax/ajaxResult"; } /** * 문제점 제기완료메일발송 * @param request * @param paramMap * @return */ @RequestMapping("/problem/sendProblemRequestCompleteMail.do") public String sendProblemRequestCompleteMail(HttpServletRequest request, @RequestParam Map paramMap){ Map map = service.sendProblemRequestCompleteMail(request, paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(map)); return "/ajax/ajaxResult"; } /** * 문제점 조치완료메일발송 * @param request * @param paramMap * @return */ @RequestMapping("/problem/sendProblemResponseCompleteMail.do") public String sendProblemResponseCompleteMail(HttpServletRequest request, @RequestParam Map paramMap){ Map map = service.sendProblemResponseCompleteMail(request, paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(map)); return "/ajax/ajaxResult"; } /*jmpark end*/ /*************************************************************************************************************************/ /*************************************************************************************************************************/ /*edhwang start*/ /*edhwang end*/ /*************************************************************************************************************************/ /*************************************************************************************************************************/ /*dhchoi start*/ /*dhchoi end*/ /*************************************************************************************************************************/ }