首页 > 分享 > 基于javaweb+mysql的springboot宠物医院预约管理系统设计和实现(java+springboot+mysql+ssm)

基于javaweb+mysql的springboot宠物医院预约管理系统设计和实现(java+springboot+mysql+ssm)

基于javaweb+mysql的springboot宠物医院预约管理系统设计和实现(java+springboot+mysql+ssm)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot宠物医院预约管理系统设计和实现(java+springboot+mysql+ssm)

项目使用java SpringMVC、springboot mybatis、layui为核心技术编写

首页登录有可爱的小猫咪:

系统主页主要功能有会员信息、宠物管理、预约管理和统计分析等:

预约列表:

医院管理:

宠物档案管理:

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "ERROR"; } } /** * 添加页面user/petDailyAdd.html */ @RequestMapping(value = "/add") public String add(Model model) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); Pet pet = new Pet(); pet.setUserId(user.getId()); pet.setPage(1); pet.setLimit(100); MMGridPageVoBean<Pet> voBean = (MMGridPageVoBean<Pet>) petService.getAllByLimit(pet); List<Pet> rows = voBean.getRows(); // 获取到该用户下所有的宠物 model.addAttribute("pets", rows); return "user/petDailyAdd"; } /** * 插入数据库 */ @RequestMapping(value = "/doAdd") @ResponseBody @Transactional public String doAdd(PetDaily pojo) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); try { pojo.setUserId(user.getId()); pojo.setCreateTime(new Date()); petDailyService.add(pojo); return "SUCCESS"; } catch (Exception e) { logger.error("添加异常", e); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "ERROR"; } } } package com.demo.controller.open;

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

// 健康标准 standard.setStatus(1); int petAge = MyUtils.get2DateDay(MyUtils.getDate2String(p.getBirthday(), "yyyy-MM-dd"), MyUtils.getDate2String(new Date(), "yyyy-MM-dd")); petAge = (petAge<0? -petAge : petAge)/365; // 年龄 standard.setAgeMax(petAge); standard.setPage(1); standard.setLimit(100); MMGridPageVoBean<Standard> ss = (MMGridPageVoBean<Standard>) standardService.getAllByLimit(standard); List<Standard> ssRows = ss.getRows(); double tsMin = 0; double tsMax = 0; double wsMin = 0; double wsMax = 0; double hsMin = 0; double hsMax = 0; double asMin = 0; double asMax = 0; for (Standard s : ssRows){ tsMin+=s.getTempMin(); tsMax+=s.getTempMax(); wsMin+=s.getWeightMin(); wsMax+=s.getWeightMax(); hsMin+=s.getHeightMin(); hsMax+=s.getHeightMax(); asMin+=s.getAppetiteMin(); asMax+=s.getAppetiteMax(); } tsMin = tsMin / ssRows.size(); tsMax = tsMax / ssRows.size(); wsMin = wsMin / ssRows.size(); wsMax = wsMax / ssRows.size(); hsMin = hsMin / ssRows.size(); hsMax = hsMax / ssRows.size(); asMin = asMin / ssRows.size(); asMax = asMax / ssRows.size(); mt.add(tsMax); mw.add(wsMax); mh.add(hsMax); ma.add(asMax); if (t>=tsMin && t<=tsMax){ tsCount.add(" 体温正常");

1234567891011121314151617181920212223242526272829303132333435363738394041424344

*/ @RequestMapping("/diagnosisListDoctor") public String diagnosisListDoctor(Long petId, Model model) { if (petId!=null){ model.addAttribute("petId", petId); }else { model.addAttribute("petId", "petId"); } return "user/diagnosisListDoctor"; } /** * 普通用户宠物健康史页面user/diagnosisList.html */ @RequestMapping("/diagnosisList") public String diagnosisList(Long petId, Model model) { if (petId!=null){ model.addAttribute("petId", petId); }else { model.addAttribute("petId", "petId"); } return "user/diagnosisList"; } /** * 普通用户返回查询数据 */ @RequestMapping("/getAllByLimit") @ResponseBody public Object getAllByLimit(Diagnosis diagnosis) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); diagnosis.setUserId(user.getId()); return diagnosisService.getAllByLimit(diagnosis); } /** * 医生返回查询数据 */ @RequestMapping("/getAllByLimitDoctor") @ResponseBody public Object getAllByLimitBaoJie(Diagnosis diagnosis) { return diagnosisService.getAllByLimit(diagnosis);

12345678910111213141516171819202122232425262728293031323334353637383940

model.addAttribute("dailys", list); } return "tj/tjDaily"; } /** * 医生宠物日志统计 */ @RequestMapping("/tjDailyDoctor") public String tjDailyDoctor(Model model) { Pet pet = new Pet(); pet.setPage(1); pet.setLimit(99999); MMGridPageVoBean<Pet> voBean = (MMGridPageVoBean<Pet>) petService.getAllByLimit(pet); List<Pet> rows = voBean.getRows(); model.addAttribute("pets", rows); if (rows.size()>0){ pet = rows.get(0); PetDaily daily = new PetDaily(); daily.setPetId(pet.getId()); daily.setPage(1); daily.setLimit(99999); MMGridPageVoBean<PetDaily> ppp = (MMGridPageVoBean<PetDaily>) petDailyService.getAllByLimit(daily); List<PetDaily> list = ppp.getRows(); for (PetDaily p : list){ p.setDateTime(MyUtils.getDate2String(p.getCreateTime(), "yyyy-MM-dd")); } model.addAttribute("dailys", list); } return "tj/tjDailyDoctor"; } /** * 普通用户查询条件数据返回宠物日志 */ @RequestMapping("/tjDailyData") @ResponseBody public Object tjDailyData(Long id){ PetDaily daily = new PetDaily();

1234567891011121314151617181920212223242526272829303132333435363738394041424344

/** * Method name: addPageRoleByRoleId <BR> * Description: 增加某个角色的权限页面 <BR> * * @param roleId * @param pageIds * @return String<BR> */@RequestMapping("/addPageRoleByRoleId")@ResponseBodypublic String addPageRoleByRoleId(Integer roleId, Integer[] pageIds) {if (null == roleId) {return "ERROR";}// 先删除老的权限boolean flag1 = pageRoleService.delPageRoleByRoleId(roleId);boolean flag2 = pageRoleService.addPageRoles(roleId, pageIds);if (flag1 && flag2) {return "SUCCESS";}return "ERROR";}/** * Method name: getAllUserByMap <BR> * Description: 根据角色查询下面所有的人员/非角色下所有人员 <BR> */@RequestMapping("/getAllUserByRoleId")@ResponseBodypublic Object getAllUserByRoleId(Integer roleId, String roleNot, Integer page, Integer limit) {if (null == roleNot) {return userService.getAllUserByRoleId(roleId, page, limit);}return userService.getAllUserByNotRoleId(roleId, page, limit);}/** * Method name: delUserRoleByUserIdAndRoleId <BR> * Description: 根据用户id权限id删除用户权限表 <BR> * * @param userId * @param roleId * @return ResultMap<BR> */@RequestMapping("/delUserRoleByUserIdAndRoleId")@ResponseBodypublic ResultMap delUserRoleByUserIdAndRoleId(String userId, Integer roleId) {return userRoleService.delUserRoleByUserIdAndRoleId(userId, roleId);}

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

} /** * 插入数据库 */ @RequestMapping(value = "/doAdd") @ResponseBody @Transactional public String doAdd(PetDaily pojo) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); try { pojo.setUserId(user.getId()); pojo.setCreateTime(new Date()); petDailyService.add(pojo); return "SUCCESS"; } catch (Exception e) { logger.error("添加异常", e); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "ERROR"; } } } package com.demo.controller.open; /** * 文件上传接口 */ @Controller public class UploadFileController { /** * 富文本编辑器图片上传 * @param file * @return */ @RequestMapping(value = "/upload", method = RequestMethod.POST)

12345678910111213141516171819202122232425262728293031323334353637

/** * 返回 尚未登陆信息 */@RequestMapping(value = "/notLogin", method = RequestMethod.GET)@ResponseBodypublic ResultMap notLogin() {logger.warn("尚未登陆!");return resultMap.success().message("您尚未登陆!");}/** * 返回 没有权限 */@RequestMapping(value = "/notRole", method = RequestMethod.GET)@ResponseBodypublic ResultMap notRole() {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();if (user != null) {logger.info("{}---没有权限!", user.getName());}return resultMap.success().message("您没有权限!");} /**演示页面**/@RequestMapping(value = "/demo/table", method = RequestMethod.GET)public String demoTable() {return "table";}@RequestMapping(value = "/demo/tu", method = RequestMethod.GET)public String demoTu() {return "tu";}@RequestMapping(value = "/demo/tu1", method = RequestMethod.GET)public String tu1() {return "tu1";}@RequestMapping(value = "/demo/tu2", method = RequestMethod.GET)public String tu2() {return "tu2";}@RequestMapping(value = "/demo/tu3", method = RequestMethod.GET)public String tu3() {return "tu3";} /**演示页面**//** * Method name: logout <BR>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

/** * 用户宠物管理 */ @Controller("UserPetController") @RequestMapping("/user/pet") public class UserPetController { @Autowired private PetService petService; private final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 医生管理宠物页面user/petListDoctor.html */ @RequestMapping("/petListDoctor") public String petListDoctor() { return "user/petListDoctor"; } /** * 普通用户管理宠物页面user/petList.html */ @RequestMapping("/petList") public String petList() { return "user/petList"; } /** * 普通用户返回查询数据 */ @RequestMapping("/getAllByLimit") @ResponseBody public Object getAllByLimit(Pet pojo) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); pojo.setUserId(user.getId());

1234567891011121314151617181920212223242526272829303132333435

diagnosisStatus += d.getStatus(); } int sw = diagnosisStatus / dsRows.size(); switch (sw){ case 1:dsCount.add(p.getName() + " 宠物健康,请继续保持");break; case 2:dsCount.add(p.getName() + " 宠物异常请及时就诊!");break; case 3:dsCount.add(p.getName() + " 宠物病情比较严重,请及时就医!");break; case 4:dsCount.add(p.getName() + " 很抱歉宠物已无法治疗!");break; default:dsCount.add(p.getName() + " 宠物基本健康,请继续保持");break; } // 获取宠物日志 PetDaily petDaily = new PetDaily(); petDaily.setPetId(p.getId()); petDaily.setPage(1); petDaily.setLimit(10); MMGridPageVoBean<PetDaily> ps = (MMGridPageVoBean<PetDaily>) petDailyService.getAllByLimit(petDaily); List<PetDaily> psRows = ps.getRows(); double t = 0; double w = 0; double h = 0; double a = 0; for (PetDaily petDaily1 : psRows){ t+=petDaily1.getTemperature(); w+=petDaily1.getWeight(); h+=petDaily1.getHeight(); a+=petDaily1.getAppetite(); } t = t/psRows.size(); w = w/psRows.size(); h = h/psRows.size(); a = a/psRows.size(); pt.add(t); pw.add(w); ph.add(h); pa.add(a); // 获取标准 Standard standard = new Standard(); // 对应宠物类型

123456789101112131415161718192021222324252627282930313233343536373839404142

public void layuiUpload(MultipartFile file, HttpServletRequest request, HttpServletResponse response){ if (file.isEmpty()) { System.out.println("文件为空空"); } PrintWriter out=null; // CKEditor提交的很重要的一个参数 ,回调函数的序号 String callback = request.getParameter("CKEditorFuncNum"); String fileName = file.getOriginalFilename(); // 文件名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); // 后缀名 String filePath = "D://upload//"; // 上传后的路径 fileName = UUID.randomUUID() + suffixName; // 新文件名 FileResponse fileResponse = new FileResponse(); File dest = new File(filePath + fileName); if (!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); } try { file.transferTo(dest); out = response.getWriter(); String filename = "/file/" + fileName; String s = fileResponse.success(1, fileName, filename, null); // 返回"图像"选项卡并显示图片 request.getContextPath()为web项目名 out.println(s); } catch (IOException e) { String s = fileResponse.error(0, "上传失败!"); // 返回"图像"选项卡并显示图片 request.getContextPath()为web项目名 out.println(s); } } } package com.demo.controller.user;

123456789101112131415161718192021222324252627282930313233343536

@RequestMapping("/petDailyListDoctor") public String petListDoctor(Long petId, Model model) { if (petId!=null){ model.addAttribute("petId", petId); }else { model.addAttribute("petId", "petId"); } return "user/petDailyListDoctor"; } /** * 普通用户宠物日志页面user/petDailyList.html */ @RequestMapping("/petDailyList") public String petDailyList(Long petId, Model model) { if (petId!=null){ model.addAttribute("petId", petId); }else { model.addAttribute("petId", "petId"); } return "user/petDailyList"; } /** * 普通用户返回查询数据 */ @RequestMapping("/getAllByLimit") @ResponseBody public Object getAllByLimit(PetDaily pojo) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); pojo.setUserId(user.getId()); return petDailyService.getAllByLimit(pojo); } /** * 医生返回查询数据 */ @RequestMapping("/getAllByLimitDoctor") @ResponseBody public Object getAllByLimitDoctor(PetDaily pojo) { return petDailyService.getAllByLimit(pojo); } /** * 删除 */ @RequestMapping(value = "/del")

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

} catch (Exception e) {return "ERR";}}/** * Method name: updateUser <BR> * Description: 更新用户 <BR> * * @param user * @return String<BR> */@ResponseBody@RequestMapping("/updateUser")public String updateUser(User user, Long oldId) {return userService.updateUser(oldId, user);}/** * Method name: delUserPage <BR> * Description: 已删除用户列表 <BR> * * @return String<BR> */@RequestMapping("/delUserPage")public String delUserPage() {return "sa/userDelPage";} } package com.demo.controller.open;

12345678910111213141516171819202122232425262728293031

* @return String<BR> */@ResponseBody@RequestMapping("/updateUser")public String updateUser(User user, Long oldId) {return userService.updateUser(oldId, user);}/** * Method name: delUserPage <BR> * Description: 已删除用户列表 <BR> * * @return String<BR> */@RequestMapping("/delUserPage")public String delUserPage() {return "sa/userDelPage";} } package com.demo.controller.open;

123456789101112131415161718192021

* 普通用户宠物健康史页面user/diagnosisList.html */ @RequestMapping("/diagnosisList") public String diagnosisList(Long petId, Model model) { if (petId!=null){ model.addAttribute("petId", petId); }else { model.addAttribute("petId", "petId"); } return "user/diagnosisList"; } /** * 普通用户返回查询数据 */ @RequestMapping("/getAllByLimit") @ResponseBody public Object getAllByLimit(Diagnosis diagnosis) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); diagnosis.setUserId(user.getId()); return diagnosisService.getAllByLimit(diagnosis); } /** * 医生返回查询数据 */ @RequestMapping("/getAllByLimitDoctor") @ResponseBody public Object getAllByLimitBaoJie(Diagnosis diagnosis) { return diagnosisService.getAllByLimit(diagnosis); } /** * 删除记录 */ @RequestMapping(value = "/del") @ResponseBody @Transactional public String del(Long id) { try { diagnosisService.deleteById(id); return "SUCCESS"; } catch (Exception e) { logger.error("删除异常", e); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "ERROR"; } } /** * 增加页面user/diagnosisAdd.html */ @RequestMapping(value = "/add") public String add(Long id, Model model) {

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253

standard.setStatus(1); int petAge = MyUtils.get2DateDay(MyUtils.getDate2String(p.getBirthday(), "yyyy-MM-dd"), MyUtils.getDate2String(new Date(), "yyyy-MM-dd")); petAge = (petAge<0? -petAge : petAge)/365; // 年龄 standard.setAgeMax(petAge); standard.setPage(1); standard.setLimit(100); MMGridPageVoBean<Standard> ss = (MMGridPageVoBean<Standard>) standardService.getAllByLimit(standard); List<Standard> ssRows = ss.getRows(); double tsMin = 0; double tsMax = 0; double wsMin = 0; double wsMax = 0; double hsMin = 0; double hsMax = 0; double asMin = 0; double asMax = 0; for (Standard s : ssRows){ tsMin+=s.getTempMin(); tsMax+=s.getTempMax(); wsMin+=s.getWeightMin(); wsMax+=s.getWeightMax(); hsMin+=s.getHeightMin(); hsMax+=s.getHeightMax(); asMin+=s.getAppetiteMin(); asMax+=s.getAppetiteMax(); } tsMin = tsMin / ssRows.size(); tsMax = tsMax / ssRows.size(); wsMin = wsMin / ssRows.size(); wsMax = wsMax / ssRows.size(); hsMin = hsMin / ssRows.size(); hsMax = hsMax / ssRows.size(); asMin = asMin / ssRows.size(); asMax = asMax / ssRows.size(); mt.add(tsMax); mw.add(wsMax); mh.add(hsMax); ma.add(asMax); if (t>=tsMin && t<=tsMax){ tsCount.add(" 体温正常"); }else if (t<tsMin){ tsCount.add( " 体温偏低"); }else if (t>tsMax){ tsCount.add( " 体温偏高"); } if (w>=wsMin && w<=wsMax){

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

daily.setLimit(99999); MMGridPageVoBean<PetDaily> ppp = (MMGridPageVoBean<PetDaily>) petDailyService.getAllByLimit(daily); List<PetDaily> list = ppp.getRows(); for (PetDaily p : list){ p.setDateTime(MyUtils.getDate2String(p.getCreateTime(), "yyyy-MM-dd")); } return list; } /** * 医生查询条件数据返回宠物日志 */ @RequestMapping("/tjDailyDataDoctor") @ResponseBody public Object tjDailyDataDoctor(Long id){ PetDaily daily = new PetDaily(); daily.setPetId(id); daily.setPage(1); daily.setLimit(99999); MMGridPageVoBean<PetDaily> ppp = (MMGridPageVoBean<PetDaily>) petDailyService.getAllByLimit(daily); List<PetDaily> list = ppp.getRows(); for (PetDaily p : list){ p.setDateTime(MyUtils.getDate2String(p.getCreateTime(), "yyyy-MM-dd")); } return list; } /** * 用户查看医生空闲时间 */ @RequestMapping(value = "/freeTime") public String freeTime(Model model) { List<User> doctors = userService.listDoctor(); model.addAttribute("doctors", doctors); Long docId = doctors.get(0).getId(); model.addAttribute("docName", doctors.get(0).getName()); String nowDateYMD = MyUtils.getNowDateYMD(); List<Map<String, Object>> map = appointmentService.getFreeTimeById(docId, nowDateYMD+MyUtils.START_HOUR); List<String> time = new ArrayList<>(); List<Long> value = new ArrayList<>(); for (Map<String, Object> m : map){ String df = (String) m.get("df"); time.add(df); Long v = (Long) m.get("c"); if (v == null) { value.add(0L); }else { value.add(v); } }

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253

/** * 宠物健康史 */ @Controller("UserDiagnosisController") @RequestMapping("/user/diagnosis") public class UserDiagnosisController { @Autowired private DiagnosisService diagnosisService; @Autowired private AppointmentService appointmentService; private final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 医生宠物健康史页面user/diagnosisListDoctor.html */ @RequestMapping("/diagnosisListDoctor") public String diagnosisListDoctor(Long petId, Model model) { if (petId!=null){ model.addAttribute("petId", petId); }else { model.addAttribute("petId", "petId"); } return "user/diagnosisListDoctor"; } /** * 普通用户宠物健康史页面user/diagnosisList.html */ @RequestMapping("/diagnosisList")

1234567891011121314151617181920212223242526272829

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

相关知识

基于javaweb的宠物医院预约管理系统设计和实现(java+springboot+mysql+ssm)
基于SpringBoot开发的宠物医院预约管理系统
《基于javaweb+mysql数据库实现的宠物领养网站》宠物管理
【开题报告】基于SpringBoot的宠物寄存商店管理系统的设计与实现
基于SpringBoot微信小程序的宠物美容预约系统设计与实现
基于javaweb+mysql的ssm宠物医院管理系统(java+ssm+jquery+layui+js+mysql)
基于node.js+vue的宠物医院在线预约管理系统的设计与实现
springboot宠物医院管理系统的设计与实现
开题报告+文档+源码】基于Java的宠物医院管理系统的设计与实现
【网站项目】基于springboot的宠物医院预约管理系统

网址: 基于javaweb+mysql的springboot宠物医院预约管理系统设计和实现(java+springboot+mysql+ssm) https://m.mcbbbk.com/newsview263345.html

所属分类:萌宠日常
上一篇: 怎样正确饲养仓鼠
下一篇: 1243SSM宠物医院信息管理系