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.List; import java.util.Objects; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.util.StringUtils; @Service("departmentService") public class DepartmentServiceImpl extends ServiceImpl implements DepartmentService { /** * 分页查询科室信息 * * @param page * @param pageSize * @param hospId * @param name * @return */ @Override public PageUtils queryList(Integer page, Integer pageSize,Integer hospId, String name) { Page departPage = new Page<>(page, pageSize); Page pages = this.page(departPage, new QueryWrapper().lambda() .eq(!StringUtils.isEmpty(hospId), Department::getHospId, hospId) .like(!StringUtils.isEmpty(name), Department::getDepartmentName, name)); List records = pages.getRecords(); List departmentVOList = BeanUtil.convertList(records, DepartmentVO.class); PageUtils pageUtils = new PageUtils(pages); pageUtils.setList(departmentVOList); return pageUtils; } /** * 根据指定条件查询科室的相关信息 * @param id * @param departmentName * @param departmentCode * @param hospId * @return */ @Override public List getByDepartment(Integer id,String departmentName,String departmentCode,Integer hospId) { LambdaQueryWrapper wrapper = new QueryWrapper().lambda() .eq(!StringUtils.isEmpty(id), Department::getId, id) .like(!StringUtils.isEmpty(departmentName), Department::getDepartmentName, departmentName) .eq(!StringUtils.isEmpty(departmentCode), Department::getDepartmentCode, departmentCode) .eq(!StringUtils.isEmpty(hospId), Department::getHospId, hospId); List 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); } }