품의서 개발 & DB에 저장된 메뉴명 표시

This commit is contained in:
2025-11-27 17:26:06 +09:00
parent 25ddce6480
commit ef9a6d2ac1
9 changed files with 722 additions and 121 deletions

View File

@@ -17,6 +17,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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;
@@ -24,6 +25,7 @@ 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;
@@ -1300,4 +1302,90 @@ public class SalesMngController {
request.setAttribute("code_map", code_map);
return "/salesMng/proposalFormPopUp";
}
/**
* 품의서 생성 (JSP에서 호출)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/salesMng/createProposal.do")
public Map createProposal(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
try {
resultMap = salesMngService.createProposal(request, paramMap);
} catch (Exception e) {
e.printStackTrace();
resultMap.put("resultFlag", "F");
resultMap.put("message", "품의서 생성 중 오류가 발생했습니다: " + e.getMessage());
}
return resultMap;
}
/**
* 품의서 대상 품목 조회 (JSP에서 호출)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/salesMng/getProposalTargetParts.do")
public Map getProposalTargetParts(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try {
sqlSession = SqlMapConfig.getInstance().getSqlSession();
String salesRequestMasterObjid = CommonUtils.checkNull(paramMap.get("SALES_REQUEST_MASTER_OBJID"));
// Service의 공통 메서드 사용
Map partsInfo = salesMngService.getProposalTargetPartsWithInfo(sqlSession, salesRequestMasterObjid);
List<Map> targetParts = (List<Map>)partsInfo.get("targetParts");
if(targetParts != null && !targetParts.isEmpty()) {
resultMap.put("resultFlag", "S");
resultMap.put("data", targetParts);
} else {
resultMap.put("resultFlag", "F");
resultMap.put("message", "품의서 생성 대상 품목이 없습니다.\n(단가가 입력되고 품의서가 생성되지 않은 품목만 가능)");
}
} catch (Exception e) {
e.printStackTrace();
resultMap.put("resultFlag", "F");
resultMap.put("message", "품목 조회 중 오류가 발생했습니다: " + e.getMessage());
} finally {
if(sqlSession != null) sqlSession.close();
}
return resultMap;
}
/**
* 품의서 대상 품목 미리보기 (JSP에서 호출 - 별칭)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/salesMng/getProposalTargetPartsForPreview.do")
public Map getProposalTargetPartsForPreview(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return getProposalTargetParts(request, paramMap);
}
/**
* 품의서 생성 실행 (JSP에서 호출)
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/salesMng/createProposalFromPurchaseList.do")
public Map createProposalFromPurchaseList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return createProposal(request, paramMap);
}
}