품의서 양식 개발, 입고관리 등...

This commit is contained in:
2025-12-02 15:10:41 +09:00
parent f97399d45b
commit 4c1967cd63
10 changed files with 1133 additions and 73 deletions

View File

@@ -1276,12 +1276,24 @@ public class SalesMngController {
public String proposalFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
Map code_map = new HashMap();
ArrayList approvalList = new ArrayList();
List<Map> partList = new ArrayList();
try {
String proposalObjId = CommonUtils.checkNull(paramMap.get("PROPOSAL_OBJID"));
if(!"".equals(proposalObjId)){
resultMap = commonService.selectOne("salesMng.getProposalInfo", request, paramMap);
// 결재 정보 조회
Map approvalParam = new HashMap();
approvalParam.put("OBJID", proposalObjId);
approvalList = approvalService.getApprovalLine(request, approvalParam);
// 품의서 품목 리스트 조회
Map partParam = new HashMap();
partParam.put("PROPOSAL_OBJID", proposalObjId);
partList = commonService.selectList("salesMng.getProposalPartList", request, partParam);
} else {
resultMap.put("OBJID", CommonUtils.createObjId());
resultMap.put("STATUS", "create");
@@ -1293,6 +1305,8 @@ public class SalesMngController {
code_map.put("order_type", commonService.bizMakeOptionList("0001822", (String)resultMap.get("ORDER_TYPE"), "common.getCodeselect"));
// 제품구분
code_map.put("product_name", commonService.bizMakeOptionList("0000016", (String)resultMap.get("PRODUCT_NAME"), "common.getCodeselect"));
// 단위 코드 목록 (UNIT_CD: 단위)
code_map.put("unit_list", commonService.bizMakeOptionList("0001399", "", "common.getCodeselect"));
} catch (Exception e) {
e.printStackTrace();
@@ -1300,6 +1314,8 @@ public class SalesMngController {
request.setAttribute("resultMap", resultMap);
request.setAttribute("code_map", code_map);
request.setAttribute("approvalList", approvalList);
request.setAttribute("partList", partList);
return "/salesMng/proposalFormPopUp";
}
@@ -1388,4 +1404,47 @@ public class SalesMngController {
public Map createProposalFromPurchaseList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return createProposal(request, paramMap);
}
/**
* 품의서 저장 (마스터 + 품목)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/salesMng/saveProposal.do")
public Map saveProposal(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try {
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
// 1. 마스터 정보 저장
sqlSession.update("salesMng.updateProposalMaster", paramMap);
// 2. 품목 정보 저장 (JSON 배열로 전달받음)
String partListJson = CommonUtils.checkNull(paramMap.get("PART_LIST"));
if(!"".equals(partListJson)) {
List<Map<String, Object>> partList = JsonUtil.JsonToList(partListJson);
for(Map part : partList) {
sqlSession.update("salesMng.updateProposalPart", part);
}
}
sqlSession.commit();
resultMap.put("resultFlag", "S");
resultMap.put("message", "저장되었습니다.");
} catch (Exception e) {
if(sqlSession != null) sqlSession.rollback();
e.printStackTrace();
resultMap.put("resultFlag", "F");
resultMap.put("message", "저장 중 오류가 발생했습니다: " + e.getMessage());
} finally {
if(sqlSession != null) sqlSession.close();
}
return resultMap;
}
}