From 379cc8fa43c05803530ed8ba7743b075daf49f87 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 5 Jun 2025 16:41:13 +0900 Subject: [PATCH 01/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=82=B4=EC=97=AD=20=EC=A7=84=ED=96=89=20?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/web/MjonPayController.java | 19 +- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 6 +- .../WEB-INF/jsp/web/pay/PayUserSWList.jsp | 48 ++---- .../WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp | 162 ++++++++---------- 4 files changed, 105 insertions(+), 130 deletions(-) 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 08267bdb..80376b40 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -2607,7 +2607,7 @@ public class MjonPayController { * @throws Exception */ @RequestMapping(value= {"/web/member/pay/PayUserSWList.do"}) - public String PayUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO, + public String payUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO, MjonPayVO mjonPayVO, MberManageVO mberManageVO, RedirectAttributes redirectAttributes, HttpServletRequest request, @@ -2622,6 +2622,14 @@ public class MjonPayController { } String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); mjonMsgVO.setUserId(userId); + + + // 비즈니스 로직 부분 +// Map resultMap = mjonPayService.payUserSWList(mjonPayVO); + + + + /* { // 충전캐시 String sumPayMoney = mjonPayService.selectAgentSumPayMoney(userId); @@ -2733,6 +2741,15 @@ public class MjonPayController { model.addAttribute("endDate", DateUtils.getCurrentDate()); } + + + + + + + + + return "/web/pay/PayUserSWList"; } 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 e924647a..3d6d35b2 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 @@ -3168,6 +3168,7 @@ WHERE 1 = 1 AND pf.SentEA > 0 AND mjf.USER_ID = #userId# + AND mjf.RESERVE_C_YN = 'N' ) AS pay WHERE 1=1 @@ -3277,7 +3278,7 @@ , M.fileName3 AS fileName3 , M.orderByCode AS orderByCode , M.msgId AS msgId - , M.reqDate AS reqDate + , DATE_FORMAT(M.reqDate, '%Y-%m-%d %H:%i') AS reqDate FROM (SELECT DATE_FORMAT(B.REGDATE, '%Y-%m-%d %H:%i' ) AS regDate @@ -3318,7 +3319,7 @@ /*and A.DEL_FLAG = 'N'*/ AND A.USER_ID = #userId# AND B.USER_ID = #userId# - /*AND B.RESERVE_C_YN = 'N'*/ + AND B.RESERVE_C_YN = 'N' ORDER BY 1=1 , msgGroupId DESC , sentDate DESC @@ -3366,6 +3367,7 @@ WHERE 1 = 1 AND pf.SentEA > 0 AND mjf.USER_ID = #userId# + AND mjf.RESERVE_C_YN = 'N' ) AS pay WHERE 1=1 diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp index 1be55030..49b9dbdf 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp @@ -47,8 +47,19 @@ $(document).ready(function(){ thisYearStart = date.getFullYear() + "/01/01" ; thisYearEnd = date.getFullYear() + "/12/31" ; + $(document).on('change','#pageUnitS', function(){ + setPageUnit($(this).val()); + + payUserListAjax(1); + + }); + }); +function setPageUnit(val){ + $('#pageUnit').val(val); +} + // 기간 요일 지정 function setCalVal(val,targetObj){ $('input[name='+targetObj+']').val(val) ; @@ -92,42 +103,6 @@ function payUserTab(obj, pageType){ } - - - -function getUsedCashTotList(){ - var sendData = { - "startDate" : $("#startDate").val(), - "endDate" : $("#endDate").val() - }; - - console.log('sendData : ', sendData); -// url: '/web/member/pay/getUsedCashTotList.do', - - $.ajax({ - type:"POST", - url:"", - data: sendData, - dataType:'json', - success:function(data){ - console.log('data :: ', data); - if(data.status == 'OK') { - // 성공 처리 - } else { - // 오류 처리 - } - }, - error: function(jqXHR, textStatus, errorThrown) { - console.error("AJAX Error:", textStatus, errorThrown); - console.error("Response:", jqXHR.responseText); - } - }); -} - - - - - /* 윈도우팝업 열기 */ function infoPop(pageUrl){ document.infoPopForm.pageType.value = pageUrl; @@ -534,6 +509,7 @@ function fnRevDetailPop03(msgGroupId){
+
diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp index 2b071585..4fb6b195 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp @@ -91,8 +91,39 @@ $(document).ready(function(){ }); -/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */ +/* 250530 - 거래명세서, 사용내역서 분리 */ function fnShowPrintPopup() { + //만들려는 팝업의 크기 + var url = "printMsgUsageDetailsAjax.do"; + 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); + + //날짜 체크 + if(($('#startDate').val() != '' && $('#endDate').val() == '') || ($('#startDate').val() == '' && $('#endDate').val() != '')){ + alert("기간설정을 정상적으로 선택해 주세요."); + return; + } + + if( $('#startDate').val() != '' && $('#endDate').val() != '' ){ + var iChkBeginDe = Number($('#startDate').val().replaceAll("/", "")); + var iChkEndDe = Number($('#endDate').val().replaceAll("/", "")); + if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ + alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다."); + return; + } + } + + document.listForm.action = url; + document.listForm.method = "post"; + window.open("about:blank", 'printPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top + ', fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); + document.listForm.target = "printPop"; + document.listForm.submit(); +} + +/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */ +/* function fnShowPrintPopup() { //만들려는 팝업의 크기 var url = ""; var popup_wid = '830'; @@ -131,7 +162,7 @@ function fnShowPrintPopup() { window.open("about:blank", 'printPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top + ', fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); document.listForm.target = "printPop"; document.listForm.submit(); -} +} */ /* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */ function fnShowPrintPopup_OLD() { @@ -214,41 +245,48 @@ function fnShowPdfPrintPopup(){
" /> " /> +

${paginationInfo.totalRecordCount}건   ( 원)

- + + + + + + +
- <%-- --%> - - - - - -<%-- --%> - <%-- + + - - --%> + + + - <%-- --%> - - - - - - + + - - - - - + + @@ -285,10 +313,6 @@ function fnShowPdfPrintPopup(){ - <%-- --%> @@ -339,11 +363,11 @@ function fnShowPdfPrintPopup(){ (매) - / - <%-- - - () - --%> +

+ +
- <%-- --%> - - <%-- - - - --%> - <%-- - --%> - @@ -412,7 +390,9 @@ function fnShowPdfPrintPopup(){
- - - 발송일시
@@ -256,28 +294,18 @@ function fnShowPdfPrintPopup(){
- 문자유형 + 형태
내용발송건수사용발송건수금액(원)
충전금성공실패
- - -

+

+

@@ -352,58 +376,12 @@ function fnShowPdfPrintPopup(){

-

- - -

-
-

- - -

-
-

- - -

-
-

- - -

-
-

- 0 -

-
-

- - -

-
-

- - -

-
+ 검색 결과가 없습니다.
-
+ + + <%--
@@ -434,7 +414,7 @@ function fnShowPdfPrintPopup(){
-
+
--%> From 0ce04cc12fec38e453b4bada4d71ada110e87cfd Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Thu, 5 Jun 2025 17:19:22 +0900 Subject: [PATCH 02/23] =?UTF-8?q?payUserSWList=20=EC=BB=A8=ED=8A=B8?= =?UTF-8?q?=EB=A1=A4=EB=9F=AC->=EC=84=9C=EB=B9=84=EC=8A=A4=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/service/MjonPayService.java | 3 + .../pay/service/impl/MjonPayServiceImpl.java | 101 +++++++++++++ .../let/mjo/pay/web/MjonPayController.java | 139 ++---------------- 3 files changed, 120 insertions(+), 123 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 2f8dd877..6b8ec71d 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayService.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayService.java @@ -1,6 +1,7 @@ package itn.let.mjo.pay.service; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -140,4 +141,6 @@ public interface MjonPayService { //누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액) public String selectTotSumPaymentAfterPay(String userId) throws Exception; + Map payUserSWList(MjonPayVO mjonPayVO) throws Exception; + } 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 60c9e645..c0b3ebe9 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 @@ -12,6 +12,7 @@ import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -25,11 +26,14 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; +import itn.com.cmm.util.DateUtils; import itn.com.cmm.util.MJUtil; import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.mjo.event.service.MjonEventVO; import itn.let.mjo.event.service.impl.MjonEventDAO; import itn.let.mjo.msg.service.MjonMsgVO; +import itn.let.mjo.msgcampain.service.MjonCandidateVO; +import itn.let.mjo.msgcampain.service.impl.MjonCandidateDAO; import itn.let.mjo.msgdata.service.MjonMsgDataService; import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO; import itn.let.mjo.pay.service.MjonPayService; @@ -94,6 +98,10 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP @Resource(name = "mberGrdService") MberGrdService mberGrdService; + @Resource(name="mjonCandidateDAO") + private MjonCandidateDAO mjonCandidateDAO; + + @Override public List selectPayList(MjonPayVO mjonPayVO) throws Exception { return mjonPayDAO.selectPayList(mjonPayVO); @@ -2839,6 +2847,99 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP } + @Override + public Map payUserSWList(MjonPayVO mjonPayVO) throws Exception{ + + + String userId = mjonPayVO.getUserId(); + + // 총 사용금액 + List usedCashTotList = mjonPayDAO.selectUsedCashWithKakaoTotCnt(mjonPayVO); + + // 사용가능한 금액 + // mberManageVO.prePaymentYn 선불 후불 회원 구분으로 인해 select함 + MberManageVO mberManageVO = mjonMsgDataDAO.selectMberManageInfo(userId); + // 선거 후보자 정보 조회 + MjonCandidateVO mjonCandidateVO = new MjonCandidateVO(); + if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기 + mjonCandidateVO = mjonCandidateDAO.selectCandidateDataInfo(userId); + if(mjonCandidateVO != null) { + mjonCandidateVO.setRegidentNo1(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1())); + mjonCandidateVO.setRegidentNo2(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2())); + } + } + + + /** + * 후불제 회원 관련 사용 요금 내역 정보 조회하기 + * 20231228 우영두 추가 + * 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회 + * + * */ + //누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산) + String totSumCashAfterPay = mjonPayDAO.selectTotalSumCashForAfterPay(userId); + + //누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용) + String totSumPointAfterPay = mjonPayDAO.selectTotalSumPointForAfterPay(userId); + + //누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액) + String totSumPaymentAfterPay = mjonPayDAO.selectTotSumPaymentAfterPay(userId); + + //누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산) + float p_i_re_point = 0; + JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo(); + if (sysJoinSetVO != null) { + p_i_re_point = sysJoinSetVO.getPointPer(); + } + int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100)); + + //당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산) + float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay); + + //당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산) + int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100)); + + /* + * 2024.02.06 후불제 회원 중 협의단가를 사용하는 회원은 포인트 적립이 되지 않아야함. + * 후불제 협의 단가 여부 체크 + * 모든 협의 단가 금액을 합산하여 0보다 크면 협의단가 있음. + * */ + float shortPrice = mberManageVO.getShortPrice(); + float longPrice = mberManageVO.getLongPrice(); + float picturePrice = mberManageVO.getPicturePrice() + mberManageVO.getPicture2Price() + mberManageVO.getPicture3Price(); + float kakaoAtPrice = mberManageVO.getKakaoAtPrice(); + float kakaoFtPrice = mberManageVO.getKakaoFtPrice(); + float totPrice = shortPrice + longPrice + picturePrice + kakaoAtPrice + kakaoFtPrice; + String negoPriceYn = "N"; + + if(totPrice > 0) { + negoPriceYn = "Y"; + } + + + + Map returnData = new HashMap<>(); + + + returnData.put("usedCashTotList", usedCashTotList); + returnData.put("mberManageVO", mberManageVO); + returnData.put("mjonCandidateVO", mjonCandidateVO); + returnData.put("totSumCashAfterPay", totSumCashAfterPay); + returnData.put("totSumPointAfterPay", totSumPointAfterPay); + returnData.put("totSumPaymentAfterPay", totSumPaymentAfterPay); + returnData.put("sumPaymentPointAfterPay", paymentPointAfterPay); + returnData.put("unPaymentAfterPay", unPaymentAfterPay); + returnData.put("unPaymentPointAfterPay", unPaymentPointAfterPay); + returnData.put("negoPriceYn", negoPriceYn); + // 초기 날짜 셋팅 + returnData.put("startDate", DateUtils.getDateMonthsAgo(12)); + returnData.put("endDate", DateUtils.getCurrentDate()); + + + // TODO Auto-generated method stub + return returnData; + } + } 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 80376b40..9d9ee3f0 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -2612,6 +2612,7 @@ public class MjonPayController { MberManageVO mberManageVO, RedirectAttributes redirectAttributes, HttpServletRequest request, ModelMap model) throws Exception{ + /*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; @@ -2621,133 +2622,25 @@ public class MjonPayController { return "redirect:/web/user/login/login.do"; } String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); - mjonMsgVO.setUserId(userId); + mjonPayVO.setUserId(userId); - // 비즈니스 로직 부분 -// Map resultMap = mjonPayService.payUserSWList(mjonPayVO); - - - - - /* - { // 충전캐시 - String sumPayMoney = mjonPayService.selectAgentSumPayMoney(userId); - model.addAttribute("sumPayMoney", sumPayMoney); - } - - { // 충전포인트 - String sumPoint = mjonPayService.selectSumPoint(userId); - model.addAttribute("sumPoint", sumPoint); - } - */ - - { // 총 사용금액 - mjonPayVO.setUserId(userId); - List usedCashTotList = mjonPayService.selectUsedCashWithKakaoTotCnt(mjonPayVO); - model.addAttribute("usedCashTotList", usedCashTotList); - } - { // 사용가능한 금액 - // mberManageVO.prePaymentYn 선불 후불 회원 구분으로 인해 select함 - mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); - model.addAttribute("mberManageVO", mberManageVO); - } - /* - { // 발송건수 - mjonMsgVO.setReserveYn("N"); - List sendTotList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO); - model.addAttribute("sendTotList", sendTotList); - } - - { // 예약건수 - mjonMsgVO.setReserveYn("Y"); - List reservToList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO); - model.addAttribute("reservToList", reservToList); - } - */ - {// 선거 후보자 정보 조회 - MjonCandidateVO mjonCandidateVO = new MjonCandidateVO(); - if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기 - mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId); - if(mjonCandidateVO != null) { - mjonCandidateVO.setRegidentNo1(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1())); - mjonCandidateVO.setRegidentNo2(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2())); - } - } - model.addAttribute("mjonCandidateVO", mjonCandidateVO); - } - - - { - /** - * 후불제 회원 관련 사용 요금 내역 정보 조회하기 - * 20231228 우영두 추가 - * 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회 - * - * */ - - //누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산) - String totSumCashAfterPay = mjonPayService.selectTotalSumCashForAfterPay(userId); - model.addAttribute("totSumCashAfterPay", totSumCashAfterPay); - - //누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용) - String totSumPointAfterPay = mjonPayService.selectTotalSumPointForAfterPay(userId); - model.addAttribute("totSumPointAfterPay", totSumPointAfterPay); - - //누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액) - String totSumPaymentAfterPay = mjonPayService.selectTotSumPaymentAfterPay(userId); - model.addAttribute("totSumPaymentAfterPay", totSumPaymentAfterPay); - - //누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산) - float p_i_re_point = 0; - JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo(); - if (sysJoinSetVO != null) { - p_i_re_point = sysJoinSetVO.getPointPer(); - } - int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100)); - model.addAttribute("sumPaymentPointAfterPay", paymentPointAfterPay); - - //당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산) - - float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay); - model.addAttribute("unPaymentAfterPay", unPaymentAfterPay); - - //당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산) - int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100)); - model.addAttribute("unPaymentPointAfterPay", unPaymentPointAfterPay); - - /* - * 2024.02.06 후불제 회원 중 협의단가를 사용하는 회원은 포인트 적립이 되지 않아야함. - * 후불제 협의 단가 여부 체크 - * 모든 협의 단가 금액을 합산하여 0보다 크면 협의단가 있음. - * */ - float shortPrice = mberManageVO.getShortPrice(); - float longPrice = mberManageVO.getLongPrice(); - float picturePrice = mberManageVO.getPicturePrice() + mberManageVO.getPicture2Price() + mberManageVO.getPicture3Price(); - float kakaoAtPrice = mberManageVO.getKakaoAtPrice(); - float kakaoFtPrice = mberManageVO.getKakaoFtPrice(); - float totPrice = shortPrice + longPrice + picturePrice + kakaoAtPrice + kakaoFtPrice; - String negoPriceYn = "N"; - - if(totPrice > 0) { - negoPriceYn = "Y"; - } - model.addAttribute("negoPriceYn", negoPriceYn); - - } - { - // 초기 날짜 셋팅 - model.addAttribute("startDate", DateUtils.getDateMonthsAgo(12)); - model.addAttribute("endDate", DateUtils.getCurrentDate()); - } - - - - - - +// // 비즈니스 로직 부분 + Map resultMap = mjonPayService.payUserSWList(mjonPayVO); + model.addAttribute("usedCashTotList", resultMap.get("usedCashTotList")); + model.addAttribute("mjonCandidateVO", resultMap.get("mjonCandidateVO")); + model.addAttribute("mberManageVO", resultMap.get("mberManageVO")); + model.addAttribute("totSumCashAfterPay", resultMap.get("totSumCashAfterPay")); + model.addAttribute("totSumPointAfterPay", resultMap.get("totSumPointAfterPay")); + model.addAttribute("totSumPaymentAfterPay", resultMap.get("totSumPaymentAfterPay")); + model.addAttribute("sumPaymentPointAfterPay", resultMap.get("sumPaymentPointAfterPay")); + model.addAttribute("unPaymentAfterPay", resultMap.get("unPaymentAfterPay")); + model.addAttribute("unPaymentPointAfterPay", resultMap.get("unPaymentPointAfterPay")); + model.addAttribute("negoPriceYn", resultMap.get("negoPriceYn")); + model.addAttribute("startDate", resultMap.get("startDate")); + model.addAttribute("endDate", resultMap.get("endDate")); return "/web/pay/PayUserSWList"; From 2bab96b9a625da47df51b397cf3ff9386702741d Mon Sep 17 00:00:00 2001 From: JIWOO Date: Mon, 9 Jun 2025 16:24:39 +0900 Subject: [PATCH 03/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=9A=94=EA=B8=88=EC=82=AC=EC=9A=A9=EB=82=B4=EC=97=AD=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/service/MjonPayService.java | 4 + .../pay/service/impl/MjonPayServiceImpl.java | 28 + .../let/mjo/pay/web/MjonPayController.java | 33 +- .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 2 +- .../webapp/WEB-INF/jsp/web/pay/BillPub.jsp | 2 +- .../webapp/WEB-INF/jsp/web/pay/PayGuide.jsp | 1734 ++++++++--------- .../webapp/WEB-INF/jsp/web/pay/PayList.jsp | 2 +- .../WEB-INF/jsp/web/pay/PayUserSWList.jsp | 4 +- .../webapp/WEB-INF/jsp/web/pay/PayView.jsp | 2 +- .../WEB-INF/jsp/web/user/mberInfoIndex.jsp | 2 +- 10 files changed, 914 insertions(+), 899 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 6b8ec71d..0e1f9e57 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayService.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayService.java @@ -5,6 +5,8 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; +import itn.let.mjo.msg.service.MjonMsgVO; + public interface MjonPayService { List selectPayList(MjonPayVO mjonPayVO) throws Exception; @@ -142,5 +144,7 @@ public interface MjonPayService { public String selectTotSumPaymentAfterPay(String userId) throws Exception; Map payUserSWList(MjonPayVO mjonPayVO) throws Exception; + + Map payUserSWListAjax(MjonMsgVO mjonMsgVO) throws Exception; } 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 c0b3ebe9..0d0c5f9d 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 @@ -28,6 +28,7 @@ import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; import itn.com.cmm.util.DateUtils; import itn.com.cmm.util.MJUtil; +import itn.com.cmm.util.PayUtils; import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.mjo.event.service.MjonEventVO; import itn.let.mjo.event.service.impl.MjonEventDAO; @@ -2940,6 +2941,33 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP return returnData; } + @Override + public Map payUserSWListAjax(MjonMsgVO mjonMsgVO) throws Exception{ + + if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + mjonMsgVO.setSearchSortCnd("regDate"); + mjonMsgVO.setSearchSortOrd("desc"); + } + + Map returnData = new HashMap<>(); + + // 검색 데이터가 없거나 + // 시작일자가 종료일자보다 이후이거나 + // 총 기간이 365일이 넘으면 현재일부터 365일 전 날짜를 넣어서 검색 + if(!DateUtils.dateChkAndValueChk(mjonMsgVO.getStartDate(),mjonMsgVO.getEndDate(), 12 )) { + mjonMsgVO.setStartDate(DateUtils.getDateMonthsAgo(12)); + mjonMsgVO.setEndDate(DateUtils.getCurrentDate()); + + }; + + + List payUserSWList = mjonMsgDataDAO.selectPayUserSWList(mjonMsgVO); + returnData.put("payUserSWList", payUserSWList); + returnData.put("totCnt", payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0); + returnData.put("totSuccSendPrice", payUserSWList.size() > 0 ? PayUtils.getTrimToFirstDecimal(payUserSWList.get(0).getTotSuccSendPrice()) : 0); + + return returnData; + } } 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 9d9ee3f0..52c8c859 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -2603,10 +2603,10 @@ public class MjonPayController { * 2023.12.22 우영두 * @param mjonMsgVO * @param model - * @return "/web/member/pay/PayUserSWList.do" + * @return "/web/member/pay/payUserSWList.do" * @throws Exception */ - @RequestMapping(value= {"/web/member/pay/PayUserSWList.do"}) + @RequestMapping(value= {"/web/member/pay/payUserSWList.do"}) public String payUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO, MjonPayVO mjonPayVO, MberManageVO mberManageVO, RedirectAttributes redirectAttributes, @@ -2659,8 +2659,8 @@ public class MjonPayController { * @return "/web/member/pay/PayUserSWListAjax.do" * @throws Exception */ - @RequestMapping(value= {"/web/member/pay/PayUserSWListAjax.do"}) - public String PayUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO, + @RequestMapping(value= {"/web/member/pay/payUserSWListAjax.do"}) + public String payUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO, HttpServletRequest request, ModelMap model) throws Exception{ @@ -2684,29 +2684,12 @@ public class MjonPayController { mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex()); mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - mjonMsgVO.setSearchSortCnd("regDate"); - mjonMsgVO.setSearchSortOrd("desc"); - } + Map resultMap = mjonPayService.payUserSWListAjax(mjonMsgVO); - // 검색 데이터가 없거나 - // 시작일자가 종료일자보다 이후이거나 - // 총 기간이 365일이 넘으면 현재일부터 365일 전 날짜를 넣어서 검색 - if(!DateUtils.dateChkAndValueChk(mjonMsgVO.getStartDate(),mjonMsgVO.getEndDate(), 12 )) { - - mjonMsgVO.setStartDate(DateUtils.getDateMonthsAgo(12)); - mjonMsgVO.setEndDate(DateUtils.getCurrentDate()); - - }; - - List payUserSWList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); - - paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0); + paginationInfo.setTotalRecordCount((int)resultMap.get("totCnt")); model.addAttribute("paginationInfo", paginationInfo); - model.addAttribute("payUserSWList", payUserSWList); - - model.addAttribute("totSuccSendPrice", payUserSWList.size() > 0 ? PayUtils.getTrimToFirstDecimal(payUserSWList.get(0).getTotSuccSendPrice()) : 0); - + model.addAttribute("payUserSWList", resultMap.get("payUserSWList")); + model.addAttribute("totSuccSendPrice", resultMap.get("totSuccSendPrice")); model.addAttribute("mjonMsgVO", mjonMsgVO); diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index d5a05e8c..76a77e52 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -1652,7 +1652,7 @@ function actionLogin_end(){
  • 요금안내/견적내기
  • 결제하기
  • 요금 결제내역
  • -
  • 요금 사용내역
  • +
  • 요금 사용내역
  • <%--
  • 계산서/현금영수증 발행 등록
  • --%>
  • 세금계산서 발행
  • diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp index e0bd2890..5550f43f 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp @@ -495,7 +495,7 @@
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp index 7756c219..0cedbb59 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp @@ -1,867 +1,867 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - - - - - - - - - - - - - -
    - -
    - -
      -
    • -
    • -
    • -
    • -
    • -
    - - -
    -
    -

    요금안내/견적내기

    - -
    - -
    -
      -
    • - -
    • -
    • - -
    • -
    -
    - - -
    -
    -

    - 문자이미지 문자 -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    구분특징가격
    단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
    장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
    그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는그림메시지(이미지 최대 3장 첨부 가능) 1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원/ 3장 : ${picturePrice3}
    - * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. - - - - - -

    알림톡 아이콘 이미지 알림톡

    - - - - - - - - - - - - - - - - - - - - -
    구분특징가격
    알림톡카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지
    (1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)
    1장 : ${kakaoAtPrice}
    - * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. - -

    팩스 아이콘 이미지 팩스

    - - - - - - - - - - - - - - - - - - - - -
    구분특징(전송가능확장자)가격
    팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, gul)1매 : ${faxPrice}
    - -

    그림문자 맞춤제작 이미지 그림문자 맞춤제작

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    구분가격
    문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
    이미지 편집(첨부이미지 1장)${customEditPrice}
    이미지 편집(첨부이미지 3장이하)${customEdit3Price}
    텍스트 단순수정${customTextPrice}
    - * 텍스트 단순수정 요청은 맞춤제작이 완료된 그림문자의 수정 시에만 가능합니다. - - -
    -
    - - - -
    -
      -
    • -
      -
      - 요금안내 - -
      -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      요금 안내
      구분특징금액
      단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
      장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
      그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는 그림메시지(이미지 최대 3장 첨부 가능)1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원 / 3장 : ${picturePrice3}
      카카오(알림톡)카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지(1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)${kakaoAtPrice}
      팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, htm, html, gul)${faxPrice}
      맞춤제작문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
      맞춤제작이미지 편집(첨부이미지 1장)${customEditPrice}
      맞춤제작이미지 편집(첨부이미지 3장이하)${customEdit3Price}
      맞춤제작텍스트 단순수정${customTextPrice}
      -
      -
    • -
    -
    -

    일반정보

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    제목 - - -
    수신자(기업명) - - -
    담당자(성명) - - -
    연락처 - - -
    발행일 -
    - -
    -
    - -

    품목정보

    - - - - - - - - - - - - - - - - - - - - -
    구분 - - - - -

    -
    건수 - - -

    -
    - -
    -
    -
    -
    - -
    -
    - -
    - -
    -
    - - -
    -
    품목
    -
    단가(원)
    -
    건수(건)
    -
    공급가액(원)
    -
    세액(부가세)
    -
    금액(원)
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    공급가액세액(부가세)합계비고
    - - - - - - - - -
    -
    - -
    - -
    -
    -
    - -
    -
    - -
    - - -
    - -
    +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + + + +
    + + + + + + +
    + +
    + +
      +
    • +
    • +
    • +
    • +
    • +
    + + +
    +
    +

    요금안내/견적내기

    + +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    + + +
    +
    +

    + 문자이미지 문자 +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분특징가격
    단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
    장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
    그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는그림메시지(이미지 최대 3장 첨부 가능) 1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원/ 3장 : ${picturePrice3}
    + * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. + + + + + +

    알림톡 아이콘 이미지 알림톡

    + + + + + + + + + + + + + + + + + + + + +
    구분특징가격
    알림톡카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지
    (1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)
    1장 : ${kakaoAtPrice}
    + * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. + +

    팩스 아이콘 이미지 팩스

    + + + + + + + + + + + + + + + + + + + + +
    구분특징(전송가능확장자)가격
    팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, gul)1매 : ${faxPrice}
    + +

    그림문자 맞춤제작 이미지 그림문자 맞춤제작

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분가격
    문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
    이미지 편집(첨부이미지 1장)${customEditPrice}
    이미지 편집(첨부이미지 3장이하)${customEdit3Price}
    텍스트 단순수정${customTextPrice}
    + * 텍스트 단순수정 요청은 맞춤제작이 완료된 그림문자의 수정 시에만 가능합니다. + + +
    +
    + + + +
    +
      +
    • +
      +
      + 요금안내 + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      요금 안내
      구분특징금액
      단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
      장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
      그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는 그림메시지(이미지 최대 3장 첨부 가능)1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원 / 3장 : ${picturePrice3}
      카카오(알림톡)카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지(1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)${kakaoAtPrice}
      팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, htm, html, gul)${faxPrice}
      맞춤제작문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
      맞춤제작이미지 편집(첨부이미지 1장)${customEditPrice}
      맞춤제작이미지 편집(첨부이미지 3장이하)${customEdit3Price}
      맞춤제작텍스트 단순수정${customTextPrice}
      +
      +
    • +
    +
    +

    일반정보

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    제목 + + +
    수신자(기업명) + + +
    담당자(성명) + + +
    연락처 + + +
    발행일 +
    + +
    +
    + +

    품목정보

    + + + + + + + + + + + + + + + + + + + + +
    구분 + + + + +

    +
    건수 + + +

    +
    + +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    + + +
    +
    품목
    +
    단가(원)
    +
    건수(건)
    +
    공급가액(원)
    +
    세액(부가세)
    +
    금액(원)
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    공급가액세액(부가세)합계비고
    + + + + + + + + +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    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 2c639a47..20f11eee 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp @@ -176,7 +176,7 @@ function fnShowRefundPrintPopup(){
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp index 49b9dbdf..18cb4215 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp @@ -75,7 +75,7 @@ function payUserListAjax(pageNo){ document.listForm.pageIndex.value = pageNo; var sendData= $(document.listForm).serializeArray(); - $("#payUserListLoad").load("/web/member/pay/PayUserSWListAjax.do", sendData ,function(response, status, xhr){ + $("#payUserListLoad").load("/web/member/pay/payUserSWListAjax.do", sendData ,function(response, status, xhr){ }); } @@ -85,7 +85,7 @@ function payUserListTabMoveAjax(pageNo){ document.listForm.pageIndex.value = pageNo; var sendData= $(document.listForm).serializeArray(); - $("#payUserListLoad").load("/web/member/pay/PayUserSWListAjax.do", sendData ,function(response, status, xhr){ + $("#payUserListLoad").load("/web/member/pay/payUserSWListAjax.do", sendData ,function(response, status, xhr){ }); } diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp index 29591d82..cb8a4d4f 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp @@ -817,7 +817,7 @@ function fnShowVaViewPrintPopup() {
  • -
  • +
  • diff --git a/src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp b/src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp index 4db78d99..908dfcba 100644 --- a/src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp @@ -669,7 +669,7 @@ function callTo() { -
    From 7bf6c4adeabc74edefd070188376511782c2f56b Mon Sep 17 00:00:00 2001 From: JIWOO Date: Fri, 20 Jun 2025 15:34:09 +0900 Subject: [PATCH 04/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20DB=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/egovframework/egovProps/globals_local.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 6a2e66bd..370b98c5 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -28,7 +28,7 @@ Globals.Env = local # mysql Globals.DriverClassName=com.mysql.jdbc.Driver -Globals.Url=jdbc:mysql://119.193.215.98:3306/mjon +Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon #Globals.Url=jdbc:mysql://192.168.0.60:3308/mjon Globals.UserName= mjonUr Globals.Password= mjon!@#$ From 8721b740a550302f8d0616b402f9f3009324364c Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 3 Jul 2025 17:26:50 +0900 Subject: [PATCH 05/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EA=B0=9C=EB=B0=9C=20DB=20=EB=B3=80=EA=B2=BD=20mjon=20>=20mjon?= =?UTF-8?q?=5Fadvc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/egovframework/egovProps/globals_local.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 370b98c5..26bb8ef5 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -28,7 +28,7 @@ Globals.Env = local # mysql Globals.DriverClassName=com.mysql.jdbc.Driver -Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon +Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon_advc #Globals.Url=jdbc:mysql://192.168.0.60:3308/mjon Globals.UserName= mjonUr Globals.Password= mjon!@#$ From db9e04c95b5ef85270e3a55987477b4b46b74b52 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 10 Jul 2025 14:06:05 +0900 Subject: [PATCH 06/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20DB=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EC=9B=90=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/egovframework/egovProps/globals_local.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 26bb8ef5..6a2e66bd 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -28,7 +28,7 @@ Globals.Env = local # mysql Globals.DriverClassName=com.mysql.jdbc.Driver -Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon_advc +Globals.Url=jdbc:mysql://119.193.215.98:3306/mjon #Globals.Url=jdbc:mysql://192.168.0.60:3308/mjon Globals.UserName= mjonUr Globals.Password= mjon!@#$ From 0dc4539eb2d605f0d96401283f33c12832a109e6 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Tue, 22 Jul 2025 14:52:19 +0900 Subject: [PATCH 07/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=9A=94=EA=B8=88=20=EC=82=AC=EC=9A=A9=EB=82=B4=EC=97=AD=20?= =?UTF-8?q?=EC=97=91=EC=85=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/web/MjonPayController.java | 68 +++++-------------- 1 file changed, 16 insertions(+), 52 deletions(-) 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 52c8c859..29ad1f99 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -2771,7 +2771,7 @@ public class MjonPayController { font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold sheet.setColumnWidth(1, 5000); // 칼럼의 폭 조절 - sheet.setColumnWidth(4, 10000); // 칼럼의 폭 조절 + sheet.setColumnWidth(3, 10000); // 칼럼의 폭 조절 try{ @@ -2796,6 +2796,7 @@ public class MjonPayController { sheet.addMergedRegion(new CellRangeAddress(0,1,1,1)); //셀병합 sheet.addMergedRegion(new CellRangeAddress(0,1,2,2)); //셀병합 sheet.addMergedRegion(new CellRangeAddress(0,1,3,3)); //셀병합 + sheet.addMergedRegion(new CellRangeAddress(0,1,6,6)); //셀병합 cell = row.createCell(0); @@ -2803,46 +2804,29 @@ public class MjonPayController { cell.setCellStyle(style); cell = row.createCell(1); - cell.setCellValue("날짜"); + cell.setCellValue("발송일시"); cell.setCellStyle(style); cell = row.createCell(2); - cell.setCellValue("문자유형"); + cell.setCellValue("형태"); cell.setCellStyle(style); cell = row.createCell(3); - cell.setCellValue("발송건수"); - cell.setCellStyle(style); - - cell = row.createCell(4); cell.setCellValue("내용"); cell.setCellStyle(style); - /*cell = row.createCell(5); - cell.setCellValue("충전"); - sheet.addMergedRegion(new CellRangeAddress(0,0,5,6)); //셀병합 + cell = row.createCell(4); + cell.setCellValue("발송건수"); + sheet.addMergedRegion(new CellRangeAddress(0,0,4,5)); //셀병합 cell.setCellStyle(style); - - cell = row.createCell(6); - cell.setCellStyle(style);*/ - + cell = row.createCell(5); - cell.setCellValue("사용"); - sheet.addMergedRegion(new CellRangeAddress(0,0,5,6)); //셀병합 cell.setCellStyle(style); cell = row.createCell(6); + cell.setCellValue("금액(원)"); cell.setCellStyle(style); - - /*cell = row.createCell(9); - cell.setCellValue("잔액"); - sheet.addMergedRegion(new CellRangeAddress(0,0,9,10)); //셀병합 - cell.setCellStyle(style); - - cell = row.createCell(10); - cell.setCellStyle(style);*/ - row = sheet.createRow(1); cell = row.createCell(0); @@ -2858,32 +2842,16 @@ public class MjonPayController { cell.setCellStyle(style); cell = row.createCell(4); + cell.setCellValue("성공"); cell.setCellStyle(style); - /*cell = row.createCell(5); - cell.setCellValue("충전금"); - cell.setCellStyle(style); - - cell = row.createCell(6); - cell.setCellValue("포인트"); - cell.setCellStyle(style);*/ - cell = row.createCell(5); - cell.setCellValue("충전금"); + cell.setCellValue("실패"); cell.setCellStyle(style); cell = row.createCell(6); - cell.setCellValue("포인트"); cell.setCellStyle(style); - /*cell = row.createCell(9); - cell.setCellValue("충전금"); - cell.setCellStyle(style); - - cell = row.createCell(10); - cell.setCellValue("포인트"); - cell.setCellStyle(style);*/ - DecimalFormat formatter = new DecimalFormat("###,###.##"); String befCash = ""; String befPoint = ""; @@ -2926,15 +2894,11 @@ public class MjonPayController { if(j==0) cell.setCellValue(i+1); //번호 if(j==1) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getRegDate()); //결제일시 if(j==2) cell.setCellValue(msgType); //문자유형 - if(j==3) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendCnt()); //발송건수 - if(j==4) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSmsTxt()); //내용 - if(j==5) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendPrice()); //충전 - 충전금 - if(j==6) cell.setCellValue(0); //충전 - 포인트 - /*if(j==7) cell.setCellValue(totPrice); //사용 - 충전금 - if(j==8) cell.setCellValue(0); //사용 - 포인트 - if(j==9) cell.setCellValue(thisPoint); //잔액 - 충전금 - if(j==10) cell.setCellValue(befPoint); //잔액 - 포인트 -*/ } + if(j==3) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSmsTxt()); //내용 + if(j==4) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendCnt()); //성공건수 + if(j==5) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getFailSendCnt()); //실패건수 + if(j==6) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendPrice()); //금액 + } } } response.setHeader("Set-Cookie", "fileDownload=true; path=/"); From 48390332577028c1fd7ade1050eb021aab572d50 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 24 Jul 2025 12:13:53 +0900 Subject: [PATCH 08/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EA=B2=B0=EC=A0=9C=EA=B4=80=EB=A6=AC=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EC=9E=91=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일 이내에만 출력 가능합니다.
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    작성일자, 공급가액, 세액, 비고 정보를 제공하는 표
    작성일자공급가액세액
    비고 + + + 사용기간(${result.startDate} ~ ${result.endDate}) + + + - + + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    월, 일, 품목, 규격, 수량, 단가, 공급가액, 세액, 비고 정보를 제공하는 표
    품목규격수량단가공급가액세액비고
    문자온 메시징 서비스 이용료-
    합계금액전잔액입금액현잔액 + + + + 이 금액을 [청 구]함 + + + 이 금액을 [영 수]함 + + +
    + + -- + +
    +
    +
    + + + +
    +
    + +
    +
    +
    + + + From 410f14dc5e3f32f9d2960b382c9e75b606a49cf2 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 24 Jul 2025 16:26:32 +0900 Subject: [PATCH 10/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=82=B4=EC=97=AD=EC=84=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp | 3 +-- src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) 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 3cdad4b8..e2b457b8 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp @@ -229,8 +229,7 @@ function f_print(){

    총 사용금액 (VAT 별도)

    - - +

    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 39a020ad..660204cc 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp @@ -415,7 +415,7 @@ function getMberGrdChk() {
    - ※ 간편결제 영수증은 결제하신 서비스를 통해 제공됩니다. + ※ 간편결제 영수증은 결제하신 서비스를 통해 제공됩니다.
    ※ 후불제 고객의 사용금액 결제수단은 계좌이체만 가능합니다.
    From 1ef82c5f3da62a10f1470c35e90cc4b9cce5f33b Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 24 Jul 2025 17:07:04 +0900 Subject: [PATCH 11/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=82=B4=EC=97=AD=EC=84=9C=20=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EB=B8=94=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp | 14 ++++---------- .../webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-) 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 e2b457b8..72db2baf 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp @@ -138,17 +138,15 @@ function f_print(){ - - - + + - + - - + @@ -182,10 +180,6 @@ function f_print(){ <%-- --%> -
    품목, 발송건수, 공급가액, 부가세, 금액 정보를 제공하는 표
    품목문자유형 발송건수공급가액금액사용금액
    - - - 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 660204cc..3c51657c 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp @@ -409,7 +409,7 @@ function getMberGrdChk() {
    -
    +
    ※ 요금 결제내역은 결제일을 기준으로 최대 6개월까지만 조회가능합니다.
    From 846780c8c334217e92ac765cd6eb3f0daf00c0f1 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Fri, 25 Jul 2025 16:51:25 +0900 Subject: [PATCH 12/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=B0=8F=20?= =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EC=9E=91=EC=97=85=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/web/MjonPayV2Controller.java | 2 + src/main/java/itn/web/MainController.java | 37 ++++++ .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 105 ++++++++++++++---- 3 files changed, 120 insertions(+), 24 deletions(-) diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java index 7907a32d..472ecf80 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java @@ -278,6 +278,8 @@ public class MjonPayV2Controller { try { // 다음 결제시 결제수단 SELECT nextPayMethod = userManageService.selectNextPayMethod(userId); + // 실제 마지막 결제 방식 - + } catch(Exception e) { isSuccess = false; diff --git a/src/main/java/itn/web/MainController.java b/src/main/java/itn/web/MainController.java index cfaf8028..aba9ff3b 100644 --- a/src/main/java/itn/web/MainController.java +++ b/src/main/java/itn/web/MainController.java @@ -12,6 +12,9 @@ import java.security.PrivateKey; import java.security.PublicKey; import java.security.spec.RSAPublicKeySpec; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -106,6 +109,7 @@ import itn.let.lett.service.LetterVO; import itn.let.mjo.addr.service.AddrTransHistService; import itn.let.mjo.addr.service.AddrTransHistVO; import itn.let.mjo.event.service.MjonEventService; +import itn.let.mjo.event.service.MjonEventVO; import itn.let.mjo.kisa.service.KisaService; import itn.let.mjo.kisa.service.KisaVO; import itn.let.mjo.mjocommon.MjonForienIpChk; @@ -130,6 +134,7 @@ import itn.let.sym.mnu.mpm.service.MenuManageVO; import itn.let.sym.prm.service.EgovProgrmManageService; import itn.let.sym.prm.service.ProgrmManageVO; import itn.let.sym.site.service.EgovSiteManagerService; +import itn.let.sym.site.service.JoinSettingVO; import itn.let.sym.site.service.MetaTagVO; import itn.let.sym.site.service.SiteManagerVO; import itn.let.uss.umt.service.EgovMberManageService; @@ -1256,6 +1261,38 @@ public class MainController { model.addAttribute("mberManageVO", userManageService.selectUserInfo(mberManageVO)); } + /* + * 회원별 정보(단가), 기본 단가, 남은 이벤트 기간 조회 + * 2025.07.25 이지우 추가 + * */ + MberManageVO mberPriceVO = new MberManageVO(); + JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo(); + MjonEventVO mjonEventVO = new MjonEventVO(); + if(loginVO != null) { + mberPriceVO = mberManageService.selectMber(loginVO.getId()); + if(!(mberPriceVO.getShortPrice() > 0)) mberPriceVO.setShortPrice(sysJoinSetVO.getShortPrice()); + if(!(mberPriceVO.getLongPrice() > 0)) mberPriceVO.setLongPrice(sysJoinSetVO.getLongPrice()); + if(!(mberPriceVO.getPicturePrice() > 0)) mberPriceVO.setPicturePrice(sysJoinSetVO.getPicturePrice()); + if(!(mberPriceVO.getPicture2Price() > 0)) mberPriceVO.setPicture2Price(sysJoinSetVO.getPicture2Price()); + if(!(mberPriceVO.getPicture3Price() > 0)) mberPriceVO.setPicture3Price(sysJoinSetVO.getPicture3Price()); + //카카오, 팩스는 기본단가 고정 + mberPriceVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); + mberPriceVO.setFaxPrice(sysJoinSetVO.getFaxPrice()); + + mjonEventVO.setMberId(loginVO.getId()); + mjonEventVO = mjonEventService.selectEventMsgMberDefaultInfo(mjonEventVO); + String eventEndDateStr = ""; + if(StringUtil.isNotEmpty(mjonEventVO.getEventEndDate())) { + eventEndDateStr = mjonEventVO.getEventEndDate(); + LocalDate today = LocalDate.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate eventEndDate = LocalDate.parse(eventEndDateStr, formatter); + long eventLeftDay = ChronoUnit.DAYS.between(today, eventEndDate); + model.addAttribute("eventLeftDay", eventLeftDay); + } + + } + model.addAttribute("mberPriceVO", mberPriceVO); return "web/com/webCommonHeader"; } diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index 71ddc8e0..898c6dbf 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -1398,14 +1398,14 @@ function actionLogin_end(){ @@ -1627,7 +1627,9 @@ function actionLogin_end(){
  • -
    마이페이지
    + <%-- 250724 마이페이지 대시보드 삭제 --%> + <%--
    마이페이지
    --%> +
    마이페이지
    • 회원정보 변경
    • @@ -1744,8 +1746,9 @@ function actionLogin_end(){
    diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp index 29591d82..80792b31 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp @@ -41,7 +41,7 @@ function getNextPayMethod() { var nextPayMethod = ""; $.ajax({ type: "POST", - url: "/web/member/pay/selectNextPayMethodAjax.do", + url: "/web/member/pay/selectLastPayMethodAjax.do", data: {}, dataType:'json', async: false, diff --git a/src/main/webapp/WEB-INF/jsp/web/user/mberCompanyInfoChange.jsp b/src/main/webapp/WEB-INF/jsp/web/user/mberCompanyInfoChange.jsp index bed33f22..77664f19 100644 --- a/src/main/webapp/WEB-INF/jsp/web/user/mberCompanyInfoChange.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/user/mberCompanyInfoChange.jsp @@ -247,20 +247,17 @@ function updateUserInfo(){ return false; } - if($("#emailId").val() != ""|| $("#emailAdd").val() != ""){ - if($("#emailAdd").val() != ""){ - var email = $("#emailId").val() + "@" + $("#emailAdd").val(); - var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i; - if(taxExptext.test(email)==false){ - alert("이메일주소 형식이 올바르지 않습니다."); - return false; - } - - $("#mberEmailAdres").val(email); - }else{ - alert("이메일 주소를 확인해 주세요"); + if($("#emailId").val().trim() == "" || $("#emailAdd").val().trim() == ""){ + alert("이메일은 필수 입력 항목입니다.") + return false; + }else { + var email = $("#emailId").val() + "@" + $("#emailAdd").val(); + var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i; + if(taxExptext.test(email)==false){ + alert("이메일주소 형식이 올바르지 않습니다."); return false; } + $("#mberEmailAdres").val(email); } if("${cmpPhoneChangeManageVO.hstSttus}" == '03'){ @@ -678,7 +675,7 @@ function changeValueWork(obj){
    -
    *이메일
    +
    이메일
    From b89f6af826af5617e66dd5cbad7b117932b4d371 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Wed, 30 Jul 2025 15:57:10 +0900 Subject: [PATCH 17/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EA=B2=80=EC=83=89=20=EA=B8=B0=EA=B0=84=20=EC=A0=9C=ED=95=9C=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/publish/js/dateUtils.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/webapp/publish/js/dateUtils.js b/src/main/webapp/publish/js/dateUtils.js index abe6ffcb..ea2648f3 100644 --- a/src/main/webapp/publish/js/dateUtils.js +++ b/src/main/webapp/publish/js/dateUtils.js @@ -113,14 +113,14 @@ function getDateStr(myDate){ } /** - * 검색 날짜관련 ID로 검색 시작일 최대 기한을 제한 function + * 검색 날짜관련 ID로 검색 시작일 최대 기간을 제한 function * @param {String} a 검색 시작 ID - * @param {String} b 최대 기한 달 수 - * @returns {Boolean} a날짜와 현재 날짜를 비교해서 b월 이상이면 false 이하면 true + * @param {String} b 최대 기간 달 수 + * @returns {Boolean} a날짜와 현재 날짜를 비교해서 차이가 b월 이상이면 false 이하면 true */ function fn_G_limitDateChk(startId, limitMonth) { - // 시작일자 가져오기 - var startDate = document.getElementById(startId).value; + // 시작일자 가져오기 + var startDate = document.getElementById(startId).value; // 날짜 형식으로 변환 및 현재 날짜 설정 var start = new Date(startDate); @@ -130,7 +130,7 @@ function fn_G_limitDateChk(startId, limitMonth) { maxDate.setMonth(maxDate.getMonth() - limitMonth); if(start < maxDate){ - alert("검색 시작일자를 최근 3개월 이내로 입력해주세요."); + alert("검색 시작일자를 최근 "+limitMonth+"개월 이내로 입력해주세요."); return false; } return true; From 47b8d7668a360ed695274d004c289651b21ce5c4 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 7 Aug 2025 17:12:15 +0900 Subject: [PATCH 18/23] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=82=B4=EC=97=AD=20=EB=82=B4=20=EC=95=8C?= =?UTF-8?q?=EB=A6=BC=ED=86=A1=20=EC=83=81=EC=84=B8=20=ED=8C=9D=EC=97=85=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/kakao/sent/KakaoSentDetailPopAjax.jsp | 123 ++++++++++-------- 1 file changed, 68 insertions(+), 55 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailPopAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailPopAjax.jsp index c79bc2e8..ef53badc 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailPopAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailPopAjax.jsp @@ -21,53 +21,64 @@
    -

    -
    -
    - +
    + + 발송일시 : + - 알림톡 도착 - 친구톡 도착 + 알림톡 + 친구톡 -
    -
    - - -

    -

    -
    - -
    - -
    -
    -
    - -

    - -

    - - - -

    -
    - -

    -
    -
    - - - - - - - - - - - -
    + +
    +
    +
    +
    + + + 알림톡 도착 + 친구톡 도착 + +
    +
    + + +

    +

    +
    + +
    + +
    +
    +
    + +

    + +

    + + + +

    +
    + +

    +
    +
    + + + + + + + + + + + +
    +

    ※ 단말기 설정에 따라 다르게 보일 수 있습니다

    @@ -81,33 +92,35 @@