¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.dnc.service.support; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.jeecg.modules.dnc.entity.*; |
| | | 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<ProcessSpecVersion> processSpecVersionList, |
| | | List<ProcessStream> processStreams, List<WorkStep> workStepList) { |
| | | List<CommonGenericTree> tree = new ArrayList<CommonGenericTree>();// TreeNodeéåï¼åæ¾æææ å¯¹è±¡ã |
| | | Map<String, CommonGenericTree> productMap = new HashMap<>(); |
| | | Map<String, CommonGenericTree> componentMap = new HashMap<>(); |
| | | Map<String, CommonGenericTree> partsMap = new HashMap<>(); |
| | | Map<String, CommonGenericTree> pvsMap = new HashMap<>(); |
| | | Map<String, CommonGenericTree> processMap = new HashMap<>(); |
| | | CommonGenericTree<ProductInfo> node; |
| | | CommonGenericTree<ComponentInfo> componentNode; |
| | | CommonGenericTree<PartsInfo> partsNode; |
| | | CommonGenericTree<ProcessSpecVersion> pvsNode; |
| | | CommonGenericTree<ProcessStream> processNode; |
| | | CommonGenericTree<WorkStep> workStepNode; |
| | | 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); |
| | | } |
| | | partsMap.put(parts.getPartsId(), partsNode); |
| | | } |
| | | |
| | | //å·¥èºè§ç¨çæ¬åå¨é¶ä»¶ä¸ |
| | | for(ProcessSpecVersion processSpecVersion : processSpecVersionList) { |
| | | pvsNode = new CommonGenericTree(); |
| | | pvsNode.setId(processSpecVersion.getId()); |
| | | pvsNode.setLabel("[" + processSpecVersion.getProcessSpecVersionCode()+ "]" + processSpecVersion.getProcessSpecVersionName()); |
| | | pvsNode.setParentId(null); |
| | | pvsNode.setIconClass(""); |
| | | pvsNode.setType(4); |
| | | pvsNode.setRField(processSpecVersion.getPartsId()); |
| | | pvsNode.setEntity(processSpecVersion); |
| | | if(partsMap.containsKey(pvsNode.getRField())) { |
| | | partsNode = partsMap.get(pvsNode.getRField()); |
| | | pvsNode.setParentId(partsNode.getId()); |
| | | partsNode.addChildren(pvsNode); |
| | | } |
| | | pvsMap.put(processSpecVersion.getId(),pvsNode); |
| | | } |
| | | |
| | | //å·¥åºåå¨é¨ä»¶æè
å·¥èºè§ç¨çæ¬ä¸ |
| | | for(ProcessStream processStream : processStreams) { |
| | | processNode = new CommonGenericTree(); |
| | | processNode.setId(processStream.getProcessId()); |
| | | processNode.setLabel("[" + processStream.getProcessCode()+ "]" + processStream.getProcessName()); |
| | | processNode.setParentId(null); |
| | | processNode.setIconClass(""); |
| | | processNode.setType(5); |
| | | if (StrUtil.isEmpty(processStream.getPsvId())) { |
| | | //没æpartsIdï¼é¨ä»¶ä¸çå·¥åº |
| | | processNode.setRField(processStream.getComponentId()); |
| | | processNode.setEntity(processStream); |
| | | if(componentMap.containsKey(processNode.getRField())) { |
| | | componentNode = componentMap.get(processNode.getRField()); |
| | | processNode.setParentId(componentNode.getId()); |
| | | componentNode.addChildren(processNode); |
| | | } |
| | | }else { |
| | | //æpsvIdï¼é¶ä»¶ä¸çå·¥åº |
| | | processNode.setRField(processStream.getPsvId()); |
| | | processNode.setEntity(processStream); |
| | | if(pvsMap.containsKey(processNode.getRField())) { |
| | | pvsNode = pvsMap.get(processNode.getRField()); |
| | | processNode.setParentId(pvsNode.getId()); |
| | | pvsNode.addChildren(processNode); |
| | | } |
| | | } |
| | | processMap.put(processStream.getProcessId(),processNode); |
| | | } |
| | | |
| | | //å·¥æ¥åå¨å·¥åºä¸ |
| | | for (WorkStep workStep : workStepList) { |
| | | workStepNode = new CommonGenericTree(); |
| | | workStepNode.setId(workStep.getId()); |
| | | workStepNode.setLabel("[" + workStep.getStepCode() + "]" + workStep.getStepName()); |
| | | workStepNode.setParentId(null); |
| | | workStepNode.setIconClass(""); |
| | | workStepNode.setType(6); |
| | | workStepNode.setRField(workStep.getProcessId()); |
| | | workStepNode.setEntity(workStep); |
| | | if (processMap.containsKey(workStepNode.getRField())) { |
| | | processNode = processMap.get(workStepNode.getRField()); |
| | | workStepNode.setParentId(processNode.getId()); |
| | | processNode.addChildren(workStepNode); |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | } |