225 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			SQL
		
	
	
	
			
		
		
	
	
			225 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			SQL
		
	
	
	
 | 
						|
truncate table sa_order;
 | 
						|
truncate table sa_order_items;
 | 
						|
 | 
						|
-- 直销订单迁移
 | 
						|
insert into sa_order(pk_id,
 | 
						|
                     order_code,
 | 
						|
                     order_type,
 | 
						|
                     pk_rate,
 | 
						|
                     order_amount,
 | 
						|
                     order_achieve,
 | 
						|
                     postage,
 | 
						|
                     rec_name,
 | 
						|
                     rec_phone,
 | 
						|
                     rec_province,
 | 
						|
                     rec_city,
 | 
						|
                     rec_county,
 | 
						|
                     rec_address,
 | 
						|
                     pay_time,
 | 
						|
                     remark,
 | 
						|
                     delivery_way,
 | 
						|
                     order_status,
 | 
						|
                     del_flag,
 | 
						|
                     creation_time,
 | 
						|
                     modified_time,
 | 
						|
                     pk_country,
 | 
						|
                     pk_creator,
 | 
						|
                     pk_modified,
 | 
						|
                     pk_member,
 | 
						|
                     pk_reference,
 | 
						|
                     pk_placement,
 | 
						|
                     tran_type,
 | 
						|
                     pk_storehouse)
 | 
						|
select bo.pkid                         PK_ID,
 | 
						|
       bo.ddbh                         ORDER_CODE,
 | 
						|
       bo.ddlx                         ORDER_TYPE,
 | 
						|
       bc.pk_id                        PK_RATE,
 | 
						|
       bo.ddje                         ORDER_AMOUNT,
 | 
						|
       trunc(nvl(bo.ddpv, 0) / 6.4, 6) ORDER_ACHIEVE,
 | 
						|
       nvl(bo.yf, 0)                   POSTAGE,
 | 
						|
       bo.shrm                         REC_NAME,
 | 
						|
       bo.shdh                         REC_PHONE,
 | 
						|
       basheng.pk_id                   REC_PROVINCE,
 | 
						|
       bashi.pk_id                     REC_CITY,
 | 
						|
       baxian.pk_id                    REC_COUNTY,
 | 
						|
       bo.DZ                           REC_ADDRESS,
 | 
						|
       bo.zfsj                         PAY_TIME,
 | 
						|
       bo.bz                           REMARK,
 | 
						|
       nvl(bo.fhfs, 3)                 DELIVERY_WAY,
 | 
						|
       bo.zfzt                         ORDER_STATUS,
 | 
						|
       bo.del_flag                     DEL_FLAG,
 | 
						|
       bo.create_time                  CREATION_TIME,
 | 
						|
       bo.update_time                  MODIFIED_TIME,
 | 
						|
       bo.pk_country                   PK_COUNTRY,
 | 
						|
       sucr.user_id                    PK_CREATOR,
 | 
						|
       suup.user_id                    PK_MODIFIED,
 | 
						|
       suyh.user_id                    PK_MEMBER,
 | 
						|
       case
 | 
						|
           when sutj.user_id is not null then
 | 
						|
               sutj.user_id
 | 
						|
           else
 | 
						|
               (case
 | 
						|
                    when bo.pk_country = 1 then
 | 
						|
                        102
 | 
						|
                    when bo.pk_country = 18 then
 | 
						|
                        5
 | 
						|
                    when bo.pk_country = 105 then
 | 
						|
                        193960
 | 
						|
                    when bo.pk_country = 106 then
 | 
						|
                        186745
 | 
						|
                   end)
 | 
						|
           end                         PK_REFERENCE,
 | 
						|
       suaz.user_id                    PK_PLACEMENT,
 | 
						|
       1                               TRAN_TYPE,
 | 
						|
       bo.WAREHOUSE                    PK_STOREHOUSE
 | 
						|
from hzs_cn.bs_order bo
 | 
						|
         left join hzs_cn.sys_user sucr
 | 
						|
                   on sucr.user_name = bo.create_by
 | 
						|
         left join hzs_cn.sys_user suup
 | 
						|
                   on suup.user_name = bo.update_by
 | 
						|
         left join hzs_cn.sys_user suyh
 | 
						|
                   on suyh.user_name = bo.yhbh
 | 
						|
         left join hzs_cn.sys_user sutj
 | 
						|
                   on sutj.user_name = bo.TJRBH
 | 
						|
         left join hzs_cn.sys_user suaz
 | 
						|
                   on suaz.user_name = bo.AZRBH
 | 
						|
         left join bd_area basheng
 | 
						|
                   on basheng.pk_country = bo.pk_country
 | 
						|
                       and basheng.code = bo.SHENG
 | 
						|
         left join bd_area bashi
 | 
						|
                   on bashi.pk_country = bo.pk_country
 | 
						|
                       and bashi.code = bo.SHI
 | 
						|
         left join bd_area baxian
 | 
						|
                   on baxian.pk_country = bo.pk_country
 | 
						|
                       and baxian.code = bo.XIAN
 | 
						|
         left join bd_currency bc
 | 
						|
                   on bc.del_flag = 0
 | 
						|
                       and bc.pk_country = bo.pk_country
 | 
						|
where suyh.user_id is not null
 | 
						|
  and bo.create_time >= to_date('2023-01-01 00:00:00', 'yyyy--mm-dd hh24:mi:ss');
 | 
						|
 | 
						|
 | 
						|
-- 直销订单明细迁移
 | 
						|
insert into sa_order_items
 | 
						|
(pk_id,
 | 
						|
 pk_order,
 | 
						|
 pk_product,
 | 
						|
 price,
 | 
						|
 quantity,
 | 
						|
 pk_rate,
 | 
						|
 achievement,
 | 
						|
 ass_achievement,
 | 
						|
 pk_grade,
 | 
						|
 pk_awards,
 | 
						|
 order_status,
 | 
						|
 del_flag,
 | 
						|
 creation_time,
 | 
						|
 modified_time,
 | 
						|
 pk_country,
 | 
						|
 is_gift,
 | 
						|
 pk_creator,
 | 
						|
 pk_modified,
 | 
						|
 specs_name,
 | 
						|
 wares_quantity,
 | 
						|
 logistics_code,
 | 
						|
 logistics_company)
 | 
						|
select boi.pkid                                                     PK_ID,
 | 
						|
       bo.pkid                                                      PK_ORDER,
 | 
						|
       boi.cpid                                                     PK_PRODUCT,
 | 
						|
       nvl(boi.jg, 0)                                               PRICE,
 | 
						|
       boi.cpsl                                                     QUANTITY,
 | 
						|
       bc.pk_id                                                     PK_RATE,
 | 
						|
       trunc(nvl(boi.pv, 0) / 6.4, 6)                               ACHIEVEMENT,
 | 
						|
       0                                                            ASS_ACHIEVEMENT,
 | 
						|
       case
 | 
						|
           when bo.DDLX != 3 then 0
 | 
						|
           when boi.zsjx < '0' then
 | 
						|
               (select bg.pk_id
 | 
						|
                from bd_grade bg
 | 
						|
                where bg.del_flag = 0
 | 
						|
                  and bg.pk_country = boi.pk_country
 | 
						|
                  and bg.grade_value = (case
 | 
						|
                                            when boi.zsjx = -6 then
 | 
						|
                                                20
 | 
						|
                                            when boi.zsjx = -5 then
 | 
						|
                                                30
 | 
						|
                                            when boi.zsjx = -4 then
 | 
						|
                                                40
 | 
						|
                                            when boi.zsjx = -3 then
 | 
						|
                                                50
 | 
						|
                                            when boi.zsjx = -2 then
 | 
						|
                                                60
 | 
						|
                                            when boi.zsjx = -1 then
 | 
						|
                                                70
 | 
						|
                    end))
 | 
						|
           when boi.zsjx is null or boi.zsjx >= '0' then
 | 
						|
               (select cm.pk_register_grade
 | 
						|
                from cu_member cm
 | 
						|
                where cm.pk_id = suyh.user_id)
 | 
						|
           end                                                      PK_GRADE,
 | 
						|
       case
 | 
						|
           when bo.DDLX != 3 then 0
 | 
						|
           when boi.zsjx is null or boi.zsjx < '0' then
 | 
						|
               (select ba.pk_id
 | 
						|
                from bd_awards ba
 | 
						|
                where ba.del_flag = 0
 | 
						|
                  and ba.pk_country = boi.pk_country
 | 
						|
                  and ba.awards_value = 0)
 | 
						|
           when boi.zsjx >= '0' then
 | 
						|
               (select ba.pk_id
 | 
						|
                from bd_awards ba
 | 
						|
                where ba.del_flag = 0
 | 
						|
                  and ba.pk_country = boi.pk_country
 | 
						|
                  and ba.awards_value = boi.zsjx * 5)
 | 
						|
           end                                                      PK_AWARDS,
 | 
						|
       case
 | 
						|
           when boi.DDZT is null then
 | 
						|
               1
 | 
						|
           when boi.DDZT = 0 then
 | 
						|
               0
 | 
						|
           when boi.DDZT = 1 then
 | 
						|
               1
 | 
						|
           when boi.DDZT = 2 or boi.DDZT = 3 then
 | 
						|
               3
 | 
						|
           end                                                      ORDER_STATUS,
 | 
						|
       nvl(boi.del_flag, 0)                                         DEL_FLAG,
 | 
						|
       nvl(boi.CREATE_TIME, nvl(boi.UPDATE_TIME, suyh.create_time)) CREATION_TIME,
 | 
						|
       boi.UPDATE_TIME                                              MODIFIED_TIME,
 | 
						|
       boi.PK_COUNTRY                                               PK_COUNTRY,
 | 
						|
       boi.ISACTGIFT                                                IS_GIFT,
 | 
						|
       sucr.user_id                                                 PK_CREATOR,
 | 
						|
       suup.user_id                                                 PK_MODIFIED,
 | 
						|
       bp.cpgg                                                      SPECS_NAME,
 | 
						|
       nvl(boi.GOOD_NUM, boi.cpsl)                                  WARES_QUANTITY,
 | 
						|
       trim(replace(boi.KDDH, '''', ''))                            LOGISTICS_CODE,
 | 
						|
       boi.KDGS                                                     LOGISTICS_COMPANY
 | 
						|
from hzs_cn.bs_order_items boi
 | 
						|
         inner join hzs_cn.bs_order bo
 | 
						|
                    on bo.ddbh = boi.ddbh
 | 
						|
         left join hzs_cn.sys_user suyh
 | 
						|
                   on suyh.user_name = bo.yhbh
 | 
						|
         left join bd_currency bc
 | 
						|
                   on bc.del_flag = 0
 | 
						|
                       and bc.pk_country = bo.pk_country
 | 
						|
         left join hzs_cn.sys_user sucr
 | 
						|
                   on sucr.user_name = bo.create_by
 | 
						|
         left join hzs_cn.sys_user suup
 | 
						|
                   on suup.user_name = bo.update_by
 | 
						|
         left join hzs_cn.bs_product bp
 | 
						|
                   on bp.pkid = boi.cpid
 | 
						|
where boi.ddbh is not null
 | 
						|
  and suyh.user_id is not null
 | 
						|
  and boi.create_time >= to_date('2023-01-01 00:00:00', 'yyyy--mm-dd hh24:mi:ss');
 | 
						|
 | 
						|
 | 
						|
-- 105国家仓库补全
 | 
						|
update SA_ORDER t
 | 
						|
set t.pk_storehouse = (case
 | 
						|
                           when t.pk_storehouse = 1 then
 | 
						|
                               62
 | 
						|
                           else
 | 
						|
                               61
 | 
						|
    end)
 | 
						|
where t.pk_country = 105
 |