alter proc sp_bg_count_amt_hz @as_userid char(10)
asdelete from t_bg_count_amt where usercode =@as_useridselect pt_part,pt_desc1,pt_desc2,pl_prod_desc,pl_prod_line
into #a
from pl_mstr,pt_mstr
where pl_prod_line =pt_prod_line and pt_status='Y' select bg_part,t.opdate,bg_nbr,bg_cust,bg_corpno,bg_corpname,bg_factname,flag_other,bg_sort,flag_fee,flag_cw,bg_dzrmk ,so_po,price_ys,qty_act,t_zh_fee,flag_sort
into #b
from bg_m t,so_mstr m,sod_det d where t.bg_cust=m.so_cust and m.so_nbr=d.sod_nbr and t.bg_part=d.sod_part select round(sum(case sod_det.sod_um when 'KG' then tr_qty_weight when 'M' then tr_qty_piece else tr_qty_pc end * tr_price),3)*-1 amt,
sum(tr_qty_weight)*-1 num,tr_part,tr_effdate,so_po
into #c
from tr_hist inner join so_mstr on ( tr_hist.tr_addr = so_mstr.so_cust )
inner join sod_det on (sod_det.sod_nbr = tr_hist.tr_nbr and sod_det.sod_part = tr_hist.tr_part
and sod_det.sod_nbr = so_mstr.so_nbr)
where ( tr_hist.tr_type like 'ISS-SO%' or tr_hist.tr_type like 'RCT-SOR%' )
and tr_addr in (select cust from cust_right where usercode='ADM' and flag='Y')
group by tr_part,tr_effdate,so_po select a.bg_part,opdate,a.bg_nbr,bg_cust,cm_type,bg_corpno,bg_corpname,bg_factname,a.qty_act,a.bg_sort,flag_other,a.flag_sort,
sum(case when d.flag='Y' then bg_price else 0 end) bg_amt,a.flag_fee,a.flag_cw,a.bg_dzrmk,t.pt_part,t.pl_prod_desc,t.pl_prod_line,
isnull(sum(case when d.flag='Y' then price_ys else 0 end),0) kh_amt,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ) zq,
case when cm_type='AS02' and (pl_prod_desc not like '%定牌%' and (pl_prod_line like '071[6-9]%' or pl_prod_line like '072[0-1]%') ) then '50000' else 0 end sale_amt,
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),opdate) exdate ,t_zh_fee
into #d
from bg_m a,cm_mstr k,bg_d d,#a t
where a.bg_cust=k.cm_addr and t.pt_part=a.bg_part and a.bg_nbr=d.bg_nbr and not exists(select 1 from bg_m b, cm_mstr k1 where b.bg_cust = k1.cm_addr and b.bg_part=a.bg_part and
convert(varchar(19),a.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),a.opdate) + a.opdate,20) + a.bg_nbr >
convert(varchar(19),b.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),b.opdate) + b.opdate,20) + b.bg_nbr)
group by a.bg_part,a.opdate,a.bg_nbr,bg_cust,cm_type,bg_corpno,bg_corpname,bg_factname,bg_sort,flag_fee,flag_cw,bg_dzrmk,a.qty_act,
a.flag_other,t_zh_fee,t.pt_part,t.pl_prod_desc,t.pl_prod_line,flag_sort select usercode,cust
into #e from syscode4 s,cust_right c
where sysvalue2=c.usercode and syscode='每日接单短信提醒' and flag ='Y'insert t_bg_count_amt(t_part,opdate,exp_date,bg_nbr,cm_addr,sale_out_amt,amt_num,t_po,cm_type,corp_no,corp_name,t_factname,t_um,t_other,t_zh_fee,
t_qty_act,bc_amt,kh_amt,set_c,sale_amt,t_sort,t_fee,t_flag_cw,t_rmks,usercode,tr_effdate,t_user)select c.bg_part,c.opdate,c.exdate,c.bg_nbr,c.bg_cust,sum(d.amt),sum(d.num),d.so_po,c.cm_type,c.bg_corpno,c.bg_corpname,c.bg_factname,'支',
c.flag_other,
case
when c.cm_type='AS02' and (c.pl_prod_desc not like '%定牌%' and (c.pl_prod_line like '071[6-9]%' or c.pl_prod_line like '072[0-1]%') ) and sum(d.amt) >50000 then '免费'
when c.cm_type='AS02' and (pl_prod_desc not like '%定牌%' and (c.pl_prod_line like '071[6-9]%' or c.pl_prod_line like '072[0-1]%') ) and sum(d.amt) <50000 then '收费'
when c.cm_type='AS02' and (pl_prod_desc like '%定牌%' and (c.pl_prod_line like '071[6-9]%' or c.pl_prod_line like '072[0-1]%') ) then '收费'
when c.cm_type='AS13' and sum(d.amt)/35 - kh_amt >0 then '免费'
when c.cm_type='AS13' and sum(d.amt)/35 - kh_amt <0 then '收费'
when c.cm_type='AS09' and sum(d.num)>100000 then '免费'
when c.cm_type='AS09' and sum(d.num)<100000 then '收费'
when c.cm_type='AS07' then '收费' when c.cm_type='AS22' then '收费' else '' end ,
c.qty_act,c.bg_amt,c.kh_amt,c.zq,c.sale_amt,c.bg_sort,c.flag_fee,c.flag_cw,c.bg_dzrmk,@as_userid,d.tr_effdate,s.usercodefrom #d c,#c d,#e s
where c.bg_part =d.tr_part and s.cust=c.bg_cust and d.tr_effdate >= c.opdate and d.tr_effdate<= c.exdate
group by c.bg_part, c.opdate, c.exdate, c.bg_nbr, c.bg_cust,d.amt,d.num,d.so_po,c.cm_type,c.bg_corpno,c.bg_corpname,c.bg_factname,
c.flag_other,c.qty_act,c.bg_amt,c.kh_amt,c.zq,c.sale_amt,c.bg_sort,c.flag_fee,c.flag_cw,c.bg_dzrmk,tr_effdate,t_zh_fee,pl_prod_desc,
pl_prod_line,s.usercode,flag_sortunion all
select a.bg_part,a.opdate,dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),opdate),a.bg_nbr,a.bg_cust,0,0,so_po,cm_type,a.bg_corpno,a.bg_corpname,
a.bg_factname,'支',a.flag_other,
case
when cm_type='AS01' and (t.pl_prod_desc not like '%定牌%' and (t.pl_prod_line like '070[1-9]%' or t.pl_prod_line like '071[0-4]%')) then '免费'
when cm_type='AS01' and (t.pl_prod_desc like '%定牌%' and (t.pl_prod_line like '070[1-9]%' or t.pl_prod_line like '071[0-4]%')) and a.flag_sort in ('Y','N','T') then '免费'
when cm_type='AS01' and (t.pl_prod_desc like '%定牌%' and (t.pl_prod_line like '070[1-9]%' or t.pl_prod_line like '071[0-4]%')) and a.bg_sort in ('N','C') then '收费'
when cm_type='AS10' then '免费' when cm_type='AS16' then '免费或收费' when cm_type='AS15' then '免费或收费'
when cm_addr like 'AS04001%' then '免费' when cm_type='AS21' then '免费' when cm_addr like 'AS04002%' then '收费' when cm_addr like 'AS16005%' then '免费或收费'
when cm_addr like 'AS04004%' then '收费' when cm_addr like 'AS04007%' then '收费' when cm_addr like 'AS04003%' then '收费' when cm_addr like 'AS04006%' then '收费'
when cm_addr like 'AS04005%' then '收费' when cm_type ='AS06' and bg_sort ='N' then '收费'
when cm_type='AS06' and bg_sort ='C' then '免费' else '' end,
a.qty_act,isnull(sum(case when d.flag='Y' then bg_price else 0 end),0),isnull(sum(case when d.flag='Y' then price_ys else 0 end),0),
case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ,0,a.bg_sort,a.flag_fee,a.flag_cw,a.bg_dzrmk,@as_userid,'',s.usercodefrom #b a,#e s,#a t,cm_mstr k,bg_d dwhere a.bg_cust=k.cm_addr and s.cust= a.bg_cust and a.bg_part =t.pt_part and (case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end )='' and a.bg_nbr=d.bg_nbr and not exists(select 1 from bg_m b, cm_mstr k1 where b.bg_cust = k1.cm_addr and b.bg_part=a.bg_part and
convert(varchar(19),a.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),a.opdate) + a.opdate,20) + a.bg_nbr >
convert(varchar(19),b.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),b.opdate) + b.opdate,20) + b.bg_nbr)
group by a.bg_part,a.opdate,a.bg_nbr,bg_cust,cm_type,bg_corpno,bg_corpname,bg_factname,bg_sort,flag_fee,flag_cw,bg_dzrmk,a.qty_act,
a.flag_other,t_zh_fee,cm_addr,so_po,s.usercode,pl_prod_line,pl_prod_desc,flag_sort
alter proc sp_bg_count_amt_hz @as_userid char(10)
asdelete from t_bg_count_amt where usercode =@as_useridselect pt_part,pt_desc1,pt_desc2,pl_prod_desc,pl_prod_line
into #a
from pl_mstr,pt_mstr
where pl_prod_line =pt_prod_line and pt_status='Y' select bg_part,t.opdate,bg_nbr,bg_cust,bg_corpno,bg_corpname,bg_factname,flag_other,
bg_sort,flag_fee,flag_cw,bg_dzrmk ,so_po,price_ys,qty_act,t_zh_fee,flag_sort
into #b
from bg_m t,so_mstr m,sod_det d where t.bg_cust=m.so_cust
and m.so_nbr=d.sod_nbr and t.bg_part=d.sod_part select round(sum(case sod_det.sod_um when 'KG' then tr_qty_weight when 'M'
then tr_qty_piece else tr_qty_pc end * tr_price),3)*-1 amt,
sum(tr_qty_weight)*-1 num,tr_part,tr_effdate,so_po
into #c
from tr_hist inner join so_mstr on ( tr_hist.tr_addr = so_mstr.so_cust )
inner join sod_det on (sod_det.sod_nbr = tr_hist.tr_nbr
and sod_det.sod_part = tr_hist.tr_part and sod_det.sod_nbr = so_mstr.so_nbr)
where ( tr_hist.tr_type like 'ISS-SO%' or tr_hist.tr_type like 'RCT-SOR%' )
and tr_addr in (select cust from cust_right where usercode='ADM' and flag='Y')
group by tr_part,tr_effdate,so_po select a.bg_part,opdate,a.bg_nbr,bg_cust,cm_type,bg_corpno,bg_corpname,
bg_factname,a.qty_act,a.bg_sort,flag_other,a.flag_sort,
sum(case when d.flag='Y' then bg_price else 0 end) bg_amt
,a.flag_fee,a.flag_cw,a.bg_dzrmk,t.pt_part,t.pl_prod_desc,t.pl_prod_line,
isnull(sum(case when d.flag='Y' then price_ys else 0 end),0) kh_amt,
convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12'
when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ) zq,
case when cm_type='AS02' and (pl_prod_desc not like '%定牌%' and
(pl_prod_line like '071[6-9]%' or pl_prod_line like '072[0-1]%') )
then '50000' else 0 end sale_amt,
dateadd(month,convert(int,case when cm_type='AS02' then '3'
when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),opdate) exdate ,t_zh_fee
into #d
from bg_m a,cm_mstr k,bg_d d,#a t
where a.bg_cust=k.cm_addr and t.pt_part=a.bg_part and a.bg_nbr=d.bg_nbr
and not exists(select 1 from bg_m b, cm_mstr k1 where b.bg_cust = k1.cm_addr and b.bg_part=a.bg_part and
convert(varchar(19),a.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12'
when cm_type='AS13' then '12' when cm_type='AS22' then '12'
when cm_type='AS07' then '12'else '' end ),a.opdate) + a.opdate,20) + a.bg_nbr >
convert(varchar(19),b.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12'
when cm_type='AS13' then '12' when cm_type='AS22' then '12' when cm_type='AS07'
then '12'else '' end ),b.opdate)+ b.opdate,20) + b.bg_nbr)
group by a.bg_part,a.opdate,a.bg_nbr,bg_cust,cm_type,bg_corpno,
bg_corpname,bg_factname,bg_sort,flag_fee,flag_cw,bg_dzrmk,a.qty_act,
a.flag_other,t_zh_fee,t.pt_part,t.pl_prod_desc,t.pl_prod_line,flag_sort select usercode,cust
into #e from syscode4 s,cust_right c
where sysvalue2=c.usercode and syscode='每日接单短信提醒' and flag ='Y'insert t_bg_count_amt(t_part,opdate,exp_date,bg_nbr,cm_addr,
sale_out_amt,amt_num,t_po,cm_type,corp_no,corp_name,t_factname,t_um,t_other,t_zh_fee,
t_qty_act,bc_amt,kh_amt,set_c,sale_amt,t_sort,t_fee,t_flag_cw,t_rmks,usercode,tr_effdate,t_user)select c.bg_part,c.opdate,c.exdate,c.bg_nbr,c.bg_cust,sum(d.amt),sum(d.num),
d.so_po,c.cm_type,c.bg_corpno,c.bg_corpname,c.bg_factname,'支',
c.flag_other,
case
when c.cm_type='AS02' and (c.pl_prod_desc not like '%定牌%'
and (c.pl_prod_line like '071[6-9]%' or c.pl_prod_line like '072[0-1]%') )
and sum(d.amt) >50000 then '免费'
when c.cm_type='AS02' and (pl_prod_desc not like '%定牌%' and
(c.pl_prod_line like '071[6-9]%' or c.pl_prod_line like '072[0-1]%') )
and sum(d.amt) <50000 then '收费'
when c.cm_type='AS02' and (pl_prod_desc like '%定牌%' and
(c.pl_prod_line like '071[6-9]%' or c.pl_prod_line like '072[0-1]%') ) then '收费'
when c.cm_type='AS13' and sum(d.amt)/35 - kh_amt >0 then '免费'
when c.cm_type='AS13' and sum(d.amt)/35 - kh_amt <0 then '收费'
when c.cm_type='AS09' and sum(d.num)>100000 then '免费'
when c.cm_type='AS09' and sum(d.num)<100000 then '收费'
when c.cm_type='AS07' then '收费' when c.cm_type='AS22' then '收费' else '' end ,
c.qty_act,c.bg_amt,c.kh_amt,c.zq,c.sale_amt,c.bg_sort,c.flag_fee,c.flag_cw,
c.bg_dzrmk,@as_userid,d.tr_effdate,s.usercodefrom #d c,#c d,#e s
where c.bg_part =d.tr_part and s.cust=c.bg_cust
and d.tr_effdate >= c.opdate and d.tr_effdate<= c.exdate
group by c.bg_part, c.opdate, c.exdate, c.bg_nbr,
c.bg_cust,d.amt,d.num,d.so_po,c.cm_type,c.bg_corpno,c.bg_corpname,c.bg_factname,
c.flag_other,c.qty_act,c.bg_amt,c.kh_amt,c.zq,c.sale_amt,
c.bg_sort,c.flag_fee,c.flag_cw,c.bg_dzrmk,tr_effdate,t_zh_fee,pl_prod_desc,
pl_prod_line,s.usercode,flag_sortunion all
select a.bg_part,a.opdate,dateadd(month,convert(int,case when
cm_type='AS02' then '3'when cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),opdate),
a.bg_nbr,a.bg_cust,0,0,so_po,cm_type,a.bg_corpno,a.bg_corpname,
a.bg_factname,'支',a.flag_other,
case
when cm_type='AS01' and (t.pl_prod_desc not like '%定牌%'
and (t.pl_prod_line like '070[1-9]%' or t.pl_prod_line like '071[0-4]%')) then '免费'
when cm_type='AS01' and (t.pl_prod_desc like '%定牌%'
and (t.pl_prod_line like '070[1-9]%' or t.pl_prod_line like '071[0-4]%'))
and a.flag_sort in ('Y','N','T') then '免费'
when cm_type='AS01' and (t.pl_prod_desc like '%定牌%'
and (t.pl_prod_line like '070[1-9]%' or t.pl_prod_line like '071[0-4]%'))
and a.bg_sort in ('N','C') then '收费'
when cm_type='AS10' then '免费' when cm_type='AS16' then '免费或收费'
when cm_type='AS15' then '免费或收费'
when cm_addr like 'AS04001%' then '免费' when cm_type='AS21' then '免费'
when cm_addr like 'AS04002%' then '收费' when cm_addr like 'AS16005%' then '免费或收费'
when cm_addr like 'AS04004%' then '收费' when cm_addr like 'AS04007%' then '收费'
when cm_addr like 'AS04003%' then '收费' when cm_addr like 'AS04006%' then '收费'
when cm_addr like 'AS04005%' then '收费' when cm_type ='AS06' and bg_sort ='N' then '收费'
when cm_type='AS06' and bg_sort ='C' then '免费' else '' end,
a.qty_act,isnull(sum(case when d.flag='Y' then bg_price else 0 end),0),
isnull(sum(case when d.flag='Y' then price_ys else 0 end),0),
case when cm_type='AS02' then '3'when cm_type='AS09' then '12'
when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ,
0,a.bg_sort,a.flag_fee,a.flag_cw,a.bg_dzrmk,@as_userid,'',s.usercodefrom #b a,#e s,#a t,cm_mstr k,bg_d dwhere a.bg_cust=k.cm_addr and s.cust= a.bg_cust and a.bg_part =t.pt_part
and (case when cm_type='AS02' then '3'when cm_type='AS09' then '12'
when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end )=''
and a.bg_nbr=d.bg_nbr and not exists(select 1 from bg_m b, cm_mstr k1
where b.bg_cust = k1.cm_addr and b.bg_part=a.bg_part and
convert(varchar(19),a.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when
cm_type='AS09' then '12' when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),a.opdate)
+ a.opdate,20) + a.bg_nbr >
convert(varchar(19),b.opdate,20) + convert(varchar(19),'2050-01-01' -
dateadd(month,convert(int,case when cm_type='AS02' then '3'when cm_type='AS09' then '12'
when cm_type='AS13' then '12'
when cm_type='AS22' then '12' when cm_type='AS07' then '12'else '' end ),b.opdate)
+ b.opdate,20) + b.bg_nbr)
group by a.bg_part,a.opdate,a.bg_nbr,bg_cust,cm_type,
bg_corpno,bg_corpname,bg_factname,bg_sort,flag_fee,flag_cw,
bg_dzrmk,a.qty_act,
a.flag_other,t_zh_fee,cm_addr,so_po,s.usercode,pl_prod_line,pl_prod_desc,flag_sort
刚才直接复制的有些代码看不到,这个是全部的