매출반영.sql 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. -- 한세MK 전일자 매출반영 데이터
  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. , QT_SALE
  10. , AM_ACSALE
  11. , DS_REMARK
  12. , REG_DT
  13. )
  14. SELECT 'hsmk' AS ERP_GB
  15. , DT_SALE
  16. , TP_SALE
  17. , CD_STYLE
  18. , CD_COLOR
  19. , CD_SIZE
  20. , QT_SALE
  21. , AM_ACSALE
  22. , '' AS DS_REMARK
  23. , NOW() AS REG_DT
  24. FROM (
  25. SELECT DATE_FORMAT(O.PAY_DT,'%Y%m%d') AS DT_SALE /*판매일자*/
  26. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN '1'
  27. ELSE '2'
  28. END AS TP_SALE /*판매구분(1:판매, 2:환불)*/
  29. , ODIH.ITEM_CD AS CD_STYLE /*스타일코드*/
  30. , ODIH.OPT_CD1 AS CD_COLOR /*색상코드*/
  31. , ODIH.OPT_CD2 AS CD_SIZE /*사이즈코드*/
  32. , SUM(CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY /*판매-배송중*/
  33. ELSE ODIH.CNCL_RTN_QTY /*환입-반품완료,환입-교환완료*/
  34. END AS SIGNED INT)) AS QT_SALE /*판매수량*/
  35. , SUM(CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' /*판매-배송중*/ THEN
  36. ((ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY) * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  37. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  38. ELSE
  39. ODIH.ITEM_PRICE
  40. END))
  41. ELSE /*환입-반품완료,환입-교환완료*/
  42. (ODIH.CNCL_RTN_QTY * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  43. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  44. ELSE
  45. ODIH.ITEM_PRICE
  46. END))
  47. END AS SIGNED INT)) AS AM_ACSALE /*실판매금액*/
  48. FROM TB_ORDER_DETAIL_ITEM_HST ODIH
  49. INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
  50. INNER JOIN TB_ORDER O ON ODIH.ORD_NO = O.ORD_NO
  51. INNER JOIN TB_SUPPLY_COMPANY SC ON OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
  52. LEFT OUTER JOIN TB_EXTMALL_USAC_PRICE EUP ON ODIH.ORD_DTL_ITEM_HST_SQ = EUP.ORD_DTL_ITEM_HST_SQ
  53. WHERE 1 = 1
  54. AND ODIH.REG_DT >= DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  55. AND ODIH.REG_DT < CURRENT_DATE()
  56. AND ODIH.ORD_DTL_STAT IN ('G720_20','G720_50','G720_60') /*판매-배송중, 환입-반품완료, 환입-교환완료*/
  57. AND OD.SUPPLY_COMP_CD = 5 /*한세MK*/
  58. AND SC.DISTRIBUTION_GB IN ('G065_10','G065_11','G065_12') /*자사*/
  59. GROUP BY DATE_FORMAT(O.PAY_DT,'%Y%m%d')
  60. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN '1'
  61. ELSE '2'
  62. END
  63. , ODIH.ITEM_CD
  64. , ODIH.OPT_CD1
  65. , ODIH.OPT_CD2
  66. ) ODIH
  67. WHERE QT_SALE <> 0
  68. AND NOT EXISTS (SELECT 1
  69. FROM TB_HANSAE_SALES
  70. WHERE ERP_GB = 'hsmk'
  71. AND DT_SALE = ODIH.DT_SALE
  72. AND TP_SALE = ODIH.TP_SALE
  73. AND CD_STYLE = ODIH.CD_STYLE
  74. AND CD_COLOR = ODIH.CD_COLOR
  75. AND CD_SIZE = ODIH.CD_SIZE
  76. )
  77. ;
  78. -- 한세드림 전일자 매출반영 데이터
  79. INSERT INTO TB_HANSAE_SALES (
  80. ERP_GB
  81. , DT_SALE
  82. , TP_SALE
  83. , CD_STYLE
  84. , CD_COLOR
  85. , CD_SIZE
  86. , QT_SALE
  87. , AM_ACSALE
  88. , DS_REMARK
  89. , REG_DT
  90. )
  91. SELECT 'hsdr' AS ERP_GB
  92. , DT_SALE
  93. , TP_SALE
  94. , CD_STYLE
  95. , CD_COLOR
  96. , CD_SIZE
  97. , QT_SALE
  98. , AM_ACSALE
  99. , '' AS DS_REMARK
  100. , NOW() AS REG_DT
  101. FROM (
  102. SELECT DATE_FORMAT(O.PAY_DT,'%Y%m%d') AS DT_SALE /*판매일자*/
  103. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN '1'
  104. ELSE '2'
  105. END AS TP_SALE /*판매구분(1:판매, 2:환불)*/
  106. , ODIH.ITEM_CD AS CD_STYLE /*스타일코드*/
  107. , ODIH.OPT_CD1 AS CD_COLOR /*색상코드*/
  108. , ODIH.OPT_CD2 AS CD_SIZE /*사이즈코드*/
  109. , SUM(CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY /*판매-배송중*/
  110. ELSE ODIH.CNCL_RTN_QTY /*환입-반품완료,환입-교환완료*/
  111. END AS SIGNED INT)) AS QT_SALE /*판매수량*/
  112. , SUM(CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' /*판매-배송중*/ THEN
  113. ((ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY) * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  114. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  115. ELSE
  116. ODIH.ITEM_PRICE
  117. END))
  118. ELSE /*환입-반품완료,환입-교환완료*/
  119. (ODIH.CNCL_RTN_QTY * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  120. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  121. ELSE
  122. ODIH.ITEM_PRICE
  123. END))
  124. END AS SIGNED INT)) AS AM_ACSALE /*실판매금액*/
  125. FROM TB_ORDER_DETAIL_ITEM_HST ODIH
  126. INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
  127. INNER JOIN TB_ORDER O ON ODIH.ORD_NO = O.ORD_NO
  128. INNER JOIN TB_SUPPLY_COMPANY SC ON OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
  129. LEFT OUTER JOIN TB_EXTMALL_USAC_PRICE EUP ON ODIH.ORD_DTL_ITEM_HST_SQ = EUP.ORD_DTL_ITEM_HST_SQ
  130. WHERE 1 = 1
  131. AND ODIH.REG_DT >= DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  132. AND ODIH.REG_DT < CURRENT_DATE()
  133. AND ODIH.ORD_DTL_STAT IN ('G720_20','G720_50','G720_60') /*판매-배송중, 환입-반품완료, 환입-교환완료*/
  134. AND OD.SUPPLY_COMP_CD = 3 /*한세드림*/
  135. AND SC.DISTRIBUTION_GB IN ('G065_10','G065_11','G065_12') /*자사*/
  136. GROUP BY DATE_FORMAT(O.PAY_DT,'%Y%m%d')
  137. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN '1'
  138. ELSE '2'
  139. END
  140. , ODIH.ITEM_CD
  141. , ODIH.OPT_CD1
  142. , ODIH.OPT_CD2
  143. ) ODIH
  144. WHERE QT_SALE <> 0
  145. AND NOT EXISTS (SELECT 1
  146. FROM TB_HANSAE_SALES
  147. WHERE ERP_GB = 'hsdr'
  148. AND DT_SALE = ODIH.DT_SALE
  149. AND TP_SALE = ODIH.TP_SALE
  150. AND CD_STYLE = ODIH.CD_STYLE
  151. AND CD_COLOR = ODIH.CD_COLOR
  152. AND CD_SIZE = ODIH.CD_SIZE
  153. )
  154. ;
  155. -- 업체별 매출반영 건수
  156. SELECT ERP_GB
  157. , COUNT(*) AS CNT
  158. FROM TB_HANSAE_SALES
  159. WHERE REG_DT >= CURRENT_DATE() /*당일에 등록된 넘*/
  160. AND REG_DT < DATE_ADD(CURRENT_DATE(), INTERVAL 1 DAY) /*당일에 등록된 넘*/
  161. GROUP BY ERP_GB
  162. -- 업체별 매출반영 목록
  163. SELECT ERP_GB
  164. , DT_SALE
  165. , TP_SALE
  166. , CD_STYLE
  167. , CD_COLOR
  168. , CD_SIZE
  169. , QT_SALE
  170. , AM_ACSALE
  171. , DS_REMARK
  172. FROM TB_HANSAE_SALES
  173. WHERE REG_DT >= CURRENT_DATE() /*당일에 등록된 넘*/
  174. AND REG_DT < DATE_ADD(CURRENT_DATE(), INTERVAL 1 DAY) /*당일에 등록된 넘*/
  175. ORDER BY ERP_GB, DT_SALE, TP_SALE, CD_STYLE, CD_COLOR, CD_SIZE
  176. ;