Java项目:医院住院管理系统(java+SSM+jsp+mysql+maven)
2021-11-20 09:24
501 查看
一、项目简述
功能包括: 住院病人管理,住院病房管理,医生管理,药品管理,仪 器管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
后台角色操作servi 202ef ce服务:
/** * 后台角色操作service */ @Service public class RoleService { @Autowired private RoleDao roleDao; /** * 角色添加/编辑 * @param role * @return */ public Role save(Role role){ return roleDao.save(role); } /** * 获取所有的角色列表 * @return */ public List<Role> findAll(){ return roleDao.findAll(); } /** * 获取不是医生或病人的其他角色 */ public List<Role> findSome(){ return roleDao.findSome(); } /** * 分页按角色名称搜索角色列表 * @param role * @param pageBean * @return */ public PageBean<Role> findByName(Role role,PageBean<Role> pageBean){ ExampleMatcher withMatcher = ExampleMatcher.matching().withMatcher("name", GenericPropertyMatchers.contains()); withMatcher = withMatcher.withIgnorePaths("status"); Example<Role> example = Example.of(role, withMatcher); Pageable pageable = PageRequest.of(pageBean.getCurrentPage()-1, pageBean.getPageSize()); Page<Role> findAll = roleDao.findAll(example, pageable); pageBean.setContent(findAll.getContent()); pageBean.setTotal(findAll.getTotalElements()); pageBean.setTotalPage(findAll.getTotalPages()); return pageBean; } /** * 根据id查询角色 * @param id * @return */ public Role find(Long id){ return roleDao.find(id); } /** * 根据id删除一条记录 * @param id */ public void delete(Long id){ roleDao.deleteById(id); } }
医生层Service服务:
/** * 医生Service层 */ @Service public class DoctorService { @Autowired private DoctorDao doctorDao; @Autowired private OrderReceivingDao orderReceivingDao; public Doctor find(Long id) { //通过病人id查病人信息 return doctorDao.find(id); } public Doctor save(Doctor patient) { //保存 return doctorDao.save(patient); } /** * 分页查询医生信息 * @param doctor * @param pageBean * @return */ public PageBean<Doctor> findList(Doctor doctor, PageBean<Doctor> pageBean){ ExampleMatcher withMatcher = ExampleMatcher.matching().withMatcher("user.name", ExampleMatcher.GenericPropertyMatchers.contains()); withMatcher = withMatcher.withIgnorePaths("status","experience","user.status","user.sex","user.age"); Example<Doctor> example = Example.of(doctor, withMatcher); Pageable pageable = PageRequest.of(pageBean.getCurrentPage()-1, pageBean.getPageSize()); Page<Doctor> findAll = doctorDao.findAll(example, pageable); pageBean.setContent(findAll.getContent()); pageBean.setTotal(findAll.getTotalElements()); pageBean.setTotalPage(findAll.getTotalPages()); return pageBean; } /** * 医生登录的信息 * @return */ public Doctor findByLoginDoctorUser(){//拿到医生登录的信息 Long userId = SessionUtil.getLoginedUser().getId(); return doctorDao.findByUser_Id(userId); } /** * 根据医生编号拿到医生 * @param doctorDno * @return */ public List<Doctor> findByDoctorDno(String doctorDno) { return doctorDao.findByDoctorDno(doctorDno); } /** * 根据ID删除 * @param id */ public void deleteById(Long id) { doctorDao.deleteById(id); } /** * 根据科室ID查找医生 * @param departmentId * @return */ public List<Doctor> findFreeDoctorByDepartmentId(Long departmentId) { return doctorDao.findByDepartmentIdAndStatus(departmentId, DOCTOR_STATUS_ENABLE); } /** * 查看科室所有医生的信息 * */ public PageBean<Doctor>findAllByDepartment(PageBean<Doctor>pageBean, Long id){ Specification<Doctor> specification = new Specification<Doctor>() { private static final long serialVersionUID = 1L; @Override public Predicate toPredicate(Root<Doctor> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { Predicate predicate = null; Predicate equal1 = criteriaBuilder.equal(root.get("department"),id); predicate = criteriaBuilder.and(equal1); return predicate; } }; Sort sort = Sort.by(Sort.Direction.DESC,"createTime"); PageRequest pageable = PageRequest.of(pageBean.getCurrentPage()-1, pageBean.getPageSize(), sort); Page<Doctor> findAll = doctorDao.findAll(specification, pageable); pageBean.setContent(findAll.getContent()); pageBean.setTotal(findAll.getTotalElements()); pageBean.setTotalPage(findAll.getTotalPages()); return pageBean; } /** * 根据医生ID修改出诊状态 */ public boolean modifyVisitStatus(Long id){ Doctor doctor = findByLoginDoctorUser(); OrderReceiving receiving = orderReceivingDao.findAllOrderReceivingByDoctorId(id); if (doctor.getId()==null&&doctor.getId().equals("")){ return false; } if (receiving.getOrderRegistration().getStatus()==REGISTRATION_STATUS_COMPLETED){ return false; } //订单状态设置为已完成 receiving.setStatus(RECEIVING_STATUS_COMPLETE); //挂号状态设置为已完成 receiving.getOrderRegistration().setStatus(REGISTRATION_STATUS_COMPLETED); orderReceivingDao.save(receiving); return true; } /** * * 查询医生出诊信息数量 * @return */ public Integer selectCountByOrderReceiving(){ return doctorDao.selectCountByOrderReceiving(); } /** * 查询每个医生出诊的次数 * @return */ public DoctorOrderCount OrderCountByDoctor(){ DoctorOrderCount orderCount = new DoctorOrderCount(); List<Object> Orders = doctorDao.OrderCountByDoctor(); List<String>doctorName=new ArrayList<>(); List<Integer>countNum=new ArrayList<>(); for (Object o : Orders) { Object[] obj = (Object[]) o; doctorName.add(obj[0].toString()); orderCount.setDoctorName(doctorName); countNum.add(Integer.valueOf(obj[1].toString())); orderCount.setCountNum(countNum); } return orderCount; } }
用户管理service服务:
/** * 用户管理service * */ @Service public class UserService { @Autowired private UserDao userDao; /** * 根据用户id查询 * @param id * @return */ public User find(Long id){ return userDao.find(id); } /** * 按照用户名查找用户 * @param username * @return */ public User findByUsername(String username){ return userDao.findByUsername(username); } /** * 用户添加/编辑操作 * @param user * @return */ @Transactional public User save(User user){ return userDao.save(user); } /** * 分页查询用户列表 * @param user * @param pageBean * @return */ public PageBean<User> findList(User user,PageBean<User> pageBean){ ExampleMatcher withMatcher = ExampleMatcher.matching().withMatcher("username", GenericPropertyMatchers.contains()); withMatcher = withMatcher.withIgnorePaths("status","sex"); Example<User> example = Example.of(user, withMatcher); Pageable pageable = PageRequest.of(pageBean.getCurrentPage()-1, pageBean.getPageSize()); Page<User> findAll = userDao.findAll(example, pageable); pageBean.setContent(findAll.getContent()); pageBean.setTotal(findAll.getTotalElements()); pageBean.setTotalPage(findAll.getTotalPages()); return pageBean; } /** * 判断用户名是否存在,添加和编辑均可判断 * @param username * @param id * @return */ public boolean isExistUsername(String username,Long id){ User user = userDao.findByUsername(username); if(user != null){ //表示用户名存在,接下来判断是否是编辑用户的本身 if(user.getId().longValue() != id.longValue()){ return true; } } return false; } /** * 按照用户id删除 * @param id */ public void delete(Long id){ userDao.deleteById(id); } /** * 返回用户总数 * @return */ public long total(){ return userDao.count(); } }
病房类型层 Service服务:
/*** * 病房类型Service层 */ @Service public class RoomTypeService { @Autowired private RoomTypeDao roomTypeDao; /*** * 病房类型全查询 * @return */ public PageBean<RoomType> findAll(RoomType roomType, PageBean<RoomType> pageBean){ ExampleMatcher withMatcher = ExampleMatcher.matching().withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains()); Example<RoomType> example = Example.of(roomType, withMatcher); Pageable pageable = PageRequest.of(pageBean.getCurrentPage()-1, pageBean.getPageSize()); Page<RoomType> findAll = roomTypeDao.findAll(example, pageable); pageBean.setContent(findAll.getContent()); pageBean.setTotal(findAll.getTotalElements()); pageBean.setTotalPage(findAll.getTotalPages()); return pageBean; } /*** * 病房类型全查询列表 * @return */ public List<RoomType> findList(){ return roomTypeDao.findAll(); } /*** * 根据病房类型NAME判断是否存在 * @param name * @return */ public boolean isByName(String name) { RoomType byName = roomTypeDao.findByName(name); if(byName != null){ if(byName.getName().equals(name)){ return true; } } return false; } public boolean isByName(String name,Long id) { RoomType byName = roomTypeDao.findByName(name); if(byName != null){ if(byName.getId().longValue() != id.longValue()){ return true; } } return false; } /*** * 病房类型添加 * @param roomType * @return */ public RoomType save(RoomType roomType){ return roomTypeDao.save(roomType); } /*** * 根据ID查询病房类型 * @param id * @return */ public RoomType find(Long id) { return roomTypeDao.find(id); } /*** * 根据ID删除病房类型 * @param id */ public void delete(Long id){ roomTypeDao.deleteById(id); } }
相关文章推荐
- JAVA Eclipse使用Maven构建web项目详解(SSM框架)
- 17年2月24日Java后台学习记录,Spring Maven更换版本报错,SSM框架整合,Mysql语句整理。
- java ssm+maven实现Mysql的增删查改操作
- Maven项目报错:java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- 【实战\Java SSM快速开发仿慕课网在线教育平台项目笔记】第1章 课程项目整体概述(整体介绍及Eclipse,Maven,新浪SAE软件平台介绍)
- windows下的Java Web(SSM框架)环境搭建:Java+IDEA+Tomcat+Maven+MySQL
- java 搭建基于springboot的ssm(spring + springmvc + mybatis)的maven项目
- 使用ssm框架的java项目由mysql转oracle遇到问题
- Maven项目右键-&gt;Maven-&gt;Update Project...后src/webapp/index.jsp、Java Resources有红叉提示
- java 框架,学习,环境,springboot,maven,spring ,mvc,mysql,sqlserver,ssh,ssm
- Java Web-订餐系统分享项目 jsp+servlet+java+MySQL+带数据库语法
- Maven将项目部署到Tomcat-报错:java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- Maven构建WEB项目JSP报The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 访问maven项目报错 at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
- 使用maven搭建ssm框架的javaweb项目
- Maven项目启动报错:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml
- Maven构建SSM框架JavaWeb项目pom.xml文件整理
- eclipse下创建ssm+MySQL+maven多模块项目
- IDEA下创建Maven,Servlet,JSP,MYSQL项目
- JAVA Eclipse使用Maven构建web项目详解(SSM框架)