三个月内补发天数
2021-09-01 18:15:27 1 举报
三个月内补发天数
作者其他创作
大纲/内容
发起申诉
记录当天day 表的状态到原始表中
封帐快照表
其余与 month 表字段一致user_id:用户month:某个月
发起请假
导出封帐报表
过滤权限下的 userIds
记录考勤事件表
不存在
请假撤回
计算补发天数逻辑
查询员工当天的原始状态表
data.hasNext()
yes
取汇总表信息
原始状态表
user_id:用户check_in_day:考勤日am_status:上午状态,1:正常,2 旷工pm_status:下午状态,1:正常,2 旷工
数据入口
是否是请假领域
1. 请假一天,上午:请假、下午:请假2. 上午销假,上午:销假,下午:销假规则:请假、销假驳回与销假、撤销、请假驳回进行抵消
存在
导出
某个员工是否存在封帐报表
发起销假
否
申诉撤回
获取某个员工所有的事件表变更记录
no
判断业务类型
销假驳回
查询所有员工某个月的事件表内容
请假驳回
获取当天的所有申诉信息,并按照创建时间倒序
操作场景
首先在 day 表和 month 表 重算之前进行快照
释放分布式锁
将事件数据按照请假与申诉分组
是
快照是否存在
手动计算 month 表,并存入快照
userIds.hasNext()
查询考勤变更 月份的快照
事件表
user_id:用户check_in_day:考勤日biz_type:类型,对应各个场景biz_id:业务对应的表 idbelong_month:归属月create_time:创建时间
填充封帐报表
处理请假数据,先按照创建时间正序order by create_time
取最后一条申诉记录,拆分为上下午:上午:有工资,下午:无工资
判断上午或下午是否存在请假记录变更
申诉驳回
开启分布式锁
管理员修改考勤状态
0 条评论
下一页