Java项目:医院管理系统(java+Springboot+ssm+mysql+maven)

源码获取:博客首页 "资源" 里下载!

一、项目简述

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

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

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

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

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

系统管理功能: 菜单管理、角色管理、用户管理、图标管理、数据源监控 管理,其中数据源的登陆账号和密码是:admin/admin

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

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

排班: 医生排班U里 仓库管理: 入库单管理、库存查询、出库单管理、操作记录管理等

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

二、项目运行 

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Springboot+ SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + Layui+ maven等等

 

地址控制层:

@Controller
@RequestMapping("area")
public class AreaController {
    @Autowired
    private AreaService areaService;
    /*
     * 查询生产地址
     * */
    @RequestMapping("findAllArea")
    @ResponseBody
    public Object AreaList(Area Area, Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<Area> listAll = areaService.findAllArea(Area);
        PageInfo pageInfo = new PageInfo(listAll);
        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("addArea")
    @ResponseBody
    public Object addArea(Area Area){
        int count = areaService.count(Area);
        if(count==0){
            int i = areaService.addArea(Area);
            if(i==1){
                return "添加成功";
            }else{
                return "添加失败";
            }
        }else {
            return Area.getAreaName()+"已存在";
        }

    }

    /*
     * 删除生产地址
     * */
    @RequestMapping("deleteArea")
    @ResponseBody
    public Object deleteArea(Integer areaId){
        int i = areaService.deleteArea(areaId);
        if(i==1){
            return "删除成功";
        }else{
            return "删除失败";
        }
    }
}

财务业务控制层:

@Controller
@RequestMapping("finance")
public class FinanceController {
    @Autowired
    private FinanceService financeService;
    /*门诊月收入对比*/
    @ResponseBody
    @RequestMapping("reportYearFinance")
    public Object reportYearFinance(String year){
        List<Double> doubles = financeService.reportYearFinance(year);
        for (int i = 0; i < doubles.size(); i++) {
            if(null==doubles.get(i)) {
                doubles.set(i, 0.0);
            }
        }
        return doubles;
    }
    /*住院月收入对比*/
    @ResponseBody
    @RequestMapping("zhuYuanYearFinance")
    public Object zhuYuanYearFinance(String year){
        List<Double> zhuYuan = financeService.zhuYuanYearFinance(year);
        for (int i = 0; i < zhuYuan.size(); i++) {
            if(null==zhuYuan.get(i)) {
                zhuYuan.set(i, 0.0);
            }
        }
        return zhuYuan;
    }
    /*门诊年收入对比*/
    @ResponseBody
    @RequestMapping("reportYearBingFinance")
    public Object reportYearBingFinance(){
        List<Finance> bingReport = financeService.reportYearBingFinance();
        return bingReport;
    }
    /*住院年收入对比*/
    @ResponseBody
    @RequestMapping("zhuYuanYearBingFinance")
    public Object zhuYuanYearBingFinance(){
        List<Finance> bingZhuYuan = financeService.zhuYuanYearBingFinance();
        return bingZhuYuan;
    }
    /*门诊医生收入统计对比*/
    @ResponseBody
    @RequestMapping("doctorDuibi")
    public Object doctorDuibi( SdoctorDuibi sdoctorDuibi,Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<SdoctorDuibi> sdoctorDuibis = financeService.doctorDuibi(sdoctorDuibi);
        PageInfo pageInfo = new PageInfo(sdoctorDuibis);
        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;
    }
    /*住院医生收入统计对比*/
    @ResponseBody
    @RequestMapping("zDoctorDuibi")
    public Object zDoctorDuibi(SdoctorDuibi sdoctorDuibi, Integer page, Integer limit){

        PageHelper.startPage(page, limit);
        List<SdoctorDuibi> zDoctorDuibis = financeService.zDoctorDuibi(sdoctorDuibi);
        PageInfo pageInfo = new PageInfo(zDoctorDuibis);
        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;
    }
    /*门诊当天收入*/
    @ResponseBody
    @RequestMapping("currentFinance")
    public Object currentFinance(String current){
        List<currentFinance> currentFinances = financeService.currentFinance(current);
        return currentFinances;
    }
}

角色信息控制层:

@Controller
@RequestMapping("role")
public class RoleController {
    @Autowired
    private RoleService roleService;

    @RequestMapping("loadAllRole")
    @ResponseBody
    public Object loadAllRole(Role role, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Role> roles = roleService.loadAllRole(role);
        PageInfo pageInfo = new PageInfo(roles);
        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("insertRole")
    @ResponseBody
    public String insertRole(Role role) {
        int i = roleService.insertRole(role);
        if (i == 1) {
            return "添加成功";
        } else {
            return "添加失败";
        }
    }

    @RequestMapping("updateRole")
    @ResponseBody
    public String updateRole(Role role) {
        int i = roleService.updateRole(role);
        if (i == 1) {
            return "修改成功";
        } else {
            return "修改失败";
        }
    }

    @RequestMapping("deleteRole")
    @ResponseBody
    public String deleteRole(Integer roleid) {
        roleService.deleteRoleId(roleid);
        roleService.deleteRoleUserId(roleid);
        roleService.deleteRoleMenuId(roleid);
        return "删除成功";

    }
    //加载角色管理分配菜单
    @RequestMapping("initRoleMenuTreeJson")
    @ResponseBody
    public DataGridView initRoleMenuTreeJson(Integer roleid) {
        return roleService.initRoleMenuTreeJson(roleid);
    }
    //保存角色和菜单的关系
    @RequestMapping("saveRoleMenu")
    @ResponseBody
    public Object saveRoleMenu(RoleMenu roleMenu){

        roleService.saveRoleMenu(roleMenu);
        return "分配成功";
    }
}

药品仓库控制层:

@Controller
@RequestMapping("seldrugstore")
public class StoreController {
    @Autowired
    private StoreService storeService;
    @Autowired
    private PutinService putinService;
    @Autowired
    private RecordService rs;
//查询药品仓库
    @RequestMapping("selectdrugstore")
    @ResponseBody
    public Object seldrugstore(Drugstore drugstore, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Drugstore> drugstores = storeService.selStore(drugstore);
        PageInfo pageInfo = new PageInfo(drugstores);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    //查询药品类型
    @RequestMapping("seltype")
    @ResponseBody
    public Object seltype(Type type) {
        List<Type> seltype = storeService.seltype(type);
        return seltype;
    }
    //查询计量单位
    @RequestMapping("selunit")
    @ResponseBody
    public Object selunit(Unit unit) {
        List<Unit> selunit = storeService.selunit(unit);
        return selunit;
    }
    //查询产地
    @RequestMapping("selarea")
    @ResponseBody
    public Object selarea(Area area) {
        List<Area> selarea = storeService.selarea(area);
        return selarea;
    }
    //查询经办人
    @RequestMapping("selskull")
    @ResponseBody
    public Object selskull(Skull skull) {

        List<Skull> selskull = storeService.selskull(skull);

        return selskull;
    }
//查询供货商
    @RequestMapping("selupplier")
    @ResponseBody
    public Object selupplier(Upplier upplier, Model model) {
        List<Upplier> selupplier = storeService.selupplier(upplier);
        return selupplier;
    }

    //修改库房药品基本信息
    @RequestMapping("updrug")
    @ResponseBody
    public Object updrugstore(Drugstore drugstore) {
        int add = storeService.updrugstore(drugstore);
        if (add == 1) {
            return "修改成功";
        } else {
            return "修改失败";
        }
    }
//供货商
    @RequestMapping("bpisselupplier")
    public Object bpisselupplier(Upplier upplier, Model model) {

        List<Upplier> selupplier = storeService.selupplier(upplier);
        return "drugstore/c_beputinstorage";
    }
//查询药品清单
    @RequestMapping("selectdgty")
    @ResponseBody
    public Object selectdgty(Drugdictionary drugdictionary, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Drugdictionary> drugdictiona = putinService.seldcy(drugdictionary);
        PageInfo pageInfo = new PageInfo(drugdictiona);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());

        return drugstoresData;
    }


//添加一条药品入库
    @RequestMapping("adddrugs")
    @ResponseBody
    public Integer adddrugs(Drugstore drugstore,Record record) {
        System.out.print("查询方法");
        Integer updrugnumber=0;
        Integer adddrugstore=0;
        int seldrugname = putinService.seldrugname(drugstore);
        System.out.println(seldrugname+"yyyyyyyyyyyyyyyyyyyyyyyy");
        if(seldrugname==1){
            System.out.print("进入修改方法");
            updrugnumber = putinService.updrugnumber(drugstore);
            System.out.print("添加记录表0");
            int addjilu = rs.addjilu(record);//添加一条记录

        }
        if (seldrugname!=1){
            System.out.print("进入添加方法");
            adddrugstore = putinService.adddrugstore(drugstore);
            System.out.print("添加记录表1");
            int addjilu = rs.addjilu(record);//添加一条记录

        }
        return adddrugstore+updrugnumber;
    }
    //查询选中的药品的库存数量
    @RequestMapping("selnumber")
    @ResponseBody
    public int selnumber(Drugstore drugstore) {
        System.out.print("查询数量方法");
      int selnumber = putinService.selnumber(drugstore);
        System.out.println(selnumber);
       return selnumber;
    }
    //查询仓库里药品数量不足的药品
    @RequestMapping("selectlackdrug")
    @ResponseBody
    public Object selectlackdrug(Drugstore drugstore, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Drugstore> drugstores = storeService.selectlackdrug(drugstore);//查询药品数量不足的药
        PageInfo pageInfo = new PageInfo(drugstores);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    //查询采购单
    @RequestMapping("selcaigou")
    @ResponseBody
    public Object selcaigou(Caigou caigou, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Caigou> caigous = storeService.selcaigou(caigou);//查询遍历采购表
        PageInfo pageInfo = new PageInfo(caigous);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }

    //添加一条药品采购单
    @RequestMapping("addcaigou")
    @ResponseBody
    public Integer addcaigou(Caigou caigou) {
        int selcaigouname = storeService.selcaigouname(caigou);//查询采购单是是否已经存在此条数据
        if(selcaigouname==0){
            int seldrugname =storeService.addcaigou(caigou);//添加
            return seldrugname;

        }else {
            int upcaigounumber = storeService.upcaigounumber(caigou);//修改
            return upcaigounumber;
        }

    }
    //删除一条药品采购单
    @RequestMapping("delcaigou")
    @ResponseBody
    public Integer delcaigou(Integer caigouid) {
        int seldrugname =storeService.delcaigou(caigouid);//删除此条采购数据
        return seldrugname;
    }
    //查询过期的药都有哪些
    @RequestMapping("seldrugDateguoqi")
    @ResponseBody
    public Object seldrugDateguoqi(Drugstore drugstore, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Drugstore> drugstores = storeService.seldrugDate(drugstore);
        PageInfo pageInfo = new PageInfo(drugstores);
        Map<String, Object> drugstoresData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        drugstoresData.put("code", 0);
        drugstoresData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        drugstoresData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        drugstoresData.put("data", pageInfo.getList());
        return drugstoresData;
    }
    //删除过期的药
    @RequestMapping("delguoqidurg")
    @ResponseBody
    public Integer delguoqidurg(Integer rugstoreId,Record record) {
        System.out.print("进入删除");
        int delguoqidurg = storeService.delguoqidurg(rugstoreId);//删除此条数据
        if(delguoqidurg==1){//如果删除此条 则添加到记录表

            System.out.print("添加记录表");
            int addjilu = rs.addjilu(record);
        }
        return delguoqidurg;
    }

}

源码获取:博客首页 "资源" 里下载!

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
 《Java web医院分诊挂号管理系统》该项目采用技术jsp、SpringMVC、spring,hibernate,tomcat服务器、mysql数据库 开发工具eclipse,项目含有源码、论文、配套开发软件、软件安装教程、项目发布教程分诊管理主要实现患者信息录入,分诊,排队等功能。    具体实现以下功能:   1 患者查询功能:为了方便医生查找患者等信息,将所有患者信息按照需要进行分类。这样医生就能很方便的找到自己需要的信息。   2 添加功能:管理员可以通过填写表格的形式输入患者姓名,联系电话等相关信息。系统可以自动避免重复信息。   3 修改功能:管理员可以对数据库中的信息进行修改。系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。   4 删除功能:管理员可以对数据进行删除操作。系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。   5 管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。 课程目标:    1、学会各类开发软件安装、项目导入以及项目发布,含项目源码,需求文档,配套软件等    2、该项目主要功能完善,主要用于简历项目经验丰富,以及毕业设计或者二次开发    3、提供项目源码,设计文档、数据库sql文件以及所有配套软件,按照教程即可轻松实现项目安装部署  本课程为素材版,需要实战版代码讲解教程的同学可以点击如下链接:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008java项目之hrm人事管理项目java毕业设计)https://edu.csdn.net/course/detail/23007JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572JavaWeb项目实战之宿舍管理系统https://edu.csdn.net/course/detail/26721JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770java美妆商城项目|在线购书系统java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习
一个简单的 Python 医院管理系统可以包含以下功能: 1. 医生管理:医生的基本信息、专业技能、擅长领域等。 2. 患者管理:患者的基本信息、病例记录、就诊历史等。 3. 预约挂号:患者可以通过系统进行医生预约挂号。 4. 就诊管理:医生可以通过系统查看患者的病例记录、诊断结果、开立处方等。 5. 药品管理:药品的基本信息、库存管理、进货管理等。 以下是一个简单的 Python 医院管理系统的代码示例: ```python class Doctor: def __init__(self, name, age, gender, specialty): self.name = name self.age = age self.gender = gender self.specialty = specialty class Patient: def __init__(self, name, age, gender, medical_history): self.name = name self.age = age self.gender = gender self.medical_history = medical_history class Appointment: def __init__(self, doctor, patient, time): self.doctor = doctor self.patient = patient self.time = time class Prescription: def __init__(self, medicine, dosage): self.medicine = medicine self.dosage = dosage class Medicine: def __init__(self, name, stock): self.name = name self.stock = stock class Hospital: def __init__(self): self.doctors = [] self.patients = [] self.appointments = [] self.medicines = [] def add_doctor(self, doctor): self.doctors.append(doctor) def add_patient(self, patient): self.patients.append(patient) def add_appointment(self, appointment): self.appointments.append(appointment) def add_medicine(self, medicine): self.medicines.append(medicine) def get_doctors(self): return self.doctors def get_patients(self): return self.patients def get_appointments(self): return self.appointments def get_medicines(self): return self.medicines ``` 以上代码定义了医院管理系统的基本数据结构和操作方法,可以根据实际需求进行扩展和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

beyondwild

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

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

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

打赏作者

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

抵扣说明:

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

余额充值