name 2023-07-20
사용자 결제 리스트 현금영수증 의무발행 완료 여부 기능 추가
@f4807896a521f411e2f3a62c7627e20b881ba6ed
src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
--- src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
+++ src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
@@ -3905,7 +3905,7 @@
 		catch(Exception e) {
 			isSuccess = false;
 			msg = e.getMessage();
-		}		
+		}
 
         modelAndView.addObject("memPayStatInfo", memPayStatInfo);
 		modelAndView.addObject("isSuccess", isSuccess);
src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
@@ -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="" >
src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectPayDataListPop.jsp
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectPayDataListPop.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectPayDataListPop.jsp
@@ -169,109 +169,30 @@
 	
 	<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 @@
 			<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 @@
 						<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 @@
 									}"><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.regDate}"/></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>
 						</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 @@
 			</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>
Add a comment
List