매출반영_한세드림_9월분.sql 4.8 KB

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