Quellcode durchsuchen

주문쿼리정리중

jsh77b vor 5 Jahren
Ursprung
Commit
640ebfd963
1 geänderte Dateien mit 251 neuen und 0 gelöschten Zeilen
  1. 251 0
      src/main/java/com/style24/persistence/mybatis/TsfOrder.xml

+ 251 - 0
src/main/java/com/style24/persistence/mybatis/TsfOrder.xml

@@ -8,6 +8,257 @@
 	</sql>
 	<!--// Paging -->
 	
+	<!-- 장바구니 상품 목록 조회 (업체별 배송단위) -->
+	<select id="getCartGoodsList" parameterType="Order" resultType="Order">
+		/* TsfOrder.getCartGoodsList */
+		SELECT CA.CART_SQ
+     		 , CD.CART_DTL_SQ
+		     , BR.BRAND_ENM 
+		     , G.GOODS_NM
+		     , OP.OPT_CD
+		     , OP.OPT_CD1
+		     , OP.OPT_CD2
+		     , CA.GOODS_QTY
+		     , G.LIST_PRICE7
+		     , G.CURR_PRICE
+		     , G.GOODS_GB
+		     , G.PRE_PPNT_USABLE_YN
+		     , G.PRE_MPNT_USABLE_YN
+		     , G.MIN_ORD_AMT
+		     , G.MAX_ORD_QTY
+		     , G.DAY_MAX_ORD_QTY
+		     , G.GIFT_PACK_YN 
+		     , G.NEW_CUST_ORD_YN
+		     , DFP.SUPPLY_COMP_CD
+		     , CASE WHEN G.SELF_GOODS_YN='Y' THEN 'WMS'
+		            ELSE DFP.DELV_FEE_CD
+		            END  DELV_FEE_CD
+		     , GRS.DELV_RES_DT
+		     , DFP.MIN_ORD_AMT 
+		     , DFP.DELV_FEE
+		FROM   TB_CART CA
+		INNER  JOIN TB_CART_DETAIL CD
+		ON     CA.CART_SQ = CD.CART_SQ
+		INNER  JOIN TB_GOODS G
+		ON     CA.GOODS_CD = G.GOODS_CD
+		INNER  JOIN TB_OPTION OP
+		ON     CD.ITEM_CD = OP.GOODS_CD
+		AND    CD.OPT_CD1 = OP.OPT_CD1 
+		AND    CD.OPT_CD2 = OP.OPT_CD2 
+		INNER  JOIN TB_DELV_FEE_POLICY DFP
+		ON     G.DELV_FEE_CD = DFP.DELV_FEE_CD
+		INNER  JOIN TB_BRAND BR
+		ON     G.BRAND_CD = BR.BRAND_CD
+		LEFT   OUTER JOIN TB_GOODS_RES_SELL GRS
+		ON     CA.GOODS_CD = GRS.GOODS_CD 
+		WHERE  1=1
+		AND    CA.CUST_NO = 0
+		<if test="cartSqArr != null and cartSqArr ==''">
+		AND    CA.CART_SQ IN 
+			<foreach collection="cartSqArr" item="item" index="index"  open="(" close=")" separator=",">
+				#{item}
+			</foreach>
+		</if>
+		ORDER  BY DFP.SUPPLY_COMP_CD
+		     , DFP.DELV_FEE_CD
+	</select>
+	
+	<!-- 고객정보 조회 -->
+	<select id="getCustemerInfo" parameterType="Order" resultType="Order">
+		/* TsfOrder.getCustemerInfo */
+		SELECT CU.CUST_NM
+		     , CU.EMAIL
+		     , CU.CELL_PHNNO
+		FROM   TB_CUSTOMER CU
+		WHERE  1=1
+		ADN    CU.CUST_NO #{custNo}
+	</select>
+	
+	<!-- 배송지정보 조회 -->
+	<select id="getDeliveryAddrInfo" parameterType="Order" resultType="Order">
+		/* TsfOrder.getDeliveryAddrInfo */
+		SELECT CDA.DELV_ADDR_NM
+		     , CDA.RECIP_ZIPCODE
+		     , CDA.RECIP_BASE_ADDR
+		     , CDA.RECIP_DTL_ADDR
+		     , CDA.RECIP_PHNNO
+		     , CDA.DELV_MEMO
+		FROM   TB_CUST_DELIVERY_ADDR CDA
+		WHERE  1=1
+		AND    CDA.CUST_NO = #{custNo}
+		AND    CDA.DEL_YN = 'N'
+		AND    CDA.DEFAULT_YN = 'Y'
+	</select>
+	
+	<!-- 포인트정보 조회 -->
+	<select id="getCustPointInfo" parameterType="Order" resultType="Order">
+		/* TsfOrder.getCustPointInfo */
+		SELECT SUM(COALESCE(CP.RM_PNT_AMT, 0)) AS RM_PNT_AMT
+		FROM   TB_CUST_POINT CP
+		WHERE  1=1
+		AND    CP.CUST_NO = #{custNo}
+		AND    CP.EXP_BE_DT <![CDATA[<]]> CURRENT_DATE()
+		AND    CP.EXP_CMP_DT > CURRENT_DATE()
+	</select>
+	
+	<!-- 상품권정보 조회 -->
+	<select id="getGiftcardInfo" parameterType="Order" resultType="Order">
+		/* TsfOrder.getGiftcardInfo */
+		SELECT SUM(CG.RM_GFCD_AMT) AS RM_GFCD_AMT
+		FROM   TB_CUST_GIFTCARD CG
+		WHERE  1=1
+		AND    CG.CUST_NO = #{custNo}
+		AND    CG.USE_ST_DATE <![CDATA[<]]> CURRENT_DATE()
+		AND    CG.USE_EXP_DATE > CURRENT_DATE()
+	</select>
+	
+	<!-- 총알배송 가능지역 조회 -->
+	<select id="getDailyDeliveryZoneInfo" parameterType="Order" resultType="Order">
+		/* TsfOrder.getDailyDeliveryZoneInfo */
+		SELECT COUNT(1)
+		FROM   TB_DAILY_DELIVERY_ZONE DC
+		WHERE  1=1
+		AND    ZIP_NO = #{zipNo}
+	</select>
+	
+	<!-- 즉시할인 적용 상품 조회 -->
+	<select id="getCpn1ApplyGoodsList" parameterType="Order" resultType="Order">
+		/* TsfOrder.getCpn1ApplyGoodsList */
+		WITH GOODS_DATA AS (
+			SELECT CA.GOODS_CD
+			     , G.SUPPLY_COMP_CD
+			     , G.BRAND_CD
+			     , CA.GOODS_QTY 
+			     , G.CURR_PRICE
+			     , OP.ADD_PRICE 
+			     , G.GOODS_TYPE
+			FROM   TB_CART CA
+			INNER  JOIN TB_CART_DETAIL CD
+			ON     CA.CART_SQ = CD.CART_SQ
+			INNER  JOIN TB_GOODS G
+			ON     CA.GOODS_CD = G.GOODS_CD
+			LEFT   OUTER JOIN TB_OPTION OP
+			ON     G.GOODS_CD = OP.GOODS_CD
+			AND    CD.OPT_CD = OP.OPT_CD
+			WHERE  1=1
+			AND    G.GOODS_STAT = 'G008_90' -- 승인완료
+			<if test="cartSqArr != null and cartSqArr ==''">
+			AND    CA.CART_SQ IN 
+				<foreach collection="cartSqArr" item="item" index="index"  open="(" close=")" separator=",">
+					#{item}
+				</foreach>
+			</if>
+		)
+		SELECT Z.GOODS_CD
+		     , Z.CURR_PRICE
+		     , Z.ADD_PRICE
+		     , Z.GOODS_QTY
+		     , CP.CPN_ID
+		     , CP.CPN_NM
+		     , CP.DC_WAY
+		     , CP.DC_PVAL
+		     , CP.MAX_DC_AMT
+		     , CP.BUY_LIMIT_AMT 
+		     , CASE WHEN CP.DC_WAY = 'G240_11' 
+		            THEN (Z.CURR_PRICE * CP.DC_PVAL) / 100 
+		            ELSE CP.DC_PVAL
+		            END  PC_CURR_PRICE
+		FROM   TB_COUPON CP
+		INNER  JOIN TB_COUPON_CUST_GBN CGB
+		ON     CP.CPN_ID = CGB.CPN_ID
+		AND    CGB.USABLE_CUST_GB IN ('G100_10')
+		INNER  JOIN TB_COUPON_CUST_GRADE CGR
+		ON     CP.CPN_ID = CGR.CPN_ID
+		AND    CGR.USABLE_CUST_GRADE IN ('G110_40', 'G110_50')
+		INNER  JOIN (
+			SELECT CR.CPN_ID
+			     , GD.GOODS_CD
+			     , GD.CURR_PRICE
+			     , GD.ADD_PRICE
+			     , GD.GOODS_QTY
+			     , GD.GOODS_TYPE
+			FROM   TB_COUPON_REFVAL CR
+			INNER  JOIN GOODS_DATA GD
+			ON     CR.REF_VAL = GD.GOODS_CD
+			WHERE  1=1
+			AND    CR.CPN_TARGET = 'G260_10' -- 상품
+			AND    CR.DEL_YN = 'N'
+			UNION
+			SELECT CR.CPN_ID
+			     , GD.GOODS_CD
+			     , GD.CURR_PRICE
+			     , GD.ADD_PRICE
+			     , GD.GOODS_QTY
+			     , GD.GOODS_TYPE
+			FROM   (
+				SELECT C4.LEAF_CATE_NO
+				     , CASE WHEN X = 1 THEN 'CATE1_NO' 
+				            WHEN X = 2 THEN 'CATE2_NO'
+				            WHEN X = 3 THEN 'CATE3_NO'
+				            WHEN X = 4 THEN 'CATE4_NO'
+				            ELSE 'CATE5_NO'
+				            END  CATE_LVL
+				     , CASE WHEN X = 1 THEN CATE1_NO 
+				            WHEN X = 2 THEN CATE2_NO
+				            WHEN X = 3 THEN CATE3_NO
+				            WHEN X = 4 THEN CATE4_NO
+				            ELSE CATE5_NO
+				            END  CATE_NO
+				FROM   TB_CATE_4SRCH C4
+				LEFT   OUTER JOIN (
+					SELECT 1 AS X
+					UNION  ALL 
+					SELECT 2 AS X
+					UNION  ALL 
+					SELECT 3 AS X
+					UNION  ALL 
+					SELECT 4 AS X
+					UNION  ALL 
+					SELECT 5 AS X
+				) B
+				ON     1=1
+				WHERE  1=1
+				AND    C4.SITE_CD = 'G000_10'
+				AND    C4.CATE_TYPE = 'G031_10'
+				ORDER  BY LEAF_CATE_NO 
+				     , CATE_LVL
+			) C4SRCH
+			INNER  JOIN TB_COUPON_REFVAL CR
+			ON     C4SRCH.CATE_NO = CR.REF_VAL
+			INNER  JOIN TB_CATE_GOODS CG
+			ON     C4SRCH.LEAF_CATE_NO = CG.CATE_NO
+			INNER  JOIN GOODS_DATA GD
+			ON     CG.GOODS_CD = GD.GOODS_CD
+			WHERE  C4SRCH.CATE_NO IS NOT NULL
+			AND    CR.CPN_TARGET = 'G260_11' -- 카테고리
+			AND    CR.DEL_YN = 'N'
+			UNION
+			SELECT CR1.CPN_ID
+			     , GD.GOODS_CD
+			     , GD.CURR_PRICE
+			     , GD.ADD_PRICE
+			     , GD.GOODS_QTY
+			     , GD.GOODS_TYPE
+			FROM   GOODS_DATA GD
+			INNER  JOIN TB_COUPON_REFVAL CR1 
+			ON     GD.SUPPLY_COMP_CD = CR1.REF_VAL
+			AND    CR1.CPN_TARGET = 'G260_12' -- 브랜드
+			AND    CR1.DEL_YN = 'N'
+			INNER  JOIN TB_COUPON_REFVAL CR2 
+			ON     GD.SUPPLY_COMP_CD = CR2.REF_VAL
+			AND    CR2.CPN_TARGET = 'G260_13' -- 공급업체
+			AND    CR2.DEL_YN = 'N'
+		) Z
+		ON     Z.CPN_ID = CP.CPN_ID
+		WHERE  1=1
+		AND    CP.SITE_CD = '10'
+		AND    CP.CPN_TYPE = 'G230_10' -- 즉시할인
+		AND    CP.DOWN_STDT <![CDATA[<]]> CURRENT_TIMESTAMP 
+		AND    CP.DOWN_EDDT > CURRENT_TIMESTAMP
+	</select>
+	
+	
+	
 	
 
 </mapper>