✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
文末获取项目下载方式
一、项目背景介绍:
心理健康在现代社会中变得越来越重要,人们对心理咨询的需求也日益增长。随着心理咨询服务的普及和接受程度的提高,心理咨询师和机构需要一种高效、可靠的方式来管理预约和提供服务。
传统的预约管理方法,如纸质日程表和电话预约,已经无法满足日益增长的心理咨询需求。这些方法容易出现预约冲突、信息混乱和时间浪费的问题,给咨询师和机构带来了很大的压力。
为了解决这些问题,我们开发了一款先进的心理咨询预约管理系统。该系统旨在提供一个完整的解决方案,帮助咨询师和机构高效地管理预约、维护客户信息、安排咨询会议,并提供其他有助于提供优质心理咨询服务的功能。
该系统具有以下主要特点:
来访者申请预约:来访者向某位咨询师申请预约,并填写预约申请表(期望时间地点和评估问卷)
咨询师安排咨询:处理咨询申请,通过申请安排咨询,取消咨询
咨询档案:咨询完成,咨询师上传咨询档案;每次咨询都会记录(可在我的咨询中查看)
来访者评价:咨询完成,来访者对本次咨询进行评价
通过使用我们的心理咨询预约管理系统,咨询师和机构可以提高工作效率、减少繁琐的管理工作,并提供更好的咨询服务体验。这将有助于促进心理健康的普及和提高社会的整体幸福感
二、项目技术简介:
三、系统功能模块介绍:
四、数据库设计:
1:‘管理员表’(admin)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
admin_id | int | NULL | 主键 |
admin_name | varchar | NULL | 用于登录的管理员账户 |
admin_pwd | varchar | NULL | 用于登录的密码 |
name | varchar | NULL | 管理员姓名 |
sex | int | NULL | 0女,1男 |
age | int | NULL | 管理员年龄 |
phone | varchar | NULL | 管理员电话 |
varchar | NULL | 管理员电子邮件 | |
is_active | int | NULL | 管理员账户状态 0停用,1激活 |
2:‘公告面板,发布通知’(announcement)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
announcement_id | int | NULL | 公告id |
title | varchar | NULL | 公告标题 |
context | varchar | NULL | 公告的内容 |
creater_id | int | NULL | 公告的创建者id |
create_time | datetime | NULL | 公告发布时间 |
is_active | int | NULL | 0 不显示,1显示 |
3:‘来访者,普通需要咨询的人’(client)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
client_id | int | NULL | 来访者的id主键 |
client_name | varchar | NULL | 来访者登录的普通账户 |
client_pwd | varchar | NULL | 来访者登录的密码 |
name | varchar | NULL | 来访者姓名 |
sex | int | NULL | 0女,1男 |
age | int | NULL | 来访者年龄 |
phone | varchar | NULL | 来访者电话 |
varchar | NULL | 来访者电子邮件 | |
is_active | int | NULL | 来访者账户状态 0停用,1激活 |
region_time | datetime | NULL | 注册时间 |
4:‘来访者的一次咨询的档案’(client_archive)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
archives_id | int | NULL | 咨询者的一次咨询记录 |
client_id | int | NULL | 本次咨询的,来访者的id |
doctor_id | int | NULL | 本次咨询的,咨询师的id |
client_description | varchar | NULL | 申请人的主观描述 |
question_context | varchar | NULL | 申请人做的问卷 内容 |
level | int | NULL | 等级分数 |
apply_time | datetime | NULL | 申请时间 |
expect_place | varchar | NULL | 申请人期望的咨询地点,最终只是一个参考 |
expect_time | varchar | NULL | 申请人期望的咨询时间,最终只是一个参考 |
start_datetime | datetime | NULL | 咨询开始时间,几月几日几时 |
end_datetime | datetime | NULL | 咨询结束时间,几月几日几时 |
sub_place | varchar | NULL | 咨询具体地点 |
status | int | NULL | -1 失败,0 申请中,1 通过申请但未完成,2完成咨询但未完善资料,3全部完成 |
doc_path | varchar | NULL | 一次咨询的记录文档,命名:日期_来访者id_咨询师id.xxx |
second_question_context | varchar | NULL | 回访记录内容 |
is_second_do | int | NULL | 是否回访,0否,1是 |
5:‘心理咨询师用户表’(doctor)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
doctor_id | int | NULL | 主键 |
doctor_name | varchar | NULL | 咨询师登录的普通账户 |
doctor_pwd | varchar | NULL | 用于登录的密码 |
name | varchar | NULL | 咨询师姓名 |
sex | int | NULL | 0女,1男 |
age | int | NULL | 咨询师年龄 |
phone | varchar | NULL | 咨询师电话 |
varchar | NULL | 咨询师电子邮件 | |
is_active | int | NULL | 咨询师账户状态 0停用,1激活 |
level | varchar | NULL | 咨询师等级(一级、二级 等) |
skill | varchar | NULL | 咨询师擅长方向(家庭、亲密关系,挫折等) |
img | varchar | NULL | 展示给来访者的 个人照片 |
place | varchar | NULL | 咨询师 的咨询地点 |
6:message(message)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
message_id | int | NULL | |
sender | varchar | NULL | 发送者身份,admin 管理员,doctor 咨询师,client 咨询者 |
sender_id | int | NULL | 发送者的id |
sender_name | varchar | NULL | 发送者名字 |
receiver | varchar | NULL | 接受者身份,admin 管理员,doctor 咨询师,client 咨询者 |
receiver_id | int | NULL | 接受者id |
receiver_name | varchar | NULL | 接受者名字 |
send_time | datetime | NULL | 发送时间 |
is_read | int | NULL | 是否已经读过了,0 未读,1 已读 |
context | varchar | NULL | 消息内容 |
7:message_board(message_board)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
board_id | int | NULL | 留言主键id |
context | varchar | NULL | 留言的内容 |
creater_id | int | NULL | 留言的创建者id |
create_time | datetime | NULL | 留言时间 |
is_active | int | NULL | 0 不显示,1显示 |
8:question(question)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
question_id | int | NULL | 一个问卷题目id |
question_num | int | NULL | 题目题号,按照题号排列题目 |
context | varchar | NULL | 题目内容 |
answer_yes_score | int | NULL | 回答是的分值 |
answer_no_score | int | NULL | 回答否的分值 |
五、功能模块:
管理员首页:系统近况(咨询师和注册来访者数量,预约数量)显示最新的消息、留言和公告(最新十条)
主要功能:咨询师管理(添加、修改、删除,账号激活停用)来访者管理(账号激活停用)预约问卷管理(添加、修改、删除)
公共和个人信息模块:消息、公告和留言管理(发送接受消息,发布公告,控制留言显示和隐藏)个人信息管理(修改基本信息和密码)
咨询师主要功能:查看预约详情,安排咨询申请(安排咨询时间或驳回)咨询完毕建立咨询档案查看所有咨询历史
心理医生信息模块:信息模块可以和管理员或者用户进行及时信息通讯,互相发信息
用户登录:新用户登录界面
用户注册:新用户注册界面
来访者申请预约:来访者向某位咨询师申请预约,并填写预约申请表(期望时间地点和评估问卷)
咨询师安排咨询:处理咨询申请,通过申请安排咨询,取消咨询
六、代码示例:
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String m = request.getParameter("m");
// 当前登录用户
Doctor doctorNow = (Doctor) request.getSession().getAttribute(DoctorLoginServlet.LOGIN_DOCTOR);
if ("subClientList".equals(m)) {
// 咨询申请
// 查询所有咨询申请
List<ClientArchive> list = clientArchiveService.getAllSubFromClient(doctorNow.getDoctorId());
request.setAttribute("clientArchiveList", list);
request.getRequestDispatcher("/doctor/subClientList.jsp").forward(request, response);
} else if ("subOnList".equals(m)) {
// 咨询中的
// 显示正在咨询中的
List<ClientArchive> list = clientArchiveService.subOnList(doctorNow.getDoctorId());
request.setAttribute("clientArchiveList", list);
request.getRequestDispatcher("/doctor/subOnList.jsp").forward(request, response);
} else if ("doctorConsult".equals(m)) {
// 咨询记录
// 已经完成的咨询记录
List<ClientArchive> list = clientArchiveService.getSubOk(doctorNow.getDoctorId());
request.setAttribute("clientArchiveList", list);
request.getRequestDispatcher("/doctor/doctorConsult.jsp").forward(request, response);
} else if ("subShow".equals(m)) {
// 查看申请详情
String archives_id = request.getParameter("archivesId");
String clientId = request.getParameter("clientId");
// 通过Id拿到ClientArchive对象
ClientArchive clientArchive = clientArchiveService.getClientArchiveById(Integer.parseInt(archives_id));
request.setAttribute("clientArchive", clientArchive);
// 通过clientId拿到Client对象
Client client = clientService.getClientByClientId(Integer.parseInt(clientId));
request.setAttribute("client", client);
request.getRequestDispatcher("/doctor/subShow.jsp").forward(request, response);
} else if ("updateStatusFalse".equals(m)) {
// 驳回申请
// 切换status为失败状态(-1)
String archivesId = request.getParameter("archivesId");
String clientId = request.getParameter("clientId");
String applyTime = request.getParameter("applyTime");
clientArchiveService.updateStatusFalseResponse(Integer.parseInt(archivesId), Integer.parseInt(clientId),
applyTime, response, doctorNow);
} else if ("planSub".equals(m)) {
// 安排咨询,即设置咨询时间地点,status改为 1 通过申请但未完成
// 取得参数
String archivesId = request.getParameter("archivesId");
String clientId = request.getParameter("clientId");
String startDatetime = request.getParameter("startDatetime");
String endDatetime = request.getParameter("endDatetime");
String subPlace = request.getParameter("subPlace");
// 封装对象
ClientArchive clientArchive = new ClientArchive();
clientArchive.setArchivesId(Integer.parseInt(archivesId));
clientArchive.setClientId(Integer.parseInt(clientId));
clientArchive.setSubPlace(subPlace);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
clientArchive.setEndDatetime(sdf.parse(endDatetime));
clientArchive.setStartDatetime(sdf.parse(startDatetime));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
clientArchiveService.planSubResponse(clientArchive, response, doctorNow);
} else if ("updateStatusFinish".equals(m)) {
// 完成咨询
// 切换status为完成状态(3)
String archivesId = request.getParameter("archivesId");
String clientId = request.getParameter("clientId");
clientArchiveService.updateStatusFinishResponse(Integer.parseInt(archivesId), Integer.parseInt(clientId),
response, doctorNow);
} else if ("uploadSubDoc".equals(m)) {
// 上传咨询文档
//传上来的文档
UploadResult uploadResult = Util.upload("subDoc", request, Util.UPLOAD_TYPE_ATTACHMENT);
//目标咨询记录
String archivesId = request.getParameter("archivesId");
//咨询记录中的文档更新
clientArchiveService.uploadSubDoc(archivesId,uploadResult,response);
}
}
七、项目总结:
基于JAVA的心理咨询预约系统的开发制作,从题目确定到成品完成,自己投入的精力与心血是非常多的。从基于JAVA的心理咨询预约系统的前台页面实现,到基于JAVA的心理咨询预约系统的后台代码的编辑,我用到的软件包括了数据库软件MySQL,Java开发工具IDEA,办公软件Office,浏览器软件Fireworks,图像处理软件Photoshop等,这也是我第一次使用Java语言,开发的这个比较简单的基于JAVA的心理咨询预约系统。
基于JAVA的心理咨询预约系统开发过程中,自己之前觉得比较抽象的许多门课程,例如数据库原理,软件工程,动态网站开发等课程开始变得很清晰,只有自己独立开发程序,才会觉得这些开发类的课程在实践中具有的重要作用。为了让自己设计的作品能够顺利的完成,我把所学知识全部运用在程序的开发流程中,包括了程序的需求分析环节,程序的编码环节,程序的测试环节等,让程序软件在开发周期内完成制作,并能够保证程序质量达标,力求程序开发流程规范化,程序对应的配套文档标准化。
基于JAVA的心理咨询预约系统现已完成了开发,除了基本功能可以符合用户需求外,在页面设计层面上没有融入更多的设计元素,需要从美学角度进行优化,另外在程序的代码层面,也有许多重合部分,需要进行整理归类,让代码变得更加的简洁。
实践出真知,但是知识也是通过实践变得更加深刻,这次作品制作,让自己的专业知识水平与解决问题的能力得到了提高。也让自己更加明白活到老学到老的真正含义。
总的说来,这次编写毕业设计作品,我真正锻炼了自己的实际操作能力,以前只知道理论知识,现在通过实践,我对理论知识的认识变得更加深刻,由于编写程序时间比较短暂,程序开发期间遇到过很多坎坷,但最后都通过老师还有同学帮忙解决了,可以说这次的毕设作品进展得还算顺利。
八、源码获取:
大家点赞、收藏、关注、评论啦 、查看获取项目下载链接,博主联系方式
链接点击直达:下载链接