매출반영_9월분_추출.sql 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. SELECT 'hsdr' AS ERP_GB /*한세MK:hsmk*/
  2. , DT_SALE
  3. , TP_SALE
  4. , CD_STYLE
  5. , CD_COLOR
  6. , CD_SIZE
  7. , BRAND_CD
  8. , QT_SALE
  9. , AM_ACSALE
  10. , '' AS DS_REMARK
  11. , NOW() AS REG_DT
  12. FROM (
  13. SELECT DATE_FORMAT(ODIH.REG_DT,'%Y%m%d') AS DT_SALE /*판매일자(=발생일자)*/
  14. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN '1'
  15. ELSE '2'
  16. END AS TP_SALE /*판매구분(1:판매, 2:환불)*/
  17. , SUBSTRING(ODIH.SKU_MODEL_NO,1,10) AS CD_STYLE /*ERP스타일코드*/
  18. , SUBSTRING(ODIH.SKU_MODEL_NO,11,2) AS CD_COLOR /*ERP색상코드*/
  19. , TRIM(SUBSTRING(ODIH.SKU_MODEL_NO,13,3)) AS CD_SIZE /*ERP사이즈코드*/
  20. , G.BRAND_CD /*브랜드코드*/
  21. , SUM(CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY /*판매-배송중*/
  22. ELSE ODIH.CNCL_RTN_QTY /*환입-반품완료,환입-교환완료*/
  23. END AS SIGNED INT)) AS QT_SALE /*판매수량*/
  24. , SUM(CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' /*판매-배송중*/ THEN
  25. ((ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY) * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  26. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  27. ELSE
  28. ODIH.ITEM_PRICE
  29. END))
  30. ELSE /*환입-반품완료,환입-교환완료*/
  31. (ODIH.CNCL_RTN_QTY * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  32. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  33. ELSE
  34. ODIH.ITEM_PRICE
  35. END))
  36. END AS SIGNED INT)) AS AM_ACSALE /*실판매금액*/
  37. FROM TB_ORDER_DETAIL_ITEM_HST ODIH
  38. INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
  39. INNER JOIN TB_ORDER O ON ODIH.ORD_NO = O.ORD_NO
  40. INNER JOIN TB_SUPPLY_COMPANY SC ON OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
  41. INNER JOIN TB_GOODS G ON ODIH.ITEM_CD = G.GOODS_CD
  42. LEFT OUTER JOIN TB_EXTMALL_USAC_PRICE EUP ON ODIH.ORD_DTL_ITEM_HST_SQ = EUP.ORD_DTL_ITEM_HST_SQ
  43. WHERE 1 = 1
  44. AND ODIH.REG_DT >= STR_TO_DATE('2021-09-01','%Y-%m-%d')
  45. AND ODIH.REG_DT < DATE_ADD(STR_TO_DATE('2021-09-30','%Y-%m-%d'), INTERVAL 1 DAY)
  46. AND ODIH.ORD_DTL_STAT IN ('G720_20','G720_50','G720_60') /*판매-배송중, 환입-반품완료, 환입-교환완료*/
  47. -- AND OD.SUPPLY_COMP_CD = 5 /*한세MK*/
  48. AND OD.SUPPLY_COMP_CD = 3 /*한세드림*/
  49. AND SC.DISTRIBUTION_GB IN ('G065_10','G065_11','G065_12') /*자사*/
  50. GROUP BY DATE_FORMAT(ODIH.REG_DT,'%Y%m%d')
  51. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN '1'
  52. ELSE '2'
  53. END
  54. , SUBSTRING(ODIH.SKU_MODEL_NO,1,10)
  55. , SUBSTRING(ODIH.SKU_MODEL_NO,11,2)
  56. , TRIM(SUBSTRING(ODIH.SKU_MODEL_NO,13,3))
  57. , G.BRAND_CD
  58. ) ODIH
  59. WHERE QT_SALE <> 0
  60. -- AND NOT EXISTS (SELECT 1
  61. -- FROM TB_HANSAE_SALES
  62. -- WHERE ERP_GB = #{erpGb}
  63. -- AND DT_SALE = ODIH.DT_SALE
  64. -- AND TP_SALE = ODIH.TP_SALE
  65. -- AND CD_STYLE = ODIH.CD_STYLE
  66. -- AND CD_COLOR = ODIH.CD_COLOR
  67. -- AND CD_SIZE = ODIH.CD_SIZE
  68. -- )
  69. ;