feat: 견적관리 메일 발송 기능 추가 및 UI 개선

- 견적서 메일 발송 API 추가 (ContractMgmtController, ContractMgmtService)
- 견적관리 리스트에 메일 발송 상태 및 발송일시 컬럼 추가
- 메일 내용을 견적서 형식과 동일하게 변경 (품목 테이블 포함)
- 메일 제목에 영업번호 및 OBJID 포함하여 발송 이력 추적 가능
- 견적서 템플릿: 단가/금액 콤마 표시 기능 추가
- 견적서 템플릿: 비고 컬럼 너비 확대
- S/N 모달창 텍스트 색상 개선 (가독성 향상)
- 견적서 수정 시 특정 템플릿만 업데이트되도록 SQL 쿼리 수정
This commit is contained in:
2025-10-16 13:24:08 +09:00
parent 1b84bee342
commit 546e8e8e02
7 changed files with 583 additions and 58 deletions

View File

@@ -1933,4 +1933,36 @@ public class ContractMgmtController {
return resultMap;
}
/**
* 견적서 메일 발송 (AJAX)
* @param request
* @param paramMap - objId (CONTRACT_OBJID)
* @return
*/
@ResponseBody
@RequestMapping(value="/contractMgmt/sendEstimateMail.do", method=RequestMethod.POST)
public Map sendEstimateMail(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
Map resultMap = new HashMap();
try {
String objId = CommonUtils.checkNull(paramMap.get("objId"));
if("".equals(objId) || "-1".equals(objId)){
resultMap.put("result", "error");
resultMap.put("message", "잘못된 요청입니다.");
return resultMap;
}
// 메일 발송 서비스 호출
resultMap = contractMgmtService.sendEstimateMail(request, paramMap);
} catch (Exception e) {
e.printStackTrace();
resultMap.put("result", "error");
resultMap.put("message", "메일 발송 중 오류가 발생했습니다: " + e.getMessage());
}
return resultMap;
}
}