请教关于SQL存储过程的考勤系统计算方法问题,小弟求助

i0750 2014-07-12 10:28:34
月薪
职务津贴:津贴基数总金额,24小时内(含)不扣除,超过24 小时按照请假时数与月基本工时数比例扣除
公式:职务津贴基数 / 当月应出勤时间 * 实际出勤时间 条件:请假总和 > 24小时
例: (职务津贴基数金额) 100 /(当月出勤时间) 176 * (实隙地出勤时间)176
(职务津贴基数金额) 100 /(当月出勤时间) 168 * (实隙地出勤时间)168

-----------------------------------------------------
时薪
职务津贴:津贴基数 / 176 * 实际出勤工时
如果 “保安”和“厨师”津贴基数 / 336 * 实际出勤工时

例: (职务津贴基数金额) 100 /(当月出勤时间176) 176 * (实隙地出勤时间)176
(职务津贴基数金额) 100 /(当月出勤时间168) 176 * (实隙地出勤时间)168

时薪不考虑 -请假或无薪时间,上多少时间都是按 津贴基数 / 176 * 实际出勤工时
----------------------------------------------------------------------------------

已经定义变量
@xzwbt @xzt @xzwbtjs @xwuxinj @xybqts
结果 薪别 职务津贴基数金额 无薪假时间 当月应出勤时间
——————————————————————————————————
怎样修改这段代码??????
--职务津贴
if @xzt='时薪'
if @xzw='保安管理员'
set @xzwbt=round(@xzwbtjs/336*@xcqts,2)
else
set @xzwbt=round(@xzwbtjs/176*@xcqts,2)
else
set @xzwbt=(case when @xwuxinj>24 then @xzwbtjs -round(@zwbtjs/176*@xwuxinj,2) else @zwbtjs end)
set @xzwbt=(case when @xzwbt<0 then 0 else @xzwbt end)
...全文
87 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangnaisheng 2014-07-12
  • 打赏
  • 举报
回复
你是在问,sql 存储过程里的if else 的用法吗? 如果是的话,给你个参考。 语法: if 条件 begin 执行的操作 end else begin 执行的操作 end sql 存储过程里的if else while
exception92 2014-07-12
  • 打赏
  • 举报
回复
去 基础类模块 @DBA_Huangzj

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧