博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对劳务外包信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用劳务外包管理系统可以有效管理,使信息管理能够更加科学和规范。 劳务外包管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,本系统管理员管理用工单位,派遣员工,合同,黑名单,招聘信息,客户信息,统计员工在职信息与客户开发信息。业务员查看客户开发统计信息,查询供应商与客户。员工可以查询合同,档案,异动以及黑名单信息。 总之,劳务外包管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化 在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员管理用工单位,派遣员工,合同,黑名单,招聘信息,客户信息,统计员工在职信息与客户开发信息。 图4.1 管理员功能结构图 在前面分析的业务员功能的基础上,进行接下来的设计工作,最终展示设计的业务员结构图(见下图)。业务员查看客户开发统计信息,查询供应商与客户。 图4.2 业务员功能结构图 在前面分析的员工功能的基础上,进行接下来的设计工作,最终展示设计的员工结构图(见下图)。员工可以查询合同,档案,异动以及黑名单信息。 图4.3 员工功能结构图 程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
程序操作流程图 功能截图: 5.1 管理员功能实现 5.1.1 招聘信息管理管理员进入指定功能操作区之后可以管理招聘信息。其页面见下图。管理员可以增删改查招聘信息,管理员点击统计报表可以查看招聘统计信息。 图5.1 招聘信息管理页面 5.1.2 员工在职统计管理员进入指定功能操作区之后可以查看员工在职统计信息。其页面见下图。管理员能够查看在职人员与离职人员的占比情况。 图5.2 员工在职统计页面 5.1.3 派遣员工管理管理员进入指定功能操作区之后可以管理派遣员工信息。其页面见下图。管理员在本页面可以增删改查派遣员工信息。 图5.3 派遣员工管理页面 5.1.4 用工单位管理管理员进入指定功能操作区之后可以管理用工单位信息。其页面见下图。管理员负责用工单位信息的增删改查。用工单位信息包括发票凭证,单位负责人等信息。 图5.4 用工单位管理页面 5.2 业务员功能实现 5.2.1 客户信息管理业务员进入指定功能操作区之后可以查询客户信息。其页面见下图。业务员在当前页面可以根据所在公司查询客户信息,能够对客户的详细资料进行查看。 图5.5客户信息管理页面 5.2.2 客户开发统计业务员进入指定功能操作区之后可以查看客户开发统计信息。其页面见下图。业务员查看已完成和未完成的客户占比信息。 图5.6 客户开发统计页面 5.2.3 供应商管理业务员进入指定功能操作区之后可以查询供应商。其页面见下图。业务员根据供应商名称对供应商的信息进行查询,在本页面能够查看各个供应商的详细信息。 图5.7 供应商管理页面 5.3 员工功能实现 5.3.1 黑名单管理员工进入指定功能操作区之后可以查询黑名单。其页面见下图。员工根据姓名查询黑名单信息,黑名单信息包括姓名,拉黑时间。 图5.8 黑名单管理页面 5.3.2 异动管理员工进入指定功能操作区之后可以查看异动信息。其页面见下图。员工查询异动信息,查看调动的职位和部门信息。 图5.9 异动管理页面 5.3.3 合同管理员工进入指定功能操作区之后可以查看合同信息。其页面见下图。员工查询合同,下载合同文件,查看合同有效期和到期日期等信息。 图5.10 合同管理页面 代码实现: /** * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String role, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user != null){ if(!user.getRole().equals(role)){ return R.error("权限不正常"); } if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); }else{ return R.error("账号或密码或权限不对"); } } /** * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null) { return R.error("账号不存在"); } user.setPassword("123456"); userService.update(user,null); return R.ok("密码已重置为:123456"); } /** * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } /** * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Integer id = (Integer)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 保存 */ @PostMapping("/save") public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); userService.updateById(user);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Integer[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } } 论文参考:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻 精彩专栏推荐订阅:在下方专栏👇🏻 Java项目精品实战案例《100套》 (责任编辑:) |