From 546bea7b4c36b403f8cae4cce690cd399c59e12c Mon Sep 17 00:00:00 2001 From: hjjeong Date: Thu, 18 Dec 2025 17:41:10 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EC=9D=BC=20=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=EA=B3=84=EC=A0=95=20=EB=B6=84=EB=A6=AC,=20=EB=A9=94=EC=9D=BC?= =?UTF-8?q?=20=EB=B0=9C=EC=86=A1=20=EC=8B=9C=20=EB=B0=9C=EC=A3=BC=EC=84=9C?= =?UTF-8?q?=20pdf=20=EB=B3=80=ED=99=98=20=EC=B2=A8=EB=B6=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchaseOrderFormPopup_general.jsp | 197 ++++++++++++++++++ .../purchaseOrderFormPopup_outsourcing.jsp | 196 +++++++++++++++++ .../purchaseOrderMailFormPopup.jsp | 191 ++++++++++++++++- src/com/pms/common/utils/Constants.java | 76 +++++-- src/com/pms/common/utils/MailUtil.java | 92 ++++++-- .../controller/PurchaseOrderController.java | 66 +++++- src/com/pms/mapper/purchaseOrder.xml | 3 + .../service/ContractMgmtService.java | 8 +- src/com/pms/service/PurchaseOrderService.java | 70 ++++++- 9 files changed, 855 insertions(+), 44 deletions(-) diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp index 823c37d..697799d 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp @@ -201,8 +201,12 @@ input.date_icon { } + + diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp index f47dfc5..85fa4eb 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp @@ -180,8 +180,12 @@ input.date_icon { } + + diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMailFormPopup.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMailFormPopup.jsp index 6ed486b..8fab87c 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMailFormPopup.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMailFormPopup.jsp @@ -190,12 +190,13 @@ String purchaseOrderObjId = request.getParameter("purchaseOrderObjId");
- - 첨부파일: 발주서 및 도면 파일이 자동으로 첨부됩니다. + + 첨부파일: 발주서(PDF) 및 도면 파일이 자동으로 첨부됩니다.
+
@@ -261,6 +262,9 @@ function fn_loadPurchaseOrderInfo(){ if(data.result === "success" && data.purchaseOrderInfo){ purchaseOrderInfo = data.purchaseOrderInfo; + // 양식 타입 확인 (디버깅용) + console.log("발주서 양식 타입 (FORM_TYPE):", purchaseOrderInfo.FORM_TYPE); + // 발주서 정보 표시 $("#displayPoNo").text(fnc_checkNull(purchaseOrderInfo.PURCHASE_ORDER_NO) || '-'); $("#displayPartnerName").text(fnc_checkNull(purchaseOrderInfo.PARTNER_NAME) || '-'); @@ -471,24 +475,197 @@ function fn_sendMail(){ cancelButtonText: '취소' }).then((result) => { if(result.isConfirmed){ - fn_submitMailForm(); + // PDF 생성 및 발송 시작 + fn_generatePdfAndSend(); } }); } -// 메일 발송 요청 -function fn_submitMailForm(){ +// PDF 생성 및 발송 +function fn_generatePdfAndSend(){ + var purchaseOrderObjId = $("#purchaseOrderObjId").val(); + Swal.fire({ - title: '발송 중...', - text: '발주서 메일을 발송하고 있습니다.', + title: 'PDF 생성 중...', + text: '발주서를 PDF로 변환하고 있습니다.', allowOutsideClick: false, onOpen: () => { Swal.showLoading(); } }); + // 발주서 양식 타입 확인 (일반/외주) + var formType = fnc_checkNull(purchaseOrderInfo.FORM_TYPE) || 'general'; + var url = ""; + + if(formType === 'outsourcing') { + url = "/purchaseOrder/purchaseOrderFormPopup_outsourcing.do?actType=VIEW&PURCHASE_ORDER_MASTER_OBJID=" + purchaseOrderObjId; + } else { + url = "/purchaseOrder/purchaseOrderFormPopup_general.do?actType=VIEW&PURCHASE_ORDER_MASTER_OBJID=" + purchaseOrderObjId; + } + + // 숨겨진 iframe으로 발주서 페이지 로드 + var iframe = $('