이지우 - 결제관리 수정 작업
@48390332577028c1fd7ade1050eb021aab572d50
--- src/main/java/itn/let/mjo/pay/service/MjonPayService.java
+++ src/main/java/itn/let/mjo/pay/service/MjonPayService.java
... | ... | @@ -146,5 +146,8 @@ |
| 146 | 146 |
Map<String, Object> payUserSWList(MjonPayVO mjonPayVO) throws Exception; |
| 147 | 147 |
|
| 148 | 148 |
Map<String, Object> payUserSWListAjax(MjonMsgVO mjonMsgVO) throws Exception; |
| 149 |
+ |
|
| 150 |
+ //거래명세서 상세 조회 |
|
| 151 |
+ MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception; |
|
| 149 | 152 |
|
| 150 | 153 |
} |
--- src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
+++ src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
... | ... | @@ -239,5 +239,11 @@ |
| 239 | 239 |
|
| 240 | 240 |
private String totChgPay; // 간편결제분류 |
| 241 | 241 |
|
| 242 |
+ // 거래명세서 내용 |
|
| 243 |
+ private String bizNo; // 사업자등록번호 |
|
| 244 |
+ private String managerNm; // 담당자명 |
|
| 245 |
+ private String prePaymentYn; // 선불결제여부 N:후불제고객 |
|
| 246 |
+ private String dept; // 회원종류 p:개인 c:기업 |
|
| 247 |
+ |
|
| 242 | 248 |
|
| 243 | 249 |
} |
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
... | ... | @@ -353,5 +353,8 @@ |
| 353 | 353 |
return result; |
| 354 | 354 |
|
| 355 | 355 |
} |
| 356 |
- |
|
| 356 |
+ |
|
| 357 |
+ public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception{
|
|
| 358 |
+ return (MjonPayVO)select("mjonPayDAO.selectPayDetail", mjonPayVO);
|
|
| 359 |
+ } |
|
| 357 | 360 |
} |
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
... | ... | @@ -2933,7 +2933,7 @@ |
| 2933 | 2933 |
returnData.put("unPaymentPointAfterPay", unPaymentPointAfterPay);
|
| 2934 | 2934 |
returnData.put("negoPriceYn", negoPriceYn);
|
| 2935 | 2935 |
// 초기 날짜 셋팅 |
| 2936 |
- returnData.put("startDate", DateUtils.getDateMonthsAgo(12));
|
|
| 2936 |
+ returnData.put("startDate", DateUtils.getDateMonthsAgo(1));
|
|
| 2937 | 2937 |
returnData.put("endDate", DateUtils.getCurrentDate());
|
| 2938 | 2938 |
|
| 2939 | 2939 |
|
... | ... | @@ -2969,5 +2969,9 @@ |
| 2969 | 2969 |
|
| 2970 | 2970 |
return returnData; |
| 2971 | 2971 |
} |
| 2972 |
- |
|
| 2972 |
+ |
|
| 2973 |
+ @Override |
|
| 2974 |
+ public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception {
|
|
| 2975 |
+ return mjonPayDAO.selectPayDetail(mjonPayVO); |
|
| 2976 |
+ } |
|
| 2973 | 2977 |
} |
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
... | ... | @@ -4911,6 +4911,7 @@ |
| 4911 | 4911 |
String mberNm = ""; // 회사명 |
| 4912 | 4912 |
String managerNm = ""; // 담당자명 |
| 4913 | 4913 |
String moblphonNo = ""; // 연락처 |
| 4914 |
+ String mberEmailAdres = ""; //이메일 |
|
| 4914 | 4915 |
MberManageVO mberManageVO = new MberManageVO(); |
| 4915 | 4916 |
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); |
| 4916 | 4917 |
if (mberManageVO != null) {
|
... | ... | @@ -4919,17 +4920,22 @@ |
| 4919 | 4920 |
mberNm = mberManageVO.getMberNm(); |
| 4920 | 4921 |
managerNm = mberManageVO.getManagerNm(); |
| 4921 | 4922 |
moblphonNo = mberManageVO.getMoblphonNo(); |
| 4923 |
+ mberEmailAdres = mberManageVO.getMberEmailAdres(); |
|
| 4922 | 4924 |
} |
| 4923 | 4925 |
else {
|
| 4924 | 4926 |
mberNm = mberManageVO.getMberNm(); |
| 4925 | 4927 |
managerNm = mberManageVO.getMberNm(); |
| 4926 | 4928 |
moblphonNo = mberManageVO.getMoblphonNo(); |
| 4929 |
+ mberEmailAdres = mberManageVO.getMberEmailAdres(); |
|
| 4927 | 4930 |
} |
| 4928 | 4931 |
} |
| 4929 | 4932 |
|
| 4930 | 4933 |
model.addAttribute("mberNm", mberNm);
|
| 4931 | 4934 |
model.addAttribute("managerNm", managerNm);
|
| 4932 | 4935 |
model.addAttribute("moblphonNo", moblphonNo);
|
| 4936 |
+ model.addAttribute("bizNo", mberManageVO.getBizNo());
|
|
| 4937 |
+ model.addAttribute("mberEmailAdres", mberEmailAdres);
|
|
| 4938 |
+ model.addAttribute("dept", mberManageVO.getDept());
|
|
| 4933 | 4939 |
|
| 4934 | 4940 |
//부가세 포함 가격 정보 계산 |
| 4935 | 4941 |
double addTax = Math.round(totalSumPrice * 0.1); |
... | ... | @@ -6047,7 +6053,39 @@ |
| 6047 | 6053 |
|
| 6048 | 6054 |
return "/uss/ion/pay/cashPointSendList"; |
| 6049 | 6055 |
} |
| 6050 |
- |
|
| 6056 |
+ |
|
| 6057 |
+ /** |
|
| 6058 |
+ * * 거래명세서 팝업 |
|
| 6059 |
+ * @param searchVO |
|
| 6060 |
+ * @param model |
|
| 6061 |
+ * @return "/web/member/pay/payInvoicePopupAjax.do" |
|
| 6062 |
+ * @throws Exception |
|
| 6063 |
+ */ |
|
| 6064 |
+ @RequestMapping(value= {"/web/member/pay/payInvoicePopupAjax.do"})
|
|
| 6065 |
+ public String printInvoiceAjax( |
|
| 6066 |
+ @ModelAttribute("searchVO") MjonPayVO mjonPayVO
|
|
| 6067 |
+ , RedirectAttributes redirectAttributes |
|
| 6068 |
+ , ModelMap model) throws Exception {
|
|
| 6069 |
+ |
|
| 6070 |
+ |
|
| 6071 |
+ |
|
| 6072 |
+ //로그인 권한정보 불러오기 |
|
| 6073 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 6074 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 6075 |
+ |
|
| 6076 |
+ if(loginVO == null) {
|
|
| 6077 |
+ //redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다.");
|
|
| 6078 |
+ return "redirect:/web/user/login/login.do"; |
|
| 6079 |
+ } |
|
| 6080 |
+ |
|
| 6081 |
+ mjonPayVO.setUserId(userId); |
|
| 6082 |
+ |
|
| 6083 |
+ //결제 정보 불러오기 |
|
| 6084 |
+ MjonPayVO result = mjonPayService.selectPayDetail(mjonPayVO); |
|
| 6085 |
+ model.addAttribute("result", result);
|
|
| 6086 |
+ |
|
| 6087 |
+ return "web/pay/payInvoicePrintPopup"; |
|
| 6088 |
+ } |
|
| 6051 | 6089 |
/** |
| 6052 | 6090 |
* @param p_pattern |
| 6053 | 6091 |
* @param p_mjonPayVO |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -2180,6 +2180,8 @@ |
| 2180 | 2180 |
, BLINE_CODE AS blineCode |
| 2181 | 2181 |
, AT_SMISHING_YN AS atSmishingYn |
| 2182 | 2182 |
, PRE_PAYMENT_YN AS prePaymentYn |
| 2183 |
+ , BIZ_NO AS bizNo |
|
| 2184 |
+ , MBER_EMAIL_ADRES AS mberEmailAdres |
|
| 2183 | 2185 |
FROM LETTNGNRLMBER |
| 2184 | 2186 |
WHERE MBER_ID = #userId# |
| 2185 | 2187 |
|
--- src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
... | ... | @@ -100,6 +100,7 @@ |
| 100 | 100 |
, D.CODE_NM AS rcptTypeTxt |
| 101 | 101 |
, E.CONFIRM_YN AS confirmYn |
| 102 | 102 |
, E.RCPT_TYPE AS rcptType |
| 103 |
+ , E.CONFIRM_DATE AS confirmDate |
|
| 103 | 104 |
, IFNULL(MP.POINT, '0') AS point |
| 104 | 105 |
, EMI.EVENT_PG_MOID AS eventMoid |
| 105 | 106 |
, mber.SMISHING_YN AS smishingYn |
... | ... | @@ -148,6 +149,7 @@ |
| 148 | 149 |
MOID |
| 149 | 150 |
, CONFIRM_YN |
| 150 | 151 |
, RCPT_TYPE |
| 152 |
+ , CONFIRM_DATE |
|
| 151 | 153 |
FROM |
| 152 | 154 |
MJ_TAX |
| 153 | 155 |
WHERE 1=1 |
... | ... | @@ -2355,4 +2357,26 @@ |
| 2355 | 2357 |
|
| 2356 | 2358 |
</select> |
| 2357 | 2359 |
|
| 2360 |
+ <select id="mjonPayDAO.selectPayDetail" parameterClass="mjonPayVO" resultClass="mjonPayVO"> |
|
| 2361 |
+ |
|
| 2362 |
+ SELECT |
|
| 2363 |
+ LM.BIZ_NO AS bizNo |
|
| 2364 |
+ , LM.MBER_NM AS mberNm |
|
| 2365 |
+ , LM.MANAGER_NM AS managerNm |
|
| 2366 |
+ , LM.MBTLNUM AS mbtlNum |
|
| 2367 |
+ , LM.MBER_EMAIL_ADRES AS email |
|
| 2368 |
+ , LM.PRE_PAYMENT_YN AS prePaymentYn |
|
| 2369 |
+ , LM.DEPT AS dept |
|
| 2370 |
+ , LM.USER_MONEY AS userMoney |
|
| 2371 |
+ , MP.REG_DATE AS regDate |
|
| 2372 |
+ , MP.AMT AS amt |
|
| 2373 |
+ , MP.CASH AS cash |
|
| 2374 |
+ FROM LETTNGNRLMBER LM |
|
| 2375 |
+ LEFT JOIN MJ_PG MP |
|
| 2376 |
+ ON MP.USER_ID = LM.MBER_ID |
|
| 2377 |
+ WHERE LM.MBER_ID = #userId# |
|
| 2378 |
+ AND MP.MOID = #moid# |
|
| 2379 |
+ |
|
| 2380 |
+ </select> |
|
| 2381 |
+ |
|
| 2358 | 2382 |
</sqlMap>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp
... | ... | @@ -68,22 +68,60 @@ |
| 68 | 68 |
</colgroup> |
| 69 | 69 |
<tbody> |
| 70 | 70 |
<tr> |
| 71 |
- <th>수<span class="blank"></span>신</th> |
|
| 72 |
- <td>${mberNm}</td>
|
|
| 71 |
+ <th>등록번호</th> |
|
| 72 |
+ <td> |
|
| 73 |
+ <c:choose> |
|
| 74 |
+ <c:when test="${dept eq'c'}">
|
|
| 75 |
+ <c:out value="${bizNo}"/>
|
|
| 76 |
+ </c:when> |
|
| 77 |
+ <c:otherwise> |
|
| 78 |
+ - |
|
| 79 |
+ </c:otherwise> |
|
| 80 |
+ </c:choose> |
|
| 81 |
+ </td> |
|
| 73 | 82 |
</tr> |
| 74 | 83 |
<tr> |
| 75 |
- <th>참<span class="blank"></span>조</th> |
|
| 76 |
- <td>담당자 ${managerNm} 님</td>
|
|
| 84 |
+ <th>상<span class="blank"></span>호</th> |
|
| 85 |
+ <td> |
|
| 86 |
+ <c:choose> |
|
| 87 |
+ <c:when test="${dept eq'c'}">
|
|
| 88 |
+ <c:out value="${mberNm}"/>
|
|
| 89 |
+ </c:when> |
|
| 90 |
+ <c:otherwise> |
|
| 91 |
+ - |
|
| 92 |
+ </c:otherwise> |
|
| 93 |
+ </c:choose> |
|
| 94 |
+ </td> |
|
| 77 | 95 |
</tr> |
| 78 | 96 |
<tr> |
| 79 |
- <th>거래일자</th> |
|
| 80 |
- <td>${startDate}~${endDate}</td>
|
|
| 97 |
+ <th>성<span class="blank"></span>명</th> |
|
| 98 |
+ <td> |
|
| 99 |
+ <c:choose> |
|
| 100 |
+ <c:when test="${dept eq'c'}">
|
|
| 101 |
+ <c:out value="${managerNm}"/>
|
|
| 102 |
+ </c:when> |
|
| 103 |
+ <c:otherwise> |
|
| 104 |
+ <c:out value="${mberName}"/>
|
|
| 105 |
+ </c:otherwise> |
|
| 106 |
+ </c:choose> |
|
| 107 |
+ </td> |
|
| 108 |
+ </tr> |
|
| 109 |
+ <tr> |
|
| 110 |
+ <th>전화번호</th> |
|
| 111 |
+ <td><c:out value="${moblphonNo}"/></td>
|
|
| 112 |
+ </tr> |
|
| 113 |
+ <tr> |
|
| 114 |
+ <th style="letter-spacing:-0.85px;">이 메 일</th> |
|
| 115 |
+ <td><c:out value="${mberEmailAdres}"/></td>
|
|
| 116 |
+ </tr> |
|
| 117 |
+ <tr> |
|
| 118 |
+ <td colspan="2" style="text-align:center;"><span><c:if test="${dept eq'c'}">주식회사 </c:if><c:out value="${mberNm}"/></span>님의 사용내역(<c:out value="${startDate}"/>~<c:out value="${endDate}"/>)을 아래와 같이 확인합니다.</td>
|
|
| 81 | 119 |
</tr> |
| 82 | 120 |
</tbody> |
| 83 | 121 |
</table> |
| 84 | 122 |
</div> |
| 85 | 123 |
</div> |
| 86 |
- <div class="cont2 clearfix"> |
|
| 124 |
+ <%-- <div class="cont2 clearfix"> |
|
| 87 | 125 |
<p>총 사용금액</p> |
| 88 | 126 |
<c:choose> |
| 89 | 127 |
<c:when test="${searchVO.addVatType eq 'N'}">
|
... | ... | @@ -93,7 +131,7 @@ |
| 93 | 131 |
<p><span>${addTaxSumPrice}</span> 원(VAT 포함)</p>
|
| 94 | 132 |
</c:otherwise> |
| 95 | 133 |
</c:choose> |
| 96 |
- </div> |
|
| 134 |
+ </div> --%> |
|
| 97 | 135 |
<div class="cont3"> |
| 98 | 136 |
<p>(단위 : 원, 건)</p> |
| 99 | 137 |
<div class="est_table2_wrap"> |
... | ... | @@ -188,52 +226,14 @@ |
| 188 | 226 |
</div> |
| 189 | 227 |
</div> |
| 190 | 228 |
|
| 191 |
- <div class="cont4"> |
|
| 192 |
- <table class="est_table"> |
|
| 193 |
- <caption>공급가액, 총 결제금액에 대한 표</caption> |
|
| 194 |
- <colgroup> |
|
| 195 |
- <col style="width: 100px;"> |
|
| 196 |
- <col style="width: auto;"> |
|
| 197 |
- </colgroup> |
|
| 198 |
- <tbody> |
|
| 199 |
- <tr> |
|
| 200 |
- <th>공급가액</th> |
|
| 201 |
- <td><span>${supplySumPrice}</span></td>
|
|
| 202 |
- </tr> |
|
| 203 |
- <c:choose> |
|
| 204 |
- <c:when test="${not empty resultList || not empty payUserSumFaxList}">
|
|
| 205 |
- <c:choose> |
|
| 206 |
- <c:when test="${searchVO.addVatType eq 'N'}">
|
|
| 207 |
- <tr class="total_price"> |
|
| 208 |
- <th>총 사용금액</th> |
|
| 209 |
- <td><span>${totalSumPrice}</span></td>
|
|
| 210 |
- </tr> |
|
| 211 |
- </c:when> |
|
| 212 |
- <c:otherwise> |
|
| 213 |
- <tr> |
|
| 214 |
- <th>세액(부가세)</th> |
|
| 215 |
- <td>${addTax}</td>
|
|
| 216 |
- </tr> |
|
| 217 |
- <tr class="total_price"> |
|
| 218 |
- <th>총 사용금액</th> |
|
| 219 |
- <td><span>${addTaxSumPrice}</span></td>
|
|
| 220 |
- </tr> |
|
| 221 |
- </c:otherwise> |
|
| 222 |
- </c:choose> |
|
| 223 |
- </c:when> |
|
| 224 |
- <c:otherwise> |
|
| 225 |
- <c:if test="${ empty resultList && empty payUserSumFaxList}">
|
|
| 226 |
- <tr> |
|
| 227 |
- <td colspan="5"> |
|
| 228 |
- 사용내역이 없습니다. |
|
| 229 |
- </td> |
|
| 230 |
- </tr> |
|
| 231 |
- </c:if> |
|
| 232 |
- </c:otherwise> |
|
| 233 |
- </c:choose> |
|
| 234 |
- </tbody> |
|
| 235 |
- </table> |
|
| 229 |
+ <div class="cont2 clearfix"> |
|
| 230 |
+ <p>총 사용금액 <span>(VAT 별도)</span></p> |
|
| 231 |
+ <p><span> |
|
| 232 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${supplySumPrice}" var="commaPrice" />
|
|
| 233 |
+ <c:out value="${commaPrice}"/>
|
|
| 234 |
+ </span>원</p> |
|
| 236 | 235 |
</div> |
| 236 |
+ |
|
| 237 | 237 |
<div class="cont5"> |
| 238 | 238 |
<p><span>${year} 년 <span>${month}</span> 월 <span>${day}</span> 일</p>
|
| 239 | 239 |
<div> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
... | ... | @@ -141,21 +141,11 @@ |
| 141 | 141 |
} |
| 142 | 142 |
|
| 143 | 143 |
//환불요청 내역 프린트 출력 팝업 |
| 144 |
-function fnShowRefundPrintPopup(){
|
|
| 145 |
- |
|
| 146 |
- //날자 체크 |
|
| 147 |
- if( $('#startDate').val() != '' && $('#endDate').val() != '' ){
|
|
| 148 |
- var iChkBeginDe = Number($('#startDate').val().replaceAll("/", ""));
|
|
| 149 |
- var iChkEndDe = Number($('#endDate').val().replaceAll("/", ""));
|
|
| 150 |
- if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
|
| 151 |
- alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다.");
|
|
| 152 |
- return; |
|
| 153 |
- } |
|
| 154 |
- } |
|
| 144 |
+function fnShowRefundPrintPopup(moid){
|
|
| 155 | 145 |
|
| 156 | 146 |
//만들려는 팝업의 크기 |
| 157 |
- var popup_wid = '840'; |
|
| 158 |
- var popup_ht = '900'; |
|
| 147 |
+ var popup_wid = '790'; |
|
| 148 |
+ var popup_ht = '800'; |
|
| 159 | 149 |
|
| 160 | 150 |
var popup_left = (window.screen.width / 2) - (popup_wid / 2); |
| 161 | 151 |
var popup_top =(window.screen.height / 2) - (popup_ht / 2); |
... | ... | @@ -165,6 +155,23 @@ |
| 165 | 155 |
$("#listForm").attr({"action":"/web/member/pay/PayPrintRefundListPopUpAjax.do", "method":"post"}).submit();
|
| 166 | 156 |
} |
| 167 | 157 |
|
| 158 |
+//거래명세서 팝업 |
|
| 159 |
+function fnShowPayInvoicePrintPopup(moid){
|
|
| 160 |
+ |
|
| 161 |
+ |
|
| 162 |
+ //만들려는 팝업의 크기 |
|
| 163 |
+ var popup_wid = '790'; |
|
| 164 |
+ var popup_ht = '800'; |
|
| 165 |
+ |
|
| 166 |
+ var popup_left = (window.screen.width / 2) - (popup_wid / 2); |
|
| 167 |
+ var popup_top =(window.screen.height / 2) - (popup_ht / 2); |
|
| 168 |
+ |
|
| 169 |
+ document.invoiceForm.moid.value = moid; |
|
| 170 |
+ |
|
| 171 |
+ $("#invoiceForm").attr("target","invoicePrint");
|
|
| 172 |
+ window.open('', 'invoicePrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
|
|
| 173 |
+ $("#invoiceForm").attr({"action":"/web/member/pay/payInvoicePopupAjax.do", "method":"post"}).submit();
|
|
| 174 |
+} |
|
| 168 | 175 |
</script> |
| 169 | 176 |
|
| 170 | 177 |
<!-- content 영역 --> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
... | ... | @@ -423,6 +423,7 @@ |
| 423 | 423 |
<p class="accountinfo"><span>-입금은행:</span>우리은행<span>-입금계좌:</span>1005-904-154328<span>-받는사람:</span>주식회사 아이티앤</p> |
| 424 | 424 |
</c:otherwise> |
| 425 | 425 |
</c:choose> |
| 426 |
+ ※ 거래명세서는 세금계산서 발행일로부터 30일 이내에만 출력 가능합니다. |
|
| 426 | 427 |
</div> |
| 427 | 428 |
<div style="padding-top: 10px;"> |
| 428 | 429 |
<button type="button" class="level_btn" data-tooltip="level_check_popup01" id="levelIconBtn" style="display: none;"> |
... | ... | @@ -447,15 +448,13 @@ |
| 447 | 448 |
<div class="tb_wrap pay3_list"> |
| 448 | 449 |
<table class="tType4"> |
| 449 | 450 |
<colgroup> |
| 450 |
- <%-- <col style="width: 40px;"> --%> |
|
| 451 | 451 |
<col style="width: 5%;"> |
| 452 | 452 |
<col style="width: 18%;"> |
| 453 | 453 |
<col style="width: 20%;"> |
| 454 | 454 |
<col style="width: 15%;"> |
| 455 | 455 |
<col style="width: 15%;"> |
| 456 | 456 |
<col style="width: 15%;"> |
| 457 |
- <%-- <col style="width: 30%;"> --%> |
|
| 458 |
- <col style="width: 20%;"> |
|
| 457 |
+ <col style="width: 25%;"> |
|
| 459 | 458 |
</colgroup> |
| 460 | 459 |
<thead> |
| 461 | 460 |
<tr> |
... | ... | @@ -506,7 +505,25 @@ |
| 506 | 505 |
<tbody> |
| 507 | 506 |
<c:choose> |
| 508 | 507 |
<c:when test="${not empty resultList}">
|
| 508 |
+ <!-- 오늘날짜 - 거래명세서 버튼 조건으로 사용 --> |
|
| 509 |
+ <c:set var="now" value="<%=new java.util.Date()%>" /> |
|
| 510 |
+ |
|
| 509 | 511 |
<c:forEach var="result" items="${resultList}" varStatus="status">
|
| 512 |
+ <!-- 거래명세서 버튼 조건(250723) |
|
| 513 |
+ 1.전용계좌 or 즉시이체 |
|
| 514 |
+ 2.세금계산서 발행 완료 이후 30일간 노출 |
|
| 515 |
+ 3.발행 최대 횟수 2회 --> |
|
| 516 |
+ <c:set var="invoiceYn" value="N"/> |
|
| 517 |
+ <c:if test="${(result.payMethod eq 'BANK' or result.payMethod eq 'VBANK')
|
|
| 518 |
+ and (result.confirmYn eq 'Y' and result.rcptType eq '9')}"> |
|
| 519 |
+ <c:set var="confirmDateStr" value="${fn:substring(result.confirmDate,0,10)}" />
|
|
| 520 |
+ <fmt:parseDate value="${confirmDateStr}" pattern="yyyy-MM-dd" var="confirmDateObj" />
|
|
| 521 |
+ <c:set var="dayDiff" value="${(now.time - confirmDateObj.time) / (1000*60*60*24)}" />
|
|
| 522 |
+ <c:if test="${dayDiff <= 31}">
|
|
| 523 |
+ <c:set var="invoiceYn" value="Y"/> |
|
| 524 |
+ </c:if> |
|
| 525 |
+ </c:if> |
|
| 526 |
+ |
|
| 510 | 527 |
<tr class="tType3_bd"> |
| 511 | 528 |
<%-- <td> |
| 512 | 529 |
<label for="" class="label">한 줄 전체 선택</label> <input type="checkbox" name="eachChk"> |
... | ... | @@ -628,7 +645,7 @@ |
| 628 | 645 |
</c:if> |
| 629 | 646 |
<!-- 발행완료 --> |
| 630 | 647 |
<c:if test="${result.confirmYn eq 'Y'}">
|
| 631 |
- <c:if test="${result.rcptType eq '9'}">
|
|
| 648 |
+ <c:if test="${result.rcptType eq '9' and invoiceYn eq 'N'}">
|
|
| 632 | 649 |
<p class="fwRg c_002c9a">세금계산서 발행완료</p> |
| 633 | 650 |
</c:if> |
| 634 | 651 |
<c:if test="${result.rcptType eq '1' || result.rcptType eq '2'}">
|
... | ... | @@ -694,7 +711,7 @@ |
| 694 | 711 |
</c:if> |
| 695 | 712 |
<!-- 발행완료 --> |
| 696 | 713 |
<c:if test="${result.confirmYn eq 'Y'}">
|
| 697 |
- <c:if test="${result.rcptType eq '9'}">
|
|
| 714 |
+ <c:if test="${result.rcptType eq '9' and invoiceYn eq 'N'}">
|
|
| 698 | 715 |
<p class="fwRg c_002c9a">세금계산서 발행완료</p> |
| 699 | 716 |
</c:if> |
| 700 | 717 |
<c:if test="${result.rcptType eq '1' || result.rcptType eq '2'}">
|
... | ... | @@ -712,7 +729,13 @@ |
| 712 | 729 |
</c:if> |
| 713 | 730 |
</c:if> |
| 714 | 731 |
</c:otherwise> |
| 715 |
- </c:choose> |
|
| 732 |
+ </c:choose> |
|
| 733 |
+ |
|
| 734 |
+ <c:if test="${invoiceYn eq 'Y'}">
|
|
| 735 |
+ <!-- <button class="btnType btnType20 btn_use_status" onclick="window.open('/publish/transaction_statement.html','','width=790,height=800')">거래명세서</button> -->
|
|
| 736 |
+ <button class="btnType btnType20 btn_use_status" onclick="fnShowPayInvoicePrintPopup('<c:out value="${result.moid}"/>'); return false;">거래명세서</button>
|
|
| 737 |
+ </c:if> |
|
| 738 |
+ |
|
| 716 | 739 |
</td> |
| 717 | 740 |
</tr> |
| 718 | 741 |
</c:forEach> |
... | ... | @@ -1065,4 +1088,8 @@ |
| 1065 | 1088 |
</div> |
| 1066 | 1089 |
</div> |
| 1067 | 1090 |
</div> |
| 1091 |
+ <!-- 거래명세서 팝업 --> |
|
| 1092 |
+ <form id="invoiceForm" name="invoiceForm" method="post"> |
|
| 1093 |
+ <input type="hidden" id="moid" name="moid" value=""/> |
|
| 1094 |
+ </form> |
|
| 1068 | 1095 |
<!-- 등급 및 누적결제액 확인 팝업 data-tooltip:level_check_popup01 끝 --> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
... | ... | @@ -24,6 +24,9 @@ |
| 24 | 24 |
var lastfuledday = ""; |
| 25 | 25 |
var thisfulstlday = ""; |
| 26 | 26 |
var thisfuledtlday = ""; |
| 27 |
+var threefulstday = ""; |
|
| 28 |
+var threefuledday = ""; |
|
| 29 |
+ |
|
| 27 | 30 |
$(document).ready(function(){
|
| 28 | 31 |
payUserListAjax(1); |
| 29 | 32 |
var date = new Date() ; |
... | ... | @@ -46,6 +49,21 @@ |
| 46 | 49 |
|
| 47 | 50 |
thisYearStart = date.getFullYear() + "/01/01" ; |
| 48 | 51 |
thisYearEnd = date.getFullYear() + "/12/31" ; |
| 52 |
+ |
|
| 53 |
+ //시작일 3개월 / 종료일 현재 조회 |
|
| 54 |
+ var threeMonthAgo = new Date(date); |
|
| 55 |
+ threeMonthAgo.setMonth(threeMonthAgo.getMonth() - 3); |
|
| 56 |
+ threeMonthAgo.setDate(threeMonthAgo.getDate() + 1); //하루 더하기 |
|
| 57 |
+ |
|
| 58 |
+ threefulstday = threeMonthAgo.getFullYear() + "/"; |
|
| 59 |
+ threefulstday += (threeMonthAgo.getMonth() + 1) < 10 ? "0" + (threeMonthAgo.getMonth() + 1) : (threeMonthAgo.getMonth() + 1) + ""; |
|
| 60 |
+ threefulstday += "/"; |
|
| 61 |
+ threefulstday += threeMonthAgo.getDate() < 10 ? "0" + threeMonthAgo.getDate() : threeMonthAgo.getDate(); |
|
| 62 |
+ |
|
| 63 |
+ threefuledday = date.getFullYear() + "/"; |
|
| 64 |
+ threefuledday += (date.getMonth() + 1) < 10 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1) + ""; |
|
| 65 |
+ threefuledday += "/"; |
|
| 66 |
+ threefuledday += date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); |
|
| 49 | 67 |
|
| 50 | 68 |
$(document).on('change','#pageUnitS', function(){
|
| 51 | 69 |
setPageUnit($(this).val()); |
... | ... | @@ -72,6 +90,9 @@ |
| 72 | 90 |
return; |
| 73 | 91 |
}; |
| 74 | 92 |
|
| 93 |
+ if(!fn_G_limitDateChk("startDate", 3)){
|
|
| 94 |
+ return; |
|
| 95 |
+ }; |
|
| 75 | 96 |
|
| 76 | 97 |
document.listForm.pageIndex.value = pageNo; |
| 77 | 98 |
var sendData= $(document.listForm).serializeArray(); |
... | ... | @@ -519,9 +540,9 @@ |
| 519 | 540 |
<span class="dateEtc">~</span> |
| 520 | 541 |
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="${endDate }" data-datecontrol="true">
|
| 521 | 542 |
</div> |
| 522 |
- <button type="button" onclick="setCalVal(thisYearStart,'startDate');setCalVal( thisYearEnd,'endDate'); return false;" class="btnType btnType19">이번년도</button> |
|
| 523 | 543 |
<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button> |
| 524 | 544 |
<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button> |
| 545 |
+ <button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button> |
|
| 525 | 546 |
<button type="button" class="btnType6" onclick="payUserListAjax(1); return false;">조회</button> |
| 526 | 547 |
<span class="reqTxt4"> |
| 527 | 548 |
<span class="vMiddle">*</span> 조회기간의 사용내역만 보여집니다. |
--- src/main/webapp/publish/js/dateUtils.js
+++ src/main/webapp/publish/js/dateUtils.js
... | ... | @@ -112,3 +112,26 @@ |
| 112 | 112 |
return ( year + '/' + month + '/' + day ); |
| 113 | 113 |
} |
| 114 | 114 |
|
| 115 |
+/** |
|
| 116 |
+ * 검색 날짜관련 ID로 검색 시작일 최대 기한을 제한 function |
|
| 117 |
+ * @param {String} a 검색 시작 ID
|
|
| 118 |
+ * @param {String} b 최대 기한 달 수
|
|
| 119 |
+ * @returns {Boolean} a날짜와 현재 날짜를 비교해서 b월 이상이면 false 이하면 true
|
|
| 120 |
+ */ |
|
| 121 |
+function fn_G_limitDateChk(startId, limitMonth) {
|
|
| 122 |
+ // 시작일자 가져오기 |
|
| 123 |
+ var startDate = document.getElementById(startId).value; |
|
| 124 |
+ |
|
| 125 |
+ // 날짜 형식으로 변환 및 현재 날짜 설정 |
|
| 126 |
+ var start = new Date(startDate); |
|
| 127 |
+ var today = new Date(); |
|
| 128 |
+ |
|
| 129 |
+ var maxDate = new Date(today); |
|
| 130 |
+ maxDate.setMonth(maxDate.getMonth() - limitMonth); |
|
| 131 |
+ |
|
| 132 |
+ if(start < maxDate){
|
|
| 133 |
+ alert("검색 시작일자를 최근 3개월 이내로 입력해주세요.");
|
|
| 134 |
+ return false; |
|
| 135 |
+ } |
|
| 136 |
+ return true; |
|
| 137 |
+} |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?