후불회원 사용요금내역 화면 수정 - 상단 누적 사용금액 등 정보 표시 분기 처리(선/후불 회원별 분기) - 하단 리스트 총 사용금액 정보 표시 추가 - 리스트 성공건수에 대한 데이터 조회 기능으로 변경 및 정보 표시 컬럼 변경 - PDF 저장, 엑셀 다운로드 기능 변경
- 상단 누적 사용금액 등 정보 표시 분기 처리(선/후불 회원별 분기) - 하단 리스트 총 사용금액 정보 표시 추가 - 리스트 성공건수에 대한 데이터 조회 기능으로 변경 및 정보 표시 컬럼 변경 - PDF 저장, 엑셀 다운로드 기능 변경
@4fbb8c5c7cbeade588e9db1bce85ee762c1486d8
--- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
... | ... | @@ -204,6 +204,7 @@ |
| 204 | 204 |
private int failSendCnt; |
| 205 | 205 |
private double succSendPrice; |
| 206 | 206 |
private double failSendPrice; |
| 207 |
+ private double totSuccSendPrice; |
|
| 207 | 208 |
|
| 208 | 209 |
public String getSearchDelayMsgYn() {
|
| 209 | 210 |
return searchDelayMsgYn; |
... | ... | @@ -1624,4 +1625,10 @@ |
| 1624 | 1625 |
public void setFailSendPrice(double failSendPrice) {
|
| 1625 | 1626 |
this.failSendPrice = failSendPrice; |
| 1626 | 1627 |
} |
| 1628 |
+ public double getTotSuccSendPrice() {
|
|
| 1629 |
+ return totSuccSendPrice; |
|
| 1630 |
+ } |
|
| 1631 |
+ public void setTotSuccSendPrice(double totSuccSendPrice) {
|
|
| 1632 |
+ this.totSuccSendPrice = totSuccSendPrice; |
|
| 1633 |
+ } |
|
| 1627 | 1634 |
} |
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
... | ... | @@ -2712,31 +2712,43 @@ |
| 2712 | 2712 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 2713 | 2713 |
mjonMsgVO.setUserId(userId); |
| 2714 | 2714 |
|
| 2715 |
- if(mjonMsgVO.getPageUnit() != 10) {
|
|
| 2716 |
- mjonMsgVO.setPageUnit(mjonMsgVO.getPageUnit()); |
|
| 2717 |
- } |
|
| 2718 |
- |
|
| 2719 |
- /** pageing */ |
|
| 2720 |
- PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 2721 |
- paginationInfo.setCurrentPageNo(mjonMsgVO.getPageIndex()); |
|
| 2722 |
- paginationInfo.setRecordCountPerPage(mjonMsgVO.getPageUnit()); |
|
| 2723 |
- paginationInfo.setPageSize(mjonMsgVO.getPageSize()); |
|
| 2715 |
+ try {
|
|
| 2716 |
+ |
|
| 2717 |
+ if(mjonMsgVO.getPageUnit() != 10) {
|
|
| 2718 |
+ mjonMsgVO.setPageUnit(mjonMsgVO.getPageUnit()); |
|
| 2719 |
+ } |
|
| 2720 |
+ |
|
| 2721 |
+ /** pageing */ |
|
| 2722 |
+ PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 2723 |
+ paginationInfo.setCurrentPageNo(mjonMsgVO.getPageIndex()); |
|
| 2724 |
+ paginationInfo.setRecordCountPerPage(mjonMsgVO.getPageUnit()); |
|
| 2725 |
+ paginationInfo.setPageSize(mjonMsgVO.getPageSize()); |
|
| 2724 | 2726 |
|
| 2725 |
- mjonMsgVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 2726 |
- mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 2727 |
- mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 2728 |
- |
|
| 2729 |
- if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
| 2730 |
- mjonMsgVO.setSearchSortCnd("regDate");
|
|
| 2731 |
- mjonMsgVO.setSearchSortOrd("desc");
|
|
| 2727 |
+ mjonMsgVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 2728 |
+ mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 2729 |
+ mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 2730 |
+ |
|
| 2731 |
+ if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
| 2732 |
+ mjonMsgVO.setSearchSortCnd("regDate");
|
|
| 2733 |
+ mjonMsgVO.setSearchSortOrd("desc");
|
|
| 2734 |
+ } |
|
| 2735 |
+ |
|
| 2736 |
+ List<MjonMsgVO> payUserSWList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); |
|
| 2737 |
+ |
|
| 2738 |
+ paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0); |
|
| 2739 |
+ model.addAttribute("paginationInfo", paginationInfo);
|
|
| 2740 |
+ model.addAttribute("payUserSWList", payUserSWList);
|
|
| 2741 |
+ |
|
| 2742 |
+ if(payUserSWList.size() > 0) {
|
|
| 2743 |
+ model.addAttribute("totSuccSendPrice", payUserSWList.get(0).getTotSuccSendPrice());
|
|
| 2744 |
+ }else {
|
|
| 2745 |
+ model.addAttribute("totSuccSendPrice", 0);
|
|
| 2746 |
+ } |
|
| 2747 |
+ |
|
| 2748 |
+ } catch (Exception e) {
|
|
| 2749 |
+ System.out.println("PayUserSWListAjax Controller Error!!! " + e);
|
|
| 2732 | 2750 |
} |
| 2733 | 2751 |
|
| 2734 |
- |
|
| 2735 |
- List<MjonMsgVO> payUserSWList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); |
|
| 2736 |
- |
|
| 2737 |
- paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0); |
|
| 2738 |
- model.addAttribute("paginationInfo", paginationInfo);
|
|
| 2739 |
- model.addAttribute("payUserSWList", payUserSWList);
|
|
| 2740 | 2752 |
|
| 2741 | 2753 |
return "/web/pay/PayUserSWListAjax"; |
| 2742 | 2754 |
} |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -3140,11 +3140,12 @@ |
| 3140 | 3140 |
<select id="mjonMsgDAO.selectPayUserSWList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO"> |
| 3141 | 3141 |
SELECT |
| 3142 | 3142 |
COUNT(pay.totCnt) OVER() AS totCnt |
| 3143 |
+ , SUM(pay.succSendPrice) OVER() AS totSuccSendPrice |
|
| 3143 | 3144 |
, pay.regDate AS regDate |
| 3144 | 3145 |
, pay.sendCount AS sendCount |
| 3145 | 3146 |
, pay.succSendCnt AS succSendCnt |
| 3146 |
- , pay.failSendCnt AS failSendCnt |
|
| 3147 | 3147 |
, pay.succSendPrice AS succSendPrice |
| 3148 |
+ , pay.failSendCnt AS failSendCnt |
|
| 3148 | 3149 |
, pay.failSendPrice AS failSendPrice |
| 3149 | 3150 |
, pay.smsTxt AS smsTxt |
| 3150 | 3151 |
, pay.subject AS subject |
... | ... | @@ -3170,8 +3171,8 @@ |
| 3170 | 3171 |
, M.regDate AS regDate |
| 3171 | 3172 |
, M.sendCount AS sendCount |
| 3172 | 3173 |
, SUM(IF(RESULT = 'W' OR RESULT = 'S', 1, 0 )) AS succSendCnt |
| 3173 |
- , SUM(IF(RESULT = 'F', 1, 0 )) AS failSendCnt |
|
| 3174 | 3174 |
, SUM(IF(RESULT = 'W' OR RESULT = 'S', 1, 0 )) * M.eachPrice AS succSendPrice |
| 3175 |
+ , SUM(IF(RESULT = 'F', 1, 0 )) AS failSendCnt |
|
| 3175 | 3176 |
, SUM(IF(RESULT = 'F', 1, 0 )) * M.eachPrice AS failSendPrice |
| 3176 | 3177 |
, M.smsTxt AS smsTxt |
| 3177 | 3178 |
, M.subject AS subject |
--- src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
... | ... | @@ -2281,24 +2281,14 @@ |
| 2281 | 2281 |
|
| 2282 | 2282 |
<select id="mjonPayDAO.selectTotalSumCashForAfterPay" parameterClass="String" resultClass="String"> |
| 2283 | 2283 |
|
| 2284 |
- SELECT NVL(B.CASH , 0) AS cash |
|
| 2285 |
- FROM LETTNGNRLMBER A |
|
| 2286 |
- LEFT JOIN |
|
| 2287 |
- ( SELECT SUM(CASH) AS cash , USER_ID FROM MJ_CASH A |
|
| 2288 |
- GROUP BY A.USER_ID , A.DEL_FLAG |
|
| 2289 |
- HAVING USER_ID = #userId# AND A.DEL_FLAG = 'N' |
|
| 2290 |
- ) |
|
| 2291 |
- B ON A.MBER_ID = B.USER_ID |
|
| 2292 |
- WHERE A.MBER_ID = #userId# |
|
| 2293 |
- |
|
| 2294 |
- <!-- <![CDATA[ |
|
| 2284 |
+ <![CDATA[ |
|
| 2295 | 2285 |
|
| 2296 | 2286 |
SELECT NVL(ABS(SUM(CASH)), 0) FROM MJ_CASH |
| 2297 | 2287 |
WHERE USER_ID = #userId# |
| 2298 | 2288 |
AND DEL_FLAG = 'N' |
| 2299 |
- AND CASH < 0 |
|
| 2289 |
+ AND MSG_GROUP_ID IS NOT NULL |
|
| 2300 | 2290 |
|
| 2301 |
- ]]> --> |
|
| 2291 |
+ ]]> |
|
| 2302 | 2292 |
</select> |
| 2303 | 2293 |
|
| 2304 | 2294 |
<select id="mjonPayDAO.selectTotalSumPointForAfterPay" parameterClass="String" resultClass="String"> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
... | ... | @@ -290,6 +290,8 @@ |
| 290 | 290 |
<c:otherwise> |
| 291 | 291 |
<p class="tRight c_666" style="margin: 0 0 10px 0">(VAT 별도)</p> |
| 292 | 292 |
<div class="hisroy_price"> |
| 293 |
+ |
|
| 294 |
+ <%-- 누적 사용금액 => 현재까지 실제 문자발송에 사용된 캐시의 합산 --%> |
|
| 293 | 295 |
<div class="hisroy_defprice_in"> |
| 294 | 296 |
<p><i></i>누적 사용금액</p> |
| 295 | 297 |
<div class="clearfix"> |
... | ... | @@ -300,6 +302,8 @@ |
| 300 | 302 |
</span>원 |
| 301 | 303 |
</p> |
| 302 | 304 |
</div> |
| 305 |
+ |
|
| 306 |
+ <%-- 현재까지 적립된 포인트의 합산 --%> |
|
| 303 | 307 |
<div class="clearfix"> |
| 304 | 308 |
<p>포인트</p> |
| 305 | 309 |
<p> |
... | ... | @@ -309,6 +313,8 @@ |
| 309 | 313 |
</p> |
| 310 | 314 |
</div> |
| 311 | 315 |
</div> |
| 316 |
+ |
|
| 317 |
+ <%-- 누적 납부금액 => 현재까지 실제 납입하여 결제 완료 처리된 금액 (미납금액 제외) --%> |
|
| 312 | 318 |
<div class="hisroy_defprice_in"> |
| 313 | 319 |
<p><i></i>누적 납부금액</p> |
| 314 | 320 |
<div class="clearfix"> |
... | ... | @@ -319,6 +325,8 @@ |
| 319 | 325 |
</span>원 |
| 320 | 326 |
</p> |
| 321 | 327 |
</div> |
| 328 |
+ |
|
| 329 |
+ <%-- 누적 납부금액에 대한 2%의 포인트 --%> |
|
| 322 | 330 |
<div class="clearfix"> |
| 323 | 331 |
<p>포인트</p> |
| 324 | 332 |
<p> |
... | ... | @@ -328,6 +336,8 @@ |
| 328 | 336 |
</p> |
| 329 | 337 |
</div> |
| 330 | 338 |
</div> |
| 339 |
+ |
|
| 340 |
+ <%-- 당월 납부 예상 금액 => (누적 사용금액 - 누적 납부금액) --%> |
|
| 331 | 341 |
<div class="hisroy_defprice_in"> |
| 332 | 342 |
<p><i></i>당월 납부 예상금액</p> |
| 333 | 343 |
<div class="clearfix"> |
... | ... | @@ -338,6 +348,8 @@ |
| 338 | 348 |
</span>원 |
| 339 | 349 |
</p> |
| 340 | 350 |
</div> |
| 351 |
+ |
|
| 352 |
+ <%-- 당월 납부 예상금액에 대한 2%의 포인트 --%> |
|
| 341 | 353 |
<div class="clearfix"> |
| 342 | 354 |
<p>포인트</p> |
| 343 | 355 |
<p> |
... | ... | @@ -347,6 +359,8 @@ |
| 347 | 359 |
</p> |
| 348 | 360 |
</div> |
| 349 | 361 |
</div> |
| 362 |
+ |
|
| 363 |
+ <%-- 현재 회원의 보유잔액(캐시) --%> |
|
| 350 | 364 |
<div class="hisroy_defprice_in"> |
| 351 | 365 |
<p><i></i>잔액 (사용가능금액)</p> |
| 352 | 366 |
<div class="clearfix"> |
... | ... | @@ -357,6 +371,8 @@ |
| 357 | 371 |
</span>원 |
| 358 | 372 |
</p> |
| 359 | 373 |
</div> |
| 374 |
+ |
|
| 375 |
+ <%-- 현재 회원의 보유 포인트 --%> |
|
| 360 | 376 |
<div class="clearfix"> |
| 361 | 377 |
<p>포인트</p> |
| 362 | 378 |
<p> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
... | ... | @@ -201,7 +201,7 @@ |
| 201 | 201 |
<input type="hidden" id="searchSortCnd" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
| 202 | 202 |
<input type="hidden" id="searchSortOrd" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
| 203 | 203 |
<div class="list_info"> |
| 204 |
- <p>총 <span>${paginationInfo.totalRecordCount}</span>건</p>
|
|
| 204 |
+ <p>총 <span>${paginationInfo.totalRecordCount}</span>건 (<fmt:formatNumber value="${totSuccSendPrice}" pattern="" /> 원)</p>
|
|
| 205 | 205 |
<div> |
| 206 | 206 |
<button type="button" class="print_btn" onclick="javascript:fnPayUserPrintPopup();"> |
| 207 | 207 |
<i class="print_img"></i>인쇄하기 |
... | ... | @@ -332,13 +332,13 @@ |
| 332 | 332 |
</p> |
| 333 | 333 |
</td> |
| 334 | 334 |
<td> |
| 335 |
- <p> |
|
| 335 |
+ <p class="fwRg c_002c9a"> |
|
| 336 | 336 |
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.succSendPrice}" var="succCash" />
|
| 337 | 337 |
<c:out value="${succCash}"/>
|
| 338 | 338 |
</p> |
| 339 | 339 |
</td> |
| 340 | 340 |
<td> |
| 341 |
- <p> |
|
| 341 |
+ <p class="fwRg c_002c9a"> |
|
| 342 | 342 |
<%-- <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" />
|
| 343 | 343 |
<c:out value="${befPoint}"/> --%>
|
| 344 | 344 |
0 |
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?