package com.hxzk.gps.service.impl.Department;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.github.pagehelper.Page;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.hxzk.gps.controller.DepartMent.Results.DepartMentIconResult;
|
import com.hxzk.gps.controller.DepartMent.Results.DepartMentResult;
|
import com.hxzk.gps.controller.DepartMent.dto.DpeartMentIconTreeTableDto;
|
import com.hxzk.gps.controller.Person.Results.PersonResult;
|
import com.hxzk.gps.entity.Department.TbDepartMentIcon;
|
import com.hxzk.gps.entity.Department.TbDepartment;
|
import com.hxzk.gps.entity.System.TbSystemOperationLog;
|
import com.hxzk.gps.mapper.Department.TbDepartmentIconMapper;
|
import com.hxzk.gps.service.Company.TbCompanyService;
|
import com.hxzk.gps.service.Department.TbDepartMentIconService;
|
import com.hxzk.gps.service.System.TbSystemOperationLogService;
|
import com.hxzk.gps.util.AuToComplete;
|
import com.hxzk.gps.util.GetUser.UserInfoUtil;
|
import com.hxzk.gps.util.MessageUtils.MessageUtils;
|
import com.hxzk.gps.util.Result.ReturnMessage;
|
import com.hxzk.gps.util.Result.TableDto;
|
import com.hxzk.gps.controller.System.SystemLogUtil;
|
import com.hxzk.gps.util.Time.TimeUtil;
|
import com.hxzk.gps.util.UDP.UDP_Person;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.StringUtils;
|
|
import java.util.List;
|
import java.util.Optional;
|
import java.util.stream.Collectors;
|
|
@Service
|
public class TbDepartmentIconServiceImpl extends ServiceImpl<TbDepartmentIconMapper, TbDepartMentIcon> implements TbDepartMentIconService {
|
@Autowired
|
TbCompanyService companyService;
|
@Autowired
|
private TbSystemOperationLogService systemOperationLogService;
|
@Override
|
public DepartMentIconResult FindDepartmentIconInfo(DpeartMentIconTreeTableDto departmentIconTreeTableDto) {
|
// 创建查询包装器
|
QueryWrapper<TbDepartMentIcon> queryWrapper = new QueryWrapper<>();
|
|
// 处理部门 ID 为空的情况
|
if (StringUtils.isEmpty(departmentIconTreeTableDto.getDepartmentId())) {
|
List<Long> list = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId());
|
queryWrapper.in("companyid", list);
|
} else {
|
queryWrapper.eq("companyid", departmentIconTreeTableDto.getDepartmentId());
|
}
|
|
// 处理图标名称查询条件
|
Optional.ofNullable(departmentIconTreeTableDto.getIconname()).ifPresent(iconname ->
|
queryWrapper.like("iconname", iconname));
|
|
// 使用PageHelper进行分页查询
|
Page<TbDepartMentIcon> page = PageHelper.startPage(departmentIconTreeTableDto.getPageNum(), departmentIconTreeTableDto.getPageSize())
|
.doSelectPage(() -> baseMapper.selectList(queryWrapper));
|
|
// 封装图标列表
|
TableDto tableDto = new TableDto(page.getResult(), page.getPageNum(), page.getPageSize(), page.getTotal());
|
|
// 获取成功消息
|
String message = MessageUtils.getMessage("Success");
|
|
// 返回结果 - 根据DepartMentIconResult的构造函数调整参数
|
return new DepartMentIconResult(200, message, tableDto);
|
}
|
|
@Override
|
public ReturnMessage add(TbDepartMentIcon departMentIcon) {
|
/*
|
声明操作状态
|
* */
|
boolean isSuccess = false;
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("iconname",departMentIcon.getIconname());
|
queryWrapper.eq("company",departMentIcon.getCompany());
|
Integer count = Math.toIntExact(baseMapper.selectCount(queryWrapper));
|
if (count > 0){
|
return ReturnMessage.ReturnMessageError("IconRepeat");
|
}else{
|
try {
|
departMentIcon.setUsername(UserInfoUtil.getUserName());
|
departMentIcon.setAddtime(TimeUtil.GetTime());
|
departMentIcon.setCompanyid(UserInfoUtil.isNullGetCompanyId(departMentIcon.getCompanyid()));
|
baseMapper.insert(departMentIcon);
|
isSuccess = true;
|
}catch (Exception e){
|
|
}
|
return SystemLogUtil.handleAddResult(isSuccess,"IconAdd",departMentIcon.getIconname());
|
}
|
|
}
|
|
@Override
|
public ReturnMessage update(TbDepartMentIcon departMentIcon) {
|
/*
|
声明操作状态
|
* */
|
boolean isSuccess = false;
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("id",departMentIcon.getId());
|
try {
|
departMentIcon.setUsername(UserInfoUtil.getUserName());
|
departMentIcon.setAddtime(TimeUtil.GetTime());
|
baseMapper.update(departMentIcon,queryWrapper);
|
isSuccess = true;
|
}catch (Exception e){
|
|
}
|
return SystemLogUtil.handleUpdateResult(isSuccess,"IconUpdate",departMentIcon.getIconname());
|
}
|
|
@Override
|
public ReturnMessage delete(TbDepartMentIcon departMentIcon) {
|
/*
|
声明操作状态
|
* */
|
boolean isSuccess = false;
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("id",departMentIcon.getId());
|
try {
|
baseMapper.delete(queryWrapper);
|
isSuccess = true;
|
}catch (Exception e){
|
|
}
|
return SystemLogUtil.handleDeleteResult(isSuccess,"IconDelete",departMentIcon.getIconname());
|
}
|
|
@Override
|
public List<AuToComplete> DepartmentIconAutocomplete(TbDepartMentIcon departMentIcon) {
|
QueryWrapper<TbDepartMentIcon> queryWrapper = new QueryWrapper<>();
|
String id = Optional.ofNullable(departMentIcon.getCompanyid())
|
.filter(s -> !s.isEmpty())
|
.orElse(UserInfoUtil.getUserCompanyId());
|
queryWrapper.eq("companyid",id);
|
List<TbDepartMentIcon> departmentList = baseMapper.selectList(queryWrapper);
|
List<AuToComplete> addCustomerList = departmentList.stream()
|
.map(departmenticons -> {
|
AuToComplete addCustomer = new AuToComplete();
|
addCustomer.setValue(departmenticons.getIconadress());
|
addCustomer.setLabel(departmenticons.getIconname());
|
return addCustomer;
|
})
|
.collect(Collectors.toList());
|
|
return addCustomerList;
|
}
|
|
|
}
|