From 48390332577028c1fd7ade1050eb021aab572d50 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 24 Jul 2025 12:13:53 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=EA=B4=80=EB=A6=AC=20=EC=88=98=EC=A0=95=20=EC=9E=91?= =?UTF-8?q?=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/service/MjonPayService.java | 3 + .../itn/let/mjo/pay/service/MjonPayVO.java | 6 + .../let/mjo/pay/service/impl/MjonPayDAO.java | 5 +- .../pay/service/impl/MjonPayServiceImpl.java | 8 +- .../let/mjo/pay/web/MjonPayController.java | 40 ++++++- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 2 + .../sqlmap/let/pay/MjonPay_SQL_mysql.xml | 24 ++++ .../jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp | 106 +++++++++--------- .../webapp/WEB-INF/jsp/web/pay/PayList.jsp | 33 +++--- .../WEB-INF/jsp/web/pay/PayListAllAjax.jsp | 39 ++++++- .../WEB-INF/jsp/web/pay/PayUserSWList.jsp | 23 +++- src/main/webapp/publish/js/dateUtils.js | 23 ++++ 12 files changed, 235 insertions(+), 77 deletions(-) diff --git a/src/main/java/itn/let/mjo/pay/service/MjonPayService.java b/src/main/java/itn/let/mjo/pay/service/MjonPayService.java index 0e1f9e57..ab4db0a4 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayService.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayService.java @@ -146,5 +146,8 @@ public interface MjonPayService { Map payUserSWList(MjonPayVO mjonPayVO) throws Exception; Map payUserSWListAjax(MjonMsgVO mjonMsgVO) throws Exception; + + //거래명세서 상세 조회 + MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception; } diff --git a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java index a1de761d..7c750698 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java @@ -239,5 +239,11 @@ public class MjonPayVO extends ComDefaultVO{ private String totChgPay; // 간편결제분류 + // 거래명세서 내용 + private String bizNo; // 사업자등록번호 + private String managerNm; // 담당자명 + private String prePaymentYn; // 선불결제여부 N:후불제고객 + private String dept; // 회원종류 p:개인 c:기업 + } diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java index 795495b7..d7e60f92 100644 --- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java +++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java @@ -353,5 +353,8 @@ public class MjonPayDAO extends EgovAbstractDAO { return result; } - + + public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectPayDetail", mjonPayVO); + } } diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java index 0d0c5f9d..87b6b1f4 100644 --- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java +++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java @@ -2933,7 +2933,7 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP returnData.put("unPaymentPointAfterPay", unPaymentPointAfterPay); returnData.put("negoPriceYn", negoPriceYn); // 초기 날짜 셋팅 - returnData.put("startDate", DateUtils.getDateMonthsAgo(12)); + returnData.put("startDate", DateUtils.getDateMonthsAgo(1)); returnData.put("endDate", DateUtils.getCurrentDate()); @@ -2969,5 +2969,9 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP return returnData; } - + + @Override + public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception { + return mjonPayDAO.selectPayDetail(mjonPayVO); + } } diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java index 29ad1f99..41764164 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -4911,6 +4911,7 @@ public class MjonPayController { String mberNm = ""; // 회사명 String managerNm = ""; // 담당자명 String moblphonNo = ""; // 연락처 + String mberEmailAdres = ""; //이메일 MberManageVO mberManageVO = new MberManageVO(); mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); if (mberManageVO != null) { @@ -4919,17 +4920,22 @@ public class MjonPayController { mberNm = mberManageVO.getMberNm(); managerNm = mberManageVO.getManagerNm(); moblphonNo = mberManageVO.getMoblphonNo(); + mberEmailAdres = mberManageVO.getMberEmailAdres(); } else { mberNm = mberManageVO.getMberNm(); managerNm = mberManageVO.getMberNm(); moblphonNo = mberManageVO.getMoblphonNo(); + mberEmailAdres = mberManageVO.getMberEmailAdres(); } } model.addAttribute("mberNm", mberNm); model.addAttribute("managerNm", managerNm); model.addAttribute("moblphonNo", moblphonNo); + model.addAttribute("bizNo", mberManageVO.getBizNo()); + model.addAttribute("mberEmailAdres", mberEmailAdres); + model.addAttribute("dept", mberManageVO.getDept()); //부가세 포함 가격 정보 계산 double addTax = Math.round(totalSumPrice * 0.1); @@ -6047,7 +6053,39 @@ public class MjonPayController { return "/uss/ion/pay/cashPointSendList"; } - + + /** + * * 거래명세서 팝업 + * @param searchVO + * @param model + * @return "/web/member/pay/payInvoicePopupAjax.do" + * @throws Exception + */ + @RequestMapping(value= {"/web/member/pay/payInvoicePopupAjax.do"}) + public String printInvoiceAjax( + @ModelAttribute("searchVO") MjonPayVO mjonPayVO + , RedirectAttributes redirectAttributes + , ModelMap model) throws Exception { + + + + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + if(loginVO == null) { + //redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다."); + return "redirect:/web/user/login/login.do"; + } + + mjonPayVO.setUserId(userId); + + //결제 정보 불러오기 + MjonPayVO result = mjonPayService.selectPayDetail(mjonPayVO); + model.addAttribute("result", result); + + return "web/pay/payInvoicePrintPopup"; + } /** * @param p_pattern * @param p_mjonPayVO diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index 3d6d35b2..0429b89f 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -2180,6 +2180,8 @@ , BLINE_CODE AS blineCode , AT_SMISHING_YN AS atSmishingYn , PRE_PAYMENT_YN AS prePaymentYn + , BIZ_NO AS bizNo + , MBER_EMAIL_ADRES AS mberEmailAdres FROM LETTNGNRLMBER WHERE MBER_ID = #userId# diff --git a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml index 01e0bdb8..42f8dd38 100644 --- a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml @@ -100,6 +100,7 @@ , D.CODE_NM AS rcptTypeTxt , E.CONFIRM_YN AS confirmYn , E.RCPT_TYPE AS rcptType + , E.CONFIRM_DATE AS confirmDate , IFNULL(MP.POINT, '0') AS point , EMI.EVENT_PG_MOID AS eventMoid , mber.SMISHING_YN AS smishingYn @@ -148,6 +149,7 @@ MOID , CONFIRM_YN , RCPT_TYPE + , CONFIRM_DATE FROM MJ_TAX WHERE 1=1 @@ -2355,4 +2357,26 @@ + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp index 9238f78c..3cdad4b8 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp @@ -68,22 +68,60 @@ function f_print(){ - 수신 - ${mberNm} + 등록번호 + + + + + + + - + + + - 참조 - 담당자 ${managerNm} 님 + 상호 + + + + + + + - + + + - 거래일자 - ${startDate}~${endDate} + 성명 + + + + + + + + + + + + + 전화번호 + + + + 이 메 일 + + + + 주식회사 님의 사용내역(~)을 아래와 같이 확인합니다. -
+ <%--

총 사용금액

@@ -93,7 +131,7 @@ function f_print(){

${addTaxSumPrice} 원(VAT 포함)

-
+
--%>

(단위 : 원, 건)

@@ -188,52 +226,14 @@ function f_print(){
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
공급가액, 총 결제금액에 대한 표
공급가액${supplySumPrice}
총 사용금액${totalSumPrice}
세액(부가세)${addTax}
총 사용금액${addTaxSumPrice}
- 사용내역이 없습니다. -
+
+

총 사용금액 (VAT 별도)

+

+ + +

+

${year} 년  ${month} 월  ${day}

diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp index 20f11eee..c34425c3 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp @@ -141,21 +141,11 @@ function fnShowPointPrintPopup(){ } //환불요청 내역 프린트 출력 팝업 -function fnShowRefundPrintPopup(){ - - //날자 체크 - if( $('#startDate').val() != '' && $('#endDate').val() != '' ){ - var iChkBeginDe = Number($('#startDate').val().replaceAll("/", "")); - var iChkEndDe = Number($('#endDate').val().replaceAll("/", "")); - if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ - alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다."); - return; - } - } +function fnShowRefundPrintPopup(moid){ //만들려는 팝업의 크기 - var popup_wid = '840'; - var popup_ht = '900'; + var popup_wid = '790'; + var popup_ht = '800'; var popup_left = (window.screen.width / 2) - (popup_wid / 2); var popup_top =(window.screen.height / 2) - (popup_ht / 2); @@ -165,6 +155,23 @@ function fnShowRefundPrintPopup(){ $("#listForm").attr({"action":"/web/member/pay/PayPrintRefundListPopUpAjax.do", "method":"post"}).submit(); } +//거래명세서 팝업 +function fnShowPayInvoicePrintPopup(moid){ + + + //만들려는 팝업의 크기 + var popup_wid = '790'; + var popup_ht = '800'; + + var popup_left = (window.screen.width / 2) - (popup_wid / 2); + var popup_top =(window.screen.height / 2) - (popup_ht / 2); + + document.invoiceForm.moid.value = moid; + + $("#invoiceForm").attr("target","invoicePrint"); + window.open('', 'invoicePrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1'); + $("#invoiceForm").attr({"action":"/web/member/pay/payInvoicePopupAjax.do", "method":"post"}).submit(); +} diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp index 19b1cd14..268b725c 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp @@ -423,6 +423,7 @@ function getMberGrdChk() {

-입금은행:우리은행-입금계좌:1005-904-154328-받는사람:주식회사 아이티앤

+ ※ 거래명세서는 세금계산서 발행일로부터 30일 이내에만 출력 가능합니다.