Files
wace_plm/src/com/pms/salesmgmt/controller/ProductAssemblyMgmtController.java
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- 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
2025-08-29 15:46:08 +09:00

434 lines
12 KiB
Java

/*
* CustomerMgmtController
*
* 1.0
*
* 2021.10.01
*
* Copyright ions
*/
package com.pms.salesmgmt.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
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.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.utils.CommonUtils;
import com.pms.salesmgmt.service.ProductAssemblyMgmtService;
import com.pms.salesmgmt.service.SalesMgmtCommonService;
/**
* <pre>
* 생산조립 Controller
* </pre>
* @since 2021.11.26
* @author min
* @version 1.0
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- --------------------------------------------------------
* 2021.11.26 민상익 최초작성
*
* </pre>
*
*/
@Controller
public class ProductAssemblyMgmtController {
/** 생산조립 Service */
@Autowired
private ProductAssemblyMgmtService productAssemblyMgmtService;
@Autowired
private SalesMgmtCommonService salesMgmtCommonService;
/**
* <pre>
* (초기) 생산 조립 리스트 목록 조회 Empty
* </pre>
* @param request
* @param paramMap - 계약관리 검색 정보
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@RequestMapping(value = "/productAssemblyMgmt/initProductAssemblyMgmt.do", method = RequestMethod.GET)
public String initProductAssemblyMgmt(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
String prWorkDt = request.getParameter("prWorkDt");
try {
if (StringUtils.isBlank(prWorkDt)) {
Date now = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
prWorkDt = formatter.format(now);
paramMap.put("prWorkDt", prWorkDt);
}
List<Map<String,Object>> list = productAssemblyMgmtService.initProductAssemblyMgmt(request, paramMap);
request.setAttribute("LIST", list);
request.setAttribute("prWorkDt", prWorkDt);
} catch(Exception e) {
e.printStackTrace();
}
return "/salesmgmt/productAssemblyMgmt/productAssemblyMgmtList";
}
/**
* <pre>
* 생산 조립 리스트 목록 조회
* </pre>
* @param request
* @param paramMap - 계약관리 검색 정보
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@RequestMapping(value = "/productAssemblyMgmt/productAssemblyMgmt.do", method = RequestMethod.GET)
public String getProductAssemblyMgmt(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
String prWorkDt = request.getParameter("prWorkDt");
try {
if (StringUtils.isBlank(prWorkDt)) {
Date now = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
prWorkDt = formatter.format(now);
paramMap.put("prWorkDt", prWorkDt);
}
List<Map<String,Object>> list = productAssemblyMgmtService.getProductAssemblyMgmt(request, paramMap); //생산조립리스트
List<Map<String,Object>> list2 = productAssemblyMgmtService.getIpgoRequestData(request, paramMap); //입고의뢰품목정보
request.setAttribute("LIST", list);
request.setAttribute("LIST2", list2);
request.setAttribute("prWorkDt", prWorkDt);
} catch(Exception e) {
e.printStackTrace();
}
return "/salesmgmt/productAssemblyMgmt/productAssemblyMgmtList";
}
/**
* <pre>
* 생산 조립 상세 조회
* </pre>
* @param session
* @param request
* @param paramMap - 고객관리 검색 정보
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@RequestMapping("/productAssemblyMgmt/productAssemblyMgmtFormPopup.do")
public String getProductAssemblyMap(HttpSession session
, HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
String pdLotNo = CommonUtils.checkNull(paramMap.get("pdLotNo"));
String pdCorseNo = CommonUtils.checkNull(paramMap.get("pdCorseNo"));
Map<String, Object> info = null;
try {
if(StringUtils.isNotBlank(pdLotNo) && StringUtils.isNotBlank(pdCorseNo) ) {
// 생산조립 조회
info = productAssemblyMgmtService.getProductAssemblyMap(paramMap);
} else {
info = new HashMap<String, Object>();
}
Map<String, Object> codeMap = new HashMap<String, Object>();
// 기종코드
codeMap.put("pdImItemList",
salesMgmtCommonService.bizMakeOptionList("", (String) info.get("PDITEMNO"), "salesMgmtCommon.getPdImItemList"));
// 공정코드
codeMap.put("pdCorseNoList",
salesMgmtCommonService.bizMakeOptionList("", (String) info.get("PDCORSENO"), "salesMgmtCommon.getIWcCorseNm"));
System.out.println("codeMap##################### " + codeMap);
List<Map<String,Object>> list = productAssemblyMgmtService.initProductAssemblyMgmt(request, paramMap);
System.out.println("info##################### " + info);
System.out.println("codeMap##################### " + codeMap);
System.out.println("list##################### " + list);
request.setAttribute("info", info);
request.setAttribute("codeMap", codeMap);
request.setAttribute("LIST", list);
} catch(Exception e) {
e.printStackTrace();
}
return "/salesmgmt/productAssemblyMgmt/productAssemblyMgmtFormPopup";
}
/**
* <pre>
* 생산 조립 저장
* </pre>
* @param session
* @param request
* @param paramMap - 고객관리 검색 정보
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@ResponseBody
@RequestMapping("/productAssemblyMgmt/saveProductAssemblyMgmt.do")
public Map<String, Object> saveProductAssemblyMgmt(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
resultMap.put("RESULT", productAssemblyMgmtService.saveProductAssemblyMgmt(request, paramMap));
} catch(Exception e) {
e.printStackTrace();
}
return resultMap;
}
/**
* <pre>
* 생산 조립 삭제
* </pre>
* @param session
* @param request
* @param paramMap -
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@ResponseBody
@RequestMapping("/productAssemblyMgmt/deleteProductAssemblyMgmt.do")
public Map<String, Object> deleteProductAssemblyMgmt(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
resultMap.put("RESULT", productAssemblyMgmtService.deleteProductAssemblyMgmt(request, paramMap));
} catch(Exception e) {
e.printStackTrace();
}
return resultMap;
}
/**
* <pre>
* 생산 조립 마스터 삭제
* </pre>
* @param session
* @param request
* @param paramMap -
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@ResponseBody
@RequestMapping("/productAssemblyMgmt/deleteProductAssemblyMgmtMaster.do")
public Map<String, Object> deleteProductAssemblyMgmtMaster(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
resultMap.put("RESULT", productAssemblyMgmtService.deleteProductAssemblyMgmt(request, paramMap));
resultMap.put("RESULT", productAssemblyMgmtService.deleteProductAssemblyMgmtMaster(request, paramMap));
} catch(Exception e) {
e.printStackTrace();
}
return resultMap;
}
/*
========================================================================================================================================
========================================================================================================================================
입고 자료 생성
========================================================================================================================================
========================================================================================================================================
*/
/**
* <pre>
* 입고의뢰자료 리스트 조회
* </pre>
* @param request
* @param paramMap - 계약관리 검색 정보
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.27 민상익 최초작성
*
* </pre>
*/
@RequestMapping(value = "/productAssemblyMgmt/ipgoRequestData.do", method = RequestMethod.GET)
public String getIpgoRequestData(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
try {
List<Map<String,Object>> list = productAssemblyMgmtService.getProductAssemblyMgmt(request, paramMap);
List<Map<String,Object>> list2 = productAssemblyMgmtService.getIpgoRequestData(request, paramMap);
request.setAttribute("LIST", list);
request.setAttribute("LIST2", list2);
} catch(Exception e) {
e.printStackTrace();
}
return "/salesmgmt/productAssemblyMgmt/productAssemblyMgmtList";
}
/**
* <pre>
* 입고의뢰자료 생성
* </pre>
* @param session
* @param request
* @param paramMap - 고객관리 검색 정보
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.28 민상익 최초작성
*
* </pre>
*/
@ResponseBody
@RequestMapping("/productAssemblyMgmt/saveIpgoRequestData.do")
public Map<String, Object> saveIpgoRequestData(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
resultMap.put("RESULT", productAssemblyMgmtService.saveIpgoRequestData(request, paramMap));
} catch(Exception e) {
e.printStackTrace();
}
return resultMap;
}
/**
* <pre>
* 입고의뢰자료 삭제
* </pre>
* @param session
* @param request
* @param paramMap -
* @return String
*
* <pre>
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* ---------------- --------------------- ----------------------------------------------------------
* 2021.11.29 민상익 최초작성
*
* </pre>
*/
@ResponseBody
@RequestMapping("/productAssemblyMgmt/deleteIpgoRequestData.do")
public Map<String, Object> deleteIpgoRequestData(HttpServletRequest request
, @RequestParam Map<String, Object> paramMap) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
resultMap.put("RESULT", productAssemblyMgmtService.deleteIpgoRequestData(request, paramMap));
} catch(Exception e) {
e.printStackTrace();
}
return resultMap;
}
}