lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductMixServiceImpl.java
@@ -1,9 +1,7 @@
package org.jeecg.modules.dnc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.dnc.entity.ProductMix;
import org.jeecg.modules.dnc.mapper.ProductMixMapper;
@@ -12,6 +10,9 @@
import org.jeecg.modules.dnc.utils.TreeBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
@@ -23,7 +24,16 @@
    @Override
    public List<ProductMix> getTree() {
        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        List<ProductMix> rawData = permissionStreamNewService.loadProductMix(loginUser.getId());
        List<ProductMix> rawData = new ArrayList<>();
        if (loginUser.getUsername().equals("admin")) {
            //不需要权限过滤
            rawData=permissionStreamNewService.loadProductMixAll(loginUser.getId());
        }else{
            //需要权限过滤
            String productIds = loginUser.getProductionIds();
            List<String> productIdList = Arrays.asList(productIds.split(","));
            rawData = permissionStreamNewService.loadProductMix(loginUser.getId(),productIdList);
        }
        TreeBuilder builder = new TreeBuilder();
        TreeBuilder.CleanResult cleanResult = builder.preprocessData(rawData);
        List<ProductMix> sorted = builder.topologicalSort(
@@ -32,4 +42,4 @@
        );
        return builder.assembleTree(sorted, cleanResult.getNodeMap());
    }
}
}