✨作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
一、前言
随着企业规模的扩大和业务范围的扩展,企业内部管理面临着越来越多的挑战。传统的管理方式已经无法满足现代企业的需求,因此,企业内部管理信息化系统应运而生,旨在提高管理效率,减少人力资源浪费,为企业提供更准确、实时的管理信息。本课题是基于企业内部管理信息化系统的研究,旨在设计和开发一套适用于企业的信息化管理系统,以满足企业对日常运营管理、员工信息管理、薪资管理等方面的需求。
目前,很多企业已经引入了各种信息化管理系统,但是这些系统存在很多问题。首先,很多系统是针对特定业务或部门设计的,无法满足企业管理的需求。其次,系统之间的数据无法共享,导致数据重复录入和信息不一致等问题。此外,很多系统缺乏灵活性和可扩展性,无法适应企业业务变化的需求。因此,本课题的研究对于解决现有信息化管理系统存在的问题具有重要意义。
本课题的研究目标是设计开发一套适用于企业内部管理信息化系统,旨在实现以下功能:用户管理、员工基本信息管理、部门管理、员工请假管理、任务管理、任务分配管理、公告资讯管理、薪资管理、资料管理、基础数据管理等。通过这些功能,企业可以管理员工信息、业务流程、数据统计等各个方面,提高管理效率和管理水平。
本课题的研究目的是解决现有企业内部管理信息化系统的不足之处,设计和开发一套适用于企业的信息化管理系统,以提高企业的管理效率和管理水平。通过本课题的研究,可以解决现有系统之间数据无法共享、缺乏灵活性和可扩展性等问题,同时满足企业对日常运营管理、员工信息管理、薪资管理等方面的需求。
本课题的研究具有重要的理论和实践意义。首先,从理论角度来看,本课题将为企业内部管理信息化系统的研究提供新的思路和方法。其次,从实践角度来看,本课题的研究成果将为企业提供更加准确、实时的管理信息,从而提高企业的管理效率和管理水平。此外,本课题的研究成果还可以为其他企业提供借鉴和参考,推动企业内部管理信息化的发展和应用。
二、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:B/S
- 后端:SpringBoot
- 前端:Vue
三、系统功能模块
- 角色:员工、部门主管、管理员
- 功能:
用户管理、员工基本信息、部门管理、员工请假管理、任务管理、任务分配管理、公告资讯管理、薪资管理、资料管理、基础数据管理。
四、系统界面展示
- 企业内部管理信息化系统界面展示:
五、代码参考
- Java项目实战代码参考:
@Controller
@RequestMapping("/")
public class InformController {
@Autowired
private InformService informService;
@Autowired
private NoticeMapper nm;
@Autowired
private InformRelationService informRelationService;
/**
* 通知管理面板分页
*
* @return
*/
@RequestMapping("infrommanagepaging")
public String inform(@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "baseKey", required = false) String baseKey,
@RequestParam(value = "type", required = false) String type,
@RequestParam(value = "status", required = false) String status,
@RequestParam(value = "time", required = false) String time,
@RequestParam(value = "icon", required = false) String icon, @SessionAttribute("userId") Long userId,
Model model, HttpServletRequest req) {
System.out.println("baseKey:" + baseKey);
setSomething(baseKey, type, status, time, icon, model);
Page<NoticesList> page2 = informService.pageThis(page, userId, baseKey, type, status, time);
List<NoticesList> noticeList = page2.getContent();
List<Map<String, Object>> list = informService.fengZhuang(noticeList);
model.addAttribute("url", "infrommanagepaging");
model.addAttribute("list", list);
model.addAttribute("page", page2);
return "inform/informtable";
}
/**
* 通知列表的分页
*/
@RequestMapping("informlistpaging")
public String informListPaging(@RequestParam(value = "pageNum", defaultValue = "1") int page,
@RequestParam(value = "baseKey", required = false) String baseKey,
@RequestParam(value="type",required=false) Integer type,
@RequestParam(value="status",required=false) Integer status,
@RequestParam(value="time",required=false) Integer time,
@RequestParam(value="icon",required=false) String icon,
@SessionAttribute("userId") Long userId,
Model model,HttpServletRequest req){
System.out.println("baseKey:"+baseKey);
System.out.println("page:"+page);
setSomething(baseKey, type, status, time, icon, model);
PageHelper.startPage(page, 10);
List<Map<String, Object>> list=nm.sortMyNotice(userId, baseKey, type, status, time);
PageInfo<Map<String, Object>> pageinfo=new PageInfo<Map<String, Object>>(list);
List<Map<String, Object>> list2=informRelationService.setList(list);
for (Map<String, Object> map : list2) {
System.out.println(map);
}
model.addAttribute("url", "informlistpaging");
model.addAttribute("list", list2);
model.addAttribute("page", pageinfo);
return "inform/informlistpaging";
}
private void setSomething(String baseKey, Object type, Object status, Object time, Object icon, Model model) {
if(!StringUtils.isEmpty(icon)){
model.addAttribute("icon", icon);
if(!StringUtils.isEmpty(type)){
model.addAttribute("type", type);
if("1".equals(type)){
model.addAttribute("sort", "&type=1&icon="+icon);
}else{
model.addAttribute("sort", "&type=0&icon="+icon);
}
}
if(!StringUtils.isEmpty(status)){
model.addAttribute("status", status);
if("1".equals(status)){
model.addAttribute("sort", "&status=1&icon="+icon);
}else{
model.addAttribute("sort", "&status=0&icon="+icon);
}
}
if(!StringUtils.isEmpty(time)){
model.addAttribute("time", time);
if("1".equals(time)){
model.addAttribute("sort", "&time=1&icon="+icon);
}else{
model.addAttribute("sort", "&time=0&icon="+icon);
}
}
}
if(!StringUtils.isEmpty(baseKey)){
model.addAttribute("baseKey", baseKey);
}
}
}
@Controller
@RequestMapping("/")
public class TaskController {
@Autowired
private TaskDao tdao;
@Autowired
private StatusDao sdao;
@Autowired
private TypeDao tydao;
@Autowired
private UserDao udao;
@Autowired
private DeptDao ddao;
@Autowired
private TaskuserDao tudao;
@Autowired
private TaskService tservice;
@Autowired
private TaskloggerDao tldao;
@Autowired
private PositionDao pdao;
/**
* 任务管理表格
*
* @return
*/
@RequestMapping("taskmanage")
public String index(Model model,
@SessionAttribute("userId") Long userId,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
// 通过发布人id找用户
User tu = udao.findOne(userId);
// 根据发布人id查询任务
Page<Tasklist> tasklist=tservice.index(page, size, null, tu);
List<Map<String, Object>> list=tservice.index2(tasklist, tu);
model.addAttribute("tasklist", list);
model.addAttribute("page", tasklist);
model.addAttribute("url", "paixu");
return "task/taskmanage";
}
/**
* 各种排序
*/
@RequestMapping("paixu")
public String paixu(HttpServletRequest request,
@SessionAttribute("userId") Long userId, Model model,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
// 通过发布人id找用户
User tu = udao.findOne(userId);
String val=null;
if(!StringUtil.isEmpty(request.getParameter("val"))){
val = request.getParameter("val").trim();
model.addAttribute("sort", "&val="+val);
}
Page<Tasklist> tasklist=tservice.index(page, size, val, tu);
List<Map<String, Object>> list=tservice.index2(tasklist, tu);
model.addAttribute("tasklist", list);
model.addAttribute("page", tasklist);
model.addAttribute("url", "paixu");
return "task/managetable";
}
/**
* 点击新增任务
*/
@RequestMapping("addtask")
public ModelAndView index2(@SessionAttribute("userId") Long userId,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
Pageable pa=new PageRequest(page, size);
ModelAndView mav = new ModelAndView("task/addtask");
// 查询类型表
Iterable<SystemTypeList> typelist = tydao.findAll();
// 查询状态表
Iterable<SystemStatusList> statuslist = sdao.findAll();
// 查询部门下面的员工
Page<User> pagelist = udao.findByFatherId(userId,pa);
List<User> emplist=pagelist.getContent();
// 查询部门表
Iterable<Dept> deptlist = ddao.findAll();
// 查职位表
Iterable<Position> poslist = pdao.findAll();
mav.addObject("typelist", typelist);
mav.addObject("statuslist", statuslist);
mav.addObject("emplist", emplist);
mav.addObject("deptlist", deptlist);
mav.addObject("poslist", poslist);
mav.addObject("page", pagelist);
mav.addObject("url", "names");
mav.addObject("qufen", "任务");
return mav;
}
/**
* 新增任务保存
*/
@RequestMapping("addtasks")
public String addtask(@SessionAttribute("userId") Long userId, HttpServletRequest request) {
User userlist = udao.findOne(userId);
Tasklist list = (Tasklist) request.getAttribute("tasklist");
request.getAttribute("success");
list.setUsersId(userlist);
list.setPublishTime(new Date());
list.setModifyTime(new Date());
tdao.save(list);
// 分割任务接收人
StringTokenizer st = new StringTokenizer(list.getReciverlist(), ";");
while (st.hasMoreElements()) {
User reciver = udao.findid(st.nextToken());
Taskuser task = new Taskuser();
task.setTaskId(list);
task.setUserId(reciver);
task.setStatusId(list.getStatusId());
// 存任务中间表
tudao.save(task);
}
return "redirect:/taskmanage";
}
/**
* 修改任务
*/
@RequestMapping("edittasks")
public ModelAndView index3(HttpServletRequest req, @SessionAttribute("userId") Long userId,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
Pageable pa=new PageRequest(page, size);
ModelAndView mav = new ModelAndView("task/edittask");
// 得到链接中的任务id
String taskid = req.getParameter("id");
Long ltaskid = Long.parseLong(taskid);
// 通过任务id得到相应的任务
Tasklist task = tdao.findOne(ltaskid);
// 得到状态id
Long statusid = task.getStatusId().longValue();
// 得到类型id
Long typeid = task.getTypeId();
// 查看状态表
SystemStatusList status = sdao.findOne(statusid);
// 查询类型表
SystemTypeList type = tydao.findOne(typeid);
// 查询部门下面的员工
Page<User> pagelist = udao.findByFatherId(userId,pa);
List<User> emplist=pagelist.getContent();
// 查询部门表
Iterable<Dept> deptlist = ddao.findAll();
// 查职位表
Iterable<Position> poslist = pdao.findAll();
mav.addObject("type", type);
mav.addObject("status", status);
mav.addObject("emplist", emplist);
mav.addObject("deptlist", deptlist);
mav.addObject("poslist", poslist);
mav.addObject("task", task);
mav.addObject("page", pagelist);
mav.addObject("url", "names");
mav.addObject("qufen", "任务");
return mav;
}
/**
* 修改任务确定
*/
@RequestMapping("update")
public String update(Tasklist task, HttpSession session) {
String userId = ((String) session.getAttribute("userId")).trim();
Long userid = Long.parseLong(userId);
User userlist = udao.findOne(userid);
task.setUsersId(userlist);
task.setPublishTime(new Date());
task.setModifyTime(new Date());
tservice.save(task);
// 分割任务接收人 还要查找联系人的主键
StringTokenizer st = new StringTokenizer(task.getReciverlist(), ";");
while (st.hasMoreElements()) {
User reciver = udao.findid(st.nextToken());
Long pkid = udao.findpkId(task.getTaskId(), reciver.getUserId());
Taskuser tasku = new Taskuser();
tasku.setPkId(pkid);
tasku.setTaskId(task);
tasku.setUserId(reciver);
tasku.setStatusId(task.getStatusId());
// 存任务中间表
tudao.save(tasku);
}
return "redirect:/taskmanage";
}
/**
* 查看任务
*/
@RequestMapping("seetasks")
public ModelAndView index4(HttpServletRequest req) {
ModelAndView mav = new ModelAndView("task/seetask");
// 得到任务的 id
String taskid = req.getParameter("id");
Long ltaskid = Long.parseLong(taskid);
// 通过任务id得到相应的任务
Tasklist task = tdao.findOne(ltaskid);
Long statusid = task.getStatusId().longValue();
// 根据状态id查看状态表
SystemStatusList status = sdao.findOne(statusid);
// 查看状态表
Iterable<SystemStatusList> statuslist = sdao.findAll();
// 查看发布人
User user = udao.findOne(task.getUsersId().getUserId());
// 查看任务日志表
List<Tasklogger> logger = tldao.findByTaskId(ltaskid);
mav.addObject("task", task);
mav.addObject("user", user);
mav.addObject("status", status);
mav.addObject("loggerlist", logger);
mav.addObject("statuslist", statuslist);
return mav;
}
/**
* 存反馈日志
*
* @return
*/
@RequestMapping("tasklogger")
public String tasklogger(Tasklogger logger, @SessionAttribute("userId") Long userId) {
User userlist = udao.findOne(userId);
logger.setCreateTime(new Date());
logger.setUsername(userlist.getUserName());
// 存日志
tldao.save(logger);
// 修改任务状态
tservice.updateStatusid(logger.getTaskId().getTaskId(), logger.getLoggerStatusid());
// 修改任务中间表状态
tservice.updateUStatusid(logger.getTaskId().getTaskId(), logger.getLoggerStatusid());
return "redirect:/taskmanage";
}
/**
* 我的任务
*/
@RequestMapping("mytask")
public String index5(@SessionAttribute("userId") Long userId, Model model,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
Pageable pa=new PageRequest(page, size);
Page<Tasklist> tasklist= tservice.index3(userId, null, page, size);
Page<Tasklist> tasklist2=tdao.findByTickingIsNotNull(pa);
if(tasklist!=null){
List<Map<String, Object>> list=tservice.index4(tasklist, userId);
model.addAttribute("page", tasklist);
model.addAttribute("tasklist", list);
}else{
List<Map<String, Object>> list2=tservice.index4(tasklist2, userId);
model.addAttribute("page", tasklist2);
model.addAttribute("tasklist", list2);
}
model.addAttribute("url", "mychaxun");
return "task/mytask";
}
/**
* 在我的任务里面进行查询
*
* @throws ParseException
*/
@RequestMapping("mychaxun")
public String select(HttpServletRequest request, @SessionAttribute("userId") Long userId, Model model,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) throws ParseException {
String title =null;
if(!StringUtil.isEmpty(request.getParameter("title"))){
title = request.getParameter("title").trim();
}
Page<Tasklist> tasklist= tservice.index3(userId, title, page, size);
List<Map<String, Object>> list=tservice.index4(tasklist, userId);
model.addAttribute("tasklist", list);
model.addAttribute("page", tasklist);
model.addAttribute("url", "mychaxun");
model.addAttribute("sort", "&title="+title);
return "task/mytasklist";
}
@RequestMapping("myseetasks")
public ModelAndView myseetask(HttpServletRequest req, @SessionAttribute("userId") Long userId) {
ModelAndView mav = new ModelAndView("task/myseetask");
// 得到任务的 id
String taskid = req.getParameter("id");
Long ltaskid = Long.parseLong(taskid);
// 通过任务id得到相应的任务
Tasklist task = tdao.findOne(ltaskid);
// 查看状态表
Iterable<SystemStatusList> statuslist = sdao.findAll();
// 查询接收人的任务状态
Long ustatus = tudao.findByuserIdAndTaskId(userId, ltaskid);
SystemStatusList status = sdao.findOne(ustatus);
/*System.out.println(status);*/
// 查看发布人
User user = udao.findOne(task.getUsersId().getUserId());
// 查看任务日志表
List<Tasklogger> logger = tldao.findByTaskId(ltaskid);
mav.addObject("task", task);
mav.addObject("user", user);
mav.addObject("status", status);
mav.addObject("statuslist", statuslist);
mav.addObject("loggerlist", logger);
return mav;
}
/**
* 从我的任务查看里面修改状态和日志
*/
@RequestMapping("uplogger")
public String updatelo(Tasklogger logger, @SessionAttribute("userId") Long userId) {
System.out.println(logger.getLoggerStatusid());
// 获取用户id
// 查找用户
User user = udao.findOne(userId);
// 查任务
Tasklist task = tdao.findOne(logger.getTaskId().getTaskId());
logger.setCreateTime(new Date());
logger.setUsername(user.getUserName());
// 存日志
tldao.save(logger);
// 修改任务中间表状态
Long pkid = udao.findpkId(logger.getTaskId().getTaskId(), userId);
Taskuser tasku = new Taskuser();
tasku.setPkId(pkid);
tasku.setTaskId(task);
tasku.setUserId(user);
if (!Objects.isNull(logger.getLoggerStatusid())) {
tasku.setStatusId(logger.getLoggerStatusid());
}
// 存任务中间表
tudao.save(tasku);
// 修改任务状态
// 通过任务id查看总状态
List<Integer> statu = tudao.findByTaskId(logger.getTaskId().getTaskId());
System.out.println(statu);
// 选出最小的状态id 修改任务表里面的状态
Integer min = statu.get(0);
for (Integer integer : statu) {
if (integer.intValue() < min) {
min = integer;
}
}
int up = tservice.updateStatusid(logger.getTaskId().getTaskId(), min);
/*System.out.println(logger.getTaskId().getTaskId() + "aaaa");
System.out.println(min + "wwww");
System.out.println(up + "pppppp");*/
if (up > 0) {
System.out.println("任务状态修改成功!");
}
return "redirect:/mytask";
}
/**
* 根据发布人这边删除任务和相关联系
* @param req
* @param session
* @return
*/
@RequestMapping("shanchu")
public String delete(HttpServletRequest req, @SessionAttribute("userId") Long userId) {
// 得到任务的 id
String taskid = req.getParameter("id");
Long ltaskid = Long.parseLong(taskid);
// 根据任务id找出这条任务
Tasklist task = tdao.findOne(ltaskid);
if(task.getUsersId().getUserId().equals(userId)){
// 删除日志表
int i=tservice.detelelogger(ltaskid);
System.out.println(i+"mmmmmmmmmmmm");
// 分割任务接收人 还要查找联系人的主键并删除接收人中间表
StringTokenizer st = new StringTokenizer(task.getReciverlist(), ";");
while (st.hasMoreElements()) {
User reciver = udao.findid(st.nextToken());
Long pkid = udao.findpkId(task.getTaskId(), reciver.getUserId());
int m=tservice.delete(pkid);
System.out.println(m+"sssssssssss");
}
// 删除这条任务
tservice.deteletask(task);
}else{
System.out.println("权限不匹配,不能删除");
return "redirect:/notlimit";
}
return "redirect:/taskmanage";
}
/**
* 接收人这边删除
*/
@RequestMapping("myshanchu")
public String mydelete(HttpServletRequest req, @SessionAttribute("userId") Long userId) {
// 用户id
// 得到任务的 id
String taskid = req.getParameter("id");
Long ltaskid = Long.parseLong(taskid);
Long pkid = udao.findpkId(ltaskid, userId);
tservice.delete(pkid);
return "redirect:/mytask";
}
}
六、论文参考
- 计算机毕业设计选题推荐-企业内部管理信息化系统论文参考:
七、系统视频
企业内部管理信息化系统项目视频:
计算机毕业设计选题推荐-企业内部管理系统-Java项目实战
结语
计算机毕业设计选题推荐-企业内部管理信息化系统-Java项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我