前端
菜单权限
只给超级管理员分配签到管理菜单,一般员工无法查看
查找首页页面
观察到首页有个“使用率”汉字
在项目中查找“使用率”这三个字
增加签到和签退按钮
页面代码
<div class="info-box">
<span class="info-box-icon bg-aqua"><i class="fa fa-cog"></i></span>
<div class="info-box-content">
<span class="info-box-text">使用率2</span>
<span class="info-box-number">90<small>%</small></span>
<a href="${ctx}/sign/signIn/signIn">签到</a>
<a href="${ctx}/sign/signIn/signOut">签退</a>
</div>
</div>
后端
增加签退功能
@MyBatisDao
public interface SignInDao extends CrudDao<SignIn> {
public SignIn todaySign(String userCode);
}
<select id="todaySign" resultType="SignIn" parameterType="string">
SELECT * FROM jeesite.sign_in where user_id=#{userCode} and date(arrive_time)=date(now());
</select>
没有签到的人,不能签退
/**
* 签退
*/
@RequiresPermissions("sign:signIn:edit")
@RequestMapping(value = "signOut")
@ResponseBody
public String signOut() {
//查询该用户,今天的考勤记录
SignIn todaySign = signInDao.todaySign(UserUtils.getUser().getUserCode());
if(todaySign==null){
return renderResult(Global.TRUE, text("您还没有签到!"));
}else{
todaySign.setLeaveTime(new Date());
signInService.save(todaySign);
return renderResult(Global.TRUE, text("签退成功!"));
}
}
增加签到功能
今天签到过不能再签
/**
* 签到
*/
@RequiresPermissions("sign:signIn:edit")
@RequestMapping(value = "signIn")
@ResponseBody
public String signIn() {
//查询该用户,今天的考勤记录
SignIn todaySign = signInDao.todaySign(UserUtils.getUser().getUserCode());
if(todaySign==null){
SignIn signIn =new SignIn();
signIn.setIsNewRecord(true);
signIn.setUserId(UserUtils.getUser().getUserCode());
signIn.setArriveTime(new Date());
signInService.save(signIn);
return renderResult(Global.TRUE, text("签到成功!"));
}else{
return renderResult(Global.TRUE, text("您已签过到!"));
}
}
数据库表
CREATE TABLE `jeesite`.`sign_in` (
`sign_id` varchar(45) NOT NULL ,
`user_id` VARCHAR(100) NULL,
`arrive_time` DATETIME NULL,
`leave_time` DATETIME NULL,
PRIMARY KEY (`sign_id`))
COMMENT = '签到签退';