Files
vexplor/src/com/pms/controller/PartMngController.java
2025-08-21 09:41:46 +09:00

1920 lines
68 KiB
Java

package com.pms.controller;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl;
import java.io.File;
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.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.SqlSession;
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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.pms.common.JsonUtil;
import com.pms.common.SqlMapConfig;
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.PartMgmtService;
import com.pms.service.PartMngService;
import com.pms.service.ProductMgmtService;
import com.pms.service.ProjectConceptService;
@Controller
public class PartMngController {
ProjectConceptService service = null;
@Autowired
PartMngService partMngService;
@Autowired
PartMgmtService partMgmtService;
@Autowired
ProductMgmtService productMgmtService;
@Autowired
CommonService commonService;
@Autowired
public void setProjectConceptService(ProjectConceptService service){
this.service = service;
}
/**
* PART 등록 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngTempList.do")
public String partMngTempList(HttpServletRequest request, @RequestParam Map paramMap){
String page ="/partMng/partMngTempList";
Map code_map = new HashMap();
List list = new ArrayList();
String islast = CommonUtils.checkNull(paramMap.get("IS_LAST"));
if("".equals(islast)){
paramMap.put("IS_LAST","0");
}
paramMap.put("STATUS","create");
try {
//list = CommonUtils.keyChangeUpperList(partMngService.partMngTempList(request,paramMap));
list = partMngService.partMngTempList(request,paramMap);
code_map.put("WRITER", commonService.bizMakeOptionList("", (String)paramMap.get("WRITER"), "common.getUserselect")); //구매 PM
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", list);
return page;
}
/**
* PART 등록 - PART 등록 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/partMngTempGridList.do")
public Map getPartMngTempGridListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String islast = CommonUtils.checkNull(paramMap.get("IS_LAST"));
if("".equals(islast)){
paramMap.put("IS_LAST","0");
}
String status_arr [] = {"create","changing"}; //release
paramMap.put("STATUS_ARR", status_arr);
// paramMap.put("STATUS","create");
commonService.selectListPagingNew("partMng.partMngTempGridList", request, paramMap);
return paramMap;
}
/**
* PART 배포 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngList.do")
public String partMngList(HttpServletRequest request, @RequestParam Map paramMap){
String page ="/partMng/partMngList";
Map code_map = new HashMap();
List list = new ArrayList();
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
String search = CommonUtils.checkNull(paramMap.get("search"));
try {
if("0".equals(searchRevision)){
paramMap.put("IS_LAST","");
}else if("1".equals(searchRevision)){
paramMap.put("IS_LAST",searchRevision);
}
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
if("Y".equals(search)){
//list = CommonUtils.keyChangeUpperList(partMngService.getPartMngList(request,paramMap));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", list);
if("excel".equals(actionType)){
page ="/partMng/partMngListExcel";
}
return page;
}
/**
* PART 배포 목록 - PART 배포 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/partMngGridList.do")
public Map getPartMngGridListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
String search = CommonUtils.checkNull(paramMap.get("search"));
if("0".equals(searchRevision)){
paramMap.put("IS_LAST","");
}else if("1".equals(searchRevision)){
paramMap.put("IS_LAST",searchRevision);
}
if("Y".equals(search)){
commonService.selectListPagingNew("partMng.partMngGridList", request, paramMap);
}
return paramMap;
}
/**
* 설계변경 PART 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/partMngChangeGridListPaging.do")
public Map partMngChangeGridListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
/*
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
String search = CommonUtils.checkNull(paramMap.get("search"));
if("0".equals(searchRevision)){
paramMap.put("IS_LAST","");
}else if("1".equals(searchRevision)){
paramMap.put("IS_LAST",searchRevision);
}
*/
ArrayList<Map> resultList = commonService.selectListPagingNew("partMng.partMngChangeGridList", request, paramMap);
//설변용 part정보 신규 생성
List<Map> resultList2 = new ArrayList<Map>();
if(CommonUtils.isNotEmpty(resultList) && !resultList.isEmpty()) {
int idx = 0;
String newPartObjId = "";
String beforePartObjId = "";
for (Map map : resultList) {
if(idx == 0) { //맨 위파트만(대표)
partMngService.setChangeDesignPartInfo(request, paramMap, map);
newPartObjId = CommonUtils.checkNull(map.get("OBJID"));
beforePartObjId = CommonUtils.checkNull(map.get("OBJID_ORG")); //CommonUtils.createObjId();
}else {
//나머지는 대표 NEW OBJID로 교체
map.put("OBJID", newPartObjId);
map.put("OBJID_ORG", beforePartObjId);
}
//break; //맨 위파트만(대표)
idx++;
resultList2.add(map);
}
}
paramMap.remove("RESULTLIST");
paramMap.put("RESULTLIST", resultList2);
return paramMap;
}
/**
* 설계변경 PART 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngChangeList.do")
public String partMngChangeList(HttpServletRequest request, @RequestParam Map paramMap){
String page ="/partMng/partMngChangeList";
Map code_map = new HashMap();
List list = new ArrayList();
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
String search = CommonUtils.checkNull(paramMap.get("search"));
try {
/*
if("0".equals(searchRevision)){
paramMap.put("IS_LAST","");
}else if("1".equals(searchRevision)){
paramMap.put("IS_LAST",searchRevision);
}
*/
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)paramMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)paramMap.get("CHANGE_TYPE"),"common.getCodeselect"));
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
if("Y".equals(search)){
//list = CommonUtils.keyChangeUpperList(partMngService.getPartMngList(request,paramMap));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", list);
if("excel".equals(actionType)){
page ="/partMng/partMngChangeListExcel";
}
return page;
}
/**
* PART 조회 팝업 호출
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngListPopUp.do")
public String partMngListPopUp(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
List list = new ArrayList();
String search = CommonUtils.checkNull(paramMap.get("search"));
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
try {
if("0".equals(searchRevision)){
paramMap.put("IS_LAST","");
}else if("1".equals(searchRevision)){
paramMap.put("IS_LAST",searchRevision);
}
// paramMap.put("isPagingYN","N"); //no paging
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
if("Y".equals(search)){
// list = CommonUtils.keyChangeUpperList(partMngService.getPartMngList(request,paramMap));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
// request.setAttribute("LIST", list);
return "/partMng/partMngListPopUp";
}
/**
* 발주관리_발주관리 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/partMngListPaging.do")
public Map partMngListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
//List list = commonService.selectListPaging("purchaseOrder.deliveryMngList_new", request, paramMap);
commonService.selectListPagingNew("partMng.partMngList", request, paramMap);
return paramMap;
}
/**
* PART Form PopUp
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngFormPopUp.do")
public String partMngUpdateFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
Map code_map = new HashMap();
//String [] arrCHANGE_OPTION = null;
//String CHANGE_OPTION ="";
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
String actionType = CommonUtils.checkNull(paramMap.get("ACTION_TYPE"));
try{
paramMap.put("objId",objId);
if("changeDesign".equals(actionType)){
resultMap = CommonUtils.keyChangeUpperMap(partMngService.setChangeDesignPartInfo(request, paramMap));
//CHANGE_OPTION = CommonUtils.nvl((String)resultMap.get("CHANGE_OPTION"),"");
//if(!"".equals(CHANGE_OPTION)){
// arrCHANGE_OPTION = CHANGE_OPTION.split(",");
//}
//설변항목 코드
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
String REVISION = CommonUtils.checkNull(resultMap.get("REVISION"));
if(REVISION.equals("RE")){
resultMap.put("REVISION", "A");
}else{
resultMap.put("REVISION", CommonUtils.getNextRevision(REVISION));
}
}else{
if(!"".equals(objId)){
resultMap = CommonUtils.keyChangeUpperMap(partMngService.getPartMngInfo(request,paramMap));
//CHANGE_OPTION = CommonUtils.nvl((String)resultMap.get("CHANGE_OPTION"),"");
//if(!"".equals(CHANGE_OPTION)){
// arrCHANGE_OPTION = CHANGE_OPTION.split(",");
//}
//설변항목 코드
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
code_map.put("SUPPLY_CODE",commonService.bizMakeOptionList("", (String)resultMap.get("SUPPLY_CODE"),"common.getmatersupplyselect"));
}else{
objId = CommonUtils.createObjId();
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
code_map.put("SUPPLY_CODE",commonService.bizMakeOptionList("", "","common.getmatersupplyselect"));
resultMap.put("OBJID", objId);
resultMap.put("STATUS", "create");
}
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("resultMap", resultMap);
return "/partMng/partMngFormPopUp";
}
/**
* PART Detail PopUp
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngDetailPopUp.do")
public String partMngDetailPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
Map code_map = new HashMap();
String [] arrCHANGE_OPTION = null;
String CHANGE_OPTION ="";
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
try{
if(!"".equals(objId)){
resultMap = CommonUtils.keyChangeUpperMap(partMngService.getPartMngInfo(request,paramMap));
/* CHANGE_OPTION = CommonUtils.nvl((String)resultMap.get("CHANGE_OPTION"),"");
if(!"".equals(CHANGE_OPTION)){
arrCHANGE_OPTION = CHANGE_OPTION.split(",");
}*/
//설변항목 코드
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
}else{
objId = CommonUtils.createObjId();
//설변항목 코드
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
resultMap.put("OBJID", objId);
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("resultMap", resultMap);
return "/partMng/partMngDetailPopUp";
}
/**
* PART Detail PopUp
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngHisDetailPopUp.do")
public String partMngHisDetailPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
Map code_map = new HashMap();
String [] arrCHANGE_OPTION = null;
String CHANGE_OPTION ="";
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
try{
if(!"".equals(objId)){
resultMap = CommonUtils.keyChangeUpperMap(partMngService.getPartMngInfo(request,paramMap));
/* CHANGE_OPTION = CommonUtils.nvl((String)resultMap.get("CHANGE_OPTION"),"");
if(!"".equals(CHANGE_OPTION)){
arrCHANGE_OPTION = CHANGE_OPTION.split(",");
}*/
//설변항목 코드
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
}else{
objId = CommonUtils.createObjId();
//설변항목 코드
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("PARENT_PART_NO",commonService.bizMakeOptionList("", (String)resultMap.get("PARENT_PART_NO"),"common.getPartNoselect"));
//code_map.put("CHANGE_OPTION",commonService.bizMakeCheckBoxMultiList("0000318","CHANGE_OPTION",arrCHANGE_OPTION,"common.getCodeselect"));
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)resultMap.get("CHANGE_OPTION"),"common.getCodeselect"));
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)resultMap.get("CHANGE_TYPE"),"common.getCodeselect"));
resultMap.put("OBJID", objId);
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("resultMap", resultMap);
return "/partMng/partMngHisDetailPopUp";
}
/**
* Part 중복체크
*/
@RequestMapping("/partMng/overlapPartMng.do")
public String overlapPartMngCheck(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
List list = partMngService.overlapPartMng(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonArray(list));
return "/ajax/ajaxResult";
}
/**
* Part 저장
*/
@RequestMapping("/partMng/savePartMng.do")
public String savePartMng(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
resultMap = partMngService.savePartMng(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* Part 저장(설계변경 PART조회)
*/
@RequestMapping("/partMng/savePartMngChangeList.do")
@ResponseBody
public Map savePartMngChangeList(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
resultMap = partMngService.savePartMngChangeList(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return resultMap;
}
/**
* Part 배포
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngDeploy.do")
public String partMngDeploy(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = partMngService.partMngDeploy(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* Part 삭제
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngDelete.do")
public String partMngDelete(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = partMngService.partMngDelete(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* 파트조회(ajax)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getPartMngList_ajax.do")
public String getPartList_ajax(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
paramMap.put("status", "complete");
System.out.println("getPArtList_ajax paramMap : "+paramMap);
paramMap.put("IS_LAST","1");
//paramMap.put("STATUS", "release");
List list = partMngService.getToConnectPartMngList(request, paramMap);
//List list = CommonUtils.keyChangeUpperList(partMngService.getPartMngList(request,paramMap));
request.setAttribute("RESULT", CommonUtils.getJsonArray(list));
return "/ajax/ajaxResult";
}
/**
* Excel을 이용한 Part 등록 팝업을 호출한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/openPartExcelImportPopUp.do")
public String openPartExcelImportPopUp(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
SqlSession sqlSession = null;
Map code_map = new HashMap();
//Map bomContractInfo = new HashMap();
//Map bomInfo = new HashMap();
Map sqlParam = new HashMap();
//List resultList = null;
//List multiMasterList = new ArrayList();
//List regiestSameContractUnitNameBomList = new ArrayList();
String objid="";
try{
objid = CommonUtils.createObjId();
/*
code_map.put("customer_cd",commonService.bizMakeOptionList("", (String)paramMap.get("customer_cd"),"common.getsupplyselect"));
code_map.put("project_name",commonService.bizMakeOptionList("", (String)paramMap.get("project_name"),"common.getProjectNameList"));
code_map.put("unit_code",commonService.bizMakeOptionList((String)paramMap.get("unit_code"), (String)paramMap.get("unit_code"),"common.getBomCodeList"));
sqlSession = SqlMapConfig.getInstance().getSqlSession();
Map sqlMap = new HashMap();
String unitCode = CommonUtils.checkNull(paramMap.get("unit_code"));
sqlMap.put("unitCode", unitCode);
Map unitInfoMap = (HashMap)sqlSession.selectOne("common.getUnitCodeList", sqlMap);
//String unitName = CommonUtils.checkNull(unitInfoMap.get("name")).replaceAll("\u00A0+", " ");
String UNIT_NAME = CommonUtils.checkNull(unitInfoMap.get("name"));
sqlParam.put("customer_cd", CommonUtils.checkNull(paramMap.get("customer_cd")));
//sqlParam.put("project_name", CommonUtils.checkNull(paramMap.get("project_name")));
sqlParam.put("unit_name_eq", UNIT_NAME);
regiestSameContractUnitNameBomList = partMngService.getBOMStandardStructureList(request, sqlParam);
*/
//paramMap.put("product_code",(String)paramMap.get("product_code"));
//info = partMngService.getBOMStructureRev(request,paramMap);
//bomContractInfo = partMngService.getBOMContractinfo(request,paramMap);
Map param = new HashMap();
param.put("parentCodeId", "0000062");
code_map.put("part_type", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택"));
/*
//unit
param.put("parentCodeId", "0000059");
code_map.put("unit_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택"));
code_map.put("sup_code", commonService.getJqGridSelectBoxJsonData("common.getmatersupplyselect", param, "선택"));
// bomInfo = partMngService.getBOMStructureStandardInfo(request, paramMap);
// if(bomInfo == null) bomInfo = new HashMap();
// String BOM_REPORT_OBJID = CommonUtils.checkNull(paramMap.get("BOM_REPORT_OBJID"), (String)bomInfo.get("OBJID"));
//if("".equals(BOM_REPORT_OBJID)){
//}
//if(!"".equals(BOM_REPORT_OBJID)){
if(bomInfo != null && StringUtils.isNotBlank(BOM_REPORT_OBJID)) {
//resultList = partMngService.getStructureAscendingList(request,paramMap);
sqlParam.put("OBJID", BOM_REPORT_OBJID);
resultList = partMngService.getBOMPartTreeList(sqlParam);
//partMngService.getBOMStructureStandardInfo(request, paramMap);
}else {
//신규등록일 때만 보이게
}
multiMasterList = commonService.selectList("purchaseOrder.selectPurchaseOrderMasterList", request, paramMap);
//동시발주용 정보
request.setAttribute("multiMasterList", multiMasterList);
request.setAttribute("regiestSameContractUnitNameBomList", regiestSameContractUnitNameBomList); //동일 계약에 동일유닛네임으로 저장된 bom list
*/
request.setAttribute("code_map",code_map);
request.setAttribute("objid",objid);
//request.setAttribute("bomInfo",bomInfo);
//request.setAttribute("resultList",resultList);
//request.setAttribute("info",bomContractInfo);
//request.setAttribute("CUSTOMER_OBJID",(String)paramMap.get("customer_cd"));
//request.setAttribute("CONTRACT_OBJID",(String)paramMap.get("project_name"));
//request.setAttribute("UNIT_CODE",(String)paramMap.get("unit_code"));
}catch(Exception e){
e.printStackTrace();
}finally {
//sqlSession.close();
}
return "/partMng/openPartExcelImportPopUp";
}
/**
* 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partParsingExcelFile.do")
@ResponseBody
public ArrayList partParsingExcelFile(HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
ArrayList parsingPartList = new ArrayList();
try{
parsingPartList = (ArrayList)partMngService.partParsingExcelFile(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
//resultMap.put("RESULT", CommonUtils.getJsonArray(parsingPartList));
//parsingPartList = CommonUtils.getJsonArray(parsingPartList);
//request.setAttribute("RESULT", CommonUtils.getJsonArray(parsingPartList));
//return "/ajax/ajaxResult";
return parsingPartList;
}
/**
* 파트 저장(엑셀업로드)
*/
@RequestMapping("/partMng/partUploadSave.do")
@ResponseBody
public Map partUploadSave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
//String result = "";
try{
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId()));
partMngService.savePartByExcel(request, paramMap);
CommonUtils.setReqResult(request, "", "S", null, resultMap);
//result = "SUCCESS";
}catch(Exception e){
e.printStackTrace();
//result = "FAIL";
CommonUtils.setReqResult(request, "", "F", e, resultMap);
}
//return result;
return resultMap;
}
/**
* 구조등록 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/searchStructureList.do")
public String getStructureList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
List list = new ArrayList();
try {
list = partMngService.getBOMStandardStructureList(request, paramMap);
//code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
//고객사
code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_cd")),"common.getsupplyselect"));
//프로젝트명
code_map.put("project_name",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_name")),"common.getCusProjectNoList"));
//프로젝트명
code_map.put("unit_code",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("unit_code")),"common.getUnitCodeList"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("LIST", list);
return "/partMng/structureList";
}
/**
* 구조등록 - 구조등록 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/searchStructureGridList.do")
public Map getBOMStandardStructureGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("partMng.getBOMStandardStructureGridList", request, paramMap);
return paramMap;
}
/**
* 구조등록 (기본정보 선택 팝업)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/setStructureStandardFormPopup.do")
public String structureStandardFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String product_code = CommonUtils.checkNull((String)paramMap.get("param_product_code"));
//String product_mgmt_spec = CommonUtils.checkNull((String)paramMap.get("param_product_mgmt_spec"));
//String upg_no = CommonUtils.checkNull((String)paramMap.get("param_upg_no"));
paramMap.put("product_code",product_code);
Map info = partMngService.getBOMStructureRev(request,paramMap);
request.setAttribute("info", info);
request.setAttribute("product_code", product_code);
//request.setAttribute("product_mgmt_spec", product_mgmt_spec);
//request.setAttribute("upg_no", upg_no);
return "/partMng/structureStandardFormPopup";
}
/**
* BOM COPY (기본정보 선택 팝업)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/setBomCopyFormPopup.do")
public String setBomCopyFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String product_code = CommonUtils.checkNull((String)paramMap.get("param_product_code"));
//String product_mgmt_spec = CommonUtils.checkNull((String)paramMap.get("param_product_mgmt_spec"));
//String upg_no = CommonUtils.checkNull((String)paramMap.get("param_upg_no"));
Map code_map = new HashMap();
try{
//projectNo
code_map.put("rev",commonService.bizMakeOptionList(product_code,"","common.getRevNoselect"));
code_map.put("product_code",commonService.bizMakeOptionList(product_code,"","common.getProductNoselect"));
request.setAttribute("code_map",code_map);
request.setAttribute("product_code", product_code);
}catch(Exception e){
e.printStackTrace();
}
return "/partMng/structureBomCopyFormPopup";
}
/**
* bom copy 저장
*/
@RequestMapping("/partMng/saveBomCopy.do")
@ResponseBody
public String saveBomCopySave(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()));
partMngService.saveBomCopySave(request, paramMap);
result = "SUCCESS";
}catch(Exception e){
e.printStackTrace();
result = "FAIL";
}
return result;
}
/**
* BOM 상세정보
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/setStructurePopupMainFS.do")
public String setStructurePopupMainFS(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
paramMap.put("writer", person.getUserId());
Map info = partMngService.getBOMStructureStandardInfo(request,paramMap);
request.setAttribute("info", info);
return "/partMng/structurePopupHeaderFs";
}
@RequestMapping("/partMng/structureHeaderPopup.do")
public String structureHeaderPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/partMng/structurePopupTop";
}
@RequestMapping("/partMng/structureBottomPopupFS.do")
public String structureBottomPopupFS(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/partMng/structurePopupFs";
}
/**
* 구조등록 하단 프레임
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structureBtnAreaPopup.do")
public String structureBtnAreaPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/partMng/structureBtnAreaPopup";
}
/**
* 구조등록 좌측 프레임
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structurePopupLeft.do")
public String structurePopupLeft(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
int MAX_LEVEL = 0;
Map info = new HashMap();
List bomTreeList = null;
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
ArrayList list = new ArrayList();
try{
info = partMngService.getBOMStructureStandardInfo(request,paramMap);
info.put("actionType", actionType); //241206 added
bomTreeList = partMngService.getBOMPartTreeList(info);
if(null != bomTreeList && 0 < bomTreeList.size()){
HashMap LEVLMap = (HashMap)bomTreeList.get(0);
MAX_LEVEL = (Integer)LEVLMap.get("MAX_LEVEL");
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("MAXLEV", MAX_LEVEL);
request.setAttribute("info", info);
request.setAttribute("tree", bomTreeList);
return "/partMng/structurePopupLeft"+("excel".equals(actionType) ? "Excel" : "");
}
@RequestMapping("/partMng/structurePopupCenter.do")
public String structurePopupCenter(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map code_map = new HashMap();
Map info = new HashMap();;
try {
info = partMngService.getBOMStructureStandardInfo(request,paramMap);
//설변사유
code_map.put("CHANGE_OPTION",commonService.bizMakeOptionList("0000318", (String)paramMap.get("change_option"),"common.getCodeselect"));
//설변구분
code_map.put("CHANGE_TYPE",commonService.bizMakeOptionList("0001054", (String)paramMap.get("change_type"),"common.getCodeselect"));
//담당자
//code_map.put("writer_id", commonService.bizMakeOptionList("", (String)paramMap.get("writer_id"),"common.getUserselect"));
//PART구분
//code_map.put("part_type",commonService.bizMakeOptionList(Constants.PART_TYPE_CODE, (String)paramMap.get("part_type"),"common.getCodeselect"));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
request.setAttribute("info", info);
request.setAttribute("code_map",code_map);
return "/partMng/structurePopupCenter";
}
/**
* 구조등록 우측 프레임
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structurePopupRight.do")
public String structurePopupRight(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map info = new HashMap();
try{
paramMap.put("SEARCH_OBJID", paramMap.get("objId"));
List list = partMngService.getBOMStandardStructureList(request, paramMap);
if(list != null && list.size()>0){
info = (Map)list.get(0);
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("info", info);
return "/partMng/structurePopupRight";
}
/**
* 최상위레벨에 같은 Part No가 있는지 체크.
* @param request
* @param paramMap
* @param rightCheckedArr
* @return
*/
@RequestMapping("/partMng/checkSameTopPartNo.do")
public String checkSameTopPartNo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap, @RequestParam(value = "rightCheckedArr[]") List<String> rightCheckedArr){
boolean result = partMngService.hasSameTopPartNo(paramMap, rightCheckedArr);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* 우측의 Part를 선택후, 하위정보를 포함해 삭제한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/deletePartRelateInfo.do")
public String deletePartRelateInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
boolean result = partMngService.deletePartRelateInfo(paramMap);
//if(result) partService.deleteDummyBOMData(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* 우측의 Part를 선택후, 하위정보를 포함해 삭제한다.(231211 new version)
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/deleteStatusPartRelateInfo.do")
public String deleteStatusPartRelateInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
boolean result = partMngService.deleteStatusPartRelateInfo(request, paramMap);
//if(result) partService.deleteDummyBOMData(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* 우측의 Part를 선택후, 좌측에 선택한 Part에 연결한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/relatePartInfo.do")
public String relatePartInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap, @RequestParam(value = "rightCheckedArr[]") List<String> rightCheckedArr){
Map info = partMngService.getBOMStructureStandardInfo(request,paramMap);
paramMap.put("regionObjId", CommonUtils.checkNull(info.get("REGION_OBJID")));
boolean result = partMngService.relatePartInfo(request, paramMap, rightCheckedArr);
//if(result) partService.deleteDummyBOMData(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* 구조등록 수량 변경 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structureQtySave.do")
public String structureQtySave(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
boolean result = partMngService.structureQtySave(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* 정전개 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structureAscendingList.do")
public String structureAscendingList(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
List resultList = null;
String search = CommonUtils.checkNull(paramMap.get("search"));
try{
//code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("search_product_mgmt_objId"),"common.getProductCodeselect"));
//고객사
code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_cd")),"common.getsupplyselect"));
//프로젝트
code_map.put("project_name",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_name")),"common.getCusProjectNoList"));
//유닛명
code_map.put("unit_code",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("unit_code")),"common.getUnitCodeList"));
if("Y".equals(search)){
resultList = partMngService.getStructureAscendingList(request,paramMap);
}
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("List",resultList);
return "/partMng/structureAscendingList";
}
/**
* 정전개 - 정전개 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/selectStructureAscendingGridList.do")
public Map getSelectStructureAscendingGridListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("partMng.selectStructureAscendingList", request, paramMap);
return paramMap;
}
@RequestMapping("/partMng/structureAscendingExcelList.do")
public String structureAscendingExcelList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/partMng/structureAscendingListExcel";
}
/**
* 정전개 멀티 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping(" /partMng/structureAscendingMultiList.do")
public String structureAscendingMultiList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/partMng/structureAscendingMultiList";
}
/**
* 정전개 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getStructureAscendingMultiList.do")
public String getStructureAscendingMultiList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
List listVC = partMngService.getStructureAscendingMultiListVC(request,paramMap);
List resultList = partMngService.getStructureAscendingMultiList(request,paramMap,listVC);
String data = "[";
ArrayList<String> dataArr = CommonUtils.getJsonArray(resultList);
for(int i=0; i<dataArr.size(); i++){
if(i>0){ data += ","; }
data += dataArr.get(i);
}
data +="]";
String data_vc = "[";
ArrayList<String> dataVcArr = CommonUtils.getJsonArray(listVC);
for(int i=0; i<dataVcArr.size(); i++){
if(i>0){ data_vc += ","; }
data_vc += dataVcArr.get(i);
}
data_vc +="]";
request.setAttribute("RESULT", "{\"DATA\":"+data+", \"DATA_VC\":"+data_vc+"}");
return "/ajax/ajaxResult";
}
/**
* 정전개 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getStructureAscendingMultiListExcel.do")
public String getStructureAscendingMultiListExcel(HttpServletRequest request, @RequestParam Map paramMap){
System.out.println("request :: " + request);
System.out.println("paramMap :: " + paramMap);
List listVC = partMngService.getStructureAscendingMultiListVC(request,paramMap);
List resultList = partMngService.getStructureAscendingMultiList(request,paramMap,listVC);
System.out.println("resultList :: " + resultList);
System.out.println("listVC :: " + listVC);
System.out.println("request :: " + request);
System.out.println("paramMap :: " + paramMap);
String data = "[";
ArrayList<String> dataArr = CommonUtils.getJsonArray(resultList);
for(int i=0; i<dataArr.size(); i++){
if(i>0){ data += ","; }
data += dataArr.get(i);
}
data +="]";
String data_vc = "[";
ArrayList<String> dataVcArr = CommonUtils.getJsonArray(listVC);
for(int i=0; i<dataVcArr.size(); i++){
if(i>0){ data_vc += ","; }
data_vc += dataVcArr.get(i);
}
data_vc +="]";
System.out.println("data ::" + data );
System.out.println("data_vc :: " + data_vc );
request.setAttribute("RESULT", "{\"DATA\":"+data+", \"DATA_VC\":"+data_vc+"}");
request.setAttribute("resultList", resultList);
request.setAttribute("listVC", listVC);
request.setAttribute("paramMap", paramMap);
return "/partMng/getStructureAscendingMultiListExcel";
}
/**
* 정전개 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getStructureAscendingList.do")
public String getStructureAscendingList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
List resultList = partMngService.getStructureAscendingList(request,paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonArray(resultList));
return "/ajax/ajaxResult";
}
/**
* 정전개 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getStructureAscendingListExcel.do")
public String getStructureAscendingListExcel(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
List resultList = partMngService.getStructureAscendingList(request,paramMap);
System.out.println("paramMap ::: "+ paramMap);
request.setAttribute("paramMap", paramMap);
request.setAttribute("resultList", resultList);
return "/partMng/getstructureAscendingListExcel";
}
/**
* 역전개 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structureDescendingList.do")
public String structureDescendingList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/partMng/structureDescendingList";
}
/**
* 정전개 목록을 가져온다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getStructureDescendingList.do")
public String getStructureDescendingList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
List resultList = partMngService.getStructureDescendingList(request,paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonArray(resultList));
return "/ajax/ajaxResult";
}
/**
* 선택된 구조등록을 삭제한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/deleteStructure.do")
public String deleteStructure(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = partMngService.deleteStructure(request,paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* 선택된 구조등록을 배포한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/deployStructure.do")
public String deployStructure(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = partMngService.deployStructure(request,paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
return "/ajax/ajaxResult";
}
/**
* BOM 배포사유 입력 popup
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/changeDesignNotePopUp.do")
public String changeDesignNotePopUp(HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
try{
/*resultMap = service.getFundMgmtInfo(request,paramMap);
request.setAttribute("resultMap", resultMap);*/
}catch(Exception e){
e.printStackTrace();
}
return "/partMng/changeDesignNotePopUp";
}
/**
* BOM 배포사유 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/saveChangeDesignInfo.do")
public String saveChangeDesignInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
boolean result = partMngService.saveChangeDesignInfo(paramMap);
Map resultMap = partMngService.deployStructure(request,paramMap);
request.setAttribute("RESULTMAP", CommonUtils.getJsonMap(resultMap));
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* 제품 사양 리스트
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/getPartBomList수정전.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<upgCodeList.size();i++){
List TempList = new ArrayList();
Map temp_map = new HashMap();
HashMap codeMap = (HashMap)upgCodeList.get(i);
HashMap param = new HashMap();
param.put("code", (String)codeMap.get("UPG_CODE"));
param.put("product_code", (String)paramMap.get("product_code"));
temp_map.put("UPG_NAME", (String)codeMap.get("UPG_NAME"));
temp_map.put("UPG_CODE", (String)codeMap.get("UPG_CODE"));
temp_map.put("CODE_ID", (String)codeMap.get("CODE_ID"));
//코드값으로 하나씩가져오기
upgNoList = productMgmtService.getUpgOneMatrixList(request,param);
for(int j=0;j<upgNoList.size();j++){
HashMap upgMap = (HashMap)upgNoList.get(j);
temp_map.put("UPG_NO"+j, (String)upgMap.get("UPG_NO"));
}
System.out.println("temp_map ---->"+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<productUpgNoList.size();i++){
if(upgSize % (i+1) ==0){
System.out.println("123123213");
}
Map sqlmap = new HashMap();
HashMap masterMap = (HashMap)productUpgNoList.get(i);
masterMap.put("Asdasd"+"123", masterMap.get("Asdasd"));
}
}
}*/
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", productUpgNoList);
request.setAttribute("productList", productList);
request.setAttribute("productListCnt", productList.size());
}catch(Exception e){
e.printStackTrace();
}
return "/partMng/partBomList";
}
/**
* BOM조회(정전개)
*/
@RequestMapping("/partMng/getPartBomList.do")
public String getProductMgntUpgList(HttpServletRequest request, @RequestParam Map paramMap){
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
String returnUrl = "/partmgmt/structureAscendingListNew";
Map code_map = new HashMap();
List resultList =null;
if("excel".equals(actionType)){
returnUrl = "/partmgmt/structureAscendingListNewExcel";
}
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
String status = CommonUtils.checkNull(paramMap.get("STATUS"));
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
try {
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
} catch (Exception e) {
e.printStackTrace();
}
if("0".equals(searchRevision)){
paramMap.put("IS_LAST","");
paramMap.put("STATUS","release");
}else if("1".equals(searchRevision)){
paramMap.put("IS_LAST",searchRevision);
paramMap.put("STATUS","release");
}
List list = null;
if(!"".equals(actionType)){
list = CommonUtils.keyChangeUpperList(partMgmtService.structureAscendingList(request,paramMap));
}
request.setAttribute("code_map", code_map);
request.setAttribute("LIST", list);
return returnUrl;
}
/**
* Excel을 이용한BOM REPORT 등록 팝업을 호출한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/openBomReportExcelImportPopUp.do")
public String openBomReportExcelImportPopUp(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
SqlSession sqlSession = null;
Map code_map = new HashMap();
Map bomContractInfo = new HashMap();
Map bomInfo = new HashMap();
Map sqlParam = new HashMap();
List resultList = null;
List multiMasterList = new ArrayList();
List regiestSameContractUnitNameBomList = new ArrayList();
String objid="";
try{
objid = CommonUtils.createObjId();
code_map.put("customer_cd",commonService.bizMakeOptionList("", (String)paramMap.get("customer_cd"),"common.getsupplyselect"));
code_map.put("project_name",commonService.bizMakeOptionList("", (String)paramMap.get("project_name"),"common.getProjectNameList"));
code_map.put("unit_code",commonService.bizMakeOptionList((String)paramMap.get("unit_code"), (String)paramMap.get("unit_code"),"common.getBomCodeList"));
sqlSession = SqlMapConfig.getInstance().getSqlSession();
Map sqlMap = new HashMap();
String unitCode = CommonUtils.checkNull(paramMap.get("unit_code"));
sqlMap.put("unitCode", unitCode);
Map unitInfoMap = (HashMap)sqlSession.selectOne("common.getUnitCodeList", sqlMap);
//String unitName = CommonUtils.checkNull(unitInfoMap.get("name")).replaceAll("\u00A0+", " ");
String UNIT_NAME = CommonUtils.checkNull(unitInfoMap.get("name"));
sqlParam.put("customer_cd", CommonUtils.checkNull(paramMap.get("customer_cd")));
//sqlParam.put("project_name", CommonUtils.checkNull(paramMap.get("project_name")));
sqlParam.put("unit_name_eq", UNIT_NAME);
regiestSameContractUnitNameBomList = partMngService.getBOMStandardStructureList(request, sqlParam);
//paramMap.put("product_code",(String)paramMap.get("product_code"));
//info = partMngService.getBOMStructureRev(request,paramMap);
bomContractInfo = partMngService.getBOMContractinfo(request,paramMap);
Map param = new HashMap();
//unit
param.put("parentCodeId", "0000059");
code_map.put("unit_cd", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택"));
param.put("parentCodeId", "0000062");
code_map.put("part_type", commonService.getJqGridSelectBoxJsonData("common.getCodeList2", param, "선택"));
code_map.put("sup_code", commonService.getJqGridSelectBoxJsonData("common.getmatersupplyselect", param, "선택"));
bomInfo = partMngService.getBOMStructureStandardInfo(request, paramMap);
if(bomInfo == null) bomInfo = new HashMap();
String BOM_REPORT_OBJID = CommonUtils.checkNull(paramMap.get("BOM_REPORT_OBJID"), (String)bomInfo.get("OBJID"));
//if("".equals(BOM_REPORT_OBJID)){
//}
//if(!"".equals(BOM_REPORT_OBJID)){
if(bomInfo != null && StringUtils.isNotBlank(BOM_REPORT_OBJID)) {
//resultList = partMngService.getStructureAscendingList(request,paramMap);
sqlParam.put("OBJID", BOM_REPORT_OBJID);
resultList = partMngService.getBOMPartTreeList(sqlParam);
//partMngService.getBOMStructureStandardInfo(request, paramMap);
}else {
//신규등록일 때만 보이게
}
multiMasterList = commonService.selectList("purchaseOrder.selectPurchaseOrderMasterList", request, paramMap);
//동시발주용 정보
request.setAttribute("multiMasterList", multiMasterList);
request.setAttribute("regiestSameContractUnitNameBomList", regiestSameContractUnitNameBomList); //동일 계약에 동일유닛네임으로 저장된 bom list
request.setAttribute("code_map",code_map);
request.setAttribute("bomInfo",bomInfo);
request.setAttribute("resultList",resultList);
request.setAttribute("info",bomContractInfo);
request.setAttribute("objid",objid);
request.setAttribute("CUSTOMER_OBJID",(String)paramMap.get("customer_cd"));
request.setAttribute("CONTRACT_OBJID",(String)paramMap.get("project_name"));
request.setAttribute("UNIT_CODE",(String)paramMap.get("unit_code"));
}catch(Exception e){
e.printStackTrace();
}finally {
sqlSession.close();
}
return "/partMng/openBomReportExcelImportPopUp";
}
/**
* 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/parsingExcelFile.do")
@ResponseBody
public ArrayList parsingExcelFile(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
ArrayList parsingPartList = new ArrayList();
try{
parsingPartList = (ArrayList)partMngService.parsingExcelFile(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
//resultMap.put("RESULT", CommonUtils.getJsonArray(parsingPartList));
//parsingPartList = CommonUtils.getJsonArray(parsingPartList);
//request.setAttribute("RESULT", CommonUtils.getJsonArray(parsingPartList));
//return "/ajax/ajaxResult";
return parsingPartList;
}
/**
* BOM 파트&구조 저장
*/
@RequestMapping("/partMng/partBomApplySave.do")
@ResponseBody
public Map partBomApplySave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
Map resultMap = new HashMap();
//String result = "";
try{
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId()));
partMngService.savePartBomMaster(request, paramMap);
CommonUtils.setReqResult(request, "", "S", null, resultMap);
//result = "SUCCESS";
}catch(Exception e){
e.printStackTrace();
//result = "FAIL";
CommonUtils.setReqResult(request, "", "F", e, resultMap);
}
//return result;
return resultMap;
}
/**
* 구조등록 순번 변경 저장
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/structureSeqSave.do")
public String structureSeqSave(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
boolean result = partMngService.structureSeqSave(paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
/**
* PART 배포 목록
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/partMngDeployList.do")
public String partMngDeployList(HttpServletRequest request, @RequestParam Map paramMap){
String page ="/partMng/partMngDeployList";
Map code_map = new HashMap();
List list = new ArrayList();
String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
String search = CommonUtils.checkNull(paramMap.get("search"));
try {
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
if("Y".equals(search)){
list = CommonUtils.keyChangeUpperList(partMngService.partMngDeployList(request,paramMap));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", list);
return page;
}
@ResponseBody
@RequestMapping("/partMng/getPartLinkedBomContractList.do")
public Map<String, Object> getPartLinkedBomContractList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map result_map = new HashMap();
try {
result_map.put("RESULT", partMngService.getPartLinkedBomContractList(paramMap));
} catch (Exception e) {
e.printStackTrace();
}
return result_map;
}
@RequestMapping("/partMng/partMngHisList.do")
public String partMngHisList(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
List list = new ArrayList();
try {
//당사프로젝트번호 project_no
code_map.put("contract_objid",commonService.bizMakeOptionList("", (String)paramMap.get("contract_objid"),"common.getProjectNameList"));
//설변사유
code_map.put("change_option",commonService.bizMakeOptionList("0000318", (String)paramMap.get("change_option"),"common.getCodeselect"));
//설변구분
code_map.put("change_type",commonService.bizMakeOptionList("0001054", (String)paramMap.get("change_type"),"common.getCodeselect"));
//담당자
code_map.put("writer_id", commonService.bizMakeOptionList("", (String)paramMap.get("writer_id"),"common.getUserselect"));
//PART구분
code_map.put("part_type",commonService.bizMakeOptionList(Constants.PART_TYPE_CODE, (String)paramMap.get("part_type"),"common.getCodeselect"));
//paramMap.put("STATUS_NQ", "create");
//paramMap.put("SEARCH_TYPE", "CHANGE_LIST");
list = commonService.selectListPaging("partMng.partMngHistList", request, paramMap);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
request.setAttribute("code_map",code_map);
request.setAttribute("LIST", JsonUtil.ListToJson(list));
return "/partMng/partMngHisList";
}
/**
* 설계변경리스트 - 설계변경리스트 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/partMng/partMngHisGridList.do")
public Map getPartMngHisGridListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("partMng.partMngHistList", request, paramMap);
return paramMap;
}
@RequestMapping("/partMng/deleteBomByAdmin.do")
@ResponseBody
public String deleteBomByAdmin(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
String result = "";
SqlSession sqlSession = null;
Map sqlMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
if(person != null)
paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId()));
String pObjid = (String)paramMap.get("objId");
String pCheckArr = (String)paramMap.get("checkArr");
String checkArr[] = (CommonUtils.checkNull(pCheckArr, pObjid)).split(",");
if(null == checkArr || 0 == checkArr.length){
checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr"));
}
if(null != checkArr && 0 < checkArr.length){
//Map sqlParamMap = new HashMap();
//sqlParamMap.put("checkArr",checkArr);
// for (String objid : checkArr) {
// paramMap.put("OBJID", objid);
// paramMap.put("SEARCH_BOM_OBJID", objid);
// if(StringUtils.isBlank(objid)) {
// System.out.println("objid is null");
// //return "";
// }else {
if(checkArr.length == 1) {
//sqlMap.put("OBJID", checkArr[0]);
}else {
}
sqlMap.put("checkArr", checkArr);
// Map info = partMngService.getBOMStructureStandardInfo(request,sqlMap);
// System.out.println(info);
// if(info != null && !info.isEmpty()) {
//백업
sqlSession.insert("partMng.bak_insertDelPartBom", sqlMap);
sqlSession.insert("partMng.bak_insertDelPartMng", sqlMap);
sqlSession.insert("partMng.bak_insertDelPartQty", sqlMap);
//삭제
sqlSession.delete("partMng.deletePartBom", sqlMap);
sqlSession.delete("partMng.deletePartMng", sqlMap);
sqlSession.delete("partMng.deletePartQty", sqlMap);
// }
// }
// }
}
sqlSession.commit();
result = "SUCCESS";
}catch(Exception e){
e.printStackTrace();
result = "FAIL";
sqlSession.rollback();
}finally {
//sqlSession.close();
}
return result;
}
/**
* BOM objid기준으로 대상 파트에 도면파일 붙이기
* ※ 도면 있는거는 중복으로 붙으니 주의
*/
//@RequestMapping(value="/partMng/partFileAttach.do", method=RequestMethod.POST)
@RequestMapping("/partMng/partFileAttach.do")
@ResponseBody
public String partFileAttach(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
String result = "";
SqlSession sqlSession = null;
Map sqlMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
if(person != null)
paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId()));
String objid = (String)paramMap.get("objId");
paramMap.put("OBJID", objid);
paramMap.put("SEARCH_BOM_OBJID", objid);
String qtyObjId = (String)paramMap.get("qtyObjId");
if(StringUtils.isBlank(objid)) {
System.out.println("objid is null");
return "";
}
Map info = partMngService.getBOMStructureStandardInfo(request,paramMap);
System.out.println(info);
/*
String contracObjid = CommonUtils.checkNull(paramMap.get("CONTRACT_OBJID"));
sqlMap.put("OBJID", contracObjid);
Map<String,Object> projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", sqlMap);
String projectNo = (String)projectInfo.get("project_no");
String unitCode = CommonUtils.checkNull(paramMap.get("UNIT_CODE"));
sqlMap.put("unitCode", unitCode);
Map unitInfoMap = (HashMap)sqlSession.selectOne("common.getUnitCodeList", sqlMap);
String unitName = CommonUtils.checkNull(unitInfoMap.get("name")).replaceAll("\u00A0+", " ");
*/
String projectNo = CommonUtils.checkNull(info.get("PROJECT_NO2"));
String unitName = CommonUtils.checkNull(info.get("UNIT_NAME")).replaceAll("\u00A0+", " ");
byte[] utf8Bytes = unitName.getBytes("UTF-8");
String utf8unitName = new String(utf8Bytes, "UTF-8");
String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\";
String filepathFull = filepath+projectNo+File.separator+unitName+File.separator;
System.out.println("filepathFull:"+filepathFull);
ArrayList<Map> list = commonService.selectList("partMng.partMngListByBom", request, paramMap);
//List list = partMngService.getPartMngList(request, paramMap);
for (Map resultMap : list) {
System.out.println(resultMap);
//if(1==1) continue;
String part_objid = "";
String part_no = "";
if(null!=resultMap){
part_objid = CommonUtils.checkNull((String)resultMap.get("OBJID"));
part_no = CommonUtils.checkNull((String)resultMap.get("PART_NO"));
//sqlMap.put("objId", part_objid);
//Map selFileMap = commonService.getFileInfo(sqlMap);
//기등록 파일 조회(있으면 pass)
sqlMap.put("targetObjId", part_objid);
sqlMap.put("fileSizeNot0", "fileSizeNot0"); //fileSize > 0
List selFileList = commonService.getFileList(sqlMap);
if(selFileList != null && !selFileList.isEmpty()) {
System.out.println("File already exists!!!");
continue;
}
Map fileMap = new HashMap();
fileMap.put("FILE_PATH",filepathFull);
fileMap.put("WRITER", CommonUtils.checkNull((String)paramMap.get("CONNECTUSERID"), "plmAdmin"));
//dwg
fileMap.put("OBJID", CommonUtils.createObjId());
fileMap.put("TARGET_OBJID", part_objid);
fileMap.put("SAVED_FILE_NAME", part_no+".dwg");
fileMap.put("REAL_FILE_NAME",part_no+".dwg");
fileMap.put("DOC_TYPE" ,"2D_DRAWING_CAD");
fileMap.put("DOC_TYPE_NAME","2D(Drawing) CAD 첨부파일");
fileMap.put("FILE_SIZE","167941");
fileMap.put("FILE_EXT","DWG");
System.out.println("fileMap --->"+ fileMap);
System.out.println(filepathFull+part_no+".dwg");
File file = new File(filepathFull+part_no+".dwg");
System.out.println("file --->"+ file.getName());
System.out.println("checkBeforeFile(file)" +checkBeforeFile(file));
if(checkBeforeFile(file)){
//첨부저장이 존재 할때만 DWG 저장
sqlSession.insert("partMng.insertpartfileInfo", fileMap);
}
//pdf
file = new File(filepathFull+part_no+".pdf");
if(checkBeforeFile(file)){
fileMap.isEmpty();
//첨부저장이 존재 할때만 PDF 저장
fileMap.put("OBJID", CommonUtils.createObjId());
fileMap.put("TARGET_OBJID", part_no);
fileMap.put("SAVED_FILE_NAME", part_no+".pdf");
fileMap.put("REAL_FILE_NAME",part_no+".pdf");
fileMap.put("DOC_TYPE" ,"2D_PDF_CAD");
fileMap.put("DOC_TYPE_NAME","2D(PDF) CAD 첨부파일");
fileMap.put("FILE_SIZE","167941");
fileMap.put("FILE_EXT","PDF");
//첨부저장이 존재 할때만 DWG 저장
sqlSession.insert("part.insertpartfileInfo", fileMap);
}
}else{
}
}
sqlSession.commit();
result = "SUCCESS";
}catch(Exception e){
e.printStackTrace();
result = "FAIL";
}
return result;
}
static boolean checkBeforeFile(File file){
//파일이 존재하고
if(file.exists()){
//그 파일이 파일이고, 읽을 수 있다면 true를 리턴한다.
if(file.isFile() && file.canRead()){
return true;
}
}
return false;
}
/**
* 자재코드 존재확인
*/
@RequestMapping("/partMng/existPartNoCheck.do")
public String existPartNoCheck(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
List list = partMngService.existPartNoCheck(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonArray(list));
return "/ajax/ajaxResult";
}
/**
* 우측의 Part를 선택후, 좌측에 선택한 Part로 변경한다.
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/partMng/changeRelatePartInfo.do")
public String changeRelatePartInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
boolean result = partMngService.changeRelatePartInfo(request, paramMap);
request.setAttribute("RESULT", CommonUtils.getJsonString("result", String.valueOf(result)));
return "/ajax/ajaxResult";
}
}