接上一篇,下面我们来解析一下Java六大应用场景中的健康与旅游之医院管理系统的设计与实现吧!
一、项目简介
医院管理系统, 为医院内部电子化, 政务化系统。医院管理系统是现代化医院运营的必要技术支撑和基础设施,实现医院管理系统的目的就是为了以更现代化、科学化、规范化的手段来加强医院的管理,提高医院的工作效率,改进医疗质量,从而树立现代医院的新形象,这也是未来医院发展的必然方向。
二、产品优势
众所周知,医院是一个特殊的行业,其既有卫生事业管理职能,又有企业管理职能。与传统企业相比,医院机构的业务和构成更加复杂。医院管理系统在医院运营管理改革过程中面临着以下几方面的优势:
第一,解决管理目标不明确
部分医院的运营管理目标不明确、手段落后,仅仅停留在简单的奖金核算方面,对于成本控制、成本考核、财务预算及其它运营管理了解甚少。
第二,解决缺少先进的管理方法与工具
虽然目前医院的基础信息系统已经建设完善如HIS等,但针于先进的管理方法与工具目前应用的并不是很多,许多的医院也仅仅是目前尝试阶段。
第三,解决医院业务流程不明确
由于现有的信息系统很难够满足管理的需要,受管理体制、医院管理体制、信息系统开发人员能力等多方面原因制约,目前,成熟且完善、明确梳理清楚医院业务流程的信息系统并不是很多,这严重影响了医院运营管理措施、管理手段的实施。
面对医院运营管理所面临的问题,ERP使得医院提升运营管理变成了现实。医院运营管理需要借助一套先进的管理思想以及具备医院业务属性的ERP来提升医院的运营管理。
三、功能列表
四、项目架构
五、部分效果展示
用户登录:
后台首页:
门诊管理:
统计管理:
六、部分源码参考
全局接口文档配置类:
@Configuration
@EnableSwagger2 //开启swagger
public class SwaggerConfig {
@Bean
public Docket getDocket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.useDefaultResponseMessages(false)
.select()
.build();
}
private ApiInfo apiInfo(){
//1 2
return new ApiInfoBuilder()
.title("北京国际医院后台管理系统")//大标题
.description("北京国际医院后台管理系统")//详细描述
.version("2.0")//版本
.contact(new Contact("java", "http://xxx.com", "xxx@qq.com"))
.license("The Apache License, Version 2.0")//许可证信息
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")//许可证地址
.build();
}
}
医生服务类:
@Service
public class DoctorServiceImpl implements DoctorService {
@Resource
private BuDoctorMapper doctorMapper;
@Override
public List<BuDoctor> findDoctor(int regId, int depId) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("registered_id",regId);//专家号还是普通号
queryWrapper.eq("department_id",depId);//科室
return doctorMapper.selectList(queryWrapper);
}
@Override
public List<BuDoctor> findOneDoctor(String columnName) {
return doctorMapper.findDoctorByColumn(columnName);
}
}
图表控制层,生成前端图表数据:
/**
* 图表统计控制层
*/
@RestController
public class EchartsController {
@Resource
private RegisterService registerService;
/**
* 门诊月度统计 折线图
* data: [150, 230, 224, 218, 135, 147, 260],
* @param year
* @return
*/
@RequestMapping("/finance/reportYearFinance")
public List<Double> findLineData(int year){//2020 2024 2019
//门诊: 统计这一年每个月入账多少钱
return registerService.findLineData(year);
}
/**
* 门诊年度统计 饼图
* data: [{value: 1048, name: '搜索引擎'},{}]
* List<Map>
* @return
*/
@RequestMapping("/finance/reportYearBingFinance")
public List<Map<String,Object>> findYearPieData(){
return registerService.findYearPieData();
}
/**
* 门诊当天药物统计
* @param current
* @return
*/
@RequestMapping("/finance/currentFinance")
public List<Map<String,Object>> findCurrentPieData(String current){
return registerService.findCurrentPieData(current);
}
/**
* 医生统计对比
* {code:0,msg:"",data:[{}],count:22}
* @param page
* @param limit
* @return
*/
@RequestMapping("/finance/doctorDuibi")
public Result findDoctorData(int page, int limit){
System.out.println("测试");
return registerService.findDoctorData(page,limit);
}
}
更多内容请关注本站后续分享!!!