i am working on office attendance project with simple "login"(where attendance of employee gets incremented on every login,the attendance will be taken once a day, i mean if even a user logins more than once a day it should be taken as one,so how can i know about the change date?? "what i need exactly is "the user will login twice a day from that we have to receive in time and out time so as to calculate no of working hours in that day? and also to make sure that attendance is incremented just for one day even though he logins multiple times? visit http://devajkumarsuthapalli.blogspot.in/2013/06/my-java-project.html for code
1 回答
让我帮助您进行一个简单的设计,以帮助您进一步实施:
您需要创建两个数据库表:“出席”和“用户”,用于跟踪登录和注销信息。您的架构应如下所示:
出勤率
日期 UserId 登录 注销 PeriodInMinutes
1/6/2013 EMP01 09:00:00 10:00:00 60
1/6/2013 EMP01 11:00:00 14:00:00 180
1/6/2013 EMP05 09:00:00 18:00:00 540
用户
UserId 名称 地址
EMP01 XYZ Lane20
EMP05 PQR Lane21
每当用户登录或注销时;您需要在出勤表中插入详细信息。User 表应该是您的主表,其中包含用户详细信息。
该解决方案涉及查询您的考勤表并执行计算。
例如:如果您要查明用户 EMP01 是否在 2013 年 6 月 1 日出现;然后查询日期为 2013 年 6 月 1 日的用户 EMP01;如果您得到结果,则表示用户在场,如果返回零行,则表示该用户当天没有登录。
同样,您还可以找到用户在 2013 年 6 月 1 日工作的总小时数。查询特定日期的用户并对 PeriodInMinutes 列求和,您将获得总分钟数。请注意,计算每次登录和注销之间的时间差是您的工作。您可以在每次用户注销时在 PeriodInMinutes 列中插入时间差。
以上只是一个基本的想法。您可以进一步增强和优化案例。