Java项目:springboot医院信息管理系统

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

该项目是用springboot+layui+shiro写的医院管理系统,该系统的业务比较复杂,数据库一共有36张表。


项目分2种角色:超级管理员与门诊管理;超级管理员拥有所有菜单权限,门诊管理拥有门诊管理的权限;

项目分为门诊管理、住院管理、系统管理、统计管理、数据中心、排班管理、仓库管理、药房管理

本系统重点是门诊和住院管理
填写患者的详细信息,如姓名,年龄、手机号、性别、身份证号、选择科室挂号类型医生、会出来相对的挂号费,点击提交的时候会判断你输入的各项信息是否正确,如果该手机号或者该身份证号正在就诊,则会提示该手机号或者该身份证号正在就诊。挂号页面会根据单选按钮来查询全部的挂号,当天的挂号和预约的挂号,并且可以针对当天的挂号去给用户进行一系列操作,如转入住院,如果该病人有正在进行的项目则不能转入住院,需要把相关费用交完后才能转入住院

门诊管理的功能:
用户挂号、处方划价、项目划价、项目缴费、项目检查、药品缴费、门诊患者库

住院管理的功能:
入院登记、缴费管理、药品记账、项目记账、出院结算

系统管理功能:
菜单管理、角色管理、用户管理、图标管理、数据源监控管理

统计管理:
门诊月度统计、住院月度统计、门诊年度统计、住院年度统计、医生统计、门诊当天统计

数据中心:
科室中心管理、医生列表管理、药品产地管理、项目大类管理、挂号类型管理、仓库管理、经办人管理、供货商管理、药品分类管理、药品字典管理

排班:
医生排班管理

仓库管理:
入库单管理、库存查询、出库单管理、操作记录管理等

药房管理:

药房详情管理、门诊取药管理、住院取药管理

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

6.数据库:MySql 8.0版本;

技术栈

1. 后端:SpringBoot+shiro

2. 前端:html+layui+echarts

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中application.properties配置文件中的数据库配置改为自己的配置

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4. 运行项目,输入localhost:8080 登录

运行截图

代码相关

科室管理控制器

@Controller
@RequestMapping("cao")
    public class CreportController {
    @Autowired
    private CreportService creportService;
    //查询所有数据
    @RequestMapping("index")
    public Object toreport(ReportVo reportVo, Model model, String params, Integer cc, HttpServletRequest request){
        reportVo.setCc(cc);
        HttpSession session = request.getSession();
        //将数据存储到session中
        session.setAttribute("ban",cc);
        creportService.upddang();
        String reportName=params;
        reportVo.setReportName(reportName);
        List<ReportVo> sel = creportService.sel(reportVo);
        model.addAttribute("report",sel);
        return "cao/report";
    }
    //查询所有的科室
    @RequestMapping("seldep")
    @ResponseBody
    public Object seldep(){
        List<CDepartments> seldep = creportService.seldep();
        return  seldep;
    }
    //查询所有的挂号类型
    @RequestMapping("/selreg")
    @ResponseBody
    public Object selreg(){
        List<CRegisteredtype> selreg = creportService.selreg();
        return selreg;
    }
    //查询医生信息
    @RequestMapping("seldoctor")
    @ResponseBody
    public Object seldoctor(CDoctor cDoctor){
        Calendar calendar = Calendar.getInstance();
        Integer data=calendar.get(Calendar.DAY_OF_WEEK)-1;//获取当前是星期几
        if(data==1){
            List<ReportVo> one = creportService.one(cDoctor);
            return one;
        }else if(data==2){
            List<ReportVo> two = creportService.two(cDoctor);
            return two;
        }else if(data==3){
            List<ReportVo> three = creportService.three(cDoctor);
            return three;
        }else if(data==4){
            List<ReportVo> four = creportService.four(cDoctor);
            return four;
        }else if(data==5){
            System.out.println(data);
            List<ReportVo> five = creportService.five(cDoctor);
            return five;
        }else if(data==6){
            List<ReportVo> six = creportService.six(cDoctor);
            return six;
        }else{
            List<ReportVo> seven = creportService.seven(cDoctor);
            return seven;
        }
    }
    //根据挂号类型查找该类型的价格
    @RequestMapping("seltymo")
    @ResponseBody
    public Object seltymo(CRegisteredtype cRegisteredtype){
        Integer seltymo = creportService.seltymo(cRegisteredtype);
        return seltymo;
    }
    //添加新的挂号
    @RequestMapping("addre")
    @ResponseBody
    public Object addre(CReport cReport){
            int addre = creportService.addre(cReport);
            if(addre==1){
                return "添加成功";
            }else{
                return "添加失败,请联系管理员";
            }

    }
    //根据id删除某个患者信息
    @RequestMapping("delre")
    @ResponseBody
    public Object delre(Integer id){
        int delre = creportService.delre(id);
        if(delre==1){
            return  "删除成功";
        }else{
            return  "删除失败";
        }

    }
    //根据id删除某个患者信息
    @RequestMapping("selById")
    @ResponseBody
    public Object selById(Integer reportId){
        List<ReportVo> reportVos = creportService.selById(reportId);
        return reportVos;
    }
    //判断就诊用户电话身份证号唯一
    @RequestMapping("phone")
    @ResponseBody
    public Object phone(CReport cReport){
        int carid = creportService.carid(cReport);
        int phone = creportService.phone(cReport);
        if(carid>=1){
            return 2;
        }else if(phone>=1){
            return 1;
        }else{
           return 3;
        }
    }
    //转入住院部
    @RequestMapping("zhuanyuan")
    @ResponseBody
    public Object zhuanyuan(Integer id,CReport cReport,String zhuan){
        cReport.setReportId(id);
        cReport.setZhuan(zhuan);
        Integer zhuanyuan = creportService.zhuanyuan(cReport);
        return zhuanyuan;
    }
}

 用户管理系统

@Controller
@RequestMapping("liao")
public class LadminController {

    @Autowired
    private LadminService ladminService;
    @Autowired
    private LleaveService lleaveService;

    //跳转入院登记页面
    @RequestMapping("/admin")
    public String admin(){
        return "liao/admin";
    }

    //查询患者信息
    @RequestMapping("/selRegister")
    @ResponseBody
    public Object selRegister(Integer page, Integer limit,Register register){
        //分页查询
        PageHelper.startPage(page, limit);
        //查询未出院的患者信息
        List<Register> selreg=ladminService.selRegister(register);
        //把查到的信息放入分页插件中
        PageInfo pageInfo = new PageInfo(selreg);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        //把数据返回到layui中
        return tableData;
    }

    //页面请求查询科室信息
    @RequestMapping("/selDepartment")
    @ResponseBody
    public Object selDepartment(){
        //new一个实体类
        Departments departments=new Departments();
        //查询所有科室
        List<Departments> Departments= ladminService.selDepartment(departments);
        //把查到的科室返回前台下拉框中
        return Departments;
    }

    //页面请求查询医生信息
    @RequestMapping("/selDoctor")
    @ResponseBody
    public Object selDoctor(Integer departmentId){
        //new一个实体类
        Doctor doctor=new Doctor();
        //把获取过来的科室编号放入实体类中
        doctor.setDepartmentId(departmentId);
        //根据科室查询旗下所有医生
        List<Doctor> doctors = ladminService.selDoctor(doctor);
        //把查到的医生返回前台下拉框中
        return doctors;
    }

    //查询床位
    @RequestMapping("/selBed")
    @ResponseBody
    public Object selBed(Integer departmentId){
        Bed bed= new Bed();
        bed.setDepartmentId(departmentId);
        //查询没有人入住的床位
        bed.setState(0);
        List<Bed> beds = ladminService.selBed(bed);
        return beds;
    }

    //添加患者
    @RequestMapping("/addRegister")
    @ResponseBody
    public Object addRegister(Register register,HttpServletRequest request){
        Register register1=new Register();
        register1.setIdcard(register.getIdcard());
        //把患者的身份证号查询一下看看是否已经办理入住
        List<Register> registers = ladminService.selRegister(register1);
        if(registers.size()==0){
            //如果是门诊转过来的用户删除门诊患者信息
            if(register.getReportid()!=0){
                ladminService.updZ(register);
            }
            //获取管理人员姓名
            String yonghu = (String)request.getSession().getAttribute("yonghu");
            register.setOperator(yonghu);
            //添加患者信息
            int i = ladminService.addRegister(register);
            if(i==1){
                //修改床位状态
                int j = ladminService.updBed(register);
                if(j==1){
                    return "添加成功";
                }else{
                    return "添加失败";
                }
            }else{
                return "添加失败";
            }
        }else{
            return "该患者已存在,请不要重复添加!";
        }
    }


    //查询折扣
    @RequestMapping("/selDis")
    @ResponseBody
    public Object selDis(){
        List<Moneytype> moneytypes = ladminService.selDis();
        return moneytypes;
    }

    //查询门诊过来的患者
    @RequestMapping("/selDoor")
    @ResponseBody
    public Object selDoor(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<Register> selDoor=ladminService.selDoor();
        PageInfo pageInfo = new PageInfo(selDoor);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        return tableData;
    }

    //转科室
    @RequestMapping("/updKe")
    @ResponseBody
    public Object updKe(Register register){
        //把用户要住的床改成已住
        ladminService.updBed(register);
        //把用户的曾经床位改成空床
        lleaveService.updBstate(register);
        //把用户的信息进行更改
        int i = ladminService.updKe(register);
        if(i==1){
            return "变更成功";
        }else{
            return "变更失败";
        }
    }

}

如果也想学习本系统,下面领取。回复:045springboot

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
SpringBoot项目-医疗服务系统(源码+说明+数据库)是一个经过高分通过并得到导师指导的实际案例。 它可为计算机相关专业的学生提供一个毕设选题和实战练习的机会,同时也适用于需要进行课程设计或期末大作业的Java学习者。 该项目提供完整的资源,包括项目源码、数据库脚本、开发说明文档等,并经过严格的调试,确保可以顺利运行。这使得它可以直接作为毕设的选题之一,为学生们提供一个可靠的基础。 【项目技术】 开发语言Java 框架:springboot 架构:B/S 数据库:mysql 【实现功能】 1.前台首页功能模块 医疗服务系统首页、公告信息、医疗地图、医疗药品、留言反馈、个人中心、后台管理、医生咨询功能。 2.普通村民功能模块 普通村民登录进入医疗服务系统可以查看首页、个人中心、健康档案管理、紧急事故管理、留言板管理等内容 3.乡村医生功能模块 乡村医生登录进入医疗服务系统可以查看首页、个人中心、公告信息管理、乡村诊室管理、健康档案管理、紧急事故管理、学习培训管理、考核信息管理、购买信息管理、系统管理等内容。 4.管理员功能模块 可以查看首页、个人中心、普通村民管理、乡村医生管理、公告信息管理、乡村诊室管理、健康档案管理、学习培训管理、考核信息管理、医疗地图管理、医疗药品管理、类型信息管理、购买信息管理、留言板管理、管理员管理、系统管理等内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值