- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
500 lines
16 KiB
Java
500 lines
16 KiB
Java
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<String, Object> 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<String, Object> paramMap){
|
|
return "/problem/byTypeStatus";
|
|
}
|
|
/**
|
|
* 통합문제점 검사명 그룹 제기 목록
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/problem/problemGroupRequestList.do")
|
|
public String problemGroupRequestList(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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*/
|
|
/*************************************************************************************************************************/
|
|
|
|
|
|
|
|
}
|