基于springboot的张仲景药房(药店)管理系统

简介: 张仲景药房管理系统在设计过程中使用的程序设计更加人性化,如果出现了错误信息系统可以及时处理和反应。其中系统的主要内容是数据库设计的具体分析数据采用MySQL数据库,选择maven作为版本管理工具,系统后端使用了Spring Boot框架,前端使用了Layui框架进行了开发,整体结构为非前后端分离。

项目介绍:



张仲景药房管理系统在设计过程中使用的程序设计更加人性化,如果出现了错误信息系统可以及时处理和反应。其中系统的主要内容是数据库设计的具体分析数据采用MySQL数据库,选择maven作为版本管理工具,系统后端使用了Spring Boot框架,前端使用了Layui框架进行了开发,整体结构为非前后端分离。


项目功能:



针对张仲景药房管理系统,主要包括系统管理员、操作员、普通用户三个用户角色,由于用户角色不同,所对应的功能模块不同。普通用户可以根据自己的需求进行查看药品信息、购买药品等操作;操作员可以根据中自己的需求对药品信息进行维护和对前台普通用户购买的订单进行处理;系统管理员主要是综合光明药店管理系统中的所有的药品数据信息,按照自己的需求进行操作,例如:对普通用户管理、权限管理、药品信息管理、公告管理、统计管理、订单管理等操作;张仲景药房管理系统的整体结构就是围绕普通用户的购买以及系统管理员和操作员对库存的药品信息及不同用户的权限进行相应的管理操作。


6f02d7bb5654422e9ef6931e912f9672.png


系统主要分为八个功能模块:


药品管理:系统管理员和操作员对所进货的药品创建新的药品信息,可以选择入库操作之后更新库存信息。

类型管理:对添加的药品进行药品的分类。

销售管理:添加完成的药品可以在用户购买界面显示购买。

订单管理:系统管理员和操作员可以浏览前台的销售情况,同时还可以统计已经销售的药品情况。

统计管理:系统管理员和操作员在此模块统计药品的销售情况。

用户管理:系统管理员在这个模块下可以维护用户的信息。

权限管理:针对用户的角色不同,系统管理员在这个模块下给予他们不同的使用权限。

公告管理:针对用户的角色不同,系统管理员在系统界面发布不同的公告信息并进行管理。


系统包含技术:



后端:springboot,mybatis

前端:layui、js、css等

开发工具:idea

数据库:mysql 5.7

JDK版本:jdk1.8


部分截图说明:



下面是销售页面


4f7b06be56134473bbea53d1c8912431.png


登录页面


553a787a025241be81fe271a5ff50c3e.png


管理员首页


33bc90f704254e55b009ae277742c60b.png


管理员对用户操作


cff45cf7daff4b0bbd3f9339f8482d18.png


管理员对药品进行维护


745b84b0b43b47cc87a7ed7327221033.png


管理员对药品类型维护


9616141167cb4a96933bff1eb211dfbf.png


管理员对库存维护


a6e3c5bfdaa64375987c1ac2c72066c8.png


统计管理


91d3fa2978394a5c98b3b2c162bee620.png


管理员对角色进行管理


d32585317f974c1f8b579729cd09e0ac.png


管理员对菜单进行维护


3fee156083f945f1b7f084d984924dc6.png


用户对药材进行查看


8e199bdd054242dfaa74c18f18fa6c8f.png


用户可以查看处方


b016bd648fee42f79139fec8c7587380.png


部分代码:



配置拦截器等


public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if (!(handler instanceof HandlerMethod)) {
            return true;
        }
        //判断用户的token信息是否满足
        User user = (User) request.getSession().getAttribute("user");
        if (user != null){
            return true;
        }
        //当前不满足条件,直接跳转拦截
        response.sendRedirect("/loginPage");
        return false;
    }


药房维护


 @RequestMapping("/get")
    public Object get(Integer page,Integer limit){
        DrugsExample drugsExample = new DrugsExample();
        drugsExample.createCriteria().andStatusEqualTo(1);
        List<Drugs> drugs = drugsMapper.selectByExample(drugsExample);
        Pager<Drugs> pager = new Pager<>();
        pager.setCurentPageIndex(page);
        pager.setCountPerpage(limit);
        pager.setBigList(drugs);
        return LayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
    }
    @RequestMapping("/getAll")
    public Object getAll(){
        DrugsExample drugsExample = new DrugsExample();
        drugsExample.createCriteria().andStatusEqualTo(1);
        List<Drugs> drugsList = drugsMapper.selectByExample(drugsExample);
        return LayuiResult.LayuiData(0,"success",drugsList);
    }
    @RequestMapping("/update")
    public Object update(@RequestBody Drugs drugs){
        drugsMapper.updateByPrimaryKeySelective(drugs);
        return LayuiResult.LayuiData(0,"药材信息修改成功",null);
    }
    @RequestMapping("/delete/{id}")
    public Object delete(@PathVariable Integer id){
        Drugs drugs = new Drugs();
        drugs.setId(id);
        drugs.setStatus(0);
        drugsMapper.updateByPrimaryKeySelective(drugs);
        return LayuiResult.LayuiData(0,"该记录删除成功",null);
    }
    @RequestMapping("/search/{drugParam}")
    public Object search(@PathVariable String drugParam,Integer page,Integer limit){
        DrugParam dp = JsonUtils.jsonToPojo(drugParam,DrugParam.class);
        DrugsExample drugsExample = new DrugsExample();
        DrugsExample.Criteria criteria = drugsExample.createCriteria().andStatusEqualTo(1);
        if (!dp.getDrugName().equals("")) {
            criteria = criteria.andDrugNameLike("%" + dp.getDrugName() + "%");
        }
        if(!dp.getDrugType().equals("")){
            criteria = criteria.andDrugTypeEqualTo(dp.getDrugType());
        }
        if(!dp.getAnotherName().equals("")){
            criteria = criteria.andAnotherNameLike("%" + dp.getAnotherName() + "%");
        }
        if(!dp.getFeatures().equals("")){
            criteria = criteria.andFeaturesLike("%" + dp.getFeatures() + "%");
        }
        List<Drugs> drugs = drugsMapper.selectByExample(drugsExample);
        Pager<Drugs> pager = new Pager<>();
        pager.setCurentPageIndex(page);
        pager.setCountPerpage(limit);
        pager.setBigList(drugs);
        return LayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
    }


以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。


好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~



相关文章
|
11天前
|
前端开发 JavaScript Java
springboot图书馆管理系统前后端分离版本
springboot图书馆管理系统前后端分离版本
34 12
|
8天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
35 6
|
8天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
27 6
|
8天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
26 4
|
8天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
23 2
|
25天前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
72 8
|
8天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
23 0
|
3月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
536 1
|
3月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
81 0
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
528 0
传统maven项目和现在spring boot项目的区别