浏览代码

ST24PRJ-602 [결함][FRONT] 포인트 로우가 중복되어 노출됨

card007 4 年之前
父节点
当前提交
d3340a514d
共有 1 个文件被更改,包括 77 次插入63 次删除
  1. 77 63
      src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml

+ 77 - 63
src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml

@@ -60,8 +60,6 @@
 		                    WHEN 'G069_37' THEN '이벤트'
 		                    WHEN 'G069_40' THEN '상품 구매'
 		                    WHEN 'G069_41' THEN '구매 취소'
-		                    WHEN 'G069_42' THEN '사은품'
-		                    WHEN 'G069_43' THEN '사은품'
 		                    WHEN 'G069_44' THEN '관리자'
 		                    WHEN 'G069_45' THEN '관리자'
 		                    WHEN 'G069_46' THEN '적립취소'
@@ -78,8 +76,6 @@
 		                   WHEN 'G069_37' THEN '출석체크'
 		                   WHEN 'G069_40' THEN G.GOODS_NM
 		                   WHEN 'G069_41' THEN G.GOODS_NM
-		                   WHEN 'G069_42' THEN FR.GOODS_NM
-		                   WHEN 'G069_43' THEN FR.GOODS_NM
 		                   WHEN 'G069_44' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_45' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_46' THEN CPH.OCCUR_DTL_DESC
@@ -97,15 +93,8 @@
 		       ON  OD.GOODS_CD = G.GOODS_CD
 		       INNER JOIN TB_CUST_POINT TCP 
 		       ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		       LEFT JOIN (SELECT FG.GOODS_NM
-		                        ,OFV.ORD_NO
-		                  FROM TB_ORD_FREEGIFT_VAL OFV
-		                  INNER JOIN TB_FREE_GOODS FG
-		                  ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                  AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                  )FR ON CPH.ORD_NO = FR.ORD_NO
 		       WHERE CPH.CUST_NO = #{custNo}
-		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13')
+		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13', 'G069_42', 'G069_43')
 		       AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		       AND CPH.PNT_AMT <![CDATA[>]]> 0
 		UNION ALL
@@ -128,20 +117,36 @@
 		      ON  OD.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_CUST_POINT TCP 
 		      ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		      LEFT JOIN (SELECT FG.GOODS_NM
-		                       ,OFV.ORD_NO
-		                 FROM TB_ORD_FREEGIFT_VAL OFV
-		                 INNER JOIN TB_FREE_GOODS FG
-		                 ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                 AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                 )FR ON CPH.ORD_NO = FR.ORD_NO
 		      WHERE CPH.CUST_NO = #{custNo}
-		        AND CPH.SWITCH_DUE_DT IS NOT NULL
 		        AND CPH.OCCUR_GB IN ('G069_12','G069_13')
 		        AND CPH.PNT_UPLOAD_STAT = 'G070_30'
 		        AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		        AND CPH.PNT_AMT <![CDATA[>]]> 0
-		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT 
+		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT
+		UNION ALL
+		      SELECT CASE CPH.OCCUR_GB WHEN 'G069_42' THEN '사은품'
+		                               WHEN 'G069_43' THEN '사은품'
+		              END                                          AS OCCUR_GB
+		           , CASE CPH.OCCUR_GB WHEN 'G069_42' THEN FG.GOODS_NM
+		                               WHEN 'G069_43' THEN FG.GOODS_NM
+		              END                                          AS  OCCUR_DTL_DESC
+		           , CPH.PNT_AMT
+		           , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S')  AS PNT_UPLOAD_DT
+		           , CP.EXP_BE_DT
+		        FROM TB_CUST_POINT_HST CPH
+		       INNER JOIN TB_CUST_POINT CP
+		          ON CPH.CUST_PNT_SQ = CP.CUST_PNT_SQ
+		       INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		          ON OFV.ORD_NO = CPH.ORD_NO
+		         AND OFV.ORD_FREEGIFT_VAL_SQ = CPH.ORD_FREEGIFT_VAL_SQ
+		       INNER JOIN TB_FREE_GOODS FG
+		          ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		         AND OFV.PRODUCT_NO = FG.PRODUCT_NO
+		       WHERE CPH.CUST_NO = #{custNo}
+		         AND CPH.OCCUR_GB IN ('G069_42','G069_43')
+		         AND CPH.PNT_UPLOAD_STAT = 'G070_30'
+		         AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
+		         AND CPH.PNT_AMT <![CDATA[>]]> 0
 		) Z
 		WHERE Z.PNT_UPLOAD_DT IS NOT NULL
 		ORDER BY Z.PNT_UPLOAD_DT DESC	
@@ -162,8 +167,6 @@
 		                    WHEN 'G069_37' THEN '이벤트'
 		                    WHEN 'G069_40' THEN '상품 구매'
 		                    WHEN 'G069_41' THEN '구매 취소'
-		                    WHEN 'G069_42' THEN '사은품'
-		                    WHEN 'G069_43' THEN '사은품'
 		                    WHEN 'G069_44' THEN '관리자'
 		                    WHEN 'G069_45' THEN '관리자'
 		                    WHEN 'G069_46' THEN '적립취소'
@@ -180,8 +183,6 @@
 		                   WHEN 'G069_37' THEN '출석체크'
 		                   WHEN 'G069_40' THEN G.GOODS_NM
 		                   WHEN 'G069_41' THEN G.GOODS_NM
-		                   WHEN 'G069_42' THEN FR.GOODS_NM
-		                   WHEN 'G069_43' THEN FR.GOODS_NM
 		                   WHEN 'G069_44' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_45' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_46' THEN CPH.OCCUR_DTL_DESC
@@ -199,15 +200,8 @@
 		       ON  OD.GOODS_CD = G.GOODS_CD
 		       INNER JOIN TB_CUST_POINT TCP 
 		       ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		       LEFT JOIN (SELECT FG.GOODS_NM
-		                        ,OFV.ORD_NO
-		                  FROM TB_ORD_FREEGIFT_VAL OFV
-		                  INNER JOIN TB_FREE_GOODS FG
-		                  ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                  AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                  )FR ON CPH.ORD_NO = FR.ORD_NO
 		       WHERE CPH.CUST_NO = #{custNo}
-		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13')
+		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13', 'G069_42', 'G069_43')
 		       AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		       AND CPH.PNT_AMT <![CDATA[<]]> 0
 		UNION ALL
@@ -230,20 +224,36 @@
 		      ON  OD.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_CUST_POINT TCP 
 		      ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		      LEFT JOIN (SELECT FG.GOODS_NM
-		                       ,OFV.ORD_NO
-		                 FROM TB_ORD_FREEGIFT_VAL OFV
-		                 INNER JOIN TB_FREE_GOODS FG
-		                 ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                 AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                 )FR ON CPH.ORD_NO = FR.ORD_NO
 		      WHERE CPH.CUST_NO = #{custNo}
-		        AND CPH.SWITCH_DUE_DT IS NOT NULL
 		        AND CPH.OCCUR_GB IN ('G069_12','G069_13')
 		        AND CPH.PNT_UPLOAD_STAT = 'G070_30'
 		        AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		        AND CPH.PNT_AMT <![CDATA[<]]> 0
-		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT 
+		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT
+		UNION ALL
+		      SELECT CASE CPH.OCCUR_GB WHEN 'G069_42' THEN '사은품'
+		                               WHEN 'G069_43' THEN '사은품'
+		              END                                          AS OCCUR_GB
+		           , CASE CPH.OCCUR_GB WHEN 'G069_42' THEN FG.GOODS_NM
+		                               WHEN 'G069_43' THEN FG.GOODS_NM
+		              END                                          AS  OCCUR_DTL_DESC
+		            , CPH.PNT_AMT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S')  AS PNT_UPLOAD_DT
+		            , CP.EXP_BE_DT
+		         FROM TB_CUST_POINT_HST CPH
+		        INNER JOIN TB_CUST_POINT CP
+		           ON CPH.CUST_PNT_SQ = CP.CUST_PNT_SQ
+		        INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		           ON OFV.ORD_NO = CPH.ORD_NO
+		          AND OFV.ORD_FREEGIFT_VAL_SQ = CPH.ORD_FREEGIFT_VAL_SQ
+		        INNER JOIN TB_FREE_GOODS FG
+		           ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		          AND OFV.PRODUCT_NO = FG.PRODUCT_NO
+		        WHERE CPH.CUST_NO = #{custNo}
+		          AND CPH.OCCUR_GB IN ('G069_42','G069_43')
+		          AND CPH.PNT_UPLOAD_STAT = 'G070_30'
+		          AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
+		          AND CPH.PNT_AMT <![CDATA[<]]> 0
 		) Z
 		WHERE Z.PNT_UPLOAD_DT IS NOT NULL
 		ORDER BY Z.PNT_UPLOAD_DT DESC	
@@ -264,8 +274,6 @@
 		                    WHEN 'G069_37' THEN '이벤트'
 		                    WHEN 'G069_40' THEN '상품 구매'
 		                    WHEN 'G069_41' THEN '구매 취소'
-		                    WHEN 'G069_42' THEN '사은품'
-		                    WHEN 'G069_43' THEN '사은품'
 		                    WHEN 'G069_44' THEN '관리자'
 		                    WHEN 'G069_45' THEN '관리자'
 		                    WHEN 'G069_46' THEN '적립취소'
@@ -282,8 +290,6 @@
 		                   WHEN 'G069_37' THEN '출석체크'
 		                   WHEN 'G069_40' THEN G.GOODS_NM
 		                   WHEN 'G069_41' THEN G.GOODS_NM
-		                   WHEN 'G069_42' THEN FR.GOODS_NM
-		                   WHEN 'G069_43' THEN FR.GOODS_NM
 		                   WHEN 'G069_44' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_45' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_46' THEN CPH.OCCUR_DTL_DESC
@@ -301,15 +307,8 @@
 		       ON  OD.GOODS_CD = G.GOODS_CD
 		       INNER JOIN TB_CUST_POINT TCP 
 		       ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		       LEFT JOIN (SELECT FG.GOODS_NM
-		                        ,OFV.ORD_NO
-		                  FROM TB_ORD_FREEGIFT_VAL OFV
-		                  INNER JOIN TB_FREE_GOODS FG
-		                  ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                  AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                  )FR ON CPH.ORD_NO = FR.ORD_NO
 		       WHERE CPH.CUST_NO = #{custNo}
-		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13')
+		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13', 'G069_42', 'G069_43')
 		       AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		UNION ALL
 		      SELECT  CASE CPH.OCCUR_GB
@@ -331,19 +330,34 @@
 		      ON  OD.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_CUST_POINT TCP 
 		      ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		      LEFT JOIN (SELECT FG.GOODS_NM
-		                       ,OFV.ORD_NO
-		                 FROM TB_ORD_FREEGIFT_VAL OFV
-		                 INNER JOIN TB_FREE_GOODS FG
-		                 ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                 AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                 )FR ON CPH.ORD_NO = FR.ORD_NO
 		      WHERE CPH.CUST_NO = #{custNo}
-		        AND CPH.SWITCH_DUE_DT IS NOT NULL
 		        AND CPH.OCCUR_GB IN ('G069_12','G069_13')
 		        AND CPH.PNT_UPLOAD_STAT = 'G070_30'
 		        AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
-		       GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT 
+		       GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT
+		UNION ALL
+		      SELECT CASE CPH.OCCUR_GB WHEN 'G069_42' THEN '사은품'
+		                               WHEN 'G069_43' THEN '사은품'
+		              END                                          AS OCCUR_GB
+		           , CASE CPH.OCCUR_GB WHEN 'G069_42' THEN FG.GOODS_NM
+		                               WHEN 'G069_43' THEN FG.GOODS_NM
+		              END                                          AS  OCCUR_DTL_DESC
+		            , CPH.PNT_AMT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S')  AS PNT_UPLOAD_DT
+		            , CP.EXP_BE_DT
+		         FROM TB_CUST_POINT_HST CPH
+		        INNER JOIN TB_CUST_POINT CP
+		           ON CPH.CUST_PNT_SQ = CP.CUST_PNT_SQ
+		        INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		           ON OFV.ORD_NO = CPH.ORD_NO
+		          AND OFV.ORD_FREEGIFT_VAL_SQ = CPH.ORD_FREEGIFT_VAL_SQ
+		        INNER JOIN TB_FREE_GOODS FG
+		           ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		          AND OFV.PRODUCT_NO = FG.PRODUCT_NO
+		        WHERE CPH.CUST_NO = #{custNo}
+		          AND CPH.OCCUR_GB IN ('G069_42','G069_43')
+		          AND CPH.PNT_UPLOAD_STAT = 'G070_30'
+		          AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		) Z
 		WHERE Z.PNT_UPLOAD_DT IS NOT NULL
 		ORDER BY Z.PNT_UPLOAD_DT DESC