package org.jeecg.modules.dnc.service.support;
|
|
import org.jeecg.modules.dnc.entity.PartsInfo;
|
import org.jeecg.modules.dnc.entity.ProductInfo;
|
import org.jeecg.modules.dnc.response.CommonGenericTree;
|
import org.jeecg.modules.dnc.entity.ComponentInfo;
|
import org.jeecg.modules.dnc.dto.ComponentExt;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
public class ProductTreeWrapper {
|
|
public static List<CommonGenericTree> loadTree(List<ProductInfo> productInfoList, List<ComponentExt> componentInfoList, List<PartsInfo> partsInfoList) {
|
List<CommonGenericTree> tree = new ArrayList<CommonGenericTree>();// TreeNode集合,存放所有树对象。
|
Map<String, CommonGenericTree> productMap = new HashMap<>();
|
Map<String, CommonGenericTree> componentMap = new HashMap<>();
|
CommonGenericTree<ProductInfo> node;
|
CommonGenericTree<ComponentInfo> componentNode;
|
CommonGenericTree<PartsInfo> partsNode;
|
for(ProductInfo productInfo : productInfoList) {
|
node = new CommonGenericTree();
|
node.setId(productInfo.getProductId());
|
node.setLabel("[" + productInfo.getProductNo()+ "]" + productInfo.getProductName());
|
node.setParentId(productInfo.getProductId());
|
node.setIconClass("");
|
node.setType(1);
|
node.setEntity(productInfo);
|
tree.add(node);
|
productMap.put(productInfo.getProductId(), node);
|
}
|
|
List<CommonGenericTree> commonJsonTreeList = ComponentTreeWrapper.loadTree(componentInfoList);
|
for(CommonGenericTree compNode : commonJsonTreeList) {
|
componentMap = CommonGenericTree.getLeafNode(componentMap, compNode);
|
if(productMap.containsKey(compNode.getRField())) {
|
node = productMap.get(compNode.getRField());
|
compNode.setParentId(node.getId());
|
node.addChildren(compNode);
|
}
|
}
|
|
for(PartsInfo parts : partsInfoList) {
|
partsNode = new CommonGenericTree();
|
partsNode.setId(parts.getPartsId());
|
partsNode.setLabel("[" + parts.getPartsCode()+ "]" + parts.getPartsName());
|
partsNode.setParentId(null);
|
partsNode.setIconClass("");
|
partsNode.setType(3);
|
partsNode.setRField(parts.getComponentId());
|
partsNode.setEntity(parts);
|
if(componentMap.containsKey(partsNode.getRField())) {
|
componentNode = componentMap.get(partsNode.getRField());
|
partsNode.setParentId(componentNode.getId());
|
componentNode.addChildren(partsNode);
|
}
|
}
|
return tree;
|
}
|
|
public static List<CommonGenericTree> loadTree(List<ProductInfo> productInfoList) {
|
List<CommonGenericTree> tree = new ArrayList<CommonGenericTree>();// TreeNode集合,存放所有树对象。
|
CommonGenericTree<ProductInfo> node;
|
for(ProductInfo productInfo : productInfoList) {
|
node = new CommonGenericTree();
|
node.setId(productInfo.getProductId());
|
// node.setLabel("[" + productInfo.getProductNo()+ "]" + productInfo.getProductName());
|
node.setLabel(productInfo.getProductName());
|
//node.setParentId(null);
|
node.setIconClass("");
|
node.setType(1);
|
node.setEntity(productInfo);
|
tree.add(node);
|
}
|
return tree;
|
}
|
}
|