文章目录
前言
文章底部名片,获取项目的完整演示视频,免费解答技术疑问
项目介绍
相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低医院的运营人员成本,实现了医院医疗设备的标准化、制度化、程序化的管理,有效地防止了医院医疗设备的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询和修正设备信息、设备教学、使用手册、报修工单、维修进度、配件申领等信息。
课题主要采用Uni-weixin、springboot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。微信小程序主要包括设备员、使用员、设备信息、设备教学、使用手册、报修工单、维修进度、配件申领等功能,从而实现智能化的管理方式,提高工作效率。
技术介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
安卓框架:uniapp
安卓开发软件:HBuilder X
开发模式:混合开发
功能介绍
本次系统所涉及到的有关的功能,都是用功能结构图来简洁和清晰的表示出来,功能结构图就是能够把比较复杂的功能结构用图的形式清晰的描绘下来,并且为后续的设计以及测试等模块提供了明确的方向,在构思功能结构图的时候,便可以给设计的过程带来一定的思维导向,不至于在设计过程中有所遗漏,可以尽可能的明确系统所涉及到的功能。
系统的功能结构图如图4-1所示。
图 4-1系统功能结构图
核心代码
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
数据库参考
--
-- Current Database: `springboot03l8l759`
--
/*!40000 DROP DATABASE IF EXISTS `springboot03l8l759`*/;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springboot03l8l759` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `springboot03l8l759`;
--
-- Table structure for table `aboutus`
--
DROP TABLE IF EXISTS `aboutus`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `aboutus` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`title` varchar(200) NOT NULL COMMENT '标题',
`subtitle` varchar(200) DEFAULT NULL COMMENT '副标题',
`content` longtext NOT NULL COMMENT '内容',
`picture1` longtext COMMENT '图片1',
`picture2` longtext COMMENT '图片2',
`picture3` longtext COMMENT '图片3',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='关于我们';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `aboutus`
--
LOCK TABLES `aboutus` WRITE;
/*!40000 ALTER TABLE `aboutus` DISABLE KEYS */;
INSERT INTO `aboutus` VALUES (1,'2023-11-23 07:00:56','关于我们','ABOUT US','不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?\n你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。其实,我已经厌倦了你这样说说而已的把戏,我觉得就算我告诉你如何去做,你也不会照做,因为你根本什么都不做。','upload/aboutus_picture1.jpg','upload/aboutus_picture2.jpg','upload/aboutus_picture3.jpg');
/*!40000 ALTER TABLE `aboutus` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `baoxiugongdan`
--
DROP TABLE IF EXISTS `baoxiugongdan`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `baoxiugongdan` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`baoxiudanhao` varchar(200) DEFAULT NULL COMMENT '报修单号',
`shebeimingcheng` varchar(200) DEFAULT NULL COMMENT '设备名称',
`shebeifenlei` varchar(200) DEFAULT NULL COMMENT '设备分类',
`baoxiutupian` longtext COMMENT '报修图片',
`baoxiuneirong` longtext COMMENT '报修内容',
`baoxiuriqi` date DEFAULT NULL COMMENT '报修日期',
`baoxiuzhuangtai` varchar(200) DEFAULT NULL COMMENT '报修状态',
`gonghao` varchar(200) NOT NULL COMMENT '使用员',
`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',
`shhf` longtext COMMENT '审核回复',
PRIMARY KEY (`id`),
UNIQUE KEY `baoxiudanhao` (`baoxiudanhao`)
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COMMENT='报修工单';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `baoxiugongdan`
--
LOCK TABLES `baoxiugongdan` WRITE;
/*!40000 ALTER TABLE `baoxiugongdan` DISABLE KEYS */;
INSERT INTO `baoxiugongdan` VALUES (71,'2023-11-23 07:00:56','1111111111','设备名称1','设备分类1','upload/baoxiugongdan_baoxiutupian1.jpg,upload/baoxiugongdan_baoxiutupian2.jpg,upload/baoxiugongdan_baoxiutupian3.jpg','报修内容1','2023-11-23','已处理','使用员1','是',''),(72,'2023-11-23 07:00:56','2222222222','设备名称2','设备分类2','upload/baoxiugongdan_baoxiutupian2.jpg,upload/baoxiugongdan_baoxiutupian3.jpg,upload/baoxiugongdan_baoxiutupian4.jpg','报修内容2','2023-11-23','已处理','使用员2','是',''),(73,'2023-11-23 07:00:56','3333333333','设备名称3','设备分类3','upload/baoxiugongdan_baoxiutupian3.jpg,upload/baoxiugongdan_baoxiutupian4.jpg,upload/baoxiugongdan_baoxiutupian5.jpg','报修内容3','2023-11-23','已处理','使用员3','是',''),(74,'2023-11-23 07:00:56','4444444444','设备名称4','设备分类4','upload/baoxiugongdan_baoxiutupian4.jpg,upload/baoxiugongdan_baoxiutupian5.jpg,upload/baoxiugongdan_baoxiutupian6.jpg','报修内容4','2023-11-23','已处理','使用员4','是',''),(75,'2023-11-23 07:00:56','5555555555','设备名称5','设备分类5','upload/baoxiugongdan_baoxiutupian5.jpg,upload/baoxiugongdan_baoxiutupian6.jpg,upload/baoxiugongdan_baoxiutupian7.jpg','报修内容5','2023-11-23','已处理','使用员5','是',''),(76,'2023-11-23 07:00:56','6666666666','设备名称6','设备分类6','upload/baoxiugongdan_baoxiutupian6.jpg,upload/baoxiugongdan_baoxiutupian7.jpg,upload/baoxiugongdan_baoxiutupian8.jpg','报修内容6','2023-11-23','已处理','使用员6','是',''),(77,'2023-11-23 07:00:56','7777777777','设备名称7','设备分类7','upload/baoxiugongdan_baoxiutupian7.jpg,upload/baoxiugongdan_baoxiutupian8.jpg,upload/baoxiugongdan_baoxiutupian9.jpg','报修内容7','2023-11-23','已处理','使用员7','是',''),(78,'2023-11-23 07:00:56','8888888888','设备名称8','设备分类8','upload/baoxiugongdan_baoxiutupian8.jpg,upload/baoxiugongdan_baoxiutupian9.jpg,upload/baoxiugongdan_baoxiutupian10.jpg','报修内容8','2023-11-23','已处理','使用员8','是','');
/*!40000 ALTER TABLE `baoxiugongdan` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `config`
--
DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
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`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `config`
--
LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `keshi`
--
DROP TABLE IF EXISTS `keshi`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `keshi` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`keshimingcheng` varchar(200) NOT NULL COMMENT '科室名称',
`keshiweizhi` varchar(200) DEFAULT NULL COMMENT '科室位置',
`keshishuoming` varchar(200) DEFAULT NULL COMMENT '科室说明',
PRIMARY KEY (`id`),
UNIQUE KEY `keshimingcheng` (`keshimingcheng`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='科室';
/*!40101 SET character_set_client = @saved_cs_client */;
系统效果图