|
@@ -516,6 +516,7 @@
|
|
|
, Z.MIN_ORD_AMT
|
|
, Z.MIN_ORD_AMT
|
|
|
, Z.DELV_FEE
|
|
, Z.DELV_FEE
|
|
|
, Z.CART_DELV_FEE_CD
|
|
, Z.CART_DELV_FEE_CD
|
|
|
|
|
+ , Z.ORD_CAN_YN
|
|
|
, (Z.CURR_PRICE + SUM(Z.OPT_ADD_PRICE)) * Z.GOODS_QTY AS CURR_PRICE
|
|
, (Z.CURR_PRICE + SUM(Z.OPT_ADD_PRICE)) * Z.GOODS_QTY AS CURR_PRICE
|
|
|
, (Z.LIST_PRICE + SUM(Z.OPT_ADD_PRICE)) * Z.GOODS_QTY AS LIST_PRICE
|
|
, (Z.LIST_PRICE + SUM(Z.OPT_ADD_PRICE)) * Z.GOODS_QTY AS LIST_PRICE
|
|
|
, CASE WHEN Z.SOLDOUT_YN = 'N' AND Z.CUST_TODAY_ORD = 0 AND Z.NOCUST_TODAY_ORD = 0 THEN 'N' ELSE 'Y' END AS SOLDOUT_YN
|
|
, CASE WHEN Z.SOLDOUT_YN = 'N' AND Z.CUST_TODAY_ORD = 0 AND Z.NOCUST_TODAY_ORD = 0 THEN 'N' ELSE 'Y' END AS SOLDOUT_YN
|
|
@@ -535,21 +536,17 @@
|
|
|
, G.GOODS_TYPE
|
|
, G.GOODS_TYPE
|
|
|
, G.SUPPLY_COMP_CD
|
|
, G.SUPPLY_COMP_CD
|
|
|
, G.GOODS_NM
|
|
, G.GOODS_NM
|
|
|
- , G.BRAND_CD
|
|
|
|
|
, G.PNT_PRATE
|
|
, G.PNT_PRATE
|
|
|
, G.PNT_MRATE
|
|
, G.PNT_MRATE
|
|
|
, STOCK.SOLDOUT_YN
|
|
, STOCK.SOLDOUT_YN
|
|
|
|
|
+ , CASE WHEN STOCK.ORD_CAN_YN = 'N' AND GRADE_YN.ORD_CAN_YN = 'N' THEN 'N' ELSE 'Y' END AS ORD_CAN_YN
|
|
|
, FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) AS CURR_PRICE
|
|
, FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) AS CURR_PRICE
|
|
|
, G.LIST_PRICE
|
|
, G.LIST_PRICE
|
|
|
, IFNULL(O.ADD_PRICE, 0) AS OPT_ADD_PRICE
|
|
, IFNULL(O.ADD_PRICE, 0) AS OPT_ADD_PRICE
|
|
|
, BR.BRAND_ENM
|
|
, BR.BRAND_ENM
|
|
|
, BR.BRAND_KNM
|
|
, BR.BRAND_KNM
|
|
|
- , CT.CUST_GRADE
|
|
|
|
|
, DFP.MIN_ORD_AMT
|
|
, DFP.MIN_ORD_AMT
|
|
|
, DFP.DELV_FEE
|
|
, DFP.DELV_FEE
|
|
|
- , CASE WHEN GOG.CUST_GRADE IS NOT NULL AND GOG.CUST_GRADE = IFNULL(CT.CUST_GRADE, '') THEN GOG.CUST_GRADE
|
|
|
|
|
- WHEN GOG.CUST_GRADE IS NOT NULL THEN 'NO'
|
|
|
|
|
- ELSE CT.CUST_GRADE END AS ORDER_GRADE
|
|
|
|
|
, (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
|
|
, (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
|
|
|
, (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
|
|
, (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
|
|
|
, CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
, CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
@@ -569,9 +566,6 @@
|
|
|
AND OD.GOODS_CD = C.GOODS_CD
|
|
AND OD.GOODS_CD = C.GOODS_CD
|
|
|
AND DATE(ORD_DT) = CURRENT_DATE) + C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END CUST_TODAY_ORD
|
|
AND DATE(ORD_DT) = CURRENT_DATE) + C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END CUST_TODAY_ORD
|
|
|
, CASE WHEN C.CUST_NO = 0 AND C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END AS NOCUST_TODAY_ORD
|
|
, CASE WHEN C.CUST_NO = 0 AND C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END AS NOCUST_TODAY_ORD
|
|
|
- /*, CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
|
|
|
|
|
- ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM*/
|
|
|
|
|
- /* , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM */
|
|
|
|
|
, CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
|
|
, CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
|
|
|
ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
|
|
ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
|
|
|
FROM TB_CART C
|
|
FROM TB_CART C
|
|
@@ -586,37 +580,73 @@
|
|
|
INNER JOIN TB_OPTION O
|
|
INNER JOIN TB_OPTION O
|
|
|
ON CD.ITEM_CD = O.GOODS_CD
|
|
ON CD.ITEM_CD = O.GOODS_CD
|
|
|
AND CD.OPT_CD = O.OPT_CD
|
|
AND CD.OPT_CD = O.OPT_CD
|
|
|
|
|
+ LEFT OUTER JOIN (SELECT A.CART_SQ
|
|
|
|
|
+ , MAX(A.ORD_CAN_YN) AS ORD_CAN_YN
|
|
|
|
|
+ FROM (SELECT A.CART_SQ
|
|
|
|
|
+ , CASE WHEN (GOODS_ALL_CNT > 0 AND GOODS_GRADE_CNT = 0) OR (ITEM_ALL_CNT > 0 AND ITEM_GRADE_CNT = 0) THEN 'N'
|
|
|
|
|
+ ELSE 'Y' END AS ORD_CAN_YN
|
|
|
|
|
+ FROM (SELECT C.CART_SQ
|
|
|
|
|
+ , C.GOODS_CD
|
|
|
|
|
+ , CD.ITEM_CD
|
|
|
|
|
+ , (SELECT COUNT(1) FROM TB_GOODS_ORDER_GRADE WHERE GOODS_CD = C.GOODS_CD) AS GOODS_ALL_CNT
|
|
|
|
|
+ , CASE WHEN C.CUST_NO = 0 THEN 0
|
|
|
|
|
+ ELSE (SELECT COUNT(1) FROM TB_GOODS_ORDER_GRADE GOG INNER JOIN TB_CUSTOMER CT ON GOG.CUST_GRADE = CT.CUST_GRADE WHERE GOODS_CD = C.GOODS_CD AND CT.CUST_NO = C.CUST_NO) END AS GOODS_GRADE_CNT
|
|
|
|
|
+ , (SELECT COUNT(1) FROM TB_GOODS_ORDER_GRADE WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_ALL_CNT
|
|
|
|
|
+ , CASE WHEN C.CUST_NO = 0 THEN 0
|
|
|
|
|
+ ELSE (SELECT COUNT(1) FROM TB_GOODS_ORDER_GRADE GOG INNER JOIN TB_CUSTOMER CT ON GOG.CUST_GRADE = CT.CUST_GRADE WHERE GOODS_CD = CD.ITEM_CD AND CT.CUST_NO = C.CUST_NO) END AS ITEM_GRADE_CNT
|
|
|
|
|
+ FROM TB_CART C
|
|
|
|
|
+ INNER JOIN TB_CART_DETAIL CD
|
|
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ <if test="custNo == 0">
|
|
|
|
|
+ AND C.CUST_NO = 0
|
|
|
|
|
+ AND C.JSESSION_ID = #{jsessionId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="custNo != 0">
|
|
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ) A
|
|
|
|
|
+ ) A
|
|
|
|
|
+ GROUP BY A.CART_SQ
|
|
|
|
|
+ ) GRADE_YN
|
|
|
|
|
+ ON GRADE_YN.CART_SQ = C.CART_SQ
|
|
|
INNER JOIN ( SELECT A.CART_SQ
|
|
INNER JOIN ( SELECT A.CART_SQ
|
|
|
, MAX(A.SOLDOUT_YN) AS SOLDOUT_YN
|
|
, MAX(A.SOLDOUT_YN) AS SOLDOUT_YN
|
|
|
|
|
+ , MAX(A.ORD_CAN_YN) AS ORD_CAN_YN
|
|
|
FROM (SELECT C.CART_SQ
|
|
FROM (SELECT C.CART_SQ
|
|
|
- , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY * GC.QTY THEN 'N'
|
|
|
|
|
|
|
+ , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY * GC.QTY AND COMP_GOODS.GOODS_STAT != 'G008_70' AND G.GOODS_STAT != 'G008_70' THEN 'N'
|
|
|
ELSE 'Y' END AS SOLDOUT_YN
|
|
ELSE 'Y' END AS SOLDOUT_YN
|
|
|
|
|
+ , CASE WHEN G.GOODS_STAT != 'G008_90' AND G.GOODS_STAT != 'G008_70' AND COMP_GOODS.GOODS_STAT != 'G008_70' AND COMP_GOODS.GOODS_STAT != 'G008_90' THEN 'N'
|
|
|
|
|
+ ELSE 'Y' END AS ORD_CAN_YN
|
|
|
FROM TB_CART C
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
ON C.CART_SQ = CD.CART_SQ
|
|
ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN TB_GOODS G
|
|
INNER JOIN TB_GOODS G
|
|
|
ON C.GOODS_CD = G.GOODS_CD
|
|
ON C.GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ INNER JOIN TB_GOODS COMP_GOODS
|
|
|
|
|
+ ON CD.ITEM_CD = COMP_GOODS.GOODS_CD
|
|
|
INNER JOIN TB_GOODS_COMPOSE GC
|
|
INNER JOIN TB_GOODS_COMPOSE GC
|
|
|
ON C.GOODS_CD = GC.GOODS_CD
|
|
ON C.GOODS_CD = GC.GOODS_CD
|
|
|
AND CD.ITEM_CD = GC.COMPS_GOODS_CD
|
|
AND CD.ITEM_CD = GC.COMPS_GOODS_CD
|
|
|
INNER JOIN VW_STOCK VS
|
|
INNER JOIN VW_STOCK VS
|
|
|
ON CD.ITEM_CD = VS.GOODS_CD
|
|
ON CD.ITEM_CD = VS.GOODS_CD
|
|
|
- AND CD.OPT_CD = VS.OPT_CD
|
|
|
|
|
|
|
+ AND CD.OPT_CD = VS.OPT_CD
|
|
|
WHERE 1=1
|
|
WHERE 1=1
|
|
|
- AND C.CART_GB = 'G026_BC'
|
|
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
|
|
|
|
+ AND C.CART_GB = 'G026_BC'
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="custNo == 0">
|
|
<if test="custNo == 0">
|
|
|
- AND C.CUST_NO = 0
|
|
|
|
|
- AND C.JSESSION_ID = #{jsessionId}
|
|
|
|
|
|
|
+ AND C.CUST_NO = 0
|
|
|
|
|
+ AND C.JSESSION_ID = #{jsessionId}
|
|
|
</if>
|
|
</if>
|
|
|
<if test="custNo != 0">
|
|
<if test="custNo != 0">
|
|
|
- AND C.CUST_NO = #{custNo}
|
|
|
|
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
</if>
|
|
</if>
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
SELECT C.CART_SQ
|
|
SELECT C.CART_SQ
|
|
|
- , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY THEN 'N'
|
|
|
|
|
|
|
+ , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY AND G.GOODS_STAT != 'G008_70' THEN 'N'
|
|
|
ELSE 'Y' END AS SOLDOUT_YN
|
|
ELSE 'Y' END AS SOLDOUT_YN
|
|
|
|
|
+ , CASE WHEN G.GOODS_STAT != 'G008_90' AND G.GOODS_STAT != 'G008_70' THEN 'N'
|
|
|
|
|
+ ELSE 'Y' END AS ORD_CAN_YN
|
|
|
FROM TB_CART C
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
ON C.CART_SQ = CD.CART_SQ
|
|
ON C.CART_SQ = CD.CART_SQ
|
|
@@ -627,7 +657,6 @@
|
|
|
AND CD.OPT_CD = VS.OPT_CD
|
|
AND CD.OPT_CD = VS.OPT_CD
|
|
|
WHERE 1=1
|
|
WHERE 1=1
|
|
|
AND C.CART_GB = 'G026_BC'
|
|
AND C.CART_GB = 'G026_BC'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
|
|
AND G.SELF_MALL_YN = 'Y'
|
|
AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="custNo == 0">
|
|
<if test="custNo == 0">
|
|
|
AND C.CUST_NO = 0
|
|
AND C.CUST_NO = 0
|
|
@@ -640,14 +669,10 @@
|
|
|
GROUP BY A.CART_SQ
|
|
GROUP BY A.CART_SQ
|
|
|
) STOCK
|
|
) STOCK
|
|
|
ON C.CART_SQ = STOCK.CART_SQ
|
|
ON C.CART_SQ = STOCK.CART_SQ
|
|
|
- LEFT OUTER JOIN TB_CUSTOMER CT
|
|
|
|
|
- ON C.CUST_NO = CT.CUST_NO
|
|
|
|
|
- LEFT OUTER JOIN TB_GOODS_ORDER_GRADE GOG
|
|
|
|
|
- ON G.GOODS_CD = GOG.GOODS_CD
|
|
|
|
|
LEFT OUTER JOIN TB_GOODS_QUICK_DELEVERY_SKIP GQDS
|
|
LEFT OUTER JOIN TB_GOODS_QUICK_DELEVERY_SKIP GQDS
|
|
|
ON G.GOODS_CD = GQDS.GOODS_CD
|
|
ON G.GOODS_CD = GQDS.GOODS_CD
|
|
|
WHERE G.SELF_MALL_YN = 'Y'
|
|
WHERE G.SELF_MALL_YN = 'Y'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
|
|
|
|
+ AND G.GOODS_STAT <![CDATA[ <> ]]> 'G008_99'
|
|
|
<if test="custNo == 0">
|
|
<if test="custNo == 0">
|
|
|
AND C.CUST_NO = 0
|
|
AND C.CUST_NO = 0
|
|
|
AND C.JSESSION_ID = #{jsessionId}
|
|
AND C.JSESSION_ID = #{jsessionId}
|
|
@@ -663,12 +688,6 @@
|
|
|
</if>
|
|
</if>
|
|
|
ORDER BY G.SUPPLY_COMP_CD ) Z
|
|
ORDER BY G.SUPPLY_COMP_CD ) Z
|
|
|
WHERE 1=1
|
|
WHERE 1=1
|
|
|
- <if test="custNo != 0">
|
|
|
|
|
- AND Z.ORDER_GRADE = Z.CUST_GRADE
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="custNo == 0">
|
|
|
|
|
- AND Z.ORDER_GRADE IS NULL
|
|
|
|
|
- </if>
|
|
|
|
|
GROUP BY Z.CART_SQ
|
|
GROUP BY Z.CART_SQ
|
|
|
, Z.GOODS_CD
|
|
, Z.GOODS_CD
|
|
|
, Z.GOODS_QTY
|
|
, Z.GOODS_QTY
|
|
@@ -684,6 +703,7 @@
|
|
|
, Z.DELV_FEE
|
|
, Z.DELV_FEE
|
|
|
, Z.CART_DELV_FEE_CD
|
|
, Z.CART_DELV_FEE_CD
|
|
|
, Z.CURR_PRICE
|
|
, Z.CURR_PRICE
|
|
|
|
|
+ , Z.ORD_CAN_YN
|
|
|
, Z.PNT_PRATE
|
|
, Z.PNT_PRATE
|
|
|
, Z.PNT_MRATE
|
|
, Z.PNT_MRATE
|
|
|
, SYS_IMG_NM
|
|
, SYS_IMG_NM
|
|
@@ -869,6 +889,7 @@
|
|
|
, CA.CART_SQ
|
|
, CA.CART_SQ
|
|
|
, CA.GOODS_QTY
|
|
, CA.GOODS_QTY
|
|
|
, G.SELF_GOODS_YN
|
|
, G.SELF_GOODS_YN
|
|
|
|
|
+ , G.GOODS_STAT
|
|
|
FROM TB_CART CA
|
|
FROM TB_CART CA
|
|
|
INNER JOIN TB_GOODS G
|
|
INNER JOIN TB_GOODS G
|
|
|
ON CA.GOODS_CD = G.GOODS_CD
|
|
ON CA.GOODS_CD = G.GOODS_CD
|