Java项目:社区医院管理服务系统(java+SpringBoot+Vue+ElementUI+Layui+Mysql)

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

项目介绍

基于SpringBoot Vue的社区医院管理服务系统

角色:管理员、用户、服务人员

管理员:管理员登录系统后,可以对首页、个人中心、用户管理、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理、系统管理等内容,进行详细的操作

用户:用户登录进入系统,可以对首页、个人中心、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理等功能模块进行相应操作

医生:医生登录进入社区医院管理服务系统,可以对首页、个人中心、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理等功能进行相应操作


环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;


技术栈

后端:SpringBoot+Mybaits

前端:Vue+ElementUI+Layui+HTML+CSS+JS


使用说明

项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

文档介绍(课题背景与意义、系统实现功能、课题研究现状、系统相关技术、java技术、B/S架构、Mysql介绍、Mysql环境配置、Springboot框架、系统需求分析、系统功能、可行性研究、经济可行性、技术可行性、运行可行性、事件可行性、系统业务过程分析、系统业务过程分析、系统用例图、系统设计、数据库设计、系统整体设计、系统设计思想、系统流程图、系统详情设计、系统功能模块、系统功能模块、管理员功能模块):

 社区医院首页展示:

 社区医院医生管理页面:

 医生详情介绍页面:

社区医院后台登录页面: 

 

 预约医生列表展示:

 

公告信息管理页面展示:

 

 医院管理控制层:

@Controller
public class HospitalController {

	@Autowired
	private HospitalService hospitalService;
	@Autowired
	private OfficeService officeService;
	@Autowired
	private PageUtils pageUtils;
	@Autowired
	private FavouriteDao favouriteDao;

	/**
	 * 医院主界面(推荐医院)
	 * 
	 * @return
	 */
	@RequestMapping(value = "/hosIndex", method = RequestMethod.GET)
	public String hosIdex(Model model) {
		List<Hospital> hospitalRe = hospitalService.findHosByRe();
		model.addAttribute("hospital", hospitalRe);
		return "hospital/hosIndex";
	}

	/**
	 * 医院详情
	 * 
	 * @return
	 */
	@RequestMapping(value = "/hosInfoShow/{id}", method = RequestMethod.GET)
	public String hosInfoShow(Model model, @PathVariable(value = "id") int id,HttpSession session) {
		if(session.getAttribute("userInfo") != null){
			//如果用户登录
			CommonUser commonUser = (CommonUser) session.getAttribute("userInfo");
			int isLike = 0;
			if(favouriteDao.findFavByuserIdAndHosId(commonUser.getUserId(), id) !=null){
				isLike =  favouriteDao.findFavByuserIdAndHosId(commonUser.getUserId(), id).getIsLike();
			}
			model.addAttribute("isLike", isLike);
		}
		// 通过传入的id返回医院的详细信息
		Hospital hospital = hospitalService.findHosById(id);
		// 通过医院的名称返回医院科室信息
		List<Office> office = officeService.findOfficeByHosName(hospital.getHospitalName());
		// 预留通知查询
		
		model.addAttribute("hos", hospital);
		model.addAttribute("office", office);
		return "hospital/hosInfoShow";
	}

	/**
	 * 全部支持预约的医院
	 * 
	 * @return
	 */
	@RequestMapping(value = "/orderHos/{page}")
	public String orderHos(Model model, @PathVariable("page") int page, @ModelAttribute("province") String province,
			@ModelAttribute("city") String city, @ModelAttribute("district") String district, Hospital hosp) {

		// 将输入条件传回前台
		CommonCondition commonCondition = new CommonCondition();
		commonCondition.setProvince(province);
		commonCondition.setCity(city);
		commonCondition.setDistrict(district);
		commonCondition.setHospitalName(hosp.getHospitalName());
		commonCondition.setHospitalGrade(hosp.getHospitalGrade());
		commonCondition.setHospitalNature(hosp.getHospitalNature());

		// 设置页面
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(hospitalService.findOrderHosNum(province, city, district, hosp));
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		// 查询医院数据
		List<Hospital> hospital = hospitalService.findHosByConditon(province, city, district, hosp, start,
				pageUtils.getPageRecord());
		// 查询医院等级
		List<String> hospGrade = hospitalService.findHosOpenGrade();
		// 查询医院类型
		List<String> hospNature = hospitalService.findHosOpenNature();

		model.addAttribute("hospital", hospital);
		model.addAttribute("pages", pageUtils);
		model.addAttribute("hospGrade", hospGrade);
		model.addAttribute("hospNature", hospNature);
		// 查询条件
		model.addAttribute("commonCondition", commonCondition);
		return "hospital/orderHos";
	}
	

	/**
	 * 全部的医院
	 * 
	 * @return
	 */
	@RequestMapping(value = "/allHos/{page}")
	public String allHos(Model model, @PathVariable("page") int page, @ModelAttribute("province") String province,
			@ModelAttribute("city") String city, @ModelAttribute("district") String district, Hospital hosp) {

		// 将输入条件传回前台
		CommonCondition commonCondition = new CommonCondition();
		commonCondition.setProvince(province);
		commonCondition.setCity(city);
		commonCondition.setDistrict(district);
		commonCondition.setHospitalName(hosp.getHospitalName());
		commonCondition.setHospitalGrade(hosp.getHospitalGrade());
		commonCondition.setHospitalNature(hosp.getHospitalNature());

		// 设置页面
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(hospitalService.findAllHosNum(province, city, district, hosp));
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		// 查询医院数据
		List<Hospital> hospital = hospitalService.findAllHosByConditon(province, city, district, hosp, start,
				pageUtils.getPageRecord());
		// 查询医院等级
		List<String> hospGrade = hospitalService.findHosGrade();
		// 查询医院类型
		List<String> hospNature = hospitalService.findHosNature();

		model.addAttribute("hospital", hospital);
		model.addAttribute("pages", pageUtils);
		model.addAttribute("hospGrade", hospGrade);
		model.addAttribute("hospNature", hospNature);
		// 查询条件
		model.addAttribute("commonCondition", commonCondition);
		return "hospital/allHospital";
	}
	
	//关注医院
	@ResponseBody
	@RequestMapping(value = "/favourite", method = RequestMethod.POST)
	public Map<String, Object> favourite(Model model,int hospitalId,HttpSession session ) {
		//通过session信息得到userid
		CommonUser commonUser = (CommonUser) session.getAttribute("userInfo");
		int userId = commonUser.getUserId();
		int isLike =hospitalService.favourite(userId, hospitalId);
		System.out.println(isLike+"*******************************88");
		Map<String, Object> rtnMap = new HashMap<String, Object>();
		rtnMap.put("isLike", isLike);
		return rtnMap;
	}
	
}

 医生管理控制层:

@Controller
public class DoctorController {
	@Autowired
	private DoctorService doctorService;
	@Autowired
	private HospitalService hospitalService;
	@Autowired
	private PageUtils pageUtils;

	/**
	 * 医生主界面(推荐医生)
	 * 
	 * @return
	 */
	@RequestMapping(value = "/doctorIndex/{page}")
	public String officeIdex(Model model, @PathVariable("page") int page) {
		// 查询推荐的医院
		List<Hospital> hospitalRe = hospitalService.findHosByRe();
		// 设置页面
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(doctorService.findDoctorByReNum(hospitalRe));
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		Map<String, Object> doctorMap = new HashMap<String, Object>();
		doctorMap.put("list", hospitalRe);
		doctorMap.put("start", start);
		doctorMap.put("size", pageUtils.getPageRecord());
		List<Doctor> doctorRe = doctorService.findDoctorByRe(doctorMap);
		model.addAttribute("pages", pageUtils);
		model.addAttribute("doctorRe", doctorRe);
		return "doctor/doctorIndex";
	}

	/**
	 * 医生详情
	 * 
	 * @return
	 */
	@RequestMapping(value = "/doctorInfoShow/{id}", method = RequestMethod.GET)
	public String hosInfoShow(Model model, @PathVariable(value = "id") int id) {
		Doctor doctor = doctorService.findDoctorById(id);
		Hospital hospital = hospitalService.findHosByName(doctor.getHospitalName());
		model.addAttribute("hos", hospital);
		model.addAttribute("doctor", doctor);
		return "doctor/doctorInfoShow";
	}

	/**
	 * 全部医生
	 * 
	 * @return
	 */
	@RequestMapping(value = "/allDoctor/{page}")
	public String orderOffcie(Model model, @PathVariable("page") int page, Doctor doctor) {
		// 将输入条件传回前台
		CommonCondition commonCondition = new CommonCondition();
		commonCondition.setHospitalName(doctor.getHospitalName());
		commonCondition.setOfficesName(doctor.getOfficesName());
		commonCondition.setDoctorName(doctor.getDoctorName());
		commonCondition.setDoctorTitle(doctor.getDoctorTitle());
		commonCondition.setDoctorDegree(doctor.getDoctorDegree());
		commonCondition.setDoctorAdministrative(doctor.getDoctorAdministrative());
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(doctorService.findDoctorNum(doctor));
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		List<Doctor> doctorRe = doctorService.findDoctorByCondition(doctor, start, pageUtils.getPageRecord());
		// 查询医生的职位
		List<String> doctorTitle = doctorService.findDoctorTitle();
		List<String> doctorAdministrative = doctorService.findDoctorAdministrative();
		List<String> doctorDegree = doctorService.findDoctorDegree();
		model.addAttribute("pages", pageUtils);
		model.addAttribute("doctorRe", doctorRe);
		// 查询条件
		model.addAttribute("commonCondition", commonCondition);
		// 将查询的医生职称传到前台
		model.addAttribute("doctorTitle", doctorTitle);
		model.addAttribute("doctorAdministrative", doctorAdministrative);
		model.addAttribute("doctorDegree", doctorDegree);
		return "doctor/doctor";
	}

}

科室管理控制层:

@Controller
public class OfficeController {
	@Autowired
	private HospitalService hospitalService;
	@Autowired
	private OfficeService officeService;
	@Autowired
	private PageUtils pageUtils;
	@Autowired
	private DoctorService doctorService;

	/**
	 * 科室主界面(推荐科室)
	 * 
	 * @return
	 */
	@RequestMapping(value = "/officeIndex/{page}")
	public String officeIdex(Model model, @PathVariable("page") int page) {
		// 查询推荐的医院
		List<Hospital> hospitalRe = hospitalService.findHosByRe();
		// 设置页面
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(officeService.findOfficeByReNum(hospitalRe));
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		Map<String, Object> officeMap = new HashMap<String, Object>();
		officeMap.put("list", hospitalRe);
		officeMap.put("start", start);
		officeMap.put("size", 20);
		List<Office> officeRe = officeService.findOfficeByRe(officeMap);
		model.addAttribute("pages", pageUtils);
		model.addAttribute("officeRe", officeRe);
		return "office/officeIndex";
	}

	/**
	 * 科室详情
	 * 
	 * @return
	 */
	@RequestMapping(value = "/officeInfoShow/{id}", method = RequestMethod.GET)
	public String hosInfoShow(Model model, @PathVariable(value = "id") int id) {
		Office office = officeService.findOfficeById(id);
		Hospital hospital = hospitalService.findHosByName(office.getHospitalName());
		List<Doctor> doctor = doctorService.findAreaByHosAndOfficeName(office.getHospitalName(),
				office.getOfficesName());
		model.addAttribute("office", office);
		model.addAttribute("hos", hospital);
		model.addAttribute("doctor", doctor);
		return "office/officeInfoShow";
	}

	/**
	 * 全部科室
	 * 
	 * @return
	 */
	@RequestMapping(value = "/orderOffice/{page}")
	public String orderOffcie(Model model, @PathVariable("page") int page, @ModelAttribute("province") String province,
			@ModelAttribute("city") String city, @ModelAttribute("district") String district, Office office) {
		// 将输入条件传回前台
		CommonCondition commonCondition = new CommonCondition();
		commonCondition.setHospitalName(office.getHospitalName());
		commonCondition.setOfficesName(office.getOfficesName());
		// 设置页面
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(officeService.findOrderOfficeNum(office));
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		List<Office> officeRe = officeService.findOfficeByConditon(office, start, 20);
		model.addAttribute("pages", pageUtils);
		model.addAttribute("officeRe", officeRe);
		// 查询条件
		model.addAttribute("commonCondition", commonCondition);
		return "office/orderOffice";
	}

}

公告管理控制层: 

@Controller
public class NoticeController {

	@Autowired
	private NoticeService noticeService;
	@Autowired
	private PageUtils pageUtils;

	/**
	 * 公告首页
	 * 
	 * @return
	 */
	@RequestMapping(value = "/noticeIndex/{page}")
	public String noticeIndex(Model model, @PathVariable("page") int page) {
		// 设置页面
		pageUtils.setCurrentPage(page);
		pageUtils.setTotalRecord(noticeService.findNoticeByTypeNum());
		int start;
		if (pageUtils.getCurrentPage() == 0) {
			start = 0;
		} else {
			start = pageUtils.getPageRecord() * (pageUtils.getCurrentPage() - 1);
		}
		// 查询所有通知
		List<Notice> notice = noticeService.findNoticeByType(start, pageUtils.getPageRecord());
		System.out.println("*******************************************");
		model.addAttribute("notice", notice);
		model.addAttribute("pages", pageUtils);
		return "notice/noticeIndex";
	}

	/**
	 * 通知详情
	 * 
	 * @return
	 */
	@RequestMapping(value = "/noticeInfo/{id}", method = RequestMethod.GET)
	public String hosInfoShow(Model model, @PathVariable(value = "id") int id) {
		Notice notice = noticeService.findNoticeById(id);
		model.addAttribute("notice", notice);
		return "notice/noticeInfo";
	}

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq1334611189

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

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

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

打赏作者

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

抵扣说明:

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

余额充值