【Java毕设】养老院管理系统 SpringBoot+Vue框架 计算机毕业设计项目 Idea+Navicat+MySQL安装 附源码+文档+讲解

56 阅读3分钟

一、个人简介

💖💖作者:计算机编程果茶熊 💙💙个人简介:曾长期从事计算机专业培训教学,担任过编程老师,同时本人也热爱上课教学,擅长Java、微信小程序、Python、Golang、安卓Android等多个IT方向。会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 计算机毕业设计选题 💕💕文末获取源码联系计算机编程果茶熊

二、系统介绍

开发语言:Java 后端框架:Spring Boot(Spring+SpringMVC+Mybatis) 前端:Vue 数据库:MySQL 系统架构:B/S 开发工具:IDEA

《养老院管理系统》是一套基于Spring Boot框架构建的现代化养老机构信息管理解决方案,采用Java作为核心开发语言,结合Vue前端技术和MySQL数据库,构建了完整的B/S架构体系。该系统涵盖了养老院运营管理的各个环节,从基础的用户管理、老人信息管理、床位管理到具体的服务管理、费用管理,再到社区交流功能的实现,形成了一个功能完备的管理平台。系统通过床位入住管理、退房申请管理、外出登记管理等模块确保老人居住安全,通过来访登记管理、事故登记管理等功能保障院内秩序,同时通过服务类型管理、服务项目管理、服务预定管理等模块提升服务质量。此外,系统还集成了代购信息管理、餐饮套餐管理、费用缴纳管理等生活服务功能,以及论坛交流管理、敏感词管理等社区互动功能,为养老院提供了全方位的数字化管理支持。

三、视频解说

养老院管理系统

四、部分功能展示

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

五、部分代码展示


import org.apache.spark.sql.SparkSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.math.BigDecimal;

@Service
public class NursingHomeManagementService {
    
    @Autowired
    private ElderlyInfoMapper elderlyInfoMapper;
    @Autowired
    private BedManagementMapper bedManagementMapper;
    @Autowired
    private ServiceBookingMapper serviceBookingMapper;
    
    private SparkSession spark = SparkSession.builder()
        .appName("NursingHomeDataAnalysis")
        .master("local[*]")
        .getOrCreate();
    
    public String processElderlyAdmission(ElderlyInfo elderlyInfo, BedInfo bedInfo) {
        if (elderlyInfo.getName() == null || elderlyInfo.getName().trim().isEmpty()) {
            return "老人姓名不能为空";
        }
        if (elderlyInfo.getAge() < 60 || elderlyInfo.getAge() > 120) {
            return "老人年龄必须在60-120岁之间";
        }
        if (elderlyInfo.getHealthStatus() == null) {
            elderlyInfo.setHealthStatus("待评估");
        }
        BedInfo availableBed = bedManagementMapper.findAvailableBed(bedInfo.getBedType(), bedInfo.getRoomType());
        if (availableBed == null) {
            return "暂无符合条件的空床位";
        }
        elderlyInfo.setBedId(availableBed.getBedId());
        elderlyInfo.setAdmissionDate(LocalDateTime.now());
        elderlyInfo.setStatus("在院");
        try {
            elderlyInfoMapper.insertElderlyInfo(elderlyInfo);
            availableBed.setOccupancyStatus("已占用");
            availableBed.setElderlyId(elderlyInfo.getElderlyId());
            availableBed.setOccupancyDate(LocalDateTime.now());
            bedManagementMapper.updateBedStatus(availableBed);
            AdmissionRecord admissionRecord = new AdmissionRecord();
            admissionRecord.setElderlyId(elderlyInfo.getElderlyId());
            admissionRecord.setBedId(availableBed.getBedId());
            admissionRecord.setAdmissionDate(LocalDateTime.now());
            admissionRecord.setProcessStatus("已完成");
            elderlyInfoMapper.insertAdmissionRecord(admissionRecord);
            return "老人入住办理成功,床位号:" + availableBed.getBedNumber();
        } catch (Exception e) {
            return "入住办理失败:" + e.getMessage();
        }
    }
    
    public String processBedAllocation(Integer elderlyId, String bedType, String roomType) {
        ElderlyInfo elderlyInfo = elderlyInfoMapper.findByElderlyId(elderlyId);
        if (elderlyInfo == null) {
            return "未找到该老人信息";
        }
        if (!"在院".equals(elderlyInfo.getStatus())) {
            return "该老人当前状态不允许分配床位";
        }
        List<BedInfo> availableBeds = bedManagementMapper.findAvailableBeds(bedType, roomType);
        if (availableBeds.isEmpty()) {
            return "暂无符合条件的空床位";
        }
        BedInfo optimalBed = null;
        for (BedInfo bed : availableBeds) {
            if (bed.getFacilityLevel() != null && bed.getFacilityLevel() >= 3) {
                optimalBed = bed;
                break;
            }
        }
        if (optimalBed == null) {
            optimalBed = availableBeds.get(0);
        }
        if (elderlyInfo.getBedId() != null) {
            BedInfo oldBed = bedManagementMapper.findByBedId(elderlyInfo.getBedId());
            if (oldBed != null) {
                oldBed.setOccupancyStatus("空闲");
                oldBed.setElderlyId(null);
                oldBed.setOccupancyDate(null);
                bedManagementMapper.updateBedStatus(oldBed);
            }
        }
        optimalBed.setOccupancyStatus("已占用");
        optimalBed.setElderlyId(elderlyId);
        optimalBed.setOccupancyDate(LocalDateTime.now());
        bedManagementMapper.updateBedStatus(optimalBed);
        elderlyInfo.setBedId(optimalBed.getBedId());
        elderlyInfoMapper.updateElderlyInfo(elderlyInfo);
        BedAllocationRecord record = new BedAllocationRecord();
        record.setElderlyId(elderlyId);
        record.setBedId(optimalBed.getBedId());
        record.setAllocationDate(LocalDateTime.now());
        record.setOperatorId(getCurrentUserId());
        bedManagementMapper.insertAllocationRecord(record);
        return "床位分配成功,新床位号:" + optimalBed.getBedNumber();
    }
    
    public String processServiceBooking(ServiceBooking serviceBooking) {
        if (serviceBooking.getElderlyId() == null) {
            return "老人信息不能为空";
        }
        if (serviceBooking.getServiceId() == null) {
            return "服务项目不能为空";
        }
        ElderlyInfo elderlyInfo = elderlyInfoMapper.findByElderlyId(serviceBooking.getElderlyId());
        if (elderlyInfo == null || !"在院".equals(elderlyInfo.getStatus())) {
            return "老人不在院或信息有误";
        }
        ServiceType serviceType = serviceBookingMapper.findServiceTypeById(serviceBooking.getServiceId());
        if (serviceType == null || !"可用".equals(serviceType.getStatus())) {
            return "选择的服务项目不可用";
        }
        if (serviceBooking.getScheduledDate() == null) {
            serviceBooking.setScheduledDate(LocalDateTime.now().plusHours(2));
        }
        if (serviceBooking.getScheduledDate().isBefore(LocalDateTime.now())) {
            return "预约时间不能早于当前时间";
        }
        List<ServiceBooking> conflictBookings = serviceBookingMapper.findConflictBookings(
            serviceBooking.getServiceId(), 
            serviceBooking.getScheduledDate(),
            serviceBooking.getScheduledDate().plusHours(2)
        );
        if (!conflictBookings.isEmpty()) {
            return "该时间段已有其他预约,请选择其他时间";
        }
        serviceBooking.setBookingDate(LocalDateTime.now());
        serviceBooking.setBookingStatus("已预约");
        serviceBooking.setTotalAmount(serviceType.getBasePrice());
        if (elderlyInfo.getVipLevel() != null && elderlyInfo.getVipLevel() > 0) {
            BigDecimal discount = BigDecimal.valueOf(0.9);
            serviceBooking.setTotalAmount(serviceBooking.getTotalAmount().multiply(discount));
        }
        try {
            serviceBookingMapper.insertServiceBooking(serviceBooking);
            ServiceSchedule schedule = new ServiceSchedule();
            schedule.setBookingId(serviceBooking.getBookingId());
            schedule.setServiceProviderId(serviceType.getDefaultProviderId());
            schedule.setScheduleDate(serviceBooking.getScheduledDate());
            schedule.setScheduleStatus("待执行");
            serviceBookingMapper.insertServiceSchedule(schedule);
            return "服务预约成功,预约编号:" + serviceBooking.getBookingId() + ",预约金额:" + serviceBooking.getTotalAmount();
        } catch (Exception e) {
            return "服务预约失败:" + e.getMessage();
        }
    }
}

六、部分文档展示

在这里插入图片描述

七、END

💕💕文末获取源码联系计算机编程果茶熊