사용자 결제 리스트 현금영수증 의무발행 완료 여부 기능 추가

This commit is contained in:
name 2023-07-20 16:11:10 +09:00
parent 07ff1e34ca
commit f4807896a5
3 changed files with 128 additions and 173 deletions

View File

@ -3905,7 +3905,7 @@ public class MjonMsgController {
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
}
modelAndView.addObject("memPayStatInfo", memPayStatInfo);
modelAndView.addObject("isSuccess", isSuccess);

View File

@ -100,60 +100,81 @@
, E.CONFIRM_YN AS confirmYn
, E.RCPT_TYPE AS rcptType
, IFNULL(MP.POINT, '0') AS point
, EMI.EVENT_PG_MOID AS eventMoid
, mber.SMISHING_YN AS smishingYn
, mber.VIP_YN AS vipYn
, IFNULL(mber.BLINE_CODE, 'N') AS blineCode
, (SELECT COUNT(0) FROM MJ_PG SP
WHERE SP.PG_STATUS = 1
AND SP.USER_ID = A.USER_ID
AND SP.REG_DATE >= DATE_ADD(NOW(), INTERVAL -1 YEAR)) AS oneYearPayCnt
, KGM.SVC_ID AS svcId
, KGM.TRADE_ID AS mrctTrdNo
, KGM.MOBILE_ID AS trdNo
, EMI.EVENT_PG_MOID AS eventMoid
, mber.SMISHING_YN AS smishingYn
, mber.VIP_YN AS vipYn
, IFNULL(mber.BLINE_CODE, 'N') AS blineCode
, (SELECT
COUNT(0) FROM MJ_PG SP
WHERE 1=1
AND SP.PG_STATUS = 1
AND SP.USER_ID = A.USER_ID
AND SP.REG_DATE >= DATE_ADD(NOW(), INTERVAL -1 YEAR)
) AS oneYearPayCnt
, KGM.SVC_ID AS svcId
, KGM.TRADE_ID AS mrctTrdNo
, KGM.MOBILE_ID AS trdNo
FROM
MJ_PG A
LEFT JOIN
(
SELECT CODE_NM
, CODE
, CODE_DC
SELECT
CODE_NM
, CODE
, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE 1=1
AND USE_AT = 'Y'
AND CODE_ID = 'ITN036'
) B ON A.PAY_METHOD = B.CODE
LEFT JOIN
( SELECT CODE_NM ,CODE ,CODE_DC
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN037'
) C ON A.PG_STATUS = C.CODE
LEFT JOIN
( SELECT MOID, CONFIRM_YN, RCPT_TYPE
FROM MJ_TAX
WHERE RCPT_TYPE != '3'
) E ON A.MOID = E.MOID
LEFT JOIN
( SELECT CODE_NM ,CODE ,CODE_DC
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN038'
) D ON E.RCPT_TYPE = D.CODE
LEFT JOIN MJ_POINT MP
ON A.MOID = MP.ORDER_ID
LEFT JOIN lettngnrlmber mber
ON A.USER_ID = mber.MBER_ID
LEFT OUTER JOIN MJ_EVENT_MBER_INFO EMI
ON A.USER_ID = EMI.MBER_ID
AND A.MOID = EMI.EVENT_PG_MOID
LEFT OUTER JOIN KGM_PG KGM
ON A.MOID = KGM.MOID
LEFT JOIN
(
SELECT
CODE_NM
, CODE
, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE 1=1
AND USE_AT = 'Y'
AND CODE_ID = 'ITN037'
) C ON A.PG_STATUS = C.CODE
LEFT JOIN
(
SELECT
MOID
, CONFIRM_YN
, RCPT_TYPE
FROM
MJ_TAX
WHERE 1=1
) E ON A.MOID = E.MOID
LEFT JOIN
(
SELECT
CODE_NM
, CODE
, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE 1=1
AND USE_AT = 'Y'
AND CODE_ID = 'ITN038'
) D ON E.RCPT_TYPE = D.CODE
LEFT JOIN MJ_POINT MP
ON A.MOID = MP.ORDER_ID
LEFT JOIN lettngnrlmber mber
ON A.USER_ID = mber.MBER_ID
LEFT OUTER JOIN MJ_EVENT_MBER_INFO EMI
ON A.USER_ID = EMI.MBER_ID
AND A.MOID = EMI.EVENT_PG_MOID
LEFT OUTER JOIN KGM_PG KGM
ON A.MOID = KGM.MOID
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="" >

View File

@ -169,109 +169,30 @@ function sendMsgExcelDownload(){
<div class="contWrap" style="position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;">
<div class="pageTitle">
<!-- <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> -->
<h2 class="titType1 c_222222 fwBold">'<c:out value="${searchVO.userId}"/>'의 결제 리스트</h2>
<!-- <p class="tType6 c_999999">문자전송리스트 현황을 파악할 수 있습니다.</p> -->
</div>
<div class="pageCont">
<%-- <div class="tableWrap tableWrapTotal">
<table class="tbType1">
<colgroup>
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
<col style="width:6.25%">
</colgroup>
<thead>
<tr>
<th colspan="4">단문</th>
<th colspan="4">장문</th>
<th colspan="4">그림문자</th>
<th colspan="4">종합</th>
</tr>
<tr class="content">
<th>정상수신(건)</th>
<th>정상수신(금액)</th>
<th>실패대기(건)</th>
<th>실패대기(금액)</th>
<th>정상수신(건)</th>
<th>정상수신(금액)</th>
<th>실패대기(건)</th>
<th>실패대기(금액)</th>
<th>정상수신(건)</th>
<th>정상수신(금액)</th>
<th>실패대기(건)</th>
<th>실패대기(금액)</th>
<th>정상수신(건)</th>
<th>정상수신(금액)</th>
<th>실패대기(건)</th>
<th>실패대기(금액)</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgSmsGroupSCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSmsSPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgSmsGroupFWCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSmsFWPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgLmsGroupSCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totLmsSPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgLmsGroupFWCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totLmsFWPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgMmsGroupSCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totMmsSPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgMmsGroupFWCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totMmsFWPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgGroupSCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSPriceSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgGroupFWCntSum}" pattern="#,###" /></span></td>
<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totFWPriceSum}" pattern="#,###" /></span></td>
</tr>
</tbody>
</table>
</div> --%>
<div class="listSerch">
<ec:select codeId="ITN036" name="searchCondition2" id="searchCondition2" css="class='select'" selectedValue="${searchVO.searchCondition2}"
defaultValue="" defaultText="결제수단" />
<ec:select codeId="ITN037" name="searchCondition3" id="searchCondition3" css="class='select'" selectedValue="${searchVO.searchCondition3}"
defaultValue="" defaultText="결제상태" />
<ec:select codeId="ITN036" name="searchCondition2" id="searchCondition2" css="class='select'" selectedValue="${searchVO.searchCondition2}" defaultValue="" defaultText="결제수단" />
<ec:select codeId="ITN037" name="searchCondition3" id="searchCondition3" css="class='select'" selectedValue="${searchVO.searchCondition3}" defaultValue="" defaultText="결제상태" />
<select name="searchCondition" class="select" title="검색조건 선택">
<option value="" <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>>전체</option>
<%-- <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>>사용자ID</option>
<option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>>사용자이름</option> --%>
<option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if>>주문번호(PG)</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100" />
<input type="button" class="btnType1" value="검색" onclick="fn_search(); return false;">
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceBgndeYYYMMDD);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="4" maxlength="4" readonly=""
value="<c:out value="${searchVO.startDate}" />" >
<input type="button" class="calBtn">
</a>
&nbsp;&nbsp;~
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceEnddeYYYMMDD);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="4" maxlength="4" readonly=""
value="<c:out value="${searchVO.endDate}" />"
>
<input type="button" class="calBtn">
</a>
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceBgndeYYYMMDD);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="4" maxlength="4" readonly=""
value="<c:out value="${searchVO.startDate}" />" >
<input type="button" class="calBtn">
</a>
&nbsp;&nbsp;~
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceEnddeYYYMMDD);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="4" maxlength="4" readonly=""
value="<c:out value="${searchVO.endDate}" />">
<input type="button" class="calBtn">
</a>
<a href="#" style="margin-left: 17px;" onclick="init_date(); return false;">
<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘">
</a>
@ -279,8 +200,6 @@ function sendMsgExcelDownload(){
<div class="listTop">
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
<div class="rightWrap">
<!-- <input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();"> -->
<!-- <input type="button" class="printBtn"> -->
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
@ -300,44 +219,42 @@ function sendMsgExcelDownload(){
<col style="width: *%">
<col style="width: 9%">
<col style="width: 6%">
<col style="width: 8%">
<col style="width: 6%">
<col style="width: 13%">
</colgroup>
<thead>
<tr>
<!-- <th><input type="checkbox" name="checkAll" id="checkAll" class="check2" value="1" onClick="fnCheckAll();"></th> -->
<th>번호<input type="button" class="sort sortBtn" id="sort_moid"></th>
<th>아이디<input type="button" class="sort sortBtn" id="sort_userId"></th>
<th>이름<input type="button" class="sort sortBtn" id="sort_buyerName"></th>
<th>할인<input type="button" class="sort sortBtn" id="sort_eventMoid"></th>
<th>결제금액<input type="button" class="sort sortBtn" id="sort_cash"></th>
<!-- <th>취소금액<input type="button" class="sort sortBtn" id="sort_cancelAmt"></th> -->
<th>결제수단<input type="button" class="sort sortBtn" id="sort_payMethodTxt"></th>
<th>주문번호(PG사)<input type="button" class="sort sortBtn" id="sort_tid"></th>
<!-- <th>주문번호(고객사)<input type="button" class="sort sortBtn" id="sort_mid"></th> -->
<th>결제폰번호<input type="button" class="sort sortBtn" id="sort_phone"></th>
<th>결제상태<input type="button" class="sort sortBtn" id="sort_pgStatusTxt"></th>
<!-- <th>결제메세지<input type="button" class="sort sortBtn" id="sort_resultMsg"></th> -->
<th>영수증<input type="button" class="sort sortBtn" id="sort_rcptTypeTxt"></th>
<th>의무발행 완료 여부</th>
<th>결제시간<input type="button" class="sort sortBtn" id="sort_regDate"></th>
</tr>
</thead>
<tbody>
<c:forEach var="result" items="${resultList}" varStatus="status">
<tr onclick="fn_modify('${result.moid}'); return false;" style="cursor:pointer;">
<%-- <td>
<input name="del" id="del_${status.index}" type="checkbox" value="${result.cashId}" />
</td> --%>
<td>
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</td>
<td>
<c:out value="${result.userId}"/>
</td>
<td>
<c:out value="${result.buyerName}"/>
</td>
<td><c:out value="${result.userId}"/></td>
<td><c:out value="${result.buyerName}"/></td>
<td>
<c:if test="${not empty result.eventMoid}">
첫 결제
@ -351,26 +268,43 @@ function sendMsgExcelDownload(){
}"><fmt:formatNumber value="${result.amt}" type="number" /><c:if test="${'4' eq result.pgStatus}"><font color="red">(오류)</font></c:if>
</c:if>
</td>
<%-- <td><fmt:formatNumber value="${result.cancelAmt}" type="number" /><c:if test="${'8' eq result.pgStatus}"><font color="red">(오류)</font></c:if></td> --%>
<td><c:out value="${result.payMethodTxt}"/></td>
<td>
<c:out value="${result.payMethodTxt}"/>
</td>
<td>
<c:out value="${result.tid}"/>
</td>
<td><c:out value="${result.phone}"/></td>
<td><c:out value="${result.pgStatusTxt}"/></td>
<%-- <td><c:out value="${result.resultMsg}"/></td> --%>
<td>
<c:if test="${result.rcptType ne ''}">
<c:out value="${result.rcptTypeTxt}"/>
</c:if>
<c:out value="${result.phone}"/>
</td>
<td>
<c:out value="${result.pgStatusTxt}"/>
</td>
<td>
<c:if test="${result.rcptType ne '3'}">
<c:out value="${result.rcptTypeTxt}"/>
</c:if>
</td>
<td>
<c:if test="${result.rcptType eq '3'}">
<c:choose>
<c:when test="${result.confirmYn eq 'Y'}">
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</c:if>
</td>
<td>
<c:out value="${result.regDate}"/>
</td>
<td><c:out value="${result.regDate}"/></td>
</tr>
</c:forEach>
<c:if test="${empty resultList}">
<tr><td colspan="10"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
<tr><td colspan="10"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
@ -380,13 +314,13 @@ function sendMsgExcelDownload(){
</div>
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty resultList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</div>
</form>