首页 分享 Java 宠物医院预约挂号系统的实现流程

Java 宠物医院预约挂号系统的实现流程

来源:萌宠菠菠乐园 时间:2024-09-26 21:06

一、项目简述

功能包括:

用户分为宠物,医生,管理员,宠物主人可进行注册选择医生挂号,选择日期,选择号源,医生可进行宠物接诊,管理员可对宠物,医生信息的维护等等功能。

二、项目运行

环境配置:

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) { Messagesmessages = 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 宠物医院预约挂号系统内容请搜索编程宝库以前的文章,希望以后支持编程宝库!

下一节:Java 图形化界面编程Java编程技术

 1.内容概述 先谈谈个人对图形化界面编程的认识,图形化界面编程可以直接的看到每一步操作带来的效果,相对于传统编程盯着黑框框学起来是非常非常有意思的。 再谈谈最后的效果,界面是由窗 ...

相关知识

基于Java的宠物医院预约挂号系统的设计与实现论文
ssm725基于Java的宠物医院预约挂号系统的设计与实现+vue
ssm725基于Java的宠物医院预约挂号系统的设计与实现
Java 宠物医院预约挂号系统的实现流程
java基于ssm+vue+elementui的宠物医院挂号管理系统
基于java+ssm+vue的宠物医院预约挂号系统
java ssm爱宠宠物医院挂号预约系统管理系统设计与实现
基于ssm+vue宠物医院预约管理系统(开题报告+程序+论文+java)
案例12:Java宠物医院预约管理系统设计与实现开题报告
分享一个基于node.js的宠物医院预约挂号系统vue宠物医院管理系统(源码、调试、LW、开题、PPT)

网址: Java 宠物医院预约挂号系统的实现流程 https://www.mcbbbk.com/newsview261314.html

所属分类:萌宠日常
上一篇: 互联网宠物医院平台系统开发
下一篇: 【B/S架构

推荐分享