DepartmentServiceImpl.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.imed.costaccount.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.imed.costaccount.common.exception.CostException;
  5. import com.imed.costaccount.common.util.BeanUtil;
  6. import com.imed.costaccount.common.util.PageUtils;
  7. import com.imed.costaccount.mapper.DepartmentMapper;
  8. import com.imed.costaccount.model.Department;
  9. import com.imed.costaccount.model.dto.DepartmentDto;
  10. import com.imed.costaccount.model.dto.DepartmentRequest;
  11. import com.imed.costaccount.model.vo.DepartmentVO;
  12. import com.imed.costaccount.service.DepartmentService;
  13. import org.springframework.stereotype.Service;
  14. import java.util.List;
  15. import java.util.Objects;
  16. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  17. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  18. import org.springframework.util.StringUtils;
  19. @Service("departmentService")
  20. public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
  21. /**
  22. * 分页查询科室信息
  23. *
  24. * @param page
  25. * @param pageSize
  26. * @param hospId
  27. * @param name
  28. * @return
  29. */
  30. @Override
  31. public PageUtils queryList(Integer page, Integer pageSize,Integer hospId, String name) {
  32. Page<Department> departPage = new Page<>(page, pageSize);
  33. Page<Department> pages = this.page(departPage, new QueryWrapper<Department>().lambda()
  34. .eq(!StringUtils.isEmpty(hospId), Department::getHospId, hospId)
  35. .like(!StringUtils.isEmpty(name), Department::getDepartmentName, name));
  36. List<Department> records = pages.getRecords();
  37. List<DepartmentVO> departmentVOList = BeanUtil.convertList(records, DepartmentVO.class);
  38. PageUtils pageUtils = new PageUtils(pages);
  39. pageUtils.setList(departmentVOList);
  40. return pageUtils;
  41. }
  42. /**
  43. * 根据指定条件查询科室的相关信息
  44. * @param id
  45. * @param departmentName
  46. * @param departmentCode
  47. * @param hospId
  48. * @return
  49. */
  50. @Override
  51. public List<Department> getByDepartment(Integer id,String departmentName,String departmentCode,Integer hospId) {
  52. LambdaQueryWrapper<Department> wrapper = new QueryWrapper<Department>().lambda()
  53. .eq(!StringUtils.isEmpty(id), Department::getId, id)
  54. .like(!StringUtils.isEmpty(departmentName), Department::getDepartmentName, departmentName)
  55. .eq(!StringUtils.isEmpty(departmentCode), Department::getDepartmentCode, departmentCode)
  56. .eq(!StringUtils.isEmpty(hospId), Department::getHospId, hospId);
  57. List<Department> departmentList = baseMapper.selectList(wrapper);
  58. return departmentList;
  59. }
  60. /**
  61. * 保存科室信息
  62. *
  63. * @param departmentRequest
  64. */
  65. @Override
  66. public void addDepartment(DepartmentRequest departmentRequest) {
  67. Department department = BeanUtil.convertObj(departmentRequest, Department.class);
  68. department.setId(null);
  69. department.setCreateTime(System.currentTimeMillis());
  70. baseMapper.insert(department);
  71. }
  72. /**
  73. * 修改科室信息
  74. *
  75. * @param departmentRequest
  76. */
  77. @Override
  78. public void updateByDepartment(DepartmentRequest departmentRequest) {
  79. Integer id = departmentRequest.getId();
  80. Department department = baseMapper.selectById(id);
  81. if (Objects.isNull(department)){
  82. throw new CostException("未找到相关科室信息");
  83. }
  84. baseMapper.deleteById(id);
  85. // 新增操作
  86. department.setId(null);
  87. department.setCreateTime(System.currentTimeMillis());
  88. baseMapper.insert(department);
  89. }
  90. }