源码获取:博客首页 "资源" 里下载!
功能:该项目是用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 tableData = new HashMap();
//这是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 tableData = new HashMap();
//这是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 tableData = new HashMap();
//这是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 tableData = new HashMap();
//这是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 drugstoresData = new HashMap();
//这是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 drugstoresData = new HashMap();
//这是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 drugstoresData = new HashMap();
//这是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 drugstoresData = new HashMap();
//这是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 drugstoresData = new HashMap();
//这是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;
}
}
源码获取:博客首页 "资源" 里下载!