package com.gk.hotwork.Service.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gk.hotwork.Domain.DepartmentInfo; import com.gk.hotwork.Domain.InvolveDepInfo; import com.gk.hotwork.Domain.Utils.PageInfo; import com.gk.hotwork.Domain.Utils.StringUtils; import com.gk.hotwork.Domain.Vo.DepartmentVo; import com.gk.hotwork.Mapper.InvolveDepInfoMapper; import com.gk.hotwork.Mapper.DepartmentInfoMapper; import com.gk.hotwork.Service.DepartmentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service("DepartmentService") public class DepartmentServiceImpl extends ServiceImpl implements DepartmentService { @Autowired DepartmentInfoMapper departmentInfoMapper; @Autowired InvolveDepInfoMapper involveDepInfoMapper; @Override public void selectDataGrid(PageInfo pageInfo) { Page page = new Page<>(pageInfo.getPageIndex(), pageInfo.getPageSize()); List orderItems = new ArrayList<>(); OrderItem orderItem = new OrderItem(); if (StringUtils.isNotBlank(pageInfo.getSort()) && StringUtils.isNotBlank(pageInfo.getOrder())) { orderItem.setAsc(pageInfo.getOrder().equalsIgnoreCase("ascending")); orderItem.setColumn(pageInfo.getSort()); }else { orderItem.setAsc(false); orderItem.setColumn("createddate"); } orderItems.add(orderItem); page.setOrders(orderItems); List list = departmentInfoMapper.selectDataGrid(page,pageInfo.getCondition()); for (DepartmentVo departmentVo : list){ InvolveDepInfo involveDepInfo = involveDepInfoMapper.selectByName(departmentVo.getDepartment()); if (involveDepInfo != null){ departmentVo.setIsinvolve((byte)1); }else { departmentVo.setIsinvolve((byte)0); } } pageInfo.setResult(list); pageInfo.setTotalCount(page.getTotal()); } @Override public DepartmentInfo selectExistByName(Long id, String department) { return departmentInfoMapper.selectExistByName(id,department); } @Override public List selectByAll() { List departmentVoList = departmentInfoMapper.selectByAll(); for (DepartmentVo departmentVo : departmentVoList){ InvolveDepInfo involveDepInfo = involveDepInfoMapper.selectByName(departmentVo.getDepartment()); if (involveDepInfo != null){ departmentVo.setIsinvolve((byte)1); }else { departmentVo.setIsinvolve((byte)0); } } return departmentVoList; } @Override public DepartmentInfo selectSafety(Long id) { return departmentInfoMapper.selectSafety(id); } @Override public DepartmentInfo selectSafetyDepartment() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(DepartmentInfo::getIssafety,(byte)1); return baseMapper.selectOne(wrapper); } @Override public DepartmentInfo selectAnalysis(Long id) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(DepartmentInfo::getIsanalysis,(byte)1); if (id != null){ wrapper.ne(DepartmentInfo::getId,id); } return baseMapper.selectOne(wrapper); } @Override public boolean isAnalysis(String department) { DepartmentInfo departmentInfo = selectDepByName(department); return departmentInfo.getIsanalysis() == 1; } @Override public Integer selectCountForExam(String name) { Map params = new HashMap<>(); params.put("name", name); return departmentInfoMapper.selectCountForExam(params); } @Override public List selectPageForExam(String name, Integer first, Integer pageSize) { Map params = new HashMap<>(); params.put("name", name); params.put("first", first); params.put("pageSize", pageSize); return departmentInfoMapper.selectPageForExam(params); } @Override public DepartmentInfo getInfoByName(String departmentName) { return departmentInfoMapper.getInfoByName(departmentName); } public DepartmentInfo selectDepByName(String department){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(DepartmentInfo::getDepartment,department); return baseMapper.selectOne(wrapper); } @Override public DepartmentInfo getDepartmentInfoById(Long depId) { return departmentInfoMapper.getDepartmentInfoById(depId); } @Override public List listDepByDepIds(List depIds) { return departmentInfoMapper.listDepByDepIds(depIds); } @Override public List listDepartmentInfoById() { return departmentInfoMapper.listDepartmentInfoById(); } }