广州花都区网站建设,娱乐网站设计多少行业,制作网页方案,网站当电话线#x1f34a;作者#xff1a;计算机编程-吉哥 #x1f34a;简介#xff1a;专业从事JavaWeb程序开发#xff0c;微信小程序开发#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事#xff0c;生活就是快乐的。 #x1f34a;心愿#xff1a;点… 作者计算机编程-吉哥 简介专业从事JavaWeb程序开发微信小程序开发定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事生活就是快乐的。 心愿点赞 收藏 ⭐评论 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型
2.数据库表结构
3.开发工具
4.功能
4.1【角色】
4.2【前台功能模块】
4.3【后台功能模块】
5.项目演示截图
5.1 首页
5.2 资料详情
5.3 公告资讯
5.4 任务
5.5 个人中心
5.6 基本信息管理
5.7 员工请假管理
5.8 任务管理
5.9 部门经理管理
6.数据库文件设计
7.核心代码
7.1 分配Controller
7.2 分配Service
7.3 分配ServiceImpl
7.4 分配DAO
8.参考文档 1.技术选型
springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8
2.数据库表结构
14张
3.开发工具
idea、navicat
4.功能
4.1【角色】
管理员、用户、部门主管
4.2【前台功能模块】
登录注册首页公告资讯任务资料个人中心
4.3【后台功能模块】
登录首页个人中心用户管理基本信息管理部门管理员工请假管理任务管理任务分配管理公告资讯管理薪资管理资料管理轮播图信息
5.项目演示截图
5.1 首页 5.2 资料详情 5.3 公告资讯 5.4 任务 5.5 个人中心 5.6 基本信息管理 5.7 员工请假管理 5.8 任务管理 5.9 部门经理管理 6.数据库文件设计 CREATE TABLE bumen (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键 ,bumen_uuid_number varchar(200) DEFAULT NULL COMMENT 部门编号,bumen_name varchar(200) DEFAULT NULL COMMENT 部门名称 Search111 ,bumen_address varchar(200) DEFAULT NULL COMMENT 部门位置,bumen_content longtext COMMENT 部门备注 ,insert_time timestamp NULL DEFAULT NULL COMMENT 录入时间,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show3 listShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT15 DEFAULT CHARSETutf8 COMMENT部门;CREATE TABLE config (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(100) NOT NULL COMMENT 配置参数名称,value varchar(100) DEFAULT NULL COMMENT 配置参数值,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT配置文件;CREATE TABLE dictionary (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,dic_code varchar(200) DEFAULT NULL COMMENT 字段,dic_name varchar(200) DEFAULT NULL COMMENT 字段名,code_index int(11) DEFAULT NULL COMMENT 编码,index_name varchar(200) DEFAULT NULL COMMENT 编码名字 Search111 ,super_id int(11) DEFAULT NULL COMMENT 父字段id,beizhu varchar(200) DEFAULT NULL COMMENT 备注,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT25 DEFAULT CHARSETutf8 COMMENT字典;CREATE TABLE gonggao (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键 ,gonggao_name varchar(200) DEFAULT NULL COMMENT 公告名称 Search111 ,gonggao_photo varchar(200) DEFAULT NULL COMMENT 公告图片 ,gonggao_types int(11) NOT NULL COMMENT 公告类型 Search111 ,insert_time timestamp NULL DEFAULT NULL COMMENT 发布时间,gonggao_content longtext COMMENT 公告详情 ,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show1 show2 nameShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT15 DEFAULT CHARSETutf8 COMMENT公告资讯;CREATE TABLE jingli (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,username varchar(200) DEFAULT NULL COMMENT 账户,password varchar(200) DEFAULT NULL COMMENT 密码,jingli_uuid_number varchar(200) DEFAULT NULL COMMENT 部门经理编号 Search111 ,jingli_name varchar(200) DEFAULT NULL COMMENT 部门经理姓名 Search111 ,jingli_phone varchar(200) DEFAULT NULL COMMENT 部门经理手机号,jingli_id_number varchar(200) DEFAULT NULL COMMENT 部门经理身份证号,jingli_photo varchar(200) DEFAULT NULL COMMENT 部门经理头像,sex_types int(11) DEFAULT NULL COMMENT 性别,jingli_email varchar(200) DEFAULT NULL COMMENT 部门经理邮箱,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT部门经理;CREATE TABLE qingjia (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,yonghu_id int(11) DEFAULT NULL COMMENT 用户,jingli_id int(11) DEFAULT NULL COMMENT 部门主管,qingjia_text longtext COMMENT 请假缘由,qingjia_types int(11) DEFAULT NULL COMMENT 请假类型 Search111,insert_time timestamp NULL DEFAULT NULL COMMENT 申请时间,qingjia_time timestamp NULL DEFAULT NULL COMMENT 请假时间,qingjia_number int(200) DEFAULT NULL COMMENT 请假天数,qingjia_yesno_types int(11) DEFAULT NULL COMMENT 申请状态 Search111 ,qingjia_yesno_text longtext COMMENT 处理意见,qingjia_shenhe_time timestamp NULL DEFAULT NULL COMMENT 审核时间,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show3 listShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT16 DEFAULT CHARSETutf8 COMMENT员工请假;CREATE TABLE renwu (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键 ,jingli_id int(11) DEFAULT NULL COMMENT 部门主管,renwu_name varchar(200) DEFAULT NULL COMMENT 任务名称 Search111 ,renwu_uuid_number varchar(200) DEFAULT NULL COMMENT 任务编号,renwu_photo varchar(200) DEFAULT NULL COMMENT 任务照片,renwu_types int(11) DEFAULT NULL COMMENT 任务类型 Search111,renwu_file varchar(200) DEFAULT NULL COMMENT 文件,renwu_content longtext COMMENT 任务介绍 ,renwu_delete int(11) DEFAULT NULL COMMENT 逻辑删除,insert_time timestamp NULL DEFAULT NULL COMMENT 录入时间,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show1 show2 photoShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT16 DEFAULT CHARSETutf8 COMMENT任务;CREATE TABLE token (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,userid bigint(20) NOT NULL COMMENT 儿童id,username varchar(100) NOT NULL COMMENT 儿童名,tablename varchar(100) DEFAULT NULL COMMENT 表名,role varchar(100) DEFAULT NULL COMMENT 角色,token varchar(200) NOT NULL COMMENT 密码,addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 新增时间,expiratedtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 过期时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENTtoken表;CREATE TABLE users (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,username varchar(100) NOT NULL COMMENT 儿童名,password varchar(100) NOT NULL COMMENT 密码,role varchar(100) DEFAULT 管理员 COMMENT 角色,addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 新增时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT2 DEFAULT CHARSETutf8 COMMENT管理员;CREATE TABLE xinxi (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键 ,yonghu_id int(11) DEFAULT NULL COMMENT 用户,xinxi_name varchar(200) DEFAULT NULL COMMENT 基本信息名称 Search111 ,xinxi_uuid_number varchar(200) DEFAULT NULL COMMENT 基本信息编号,xinxi_yuanxiao varchar(200) DEFAULT NULL COMMENT 毕业院校,xinxi_zhuanye varchar(200) DEFAULT NULL COMMENT 专业,xinxi_xuewei varchar(200) DEFAULT NULL COMMENT 最终学位,xinxi_address varchar(200) DEFAULT NULL COMMENT 家庭住址,xinxi_chepai varchar(200) DEFAULT NULL COMMENT 车牌号,xinxi_didian varchar(200) DEFAULT NULL COMMENT 办公地点,xinxi_types int(11) DEFAULT NULL COMMENT 健康状况 ,xinxi_time date DEFAULT NULL COMMENT 入职时间,xinxi_content longtext COMMENT 基本信息介绍 ,xinxi_delete int(11) DEFAULT NULL COMMENT 逻辑删除,insert_time timestamp NULL DEFAULT NULL COMMENT 录入时间,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show3 listShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT15 DEFAULT CHARSETutf8 COMMENT基本信息;CREATE TABLE yonghu (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,username varchar(200) DEFAULT NULL COMMENT 账户,password varchar(200) DEFAULT NULL COMMENT 密码,yonghu_uuid_number varchar(200) DEFAULT NULL COMMENT 用户编号 Search111 ,yonghu_name varchar(200) DEFAULT NULL COMMENT 用户姓名 Search111 ,yonghu_phone varchar(200) DEFAULT NULL COMMENT 用户手机号,yonghu_id_number varchar(200) DEFAULT NULL COMMENT 用户身份证号,yonghu_photo varchar(200) DEFAULT NULL COMMENT 用户头像,sex_types int(11) DEFAULT NULL COMMENT 性别,yonghu_email varchar(200) DEFAULT NULL COMMENT 用户邮箱,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT用户;
7.核心代码
7.1 分配Controller
package com.controller;/*** 任务分配* 后端接口* author 计算机编程-吉哥* email
*/
RestController
Controller
RequestMapping(/fenpei)
public class FenpeiController {private static final Logger logger LoggerFactory.getLogger(FenpeiController.class);private static final String TABLE_NAME fenpei;Autowiredprivate FenpeiService fenpeiService;Autowiredprivate TokenService tokenService;Autowiredprivate BumenService bumenService;//部门Autowiredprivate DictionaryService dictionaryService;//字典Autowiredprivate GonggaoService gonggaoService;//公告资讯Autowiredprivate JingliService jingliService;//部门经理Autowiredprivate QingjiaService qingjiaService;//员工请假Autowiredprivate RenwuService renwuService;//任务Autowiredprivate XinxiService xinxiService;//基本信息Autowiredprivate XinziService xinziService;//薪资Autowiredprivate YonghuService yonghuService;//用户Autowiredprivate ZiliaoService ziliaoService;//资料Autowiredprivate UsersService usersService;//管理员/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永不会进入);else if(用户.equals(role))params.put(yonghuId,request.getSession().getAttribute(userId));else if(部门经理.equals(role))params.put(jingliId,request.getSession().getAttribute(userId));params.put(fenpeiDeleteStart,1);params.put(fenpeiDeleteEnd,1);CommonUtil.checkMap(params);PageUtils page fenpeiService.queryPage(params);//字典表数据转换ListFenpeiView list (ListFenpeiView)page.getList();for(FenpeiView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put(data, page);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id, HttpServletRequest request){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);FenpeiEntity fenpei fenpeiService.selectById(id);if(fenpei !null){//entity转viewFenpeiView view new FenpeiView();BeanUtils.copyProperties( fenpei , view );//把实体数据重构到view中//级联表 任务//级联表RenwuEntity renwu renwuService.selectById(fenpei.getRenwuId());if(renwu ! null){BeanUtils.copyProperties( renwu , view ,new String[]{ id, createTime, insertTime, updateTime, username, password, newMoney, yonghuId});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setRenwuId(renwu.getId());}//级联表 用户//级联表YonghuEntity yonghu yonghuService.selectById(fenpei.getYonghuId());if(yonghu ! null){BeanUtils.copyProperties( yonghu , view ,new String[]{ id, createTime, insertTime, updateTime, username, password, newMoney, yonghuId});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody FenpeiEntity fenpei, HttpServletRequest request){logger.debug(save方法:,,Controller:{},,fenpei:{},this.getClass().getName(),fenpei.toString());String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永远不会进入);else if(用户.equals(role))fenpei.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId))));WrapperFenpeiEntity queryWrapper new EntityWrapperFenpeiEntity().eq(renwu_id, fenpei.getRenwuId()).eq(yonghu_id, fenpei.getYonghuId()).eq(fenpei_types, fenpei.getFenpeiTypes()).eq(fenpei_delete, 1);logger.info(sql语句:queryWrapper.getSqlSegment());FenpeiEntity fenpeiEntity fenpeiService.selectOne(queryWrapper);if(fenpeiEntitynull){fenpei.setFenpeiDelete(1);fenpei.setInsertTime(new Date());fenpei.setCreateTime(new Date());fenpeiService.insert(fenpei);return R.ok();}else {return R.error(511,表中有相同数据);}}/*** 后端修改*/RequestMapping(/update)public R update(RequestBody FenpeiEntity fenpei, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug(update方法:,,Controller:{},,fenpei:{},this.getClass().getName(),fenpei.toString());FenpeiEntity oldFenpeiEntity fenpeiService.selectById(fenpei.getId());//查询原先数据String role String.valueOf(request.getSession().getAttribute(role));
// if(false)
// return R.error(511,永远不会进入);
// else if(用户.equals(role))
// fenpei.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId))));if(.equals(fenpei.getFenpeiContent()) || null.equals(fenpei.getFenpeiContent())){fenpei.setFenpeiContent(null);}fenpeiService.updateById(fenpei);//根据id更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Integer[] ids, HttpServletRequest request){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());ListFenpeiEntity oldFenpeiList fenpeiService.selectBatchIds(Arrays.asList(ids));//要删除的数据ArrayListFenpeiEntity list new ArrayList();for(Integer id:ids){FenpeiEntity fenpeiEntity new FenpeiEntity();fenpeiEntity.setId(id);fenpeiEntity.setFenpeiDelete(2);list.add(fenpeiEntity);}if(list ! null list.size() 0){fenpeiService.updateBatchById(list);}return R.ok();}/*** 批量上传*/RequestMapping(/batchInsert)public R save( String fileName, HttpServletRequest request){logger.debug(batchInsert方法:,,Controller:{},,fileName:{},this.getClass().getName(),fileName);Integer yonghuId Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId)));SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);//.eq(time, new SimpleDateFormat(yyyy-MM-dd).format(new Date()))try {ListFenpeiEntity fenpeiList new ArrayList();//上传的东西MapString, ListString seachFields new HashMap();//要查询的字段Date date new Date();int lastIndexOf fileName.lastIndexOf(.);if(lastIndexOf -1){return R.error(511,该文件没有后缀);}else{String suffix fileName.substring(lastIndexOf);if(!.xls.equals(suffix)){return R.error(511,只支持后缀为xls的excel文件);}else{URL resource this.getClass().getClassLoader().getResource(static/upload/ fileName);//获取文件路径File file new File(resource.getFile());if(!file.exists()){return R.error(511,找不到上传文件请联系管理员);}else{ListListString dataList PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行因为第一行是提示for(ListString data:dataList){//循环FenpeiEntity fenpeiEntity new FenpeiEntity();fenpeiList.add(fenpeiEntity);//把要查询是否重复的字段放入map中}//查询是否重复fenpeiService.insertBatch(fenpeiList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,批量插入数据异常请联系管理员);}}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(list方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));CommonUtil.checkMap(params);PageUtils page fenpeiService.queryPage(params);//字典表数据转换ListFenpeiView list (ListFenpeiView)page.getList();for(FenpeiView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put(data, page);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Integer id, HttpServletRequest request){logger.debug(detail方法:,,Controller:{},,id:{},this.getClass().getName(),id);FenpeiEntity fenpei fenpeiService.selectById(id);if(fenpei !null){//entity转viewFenpeiView view new FenpeiView();BeanUtils.copyProperties( fenpei , view );//把实体数据重构到view中//级联表RenwuEntity renwu renwuService.selectById(fenpei.getRenwuId());if(renwu ! null){BeanUtils.copyProperties( renwu , view ,new String[]{ id, createTime, insertTime, updateTime, username, password, newMoney, yonghuId});//把级联的数据添加到view中,并排除id和创建时间字段view.setRenwuId(renwu.getId());}//级联表YonghuEntity yonghu yonghuService.selectById(fenpei.getYonghuId());if(yonghu ! null){BeanUtils.copyProperties( yonghu , view ,new String[]{ id, createTime, insertTime, updateTime, username, password, newMoney, yonghuId});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody FenpeiEntity fenpei, HttpServletRequest request){logger.debug(add方法:,,Controller:{},,fenpei:{},this.getClass().getName(),fenpei.toString());WrapperFenpeiEntity queryWrapper new EntityWrapperFenpeiEntity().eq(renwu_id, fenpei.getRenwuId()).eq(yonghu_id, fenpei.getYonghuId()).eq(fenpei_types, fenpei.getFenpeiTypes()).eq(fenpei_delete, fenpei.getFenpeiDelete())
// .notIn(fenpei_types, new Integer[]{102});logger.info(sql语句:queryWrapper.getSqlSegment());FenpeiEntity fenpeiEntity fenpeiService.selectOne(queryWrapper);if(fenpeiEntitynull){fenpei.setFenpeiDelete(1);fenpei.setInsertTime(new Date());fenpei.setCreateTime(new Date());fenpeiService.insert(fenpei);return R.ok();}else {return R.error(511,表中有相同数据);}}}
7.2 分配Service
package com.service;import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.FenpeiEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;/*** 任务分配 服务类*/
public interface FenpeiService extends IServiceFenpeiEntity {/*** param params 查询参数* return 带分页的查询出来的数据*/PageUtils queryPage(MapString, Object params);}
7.3 分配ServiceImpl
package com.service.impl;/*** 任务分配 服务实现类*/
Service(fenpeiService)
Transactional
public class FenpeiServiceImpl extends ServiceImplFenpeiDao, FenpeiEntity implements FenpeiService {Overridepublic PageUtils queryPage(MapString,Object params) {PageFenpeiView page new QueryFenpeiView(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}7.4 分配DAO
package com.dao;import com.entity.FenpeiEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;import org.apache.ibatis.annotations.Param;
import com.entity.view.FenpeiView;/*** 任务分配 Dao 接口** author */
public interface FenpeiDao extends BaseMapperFenpeiEntity {ListFenpeiView selectListView(Pagination page,Param(params)MapString,Object params);}8.参考文档 你可能还有感兴趣的项目 更多项目推荐:计算机毕业设计项目 如果大家有任何疑虑请在下方咨询或评论