You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
4.7 KiB
148 lines
4.7 KiB
if exists(select * from sysobjects where name='p_rz_prepare_lf' and xtype='p')
|
|
drop procedure p_rz_prepare_lf
|
|
go
|
|
|
|
create procedure p_rz_prepare_lf
|
|
(
|
|
@psorgcode varchar(10),
|
|
@psbillno varchar(20),
|
|
@psparams varchar(200),
|
|
@psmsg varchar(2000) out
|
|
)
|
|
as
|
|
begin
|
|
declare @optoverstatus varchar(10)
|
|
declare @ssupcode varchar(15)
|
|
declare @ssupstatus varchar(1)
|
|
declare @ssupvalidstatus varchar(1)
|
|
|
|
select @ssupcode=supcode from t_jopaysoa_head where billno=@psbillno
|
|
|
|
select @optoverstatus=itemvalue from t_syscfg where section='SYSTEM' and itemname='OVER'
|
|
if @optoverstatus<>'STOP'
|
|
begin
|
|
set @psmsg='正在进行营业日结,请稍后记账'
|
|
return(-1)
|
|
end
|
|
|
|
if not exists(select * from t_supplier where supcode=@ssupcode)
|
|
begin
|
|
set @psmsg='供应商不存在,不能记账'
|
|
return(-1)
|
|
end
|
|
select @ssupstatus=supstatus,
|
|
@ssupvalidstatus=case when (isnull(validdate,'')='' or validdate>=convert(varchar(100),getdate(),23)) then '1' else '0' end
|
|
from t_supplier where supcode=@ssupcode
|
|
if @ssupstatus<>'0'
|
|
begin
|
|
set @psmsg='供应商状态非正常,不能记账'
|
|
return(-1)
|
|
end
|
|
if @ssupvalidstatus='0'
|
|
begin
|
|
set @psmsg='供应商已过有效期,不能记账'
|
|
return(-1)
|
|
end
|
|
|
|
set @psmsg=''
|
|
return(1)
|
|
end
|
|
go
|
|
|
|
if exists(select * from sysobjects where name='p_rz_lf' and xtype='p')
|
|
drop procedure p_rz_lf
|
|
go
|
|
|
|
create procedure p_rz_lf
|
|
(
|
|
@psorgcode varchar(10),
|
|
@psbillno varchar(20),
|
|
@psparams varchar(200),
|
|
@psmsg varchar(2000) out
|
|
)
|
|
as
|
|
begin
|
|
declare @scurdate varchar(10)
|
|
declare @scurtime varchar(8)
|
|
declare @ssupcode varchar(15)
|
|
declare @sup_payable numeric(19,4)
|
|
declare @sup_prepaytotal numeric(19,4)
|
|
declare @dztotal numeric(19,4)
|
|
declare @bczrtotal numeric(19,4)
|
|
declare @feetotal numeric(19,4)
|
|
declare @bcjstotal numeric(19,4)
|
|
declare @ssql varchar(2000)
|
|
declare @svbktablename varchar(20)
|
|
declare @bgndate varchar(10)
|
|
declare @enddate varchar(10)
|
|
declare @bgnyear int
|
|
declare @endyear int
|
|
declare @salerpttablename varchar(20)
|
|
|
|
select @scurdate=convert(varchar(100),getdate(),23),@scurtime=convert(varchar(100),getdate(),108)
|
|
|
|
--AlterVendor
|
|
select @ssupcode=supcode,@dztotal=dztotal,@bczrtotal=bczrtotal,@feetotal=feetotal,@bcjstotal=bcjstotal,
|
|
@bgndate=bgndate,@enddate=enddate
|
|
from t_jopaysoa_head
|
|
where billno=@psbillno
|
|
|
|
update t_supplier
|
|
set dztotal=dztotal+@dztotal,dzrtotal=dzrtotal+@bczrtotal,feetotal=feetotal+@feetotal
|
|
where supcode=@ssupcode
|
|
|
|
--WriteVendorBook
|
|
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
|
|
|
|
select @sup_payable=amount-tctotal,@sup_prepaytotal=prepay from t_supplier where supcode=@ssupcode
|
|
if (@feetotal<>0)
|
|
begin
|
|
set @ssql='insert into t_vbk_'+ substring(convert(varchar(100),getdate(),112),1,6)+'(orgcode,bookdate,booktime,supcode ,billno,billtype,fsamount,yfjytotal,prejytotal)'
|
|
+' values('''+@psorgcode+''','''+@scurdate+''','''+@scurtime+''','''+@ssupcode+''','''+@psbillno+''',''8'','+convert(varchar(20),-@feetotal)+','+convert(varchar(20),@sup_payable-@feetotal)+','+convert(varchar(20),@sup_prepaytotal)+')'
|
|
exec(@ssql)
|
|
end
|
|
|
|
if (@bczrtotal<>0)
|
|
begin
|
|
set @ssql='insert into t_vbk_'+ substring(convert(varchar(100),getdate(),112),1,6)+'(orgcode,bookdate,booktime,supcode ,billno,billtype,fsamount,yfjytotal,prejytotal)'
|
|
+' values('''+@psorgcode+''','''+@scurdate+''','''+@scurtime+''','''+@ssupcode+''','''+@psbillno+''',''9'','+convert(varchar(20),-@bczrtotal)+','+convert(varchar(20),@sup_payable-@feetotal-@bczrtotal)+','+convert(varchar(20),@sup_prepaytotal)+')'
|
|
exec(@ssql)
|
|
end
|
|
|
|
--AlterJsLxSaleRpt
|
|
if @bgndate<>''
|
|
begin
|
|
set @bgnyear=datepart(year,@bgndate)-1
|
|
end
|
|
else
|
|
begin
|
|
select @bgnyear=convert(int,substring(isnull(min(name),'t_jopay_salerpt_'+convert(varchar(4),getdate(),120)),17,4)) from sysobjects
|
|
where xtype='u' and name like 't_jopay_salerpt_[0-9][0-9][0-9][0-9]'
|
|
end
|
|
set @endyear=datepart(year,@enddate)
|
|
while(@bgnyear<=@endyear)
|
|
begin
|
|
set @salerpttablename='t_jopay_salerpt_'+convert(varchar,@bgnyear)
|
|
if exists(select * from sysobjects where name=@salerpttablename)
|
|
begin
|
|
set @ssql='update '+@salerpttablename
|
|
+' set isfinished=''1'''
|
|
+' where accdate in(select accdate from t_jopaysoa_body where billno='''+@psbillno+''')'
|
|
+' and orgcode in(select orgcode from t_jopaysoa_body where billno='''+@psbillno+''')'
|
|
+' and serialno in(select serialno from t_jopaysoa_body where billno='''+@psbillno+''')'
|
|
+' and supcode='''+@ssupcode+''''
|
|
exec(@ssql)
|
|
end
|
|
|
|
set @bgnyear=@bgnyear+1
|
|
end
|
|
|
|
set @psmsg=''
|
|
return(1)
|
|
end
|
|
go |