基于javaweb的医院管理系统(java+springboot+ssm+mysql+)

基于javaweb的医院管理系统(java+springboot+ssm+mysql+)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

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

功能说明

20220519002934

20220519002936

20220519002937

20220519002938

20220519002939

20220519002940

基于javaweb+springboot的医院管理系统(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 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 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 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 bingReport = financeService.reportYearBingFinance();

return bingReport;

/住院年收入对比/

@ResponseBody

@RequestMapping(“zhuYuanYearBingFinance”)

public Object zhuYuanYearBingFinance(){

List bingZhuYuan = financeService.zhuYuanYearBingFinance();

return bingZhuYuan;

/门诊医生收入统计对比/

@ResponseBody

@RequestMapping(“doctorDuibi”)

public Object doctorDuibi( SdoctorDuibi sdoctorDuibi,Integer page, Integer limit){

PageHelper.startPage(page, limit);

List 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 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 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 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 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 seltype = storeService.seltype(type);

return seltype;

//查询计量单位

@RequestMapping(“selunit”)

@ResponseBody

public Object selunit(Unit unit) {

List selunit = storeService.selunit(unit);

return selunit;

//查询产地

@RequestMapping(“selarea”)

@ResponseBody

public Object selarea(Area area) {

List selarea = storeService.selarea(area);

return selarea;

//查询经办人

@RequestMapping(“selskull”)

@ResponseBody

public Object selskull(Skull skull) {

List selskull = storeService.selskull(skull);

return selskull;

//查询供货商

@RequestMapping(“selupplier”)

@ResponseBody

public Object selupplier(Upplier upplier, Model model) {

List 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 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 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 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 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 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;


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值