系统基于Springboot、SSM、ajax实现的打卡功能,给新手们一个小参考,欢迎指正!
实现的功能:9点20之前正常打卡,9点20到10点打卡算迟到,需要填写迟到原因,10点之后不能打卡,下午5点之前不能签退。打卡能记录登录用户的ID和用户名、IP地址和所在地。
1、model层
public class PunchClock {
private Integer id;//标识
private Long userid;//用户ID
private Date punch_inTime;//打卡时间
private Date punch_outTime;//签退时间
private Date attendanceTime;//考勤时间
private String remark;//迟到原因备注
private String userip;//ip地址
private String loginaddress;//登录地址
private String developername;//用户名
getter和setter;
2、dao层
public interface PunchClockDao {
//打卡
int up_out(PunchClock punchClock);
//签退
int add_in(PunchClock punchClock);
//迟到原因备注
int late_result(PunchClock punchClock);
//查询当前用户是否已经打卡
PunchClock if_punchin(PunchClock punchClock);
//查询当前用户是否已经签退
PunchClock if_punchout(PunchClock punchClock);
}
3、service层
@Transactional
public interface PunchClockManager {
int up_out(PunchClock punchClock);
int add_in(PunchClock punchClock);
int late_result(PunchClock punchClock);
PunchClock if_punchin(PunchClock punchClock);
PunchClock if_punchout(PunchClock punchClock);
}
4、serviceImpl层
@Service
@Transactional
public class PunchClockServiceImpl implements PunchClockManager {
@Autowired
private PunchClockDao punchClockDao;
@Override
public int up_out(PunchClock punchClock) {
return punchClockDao.up_out(punchClock);
}
@Override
public int add_in(PunchClock punchClock) {
return punchClockDao.add_in(punchClock);
}
@Override
public PunchClock if_punchin(PunchClock punchClock) {
return punchClockDao.if_punchin(punchClock);
}
@Override
public PunchClock if_punchout(PunchClock punchClock) {
return punchClockDao.if_punchout(punchClock);
}
@Override
public int late_result(PunchClock punchCloc