Explorar o código

포인트관리 임시커밋

ChoiSooHwan %!s(int64=5) %!d(string=hai) anos
pai
achega
a3097034c3

+ 58 - 55
src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml

@@ -26,65 +26,67 @@
 	<!-- 적립예정 포인트조회-->
 	<select id="getExpectedPointInfo" parameterType="Point" resultType="Point">
 	/* TsfPoint.getExpectedPointInfo */
-		SELECT IFNULL(SUM(GV_PNT_AMT),0) AS expectedPntAmt
-		FROM   TB_CUST_POINT
+		SELECT IFNULL(SUM(PNT_AMT),0) AS expectedPntAmt
+		FROM   tb_cust_point_hst
 		WHERE  CUST_NO = #{custNo}
-		AND    EXP_BE_DT <![CDATA[>]]> NOW()
+		AND    PNT_UPLOAD_STAT = 'G070_10'
+		AND    PNT_AMT <![CDATA[>]]> 0
+		AND    SWITCH_DUE_DT <![CDATA[>]]> NOW()
 	</select>
 	
 	<!-- 한달 이내 소멸예정 포인트조회-->
 	<select id="getExtinctPointInfo" parameterType="Point" resultType="Point">
 	/* TsfPoint.getExtinctPointInfo */
-		SELECT IFNULL(SUM(PNT_AMT),0) AS expectedExpirePntAmt
-		FROM   tb_cust_point_hst
-		WHERE  PNT_UPLOAD_STAT = 'G070_10'
-		AND    CUST_NO = #{custNo}
-		AND    SWITCH_DUE_DT <![CDATA[>]]> NOW()
+		SELECT IFNULL(SUM(RM_PNT_AMT),0) AS expectedExpirePntAmt
+		FROM   TB_CUST_POINT
+		WHERE  CUST_NO = #{custNo}
+		AND    NOW()  BETWEEN DATE_ADD(EXP_BE_DT,INTERVAL -1 MONTH ) AND EXP_BE_DT;
 	</select>
 	
 	<!-- 적립내역 조회-->
 	<select id="getAccumulatePointList" parameterType="Point" resultType="Point">
 	/* TsfPoint.getAccumulatePointList */
-		SELECT
-		CASE   TCC.CD_NM
-		WHEN   '예정포인트적립' THEN '상품 구매'
-		WHEN   '상품평승인' THEN '리뷰'
-		WHEN   '온라인이벤트' THEN '이벤트'
-		WHEN   '기타' THEN '관리자'
+	SELECT
+		CASE   TCHP.OCCUR_GB
+		WHEN   'G069_12' THEN '상품 구매'
+		WHEN   'G069_20' THEN '리뷰'
+		WHEN   'G069_30' THEN '이벤트'
+		WHEN   'G069_90' THEN '관리자'
 		END AS OCCUR_GB ,	
-		CASE   TCC.CD  	
+		CASE   TCHP.OCCUR_GB  	
 		WHEN   'G069_12' THEN TG.GOODS_NM 
 		WHEN   'G069_20' THEN TG.GOODS_NM 
 		WHEN   'G069_30' THEN TCHP.OCCUR_DTL_DESC
 		WHEN   'G069_90' THEN TCHP.OCCUR_DTL_DESC
-		END AS OCCUR_DTL_DESC
-			 , TCHP.PNT_AMT AS pntAmt
-			 , TCHP.UPD_DT  AS pntUploadDt
+		END AS  OCCUR_DTL_DESC
+			  , TCHP.PNT_AMT AS pntAmt
+			  , TCHP.UPD_DT  AS pntUploadDt
 		FROM TB_CUST_POINT_HST TCHP
-		INNER JOIN TB_COMMON_CODE TCC
-		ON TCC.CD = TCHP.OCCUR_GB
-		INNER JOIN TB_ORDER_DETAIL TOD
+		LEFT JOIN TB_ORDER_DETAIL TOD
 		ON TOD.ORD_NO = TCHP.ORD_NO
-		INNER JOIN TB_GOODS TG 
+		AND TOD.ORD_DTL_NO = TCHP.ORD_DTL_NO
+		LEFT JOIN TB_GOODS TG 
 		ON TG.GOODS_CD = TOD.GOODS_CD 
 		WHERE TCHP.CUST_NO = #{custNo}
 		AND TCHP.OCCUR_GB IN ('G069_12','G069_20','G069_30','G069_90')
+		AND TCHP.PNT_UPLOAD_STAT = 'G070_30'
 		AND TCHP.PNT_AMT <![CDATA[>]]> 0
-		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
-		ORDER BY TCHP.UPD_DT DESC;
+		AND DATE_FORMAT(TCHP.UPD_DT,'%Y%m') = #{searchDt}
+		GROUP BY TCHP.OCCUR_GB, PNT_AMT, GOODS_NM, TCHP.OCCUR_DTL_DESC, TCHP.UPD_DT
+	ORDER BY TCHP.UPD_DT DESC
 	</select>
 	
 	<!-- 사용내역 조회-->
 	<select id="getUsePointList" parameterType="Point" resultType="Point">
 	/* TsfPoint.getUsePointList */
-		SELECT
-		CASE   TCC.CD_NM
-		WHEN   '포인트사용' THEN '구매 사용'
-		WHEN   '상품평승인취소' THEN '구매 취소'
-		WHEN   '기타' THEN '관리자'
-		WHEN   '포인트소멸' THEN '소멸'
+	SELECT
+		CASE   TCHP.OCCUR_GB
+		WHEN   'G069_10' THEN '구매 사용'
+		WHEN   'G069_21' THEN '구매 취소'
+		WHEN   'G069_90' THEN '관리자'
+		WHEN   'G069_99' THEN '소멸'
 		END AS OCCUR_GB ,	
-		CASE   TCC.CD  	
+		CASE   TCHP.OCCUR_GB	
 		WHEN   'G069_10' THEN TG.GOODS_NM 
 		WHEN   'G069_21' THEN TG.GOODS_NM 
 		WHEN   'G069_90' THEN TCHP.OCCUR_DTL_DESC
@@ -93,34 +95,34 @@
 			 , TCHP.PNT_AMT AS pntAmt
 			 , TCHP.UPD_DT  AS pntUploadDt
 		FROM TB_CUST_POINT_HST TCHP
-		INNER JOIN TB_COMMON_CODE TCC
-		ON TCC.CD = TCHP.OCCUR_GB
-		INNER JOIN TB_ORDER_DETAIL TOD
+		LEFT JOIN TB_ORDER_DETAIL TOD
 		ON TOD.ORD_NO = TCHP.ORD_NO
-		INNER JOIN TB_GOODS TG 
+		AND TOD.ORD_DTL_NO = TCHP.ORD_DTL_NO
+		LEFT JOIN TB_GOODS TG 
 		ON TG.GOODS_CD = TOD.GOODS_CD 
 		WHERE TCHP.CUST_NO = #{custNo}
 		AND TCHP.OCCUR_GB IN ('G069_10','G069_21','G069_90','G069_99')
+		AND TCHP.PNT_UPLOAD_STAT = 'G070_30'
 		AND 0 <![CDATA[>]]> TCHP.PNT_AMT
-		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
-		ORDER BY TCHP.UPD_DT DESC;
+		AND DATE_FORMAT(TCHP.UPD_DT,'%Y%m') = #{searchDt}
+		GROUP BY  TCHP.OCCUR_GB, PNT_AMT, GOODS_NM,  TCHP.OCCUR_DTL_DESC, TCHP.UPD_DT
+	ORDER BY TCHP.UPD_DT DESC;
 	</select>
 	
 	<!-- 전체내역 조회-->
 	<select id="getAllPointList" parameterType="Point" resultType="Point">
 		/* TsfPoint.getAllPointList */
-		SELECT
-		CASE   TCC.CD_NM
-		WHEN   '포인트사용' THEN '구매 사용'
-		WHEN   '상품평승인취소' THEN '구매 취소'
-		WHEN   '기타' THEN '관리자'
-		WHEN   '포인트소멸' THEN '소멸'
-		WHEN   '예정포인트적립' THEN '상품 구매'
-		WHEN   '상품평승인' THEN '리뷰'
-		WHEN   '온라인이벤트' THEN '이벤트'
-		WHEN   '기타' THEN '관리자'
+	SELECT
+		CASE   TCHP.OCCUR_GB
+		WHEN   'G069_10' THEN '구매 사용'
+		WHEN   'G069_12' THEN '상품 구매'
+		WHEN   'G069_20' THEN '리뷰'	
+		WHEN   'G069_21' THEN '구매 취소'
+		WHEN   'G069_30' THEN '이벤트'
+		WHEN   'G069_90' THEN '관리자'
+		WHEN   'G069_99' THEN '소멸'
 		END AS OCCUR_GB ,	
-		CASE   TCC.CD  	
+		CASE   TCHP.OCCUR_GB
 		WHEN   'G069_10' THEN TG.GOODS_NM
 		WHEN   'G069_12' THEN TG.GOODS_NM 
 		WHEN   'G069_20' THEN TG.GOODS_NM 
@@ -132,15 +134,16 @@
 			 , TCHP.PNT_AMT AS pntAmt
 			 , TCHP.UPD_DT  AS pntUploadDt
 		FROM TB_CUST_POINT_HST TCHP
-		INNER JOIN TB_COMMON_CODE TCC
-		ON TCC.CD = TCHP.OCCUR_GB
-		INNER JOIN TB_ORDER_DETAIL TOD
+		LEFT JOIN TB_ORDER_DETAIL TOD
 		ON TOD.ORD_NO = TCHP.ORD_NO
-		INNER JOIN TB_GOODS TG 
+		AND TOD.ORD_DTL_NO = TCHP.ORD_DTL_NO
+		LEFT JOIN TB_GOODS TG 
 		ON TG.GOODS_CD = TOD.GOODS_CD 
-		WHERE TCHP.CUST_NO =  #{custNo}
+		WHERE TCHP.CUST_NO = #{custNo}
 		AND TCHP.OCCUR_GB IN ('G069_10','G069_12','G069_20','G069_21','G069_30','G069_90','G069_99')
-		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
-		ORDER BY TCHP.UPD_DT DESC;
+		AND TCHP.PNT_UPLOAD_STAT = 'G070_30'
+		AND DATE_FORMAT(TCHP.UPD_DT,'%Y%m') = #{searchDt}
+		GROUP BY TCHP.OCCUR_GB, PNT_AMT, GOODS_NM, TCHP.OCCUR_DTL_DESC, TCHP.UPD_DT
+	ORDER BY TCHP.UPD_DT DESC;
 	</select>
 </mapper>

+ 93 - 34
src/main/webapp/WEB-INF/views/web/mypage/MypagePointFormWeb.html

@@ -37,17 +37,22 @@
 							</div>
 							<div class="my_tab coupon_tab">
 								<ul>
-									<li><a href="javascript:void(0);" id="fnSetSearchFullHistory">전체내역</a></li>
-									<li><a href="javascript:void(0);" class="on" id="fnSetSearchCollectHistory">적립내역</a></li>
-									<li><a href="javascript:void(0);" id="fnSetSearchUsedHistory">사용내역</a></li>
+									<li><a href="javascript:void(0);" id="SearchFullHistory">전체내역</a></li>
+									<li><a href="javascript:void(0);" id="SearchCollectHistory">적립내역</a></li>
+									<li><a href="javascript:void(0);" id="SearchUsedHistory">사용내역</a></li>
 								</ul>
+<!-- 								<div class="form_field"> -->
+<!-- 									<select id="searchDt" name="searchDt" onchange="fnSearchDate(this);"> -->
+<!-- 									</select>  -->
+<!-- 								</div> -->
 								<div class="form_field">
-									<select id="mounth" name="searchDt">
-										<option value="hide">2020년 10월</option>
-										<option value="Test_SELECT_OPTION_1" rel="icon-temperature">2020년 9월</option>
-										<option value="Test_SELECT_OPTION_2">2020년 8월</option>
-										<option value="Test_SELECT_OPTION_3">2020년 7월</option>
-									</select> 
+									<div class="select_custom type1">
+										<div class="combo">
+											<div class="select"></div> <!-- 셀렉박스 -->
+												<ul id="searchDt" class="list" style="width:200px; margin:0 auto">
+												</ul>
+										</div>
+									</div>
 								</div>
 							</div>
 							<div class="order_list">
@@ -78,18 +83,66 @@
 					</div>
 <script th:inline="javascript">
 
+		// select 날짜 생성
+		var date = new Date();
+		var year = date.getFullYear();
+		var month = date.getMonth() + 1;
+		
+		var oneYearAgo = year -1;
+		var yearMonth = year;
+		var oneYearLater = year +1;
+		
+		for(var i = 1;i <= 12; i++){
+			if(i < 10 && i != month){
+				$("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ yearMonth + "" + 0 + i +"'>"+ yearMonth + "년" + " " + i + "월" +"</li>");
+			}
+			else if(i < 10 && i == month){
+				$("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ yearMonth + "" + 0 + i +"'>" + yearMonth + "년" + " " + i + "월" +"</li>");
+			}
+			else if(i > 9 && i != month){
+				$("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ yearMonth + "" + i +"'>"+ yearMonth + "년" + " " + i + "월" +"</li>");
+			}
+			else if(i > 9 && i == month){
+				$("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ yearMonth + "" + i +"'>"+ yearMonth + "년" + " " + i + "월" +"</li>");
+			}
+		}
+		
+	// 날짜변경 이벤트
+	var fnChangeDate = function(parm) {
+		
+		let url = '/mypage/allpoint/list';		
+		let data = {};
+				
+		data.searchDt = $('#searchDt').find('.selected').val();
+		console.log(data);
+
+		var jsonData = JSON.stringify(data);
+		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+			
+			if($("#SearchFullHistory").hasClass("on")){
+				$("#SearchFullHistory").click();
+			}else if($("#SearchCollectHistory").hasClass("on")){
+				$("#SearchCollectHistory").click();
+			}else if($("#SearchUsedHistory").hasClass("on")){
+				$("#SearchUsedHistory").click();
+			}
+		});
+	}
+
+		
 	// 전체내역 조회
-	$("#fnSetSearchFullHistory").click(function(){
-		// Class제거 추가
-		$("#fnSetSearchCollectHistory").removeClass("on");
-		$("#fnSetSearchUsedHistory").removeClass("on");
-		$("#fnSetSearchFullHistory").addClass("on");
+	$("#SearchFullHistory").click(function(){
+		// class제거 추가
+		$("#SearchCollectHistory").removeClass("on");
+		$("#SearchUsedHistory").removeClass("on");
+		$("#SearchFullHistory").addClass("on");
 		$("#plusMinus").text("증감/차감");
 		
 		let data = {};
 		
-		data.searchDt = $('select[name=searchDt]').val();
+		data.searchDt = $('#searchDt').find('.selected').val();
 		
+		console.log(data);
 		var jsonData = JSON.stringify(data);
 		
 		$.ajax(
@@ -100,13 +153,15 @@
 					contentType: 'application/json',
   					dataType : 'json',
 					success  : function(result){
-						fnPointAllListInfo(result);
+						PointAllListInfo(result);
 					}
 				}
 		)
 	});
 	
-	function fnPointAllListInfo(result) {
+
+	
+	function PointAllListInfo(result) {
 		
 		let allPointList = result.allPointList;
 		
@@ -126,13 +181,14 @@
 		}
 		$("#pointAjaxList").html(tmtbHtml);
 	}
+
 	
 	// 적립내역 조회
-	$("#fnSetSearchCollectHistory").click(function(){
+	$("#SearchCollectHistory").click(function(){
 		// Class제거 추가
-		$("#fnSetSearchFullHistory").removeClass("on");
-		$("#fnSetSearchUsedHistory").removeClass("on");
-		$("#fnSetSearchCollectHistory").addClass("on");
+		$("#SearchFullHistory").removeClass("on");
+		$("#SearchUsedHistory").removeClass("on");
+		$("#SearchCollectHistory").addClass("on");
 		
 		// 적립내역 포인트 블루
 		$("#pntAmt").removeClass("c_primary");
@@ -141,7 +197,7 @@
 		
 		let data = {};
 		
-		data.searchDt = $('select[name=searchDt]').val();
+		data.searchDt = $('#searchDt').find('.selected').val();
 		
 		let jsonData = JSON.stringify(data);
 		
@@ -153,13 +209,13 @@
 					contentType: 'application/json',
   					dataType : 'json',
 					success  : function(result){
-						fnPointCollectListInfo(result);
+						PointCollectListInfo(result);
 					}
 				}
 		)
 	});
 	
-	function fnPointCollectListInfo(result) {
+	function PointCollectListInfo(result) {
 		
 		let pointList = result.accumulatePointList;
 		
@@ -177,11 +233,11 @@
 	}
 	
 	// 사용내역 조회
-	$("#fnSetSearchUsedHistory").click(function(){
+	$("#SearchUsedHistory").click(function(){
 		// Class제거 추가
-		$("#fnSetSearchCollectHistory").removeClass("on");
-		$("#fnSetSearchFullHistory").removeClass("on");
-		$("#fnSetSearchUsedHistory").addClass("on");
+		$("#SearchCollectHistory").removeClass("on");
+		$("#SearchFullHistory").removeClass("on");
+		$("#SearchUsedHistory").addClass("on");
 		
 		// 사용내역 포인트 블루
 		$("#pntAmt").removeClass("c_blue");
@@ -190,7 +246,7 @@
 		
 		let data = {};
 		
-		data.searchDt = $('select[name=searchDt]').val();
+		data.searchDt = $('#searchDt').find('.selected').val();
 		
 		let jsonData = JSON.stringify(data);
 		
@@ -202,16 +258,15 @@
 					contentType: 'application/json',
   					dataType : 'json',
 					success  : function(result){
-						fnUsePointListInfo(result);
+						UsePointListInfo(result);
 					}
 				}
 		)
 	});
 	
-	function fnUsePointListInfo(result) {
+	function UsePointListInfo(result) {
 		
 		let usePointList = result.usePointList;
-		console.log(usePointList);
 		let tmtbHtml = "";
 		for(let i=0; i<usePointList.length; i++){
 			let usePoint = usePointList[i];
@@ -233,8 +288,12 @@
 		fnSetMypageLocation('STYLE24 포인트', '_PAGE_MYPAGE_POINT');
 		
 		// 전체내역
-		$("#fnSetSearchFullHistory").trigger('click');
-
+		$("#SearchFullHistory").trigger('click');
+		
+		// 셀렉트박스 활성화
+		$('.select_custom.type1').each(function(index) {
+			var selecter01 = new sCombo($(this));
+		});
 	});
 
 </script>