public List<Entity> getProductNodesWithCheckedTechnologies(final ViewDefinitionState view, final Entity order) { EntityTree tree = productStructureTreeService.generateProductStructureTree(view, order.getBelongsToField(OrderFields.TECHNOLOGY)); return tree .stream() .filter(node -> node.getStringField(ProductStructureTreeNodeFields.ENTITY_TYPE).equals(L_COMPONENT) && (node.getBelongsToField(ProductStructureTreeNodeFields.TECHNOLOGY) != null && node .getBelongsToField(ProductStructureTreeNodeFields.TECHNOLOGY) .getStringField(TechnologyFields.STATE).equals(TechnologyState.CHECKED.getStringValue()))) .collect(Collectors.toList()); }
public List<ComponentsCalculationHolder> fillBasicComponents(final EntityTree operationComponents) { List<ComponentsCalculationHolder> basicComponents = Lists.newArrayList(); Map<Long, Entity> componentsById = operationComponents.stream().collect(Collectors.toMap(x -> x.getId(), x -> x)); List<Entity> tocs = operationComponents.stream() .filter(pc -> L_COMPONENT.equals(pc.getStringField(TechnologyOperationComponentFields.TYPE_FROM_STRUCTURE_TREE))) .collect(Collectors.toList()); for (Entity toc : tocs) { if (toc.getHasManyField(TechnologyOperationComponentFields.OPERATION_PRODUCT_OUT_COMPONENTS).stream() .filter(op -> op.getBooleanField(OperationProductOutComponentFields.SET)).findAny().isPresent()) { List<Entity> setOperations = toc.getHasManyField(TechnologyOperationComponentFields.CHILDREN); for (Entity setOperation : setOperations) { Entity op = componentsById.get(setOperation.getId()); if (!L_COMPONENT.equals(op.getStringField(TechnologyOperationComponentFields.TYPE_FROM_STRUCTURE_TREE))) { ComponentsCalculationHolder component = new ComponentsCalculationHolder(op, op.getBelongsToField(TechnologyOperationComponentFields.PRODUCT_FROM_STRUCTURE_TREE)); basicComponents.add(component); } } } else { ComponentsCalculationHolder component = new ComponentsCalculationHolder(toc, toc.getBelongsToField(TechnologyOperationComponentFields.PRODUCT_FROM_STRUCTURE_TREE)); basicComponents.add(component); } } return basicComponents; }
Optional<Entity> maybeElement = tree.stream().filter(element -> element.getId() == factoryStructureId).findFirst();
productionLine); List<Entity> tocs = calculationOperationComponents.stream().map(e -> e.getBelongsToField("technologyOperationComponent")) .collect(Collectors.toList()); OperationTimesContainer operationTimes = operationWorkTimeService.estimateOperationsWorkTimes(tocs,