견적서 없이 추가견적서만 있어도 메일 발송가능하게 수정
This commit is contained in:
@@ -282,21 +282,24 @@ $(document).ready(function(){
|
||||
var apprStatus = fnc_checkNull(selectedData[0].APPR_STATUS);
|
||||
var objId = fnc_checkNull(selectedData[0].OBJID);
|
||||
var estStatus = fnc_checkNull(selectedData[0].EST_STATUS);
|
||||
|
||||
var addEstCnt = parseInt(fnc_checkNull(selectedData[0].ADD_EST_CNT) || "0");
|
||||
|
||||
// 결재완료 또는 결재불필요 상태 확인
|
||||
if(apprStatus !== "결재완료" && apprStatus !== "결재불필요"){
|
||||
Swal.fire("결재완료 또는 결재불필요 상태의 견적서만 발송 가능합니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 견적서 존재 여부 확인
|
||||
if(estStatus === "0" || estStatus === 0){
|
||||
Swal.fire("작성된 견적서가 없습니다.");
|
||||
|
||||
// 견적서 존재 여부 확인 (기본 견적서 또는 추가견적 PDF 하나라도 있으면 발송 가능)
|
||||
var hasBaseEst = !(estStatus === "0" || estStatus === 0 || estStatus === "");
|
||||
var hasAddEst = addEstCnt > 0;
|
||||
if(!hasBaseEst && !hasAddEst){
|
||||
Swal.fire("작성된 견적서가 없습니다.<br>기본 견적서 또는 추가견적 PDF가 필요합니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// 메일 작성 팝업 열기
|
||||
fn_openMailFormPopup(objId);
|
||||
fn_openMailFormPopup(objId, hasBaseEst, hasAddEst);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -913,16 +916,22 @@ function fn_openAmaranthApproval(estObjId, contractNo) {
|
||||
}
|
||||
|
||||
// 메일 작성 팝업 열기
|
||||
function fn_openMailFormPopup(contractObjId){
|
||||
// hasBaseEst: 기본 견적서 존재 여부 (기본값: true)
|
||||
// hasAddEst: 추가견적 PDF 존재 여부 (기본값: false)
|
||||
function fn_openMailFormPopup(contractObjId, hasBaseEst, hasAddEst){
|
||||
if(!contractObjId || contractObjId === ''){
|
||||
Swal.fire("잘못된 요청입니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(typeof hasBaseEst === 'undefined') hasBaseEst = true;
|
||||
if(typeof hasAddEst === 'undefined') hasAddEst = false;
|
||||
|
||||
var popup_width = 950;
|
||||
var popup_height = 800;
|
||||
var url = "/contractMgmt/estimateMailFormPopup.do?contractObjId=" + contractObjId;
|
||||
|
||||
url += "&hasBaseEst=" + (hasBaseEst ? "Y" : "N");
|
||||
url += "&hasAddEst=" + (hasAddEst ? "Y" : "N");
|
||||
|
||||
window.open(url, "estimateMailForm", "width="+popup_width+",height="+popup_height+",menubar=no,scrollbars=yes,resizable=yes");
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
String connector = person.getUserId();
|
||||
String contractObjId = request.getParameter("contractObjId");
|
||||
String hasBaseEst = request.getParameter("hasBaseEst") != null ? request.getParameter("hasBaseEst") : "Y";
|
||||
String hasAddEst = request.getParameter("hasAddEst") != null ? request.getParameter("hasAddEst") : "N";
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -152,12 +154,19 @@ String contractObjId = request.getParameter("contractObjId");
|
||||
|
||||
<div class="pdf-status">
|
||||
<i class="fa fa-file-pdf-o"></i>
|
||||
<%if("N".equals(hasBaseEst) && "Y".equals(hasAddEst)){%>
|
||||
<strong>PDF 첨부:</strong> 추가견적 PDF가 첨부됩니다.
|
||||
<%}else if("Y".equals(hasBaseEst) && "Y".equals(hasAddEst)){%>
|
||||
<strong>PDF 첨부:</strong> 최종 차수 견적서 + 추가견적 PDF가 합본으로 첨부됩니다.
|
||||
<%}else{%>
|
||||
<strong>PDF 첨부:</strong> 최종 차수 견적서가 자동으로 첨부됩니다.
|
||||
<%}%>
|
||||
</div>
|
||||
|
||||
<form id="mailForm">
|
||||
<input type="hidden" id="contractObjId" name="contractObjId" value="<%=contractObjId%>"/>
|
||||
<input type="hidden" id="pdfSessionId" name="pdfSessionId" value=""/>
|
||||
<input type="hidden" id="useAddEstOnly" name="useAddEstOnly" value=""/>
|
||||
|
||||
<!-- 고객사 담당자 선택 -->
|
||||
<div class="form-group">
|
||||
@@ -204,6 +213,8 @@ String contractObjId = request.getParameter("contractObjId");
|
||||
<script>
|
||||
var contractInfo = null;
|
||||
var managerList = [];
|
||||
var hasBaseEst = "<%=hasBaseEst%>";
|
||||
var hasAddEst = "<%=hasAddEst%>";
|
||||
|
||||
$(document).ready(function(){
|
||||
// 계약 정보 및 담당자 목록 로드
|
||||
@@ -392,7 +403,21 @@ function fn_sendMail(){
|
||||
// PDF 생성 및 발송
|
||||
function fn_generatePdfAndSend(){
|
||||
var contractObjId = $("#contractObjId").val();
|
||||
|
||||
|
||||
// 추가견적만 있는 경우: PDF 생성 없이 추가견적 파일 직접 첨부 발송
|
||||
if(hasBaseEst === "N" && hasAddEst === "Y"){
|
||||
Swal.fire({
|
||||
title: '메일 발송 중...',
|
||||
text: '추가견적 PDF를 첨부하여 발송 중입니다.',
|
||||
allowOutsideClick: false,
|
||||
onOpen: () => { Swal.showLoading(); }
|
||||
});
|
||||
$("#pdfSessionId").val("");
|
||||
$("#useAddEstOnly").val("Y");
|
||||
fn_submitMailForm();
|
||||
return;
|
||||
}
|
||||
|
||||
Swal.fire({
|
||||
title: 'PDF 생성 중...',
|
||||
text: '견적서를 PDF로 변환하고 있습니다.',
|
||||
@@ -401,7 +426,7 @@ function fn_generatePdfAndSend(){
|
||||
Swal.showLoading();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 1. 최종 차수 견적서 정보 조회
|
||||
$.ajax({
|
||||
url: "/contractMgmt/getEstimateTemplateList.do",
|
||||
@@ -607,6 +632,7 @@ function fn_submitMailForm(){
|
||||
var formData = {
|
||||
objId: $("#contractObjId").val(),
|
||||
pdfSessionId: $("#pdfSessionId").val(),
|
||||
useAddEstOnly: $("#useAddEstOnly").val(),
|
||||
toEmails: $("#toEmails").val(),
|
||||
ccEmails: $("#ccEmails").val(),
|
||||
subject: $("#subject").val(),
|
||||
|
||||
Reference in New Issue
Block a user