综合工时制-跨零点到节假日的工时统计异常问题的思考

项目场景:

提示:这里简述项目相关背景:

涉及到跨零点的班次(前半部分是工作日,后半部分是节假日,如:9月30日 22:00 - 08:00(次日)的班次),需要系统实现自动拆分;按照正常的逻辑,会对9月30日的当天排工作日的班次,进行拆分为:2小时工作日时长 + 8小时节假日时长;但目前系统无法将该班次的节假日部分自动识别出来


任务

提示:这里描述项目中遇到的问题:

需要将跨零点到节假日的班次 拆分为:2个小时-工作日时长+8个小时-节假日时长


原因分析:

提示:这里填写问题的分析:

例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。


方案:

提示:这里填写该问题的具体解决方案:

系统现行的临时方案:
对9月30日的当天排公休日,并安排加班;此时能自动实现:对班次的拆分 2小时-公休加班+8小时-法定加班
拟定的方案:
例如:
a. 在工作日历上标识当天为节假日,则当天的工时统计逻辑可以按照工作日一样,班次时长跟打卡时间比对,统计当天的出勤小时数,记为节假日时长
b. 上一天的班次后半段搭上了法定当天,系统也按照班次时间在 法定当天0:00 - 24:00 这个时间段里面的工时 记为节假日时长

影响:

a. 能解决班次时长无法拆分的问题
b.但必须要求考勤员,把涉及到跨零点法定班次的前一个班次调整为公休日(如9月30日的班次 排班为公休日,与正常逻辑不匹配)

你可能感兴趣的:(系统架构)