if exists ( select * from sysobjects where name = ' p_rz_prepare_th ' and xtype = ' p ' )
drop procedure p_rz_prepare_th
go
create procedure p_rz_prepare_th
(
@ psorgcode varchar ( 10 ) ,
@ psbillno varchar ( 20 ) ,
@ psparams varchar ( 200 ) ,
@ psmsg varchar ( 2000 ) out
)
as
begin
declare @ optaccepttimes varchar ( 1 )
declare @ sacceptno varchar ( 20 )
declare @ sbilltype varchar ( 1 )
declare @ optupacceptrate numeric ( 19 , 4 )
declare @ billcost numeric ( 19 , 4 )
declare @ sorgcode varchar ( 10 )
declare @ ssupcode varchar ( 15 )
declare @ ssupstatus varchar ( 1 )
declare @ ssupvalidstatus varchar ( 1 )
declare @ ssupcontractstatus varchar ( 1 )
select @ sorgcode = orgcode , @ ssupcode = supcode from t_return_head where billno = @ psbillno
if not exists ( select * from t_supplier where supcode = @ ssupcode )
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ̲<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڣ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܼ<EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
select @ ssupstatus = supstatus ,
@ ssupvalidstatus = case when ( isnull ( validdate , ' ' ) = ' ' or validdate > = convert ( varchar ( 100 ) , getdate ( ) , 23 ) ) then ' 1 ' else ' 0 ' end ,
@ ssupcontractstatus = case when ( not exists ( select * from t_contract where supcode = t_supplier . supcode and contrstatus = ' 0 ' ) ) or
( exists ( select * from t_contract where supcode = t_supplier . supcode and contrstatus = ' 0 ' and convert ( varchar ( 100 ) , getdate ( ) , 23 ) between bgndate and enddate ) ) then ' 1 '
else ' 0 ' end
from t_supplier where supcode = @ ssupcode
if @ ssupstatus < > ' 0 '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <EFBFBD> ״̬<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܼ<EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
if @ ssupvalidstatus = ' 0 '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> <EFBFBD> <EFBFBD> Ч<EFBFBD> ڣ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܼ<EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
if @ ssupcontractstatus = ' 0 '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ̺<EFBFBD> ͬ<EFBFBD> ѹ<EFBFBD> <EFBFBD> ڣ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܼ<EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
select @ psmsg = coalesce ( @ psmsg + char ( 13 ) , ' ' ) + d . plucode from t_return_body d , t_plu_org g
where d . plucode = g . plucode and g . orgcode = @ sorgcode and g . isright = ' 1 ' and d . billno = @ psbillno and d . price < > g . price
if isnull ( @ psmsg , ' ' ) < > ' '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> <EFBFBD> <EFBFBD> ۼ<EFBFBD> <EFBFBD> Ѿ<EFBFBD> <EFBFBD> ı 䣺' + char ( 13 ) + @ psmsg
return ( - 1 )
end
select @ psmsg = coalesce ( @ psmsg + char ( 13 ) , ' ' ) + b . plucode + ' - ' + b . pluname from t_return_body b , t_plu
where b . plucode = t_plu . plucode and b . billno = @ psbillno and b . depcode < > t_plu . depcode
if isnull ( @ psmsg , ' ' ) < > ' '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> IJ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ<EFBFBD> <EFBFBD> ı 䣺' + char ( 13 ) + @ psmsg
return ( - 1 )
end
select @ psmsg = coalesce ( @ psmsg + char ( 13 ) , ' ' ) + ltrim ( plucode ) + ' - ' + pluname from t_return_body d
where billno = @ psbillno and ( not exists ( select plucode from t_plu where plucode = d . plucode )
or not exists ( select plucode from t_plu_org where plucode = d . plucode and orgcode = @ sorgcode and isright = ' 1 ' ) )
if isnull ( @ psmsg , ' ' ) < > ' '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> Ѳ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڻ<EFBFBD> <EFBFBD> ڻ<EFBFBD> <EFBFBD> <EFBFBD> [' + @ sorgcode + ' ]<5D> <> <EFBFBD> <EFBFBD> ӪȨ<D3AA> ޣ<EFBFBD> <DEA3> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> ' + char ( 13 ) + @ psmsg
return ( - 1 )
end
end
go
if exists ( select * from sysobjects where name = ' p_rz_th ' and xtype = ' p ' )
drop procedure p_rz_th
go
create procedure p_rz_th
(
@ psorgcode varchar ( 10 ) ,
@ psbillno varchar ( 20 ) ,
@ psparams varchar ( 200 ) ,
@ psmsg varchar ( 2000 ) out
)
as
begin
declare @ sorgcode varchar ( 10 )
declare @ finacode varchar ( 10 )
declare @ sameacc varchar ( 1 )
declare @ sbilltype varchar ( 1 )
declare @ org_orgtype varchar ( 1 )
declare @ org_isdbdeploy varchar ( 1 )
declare @ org_isconfirm varchar ( 1 )
declare @ sedition varchar ( 20 )
declare @ scurver varchar ( 1 )
declare @ scurdate varchar ( 10 )
declare @ scurtime varchar ( 8 )
declare @ optplumultivendor varchar ( 10 )
declare @ splace varchar ( 1 )
declare @ bill_cost numeric ( 19 , 4 )
declare @ ssupcode varchar ( 15 )
declare @ svendorname varchar ( 100 )
declare @ ssupstatus varchar ( 1 )
declare @ svendorvaliddate varchar ( 20 )
declare @ svendortype varchar ( 2 )
declare @ svendorjymode varchar ( 1 )
declare @ siszs varchar ( 1 )
declare @ szsywjs varchar ( 10 )
declare @ vendor_payable numeric ( 19 , 4 )
declare @ vendor_prepaytotal numeric ( 19 , 4 )
declare @ v_org_type varchar ( 1 )
declare @ stock_plutype varchar ( 1 )
declare @ detail_cost numeric ( 19 , 4 )
declare @ detail_netcost numeric ( 19 , 4 )
declare @ detail_total numeric ( 19 , 4 )
declare @ detail_jprice numeric ( 19 , 4 )
declare @ detail_netjprice numeric ( 19 , 4 )
declare @ detail_count numeric ( 19 , 4 )
declare @ detail_serialno int
declare @ detail_plucode varchar ( 20 )
declare @ detail_depcode varchar ( 10 )
declare @ detail_price numeric ( 19 , 4 )
declare @ detail_jtaxrate numeric ( 19 , 4 )
declare @ detail_cgcount numeric ( 19 , 4 )
declare @ detail_counts numeric ( 19 , 4 )
declare @ detail_pluname varchar ( 40 )
declare @ goods_jprice numeric ( 19 , 4 )
declare @ goods_netjprice numeric ( 19 , 4 )
declare @ goods_cost numeric ( 19 , 4 )
declare @ goods_netcost numeric ( 19 , 4 )
declare @ goods_tzamount numeric ( 19 , 4 )
declare @ goods_counts numeric ( 19 , 4 )
declare @ goods_jtaxrate numeric ( 19 , 4 )
declare @ sflg varchar ( 1 )
declare @ new_jprice numeric ( 19 , 4 )
declare @ new_netjprice numeric ( 19 , 4 )
declare @ new_cost numeric ( 19 , 4 )
declare @ new_netcost numeric ( 19 , 4 )
declare @ new_tzamount numeric ( 19 , 4 )
declare @ fscost numeric ( 19 , 4 )
declare @ fsnetcost numeric ( 19 , 4 )
declare @ fstotal numeric ( 19 , 4 )
declare @ jccost numeric ( 19 , 4 )
declare @ jcnetcost numeric ( 19 , 4 )
declare @ jctotal numeric ( 19 , 4 )
declare @ jccount numeric ( 19 , 4 )
declare @ jynetcost numeric ( 19 , 4 )
declare @ ssql varchar ( 2000 )
declare @ svbktablename varchar ( 20 )
declare @ spsacceptuptjprice varchar ( 20 )
declare @ sbranchno varchar ( 10 )
declare @ detailcs_plucode varchar ( 20 )
declare @ detailcs_colorcode varchar ( 10 )
declare @ detailcs_sizecode varchar ( 10 )
declare @ detailcs_cgcount numeric ( 19 , 4 )
declare @ detailcs_ccounts numeric ( 19 , 4 )
declare @ stateflg int
declare @ mngcsstock varchar ( 1 )
declare @ susercode varchar ( 6 )
declare @ susername varchar ( 10 )
declare @ vd_procdate datetime
declare @ vi_result integer
declare @ vs_message varchar ( max )
declare @ bpricechgflag varchar ( 1 )
set @ bpricechgflag = ' 0 '
set @ jynetcost = 0
set @ spsacceptuptjprice = null
set @ sedition = ' 1 '
select @ optplumultivendor = itemvalue from t_syscfg where section = ' SYSTEM ' and itemname = ' PluMultiVendor '
set @ spsacceptuptjprice = isnull ( @ spsacceptuptjprice , ' FALSE ' )
select @ sedition = itemvalue from t_syscfg where section = ' SYSTEM ' and itemname = ' Edition '
select @ sorgcode = orgcode , @ ssupcode = supcode , @ svendorname = supname , @ splace = place , @ susercode = usercode , @ susername = username , @ sbilltype = billtype from t_return_head where billno = @ psbillno
select @ org_orgtype = orgtype , @ org_isdbdeploy = isdbdeploy , @ org_isconfirm = isconfirm , @ finacode = isnull ( finacode , ' ' ) from t_shop where orgcode = @ sorgcode
select @ scurver = itemvalue from t_syscfg where section = ' SYSTEM ' and itemname = ' VER '
select @ scurdate = convert ( varchar ( 100 ) , getdate ( ) , 23 ) , @ scurtime = convert ( varchar ( 100 ) , getdate ( ) , 108 )
select @ sbranchno = itemvalue from t_syscfg where section = ' SYSTEM ' and itemname = ' BranchNo '
set @ szsywjs = ' 0 '
select @ szsywjs = case when isnull ( itemvalue , ' FALSE ' ) = ' TRUE ' then ' 1 ' else ' 0 ' end from t_syscfg where section = ' SYSTEM ' and itemname = ' ZsYwJs '
if @ splace = ' '
begin
if @ org_orgtype = ' 2 '
set @ splace = ' 1 '
else
set @ splace = ' 0 '
end
if @ sbilltype = ' 2 '
begin
exec p_get_finacode ' C009 ' , @ sorgcode , @ finacode out , @ sameacc out , @ psmsg out
if @ psmsg < > ' '
begin
return ( - 1 )
end
end
select @ ssupstatus = supstatus , @ svendorvaliddate = validdate , @ svendorjymode = jymode , @ svendortype = suptype from t_supplier where supcode = @ ssupcode
if @ @ rowcount = 0
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <EFBFBD> [' + @ ssupcode + ' ]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
else if @ ssupstatus < > ' 0 '
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <EFBFBD> [' + @ ssupcode + ' ]״̬<D7B4> <CCAC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
if ( @ scurver = ' 1 ' )
begin
if @ svendortype = ' 1 '
set @ siszs = ' 1 '
else
set @ siszs = ' 0 '
end
else
begin
if @ svendortype = ' 0 '
set @ siszs = ' 1 '
else
set @ siszs = ' 0 '
end
set @ svbktablename = ' t_vbk_ ' + substring ( convert ( varchar ( 100 ) , getdate ( ) , 112 ) , 1 , 6 )
exec p_create_vbk @ svbktablename , @ psmsg out
if isnull ( @ psmsg , ' ' ) < > ' '
begin
return ( - 1 )
end
if @ psparams = ' 9 ' - - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 棬 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˻ <EFBFBD> <EFBFBD> <EFBFBD>
begin
select @ v_org_type = orgtype from t_shop where orgcode = @ ssupcode
if ( @ scurver < > ' 0 ' ) and ( @ org_orgtype < > ' 2 ' ) and ( @ org_isdbdeploy = ' 1 ' ) and ( @ v_org_type = ' 2 ' )
begin
set @ psmsg = ' '
exec p_return_create_dist_form @ psbillno , @ psmsg out
if @ psmsg < > ' '
return ( - 1 )
update t_dist_head set chkstatus = ' 4 ' where billno = @ psbillno
exec p_rz_ps @ psorgcode , @ psbillno , ' ' , @ psmsg output
begin
if ( @ @ error < > 0 ) or ( @ psmsg < > ' ' )
return ( - 1 )
end
end
update t_return_head set rzdate = @ scurdate , rztime = @ scurtime where billno = @ psbillno
set @ psmsg = ' '
return ( 1 )
end
declare cur cursor for select serialno , plucode , pluname , depcode , price , jtaxrate , counts as cgcount , counts , cost as fscost , netcost as fsnetcost ,
total as fstotal , counts , cost , netcost , jprice , netjprice
from t_return_body where billno = @ psbillno order by plucode , jprice
open cur
fetch next from cur into @ detail_serialno , @ detail_plucode , @ detail_pluname , @ detail_depcode , @ detail_price , @ detail_jtaxrate , @ detail_cgcount , @ detail_counts , @ fscost , @ fsnetcost , @ fstotal , @ detail_count , @ detail_cost , @ detail_netcost , @ detail_jprice , @ detail_netjprice
while @ @ fetch_status = 0
begin
set @ sflg = ' 0 '
select @ goods_jprice = o . jprice , @ goods_netjprice = o . netjprice , @ goods_cost = o . cost , @ goods_netcost = o . netcost , @ goods_tzamount = o . tzamount , @ goods_counts = o . gcount + o . ccount , @ goods_jtaxrate = g . jtaxrate
from t_plu_org o join t_plu g on o . plucode = g . plucode where o . plucode = @ detail_plucode and o . orgcode = @ sorgcode
if @ @ rowcount = 0
begin
set @ psmsg = ' <EFBFBD> <EFBFBD> Ʒ [' + @ detail_pluname + ' ]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> '
return ( - 1 )
end
set @ jynetcost = @ goods_netcost - @ detail_netcost + round ( @ goods_tzamount / ( 1 + @ goods_jtaxrate / 100 . 00 ) , 2 )
if ( @ detail_count = @ goods_counts )
begin
set @ new_jprice = @ goods_jprice
set @ new_netjprice = @ goods_netjprice
set @ new_cost = 0 . 00
set @ new_netcost = 0 . 00
set @ new_tzamount = @ goods_tzamount
set @ fscost = @ goods_cost
set @ fsnetcost = @ goods_netcost
set @ detail_cost = @ goods_cost
set @ detail_netcost = @ goods_netcost
update t_return_body set cost = @ detail_cost , netcost = @ detail_netcost where billno = @ psbillno and serialno = @ detail_serialno and plucode = @ detail_plucode
if @ @ error > 0
begin
set @ psmsg = ' <EFBFBD> ĵ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ [' + @ detail_plucode + ' ]<5D> Ľ<EFBFBD> <C4BD> <EFBFBD> <EFBFBD> <EFBFBD> Ϣʧ<CFA2> <CAA7> '
close cur
deallocate cur
return ( - 1 )
end
set @ bpricechgflag = ' 1 '
end
else
begin
if ( ( @ detail_count > = @ goods_counts ) and ( @ detail_cost < = @ goods_cost ) )
or ( ( @ detail_count < = @ goods_counts ) and ( @ detail_cost > = @ goods_cost ) )
or ( ( @ goods_counts > = 0 ) and ( @ detail_count > = @ goods_counts ) and ( @ detail_cost > = @ goods_cost ) )
begin
set @ sflg = ' 1 '
select @ new_jprice = @ goods_jprice , @ new_netjprice = @ goods_netjprice
set @ new_cost = round ( @ new_jprice * ( @ goods_counts - @ detail_count ) , 2 )
set @ new_netcost = round ( @ new_netjprice * ( @ goods_counts - @ detail_count ) , 2 )
set @ new_tzamount = @ goods_tzamount + @ goods_cost - @ detail_cost - @ new_cost
if @ jynetcost < > @ new_netcost + round ( @ new_tzamount / ( 1 + @ goods_jtaxrate / 100 . 00 ) , 2 )
set @ new_netcost = @ jynetcost - round ( @ new_tzamount / ( 1 + @ goods_jtaxrate / 100 . 00 ) , 2 )
end
else
begin
if @ goods_tzamount < > 0
begin
if ( @ goods_tzamount > 0 ) and ( @ goods_tzamount > @ detail_cost )
begin
set @ new_tzamount = @ goods_tzamount - @ detail_cost
set @ new_cost = @ goods_cost
set @ new_netcost = @ goods_netcost
end
else
begin
set @ new_tzamount = 0
set @ new_cost = @ goods_cost - @ detail_cost + @ goods_tzamount
set @ new_netcost = @ goods_netcost - @ detail_netcost + round ( @ goods_tzamount / ( 1 + @ goods_jtaxrate / 100 . 00 ) , 2 )
end
end
else
begin
set @ new_cost = @ goods_cost - @ detail_cost
set @ new_netcost = @ goods_netcost - @ detail_netcost
set @ new_tzamount = @ goods_tzamount
end
set @ new_jprice = round ( @ new_cost / ( @ goods_counts - @ detail_count ) , 4 )
set @ new_netjprice = round ( @ new_netcost / ( @ goods_counts - @ detail_count ) , 4 )
end
end
update a set gcount = case when @ splace = ' 0 ' then gcount - @ detail_count else gcount end ,
ccount = case when @ splace = ' 1 ' then ccount - @ detail_count else ccount end ,
jprice = @ new_jprice , netjprice = @ new_netjprice ,
tzamount = @ new_tzamount , cost = @ new_cost , netcost = @ new_netcost ,
total = case when b . plutype = ' 2 ' then 0 else round ( a . price * ( @ goods_counts - @ detail_count ) , 2 ) end ,
@ stock_plutype = b . plutype ,
@ fstotal = case when b . plutype = ' 2 ' then 0 else @ fstotal end ,
@ jccount = gcount + ccount - @ detail_count ,
@ jccost = @ new_cost + @ new_tzamount ,
@ jcnetcost = @ new_netcost + round ( @ new_tzamount / ( 1 + @ goods_jtaxrate / 100 . 00 ) , 2 ) ,
@ jctotal = case when b . plutype = ' 2 ' then 0 else round ( a . price * ( @ goods_counts - @ detail_count ) , 2 ) end
from t_plu_org a , t_plu b
where a . plucode = b . plucode and a . orgcode = @ sorgcode and a . plucode = @ detail_plucode and isright = ' 1 '
if exists ( select plucode from t_plu where plucode = @ detail_plucode and iszfcode = ' 1 ' )
begin
update a set jprice = b . jprice , netjprice = b . netjprice
from t_plu_org a , ( select plucode , jprice , netjprice , orgcode from t_plu_org where plucode = @ detail_plucode and orgcode = @ sorgcode ) b ,
( select plucode , innercode from t_plu where iszfcode = ' 2 ' ) c
where a . plucode = c . plucode and b . plucode = c . innercode and a . orgcode = b . orgcode
end
exec p_create_gbk_data @ scurdate , @ scurtime , @ detail_plucode , @ detail_depcode , @ psbillno , ' 5 ' , @ detail_jprice , @ detail_netjprice , @ detail_price , @ detail_count , @ fscost , @ fsnetcost , @ fstotal ,
@ jccount , @ jccost , @ jcnetcost , @ jctotal , @ sorgcode , ' ' , ' ' , @ psmsg
fetch next from cur into @ detail_serialno , @ detail_plucode , @ detail_pluname , @ detail_depcode , @ detail_price , @ detail_jtaxrate , @ detail_cgcount , @ detail_counts , @ fscost , @ fsnetcost , @ fstotal , @ detail_count , @ detail_cost , @ detail_netcost , @ detail_jprice , @ detail_netjprice
end
close cur
deallocate cur
if @ bpricechgflag = ' 1 '
begin
update h set cost = b . cost , netcost = b . netcost
from t_return_head h , ( select sum ( cost ) as cost , sum ( netcost ) as netcost from t_return_body where billno = @ psbillno ) b
where h . billno = @ psbillno
if @ @ error > 0
begin
set @ psmsg = ' <EFBFBD> ĵ<EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> е Ľ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> '
return ( - 1 )
end
end
select @ mngcsstock = mngcsstock from t_shop where orgcode = @ sorgcode
if ( @ sedition = ' 4 ' ) and ( @ mngcsstock = ' 1 ' )
begin
insert into t_plu_org_cs ( plucode , orgcode , colorcode , sizecode , csbarcode , gcount , ccount , remark )
select distinct a . plucode as plucode , @ sorgcode as orgcode , a . colorcode as colorcode , a . sizecode as sizecode , g . csbarcode as csbarcode , 0 as gcount , 0 as ccount , ' ' as remark
from t_return_cs_body a , t_plu_cs g where a . plucode = g . plucode and a . colorcode = g . colorcode and a . sizecode = g . sizecode and a . billno = @ psbillno
and not exists ( select plucode from t_plu_org_cs o where o . plucode = a . plucode and o . colorcode = a . colorcode and o . sizecode = a . sizecode and o . orgcode = @ sorgcode )
update a set a . gcount = case when @ splace = ' 0 ' then a . gcount - b . ccounts else a . gcount end ,
a . ccount = case when @ splace = ' 1 ' then a . ccount - b . ccounts else a . ccount end
from t_plu_org_cs a , ( select plucode , colorcode , sizecode , sum ( ccounts ) as ccounts from t_return_cs_body where billno = @ psbillno group by plucode , colorcode , sizecode ) b
where a . plucode = b . plucode and a . orgcode = @ sorgcode and a . colorcode = b . colorcode and a . sizecode = b . sizecode
end
if ( @ svendorjymode < > ' 2 ' and @ sedition < > ' 4 ' ) and ( @ optplumultivendor = ' TRUE ' )
begin
insert into t_supaccept_detail ( billtype , billno , serialno , plucode , pluname , orgcode , orgname , supcode , supname , rzdate , rztime , jprice , netjprice , price , counts , cost , netcost , total , remark )
select ' 1 ' , billno , serialno , plucode , pluname , @ sorgcode , ( select top 1 orgname from t_shop where orgcode = @ sorgcode ) as orgname ,
@ ssupcode , @ svendorname , @ scurdate , @ scurtime , jprice , netjprice , price , - counts , - cost , - netcost , - total , remark
from t_return_body
where billno = @ psbillno
end
- - set @ vd_procdate = getdate ( )
- - exec p_decbatchstk @ psbillno , ' TH ' , @ susercode , @ susername , @ vd_procdate , @ vi_result output , @ vs_message output
- - if @ vi_result < > 1
- - begin
-- select @psmsg=case when isnull(@vs_message,'')='' then '<27> ˻<EFBFBD> <CBBB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ο <EFBFBD> <CEBF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <CAA7> ' else @vs_message end
-- return(-1)
- - end
update a set thtotal = thtotal + b . cost , @ bill_cost = b . cost from t_supplier a , t_return_head b
where a . supcode = @ ssupcode and a . supcode = b . supcode and b . billno = @ psbillno
select @ vendor_payable = jhtotal - thtotal + tjtotal , @ vendor_prepaytotal = prepay from t_supplier where supcode = @ ssupcode
set @ ssql = ' insert into t_vbk_ ' + substring ( convert ( varchar ( 100 ) , getdate ( ) , 112 ) , 1 , 6 ) + ' (orgcode,bookdate,booktime,supcode,billno,billtype,fsamount,yfjytotal,prejytotal) '
+ ' values( '' ' + @ sorgcode + ' '' , '' ' + @ scurdate + ' '' , '' ' + @ scurtime + ' '' , '' ' + @ ssupcode + ' '' , '' ' + @ psbillno + ' '' , '' 1 '' , ' + convert ( varchar ( 20 ) , - @ bill_cost ) + ' , ' + convert ( varchar ( 20 ) , @ vendor_payable ) + ' , ' + convert ( varchar ( 20 ) , @ vendor_prepaytotal ) + ' ) '
exec ( @ ssql )
if @ svendorjymode < > ' 2 ' and @ sbilltype < > ' 3 '
insert into t_pay_bill ( orgcode , billtype , billno , bizdate , supcode , sqauremode , cost , paydate , jscost , zrcost , isfinished , total , contrno , finacode )
select orgcode , case when ( @ scurver = ' 1 ' ) and ( billtype = ' 2 ' ) then ' 4 ' else ' 1 ' end as billtype ,
billno , rzdate , supcode , sqauremode , - cost , paydate , 0 , 0 , case when cost = 0 then ' 1 ' else ' 0 ' end , - total , contrno , @ finacode
from t_return_head where billno = @ psbillno
if @ scurver = ' 1 ' and @ siszs = ' 1 ' and @ org_orgtype = ' 1 ' and @ szsywjs = ' 1 '
begin
insert into t_distpay_bill ( billno , billtype , shopcode , orgcode , rzdate , sqauremode , zpamount , jsamount , zramount , cost , netcost , total , isfinished , finacode )
select billno , ' 3 ' , orgcode , @ sbranchno , rzdate , sqauremode , - cost , 0 , 0 , - cost , - netcost , - total , case when cost = 0 then ' 1 ' else ' 0 ' end , @ finacode
from t_return_head where billno = @ psbillno
update a set zsthamount = zsthamount + b . cost from t_shop a , t_return_head b
where a . orgcode = @ sorgcode and a . orgcode = b . orgcode and b . billno = @ psbillno
end
select @ v_org_type = orgtype from t_shop where orgcode = @ ssupcode
if ( @ scurver < > ' 0 ' ) and ( @ org_orgtype < > ' 2 ' ) and ( @ org_isdbdeploy = ' 1 ' ) and ( @ v_org_type = ' 2 ' )
begin
set @ psmsg = ' '
exec p_return_create_dist_form @ psbillno , @ psmsg out
if @ psmsg < > ' '
return ( - 1 )
update t_dist_head set chkstatus = ' 4 ' where billno = @ psbillno
exec p_rz_ps @ psorgcode , @ psbillno , ' ' , @ psmsg output
begin
if ( @ @ error < > 0 ) or ( @ psmsg < > ' ' )
return ( - 1 )
end
end
update t_return_head set rzdate = @ scurdate , rztime = @ scurtime where billno = @ psbillno
if ( @ sbilltype = ' 2 ' ) and ( @ sameacc < > ' 1 ' )
begin
exec p_nosameacc_th @ psbillno , @ psmsg out
end
set @ psmsg = ' '
return ( 1 )
end
go