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

一、项目简述

功能:该项目是用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; } }
源码获取:博客首页 "资源" 里下载!

技术
©2019-2020 Toolsou All rights reserved,
Python学习笔记(一)Linux【shell】 shell编程创建一个线程——— Javaweb (3)evo工具使用问题——Degenerate covariance rank, Umeyama alignment is not possibleVMware 16安装centos 7详细教程C语言做一个简易的登陆验证(功能)界面C语言——qsort函数Spring Boot面试必问:自动配置原理Android EditText密码显示隐藏Qt入门教程【基础控件篇】QCalendarWidget日历控件