问题现象: | 之前提过一个夜班次数取夜班加班的情况,问题号是201105100004,是否夜班加班:(公式如下) 分情况 如果 加班单.结束时间跨天=0 并且 DATEPART('hour', 加班单.加班开始时间)>=0 并且 DATEPART('hour', 加班单.加班结束时间)<=7 并且 加班单.加班时间>=5 那么 1.0 如果 加班单.结束时间跨天=1.0 并且 DATEPART('hour', 加班单.加班开始时间)>=19 并且 DATEPART('hour', 加班单.加班结束时间)<=7 并且 加班单.加班时间>=5 那么 1.0 否则 0 结束 确实能够将19:00-7:00且加班时间大于5小时的夜班加班数取到,但是现在出现的情况是,经测试,如果是休息日加班,一天出现2张加班单,那么在加班登记里面那天的加班单,如果夜班加班单的排序是在前面是取得到夜班加班次数的,如果白天加班在前面就取不到夜班加班次数。而这个加班单的顺序不知道系统是怎么排序的,如果是导入的加班单经测试是应该是随机的,手输的话客户的加班单较多表示很困难。而且按照上面的公式,夜班加班如果从18:00开始做到凌晨3:00就必须分2张加班单,一张18:00-19:00,一张19:00到3:00否则取不出夜班加班次数,能否想办法不用手工分开。谢谢! |
问题原因: | |
解决方案: | 您好: 经反复测试,在程序中对于19点和次日5点的判断比较难于实现,还是建议通过编写存储过程的方式实现。 |
相关补丁: | |
版本: | 8.90 |
模块: | 考勤管理 |
产品: | 人力资源 |
问题名称: | 夜班次数取到夜班的加班 |
最后更新: | 2011-07-01 23:05:01 |