이지우 - 사용자 > 결제관리 > 요금 결제내역 / 요금 사용내역 수정 작업
@60dbb225ea9cb1247b08e85266332eb8905ff496
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
... | ... | @@ -7,7 +7,11 @@ |
| 7 | 7 |
import java.net.URL; |
| 8 | 8 |
import java.net.URLEncoder; |
| 9 | 9 |
import java.security.MessageDigest; |
| 10 |
+import java.sql.Timestamp; |
|
| 10 | 11 |
import java.text.SimpleDateFormat; |
| 12 |
+import java.time.LocalDate; |
|
| 13 |
+import java.time.LocalDateTime; |
|
| 14 |
+import java.time.format.DateTimeFormatter; |
|
| 11 | 15 |
import java.util.Date; |
| 12 | 16 |
import java.util.HashMap; |
| 13 | 17 |
import java.util.Iterator; |
... | ... | @@ -2972,6 +2976,20 @@ |
| 2972 | 2976 |
|
| 2973 | 2977 |
@Override |
| 2974 | 2978 |
public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception {
|
| 2975 |
- return mjonPayDAO.selectPayDetail(mjonPayVO); |
|
| 2979 |
+ |
|
| 2980 |
+ MjonPayVO result = mjonPayDAO.selectPayDetail(mjonPayVO); |
|
| 2981 |
+ /* 후불제 고객의 사용기한 조회(결제일의 전달 1일 ~ 말일) */ |
|
| 2982 |
+ if("N".equals(result.getPrePaymentYn())) {
|
|
| 2983 |
+ String regDateStr = result.getRegDate(); |
|
| 2984 |
+ LocalDateTime regDate = Timestamp.valueOf(regDateStr).toLocalDateTime(); |
|
| 2985 |
+ |
|
| 2986 |
+ LocalDate lastMonth = regDate.toLocalDate().withDayOfMonth(1).minusMonths(1); |
|
| 2987 |
+ LocalDate startDate = lastMonth.withDayOfMonth(1); |
|
| 2988 |
+ LocalDate endDate = lastMonth.withDayOfMonth(lastMonth.lengthOfMonth()); |
|
| 2989 |
+ |
|
| 2990 |
+ result.setStartDate(startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
| 2991 |
+ result.setEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
| 2992 |
+ } |
|
| 2993 |
+ return result; |
|
| 2976 | 2994 |
} |
| 2977 | 2995 |
} |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
... | ... | @@ -514,7 +514,7 @@ |
| 514 | 514 |
2.세금계산서 발행 완료 이후 30일간 노출 |
| 515 | 515 |
3.발행 최대 횟수 2회 --> |
| 516 | 516 |
<c:set var="invoiceYn" value="N"/> |
| 517 |
- <c:if test="${(result.payMethod eq 'BANK' or result.payMethod eq 'VBANK')
|
|
| 517 |
+ <c:if test="${(result.payMethod eq 'BANK' or result.payMethod eq 'VBANK' or result.payMethod eq 'AFTERPAY')
|
|
| 518 | 518 |
and (result.confirmYn eq 'Y' and result.rcptType eq '9')}"> |
| 519 | 519 |
<c:set var="confirmDateStr" value="${fn:substring(result.confirmDate,0,10)}" />
|
| 520 | 520 |
<fmt:parseDate value="${confirmDateStr}" pattern="yyyy-MM-dd" var="confirmDateObj" />
|
+++ src/main/webapp/WEB-INF/jsp/web/pay/payInvoicePrintPopup.jsp
... | ... | @@ -0,0 +1,384 @@ |
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 3 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 4 | +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> | |
| 5 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> | |
| 6 | +<%@ page import="itn.com.cmm.LoginVO" %> | |
| 7 | +<!DOCTYPE html> | |
| 8 | +<html lang="ko"> | |
| 9 | + <head> | |
| 10 | + <meta charset="UTF-8"> | |
| 11 | + <meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
| 12 | + <title>거래명세서</title> | |
| 13 | + <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap" rel="stylesheet"> | |
| 14 | + <link rel="stylesheet" href="/publish/css/reset.css"> | |
| 15 | + <link rel="stylesheet" href="/publish/css/common.css"> | |
| 16 | + <link rel="stylesheet" href="/publish/css/estimate.css"> | |
| 17 | + <link rel="stylesheet" href="/publish/css/font.css"> | |
| 18 | + <link rel="stylesheet" href="/publish/css/button.css"> | |
| 19 | + </head> | |
| 20 | + <script type="text/javascript"> | |
| 21 | + function f_print(){ | |
| 22 | + | |
| 23 | + document.getElementById('est_btn_wrap').style.display = 'none'; | |
| 24 | + var initBody = document.body.innerHTML; | |
| 25 | + window.onbeforeprint = function(){ | |
| 26 | + // print_area는 인쇄하고자 하는 영역의 ID를 말합니다.( 필수 ) | |
| 27 | +// document.body.innerHTML = document.getElementById("print_area").innerHTML; | |
| 28 | + } | |
| 29 | + window.onafterprint = function(){ | |
| 30 | + document.body.innerHTML = initBody; | |
| 31 | + } | |
| 32 | + window.print(); | |
| 33 | + document.getElementById('est_btn_wrap').style.display = ''; | |
| 34 | + } | |
| 35 | + </script> | |
| 36 | + <body> | |
| 37 | + <!-- 견적서 --> | |
| 38 | + <div class="estimate_wrap"> | |
| 39 | + <div class="estimate"> | |
| 40 | + <div class="est_head clearfix"> | |
| 41 | + <img src="/publish/images/CI.png" alt="문자온 CI"> | |
| 42 | + <div class="clearfix"> | |
| 43 | + <p>(12248) 경기도 남양주시 다산순환로 20, A동 735호(다산동, 현대프리미어캠퍼스)</p> | |
| 44 | + <p>TEL 1551-8011</p> | |
| 45 | + </div> | |
| 46 | + </div> | |
| 47 | + <div class="est_body"> | |
| 48 | + <h2>거래명세서<span style="font-size:20px;font-weight:400;">(공급받는자 보관용)</span></h2> | |
| 49 | + <div class="cont1 tb_ver2" style="display:flex;"> | |
| 50 | + <div style="width:calc((100% - 40px)/2);"> | |
| 51 | + <p>공급받는 자</p> | |
| 52 | + <table class="est_table"> | |
| 53 | + <caption>등록번호, 상호, 성명, 전화번호, 이메일 정보 제공</caption> | |
| 54 | + <colgroup> | |
| 55 | + <col style="width: 60px;"> | |
| 56 | + <col style="width: auto;"> | |
| 57 | + </colgroup> | |
| 58 | + <tbody> | |
| 59 | + <tr> | |
| 60 | + <th>등록번호</th> | |
| 61 | + <td> | |
| 62 | + <c:choose> | |
| 63 | + <c:when test="${result.dept eq 'c'}"> | |
| 64 | + <c:out value="${result.bizNo}"/> | |
| 65 | + </c:when> | |
| 66 | + <c:otherwise> | |
| 67 | + - | |
| 68 | + </c:otherwise> | |
| 69 | + </c:choose> | |
| 70 | + <!--(개인회원인 경우 하이픈(-) 처리)--> | |
| 71 | + </td> | |
| 72 | + </tr> | |
| 73 | + <tr> | |
| 74 | + <th style="letter-spacing:-0.69px;">상    호</th> | |
| 75 | + <td> | |
| 76 | + <c:choose> | |
| 77 | + <c:when test="${result.dept eq 'c'}"> | |
| 78 | + <c:out value="${result.mberNm}"/> | |
| 79 | + </c:when> | |
| 80 | + <c:otherwise> | |
| 81 | + - | |
| 82 | + </c:otherwise> | |
| 83 | + </c:choose> | |
| 84 | + </td> | |
| 85 | + </tr> | |
| 86 | + <tr> | |
| 87 | + <th style="letter-spacing:-0.69px;">성    명</th> | |
| 88 | + <td> | |
| 89 | + <c:choose> | |
| 90 | + <c:when test="${result.dept eq 'c'}"> | |
| 91 | + <c:out value="${result.managerNm}"/> | |
| 92 | + </c:when> | |
| 93 | + <c:otherwise> | |
| 94 | + <c:out value="${result.mberNm}"/> | |
| 95 | + </c:otherwise> | |
| 96 | + </c:choose> | |
| 97 | + </td> | |
| 98 | + </tr> | |
| 99 | + <tr> | |
| 100 | + <th>전화번호</th> | |
| 101 | + <td> | |
| 102 | + <c:out value="${result.mbtlNum}"/> | |
| 103 | + </td> | |
| 104 | + </tr> | |
| 105 | + <tr> | |
| 106 | + <th style="letter-spacing:-0.85px;">이 메 일</th> | |
| 107 | + <td> | |
| 108 | + <c:out value="${result.email}"/> | |
| 109 | + </td> | |
| 110 | + </tr> | |
| 111 | + </tbody> | |
| 112 | + </table> | |
| 113 | + </div> | |
| 114 | + <div style="width:calc((100% - 40px)/2);"> | |
| 115 | + <p>공급자</p> | |
| 116 | + <img src="/publish/images/content/stamp.png" alt="도장" class="stamp mCS_img_loaded"> | |
| 117 | + <table class="est_table"> | |
| 118 | + <caption>등록번호, 상호, 성명, 전화번호, 이메일 정보 제공</caption> | |
| 119 | + <colgroup> | |
| 120 | + <col style="width: 60px;"> | |
| 121 | + <col style="width: auto;"> | |
| 122 | + </colgroup> | |
| 123 | + <tbody> | |
| 124 | + <tr> | |
| 125 | + <th>등록번호</th> | |
| 126 | + <td>653-87-00858</td> | |
| 127 | + </tr> | |
| 128 | + <tr> | |
| 129 | + <th style="letter-spacing:-0.69px;">상    호</th> | |
| 130 | + <td>주식회사 아이티앤</td> | |
| 131 | + </tr> | |
| 132 | + <tr> | |
| 133 | + <th style="letter-spacing:-0.69px;">성    명</th> | |
| 134 | + <td>유인식</td> | |
| 135 | + </tr> | |
| 136 | + <tr> | |
| 137 | + <th>전화번호</th> | |
| 138 | + <td>1551-8011</td> | |
| 139 | + </tr> | |
| 140 | + <tr> | |
| 141 | + <th style="letter-spacing:-0.85px;">이 메 일</th> | |
| 142 | + <td>help@iten.co.kr</td> | |
| 143 | + </tr> | |
| 144 | + </tbody> | |
| 145 | + </table> | |
| 146 | + </div> | |
| 147 | + </div> | |
| 148 | + <div class="cont3"> | |
| 149 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt}" var="commaAmt" /> | |
| 150 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${result.cash}" var="commaCash" /> | |
| 151 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt - result.cash}" var="commaETC" /> | |
| 152 | + <div class="est_table2_wrap"> | |
| 153 | + <table class="est_table2"> | |
| 154 | + <caption>작성일자, 공급가액, 세액, 비고 정보를 제공하는 표</caption> | |
| 155 | + <colgroup> | |
| 156 | + <col style="width: 25%;"> | |
| 157 | + <col style="width: 25%;"> | |
| 158 | + <col style="width: 25%;"> | |
| 159 | + </colgroup> | |
| 160 | + <thead> | |
| 161 | + <tr> | |
| 162 | + <th scope="col">작성일자</th> | |
| 163 | + <th scope="col">공급가액</th> | |
| 164 | + <th scope="col">세액</th> | |
| 165 | + </tr> | |
| 166 | + </thead> | |
| 167 | + <tbody> | |
| 168 | + <fmt:parseDate value="${result.regDate}" pattern="yyyy-MM-dd HH:mm:ss.S" var="parsedDate"/> | |
| 169 | + <tr> | |
| 170 | + <td><fmt:formatDate value="${parsedDate}" pattern="yyyy-MM-dd"/></td> | |
| 171 | + <td><c:out value="${commaCash}"/></td> | |
| 172 | + <td><c:out value="${commaETC}"/></td> | |
| 173 | + </tr> | |
| 174 | + </tbody> | |
| 175 | + <tfoot> | |
| 176 | + <tr> | |
| 177 | + <th>비고</th> | |
| 178 | + <td style="padding:0 0 0 20px;"> | |
| 179 | + <c:choose> | |
| 180 | + <c:when test="${result.prePaymentYn eq 'N'}"> | |
| 181 | + 사용기간(${result.startDate} ~ ${result.endDate}) | |
| 182 | + </c:when> | |
| 183 | + <c:otherwise> | |
| 184 | + - | |
| 185 | + </c:otherwise> | |
| 186 | + </c:choose> | |
| 187 | + | |
| 188 | + </td> | |
| 189 | + </tr> | |
| 190 | + </tfoot> | |
| 191 | + </table> | |
| 192 | + </div> | |
| 193 | + | |
| 194 | + | |
| 195 | + <div class="est_table2_wrap" style="margin:20px 0 0 0;"> | |
| 196 | + <table class="est_table2"> | |
| 197 | + <caption>월, 일, 품목, 규격, 수량, 단가, 공급가액, 세액, 비고 정보를 제공하는 표</caption> | |
| 198 | + <colgroup> | |
| 199 | + <col style="width: 60px;"> | |
| 200 | + <col style="width: 60px;"> | |
| 201 | + <col style="width: auto;"> | |
| 202 | + <col style="width: 60px;"> | |
| 203 | + <col style="width: 60px;"> | |
| 204 | + <col style="width: 60px;"> | |
| 205 | + <col style="width: 100px;"> | |
| 206 | + <col style="width: 60px;"> | |
| 207 | + <col style="width: 70px;"> | |
| 208 | + </colgroup> | |
| 209 | + <thead> | |
| 210 | + <tr> | |
| 211 | + <th scope="col">월</th> | |
| 212 | + <th scope="col">일</th> | |
| 213 | + <th scope="col">품목</th> | |
| 214 | + <th scope="col">규격</th> | |
| 215 | + <th scope="col">수량</th> | |
| 216 | + <th scope="col">단가</th> | |
| 217 | + <th scope="col">공급가액</th> | |
| 218 | + <th scope="col">세액</th> | |
| 219 | + <th scope="col">비고</th> | |
| 220 | + </tr> | |
| 221 | + </thead> | |
| 222 | + <tbody> | |
| 223 | + <tr> | |
| 224 | + <td><fmt:formatDate value="${parsedDate}" pattern="M"/></td> | |
| 225 | + <td><fmt:formatDate value="${parsedDate}" pattern="d"/></td> | |
| 226 | + <td>문자온 메시징 서비스 이용료</td> | |
| 227 | + <td></td> | |
| 228 | + <td></td> | |
| 229 | + <td></td> | |
| 230 | + <td><c:out value="${commaCash}"/></td> | |
| 231 | + <td><c:out value="${commaETC}"/></td> | |
| 232 | + <td>-</td> | |
| 233 | + </tr> | |
| 234 | + <tr> | |
| 235 | + <td></td> | |
| 236 | + <td></td> | |
| 237 | + <td></td> | |
| 238 | + <td></td> | |
| 239 | + <td></td> | |
| 240 | + <td></td> | |
| 241 | + <td></td> | |
| 242 | + <td></td> | |
| 243 | + <td></td> | |
| 244 | + </tr> | |
| 245 | + <tr> | |
| 246 | + <td></td> | |
| 247 | + <td></td> | |
| 248 | + <td></td> | |
| 249 | + <td></td> | |
| 250 | + <td></td> | |
| 251 | + <td></td> | |
| 252 | + <td></td> | |
| 253 | + <td></td> | |
| 254 | + <td></td> | |
| 255 | + </tr> | |
| 256 | + <tr> | |
| 257 | + <td></td> | |
| 258 | + <td></td> | |
| 259 | + <td></td> | |
| 260 | + <td></td> | |
| 261 | + <td></td> | |
| 262 | + <td></td> | |
| 263 | + <td></td> | |
| 264 | + <td></td> | |
| 265 | + <td></td> | |
| 266 | + </tr> | |
| 267 | + <tr> | |
| 268 | + <td></td> | |
| 269 | + <td></td> | |
| 270 | + <td></td> | |
| 271 | + <td></td> | |
| 272 | + <td></td> | |
| 273 | + <td></td> | |
| 274 | + <td></td> | |
| 275 | + <td></td> | |
| 276 | + <td></td> | |
| 277 | + </tr> | |
| 278 | + <tr> | |
| 279 | + <td></td> | |
| 280 | + <td></td> | |
| 281 | + <td></td> | |
| 282 | + <td></td> | |
| 283 | + <td></td> | |
| 284 | + <td></td> | |
| 285 | + <td></td> | |
| 286 | + <td></td> | |
| 287 | + <td></td> | |
| 288 | + </tr> | |
| 289 | + <tr> | |
| 290 | + <td></td> | |
| 291 | + <td></td> | |
| 292 | + <td></td> | |
| 293 | + <td></td> | |
| 294 | + <td></td> | |
| 295 | + <td></td> | |
| 296 | + <td></td> | |
| 297 | + <td></td> | |
| 298 | + <td></td> | |
| 299 | + </tr> | |
| 300 | + <tr> | |
| 301 | + <td></td> | |
| 302 | + <td></td> | |
| 303 | + <td></td> | |
| 304 | + <td></td> | |
| 305 | + <td></td> | |
| 306 | + <td></td> | |
| 307 | + <td></td> | |
| 308 | + <td></td> | |
| 309 | + <td></td> | |
| 310 | + </tr> | |
| 311 | + </tbody> | |
| 312 | + | |
| 313 | + <!-- 후불제 --> | |
| 314 | + <!-- <tfoot> | |
| 315 | + <tr> | |
| 316 | + <th colspan="2">합계금액</th> | |
| 317 | + <th>전잔액</th> | |
| 318 | + <th colspan="2">입금액</th> | |
| 319 | + <th colspan="2">현잔액</th> | |
| 320 | + <th colspan="2" rowspan="2" style="background:#fff;vertical-align:middle;">이 금액을 [<span>청 구</span>]함</th> | |
| 321 | + </tr> | |
| 322 | + <tr> | |
| 323 | + <td style="text-align:center;" colspan="2">550,000</td> | |
| 324 | + <td style="text-align:center;">-</td> | |
| 325 | + <td style="text-align:center;" colspan="2">-</td> | |
| 326 | + <td style="text-align:center;" colspan="2">550,000</td> | |
| 327 | + </tr> | |
| 328 | + </tfoot> --> | |
| 329 | + <!-- //후불제 --> | |
| 330 | + | |
| 331 | + <!-- 일반회원(선불제) --> | |
| 332 | + <tfoot> | |
| 333 | + <tr> | |
| 334 | + <th colspan="2">합계금액</th> | |
| 335 | + <th>전잔액</th> | |
| 336 | + <th colspan="2">입금액</th> | |
| 337 | + <th colspan="2">현잔액</th> | |
| 338 | + <th colspan="2" rowspan="2" style="background:#fff;vertical-align:middle;"> | |
| 339 | + | |
| 340 | + <c:choose> | |
| 341 | + <c:when test="${result.prePaymentYn eq 'N'}"> | |
| 342 | + 이 금액을 [<span>청 구</span>]함 | |
| 343 | + </c:when> | |
| 344 | + <c:otherwise> | |
| 345 | + 이 금액을 [<span>영 수</span>]함 | |
| 346 | + </c:otherwise> | |
| 347 | + </c:choose> | |
| 348 | + </th> | |
| 349 | + </tr> | |
| 350 | + <tr> | |
| 351 | + <td style="text-align:center;" colspan="2"> | |
| 352 | + <c:out value="${commaAmt}"/> | |
| 353 | + </td> | |
| 354 | + <td style="text-align:center;">-</td> | |
| 355 | + <td style="text-align:center;" colspan="2">-</td> | |
| 356 | + <td style="text-align:center;" colspan="2"> | |
| 357 | + <c:out value="${commaAmt}"/> | |
| 358 | + </td> | |
| 359 | + </tr> | |
| 360 | + </tfoot> | |
| 361 | + <!-- //일반회원(선불제) --> | |
| 362 | + | |
| 363 | + </table> | |
| 364 | + </div> | |
| 365 | + </div> | |
| 366 | + | |
| 367 | + <!-- <div class="cont5"> | |
| 368 | + <p><span>2021</span> 년 <span>6</span> 월 <span>17</span> 일</p> | |
| 369 | + <div> | |
| 370 | + <span></span> | |
| 371 | + <span>주식회사 아이티앤</span> | |
| 372 | + <span>유 인 식 (인)</span> | |
| 373 | + </div> | |
| 374 | + </div> --> | |
| 375 | + | |
| 376 | + </div> | |
| 377 | + <div class="est_btn_wrap"> | |
| 378 | + <button type="button" class="btnType" onclick="window.print();"><i class="print_img"></i>인쇄하기</button> | |
| 379 | + </div> | |
| 380 | + </div> | |
| 381 | + </div> | |
| 382 | + <!--// 견적서 --> | |
| 383 | + </body> | |
| 384 | +</html> |
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?