package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.KaoqintongjiEntity;
import com.entity.view.KaoqintongjiView;
import com.service.KaoqintongjiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
/**
* 考勤统计
* 后端接口
* @author
* @email
* @date 2022-03-28 16:41:16
*/
@RestController
@RequestMapping("/kaoqintongji")
public class KaoqintongjiController {
@Autowired
private KaoqintongjiService kaoqintongjiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,KaoqintongjiEntity kaoqintongji,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
kaoqintongji.setXuehao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaoshi")) {
kaoqintongji.setJiaoshigonghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<KaoqintongjiEntity> ew = new EntityWrapper<KaoqintongjiEntity>();
PageUtils page = kaoqintongjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoqintongji), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,KaoqintongjiEntity kaoqintongji,
HttpServletRequest request){
EntityWrapper<KaoqintongjiEntity> ew = new EntityWrapper<KaoqintongjiEntity>();
PageUtils page = kaoqintongjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoqintongji), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( KaoqintongjiEntity kaoqintongji){
EntityWrapper<KaoqintongjiEntity> ew = new EntityWrapper<KaoqintongjiEntity>();
ew.allEq(MPUtil.allEQMapPre( kaoqintongji, "kaoqintongji"));
return R.ok().put("data", kaoqintongjiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(KaoqintongjiEntity kaoqintongji){
EntityWrapper< KaoqintongjiEntity> ew = new EntityWrapper< KaoqintongjiEntity>();
ew.allEq(MPUtil.allEQMapPre( kaoqintongji, "kaoqintongji"));
KaoqintongjiView kaoqintongjiView = kaoqintongjiService.selectView(ew);
return R.ok("查询考勤统计成功").put("data", kaoqintongjiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
KaoqintongjiEntity kaoqintongji = kaoqintongjiService.selectById(id);
return R.ok().put("data", kaoqintongji);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
KaoqintongjiEntity kaoqintongji = kaoqintongjiService.selectById(id);
return R.ok().put("data", kaoqintongji);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody KaoqintongjiEntity kaoqintongji, HttpServletRequest request){
kaoqintongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(kaoqintongji);
kaoqintongjiService.insert(kaoqintongji);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody KaoqintongjiEntity kaoqintongji, HttpServletRequest request){
kaoqintongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(kaoqintongji);
kaoqintongjiService.insert(kaoqintongji);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody KaoqintongjiEntity kaoqintongji, HttpServletRequest request){
//ValidatorUtils.validateEntity(kaoqintongji);
kaoqintongjiService.updateById(kaoqintongji);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
kaoqintongjiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<KaoqintongjiEntity> wrapper = new EntityWrapper<KaoqintongjiEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaoshi")) {
wrapper.eq("jiaoshigonghao", (String)request.getSession().getAttribute("username"));
}
int count = kaoqintongjiService.selectCount(wrapper);
return R.ok().put("count", count);
}
/**
* (按值统计)
*/
@RequestMapping("/value/{xColumnName}/{yColumnName}")
public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
EntityWrapper<KaoqintongjiEntity> ew = new EntityWrapper<KaoqintongjiEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
SpringBoot ,Java, Vue 毕业设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,已获高分通过项目。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以作为毕设、课程设计使用。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 里面有部署教程,项目都经过严格调试,确保可以运行! 1. 技术组成 后台框架:SpringBoot 前端:Vue 数据库:MySQL Maven 开发环境:JDK、IDEA、Tomcat 2. 部署教程 https://blog.junxu666.top/p/49037.html 如果需要指导,也可以私信联系我
资源推荐
资源详情
资源评论
收起资源包目录
基于 springboot+vue的学生考勤管理系统+数据库(毕业设计,包括源码,教程).zip (426个子文件)
update-password.vue.bak 3KB
IndexMain.vue.bak 2KB
IndexAsideStatic.vue.bak 2KB
BreadCrumbs.vue.bak 2KB
IndexHeader.vue.bak 2KB
3-build.bat 15B
2-run.bat 14B
1-install.bat 12B
.classpath 2KB
mvnw.cmd 7KB
app.2cb95970.css 263KB
chunk-vendors.a72b0961.css 37KB
canvas-bg-1.css 391B
canvas-bg-2.css 83B
canvas-bg-3.css 61B
~$ringboot开发文档,必看.docx 162B
.factorypath 15KB
.gitignore 364B
index.html 930B
index.html 559B
favicon.ico 4KB
favicon.ico 4KB
maven-wrapper.jar 50KB
KaoqintongjiController.java 11KB
CommonController.java 9KB
XueshengController.java 9KB
JiaoshiController.java 9KB
QingjiaxinxiController.java 7KB
KaoqinxinxiController.java 7KB
KechengxinxiController.java 7KB
QiandaoxinxiController.java 7KB
BanjixinxiController.java 6KB
QingjiaxinxiEntity.java 6KB
KaoqinxinxiEntity.java 6KB
MPUtil.java 5KB
UserController.java 5KB
MavenWrapperDownloader.java 5KB
QingjiaxinxiModel.java 5KB
KaoqinxinxiModel.java 5KB
QingjiaxinxiVO.java 5KB
QiandaoxinxiEntity.java 5KB
KaoqinxinxiVO.java 5KB
KaoqintongjiEntity.java 5KB
FileController.java 4KB
KechengxinxiEntity.java 4KB
XueshengEntity.java 4KB
JiaoshiEntity.java 4KB
BanjixinxiEntity.java 4KB
BaiduUtil.java 4KB
QiandaoxinxiModel.java 3KB
KaoqintongjiModel.java 3KB
QiandaoxinxiVO.java 3KB
KaoqintongjiVO.java 3KB
AuthorizationInterceptor.java 3KB
ConfigController.java 3KB
XueshengModel.java 3KB
KechengxinxiModel.java 3KB
XueshengVO.java 3KB
Query.java 3KB
KechengxinxiVO.java 3KB
JiaoshiModel.java 3KB
KaoqintongjiServiceImpl.java 3KB
BanjixinxiModel.java 3KB
JiaoshiVO.java 2KB
BanjixinxiVO.java 2KB
TokenServiceImpl.java 2KB
TokenEntity.java 2KB
CommonUtil.java 2KB
QiandaoxinxiServiceImpl.java 2KB
KechengxinxiServiceImpl.java 2KB
QingjiaxinxiServiceImpl.java 2KB
PageUtils.java 2KB
KaoqinxinxiServiceImpl.java 2KB
BanjixinxiServiceImpl.java 2KB
XueshengServiceImpl.java 2KB
JiaoshiServiceImpl.java 2KB
InterceptorConfig.java 1KB
KaoqintongjiDao.java 1KB
CommonServiceImpl.java 1KB
KaoqintongjiService.java 1KB
UserServiceImpl.java 1KB
UserEntity.java 1KB
SpringContextUtils.java 1KB
ValidatorUtils.java 1KB
SQLFilter.java 1KB
QiandaoxinxiService.java 1KB
QingjiaxinxiService.java 1KB
KechengxinxiService.java 1KB
KechengxinxiDao.java 1KB
QingjiaxinxiDao.java 1KB
QiandaoxinxiDao.java 1KB
KaoqinxinxiService.java 1KB
KaoqinxinxiDao.java 1014B
BanjixinxiService.java 1014B
HttpClientUtils.java 1013B
BanjixinxiDao.java 999B
XueshengService.java 980B
JiaoshiService.java 966B
XueshengDao.java 963B
JiaoshiDao.java 948B
共 426 条
- 1
- 2
- 3
- 4
- 5
资源评论
gdutxiaoxu
- 粉丝: 1545
- 资源: 3287
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三菱PLC采用Fx3u一485ADP一MB通讯模块,进行MODBuS和欧姆龙温控器通讯程序,程序采用ADPRW指令,通讯程序简单,易入门,适合小白使用
- 中达优控一体屏台达程序,包含中达优控屏程序,plc程序,程序 结构清晰,注释完整
- OV12890-Product-Specification-COB-Version-2-23-meetvr.pdf
- PMSM永磁同步电机仿真三电平SVPWM矢量控制matlab PMSM双环矢量控制传统三电平
- 基于最小二乘支持向量机(LSSVM)的数据分类预测 LSSVM分类 matlab代码 只代码,不负责讲解 注:要求 Matlab 2018B 及以上版本
- 基于深度置信网络-支持向量机(DBN-SVM)的数据分类预测 matlab代码
- cruise纯电动仿真模型纯电动车实际项目模型,本模型基于Cruise软件和Simul ink软件共同搭建完成
- 2025苹果cmsv10短剧模板.zip
- 两部6层电梯西门子S7-200PLC梯形图程序 一、电梯具有的功能 1.电梯内选和外选按钮的呼叫与对应指示灯的显示功能; 2.电梯开门和关门动作,开门到位; 3.电梯上升和下降的动作; 4
- 员工绩效考核系统 JAVA+Vue+SpringBoot+MySQL
- 数据库开发工具-脚本自动生成
- 基于51单片机的示波器 基于单片机AT89C51、模数转芯片ADC0808、proteus模拟的信号发生器、液晶屏LCD12864的简易示波器 功能: 可以通过按键调节波形的频率和峰值,将波形发生
- 基于改进粒子群优化支持向量机(PSO-SVM)的时间序列预测 PSO-SVM时间序列 改进后粒子群权重为:线性权重递减 matlab代码 只代码,不负责讲解 注:暂无Matlab版本要求 - 推荐
- 数据分析-76-TED演讲数据集探索之可视化分析(包含代码和数据)
- 基于卷积神经网络-双向长短期记忆网络(CNN-BILSTM)时间序列预测,MATLAB代码 评价指标包括:R2、MAE、MS
- 视频网站系统源代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功