基于javaweb+mysql的jsp+servlet医院预约挂号系统(java+jdbc+jsp+mysql+ajax)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet医院预约挂号系统(java+jdbc+jsp+mysql+ajax)
一、项目简述
功能: 用户分为患者,医生,管理员,患者可进行注册选择医生 挂号,选择日期,选择号源,医生可进行接诊,管理员可 对用户,医生信息的维护等等功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Jdbc+ Servlert + Jsp + css + JavaScript + JQuery + Ajax + Fileupload等等。
}else {
message="该账号已存在!";
}
}else {
message="请输入账号!";
}
}else {
message="两次密码不正确!";
}
request.setAttribute("message",message);
request.getRequestDispatcher("register.jsp").forward(request,response);
}
}
package com.qst.servlet.patient;
@WebServlet(urlPatterns = "/DoctorSearch")
public class DoctorSearch extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
// request.getRequestDispatcher("/orderDoctor.jsp").forward(request,response);
// }else
//重定向
request.getRequestDispatcher("/officeInfo.jsp").forward(request,response);
}
}
package com.qst.servlet.doctor;
@WebServlet(urlPatterns= "/patientList")
public class PatientList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = Util.nullToString(request.getParameter("action"));
Doctor doctor = (Doctor) request.getSession().getAttribute("doctor");
String rid = Util.nullToString(request.getParameter("rid"));
String pid = Util.nullToString(request.getParameter("pid"));
RecodeDao recodeDao = new RecodeDao();
// IntegrityDao integrityDao = new IntegrityDao();
// Integrity integrity;
String set;
switch (action){
case "finish":
set = "set state ='完成' where rid=?";
List<Doctor> doctors = doctorDao.query("where account=? ",new Object[]{Util.nullToString(request.getParameter("account"))});
if(doctors.size()==0){
Doctor doctor=new Doctor();
doctor.setAccount(request.getParameter("account"));
doctor.setPassword(request.getParameter("password"));
doctor.setDname(request.getParameter("name"));
doctor.setFee(request.getParameter("fee"));
doctor.setGender(request.getParameter("gender"));
doctor.setAge(request.getParameter("age"));
doctor.setOffice(request.getParameter("office1"));
// doctor.setRoom(req.getParameter("room"));
doctor.setCareer(request.getParameter("career"));
doctor.setDescription(request.getParameter("description"));
doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
if(doctorDao.insert(doctor)){
//添加医生
message="添加"+request.getParameter("name")+"医生成功!";
//科室中的医生数量加1
String where="set doctornum=? where officename=?";
OfficeDao officeDao=new OfficeDao();
String where1="where officename=?";
Office office1 =officeDao.get(where1,new Object[]{doctor.getOffice()});
// Office office1 = (Office) officeDao.query("officename", "","");
int num=office1.getDoctornum()+1;
officeDao.update(where,new Object[]{num,office1.getOfficename()});
}
}else {
message=request.getParameter("account")+"账号已存在!";
}
request.setAttribute("message",message);
}
int start = Util.nullToZero(request.getParameter("start"));
DoctorDao doctorDao=new DoctorDao();
String where="where office like ? and dname like ? ";
int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
Pages pages = new Pages(start , total, 6);
where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
request.setAttribute("doctors",doctors);
request.setAttribute("pages",pages);
request.setAttribute("doctor",name);
//OfficeDao officeDao=new OfficeDao();
//List<Office> offices = officeDao.query("officename", office, "");
request.setAttribute("office",office);
request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
}
}
package com.qst.servlet;
// byte[] bytes=new byte[1024];
// int i=0;
// while ((i=is.read(bytes))!=-1){
// fos.write(bytes,0,i);
// }
// fos.close();
// is.close();
// doctor.setPicpath("/mavenHospital/images/docpic/"+doctor.getDid()+jpg);
// System.out.println(doctor.getPicpath());
// }
Object[] o=new Object[]{
doctor.getDname(),
doctor.getAge(),
doctor.getDescription(),
doctor.getDid()};
String set="set dname=?,age=?,description=? where did=?";
doctorDao.update(set,o);
}
request.getRequestDispatcher("/doctor/myInfo.jsp").forward(request,response);
}
}
package com.qst.servlet.admin;
@WebServlet(urlPatterns = "/office")
public class OfficeManager extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = Util.nullToString(request.getParameter("action"));
String message="";
OfficeDao officeDao=new OfficeDao();
request.getSession().setAttribute("doctor",doctor);
response.sendRedirect("doctor/index.jsp");
return;
}
}
//用户密码错误
request.getSession().setAttribute("message","用户名或密码错误!!");
request.getRequestDispatcher("doctor/login.jsp").forward(request,response);
break;
case "患者":
PatientDao patientDao=new PatientDao();
List<Patient> patients = patientDao.query("account",account);
if(patients.size()>0){
Patient patient = patients.get(0);
//判断密码是否相同
if(patient.getPassword().equals(password)){
request.getSession().setAttribute("patient",patient);
String url= (String) request.getSession().getAttribute("url");
if(url==null)
url="index.jsp";
request.getSession().setAttribute("message","登录成功!!");
response.sendRedirect(url);
return;
}
}
request.getSession().setAttribute("message","用户名或密码错误!!");
response.sendRedirect("login.jsp");
break;
}
}
}
package com.qst.servlet;
System.out.println(request.getParameter("account"));
List<Doctor> doctors = doctorDao.query("where account=? ",new Object[]{Util.nullToString(request.getParameter("account"))});
if(doctors.size()==0){
Doctor doctor=new Doctor();
doctor.setAccount(request.getParameter("account"));
doctor.setPassword(request.getParameter("password"));
doctor.setDname(request.getParameter("name"));
doctor.setFee(request.getParameter("fee"));
doctor.setGender(request.getParameter("gender"));
doctor.setAge(request.getParameter("age"));
doctor.setOffice(request.getParameter("office1"));
// doctor.setRoom(req.getParameter("room"));
doctor.setCareer(request.getParameter("career"));
doctor.setDescription(request.getParameter("description"));
doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
if(doctorDao.insert(doctor)){
//添加医生
message="添加"+request.getParameter("name")+"医生成功!";
//科室中的医生数量加1
String where="set doctornum=? where officename=?";
OfficeDao officeDao=new OfficeDao();
String where1="where officename=?";
Office office1 =officeDao.get(where1,new Object[]{doctor.getOffice()});
// Office office1 = (Office) officeDao.query("officename", "","");
int num=office1.getDoctornum()+1;
officeDao.update(where,new Object[]{num,office1.getOfficename()});
}
}else {
message=request.getParameter("account")+"账号已存在!";
}
request.setAttribute("message",message);
}
int start = Util.nullToZero(request.getParameter("start"));
DoctorDao doctorDao=new DoctorDao();
String where="where office like ? and dname like ? ";
int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
Pages pages = new Pages(start , total, 6);
where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
request.setAttribute("doctors",doctors);
request.setAttribute("pages",pages);
request.setAttribute("doctor",name);
//OfficeDao officeDao=new OfficeDao();
//List<Office> offices = officeDao.query("officename", office, "");
request.setAttribute("office",office);
request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
}
}
package com.qst.servlet;
@WebServlet(urlPatterns ="/OfficeSearch")
public class OfficeSearch extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String office= Util.nullToString(request.getParameter("office"));
int start=Util.nullToZero(request.getParameter("start"));
OfficeDao officeDao=new OfficeDao();
Pages p = new Pages(start , officeDao.getOfficeCount("officename", office),10);
String limit="limit "+((p.getCurrentPage()-1)*10)+",10";
List<Office> offices = officeDao.query("officename", office,limit);
request.setAttribute("offices",offices);
request.setAttribute("office",office);
request.setAttribute("pages",p);
request.getRequestDispatcher("orderOffice.jsp").forward(request,response);
}
}
package com.qst.servlet;
@WebServlet(urlPatterns = "/RegisterSevlet")
public class RegisterServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("textml;charset=UTF-8");
//获取前台的email
@WebServlet(urlPatterns= "/queryNumSource")
public class QueryNumSource extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//获取前端的值
String wid = request.getParameter("wid");
String ampm =request.getParameter("ampm");
String date = request.getParameter("date");
if(wid!=null){
String where="where wid=?";
WorkDayDao workDayDao=new WorkDayDao();
//查询数据库获取值
List<WorkDay> workDays = workDayDao.query(where, new Object[]{wid});
WorkDay workDay = workDays.get(0);
//得到工作日数量
int nsnum = Integer.valueOf(workDay.getNsnum());
//计算
int size=240/nsnum;
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.MINUTE,30);
/*上午8.30-12.30 4*60=240
下午1.30-5.30 4*/
if("上午".equals(ampm)){
calendar.set(Calendar.HOUR_OF_DAY,8);
}else {
calendar.set(Calendar.HOUR_OF_DAY,13);
//<tr><td>姓 名:</td><td>${sessionScope.patient.name}</td></tr>
//<tr><td>预约医生:</td><td>${doctor.dname}</td></tr>
//<tr><td>预约科室:</td><td>${doctor.office} </td></tr>
//<tr><td>就诊时间:</td><td>${numSource.visitdate} ${numSource.visittime}第${numSource.serialnumber}号</td></tr>
//<tr><td>诊 查 费:</td><td>${doctor.fee}.00元</td></tr>
//<tr><td>你的邮箱:</td><td>${sessionScope.patient.email}
//<tr><td colspan="2" class="confirm">确定</td></tr>
@WebServlet(urlPatterns = "/order")
public class Order extends HttpServlet {
private HttpServletRequest req;
private HttpServletResponse resp;
private RecodeDao recodeDao = new RecodeDao();
private NumSourceDao numSourceDao = new NumSourceDao();
Patient patient;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.req = request;
this.resp = response;
patient = (Patient) req.getSession().getAttribute("patient");
String wid = req.getParameter("wid");//工作日id
String did = req.getParameter("did");//工作日id
String action = req.getParameter("action");
// String checkcode = Util.nullToString(req.getParameter("checkcode"));
String rid = req.getParameter("rid");//记录的id
String data = Util.nullToString(req.getParameter("data"));//就诊序号
String[] strings = data.split(",");
String where = "where wid=? and visitdate=? and visittime=? and state='成功'";
RecodeDao recodeDao = new RecodeDao();
switch (action) {
case "order"://准备预约
NumSource numSource = new NumSource(strings[0], strings[1], strings[2], strings[3], wid);
//HashMap<String, String> hashMap = recodeDao.confirm(id);
DoctorDao doctorDao = new DoctorDao();
List<Doctor> doctors = doctorDao.query(" where did=?", new Object[]{did});
req.getSession().setAttribute("numSource", numSource);
req.setAttribute("doctor", doctors.get(0));
req.getRequestDispatcher("confirmOrder.jsp").forward(req, resp);
break;
case "confirm"://完成预约
NumSource numSources = (NumSource) request.getSession().getAttribute("numSource");
Recode recode=new Recode();
recode.setPid(patient.getId());
recode.setDid(did);
recode.setWid(wid);
recode.setSerialnumber(numSources.getSerialnumber());
recode.setRid(null);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@WebServlet(urlPatterns = "/doctorManage")
public class DoctorManage extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String office = Util.nullToString(request.getParameter("office"));
String name = Util.nullToString(request.getParameter("doctor"));
String action = Util.nullToString(request.getParameter("action"));
if("add".equals(action)){
String message="增加医生失败!";
DoctorDao doctorDao = new DoctorDao();
System.out.println(request.getParameter("account"));
List<Doctor> doctors = doctorDao.query("where account=? ",new Object[]{Util.nullToString(request.getParameter("account"))});
if(doctors.size()==0){
Doctor doctor=new Doctor();
doctor.setAccount(request.getParameter("account"));
doctor.setPassword(request.getParameter("password"));
doctor.setDname(request.getParameter("name"));
doctor.setFee(request.getParameter("fee"));
doctor.setGender(request.getParameter("gender"));
doctor.setAge(request.getParameter("age"));
doctor.setOffice(request.getParameter("office1"));
// doctor.setRoom(req.getParameter("room"));
doctor.setCareer(request.getParameter("career"));
doctor.setDescription(request.getParameter("description"));
doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
if(doctorDao.insert(doctor)){
//添加医生
if (recodeDao.order(recode)) {
WorkDayDao workDayDao=new WorkDayDao();
String where2 =" where wid=? ";
List<WorkDay> workDay= workDayDao.query(where2,new Object[]{wid});
String where3="set nsnum=? where wid=?";
String where4="set nsnum=? and state=? where wid=?";
int num=workDay.get(0).getNsnum()-1;
if(num!=0)
{
workDayDao.update(where3,new Object[]{num,wid});
}
else
{
workDayDao.update(where4,new Object[]{num,"停诊",wid});
}
request.getSession().setAttribute("message", "预约成功!");
request.getRequestDispatcher("orderList").forward(request, response);
} else {
req.getSession().setAttribute("message", "预约失败!");
req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
}
} else {
req.getSession().setAttribute("message", "号源已被预约!");
req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
}
break;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
package com.qst.servlet;
List<WorkDay> workDay= workDayDao.query(where2,new Object[]{wid});
String where3="set nsnum=? where wid=?";
String where4="set nsnum=? and state=? where wid=?";
int num=workDay.get(0).getNsnum()-1;
if(num!=0)
{
workDayDao.update(where3,new Object[]{num,wid});
}
else
{
workDayDao.update(where4,new Object[]{num,"停诊",wid});
}
request.getSession().setAttribute("message", "预约成功!");
request.getRequestDispatcher("orderList").forward(request, response);
} else {
req.getSession().setAttribute("message", "预约失败!");
req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
}
} else {
req.getSession().setAttribute("message", "号源已被预约!");
req.getRequestDispatcher("ShowWorkday?did=" + did).forward(req, resp);
}
break;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
package com.qst.servlet;
public class Order extends HttpServlet {
private HttpServletRequest req;
private HttpServletResponse resp;
private RecodeDao recodeDao = new RecodeDao();
private NumSourceDao numSourceDao = new NumSourceDao();
Patient patient;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.req = request;
this.resp = response;
patient = (Patient) req.getSession().getAttribute("patient");
String wid = req.getParameter("wid");//工作日id
String did = req.getParameter("did");//工作日id
String action = req.getParameter("action");
// String checkcode = Util.nullToString(req.getParameter("checkcode"));
String rid = req.getParameter("rid");//记录的id
String data = Util.nullToString(req.getParameter("data"));//就诊序号
String[] strings = data.split(",");
String where = "where wid=? and visitdate=? and visittime=? and state='成功'";
RecodeDao recodeDao = new RecodeDao();
switch (action) {
case "order"://准备预约
NumSource numSource = new NumSource(strings[0], strings[1], strings[2], strings[3], wid);
//HashMap<String, String> hashMap = recodeDao.confirm(id);
DoctorDao doctorDao = new DoctorDao();
List<Doctor> doctors = doctorDao.query(" where did=?", new Object[]{did});
req.getSession().setAttribute("numSource", numSource);
req.setAttribute("doctor", doctors.get(0));
req.getRequestDispatcher("confirmOrder.jsp").forward(req, resp);
break;
case "confirm"://完成预约
NumSource numSources = (NumSource) request.getSession().getAttribute("numSource");
Recode recode=new Recode();
recode.setPid(patient.getId());
recode.setDid(did);
recode.setWid(wid);
recode.setSerialnumber(numSources.getSerialnumber());
recode.setRid(null);
message=officename+"添加失败!";
}
}else {
message=officename+"已存在!";
}
request.setAttribute("message",message);
//req.getRequestDispatcher("admin/office.jsp").forward(req,resp);
break;
case "query":
offices = officeDao.query("officename", "","");
JSONArray array=new JSONArray();
for(com.qst.bean.Office office:offices){
JSONObject jsonObject=new JSONObject();
jsonObject.put("officename",office.getOfficename());
jsonObject.put("description",office.getDescription());
jsonObject.put("doctornum",office.getDoctornum());
array.add(jsonObject);
}
response.setContentType("application/json; charset=utf-8");
response.getWriter().write(array.toString());
return;
}
String office= Util.nullToString(request.getParameter("office"));
int start=Util.nullToZero(request.getParameter("start"));
Pages p = new Pages(start , officeDao.getOfficeCount("officename", office),10);
String limit="limit "+((p.getCurrentPage()-1)*10)+",10";
offices = officeDao.query("officename", office,limit);
request.setAttribute("offices",offices);
request.setAttribute("office",office);
request.setAttribute("pages",p);
request.getRequestDispatcher("office.jsp").forward(request,response);
}
}
package com.qst.servlet;
String email = request.getParameter("email");
//存入新记录
Patient patient=new Patient(null,account,email,password,name,"100");
if(patientDao.insert(patient)){
message="注册成功,请登录!";
request.getSession().setAttribute("message",message);
// request.getSession().removeAttribute("checkCode");
response.sendRedirect("login.jsp");
return;
}else {
message="注册失败,请稍后再试!";
}
}else {
message="该账号已存在!";
}
}else {
message="请输入账号!";
}
}else {
message="两次密码不正确!";
}
request.setAttribute("message",message);
request.getRequestDispatcher("register.jsp").forward(request,response);
}
}
package com.qst.servlet.patient;
@WebServlet(urlPatterns = "/DoctorSearch")
public class DoctorSearch extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
package com.qst.servlet.doctor;
@WebServlet(urlPatterns= "/patientList")
public class PatientList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = Util.nullToString(request.getParameter("action"));
Doctor doctor = (Doctor) request.getSession().getAttribute("doctor");
String rid = Util.nullToString(request.getParameter("rid"));
String pid = Util.nullToString(request.getParameter("pid"));
RecodeDao recodeDao = new RecodeDao();
// IntegrityDao integrityDao = new IntegrityDao();
// Integrity integrity;
String set;
switch (action){
case "finish":
set = "set state ='完成' where rid=?";
recodeDao.update(set,new Object[]{rid});
// integrity = new Integrity("", pid, doctor.getDname(), doctor.getOffice(), "", "完成预约", "10");
int start = Util.nullToZero(request.getParameter("start"));
DoctorDao doctorDao=new DoctorDao();
String where="where office like ? and dname like ? ";
int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
Pages pages = new Pages(start , total, 6);
where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
request.setAttribute("doctors",doctors);
request.setAttribute("pages",pages);
request.setAttribute("doctor",name);
//OfficeDao officeDao=new OfficeDao();
//List<Office> offices = officeDao.query("officename", office, "");
request.setAttribute("office",office);
request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
}
}
package com.qst.servlet;
@WebServlet(urlPatterns = "/login")
public class Login extends HttpServlet{
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
@WebServlet(urlPatterns= "/modifyPwd")
public class ModifyPwd extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = Util.nullToString(request.getParameter("action"));
String jmm = Util.nullToString(request.getParameter("jmm"));
String xmm = Util.nullToString(request.getParameter("xmm"));
String qdmm = Util.nullToString(request.getParameter("qdmm"));
String message="";
switch (action){
case "doctor":
Doctor doctor = (Doctor)request.getSession().getAttribute("doctor");
if(doctor.getPassword().equals(jmm)){
if(xmm.equals(qdmm)){
DoctorDao doctorDao=new DoctorDao();
String set ="set password=? where did=?";
if(doctorDao.update(set,new Object[]{xmm,doctor.getDid()})){
message="修改成功";
}else {
message="修改失败";
}
}else {
message="两次密码不一样";
}
}else {
message="密码错误";
}
request.setAttribute("message",message);
request.getRequestDispatcher("logout").forward(request,response);
// request.getRequestDispatcher("/doctor/modifyPwd.jsp").forward(request,response);
break;
case "patient":
Patient patient= (Patient) request.getSession().getAttribute("patient");
if(patient.getPassword().equals(jmm)){
if(xmm.equals(qdmm)){
PatientDao patientDao=new PatientDao();
String set ="set password=? where pid=?";
for(NumSource o:list){
//用json方式设置数据
JSONObject jsonObject=new JSONObject();
jsonObject.put("date",o.getVisitdate());
jsonObject.put("ampm",o.getVisitnoon());
jsonObject.put("serialnumber",o.getSerialnumber());
jsonObject.put("state",o.getState());
jsonObject.put("time",o.getVisittime());
array.add(jsonObject);
}
//输出结果到客户端
response.setContentType("application/json; charset=utf-8");
response.getWriter().write(array.toString());
}
}
}
package com.qst.servlet.doctor;
@MultipartConfig
@WebServlet(urlPatterns = "/doctor/myInfo")
public class MyInfo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// com.jspsmart.upload.SmartUpload su = new com.jspsmart.upload.SmartUpload();
// su.initialize(pageContext);
// su.service(request, response);
// su.setTotalMaxFileSize(100000000);
// su.setAllowedFilesList("zip,rar");
// su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
// su.upload();
String doctorid = request.getParameter("did");
if (doctorid==null){
request.getRequestDispatcher("index.jsp").forward(request,response);
}else {
DoctorDao doctorDao = new DoctorDao();
List<Doctor> doctors = doctorDao.query("where did=? ", new Object[]{doctorid});
if(doctors.size()>0){
WorkDayDao workDayDao=new WorkDayDao();
String where =" where did=?";
List<WorkDay> workDays= workDayDao.query(where,new Object[]{doctorid});
request.setAttribute("workDays",workDays);
request.setAttribute("doctor",doctors.get(0));
request.getRequestDispatcher("doctorInfo.jsp").forward(request,response);
}else {
response.getWriter().write("没有这个医生");
}
}
}
}
package com.qst.servlet;
@WebServlet(urlPatterns = "/RegUserinfoAction")
public class RegUserinfoAction extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PatientDao patientDao=new PatientDao();
// public Integer Count(String clounm,String where)
// {
// String sql="select count(*) from patient where "+clounm+" like ? ";
// return DBUtil.getCount(sql,new Object[]{"%"+where+"%"});
// }
String account=request.getParameter("account");
//判断数据库是否有相同的email
doctor.setFee(request.getParameter("fee"));
doctor.setGender(request.getParameter("gender"));
doctor.setAge(request.getParameter("age"));
doctor.setOffice(request.getParameter("office1"));
// doctor.setRoom(req.getParameter("room"));
doctor.setCareer(request.getParameter("career"));
doctor.setDescription(request.getParameter("description"));
doctor.setPicpath(request.getContextPath()+"/images/docpic/default.jpg");
if(doctorDao.insert(doctor)){
//添加医生
message="添加"+request.getParameter("name")+"医生成功!";
//科室中的医生数量加1
String where="set doctornum=? where officename=?";
OfficeDao officeDao=new OfficeDao();
String where1="where officename=?";
Office office1 =officeDao.get(where1,new Object[]{doctor.getOffice()});
// Office office1 = (Office) officeDao.query("officename", "","");
int num=office1.getDoctornum()+1;
officeDao.update(where,new Object[]{num,office1.getOfficename()});
}
}else {
message=request.getParameter("account")+"账号已存在!";
}
request.setAttribute("message",message);
}
int start = Util.nullToZero(request.getParameter("start"));
DoctorDao doctorDao=new DoctorDao();
String where="where office like ? and dname like ? ";
int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
Pages pages = new Pages(start , total, 6);
where+="limit "+((pages.getCurrentPage()-1)*6)+",6";
List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
request.setAttribute("doctors",doctors);
request.setAttribute("pages",pages);
request.setAttribute("doctor",name);
//OfficeDao officeDao=new OfficeDao();
//List<Office> offices = officeDao.query("officename", office, "");
request.setAttribute("office",office);
request.getRequestDispatcher("/admin/doctorManage.jsp").forward(request,response);
}
}
package com.qst.servlet;
Pages pages = new Pages(start , total, 6);
where+=" limit "+((pages.getCurrentPage()-1)*6)+",6";
//根据页号显示结果
List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
//为前端页面设置值
request.setAttribute("doctors",doctors);
request.setAttribute("pages",pages);
request.setAttribute("doctor",name);
OfficeDao officeDao=new OfficeDao();
//获取科室
List<Office> offices = officeDao.query("officename", office, "");
request.setAttribute("office",offices.get(0));
String order = request.getParameter("order");
// if("doctor".equals(order)){
// request.getRequestDispatcher("/orderDoctor.jsp").forward(request,response);
// }else
//重定向
request.getRequestDispatcher("/officeInfo.jsp").forward(request,response);
}
}
package com.qst.servlet.doctor;
@WebServlet(urlPatterns= "/patientList")
public class PatientList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = Util.nullToString(request.getParameter("action"));
}
request.setAttribute("message",message);
request.getRequestDispatcher("register.jsp").forward(request,response);
}
}
package com.qst.servlet.patient;
@WebServlet(urlPatterns = "/DoctorSearch")
public class DoctorSearch extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//从前端得到数据
String office = Util.nullToString(request.getParameter("office"));
String name = Util.nullToString(request.getParameter("doctor"));
int start = Util.nullToZero(request.getParameter("start"));
DoctorDao doctorDao=new DoctorDao();
//数据库查询语句
String where="where office like ? and dname like ? ";
//获取结果数量
int total=doctorDao.getDoctorCount(where,new Object[]{Util.toLike(office),Util.toLike(name)});
//页数
Pages pages = new Pages(start , total, 6);
where+=" limit "+((pages.getCurrentPage()-1)*6)+",6";
//根据页号显示结果
List<Doctor> doctors = doctorDao.query(where, new Object[]{Util.toLike(office),Util.toLike(name)});
//为前端页面设置值
request.setAttribute("doctors",doctors);
request.setAttribute("pages",pages);
request.setAttribute("doctor",name);
OfficeDao officeDao=new OfficeDao();
//获取科室
writer.flush();
writer.close();
} else {
PrintWriter writer = response.getWriter();
writer.write("false");
writer.flush();
writer.close();
}
}
}
}
package com.qst.servlet.patient;
@WebServlet(urlPatterns ="/OfficeSearch")
public class OfficeSearch extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String office= Util.nullToString(request.getParameter("office"));
int start=Util.nullToZero(request.getParameter("start"));
OfficeDao officeDao=new OfficeDao();
Pages p = new Pages(start , officeDao.getOfficeCount("officename", office),10);
String limit="limit "+((p.getCurrentPage()-1)*10)+",10";
List<Office> offices = officeDao.query("officename", office,limit);
request.setAttribute("offices",offices);
request.setAttribute("office",office);
request.setAttribute("pages",p);
request.getRequestDispatcher("orderOffice.jsp").forward(request,response);
}
}
package com.qst.servlet;
@WebServlet(urlPatterns = "/RegUserinfoAction")
public class RegUserinfoAction extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PatientDao patientDao=new PatientDao();
// public Integer Count(String clounm,String where)
// {
// String sql="select count(*) from patient where "+clounm+" like ? ";
// return DBUtil.getCount(sql,new Object[]{"%"+where+"%"});
// }
String account=request.getParameter("account");
//判断数据库是否有相同的email
Integer count=new PatientDao().Count1(account);
if (account != "") {
if (count > 0) {
PrintWriter writer = response.getWriter();
writer.write("true");
writer.flush();
writer.close();
} else {
PrintWriter writer = response.getWriter();
writer.write("false");
writer.flush();
writer.close();
}
}
}
}
package com.qst.servlet.patient;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
Patient patient= (Patient) request.getSession().getAttribute("patient");
// RecodeDao recodeDao = new RecodeDao();
// DoctorDao doctorDao=new DoctorDao();
// String where="where pid=? order by ordertime desc";
// String where1="where pid=? order by ordertime desc";
// List<Recode> Recodelist = recodeDao.query(where, new Object[]{patient.getId()});
// List<Doctor> DoctorList= doctorDao.query(where,)
// // List<HashMap<String, String>> list = recodeDao.orderList(patient.getId());
// request.setAttribute("list",list);
RecodeDao recodeDao=new RecodeDao();
List<HashMap<String, String>> list = null;
try {
list = recodeDao.orderList1(patient.getId());
} catch (SQLException e) {
e.printStackTrace();
}
request.setAttribute("list",list);
request.getRequestDispatcher("orderList.jsp").forward(request,response);
}
}
package com.qst.filter;
@WebFilter("/*")
public class MyFilter implements Filter {
private ArrayList<String> patient;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
patient=new ArrayList<>();
patient.add("/order");
patient.add("/orderList");