package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.inspect.dto.ApproveConfigDTO; import com.ruoyi.inspect.mapper.InsOrderMapper; import com.ruoyi.inspect.mapper.InsReportApproveConfigMapper; import com.ruoyi.inspect.pojo.InsReportApproveConfig; import com.ruoyi.inspect.service.InsReportApproveConfigService; import com.ruoyi.system.mapper.UserMapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @author 27233 * @description 针对表【ins_report_approve_config(报告审批签名配置)】的数据库操作Service实现 * @createDate 2024-12-10 09:36:10 */ @Service public class InsReportApproveConfigServiceImpl extends ServiceImpl implements InsReportApproveConfigService { @Autowired private UserMapper userMapper; @Autowired private InsOrderMapper insOrderMapper; @Override public List getApproveConfigList() { Integer userId = Integer.parseInt(SecurityUtils.getUserId()+""); User user = userMapper.selectById(userId);//当前登录的人 //获取当前人所属实验室id String departLimsId = user.getDepartLimsId(); String laboratory = null; if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.isEmpty()) { String[] split = departLimsId.split(","); //查询对应架构名称(通信实验室,电力实验室,检测办) String departLims = insOrderMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); if (departLims.contains("实验室")) { laboratory = departLims; } } return baseMapper.selectList(Wrappers.lambdaQuery() .eq(StringUtils.isNotBlank(laboratory),InsReportApproveConfig::getLaboratory,laboratory)); } @Override public InsReportApproveConfig getApproveConfigByLaboratory(String laboratory) { return baseMapper.selectOne(Wrappers.lambdaQuery() .eq(StringUtils.isNotBlank(laboratory),InsReportApproveConfig::getLaboratory,laboratory)); } @Override public Map>> getUserList() { //查询通信和电力下的人员信息 //查询当前登录人员的架构 Integer userId = Integer.parseInt(SecurityUtils.getUserId()+""); //判断全部,个人,组织的权限 User user = userMapper.selectById(userId);//当前登录的人 //获取当前人所属实验室id String laboratory = ""; String departLimsId = user.getDepartLimsId(); if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(departLimsId)) { String[] split = departLimsId.split(","); //查询对应架构名称(通信实验室,电力实验室,检测办) String departLims = userMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); if (departLims.contains("实验室")) { laboratory = departLims; } } return userMapper.getPersonList(laboratory).stream().collect(Collectors.groupingBy(m->m.get("depName").toString())); } @Override public boolean updateApproveConfig(ApproveConfigDTO approveConfigDTO) { if(!approveConfigDTO.getConfigList().isEmpty()){ approveConfigDTO.getConfigList().forEach(config->baseMapper.updateById(config)); return true; } throw new RuntimeException("更新失败"); } }