Files
wace_plm/src/com/pms/controller/QualityController.java
2025-12-09 14:17:36 +09:00

691 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 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.common.JsonUtil;
import com.pms.service.CommonService;
import com.pms.service.QualityService;
@Controller
public class QualityController {
@Autowired
CommonService commonService;
QualityService service = null;
@Autowired
public void setService(QualityService service){
this.service = service;
}
/**
* 단품/ASSY검사관리
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityStatus.do")
public String qualityStatus(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/quality/qualityStatus";
}
/**
* 품질검사 등록 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestTempList.do")
public String qualityTestTempList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getQualityTestTempList(request, paramMap);
request.setAttribute("LIST", list);
return "/quality/qualityTestTempList";
}
/**
* 품질검사 현황 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestList.do")
public String qualityTestList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getQualityTestList(request, paramMap);
request.setAttribute("LIST", list);
request.setAttribute("connectTaskType", Constants.CONNECT_TYPE_CODE_QUALITY_TEST);
request.setAttribute("connectTaskName", Constants.CONNECT_TYPE_NAME_QUALITY_TEST);
return "/quality/qualityTestList";
}
/**
* Gate 품질검사 현황 목록 PopUp
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestListPopUp.do")
public String qualityTestListPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getQualityTestList(request, paramMap);
request.setAttribute("LIST", list);
request.setAttribute("connectTaskType", Constants.CONNECT_TYPE_CODE_QUALITY_TEST);
request.setAttribute("connectTaskName", Constants.CONNECT_TYPE_NAME_QUALITY_TEST);
return "/quality/qualityTestListPopUp";
}
/**
* 품질검사 Part별 Detail Popup
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestPartListDetailPopup.do")
public String qualityTestPartListDetailPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getQualityTestDetailPartList(paramMap);
Map info = service.getQualityTestInfo(request,paramMap);
request.setAttribute("LIST", list);
request.setAttribute("info", info);
return "/quality/qualityTestPartListDetailPopup";
}
/**
* 품질검사 Part별 Form Popup
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestPartListFormPopup.do")
public String qualityTestPartListFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getQualityTestDetailPartList(paramMap);
request.setAttribute("LIST", list);
return "/quality/qualityTestPartListFormPopup";
}
/**
* 품질검사 갑지 Form 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestFormPopup.do")
public String qualityTestFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
resultMap = service.getQualityTestInfo(request, paramMap);
request.setAttribute("resultMap", resultMap);
return "/quality/qualityTestFormPopup";
}
/**
* 품질검사 갑지 Detail Form 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityTestDetailFormPopup.do")
public String qualityTestDetailFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
resultMap = service.getQualityTestInfo(request, paramMap);
request.setAttribute("resultMap", resultMap);
return "/quality/qualityTestDetailFormPopup";
}
/**
* 품질검사 중복 체크
* result:true (중복), result:false (중복아님)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/checkDuplicateQualityTestInfo.do")
public String checkDuplicateQualityTestInfo(HttpServletRequest request, @RequestParam Map paramMap){
request.setAttribute("RESULT", CommonUtils.getJsonMap(service.checkDuplicateQualityTestInfo(paramMap)));
return "/ajax/ajaxResult";
}
/**
* 품질검사 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/saveQualityTestInfo.do")
public String saveQualityTestInfo(HttpServletRequest request, @RequestParam Map paramMap){
request.setAttribute("RESULT", CommonUtils.getJsonMap(service.saveQualityTestInfo(request, paramMap)));
return "/ajax/ajaxResult";
}
/**
* 품질검사 파트별 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/saveQualityTestPartInfo.do")
public String saveQualityTestPartInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map map = service.saveQualityTestPartInfo(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(map));
return "/ajax/ajaxResult";
}
/**
* 품질검사 확정
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/completeQualityTestInfo.do")
public String completeQualityTestInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map map = service.completeQualityTestInfo(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(map));
return "/ajax/ajaxResult";
}
// =====================================================
// 품질관리 기초정보관리
// =====================================================
/**
* 기초정보관리 목록 화면
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/qualityBasicInfoList.do")
public String qualityBasicInfoList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// 검사구분 목록
List inspectionTypeList = service.getInspectionTypeList(paramMap);
request.setAttribute("inspectionTypeList", inspectionTypeList);
// 불량유형 목록
List defectTypeList = service.getDefectTypeList(paramMap);
request.setAttribute("defectTypeList", defectTypeList);
// 불량원인 목록
List defectReasonList = service.getDefectReasonList(paramMap);
request.setAttribute("defectReasonList", defectReasonList);
return "/quality/qualityBasicInfoList";
}
/**
* 기초정보 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/saveQualityBasicInfo.do")
public String saveQualityBasicInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map map = service.saveQualityBasicInfo(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(map));
return "/ajax/ajaxResult";
}
/**
* 기초정보 삭제
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/deleteQualityBasicInfo.do")
public String deleteQualityBasicInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map map = service.deleteQualityBasicInfo(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(map));
return "/ajax/ajaxResult";
}
// =====================================================
// 수입검사 관리
// =====================================================
/**
* 수입검사 관리 목록 화면
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/incomingInspectionList.do")
public String incomingInspectionList(HttpServletRequest request, @RequestParam Map paramMap){
ArrayList list = new ArrayList();
Map code_map = new HashMap();
try {
// 프로젝트번호
code_map.put("project_no", commonService.bizMakeOptionList("", (String)paramMap.get("project_no"), "common.getProjectNameList"));
// 공급업체 (CLIENT_MNG)
code_map.put("partner_objid", commonService.bizMakeOptionList("", (String)paramMap.get("partner_objid"), "common.getClientMngSupplySelect"));
// 검사자
code_map.put("inspector_id", commonService.bizMakeOptionList("", (String)paramMap.get("inspector_id"), "common.getUserselect"));
list = commonService.selectListPaging("quality.getIncomingInspectionList", request, paramMap);
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("LIST", JsonUtil.ListToJson(list));
return "/quality/incomingInspectionList";
}
/**
* 수입검사 관리 그리드 목록 조회
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/quality/incomingInspectionGridList.do")
public Map incomingInspectionGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("quality.getIncomingInspectionList", request, paramMap);
return paramMap;
}
/**
* 수입검사 등록 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/incomingInspectionFormPopUp.do")
public String incomingInspectionFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
try {
// 로그인 사용자 정보
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
String loginUserId = person != null ? person.getUserId() : "";
// 기존 검사 정보 조회 (검사자, 검사일 가져오기)
Map info = service.getIncomingInspectionDetailInfo(paramMap);
String savedInspectorId = "";
if(info != null && info.get("inspector_id") != null) {
savedInspectorId = (String) info.get("inspector_id");
request.setAttribute("info", info);
} else {
// 저장된 값 없으면 로그인 사용자로 기본 설정
savedInspectorId = loginUserId;
}
// 검사자 목록 (기존 값 또는 로그인 사용자 selected)
code_map.put("inspector_id", commonService.bizMakeOptionList("", savedInspectorId, "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/quality/incomingInspectionFormPopUp";
}
/**
* 수입검사 상세 그리드 목록 조회 (입고결과 기반)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/quality/incomingInspectionDetailGridList.do")
public Map incomingInspectionDetailGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("quality.getIncomingInspectionDetailList", request, paramMap);
return paramMap;
}
/**
* 수입검사 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/saveIncomingInspection.do")
public String saveIncomingInspection(HttpServletRequest request, @RequestParam Map paramMap){
Map map = service.saveIncomingInspection(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(map));
return "/ajax/ajaxResult";
}
/**
* 수입검사 엑셀 다운로드
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/quality/incomingInspectionExcelDownload.do")
public String incomingInspectionExcelDownload(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getIncomingInspectionListForExcel(paramMap);
request.setAttribute("LIST", list);
return "/quality/incomingInspectionExcel";
}
// =====================================================
// 공정검사 관리
// =====================================================
/**
* 공정검사 관리 목록 화면
*/
@RequestMapping("/quality/processInspectionList.do")
public String processInspectionList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/quality/processInspectionList";
}
/**
* 공정검사 관리 그리드 목록 조회
*/
@ResponseBody
@RequestMapping("/quality/processInspectionGridList.do")
public Map processInspectionGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("quality.getProcessInspectionList", request, paramMap);
return paramMap;
}
/**
* 공정검사 등록 팝업
*/
@RequestMapping("/quality/processInspectionFormPopUp.do")
public String processInspectionFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
try {
// 로그인 사용자 정보
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
String loginUserId = person != null ? person.getUserId() : "";
// 기존 검사 정보 조회
Map info = service.getProcessInspectionInfo(paramMap);
String savedInspectorId = "";
if(info != null && info.get("inspector_id") != null) {
savedInspectorId = (String) info.get("inspector_id");
request.setAttribute("info", info);
} else {
savedInspectorId = loginUserId;
}
// 검사자 목록
code_map.put("inspector_id", commonService.bizMakeOptionList("", savedInspectorId, "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/quality/processInspectionFormPopUp";
}
/**
* 공정검사 상세 그리드 목록 조회
*/
@ResponseBody
@RequestMapping("/quality/processInspectionDetailGridList.do")
public Map processInspectionDetailGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("quality.getProcessInspectionDetailList", request, paramMap);
return paramMap;
}
/**
* 공정검사 저장
*/
@RequestMapping("/quality/saveProcessInspection.do")
public String saveProcessInspection(HttpServletRequest request, @RequestParam Map paramMap){
Map map = service.saveProcessInspection(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(map));
return "/ajax/ajaxResult";
}
/**
* 공정검사 엑셀 다운로드
*/
@RequestMapping("/quality/processInspectionExcelDownload.do")
public String processInspectionExcelDownload(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getProcessInspectionListForExcel(paramMap);
request.setAttribute("LIST", list);
return "/quality/processInspectionExcel";
}
// =====================================================
// 반제품검사 관리
// =====================================================
/**
* 반제품검사 관리 목록 화면
*/
@RequestMapping("/quality/semiProductInspectionList.do")
public String semiProductInspectionList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/quality/semiProductInspectionList";
}
/**
* 반제품검사 관리 그리드 목록 조회
*/
@RequestMapping("/quality/semiProductInspectionGridList.do")
public String semiProductInspectionGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
request.setAttribute("RESULT", CommonUtils.getJsonArray(service.getSemiProductInspectionList(request, paramMap)));
return "/ajax/ajaxResult";
}
/**
* 반제품검사 등록 팝업
*/
@RequestMapping("/quality/semiProductInspectionFormPopUp.do")
public String semiProductInspectionFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map info = service.getSemiProductInspectionInfo(paramMap);
request.setAttribute("info", info);
return "/quality/semiProductInspectionFormPopUp";
}
/**
* 반제품검사 엑셀 다운로드
*/
@RequestMapping("/quality/semiProductInspectionExcelDownload.do")
public String semiProductInspectionExcelDownload(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = service.getSemiProductInspectionList(request, paramMap);
request.setAttribute("LIST", list);
return "/quality/semiProductInspectionExcel";
}
// =====================================================
// 고객 CS 관리
// =====================================================
/**
* 고객 CS 관리 목록 화면
*/
@RequestMapping("/quality/customerCsList.do")
public String customerCsList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
try {
// 고객사
code_map.put("customer_cd", commonService.bizMakeOptionList("", "", "common.getClientMngSupplySelect"));
request.setAttribute("code_map", code_map);
} catch(Exception e) {
e.printStackTrace();
}
return "/quality/customerCsList";
}
/**
* 고객 CS 관리 그리드 목록 조회
*/
@ResponseBody
@RequestMapping("/quality/customerCsGridList.do")
public Map customerCsGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("quality.getCustomerCsList", request, paramMap);
return paramMap;
}
/**
* 고객 불량 등록 팝업
*/
@RequestMapping("/quality/customerCsDefectFormPopUp.do")
public String customerCsDefectFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
Map info = new HashMap();
try {
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
if(!objId.isEmpty()) {
info = service.getCustomerCsInfo(paramMap);
request.setAttribute("info", info);
}
// 고객사
code_map.put("customer_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("customer_objid")), "common.getClientMngSupplySelect"));
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/quality/customerCsDefectFormPopUp";
}
/**
* 고객 불량 저장
*/
@ResponseBody
@RequestMapping("/quality/saveCustomerCsDefect.do")
public Map saveCustomerCsDefect(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return service.saveCustomerCsDefect(request, paramMap);
}
/**
* 조치결과 등록 팝업
*/
@RequestMapping("/quality/customerCsActionFormPopUp.do")
public String customerCsActionFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map info = service.getCustomerCsInfo(paramMap);
request.setAttribute("info", info);
return "/quality/customerCsActionFormPopUp";
}
/**
* 조치결과 저장
*/
@ResponseBody
@RequestMapping("/quality/saveCustomerCsAction.do")
public Map saveCustomerCsAction(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return service.saveCustomerCsAction(request, paramMap);
}
// =====================================================
// ECR 관리
// =====================================================
/**
* ECR 관리 목록 화면
*/
@RequestMapping("/quality/ecrList.do")
public String qualityEcrList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
try {
// 요청자 목록
code_map.put("requester_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("search_requester")), "common.getUserselect"));
// 부서 목록
code_map.put("dept_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("search_action_dept")), "common.getDeptselect"));
// 조치담당자 목록
code_map.put("action_manager_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("search_action_manager")), "common.getUserselect"));
// 조치자 목록
code_map.put("action_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("search_action_user")), "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/quality/ecrList";
}
/**
* ECR 관리 그리드 목록 조회
*/
@ResponseBody
@RequestMapping("/quality/ecrGridList.do")
public Map ecrGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("quality.getEcrList", request, paramMap);
return paramMap;
}
/**
* ECR 등록 팝업
*/
@RequestMapping("/quality/ecrRegistFormPopUp.do")
public String ecrRegistFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
Map info = new HashMap();
try {
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
if(!objId.isEmpty()) {
info = service.getEcrInfo(paramMap);
request.setAttribute("info", info);
}
// 부서 목록
code_map.put("dept_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("action_dept")), "common.getDeptselect"));
// 요청자 목록
code_map.put("requester_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("requester_id")), "common.getUserselect"));
// 조치담당자 목록
code_map.put("action_manager_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("action_manager_id")), "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/quality/ecrRegistFormPopUp";
}
/**
* ECR 저장
*/
@ResponseBody
@RequestMapping("/quality/saveEcr.do")
public Map saveEcr(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return service.saveEcr(request, paramMap);
}
/**
* ECR 결과등록 팝업
*/
@RequestMapping("/quality/ecrResultFormPopUp.do")
public String ecrResultFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
Map info = new HashMap();
try {
info = service.getEcrInfo(paramMap);
request.setAttribute("info", info);
// 조치자 목록
code_map.put("action_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("action_user_id")), "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/quality/ecrResultFormPopUp";
}
/**
* ECR 결과 저장
*/
@ResponseBody
@RequestMapping("/quality/saveEcrResult.do")
public Map saveEcrResult(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return service.saveEcrResult(request, paramMap);
}
}