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

425 lines
13 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 org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.View;
import com.pms.common.bean.PersonBean;
import com.pms.common.service.BaseService;
import com.pms.common.utils.CommonUtils;
import com.pms.common.utils.Constants;
import com.pms.service.AdminService;
import com.pms.service.CommonService;
import com.pms.service.SpecDataService;
@Controller
public class SpecDataController extends BaseService {
@Autowired
AdminService adminService;
@Autowired
CommonService commonService;
@Autowired
SpecDataService specDataService;
/**
* 기술자료 관리 조회 목록을 가져온다.
* @return
*/
@RequestMapping("/specData/specDataList.do")
public String getSpecDataList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List list = new ArrayList();
Map code_map = new HashMap();
try{
code_map.put("root_cd",commonService.bizMakeOptionList("", (String)paramMap.get("root_cd"),"spec.getcategoryName"));
list = (ArrayList)specDataService.getSpecDataInfoListPaging(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST",list);
return "/specData/specDataList";
}
/**
* 기술자료 SPEC 조회 목록을 가져온다.
* @return
*/
@RequestMapping("/specData/specDataSPECList.do")
public String getSpecDataSPECList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList specDataList = new ArrayList();
try{
String isLast = CommonUtils.checkNull(paramMap.get("search_isLast"));
if("".equals(isLast)){
paramMap.put("search_isLast", "1");
}
paramMap.put("listType", "SPEC");
specDataList = specDataService.getSpecDataInfoListPaging(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("LIST",specDataList);
return "/specData/specDataSPECList";
}
/**
* 벤치마킹보고서 조회 목록을 가져온다.
* @return
*/
@RequestMapping("/specData/specBenchmarkingList.do")
public String getSpecBenchmarkingList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList specDataList = new ArrayList();
try{
paramMap.put("listType", "benchMarking");
specDataList = specDataService.getSpecDataInfoListPaging(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("LIST",specDataList);
return "/specData/specBenchmarkingList";
}
/**
* 기술자료 고객사 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/getOEMList.do")
public String getOEMList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList oemList = new ArrayList();
try{
System.out.println("getOEMList(/specData/getOEMList.do)");
oemList = (ArrayList)adminService.getOEMInfoList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonArray(oemList));
return "/ajax/ajaxResult";
}
/**
* 기술자료 제품군 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/getProductFamilyList.do")
public String getProductFamilyList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList productFamilyList = new ArrayList();
try{
productFamilyList = (ArrayList)adminService.getProductGroupList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonArray(productFamilyList));
return "/ajax/ajaxResult";
}
/**
* 기술자료 제품군에 따른 제품 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/getProductList.do")
public String getProductList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList productList = new ArrayList();
try{
productList = (ArrayList)adminService.getProductList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonArray(productList));
return "/ajax/ajaxResult";
}
/**
* 기술자료 고객사에 따른 차종 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/getCarList.do")
public String getCarList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList productList = new ArrayList();
try{
productList = (ArrayList)adminService.getCarList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonArray(productList));
return "/ajax/ajaxResult";
}
/**
* 기술자료를 저장한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/saveSpecData.do")
public String saveSpecData(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap resultMap = new HashMap();
try{
specDataService.mergeSpecData(request, paramMap);
resultMap = CommonUtils.setReqAttrResultMsg(request, "저장하였습니다.", "true", null,resultMap);
}catch(Exception e){
e.printStackTrace();
resultMap = CommonUtils.setReqAttrResultMsg(request, "오류가 발생하였습니다.", "false", e,resultMap);
}
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* 기술자료를 revision 한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/revisionSpecData.do")
public String revisionSpecData(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap resultMap = new HashMap();
try{
specDataService.revisionSpecData(request, paramMap);
CommonUtils.setReqAttrResultMsg(request, "Revision 되었습니다.", null, null, resultMap);
}catch(Exception e){
e.printStackTrace();
CommonUtils.setReqAttrResultMsg(request, "오류가 발생하였습니다.", null, e, resultMap);
}
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* 기술자료 등록 시 입력영역에 기본 폼을 불러온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/specDataFormPopup.do")
public String specDataFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap categoryMap = new HashMap();
HashMap categoryInfoMap = new HashMap();
ArrayList transSpecFromList = new ArrayList();
ArrayList transSpecToList = new ArrayList();
Map code_map = new HashMap();
try{
String objid = CommonUtils.checkNull(paramMap.get("objid"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
if(!"".equals(objid)){
categoryMap = (HashMap)specDataService.getSpecDataInfoCategorySet(request, paramMap);
System.out.println("specDataFormPopup(categoryMap):"+categoryMap);
categoryInfoMap = specDataService.getSpecDataInfo(request, paramMap);
System.out.println("specDataFormPopup(categoryInfoMap):"+categoryInfoMap);
}
code_map.put("root_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)categoryInfoMap.get("ROOT_OBJID")),"spec.getcategoryName"));
//등록 시 objid 생성
if("".equals(objid) && "regist".equals(actionType)){
request.setAttribute("newObjid",CommonUtils.createObjId());
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("categoryInfo", categoryInfoMap);
request.setAttribute("categoryDataSet", categoryMap);
return "/specData/specDataFormPopup";
}
/**
* 기술자료 등록 시 입력영역에 기본 폼을 불러온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/specDataDetailViewPopup.do")
public String specDataDetailViewPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap categoryMap = new HashMap();
HashMap categoryInfoMap = new HashMap();
ArrayList transSpecFromList = new ArrayList();
ArrayList transSpecToList = new ArrayList();
ArrayList RevisionList = new ArrayList();
boolean isWriter = false;
try{
String objid = CommonUtils.checkNull(paramMap.get("objid"));
if(!"".equals(objid)){
categoryMap = (HashMap)specDataService.getSpecDataInfoCategorySet(request, paramMap);
categoryInfoMap = specDataService.getSpecDataInfo(request, paramMap);
paramMap.put("DOC_NO",categoryInfoMap.get("DOC_NO"));
paramMap.put("REV",categoryInfoMap.get("REV"));
RevisionList = specDataService.getRevisionList(request, paramMap);
HttpSession session = request.getSession();
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
if( CommonUtils.checkNull(categoryMap.get("WRITER")).equals(CommonUtils.checkNull(person.getUserId(),""))){
isWriter = true;
}
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("revisionList", RevisionList);
request.setAttribute("isWriter", isWriter);
request.setAttribute("categoryInfo", categoryInfoMap);
request.setAttribute("categoryDataSet", categoryMap);
return "/specData/specDataDetailViewPopup";
}
/* *//**
* 파일 목록 조회(ajax)
* @param paramMap
* @return
*//*
@RequestMapping("/specData/getRevisionList.do")
public String getRevisionList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList revisionList = specDataService.getRevisionList(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonArray(revisionList));
return "/ajax/ajaxResult";
}*/
/**
* SPEC 치환 Pop up
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/specDataTransFormPopup.do")
public String specDataSPECChange(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap categoryInfoMap = new HashMap();
try{
categoryInfoMap = specDataService.getSpecDataInfo(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("categoryInfoMap", categoryInfoMap);
return "/specData/specDataTransFormPopup";
}
/**
* 기술자료 조회
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/getSpecDataTransInfoList.do")
public String getSpecDataSPECChangeList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList specList = new ArrayList();
HashMap resultMap = new HashMap();
try{
specList = specDataService.getTransSpecDataTargetList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonArray(specList));
return "/ajax/ajaxResult";
}
/**
* 기술자료 치환
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/mergeSpecDataTrans.do")
public String mergeSpecDataTrans(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap resultMap = new HashMap();
try{
specDataService.mergeSpecDataTrans(request, paramMap);
CommonUtils.setReqAttrResultMsg(request, "저장되었습니다.", null, null, resultMap);
}catch(Exception e){
e.printStackTrace();
CommonUtils.setReqAttrResultMsg(request, "오류가 발생하였습니다.", null, e, resultMap);
}
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* 기술자료 치환목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/getTransSpecDataList.do")
public String getTransSpecDataList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList specList = new ArrayList();
try{
specList = specDataService.getTransSpecDataList(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonArray(specList));
return "/ajax/ajaxResult";
}
/**
* 기술자료 치환목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/specData/duplicateDataCheck.do")
public String duplicateDataCheck(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
HashMap resultMap = new HashMap();
try{
resultMap = specDataService.getSpecDataInfo(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
}