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 com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.service.CommonService; import com.pms.service.ProductMgmtService; import com.pms.service.ProjectConceptService; @Controller public class ProductMgmtController { ProjectConceptService service = null; @Autowired ProductMgmtService productMgmtService; @Autowired CommonService commonService; /** * PART 조회및 배포 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/productmgmtList.do") public String ordermgmtList(HttpServletRequest request, @RequestParam Map paramMap){ List list = null; Map code_map = new HashMap(); try{ list = productMgmtService.getProductMgntList(request,paramMap); //제품구분 code_map.put("product_category",commonService.bizMakeOptionList("0000917", (String)paramMap.get("product_category"),"common.getCodeselect")); request.setAttribute("code_map",code_map); request.setAttribute("cu01_file", Constants.CUSTOMER_CODE01); request.setAttribute("cu02_file", Constants.CUSTOMER_CODE02); request.setAttribute("LIST", list); }catch(Exception e){ e.printStackTrace(); } return "/productmgmt/productmgmtList"; } /** * 제품마스터 상세조회 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/productmgmtUpdateFormPopup.do") public String productmgmtUpdateFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String objId = CommonUtils.checkNull(paramMap.get("objId")); Map code_map = new HashMap(); String actionType = CommonUtils.checkNull(paramMap.get("actionType")); Map info = null; ArrayList qualityList = new ArrayList(); try{ // 제품양산제품 조회 if(!"".equals(objId)){ info = productMgmtService.getProductMgntInfo(paramMap); } if(info!=null){ //제품구분 code_map.put("product_category",commonService.bizMakeOptionList("0000917", (String)info.get("PRODUCT_CATEGORY"),"common.getCodeselect")); //Type //code_map.put("product_type",commonService.bizMakeOptionList("ITEM_CD", (String)info.get("PRODUCT_TYPE"),"common.getCodeselect")); //Grade code_map.put("product_grade",commonService.bizMakeOptionList("0000012", (String)info.get("PRODUCT_GRADE"),"common.getCodeselect")); //톤(Ton)수 code_map.put("product_ton",commonService.bizMakeOptionList("0000021", (String)info.get("PRODUCT_TON"),"common.getCodeselect")); //BOOM단수 code_map.put("product_boom",commonService.bizMakeOptionList("0000029", (String)info.get("PRODUCT_BOOM"),"common.getCodeselect")); //차량 code_map.put("product_vehicle",commonService.bizMakeOptionList("0000035", (String)info.get("PRODUCT_VEHICLE"),"common.getCodeselect")); //생산여부 code_map.put("production_flag",commonService.bizMakeOptionList("0000039", (String)info.get("PRODUCTION_FLAG"),"common.getCodeselect")); }else{ //제품구분 code_map.put("product_category",commonService.bizMakeOptionList("0000917", "","common.getCodeselect")); //Type //code_map.put("product_type",commonService.bizMakeOptionList("ITEM_CD", (String)info.get("PRODUCT_TYPE"),"common.getCodeselect")); //Grade code_map.put("product_grade",commonService.bizMakeOptionList("0000012", "","common.getCodeselect")); //톤(Ton)수 code_map.put("product_ton",commonService.bizMakeOptionList("0000021", "","common.getCodeselect")); //BOOM단수 code_map.put("product_boom",commonService.bizMakeOptionList("0000029", "","common.getCodeselect")); //차량 code_map.put("product_vehicle",commonService.bizMakeOptionList("0000035", "","common.getCodeselect")); //생산여부 code_map.put("production_flag",commonService.bizMakeOptionList("0000039", "","common.getCodeselect")); } //object id if("".equals(objId)) objId = CommonUtils.createObjId(); request.setAttribute("qualityList",qualityList); request.setAttribute("code_map",code_map); request.setAttribute("info", info); request.setAttribute("objId", objId); request.setAttribute("actionType", actionType); }catch(Exception e){ e.printStackTrace(); } return "/productmgmt/productMgmtUpdateFormPopup"; } /** * 제품마스터 상세조회 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/openSpecificationFormPopup.do") public String openSpecificationFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String targetObjId = CommonUtils.checkNull(paramMap.get("targetObjId")); //ArrayList list = new ArrayList(); Map info = null; try{ paramMap.put("objId",(String)paramMap.get("targetObjId")); info = productMgmtService.getProductMgntInfo(paramMap); //list = (ArrayList)productMgmtService.SpecificationList(request, paramMap); request.setAttribute("targetObjId", targetObjId); request.setAttribute("info", info); }catch(Exception e){ e.printStackTrace(); } return "/productmgmt/openSpecificationFormPopup"; } /** * 제품 마스터 중복체크 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productmgmt/saveproductMgmtInfo.do") public Map saveproductMgmtInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", productMgmtService.saveproductMgmtInfo(request, paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 제품 마스터 저장 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productmgmt/checkDuplicateProductMgmt.do") public Map checkDuplicateProductMgmt(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try { resultMap = productMgmtService.checkDuplicateProductMgmt(request, paramMap); System.out.println("resultMap:"+resultMap); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return resultMap; } /** * 제품마스터 제원저장 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/SpecificationFormSave.do") @ResponseBody public String SpecificationFormSave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String result = ""; try{ productMgmtService.SpecificationFormSave(request, paramMap); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * 제품마스터 삭제 */ @RequestMapping("/productmgmt/productDelete.do") @ResponseBody public String productDelete(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); String result = ""; try{ result_map.put("RESULT", productMgmtService.productDelete(request, paramMap)); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * 제품 배포 */ @RequestMapping("/productmgmt/changeMultiproductStatus.do") @ResponseBody public String changeMultiPartStatus(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); String result = ""; try{ result_map.put("RESULT", productMgmtService.changeMultiPartStatus(request, paramMap)); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * Excel을 이용한 제품마스터 등록 팝업을 호출한다. * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/openproductmgmtExcelImportPopUp.do") public String openproductmgmtExcelImportPopUp(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); String projectno = ""; String objid=""; try{ objid = CommonUtils.createObjId(); //jqGrid내에서 사용할 코드 Map param = new HashMap(); param.put("parentCodeId","CUST_CD"); code_map.put("customer_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); param.put("parentCodeId", "ITEM_CD"); code_map.put("item_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //상수 param.put("parentCodeId","PHASE_CD"); code_map.put("phase_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //주파수 param.put("parentCodeId","FRE_CD"); code_map.put("fre_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //1차전압 param.put("parentCodeId","PD_CD1"); code_map.put("pd_cd1", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //결선 param.put("parentCodeId","PD_CD2"); code_map.put("pd_cd2", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //도체 param.put("parentCodeId","PD_CD3"); code_map.put("pd_cd3", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //디지털온도계 param.put("parentCodeId","PD_CD4"); code_map.put("pd_cd4", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //냉각팬 param.put("parentCodeId","PD_CD5"); code_map.put("pd_cd5", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //외함 param.put("parentCodeId","PD_CD6"); code_map.put("pd_cd6", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //효율 param.put("parentCodeId","PD_CD7"); code_map.put("pd_cd7", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //절연등급 param.put("parentCodeId","PD_CD8"); code_map.put("pd_cd8", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); //상태 param.put("parentCodeId","STS_CD"); code_map.put("status_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택")); request.setAttribute("code_map",code_map); request.setAttribute("objid",objid); }catch(Exception e){ e.printStackTrace(); } return "/productmgmt/openproductmgmtExcelImportPopUp"; } /** * 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return. * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/parsingExcelFile.do") public String parsingExcelFile(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList parsingPartList = new ArrayList(); try{ parsingPartList = (ArrayList)productMgmtService.parsingExcelFile(request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonArray(parsingPartList)); return "/ajax/ajaxResult"; } /** * 파트 저장 */ @RequestMapping("/productmgmt/productApplySave.do") @ResponseBody public String productApplySave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String result = ""; try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId())); productMgmtService.productApplySave(request, paramMap); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * PART 조회및 배포 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/ajxProductmgmtList.do") public String ajxProductmgmtList(HttpServletRequest request, @RequestParam Map paramMap){ List resultList = new ArrayList(); try{ resultList = productMgmtService.ajxProductmgmtList(request,paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonArray(resultList)); return "/ajax/ajaxResult"; } /** * 제품 사양 리스트 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/getProductMgntUpgList.do") public String getProductMgntUpgList(HttpServletRequest request, @RequestParam Map paramMap){ List list = null; List productUpgNoList = new ArrayList(); List productList = null; List upgCodeList = new ArrayList(); List upgNoList = null; Map code_map = new HashMap(); try{ //list = productMgmtService.getProductMgntUpgList(request,paramMap); //리스트 상단 사양 표시 productList = productMgmtService.getProductUpgCodeList(request,paramMap); //matrix 만들기 위해 코드 리스트 가져오기 if(!"".equals(CommonUtils.nullToEmpty((String)paramMap.get("product_code")))){ upgCodeList = productMgmtService.getProductUpgcommcodeList(request,paramMap); } //난중에 지울것 //productUpgNoList = productMgmtService.getUpgMatrixList(request,paramMap); if(upgCodeList.size() > 0 ){ for(int i=0;i"+temp_map); //TempList.add(temp_map); productUpgNoList.add(temp_map); } } /*int upgSize = 0; if(!"".equals((String)paramMap.get("product_code"))){ productUpgNoList = productMgmtService.getUpgMatrixList(request,paramMap); if(productUpgNoList.size() > 0){ upgSize = productUpgNoList.size() / productList.size(); System.out.println("upgSize -->"+upgSize); for(int i=0;i paramMap){ Map info = null; Map code_map = new HashMap(); //List productUpgList = null; String product_objid = CommonUtils.checkNull((String)paramMap.get("product_code")); try{ // UPG마스터 조회 //info = productMgmtService.getProductMgntUpgInfo(paramMap); //UPgLIst 조회 //productUpgList = productMgmtService.productUpgList(request,paramMap); //제품구분 //code_map.put("product_category",commonService.bizMakeOptionList("0000001", (String)paramMap.get("product_category"),"common.getCodeselect")); //code_map.put("product_code",commonService.UpgMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductUpgMasterselect")); code_map.put("product_code",commonService.bizMakeOptionList("", "","common.getProductMasterselect")); request.setAttribute("code_map",code_map); //request.setAttribute("productUpgList", productUpgList); request.setAttribute("product_objid",product_objid); }catch(Exception e){ e.printStackTrace(); } //request.setAttribute("info", info); return "/productmgmt/productMgmtUpgInsertFormPopup"; } /** * 제품 사양 등록 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/productMgmtUpgUpdateFormPopup.do") public String productMgmtUpgUpdateFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ Map info = null; Map code_map = new HashMap(); //List productUpgList = null; String product_objid = CommonUtils.checkNull((String)paramMap.get("product_code")); try{ // UPG마스터 조회 info = productMgmtService.getProductMgntUpgInfo(paramMap); //UPgLIst 조회 //productUpgList = productMgmtService.productUpgList(request,paramMap); //제품구분 //code_map.put("product_category",commonService.bizMakeOptionList("0000001", (String)paramMap.get("product_category"),"common.getCodeselect")); //code_map.put("product_code",commonService.UpgMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductUpgMasterselect")); code_map.put("product_code",commonService.UpgMakeOptionList("", "","common.getProductUpgMasterselect")); request.setAttribute("code_map",code_map); request.setAttribute("info",info); //request.setAttribute("productUpgList", productUpgList); request.setAttribute("product_objid",product_objid); }catch(Exception e){ e.printStackTrace(); } //request.setAttribute("info", info); return "/productmgmt/productMgmtUpgUpdateFormPopup"; } /** * UPG 삭제 */ @RequestMapping("/productmgmt/productUpgDelete.do") @ResponseBody public String productUpgDelete(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); String result = ""; try{ result_map.put("RESULT", productMgmtService.productUpgDelete(request, paramMap)); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * 등록된 UPG가져오기 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productmgmt/productUpgList.do") public Map productUpgList(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); List productUpgList = null; try { productUpgList = productMgmtService.getProductUpgDetailList(request,paramMap); if(productUpgList.size() == 0){ productUpgList = productMgmtService.UpgCodeList(request,paramMap); } result_map.put("RESULT", productUpgList); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 등록된 UPG가져오기 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productmgmt/getUpgNoList.do") public Map getUpgNoList(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); List UpgNoList = null; try { UpgNoList = productMgmtService.getUpgNoList(request,paramMap); result_map.put("RESULT", UpgNoList); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 제품 사양 상세조회 * @param request * @param paramMap * @return *//* @RequestMapping("/productmgmt/productMgmtUpgUpdateFormPopup.do") public String productMgmtUpgUpdateFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ Map info = null; try{ // 영업활동 조회 info = productMgmtService.getProductMgntUpgInfo(paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); return "/productmgmt/productMgmtUpgUpdateFormPopup"; }*/ /** * 제품 사양 저장 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productmgmt/saveproductMgmtUpgInfo.do") public Map saveproductMgmtUpgInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", productMgmtService.saveproductMgmtUpgInfo(request, paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 제품사양 UPG 상세정보 저장 * @param request * @param paramMap * @return */ @RequestMapping("/productmgmt/saveproductMgmtUpg.do") @ResponseBody public String saveproductMgmtUpg(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String result = ""; try{ productMgmtService.saveproductMgmtUpg(request, paramMap); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * UPG 삭제 */ @RequestMapping("/productmgmt/productUpgListDelete.do") @ResponseBody public String productUpgListDelete(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); String result = ""; try{ result_map.put("RESULT", productMgmtService.productUpgListDelete(request, paramMap)); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } @SuppressWarnings("rawtypes") @RequestMapping("/productmgmt/productPriceHistory.do") public String optionPriceHistory(HttpServletRequest request, @RequestParam Map paramMap){ List list = null; try{ list = productMgmtService.productPriceHistory(request,paramMap); request.setAttribute("LIST", list); }catch(Exception e){ e.printStackTrace(); } return "/productmgmt/productPriceHistory"; } @RequestMapping("/productmgmt/deleteproductMngInfo.do") public String deleteOptionMngInfo(HttpServletRequest request, @RequestParam Map paramMap){ try { request.setAttribute("RESULT", CommonUtils.getJsonMap(productMgmtService.deleteproductMngInfo(request, paramMap)) ); } catch (Exception e) { e.printStackTrace(); } return "/ajax/ajaxResult"; } }