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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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"; } }