JIWOO 2025-07-24
이지우 - 사용자 > 결제관리 > 요금 결제내역 / 요금 사용내역 수정 작업
@60dbb225ea9cb1247b08e85266332eb8905ff496
src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
--- 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 @@
 import java.net.URL;
 import java.net.URLEncoder;
 import java.security.MessageDigest;
+import java.sql.Timestamp;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -2972,6 +2976,20 @@
 
 	@Override
 	public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception {
-		return mjonPayDAO.selectPayDetail(mjonPayVO);
+		
+		MjonPayVO result = mjonPayDAO.selectPayDetail(mjonPayVO);
+		/* 후불제 고객의 사용기한 조회(결제일의 전달 1일 ~ 말일) */
+		if("N".equals(result.getPrePaymentYn())) {
+			String regDateStr = result.getRegDate();
+			LocalDateTime regDate = Timestamp.valueOf(regDateStr).toLocalDateTime();
+			
+	        LocalDate lastMonth = regDate.toLocalDate().withDayOfMonth(1).minusMonths(1);
+	        LocalDate startDate = lastMonth.withDayOfMonth(1);
+	        LocalDate endDate = lastMonth.withDayOfMonth(lastMonth.lengthOfMonth());
+	        
+	        result.setStartDate(startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+	        result.setEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+		}
+		return result;
 	}
 }
src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
@@ -514,7 +514,7 @@
 								2.세금계산서 발행 완료 이후 30일간 노출
 								3.발행 최대 횟수 2회 -->
 						<c:set var="invoiceYn" value="N"/>
-						<c:if test="${(result.payMethod eq 'BANK' or result.payMethod eq 'VBANK')
+						<c:if test="${(result.payMethod eq 'BANK' or result.payMethod eq 'VBANK' or result.payMethod eq 'AFTERPAY')
 											and (result.confirmYn eq 'Y' and result.rcptType eq '9')}">
 							<c:set var="confirmDateStr" value="${fn:substring(result.confirmDate,0,10)}" />
 							<fmt:parseDate value="${confirmDateStr}" pattern="yyyy-MM-dd" var="confirmDateObj" />
 
src/main/webapp/WEB-INF/jsp/web/pay/payInvoicePrintPopup.jsp (added)
+++ src/main/webapp/WEB-INF/jsp/web/pay/payInvoicePrintPopup.jsp
@@ -0,0 +1,384 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ page import="itn.com.cmm.LoginVO" %>
+<!DOCTYPE html>
+<html lang="ko">
+	<head>
+		<meta charset="UTF-8">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge">
+		<title>거래명세서</title>
+		<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap" rel="stylesheet">
+		<link rel="stylesheet" href="/publish/css/reset.css">
+		<link rel="stylesheet" href="/publish/css/common.css">
+		<link rel="stylesheet" href="/publish/css/estimate.css">
+		<link rel="stylesheet" href="/publish/css/font.css">
+		<link rel="stylesheet" href="/publish/css/button.css">
+	</head>
+	<script type="text/javascript">
+		function f_print(){
+			
+			document.getElementById('est_btn_wrap').style.display = 'none';
+			var initBody = document.body.innerHTML;
+			window.onbeforeprint = function(){
+			// print_area는 인쇄하고자 하는 영역의 ID를 말합니다.( 필수 )
+// 			document.body.innerHTML = document.getElementById("print_area").innerHTML;
+			}
+			window.onafterprint = function(){
+				document.body.innerHTML = initBody;
+			}
+			window.print();
+			document.getElementById('est_btn_wrap').style.display = '';
+		}
+	</script>
+	<body>
+		<!-- 견적서 -->
+		<div class="estimate_wrap">
+        	<div class="estimate">
+	            <div class="est_head clearfix">
+	                <img src="/publish/images/CI.png" alt="문자온 CI">
+	                <div class="clearfix">
+	                    <p>(12248) 경기도 남양주시 다산순환로 20, A동 735호(다산동, 현대프리미어캠퍼스)</p>
+	                    <p>TEL 1551-8011</p>
+	                </div>
+	            </div>
+	            <div class="est_body">
+	                <h2>거래명세서<span style="font-size:20px;font-weight:400;">(공급받는자 보관용)</span></h2>
+	                <div class="cont1 tb_ver2" style="display:flex;">
+	                    <div style="width:calc((100% - 40px)/2);">
+	                        <p>공급받는 자</p>
+	                        <table class="est_table">
+	                            <caption>등록번호, 상호, 성명, 전화번호, 이메일 정보 제공</caption>
+	                            <colgroup>
+	                                <col style="width: 60px;">
+	                                <col style="width: auto;">
+	                            </colgroup>
+	                            <tbody>
+	                                <tr>
+	                                    <th>등록번호</th>
+	                                    <td>
+	                                    	<c:choose>
+			                                    <c:when test="${result.dept eq 'c'}">
+			                                    	<c:out value="${result.bizNo}"/>
+	    	                                	</c:when>
+	    	                                	<c:otherwise>
+	    	                                		-
+	    	                                	</c:otherwise>
+	                                    	</c:choose>
+	                                        <!--(개인회원인 경우 하이픈(-) 처리)-->
+	                                    </td>
+	                                </tr>
+	                                <tr>
+	                                    <th style="letter-spacing:-0.69px;">상&ensp;&ensp;&ensp;&nbsp;&nbsp;호</th>
+	                                    <td>
+	                                    	<c:choose>
+			                                    <c:when test="${result.dept eq 'c'}">
+			                                    	<c:out value="${result.mberNm}"/>
+	    	                                	</c:when>
+	    	                                	<c:otherwise>
+	    	                                		-
+	    	                                	</c:otherwise>
+	                                    	</c:choose>
+	                                    </td>
+	                                </tr>
+	                                <tr>
+	                                    <th style="letter-spacing:-0.69px;">성&ensp;&ensp;&ensp;&nbsp;&nbsp;명</th>
+	                                    <td>
+	                                    	<c:choose>
+			                                    <c:when test="${result.dept eq 'c'}">
+			                                    	<c:out value="${result.managerNm}"/>
+	    	                                	</c:when>
+	    	                                	<c:otherwise>
+	    	                                		<c:out value="${result.mberNm}"/>
+	    	                                	</c:otherwise>
+	                                    	</c:choose>
+	                                    </td>
+	                                </tr>
+	                                <tr>
+	                                    <th>전화번호</th>
+	                                    <td>
+	                                    	<c:out value="${result.mbtlNum}"/>
+	                                    </td>
+	                                </tr>
+	                                <tr>
+	                                    <th style="letter-spacing:-0.85px;">이&ensp;메&ensp;일</th>
+	                                    <td>
+	                                    	<c:out value="${result.email}"/>
+	                                    </td>
+	                                </tr>
+	                            </tbody>
+	                        </table>
+	                    </div>
+	                    <div style="width:calc((100% - 40px)/2);">
+	                        <p>공급자</p>
+	                        <img src="/publish/images/content/stamp.png" alt="도장" class="stamp mCS_img_loaded">
+	                        <table class="est_table">
+	                            <caption>등록번호, 상호, 성명, 전화번호, 이메일 정보 제공</caption>
+	                            <colgroup>
+	                                <col style="width: 60px;">
+	                                <col style="width: auto;">
+	                            </colgroup>
+	                            <tbody>
+	                                <tr>
+	                                    <th>등록번호</th>
+	                                    <td>653-87-00858</td>
+	                                </tr>
+	                                <tr>
+	                                    <th style="letter-spacing:-0.69px;">상&ensp;&ensp;&ensp;&nbsp;&nbsp;호</th>
+	                                    <td>주식회사 아이티앤</td>
+	                                </tr>
+	                                <tr>
+	                                    <th style="letter-spacing:-0.69px;">성&ensp;&ensp;&ensp;&nbsp;&nbsp;명</th>
+	                                    <td>유인식</td>
+	                                </tr>
+	                                <tr>
+	                                    <th>전화번호</th>
+	                                    <td>1551-8011</td>
+	                                </tr>
+	                                <tr>
+	                                    <th style="letter-spacing:-0.85px;">이&ensp;메&ensp;일</th>
+	                                    <td>help@iten.co.kr</td>
+	                                </tr>
+	                            </tbody>
+	                        </table>
+	                    </div>
+	                </div>
+	                <div class="cont3">
+	                	<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt}" var="commaAmt" />
+	                	<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.cash}" var="commaCash" />
+	                	<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt - result.cash}" var="commaETC" />
+	                    <div class="est_table2_wrap">
+	                        <table class="est_table2">
+	                            <caption>작성일자, 공급가액, 세액, 비고 정보를 제공하는 표</caption>
+	                            <colgroup>
+	                                <col style="width: 25%;">
+	                                <col style="width: 25%;">
+	                                <col style="width: 25%;">
+	                            </colgroup>
+	                            <thead>
+	                                <tr>
+	                                    <th scope="col">작성일자</th>
+	                                    <th scope="col">공급가액</th>
+	                                    <th scope="col">세액</th>
+	                                </tr>
+	                            </thead>
+	                            <tbody>
+	                            	<fmt:parseDate value="${result.regDate}" pattern="yyyy-MM-dd HH:mm:ss.S" var="parsedDate"/>
+	                                <tr>
+	                                    <td><fmt:formatDate value="${parsedDate}" pattern="yyyy-MM-dd"/></td>
+	                                    <td><c:out value="${commaCash}"/></td>
+	                                    <td><c:out value="${commaETC}"/></td>
+	                                </tr>
+	                            </tbody>
+	                            <tfoot>
+	                                <tr>
+	                                    <th>비고</th>
+	                                    <td style="padding:0 0 0 20px;">
+	                                    	<c:choose>
+			                                    <c:when test="${result.prePaymentYn eq 'N'}">
+			                                    	사용기간(${result.startDate} ~ ${result.endDate})
+	    	                                	</c:when>
+	    	                                	<c:otherwise>
+	    	                                		-
+	    	                                	</c:otherwise>
+	                                    	</c:choose>
+	                                    
+	                                    </td>
+	                                </tr>
+	                            </tfoot>
+	                        </table>
+	                    </div>
+	
+	
+	                    <div class="est_table2_wrap" style="margin:20px 0 0 0;">
+	                        <table class="est_table2">
+	                            <caption>월, 일, 품목, 규격, 수량, 단가, 공급가액, 세액, 비고 정보를 제공하는 표</caption>
+	                            <colgroup>
+	                                <col style="width: 60px;">
+	                                <col style="width: 60px;">
+	                                <col style="width: auto;">
+	                                <col style="width: 60px;">
+	                                <col style="width: 60px;">
+	                                <col style="width: 60px;">
+	                                <col style="width: 100px;">
+	                                <col style="width: 60px;">
+	                                <col style="width: 70px;">
+	                            </colgroup>
+	                            <thead>
+	                                <tr>
+	                                    <th scope="col">월</th>
+	                                    <th scope="col">일</th>
+	                                    <th scope="col">품목</th>
+	                                    <th scope="col">규격</th>
+	                                    <th scope="col">수량</th>
+	                                    <th scope="col">단가</th>
+	                                    <th scope="col">공급가액</th>
+	                                    <th scope="col">세액</th>
+	                                    <th scope="col">비고</th>
+	                                </tr>
+	                            </thead>
+	                            <tbody>
+	                                <tr>
+	                                    <td><fmt:formatDate value="${parsedDate}" pattern="M"/></td>
+	                                    <td><fmt:formatDate value="${parsedDate}" pattern="d"/></td>
+	                                    <td>문자온 메시징 서비스 이용료</td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td><c:out value="${commaCash}"/></td>
+	                                    <td><c:out value="${commaETC}"/></td>
+	                                    <td>-</td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                                <tr>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                    <td></td>
+	                                </tr>
+	                            </tbody>
+	
+	                            <!-- 후불제 -->
+	                            <!-- <tfoot>
+	                                <tr>
+	                                    <th colspan="2">합계금액</th>
+	                                    <th>전잔액</th>
+	                                    <th colspan="2">입금액</th>
+	                                    <th colspan="2">현잔액</th>
+	                                    <th colspan="2" rowspan="2" style="background:#fff;vertical-align:middle;">이 금액을 [<span>청&ensp;구</span>]함</th>
+	                                </tr>
+	                                <tr>
+	                                    <td style="text-align:center;" colspan="2">550,000</td>
+	                                    <td style="text-align:center;">-</td>
+	                                    <td style="text-align:center;" colspan="2">-</td>
+	                                    <td style="text-align:center;" colspan="2">550,000</td>
+	                                </tr>
+	                            </tfoot> -->
+	                            <!-- //후불제 -->
+	
+	                            <!-- 일반회원(선불제) -->
+	                            <tfoot>
+	                                <tr>
+	                                    <th colspan="2">합계금액</th>
+	                                    <th>전잔액</th>
+	                                    <th colspan="2">입금액</th>
+	                                    <th colspan="2">현잔액</th>
+	                                    <th colspan="2" rowspan="2" style="background:#fff;vertical-align:middle;">
+	                                    
+	                                    	<c:choose>
+			                                    <c:when test="${result.prePaymentYn eq 'N'}">
+			                                    	이 금액을 [<span>청&ensp;구</span>]함
+	    	                                	</c:when>
+	    	                                	<c:otherwise>
+	    	                                		이 금액을 [<span>영&ensp;수</span>]함
+	    	                                	</c:otherwise>
+	                                    	</c:choose>
+	                                    </th>
+	                                </tr>
+	                                <tr>
+	                                    <td style="text-align:center;" colspan="2">
+	                                    	<c:out value="${commaAmt}"/>
+                                    	</td>
+	                                    <td style="text-align:center;">-</td>
+	                                    <td style="text-align:center;" colspan="2">-</td>
+	                                    <td style="text-align:center;" colspan="2">
+	                                    	<c:out value="${commaAmt}"/>
+	                                    </td>
+	                                </tr>
+	                            </tfoot>
+	                            <!-- //일반회원(선불제) -->
+	
+	                        </table>
+	                    </div>
+	                </div>
+	
+	                <!-- <div class="cont5">
+	                    <p><span>2021</span> 년&nbsp;&nbsp;<span>6</span> 월&nbsp;&nbsp;<span>17</span> 일</p>
+	                    <div>
+	                        <span></span>
+	                        <span>주식회사 아이티앤</span>
+	                        <span>유&nbsp;&nbsp;인&nbsp;&nbsp;식&nbsp;&nbsp;(인)</span>
+	                    </div>
+	                </div> -->
+	
+	            </div>
+	            <div class="est_btn_wrap">
+	                <button type="button" class="btnType" onclick="window.print();"><i class="print_img"></i>인쇄하기</button>
+	            </div>
+	        </div>
+	    </div>
+		<!--// 견적서 -->
+	</body>
+</html>
Add a comment
List