设为首页 | 成都一卡通
当前位置: 首页 > 新闻资讯 > 行业新闻 >
行业新闻
存储过程处理水控系统大一卡通卡请求
发布时间:2013-08-07 来源:未知

use ks2007
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SynAskCardEx]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SynAskCardEx]
go

--该存储过程处理水控系统大一卡通卡请求
--暂时不考虑每种控水模式的补助,一卡通方式下不考虑双帐户的问题
CREATE   PROCEDURE SynAskCardEx(@Result int output,@Pos_No int,@CardNo int,@AccountNo int,@CostKindNo smallint,
 @GroupNo smallint,@AccStatus tinyint OUTPUT,@PidNo smallint output,@TotalMoney int OUTPUT,
 @OtherMoney int output)
  AS
begin
 declare @tmpAccStatus tinyint
 set @Result = -1
 set @PidNo = 0
 set @TotalMoney = 0
 set @OtherMoney = 0
 set @tmpAccStatus = @AccStatus
 set @AccStatus = 0
--根据@AccStatus提供的状态进行判断,要求卡号和帐号一致才可以消费
--@AccStatus = 3  与一卡通平台脱网,以本地数据库为主
--@AccStatus = 1或2  通过SIOS验证帐户状态是正常或挂失(包含其他不正常状态),更新本地数据库

 if @tmpAccStatus <> 3 begin
  update emmployee set Card_no = @CardNo , Work_mes = @tmpAccStatus where AccountNo = @AccountNo
  if @@rowcount = 0 begin
   set @Result = 2
   return
  end
 end
 
    select @AccStatus = Work_mes , @PidNo=Pid_No , @TotalMoney = Now_Money*100.0 from emmployee
  where Card_no= @CardNo and AccountNo = @AccountNo
 if @@rowcount = 0
 Begin
  set @Result =1
  return
 end
 if @TotalMoney < 100 begin
  set @TotalMoney = 100
 end
    set @Result = 0
    return
end