设备故障管理系统
- 网站主要功能的介绍
本系统分为前台用户报修系统和后台管理系统,主要是为了方便学校以及社区的设备进行统一管理而开发的的系统。
系统主要基于springboot+vue技术采用编译器ider与Navicat开发实现,数据库采用MySQL5.7开发,数据访问是采用前后端分离思想技术实现,使用了Mybatis连接数据库对数据库进行操作,服务器用了apache,前端使用vue.js, element ui等等。
【546】基于springboot vue前后端分离的设备故障管理系统源码含讲解视频
前台用户包含的主要模块为:
登陆:用户需要先注册账号进行登录需要输入账号密码验证码进行登录;
注册,用户可在注册页面注册成为成为该系统的新用户;
设备信息管理:用户在该模块下可以进行增加设备和查看设备信息,增加设备需要的内容有设备名称、设备类型、故障类型、当前状态、设备图片、设备信息、以及故障原因。查看设备的信息可以进行的操作有修改设备数据和修理设备,对于设备还有当前状态,只有故障的设备才需要修理。以及分页和模糊查询等辅助功能。
设备类型管理,用户在该模块下可以进行设备类别的管理,可以新增设备类别,或者编辑设备类别,可以查看的内容有设备类型名,创建人,创建日期,操作。
故障类型管理,用户在该模块下可以进行故障类型的管理,可以新增故障类型,或者修改故障类型,可以查看的内容有设备故障名,创建人,创建日期,操作。
个人中心:用户在该模块下对自己的个人信息进行修改,修改的表单内容有姓名,性别,生日,地区,邮箱。
后台包含的主要模块为:
管理员登陆,管理员在用户登录口处选择管理员选项,管理员可以使用用户的所有功能,并且可以对所有信息的增删查改,用户并没有删除的权利。
用户管理,管理员可以注册用户进行管理,也可以查看用户的个人信息有头像,昵称,真实姓名,性别,地区,生日,邮箱,可以在操作中直接删除该用户。;
设备信息管理:管理员在该模块下可以进行增加设备和查看设备信息,增加设备需要的内容有设备名称、设备类型、故障类型、当前状态、设备图片、设备信息、以及故障原因。查看设备的信息可以进行的操作有修改设备数据和修理设备以及删除功能,对于设备还有当前状态,只有故障的设备才需要修理。以及分页和模糊查询等辅助功能。
设备类型管理,管理员在该模块下可以进行设备类别的管理,可以新增设备类别,或者编辑设备类别,可以查看的内容有设备类型名,创建人,创建日期,操作有编辑和删除。
故障类型管理,管理员在该模块下可以进行故障类型的管理,可以新增故障类型,或者修改故障类型,可以查看的内容有设备故障名,创建人,创建日期,操作有修改和删除。
个人中心:管理员在该模块下对自己的个人信息进行修改,修改的表单内容有姓名,性别,生日,地区,邮箱。
package com.example.medicine_api.controller;
import com.alibaba.fastjson.JSON;
import com.example.medicine_api.bean.Fault;
import com.example.medicine_api.bean.Personal;
import com.example.medicine_api.bean.Types;
import com.example.medicine_api.bean.UserBean;
import com.example.medicine_api.dao.HomeAdminDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
//首页已经页面各各细节接口
@RestController
public class HomeAdminController {
@Autowired
HomeAdminDao homeAdminDao;
@GetMapping("/admin/getPersonalAndUserData")//获得个人中心相应数据
public String getPersonalAndUserData(@RequestParam("id") int id) {
Map res = new HashMap();
res.put("user", homeAdminDao.getUserData(id)); //获得用户表数据
return JSON.toJSONString(res);//转成json数据给前端
}
//
@RequestMapping("admin/upPersonalData")//修改个人中心信息
public String upPersonalData(@RequestBody UserBean personal) {
int i = homeAdminDao.upPersonalData(personal); //调用Dao 修改个人信息
if (i == 1) {
return "ok";
}
return "err";
}
@GetMapping("admin/userDelete")//删除用户接口
public String userDelete(@RequestParam("id") int id) {
int res = homeAdminDao.userDelete(id); //管理员删除用户
System.out.println(id);
if (res == 1) {
return "ok";
}
return "err";
}
@GetMapping("/admin/pagingMedicineSoilList") //获得用户数据分页
public String pagingMedicineSoilList(@RequestParam("input") String input,@RequestParam("current") int current, @RequestParam("size") int size) {
Map res = new HashMap();
System.out.println("当前页:" + current);
int i=homeAdminDao.getPagingMedicineSoilCount(input);//获得土壤与设备的总数
System.out.println("找到了"+i);
if(i!=0){
res.put("list", homeAdminDao.getPagingMedicineSoilList((current - 1) * size, size,input));//分页查询土壤与设备
res.put("count", i);
return JSON.toJSONString(res);//转成json数据给前端
}
return "err";
}
@GetMapping("/admin/getPagingSoil") //设备类型管理分页查询
public String getPagingSoil(@RequestParam("current") int current,@RequestParam("size") int size,@RequestParam("input") String input){
Map res=new HashMap();
System.out.println("当前页:"+current);
res.put("list", homeAdminDao.getPagingSoilList((current-1)*size,size,input));//分页查询
res.put("count", homeAdminDao.getPagingSoilCount(input));//查询总数
return JSON.toJSONString(res);//转成json数据给前端
}
@GetMapping("/admin/getPagingFault") //设备类型管理分页查询
public String getPagingFault(@RequestParam("current") int current,@RequestParam("size") int size,@RequestParam("input") String input){
Map res=new HashMap();
System.out.println("当前页:"+current);
res.put("list", homeAdminDao.getPagingFaultList((current-1)*size,size,input));//分页查询
res.put("count", homeAdminDao.getPagingFaultCount(input));//查询总数
return JSON.toJSONString(res);//转成json数据给前端
}
@RequestMapping("/admin/addPagingTypes") //新增设备类别
public String addPagingTypes(@RequestBody Types types){
System.out.println(types);
homeAdminDao.addPagingTypes(types); //新增设备类别
return "ok";
}
@RequestMapping("/admin/upPagingTypes") //修改设备类别
public String upPagingTypes(@RequestBody Types types){
System.out.println(types);
homeAdminDao.upPagingTypes(types); //修改设备类别
return "ok";
}
@RequestMapping("/admin/deleteTypes") //删除设备类别
public String deleteTypes(@RequestBody Types types){
System.out.println(types);
homeAdminDao.deleteTypes(types); //删除设备类别
return "ok";
}
@RequestMapping("/admin/addPagingFault") //新增故障类别
public String addPagingFault(@RequestBody Fault fault){
System.out.println(fault);
homeAdminDao.addPagingFault(fault); //新增故障类别
return "ok";
}
@RequestMapping("/admin/upPagingFault") //修改故障类别
public String upPagingFault(@RequestBody Fault fault){
System.out.println(fault);
homeAdminDao.upPagingFault(fault); //修改故障类别
return "ok";
}
@RequestMapping("/admin/deleteFault") //删除故障类别
public String deleteFault(@RequestBody Fault fault){
System.out.println(fault);
homeAdminDao.deleteFault(fault); //删除故障类别
return "ok";
}
@GetMapping("admin/home/getHomeDate") //首页数据
public String getHomeDate(){
List res = new ArrayList();
res.add(0, homeAdminDao.getUserTotal()); //获得用户总数
res.add(1, homeAdminDao.getMedicineTotal());//获得设备总数
res.add(2, homeAdminDao.getTypesTotal()); //获得设备类型
res.add(3, homeAdminDao.getFaultTotal()); //获得故障类型
System.out.println(res);
return JSON.toJSONString(res);//转成json数据给前端
}
@GetMapping("getEcharts") //获得首页图表数据
public String getEcharts() {
Map res = new HashMap();
//首页图表的数据
res.put("UserName", homeAdminDao.getUserName());//获得所有用户名
res.put("LookNum", homeAdminDao.getUserLookNum());//获得所有用户的查看量
res.put("Hits", homeAdminDao.getHits());//获得所有中药的查看量
res.put("MedicineName", homeAdminDao.getMedicineName());//获得所有中药的名字
return JSON.toJSONString(res);//转成json数据给前端
}
}
package com.example.medicine_api.controller;
import com.alibaba.fastjson.JSON;
import com.example.medicine_api.bean.MachineInfo;
import com.example.medicine_api.dao.MachineInfoDao;
import com.example.medicine_api.util.OssUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author 漫画忧作
* @Date 2022/4/21 18:06
* @Version 1.0
*/
@RestController
public class MachineInfoController {
@Autowired
OssUtil ossUtil;
String img=null;//图片
@Autowired
MachineInfoDao machineInfoDao;
@RequestMapping("/admin/productImg") //存储设备图片地址
public void addImgHead(MultipartFile file){
//调用上传阿里云oss
img = ossUtil.checkImage(file); //image 为MultipartFile类型
System.out.println(img);
}
@RequestMapping("/admin/setMachineInfo") //添加设备数据
public String setMachineInfo(@RequestBody MachineInfo machineInfo){
if(img==null){
return "img";
}
machineInfo.setImg(img); //将图片存入对象,添加到数据库
machineInfoDao.setMachineInfo(machineInfo); //调用Dao层进行添加数据
img=null;
return "ok";
}
@RequestMapping("/admin/upMachineInfo") //修改设备数据
public String upMachineInfo(@RequestBody MachineInfo machineInfo){
if(img!=null) {
machineInfo.setImg(img); //不为空则正常将图片存入对象,添加到数据库
}
int i=machineInfoDao.upMachineInfo(machineInfo);//调用Dao层修改该设备信息
if(i==1){
return "ok";
}
return "err";
}
@GetMapping("admin/getTypeAndFault")//获得故障类别和设备类别
public String getTypeAndFault(){
List res = new ArrayList();
res.add(0, machineInfoDao.getType()); //获取设备类别
res.add(1, machineInfoDao.getFault()); //获得故障类别
System.out.println(res);
return JSON.toJSONString(res);//转成json数据给前端
}
@GetMapping("admin/pagingMedicineList")//表格分页查找设备数据
public String pagingMedicineList(@RequestParam("input") String input, @RequestParam("current") int current, @RequestParam("size") int size){
Map res = new HashMap();
System.out.println("当前页:" + current);
int i=machineInfoDao.getPagingMedicineCount(input);//获得总条数
System.out.println("找到了"+i);
if(i!=0){
res.put("list", machineInfoDao.getPagingMedicineList((current - 1) * size, size,input));//分页获得设备数据
res.put("count", i);
return JSON.toJSONString(res);//转成json数据给前端
}
return "err";
}
@GetMapping("admin/deleteMedicine")//删除设备接口
public String deleteMedicine(@RequestParam("id") int id){
System.out.println(id);
int i=machineInfoDao.deleteMedicine(id);//删除设备调用Dao
if(i==1){
return "ok";
}
return "err";
}
@GetMapping("admin/upMedicine")//删除设备接口
public String upMedicine(@RequestParam("id") int id){
System.out.println(id);
int i=machineInfoDao.upMedicine(id);//删除设备调用Dao
if(i==1){
return "ok";
}
return "err";
}
}
package com.example.medicine_api.controller;
import com.alibaba.fastjson.JSON;
import com.example.medicine_api.bean.User;
import com.example.medicine_api.bean.UserBean;
import com.example.medicine_api.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
//登录控制层
@RestController
public class LoginControlier {
@Autowired
UserDao userDao;
//登录接口
@RequestMapping("/login")
public String login(@RequestBody UserBean user){
System.out.println(user);
String flag="err";
HashMap<String,Object> res=new HashMap<>();
//登录获取登录人的所有信息 注入User对象 给Dao
UserBean us=userDao.getUserByMassage(user.getUsername(),user.getPassword(),user.getRole());
System.out.println(user);
if (us!=null){
flag="ok";
}
res.put("flag",flag);
res.put("user",us);
return JSON.toJSONString(res);//转成json数据给前端
}
@RequestMapping("/setUser") //注册用户
public void setUser(@RequestBody UserBean user){
userDao.setUser(user);//原对象会保留插入数据的id
}
@RequestMapping("/isUserUsername") //注册时判断是否重名
public String isUserUsername(@RequestBody UserBean user){
UserBean res=userDao.isUserUsername(user.getUsername());
System.out.println(res);
if(res==null){
return "ok";
}
return "err";
}
@RequestMapping("/user/home/getimghead") //获得用户头像地址
public String getImgHead(@RequestBody UserBean user){
return userDao.getImgHead(user.getId());
}
}