本文主要是介绍考情管理之签到和签退,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前端
菜单权限
只给超级管理员分配签到管理菜单,一般员工无法查看
查找首页页面
观察到首页有个“使用率”汉字
在项目中查找“使用率”这三个字
增加签到和签退按钮
页面代码
<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")@ResponseBodypublic 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")@ResponseBodypublic 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 = '签到签退';
这篇关于考情管理之签到和签退的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!