feat: 견적관리 기능 추가 및 검색조건 확장

- 견적요청등록 팝업 신규 개발 (estimateRegistFormPopup.jsp)
  * S/N 관리 기능 (개별 추가, 연속번호 생성)
  * 유/무상, 품번, 품명, 수량, 환율 등 필드 추가
  * actionType=view 시 닫기 버튼만 표시
- 견적관리 리스트 검색조건 추가
  * 주문유형, 제품구분, 국내/해외, 고객사
  * 유/무상, 품번, 품명, S/N
  * 접수일, 요청납기일 기간 검색
  * 결재상태
- 결재상신 버튼 기능 수정
- 결재 상태 컬럼 추가 및 결재 상세 팝업 연동
- contractBase SQL에 견적관리 필드 추가
This commit is contained in:
2025-10-15 14:28:20 +09:00
parent 8e9c6170bb
commit c3c86ae9cf
6 changed files with 1850 additions and 17 deletions

View File

@@ -1550,4 +1550,217 @@ public class ContractMgmtController {
}
return resultMap;
}
/**
* 견적관리 리스트
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/contractMgmt/estimateList_new.do")
public String estimateList_new(HttpServletRequest request, @RequestParam Map paramMap){
//List list = contractMgmtService.getcontractList(request,paramMap);
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
Map code_map = new HashMap();
String returnUrl ="/contractMgmt/estimateList_new";
try{
if("excel".equals(actionType)){
returnUrl = "/contractMgmt/contractListExcel";
}
//구분
code_map.put("category_cd" , commonService.bizMakeOptionList("0000167", CommonUtils.nullToEmpty((String)paramMap.get("category_cd")) , "common.getCodeselect"));
//고객사
code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장
//진행상황
code_map.put("status_cd" , commonService.bizMakeOptionList("0000932", CommonUtils.nullToEmpty((String)paramMap.get("status_cd")) , "common.getCodeselect"));
//결과
code_map.put("result_cd", commonService.bizMakeOptionList("0000963", CommonUtils.nullToEmpty((String)paramMap.get("result_cd")), "common.getCodeselect"));
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM
request.setAttribute("code_map",code_map);
request.setAttribute("actionType",actionType);
//request.setAttribute("LIST", list);
}catch(Exception e){
e.printStackTrace();
}
return returnUrl;
}
/**
* 견적관리 - 견적관리 목록 페이징
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/contractMgmt/estimateGridList.do")
public Map getestimateListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
commonService.selectListPagingNew("contractMgmt.estimateGridList", request, paramMap);
return paramMap;
}
/**
* 견적요청등록 Form
* @param request
* @param paramMap
* @return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@RequestMapping("/contractMgmt/estimateRegistFormPopup.do")
public String estimateRegistFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
String objId = CommonUtils.checkNull(paramMap.get("objId"));
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
Map code_map = new HashMap();
ArrayList list = new ArrayList();
try{
String category_cd = ""; //구분
String customer_cd = ""; //고객사
String product_cd = ""; //제품구분
String status_cd = ""; //진행상황
String facility = ""; //설비방향
String bus_cal_cd = ""; //영업구분
String category1_cd = ""; //구분1
String result_cd = ""; //수주결과
String pm_user_id =""; //PM
String chg_user_id ="";//담당자
String contract_result ="";//검토결과
String contract_company ="";//수주회사
String manufacture_plant ="";//제작공장
String spec_user_id ="";//사양담당자
String spec_result_cd ="";//사양결과
String est_user_id ="";//제작공장
String est_result_cd ="";//제작공장
String area_cd ="";//제작공장
String contract_currency ="";//통화
String target_project_no ="";//대상프로젝트번호
String mechanical_type ="";//기계형식
String overhaul_order ="";//오버홀차수
Map info = null;
if(paramMap.get("objId")!=null){
paramMap.put("objId",objId);
info = CommonUtils.keyChangeUpperMap(contractMgmtService.getContractMgmtInfo(paramMap));
category_cd = CommonUtils.nullToEmpty((String)info.get("CATEGORY_CD"));
customer_cd = CommonUtils.nullToEmpty((String)info.get("CUSTOMER_OBJID"));
product_cd = CommonUtils.nullToEmpty((String)info.get("PRODUCT"));
status_cd = CommonUtils.nullToEmpty((String)info.get("STATUS_CD"));
facility = CommonUtils.nullToEmpty((String)info.get("FACILITY"));
bus_cal_cd = CommonUtils.nullToEmpty((String)info.get("BUS_CAL_CD"));
category1_cd = CommonUtils.nullToEmpty((String)info.get("CATEGORY1_CD"));
result_cd = CommonUtils.nullToEmpty((String)info.get("RESULT_CD"));
pm_user_id= CommonUtils.nullToEmpty((String)info.get("PM_USER_ID"));
chg_user_id= CommonUtils.nullToEmpty((String)info.get("CHG_USER_ID"));
contract_result = CommonUtils.nullToEmpty((String)info.get("CONTRACT_RESULT"));
contract_company = CommonUtils.nullToEmpty((String)info.get("CONTRACT_COMPANY"));
manufacture_plant = CommonUtils.nullToEmpty((String)info.get("MANUFACTURE_PLANT"));
spec_result_cd = CommonUtils.nullToEmpty((String)info.get("SPEC_RESULT_CD"));
spec_user_id = CommonUtils.nullToEmpty((String)info.get("SPEC_USER_ID"));
est_user_id = CommonUtils.nullToEmpty((String)info.get("EST_USER_ID"));
est_result_cd = CommonUtils.nullToEmpty((String)info.get("EST_RESULT_CD"));
area_cd = CommonUtils.nullToEmpty((String)info.get("AREA_CD"));
contract_currency = CommonUtils.nullToEmpty((String)info.get("CONTRACT_CURRENCY"));
target_project_no = CommonUtils.nullToEmpty((String)info.get("TARGET_PROJECT_NO"));
mechanical_type = CommonUtils.nullToEmpty((String)info.get("MECHANICAL_TYPE"));
overhaul_order = CommonUtils.nullToEmpty((String)info.get("OVERHAUL_ORDER"));
}
if("".equals(objId)) objId = CommonUtils.createObjId();
//구분
code_map.put("category_cd" , commonService.bizMakeOptionList("0000167", category_cd , "common.getCodeselect"));
//고객사
code_map.put("customer_cd",commonService.bizMakeOptionList("", customer_cd,"common.getsupplyselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", product_cd,"common.getCodeselect")); //공장
//진행상황
code_map.put("status_cd" , commonService.bizMakeOptionList("0000932", status_cd , "common.getCodeselect"));
//설비방향
code_map.put("facility" , commonService.bizMakeOptionList("0000959", facility , "common.getCodeselect"));
//영업구분
code_map.put("bus_cal_cd" , commonService.bizMakeOptionList("0000967", bus_cal_cd , "common.getCodeselect"));
//구분1
//code_map.put("category1_cd", commonService.bizMakeOptionList("0000942", category1_cd, "common.getCodeselect"));
//검토결과
code_map.put("result_cd", commonService.bizMakeOptionList("0001107", result_cd, "common.getCodeselect"));
//검토결과
code_map.put("spec_result_cd", commonService.bizMakeOptionList("0001107", spec_result_cd, "common.getCodeselect"));
//검토결과
code_map.put("est_result_cd", commonService.bizMakeOptionList("0001107", est_result_cd, "common.getCodeselect"));
//계약담당자
code_map.put("chg_user_id", commonService.bizMakeOptionList("", chg_user_id, "common.getUserselect")); //구매 PM
//계약담당자
code_map.put("spec_user_id", commonService.bizMakeOptionList("", spec_user_id, "common.getUserselect")); //구매 PM
//계약담당자
code_map.put("est_user_id", commonService.bizMakeOptionList("", est_user_id, "common.getUserselect")); //구매 PM
//PM
code_map.put("pm_user_id", commonService.bizMakeOptionList("", pm_user_id, "common.getUserselect")); //구매 PM
//수주결과
code_map.put("contract_result", commonService.bizMakeOptionList("0000963", contract_result, "common.getCodeselect"));
//수주회사
code_map.put("contract_company", commonService.bizMakeOptionList("0001098", contract_company, "common.getCodeselect"));
//제작공장
code_map.put("manufacture_plant", commonService.bizMakeOptionList("0001101", manufacture_plant, "common.getCodeselect"));
//해외.국내
code_map.put("area_cd", commonService.bizMakeOptionList("0001219", area_cd, "common.getCodeselect"));
//통화
code_map.put("contract_currency", commonService.bizMakeOptionList("0001533", contract_currency, "common.getCodeselect"));
//당사프로젟트번호
code_map.put("project_no",commonService.bizMakeOptionList("", target_project_no,"common.getCusProjectNoList"));
//기계형식
code_map.put("mechanical_type", commonService.bizMakeOptionList("", mechanical_type,"common.getMechanicalTypeList"));
request.setAttribute("code_map",code_map);
request.setAttribute("info", info);
request.setAttribute("objId", objId);
request.setAttribute("actionType", actionType);
}catch(Exception e){
e.printStackTrace();
}
return "/contractMgmt/estimateRegistFormPopup";
}
@RequestMapping("/contractMgmt/saveEstimateInfo.do")
public String saveEstimateInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
try {
request.setAttribute("RESULT", CommonUtils.getJsonMap(contractMgmtService.saveContractMgmtInfo(request, paramMap)) );
} catch (Exception e) {
e.printStackTrace();
}
return "/ajax/ajaxResult";
}
}