Java项目:医院住院管理系统(java+SSM+jsp+mysql+maven)
Posted qq_1334611189
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目:医院住院管理系统(java+SSM+jsp+mysql+maven)相关的知识,希望对你有一定的参考价值。
一、项目简述
功能包括: 住院病人管理,住院病房管理,医生管理,药品管理,仪 器管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
后台角色操作service服务:
/**
* 后台角色操作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项目:医院住院管理系统(java+SSM+jsp+mysql+maven)的主要内容,如果未能解决你的问题,请参考以下文章
Java项目:医药住院管理系统设计和实现(java+ssm+mysql)
Java项目:医院人事管理系统(java+SSM+jsp+layui+Mysql)