요금 사용내역 신규 테스트 화면 개발 - 요금 사용내역 하단 리스트영역 신규 화면 추가 - 성공/ 실패 건수에 대한 데이터가 나오도록 변경 - 항목 정보 변경
- 요금 사용내역 하단 리스트영역 신규 화면 추가 - 성공/ 실패 건수에 대한 데이터가 나오도록 변경 - 항목 정보 변경
@fbd2a543f7976487ac810405c1105e3765b49bde
--- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
... | ... | @@ -200,6 +200,11 @@ |
| 200 | 200 |
|
| 201 | 201 |
private String searchDelayMsgYn; |
| 202 | 202 |
|
| 203 |
+ private int succSendCnt; |
|
| 204 |
+ private int failSendCnt; |
|
| 205 |
+ private double succSendPrice; |
|
| 206 |
+ private double failSendPrice; |
|
| 207 |
+ |
|
| 203 | 208 |
public String getSearchDelayMsgYn() {
|
| 204 | 209 |
return searchDelayMsgYn; |
| 205 | 210 |
} |
... | ... | @@ -1595,4 +1600,28 @@ |
| 1595 | 1600 |
public void setFtSendCount(int ftSendCount) {
|
| 1596 | 1601 |
this.ftSendCount = ftSendCount; |
| 1597 | 1602 |
} |
| 1603 |
+ public int getSuccSendCnt() {
|
|
| 1604 |
+ return succSendCnt; |
|
| 1605 |
+ } |
|
| 1606 |
+ public void setSuccSendCnt(int succSendCnt) {
|
|
| 1607 |
+ this.succSendCnt = succSendCnt; |
|
| 1608 |
+ } |
|
| 1609 |
+ public int getFailSendCnt() {
|
|
| 1610 |
+ return failSendCnt; |
|
| 1611 |
+ } |
|
| 1612 |
+ public void setFailSendCnt(int failSendCnt) {
|
|
| 1613 |
+ this.failSendCnt = failSendCnt; |
|
| 1614 |
+ } |
|
| 1615 |
+ public double getSuccSendPrice() {
|
|
| 1616 |
+ return succSendPrice; |
|
| 1617 |
+ } |
|
| 1618 |
+ public void setSuccSendPrice(double succSendPrice) {
|
|
| 1619 |
+ this.succSendPrice = succSendPrice; |
|
| 1620 |
+ } |
|
| 1621 |
+ public double getFailSendPrice() {
|
|
| 1622 |
+ return failSendPrice; |
|
| 1623 |
+ } |
|
| 1624 |
+ public void setFailSendPrice(double failSendPrice) {
|
|
| 1625 |
+ this.failSendPrice = failSendPrice; |
|
| 1626 |
+ } |
|
| 1598 | 1627 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java
+++ src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java
... | ... | @@ -79,6 +79,8 @@ |
| 79 | 79 |
|
| 80 | 80 |
public List<MjonMsgVO> selectPayUserList(MjonMsgVO mjonMsgVO) throws Exception; |
| 81 | 81 |
|
| 82 |
+ public List<MjonMsgVO> selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception; |
|
| 83 |
+ |
|
| 82 | 84 |
public List<MjonMsgVO> selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception; |
| 83 | 85 |
|
| 84 | 86 |
// 중계사 시스템 발송 문자 내용 입력 |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java
... | ... | @@ -152,6 +152,11 @@ |
| 152 | 152 |
} |
| 153 | 153 |
|
| 154 | 154 |
@SuppressWarnings("unchecked")
|
| 155 |
+ public List<MjonMsgVO> selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception{
|
|
| 156 |
+ return (List<MjonMsgVO>) list("mjonMsgDAO.selectPayUserSWList",mjonMsgVO);
|
|
| 157 |
+ } |
|
| 158 |
+ |
|
| 159 |
+ @SuppressWarnings("unchecked")
|
|
| 155 | 160 |
public List<MjonMsgVO> selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception{
|
| 156 | 161 |
return (List<MjonMsgVO>) list("mjonMsgDAO.selectPayUserSumList",mjonMsgVO);
|
| 157 | 162 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
... | ... | @@ -1775,6 +1775,11 @@ |
| 1775 | 1775 |
} |
| 1776 | 1776 |
|
| 1777 | 1777 |
@Override |
| 1778 |
+ public List<MjonMsgVO> selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception {
|
|
| 1779 |
+ return mjonMsgDataDAO.selectPayUserSWList(mjonMsgVO); |
|
| 1780 |
+ } |
|
| 1781 |
+ |
|
| 1782 |
+ @Override |
|
| 1778 | 1783 |
public List<MjonMsgVO> selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception {
|
| 1779 | 1784 |
return mjonMsgDataDAO.selectPayUserSumList(mjonMsgVO); |
| 1780 | 1785 |
} |
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
... | ... | @@ -2514,7 +2514,7 @@ |
| 2514 | 2514 |
return "/web/pay/PayUserWithKakaoList"; |
| 2515 | 2515 |
} |
| 2516 | 2516 |
/** |
| 2517 |
- * 요금사용내역 |
|
| 2517 |
+ * 요금사용내역 하단 리스트 영역 |
|
| 2518 | 2518 |
* @param mjonMsgVO |
| 2519 | 2519 |
* @param model |
| 2520 | 2520 |
* @return "/web/member/pay/PayUserListAjax.do" |
... | ... | @@ -2557,6 +2557,129 @@ |
| 2557 | 2557 |
return "/web/pay/PayUserListAjax"; |
| 2558 | 2558 |
} |
| 2559 | 2559 |
|
| 2560 |
+ |
|
| 2561 |
+ |
|
| 2562 |
+ |
|
| 2563 |
+ /** |
|
| 2564 |
+ * 요금사용내역 신규 화면 |
|
| 2565 |
+ * 2023.12.22 우영두 |
|
| 2566 |
+ * @param mjonMsgVO |
|
| 2567 |
+ * @param model |
|
| 2568 |
+ * @return "/web/member/pay/PayUserSWList.do" |
|
| 2569 |
+ * @throws Exception |
|
| 2570 |
+ */ |
|
| 2571 |
+ @RequestMapping(value= {"/web/member/pay/PayUserSWList.do"})
|
|
| 2572 |
+ public String PayUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO,
|
|
| 2573 |
+ MjonPayVO mjonPayVO, |
|
| 2574 |
+ MberManageVO mberManageVO, RedirectAttributes redirectAttributes, |
|
| 2575 |
+ HttpServletRequest request, |
|
| 2576 |
+ ModelMap model) throws Exception{
|
|
| 2577 |
+ |
|
| 2578 |
+ /*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/ |
|
| 2579 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 2580 |
+ |
|
| 2581 |
+ if(loginVO == null) {
|
|
| 2582 |
+ //redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다.");
|
|
| 2583 |
+ return "redirect:/web/user/login/login.do"; |
|
| 2584 |
+ } |
|
| 2585 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 2586 |
+ mjonMsgVO.setUserId(userId); |
|
| 2587 |
+ |
|
| 2588 |
+ { // 충전캐시
|
|
| 2589 |
+ String sumPayMoney = mjonPayService.selectAgentSumPayMoney(userId); |
|
| 2590 |
+ model.addAttribute("sumPayMoney", sumPayMoney);
|
|
| 2591 |
+ } |
|
| 2592 |
+ |
|
| 2593 |
+ { // 충전포인트
|
|
| 2594 |
+ String sumPoint = mjonPayService.selectSumPoint(userId); |
|
| 2595 |
+ model.addAttribute("sumPoint", sumPoint);
|
|
| 2596 |
+ } |
|
| 2597 |
+ |
|
| 2598 |
+ { // 총 사용금액
|
|
| 2599 |
+ mjonPayVO.setUserId(userId); |
|
| 2600 |
+ List<MjonPayVO> usedCashTotList = mjonPayService.selectUsedCashWithKakaoTotCnt(mjonPayVO); |
|
| 2601 |
+ model.addAttribute("usedCashTotList", usedCashTotList);
|
|
| 2602 |
+ } |
|
| 2603 |
+ { // 사용가능한 금액
|
|
| 2604 |
+ mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); |
|
| 2605 |
+ model.addAttribute("mberManageVO", mberManageVO);
|
|
| 2606 |
+ } |
|
| 2607 |
+ |
|
| 2608 |
+ { // 발송건수
|
|
| 2609 |
+ mjonMsgVO.setReserveYn("N");
|
|
| 2610 |
+ List<MjonMsgVO> sendTotList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO); |
|
| 2611 |
+ model.addAttribute("sendTotList", sendTotList);
|
|
| 2612 |
+ } |
|
| 2613 |
+ |
|
| 2614 |
+ { // 예약건수
|
|
| 2615 |
+ mjonMsgVO.setReserveYn("Y");
|
|
| 2616 |
+ List<MjonMsgVO> reservToList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO); |
|
| 2617 |
+ model.addAttribute("reservToList", reservToList);
|
|
| 2618 |
+ } |
|
| 2619 |
+ |
|
| 2620 |
+ {
|
|
| 2621 |
+ MjonCandidateVO mjonCandidateVO = new MjonCandidateVO(); |
|
| 2622 |
+ if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기
|
|
| 2623 |
+ mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId); |
|
| 2624 |
+ if(mjonCandidateVO != null) {
|
|
| 2625 |
+ mjonCandidateVO.setRegidentNo1(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1())); |
|
| 2626 |
+ mjonCandidateVO.setRegidentNo2(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2())); |
|
| 2627 |
+ } |
|
| 2628 |
+ } |
|
| 2629 |
+ model.addAttribute("mjonCandidateVO", mjonCandidateVO);
|
|
| 2630 |
+ } |
|
| 2631 |
+ return "/web/pay/PayUserSWList"; |
|
| 2632 |
+ } |
|
| 2633 |
+ |
|
| 2634 |
+ |
|
| 2635 |
+ /** |
|
| 2636 |
+ * 요금사용내역 하단 리스트 영역 신규 화면 |
|
| 2637 |
+ * 2023.12.22 우영두 |
|
| 2638 |
+ * @param mjonMsgVO |
|
| 2639 |
+ * @param model |
|
| 2640 |
+ * @return "/web/member/pay/PayUserSWListAjax.do" |
|
| 2641 |
+ * @throws Exception |
|
| 2642 |
+ */ |
|
| 2643 |
+ @RequestMapping(value= {"/web/member/pay/PayUserSWListAjax.do"})
|
|
| 2644 |
+ public String PayUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
|
| 2645 |
+ HttpServletRequest request, |
|
| 2646 |
+ ModelMap model) throws Exception{
|
|
| 2647 |
+ |
|
| 2648 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 2649 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 2650 |
+ mjonMsgVO.setUserId(userId); |
|
| 2651 |
+ |
|
| 2652 |
+ if(mjonMsgVO.getPageUnit() != 10) {
|
|
| 2653 |
+ mjonMsgVO.setPageUnit(mjonMsgVO.getPageUnit()); |
|
| 2654 |
+ } |
|
| 2655 |
+ |
|
| 2656 |
+ /** pageing */ |
|
| 2657 |
+ PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 2658 |
+ paginationInfo.setCurrentPageNo(mjonMsgVO.getPageIndex()); |
|
| 2659 |
+ paginationInfo.setRecordCountPerPage(mjonMsgVO.getPageUnit()); |
|
| 2660 |
+ paginationInfo.setPageSize(mjonMsgVO.getPageSize()); |
|
| 2661 |
+ |
|
| 2662 |
+ mjonMsgVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 2663 |
+ mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 2664 |
+ mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 2665 |
+ |
|
| 2666 |
+ if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
| 2667 |
+ mjonMsgVO.setSearchSortCnd("regDate");
|
|
| 2668 |
+ mjonMsgVO.setSearchSortOrd("desc");
|
|
| 2669 |
+ } |
|
| 2670 |
+ |
|
| 2671 |
+ |
|
| 2672 |
+ List<MjonMsgVO> payUserSWList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); |
|
| 2673 |
+ |
|
| 2674 |
+ paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0); |
|
| 2675 |
+ model.addAttribute("paginationInfo", paginationInfo);
|
|
| 2676 |
+ model.addAttribute("payUserSWList", payUserSWList);
|
|
| 2677 |
+ |
|
| 2678 |
+ return "/web/pay/PayUserSWListAjax"; |
|
| 2679 |
+ } |
|
| 2680 |
+ |
|
| 2681 |
+ |
|
| 2682 |
+ |
|
| 2560 | 2683 |
/** |
| 2561 | 2684 |
* 요금사용내역 - 카카오 테스트용 |
| 2562 | 2685 |
* @param mjonMsgVO |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -3135,6 +3135,194 @@ |
| 3135 | 3135 |
LIMIT #recordCountPerPage# OFFSET #firstIndex# |
| 3136 | 3136 |
</select> |
| 3137 | 3137 |
|
| 3138 |
+ <!-- 사용자 요금 사용내역 리스트 --> |
|
| 3139 |
+ <select id="mjonMsgDAO.selectPayUserSWList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO"> |
|
| 3140 |
+ SELECT |
|
| 3141 |
+ COUNT(pay.totCnt) OVER() AS totCnt |
|
| 3142 |
+ , pay.regDate AS regDate |
|
| 3143 |
+ , pay.sendCount AS sendCount |
|
| 3144 |
+ , pay.succSendCnt AS succSendCnt |
|
| 3145 |
+ , pay.failSendCnt AS failSendCnt |
|
| 3146 |
+ , pay.succSendPrice AS succSendPrice |
|
| 3147 |
+ , pay.failSendPrice AS failSendPrice |
|
| 3148 |
+ , pay.smsTxt AS smsTxt |
|
| 3149 |
+ , pay.subject AS subject |
|
| 3150 |
+ , pay.msgTypeTxt AS msgTypeTxt |
|
| 3151 |
+ , pay.fileCnt AS fileCnt |
|
| 3152 |
+ , pay.befCash AS befCash |
|
| 3153 |
+ , pay.befPoint AS befPoint |
|
| 3154 |
+ , pay.totPrice AS totPrice |
|
| 3155 |
+ , pay.thisPoint AS thisPoint |
|
| 3156 |
+ , pay.msgGroupId AS msgGroupId |
|
| 3157 |
+ , pay.totalPrice AS totalPrice |
|
| 3158 |
+ , pay.eachPrice AS eachPrice |
|
| 3159 |
+ , pay.sentDate AS sentDate |
|
| 3160 |
+ , pay.fileName1 AS fileName1 |
|
| 3161 |
+ , pay.fileName2 AS fileName2 |
|
| 3162 |
+ , pay.fileName3 AS fileName3 |
|
| 3163 |
+ , pay.orderByCode AS orderByCode |
|
| 3164 |
+ , pay.msgId AS msgId |
|
| 3165 |
+ FROM |
|
| 3166 |
+ ( |
|
| 3167 |
+ SELECT |
|
| 3168 |
+ COUNT(M.regDate) OVER() AS totCnt |
|
| 3169 |
+ , M.regDate AS regDate |
|
| 3170 |
+ , M.sendCount AS sendCount |
|
| 3171 |
+ , SUM(IF(RESULT = 'W' OR RESULT = 'S', 1, 0 )) AS succSendCnt |
|
| 3172 |
+ , SUM(IF(RESULT = 'F', 1, 0 )) AS failSendCnt |
|
| 3173 |
+ , SUM(IF(RESULT = 'W' OR RESULT = 'S', 1, 0 )) * M.eachPrice AS succSendPrice |
|
| 3174 |
+ , SUM(IF(RESULT = 'F', 1, 0 )) * M.eachPrice AS failSendPrice |
|
| 3175 |
+ , M.smsTxt AS smsTxt |
|
| 3176 |
+ , M.subject AS subject |
|
| 3177 |
+ , M.msgTypeTxt AS msgTypeTxt |
|
| 3178 |
+ , M.msgKind AS msgKind |
|
| 3179 |
+ , M.fileCnt AS fileCnt |
|
| 3180 |
+ , M.befCash AS befCash |
|
| 3181 |
+ , M.befPoint AS befPoint |
|
| 3182 |
+ , ROUND((M.eachPrice * M.sendCount), 2) AS totPrice |
|
| 3183 |
+ , (M.befCash - ROUND((M.eachPrice * M.sendCount), 2)) AS thisPoint |
|
| 3184 |
+ , M.msgGroupId AS msgGroupId |
|
| 3185 |
+ , M.totalPrice AS totalPrice |
|
| 3186 |
+ , M.eachPrice AS eachPrice |
|
| 3187 |
+ , M.sentDate AS sentDate |
|
| 3188 |
+ , M.fileName1 AS fileName1 |
|
| 3189 |
+ , M.fileName2 AS fileName2 |
|
| 3190 |
+ , M.fileName3 AS fileName3 |
|
| 3191 |
+ , M.orderByCode AS orderByCode |
|
| 3192 |
+ , M.msgId AS msgId |
|
| 3193 |
+ FROM |
|
| 3194 |
+ (SELECT |
|
| 3195 |
+ DATE_FORMAT(B.REGDATE, '%Y-%m-%d %H:%i' ) AS regDate |
|
| 3196 |
+ , B.MSG_GROUP_CNT AS sendCount |
|
| 3197 |
+ , B.SMS_TXT AS smsTxt |
|
| 3198 |
+ , B.SUBJECT AS subject |
|
| 3199 |
+ , B.MSG_TYPE AS msgTypeTxt |
|
| 3200 |
+ , B.MSG_KIND AS msgKind |
|
| 3201 |
+ , B.FILE_CNT AS fileCnt |
|
| 3202 |
+ , B.BEF_CASH AS befCash |
|
| 3203 |
+ , B.BEF_POINT AS befPoint |
|
| 3204 |
+ , B.TOT_PRICE AS totPrice |
|
| 3205 |
+ , B.MSG_GROUP_ID AS msgGroupId |
|
| 3206 |
+ , B.TOT_PRICE AS totalPrice |
|
| 3207 |
+ , B.EACH_PRICE AS eachPrice |
|
| 3208 |
+ , A.SENT_DATE AS sentDate |
|
| 3209 |
+ , A.FILE_PATH1 AS fileName1 |
|
| 3210 |
+ , A.FILE_PATH2 AS fileName2 |
|
| 3211 |
+ , A.FILE_PATH3 AS fileName3 |
|
| 3212 |
+ , A.MSG_ID AS msgId |
|
| 3213 |
+ , A.REQ_DATE AS reqDate |
|
| 3214 |
+ , CASE |
|
| 3215 |
+ WHEN B.MSG_TYPE = '6' AND B.FILE_CNT > 0 |
|
| 3216 |
+ THEN '3' |
|
| 3217 |
+ WHEN B.MSG_TYPE = '6' AND B.FILE_CNT = 0 |
|
| 3218 |
+ THEN '2' |
|
| 3219 |
+ ELSE '1' |
|
| 3220 |
+ END orderByCode |
|
| 3221 |
+ , ( |
|
| 3222 |
+ <include refid="MjonMsgSentDAO.selectAgentWithKakaoResultQuery_A"/> |
|
| 3223 |
+ ) AS RESULT |
|
| 3224 |
+ <include refid="MjonMsgSentDAO.selectJoinQuery"/> |
|
| 3225 |
+ AND A.USER_ID = #userId# |
|
| 3226 |
+ AND B.USER_ID = #userId# |
|
| 3227 |
+ AND B.RESERVE_C_YN = 'N' |
|
| 3228 |
+ ORDER BY 1=1 |
|
| 3229 |
+ , msgGroupId DESC |
|
| 3230 |
+ , sentDate DESC |
|
| 3231 |
+ , msg_id DESC |
|
| 3232 |
+ )M |
|
| 3233 |
+ WHERE 1=1 |
|
| 3234 |
+ AND RESULT IN ('W', 'S', 'F')
|
|
| 3235 |
+ GROUP BY M.msgGroupId |
|
| 3236 |
+ |
|
| 3237 |
+ UNION |
|
| 3238 |
+ |
|
| 3239 |
+ SELECT |
|
| 3240 |
+ COUNT(1) OVER () AS totCnt |
|
| 3241 |
+ , DATE_FORMAT(pf.ReqDate, '%Y-%m-%d %H:%i' ) AS regDate |
|
| 3242 |
+ , mjf.FAX_GROUP_CNT AS sendCount |
|
| 3243 |
+ , SentEA AS succSendCnt |
|
| 3244 |
+ , SentEA * mjf.EACH_PRICE AS succSendPrice |
|
| 3245 |
+ , ErrorEA AS failSendCnt |
|
| 3246 |
+ , ErrorEA * mjf.EACH_PRICE AS failSendPrice |
|
| 3247 |
+ , "" AS smsTxt |
|
| 3248 |
+ , mjf.SUBJECT AS subject |
|
| 3249 |
+ , "fax" AS msgTypeTxt |
|
| 3250 |
+ , "" AS msgKind |
|
| 3251 |
+ , mjf.FAX_PAGE_CNT AS fileCnt |
|
| 3252 |
+ , mjf.BEF_CASH AS befCash |
|
| 3253 |
+ , mjf.BEF_POINT AS befPoint |
|
| 3254 |
+ , ROUND((mjf.EACH_PRICE * mjf.FAX_PAGE_CNT * mjf.FAX_GROUP_CNT), 2) AS totPrice |
|
| 3255 |
+ , (mjf.BEF_CASH - ROUND((mjf.EACH_PRICE * mjf.FAX_PAGE_CNT * mjf.FAX_GROUP_CNT), 2)) AS thisPoint |
|
| 3256 |
+ , mjf.FAX_GROUP_ID AS msgGroupId |
|
| 3257 |
+ , mjf.TOT_PRICE AS totalPrice |
|
| 3258 |
+ , mjf.EACH_PRICE AS eachPrice |
|
| 3259 |
+ , pf.SendDate AS sentDate |
|
| 3260 |
+ , "" AS fileName1 |
|
| 3261 |
+ , "" AS fileName2 |
|
| 3262 |
+ , "" AS fileName3 |
|
| 3263 |
+ , "" AS orderByCode |
|
| 3264 |
+ , pf.SEQ AS msgId |
|
| 3265 |
+ FROM |
|
| 3266 |
+ pgi_faxtran pf |
|
| 3267 |
+ LEFT JOIN mj_fax_group_data mjf |
|
| 3268 |
+ ON pf.seq = mjf.PGI_FAXTRAN_SEQ |
|
| 3269 |
+ LEFT JOIN mj_fax_convert_mng mjc |
|
| 3270 |
+ ON mjf.CONVERT_MNG_SEQ = mjc.CONVERT_MNG_SEQ |
|
| 3271 |
+ WHERE 1 = 1 |
|
| 3272 |
+ AND pf.SentEA > 0 |
|
| 3273 |
+ AND mjf.USER_ID = #userId# |
|
| 3274 |
+ |
|
| 3275 |
+ ) AS pay |
|
| 3276 |
+ WHERE 1=1 |
|
| 3277 |
+ |
|
| 3278 |
+ <isNotEmpty property="pageType"> |
|
| 3279 |
+ <isEqual property="pageType" compareValue="sms"> |
|
| 3280 |
+ AND pay.msgTypeTxt = '4' |
|
| 3281 |
+ </isEqual> |
|
| 3282 |
+ <isEqual property="pageType" compareValue="lms"> |
|
| 3283 |
+ AND pay.msgTypeTxt = '6' |
|
| 3284 |
+ AND pay.fileCnt = 0 |
|
| 3285 |
+ </isEqual> |
|
| 3286 |
+ <isEqual property="pageType" compareValue="mms"> |
|
| 3287 |
+ AND pay.msgTypeTxt = '6' |
|
| 3288 |
+ AND pay.fileCnt != 0 |
|
| 3289 |
+ </isEqual> |
|
| 3290 |
+ <isEqual property="pageType" compareValue="cam"> |
|
| 3291 |
+ AND pay.msgKind = 'C' |
|
| 3292 |
+ </isEqual> |
|
| 3293 |
+ <isEqual property="pageType" compareValue="at"> |
|
| 3294 |
+ AND pay.msgTypeTxt = '8' |
|
| 3295 |
+ </isEqual> |
|
| 3296 |
+ <isEqual property="pageType" compareValue="ft"> |
|
| 3297 |
+ AND pay.msgTypeTxt = '9' |
|
| 3298 |
+ </isEqual> |
|
| 3299 |
+ <isEqual property="pageType" compareValue="fax"> |
|
| 3300 |
+ AND pay.msgTypeTxt = 'fax' |
|
| 3301 |
+ </isEqual> |
|
| 3302 |
+ </isNotEmpty> |
|
| 3303 |
+ <isNotEmpty property="startDate"> |
|
| 3304 |
+ <![CDATA[ |
|
| 3305 |
+ AND DATE_FORMAT(pay.regDate, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 3306 |
+ ]]> |
|
| 3307 |
+ </isNotEmpty> |
|
| 3308 |
+ <isNotEmpty property="endDate"> |
|
| 3309 |
+ <![CDATA[ |
|
| 3310 |
+ AND DATE_FORMAT(pay.regDate, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 3311 |
+ ]]> |
|
| 3312 |
+ </isNotEmpty> |
|
| 3313 |
+ |
|
| 3314 |
+ |
|
| 3315 |
+ ORDER BY 1=1 |
|
| 3316 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 3317 |
+ ,$searchSortCnd$ |
|
| 3318 |
+ </isNotEmpty> |
|
| 3319 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 3320 |
+ $searchSortOrd$ |
|
| 3321 |
+ </isNotEmpty> |
|
| 3322 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 3323 |
+ </select> |
|
| 3324 |
+ |
|
| 3325 |
+ |
|
| 3138 | 3326 |
<!-- 사용자 요금 사용내역 Sum 리스트 --> |
| 3139 | 3327 |
<select id="mjonMsgDAO.selectPayUserSumList_bak" parameterClass="mjonMsgVO" resultClass="mjonMsgVO"> |
| 3140 | 3328 |
SELECT |
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
... | ... | @@ -0,0 +1,399 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : SendNumberList.jsp | |
| 3 | + Description : 발신번호 리스트 조회 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2021.03.31 신명섭 최초 생성 | |
| 9 | + | |
| 10 | + Copyright (C) 2009 by ITN All right reserved. | |
| 11 | +--%> | |
| 12 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 13 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 14 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 15 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 16 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 17 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 18 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 19 | + | |
| 20 | +<script> | |
| 21 | +var thisYearStart = ""; | |
| 22 | +var thisYearEnd = ""; | |
| 23 | +var lastfulstday = ""; | |
| 24 | +var lastfuledday = ""; | |
| 25 | +var thisfulstlday = ""; | |
| 26 | +var thisfuledtlday = ""; | |
| 27 | +$(document).ready(function(){ | |
| 28 | + payUserListAjax(1); | |
| 29 | + var date = new Date() ; | |
| 30 | + //이전달 첫날/마지막날 조회 | |
| 31 | + if(date.getMonth()+1 == 1){ | |
| 32 | + lastfulstday = date.getFullYear()-1 + "/12" + "/01"; | |
| 33 | + lastfuledday = date.getFullYear()-1 + "/12" + "/"+new Date(date.getFullYear()-1, 12, 0); | |
| 34 | + }else{ | |
| 35 | + lastfulstday = date.getFullYear() + "/" ; | |
| 36 | + lastfulstday += date.getMonth() < 10 ? "0"+ (date.getMonth()) : date.getMonth()+"" ; | |
| 37 | + lastfuledday = lastfulstday + "/"+ new Date(date.getFullYear(), date.getMonth(), 0).getDate()+"" ; | |
| 38 | + lastfulstday += "/01" ; | |
| 39 | + } | |
| 40 | + | |
| 41 | + //당월 첫날/마지막날 조회 | |
| 42 | + thisfulstlday = date.getFullYear() + "/" ; | |
| 43 | + thisfulstlday += date.getMonth()+1 < 10 ? "0"+ (date.getMonth()+1) : date.getMonth()+1+"" ; | |
| 44 | + thisfuledtlday = thisfulstlday + "/"+ new Date(date.getFullYear(), date.getMonth()+1, 0).getDate()+""; | |
| 45 | + thisfulstlday += "/01" ; | |
| 46 | + | |
| 47 | + thisYearStart = date.getFullYear() + "/01/01" ; | |
| 48 | + thisYearEnd = date.getFullYear() + "/12/31" ; | |
| 49 | + | |
| 50 | +}); | |
| 51 | + | |
| 52 | +// 기간 요일 지정 | |
| 53 | +function setCalVal(val,targetObj){ | |
| 54 | + $('input[name='+targetObj+']').val(val) ; | |
| 55 | +} | |
| 56 | + | |
| 57 | +// 요금사용내역 리스트 | |
| 58 | +function payUserListAjax(pageNo){ | |
| 59 | + document.listForm.pageIndex.value = pageNo; | |
| 60 | + var sendData= $(document.listForm).serializeArray(); | |
| 61 | + $("#payUserListLoad").load("/web/member/pay/PayUserSWListAjax.do", sendData ,function(response, status, xhr){ | |
| 62 | + }); | |
| 63 | +} | |
| 64 | + | |
| 65 | +function payUserTab(obj, pageType){ | |
| 66 | + | |
| 67 | + var $tab = $(obj).closest("li"); | |
| 68 | + $tab.addClass("active"); | |
| 69 | + $tab.find("button").attr("title", "선택됨"); | |
| 70 | + $tab.siblings("li.tab").removeClass("active"); | |
| 71 | + $tab.siblings("li.tab").find("button").removeAttr("title"); | |
| 72 | + | |
| 73 | + $("#pageType").val(pageType); | |
| 74 | + payUserListAjax(1); | |
| 75 | +} | |
| 76 | + | |
| 77 | +/* 윈도우팝업 열기 */ | |
| 78 | +function infoPop(pageUrl){ | |
| 79 | + document.infoPopForm.pageType.value = pageUrl; | |
| 80 | + document.infoPopForm.action = "/web/pop/infoPop.do"; | |
| 81 | + document.infoPopForm.method = "post"; | |
| 82 | + window.open("about:blank", 'infoPop', 'width=790, height=250, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); | |
| 83 | + document.infoPopForm.target = "infoPop"; | |
| 84 | + document.infoPopForm.submit(); | |
| 85 | +} | |
| 86 | + | |
| 87 | +//상세보기 버튼 실행 | |
| 88 | +function fnRevDetailPop(msgGroupId, fileCnt){ | |
| 89 | + | |
| 90 | + document.resPopForm.msgGroupId.value = msgGroupId; | |
| 91 | + var sendData = $(document.resPopForm).serializeArray(); | |
| 92 | + | |
| 93 | + $("#resvMsgDetailPopLoad").load("/web/member/pay/selectPayUserMsgDetailDataAjax.do", sendData ,function(response, status, xhr){ | |
| 94 | + }); | |
| 95 | + | |
| 96 | +} | |
| 97 | + | |
| 98 | +//상세보기 버튼 실행 | |
| 99 | +function fnRevDetailPop02(msgGroupId){ | |
| 100 | + document.resPopForm.msgGroupId.value = msgGroupId; | |
| 101 | + var sendData = $(document.resPopForm).serializeArray(); | |
| 102 | + | |
| 103 | + // 전송건별 | |
| 104 | + $("#msgSentDetailPopLoad").load("/web/kakao/sent/selectKakaoSentDetailDataAjax.do", sendData ,function(response, status, xhr){ | |
| 105 | + // 상세보기 클릭때마다 툴팁 1 tab이 열리게 설정 | |
| 106 | + popupTab($('#atBtn'),'1'); | |
| 107 | + $('#kakaoClick').trigger('click'); | |
| 108 | + }); | |
| 109 | + | |
| 110 | +} | |
| 111 | + | |
| 112 | +//상세보기 버튼 실행 | |
| 113 | +function fnRevDetailPop03(msgGroupId){ | |
| 114 | + document.faxPopForm.faxGroupId.value = msgGroupId; | |
| 115 | + var sendData = $(document.faxPopForm).serializeArray(); | |
| 116 | + // 전송건별 | |
| 117 | + $("#faxSentDetailPopLoad").load("/web/mjon/fax/faxSendListAjax.do", sendData ,function(response, status, xhr){ | |
| 118 | + // 상세보기 클릭때마다 툴팁 1 tab이 열리게 설정 | |
| 119 | +// popupTab($('#atBtn'),'1'); | |
| 120 | + $('#faxClick').trigger('click'); | |
| 121 | + }); | |
| 122 | +} | |
| 123 | +</script> | |
| 124 | +<!-- 문자내용 팝업 --> | |
| 125 | +<div class="tooltip-wrap"> | |
| 126 | + <div class="popup-com adr_layer rev_popup01" tabindex="0" data-tooltip-con="rev_popup01" | |
| 127 | + data-focus="rev_popup01" data-focus-prev="rev_popup01-close" style="width: 440px;"> | |
| 128 | + <div class="popup_heading"> | |
| 129 | + <p>문자내용</p> | |
| 130 | + <button type="button" class="tooltip-close" data-focus="rev_popup01-close"> | |
| 131 | + <img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"> | |
| 132 | + </button> | |
| 133 | + </div> | |
| 134 | + <div class="layer_in" id="resvMsgDetailPopLoad"> | |
| 135 | + <div class="popup_btn_wrap2" style="justify-content: center;"> | |
| 136 | + <button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button> | |
| 137 | + </div> | |
| 138 | + </div> | |
| 139 | + </div> | |
| 140 | +</div> | |
| 141 | +<!--// 문자내용 팝업 --> | |
| 142 | + | |
| 143 | +<!-- 카카오 알림톡 팝업 --> | |
| 144 | +<div class="tooltip-wrap"> | |
| 145 | + <div class="popup-com adr_layer kakao_rev_popup rev_popup02" tabindex="0" data-tooltip-con="rev_popup02" | |
| 146 | + data-focus="rev_popup02" data-focus-prev="rev_popup02-close" style="width: 440px;"> | |
| 147 | + <div class="popup_heading"> | |
| 148 | + <p>카카오 내용</p> | |
| 149 | + <button type="button" class="tooltip-close" data-focus="rev_popup02-close"> | |
| 150 | + <img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"> | |
| 151 | + </button> | |
| 152 | + </div> | |
| 153 | + <div class="layer_in"> | |
| 154 | + | |
| 155 | + <!-- 팝업 상세내용 노출 --> | |
| 156 | + <div id="msgSentDetailPopLoad" > | |
| 157 | + </div> | |
| 158 | + <div class="popup_btn_wrap2" style="justify-content: center;"> | |
| 159 | + <button type="button" class="tooltip-close" data-focus="rev_popup02-close" | |
| 160 | + data-focus-next="rev_popup02">닫기</button> | |
| 161 | + </div> | |
| 162 | + </div> | |
| 163 | + </div> | |
| 164 | +</div> | |
| 165 | +<!-- //카카오 알림톡 팝업 --> | |
| 166 | + | |
| 167 | +<!-- 펙스 팝업 --> | |
| 168 | +<div class="tooltip-wrap"> | |
| 169 | + <div class="popup-com adr_layer fax_rev_popup rev_popup03" tabindex="0" data-tooltip-con="rev_popup03" | |
| 170 | + data-focus="rev_popup03" data-focus-prev="rev_popup03-close" style="width: 800px;"> | |
| 171 | + <div class="popup_heading"> | |
| 172 | + <p>펙스 내용</p> | |
| 173 | + <button type="button" class="tooltip-close" data-focus="rev_popup03-close"> | |
| 174 | + <img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"> | |
| 175 | + </button> | |
| 176 | + </div> | |
| 177 | + <div class="layer_in"> | |
| 178 | + | |
| 179 | + <!-- 팝업 상세내용 노출 --> | |
| 180 | + <div id="faxSentDetailPopLoad" > | |
| 181 | + </div> | |
| 182 | + </div> | |
| 183 | + </div> | |
| 184 | +</div> | |
| 185 | +<!-- //펙스 팝업 --> | |
| 186 | + | |
| 187 | +<div class="inner"> | |
| 188 | + <!-- send top --> | |
| 189 | + <div class="send_top"> | |
| 190 | + <!-- tab button --> | |
| 191 | + <ul class="tabType4"> | |
| 192 | + <li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li> | |
| 193 | + <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li> | |
| 194 | + <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li> | |
| 195 | + <li class="tab active"><button type="button">요금 사용내역</button></li> | |
| 196 | + <!-- 현금영수증 자동발행 주석 --> | |
| 197 | + <!-- <li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">계산서/현금영수증 발행 등록</button></li> --> | |
| 198 | + <li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li> | |
| 199 | + </ul> | |
| 200 | + <!-- 결제관리 - 요금 사용내역 --> | |
| 201 | + <div class="serv_content current" id="tab5_4"> | |
| 202 | + <div class="heading"> | |
| 203 | + <h2>요금 사용내역</h2> | |
| 204 | + <button type="button" class="button info" onclick="infoPop('PayUserList');">사용안내</button> | |
| 205 | + </div> | |
| 206 | + <div class="hisroy_price"> | |
| 207 | + <div class="hisroy_price_in"> | |
| 208 | + <p> | |
| 209 | + <i></i>충전금액 | |
| 210 | + </p> | |
| 211 | + | |
| 212 | + <div class="clearfix"> | |
| 213 | + <p>캐시</p> | |
| 214 | + <p> | |
| 215 | + <span> | |
| 216 | + <c:choose> | |
| 217 | + <c:when test="${not empty sumPayMoney}"> | |
| 218 | + <fmt:formatNumber value="${sumPayMoney}" pattern="#,###.#"/> | |
| 219 | + </c:when> | |
| 220 | + <c:otherwise> | |
| 221 | + <fmt:formatNumber value="0" pattern="#,###.#"/> | |
| 222 | + </c:otherwise> | |
| 223 | + </c:choose> | |
| 224 | + </span>원 | |
| 225 | + </p> | |
| 226 | + </div> | |
| 227 | + <div class="clearfix"> | |
| 228 | + <p>포인트</p> | |
| 229 | + <p> | |
| 230 | + <span> | |
| 231 | + <c:choose> | |
| 232 | + <c:when test="${not empty sumPoint}"> | |
| 233 | + <fmt:formatNumber value="${sumPoint}" pattern="#,###.#"/> | |
| 234 | + </c:when> | |
| 235 | + <c:otherwise> | |
| 236 | + <fmt:formatNumber value="0" pattern="#,###.#"/> | |
| 237 | + </c:otherwise> | |
| 238 | + </c:choose> | |
| 239 | + </span>원 | |
| 240 | + </p> | |
| 241 | + </div> | |
| 242 | + </div> | |
| 243 | + <div class="hisroy_price_in"> | |
| 244 | + <p> | |
| 245 | + <i></i>사용금액 | |
| 246 | + </p> | |
| 247 | + <c:forEach var="result" items="${usedCashTotList}" varStatus="status"> | |
| 248 | + <div class="clearfix"> | |
| 249 | + <p> | |
| 250 | + <c:if test="${result.divFlag eq 'CASH' }"> | |
| 251 | + 캐시 | |
| 252 | + </c:if> | |
| 253 | + <c:if test="${result.divFlag eq 'POINT' }"> | |
| 254 | + 포인트 | |
| 255 | + </c:if> | |
| 256 | + </p> | |
| 257 | + <p> | |
| 258 | + <span> | |
| 259 | + <fmt:formatNumber value="${result.totalPrice}" pattern="#,###.#"/> | |
| 260 | + </span>원 | |
| 261 | + </p> | |
| 262 | + </div> | |
| 263 | + </c:forEach> | |
| 264 | + </div> | |
| 265 | + <div class="hisroy_price_in"> | |
| 266 | + <p> | |
| 267 | + <i></i>잔액 | |
| 268 | + </p> | |
| 269 | + <div class="clearfix"> | |
| 270 | + <p>캐시</p> | |
| 271 | + <p> | |
| 272 | + <span> | |
| 273 | + <fmt:formatNumber value="${mberManageVO.userMoney}" pattern="" /> | |
| 274 | + </span>원 | |
| 275 | + </p> | |
| 276 | + </div> | |
| 277 | + <div class="clearfix"> | |
| 278 | + <p>포인트</p> | |
| 279 | + <p> | |
| 280 | + <span> | |
| 281 | + <fmt:formatNumber value="${mberManageVO.userPoint}" pattern="" /> | |
| 282 | + </span>원 | |
| 283 | + </p> | |
| 284 | + </div> | |
| 285 | + </div> | |
| 286 | + </div> | |
| 287 | + <div class="history_details"> | |
| 288 | + <p class="tType1_title"><img src="/publish/images/content/history_details_title.png" alt=""> 발송내역</p> | |
| 289 | + <div class="details_wrap"> | |
| 290 | + <table> | |
| 291 | + <colgroup> | |
| 292 | + <col style="width: calc(100% / 5);"> | |
| 293 | + <col style="width: calc(100% / 5);"> | |
| 294 | + <col style="width: calc(100% / 5);"> | |
| 295 | + <col style="width: calc(100% / 5);"> | |
| 296 | + <col style="width: calc(100% / 5);"> | |
| 297 | + </colgroup> | |
| 298 | + <thead> | |
| 299 | + <tr> | |
| 300 | + <th>구분</th> | |
| 301 | + <th>문자</th> | |
| 302 | + <th>알림톡</th> | |
| 303 | + <th>팩스</th> | |
| 304 | + <th>계</th> | |
| 305 | + </tr> | |
| 306 | + </thead> | |
| 307 | + <tbody> | |
| 308 | + <tr> | |
| 309 | + <td>발송건(매)수</td> | |
| 310 | + <c:set var="sandSum" value="0"/> | |
| 311 | + <c:forEach var="sendToInfo" items="${sendTotList}" varStatus="status"> | |
| 312 | + <td> | |
| 313 | + <fmt:formatNumber value="${sendToInfo.totCnt}" pattern="" /> | |
| 314 | + <c:if test="${sendToInfo.msgType eq 'fax' && sendToInfo.fileCnt ne '0'}"> | |
| 315 | + (<c:out value="${sendToInfo.fileCnt }"/>) | |
| 316 | + </c:if> | |
| 317 | + </td> | |
| 318 | + <c:set var="sandSum" value="${sandSum + sendToInfo.totCnt}"/> | |
| 319 | + </c:forEach> | |
| 320 | + <td> | |
| 321 | + <fmt:formatNumber value="${sandSum}" pattern="" /> | |
| 322 | + </td> | |
| 323 | + </tr> | |
| 324 | + <tr> | |
| 325 | + <td>예약건수</td> | |
| 326 | + <c:set var="reservSum" value="0"/> | |
| 327 | + <c:forEach var="reservToInfo" items="${reservToList}" varStatus="status"> | |
| 328 | + <td> | |
| 329 | + <fmt:formatNumber value="${reservToInfo.totCnt}" pattern="" /> | |
| 330 | + <c:if test="${reservToInfo.msgType eq 'fax' && reservToInfo.fileCnt ne '0'}"> | |
| 331 | + (<c:out value="${reservToInfo.fileCnt }"/>) | |
| 332 | + </c:if> | |
| 333 | + </td> | |
| 334 | + <c:set var="reservSum" value="${reservSum + reservToInfo.totCnt}"/> | |
| 335 | + </c:forEach> | |
| 336 | + <td> | |
| 337 | + <fmt:formatNumber value="${reservSum}" pattern="" /> | |
| 338 | + </td> | |
| 339 | + </tr> | |
| 340 | + </tbody> | |
| 341 | + </table> | |
| 342 | + </div> | |
| 343 | + </div> | |
| 344 | + <form id="listForm" name="listForm" method="post"> | |
| 345 | + <input type="hidden" id="pageType" name="pageType" value="<c:out value='${searchVO.pageType}'/>"/> | |
| 346 | + <input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> | |
| 347 | + <div class="excel_middle"> | |
| 348 | + <div class="select_btnWrap clearfix"> | |
| 349 | + <div class="btn_left"> | |
| 350 | + <span class="cal_label">기간선택</span> | |
| 351 | + <div class="calendar_wrap"> | |
| 352 | + <input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="" data-datecontrol="true"> | |
| 353 | + <span class="dateEtc">~</span> | |
| 354 | + <input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="" data-datecontrol="true"> | |
| 355 | + </div> | |
| 356 | + <button type="button" onclick="setCalVal(thisYearStart,'startDate');setCalVal( thisYearEnd,'endDate'); return false;" class="btnType btnType19">이번년도</button> | |
| 357 | + <button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button> | |
| 358 | + <button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button> | |
| 359 | + <button type="button" class="btnType6" onclick="payUserListAjax(1); return false;">조회</button> | |
| 360 | + <span class="reqTxt4"> | |
| 361 | + <span class="vMiddle">*</span> 조회기간의 사용내역만 보여집니다. | |
| 362 | + </span> | |
| 363 | + </div> | |
| 364 | + <div></div> | |
| 365 | + </div> | |
| 366 | + </div> | |
| 367 | + <div class="list_tab_wrap2 type2"> | |
| 368 | + <!-- tab button --> | |
| 369 | + <ul class="list_tab"> | |
| 370 | + <li class="tab active"><button type="button" onclick="payUserTab(this,'');">전체</button></li> | |
| 371 | + <li class="tab"><button type="button" onclick="payUserTab(this,'sms');">단문</button></li> | |
| 372 | + <li class="tab"><button type="button" onclick="payUserTab(this,'lms');">장문</button></li> | |
| 373 | + <li class="tab"><button type="button" onclick="payUserTab(this,'mms');">그림</button></li> | |
| 374 | + <li class="tab"><button type="button" onclick="payUserTab(this,'cam');">선거</button></li> | |
| 375 | + <li class="tab"><button type="button" onclick="payUserTab(this,'at');">알림톡</button></li> | |
| 376 | +<!-- <li class="tab"><button type="button" onclick="payUserTab(this,'ft');">친구톡</button></li> --> | |
| 377 | + <li class="tab"><button type="button" onclick="payUserTab(this,'fax');">팩스</button></li> | |
| 378 | + </ul> | |
| 379 | + <!--// tab button --> | |
| 380 | + </div> | |
| 381 | + <div id="payUserListLoad"> | |
| 382 | + | |
| 383 | + </div> | |
| 384 | + </form> | |
| 385 | + <!-- 결제관리 - 요금 사용내역 --> | |
| 386 | + </div> | |
| 387 | + </div> | |
| 388 | + <!--// send top --> | |
| 389 | +</div> | |
| 390 | +<form name="infoPopForm" id="infoPopForm" method="post"> | |
| 391 | + <input type="hidden" name="pageType" id="pageType" value=""/> | |
| 392 | +</form> | |
| 393 | +<form id="resPopForm" name="resPopForm" method="post"> | |
| 394 | + <input type="hidden" id="msgGroupId" name="msgGroupId" value=""/> | |
| 395 | + <input type="hidden" id="fileCnt" name="fileCnt" value=""/> | |
| 396 | +</form> | |
| 397 | +<form id="faxPopForm" name="faxPopForm" method="post"> | |
| 398 | + <input type="hidden" id="faxGroupId" name="faxGroupId" value=""/> | |
| 399 | +</form> |
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
... | ... | @@ -0,0 +1,432 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : SendNumberList.jsp | |
| 3 | + Description : 발신번호 리스트 조회 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2021.03.31 신명섭 최초 생성 | |
| 9 | + | |
| 10 | + Copyright (C) 2009 by ITN All right reserved. | |
| 11 | +--%> | |
| 12 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 13 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 14 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 15 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 16 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 17 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 18 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 19 | + | |
| 20 | +<script src="/publish/js/content.js"></script> | |
| 21 | +<script> | |
| 22 | +$(document).ready(function(){ | |
| 23 | + /* 목록 정렬 항목 아이콘 표시 */ | |
| 24 | + var searchSortCnd = $("[name='searchSortCnd']").val(); | |
| 25 | + var searchSortOrd = $("[name='searchSortOrd']").val(); | |
| 26 | + if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) { | |
| 27 | + var $sort_div = $("#sort_"+ searchSortCnd); | |
| 28 | + var sortClass = 'sortBtn' ; | |
| 29 | + if (searchSortOrd == "desc") sortClass = "sortBtnDesc"; | |
| 30 | + $sort_div.replaceClass('sortBtn' , sortClass) ; | |
| 31 | + $sort_div.attr("sortOrd", searchSortOrd); | |
| 32 | + }; | |
| 33 | + | |
| 34 | + // 정렬 항목 이벤트 | |
| 35 | + $(".sort").click(function(e) { | |
| 36 | + listSortOrd(this); | |
| 37 | + }); | |
| 38 | + | |
| 39 | + //목록 정렬 항목 클릭 | |
| 40 | + function listSortOrd(obj){ | |
| 41 | + var sortOrd = $(obj).attr("sortOrd"); | |
| 42 | + var sortCnd = $(obj).attr("id"); | |
| 43 | + | |
| 44 | + $("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거 | |
| 45 | + if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc"); | |
| 46 | + else $("[name='searchSortOrd']").val("desc"); | |
| 47 | + payUserListAjax('1'); //각 JSP마다 다를때 메소드 정의해 줘야됨 | |
| 48 | + }; | |
| 49 | + | |
| 50 | + //프린트 워커 마크 | |
| 51 | + /* $('.print_btn').click(function(e){ | |
| 52 | + if(!confirm("프린트 하시겠습니까?")){ | |
| 53 | + return false; | |
| 54 | + } | |
| 55 | + var printPopup ; | |
| 56 | + printPopup= window.open("/tempPayPrint.html","print_open","width=760,height=750,top=0,left=0,noresizable,toolbar=no,status=no,scrollbars=yes,directory=n"); | |
| 57 | + }); */ | |
| 58 | + | |
| 59 | + // PDF 다운버튼 | |
| 60 | + $('.pdf_btn').click(function(e){ | |
| 61 | + if(!confirm("PDF저장 하시겠습니까?")){ | |
| 62 | + return false; | |
| 63 | + } | |
| 64 | + }); | |
| 65 | + | |
| 66 | + //엑셀 다운버튼 | |
| 67 | + $('.excel_btn').click(function(e){ | |
| 68 | + if(!confirm("엑셀 다운로드를 하시겠습니까?")){ | |
| 69 | + return false; | |
| 70 | + } | |
| 71 | + | |
| 72 | + var frm = document.listForm; | |
| 73 | + frm.method = "post"; | |
| 74 | + frm.action = "/web/member/pay/PayUserListExcelDownload.do"; | |
| 75 | + frm.submit(); | |
| 76 | + }); | |
| 77 | +}); | |
| 78 | + | |
| 79 | + | |
| 80 | +/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */ | |
| 81 | +function fnShowPrintPopup() { | |
| 82 | + //만들려는 팝업의 크기 | |
| 83 | + var url = ""; | |
| 84 | + var popup_wid = '830'; | |
| 85 | + var popup_ht = '800'; | |
| 86 | + var popup_left = (window.screen.width/2)-(popup_wid/2); | |
| 87 | + var popup_top =(window.screen.height/2)-(popup_ht/2); | |
| 88 | + | |
| 89 | + if($('input[name=publish]').is(':checked')){ | |
| 90 | + if($('input[name=publish]:checked').val() == 'statement'){ | |
| 91 | + url = "printMsgStatementAjax.do"; | |
| 92 | + }else{ | |
| 93 | + url = "printMsgUsageDetailsAjax.do"; | |
| 94 | + } | |
| 95 | + }else{ | |
| 96 | + alert('거래명세서, 사용내역서중\n발급 받으시려는 항목을 체크 후 눌러주세요.'); | |
| 97 | + return; | |
| 98 | + } | |
| 99 | + | |
| 100 | + //날자 체크 | |
| 101 | + if(($('#startDate').val() != '' && $('#endDate').val() == '') || ($('#startDate').val() == '' && $('#endDate').val() != '')){ | |
| 102 | + alert("기간설정을 정상적으로 선택해 주세요."); | |
| 103 | + return; | |
| 104 | + } | |
| 105 | + | |
| 106 | + if( $('#startDate').val() != '' && $('#endDate').val() != '' ){ | |
| 107 | + var iChkBeginDe = Number($('#startDate').val().replaceAll("/", "")); | |
| 108 | + var iChkEndDe = Number($('#endDate').val().replaceAll("/", "")); | |
| 109 | + if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ | |
| 110 | + alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다."); | |
| 111 | + return; | |
| 112 | + } | |
| 113 | + } | |
| 114 | + | |
| 115 | + document.listForm.action = url; | |
| 116 | + document.listForm.method = "post"; | |
| 117 | + 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'); | |
| 118 | + document.listForm.target = "printPop"; | |
| 119 | + document.listForm.submit(); | |
| 120 | +} | |
| 121 | + | |
| 122 | +/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */ | |
| 123 | +function fnShowPrintPopup_OLD() { | |
| 124 | + //만들려는 팝업의 크기 | |
| 125 | + var popup_wid = '830'; | |
| 126 | + var popup_ht = '800'; | |
| 127 | + | |
| 128 | + var popup_left = (window.screen.width/2)-(popup_wid/2); | |
| 129 | + var popup_top =(window.screen.height/2)-(popup_ht/2); | |
| 130 | + | |
| 131 | + if($('input[name=publish]').is(':checked')){ | |
| 132 | + if($('input[name=publish]:checked').val() == 'statement'){ | |
| 133 | + window.open('printMsgStatementAjax.do', 'reservMsgPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top ); | |
| 134 | + }else{ | |
| 135 | + window.open('printMsgUsageDetailsAjax.do', 'reservMsgPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top ); | |
| 136 | + } | |
| 137 | + }else{ | |
| 138 | + alert('거래명세서, 사용내역서중\n발급 받으시려는 항목을 체크 후 눌러주세요.'); | |
| 139 | + } | |
| 140 | +} | |
| 141 | + | |
| 142 | +function fnPayUserPrintPopup(){ | |
| 143 | + | |
| 144 | + //날자 체크 | |
| 145 | + if( $('#startDate').val() != '' && $('#endDate').val() != '' ){ | |
| 146 | + var iChkBeginDe = Number($('#startDate').val().replaceAll("/", "")); | |
| 147 | + var iChkEndDe = Number($('#endDate').val().replaceAll("/", "")); | |
| 148 | + if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ | |
| 149 | + alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다."); | |
| 150 | + return; | |
| 151 | + } | |
| 152 | + } | |
| 153 | + | |
| 154 | + //만들려는 팝업의 크기 | |
| 155 | + var popup_wid = '840'; | |
| 156 | + var popup_ht = '900'; | |
| 157 | + | |
| 158 | + var popup_left = (window.screen.width / 2) - (popup_wid / 2); | |
| 159 | + var popup_top =(window.screen.height / 2) - (popup_ht / 2); | |
| 160 | + | |
| 161 | + $("#listForm").attr("target","msgSentPrint"); | |
| 162 | + window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top ); | |
| 163 | + $("#listForm").attr({"action":"/web/member/pay/PrintPayUserListAjax.do", "method":"post"}).submit(); | |
| 164 | +} | |
| 165 | + | |
| 166 | +//환불요청 내역 프린트 출력 팝업 | |
| 167 | +function fnShowPdfPrintPopup(){ | |
| 168 | + | |
| 169 | + //날자 체크 | |
| 170 | + if( $('#startDate').val() != '' && $('#endDate').val() != '' ){ | |
| 171 | + var iChkBeginDe = Number($('#startDate').val().replaceAll("/", "")); | |
| 172 | + var iChkEndDe = Number($('#endDate').val().replaceAll("/", "")); | |
| 173 | + if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ | |
| 174 | + alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다."); | |
| 175 | + return; | |
| 176 | + } | |
| 177 | + } | |
| 178 | + | |
| 179 | + //만들려는 팝업의 크기 | |
| 180 | + var popup_wid = '840'; | |
| 181 | + var popup_ht = '900'; | |
| 182 | + | |
| 183 | + var popup_left = (window.screen.width / 2) - (popup_wid / 2); | |
| 184 | + var popup_top =(window.screen.height / 2) - (popup_ht / 2); | |
| 185 | + | |
| 186 | + $("#listForm").attr("target","msgSentPdfPrint"); | |
| 187 | + window.open('', 'msgSentPdfPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1'); | |
| 188 | + $("#listForm").attr({"action":"/web/member/pay/PayPdfListPopUpAjax.do", "method":"post"}).submit(); | |
| 189 | +} | |
| 190 | + | |
| 191 | +//체크박스 전체선택/해제 | |
| 192 | +/* $(document).on("click", "#chkAll", function(e) { | |
| 193 | + var isChecked = $(this).is(":checked"); | |
| 194 | + $("input[name=eachChk]:checkbox").prop("checked", isChecked); | |
| 195 | +}); */ | |
| 196 | + | |
| 197 | +</script> | |
| 198 | +<input type="button" id="faxClick" data-tooltip="rev_popup03" style="display:none;"/> | |
| 199 | +<input type="button" id="kakaoClick" data-tooltip="rev_popup02" style="display:none;"/> | |
| 200 | +<div class="pay_cont current" id="listTab2_1"> | |
| 201 | + <input type="hidden" id="searchSortCnd" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" /> | |
| 202 | + <input type="hidden" id="searchSortOrd" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" /> | |
| 203 | + <div class="list_info"> | |
| 204 | + <p>총 <span>${paginationInfo.totalRecordCount}</span>건</p> | |
| 205 | + <div> | |
| 206 | + <button type="button" class="print_btn" onclick="javascript:fnPayUserPrintPopup();"> | |
| 207 | + <i class="print_img"></i>인쇄하기 | |
| 208 | + </button> | |
| 209 | + <button type="button" class="pdf_btn" onclick="javascript:fnShowPdfPrintPopup();"> | |
| 210 | + <i class="pdf_img"></i>PDF저장 | |
| 211 | + </button> | |
| 212 | + <button type="button" class="excel_btn"> | |
| 213 | + <i class="downroad"></i>엑셀 다운로드 | |
| 214 | + </button> | |
| 215 | + </div> | |
| 216 | + </div> | |
| 217 | + <div class="tb_wrap"> | |
| 218 | + <table class="tType4"> | |
| 219 | + <colgroup> | |
| 220 | + <%-- <col style="width: 5%;"> --%> | |
| 221 | + <col style="width: *%;"> | |
| 222 | + <col style="width: 9%;"> | |
| 223 | + <col style="width: 9%;"> | |
| 224 | + <col style="width: 9%;"> | |
| 225 | + <col style="width: 20%;"> | |
| 226 | + <col style="width: 20%;"> | |
| 227 | + <%-- <col style="width: 10%;"> | |
| 228 | + <col style="width: 10%;"> | |
| 229 | + <col style="width: 10%;"> | |
| 230 | + <col style="width: 10%;"> --%> | |
| 231 | + </colgroup> | |
| 232 | + <thead> | |
| 233 | + <tr> | |
| 234 | + <%-- <th rowspan="2"> | |
| 235 | + <label for="" class="label">전체 선택</label> | |
| 236 | + <input type="checkbox" id="chkAll"> | |
| 237 | + </th> --%> | |
| 238 | + <th rowspan="2"> | |
| 239 | + 발송일시 | |
| 240 | + <div class="sort_wrap"> | |
| 241 | + <input type="button" class="sort sortBtn" id="sort_regDate"> | |
| 242 | + </div> | |
| 243 | + </th> | |
| 244 | + <th rowspan="2"> | |
| 245 | + 문자유형 | |
| 246 | + <div class="sort_wrap"> | |
| 247 | + <input type="button" class="sort sortBtn" id="sort_orderByCode"> | |
| 248 | + </div> | |
| 249 | + </th> | |
| 250 | + <th rowspan="2">내용</th> | |
| 251 | + <th rowspan="2">발송건수<br/> 성공 / 실패</th> | |
| 252 | + <!-- <th colspan="2">충전</th> | |
| 253 | + <th colspan="2">사용</th> | |
| 254 | + <th colspan="2">잔액</th> --> | |
| 255 | + <th>사용</th> | |
| 256 | + <th>반환(실패)</th> | |
| 257 | + <!-- <th colspan="2">잔액</th> --> | |
| 258 | + </tr> | |
| 259 | + <tr> | |
| 260 | + <th>캐시</th> | |
| 261 | + <!-- <th>포인트</th> --> | |
| 262 | + <th>캐시</th> | |
| 263 | + <!-- <th>포인트</th> --> | |
| 264 | + <!-- <th>충전금</th> | |
| 265 | + <th>포인트</th> --> | |
| 266 | + </tr> | |
| 267 | + </thead> | |
| 268 | + <tbody> | |
| 269 | + <c:choose> | |
| 270 | + <c:when test="${not empty payUserSWList}"> | |
| 271 | + <c:forEach var="payUserInfo" items="${payUserSWList}" varStatus="status"> | |
| 272 | + <tr> | |
| 273 | + <%-- <td> | |
| 274 | + <label for="" class="label">선택</label> | |
| 275 | + <input type="checkbox" name="eachChk"> | |
| 276 | + </td> --%> | |
| 277 | + <td> | |
| 278 | + <p><c:out value="${payUserInfo.regDate}"/></p> | |
| 279 | + </td> | |
| 280 | + <td> | |
| 281 | + <c:choose> | |
| 282 | + <c:when test="${payUserInfo.msgTypeTxt eq '6' && payUserInfo.fileCnt eq 0 }"> | |
| 283 | + <p>장문</p> | |
| 284 | + </c:when> | |
| 285 | + <c:when test="${payUserInfo.msgTypeTxt eq '6' && payUserInfo.fileCnt ne 0 }"> | |
| 286 | + <p>그림</p> | |
| 287 | + </c:when> | |
| 288 | + <c:when test="${payUserInfo.msgTypeTxt eq '8'}"> | |
| 289 | + <p>알림톡</p> | |
| 290 | + </c:when> | |
| 291 | + <c:when test="${payUserInfo.msgTypeTxt eq '9'}"> | |
| 292 | + <p>친구톡</p> | |
| 293 | + </c:when> | |
| 294 | + <c:when test="${payUserInfo.msgTypeTxt eq 'fax'}"> | |
| 295 | + <p>팩스</p> | |
| 296 | + </c:when> | |
| 297 | + <c:otherwise> | |
| 298 | + <p>단문</p> | |
| 299 | + </c:otherwise> | |
| 300 | + </c:choose> | |
| 301 | + </td> | |
| 302 | + <td> | |
| 303 | + <p> | |
| 304 | + <c:choose> | |
| 305 | + <c:when test="${payUserInfo.msgTypeTxt eq '8'}"> | |
| 306 | + <button class="btnType btnType20" onClick="javascript:fnRevDetailPop02('${payUserInfo.msgGroupId}'); return false;">상세보기</button> | |
| 307 | + </c:when> | |
| 308 | + <c:when test="${payUserInfo.msgTypeTxt eq '9'}"> | |
| 309 | + <button class="btnType btnType20" onClick="javascript:fnRevDetailPop02('${payUserInfo.msgGroupId}'); return false;">상세보기</button> | |
| 310 | + </c:when> | |
| 311 | + <c:when test="${payUserInfo.msgTypeTxt eq 'fax'}"> | |
| 312 | + <button class="btnType btnType20" onClick="javascript:fnRevDetailPop03('${payUserInfo.msgGroupId}'); return false;">상세보기</button> | |
| 313 | + </c:when> | |
| 314 | + <c:otherwise> | |
| 315 | + <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${payUserInfo.msgGroupId}','${payUserInfo.fileCnt}'); return false;">상세보기</button> | |
| 316 | + </c:otherwise> | |
| 317 | + </c:choose> | |
| 318 | + </p> | |
| 319 | + </td> | |
| 320 | + <td> | |
| 321 | + <p class="fwRg c_002c9a"> | |
| 322 | + | |
| 323 | + <c:out value="${payUserInfo.succSendCnt}"/> | |
| 324 | + <c:if test="${payUserInfo.msgTypeTxt eq 'fax'}"> | |
| 325 | + (<c:out value="${payUserInfo.fileCnt}"/>매) | |
| 326 | + </c:if> | |
| 327 | + / <c:out value="${payUserInfo.failSendCnt}"/> | |
| 328 | + <%-- <c:out value="${payUserInfo.sendCount}"/> | |
| 329 | + <c:if test="${payUserInfo.msgTypeTxt eq 'fax'}"> | |
| 330 | + (<c:out value="${payUserInfo.fileCnt}"/>) | |
| 331 | + </c:if> --%> | |
| 332 | + </p> | |
| 333 | + </td> | |
| 334 | + <td> | |
| 335 | + <p> | |
| 336 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.succSendPrice}" var="succCash" /> | |
| 337 | + <c:out value="${succCash}"/> | |
| 338 | + </p> | |
| 339 | + </td> | |
| 340 | + <%-- <td> | |
| 341 | + <p> | |
| 342 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" /> | |
| 343 | + <c:out value="${befPoint}"/> | |
| 344 | + </p> | |
| 345 | + </td> --%> | |
| 346 | + <td> | |
| 347 | + <p class="fwRg c_002c9a"> | |
| 348 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.failSendPrice}" var="failPrice" /> | |
| 349 | + <c:out value="${failPrice}"/> | |
| 350 | + </p> | |
| 351 | + </td> | |
| 352 | + <!-- <td> | |
| 353 | + <p class="fwRg c_002c9a"> | |
| 354 | + 0 | |
| 355 | + </p> | |
| 356 | + </td> --> | |
| 357 | + <%-- <td> | |
| 358 | + <p> | |
| 359 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befCash}" var="befCash" /> | |
| 360 | + <c:out value="${befCash}"/> | |
| 361 | + </p> | |
| 362 | + </td> | |
| 363 | + <td> | |
| 364 | + <p> | |
| 365 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" /> | |
| 366 | + <c:out value="${befPoint}"/> | |
| 367 | + </p> | |
| 368 | + </td> | |
| 369 | + <td> | |
| 370 | + <p class="fwRg c_002c9a"> | |
| 371 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.totPrice}" var="totPrice" /> | |
| 372 | + <c:out value="${totPrice}"/> | |
| 373 | + </p> | |
| 374 | + </td> | |
| 375 | + <td> | |
| 376 | + <p class="fwRg c_002c9a"> | |
| 377 | + 0 | |
| 378 | + </p> | |
| 379 | + </td> --%> | |
| 380 | + <%-- <td> | |
| 381 | + <p class="fwRg c_222"> | |
| 382 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.thisPoint}" var="thisPoint" /> | |
| 383 | + <c:out value="${thisPoint}"/> | |
| 384 | + </p> | |
| 385 | + </td> | |
| 386 | + <td> | |
| 387 | + <p class="fwRg c_222"> | |
| 388 | + <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" /> | |
| 389 | + <c:out value="${befPoint}"/> | |
| 390 | + </p> | |
| 391 | + </td> --%> | |
| 392 | + </tr> | |
| 393 | + </c:forEach> | |
| 394 | + </c:when> | |
| 395 | + <c:otherwise> | |
| 396 | + <tr> | |
| 397 | + <td colspan="8"> | |
| 398 | + 검색 결과가 없습니다. | |
| 399 | + </td> | |
| 400 | + </tr> | |
| 401 | + </c:otherwise> | |
| 402 | + </c:choose> | |
| 403 | + </tbody> | |
| 404 | + </table> | |
| 405 | + </div> | |
| 406 | + <div class="publish_btn clearfix"> | |
| 407 | + <div> | |
| 408 | + <input type="radio" name="publish" id="publish1" value="statement"> | |
| 409 | + <label for="publish1">거래명세서</label> | |
| 410 | + <input type="radio" name="publish" id="publish2" value="details"> | |
| 411 | + <label for="publish2">사용내역서</label> | |
| 412 | + </div> | |
| 413 | + <div> | |
| 414 | + <c:choose> | |
| 415 | + <c:when test="${not empty payUserSWList}"> | |
| 416 | + <button type="button" class="btnType" onclick="fnShowPrintPopup(); return false;">발행하기</button> | |
| 417 | + </c:when> | |
| 418 | + <c:otherwise> | |
| 419 | + <button type="button" class="btnType" onclick="alert('거래명세서, 사용내역서 발행할 요금사용내역이 없습니다.');">발행하기</button> | |
| 420 | + </c:otherwise> | |
| 421 | + </c:choose> | |
| 422 | + </div> | |
| 423 | + </div> | |
| 424 | + | |
| 425 | + <!-- pagination --> | |
| 426 | + <c:if test="${!empty payUserSWList}"> | |
| 427 | + <ul class="pagination"> | |
| 428 | + <ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="payUserListAjax" /> | |
| 429 | + </ul> | |
| 430 | + </c:if> | |
| 431 | + <!-- pagination --> | |
| 432 | +</div><!-- 결제관리 - 요금 사용내역 --> |
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?