hyingbo
2025-06-12 1d681f4ef5bd06f4ae6ceff6e2a8abfc230fb657
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -4,6 +4,7 @@
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;
@@ -1020,4 +1021,58 @@
        return this.baseMapper.findByProductionIds(mdcProductionIds);
    }
    /**
     * 根据产线id集合和配送小组查询设备列表
     * @param mdcProductionIds
     * @param teamCodeList
     * @return
     */
    @Override
    public List<MdcEquipment> findByProIdsAndTeamCode(List<String> mdcProductionIds, List<String> teamCodeList) {
        return this.baseMapper.findByProIdsAndTeamCode(mdcProductionIds, teamCodeList);
    }
    /**
     * 根据产线id集合和设备类型查询设备列表
     * @param allProductionIds
     * @param typeList
     * @return
     */
    @Override
    public List<MdcEquipment> findByProIdsAndType(List<String> allProductionIds, List<String> typeList) {
        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);
    }
}