110,556
社区成员
发帖
与我相关
我的任务
分享
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [insert_pljhlh]
-- Add the parameters for the stored procedure here
@xqcod varchar(50),@feedatenext int,@Buildcod varchar(3),@feecod varchar(4),@lry varchar(50),@lrrq datetime,@msg varchar(10) OUT
AS
BEGIN TRAN Cs
declare @ownercod varchar(15)
declare @roomcod varchar(15)
declare @fs float
declare @dj float
declare @costsum float
declare @sfyck float
declare @feeperiod int
declare @feedate int
declare @feedatelast int
declare @ownernam varchar(200)
declare @statiscod varchar(4)
declare @jyrq datetime
declare @lsh int
declare @plsfbz int
declare @m int
declare @n int
declare @sfxt int
declare @ztbz int
set @ztbz=1;
set @plsfbz=1;
set @n=0;
select @m=count(*) from roomlst where (xqcod=@xqcod and Buildcod=@Buildcod and zt=1);
while @n<@m
begin
select @roomcod=roomcod from roomlst where xqcod=@xqcod and Buildcod=@Buildcod and zt=1
select @ownercod=ownercod,@fs=fs,@dj=dj,@costsum=je,@feeperiod=feeperiod,@feedatelast = feedatelast, @feedate = feedate ,@sfyck=sfyck from yzsfdy where feedatenext=@feedatenext and roomcod=@roomcod and feecod=@feecod
select @ownernam=ownernam from yzxxb where ownercod=@ownercod
select @statiscod=statiscod from feelst where feecod=@feecod
select @lsh=lsh,@jyrq=jyrq from lshb
set @sfxt=datediff(day,@jyrq,getdate());
if (@sfxt=0)
begin
set @lsh=@lsh+1;
update [lshb] set [lsh]=@lsh,[jyrq]=getdate()
end
else
begin
set @lsh=1;
update [lshb] set [lsh]=1,[jyrq]=getdate()
end
UPDATE [yzsfdy] SET [feedate] = @feedate+@feeperiod, [feedatelast] = @feedatelast+@feeperiod, [feedatenext] = @feedatenext+@feeperiod WHERE (([roomcod] = @roomcod) and ([feecod] = @feecod) and ([feedatenext] = @feedatenext)
if (@sfyck>=@costsum)
begin
INSERT INTO [fsjhwcb] ([roomcod], [ownercod], [ownernam], [feecod],[feedate], [fs], [dj], [costsum], [lry], [lrrq],[statiscod],[jyrq],[plsfbz],[ssje],[sfy],[yjkfje],[ztbz],[jylsh]) VALUES (@roomcod, @ownercod, @ownernam, @feecod, @feedatenext, @fs, @dj, @costsum, @lry, @lrrq,@statiscod,getdate(),@plsfbz,@costsum,@lry,@costsum,@ztbz,@lsh)
end
else
begin
INSERT INTO [fsjhb] ([roomcod], [ownercod], [ownernam], [feecod],[feedate], [fs], [dj], [costsum], [lry], [lrrq]) VALUES (@roomcod, @ownercod, @ownernam, @feecod, @feedatenext, @fs, @dj, @costsum, @lry, @lrrq)
end
set @n=@n+1
end
if (@@error <>0)
BEGIN
rollback tran
set @msg=1
return
END
else
begin
commit tran
set @msg=2
END