Java基础 - 模拟医院挂号系统

模拟医院挂号系统功能

1. 科室管理:新增科室,删除科室(如果有医生在,则不能删除该科室),修改科室

2. 医生管理:录入医生信息以及科室信息,修改医生信息(主要是修改个人信息和科室)

3. 坐诊信息设置:可以设置医生当天和未来6天的坐诊情况,包括上午和下午的坐诊时间段和可预约数量,系统将自动保存到该医生的坐诊信息列表中

4. 全部信息展示:按照科室,展示每个医生七天的坐诊情况,需要按照科室归类展示

5. 预约功能:用户可以选择要预约的科室,医生、日期和时间段,并输入患者的个人信息,系统将激动判断该时间段是否还有预约名额,并保存预约信息

6. 搜索功能:用户可以输入搜索日期和时间段,系统将自动搜索未来七天内在该时间段坐诊的医生信息,并按照科室分类展示

7. 可以查询某个医生未来7天,病人对他的预约情况

//App
public class App {public static void main(String[] args) {//创建一个医院管理对象HospitalManager h = new HospitalManager();h.start();}
}
//Doctor
//医生类
public class Doctor {private String doctorId;  //编号(唯一)private String name;  //姓名private String departmentName;  //科室名称private String gender;  //性别private int age;  //年龄private String specialty;  //主治方向private LocalDate joinDate;  //入职时间private ArrayList<Schedule> schedules = new ArrayList<>();  //7天坐诊情况public Doctor() {}public Doctor(String doctorId, String name, String departmentName, String gender, int age, String specialty, LocalDate joinDate, ArrayList<Schedule> schedules) {this.doctorId = doctorId;this.name = name;this.departmentName = departmentName;this.gender = gender;this.age = age;this.specialty = specialty;this.joinDate = joinDate;this.schedules = schedules;}public String getDoctorId() {return doctorId;}public void setDoctorId(String doctorId) {this.doctorId = doctorId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDepartmentName() {return departmentName;}public void setDepartmentName(String departmentName) {this.departmentName = departmentName;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSpecialty() {return specialty;}public void setSpecialty(String specialty) {this.specialty = specialty;}public LocalDate getJoinDate() {return joinDate;}public void setJoinDate(LocalDate joinDate) {this.joinDate = joinDate;}public ArrayList<Schedule> getSchedules() {return schedules;}public void setSchedules(ArrayList<Schedule> schedules) {this.schedules = schedules;}
}
//Department
//科室类
public class Department {private String name;private ArrayList<Doctor> doctors = new ArrayList<>();public Department() {}public Department(String name, ArrayList<Doctor> doctors) {this.name = name;this.doctors = doctors;}public String getName() {return name;}public void setName(String name) {this.name = name;}public ArrayList<Doctor> getDoctors() {return doctors;}public void setDoctors(ArrayList<Doctor> doctors) {this.doctors = doctors;}
}
//Schedule
//医生坐诊情况类
public class Schedule {private LocalDate today;  //当天日期private boolean update = false;  //是否排班(默认未排班false)//上午private boolean morning;  //是否看诊private LocalTime mStart;  //上午开始时间private LocalTime mEnd;  //上午结束时间private int mTotalNum;  //上午可预约人数private int mAppointNum;  //上午已预约人数//下午private boolean afternoon;  //是否看诊private LocalTime aStart;  //下午开始时间private LocalTime aEnd;  //下午结束时间private int aTotalNum;  //下午可预约人数private int aAppointNum;  //下午已预约人数public Schedule() {}public Schedule(LocalDate today, boolean update, boolean morning, LocalTime mStart, LocalTime mEnd, int mTotalNum, int mAppointNum, boolean afternoon, LocalTime aStart, LocalTime aEnd, int aTotalNum, int aAppointNum) {this.today = today;this.update = update;this.morning = morning;this.mStart = mStart;this.mEnd = mEnd;this.mTotalNum = mTotalNum;this.mAppointNum = mAppointNum;this.afternoon = afternoon;this.aStart = aStart;this.aEnd = aEnd;this.aTotalNum = aTotalNum;this.aAppointNum = aAppointNum;}public boolean isUpdate() {return update;}public void setUpdate(boolean update) {this.update = update;}public LocalDate getToday() {return today;}public void setToday(LocalDate today) {this.today = today;}public boolean isMorning() {return morning;}public void setMorning(boolean morning) {this.morning = morning;}public LocalTime getmStart() {return mStart;}public void setmStart(LocalTime mStart) {this.mStart = mStart;}public LocalTime getmEnd() {return mEnd;}public void setmEnd(LocalTime mEnd) {this.mEnd = mEnd;}public int getmTotalNum() {return mTotalNum;}public void setmTotalNum(int mTotalNum) {this.mTotalNum = mTotalNum;}public int getmAppointNum() {return mAppointNum;}public void setmAppointNum(int mAppointNum) {this.mAppointNum = mAppointNum;}public boolean isAfternoon() {return afternoon;}public void setAfternoon(boolean afternoon) {this.afternoon = afternoon;}public LocalTime getaStart() {return aStart;}public void setaStart(LocalTime aStart) {this.aStart = aStart;}public LocalTime getaEnd() {return aEnd;}public void setaEnd(LocalTime aEnd) {this.aEnd = aEnd;}public int getaTotalNum() {return aTotalNum;}public void setaTotalNum(int aTotalNum) {this.aTotalNum = aTotalNum;}public int getaAppointNum() {return aAppointNum;}public void setaAppointNum(int aAppointNum) {this.aAppointNum = aAppointNum;}
}
//Appointment
//患者预约信息类
public class Appointment {private String userName;  //患者姓名private String sex;  //患者性别private int age;  //患者年龄private String tel;  //患者电话private String desc;  //病情描述private String departmentName;  //挂号科室private String doctorId;  //看诊医生idprivate LocalDateTime appointDateTime;  //预约时间public Appointment() {}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}pu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux设备模型(九) - bus/device/device_driver/class

一&#xff0c;设备驱动模型 1&#xff0c;概述 在前面写的驱动中&#xff0c;我们发现编写驱动有个固定的模式只有往里面套代码就可以了&#xff0c;它们之间的大致流程可以总结如下&#xff1a; 实现入口函数xxx_init()和卸载函数xxx_exit() 申请设备号 register_chrdev_r…

Spring源码:手写SpringDI

我们是在实现了SpringIOC的基础上&#xff0c;进行拓展&#xff0c;IOC实现源码可以查看&#xff1a;手写SpringIOC 文章目录 一、分析二、实现1、构造注入1&#xff09;分析2&#xff09;版本1BeanReferenceBeanDefinitionGenericBeanDefinitionDefaultBeanFactory1、改造构造…

install Ubuntu again

参考链接&#xff1a;Windows 下安装 Ubuntu 双系统(更新) - duan22677 - 博客园 这里的总的空间是120G 它里面指出双系统的时候&#xff0c;/boot 应该是主分区 参考链接&#xff1a;win10下安装Ubuntu16.04双系统_windows10安装引导ubuntu-CSDN博客 这里面讲到了&#xf…

ES入门六:Suggesters Api实践

都是负担在很多app上&#xff0c;当我们输入某些内容时候&#xff0c;它会立即做一些补全操作&#xff0c;如果我想实现上述的需求&#xff0c;我们就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那&#xff1f;简单来说&#xff0c;Suggesters会将输入的文本拆分…

【网站项目】167固定资产管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

谁才是“内卷”之王?众多洗地机品牌哪家清洁力最强?清洁最干净?

在如今快节奏的生活中&#xff0c;家庭清洁工作愈发显得繁琐而耗时。添可洗地机凭借其高效的一体化清洁功能和智能化操作&#xff0c;为现代家庭生活带来了极大的便利。面对众多款品牌洗地机型号&#xff0c;消费者不禁会问&#xff1a;哪家洗地机清洁力最强&#xff1f;在性能…

解决tomcat双击startup.bat一闪而过的问题

这种问题可能是tomcat找不到你的jdk环境配置路径 1、首先在tomcat的bin文件夹找到startup.bat 和catalina.bat两个文件 2、startup.bat用记事本打开 在末尾添加pause 3、保存修改&#xff0c;双击startup.bat如果出现这种问题&#xff0c;就是找不到jdk路径 4、用记事本打开ca…

2194. 负载平衡问题(网络流,费用流)

活动 - AcWing G 公司有 n 个沿铁路运输线环形排列的仓库&#xff0c;每个仓库存储的货物数量不等。 如何用最少搬运量可以使 n 个仓库的库存数量相同。 搬运货物时&#xff0c;只能在相邻的仓库之间搬运。 数据保证一定有解。 输入格式 第 1 行中有 1 个正整数 n&#x…

MySQL - 联表查询从表即使有索引依然 ALL 的一个原因

问题描述 今天排查 MySQL 语句性能发现&#xff0c;主外键都添加索引了&#xff0c;为什么 explain 分析 type ALL&#xff1f; 原因分析 主表和从表的关联字段的编码方式不一样&#xff0c;改成一样的编码方式即可 解决方案 # 修改某张表某字段编码 ALTER TABLE t_xxx CHA…

STM32CubeMX实战教程: TIM6、TIM7 - 基本定时器

目录 一、基本定时器的作用 二、常用型号的TIM时钟频率 三、CubeMX配置 四、编写执行代码 一、基本定时器的作用 基本定时器&#xff0c;主要用于实现定时和计数功能。作用包括&#xff1a; 定时功能&#xff1a;可以产生周期性的中断&#xff0c;用于实现定时任务。例如&…

什么是Docker容器?

Docker是一种轻量级的虚拟化技术&#xff0c;同时是一个开源的应用容器运行环境搭建平台&#xff0c;可以让开发者以便捷方式打包应用到一个可移植的容器中&#xff0c;然后安装至任何运行Linux或Windows等系统的服务器上。相较于传统虚拟机&#xff0c;Docker容器提供轻量化的…

【C++通关攻略 · 基础篇】输入输出语句

目录 输入语句 原理 什么是流&#xff1f; 语法 补充 输出语句 原理 语法 补充 示例 输入语句 输入语句&#xff0c;就是用来接受用户输入的内容。比如用户在控制台输入一个数字&#xff0c;就可以用输入语句去就收。 原理 在 C 中&#xff0c;cin 就是最常用的输入…

linux安装mysql5.7

linux安装mysql5.7 一、下载mysql5.7二、解压包介绍三、上传包到linux四、卸载mariadb五、安装mysql六、修改权限七、启动mysql八、使用过navicat创作不易&#xff0c;笔记不易&#xff0c;如觉不错&#xff0c;请三连&#xff0c;谢谢~~ 一、下载mysql5.7 去mysql官方下载&am…

MES系统在离散制造企业中的功能解析

随着信息技术的快速发展和制造业的转型升级&#xff0c;MES在离散制造企业中的作用日益凸显。MES系统不仅提高了生产效率和产品质量&#xff0c;还优化了资源配置&#xff0c;增强了企业的市场竞争力。 一、生产管理功能 MES系统能够实时监控生产现场的各种数据&#xff0c;包…

二叉搜索树题目:将有序数组转换为二叉搜索树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法证明代码复杂度分析 题目 标题和出处 标题&#xff1a;将有序数组转换为二叉搜索树 出处&#xff1a;108. 将有序数组转换为二叉搜索树 难度 4 级 题目描述 要求 给定整数数组 nums \texttt{nums}…

一、低代码平台-数据库设计规范

数据库设计规范目的 a、规格化管理各个业务数据表 b、通过字段名称快速了解表与表之间的关联关系 c、通过字段第一位快速了解字段数据类型等等所有规范都为了更好的开发与后期系统运维。 1、数据库设计规范 答&#xff1a;数据库安装必须选择大小写敏感&#xff1b;编码格式…

15 easy 141. 环形链表

法1&#xff1a;快慢指针法&#xff1a; //给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 // // 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数…

Python爬虫副业真的可行吗?

首先回答你&#xff0c;是可行的&#xff0c;python爬虫能当副业&#xff0c;副业的方式比较多&#xff0c;等下我会讲几种。 那学到哪个层次可以接单呢&#xff1f;主要看你是接什么样的单&#xff0c;爬一些资料&#xff0c;视频这种简单的学一两个月就没什么问题&#xff0…

第一天 走进Docker的世界

第一天 走进Docker的世界 介绍docker的前世今生&#xff0c;了解docker的实现原理&#xff0c;以Django项目为例&#xff0c;带大家如何编写最佳的Dockerfile构建镜像。通过本章的学习&#xff0c;大家会知道docker的概念及基本操作&#xff0c;并学会构建自己的业务镜像&…

一文读懂Persistence One- 如何将Restaking带入Cosmos

Persistence One正在将Restaking引入Cosmos。用户将能够通过pSTAKE、Stride、Quicksilver和Milkyway将Liquid Staked Tokens&#xff08;如ATOM、TIA、DYDX等&#xff09;存入Persistence One&#xff0c;对其进行Restaking&#xff0c;从而安全地连接更多区块链&#xff0c;首…