Bläddra i källkod

Merge remote-tracking branch 'origin/jsh77b' into xodud1202

xodud lee 5 år sedan
förälder
incheckning
95d2a7642e
1 ändrade filer med 110 tillägg och 2 borttagningar
  1. 110 2
      src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

+ 110 - 2
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -212,6 +212,8 @@
 			             , A.RECIP_ADDR
 			             , A.DELV_MEMO
 			             , A.DSTRBT_NOTE
+			             , A.RETURNABLE_YN
+			             , A.CHANGEABLE_YN
 			          FROM (SELECT O.ORD_NO
 			                     , OD.ORD_DTL_NO
 			                     , ODI.ORD_DTL_ITEM_SQ
@@ -267,6 +269,8 @@
 			                     , CONCAT(DA.RECIP_BASE_ADDR, ' ', DA.RECIP_DTL_ADDR) AS RECIP_ADDR 
 			                     , DA.DELV_MEMO
 			                     , OD.DSTRBT_NOTE
+			                     , OD.RETURNABLE_YN
+			                     , OD.CHANGEABLE_YN
 			                  FROM TB_ORDER O
 			                 INNER JOIN TB_ORDER_DETAIL OD
 			                    ON O.ORD_NO = OD.ORD_NO
@@ -452,6 +456,8 @@
 			                   , A.RECIP_ADDR
 			                   , A.DELV_MEMO
 			                   , A.DSTRBT_NOTE
+			                   , A.RETURNABLE_YN
+			                   , A.CHANGEABLE_YN
 			       ) Z
 			       JOIN (SELECT @rownum := 0) R
 			       ORDER BY Z.ORD_NO DESC
@@ -585,6 +591,9 @@
 		     , A.INVOICE_NO
 		     , A.DELV_LOC_CD
 		     , A.DELV_ADDR_SQ
+		     , A.RETURNABLE_YN
+		     , A.CHANGEABLE_YN
+		     , A.DELV_FEE_CD
 		FROM (
 			SELECT OD.ORD_NO
 		         , CASE WHEN OD.ORD_EXCH_GB = 'O'
@@ -652,6 +661,9 @@
 		         , OD.INVOICE_NO
 		         , OD.DELV_LOC_CD
 		         , OD.DELV_ADDR_SQ
+		         , OD.RETURNABLE_YN
+		         , OD.CHANGEABLE_YN
+		         , OD.DELV_FEE_CD
 		      FROM TB_ORDER O
 		     INNER JOIN TB_ORDER_DETAIL OD
 		        ON O.ORD_NO = OD.ORD_NO
@@ -746,6 +758,9 @@
 		     , A.INVOICE_NO
 		     , A.DELV_LOC_CD
 		     , A.DELV_ADDR_SQ
+		     , A.RETURNABLE_YN
+		     , A.CHANGEABLE_YN
+		     , A.DELV_FEE_CD
 	</select>
 
 	<!-- 주문상세 > 사은품목록 -->
@@ -2115,16 +2130,51 @@
 	<!-- 배송비쿠폰 조회 -->
 	<select id="getDelvCpnList" parameterType="Order" resultType="Order">
 		/* TscOrder.getDelvCpnList */
+		WITH GOODS_DATA AS (
+		    SELECT CA.GOODS_CD
+		         , G.SUPPLY_COMP_CD
+		         , G.BRAND_CD
+		         , CA.CART_SQ
+		         , (FN_GET_APPLY_CPN1_PRICE(CA.GOODS_CD, #{frontGb}) + IFNULL(OP.ADD_PRICE, 0)) * CA.GOODS_QTY AS CURR_PRICE
+		    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 ( SELECT OP.ADD_PRICE
+		                             , C.CART_SQ
+		                        FROM   TB_CART C
+		                        INNER  JOIN TB_CART_DETAIL CD
+		                        ON     C.CART_SQ = CD.CART_SQ
+		                        INNER  JOIN TB_OPTION OP
+		                        ON     C.GOODS_CD = OP.GOODS_CD
+		                        AND    CD.OPT_CD = OP.OPT_CD
+		    ) OP
+		    ON     CA.CART_SQ = OP.CART_SQ
+		    WHERE  1=1
+			<if test="custNo == 0">
+		    AND    CA.CUST_NO = 0
+		    AND    CA.JSESSION_ID = #{jsessionId}
+			</if>
+			<if test="custNo != 0">
+		    AND    CA.CUST_NO = #{custNo}
+			</if>
+		    AND    CA.CART_SQ IN
+			<foreach collection="cartSqArr" item="item" index="index"  open="(" close=")" separator=",">
+				#{item}
+			</foreach>
+		)
 		SELECT CP.CPN_ID
 		     , CP.CPN_NM
 		     , CP.CPN_TYPE
 		     , CP.DC_WAY
 		     , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
-			        WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
-			        ELSE CP.DC_AVAL END AS DC_VAL
+		            WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
+		            ELSE CP.DC_AVAL END AS DC_VAL
 		     , CP.MAX_DC_AMT
 		     , CP.BUY_LIMIT_AMT
 		     , CCP.CUST_CPN_SQ
+		     , CP.APPLY_SCOPE
 		FROM   TB_COUPON CP
 		INNER  JOIN TB_COUPON_CUST_GRADE CGR
 		ON     CP.CPN_ID = CGR.CPN_ID
@@ -2136,6 +2186,28 @@
 		INNER  JOIN TB_COUPON_CUST_GBN CGB
 		ON     CP.CPN_ID = CGB.CPN_ID
 		AND    CGB.USABLE_CUST_GB = CT.CUST_GB
+		INNER  JOIN (
+	        SELECT X.*
+	        FROM (
+	            SELECT CR2.CPN_ID
+	                 , GD.GOODS_CD
+	                 , GD.CART_SQ
+	                 , GD.CURR_PRICE
+	            FROM   GOODS_DATA GD
+	            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'
+	        ) X
+	        LEFT   OUTER JOIN TB_COUPON_REFVAL CR
+	        ON     X.CPN_ID = CR.CPN_ID
+	        AND    X.GOODS_CD = CR.REF_VAL 
+	        AND    CR.CPN_TARGET = 'G260_14' -- 제외상품
+	        AND    CR.DEL_YN = 'N'
+	        WHERE  1=1
+	        AND    CR.REF_VAL IS NULL
+		) Z
+		ON     Z.CPN_ID = CP.CPN_ID
 		WHERE  1=1
 		AND    CP.SITE_CD = 'G000_10'
 		AND    CP.CPN_STAT = 'G232_11' -- 진행쿠폰
@@ -2144,6 +2216,42 @@
 		AND    CCP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP 
 		AND    CCP.AVAIL_EDDT > CURRENT_TIMESTAMP
 		AND    CT.CUST_NO = #{custNo}
+		AND    CP.APPLY_SCOPE = 'I'
+		UNION  ALL
+		SELECT CP.CPN_ID
+		     , CP.CPN_NM
+		     , CP.CPN_TYPE
+		     , CP.DC_WAY
+		     , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
+		            WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
+		            ELSE CP.DC_AVAL END AS DC_VAL
+		     , CP.MAX_DC_AMT
+		     , CP.BUY_LIMIT_AMT
+		     , CCP.CUST_CPN_SQ
+		     , CP.APPLY_SCOPE
+		FROM   TB_COUPON CP
+		INNER  JOIN TB_COUPON_CUST_GRADE CGR
+		ON     CP.CPN_ID = CGR.CPN_ID
+		INNER  JOIN TB_CUST_COUPON CCP
+		ON     CP.CPN_ID = CCP.CPN_ID
+		INNER  JOIN TB_CUSTOMER CT
+		ON     CCP.CUST_NO = CT.CUST_NO
+		AND    CGR.USABLE_CUST_GRADE = CT.CUST_GRADE
+		INNER  JOIN TB_COUPON_CUST_GBN CGB
+		ON     CP.CPN_ID = CGB.CPN_ID
+		AND    CGB.USABLE_CUST_GB = CT.CUST_GB
+		WHERE  1=1
+		<if test="cpnId != null and cpnId != 0">
+		AND    CP.CPN_ID = #{cpnId}
+		</if>
+		AND    CP.SITE_CD = 'G000_10'
+		AND    CP.CPN_STAT = 'G232_11'				-- 진행쿠폰
+		AND    CP.CPN_TYPE = 'G230_30'				-- 배송비쿠폰
+		AND    CCP.USED_DT IS NULL
+		AND    CCP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
+		AND    CCP.AVAIL_EDDT > CURRENT_TIMESTAMP
+		AND    CT.CUST_NO = #{custNo}
+		AND    CP.APPLY_SCOPE = 'A'
 	</select>
 	
 	<!-- 장바구니쿠폰 가능결제수단목록조회 -->