|
@@ -1,16 +1,97 @@
|
|
|
package com.imed.costaccount.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.imed.costaccount.common.exception.CostException;
|
|
|
+import com.imed.costaccount.common.util.BeanUtil;
|
|
|
+import com.imed.costaccount.common.util.PageUtils;
|
|
|
import com.imed.costaccount.mapper.DepartmentMapper;
|
|
|
import com.imed.costaccount.model.Department;
|
|
|
+import com.imed.costaccount.model.dto.DepartmentDto;
|
|
|
+import com.imed.costaccount.model.dto.DepartmentRequest;
|
|
|
+import com.imed.costaccount.model.vo.DepartmentVO;
|
|
|
import com.imed.costaccount.service.DepartmentService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import java.util.Map;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
@Service("departmentService")
|
|
|
public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 分页查询科室信息
|
|
|
+ *
|
|
|
+ * @param page
|
|
|
+ * @param pageSize
|
|
|
+ * @param hospId
|
|
|
+ * @param name
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public PageUtils queryList(Integer page, Integer pageSize,Integer hospId, String name) {
|
|
|
+ Page<Department> departPage = new Page<>(page, pageSize);
|
|
|
+ Page<Department> pages = this.page(departPage, new QueryWrapper<Department>().lambda()
|
|
|
+ .eq(!StringUtils.isEmpty(hospId), Department::getHospId, hospId)
|
|
|
+ .like(!StringUtils.isEmpty(name), Department::getDepartmentName, name));
|
|
|
+ List<Department> records = pages.getRecords();
|
|
|
+ List<DepartmentVO> departmentVOList = BeanUtil.convertList(records, DepartmentVO.class);
|
|
|
+ PageUtils pageUtils = new PageUtils(pages);
|
|
|
+ pageUtils.setList(departmentVOList);
|
|
|
+ return pageUtils;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据指定条件查询科室的相关信息
|
|
|
+ *
|
|
|
+ * @param departmentDto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Department> getByDepartment(DepartmentDto departmentDto) {
|
|
|
+ LambdaQueryWrapper<Department> wrapper = new QueryWrapper<Department>().lambda()
|
|
|
+ .eq(!StringUtils.isEmpty(departmentDto.getId()), Department::getId, departmentDto.getId())
|
|
|
+ .like(!StringUtils.isEmpty(departmentDto.getDepartmentName()), Department::getDepartmentName, departmentDto.getDepartmentName())
|
|
|
+ .eq(!StringUtils.isEmpty(departmentDto.getDepartmentCode()), Department::getDepartmentCode, departmentDto.getDepartmentCode())
|
|
|
+ .eq(!StringUtils.isEmpty(departmentDto.getHospId()), Department::getHospId, departmentDto.getHospId());
|
|
|
+ List<Department> departmentList = baseMapper.selectList(wrapper);
|
|
|
+ return departmentList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存科室信息
|
|
|
+ *
|
|
|
+ * @param departmentRequest
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void addDepartment(DepartmentRequest departmentRequest) {
|
|
|
+ Department department = BeanUtil.convertObj(departmentRequest, Department.class);
|
|
|
+ department.setId(null);
|
|
|
+ department.setCreateTime(System.currentTimeMillis());
|
|
|
+ baseMapper.insert(department);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改科室信息
|
|
|
+ *
|
|
|
+ * @param departmentRequest
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateByDepartment(DepartmentRequest departmentRequest) {
|
|
|
+ Integer id = departmentRequest.getId();
|
|
|
+ Department department = baseMapper.selectById(id);
|
|
|
+ if (Objects.isNull(department)){
|
|
|
+ throw new CostException("未找到相关科室信息");
|
|
|
+ }
|
|
|
+ baseMapper.deleteById(id);
|
|
|
+ // 新增操作
|
|
|
+ department.setId(null);
|
|
|
+ department.setCreateTime(System.currentTimeMillis());
|
|
|
+ baseMapper.insert(department);
|
|
|
+ }
|
|
|
}
|