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<DepartmentInfoMapper, DepartmentInfo> implements DepartmentService {
|
@Autowired
|
DepartmentInfoMapper departmentInfoMapper;
|
@Autowired
|
InvolveDepInfoMapper involveDepInfoMapper;
|
|
@Override
|
public void selectDataGrid(PageInfo pageInfo) {
|
Page<DepartmentVo> page = new Page<>(pageInfo.getPageIndex(), pageInfo.getPageSize());
|
List<OrderItem> 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<DepartmentVo> 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<DepartmentVo> selectByAll() {
|
List<DepartmentVo> 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<DepartmentInfo> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(DepartmentInfo::getIssafety,(byte)1);
|
return baseMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public DepartmentInfo selectAnalysis(Long id) {
|
LambdaQueryWrapper<DepartmentInfo> 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<String, Object> params = new HashMap<>();
|
params.put("name", name);
|
return departmentInfoMapper.selectCountForExam(params);
|
}
|
|
@Override
|
public List<DepartmentInfo> selectPageForExam(String name, Integer first, Integer pageSize) {
|
Map<String, Object> 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<DepartmentInfo> 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<DepartmentInfo> listDepByDepIds(List<Long> depIds) {
|
return departmentInfoMapper.listDepByDepIds(depIds);
|
}
|
|
@Override
|
public List<DepartmentInfo> listDepartmentInfoById() {
|
return departmentInfoMapper.listDepartmentInfoById();
|
}
|
}
|