日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Java项目:医院管理系统(java+SpringBoot+Layui+Freemaker+maven+mysql)

發布時間:2023/12/15 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java项目:医院管理系统(java+SpringBoot+Layui+Freemaker+maven+mysql) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源碼獲取:博客首頁 "資源" 里下載!

?

項目介紹

醫院管理系統,分為管理員、醫生、病人三種角色;

管理員主要功能包括:
首頁、系統管理:醫生管理、患者管理、藥品管理;預約管理;病史管理;住院信息管理;管理員用戶管理;
醫生主要功能包括:首頁、就醫/查看病史;

病人主要功能包括:首頁、病史、住院信息、掛號;

環境需要

1.運行環境:最好是java jdk 1.8,我們在這個平臺上運行的。其他版本理論上也可以。
2.IDE環境:IDEA,Eclipse,Myeclipse都可以。推薦IDEA;
3.tomcat環境:Tomcat 7.x,8.x,9.x版本均可
4.硬件環境:windows 7/8/10 1G內存以上;或者 Mac OS;
5.是否Maven項目: 是;查看源碼目錄中是否包含pom.xml;若包含,則為maven項目,否則為非maven項目

6.數據庫:MySql 5.7版本;

技術棧

1. 后端:SpringBoot

2. 前端:Layui+Freemaker

使用說明

1. 使用Navicat或者其它工具,在mysql中創建對應名稱的數據庫,并導入項目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse導入項目,Eclipse/MyEclipse導入時,若為maven項目請選擇maven;

若為maven項目,導入成功后請執行maven clean;maven install命令

3. 將項目中application.yml配置文件中的數據庫配置改為自己的配置,配置tomcat,然后運行;
4. 運行項目,輸入http://localhost:8088 登錄

?

?

?

?

?

?

用戶管理控制層:

@RestController @RequestMapping(value = "/user") @Api(tags = "用戶管理API") public class UserController {@Autowiredprivate IUserService iUserService;/*** 登錄驗證** @param reqVO* @param model* @return*/@RequestMapping(value = "/dologin", method = RequestMethod.POST)public BaseResponse<String> doLogin(@RequestBody @Validated UserLoginReqVO reqVO, Model model) {return iUserService.doLogin(reqVO);}/*** 保存用戶注冊信息,向用戶發送激活鏈接** @param reqVO* @return*/@RequestMapping(value = "/doregister", method = RequestMethod.POST)public BaseResponse<String> registered(@RequestBody @Validated UserRegisterReqVO reqVO, Model model) {return iUserService.saveUserAndSendEmail(reqVO);}/*** 獲取登錄日志** @param reqVO* @return*/@RequestMapping(value = "/getLoginfor",method = RequestMethod.GET)public PageRspVO<LoginInforRspVO> getLoginfor(BasePageReqVO reqVO) {return iUserService.getLoginfor(reqVO);}/*** 修改密碼** @param reqVO* @return*/@PostMapping(value = "/changePassword")public BaseResponse<String> changePassword(@RequestBody @Validated ChangePasswordReqVO reqVO) {return iUserService.changePassword(reqVO);}/*** 個人資料設置** @return*/@PostMapping(value = "/getUserInfo")public List<UserInfoVO> getUserInfo() {return iUserService.getUserInfo();}@PostMapping(value = "/changeUserInfo")public BaseResponse<String> changeUserInfo(@RequestBody @Validated UserInfoVO reqVO) {return iUserService.changeUserInfo(reqVO);}@PostMapping(value = "/getAnnContent")public AnnRspVO getAnnContent(@RequestParam String id) {return iUserService.getAnnContent(id);}@PostMapping(value = "/addAnotherRole")public BaseResponse<String> addAnotherRole(@RequestBody @Validated AccountRoleVO reqVO) {return iUserService.addAnotherRole(reqVO);}/*** 獲取所有角色* @param* @return*/@PostMapping(value = "/getAllRole")public List<GetAllRoleRspVO> getAllRole() {return iUserService.getAllRole();}} @Controller public class DeptController {@Autowiredprivate DeptService deptService;/*** 分頁查詢*/@RequestMapping("/findDept")public String findDept(String deptNo, String deptName,Integer pageIndex, Integer pageSize, Model model,HttpSession session){PageInfo<Dept> de = deptService.findPageInfo(deptNo,deptName, pageIndex,pageSize);model.addAttribute("de",de);session.setAttribute("u",deptNo);session.setAttribute("t",deptName);return "Dept_list";}/*** 添加管理員信息*/@RequestMapping(value = "/addDept" ,method = RequestMethod.POST)@ResponseBodypublic String addDept(@RequestBody Dept dept) {int a = deptService.addDept(dept);return "Dept_list";}/*** 修改信息*/@RequestMapping( value = "/updateDept", method = RequestMethod.POST)public String updateDept(Dept dept) {int a = deptService.updateDept(dept);return "redirect:/findDept";}/*** 根據Id搜索;*/@RequestMapping("/findDeptById")public String findDeptById(Integer deptId, HttpSession session) {Dept de2= deptService.findDeptById(deptId);session.setAttribute("de2",de2);return "Dept_edit";}/*** 導出Excel*/@RequestMapping(value = "/exportDeptlist" , method = RequestMethod.POST)@ResponseBodypublic List<Dept> exportDept(){List<Dept> depts = deptService.getAll();return depts;}/*** 部門人員信息查詢*/@RequestMapping(value = "/findDeptPersonnel")public String findClassStudent(Dept dept,Model model, HttpSession session) {List<Dept> dep = deptService.findDeptPersonnel(dept);model.addAttribute("dep",dep);return "dept_Personnellist";}}

醫生管理控制層:

/*** 醫生管理控制層*/@Controller @RequestMapping("/doctor") public class DoctorController {@Autowiredprivate DoctorService doctorService;@Autowiredprivate UserService userService;@Autowiredprivate RoleService roleService;@Autowiredprivate OperaterLogService operaterLogService;@Autowiredprivate DepartmentService departmentService;@Autowiredprivate OrderReceivingService orderReceivingService;@Autowiredprivate BedAllotService bedAllotService;/*** 跳轉醫生列表頁面* @param model* @param doctor* @param pageBean* @return*/@RequestMapping(value = "/list")public String list(Model model, Doctor doctor, PageBean<Doctor> pageBean) {model.addAttribute("title", "醫生列表");if (doctor.getUser() != null) {model.addAttribute("name", doctor.getUser().getName());}model.addAttribute("pageBean", doctorService.findList(doctor, pageBean));return "admin/doctor/list";}/*** 醫生添加頁面* @param model* @return*/@RequestMapping(value = "/add", method = RequestMethod.GET)public String add(Model model) {model.addAttribute("departments", departmentService.findAllDepartment());return "admin/doctor/add";}/*** 醫生添加提交* @param doctor* @return*/@RequestMapping(value = "/add", method = RequestMethod.POST)@ResponseBodypublic Result<Boolean> add(Doctor doctor) {CodeMsg validate = ValidateEntityUtil.validate(doctor);if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {return Result.error(validate);}if(Objects.isNull(doctor.getUser().getEmail())){return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);}if(Objects.isNull(doctor.getUser().getMobile())){return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);}if (!StringUtil.emailFormat(doctor.getUser().getEmail())) {return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);}if (!StringUtil.isMobile(doctor.getUser().getMobile())) {return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);}Role role = roleService.find(Doctor.DOCTOR_ROLE_ID);String dNo = StringUtil.generateSn(Doctor.PATIENT_ROLE_DNO);int age = DateUtil.getAge(doctor.getUser().getBirthDay());if (age < 0) {return Result.error(CodeMsg.ADMIN_PUBLIC_AGE);}doctor.setDoctorDno(dNo);doctor.getUser().setPassword(dNo);doctor.getUser().setUsername(dNo);doctor.getUser().setRole(role);User user = doctor.getUser();user.setAge(age);User save = userService.save(user);if (userService.save(user) == null) {return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);}operaterLogService.add("添加用戶,用戶名:" + user.getUsername());doctor.setUser(save);if (doctorService.save(doctor) == null) {return Result.error(CodeMsg.ADMIN_DOCTOR_ADD_EXIST);}return Result.success(true);}/*** 醫生修改頁面* @param model* @param id* @return*/@RequestMapping(value = "/edit", method = RequestMethod.GET)public String edit(Model model, @RequestParam(name = "id") Long id) {model.addAttribute("doctor", doctorService.find(id));model.addAttribute("departments", departmentService.findAllDepartment());return "admin/doctor/edit";}/*** 醫生修改提交* @param doctor* @return*/@RequestMapping(value = "/edit", method = RequestMethod.POST)@ResponseBodypublic Result<Boolean> edit(Doctor doctor) {Doctor findDoctor = doctorService.find(doctor.getId());List<Doctor> doctors = doctorService.findByDoctorDno(findDoctor.getDoctorDno());if (doctors.size() > 1 || doctors.size() <= 0) {return Result.error(CodeMsg.ADMIN_PATIENT_PNO_ERROR);}if (doctors.get(0).getId() != doctor.getId()) {return Result.error(CodeMsg.ADMIN_PATIENT_PNO_ERROR);}if(Objects.isNull(doctor.getUser().getEmail())){return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);}if(Objects.isNull(doctor.getUser().getMobile())){return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);}if (!StringUtil.emailFormat(doctor.getUser().getEmail())) {return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);}if (!StringUtil.isMobile(doctor.getUser().getMobile())) {return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);}int age = DateUtil.getAge(doctor.getUser().getBirthDay());if (age < 0) {return Result.error(CodeMsg.ADMIN_PUBLIC_AGE);}findDoctor.setDepartment(doctor.getDepartment());findDoctor.setDescription(doctor.getDescription());findDoctor.setExperience(doctor.getExperience());User user = doctor.getUser();user.setAge(age);BeanUtils.copyProperties(user, findDoctor.getUser(), "id", "createTime", "updateTime", "password", "username", "role");userService.save(findDoctor.getUser());doctorService.save(findDoctor);return Result.success(true);}/*** 刪除醫生用戶* @param id* @return*/@RequestMapping(value = "/delete", method = RequestMethod.POST)@ResponseBodypublic Result<Boolean> delete(@RequestParam(name = "id", required = true) Long id) {try {Doctor doctor = doctorService.find(id);doctorService.deleteById(id);userService.delete(doctor.getUser().getId());} catch (Exception e) {return Result.error(CodeMsg.ADMIN_DOCTOR_DELETE_ERROR);}operaterLogService.add("添加用戶,用戶ID:" + id);return Result.success(true);}/*** 修改個人出診狀態頁面* @param model* @return*/@RequestMapping(value = "/updateStatus", method = RequestMethod.GET)public String updateDoctorStatus(Model model) {Doctor doctor = doctorService.findByLoginDoctorUser();model.addAttribute("title","個人出診信息修改");model.addAttribute("doctor", doctor);return "admin/doctor/visitingStatus";}/*** 提交修改個人出診狀態* @param doctor* @return*/@RequestMapping(value = "/updateStatus", method = RequestMethod.POST)@ResponseBodypublic Result<Boolean> editStatus(Doctor doctor) {Doctor doc = doctorService.findByLoginDoctorUser();if(Objects.isNull(doctor.getUser().getEmail())){return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);}if(Objects.isNull(doctor.getUser().getMobile())){return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);}if (!StringUtil.isMobile(doctor.getUser().getMobile())) {return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);}if (!StringUtil.emailFormat(doctor.getUser().getEmail())) {return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);}User user = doc.getUser();user.setEmail(doctor.getUser().getEmail());user.setMobile(doctor.getUser().getMobile());user.setStatus(doctor.getStatus());doc.setStatus(doctor.getStatus());doc.setDescription(doctor.getDescription());doc.setExperience(doctor.getExperience());BeanUtils.copyProperties(user, doctor.getUser(), "id", "createTime", "updateTime", "password", "username", "role", "sex", "age", "birthday");doctorService.save(doc);return Result.success(true);}/*** 醫生查詢接單記錄* @param model* @param pageBean* @return*/@RequestMapping(value = "/orderRecord",method = RequestMethod.GET)public String doctorOrderRecords(Model model, PageBean<OrderReceiving> pageBean) {//獲取醫生登錄的信息Doctor loginDoctorUser = doctorService.findByLoginDoctorUser();model.addAttribute("title", "出診信息");model.addAttribute("pageBean", orderReceivingService.findByDoctorId(pageBean,loginDoctorUser.getId()));return "admin/doctor/orderRecord";}/*** 查看自己科室所有醫生信息* @param model* @param pageBean* @return*/@RequestMapping(value = "/findByDepartment", method = RequestMethod.GET)public String AllDoctorByDepartment(Model model,PageBean<Doctor> pageBean) {Doctor loginDoctorUser = doctorService.findByLoginDoctorUser();model.addAttribute("title", "本科室所有醫生列表");model.addAttribute("pageBean", doctorService.findAllByDepartment(pageBean, loginDoctorUser.getDepartment().getId()));return "admin/doctor/doctorInformation";}/*** 醫生完成出診訂單* @param id* @return*/@RequestMapping(value = "/orderRecord",method = RequestMethod.POST)@ResponseBodypublic Result<Boolean>modifyVisitStatus(Long id){boolean flag = doctorService.modifyVisitStatus(id);if (flag){return Result.success(true);}return Result.error(CodeMsg.ADMIN_DOCTOR_CANNOT_REPEATED);}/*** 管理員查看所有訂單信息* @param model* @param orderReceiving* @param pageBean* @return*/@RequestMapping(value="/allOrderInformation",method = RequestMethod.GET)public String findAll(Model model,OrderReceiving orderReceiving, PageBean<OrderReceiving> pageBean){model.addAttribute("title","出診信息");model.addAttribute("pageBean",orderReceivingService.findList(orderReceiving,pageBean));return "admin/doctor/allOrderInformation";}/*** 醫生查詢負責的住院信息*/@RequestMapping(value="/bedAllot")public String bedAllotSelf(Model model,PageBean<BedAllot> pageBean){Doctor loginDoctorUser = doctorService.findByLoginDoctorUser();Long doctorId = loginDoctorUser.getId();model.addAttribute("title","住院信息");model.addAttribute("pageBean",bedAllotService.findByDoctor(pageBean,doctorId));return "admin/doctor/bedAllot";}}

病房管理控制層:

/**** 病房管理控制層*/ @Controller @RequestMapping("/room") public class RoomController {@Autowiredprivate RoomService roomService;@Autowiredprivate OperaterLogService operaterLogService;@Autowiredprivate BedService bedService;@Autowiredprivate RoomTypeService roomTypeService;/**** 病房分頁查詢* @param model* @param pageBean* @param room* @return*/@RequestMapping("/list")String list(Model model, PageBean<Room> pageBean, Room room){model.addAttribute("title","病房列表");model.addAttribute("roomNo", room.getRoomNo());model.addAttribute("pageBean",roomService.findAll(room,pageBean));return "admin/room/list";}/*** 新增病房頁面* @param model* @return*/@RequestMapping(value="/add")public String add(Model model){model.addAttribute("roomType",roomTypeService.findList());return "admin/room/add";}/*** 病房添加表單提交處理* @param room* @return*/@RequestMapping(value="/add",method= RequestMethod.POST)@ResponseBodypublic Result<Boolean> add(Room room){//用統一驗證實體方法驗證是否合法CodeMsg validate = ValidateEntityUtil.validate(room);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}//設置可用床數int total = room.getTotal();room.setUsable(total);if(Objects.isNull(room.getRoomNo())){return Result.error(CodeMsg.ADMIN_ROOM_NO_ISEXIST);}if(roomService.isExistRoomNo(room.getRoomNo(),0L)){return Result.error(CodeMsg.ADMIN_ROOM_EXIST);}//到這說明一切符合條件,進行數據庫新增if(roomService.save(room) == null){return Result.error(CodeMsg.ADMIN_ROOM_ADD_ERROR);}/* //判斷是否床位存在if(bedService.find(room.getId())!=null){return Result.error(CodeMsg.ADMIN_BED_EXIST);}*///循環total向床位表添加相應床位for (int i = 0 ;i<total ; i++ ){Bed bed = new Bed();bed.setBedNo(i+1);// 1 2 3 4bed.setRoom(room);//進行數據庫新增bedService.save(bed);}operaterLogService.add("添加病房,病房號:" + room.getRoomNo());return Result.success(true);}/* *//*** 病房編輯頁面* @param model* @return*//*@RequestMapping(value="/edit",method=RequestMethod.GET)public String edit(Model model,@RequestParam(name="id",required=true)Long id){model.addAttribute("roomType",roomTypeService.findList());model.addAttribute("room",roomService.find(id));return "admin/room/edit";}*//*** 編輯病房類型信息表單提交處理* @param room* @return*//*@RequestMapping(value="/edit",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> edit(Room room){//用統一驗證實體方法驗證是否合法CodeMsg validate = ValidateEntityUtil.validate(room);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(room.getId() == null || room.getId().longValue() <= 0){return Result.error(CodeMsg.ADMIN_ROOM_NO_EXIST);}if(roomService.isExistRoomNo(room.getRoomNo(),room.getId())){return Result.error(CodeMsg.ADMIN_ROOM_EXIST);}//到這說明一切符合條件,進行數據庫保存Room findById = roomService.find(room.getId());//將提交的科室信息指定字段復制到已存在的RoomType對象中,該方法會覆蓋新字段內容BeanUtils.copyProperties(room, findById, "id","createTime","updateTime","total","usable");if(roomService.save(findById) == null){return Result.error(CodeMsg.ADMIN_ROOM_EDIT_ERROR);}operaterLogService.add("編輯病房,病房號:" + room.getRoomNo());return Result.success(true);}*//*** 刪除病房* @param id* @return*/@RequestMapping(value="/delete",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){try {roomService.delete(id);} catch (Exception e) {return Result.error(CodeMsg.ADMIN_ROOM_DELETE_ERROR);}operaterLogService.add("刪除病房,病房ID:" + id);return Result.success(true);} }

?源碼獲取:博客首頁 "資源" 里下載!

總結

以上是生活随笔為你收集整理的Java项目:医院管理系统(java+SpringBoot+Layui+Freemaker+maven+mysql)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。