java-zk-app/文档/迁移语句/jc-订单迁移语句1-直销.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