数据库设计 —— 通过日期判断用户状态(上)

方式一:无状态字段

1、管理员通过前端设置上班时间提交到后台,后台获取提交的字符串参数之后,第一步通过SimpleDateFormat对象的parse()方法将上班时间的字符串转换成日期格式,第二步将时间时间存储到ServletContext中保存上班时间,第三步则是通过JDBC将上班时间插入到数据库中。

2、员工访问考勤功能,后台获取员工浏览请求并获取当前的系统日期,通过JDBC查询当前系统日期下该员工是否已经考勤。如果已经考勤,则按钮变成灰色且为不可点击状态,如果用户没有考勤,则按钮为绿色可点击状态。当员工点击考勤按钮之后,通过Ajax请求传递打卡请求,通过JDBC将考勤日期插入到数据库中。

3、管理员通过考勤模块查看员工的考勤页面时,后台获取浏览请求,JDBC通过SQL语句中的Where字句结合日期处理函数Time()函数截取打卡日期的时间和上班时间进行比较,如果说员工没有迟到则进行累加(Count()函数),否则跳过。

 

方式二:有状态字段

1、管理员通过前端设置上班时间提交到后台,后台获取提交的字符串参数之后,第一步将时间时间存储到ServletContext中保存上班时间,第二步则是通过JDBC将上班时间插入到数据库中。

2、员工访问考勤功能,后台获取员工浏览请求并获取当前的系统日期,通过JDBC查询当前系统日期下该员工是否已经考勤。如果已经考勤,则按钮变成灰色且为不可点击状态,如果该员工没有考勤,则按钮为绿色可点击状态。当员工点击考勤按钮之后,通过Ajax请求传递打卡请求,后台获取当前的系统日期然后与ServletContext对象中的上班时间进行比较,如果员工没有迟到,则通过JDBC将考勤结果存储到数据库中,0表示迟到,1表示正常。

3、管理员通过考勤模块查看员工的考勤页面时,后台获取浏览请求,JDBC通过SQL语句中的Where字句对考勤结果进行比较,如果说员工没有迟到则进行累加(Count()函数),否则跳过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值