AS
declare @xfitem varchar(20) --项目名称
declare @xfmoney money --价格
declare @candz varchar(5) --能否打折
declare @itemno varchar(20) --项目编码
declare @jzpoint char(4) --过夜费记帐点
declare @bmid int --过夜费统计到哪个部门
declare @lxbm char(10) --消费类型编码
declare @gyfitem char(20) --过夜费加收的项目名称
declare @maxmankey varchar(8)
declare @minmankey varchar(8)
declare @maxwmkey varchar(8)
declare @minwmkey varchar(8)
declare @minfreekey varchar(8)
declare @maxfreekey varchar(8)
declare @minetkey varchar(8)
declare @maxetkey varchar(8)
declare @gyftime1 varchar(8)
declare @systime varchar(8)
declare @autotime varchar(8)
declare @autoadd bit
declare @bfjs bit
select @jzpoint=过夜费记帐点ID,
@bmid=过夜费部门ID,
@maxmankey=男宾终止号,@minmankey=男宾起始号,
@maxwmkey=女宾终止号,@minwmkey=女宾起始号,
@minetkey=儿童起始号,@maxetkey=儿童终止号,
@autotime=加收过夜费时间,@autoadd=自动加收过夜费,
@minfreekey=免浴资起始号,@maxfreekey=免浴资终止号,@bfjs=包房手牌收过夜费,
@gyfitem=过夜费的名称,@gyftime1=过夜费时间条件1,
@systime=convert(char(5),getdate(),108) from 桑那系统参数表
if @autoadd is null return -1
if @jzpoint is null return -3
if @bmid is null return -4
if @gyfitem is null return -10
select @xfitem=项目名称,
@xfmoney=价格,
@candz=能否打折,
@itemno=项目编码,
@lxbm=convert(char(4),项目编码) from 桑那消费项目表 where 项目名称=@gyfitem
if @xfitem is null return -2
if @autoadd=1
if rtrim(@systime)=left(rtrim(@autotime),5)
begin
if @bfjs=1
begin
insert into 桑那钥匙费用表(钥匙占用ID,钥匙号,消费项目,消费金额,扣后金额,记帐人,记帐时间,处理标志,能否打折,项目编码,数量,记帐点,部门ID,类型编码)
select 占用id,钥匙号,@xfitem,@xfmoney,@xfmoney,'系统',getdate(),'记帐',@candz,@itemno,1,@jzpoint,@bmid,@lxbm
from 桑那钥匙占用表 a where 来店时间<datename(yy,getdate())+'-'+datename(mm,getdate())+'-'+datename(dd,getdate())+' '+@gyftime1
-- and ((select count(b.费用ID) from 桑那钥匙费用表 b where (b.钥匙占用ID=a.占用ID) and (b.消费项目=@gyfitem) and (b.处理标志<>'转入'))=0)
--最后一个条件判断是否已经加了过夜费了,并且如果是转入的过夜费不计算在内,只有没有加的才加,加了的都不加了
--下面这个条件判断哪些类型的手牌号加,以下条件只是说男女宾手牌加,其余手牌不加
and ((a.钥匙号 BETWEEN @minmankey and @maxmankey) or (钥匙号 BETWEEN @minwmkey and @maxwmkey) or (钥匙号 BETWEEN @minfreekey and @maxfreekey) or (钥匙号 BETWEEN @minetkey and @minetkey))
--888888是外卖的专用号,所以不能给这个手牌加过夜费
and a.钥匙号<>'888888'
return 0
end
else
begin
insert into 桑那钥匙费用表(钥匙占用ID,钥匙号,消费项目,消费金额,扣后金额,记帐人,记帐时间,处理标志,能否打折,项目编码,数量,记帐点,部门ID,类型编码)
select 占用id,钥匙号,@xfitem,@xfmoney,@xfmoney,'系统',getdate(),'记帐',@candz,@itemno,1,@jzpoint,@bmid,@lxbm
from 桑那钥匙占用表 a where 来店时间<datename(yy,getdate())+'-'+datename(mm,getdate())+'-'+datename(dd,getdate())+' '+@gyftime1
-- and ((select count(b.费用ID) from 桑那钥匙费用表 b where (b.钥匙占用ID=a.占用ID) and (b.消费项目=@gyfitem) and (b.处理标志<>'转入'))=0)
--最后一个条件判断是否已经加了过夜费了,并且如果是转入的过夜费不计算在内,只有没有加的才加,加了的都不加了
--下面这句话判断是否将包房的钥匙号也加过夜费,如果不加,请将前面的注释符号--去掉
and 钥匙号 not in (select a. 钥匙号 from 包房钥匙占用表 a,包间使用表 b where a.包房使用id=b.使用id )
--下面这个条件判断哪些类型的手牌号加,以下条件只是说男女宾手牌加,其余手牌不加
and ((a.钥匙号 BETWEEN @minmankey and @maxmankey) or (钥匙号 BETWEEN @minwmkey and @maxwmkey) or (钥匙号 BETWEEN @minfreekey and @maxfreekey) or (钥匙号 BETWEEN @minetkey and @minetkey))
--888888是外卖的专用号,所以不能给这个手牌加过夜费
and a.钥匙号<>'888888'
return 0
end
end
GO[Edit on 2007-11-10 17:00:24 By photo2000]
]]>