Java实战宠物医院预约挂号系统的实现流程
作者:qq_1334611189
只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+JSP+Spring+SpringBoot+MyBatis+html+layui+maven+Mysql实现一个宠物医院预约挂号系统,大家可以在过程中查缺补漏,提升水平
一、项目简述
功能包括:
用户分为宠物,医生,管理员,宠物主人可进行注册选择医生挂号,选择日期,选择号源,医生可进行宠物接诊,管理员可对宠物,医生信息的维护等等功能。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
后端管理员控制层:
/** * 后端管理员控制层 */ @Controller @RequestMapping("/api") public class PatientController { private Integer size = 6;//每页显示数量 @Autowired private AdminService adminService; @Autowired private SectionService sectionService; @Autowired private BannersService bannersService; @Autowired private DoctorService doctorService; @Autowired private PatientService patientService; @Autowired private MessagesService messagesService; /** * 医生列表 */ @RequestMapping("/doctorList1") public String doctorList(Model model, Doctor doctor, @RequestParam(value="page",defaultValue="1")Integer page) { if(doctor == null) { doctor = new Doctor(); } PageInfo<Doctor> pageInfo = doctorService.selectDoctorList(doctor,page,size); List<Doctor> list = pageInfo.getList(); model.addAttribute("doctorList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("doctor",doctor); return "patient/doctorList"; } /** *登录 * @throws ParseException */ @RequestMapping(value = "/userLogin") @ResponseBody public Patient userLogin(@RequestBody Patient patient) throws ParseException { List<Patient> list = patientService.selectPatient(patient); if(patient != null && patient.getUsername() != null && patient.getPassword() != null) { if(list.size() > 0) { return list.get(0); } } return patient; } /** *登录 * @throws ParseException */ @RequestMapping(value = "/passwordSave") @ResponseBody public String passwordSave(@RequestBody Patient patient ) throws ParseException { if(patient != null && patient.getUsername() != null && patient.getPassword() != null) { Patient pa = new Patient(); pa.setUsername(patient.getUsername()); List<Patient> list = patientService.selectPatient(pa); if(list.size() > 0) { return "err"; } patientService.insertSelective(patient); return "ok"; } return "err"; } /** *登录验证 * @throws ParseException */ @RequestMapping(value = "/userLoginView") @ResponseBody public String userLoginView(HttpServletRequest request) throws ParseException { HttpSession session = request.getSession(); Patient patient =(Patient) session.getAttribute("USER"); System.out.println("*********登陆验证********"); System.out.println(patient); if(patient != null) { return "ok"; } return "err"; } /** *banner图 */ @RequestMapping(value = "/bannerList") @ResponseBody public String[] formAdd() { Banners banners = bannersService.selectByPrimaryKey(1); String[] split = null; if(banners != null && banners.getImg() != null) { split = banners.getImg().split(","); } return split; } /** *科室查询 */ @RequestMapping(value = "/sectionList") @ResponseBody public Map<String,List<Section>> sectionList() { Map<String,List<Section>> map = new HashMap<String,List<Section>>(); List<Section> sectionlist2 = null; Section se = new Section(); se.setType(1); List<Section> sectionlist = sectionService.selectByExample(se); if(sectionlist.size() > 0 ) { //科室详情 Section section = new Section(); section.setPid(sectionlist.get(0).getId()); section.setType(2); sectionlist2 = sectionService.selectByExample(section); } map.put("sectionlist",sectionlist); map.put("sectionlist2",sectionlist2); return map; } /** *科室下级查询 */ @RequestMapping(value = "/sectionXiaList") @ResponseBody public List<Section> sectionXiaList(Integer id) { Section se = new Section(); se.setPid(id); se.setType(2); List<Section> sectionlist = sectionService.selectByExample(se); return sectionlist; } /** *科室下级查询 */ @RequestMapping(value = "/patientPai") @ResponseBody public Integer patientPai(Integer id) { Patient pa = new Patient(); pa.setPid(id); PatientExample se = new PatientExample(); PatientExample.Criteria criteria = se.createCriteria(); if(pa != null){ if(pa.getPid() != null) { criteria.andPidEqualTo(pa.getPid()); } } List<Patient> selectByExample = patientService.selectByExample(se); if(selectByExample.size() >0 ) { List<Messages> lmlist = messagesService.selectByExample(null); int j = 0 ; for (Messages me : lmlist) { if(me.getUid() == id) { return j; } j++; } } return -1; } /** *查询科室 */ @RequestMapping(value = "/sectioNameList") @ResponseBody public List<Section> sectioNameList(String name) { Section se = new Section(); se.setName(name); se.setType(2); List<Section> sectionlist = sectionService.selectByExample(se); if(sectionlist.size() > 0) { //查询全部科室 se.setName(null); se.setPid(sectionlist.get(0).getPid()); se.setType(2); sectionlist = sectionService.selectByExample(se); } return sectionlist; } /** * 坐诊时间yuyue */ @RequestMapping("/doctorTimePage") public String doctorTimePage(Integer id,Model model) { if(id != null) { Doctor doctor = doctorService.selectByPrimaryKey(id); model.addAttribute("doctor",doctor); } return "patient/doctorTime"; } /** *医生列表查询 */ @RequestMapping(value = "/doctorList") @ResponseBody public List<Doctor> doctorList(Integer sid) { Doctor doctor = new Doctor(); doctor.setSid(sid); List<Doctor> selectDoctor = doctorService.selectDoctor(doctor); return selectDoctor; } /** *医生列表查询 */ @RequestMapping(value = "/doctorLike") @ResponseBody public List<Doctor> doctorLike(String name) { Doctor doctor = new Doctor(); doctor.setName(name); List<Doctor> selectDoctor = doctorService.selectDoctor(doctor); return selectDoctor; } /** *科室查询 */ @RequestMapping(value = "/doctorIdList") @ResponseBody public Section doctorIdList(Integer sid) { Section selectByPrimaryKey = sectionService.selectByPrimaryKey(sid); return selectByPrimaryKey; } /** *医生列表查询 * @throws ParseException */ @RequestMapping(value = "/doctortimeSelect") @ResponseBody public List<Doctor> doctortimeSelect(@RequestParam("datetimei")String datetimei,@RequestParam("id")Integer id) throws ParseException { Doctor doctor = new Doctor(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); doctor.setSid(id); doctor.setBegindate(simpleDateFormat.parse(datetimei)); List<Doctor> selectDoctor = doctorService.selectTime(doctor); return selectDoctor; } /** *医生列表查询 * @throws ParseException */ @RequestMapping(value = "/doctorGeRenList") @ResponseBody public Doctor doctorGeRenList(Integer id) throws ParseException { Doctor doctor = doctorService.selectByPrimaryKey(id); return doctor; } /** *时间格式转换 */ @RequestMapping(value = "/doctorYuyueTime") @ResponseBody public Map<String,String> doctorYuyueTime(Integer id) { Map<String,String> map = new HashMap<String,String>(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); Doctor doctor = doctorService.selectByPrimaryKey(id); map.put("begin",sdf.format(doctor.getBegintime())); map.put("end",sdf.format(doctor.getEndtime())); return map; } /** *时间格式转换 * @throws ParseException */ @RequestMapping(value = "/timeZhuan") @ResponseBody public String timeZhuan(String time) throws ParseException { Date parse = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(time != null) { parse = sdf.parse(time); } return sdf.format(parse); } /** *添加患者信息 */ @RequestMapping(value = "/loginByPatient") public String loginByPatient(@RequestBody Patient patient) { return "loginByPatient"; } /** *添加患者信息 */ @RequestMapping(value = "/patientSave") public String patientSave(Patient patient) { patientService.insertSelective(patient); return "loginByPatient"; } /** * 判断患者账号 */ @RequestMapping("/panzhanghao") @ResponseBody public Map<String,String> panzhanghao(Model model, String zhanghao) { Map<String, String> map = new HashMap<String, String>(); PatientExample se = new PatientExample(); PatientExample.Criteria criteria = se.createCriteria(); criteria.andUsernameEqualTo(zhanghao); List<Patient> selectByExample = patientService.selectByExample(se); if(selectByExample.size() > 0){ map.put("pan","err"); }else{ map.put("pan","ok"); } return map; } /** * 患者注册界面 */ @RequestMapping("/patientAddPage") public String patientAddPage(Model model) { return "patientRegister"; } /** *患者信息列表 */ @RequestMapping(value = "/patientList") @ResponseBody public List<Patient> patientList(Integer pid,HttpServletRequest request) { Patient pa = new Patient(); pa.setPid(pid); List<Patient> selectPatient = patientService.selectPatient(pa); return selectPatient; } /** *患者信息列表 */ @RequestMapping("/patientList2") public String messageList2(Model model, Patient patient, @RequestParam(value="page",defaultValue="1")Integer page,HttpServletRequest request) { if(patient == null) { patient = new Patient(); } HttpSession session = request.getSession(); Patient patient1 = (Patient) session.getAttribute("PATIENT"); if(patient1 == null){ return "redirect:/login/font/index"; } /* * PageInfo<Patient> pageInfo = * patientService.selectPatientList(patient,1,size); List<Patient> list = * pageInfo.getList(); List<Patient> list2 = new ArrayList<Patient>(); Messages * messages = new Messages(); boolean pan = false; SimpleDateFormat sdf = new * SimpleDateFormat("yyyy-MM-dd"); for (Patient pa : list) { if(pa.getPid() != * null && pa.getPid() != 0){ messages.setDid(dt.getId()); * messages.setUid(pa.getPid()); messages.setUsername(pa.getName()); * List<Messages> ml = messagesService.selectMessages(messages); if(ml.size() > * 0 ){ Date time = ml.get(0).getTime(); pa.setUsername(sdf.format(time)); * pa.setPhone(dt.getName()); pa.setIdentitys(dt.getSname()); list2.add(pa); } * * } } if(list2.size() <= 8) { pageInfo.setPages(1); } */ Messages messages = new Messages(); // messages.setTime(new Date()); messages.setType(1); messages.setUid(patient1.getPid()); PageInfo<Messages> pageInfo = messagesService.selectMessagesList(messages, 1, size); model.addAttribute("doctorList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("patient",patient); return "patient/patientList"; } /** *患者信息列表 */ @RequestMapping(value = "/patienDel") @ResponseBody public List<Patient> patienDel(Integer id) { if(id != null) { patientService.deleteByPrimaryKey(id); } List<Patient> selectByExample = patientService.selectByExample(null); return selectByExample; } /** *患者信息查看 */ @RequestMapping(value = "/patientUpatePage") @ResponseBody public Patient patientUpatePage(Integer id) { Patient patient = null; if(id != null) { patient = patientService.selectByPrimaryKey(id); } return patient; } /** *患者信息修改 */ @RequestMapping(value = "/patientUpdate") @ResponseBody public Patient patientUpdate(@RequestBody Patient patient) { patientService.updateByPrimaryKeySelective(patient); return null; } /** *预约信息 * @throws ParseException */ @RequestMapping(value = "/messagesSave") public String messagesSave(Messages patient,HttpServletRequest request) throws ParseException { HttpSession session = request.getSession(); Patient patient1 = (Patient) session.getAttribute("PATIENT"); Messages hui = null; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date shijian = simpleDateFormat.parse(patient.getSname()); patient.setTime(shijian); patient.setType(1);//待预约 Doctor doctor = doctorService.selectByPrimaryKey(patient.getDid());//医生 if(doctor != null) { patient.setDname(doctor.getName()); if(doctor.getYipeoples() == null) { doctor.setYipeoples(0); } doctor.setYipeoples(doctor.getYipeoples()+1); doctorService.updateByPrimaryKeySelective(doctor); } Section section = sectionService.selectByPrimaryKey(patient.getSid());//科室 if(section != null) { patient.setSname(section.getName()); } Patient pa = patientService.selectByPrimaryKey(patient1.getId()); //患者 if(pa != null) { patient.setUid(pa.getPid()); patient.setUserid(pa.getId()); patient.setPhone(pa.getPhone()); patient.setUsername(pa.getUsername()); patient.setAge(pa.getAge()); int countByExample = messagesService.countByExample(null); patient.setBianhao(countByExample+1); //排序 Messages message = new Messages(); // message.setUid(patient.getUid()); message.setTime(patient.getTime()); message.setDid(patient.getDid()); message.setType(-1); List<Messages> list = messagesService.selectMessages(message); if(list.size() <= 0) { patient.setPai(1); }else { patient.setPai(list.size()+1); } } messagesService.insertSelective(patient); if(patient.getId() != null) { hui = messagesService.selectByPrimaryKey(patient.getId()); Messages xin = new Messages(); xin.setDid(hui.getDid()); xin.setType(1); xin.setTime(shijian); List<Messages> selectMessagesPai = messagesService.selectMessagesPai(xin); hui.setAge(selectMessagesPai.size()); } return "redirect:/api/doctorList1"; } /** *取消预约 * @throws ParseException */ @RequestMapping(value = "/messagesQuXiao") public String messagesQuXiao(Integer id) throws ParseException { Messages ma = new Messages(); ma.setId(id); ma.setType(2); //取消预约 messagesService.updateByPrimaryKeySelective(ma); Messages mes = messagesService.selectByPrimaryKey(id); Messages messages = new Messages(); messages.setType(1); messages.setUid(mes.getUid()); messages.setTime(new Date()); List<Messages> list = messagesService.selectMessages(messages); return "redirect:/api/patientList2"; } /** *预约信息列表 * @throws ParseException */ @RequestMapping(value = "/messagesUidList") @ResponseBody public List<Messages> messagesUidList(@RequestBody Messages message) throws ParseException { List<Messages> list = null; if(message.getType() != null && message.getType() == 1) { message.setTime(new Date()); list = messagesService.selectMessagesPai(message); }else { list = messagesService.selectMessagesTWO(message); } Messages me = new Messages(); me.setType(1); me.setTime(new Date()); for (int i = 0; i < list.size(); i++) { me.setDid(list.get(i).getDid()); List<Messages> lin = messagesService.selectMessagesPai(me); list.get(i).setAge(lin.size()); } return list; } /** *预约信息列表 * @throws ParseException */ @RequestMapping(value = "/messagesList") @ResponseBody public List<Messages> messagesList(@RequestParam("type")Integer type,@RequestParam("uid")Integer uid) throws ParseException { Messages message = new Messages(); List<Messages> list = null; message.setType(type); message.setUid(uid); if(type != null && type == 1) { message.setTime(new Date()); list = messagesService.selectMessagesPai(message); Messages me = new Messages(); me.setType(1); me.setTime(new Date()); for (int i = 0; i < list.size(); i++) { me.setDid(list.get(i).getDid()); List<Messages> lin = messagesService.selectMessagesPai(me); list.get(i).setAge(lin.size()); } }else { list = messagesService.selectMessagesTWO(message); } return list; } /** *预约信息列表 * @throws ParseException */ @RequestMapping(value = "/messagesLists") @ResponseBody public List<Messages> messagesLists(Integer uid) throws ParseException { Messages message = new Messages(); message.setUid(uid); List<Messages> list = messagesService.selectMessagesTWO(message); Messages me = new Messages(); me.setType(1); me.setTime(new Date()); for (int i = 0; i < list.size(); i++) { if(list.get(i).getType() == 1) { me.setDid(list.get(i).getDid()); List<Messages> lin = messagesService.selectMessagesPai(me); list.get(i).setAge(lin.size()); } } return list; } /** * @throws ParseException */ @RequestMapping(value = "/doctortouList") @ResponseBody public List<Doctor> doctortouList() { PageInfo<Doctor> pageInfo = doctorService.selectDoctorList(null,1,4); return pageInfo.getList(); } /** * @throws ParseException */ @RequestMapping(value = "/datatimeGua") @ResponseBody public Integer datatimeGua(@RequestParam("datetime")String datetime,@RequestParam("did")Integer did) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date parse = sdf.parse(datetime); Messages message = new Messages(); message.setTime(parse); message.setDid(did); message.setType(-1); List<Messages> list = messagesService.selectMessages(message); return list.size(); } }
医生端控制层:
/** * 医生端 */ @Controller @RequestMapping("/doctor") public class DoctorController { @Autowired private AdminService adminService; @Autowired private DoctorService doctorService; @Autowired private SectionService sectionService; @Autowired private PatientService patientService; @Autowired private MessagesService messagesService; private Integer size = 8;//每页显示数量 /** * 修改信息 * @param model * @return */ @RequestMapping("/tiaomessagelist") public String tiaomessagelist(@RequestBody List<Messages> mlist,Model model) { System.out.println(mlist.size()); model.addAttribute("mlist",mlist); return "doctor/messageList"; } @RequestMapping("/index") public String index(Model model,HttpServletRequest request) { HttpSession session = request.getSession(); Doctor dt = (Doctor) session.getAttribute("DOCTOR"); if(dt == null) { return "redirect:/login/index"; } int doctor = doctorService.countByExample(null); //医生总数 int section = sectionService.count(); //科室总数 //患者总数 int patient = 0; List<Patient> selectByExample = patientService.selectByExample(null); Messages mess = new Messages(); for (Patient pa : selectByExample) { if(pa.getName() != null) { mess.setDid(dt.getId()); mess.setUsername(pa.getName()); List<Messages> selectMessages = messagesService.selectMessages(mess); if(selectMessages.size() > 0 ) { patient++; } } } //预约总数 MessagesExample me = new MessagesExample(); MessagesExample.Criteria mecriteria = me.createCriteria(); mecriteria.andDidEqualTo(dt.getId()); int messages = messagesService.countByExample(me); model.addAttribute("doctor",doctor); model.addAttribute("section",section); model.addAttribute("patient",patient); model.addAttribute("messages",messages); PageInfo<Doctor> pageInfo = doctorService.selectDoctorList(null,1,4); if(pageInfo.getList() != null && pageInfo.getList().size() >0 ) { List<Doctor> list = pageInfo.getList(); StringBuffer sb = new StringBuffer(); StringBuffer shu = new StringBuffer(); int v = list.size()-1; for(int i=0;i<list.size();i++) { if(v==i) { sb.append(list.get(i).getName()); shu.append(list.get(i).getYipeoples()); }else { sb.append(list.get(i).getName()+","); shu.append(list.get(i).getYipeoples()+","); } } model.addAttribute("name",sb.toString()); model.addAttribute("nu",shu.toString()); } return "doctor/index"; } /** * 修改信息 * @param model * @return */ @RequestMapping("/doctorUptatePage") public String doctorUptatePage(Model model,HttpServletRequest request) { HttpSession session = request.getSession(); Doctor dt = (Doctor) session.getAttribute("DOCTOR"); if(dt != null) { Doctor doctor = doctorService.selectByPrimaryKey(dt.getId()); List<Section> sectionlist2 = null; model.addAttribute("doctor",doctor); //科室 Section se = new Section(); se.setType(1); List<Section> sectionlist = sectionService.selectByExample(se); model.addAttribute("sectionlist", sectionlist); //科室详情 Section se1 = sectionService.selectByPrimaryKey(doctor.getSid()); if(se1 != null) { Section section = new Section(); section.setPid(se1.getPid()); section.setType(2); sectionlist2 = sectionService.selectByExample(section); model.addAttribute("sectionlist2", sectionlist2); model.addAttribute("se1", se1); } } return "doctor/doctorUptate"; } /** * 修改医生信息 */ @RequestMapping("/messageTime") public String messageTime(String name,Model model,HttpServletRequest request) { HttpSession session = request.getSession(); Doctor dt = (Doctor) session.getAttribute("DOCTOR"); if(name != null) { Messages mess = new Messages(); mess.setDid(dt.getId()); mess.setUsername(name); List<Messages> selectMessages = messagesService.selectMessagesTWO(mess); model.addAttribute("messagesList", selectMessages); } return "doctor/messageTime"; } /** * 修改医生信息 */ @RequestMapping("/admindoctorUptate") public String adminUptatePassword(Doctor doctor,Model model) { if(doctor != null && doctor.getId() != null) { if(doctor.getSid() != null) { Section section = sectionService.selectByPrimaryKey(doctor.getSid()); doctor.setSid(section.getId()); doctor.setSname(section.getName()); } doctorService.updateByPrimaryKeySelective(doctor); } return "redirect:/doctor/index"; } /** * 预约信息列表 */ @RequestMapping("/messageList") public String doctorList(Model model, Messages messages, @RequestParam(value="page",defaultValue="1")Integer page,Integer type,HttpServletRequest request) { if(messages == null) { messages = new Messages(); } HttpSession session = request.getSession(); Doctor dt = (Doctor) session.getAttribute("DOCTOR"); if(dt != null){ messages.setDid(dt.getId()); }else{ return "redirect:/login/index"; } messages.setType(type); //底层数据 PageInfo<Messages> pageInfo = messagesService.selectMessagesList(messages,page,size); //工作区数据 messages.setTime(new Date()); List<Messages> list = messagesService.selectMessagesPai(messages); model.addAttribute("mlist",list); model.addAttribute("messagesList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("messages",messages); model.addAttribute("type",type); return "doctor/messageList"; } /** *医生列表查询 */ @RequestMapping(value = "/messageAjax") @ResponseBody public List<Messages> doctorList(HttpServletRequest request) { Messages messages = new Messages(); HttpSession session = request.getSession(); Doctor dt = (Doctor) session.getAttribute("DOCTOR"); messages.setDid(dt.getId()); messages.setType(1); messages.setTime(new Date()); PageInfo<Messages> pageInfo2 = messagesService.selectMessagesListDemo(messages,1,99); return pageInfo2.getList(); } /** *医生列表查询 */ @RequestMapping(value = "/messagesQundingUptate") @ResponseBody public String messagesQundingUptate(Integer id) { if(id != null) { Messages messages = new Messages(); messages.setId(id); messages.setType(3); //3表示预约成功 messagesService.updateByPrimaryKeySelective(messages); Messages selectByPrimaryKey = messagesService.selectByPrimaryKey(id); Messages mes = new Messages(); mes.setType(1); mes.setTime(new Date()); mes.setDid(selectByPrimaryKey.getDid()); List<Messages> list = messagesService.selectMessagesPai(mes); for (int i = 0; i < list.size(); i++) { list.get(i).setPai(i+1); messagesService.updateByPrimaryKeySelective(list.get(i)); } } return "ok"; } /** *患者信息列表 */ @RequestMapping("/patientList") public String messageList(Model model, Patient patient, @RequestParam(value="page",defaultValue="1")Integer page,HttpServletRequest request) { if(patient == null) { patient = new Patient(); } HttpSession session = request.getSession(); Doctor dt = (Doctor) session.getAttribute("DOCTOR"); if(dt == null){ return "redirect:/login/index"; } /* * PageInfo<Patient> pageInfo = * patientService.selectPatientList(patient,1,size); List<Patient> list = * pageInfo.getList(); List<Patient> list2 = new ArrayList<Patient>(); Messages * messages = new Messages(); boolean pan = false; SimpleDateFormat sdf = new * SimpleDateFormat("yyyy-MM-dd"); for (Patient pa : list) { if(pa.getPid() != * null && pa.getPid() != 0){ messages.setDid(dt.getId()); * messages.setUid(pa.getPid()); messages.setUsername(pa.getName()); * List<Messages> ml = messagesService.selectMessages(messages); if(ml.size() > * 0 ){ Date time = ml.get(0).getTime(); pa.setUsername(sdf.format(time)); * pa.setPhone(dt.getName()); pa.setIdentitys(dt.getSname()); list2.add(pa); } * * } } if(list2.size() <= 8) { pageInfo.setPages(1); } */ Messages messages = new Messages(); // messages.setTime(new Date()); messages.setType(1); messages.setDid(dt.getId()); PageInfo<Messages> pageInfo = messagesService.selectMessagesList(messages, 1, size); model.addAttribute("doctorList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("patient",patient); return "doctor/patientList"; } /** *预约信息列表 * @throws ParseException */ @RequestMapping(value = "/tiaozhuanList") @ResponseBody public String messagesList(@RequestParam("xiao")Integer xiao,@RequestParam("da")Integer da) { Messages message = new Messages(); if(xiao != null & da != null) { Messages mexiao = messagesService.selectByPrimaryKey(xiao); Integer px = mexiao.getPai(); Messages meda = messagesService.selectByPrimaryKey(da); mexiao.setPai(meda.getPai()); meda.setPai(px); messagesService.updateByPrimaryKeySelective(mexiao); messagesService.updateByPrimaryKeySelective(meda); } return null; } /** * 确定预约 */ @RequestMapping("/messagesUptate") public String messagesUptate(Integer id) { if(id != null) { Messages messages = new Messages(); messages.setId(id); messages.setType(3); //3表示预约成功 messagesService.updateByPrimaryKeySelective(messages); } return "redirect:/doctor/messageList?type=1"; } /** * 取消 */ @RequestMapping("/messagesQuXiao") public String messagesQuXiao(Integer id) { if(id != null) { Messages messages = new Messages(); messages.setId(id); messages.setType(2); //2取消预约 messagesService.updateByPrimaryKeySelective(messages); } return "redirect:/doctor/messageList?type=1"; } /** * 退号 */ @RequestMapping("/messagesTui") public String messagesTui(Integer id) { if(id != null) { Messages messages = new Messages(); messages.setId(id); messages.setType(4); //4退号失败 messagesService.updateByPrimaryKeySelective(messages); } return "redirect:/doctor/messageList?type=3"; } }
后端管理员控制层:
/** * 后端管理员控制层 */ @Controller @RequestMapping("/admin") public class AdminController { @Autowired private AdminService adminService; @Autowired private SectionService sectionService; @Autowired private BannersService bannersService; @Autowired private DoctorService doctorService; @Autowired private PatientService patientService; @Autowired private MessagesService messagesService; private Integer size = 6;//每页显示数量 @Value("${fileUrl}") //在配置文件中获取文件的保存路径 private String filePath; /** * 导入 * @param file * @param response * @throws IOException */ @RequestMapping("/excelInput") public String excelInput(MultipartFile file,HttpServletResponse response) throws IOException { String sb = file.getOriginalFilename(); List<String[]> jieExcel = ExcelInput.jieExcel(file.getInputStream(), sb.substring(sb.indexOf(".")+1)); for (String[] strings : jieExcel) { System.out.println(Arrays.toString(strings)); } return "redirect:/admin/index"; } /** * 导出 * * @param file * @param response */ @RequestMapping("/xiazai") public void excelString(HttpServletRequest request,HttpServletResponse response) { try { response.setCharacterEncoding("utf-8"); //content-type类型是告诉页面要响应内容的类型,以及字符编码,页面要以什么方式打开 response.setContentType("application/force-download");// 设置强制下载不打开 //Content-Disposition是MIMI协议的扩展,浏览器以什么方式处理wenjian response.setHeader("Content-Disposition", "attachment; fileName=exportFile.xlsx"); String[] title = new String[]{"姓名","科室id","科室","日期"}; List<Doctor> list = doctorService.selectByExample(null); Workbook wo = ExcelUtils.getExcel("xlsx",title,list); wo.write(response.getOutputStream()); //Files.copy(file, response.getOutputStream()); } catch (IOException e) { System.out.println("发生异常"); e.printStackTrace(); } } @RequestMapping("/index") public String index(Model model) { int doctor = doctorService.countByExample(null); //医生总数 int section = sectionService.countByExample(null); //科室总数 int patient = patientService.countByExample(null); //患者总数 int messages = messagesService.countByExample(null); //预约总数 model.addAttribute("doctor",doctor); model.addAttribute("section",section); model.addAttribute("patient",patient); model.addAttribute("messages",messages); PageInfo<Doctor> pageInfo = doctorService.selectDoctorList(null,1,4); if(pageInfo.getList() != null && pageInfo.getList().size() >0 ) { List<Doctor> list = pageInfo.getList(); StringBuffer sb = new StringBuffer(); StringBuffer shu = new StringBuffer(); int v = list.size()-1; for(int i=0;i<list.size();i++) { if(v==i) { sb.append(list.get(i).getName()); shu.append(list.get(i).getYipeoples()); }else { sb.append(list.get(i).getName()+","); shu.append(list.get(i).getYipeoples()+","); } } model.addAttribute("name",sb.toString()); model.addAttribute("nu",shu.toString()); } return "admin/index"; } /** * 管理员修改密码界面 * @return */ @RequestMapping("/adminUptatePage") public String adminUptatePage(Model model) { return "admin/adminUptate"; } /** * 修改密码 */ @RequestMapping("/adminUptatePassword") public String adminUptatePassword(Model model,Admin admin,HttpServletRequest request) { HttpSession session = request.getSession(); Admin ad = (Admin) session.getAttribute("ADMIN"); if(ad != null && admin.getPassword() != null){ admin.setId(ad.getId()); adminService.updateByPrimaryKeySelective(admin); } return "redirect:/admin/index"; } /** * 坐诊时间设置界面 */ @RequestMapping("/doctorTimePage") public String doctorTimePage(Integer id,Model model) { if(id != null) { Doctor doctor = doctorService.selectByPrimaryKey(id); model.addAttribute("doctor",doctor); } return "admin/doctorTime"; } /** * 坐诊时间设置界面 * @throws ParseException */ @RequestMapping("/doctorTimeUpdate") public String doctorTimeUpdate(Integer id,Model model,String begindate,String enddate,String begintime,String endtime) throws ParseException { if(id != null) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("HH:mm"); Doctor doctor = new Doctor(); doctor.setId(id); doctor.setBegindate(simpleDateFormat.parse(begindate)); doctor.setEnddate(simpleDateFormat.parse(enddate)); doctor.setBegintime(simpleDateFormat2.parse(begintime)); doctor.setEndtime(simpleDateFormat2.parse(endtime)); doctorService.updateByPrimaryKeySelective(doctor); } return "redirect:/admin/doctorList"; } /** * 修改医生信息 */ @RequestMapping("/admindoctorUptate") public String adminUptatePassword(Doctor doctor,Model model) { if(doctor != null && doctor.getId() != null) { if(doctor.getSid() != null) { Section section = sectionService.selectByPrimaryKey(doctor.getSid()); doctor.setSid(section.getId()); doctor.setSname(section.getName()); } doctorService.updateByPrimaryKeySelective(doctor); } return "redirect:/admin/doctorList"; } /** * 删除医生信息 */ @RequestMapping("/doctorDelect") public String doctorDelect(Integer id,Model model) { if(id != null) { doctorService.deleteByPrimaryKey(id); } return "redirect:/admin/doctorList"; } /** * 医生注册界面 */ @RequestMapping("/doctorAddPage") public String doctorAddPage(Model model) { List<Section> sectionlist2 = null; Section se = new Section(); se.setType(1); List<Section> sectionlist = sectionService.selectByExample(se); if(sectionlist.size() > 0 ) { //科室详情 Section section = new Section(); section.setPid(sectionlist.get(0).getId()); section.setType(2); sectionlist2 = sectionService.selectByExample(section); } model.addAttribute("sectionlist", sectionlist); model.addAttribute("sectionlist2", sectionlist2); return "admin/doctorAdd"; } @RequestMapping("/admindoctorAdd") public String admindoctorAdd(Doctor doctor,Model model) { if(doctor.getId() != null){ if(doctor.getSid() != null) { Section selectByPrimaryKey = sectionService.selectByPrimaryKey(doctor.getSid()); doctor.setSname(selectByPrimaryKey.getName()); } doctorService.updateByPrimaryKeySelective(doctor); } return "redirect:/admin/doctorList"; } /** * 医生列表 */ @RequestMapping("/doctorList") public String doctorList(Model model, Doctor doctor, @RequestParam(value="page",defaultValue="1")Integer page) { if(doctor == null) { doctor = new Doctor(); } PageInfo<Doctor> pageInfo = doctorService.selectDoctorList(doctor,page,size); List<Doctor> list = pageInfo.getList(); model.addAttribute("doctorList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("doctor",doctor); return "admin/doctorList"; } /** * 修改医生信息界面 * @return */ @RequestMapping("/doctorUptatePage") public String doctorUptatePage(Model model,Integer id) { if(id != null) { Doctor doctor = doctorService.selectByPrimaryKey(id); List<Section> sectionlist2 = null; model.addAttribute("doctor",doctor); //科室 Section se = new Section(); se.setType(1); List<Section> sectionlist = sectionService.selectByExample(se); model.addAttribute("sectionlist", sectionlist); //科室详情 Section se1 = sectionService.selectByPrimaryKey(doctor.getSid()); Section section = new Section(); if(se1 != null) { section.setPid(se1.getPid()); section.setType(2); sectionlist2 = sectionService.selectByExample(section); }else { if(sectionlist.size() >0 ) { section.setPid(sectionlist.get(0).getId()); section.setType(2); sectionlist2 = sectionService.selectByExample(section); } se1 = new Section(); } model.addAttribute("sectionlist2", sectionlist2); model.addAttribute("se1", se1); } return "admin/doctorUptate"; } /** * 科室列表 */ @RequestMapping("/sectionList") public String sectionList(Model model, Section section, @RequestParam(value="page",defaultValue="1")Integer page) { if(section == null) { section = new Section(); } section.setType(1);//1 科室 PageInfo<Section> pageInfo = sectionService.selectSectionListt(section,page,size); List<Section> list = pageInfo.getList(); List<Section> list2 = new ArrayList<Section>(); Section cs = new Section(); for (Section se : list) { cs.setPid(se.getId()); List<Section> selectByExample = sectionService.selectByExample(cs); se.setSlist(selectByExample); list2.add(se); } model.addAttribute("sectionList",list2); model.addAttribute("pageInfo",pageInfo); model.addAttribute("section",section); return "admin/sectionList"; } /** * 科室详情下级列表 */ @RequestMapping("/sectionBelowList") public String sectionBelowList(Model model, Section section, Integer id) { if(section == null) { section = new Section(); } section.setType(2);// 2 科室详情 section.setPid(id); Section se = sectionService.selectByPrimaryKey(id); List<Section> list = sectionService.selectByExample(section); model.addAttribute("sectionList",list); model.addAttribute("section",section); model.addAttribute("se",se); return "admin/sectionBelow"; } /** * 跳转添加科室界面 */ @RequestMapping("/sectionAddPage") public String zuopinList() { return "admin/sectionAdd"; } /** * 跳转添加科室下级界面 */ @RequestMapping("/sectionAddBelowPage") public String zuopinList(Model model,Integer id) { if(id != null) { Section se = sectionService.selectByPrimaryKey(id); model.addAttribute("se",se); } return "admin/sectionAddBelow"; } /** * 跳转修改科室下级界面 */ @RequestMapping("/sectionBelowUptatePage") public String sectionBelowUptatePage(Model model,Integer id) { if(id != null) { Section se = sectionService.selectByPrimaryKey(id); Section section = sectionService.selectByPrimaryKey(se.getPid()); model.addAttribute("se",se); model.addAttribute("sname",section.getName()); } return "admin/sectionBelowUptate"; } /** * 跳转修改科室界面 */ @RequestMapping("/sectionUptatePage") public String sectionUptatePage(Model model,Integer id) { if(id != null) { Section se = sectionService.selectByPrimaryKey(id); model.addAttribute("se",se); } return "admin/sectionUptate"; } /** * 添加科室 */ @RequestMapping("/sectionAdd") @ResponseBody public Map<String,String> sectionAdd(String name) { Map<String, String> map = new HashMap<String, String>(); if(name != null ){ Section section = new Section(); section.setName(name); section.setType(1); sectionService.insertSelective(section); map.put("pan","ok"); }else{ map.put("pan","err"); } return map; } /** * 添加科室下级 */ @RequestMapping("/sectionAddBelow") public String sectionAddBelow(Section section) { section.setType(2); sectionService.insertSelective(section); //"redirect:/admin/sectionBelowList?id="+section.getPid(); return "redirect:/admin/sectionList"; } /** * 修改科室 */ @RequestMapping("/sectionUptate") public String sectionUptate(Section section) { sectionService.updateByPrimaryKeySelective(section); return "redirect:/admin/sectionList"; } /** * 修改科室下级 */ @RequestMapping("/sectionBelowUptate") public String sectionBelowUptate(Section section) { sectionService.updateByPrimaryKeySelective(section); return "redirect:/admin/sectionBelowList?id="+section.getPid(); } /** * 删除科室下级 */ @RequestMapping("/sectionBelowDelect") public String sectionBelowUptate(Integer id) { Section section = sectionService.selectByPrimaryKey(id); Integer pid = section.getPid(); sectionService.deleteByPrimaryKey(section.getId()); return "redirect:/admin/sectionBelowList?id="+pid; } /** * 删除科室 */ @RequestMapping("/sectionDelect") public String sectionDelect(Integer id) { Section section = new Section(); section.setPid(id); section.setType(2); List<Section> list = sectionService.selectByExample(section); sectionService.deleteByPrimaryKey(id); for (Section section2 : list) { sectionService.deleteByPrimaryKey(section2.getId()); } return "redirect:/admin/sectionList"; } @RequestMapping("/bannersPageUpdate") public String bannersAdd(Model model,Integer id) { Banners banners = null; String[] imgnames = null; if(id == 1){ banners = bannersService.selectByPrimaryKey(1); if(banners == null){ banners = new Banners(); banners.setId(1); bannersService.insertSelective(banners); } } if(banners.getImg() != null && !"".equals(banners.getImg())){ imgnames = banners.getImg().split(","); } model.addAttribute("imgnames",imgnames); model.addAttribute("banners",banners); return "admin/bannersUpdate"; } /** *轮播图片删除 */ @RequestMapping(value ="/bannersDel") @ResponseBody public Map<String, Object> bannersDel(Integer id,String src) throws IOException{ Map<String, Object> map = new HashMap<String, Object>(); StringBuffer sb = new StringBuffer(); if(id != null && src != null){ Banners banner = bannersService.selectByPrimaryKey(id); if(banner.getImg() != null){ String[] split = banner.getImg().split(","); for(int i = 0; i<split.length;i++){ if(src.equals(split[i])){ //String fp= filePath.substring(filePath.indexOf("/")+1);//文件的真实路径 String path = src.substring(src.indexOf("s") + 2); //获取文件名 File file = new File(filePath +path); if(file.exists()){ file.delete(); map.put("massage","删除成功"); }else{ map.put("massage","删除失败"); } }else{ sb.append(split[i]+","); } } } } Banners banners = new Banners(); banners.setId(id); banners.setImg(sb.toString()); bannersService.updateByPrimaryKeySelective(banners); return map; } /** *banner图片上传 */ @RequestMapping(value ="/bannersAdd") @ResponseBody public Map<String, Object> bannersAdd(@RequestParam("mf")MultipartFile[] mufile,@RequestParam("id")Integer id) throws IOException{ Map<String, Object> map = new HashMap<String, Object>(); StringBuffer path = new StringBuffer(); //图片上传并保存上传的路径 for (int i = 0; i < mufile.length; i++) { try { String random = StringRandom.getRandom(); String filename = mufile[i].getOriginalFilename(); //随机字符+原图片名用作新的图片名 filename = random+filename; //文件保存路径 D:/Java/hospital File file = new File(filePath+filename); //判断父级文件是否存在 if (!file.getParentFile().exists()) { file.getParentFile().mkdir(); } path.append("/files/"+filename+","); mufile[i].transferTo(file); } catch (IllegalStateException | IOException e) { e.printStackTrace(); } } Banners banners = new Banners(); if(id != null){ //修改图片路径 Banners sh = bannersService.selectByPrimaryKey(id); banners.setId(id); if(sh.getImg() != null ){ banners.setImg(sh.getImg()+path.toString()); }else{ banners.setImg(path.toString()); } bannersService.updateByPrimaryKeySelective(banners); } return map; } /* *//** * 管理员-非遗讲堂 *//* @RequestMapping(value="/feiyi_videoList") public String feiyi_VideoList(Model model, Video video, @RequestParam(value="page",defaultValue="1")Integer page) { PageInfo<Video> pageInfo = videoService.selectPageList(video,page,size); model.addAttribute("videoList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); if(video.getTitle() != null){ model.addAttribute("title",video.getTitle()); } return "behind/admin/feiyi_videoList"; } *//** * 非遗讲堂-删除 *//* @RequestMapping("/videoDelete") public String videoDelete(Model model,Integer id) { if(id != null){ //String fp= filePath.substring(filePath.indexOf("/")+1);//文件的真实路径 Video video = videoService.selectByPrimaryKey(id); String urlsrls = video.getUrls(); String name = urlsrls.substring(urlsrls.indexOf("s") + 2); //获取文件名 File file = new File(filePath +name); if(file.exists()){ file.delete(); } videoService.deleteByPrimaryKey(id); } return "redirect:/admin/feiyi_videoList"; } *//** * 管理员-人物列表 *//* @RequestMapping("/personList") public String personList(Model model,Person person,@RequestParam(value="page",defaultValue="1")Integer page,String sou) { PageInfo<Person> pageInfo = personService.selectPageList(person,page,size); List<Person> list = pageInfo.getList(); List<Person> list2 = new ArrayList<Person>(); //默认显示第一张图片 for(int i =0; i<list.size();i++){ Person sh = list.get(i); String[] img = sh.getImg().split(","); if(img.length > 0){ sh.setImg(img[0]); list.set(i,sh); } } if(sou != null && !"".equals(sou)){ char sz = sou.charAt(0); //判断是否是大写 if(Character.isUpperCase(sz)){ sz = StringRandom.toLower(sz); //大写转小写 } for(int i =0; i<list.size();i++){ Person sh = list.get(i); if(sh.getName() != null){ char names = StringRandom.getPinYinHeadChar(sh.getName()); //名字的首字母 if(names == sz){ list2.add(sh); } } } model.addAttribute("personList",list2); }else{ model.addAttribute("personList",list); } model.addAttribute("sou",sou); model.addAttribute("pageInfo",pageInfo); model.addAttribute("person",person); return "behind/admin/feiyi_personList"; } *//** * 人物删除 * @param model * @return *//* @RequestMapping("/personDelete") public String personDelete(Model model,Integer id) { if(id != null){ Person person = personService.selectByPrimaryKey(id); //删除人物的图片 //String fp= filePath.substring(filePath.indexOf("/")+1);//文件的真实路径 String name = person.getImg().substring(person.getImg().indexOf("s") + 2); //获取文件名 File file = new File(filePath +name); if(file.exists()){ file.delete(); } personService.deleteByPrimaryKey(id); } return "redirect:/admin/personList"; } *//** * 管理员 *//* @RequestMapping("/feiyisList") public String zuopinList(Model model,Feiyis feiyis,@RequestParam(value="page",defaultValue="1")Integer page,String sou) { feiyis.setState(0);//0为正常 1是管理员下架的 PageInfo<Feiyis> pageInfo = feiyisService.selectFeiyis(feiyis,page,size); model.addAttribute("feiyiList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("feiyis",feiyis); return "behind/admin/feiyisList"; } *//** * 非遗视界删除 * @param model * @return *//* @RequestMapping("/feiyisDelete") public String feiyisDelete(Model model,Integer id,Integer type) { if (id != null) { Feiyis feiyis = feiyisService.selectByPrimaryKey(id); //删除图片 // String fp= filePath.substring(filePath.indexOf("/")+1);//文件的真实路径 if (feiyis.getImg() != null) { String name = feiyis.getImg().substring(feiyis.getImg().indexOf("s") + 2);//获取文件 File file = new File(filePath + name); if (file.exists()) { file.delete(); } } feiyisService.deleteByPrimaryKey(id); } return "redirect:/admin/feiyisList?type=" + type; } *//** * 后台主页 * @return *//* @RequestMapping("/index") public String index(Model model) { //图表信息 int zixun = zixunService.countByExample(null); int video = videoService.countByExample(null); int person = personService.countByExample(null); int zuocount = feiyisService.countByExamples(1); int huocount = feiyisService.countByExamples(2); int zoucount = feiyisService.countByExamples(3); int facount = feiyisService.countByExamples(4); model.addAttribute("zixun",zixun); model.addAttribute("video",video); model.addAttribute("person",person); model.addAttribute("zuocount",zuocount); model.addAttribute("huocount",huocount); model.addAttribute("zoucount",zoucount); model.addAttribute("facount",facount); //总评论数 int commentcount = commentService.countByExample(null); //用户数 int usercount = usertService.countByExample(null); //商品数量 int shopcount = shopService.countByExample(null); //资讯数量 int zixuncount = zixunService.countByExample(null); model.addAttribute("commentcount",commentcount); model.addAttribute("usercount",usercount); model.addAttribute("shopcount",shopcount); model.addAttribute("zixuncount",zixuncount); return "behind/admin/index"; } *//** * 资讯列表 * @param model * @return *//* @RequestMapping("/zixunList") public String zixunList(Model model, Zixun zixun, @RequestParam(value="page",defaultValue="1")Integer page, String sou) { if(zixun == null){ zixun = new Zixun(); } zixun.setState(0);// 0 是正常 1被下架的 PageInfo<Zixun> pageInfo = zixunService.selectZixunList(zixun,page,size); model.addAttribute("zixunList",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); model.addAttribute("zixun",zixun); return "behind/admin/zixunList"; } *//** * 资讯下架 * @param model * @return *//* @RequestMapping("/zixunUptate") public String zixunUptate(Model model,Integer id) { if(id != null){ Zixun zixun = new Zixun(); zixun.setId(id); zixun.setState(1); //1是下架 zixunService.updateByPrimaryKeySelective(zixun); } return "redirect:/admin/zixunList"; } *//** * 管理评论 * @return *//* @RequestMapping("/commentList") public String commentList(Model model,Integer type) { if(type != null){ Comment comment = new Comment(); comment.setType(type);//商品评论 comment.setReport(1);//1为举报的 List<Comment> commentsList = commentService.selectComment(comment); model.addAttribute("commentsList",commentsList); } return "behind/admin/commentList"; } *//** * 评论删除 * @return *//* @RequestMapping("/commentDel") public String commentDel(Model model,Integer id) { if(id != null){ commentService.deleteByPrimaryKey(id); } return "redirect:/admin/commentList"; } *//** *审核 * @return *//* @RequestMapping("/merchantList") public String merchantList(Model model,Integer id) { Merchant merchant = new Merchant(); merchant.setState(0); List<Merchant> merchantlist = merchantService.selectMerchant(merchant); model.addAttribute("merchantlist",merchantlist); return "behind/admin/merchantList"; } *//** *通过 * @return *//* @RequestMapping("/merchanUpate") public String merchanUpate(Model model,Integer id) { Merchant merchant = new Merchant(); if(id != null){ merchant.setId(id); merchant.setState(1); merchantService.updateByPrimaryKeySelective(merchant); } return "redirect:/admin/merchantList"; } *//** *未通过 * @return *//* @RequestMapping("/merchanDel") public String merchanDel(Model model,Integer id) { if(id != null){ merchantService.deleteByPrimaryKey(id); } return "redirect:/admin/merchantList"; } *//** *用户列表 * @return *//* @RequestMapping("/userList") public String userList(Model model) { List<User> userlist = usertService.selectFull(null); model.addAttribute("userlist",userlist); return "behind/admin/userList"; } *//** *用户删除 * @return *//* @RequestMapping("/userDel") public String userDel(Model model,Integer id) { if(id != null){ usertService.deleteByPrimaryKey(id); } return "redirect:/admin/userList"; } *//** *修改密码 * @return *//* @RequestMapping("/adminUptatePassword") public String adminUptatePassword(Model model,Admin admin,HttpServletRequest request) { HttpSession session = request.getSession(); Admin ad = (Admin) session.getAttribute("ADMIN"); if(ad != null && admin.getPassword() != null){ admin.setId(ad.getId()); adminService.updateByPrimaryKeySelective(admin); } return "redirect:/admin/index"; } */ }
到此这篇关于Java实战宠物医院预约挂号系统的实现流程的文章就介绍到这了,更多相关Java 宠物医院预约挂号系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!