Search in sources :

Example 1 with ProductId

use of com.qcadoo.mes.basic.product.domain.ProductId in project mes by qcadoo.

the class TechnologyStructureTreeDataProvider method buildProductInfo.

private ProductInfo buildProductInfo(final Entity projection, final Map<ProductId, TechnologyId> defaultTechnologies) {
    Optional<OperationProductInComponentId> opicId = Optional.ofNullable((Long) projection.getField("opicId")).map(OperationProductInComponentId::new);
    TechnologyOperationId tocId = new TechnologyOperationId((Long) projection.getField("tocId"));
    Optional<TechnologyOperationId> parentId = Optional.ofNullable((Long) projection.getField("parentId")).map(TechnologyOperationId::new);
    ProductId productId = buildProduct(projection);
    Optional<TechnologyId> prodTechnology = Optional.ofNullable(defaultTechnologies.get(productId));
    Optional<TechnologyInputProductTypeId> technologyInputProductType = Optional.ofNullable((Long) projection.getField("technologyInputProductTypeId")).map(TechnologyInputProductTypeId::new);
    boolean differentProductsInDifferentSizes = projection.getBooleanField("differentProductsInDifferentSizes");
    boolean variousQuantitiesInProductsBySize = projection.getBooleanField("variousQuantitiesInProductsBySize");
    OperationId operation = buildOperation(projection);
    BigDecimal quantity = projection.getDecimalField("quantity");
    boolean isIntermediate = projection.getBooleanField("isIntermediate");
    String givenUnit = projection.getStringField("givenUnit");
    Optional<SizeGroupId> sizeGroup = Optional.ofNullable((Long) projection.getField("sizeGroupId")).map(SizeGroupId::new);
    return new ProductInfo(opicId, tocId, parentId, productId, quantity, prodTechnology, prodTechnology, technologyInputProductType, differentProductsInDifferentSizes, variousQuantitiesInProductsBySize, operation, isIntermediate, givenUnit, sizeGroup);
}
Also used : ProductInfo(com.qcadoo.mes.technologiesGenerator.domain.ProductInfo) TechnologyId(com.qcadoo.mes.technologies.domain.TechnologyId) TechnologyInputProductTypeId(com.qcadoo.mes.technologies.domain.TechnologyInputProductTypeId) TechnologyOperationId(com.qcadoo.mes.technologies.tree.domain.TechnologyOperationId) OperationId(com.qcadoo.mes.technologies.domain.OperationId) ProductId(com.qcadoo.mes.basic.product.domain.ProductId) TechnologyOperationId(com.qcadoo.mes.technologies.tree.domain.TechnologyOperationId) BigDecimal(java.math.BigDecimal) SizeGroupId(com.qcadoo.mes.technologies.domain.SizeGroupId) OperationProductInComponentId(com.qcadoo.mes.technologies.domain.OperationProductInComponentId)

Example 2 with ProductId

use of com.qcadoo.mes.basic.product.domain.ProductId in project mes by qcadoo.

the class DefaultTechnologiesProvider method technologiesMapFrom.

private ImmutableMap<ProductId, TechnologyId> technologiesMapFrom(final List<Entity> projections) {
    Multimap<ProductId, Entity> projectionsByProduct = Multimaps.index(projections, p -> new ProductId((Long) p.getField("prodId")));
    Map<ProductId, Optional<TechnologyId>> technologiesByProduct = Maps.transformValues(projectionsByProduct.asMap(), this::flattenProjectionsToSingleTechId);
    Map<ProductId, Optional<TechnologyId>> nonEmptyTechs = Maps.filterValues(technologiesByProduct, Optional::isPresent);
    return ImmutableMap.copyOf(Maps.transformValues(nonEmptyTechs, Optional::get));
}
Also used : Entity(com.qcadoo.model.api.Entity) Optional(java.util.Optional) ProductId(com.qcadoo.mes.basic.product.domain.ProductId)

Aggregations

ProductId (com.qcadoo.mes.basic.product.domain.ProductId)2 OperationId (com.qcadoo.mes.technologies.domain.OperationId)1 OperationProductInComponentId (com.qcadoo.mes.technologies.domain.OperationProductInComponentId)1 SizeGroupId (com.qcadoo.mes.technologies.domain.SizeGroupId)1 TechnologyId (com.qcadoo.mes.technologies.domain.TechnologyId)1 TechnologyInputProductTypeId (com.qcadoo.mes.technologies.domain.TechnologyInputProductTypeId)1 TechnologyOperationId (com.qcadoo.mes.technologies.tree.domain.TechnologyOperationId)1 ProductInfo (com.qcadoo.mes.technologiesGenerator.domain.ProductInfo)1 Entity (com.qcadoo.model.api.Entity)1 BigDecimal (java.math.BigDecimal)1 Optional (java.util.Optional)1