0

最近接触一个考勤方案的项目

1 考勤方案表 设置哪几天上班(周几或者清明节,元旦节,国庆节等等)
2 考勤表 用来统计每人每天的考勤记录等

问题: 在后台判断打卡日期是否是上班日

思路 在方案表内设置一字段 用来统计该年不上班的日期 再进行后续判断

但涉及的字段长度太长,请问各位大神有其他建议或者方案思路没?

注:该项目可能涉及多个公司

5个回答

1

已采纳

考勤方案表,代码生成,把每年每天都做一条记录,一年生成一次,区分这一天是工作日、休息日还是节假日的状态。
这张表改成可配置式的。
考勤表,考勤人员打卡记录就可以了。
两个表一关联就可以出统计表了。

1

专门创建一个不上班的表:每次不上班都是一条记录,时间用时间戳表示

1

穷举法 在一张表里列出所有节日

表结构

节日编码,节日名称,节日类型(农历节日、阳历节日),节日放假天数

建一个数据字典存储节日编码和节日日期的对应关系

打开时,获取当前日期,并转换为农历,用阳历去数据字典匹配,不存在则用农历去数据字段匹配,都不匹配则判断今天

是否为周末

阳历匹配到了,取出编码,去数据表查出放假天数,判断打卡日期是否在放假日期内

农历匹配到了,取出编码,去数据表查出放假天数,判断打卡日期是否在放假日期内
1

tbl_holiday
date
7/22/2017

tbl_attendance
user date start_time end_time
1 7/17/2017 7/17/2017 17:35 7/17/2017 17:35

1

你的问题关键在于不上班日期的数据表设计

可以使用

规则类型,规则值

规则类型可以是周末啦,法定节假日啦,等等
规则值就是具体的值,比如周六周日(需要和类型对应),或者几月几日,这个由你设置

撰写答案