4-7 封装检测当天是否可以签到(持久层)
140.143.132.225:8000/project-1/doc-55
一、为什么要检测是否可以签到?
上节课我们通过分装Emos系统常量信息,从而得知考勤是分为起止时间的。在考勤开始之前,
用户是不能考勤签到的。同理,在当天考勤结束之后,用户也是不能考勤签到的。甚至节假日也
不能考勤,只有正常的工作日才能考勤签到。
怎么判断当天是工作日还是节假日?
在数据库中有 tb_workday 和 tb_holidays 两张数据表,记录着哪天是工作日,哪天是休息日。
Emos系统默认周一至周五为工作日,周六周日为休息日。
但是这两张表不是把所有的工作日和休息日都记录下来,只
是记录比特殊的工作日或者休息日。比如说今年的中秋节赶
上了礼拜四,于是就把周五和周六设置成休息日,跟中秋节
连成三连休,然后周日正常上班。这种特殊情况我们就要记
录下来。在 tb_workday 记录周日是工作日,在 tb_holidays 表中记录周五那天是休息日。这样
Emos系统在中秋三连休期间不会执行考勤签到。
二、封装持久层代码
查询特殊休息日
在 TbHolidaysDao.xml 文件中,添加查询语句
1. <select id="searchTodayIsHolidays" resultType="Integer">
2. SELECT id FROM tb_holidays WHERE date=CURRENT_DATE LIMIT 1;
3. </select>
在 TbHolidaysDao.java 文件中,添加抽象方法
1. @Mapper
2. public interface TbHolidaysDao {
3. public Integer searchTodayIsHolidays();
4. }
查询特殊工作日
在 TbWorkdayDao.xml 文件中,添加查询语句
1. <select id="searchTodayIsWorkday" resultType="Integer">
2. SELECT id FROM tb_workday WHERE date=CURRENT_DATE LIMIT 1;
3. </select>
在 TbWorkdayDao.java 文件中,添加抽象方法
评论0