05.주문.sql 101 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155
  1. ##### 주문 #####
  2. -- 배송정보
  3. TRUNCATE TABLE tb_delivery_addr;
  4. ALTER TABLE tb_delivery_addr AUTO_INCREMENT = 1;
  5. INSERT INTO tb_delivery_addr (RECIP_NM, RECIP_PHNNO, RECIP_TELNO, RECIP_ZIPCODE, RECIP_BASE_ADDR, RECIP_DTL_ADDR, DELV_MEMO, OLD_ORD_NO, REG_NO, REG_DT, UPD_NO, UPD_DT)
  6. SELECT
  7. Receiver AS RECIP_NM
  8. , ReceiverCellNum AS RECIP_PHNNO
  9. , ReceiverTelNum AS RECIP_TELNO
  10. , IF(LENGTH(REPLACE(A.DeliveryPostalCode, '-', '')) > 6, NULL, REPLACE(A.DeliveryPostalCode, '-', '')) AS RECIP_ZIPCODE
  11. , CASE WHEN A.DeliveryAddr1 IS NOT NULL AND A.DeliveryAddr1 != '' THEN A.DeliveryAddr1 ELSE A.DeliveryAddrNew END AS RECIP_BASE_ADDR
  12. , A.DeliveryAddr2 AS RECIP_DTL_ADDR
  13. , A.DeliveryMemo AS DELV_MEMO
  14. , A.OrderNo AS OLD_ORD_NO
  15. , REG_NO
  16. , REG_DT
  17. , UPD_NO
  18. , UPD_DT
  19. FROM old_ord_order A, tb_order B
  20. WHERE A.OrderNo = B.ORD_NO
  21. ; -- 2분13초
  22. SELECT MAX(DELV_ADDR_SQ) FROM tb_delivery_addr;
  23. ALTER TABLE tb_delivery_addr AUTO_INCREMENT = 1522084;
  24. -- 주문상세
  25. TRUNCATE TABLE tb_order_detail;
  26. INSERT INTO tb_order_detail
  27. SELECT
  28. ORD_DTL_NO
  29. -- , ProductNo -- 삭제
  30. , ORD_NO -- 주문번호
  31. , ORD_EXCH_GB
  32. , ORD_DTL_STAT -- 주문접수
  33. , ORG_ORD_DTL_NO
  34. , SUPPLY_COMP_CD
  35. , GOODS_CD
  36. , DEAL_GOODS_CD
  37. , FORMAL_GB
  38. , GOODS_TYPE
  39. , LIST_PRICE -- 정상가
  40. , CURR_PRICE -- 현재판매가
  41. , IF(DC_RATE < 0, 0, DC_RATE) AS DC_RATE
  42. , OPT_ADD_PRICE
  43. , ORD_QTY
  44. , ORD_AMT -- 주문금액(=(현재판매가 + 옵션추가가격) * 주문수량)
  45. , CNCL_RTN_QTY -- 취소반품수량
  46. , CNCL_RTN_AMT -- 취소반품금액
  47. , CPN1_CPN_SQ -- 1차쿠폰(즉시할인쿠폰)일련번호
  48. , CPN1_DC_AMT -- 1차쿠폰(즉시할인쿠폰)할인금액
  49. , TMTB1_SQ -- 다다익선1일련번호(수량)
  50. , TMTB1_DC_AMT -- 다다익선1할인금액(수량)
  51. , TMTB2_SQ -- 다다익선2일련번호(금액)
  52. , TMTB2_DC_AMT -- 다다익선2할인금액(금액)
  53. , GOODS_CPN_SQ -- 상품쿠폰일련번호
  54. , GOODS_CPN_DC_AMT -- 상품쿠폰할인금액
  55. , CART_CPN_SQ -- 장바구니쿠폰일련번호
  56. , CASE WHEN ORDER_DETAIL_CNT > 1 AND RNK = ORDER_DETAIL_CNT
  57. THEN CouponDiscount - (
  58. SELECT SUM(CEIL(B.CouponDiscount * ((A.UnitPrice) * Qty / SUM_ORD_AMT)))
  59. FROM old_ord_order B, old_ord_orderitem A
  60. WHERE A.OrderGUID = B.OrderGUID
  61. AND B.OrderNo = X.ORD_NO
  62. ) + CART_CPN_DC_AMT
  63. ELSE CART_CPN_DC_AMT END AS CART_CPN_DC_AMT -- 장바구니쿠폰할인금액
  64. , BURDEN_RATE -- 쿠폰분담율
  65. , CASE WHEN ORDER_DETAIL_CNT > 1 AND RNK = ORDER_DETAIL_CNT
  66. THEN UsedMileage - (
  67. SELECT SUM(CEIL(B.UsedMileage * ((A.UnitPrice) * Qty / SUM_ORD_AMT)))
  68. FROM old_ord_order B, old_ord_orderitem A
  69. WHERE A.OrderGUID = B.OrderGUID
  70. AND B.OrderNo = X.ORD_NO
  71. ) + PNT_DC_AMT
  72. ELSE PNT_DC_AMT END AS PNT_DC_AMT -- 포인트할인금액 !!! 분할해야함 !!!
  73. , PRE_PNT_DC_AMT -- 선포인트할인금액
  74. , SAVE_PNT_AMT -- 적립포인트금액
  75. , REAL_ORD_AMT -- 실주문금액(주문금액 - 취소반품금액 - 1차쿠폰 - 다다익선1 - 다다익선2 - 상품쿠폰 - 장바구니쿠폰 - 포인트할인금액 - 선포인트할인금액)
  76. , CASE WHEN ORDER_DETAIL_CNT > 1 AND RNK = ORDER_DETAIL_CNT
  77. THEN TokenAmt - (
  78. SELECT SUM(CEIL(B.TokenAmt * ((A.UnitPrice) * Qty / SUM_ORD_AMT)))
  79. FROM old_ord_order B, old_ord_orderitem A
  80. WHERE A.OrderGUID = B.OrderGUID
  81. AND B.OrderNo = X.ORD_NO
  82. ) + GFCD_USE_AMT
  83. ELSE GFCD_USE_AMT END AS GFCD_USE_AMT -- 상품권사용금액
  84. , VENDOR_ID -- 외부몰벤더ID(공통코드G003)
  85. , EXTMALL_ID -- 외부몰ID(외부몰) ????
  86. , AGENT_ORDER_ID -- 에이전트주문번호 ????
  87. , EXTMALL_ORDER_ID -- 외부몰주문번호 ????
  88. , CHANGEABLE_YN -- 교환가능여부(Y:교환가능)
  89. , CHANGE_FEE_FREE_YN -- 교환배송비무료여부(Y:교환배송비무료)
  90. , RETURNABLE_YN -- 교환가능여부(Y:교환가능)
  91. , RETURN_FEE_FREE_YN -- 교환배송비무료여부(Y:교환배송비무료)
  92. , SOLDOUT_YN -- 결품여부(Y:결품)
  93. , SOLDOUT_MEMO -- 결품메모
  94. , SOLDOUT_REG_NO -- 결품등록자번호
  95. , SOLDOUT_REG_DT -- 결품등록일시
  96. , DELV_ADDR_SQ -- 배송지일련번호 마이그레이션먼저!!!
  97. , IF(DELV_FEE_CD IS NULL , 'X', DELV_FEE_CD) AS DELV_FEE_CD -- 배송비정책코드
  98. , SHOT_DELV_YN -- 총알배송여부
  99. , GIFT_PACK_YN -- 선물포장여부
  100. , GIFT_ADDR_INP_YN -- 선물주소입력여부
  101. , MAKE_GOODS_YN -- 주문제작상품여부
  102. , ENTRY_NO -- 통관번호
  103. , DELV_LOC_CD -- 출고처코드
  104. , DELV_ASSIGN_DT -- 출고지정일시
  105. , DELV_ASSIGN_STAT -- 출고지정상태
  106. , DSTRBT_NOTE -- 물류비고
  107. , DELV_STDT -- 배송시작일시
  108. , DELV_EDDT -- 배송완료일시
  109. , SHIP_COMP_CD -- 배송업체코드
  110. , INVOICE_NO -- 송장번호
  111. , INVOICE_SEND_YN -- 송장전송여부
  112. , SELL_STORE_CD -- 판매매장코드
  113. , IF((FLOOR(SELL_FEE_RATE * 100) / 100) < 0, 0, (FLOOR(SELL_FEE_RATE * 100) / 100)) AS SELL_FEE_RATE -- 판매수수료율
  114. , AF_LINK_CD -- 제휴링크코드
  115. , ITHR_CD -- 유입경로(공통코드G027)
  116. , CONTENTS_LOC -- 컨텐츠위치(공통코드G028)
  117. , PLAN_DTL_SQ -- 기획전상세번호
  118. , SOCIAL_SQ -- 소셜일련번호
  119. , NULL AS NPAY_ORD_DTL_NO
  120. , REG_NO
  121. , REG_DT
  122. , UPD_NO
  123. , UPD_DT
  124. FROM (
  125. SELECT B.OrderItemNo AS ORD_DTL_NO
  126. -- , ProductNo -- 삭제
  127. , A.OrderNo AS ORD_NO -- 주문번호
  128. , 'O' AS ORD_EXCH_GB
  129. , CASE WHEN OrderStatusCd = '결제완료' THEN 'G013_20'
  130. WHEN OrderStatusCd = '입금대기' THEN 'G013_10'
  131. WHEN OrderStatusCd = '입금취소' THEN 'G013_98'
  132. -- WHEN OrderStatusCd = '주문취소' THEN 'G013_99'
  133. ELSE 'G013_00' END AS ORD_DTL_STAT
  134. , NULL AS ORG_ORD_DTL_NO
  135. , IF((SELECT SUPPLY_COMP_CD FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'X',
  136. (SELECT SUPPLY_COMP_CD
  137. FROM tmp_tb_goods X
  138. WHERE X.PRODUCT_NO = ProductNo)) AS SUPPLY_COMP_CD
  139. , IF((SELECT GOODS_CD FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'X',
  140. (SELECT GOODS_CD FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo)) AS GOODS_CD
  141. , NULL AS DEAL_GOODS_CD
  142. , IF((SELECT FORMAL_GB FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'X',
  143. (SELECT FORMAL_GB FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo)) AS FORMAL_GB
  144. , IF((SELECT GOODS_TYPE FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'X',
  145. (SELECT GOODS_TYPE FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo)) AS GOODS_TYPE
  146. , IF((SELECT LIST_PRICE FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 0,
  147. (SELECT LIST_PRICE FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo)) AS LIST_PRICE -- 정상가
  148. , (UnitPrice + CouponPrice) AS CURR_PRICE -- 현재판매가
  149. , IF((SELECT LIST_PRICE FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 0, FLOOR(100 -
  150. ((UnitPrice + CouponPrice) /
  151. (SELECT LIST_PRICE FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) *
  152. 100))) AS DC_RATE
  153. , 0 AS OPT_ADD_PRICE
  154. , B.Qty AS ORD_QTY
  155. , (UnitPrice + CouponPrice) * B.Qty AS ORD_AMT -- 주문금액(=(현재판매가 + 옵션추가가격) * 주문수량)
  156. , 0 AS CNCL_RTN_QTY -- 취소반품수량
  157. , 0 AS CNCL_RTN_AMT -- 취소반품금액
  158. , NULL AS CPN1_CPN_SQ -- 1차쿠폰(즉시할인쿠폰)일련번호
  159. , 0 AS CPN1_DC_AMT -- 1차쿠폰(즉시할인쿠폰)할인금액
  160. , NULL AS TMTB1_SQ -- 다다익선1일련번호(수량)
  161. , 0 AS TMTB1_DC_AMT -- 다다익선1할인금액(수량)
  162. , NULL AS TMTB2_SQ -- 다다익선2일련번호(금액)
  163. , 0 AS TMTB2_DC_AMT -- 다다익선2할인금액(금액)
  164. , NULL AS GOODS_CPN_SQ -- 상품쿠폰일련번호
  165. , CouponPrice * B.Qty AS GOODS_CPN_DC_AMT -- 상품쿠폰할인금액
  166. , NULL AS CART_CPN_SQ -- 장바구니쿠폰일련번호
  167. , (SELECT SUM((UnitPrice) * Qty) FROM old_ord_orderitem X WHERE X.OrderGUID = B.OrderGUID) AS SUM_ORD_AMT -- 주문합계
  168. , CEIL(A.CouponDiscount * ((B.UnitPrice) * Qty / (SELECT SUM((UnitPrice) * Qty) FROM old_ord_orderitem X WHERE X.OrderGUID = B.OrderGUID))) AS CART_CPN_DC_AMT -- 장바구니쿠폰할인금액
  169. , 0 AS BURDEN_RATE -- 쿠폰분담율
  170. , CEIL(A.UsedMileage * ((B.UnitPrice) * Qty / (SELECT SUM((UnitPrice) * Qty) FROM old_ord_orderitem X WHERE X.OrderGUID = B.OrderGUID))) AS PNT_DC_AMT -- 포인트할인금액 !!! 분할해야함 !!!
  171. , 0 AS PRE_PNT_DC_AMT -- 선포인트할인금액
  172. , PointSubTotal AS SAVE_PNT_AMT -- 적립포인트금액
  173. , 0 AS REAL_ORD_AMT -- 실주문금액(주문금액 - 취소반품금액 - 1차쿠폰 - 다다익선1 - 다다익선2 - 상품쿠폰 - 장바구니쿠폰 - 포인트할인금액 - 선포인트할인금액)
  174. , CEIL(A.TokenAmt * ((B.UnitPrice) * Qty / (SELECT SUM((UnitPrice) * Qty) FROM old_ord_orderitem X WHERE X.OrderGUID = B.OrderGUID))) AS GFCD_USE_AMT -- 상품권사용금액
  175. , (SELECT VENDOR_ID FROM mig_extmall X WHERE X.CHANNEL_CD = A.ChannelCd) AS VENDOR_ID -- 외부몰벤더ID(공통코드G003)
  176. , (SELECT EXTMALL_ID FROM mig_extmall X WHERE X.CHANNEL_CD = A.ChannelCd) AS EXTMALL_ID -- 외부몰ID(외부몰) ????
  177. , NULL AS AGENT_ORDER_ID -- 에이전트주문번호 ????
  178. , VendorOrderNo AS EXTMALL_ORDER_ID -- 외부몰주문번호 ????
  179. , IF((SELECT CHANGEABLE_YN FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'N',
  180. (SELECT CHANGEABLE_YN
  181. FROM tmp_tb_goods X
  182. WHERE X.PRODUCT_NO = ProductNo)) AS CHANGEABLE_YN -- 교환가능여부(Y:교환가능)
  183. , IF((SELECT CHANGE_FEE_FREE_YN FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'N',
  184. (SELECT CHANGE_FEE_FREE_YN
  185. FROM tmp_tb_goods X
  186. WHERE X.PRODUCT_NO = ProductNo)) AS CHANGE_FEE_FREE_YN -- 교환배송비무료여부(Y:교환배송비무료)
  187. , IF((SELECT RETURNABLE_YN FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'N',
  188. (SELECT RETURNABLE_YN
  189. FROM tmp_tb_goods X
  190. WHERE X.PRODUCT_NO = ProductNo)) AS RETURNABLE_YN -- 교환가능여부(Y:교환가능)
  191. , IF((SELECT RETURN_FEE_FREE_YN FROM tmp_tb_goods X WHERE X.PRODUCT_NO = ProductNo) IS NULL, 'N',
  192. (SELECT RETURN_FEE_FREE_YN
  193. FROM tmp_tb_goods X
  194. WHERE X.PRODUCT_NO = ProductNo)) AS RETURN_FEE_FREE_YN -- 교환배송비무료여부(Y:교환배송비무료)
  195. , 'N' AS SOLDOUT_YN -- 결품여부(Y:결품)
  196. , NULL AS SOLDOUT_MEMO -- 결품메모
  197. , NULL AS SOLDOUT_REG_NO -- 결품등록자번호
  198. , NULL AS SOLDOUT_REG_DT -- 결품등록일시
  199. , (SELECT DELV_ADDR_SQ
  200. FROM tb_delivery_addr X
  201. WHERE X.OLD_ORD_NO = A.OrderNo) AS DELV_ADDR_SQ -- 배송지일련번호 마이그레이션먼저!!!
  202. , (SELECT DELV_FEE_CD
  203. FROM tb_delv_fee_policy X
  204. WHERE X.DELIVERY_UNIT_NO = B.DeliveryUnitNo
  205. AND X.SUPPLY_COMP_CD = (SELECT SUPPLY_COMP_CD
  206. FROM tmp_tb_goods X
  207. WHERE X.PRODUCT_NO = ProductNo)) AS DELV_FEE_CD -- 배송비정책코드
  208. , IF(DeliveryClassCd = '당일', 'Y', 'N') AS SHOT_DELV_YN -- 총알배송여부
  209. , IF(IsBeautyDelivery = 'True', 'Y', 'N') AS GIFT_PACK_YN -- 선물포장여부
  210. , 'N' AS GIFT_ADDR_INP_YN -- 선물주소입력여부
  211. , 'N' AS MAKE_GOODS_YN -- 주문제작상품여부
  212. , NULL AS ENTRY_NO -- 통관번호
  213. , CASE
  214. WHEN VendorNo IN (50, 1401, 2168, 3285, 3561) THEN NULL -- 'DL001'
  215. ELSE (SELECT DELV_LOC_CD FROM tb_delivery_loc X WHERE X.SUPPLY_COMP_CD = B.ProviderNo)
  216. END AS DELV_LOC_CD -- 출고처코드
  217. , CASE
  218. WHEN (SELECT MALL_GB FROM tb_order X WHERE ORD_NO = A.OrderNo) = 'G011_20' THEN REG_DT
  219. ELSE NULL END AS DELV_ASSIGN_DT -- 출고지정일시
  220. , CASE
  221. WHEN (SELECT MALL_GB FROM tb_order X WHERE ORD_NO = A.OrderNo) = 'G011_10' THEN 'P'
  222. ELSE 'Y' END AS DELV_ASSIGN_STAT -- 출고지정상태
  223. , NULL AS DSTRBT_NOTE -- 물류비고
  224. , NULL AS DELV_STDT -- 배송시작일시
  225. , NULL AS DELV_EDDT -- 배송완료일시
  226. , NULL AS SHIP_COMP_CD -- 배송업체코드
  227. , NULL AS INVOICE_NO -- 송장번호
  228. , 'N' AS INVOICE_SEND_YN -- 송장전송여부
  229. , NULL AS SELL_STORE_CD -- 판매매장코드
  230. , (B.MarginSubTotal / ((UnitPrice + CouponPrice) * Qty) * 100) AS SELL_FEE_RATE -- 판매수수료율
  231. , (SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.ChannelCd) AS AF_LINK_CD -- 제휴링크코드
  232. , NULL AS ITHR_CD -- 유입경로(공통코드G027)
  233. , NULL AS CONTENTS_LOC -- 컨텐츠위치(공통코드G028)
  234. , NULL AS PLAN_DTL_SQ -- 기획전상세번호
  235. , NULL AS SOCIAL_SQ -- 소셜일련번호
  236. , REG_NO
  237. , REG_DT
  238. , UPD_NO
  239. , UPD_DT
  240. , COUNT(1) OVER (PARTITION BY A.OrderNo) AS ORDER_DETAIL_CNT
  241. , RANK() over (PARTITION BY A.OrderNo ORDER BY OrderItemNo) AS RNK
  242. , A.CouponDiscount
  243. , A.UsedMileage
  244. , A.TokenAmt
  245. FROM old_ord_order A,
  246. tb_order C,
  247. old_ord_orderitem B
  248. WHERE A.OrderNo = C.ORD_NO
  249. AND A.OrderGUID = B.OrderGUID
  250. AND A.ItemTotal > 0
  251. AND B.UnitPrice > 0
  252. ) X
  253. ; --
  254. UPDATE tb_order_detail
  255. SET REAL_ORD_AMT = (ORD_AMT - CNCL_RTN_AMT - GOODS_CPN_DC_AMT - CART_CPN_DC_AMT - PNT_DC_AMT - GFCD_USE_AMT)
  256. WHERE ORD_DTL_NO > 1000
  257. ;
  258. -- 제휴링크 옛날거는 기타로
  259. UPDATE TB_ORDER_DETAIL
  260. SET AF_LINK_CD = 'AF999'
  261. WHERE EXTMALL_ID IS NULL
  262. AND AF_LINK_CD IS NULL
  263. ;
  264. SELECT MAX(ORD_DTL_NO) FROM tb_order_detail;
  265. ALTER TABLE tb_order_detail AUTO_INCREMENT = 57317460;
  266. -- 주문상세단품
  267. TRUNCATE TABLE tb_order_detail_item;
  268. INSERT INTO tb_order_detail_item (ORD_DTL_NO, ORD_NO, ITEM_CD, OPT_CD, OPT_CD1, OPT_CD2, SKU_MODEL_NO, PRODUCT_NO, PRODUCT_CODE, ITEM_QTY, ITEM_PRICE, OPT_ADD_PRICE, DISP_ORD, ORD_AMT, CNCL_RTN_AMT, CPN1_DC_AMT, TMTB1_DC_AMT, TMTB2_DC_AMT, GOODS_CPN_DC_AMT, CART_CPN_DC_AMT, PNT_DC_AMT, PRE_PNT_DC_AMT, SAVE_PNT_AMT, REAL_ORD_AMT, GFCD_USE_AMT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  269. SELECT A.ORD_DTL_NO
  270. , A.ORD_NO
  271. , A.GOODS_CD
  272. , B.SKUCode AS OPT_CD
  273. , (SELECT OPT_CD1 FROM tb_option X WHERE X.GOODS_CD = A.GOODS_CD AND X.OPT_CD = B.SKUCode) AS OPT_CD1
  274. , (SELECT OPT_CD2 FROM tb_option X WHERE X.GOODS_CD = A.GOODS_CD AND X.OPT_CD = B.SKUCode) AS OPT_CD2
  275. , B.SKUModelNo
  276. , B.ProductNo
  277. , B.ProductCode
  278. , B.Qty
  279. , B.CouponDiscountPrice + B.CouponPrice AS ITEM_PRICE
  280. , 0 AS OPT_ADD_PRICE
  281. , 1 AS DISP_ORD
  282. , ORD_AMT
  283. , CNCL_RTN_AMT
  284. , CPN1_DC_AMT
  285. , TMTB1_DC_AMT
  286. , TMTB2_DC_AMT
  287. , GOODS_CPN_DC_AMT
  288. , CART_CPN_DC_AMT
  289. , PNT_DC_AMT
  290. , PRE_PNT_DC_AMT
  291. , SAVE_PNT_AMT
  292. , REAL_ORD_AMT
  293. , GFCD_USE_AMT
  294. , REG_NO
  295. , REG_DT
  296. , UPD_NO
  297. , UPD_DT
  298. FROM tb_order_detail A, old_ord_orderitem B
  299. WHERE A.ORD_DTL_NO = B.OrderItemNo
  300. ; --
  301. -- 주문상세이력
  302. TRUNCATE TABLE tb_order_detail_hst;
  303. ALTER TABLE tb_order_detail_hst AUTO_INCREMENT = 1;
  304. INSERT INTO tb_order_detail_hst (ORD_DTL_NO, ORD_NO, ORD_EXCH_GB, ORD_DTL_STAT, ORG_ORD_DTL_NO, SUPPLY_COMP_CD, GOODS_CD, DEAL_GOODS_CD, FORMAL_GB, GOODS_TYPE, LIST_PRICE, CURR_PRICE, DC_RATE, OPT_ADD_PRICE, ORD_QTY, ORD_AMT, CNCL_RTN_QTY, CNCL_RTN_AMT, CPN1_CPN_SQ, CPN1_DC_AMT, TMTB1_SQ, TMTB1_DC_AMT, TMTB2_SQ, TMTB2_DC_AMT, GOODS_CPN_SQ, GOODS_CPN_DC_AMT, CART_CPN_SQ, CART_CPN_DC_AMT, BURDEN_RATE, PNT_DC_AMT, PRE_PNT_DC_AMT, SAVE_PNT_AMT, REAL_ORD_AMT, GFCD_USE_AMT, VENDOR_ID, EXTMALL_ID, AGENT_ORDER_ID, EXTMALL_ORDER_ID, CHANGEABLE_YN, CHANGE_FEE_FREE_YN, RETURNABLE_YN, RETURN_FEE_FREE_YN, SOLDOUT_YN, SOLDOUT_MEMO, SOLDOUT_REG_NO, SOLDOUT_REG_DT, DELV_ADDR_SQ, DELV_FEE_CD, SHOT_DELV_YN, GIFT_PACK_YN, GIFT_ADDR_INP_YN, MAKE_GOODS_YN, ENTRY_NO, DELV_LOC_CD, DELV_ASSIGN_DT, DELV_ASSIGN_STAT, DSTRBT_NOTE, DELV_STDT, DELV_EDDT, SHIP_COMP_CD, INVOICE_NO, INVOICE_SEND_YN, SELL_STORE_CD, SELL_FEE_RATE, AF_LINK_CD, ITHR_CD, CONTENTS_LOC, PLAN_DTL_SQ, SOCIAL_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  305. SELECT * FROM tb_order_detail
  306. ;
  307. /*
  308. -- 주문상세단품이력
  309. TRUNCATE TABLE tb_order_detail_item_hst;
  310. ALTER TABLE tb_order_detail_item_hst AUTO_INCREMENT = 1;
  311. INSERT INTO tb_order_detail_item_hst (ORD_DTL_ITEM_SQ, ORD_DTL_NO, ORD_NO, ITEM_CD, OPT_CD, OPT_CD1, OPT_CD2, SKU_MODEL_NO, PRODUCT_NO, PRODUCT_CODE, ITEM_QTY, ITEM_PRICE, OPT_ADD_PRICE, DISP_ORD, ORD_AMT, CNCL_RTN_AMT, CPN1_DC_AMT, TMTB1_DC_AMT, TMTB2_DC_AMT, GOODS_CPN_DC_AMT, CART_CPN_DC_AMT, PNT_DC_AMT, PRE_PNT_DC_AMT, SAVE_PNT_AMT, REAL_ORD_AMT, GFCD_USE_AMT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  312. SELECT ORD_DTL_ITEM_SQ, ORD_DTL_NO, ORD_NO, ITEM_CD, OPT_CD, OPT_CD1, OPT_CD2, SKU_MODEL_NO, PRODUCT_NO, PRODUCT_CODE, ITEM_QTY, ITEM_PRICE, OPT_ADD_PRICE, DISP_ORD, ORD_AMT, CNCL_RTN_AMT, CPN1_DC_AMT, TMTB1_DC_AMT, TMTB2_DC_AMT, GOODS_CPN_DC_AMT, CART_CPN_DC_AMT, PNT_DC_AMT, PRE_PNT_DC_AMT, SAVE_PNT_AMT, REAL_ORD_AMT, GFCD_USE_AMT, REG_NO, REG_DT, UPD_NO, UPD_DT
  313. FROM tb_order_detail_item
  314. ;
  315. */
  316. -- 결제정보
  317. TRUNCATE TABLE tb_payment;
  318. INSERT INTO tb_payment
  319. SELECT
  320. PaymentNo AS PAY_SQ
  321. , ORD_NO
  322. , DatePaid AS PAY_DT
  323. , CASE WHEN C.MALL_GB = 'G011_20' THEN 'G014_90'
  324. WHEN A.PaymentTypeCd = '신용카드' THEN 'G014_30'
  325. WHEN A.PaymentTypeCd = '휴대폰' THEN 'G014_60'
  326. WHEN A.PaymentTypeCd = '상품권' THEN 'G014_70'
  327. WHEN A.PaymentTypeCd = '즉시이체' THEN 'G014_10'
  328. WHEN A.PaymentTypeCd = '가상계좌' THEN 'G014_20'
  329. WHEN A.PaymentTypeCd = '네이버포인트' THEN 'G014_80'
  330. ELSE 'G014_30' END AS PAY_MEANS
  331. , Amount AS PAY_AMT
  332. , 0 AS PG_CPN_AMT
  333. , CASE WHEN A.PaymentTypeCd = '네이버포인트' THEN A.PGAmount
  334. ELSE 0 END AS NPAY_PNT_AMT
  335. , 'O' AS PAY_GB
  336. , CASE WHEN B.OrderStatusCd IN ('입금대기','입금취소') THEN 'G016_10' -- 입금취소건은 나중에 결제취소로 하나더 쌓아줘야함
  337. ELSE 'G016_30' -- 결제완료,주문취소 -- 주문취소건은 나중에 결제취소로 하나더 쌓아줘야함
  338. END AS PAY_STAT
  339. , CASE WHEN C.MALL_GB = 'G011_20' THEN NULL -- 외부몰
  340. WHEN B.PGType = 'KCP' THEN 'KCP'
  341. WHEN B.PGType = 'NPay' THEN 'NAVER'
  342. WHEN B.PGType = 'PAYCO' THEN 'PAYCO'
  343. ELSE 'ISTYLE' END AS PAY_GB
  344. , IF(PGTid = '', NULL, PGTid) AS PG_TID
  345. , IF((SELECT AuthCode FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) = '', NULL, (SELECT AuthCode FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1)) AS PG_TRADE_NO
  346. , CASE WHEN B.PGType = 'NPay' THEN '8TSWSyJMMUvOLKUySQx6'
  347. WHEN B.PGType IN ('KCP','PAYCO') THEN 'U3476'
  348. ELSE NULL END PG_SHOP_ID
  349. , CASE WHEN B.PGType = 'NPay' THEN 'oGXnO7cMD1'
  350. ELSE NULL END AS PG_SHOP_KEY
  351. , NULL AS CARD_TYPE
  352. , NULL AS CARD_KIND
  353. , NULL AS CARD_BANK
  354. , IF((SELECT CardCode FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) = '', NULL, (SELECT CardCode FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1)) AS CARD_CD
  355. , (SELECT Y.CARD_NM FROM old_ord_pglog X, tb_pg_card Y
  356. WHERE Y.PG_GB = (CASE WHEN B.PGType IN ('KCP','PAYCO') THEN 'KCP' WHEN B.PGType = 'NPay' THEN 'NAVER' ELSE NULL END)
  357. AND X.CardCode = Y.CARD_CD
  358. AND X.PaymentNo = A.PaymentNo
  359. ) AS CARD_NM
  360. , (SELECT Y.COM_CARD_CD FROM old_ord_pglog X, tb_pg_card Y
  361. WHERE Y.PG_GB = (CASE WHEN B.PGType IN ('KCP','PAYCO') THEN 'KCP' WHEN B.PGType = 'NPay' THEN 'NAVER' ELSE NULL END)
  362. AND X.CardCode = Y.CARD_CD
  363. AND X.PaymentNo = A.PaymentNo
  364. ) AS COM_CARD_CD
  365. , IF((SELECT CardQuota FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) = '', NULL, (SELECT CardQuota FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1)) AS CARD_MIPS
  366. , CASE WHEN A.PaymentTypeCd = '휴대폰' THEN 'N' ELSE 'Y' END AS CARD_PCABLE_YN
  367. , (SELECT Vacct FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) AS VA_NO
  368. , (SELECT NmVacct FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) AS VA_NM
  369. , (SELECT Vcdbank FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) AS VA_BANK
  370. , DATE_FORMAT(CONCAT(DATE_FORMAT(DATE_ADD(B.DateOrdered, INTERVAL 2 DAY), '%Y%m%d'), '235959'), '%Y-%m-%d %H:%s:%i') AS VA_DEADLINE
  371. , IF((SELECT MobileCompanyCode FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1) = '', NULL, (SELECT MobileCompanyCode FROM old_ord_pglog X WHERE X.PaymentNo = A.PaymentNo LIMIT 1)) AS TELECOM
  372. , 'N' AS ESCROW_YN
  373. , (SELECT ApprovalNum FROM old_ord_cashreceiptlog X WHERE X.PaymentNo = A.PaymentNo AND ApprovalNum IS NOT NULL AND ApprovalNum != '' AND CashReceiptType != '상품권' LIMIT 1) AS CASH_AUTH_NO
  374. , (SELECT Tno FROM old_ord_cashreceiptlog X WHERE X.PaymentNo = A.PaymentNo AND ApprovalNum IS NOT NULL AND ApprovalNum != '' AND CashReceiptType != '상품권' LIMIT 1) AS CASH_TRADE_NO
  375. , NULL AS ORD_CHG_SQ
  376. , C.REG_NO
  377. , C.REG_DT
  378. , C.UPD_NO
  379. , C.UPD_DT
  380. FROM old_ord_payment A, old_ord_order B, tb_order C
  381. WHERE A.OrderGUID = B.OrderGUID
  382. AND B.OrderNo = C.ORD_NO
  383. AND OrderStatusCd != '주문접수'
  384. ; -- 14분20초
  385. SELECT MAX(PAY_SQ) FROM tb_payment;
  386. ALTER TABLE tb_payment AUTO_INCREMENT = 13089188;
  387. -- 원주문배송비
  388. TRUNCATE TABLE tb_delivery_fee;
  389. ALTER TABLE tb_delivery_fee AUTO_INCREMENT = 1;
  390. INSERT INTO tb_delivery_fee (PAY_SQ, ORD_NO, DELV_FEE_GB, DELV_FEE_CD, DELV_FEE, DELV_CPN_SQ, DELV_CPN_DC_AMT, REAL_DELV_AMT, ORD_CHG_SQ, SUPPLY_COMP_CD, DELV_USAC_YN, DELV_USAC_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  391. SELECT
  392. DISTINCT
  393. (SELECT PAY_SQ FROM tb_payment X WHERE X.ORD_NO = C.ORD_NO) AS PAY_SQ
  394. , C.ORD_NO
  395. , 'G018_10' AS DELV_FEE_GB
  396. , C.DELV_FEE_CD
  397. , DeliveryCost AS DELV_FEE
  398. , NULL AS DELV_CPN_SQ
  399. , 0 AS DELV_CPN_DC_AMT
  400. , DeliveryCost AS REAL_DELV_AMT
  401. , NULL AS ORD_CHG_SQ
  402. , C.SUPPLY_COMP_CD
  403. , 'N' AS DELV_USAC_YN
  404. , NULL AS DELV_USAC_DT
  405. , C.REG_NO
  406. , C.REG_DT
  407. , C.REG_NO AS UPD_NO
  408. , C.REG_DT AS UPD_DT
  409. FROM old_ord_orderdelivery A, old_ord_orderitem B, tb_order_detail C
  410. WHERE A.OrderGUID = B.OrderGUID
  411. AND A.DeliveryUnitNo = B.DeliveryUnitNo
  412. AND B.OrderItemNo = C.ORD_DTL_NO
  413. ;
  414. SELECT MAX(DELV_FEE_SQ) FROM tb_delivery_fee;
  415. ALTER TABLE tb_delivery_fee AUTO_INCREMENT = 4078196;
  416. -- 상품권현금영수증
  417. TRUNCATE TABLE TB_GIFTCARD_RECEIPT;
  418. INSERT INTO TB_GIFTCARD_RECEIPT
  419. SELECT
  420. ORD_NO
  421. , TRADE_NO
  422. , AUTH_NO
  423. , AMT
  424. , REG_DT
  425. , REG_DT AS UPD_DT
  426. FROM (
  427. SELECT
  428. B.ORD_NO
  429. , A.Tno AS TRADE_NO
  430. , A.ApprovalNum AS AUTH_NO
  431. , A.Amount AS AMT
  432. , A.DateCreated AS REG_DT
  433. , RANK() over (PARTITION BY PaymentNo ORDER BY DateCreated) AS RNK
  434. FROM old_ord_cashreceiptlog A, tb_payment B
  435. WHERE A.PaymentNo = B.PAY_SQ
  436. AND A.CashReceiptType = '상품권'
  437. AND ApprovalNum IS NOT NULL
  438. AND ApprovalNum != ''
  439. AND RegCd = '0000'
  440. ) A
  441. WHERE RNK = 1
  442. ;
  443. -- 송장
  444. TRUNCATE TABLE TB_ORDER_DETAIL_INVOICE;
  445. ALTER TABLE TB_ORDER_DETAIL_INVOICE AUTO_INCREMENT = 1;
  446. INSERT INTO TB_ORDER_DETAIL_INVOICE (ORD_NO, ORD_DTL_NO, INVOICE_NO, ADD_INVOICE_YN, SWT_TRC_SEND_YN, DEL_YN, REG_NO, REG_DT, UPD_NO, UPD_DT)
  447. SELECT C.ORD_NO
  448. , C.ORD_DTL_NO
  449. -- (SELECT ORD_NO FROM OLD_ORD_ORDERITEM X WHERE X.ORDERITEMNO = )
  450. -- , (SELECT OrderItemNo FROM old_ord_deliveryorderitem X WHERE X.DELIVERYORDERITEMNO)
  451. , A.InvoiceNo AS INVOICE_NO
  452. , 'N' AS ADD_INVOICE_YN
  453. , 'N' AS SWT_TRC_SEND_YN
  454. , 'N' AS DEL_YN
  455. , 2 AS REG_NO
  456. , A.DateFirstCreated AS REG_DT
  457. , 2 AS UPD_NO
  458. , A.DateFirstCreated AS UPD_DT
  459. FROM old_ord_deliveryinvoice A,
  460. old_ord_deliveryorderitem B,
  461. tb_order_detail C
  462. WHERE A.DeliveryOrderItemNo = B.DeliveryOrderItemNo
  463. AND B.OrderItemNo = C.ORD_DTL_NO
  464. AND A.InvoiceNo REGEXP('^[0-9]+$')
  465. AND B.IssueTypeCd = '정상'
  466. -- LIMIT 1000000
  467. -- LIMIT 1000000, 1000000
  468. -- LIMIT 2000000, 1000000
  469. -- LIMIT 3000000, 1000000
  470. LIMIT 4000000, 1000000
  471. ;
  472. /*
  473. INSERT INTO TB_ORDER_DETAIL_INVOICE (ORD_NO, ORD_DTL_NO, INVOICE_NO, ADD_INVOICE_YN, SWT_TRC_SEND_YN, DEL_YN, REG_NO, REG_DT, UPD_NO, UPD_DT)
  474. SELECT
  475. ORD_NO
  476. , ORD_DTL_NO
  477. , INVOICE_NO
  478. , ADD_INVOICE_YN
  479. , SWT_TRC_SEND_YN
  480. , DEL_YN
  481. , REG_NO
  482. , REG_DT
  483. , UPD_NO
  484. , UPD_DT
  485. FROM (
  486. SELECT C.ORD_NO
  487. , C.ORD_DTL_NO
  488. , A.InvoiceNo AS INVOICE_NO
  489. , 'N' AS ADD_INVOICE_YN
  490. , 'N' AS SWT_TRC_SEND_YN
  491. , 'N' AS DEL_YN
  492. , 2 AS REG_NO
  493. , A.DateFirstCreated AS REG_DT
  494. , 2 AS UPD_NO
  495. , A.DateFirstCreated AS UPD_DT
  496. , RANK() over (PARTITION BY C.ORD_NO, C.ORD_DTL_NO ORDER BY A.ItemNo DESC) AS RNK
  497. FROM old_ord_deliveryinvoice A,
  498. old_ord_deliveryorderitem B,
  499. tb_order_detail C
  500. WHERE A.DeliveryOrderItemNo = B.DeliveryOrderItemNo
  501. AND B.OrderItemNo = C.ORD_DTL_NO
  502. AND A.InvoiceNo REGEXP('^[0-9]+$')
  503. AND B.IssueTypeCd = '정상'
  504. ) A2
  505. WHERE RNK = 1
  506. ; -- 4분40초*/
  507. SELECT MAX(ORD_INVOICE_SQ) FROM TB_ORDER_DETAIL_INVOICE;
  508. ALTER TABLE TB_ORDER_DETAIL_INVOICE AUTO_INCREMENT = 3982636;
  509. -- 주문상세 배송관련 업데이트
  510. UPDATE tb_order_detail X
  511. SET DELV_STDT = (
  512. SELECT IFNULL(DateSent, A.DateFirstCreated) FROM old_ord_deliveryinvoice A, old_ord_deliveryorderitem B WHERE A.DeliveryOrderItemNo = B.DeliveryOrderItemNo AND A.InvoiceNo REGEXP('^[0-9]+$') AND B.IssueTypeCd = '정상' AND OrderItemNo = X.ORD_DTL_NO ORDER BY A.ItemNo DESC LIMIT 1
  513. )
  514. , DELV_EDDT = (
  515. SELECT DateReceived FROM old_ord_deliveryinvoice A, old_ord_deliveryorderitem B WHERE A.DeliveryOrderItemNo = B.DeliveryOrderItemNo AND A.InvoiceNo REGEXP('^[0-9]+$') AND B.IssueTypeCd = '정상' AND OrderItemNo = X.ORD_DTL_NO ORDER BY A.ItemNo DESC LIMIT 1
  516. )
  517. , SHIP_COMP_CD = (
  518. SELECT (CASE WHEN
  519. (SELECT SHIP_COMP_CD
  520. FROM tb_ship_company
  521. WHERE SHIP_COMP_CD = CASE
  522. WHEN LENGTH(LogisticsNo) = 1 THEN CONCAT('D100', LogisticsNo)
  523. WHEN LENGTH(LogisticsNo) = 2 THEN CONCAT('D10', LogisticsNo)
  524. ELSE CONCAT('D1', LogisticsNo) END)
  525. IN ('D1013', 'D1018') THEN 'D1029' -- CJ대한통운
  526. ELSE (SELECT SHIP_COMP_CD
  527. FROM tb_ship_company
  528. WHERE SHIP_COMP_CD = CASE
  529. WHEN LENGTH(LogisticsNo) = 1 THEN CONCAT('D100', LogisticsNo)
  530. WHEN LENGTH(LogisticsNo) = 2 THEN CONCAT('D10', LogisticsNo)
  531. ELSE CONCAT('D1', LogisticsNo) END)
  532. END
  533. )
  534. FROM old_ord_deliveryinvoice A, old_ord_deliveryorderitem B
  535. WHERE A.DeliveryOrderItemNo = B.DeliveryOrderItemNo AND A.InvoiceNo REGEXP('^[0-9]+$') AND B.IssueTypeCd = '정상'
  536. AND OrderItemNo = X.ORD_DTL_NO ORDER BY A.ItemNo DESC LIMIT 1
  537. )
  538. , INVOICE_NO = (
  539. SELECT INVOICE_NO
  540. FROM tb_order_detail_invoice A
  541. WHERE A.ORD_DTL_NO = X.ORD_DTL_NO
  542. AND A.ORD_NO = X.ORD_NO
  543. ORDER BY A.REG_DT DESC
  544. LIMIT 1
  545. )
  546. , DELV_LOC_CD = (
  547. SELECT A.DELV_LOC_CD
  548. FROM tb_delivery_loc A
  549. WHERE A.SUPPLY_COMP_CD = X.SUPPLY_COMP_CD
  550. LIMIT 1
  551. )
  552. WHERE 1 = 1
  553. AND ORD_NO > 10000
  554. ; -- 29분3초
  555. UPDATE tb_order_detail
  556. SET DELV_STDT = DELV_EDDT
  557. WHERE ORD_DTL_STAT = 'G013_20'
  558. AND INVOICE_NO IS NOT NULL
  559. AND DELV_STDT IS NULL
  560. AND ORD_NO > 10000
  561. ; -- 31초
  562. -- 배송중으로 업데이트
  563. UPDATE tb_order_detail A
  564. SET ORD_DTL_STAT = 'G013_50'
  565. -- , UPD_NO = 0 -- 배치
  566. , UPD_DT = DELV_STDT
  567. WHERE ORD_DTL_STAT = 'G013_20'
  568. AND INVOICE_NO IS NOT NULL
  569. AND ORD_NO > 10000
  570. ; -- 3분32초
  571. -- 주문상세이력
  572. /*
  573. INSERT INTO tb_order_detail_hst (ORD_DTL_NO, ORD_NO, ORD_EXCH_GB, ORD_DTL_STAT, ORG_ORD_DTL_NO, SUPPLY_COMP_CD, GOODS_CD, DEAL_GOODS_CD, FORMAL_GB, GOODS_TYPE, LIST_PRICE, CURR_PRICE, DC_RATE, OPT_ADD_PRICE, ORD_QTY, ORD_AMT, CNCL_RTN_QTY, CNCL_RTN_AMT, CPN1_CPN_SQ, CPN1_DC_AMT, TMTB1_SQ, TMTB1_DC_AMT, TMTB2_SQ, TMTB2_DC_AMT, GOODS_CPN_SQ, GOODS_CPN_DC_AMT, CART_CPN_SQ, CART_CPN_DC_AMT, BURDEN_RATE, PNT_DC_AMT, PRE_PNT_DC_AMT, SAVE_PNT_AMT, REAL_ORD_AMT, GFCD_USE_AMT, VENDOR_ID, EXTMALL_ID, AGENT_ORDER_ID, EXTMALL_ORDER_ID, CHANGEABLE_YN, CHANGE_FEE_FREE_YN, RETURNABLE_YN, RETURN_FEE_FREE_YN, SOLDOUT_YN, SOLDOUT_MEMO, SOLDOUT_REG_NO, SOLDOUT_REG_DT, DELV_ADDR_SQ, DELV_FEE_CD, SHOT_DELV_YN, GIFT_PACK_YN, GIFT_ADDR_INP_YN, MAKE_GOODS_YN, ENTRY_NO, DELV_LOC_CD, DELV_ASSIGN_DT, DELV_ASSIGN_STAT, DSTRBT_NOTE, DELV_STDT, DELV_EDDT, SHIP_COMP_CD, INVOICE_NO, INVOICE_SEND_YN, SELL_STORE_CD, SELL_FEE_RATE, AF_LINK_CD, ITHR_CD, CONTENTS_LOC, PLAN_DTL_SQ, SOCIAL_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  574. SELECT * FROM tb_order_detail
  575. WHERE ORD_DTL_STAT = 'G013_50'
  576. ;
  577. */
  578. -- 배송완료로 업데이트
  579. UPDATE tb_order_detail A
  580. SET ORD_DTL_STAT = 'G013_60'
  581. -- , UPD_NO = 0 -- 배치
  582. , UPD_DT = DELV_EDDT
  583. WHERE ORD_DTL_STAT = 'G013_50'
  584. AND INVOICE_NO IS NOT NULL
  585. AND DELV_EDDT IS NOT NULL
  586. AND ORD_NO > 10000
  587. ; -- 3분37초
  588. -- 구매확정처리
  589. -- Table : TB_ORD_DeliveryOrderItem
  590. -- Column : IsConfirmed
  591. /*
  592. UPDATE tb_order_detail A, old_ord_deliveryorderitem B
  593. SET ORD_DTL_STAT = 'G013_70'
  594. WHERE A.ORD_DTL_NO = B.OrderItemNo
  595. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98')
  596. AND B.IsConfirmed = 'True'
  597. ;
  598. */
  599. UPDATE tb_order_detail A, old_ord_deliveryorderitem B
  600. SET ORD_DTL_STAT = 'G013_70'
  601. WHERE A.ORD_DTL_NO = B.OrderItemNo
  602. AND ORD_DTL_STAT != 'G013_70'
  603. AND B.IsConfirmed = 'True'
  604. ;
  605. -- 주문상세이력
  606. /*
  607. INSERT INTO tb_order_detail_hst (ORD_DTL_NO, ORD_NO, ORD_EXCH_GB, ORD_DTL_STAT, ORG_ORD_DTL_NO, SUPPLY_COMP_CD, GOODS_CD, DEAL_GOODS_CD, FORMAL_GB, GOODS_TYPE, LIST_PRICE, CURR_PRICE, DC_RATE, OPT_ADD_PRICE, ORD_QTY, ORD_AMT, CNCL_RTN_QTY, CNCL_RTN_AMT, CPN1_CPN_SQ, CPN1_DC_AMT, TMTB1_SQ, TMTB1_DC_AMT, TMTB2_SQ, TMTB2_DC_AMT, GOODS_CPN_SQ, GOODS_CPN_DC_AMT, CART_CPN_SQ, CART_CPN_DC_AMT, BURDEN_RATE, PNT_DC_AMT, PRE_PNT_DC_AMT, SAVE_PNT_AMT, REAL_ORD_AMT, GFCD_USE_AMT, VENDOR_ID, EXTMALL_ID, AGENT_ORDER_ID, EXTMALL_ORDER_ID, CHANGEABLE_YN, CHANGE_FEE_FREE_YN, RETURNABLE_YN, RETURN_FEE_FREE_YN, SOLDOUT_YN, SOLDOUT_MEMO, SOLDOUT_REG_NO, SOLDOUT_REG_DT, DELV_ADDR_SQ, DELV_FEE_CD, SHOT_DELV_YN, GIFT_PACK_YN, GIFT_ADDR_INP_YN, MAKE_GOODS_YN, ENTRY_NO, DELV_LOC_CD, DELV_ASSIGN_DT, DELV_ASSIGN_STAT, DSTRBT_NOTE, DELV_STDT, DELV_EDDT, SHIP_COMP_CD, INVOICE_NO, INVOICE_SEND_YN, SELL_STORE_CD, SELL_FEE_RATE, AF_LINK_CD, ITHR_CD, CONTENTS_LOC, PLAN_DTL_SQ, SOCIAL_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  608. SELECT * FROM tb_order_detail
  609. WHERE ORD_DTL_STAT = 'G013_60'
  610. ;
  611. */
  612. -- 입금대기->취소
  613. TRUNCATE TABLE tb_order_change;
  614. ALTER TABLE tb_order_change AUTO_INCREMENT = 1;
  615. INSERT INTO tb_order_change (CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO)
  616. SELECT
  617. 'G680_10' AS CHG_GB
  618. , 'G686_10' AS CHG_REASON
  619. , NULL AS CHG_MEMO
  620. , NULL AS WD_GB
  621. , NULL AS CHGER_NM
  622. , NULL AS CHGER_PHNNO
  623. , NULL AS CHGER_TELNO
  624. , NULL AS CHGER_EMAIL
  625. , NULL AS CHGER_ZIPCODE
  626. , NULL AS CHGER_BASE_ADDR
  627. , NULL AS CHGER_DTL_ADDR
  628. , NULL AS CHGER_RTN_MEMO
  629. , 0 AS ADD_PAY_COST
  630. , 0 AS ADD_PAY_AMT
  631. , NULL AS WD_INVOICE_NO
  632. , 'N' AS WD_INVOICE_SEND_YN
  633. , NULL AS SHIP_COMP_CD
  634. , NULL AS WD_STDT
  635. , NULL AS WD_EDDT
  636. , 'N' AS SWT_TRC_SEND_YN
  637. , NULL AS WD_SHIP_STATE
  638. , NULL AS WD_REASON_CD
  639. , NULL AS WD_STATE_DT
  640. , 'N' AS WD_BF_SEND_YN
  641. , REG_NO
  642. , VA_DEADLINE AS REG_DT
  643. , UPD_NO
  644. , VA_DEADLINE AS UPD_DT
  645. , ORD_NO
  646. FROM old_ord_order A, tb_payment B
  647. WHERE A.OrderNo = B.ORD_NO
  648. AND OrderStatusCd = '입금취소'
  649. ; -- 3초
  650. TRUNCATE TABLE tb_order_change_detail;
  651. INSERT INTO tb_order_change_detail
  652. SELECT
  653. ORD_CHG_SQ
  654. , ORD_DTL_NO
  655. , ORD_QTY
  656. , 'G685_17' AS CHG_STAT
  657. , NULL AS CHG_ORD_DTL_NO
  658. , NULL AS WH_MEMO
  659. , NULL AS COMPLETE_DT
  660. , 'N' AS DEL_YN
  661. , REG_NO
  662. , A.REG_DT
  663. , UPD_NO
  664. , A.UPD_DT
  665. FROM tb_order_change A, tb_order_detail B
  666. WHERE A.OLD_ORD_NO = B.ORD_NO
  667. AND A.CHG_GB = 'G680_10'
  668. AND B.ORD_NO > 1000
  669. ; -- 3초
  670. INSERT INTO tb_payment (ORD_NO, PAY_DT, PAY_MEANS, PAY_AMT, PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, PAY_STAT, PG_GB, PG_TID, PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND, CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS, CARD_PCABLE_YN, VA_NO, VA_NM, VA_BANK, VA_DEADLINE, TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO, ORD_CHG_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  671. SELECT DISTINCT ORD_NO, PAY_DT, PAY_MEANS, (PAY_AMT * -1) AS PAY_AMT
  672. , PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, 'G016_98' AS PAY_STAT, PG_GB, PG_TID
  673. , PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND
  674. , CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS
  675. , CARD_PCABLE_YN, NULL AS VA_NO, NULL AS VA_NM, NULL AS VA_BANK, NULL AS VA_DEADLINE
  676. , TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO
  677. , B.ORD_CHG_SQ, A.REG_NO, VA_DEADLINE AS REG_DT, A.UPD_NO, VA_DEADLINE AS UPD_DT
  678. FROM tb_payment A, tb_order_change B
  679. WHERE A.ORD_NO = B.OLD_ORD_NO
  680. AND EXISTS(
  681. SELECT 1
  682. FROM tb_order_detail B
  683. WHERE B.ORD_NO = A.ORD_NO
  684. AND ORD_DTL_STAT = 'G013_98'
  685. )
  686. AND A.ORD_NO > 1000
  687. ; -- 4초
  688. UPDATE tb_order_detail A, tb_order_change_detail B
  689. SET A.CNCL_RTN_QTY = A.ORD_QTY
  690. , A.CNCL_RTN_AMT = A.ORD_AMT
  691. , A.GOODS_CPN_DC_AMT = 0
  692. , A.CART_CPN_DC_AMT = 0
  693. , A.PNT_DC_AMT = 0
  694. , A.SAVE_PNT_AMT = 0
  695. , A.REAL_ORD_AMT = 0
  696. , A.GFCD_USE_AMT = 0
  697. -- , A.UPD_NO = 0
  698. , A.UPD_DT = B.REG_DT
  699. WHERE A.ORD_DTL_NO = B.ORD_DTL_NO
  700. AND CHG_STAT = 'G685_17'
  701. AND A.ORD_NO > 1000
  702. ; -- 4초
  703. -- DELETE FROM tb_order_change WHERE CHG_GB = 'G680_20';
  704. -- 결제후주문취소(취소/반품 나눠서 처리해야함)
  705. -- 전체취소
  706. INSERT INTO tb_order_change (ORD_CHG_SQ, CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO, OLD_EXEPTION_NO)
  707. SELECT DISTINCT
  708. B.ExceptionNo
  709. , 'G680_20' AS CHG_GB
  710. , CASE WHEN (SELECT MAX(ExceptionReasonCd) FROM old_ord_orderexceptionitem X WHERE X.ExceptionNo = B.ExceptionNo AND X.ExceptionTypeCd = '취소') = '취소' THEN 'G686_10'
  711. WHEN (SELECT MAX(ExceptionReasonCd) FROM old_ord_orderexceptionitem X WHERE X.ExceptionNo = B.ExceptionNo AND X.ExceptionTypeCd = '취소') = '고객변심' THEN 'G686_10'
  712. WHEN (SELECT MAX(ExceptionReasonCd) FROM old_ord_orderexceptionitem X WHERE X.ExceptionNo = B.ExceptionNo AND X.ExceptionTypeCd = '취소') = '품절' THEN 'G686_30'
  713. WHEN (SELECT MAX(ExceptionReasonCd) FROM old_ord_orderexceptionitem X WHERE X.ExceptionNo = B.ExceptionNo AND X.ExceptionTypeCd = '취소') = '상품불량' THEN 'G686_11'
  714. WHEN (SELECT MAX(ExceptionReasonCd) FROM old_ord_orderexceptionitem X WHERE X.ExceptionNo = B.ExceptionNo AND X.ExceptionTypeCd = '취소') = '오배송' THEN 'G686_12'
  715. WHEN (SELECT MAX(ExceptionReasonCd) FROM old_ord_orderexceptionitem X WHERE X.ExceptionNo = B.ExceptionNo AND X.ExceptionTypeCd = '취소') = '배송지연' THEN 'G686_13'
  716. ELSE 'G686_90' END AS CHG_REASON
  717. , B.AdminMemo AS CHG_MEMO
  718. , NULL AS WD_GB
  719. , NULL AS CHGER_NM
  720. , NULL AS CHGER_PHNNO
  721. , NULL AS CHGER_TELNO
  722. , NULL AS CHGER_EMAIL
  723. , NULL AS CHGER_ZIPCODE
  724. , NULL AS CHGER_BASE_ADDR
  725. , NULL AS CHGER_DTL_ADDR
  726. , NULL AS CHGER_RTN_MEMO
  727. , 0 AS ADD_PAY_COST
  728. , 0 AS ADD_PAY_AMT
  729. , NULL AS WD_INVOICE_NO
  730. , 'N' AS WD_INVOICE_SEND_YN
  731. , NULL AS SHIP_COMP_CD
  732. , NULL AS WD_STDT
  733. , NULL AS WD_EDDT
  734. , 'N' AS SWT_TRC_SEND_YN
  735. , NULL AS WD_SHIP_STATE
  736. , NULL AS WD_REASON_CD
  737. , NULL AS WD_STATE_DT
  738. , 'N' AS WD_BF_SEND_YN
  739. , C.REG_NO
  740. , B.DateCreated AS REG_DT
  741. , C.UPD_NO
  742. , B.DateCreated AS UPD_DT
  743. , A.OrderNo
  744. , B.ExceptionNo
  745. FROM old_ord_order A, old_ord_orderexception B, tb_order C, old_ord_refund D
  746. WHERE A.OrderNo = B.OrderNo
  747. AND A.OrderNo = C.ORD_NO
  748. AND B.ExceptionNo = D.ExceptionNo
  749. AND A.OrderStatusCd = '주문취소'
  750. AND B.ExceptionTypeCd = '취소'
  751. AND D.StatusCd = '환불완료'
  752. AND C.ORD_NO > 1000
  753. ; -- 30초
  754. -- DELETE FROM tb_order_change_detail WHERE CHG_STAT = 'G685_18';
  755. INSERT INTO tb_order_change_detail
  756. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  757. ORD_CHG_SQ
  758. , ORD_DTL_NO
  759. , B.Qty
  760. , 'G685_18' AS CHG_STAT
  761. , NULL AS CHG_ORD_DTL_NO
  762. , NULL AS WH_MEMO
  763. , NULL AS COMPLETE_DT
  764. , 'N' AS DEL_YN
  765. , A.REG_NO
  766. , A.REG_DT
  767. , A.UPD_NO
  768. , A.UPD_DT
  769. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  770. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  771. AND A.OLD_ORD_NO = C.ORD_NO
  772. AND B.OrderItemNo = C.ORD_DTL_NO
  773. AND A.CHG_GB = 'G680_20'
  774. AND B.ExceptionTypeCd = '취소'
  775. AND C.ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98')
  776. AND C.ORD_NO > 1000
  777. ; -- 12초
  778. SELECT * FROM tb_order_detail WHERE ORD_NO = 14365690;
  779. SELECT * FROM tb_order_change WHERE OLD_ORD_NO = 14365690;
  780. SELECT * FROM old_ord_refund WHERE ExceptionNo = 1551870;
  781. SELECT * FROM old_ord_orderexception WHERE ExceptionNo = 1551869;
  782. SELECT * FROM old_ord_orderexception WHERE ExceptionNo = 1551870;
  783. SELECT * FROM old_ord_orderexception WHERE ExceptionNo = 1547312;
  784. SELECT DISTINCT StatusCd FROM old_ord_orderexception;
  785. INSERT INTO tb_payment (ORD_NO, PAY_DT, PAY_MEANS, PAY_AMT, PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, PAY_STAT, PG_GB, PG_TID, PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND, CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS, CARD_PCABLE_YN, VA_NO, VA_NM, VA_BANK, VA_DEADLINE, TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO, ORD_CHG_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  786. SELECT DISTINCT ORD_NO, C.DateRefund AS PAY_DT, PAY_MEANS, ((refundcash + refundCardCancel) * -1) AS PAY_AMT
  787. , PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, 'G016_99' AS PAY_STAT, PG_GB, PG_TID
  788. , PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND
  789. , CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS
  790. , CARD_PCABLE_YN, NULL AS VA_NO, NULL AS VA_NM, NULL AS VA_BANK, NULL AS VA_DEADLINE
  791. , TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO
  792. , B.ORD_CHG_SQ, B.REG_NO, B.REG_DT, B.UPD_NO, B.UPD_DT
  793. FROM tb_payment A, tb_order_change B, old_ord_refund C
  794. WHERE A.ORD_NO = B.OLD_ORD_NO
  795. AND B.ORD_CHG_SQ = C.ExceptionNo
  796. AND EXISTS(
  797. SELECT 1
  798. FROM tb_order_detail B
  799. WHERE B.ORD_NO = A.ORD_NO
  800. AND B.ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98')
  801. )
  802. AND C.StatusCd = '환불완료'
  803. AND A.ORD_NO > 1000
  804. ; -- 16초
  805. TRUNCATE TABLE tb_refund;
  806. INSERT INTO tb_refund
  807. SELECT
  808. A.ORD_NO
  809. , A.PAY_SQ
  810. , A.ORD_CHG_SQ
  811. , (refundcash + refundCardCancel) AS REFUND_AMT
  812. , 0 AS DEPOSIT_AMT
  813. , C.RefundAccount AS RA_NO
  814. , C.RefundBank AS RA_BANK
  815. , C.AccountUserName AS RA_NM
  816. , 0 AS RF_CPN1_AMT
  817. , 0 AS RF_TMTB1_AMT
  818. , 0 AS RF_TMTB2_AMT
  819. , 0 AS RF_GOODS_CPN_AMT
  820. , C.RefundCouponDiscount AS RF_CART_CPN_AMT
  821. , 0 AS RF_DELV_CPN_AMT
  822. , C.RefundMileage AS RF_PNT_AMT
  823. , 0 AS RF_PRE_PNT_AMT
  824. , C.RefundTokenAmt AS RF_GFCD_USE_AMT
  825. , 0 AS RF_DELV_GFCD_USE_AMT
  826. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost + refundTokenAmt + refundMileage + RefundCouponDiscount) - refundDeliveryCost) AS RF_CNCL_AMT
  827. , C.RefundDeliveryCost AS RF_DELIVERY_FEE
  828. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost) - refundDeliveryCost) AS RF_REAL_CNCL_AMT
  829. , CustomerChargeDeliveryCost AS CUST_DELV_COST
  830. , refundMemo AS RF_MEMO
  831. , B.REG_NO
  832. , B.REG_DT
  833. , 'N' AS ENC_UPD_YN
  834. FROM tb_payment A, tb_order_change B, old_ord_refund C
  835. WHERE A.ORD_NO = B.OLD_ORD_NO
  836. AND A.ORD_CHG_SQ = B.ORD_CHG_SQ
  837. AND B.ORD_CHG_SQ = C.ExceptionNo
  838. AND EXISTS(
  839. SELECT 1
  840. FROM tb_order_detail B
  841. WHERE B.ORD_NO = A.ORD_NO
  842. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98')
  843. )
  844. AND C.StatusCd = '환불완료'
  845. AND A.ORD_NO > 1000
  846. ; -- 12초
  847. UPDATE tb_order_detail A
  848. SET CNCL_RTN_QTY = ORD_QTY
  849. , CNCL_RTN_AMT = ORD_AMT
  850. , GOODS_CPN_DC_AMT = 0
  851. , CART_CPN_DC_AMT = 0
  852. , PNT_DC_AMT = 0
  853. , SAVE_PNT_AMT = 0
  854. , REAL_ORD_AMT = 0
  855. , GFCD_USE_AMT = 0
  856. , ORD_DTL_STAT = 'G013_99'
  857. -- , UPD_NO = 0
  858. , UPD_DT = (SELECT MAX(X.REG_DT) FROM tb_order_change_detail X WHERE X.ORD_DTL_NO = A.ORD_DTL_NO)
  859. WHERE EXISTS(
  860. SELECT 1
  861. FROM tb_order_change_detail B
  862. WHERE B.ORD_DTL_NO = A.ORD_DTL_NO
  863. AND CHG_STAT = 'G685_18'
  864. )
  865. AND A.ORD_NO > 1000
  866. ; -- 40초
  867. -- 주문상세별 전체 취소
  868. INSERT INTO tb_order_change (ORD_CHG_SQ, CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO, OLD_EXEPTION_NO)
  869. SELECT DISTINCT
  870. C.ExceptionNo
  871. , CHG_GB
  872. , CHG_REASON
  873. , C.AdminMemo AS CHG_MEMO
  874. , WD_GB
  875. , CHGER_NM
  876. , CHGER_PHNNO
  877. , CHGER_TELNO
  878. , CHGER_EMAIL
  879. , CHGER_ZIPCODE
  880. , CHGER_BASE_ADDR
  881. , CHGER_DTL_ADDR
  882. , CHGER_RTN_MEMO
  883. , ADD_PAY_COST
  884. , ADD_PAY_AMT
  885. , WD_INVOICE_NO
  886. , WD_INVOICE_SEND_YN
  887. , SHIP_COMP_CD
  888. , WD_STDT
  889. , WD_EDDT
  890. , SWT_TRC_SEND_YN
  891. , WD_SHIP_STATE
  892. , WD_REASON_CD
  893. , WD_STATE_DT
  894. , WD_BF_SEND_YN
  895. , REG_NO
  896. , C.DateCreated AS REG_DT
  897. , REG_NO
  898. , C.DateLastModified AS UPD_DT
  899. , ORD_NO
  900. , C.ExceptionNo
  901. FROM (
  902. SELECT 'G680_20' AS CHG_GB
  903. , CASE
  904. WHEN (SELECT MAX(ExceptionReasonCd)
  905. FROM old_ord_orderexceptionitem X
  906. WHERE X.ExceptionNo = B.ExceptionNo
  907. AND X.ExceptionTypeCd = '취소') = '취소' THEN 'G686_10'
  908. WHEN (SELECT MAX(ExceptionReasonCd)
  909. FROM old_ord_orderexceptionitem X
  910. WHERE X.ExceptionNo = B.ExceptionNo
  911. AND X.ExceptionTypeCd = '취소') = '고객변심' THEN 'G686_10'
  912. WHEN (SELECT MAX(ExceptionReasonCd)
  913. FROM old_ord_orderexceptionitem X
  914. WHERE X.ExceptionNo = B.ExceptionNo
  915. AND X.ExceptionTypeCd = '취소') = '품절' THEN 'G686_30'
  916. WHEN (SELECT MAX(ExceptionReasonCd)
  917. FROM old_ord_orderexceptionitem X
  918. WHERE X.ExceptionNo = B.ExceptionNo
  919. AND X.ExceptionTypeCd = '취소') = '상품불량' THEN 'G686_11'
  920. WHEN (SELECT MAX(ExceptionReasonCd)
  921. FROM old_ord_orderexceptionitem X
  922. WHERE X.ExceptionNo = B.ExceptionNo
  923. AND X.ExceptionTypeCd = '취소') = '오배송' THEN 'G686_12'
  924. WHEN (SELECT MAX(ExceptionReasonCd)
  925. FROM old_ord_orderexceptionitem X
  926. WHERE X.ExceptionNo = B.ExceptionNo
  927. AND X.ExceptionTypeCd = '취소') = '배송지연' THEN 'G686_13'
  928. ELSE 'G686_90' END AS CHG_REASON
  929. , NULL AS WD_GB
  930. , NULL AS CHGER_NM
  931. , NULL AS CHGER_PHNNO
  932. , NULL AS CHGER_TELNO
  933. , NULL AS CHGER_EMAIL
  934. , NULL AS CHGER_ZIPCODE
  935. , NULL AS CHGER_BASE_ADDR
  936. , NULL AS CHGER_DTL_ADDR
  937. , NULL AS CHGER_RTN_MEMO
  938. , 0 AS ADD_PAY_COST
  939. , 0 AS ADD_PAY_AMT
  940. , NULL AS WD_INVOICE_NO
  941. , 'N' AS WD_INVOICE_SEND_YN
  942. , NULL AS SHIP_COMP_CD
  943. , NULL AS WD_STDT
  944. , NULL AS WD_EDDT
  945. , 'N' AS SWT_TRC_SEND_YN
  946. , NULL AS WD_SHIP_STATE
  947. , NULL AS WD_REASON_CD
  948. , NULL AS WD_STATE_DT
  949. , 'N' AS WD_BF_SEND_YN
  950. , A.REG_NO
  951. , A.UPD_NO
  952. , A.ORD_NO
  953. , B.ExceptionNo
  954. FROM tb_order_detail A,
  955. old_ord_orderexceptionitem B
  956. WHERE A.ORD_DTL_NO = B.OrderItemNo
  957. AND A.ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  958. AND B.ExceptionTypeCd = '취소'
  959. AND A.ORD_QTY = B.Qty
  960. AND B.StatusCd = '처리완료'
  961. AND A.ORD_NO > 1000
  962. ) AA, old_ord_orderexception C
  963. WHERE AA.ExceptionNo = C.ExceptionNo
  964. -- AND AA.ExceptionNo = 1888671
  965. ; -- 7초
  966. INSERT INTO tb_order_change_detail
  967. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  968. ORD_CHG_SQ
  969. , ORD_DTL_NO
  970. , B.Qty
  971. , 'G685_18' AS CHG_STAT
  972. , NULL AS CHG_ORD_DTL_NO
  973. , NULL AS WH_MEMO
  974. , NULL AS COMPLETE_DT
  975. , 'N' AS DEL_YN
  976. , A.REG_NO
  977. , A.REG_DT
  978. , A.UPD_NO
  979. , A.UPD_DT
  980. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  981. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  982. AND A.OLD_ORD_NO = C.ORD_NO
  983. AND B.OrderItemNo = C.ORD_DTL_NO
  984. AND A.CHG_GB = 'G680_20'
  985. AND B.ExceptionTypeCd = '취소'
  986. AND C.ORD_QTY = B.Qty
  987. AND C.ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  988. AND B.StatusCd = '처리완료'
  989. AND C.ORD_NO > 1000
  990. ; -- 5초
  991. UPDATE tb_order_detail A
  992. SET CNCL_RTN_QTY = ORD_QTY
  993. , CNCL_RTN_AMT = ORD_AMT
  994. , GOODS_CPN_DC_AMT = 0
  995. , CART_CPN_DC_AMT = 0
  996. , PNT_DC_AMT = 0
  997. , SAVE_PNT_AMT = 0
  998. , REAL_ORD_AMT = 0
  999. , GFCD_USE_AMT = 0
  1000. -- , UPD_NO = 0
  1001. , UPD_DT = (SELECT MAX(X.REG_DT) FROM tb_order_change_detail X WHERE X.ORD_DTL_NO = A.ORD_DTL_NO)
  1002. , ORD_DTL_STAT = 'G013_99'
  1003. WHERE EXISTS(
  1004. SELECT 1
  1005. FROM old_ord_orderexceptionitem B
  1006. WHERE B.OrderItemNo = A.ORD_DTL_NO
  1007. AND B.ExceptionTypeCd = '취소'
  1008. AND A.ORD_QTY = B.Qty
  1009. AND B.StatusCd = '처리완료'
  1010. )
  1011. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1012. -- AND ORD_DTL_STAT = 'G013_20'
  1013. ; -- 9초
  1014. -- 수량부분취소
  1015. INSERT INTO tb_order_change_detail
  1016. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1017. ORD_CHG_SQ
  1018. , ORD_DTL_NO
  1019. , B.Qty
  1020. , 'G685_XX' AS CHG_STAT
  1021. , NULL AS CHG_ORD_DTL_NO
  1022. , NULL AS WH_MEMO
  1023. , NULL AS COMPLETE_DT
  1024. , 'N' AS DEL_YN
  1025. , A.REG_NO
  1026. , A.REG_DT
  1027. , A.UPD_NO
  1028. , A.UPD_DT
  1029. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1030. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1031. AND A.OLD_ORD_NO = C.ORD_NO
  1032. AND B.OrderItemNo = C.ORD_DTL_NO
  1033. AND A.CHG_GB = 'G680_20'
  1034. AND B.ExceptionTypeCd = '취소'
  1035. AND C.ORD_QTY != B.Qty
  1036. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1037. AND B.StatusCd = '처리완료'
  1038. AND C.ORD_NO > 1000
  1039. ;
  1040. INSERT INTO tb_order_change (ORD_CHG_SQ, CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO, OLD_EXEPTION_NO)
  1041. SELECT DISTINCT
  1042. C.ExceptionNo
  1043. , CHG_GB
  1044. , CHG_REASON
  1045. , C.AdminMemo AS CHG_MEMO
  1046. , WD_GB
  1047. , CHGER_NM
  1048. , CHGER_PHNNO
  1049. , CHGER_TELNO
  1050. , CHGER_EMAIL
  1051. , CHGER_ZIPCODE
  1052. , CHGER_BASE_ADDR
  1053. , CHGER_DTL_ADDR
  1054. , CHGER_RTN_MEMO
  1055. , ADD_PAY_COST
  1056. , ADD_PAY_AMT
  1057. , WD_INVOICE_NO
  1058. , WD_INVOICE_SEND_YN
  1059. , SHIP_COMP_CD
  1060. , WD_STDT
  1061. , WD_EDDT
  1062. , SWT_TRC_SEND_YN
  1063. , WD_SHIP_STATE
  1064. , WD_REASON_CD
  1065. , WD_STATE_DT
  1066. , WD_BF_SEND_YN
  1067. , REG_NO
  1068. , C.DateCreated AS REG_DT
  1069. , UPD_NO
  1070. , C.DateLastModified AS UPD_DT
  1071. , ORD_NO
  1072. , C.ExceptionNo
  1073. FROM (
  1074. SELECT 'G680_20' AS CHG_GB
  1075. , CASE
  1076. WHEN (SELECT MAX(ExceptionReasonCd)
  1077. FROM old_ord_orderexceptionitem X
  1078. WHERE X.ExceptionNo = B.ExceptionNo
  1079. AND X.ExceptionTypeCd = '취소') = '취소' THEN 'G686_10'
  1080. WHEN (SELECT MAX(ExceptionReasonCd)
  1081. FROM old_ord_orderexceptionitem X
  1082. WHERE X.ExceptionNo = B.ExceptionNo
  1083. AND X.ExceptionTypeCd = '취소') = '고객변심' THEN 'G686_10'
  1084. WHEN (SELECT MAX(ExceptionReasonCd)
  1085. FROM old_ord_orderexceptionitem X
  1086. WHERE X.ExceptionNo = B.ExceptionNo
  1087. AND X.ExceptionTypeCd = '취소') = '품절' THEN 'G686_30'
  1088. WHEN (SELECT MAX(ExceptionReasonCd)
  1089. FROM old_ord_orderexceptionitem X
  1090. WHERE X.ExceptionNo = B.ExceptionNo
  1091. AND X.ExceptionTypeCd = '취소') = '상품불량' THEN 'G686_11'
  1092. WHEN (SELECT MAX(ExceptionReasonCd)
  1093. FROM old_ord_orderexceptionitem X
  1094. WHERE X.ExceptionNo = B.ExceptionNo
  1095. AND X.ExceptionTypeCd = '취소') = '오배송' THEN 'G686_12'
  1096. WHEN (SELECT MAX(ExceptionReasonCd)
  1097. FROM old_ord_orderexceptionitem X
  1098. WHERE X.ExceptionNo = B.ExceptionNo
  1099. AND X.ExceptionTypeCd = '취소') = '배송지연' THEN 'G686_13'
  1100. ELSE 'G686_90' END AS CHG_REASON
  1101. , NULL AS WD_GB
  1102. , NULL AS CHGER_NM
  1103. , NULL AS CHGER_PHNNO
  1104. , NULL AS CHGER_TELNO
  1105. , NULL AS CHGER_EMAIL
  1106. , NULL AS CHGER_ZIPCODE
  1107. , NULL AS CHGER_BASE_ADDR
  1108. , NULL AS CHGER_DTL_ADDR
  1109. , NULL AS CHGER_RTN_MEMO
  1110. , 0 AS ADD_PAY_COST
  1111. , 0 AS ADD_PAY_AMT
  1112. , NULL AS WD_INVOICE_NO
  1113. , 'N' AS WD_INVOICE_SEND_YN
  1114. , NULL AS SHIP_COMP_CD
  1115. , NULL AS WD_STDT
  1116. , NULL AS WD_EDDT
  1117. , 'N' AS SWT_TRC_SEND_YN
  1118. , NULL AS WD_SHIP_STATE
  1119. , NULL AS WD_REASON_CD
  1120. , NULL AS WD_STATE_DT
  1121. , 'N' AS WD_BF_SEND_YN
  1122. , A.REG_NO
  1123. , A.REG_DT
  1124. , A.UPD_NO
  1125. , A.UPD_DT
  1126. , A.ORD_NO
  1127. , B.ExceptionNo
  1128. FROM tb_order_detail A,
  1129. old_ord_orderexceptionitem B
  1130. WHERE A.ORD_DTL_NO = B.OrderItemNo
  1131. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1132. AND B.ExceptionTypeCd = '취소'
  1133. AND A.ORD_QTY != B.Qty
  1134. AND B.StatusCd = '처리완료'
  1135. AND A.ORD_NO > 1000
  1136. ) AA, old_ord_orderexception C
  1137. WHERE AA.ExceptionNo = C.ExceptionNo
  1138. AND NOT EXISTS(
  1139. SELECT 1
  1140. FROM tb_order_change X
  1141. WHERE X.ORD_CHG_SQ = C.ExceptionNo
  1142. )
  1143. -- AND C.ExceptionNo = 1550590
  1144. ;
  1145. INSERT INTO tb_order_change_detail
  1146. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1147. ORD_CHG_SQ
  1148. , ORD_DTL_NO
  1149. , B.Qty
  1150. , 'G685_XX' AS CHG_STAT
  1151. , NULL AS CHG_ORD_DTL_NO
  1152. , NULL AS WH_MEMO
  1153. , NULL AS COMPLETE_DT
  1154. , 'N' AS DEL_YN
  1155. , A.REG_NO
  1156. , A.REG_DT
  1157. , A.UPD_NO
  1158. , A.UPD_DT
  1159. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1160. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1161. AND A.OLD_ORD_NO = C.ORD_NO
  1162. AND B.OrderItemNo = C.ORD_DTL_NO
  1163. AND A.CHG_GB = 'G680_20'
  1164. AND B.ExceptionTypeCd = '취소'
  1165. AND C.ORD_QTY != B.Qty
  1166. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1167. AND B.StatusCd = '처리완료'
  1168. AND C.ORD_NO > 1000
  1169. AND NOT EXISTS(
  1170. SELECT 1
  1171. FROM tb_order_change_detail X
  1172. WHERE X.ORD_CHG_SQ = B.ExceptionNo
  1173. AND X.ORD_DTL_NO = B.OrderItemNo
  1174. )
  1175. ;
  1176. INSERT INTO tb_payment (ORD_NO, PAY_DT, PAY_MEANS, PAY_AMT, PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, PAY_STAT, PG_GB, PG_TID, PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND, CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS, CARD_PCABLE_YN, VA_NO, VA_NM, VA_BANK, VA_DEADLINE, TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO, ORD_CHG_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  1177. SELECT DISTINCT ORD_NO, C.DateRefund AS PAY_DT, PAY_MEANS, ((refundcash + refundCardCancel) * -1) AS PAY_AMT
  1178. , PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, 'G016_99' AS PAY_STAT, PG_GB, PG_TID
  1179. , PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND
  1180. , CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS
  1181. , CARD_PCABLE_YN, NULL AS VA_NO, NULL AS VA_NM, NULL AS VA_BANK, NULL AS VA_DEADLINE
  1182. , TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO
  1183. , B.ORD_CHG_SQ, B.REG_NO, B.REG_DT, B.UPD_NO, B.UPD_DT
  1184. FROM tb_payment A, tb_order_change B, old_ord_refund C
  1185. WHERE A.ORD_NO = B.OLD_ORD_NO
  1186. AND B.ORD_CHG_SQ = C.ExceptionNo
  1187. AND B.CHG_GB = 'G680_20'
  1188. AND C.StatusCd = '환불완료'
  1189. AND A.ORD_NO > 1000
  1190. ; -- 10초
  1191. INSERT INTO tb_refund
  1192. SELECT
  1193. A.ORD_NO
  1194. , A.PAY_SQ
  1195. , A.ORD_CHG_SQ
  1196. , (refundcash + refundCardCancel) AS REFUND_AMT
  1197. , 0 AS DEPOSIT_AMT
  1198. , C.RefundAccount AS RA_NO
  1199. , C.RefundBank AS RA_BANK
  1200. , C.AccountUserName AS RA_NM
  1201. , 0 AS RF_CPN1_AMT
  1202. , 0 AS RF_TMTB1_AMT
  1203. , 0 AS RF_TMTB2_AMT
  1204. , 0 AS RF_GOODS_CPN_AMT
  1205. , C.RefundCouponDiscount AS RF_CART_CPN_AMT
  1206. , 0 AS RF_DELV_CPN_AMT
  1207. , C.RefundMileage AS RF_PNT_AMT
  1208. , 0 AS RF_PRE_PNT_AMT
  1209. , C.RefundTokenAmt AS RF_GFCD_USE_AMT
  1210. , 0 AS RF_DELV_GFCD_USE_AMT
  1211. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost + refundTokenAmt + refundMileage + RefundCouponDiscount) - refundDeliveryCost) AS RF_CNCL_AMT
  1212. , C.RefundDeliveryCost AS RF_DELIVERY_FEE
  1213. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost) - refundDeliveryCost) AS RF_REAL_CNCL_AMT
  1214. , CustomerChargeDeliveryCost AS CUST_DELV_COST
  1215. , refundMemo AS RF_MEMO
  1216. , B.REG_NO
  1217. , B.REG_DT
  1218. , 'N' AS ENC_UPD_YN
  1219. FROM tb_payment A, tb_order_change B, old_ord_refund C
  1220. WHERE A.ORD_NO = B.OLD_ORD_NO
  1221. AND A.ORD_CHG_SQ = B.ORD_CHG_SQ
  1222. AND B.ORD_CHG_SQ = C.ExceptionNo
  1223. AND B.CHG_GB = 'G680_20'
  1224. AND C.StatusCd = '환불완료'
  1225. AND A.ORD_NO > 1000
  1226. ; -- 7초
  1227. -- 이후 배치 실행 TsbMigrationOrderTask cancelQtyOrderDetailJob
  1228. SELECT
  1229. A.ORD_CHG_SQ
  1230. , A.ORD_DTL_NO
  1231. , B.ORD_QTY
  1232. , B.ORD_AMT
  1233. , B.CNCL_RTN_QTY
  1234. , B.CNCL_RTN_AMT
  1235. , B.GOODS_CPN_DC_AMT
  1236. , B.CART_CPN_DC_AMT
  1237. , B.PNT_DC_AMT
  1238. , B.SAVE_PNT_AMT
  1239. , B.REAL_ORD_AMT
  1240. , B.GFCD_USE_AMT
  1241. , A.CHG_QTY
  1242. FROM tb_order_change_detail A, tb_order_detail B
  1243. WHERE A.ORD_DTL_NO = B.ORD_DTL_NO
  1244. AND A.CHG_STAT = 'G685_XX'
  1245. ORDER BY A.ORD_DTL_NO
  1246. ;
  1247. -- 원주문배송비 환불
  1248. INSERT INTO tb_delivery_fee (PAY_SQ, ORD_NO, DELV_FEE_GB, DELV_FEE_CD, DELV_FEE, DELV_CPN_SQ, DELV_CPN_DC_AMT, REAL_DELV_AMT, ORD_CHG_SQ, SUPPLY_COMP_CD, DELV_USAC_YN, DELV_USAC_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  1249. SELECT
  1250. A.PAY_SQ
  1251. , A.ORD_NO
  1252. , 'G018_10' AS DELV_FEE_GB
  1253. , B.DELV_FEE_CD
  1254. , RF_DELIVERY_FEE * -1 AS DELV_FEE
  1255. , NULL AS DELV_CPN_SQ
  1256. , 0 AS DELV_CPN_DC_AMT
  1257. , RF_DELIVERY_FEE * -1 AS REAL_DELV_AMT
  1258. , A.ORD_CHG_SQ
  1259. , B.SUPPLY_COMP_CD
  1260. , 'N' AS DELV_USAC_YN
  1261. , NULL AS DELV_USAC_DT
  1262. , A.REG_NO
  1263. , A.REG_DT
  1264. , A.REG_NO AS UPD_NO
  1265. , A.REG_DT AS UPD_DT
  1266. FROM tb_refund A, tb_delivery_fee B
  1267. WHERE A.ORD_NO = B.ORD_NO
  1268. AND A.PAY_SQ != B.PAY_SQ
  1269. AND RF_DELIVERY_FEE > 0
  1270. ;
  1271. -- 반품
  1272. -- 주문상세별 반품
  1273. INSERT INTO tb_order_change (ORD_CHG_SQ, CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO, OLD_EXEPTION_NO)
  1274. SELECT DISTINCT
  1275. C.ExceptionNo
  1276. , CHG_GB
  1277. , CHG_REASON
  1278. , C.AdminMemo AS CHG_MEMO
  1279. , WD_GB
  1280. , CHGER_NM
  1281. , CHGER_PHNNO
  1282. , CHGER_TELNO
  1283. , CHGER_EMAIL
  1284. , CHGER_ZIPCODE
  1285. , CHGER_BASE_ADDR
  1286. , CHGER_DTL_ADDR
  1287. , CHGER_RTN_MEMO
  1288. , ADD_PAY_COST
  1289. , ADD_PAY_AMT
  1290. , WD_INVOICE_NO
  1291. , WD_INVOICE_SEND_YN
  1292. , SHIP_COMP_CD
  1293. , WD_STDT
  1294. , WD_EDDT
  1295. , SWT_TRC_SEND_YN
  1296. , WD_SHIP_STATE
  1297. , WD_REASON_CD
  1298. , WD_STATE_DT
  1299. , WD_BF_SEND_YN
  1300. , REG_NO
  1301. , C.DateCreated AS REG_DT
  1302. , REG_NO
  1303. , C.DateLastModified AS UPD_DT
  1304. , ORD_NO
  1305. , C.ExceptionNo
  1306. FROM (
  1307. SELECT 'G680_30' AS CHG_GB
  1308. , CASE
  1309. WHEN (SELECT MAX(ExceptionReasonCd)
  1310. FROM old_ord_orderexceptionitem X
  1311. WHERE X.ExceptionNo = B.ExceptionNo
  1312. AND X.ExceptionTypeCd = '반품') = '고객변심' THEN 'G688_10'
  1313. WHEN (SELECT MAX(ExceptionReasonCd)
  1314. FROM old_ord_orderexceptionitem X
  1315. WHERE X.ExceptionNo = B.ExceptionNo
  1316. AND X.ExceptionTypeCd = '반품') = '상품불량' THEN 'G688_11'
  1317. WHEN (SELECT MAX(ExceptionReasonCd)
  1318. FROM old_ord_orderexceptionitem X
  1319. WHERE X.ExceptionNo = B.ExceptionNo
  1320. AND X.ExceptionTypeCd = '반품') = '품절' THEN 'G688_17'
  1321. WHEN (SELECT MAX(ExceptionReasonCd)
  1322. FROM old_ord_orderexceptionitem X
  1323. WHERE X.ExceptionNo = B.ExceptionNo
  1324. AND X.ExceptionTypeCd = '반품') = '오배송' THEN 'G688_12'
  1325. WHEN (SELECT MAX(ExceptionReasonCd)
  1326. FROM old_ord_orderexceptionitem X
  1327. WHERE X.ExceptionNo = B.ExceptionNo
  1328. AND X.ExceptionTypeCd = '반품') = '배송지연' THEN 'G688_13'
  1329. ELSE 'G688_90' END AS CHG_REASON
  1330. , NULL AS WD_GB
  1331. , (SELECT RECIP_NM FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_NM
  1332. , (SELECT RECIP_PHNNO FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_PHNNO
  1333. , (SELECT RECIP_TELNO FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_TELNO
  1334. , (SELECT ORD_EMAIL FROM tb_order X WHERE X.ORD_NO = A.ORD_NO) AS CHGER_EMAIL
  1335. , (SELECT RECIP_ZIPCODE FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_ZIPCODE
  1336. , (SELECT RECIP_BASE_ADDR FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_BASE_ADDR
  1337. , (SELECT RECIP_DTL_ADDR FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_DTL_ADDR
  1338. , NULL AS CHGER_RTN_MEMO
  1339. , 0 AS ADD_PAY_COST
  1340. , 0 AS ADD_PAY_AMT
  1341. , NULL AS WD_INVOICE_NO
  1342. , 'N' AS WD_INVOICE_SEND_YN
  1343. , NULL AS SHIP_COMP_CD
  1344. , NULL AS WD_STDT
  1345. , NULL AS WD_EDDT
  1346. , 'N' AS SWT_TRC_SEND_YN
  1347. , NULL AS WD_SHIP_STATE
  1348. , NULL AS WD_REASON_CD
  1349. , NULL AS WD_STATE_DT
  1350. , 'N' AS WD_BF_SEND_YN
  1351. , A.REG_NO
  1352. , A.REG_DT
  1353. , A.UPD_NO
  1354. , A.UPD_DT
  1355. , A.ORD_NO
  1356. , B.ExceptionNo
  1357. FROM tb_order_detail A,
  1358. old_ord_orderexceptionitem B
  1359. WHERE A.ORD_DTL_NO = B.OrderItemNo
  1360. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1361. AND B.ExceptionTypeCd = '반품'
  1362. AND (A.ORD_QTY - A.CNCL_RTN_QTY) = B.Qty
  1363. AND B.StatusCd IS NOT NULL
  1364. ) AA, old_ord_orderexception C
  1365. WHERE AA.ExceptionNo = C.ExceptionNo
  1366. -- AND C.ExceptionNo = 1548177
  1367. ; --
  1368. -- 상세별전체반품
  1369. INSERT INTO tb_order_change_detail
  1370. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1371. ORD_CHG_SQ
  1372. , ORD_DTL_NO
  1373. , B.Qty
  1374. , CASE WHEN B.StatusCd = '처리완료' THEN 'G685_60'
  1375. WHEN B.StatusCd = '회수지시' THEN 'G685_30'
  1376. WHEN B.StatusCd IN ('환불대기','회수완료','환불지시') THEN 'G685_33'
  1377. ELSE 'G685_50' END AS CHG_STAT
  1378. , NULL AS CHG_ORD_DTL_NO
  1379. , NULL AS WH_MEMO
  1380. , NULL AS COMPLETE_DT
  1381. , 'N' AS DEL_YN
  1382. , A.REG_NO
  1383. , A.REG_DT
  1384. , A.UPD_NO
  1385. , A.UPD_DT
  1386. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1387. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1388. AND A.OLD_ORD_NO = C.ORD_NO
  1389. AND B.OrderItemNo = C.ORD_DTL_NO
  1390. AND A.CHG_GB = 'G680_30'
  1391. AND B.ExceptionTypeCd = '반품'
  1392. AND (C.ORD_QTY - C.CNCL_RTN_QTY) = B.Qty
  1393. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1394. AND B.StatusCd IS NOT NULL
  1395. AND C.ORD_NO > 1000
  1396. ; --
  1397. UPDATE tb_order_detail A, tb_order_change_detail B
  1398. SET CNCL_RTN_QTY = ORD_QTY
  1399. , CNCL_RTN_AMT = ORD_AMT
  1400. , GOODS_CPN_DC_AMT = 0
  1401. , CART_CPN_DC_AMT = 0
  1402. , PNT_DC_AMT = 0
  1403. , SAVE_PNT_AMT = 0
  1404. , REAL_ORD_AMT = 0
  1405. , GFCD_USE_AMT = 0
  1406. , ORD_DTL_STAT = 'G013_99'
  1407. -- , UPD_NO = 0
  1408. , A.UPD_DT = (SELECT MAX(X.REG_DT) FROM tb_order_change_detail X WHERE X.ORD_DTL_NO = A.ORD_DTL_NO)
  1409. WHERE A.ORD_DTL_NO = B.ORD_DTL_NO
  1410. AND B.CHG_STAT = 'G685_60'
  1411. AND A.ORD_NO > 1000
  1412. ; -- 40초
  1413. -- 수량부분 반품(처리완료)
  1414. INSERT INTO tb_order_change_detail
  1415. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1416. ORD_CHG_SQ
  1417. , ORD_DTL_NO
  1418. , B.Qty
  1419. , 'G685_XX' AS CHG_STAT
  1420. , NULL AS CHG_ORD_DTL_NO
  1421. , NULL AS WH_MEMO
  1422. , NULL AS COMPLETE_DT
  1423. , 'N' AS DEL_YN
  1424. , A.REG_NO
  1425. , A.REG_DT
  1426. , A.UPD_NO
  1427. , A.UPD_DT
  1428. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1429. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1430. AND A.OLD_ORD_NO = C.ORD_NO
  1431. AND B.OrderItemNo = C.ORD_DTL_NO
  1432. AND A.CHG_GB = 'G680_30'
  1433. AND B.ExceptionTypeCd = '반품'
  1434. AND (C.ORD_QTY - C.CNCL_RTN_QTY) != B.Qty
  1435. AND B.StatusCd IS NOT NULL
  1436. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1437. AND B.StatusCd = '처리완료'
  1438. AND C.ORD_NO > 1000
  1439. ;
  1440. -- 수량부분 반품(처리중)
  1441. INSERT INTO tb_order_change_detail
  1442. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1443. ORD_CHG_SQ
  1444. , ORD_DTL_NO
  1445. , B.Qty
  1446. , 'G685_XX' AS CHG_STAT
  1447. , NULL AS CHG_ORD_DTL_NO
  1448. , NULL AS WH_MEMO
  1449. , NULL AS COMPLETE_DT
  1450. , 'N' AS DEL_YN
  1451. , A.REG_NO
  1452. , A.REG_DT
  1453. , A.UPD_NO
  1454. , A.UPD_DT
  1455. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1456. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1457. AND A.OLD_ORD_NO = C.ORD_NO
  1458. AND B.OrderItemNo = C.ORD_DTL_NO
  1459. AND A.CHG_GB = 'G680_30'
  1460. AND B.ExceptionTypeCd = '반품'
  1461. AND (C.ORD_QTY - C.CNCL_RTN_QTY) != B.Qty
  1462. AND B.StatusCd IS NOT NULL
  1463. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1464. AND B.StatusCd != '처리완료'
  1465. AND C.ORD_NO > 1000
  1466. ;
  1467. -- 배치실행 TsbMigrationOrderTask returnQtyOrderDetailJob
  1468. -- 부분 반품만 있는것
  1469. INSERT INTO tb_order_change (ORD_CHG_SQ, CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO, OLD_EXEPTION_NO)
  1470. SELECT DISTINCT
  1471. C.ExceptionNo
  1472. , CHG_GB
  1473. , CHG_REASON
  1474. , C.AdminMemo AS CHG_MEMO
  1475. , WD_GB
  1476. , CHGER_NM
  1477. , CHGER_PHNNO
  1478. , CHGER_TELNO
  1479. , CHGER_EMAIL
  1480. , CHGER_ZIPCODE
  1481. , CHGER_BASE_ADDR
  1482. , CHGER_DTL_ADDR
  1483. , CHGER_RTN_MEMO
  1484. , ADD_PAY_COST
  1485. , ADD_PAY_AMT
  1486. , WD_INVOICE_NO
  1487. , WD_INVOICE_SEND_YN
  1488. , SHIP_COMP_CD
  1489. , WD_STDT
  1490. , WD_EDDT
  1491. , SWT_TRC_SEND_YN
  1492. , WD_SHIP_STATE
  1493. , WD_REASON_CD
  1494. , WD_STATE_DT
  1495. , WD_BF_SEND_YN
  1496. , REG_NO
  1497. , C.DateCreated AS REG_DT
  1498. , REG_NO
  1499. , C.DateLastModified AS UPD_DT
  1500. , ORD_NO
  1501. , C.ExceptionNo
  1502. FROM (
  1503. SELECT 'G680_30' AS CHG_GB
  1504. , CASE
  1505. WHEN (SELECT MAX(ExceptionReasonCd)
  1506. FROM old_ord_orderexceptionitem X
  1507. WHERE X.ExceptionNo = B.ExceptionNo
  1508. AND X.ExceptionTypeCd = '반품') = '고객변심' THEN 'G688_10'
  1509. WHEN (SELECT MAX(ExceptionReasonCd)
  1510. FROM old_ord_orderexceptionitem X
  1511. WHERE X.ExceptionNo = B.ExceptionNo
  1512. AND X.ExceptionTypeCd = '반품') = '상품불량' THEN 'G688_11'
  1513. WHEN (SELECT MAX(ExceptionReasonCd)
  1514. FROM old_ord_orderexceptionitem X
  1515. WHERE X.ExceptionNo = B.ExceptionNo
  1516. AND X.ExceptionTypeCd = '반품') = '품절' THEN 'G688_17'
  1517. WHEN (SELECT MAX(ExceptionReasonCd)
  1518. FROM old_ord_orderexceptionitem X
  1519. WHERE X.ExceptionNo = B.ExceptionNo
  1520. AND X.ExceptionTypeCd = '반품') = '오배송' THEN 'G688_12'
  1521. WHEN (SELECT MAX(ExceptionReasonCd)
  1522. FROM old_ord_orderexceptionitem X
  1523. WHERE X.ExceptionNo = B.ExceptionNo
  1524. AND X.ExceptionTypeCd = '반품') = '배송지연' THEN 'G688_13'
  1525. ELSE 'G688_90' END AS CHG_REASON
  1526. , NULL AS WD_GB
  1527. , (SELECT RECIP_NM FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_NM
  1528. , (SELECT RECIP_PHNNO FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_PHNNO
  1529. , (SELECT RECIP_TELNO FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_TELNO
  1530. , (SELECT ORD_EMAIL FROM tb_order X WHERE X.ORD_NO = A.ORD_NO) AS CHGER_EMAIL
  1531. , (SELECT RECIP_ZIPCODE FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_ZIPCODE
  1532. , (SELECT RECIP_BASE_ADDR FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_BASE_ADDR
  1533. , (SELECT RECIP_DTL_ADDR FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_DTL_ADDR
  1534. , NULL AS CHGER_RTN_MEMO
  1535. , 0 AS ADD_PAY_COST
  1536. , 0 AS ADD_PAY_AMT
  1537. , NULL AS WD_INVOICE_NO
  1538. , 'N' AS WD_INVOICE_SEND_YN
  1539. , NULL AS SHIP_COMP_CD
  1540. , NULL AS WD_STDT
  1541. , NULL AS WD_EDDT
  1542. , 'N' AS SWT_TRC_SEND_YN
  1543. , NULL AS WD_SHIP_STATE
  1544. , NULL AS WD_REASON_CD
  1545. , NULL AS WD_STATE_DT
  1546. , 'N' AS WD_BF_SEND_YN
  1547. , A.REG_NO
  1548. , A.REG_DT
  1549. , A.UPD_NO
  1550. , A.UPD_DT
  1551. , A.ORD_NO
  1552. , B.ExceptionNo
  1553. FROM tb_order_detail A,
  1554. old_ord_orderexceptionitem B
  1555. WHERE A.ORD_DTL_NO = B.OrderItemNo
  1556. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1557. AND B.ExceptionTypeCd = '반품'
  1558. AND (A.ORD_QTY - A.CNCL_RTN_QTY) != B.Qty
  1559. AND B.StatusCd IS NOT NULL
  1560. ) AA, old_ord_orderexception C
  1561. WHERE AA.ExceptionNo = C.ExceptionNo
  1562. AND NOT EXISTS(
  1563. SELECT 1
  1564. FROM tb_order_change X
  1565. WHERE X.ORD_CHG_SQ = C.ExceptionNo
  1566. )
  1567. -- AND C.ExceptionNo = 1553434
  1568. ; --
  1569. -- 수량부분 반품(처리완료)
  1570. INSERT INTO tb_order_change_detail
  1571. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1572. ORD_CHG_SQ
  1573. , ORD_DTL_NO
  1574. , B.Qty
  1575. , 'G685_XX' AS CHG_STAT
  1576. , NULL AS CHG_ORD_DTL_NO
  1577. , NULL AS WH_MEMO
  1578. , NULL AS COMPLETE_DT
  1579. , 'N' AS DEL_YN
  1580. , A.REG_NO
  1581. , A.REG_DT
  1582. , A.UPD_NO
  1583. , A.UPD_DT
  1584. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1585. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1586. AND A.OLD_ORD_NO = C.ORD_NO
  1587. AND B.OrderItemNo = C.ORD_DTL_NO
  1588. AND A.CHG_GB = 'G680_30'
  1589. AND B.ExceptionTypeCd = '반품'
  1590. AND (C.ORD_QTY - C.CNCL_RTN_QTY) != B.Qty
  1591. AND B.StatusCd IS NOT NULL
  1592. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1593. AND B.StatusCd = '처리완료'
  1594. AND C.ORD_NO > 1000
  1595. AND NOT EXISTS (
  1596. SELECT 1
  1597. FROM tb_order_change_detail X
  1598. WHERE X.ORD_CHG_SQ = A.ORD_CHG_SQ
  1599. AND X.ORD_DTL_NO = C.ORD_DTL_NO
  1600. )
  1601. ;
  1602. -- 수량부분 반품(처리중)
  1603. INSERT INTO tb_order_change_detail
  1604. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1605. ORD_CHG_SQ
  1606. , ORD_DTL_NO
  1607. , B.Qty
  1608. , 'G685_XX' AS CHG_STAT
  1609. , NULL AS CHG_ORD_DTL_NO
  1610. , NULL AS WH_MEMO
  1611. , NULL AS COMPLETE_DT
  1612. , 'N' AS DEL_YN
  1613. , A.REG_NO
  1614. , A.REG_DT
  1615. , A.UPD_NO
  1616. , A.UPD_DT
  1617. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1618. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1619. AND A.OLD_ORD_NO = C.ORD_NO
  1620. AND B.OrderItemNo = C.ORD_DTL_NO
  1621. AND A.CHG_GB = 'G680_30'
  1622. AND B.ExceptionTypeCd = '반품'
  1623. AND (C.ORD_QTY - C.CNCL_RTN_QTY) != B.Qty
  1624. AND B.StatusCd IS NOT NULL
  1625. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1626. AND B.StatusCd != '처리완료'
  1627. AND C.ORD_NO > 1000
  1628. AND NOT EXISTS (
  1629. SELECT 1
  1630. FROM tb_order_change_detail X
  1631. WHERE X.ORD_CHG_SQ = A.ORD_CHG_SQ
  1632. AND X.ORD_DTL_NO = C.ORD_DTL_NO
  1633. )
  1634. ;
  1635. -- 결제내역
  1636. INSERT INTO tb_payment (ORD_NO, PAY_DT, PAY_MEANS, PAY_AMT, PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, PAY_STAT, PG_GB, PG_TID, PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND, CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS, CARD_PCABLE_YN, VA_NO, VA_NM, VA_BANK, VA_DEADLINE, TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO, ORD_CHG_SQ, REG_NO, REG_DT, UPD_NO, UPD_DT)
  1637. SELECT DISTINCT ORD_NO, C.DateRefund AS PAY_DT, PAY_MEANS, ((refundcash + refundCardCancel) * -1) AS PAY_AMT
  1638. , PG_CPN_AMT, NPAY_PNT_AMT, PAY_GB, 'G016_99' AS PAY_STAT, PG_GB, PG_TID
  1639. , PG_TRADE_NO, PG_SHOP_ID, PG_SHOP_KEY, CARD_TYPE, CARD_KIND
  1640. , CARD_BANK, CARD_CD, CARD_NM, COM_CARD_CD, CARD_MIPS
  1641. , CARD_PCABLE_YN, NULL AS VA_NO, NULL AS VA_NM, NULL AS VA_BANK, NULL AS VA_DEADLINE
  1642. , TELECOM, ESCROW_YN, CASH_AUTH_NO, CASH_TRADE_NO
  1643. , B.ORD_CHG_SQ, B.REG_NO, C.DateRefund AS REG_DT, B.UPD_NO, C.DateRefund AS UPD_DT
  1644. FROM tb_payment A, tb_order_change B, old_ord_refund C
  1645. WHERE A.ORD_NO = B.OLD_ORD_NO
  1646. AND B.ORD_CHG_SQ = C.ExceptionNo
  1647. AND B.CHG_GB = 'G680_30'
  1648. /*AND EXISTS(
  1649. SELECT 1
  1650. FROM tb_order_change_detail X -- , old_ord_orderexceptionitem Y -- TB_ORDER_CHANGE_DETAIL 보면될듯
  1651. WHERE X.ORD_CHG_SQ = B.ORD_CHG_SQ
  1652. AND X.CHG_STAT = 'G685_XX'
  1653. )*/
  1654. AND C.StatusCd = '환불완료'
  1655. AND A.ORD_NO > 1000
  1656. -- AND B.ORD_CHG_SQ = 1548613
  1657. ;
  1658. -- 완료건
  1659. INSERT INTO tb_refund
  1660. SELECT
  1661. A.ORD_NO
  1662. , A.PAY_SQ
  1663. , A.ORD_CHG_SQ
  1664. , (refundcash + refundCardCancel) AS REFUND_AMT
  1665. , 0 AS DEPOSIT_AMT
  1666. , C.RefundAccount AS RA_NO
  1667. , C.RefundBank AS RA_BANK
  1668. , C.AccountUserName AS RA_NM
  1669. , 0 AS RF_CPN1_AMT
  1670. , 0 AS RF_TMTB1_AMT
  1671. , 0 AS RF_TMTB2_AMT
  1672. , 0 AS RF_GOODS_CPN_AMT
  1673. , C.RefundCouponDiscount AS RF_CART_CPN_AMT
  1674. , 0 AS RF_DELV_CPN_AMT
  1675. , C.RefundMileage AS RF_PNT_AMT
  1676. , 0 AS RF_PRE_PNT_AMT
  1677. , C.RefundTokenAmt AS RF_GFCD_USE_AMT
  1678. , 0 AS RF_DELV_GFCD_USE_AMT
  1679. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost + refundTokenAmt + refundMileage + RefundCouponDiscount) - refundDeliveryCost) AS RF_CNCL_AMT
  1680. , C.RefundDeliveryCost AS RF_DELIVERY_FEE
  1681. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost) - refundDeliveryCost) AS RF_REAL_CNCL_AMT
  1682. , CustomerChargeDeliveryCost AS CUST_DELV_COST
  1683. , refundMemo AS RF_MEMO
  1684. , B.REG_NO
  1685. , B.REG_DT
  1686. , 'N' AS ENC_UPD_YN
  1687. FROM tb_payment A, tb_order_change B, old_ord_refund C
  1688. WHERE A.ORD_NO = B.OLD_ORD_NO
  1689. AND A.ORD_CHG_SQ = B.ORD_CHG_SQ
  1690. AND B.ORD_CHG_SQ = C.ExceptionNo
  1691. AND B.CHG_GB = 'G680_30'
  1692. /*AND EXISTS(
  1693. SELECT 1
  1694. FROM tb_order_change_detail X -- , old_ord_orderexceptionitem Y -- TB_ORDER_CHANGE_DETAIL 보면될듯
  1695. WHERE X.ORD_CHG_SQ = B.ORD_CHG_SQ
  1696. AND X.CHG_STAT = 'G685_XX'
  1697. )*/
  1698. AND C.StatusCd = '환불완료'
  1699. AND B.OLD_ORD_NO > 1000
  1700. -- AND C.ExceptionNo = 1725163
  1701. ; -- 7초
  1702. -- 취소/반품 완료일자 업데이트
  1703. UPDATE tb_order_change_detail A, OLD_ORD_REFUND B
  1704. SET COMPLETE_DT = DATEREFUND
  1705. WHERE A.ORD_CHG_SQ = B.EXCEPTIONNO
  1706. ;
  1707. -- 반품진행중
  1708. INSERT INTO tb_refund
  1709. SELECT
  1710. B.OLD_ORD_NO AS ORD_NO
  1711. , 0 AS PAY_SQ
  1712. , B.ORD_CHG_SQ
  1713. , (refundcash + refundCardCancel) AS REFUND_AMT
  1714. , 0 AS DEPOSIT_AMT
  1715. , C.RefundAccount AS RA_NO
  1716. , C.RefundBank AS RA_BANK
  1717. , C.AccountUserName AS RA_NM
  1718. , 0 AS RF_CPN1_AMT
  1719. , 0 AS RF_TMTB1_AMT
  1720. , 0 AS RF_TMTB2_AMT
  1721. , 0 AS RF_GOODS_CPN_AMT
  1722. , C.RefundCouponDiscount AS RF_CART_CPN_AMT
  1723. , 0 AS RF_DELV_CPN_AMT
  1724. , C.RefundMileage AS RF_PNT_AMT
  1725. , 0 AS RF_PRE_PNT_AMT
  1726. , C.RefundTokenAmt AS RF_GFCD_USE_AMT
  1727. , 0 AS RF_DELV_GFCD_USE_AMT
  1728. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost + refundTokenAmt + refundMileage + RefundCouponDiscount) - refundDeliveryCost) AS RF_CNCL_AMT
  1729. , C.RefundDeliveryCost AS RF_DELIVERY_FEE
  1730. , ((refundcash + refundCardCancel + CustomerChargeDeliveryCost) - refundDeliveryCost) AS RF_REAL_CNCL_AMT
  1731. , CustomerChargeDeliveryCost AS CUST_DELV_COST
  1732. , refundMemo AS RF_MEMO
  1733. , B.REG_NO
  1734. , B.REG_DT
  1735. , 'N' AS ENC_UPD_YN
  1736. FROM tb_order_change B, old_ord_refund C
  1737. WHERE B.ORD_CHG_SQ = C.ExceptionNo
  1738. AND B.CHG_GB = 'G680_30'
  1739. /*AND EXISTS(
  1740. SELECT 1
  1741. FROM tb_order_change_detail X -- , old_ord_orderexceptionitem Y -- TB_ORDER_CHANGE_DETAIL 보면될듯
  1742. WHERE X.ORD_CHG_SQ = B.ORD_CHG_SQ
  1743. AND X.CHG_STAT = 'G685_XX'
  1744. )*/
  1745. AND C.StatusCd != '환불완료'
  1746. AND B.OLD_ORD_NO > 1000
  1747. -- AND C.ExceptionNo = 1548613
  1748. ;
  1749. -- 배치실행 TsbMigrationOrderTask returnQtyOrderDetailJob
  1750. -- 반품배송비 (마지막)
  1751. INSERT INTO tb_delivery_fee ( PAY_SQ, ORD_NO, DELV_FEE_GB, DELV_FEE_CD, DELV_FEE, DELV_CPN_SQ, DELV_CPN_DC_AMT, REAL_DELV_AMT, ORD_CHG_SQ, SUPPLY_COMP_CD, DELV_USAC_YN, DELV_USAC_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  1752. SELECT
  1753. (SELECT PAY_SQ FROM tb_payment X WHERE X.ORD_CHG_SQ = A.ORD_CHG_SQ LIMIT 1) AS PAY_SQ
  1754. , A.OLD_ORD_NO
  1755. , 'G018_40' AS DELV_FEE_GB
  1756. , (SELECT DELV_FEE_CD FROM tb_delivery_fee X WHERE X.ORD_NO = A.OLD_ORD_NO LIMIT 1) AS DELV_FEE_CD
  1757. , B.CustomerChargeDeliveryCost AS DELV_FEE
  1758. , NULL AS DELV_CPN_SQ
  1759. , 0 AS DELV_CPN_DC_AMT
  1760. , B.CustomerChargeDeliveryCost AS REAL_DELV_AMT
  1761. , A.ORD_CHG_SQ
  1762. , (SELECT SUPPLY_COMP_CD FROM tb_delivery_fee X WHERE X.ORD_NO = A.OLD_ORD_NO LIMIT 1) AS SUPPLY_COMP_CD
  1763. , 'N' AS DELV_USAC_YN
  1764. , NULL AS DELV_USAC_DT
  1765. , A.REG_NO
  1766. , A.REG_DT
  1767. , A.REG_NO AS UPD_NO
  1768. , A.REG_DT AS UPD_DT
  1769. FROM tb_order_change A, old_ord_refund B
  1770. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1771. AND A.CHG_GB = 'G680_30'
  1772. AND B.StatusCd = '환불완료'
  1773. ;
  1774. /*
  1775. INSERT INTO tb_delivery_fee ( PAY_SQ, ORD_NO, DELV_FEE_GB, DELV_FEE_CD, DELV_FEE, DELV_CPN_SQ, DELV_CPN_DC_AMT, REAL_DELV_AMT, ORD_CHG_SQ, SUPPLY_COMP_CD, DELV_USAC_YN, DELV_USAC_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  1776. SELECT
  1777. A.PAY_SQ
  1778. , A.ORD_NO
  1779. , 'G018_40' AS DELV_FEE_GB
  1780. , B.DELV_FEE_CD
  1781. , RF_DELIVERY_FEE * -1 AS DELV_FEE
  1782. , NULL AS DELV_CPN_SQ
  1783. , 0 AS DELV_CPN_DC_AMT
  1784. , RF_DELIVERY_FEE * -1 AS REAL_DELV_AMT
  1785. , A.ORD_CHG_SQ
  1786. , B.SUPPLY_COMP_CD
  1787. , 'N' AS DELV_USAC_YN
  1788. , NULL AS DELV_USAC_DT
  1789. , A.REG_NO
  1790. , A.REG_DT
  1791. , A.REG_NO AS UPD_NO
  1792. , A.REG_DT AS UPD_DT
  1793. FROM tb_refund A, tb_delivery_fee B
  1794. WHERE A.ORD_NO = B.ORD_NO
  1795. AND A.PAY_SQ != B.PAY_SQ
  1796. AND RF_DELIVERY_FEE > 0
  1797. ;
  1798. */
  1799. -- 교환
  1800. -- 주문상세별 교환
  1801. INSERT INTO tb_order_change (ORD_CHG_SQ, CHG_GB, CHG_REASON, CHG_MEMO, WD_GB, CHGER_NM, CHGER_PHNNO, CHGER_TELNO, CHGER_EMAIL, CHGER_ZIPCODE, CHGER_BASE_ADDR, CHGER_DTL_ADDR, CHGER_RTN_MEMO, ADD_PAY_COST, ADD_PAY_AMT, WD_INVOICE_NO, WD_INVOICE_SEND_YN, SHIP_COMP_CD, WD_STDT, WD_EDDT, SWT_TRC_SEND_YN, WD_SHIP_STATE, WD_REASON_CD, WD_STATE_DT, WD_BF_SEND_YN, REG_NO, REG_DT, UPD_NO, UPD_DT, OLD_ORD_NO, OLD_EXEPTION_NO)
  1802. SELECT DISTINCT
  1803. C.ExceptionNo
  1804. , CHG_GB
  1805. , CHG_REASON
  1806. , C.AdminMemo AS CHG_MEMO
  1807. , WD_GB
  1808. , CHGER_NM
  1809. , CHGER_PHNNO
  1810. , CHGER_TELNO
  1811. , CHGER_EMAIL
  1812. , CHGER_ZIPCODE
  1813. , CHGER_BASE_ADDR
  1814. , CHGER_DTL_ADDR
  1815. , CHGER_RTN_MEMO
  1816. , ADD_PAY_COST
  1817. , ADD_PAY_AMT
  1818. , WD_INVOICE_NO
  1819. , WD_INVOICE_SEND_YN
  1820. , SHIP_COMP_CD
  1821. , WD_STDT
  1822. , WD_EDDT
  1823. , SWT_TRC_SEND_YN
  1824. , WD_SHIP_STATE
  1825. , WD_REASON_CD
  1826. , WD_STATE_DT
  1827. , WD_BF_SEND_YN
  1828. , REG_NO
  1829. , C.DateCreated AS REG_DT
  1830. , REG_NO
  1831. , C.DateLastModified AS UPD_DT
  1832. , ORD_NO
  1833. , C.ExceptionNo
  1834. FROM (
  1835. SELECT 'G680_40' AS CHG_GB
  1836. , CASE
  1837. WHEN (SELECT MAX(ExceptionReasonCd)
  1838. FROM old_ord_orderexceptionitem X
  1839. WHERE X.ExceptionNo = B.ExceptionNo
  1840. AND X.ExceptionTypeCd = '교환') = '오배송' THEN 'G689_12'
  1841. WHEN (SELECT MAX(ExceptionReasonCd)
  1842. FROM old_ord_orderexceptionitem X
  1843. WHERE X.ExceptionNo = B.ExceptionNo
  1844. AND X.ExceptionTypeCd = '교환') = '상품불량' THEN 'G689_11'
  1845. ELSE 'G689_90' END AS CHG_REASON
  1846. , NULL AS WD_GB
  1847. , (SELECT RECIP_NM FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_NM
  1848. , (SELECT RECIP_PHNNO FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_PHNNO
  1849. , (SELECT RECIP_TELNO FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_TELNO
  1850. , (SELECT ORD_EMAIL FROM tb_order X WHERE X.ORD_NO = A.ORD_NO) AS CHGER_EMAIL
  1851. , (SELECT RECIP_ZIPCODE FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_ZIPCODE
  1852. , (SELECT RECIP_BASE_ADDR FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_BASE_ADDR
  1853. , (SELECT RECIP_DTL_ADDR FROM tb_delivery_addr X WHERE X.DELV_ADDR_SQ = A.DELV_ADDR_SQ) AS CHGER_DTL_ADDR
  1854. , NULL AS CHGER_RTN_MEMO
  1855. , 0 AS ADD_PAY_COST
  1856. , 0 AS ADD_PAY_AMT
  1857. , NULL AS WD_INVOICE_NO
  1858. , 'N' AS WD_INVOICE_SEND_YN
  1859. , NULL AS SHIP_COMP_CD
  1860. , NULL AS WD_STDT
  1861. , NULL AS WD_EDDT
  1862. , 'N' AS SWT_TRC_SEND_YN
  1863. , NULL AS WD_SHIP_STATE
  1864. , NULL AS WD_REASON_CD
  1865. , NULL AS WD_STATE_DT
  1866. , 'N' AS WD_BF_SEND_YN
  1867. , A.REG_NO
  1868. , A.REG_DT
  1869. , A.UPD_NO
  1870. , A.UPD_DT
  1871. , A.ORD_NO
  1872. , B.ExceptionNo
  1873. FROM tb_order_detail A,
  1874. old_ord_orderexceptionitem B
  1875. WHERE A.ORD_DTL_NO = B.OrderItemNo
  1876. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1877. AND B.ExceptionTypeCd = '교환'
  1878. AND B.StatusCd IS NOT NULL
  1879. ) AA, old_ord_orderexception C
  1880. WHERE AA.ExceptionNo = C.ExceptionNo
  1881. -- AND C.ExceptionNo = 1548177
  1882. ; --
  1883. -- 환불대기밖에 없음...
  1884. INSERT INTO tb_order_change_detail
  1885. SELECT DISTINCT -- old_ord_orderexceptionitem 데이터중복인게 있네
  1886. ORD_CHG_SQ
  1887. , ORD_DTL_NO
  1888. , B.Qty
  1889. , 'G685_40' AS CHG_STAT
  1890. , NULL AS CHG_ORD_DTL_NO
  1891. , NULL AS WH_MEMO
  1892. , NULL AS COMPLETE_DT
  1893. , 'N' AS DEL_YN
  1894. , A.REG_NO
  1895. , A.REG_DT
  1896. , A.UPD_NO
  1897. , A.UPD_DT
  1898. FROM tb_order_change A, old_ord_orderexceptionitem B, tb_order_detail C
  1899. WHERE A.ORD_CHG_SQ = B.ExceptionNo
  1900. AND A.OLD_ORD_NO = C.ORD_NO
  1901. AND B.OrderItemNo = C.ORD_DTL_NO
  1902. AND A.CHG_GB = 'G680_40'
  1903. AND B.ExceptionTypeCd = '교환'
  1904. -- AND (C.ORD_QTY - C.CNCL_RTN_QTY) = B.Qty
  1905. AND ORD_DTL_STAT NOT IN('G013_00', 'G013_10', 'G013_98', 'G013_99')
  1906. AND B.StatusCd IS NOT NULL
  1907. AND C.ORD_NO > 1000
  1908. ; --
  1909. SELECT * FROM tb_common_code WHERE CD_GB = 'G685';
  1910. SELECT
  1911. ORD_NO
  1912. , 'E' AS ORD_EXCH_GB
  1913. , ORD_DTL_STAT VARCHAR(20) NOT NULL DEFAULT 'G013_00' COMMENT '주문상세상태(공통코드G013)', -- 주문상세상태(공통코드G013)
  1914. ORG_ORD_DTL_NO INT UNSIGNED NULL COMMENT '원주문상세번호(주문상세). 교환 시에만 사용', -- 원주문상세번호
  1915. SUPPLY_COMP_CD VARCHAR(20) NOT NULL COMMENT '공급업체코드', -- 공급업체코드
  1916. GOODS_CD VARCHAR(20) NOT NULL COMMENT '상품코드', -- 상품코드
  1917. DEAL_GOODS_CD VARCHAR(20) NULL COMMENT '딜상품코드', -- 딜상품코드
  1918. FORMAL_GB VARCHAR(20) NULL DEFAULT 'G009_10' COMMENT '정상이월구분(공통코드G009)', -- 정상이월구분(공통코드G009)
  1919. GOODS_TYPE VARCHAR(20) NOT NULL COMMENT '상품타입(공통코드G056)', -- 상품타입(공통코드G056)
  1920. LIST_PRICE INT NOT NULL COMMENT '정상가(최초판매가)', -- 정상가(최초판매가)
  1921. CURR_PRICE INT NOT NULL COMMENT '현재판매가', -- 현재판매가
  1922. DC_RATE FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '할인율', -- 할인율
  1923. OPT_ADD_PRICE INT NOT NULL DEFAULT 0 COMMENT '옵션추가가격. 주문상세단품 옵션 추가가격의 합', -- 옵션추가가격
  1924. ORD_QTY SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '주문수량', -- 주문수량
  1925. ORD_AMT INT NOT NULL DEFAULT 0 COMMENT '주문금액(=(현재판매가 + 옵션추가가격) * 주문수량)', -- 주문금액
  1926. CNCL_RTN_QTY SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '취소반품수량', -- 취소반품수량
  1927. CNCL_RTN_AMT INT NOT NULL DEFAULT 0 COMMENT '취소반품금액', -- 취소반품금액
  1928. CPN1_CPN_SQ INT UNSIGNED NULL COMMENT '1차쿠폰(즉시할인쿠폰)일련번호(고객보유쿠폰일련번호)', -- 1차쿠폰(즉시할인쿠폰)일련번호
  1929. CPN1_DC_AMT INT NOT NULL DEFAULT 0 COMMENT '1차쿠폰(즉시할인쿠폰)할인금액', -- 1차쿠폰(즉시할인쿠폰)할인금액
  1930. TMTB1_SQ INT UNSIGNED NULL COMMENT '다다익선1일련번호(수량)', -- 다다익선1일련번호(수량)
  1931. TMTB1_DC_AMT INT NOT NULL DEFAULT 0 COMMENT '다다익선1할인금액(수량)', -- 다다익선1할인금액(수량)
  1932. TMTB2_SQ INT UNSIGNED NULL COMMENT '다다익선2일련번호(금액)', -- 다다익선2일련번호(금액)
  1933. TMTB2_DC_AMT INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '다다익선2할인금액(금액)', -- 다다익선2할인금액(금액)
  1934. GOODS_CPN_SQ INT UNSIGNED NULL COMMENT '상품쿠폰일련번호(고객보유쿠폰일련번호)', -- 상품쿠폰일련번호
  1935. GOODS_CPN_DC_AMT INT NOT NULL DEFAULT 0 COMMENT '상품쿠폰할인금액', -- 상품쿠폰할인금액
  1936. CART_CPN_SQ INT UNSIGNED NULL COMMENT '장바구니쿠폰일련번호(고객보유쿠폰일련번호)', -- 장바구니쿠폰일련번호
  1937. CART_CPN_DC_AMT INT NOT NULL DEFAULT 0 COMMENT '장바구니쿠폰할인금액', -- 장바구니쿠폰할인금액
  1938. BURDEN_RATE FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '쿠폰분담율', -- 쿠폰분담율
  1939. PNT_DC_AMT INT NOT NULL DEFAULT 0 COMMENT '포인트할인금액', -- 포인트할인금액
  1940. PRE_PNT_DC_AMT INT NOT NULL DEFAULT 0 COMMENT '선포인트할인금액', -- 선포인트할인금액
  1941. SAVE_PNT_AMT INT NOT NULL DEFAULT 0 COMMENT '적립포인트금액', -- 적립포인트금액
  1942. REAL_ORD_AMT INT NOT NULL COMMENT '실주문금액(주문금액 - 취소반품금액 - 1차쿠폰 - 다다익선1 - 다다익선2 - 상품쿠폰 - 장바구니쿠폰 - 포인트할인금액 - 선포인트할인금액)', -- 실주문금액
  1943. GFCD_USE_AMT INT NOT NULL COMMENT '상품권사용금액', -- 상품권사용금액
  1944. VENDOR_ID VARCHAR(20) NULL COMMENT '외부몰벤더ID(공통코드G003)', -- 외부몰벤더ID(공통코드G003)
  1945. EXTMALL_ID VARCHAR(20) NULL COMMENT '외부몰ID(외부몰)', -- 외부몰ID(외부몰)
  1946. AGENT_ORDER_ID VARCHAR(30) NULL COMMENT '에이전트주문번호. 몰구분이 "G011_20:외부몰"일 때 사용', -- 에이전트주문번호
  1947. EXTMALL_ORDER_ID VARCHAR(50) NULL COMMENT '외부몰주문번호(=쇼핑몰주문번호). 몰구분이 "G011_20:외부몰"일 때 사용', -- 외부몰주문번호
  1948. CHANGEABLE_YN CHAR(1) NOT NULL DEFAULT 'Y' COMMENT '교환가능여부(Y:교환가능)', -- 교환가능여부(Y:교환가능)
  1949. CHANGE_FEE_FREE_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '교환배송비무료여부(Y:교환배송비무료)', -- 교환배송비무료여부(Y:교환배송비무료)
  1950. RETURNABLE_YN CHAR(1) NOT NULL DEFAULT 'Y' COMMENT '반품가능여부(Y:반품가능)', -- 반품가능여부(Y:반품가능)
  1951. RETURN_FEE_FREE_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '반품배송비무료여부(Y:반품배송비무료)', -- 반품배송비무료여부(Y:반품배송비무료)
  1952. SOLDOUT_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '결품여부(Y:결품)', -- 결품여부(Y:결품)
  1953. SOLDOUT_MEMO VARCHAR(500) NULL COMMENT '결품메모', -- 결품메모
  1954. SOLDOUT_REG_NO INT UNSIGNED NULL COMMENT '결품등록자번호', -- 결품등록자번호
  1955. SOLDOUT_REG_DT TIMESTAMP NULL COMMENT '결품등록일시', -- 결품등록일시
  1956. DELV_ADDR_SQ INT UNSIGNED NOT NULL COMMENT '배송지일련번호', -- 배송지일련번호
  1957. DELV_FEE_CD VARCHAR(20) NOT NULL COMMENT '배송비정책코드', -- 배송비정책코드
  1958. SHOT_DELV_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '총알배송여부', -- 총알배송여부
  1959. GIFT_PACK_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '선물포장여부', -- 선물포장여부
  1960. GIFT_ADDR_INP_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '선물주소입력여부', -- 선물주소입력여부
  1961. MAKE_GOODS_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '주문제작상품확인여부: 주문제작상품 주문 시 확인', -- 주문제작상품여부
  1962. ENTRY_NO VARCHAR(20) NULL COMMENT '통관번호', -- 통관번호
  1963. DELV_LOC_CD VARCHAR(20) NULL COMMENT '출고처코드', -- 출고처코드
  1964. DELV_ASSIGN_DT TIMESTAMP NULL COMMENT '출고지정일시', -- 출고지정일시
  1965. DELV_ASSIGN_STAT CHAR(1) NOT NULL DEFAULT 'P' COMMENT '출고지정상태(P:대기,Y:수락,N:거부). 입점은 DEFAULT ''Y''', -- 출고지정상태(P:대기,Y:수락,N:거부)
  1966. DSTRBT_NOTE VARCHAR(1000) NULL COMMENT '물류비고(물류담당자에게 공지)', -- 물류비고(물류담당자에게 공지)
  1967. DELV_STDT TIMESTAMP NULL COMMENT '배송시작일시', -- 배송시작일시
  1968. DELV_EDDT TIMESTAMP NULL COMMENT '배송완료일시', -- 배송완료일시
  1969. SHIP_COMP_CD VARCHAR(20) NULL COMMENT '배송업체코드', -- 배송업체코드
  1970. INVOICE_NO VARCHAR(30) NULL COMMENT '송장번호', -- 송장번호
  1971. INVOICE_SEND_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '송장전송여부(Y:전송완료, N:전송미완료, X:전송할필요없음)', -- 송장전송여부
  1972. SELL_STORE_CD VARCHAR(20) NULL COMMENT '판매매장코드', -- 판매매장코드
  1973. SELL_FEE_RATE FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '판매수수료율', -- 판매수수료율
  1974. AF_LINK_CD VARCHAR(20) NULL COMMENT '제휴링크코드', -- 제휴링크코드
  1975. ITHR_CD VARCHAR(20) NULL COMMENT '유입경로(공통코드G027)', -- 유입경로(공통코드G027)
  1976. CONTENTS_LOC VARCHAR(20) NULL COMMENT '컨텐츠위치(공통코드G028)', -- 컨텐츠위치(공통코드G028)
  1977. PLAN_DTL_SQ INT UNSIGNED NULL COMMENT '기획전상세번호', -- 기획전상세번호
  1978. SOCIAL_SQ INT UNSIGNED NULL COMMENT '소셜일련번호', -- 소셜일련번호
  1979. NPAY_ORD_DTL_NO INT UNSIGNED NULL COMMENT '네이버페이_상품주문번호', -- 네이버페이 상품주문번호(주문상세번호)
  1980. REG_NO INT UNSIGNED NOT NULL COMMENT '등록자번호', -- 등록자번호
  1981. REG_DT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시', -- 등록일시
  1982. UPD_NO INT UNSIGNED NOT NULL COMMENT '수정자번호', -- 수정자번호
  1983. UPD_DT
  1984. FROM tb_order_detail A, tb_order_change_detail B
  1985. WHERE A.ORD_DTL_NO = B.ORD_DTL_NO
  1986. AND EXISTS(
  1987. SELECT 1
  1988. FROM tb_order_change X
  1989. WHERE X.ORD_CHG_SQ = B.ORD_CHG_SQ
  1990. AND X.CHG_GB = 'G680_40'
  1991. )
  1992. ;
  1993. SELECT * FROM tb_refund WHERE PAY_SQ = 0;
  1994. SELECT * FROM tb_common_code WHERE CD_GB = 'G018';
  1995. CHANGE_DETAIL
  1996. 처리완료 - G685_60 (반품완료)
  1997. 회수지시 - G685_30 (회수요청)
  1998. 환불대기 - G685_33 (반품진행중)
  1999. 회수완료 - G685_33 (반품진행중)
  2000. 환불지시 - G685_33 (반품진행중)
  2001. 접수 - G685_50 (반품접수)
  2002. SELECT * FROM old_ord_orderexception WHERE ExceptionNo = 1549015;
  2003. SELECT * FROM old_ord_orderexceptionitem WHERE ExceptionNo = 1549015;
  2004. SELECT DISTINCT StatusCd FROM old_ord_orderexception WHERE ExceptionTypeCd = '반품';
  2005. SELECT DISTINCT StatusCd FROM old_ord_orderexception WHERE ExceptionTypeCd = '취소';
  2006. SELECT * FROM old_ord_deliveryorder WHERE DeliveryOrderNo = 13150505;
  2007. SELECT * FROM old_ord_refund WHERE ExceptionNo = 1867057;
  2008. SELECT * FROM old_ord_orderexceptionitem WHERE ExceptionTypeCd = '반품' AND StatusCd IS NULL ORDER BY ExceptionItemNo DESC;
  2009. SELECT * FROM old_ord_orderexceptionitem WHERE ExceptionTypeCd = '취소' AND StatusCd = '접수';
  2010. SELECT * FROM old_ord_orderexception WHERE ExceptionTypeCd = '반품' AND StatusCd IS NULL;
  2011. SELECT * FROM old_ord_order WHERE OrderGUID = '36A73125-7C41-47B5-9EDD-787F31459A3E';
  2012. SELECT * FROM old_ord_orderexception WHERE ExceptionNo IN (
  2013. SELECT ExceptionNo FROM old_ord_orderexceptionitem WHERE ExceptionTypeCd = '반품' AND StatusCd IS NULL
  2014. )
  2015. AND StatusCd = '접수'
  2016. ;
  2017. 회수지시
  2018. 접수
  2019. SELECT * FROM old_ord_refund WHERE ExceptionNo = 1920476;
  2020. SELECT * FROM tb_delivery_fee WHERE DELV_FEE < 0;
  2021. SELECT * FROM tb_order_detail WHERE ORD_NO = 19429594;
  2022. SELECT * FROM tb_payment WHERE ORD_NO = 19429594;
  2023. SELECT * FROM tb_order_change;
  2024. SELECT B.*
  2025. FROM tb_order_change A, old_ord_refund B
  2026. WHERE A.OLD_EXEPTION_NO = B.ExceptionNo
  2027. AND CustomerChargeDeliveryCost > 0
  2028. ;
  2029. SELECT * FROM tb_common_code WHERE CD_GB = 'G320';
  2030. SELECT * FROM tb_common_code WHERE CD_GB = 'G680';
  2031. SELECT * FROM tb_common_code WHERE CD_GB = 'G688';
  2032. SELECT * FROM tb_common_code WHERE CD_GB = 'G685';
  2033. SELECT * FROM tb_common_code WHERE CD_GB = 'G018';
  2034. -- 환불계좌 암호화 배치
  2035. SELECT * FROM tb_refund;
  2036. SELECT COUNT(1) FROM tb_refund
  2037. WHERE RA_NO IS NOT NULL
  2038. AND RA_NO != ''
  2039. AND ENC_UPD_YN = 'N'
  2040. ;