基于javaweb的SpringBoot药房管理系统(java+springboot+vue+elementui+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

201424140701

211424140701

221424140701

231424140701

241424140701

251424140701

261424140701

271424140701

基于javaweb的SpringBoot药房管理系统(java+springboot+vue+elementui+layui+mysql)

项目介绍

基于SpringBoot Vue的药房管理系统

角色:管理员、用户、服务人员

在系统首页可以查看首页,药品信息,疫情常识,保健品,系统公告,个人中心,购物车等内容进行详细操作

管理员:管理员登录系统后,可以对首页,个人中心,用户管理,保健品分类管理,药品分类管理,药品信息管理,疫情常识管理,保健品管理,系统管理,订单管理等进行相应的操作管理

用户:用户进入系统后能对首页,药品信息,疫情常识,保健品,系统公告,个人中心,购物车等功能进行操作

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+ElementUI+Layui+HTML+CSS+JS

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

文档介绍(课题背景与意义、系统实现功能、课题研究现状、系统相关技术、java技术、B/S架构、Mysql介绍、Mysql环境配置、Springboot框架、系统需求分析、系统功能、可行性研究、经济可行性、技术可行性、运行可行性、事件可行性、系统业务过程分析、系统业务过程分析、系统用例图、系统设计、数据库设计、系统整体设计、系统设计思想、系统流程图、系统详情设计、系统功能模块、系统功能模块、管理员功能模块):

药品信息展示页面:

系统公告展示页面:

信息详情展示:

药品订单展示详情:

后台登录展示页面:

后台药品管理列表展示: 

药品信息展示页面:

用户管理控制层: 

@RestController

@RequestMapping(“/user”)

@CrossOrigin

public class UserController {

@Autowired

private UserService userService;

@RequestMapping(“/login”)

public AjaxInfo login(@RequestBody User user, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(session.getId());

User user1 = userService.findUser(user);

if (user1 != null) {

ajaxInfo.setCode(user1.getUserRight());

ajaxInfo.setMsg(“登陆成功!”);

ajaxInfo.setData(user1.getUserName());

session.setAttribute(“userName”, user1.getUserName());

System.out.println(session.getAttribute(“userName”));

} else {

ajaxInfo.setCode(-1);

ajaxInfo.setMsg(“账号或密码错误!”);

return ajaxInfo;

@RequestMapping(“/logout”)

public String login(HttpSession session) {

System.out.println(session.getId());

System.out.println(session.getAttribute(“userName”));

session.removeAttribute(“userName”);

return “success”;

@RequestMapping(“/registUser”)

public AjaxInfo regist(@RequestBody User user, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

User userByAcc = userService.getUserByAcc(user.getUserAcc());

if (session.getAttribute(“userName”) != null) {

if (userByAcc == null) {

userService.registUser(user);

ajaxInfo.setMsg(“注册成功!”);

} else {

ajaxInfo.setMsg(“账号已存在!请重新输入~”);

return ajaxInfo;

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryUser”)

public AjaxInfo queryUser(@RequestBody User user, HttpSession session) {

System.out.println(user);

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

User userByAcc = userService.getUserByAcc(user.getUserAcc());

if (userByAcc == null||userByAcc.getUserRight()!=2) {

ajaxInfo.setMsg(“该取药员不存在,请重新输入!”);

ajaxInfo.setCode(-1);

} else {

ajaxInfo.setMsg(“查询成功!”);

ajaxInfo.setCode(0);

ajaxInfo.setData(userByAcc);

return ajaxInfo;

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/deleteUser”)

public AjaxInfo deleteUser(@RequestBody User user, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

userService.deleteUser(user.getUserAcc());

ajaxInfo.setMsg(“删除成功!”);

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/registBuyer”)

public AjaxInfo registBuyer(@RequestBody Buyer buyer, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(“======”+buyer);

Buyer buyerByUserId = userService.getBuyerById(buyer.getBuyerId());

if (session.getAttribute(“userName”) != null) {

if (buyerByUserId == null) {

userService.registBuyer(buyer);

ajaxInfo.setMsg(“注册成功!”);

} else {

ajaxInfo.setMsg(“ID已存在!”);

return ajaxInfo;

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryBuyer”)

public AjaxInfo queryBuyer(@RequestBody Buyer buyer, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(buyer);

if (session.getAttribute(“userName”) != null) {

Buyer buyer1 = userService.getBuyerById(buyer.getBuyerId());

if (buyer1 == null) {

ajaxInfo.setMsg(“该采购员不存在,请重新输入!”);

ajaxInfo.setCode(-1);

} else {

ajaxInfo.setMsg(“查询成功!”);

ajaxInfo.setData(buyer1);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

System.out.println(“=================”+ajaxInfo.getCode());

return ajaxInfo;

@RequestMapping(“/deleteBuyer”)

public AjaxInfo deleteBuyer(@RequestBody Buyer buyer, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

userService.deleteBuyer(buyer.getBuyerId());

ajaxInfo.setMsg(“删除成功!”);

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/updateBuyer”)

public AjaxInfo updateBuyer(@RequestBody Buyer buyer, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

userService.updateBuyer(buyer);

ajaxInfo.setMsg(“更新成功!”);

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

 后台管理员控制层:

@RestController

@CrossOrigin

@RequestMapping(“/admin”)

public class AdminController {

@Autowired

private AdminService adminService;

@RequestMapping(“/insertStorage”)

public AjaxInfo insertStroage(@RequestBody Instorage instorage, HttpSession session) {

System.out.println(instorage);

AjaxInfo ajaxInfo = new AjaxInfo();

Instorage in = new Instorage();

if (session.getAttribute(“userName”) != null) {

Medicine med = adminService.getMedicineBymedId(instorage.getMedId());

SimpleDateFormat time = new SimpleDateFormat(“yyyy-MM-dd HH:mm”);

Date date = new Date();

in.setMedId(instorage.getMedId());

in.setBuyerId(instorage.getBuyerId());

in.setInDate(time.format(date));

in.setInStorageNum(instorage.getInStorageNum());

if (med == null) {

ajaxInfo.setCode(-1);

ajaxInfo.setMsg(“入库失败,该药品不存在!”);

} else {

adminService.insertInstorage(in);

adminService.updateMedStorage(instorage.getMedId(), instorage.getInStorageNum()+med.getMedStorage());

ajaxInfo.setMsg(“入库成功~”);

ajaxInfo.setCode(0);

return ajaxInfo;

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/insertMedicine”)

public AjaxInfo insertMedicine(@RequestBody Medicine medicine, HttpSession session) {

System.out.println(medicine);

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

Medicine med = adminService.getMedicineBymedId(medicine.getMedId());

if (med == null) {

adminService.insertMedicine(medicine);

ajaxInfo.setMsg(“插入信息成功~”);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setMsg(“该药品已存在~”);

ajaxInfo.setCode(-1);

return ajaxInfo;

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryMedicine”)

public AjaxInfo queryMedicine(@RequestBody Medicine medicine, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

Medicine med = adminService.getMedicineBymedId(medicine.getMedId());

if (med == null) {

ajaxInfo.setMsg(“该药品不存在,请重新输入!”);

ajaxInfo.setCode(-1);

} else {

ajaxInfo.setMsg(“查询成功!”);

ajaxInfo.setData(med);

ajaxInfo.setCode(0);

System.out.println(med);

return ajaxInfo;

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

ajaxInfo.setCode(-2);

return ajaxInfo;

@RequestMapping(“/updateMedicine”)

public AjaxInfo updateMedicine(@RequestBody Medicine medicine, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

adminService.updateMedicine(medicine);

ajaxInfo.setMsg(“更新成功!”);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/deleteMedicine”)

public AjaxInfo deleteMedicine(@RequestBody Medicine medicine, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

adminService.deleteMedicine(medicine.getMedId());

ajaxInfo.setMsg(“删除成功!”);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/insertFactory”)

public AjaxInfo insertFactory(@RequestBody Factory factory, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

Factory fId = adminService.getFactoryByfactoryId(factory.getFactoryId());

if (fId == null) {

adminService.insertFactory(factory);

ajaxInfo.setMsg(“插入信息成功~”);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setMsg(“该药厂已存在~”);

ajaxInfo.setCode(-1);

return ajaxInfo;

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryFactory”)

public AjaxInfo queryFactory(@RequestBody Factory factory, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

Factory fId = adminService.getFactoryByfactoryId(factory.getFactoryId());

if (fId == null) {

ajaxInfo.setMsg(“该药厂不存在,请重新输入!”);

ajaxInfo.setCode(-1);

} else {

ajaxInfo.setMsg(“查询成功!”);

ajaxInfo.setData(fId);

ajaxInfo.setCode(0);

System.out.println(fId);

return ajaxInfo;

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

ajaxInfo.setCode(-2);

return ajaxInfo;

@RequestMapping(“/updateFactory”)

public AjaxInfo updateFactory(@RequestBody Factory factory, HttpSession session) {

System.out.println(factory);

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

adminService.updateFactory(factory);

ajaxInfo.setMsg(“更新成功!”);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/deleteFactory”)

public AjaxInfo deleteFactory(@RequestBody Factory factory, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

adminService.deleteFactory(factory.getFactoryId());

ajaxInfo.setMsg(“删除成功!”);

ajaxInfo.setCode(0);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

出库管理控制层: 

@RestController

@CrossOrigin

@RequestMapping(“/take”)

public class TakeController {

@Autowired

private AdminService adminService;

@Autowired

private TakeService takeService;

@RequestMapping(“/insertStorage”)

public AjaxInfo outStroage(@RequestBody Outstorage outstorage, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

Outstorage o1 = new Outstorage();

if (session.getAttribute(“userName”) != null) {

Medicine med = adminService.getMedicineBymedId(outstorage.getMedId());

SimpleDateFormat time = new SimpleDateFormat(“yyyy-MM-dd HH:mm”);

if (med == null) {

ajaxInfo.setCode(-1);

ajaxInfo.setMsg(“出库失败,该药品不存在!”);

} else {

if (med.getMedStorage()>=outstorage.getOutStorageNum()) {

o1.setMedId(outstorage.getMedId());

o1.setPatientId(outstorage.getPatientId());

o1.setOutStorageNum(outstorage.getOutStorageNum());

o1.setOutDate(time.format(new Date()));

adminService.updateMedStorage(med.getMedId(), med.getMedStorage()-outstorage.getOutStorageNum());

ajaxInfo.setMsg(“取药成功”);

ajaxInfo.setCode(0);

takeService.insertOutStorage(o1);

}else{

ajaxInfo.setCode(-1);

ajaxInfo.setMsg(“取药数量大于库存量,请重新输入!该药品当前库存量为:”+med.getMedStorage());

return ajaxInfo;

return ajaxInfo;

} else {

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

权限控制层管理控制层:

@RestController

@CrossOrigin

@RequestMapping(“/query”)

public class QueryController {

@Autowired

private QueryService queryService;

@RequestMapping(“/queryMedicine”)

public AjaxInfo queryMedicine(HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

List medicines = queryService.queryMedicine();

ajaxInfo.setCode(0);

ajaxInfo.setMsg(“查询成功”);

ajaxInfo.setData(medicines);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryFactory”)

public AjaxInfo queryFactory(HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

List factories = queryService.queryFactory();

ajaxInfo.setCode(0);

ajaxInfo.setData(factories);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryBuyer”)

public AjaxInfo queryBuyer1(HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

List buyers = queryService.queryBuyer();

ajaxInfo.setCode(0);

ajaxInfo.setData(buyers);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/showInRecord”)

public AjaxInfo showInRecord(MedicineTable medicineTable,HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

int page=(medicineTable.getPage()-1)*medicineTable.getLimit();

medicineTable.setPage(page);

List inRecord = queryService.getInRecord(medicineTable);

ajaxInfo.setCount(queryService.getInRecordCount(medicineTable));

ajaxInfo.setCode(0);

ajaxInfo.setData(inRecord);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/showOutRecord”)

public AjaxInfo queryBuyer(MedicineTable medicineTable,HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

if (session.getAttribute(“userName”) != null) {

int page=(medicineTable.getPage()-1)*medicineTable.getLimit();

medicineTable.setPage(page);

List outRecord = queryService.getOutRecord(medicineTable);

ajaxInfo.setCount(queryService.getOutRecordCount(medicineTable));

ajaxInfo.setCode(0);

ajaxInfo.setData(outRecord);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryMedicineByName”)

public AjaxInfo queryMedicineByName(MedicineTable medicineTable, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(medicineTable);

if (session.getAttribute(“userName”) != null) {

int page=(medicineTable.getPage()-1)*medicineTable.getLimit();

medicineTable.setPage(page);

List medicines = queryService.queryMedicineByName(medicineTable);

ajaxInfo.setMsg(“查询成功”);

ajaxInfo.setCount(queryService.queryMedicineByNameCount(medicineTable));

ajaxInfo.setCode(0);

ajaxInfo.setData(medicines);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryFactoryByName”)

public AjaxInfo queryFactoryByName(MedicineTable medicineTable, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(medicineTable);

if (session.getAttribute(“userName”) != null) {

int page=(medicineTable.getPage()-1)*medicineTable.getLimit();

medicineTable.setPage(page);

List factories = queryService.queryFactoryByName(medicineTable);

ajaxInfo.setMsg(“查询成功”);

ajaxInfo.setCount(queryService.queryFactoryByNameCount(medicineTable));

ajaxInfo.setCode(0);

ajaxInfo.setData(factories);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryBuyerByName”)

public AjaxInfo queryBuyerByName(MedicineTable medicineTable, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(medicineTable);

if (session.getAttribute(“userName”) != null) {

int page=(medicineTable.getPage()-1)*medicineTable.getLimit();

medicineTable.setPage(page);

List buyers = queryService.queryBuyerByName(medicineTable);

ajaxInfo.setMsg(“查询成功”);

ajaxInfo.setCount(queryService.queryBuyerByNameCount(medicineTable));

ajaxInfo.setCode(0);

ajaxInfo.setData(buyers);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;

@RequestMapping(“/queryUserByName”)

public AjaxInfo queryUserByName(MedicineTable medicineTable, HttpSession session) {

AjaxInfo ajaxInfo = new AjaxInfo();

System.out.println(medicineTable);

if (session.getAttribute(“userName”) != null) {

int page=(medicineTable.getPage()-1)*medicineTable.getLimit();

medicineTable.setPage(page);

List users = queryService.queryUserByName(medicineTable);

ajaxInfo.setMsg(“查询成功”);

ajaxInfo.setCount(queryService.queryUserByNameCount(medicineTable));

ajaxInfo.setCode(0);

ajaxInfo.setData(users);

} else {

ajaxInfo.setCode(-2);

ajaxInfo.setMsg(“权限不足!请先登录~”);

return ajaxInfo;


项目链接:
https://javayms.github.io?id=211524190701201ke
https://javayms.pages.dev?id=211524190701201ke