itn 2023-08-22
누적결제액 세부내역 환불금 표시 추가
@f4faea96f6dbfd87c57224025c33fb613f51303f
src/main/java/itn/let/mjo/pay/web/MjonPayController.java
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
@@ -1906,6 +1906,7 @@
 		
 		model.addAttribute("mjonCandidateVO", mjonCandidateVO);
     	
+		/*
     	if(pattern.equals("/web/member/pay/PayListAllAjax.do")) { 
 			// 등급제 Start
 	   		// 회원별 등급 적용
@@ -1916,6 +1917,7 @@
 	   		mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);    		
 			// End	    	
     	}
+    	*/
     	
     	if(pattern.equals("/web/member/pay/PayListAllAjax.do")
     			|| pattern.equals("/web/member/pay/PayListMobileAjax.do")
src/main/java/itn/let/sym/grd/service/MberGrdService.java
--- src/main/java/itn/let/sym/grd/service/MberGrdService.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
@@ -110,7 +110,10 @@
 	int selectMberGrdSaveCnt(String mberId) throws Exception;
 	
 	// 회원별 등급제 기간내, 최종결제이후 환불총금액
-	int selectMberGrdRefundSum(String mberId) throws Exception;
+	int selectMberGrdRefundSumAfterLastPay(String mberId) throws Exception;
+	
+	// 회원별 등급제 기간내, 최종결제이전 환불총금액
+	int selectMberGrdRefundSumBeforeLastPay(String mberId) throws Exception;	
 	
 	// 회원별 등급 히스토리 등록
 	public void insertMberGrdHist(MberGrdVO mberGrdVO)  throws Exception;	
src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
@@ -159,10 +159,15 @@
 	}	
 	
 	// 회원별 등급제 기간내, 최종결제이후 환불총금액
-	public int selectMberGrdRefundSum(String mberId) throws Exception{
-		return (int) select("mberGrdDAO.selectMberGrdRefundSum", mberId);
+	public int selectMberGrdRefundSumAfterLastPay(String mberId) throws Exception{
+		return (int) select("mberGrdDAO.selectMberGrdRefundSumAfterLastPay", mberId);
 	}	
 	
+	// 회원별 등급제 기간내, 최종결제이전 환불총금액
+	public int selectMberGrdRefundSumBeforeLastPay(String mberId) throws Exception{
+		return (int) select("mberGrdDAO.selectMberGrdRefundSumBeforeLastPay", mberId);
+	}		
+	
 	// 회원별 등급 히스토리 등록
 	public void insertMberGrdHist(MberGrdVO mberGrdVO) throws Exception{
 		insert("mberGrdDAO.insertMberGrdHist", mberGrdVO);
src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
@@ -518,13 +518,22 @@
 	
 	// 회원별 등급제 기간내, 최종결제이후 환불총금액
 	@Override
-	public int selectMberGrdRefundSum(String mberId) throws Exception{
+	public int selectMberGrdRefundSumAfterLastPay(String mberId) throws Exception{
 		// 공백제거
 		mberId = mberId.trim();
 		
-		return mberGrdDAO.selectMberGrdRefundSum(mberId);
+		return mberGrdDAO.selectMberGrdRefundSumAfterLastPay(mberId);
 	}
 	
+	// 회원별 등급제 기간내, 최종결제이전 환불총금액
+	@Override
+	public int selectMberGrdRefundSumBeforeLastPay(String mberId) throws Exception{
+		// 공백제거
+		mberId = mberId.trim();
+		
+		return mberGrdDAO.selectMberGrdRefundSumBeforeLastPay(mberId);
+	}	
+	
 	// 회원별 등급 히스토리 등록
 	@Override
 	public void insertMberGrdHist(MberGrdVO mberGrdVO) throws Exception {
src/main/java/itn/let/sym/grd/web/MberGrdController.java
--- src/main/java/itn/let/sym/grd/web/MberGrdController.java
+++ src/main/java/itn/let/sym/grd/web/MberGrdController.java
@@ -67,7 +67,10 @@
     	}
     	
     	// 회원별 등급제 기간내, 최종결제이후 환불총금액
-    	int refundSumAfterLastPay = mberGrdService.selectMberGrdRefundSum(mberGrdVO.getMberId());
+    	int refundSumAfterLastPay = mberGrdService.selectMberGrdRefundSumAfterLastPay(mberGrdVO.getMberId());
+    	
+    	// 회원별 등급제 기간내, 최종결제이전 환불총금액
+    	int refundSumBeforeLastPay = mberGrdService.selectMberGrdRefundSumBeforeLastPay(mberGrdVO.getMberId());    	
 
     	List<MberGrdVO> mberGrdHistList =  mberGrdService.selectMberGrdHistByGrdDateList(mberGrdVO);
     	
@@ -78,6 +81,7 @@
     	model.addAttribute("grdSetNm", mberGrdVO.getGrdSetNm());
     	model.addAttribute("totAmt", mberGrdVO.getTotAmt());
     	model.addAttribute("refundSumAfterLastPay", refundSumAfterLastPay);
+    	model.addAttribute("refundSumBeforeLastPay", refundSumBeforeLastPay);
     	
     	return "/web/grd/MberGrdHistListAjax";
     }	
src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
@@ -439,7 +439,7 @@
 				) S2	
 		) M
 		WHERE M.GRD_SET_NO IS NOT NULL
-			AND M.AMT_SUM > 0
+			/*AND M.AMT_SUM > 0*/
 		LIMIT 1	
 	]]>
 	</select>
@@ -665,7 +665,7 @@
 				) S2			
 			) M
 			WHERE M.GRD_SET_NO IS NOT NULL
-				AND M.AMT_SUM > 0
+				/*AND M.AMT_SUM > 0*/
 		) B
 			ON A.MBER_ID = B.USER_ID
 		INNER JOIN MJ_MBER_GRD_SETTING C
@@ -734,7 +734,7 @@
 				) S2					
 			) M
 			WHERE M.GRD_SET_NO IS NOT NULL
-				AND M.AMT_SUM > 0
+				/*AND M.AMT_SUM > 0*/
 		) B
 			ON A.MBER_ID = B.USER_ID
 		INNER JOIN MJ_MBER_GRD_SETTING C
@@ -951,7 +951,8 @@
 	</select>	
 	
 	<!-- 회원별 등급제 기간내, 최종결제이후 환불총금액 -->
-	<select id="mberGrdDAO.selectMberGrdRefundSum" parameterClass="String" resultClass="Integer">
+	<select id="mberGrdDAO.selectMberGrdRefundSumAfterLastPay" parameterClass="String" resultClass="Integer">
+	<![CDATA[
 		SELECT 
 			IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) refundSum 
 		FROM MJ_REFUND R
@@ -960,8 +961,23 @@
 		AND R.REFUND_DIVISION = '1'
 		AND R.REFUND_HANDLE_PNTTM >= (SELECT G.GRD_DATE FROM MJ_MBER_GRD_INFO G WHERE G.MBER_ID = #mberId#)
 		AND R.REFUND_HANDLE_PNTTM >= (SELECT MAX(S.REG_DATE) FROM MJ_PG S WHERE S.USER_ID = #mberId# AND S.PG_STATUS = '1')
+	]]>
 	</select>	
 		
+	<!-- 회원별 등급제 기간내, 최종결제이전 환불총금액 -->
+	<select id="mberGrdDAO.selectMberGrdRefundSumBeforeLastPay" parameterClass="String" resultClass="Integer">
+	<![CDATA[
+		SELECT 
+			IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) refundSum 
+		FROM MJ_REFUND R
+		WHERE R.MBER_ID = #mberId#
+		AND R.REFUND_STATUS  = '3' 
+		AND R.REFUND_DIVISION = '1'
+		AND R.REFUND_HANDLE_PNTTM >= (SELECT G.GRD_DATE FROM MJ_MBER_GRD_INFO G WHERE G.MBER_ID = #mberId#)
+		AND R.REFUND_HANDLE_PNTTM <= (SELECT MAX(S.REG_DATE) FROM MJ_PG S WHERE S.USER_ID = #mberId# AND S.PG_STATUS = '1')
+	]]>
+	</select>	
+			
 	<!-- 회원별 등급 히스토리 등록 -->
 	<insert id="mberGrdDAO.insertMberGrdHist" parameterClass="mberGrdVO">
 		INSERT INTO MJ_MBER_GRD_HIST
src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
@@ -63,17 +63,17 @@
 					<table class="tType4">
 						<colgroup>
 							<col style="width: 50px;">
-							<col style="width: 40%;">
-							<col style="width: 20%;">
-							<col style="width: 20%;">
-							<col style="width: 20%;">
+							<col style="width: 30%;">
+							<col style="width: 25%;">
+							<col style="width: 26%;">
+							<col style="width: 19%;">
 						</colgroup>
 						<thead>
 							<tr class="level_title">
 								<th>구분</th>
 								<th>결제일시</th>
 								<th>결제금액</th>
-								<th>누적금액</th>
+								<th>누적금액<c:if test="${refundSumBeforeLastPay > 0}">(환불차감)</c:if></th>
 								<th>등급</th>
 							</tr>
 						</thead>
Add a comment
List