本办公耗材采购是针对目前学校的实际需求,从实际工作出发,对过去的办公耗材采购系统存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。


开发语言:Java+mysql+vue
开发工具:IDEA /Eclipse
数据库:MYSQL5.7
应用服务:Tomcat7/Tomcat8
使用框架:ssm+vue
可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发

  1. 采购计划:查清楚缺什么办公耗材,列出清单,加入购物车,提交给学校领导审批采购单子是否合适,订单审批是当用户点击提交订单时,该订单状态设置为已提交状态,等待对应的审批流定义的审批人审批,最终结果是不能超过审批限额,则直接转向已审核。
  2. 审批流管理:创建修改查询审批流,成本中心管理员进行
  3. 成本中心管理和用户管理:成本中心和用户的增删改查,以及成本中心成员修改。
  4. 合约管理功能:包括合约的增删改查和生成订单合同。
  5. 订单管理功能:需要有购买记录,会根据供货商生成订单,不同的供货商生成不同的订单
  6. 供应商功能:A物品需要a供应商,b物品需要b供应商,希望供应商不是太少数量,A和c可以是同一供货商,但是希望供货商不要太单一化,丰富系统的内容。
  7. 货物入库功能:货物到达以后清点入库
  8. 出库功能:某物品出库以后需要登记时间和姓名,和此物品的供货商,并可以查到还剩多少某物品,最好加一个功能,就是说可以打印取走的单子
  9. 统计数据功能:可以随时查取准确的货物数量,以及按照成本中心商品类别以及产品明细三个方面进行统计。
  10. 库管理员:取走单子的时候可以记录是哪个库管理员
  11. 访问控制功能:合法用户可以访问非法用户,不能访问用户,访问时显示对应身份仓库管理员可以访问
  12. 用户管理功能:供应商,系统管理员,数据库层,用户管理员
  13. 商品管理功能:分别为类别管理,商品管理,购物车管理和收藏夹管理。
  14. 公告栏:对公告的增删改查,实现机制为对数据库相应表的增删改查。


/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));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);}/*** 注册*/@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("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@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){Long id = (Long)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 Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}




目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

java基于ssm+vue的办公耗材采购管理系统相关推荐

  1. java基于ssm+vue的共享充电宝管理系统 elementui

    随着时代的发展,人们的生活越来越离不开手机.但是因为技术水平等原因的限制,手机的电池并没有人们想象中的那么耐用.很多时候人们在外出的时候,很可能会遇到手机没电的情况发生.作为日常通讯的必备工具,如果没 ...

  2. java基于ssm+vue智慧餐厅点餐管理系统element

    计算机信息技术和互联网的发展,带动了整个的商业发展,方便了我们的生活.在餐饮业,从传统的就餐方式发展到如今的线上销售,客户通过订餐系统查看餐品信息,根据订购量和受欢迎程度来衡量餐品的好坏,不仅可以订购 ...

  3. java计算机毕业设计ssm办公耗材采购管理系统(源码+系统+mysql数据库+Lw文档)

    项目介绍 本办公耗材采购是针对目前学校的实际需求,从实际工作出发,对过去的办公耗材采购系统存在的问题进行分析,完善用户的使用体会.采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节 ...

  4. java基于ssm+vue+elementui楼盘房屋销售系统 前后端分离

    楼盘房屋是人类居住是必须的一个环境.且因为我国城镇化比例比较高,所以当前有很多的人希望到城市购买相关的楼盘和房屋.以更方便享受城市的教育和医疗资源.也能够让需要房屋销售相关信息的人更快的获取到更加全面 ...

  5. java基于ssm+vue+elementui的高校餐厅订餐美食分享系统

    校园餐厅订单管理系统是基于java编程语言和mysql数据库,ssm框架设计,本系统主要分为用户,管理员,商家三个角色,其中用户注册登陆后可以在线查看美食,发布评论,收藏美食,在线交流,美食下单等功能 ...

  6. java基于ssm+vue的驾校预约管理系统 elementui

    驾校预约管理系统是基于java编程语言,ssm框架,mysql数据库开发,本系统分为用户,教练,管理员三个角色:用户注册登陆可以查看驾校公告信息,在线预约教练,取消预约等操作:教练可以查看学员对自己的 ...

  7. java基于ssm+vue+elementui的旅游线路分享管理系统

    旅游景点路线网站管理系统,是基于java编程语言,ssm框架,mysql数据库制作的设计,本设计主要分为用户和管理员两个角色,用户的主要功能是注册登陆系统,查看旅游景点介绍,查看旅游路线介绍,查看新闻 ...

  8. java基于ssm+vue教师人事档案管理系统

    目  录 摘  要    I ABSTRACT    II 目 录    II 第1章 绪论    1 1.1背景及意义    1 1.2 研究现状    2 1.3 研究意义    3 第2章 相关 ...

  9. 基于ssm+vue的班级同学录网站管理系统 elementui

    班级同学录管理系统是基于java编程语言,ssm框架,mysql数据库开发的,本设计主要分为用户,管理员两个角色,其中用户注册登陆后可以查看系统公告,校园校友风采,在线交流,在线报名聚会等功能:管理员 ...

  10. 基于ssm+vue的师生防疫登记管理系统 elementui

    疫情期间大家都在听从政府的号召在居家隔离,不管是在城市还是在乡镇.农村,这引起我的注目,设计一套师生防疫登记备案,疫情防控需要大家共同努力.团结对在校师生进行了新型冠状病毒肺炎防控知识普及和宣传教育, ...

最新文章

  1. 让你android手机变平板,手机瞬间变平板 两种形态随意换_手机Android频道-中关村在线...
  2. edittext禁止换行符但能自动换行简书_使用n-gram创建自动完成系统
  3. 科大星云诗社动态20210419
  4. Yii的数值唯一性-场景与SQL
  5. centos7.4 U盘安装卡在 starting dracut initqueue hook
  6. LibLinear(SVM包)使用说明之(二)MATLAB接口
  7. MYSQL 5.1自动安装脚本
  8. java 控制鼠标点击_java中控制鼠标点击的方法
  9. spring框架 c p标签的区别_Spring学习初体验
  10. matlab中sqp的算法原理_利用fmincon函数中的SQP算法求解非线性规划问题,模型本身.......
  11. Android中图像变换Matrix的原理应用
  12. 从“如何设计用户超过1亿的应用”说起----数据库调优实战
  13. iphone手机屏幕开发尺寸
  14. Bat清理Chrome谷歌浏览器所有缓存
  15. python实现Excel邮件合并
  16. CCAA 常见错题集
  17. Genymotion目前速度最快的Android模拟器+ova包
  18. text html叫什么意思,text是什么意思_text是什么意思
  19. AI一分钟 | 苹果9月13日凌晨召开发布会;林斌晒小米手机新品,“撞脸”荣耀Magic 2...
  20. java 获取今天或者某一天是星期几/周几以及几号的方法

热门文章

  1. html搜索联系人,联系人列表.html
  2. https默认端口_Java企业信息化平台O2OA如何配置服务器来启用HTTPS(SSL)
  3. C语言输出AB9798,c语言基础练习习题及答案.doc
  4. tqdm的版本问题导致tensorflow_datasets无法加载
  5. 用vscode做markdown编辑器(借助Markdown All in One)
  6. 搭建自己的病毒扫描系统clamav-原版教程
  7. mysql 建表结构_MySQL学习系列之二——创建表及对表结构的基本操作
  8. duilib开发基础:创建自定义控件的过程
  9. Windows系统历史版本简介
  10. 基于Python的情感分析案例——知网情感词典