메일작성 변경

This commit is contained in:
2025-11-10 12:21:30 +09:00
parent 9aafeb3def
commit a9836b599b
4 changed files with 954 additions and 298 deletions

View File

@@ -2125,6 +2125,115 @@ public class ContractMgmtController {
return resultMap;
}
/**
* 견적서 메일 작성 팝업
* @param request
* @param paramMap - contractObjId
* @return
*/
@RequestMapping("/contractMgmt/estimateMailFormPopup.do")
public String estimateMailFormPopup(HttpServletRequest request, @RequestParam Map paramMap){
return "/contractMgmt/estimateMailFormPopup";
}
/**
* 계약 정보 조회 (메일 발송용) (AJAX)
* @param request
* @param paramMap - objId (CONTRACT_OBJID)
* @return
*/
@ResponseBody
@RequestMapping(value="/contractMgmt/getContractInfoForMail.do", method=RequestMethod.POST)
public Map getContractInfoForMail(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
try {
String objId = CommonUtils.checkNull(paramMap.get("objId"));
if("".equals(objId)){
resultMap.put("result", "error");
resultMap.put("message", "계약 OBJID가 없습니다.");
return resultMap;
}
// 계약 정보 조회
Map contractInfo = contractMgmtService.getContractInfoForMail(paramMap);
if(contractInfo != null && !contractInfo.isEmpty()){
// Map 키를 대문자로 변환
contractInfo = CommonUtils.toUpperCaseMapKey(contractInfo);
resultMap.put("result", "success");
resultMap.put("contractInfo", contractInfo);
} else {
resultMap.put("result", "error");
resultMap.put("message", "계약 정보를 찾을 수 없습니다.");
}
} catch (Exception e) {
e.printStackTrace();
resultMap.put("result", "error");
resultMap.put("message", "계약 정보 조회 중 오류가 발생했습니다: " + e.getMessage());
}
return resultMap;
}
/**
* 견적서 메일 발송 (커스텀) (AJAX)
* @param request
* @param paramMap - objId, pdfSessionId, toEmails, ccEmails, subject, contents
* @return
*/
@ResponseBody
@RequestMapping(value="/contractMgmt/sendEstimateMailCustom.do", method=RequestMethod.POST)
public Map sendEstimateMailCustom(HttpServletRequest request,
@RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
try {
String objId = CommonUtils.checkNull(paramMap.get("objId"));
String toEmails = CommonUtils.checkNull(paramMap.get("toEmails"));
String subject = CommonUtils.checkNull(paramMap.get("subject"));
String contents = CommonUtils.checkNull(paramMap.get("contents"));
// 필수 파라미터 검증
if("".equals(objId)){
resultMap.put("result", "error");
resultMap.put("message", "계약 OBJID가 없습니다.");
return resultMap;
}
if("".equals(toEmails)){
resultMap.put("result", "error");
resultMap.put("message", "수신인이 없습니다.");
return resultMap;
}
if("".equals(subject)){
resultMap.put("result", "error");
resultMap.put("message", "제목이 없습니다.");
return resultMap;
}
if("".equals(contents)){
resultMap.put("result", "error");
resultMap.put("message", "내용이 없습니다.");
return resultMap;
}
// 메일 발송 서비스 호출
resultMap = contractMgmtService.sendEstimateMailCustom(request, paramMap);
} catch (Exception e) {
e.printStackTrace();
resultMap.put("result", "error");
resultMap.put("message", "메일 발송 중 오류가 발생했습니다: " + e.getMessage());
}
return resultMap;
}
/**
* 주문서관리 리스트