- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
291 lines
10 KiB
Java
291 lines
10 KiB
Java
package com.pms.controller;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
import com.pms.common.JsonUtil;
|
|
import com.pms.common.Message;
|
|
import com.pms.common.bean.PersonBean;
|
|
import com.pms.common.utils.CommonUtils;
|
|
import com.pms.common.utils.Constants;
|
|
import com.pms.salesmgmt.service.SalesMngService;
|
|
import com.pms.service.AdminService;
|
|
import com.pms.service.ApprovalService;
|
|
import com.pms.service.CommonService;
|
|
import com.pms.service.PartMngService;
|
|
import com.pms.service.ProcurStandMgmtService;
|
|
import com.pms.service.PurchaseOrderService;
|
|
|
|
@Controller
|
|
public class ProcurStandMgmtController {
|
|
|
|
@Autowired
|
|
CommonService commonService;
|
|
|
|
@Autowired
|
|
PurchaseOrderService purchaseOrderService;
|
|
|
|
@Autowired
|
|
SalesMngService salesMngService;
|
|
|
|
@Autowired
|
|
ApprovalService approvalService;
|
|
|
|
@Autowired
|
|
AdminService adminService;
|
|
|
|
@Autowired
|
|
ProcurStandMgmtService procurStandMgmtService;
|
|
|
|
/**
|
|
* 구매품 표준관리_대분류
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/mainCategoryList.do")
|
|
public String mainCategoryList(HttpServletRequest request, @RequestParam Map paramMap){
|
|
ArrayList list = new ArrayList();
|
|
Map code_map = new HashMap();
|
|
Map menuMap = new HashMap();
|
|
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
|
|
String search_category = CommonUtils.checkNull(paramMap.get("search_category"));
|
|
String categoryCode = "0001667";
|
|
|
|
try{
|
|
ArrayList<HashMap<String, Object>> menuList = adminService.getmenuUp(request, paramMap);
|
|
if(menuList != null && menuList.size() > 1){
|
|
menuMap = menuList.get(1);
|
|
}
|
|
|
|
//구분
|
|
code_map.put("code_name",commonService.bizMakeOptionList(search_category, (String)paramMap.get("code_name"),"common.getStdCodeNameList","search_category"));
|
|
//코드
|
|
code_map.put("code_id",commonService.bizMakeOptionList(search_category, (String)paramMap.get("code_id"),"common.getStdCodeIDList","search_category"));
|
|
|
|
code_map.put("category" ,commonService.bizMakeOptionList(categoryCode, search_category,"common.getCodeselect"));
|
|
code_map.put("search_category", (String)paramMap.get("search_category"));
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("code_map",code_map);
|
|
request.setAttribute("menuMap", menuMap);
|
|
|
|
return "/procurStandMgmt/mainCategoryList";
|
|
}
|
|
/**
|
|
* 구매품 표준관리_대분류
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/procurStandMgmt/mainCategoryGridList.do")
|
|
public Map mainCategoryGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
commonService.selectListPagingNew("procurStandMgmt.mainCategoryGridList", request, paramMap);
|
|
return paramMap;
|
|
}
|
|
|
|
/**
|
|
* 대분류(CODE1) 등록 팝업 호출
|
|
* @param request
|
|
* @return
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/code1RegistFormPopUp.do")
|
|
public String openCode1RegistFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
HashMap codeInfo = new HashMap();
|
|
|
|
try{
|
|
codeInfo = (HashMap)procurStandMgmtService.getCodeInfo(request, paramMap);
|
|
|
|
if(codeInfo.isEmpty()){
|
|
codeInfo.put("OBJID", CommonUtils.createObjId());
|
|
codeInfo.put("STATUS", "create");
|
|
}else{
|
|
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("codeInfo", codeInfo);
|
|
|
|
return "/procurStandMgmt/code1RegistFormPopUp";
|
|
}
|
|
|
|
/**
|
|
* 대분류(CODE1) 저장
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/procurStandMgmt/saveCODE1Info.do")
|
|
public Map saveCODE1Info(HttpServletRequest request, @RequestParam Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
try{
|
|
resultMap = procurStandMgmtService.saveCODE1Info(request,paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
System.out.println("resultMap:"+resultMap);
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 대분류(CODE1) 삭제한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/deleteCODE1Info.do")
|
|
public String deleteCODE1Info(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
resultMap = procurStandMgmtService.deleteCODE1Info(request, paramMap);
|
|
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
|
|
return "/ajax/ajaxResult";
|
|
}
|
|
|
|
/**
|
|
* 구매품 표준 중복체크
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/overlapStandardMng.do")
|
|
public String overlapStandardMngCheck(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
|
|
List list = procurStandMgmtService.overlapStandardMng(request, paramMap);
|
|
request.setAttribute("RESULT", CommonUtils.getJsonArray(list));
|
|
return "/ajax/ajaxResult";
|
|
}
|
|
|
|
/**
|
|
* 구매품 표준관리_자재코드 리스트
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/materialCodeList.do")
|
|
public String materialCodeList(HttpServletRequest request, @RequestParam Map paramMap){
|
|
ArrayList list = new ArrayList();
|
|
Map code_map = new HashMap();
|
|
Map menuMap = new HashMap();
|
|
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
|
|
String search_category = CommonUtils.checkNull(paramMap.get("search_category"));
|
|
String categoryCode = "0001667";
|
|
|
|
try{
|
|
ArrayList<HashMap<String, Object>> menuList = adminService.getmenuUp(request, paramMap);
|
|
if(menuList != null && menuList.size() > 1){
|
|
menuMap = menuList.get(1);
|
|
}
|
|
|
|
//구분
|
|
code_map.put("code_name",commonService.bizMakeOptionList(search_category, (String)paramMap.get("code_name"),"common.getStdCodeNameList","search_category"));
|
|
//코드
|
|
code_map.put("code_id",commonService.bizMakeOptionList(search_category, (String)paramMap.get("code_id"),"common.getStdCodeIDList","search_category"));
|
|
|
|
code_map.put("category" ,commonService.bizMakeOptionList(categoryCode, search_category,"common.getCodeselect"));
|
|
code_map.put("search_category", (String)paramMap.get("search_category"));
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("code_map",code_map);
|
|
request.setAttribute("menuMap", menuMap);
|
|
|
|
return "/procurStandMgmt/materialCodeList";
|
|
}
|
|
/**
|
|
* 구매품 표준관리_대분류
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/procurStandMgmt/materialCodeGridList.do")
|
|
public Map materialCodeGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
commonService.selectListPagingNew("procurStandMgmt.materialCodeGridList", request, paramMap);
|
|
return paramMap;
|
|
}
|
|
|
|
/**
|
|
* 자재코드 등록 팝업 호출
|
|
* @param request
|
|
* @return
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/materialCodeFormPopUp.do")
|
|
public String openMaterialCodeFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
HashMap materialCodeInfo = new HashMap();
|
|
Map code_map = new HashMap();
|
|
|
|
try{
|
|
materialCodeInfo = (HashMap)procurStandMgmtService.getMaterialCodeInfo(request, paramMap);
|
|
|
|
code_map.put("code1",commonService.bizMakeOptionList("0001668", (String)materialCodeInfo.get("CODE_ID1"),"common.getStdCodeNameList","search_category", false, "CODE", "NAME", new String []{"code_id","name"}));
|
|
code_map.put("code2",commonService.bizMakeOptionList("0001669", (String)materialCodeInfo.get("CODE_ID2"),"common.getStdCodeNameList","search_category", false, "CODE", "NAME", new String []{"code_id","name"}));
|
|
code_map.put("code3",commonService.bizMakeOptionList("0001670", (String)materialCodeInfo.get("CODE_ID3"),"common.getStdCodeNameList","search_category", false, "CODE", "NAME", new String []{"code_id","name"}));
|
|
code_map.put("code4",commonService.bizMakeOptionList("0001671", (String)materialCodeInfo.get("CODE_ID4"),"common.getStdCodeNameList","search_category", false, "CODE", "NAME", new String []{"code_id","name"}));
|
|
code_map.put("code5",commonService.bizMakeOptionList("0001672", (String)materialCodeInfo.get("CODE_ID5"),"common.getStdCodeNameList","search_category", false, "CODE", "NAME", new String []{"code_id","name"}));
|
|
|
|
if(materialCodeInfo.isEmpty()){
|
|
materialCodeInfo.put("OBJID", CommonUtils.createObjId());
|
|
materialCodeInfo.put("STATUS", "create");
|
|
}else{
|
|
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("resultMap", materialCodeInfo);
|
|
request.setAttribute("code_map",code_map);
|
|
|
|
return "/procurStandMgmt/materialCodeFormPopUp";
|
|
}
|
|
|
|
/**
|
|
* 자재코드 중복체크
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/overlapMaterialCode.do")
|
|
public String overlapMaterialCodeCheck(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
|
|
List list = procurStandMgmtService.overlapMaterialCode(request, paramMap);
|
|
request.setAttribute("RESULT", CommonUtils.getJsonArray(list));
|
|
return "/ajax/ajaxResult";
|
|
}
|
|
|
|
/**
|
|
* 자재코드 저장
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/saveMaterialCode.do")
|
|
public String saveMaterialCode(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
resultMap = procurStandMgmtService.saveMaterialCode(request, paramMap);
|
|
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
|
|
return "/ajax/ajaxResult";
|
|
}
|
|
|
|
/**
|
|
* 자재코드를 삭제한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/procurStandMgmt/deleteMaterialCode.do")
|
|
public String deleteMaterialCode(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
resultMap = procurStandMgmtService.deleteMaterialCode(request, paramMap);
|
|
request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
|
|
return "/ajax/ajaxResult";
|
|
}
|
|
}
|