hyingbo
3 天以前 c33eedaf999b84dd8377aba96d8aeeeba264b4f6
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -4,9 +4,11 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.dto.message.MessageDTO;
@@ -429,6 +431,9 @@
                        case 22:
                            mdcEquipmentMonitor.setOporationDict("报警");
                            break;
                        case 5:
                            mdcEquipmentMonitor.setOporationDict("故障");
                            break;
                        default:
                            mdcEquipmentMonitor.setOporationDict("关机");
                            break;
@@ -626,6 +631,21 @@
            List<String> allProductionIdsByKey = partProduction.stream().filter(allProductionIds::contains).collect(Collectors.toList());
            equipmentIds = this.baseMapper.queryIdsByProductions(allProductionIdsByKey);
        }
        return equipmentIds;
    }
    /**
     * 查询产线下的所有设备
     */
    @Override
    public List<String> getEquipmentIdsProduction(String key) {
        List<String> partProduction = Lists.newArrayList();
        if (StringUtils.isNotEmpty(key)) {
            //key不为空,查询所有下级产线id
            partProduction = this.findAllProductions(key);
            partProduction.add(key);
        }
        List<String> equipmentIds = this.baseMapper.queryIdsByProductions(partProduction);
        return equipmentIds;
    }
@@ -1042,4 +1062,36 @@
        return this.baseMapper.findByProIdsAndType(allProductionIds, typeList);
    }
    @Override
    public List<MdcEquipment> getEquipmentList() {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        if (StringUtils.isNotEmpty(user.getEquipmentIds())) {
            return this.baseMapper.selectList(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, Arrays.asList(user.getEquipmentIds().split(StringPool.COMMA))));
        }
        //获取所有产线数据
        List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder));
        //根据用户id获取拥有的产线信息集合
        List<String> productionIds = mdcUserProductionService.queryProductionIdsByUserId(userId);
        List<String> allProductionIds = new ArrayList<>();
        //找到所有产线id的上级id
        if (productionIds != null && !productionIds.isEmpty()) {
            for (String productionId : productionIds) {
                this.getAllProductionIds(productionList, productionId, allProductionIds);
            }
        }
        //根据产线集合查找所有设备id
        if (allProductionIds.isEmpty()) {
            return null;
        }
        List<MdcEquipment> equipmentIds = this.baseMapper.getEquipmentList(allProductionIds);
        return equipmentIds;
    }
    @Override
    public List<String> getEquIdsByProIds(List<String> proIds) {
        return this.baseMapper.getEquIdsByProIds(proIds);
    }
}