use of com.qcadoo.mes.technologiesGenerator.domain.ProductInfo in project mes by qcadoo.
the class TreeGenerator method buildEntity.
private Entity buildEntity(final TechnologyStructureNode node, final Entity generatorContext, final DataDefinition dataDefinition) {
ProductInfo productInfo = node.getProductInfo();
Entity entity = dataDefinition.create();
setUpChildrenField(node, generatorContext, dataDefinition, entity);
setBelongsToField(entity, GeneratorTreeNodeFields.GENERATOR_CONTEXT, generatorContext);
setBelongsToField(entity, GeneratorTreeNodeFields.PRODUCT, productInfo.getProduct().get());
setUpProductTechnologyFields(entity, productInfo);
setUpTechnologyInputProductTypeField(entity, productInfo);
entity.setField(GeneratorTreeNodeFields.DIFFERENT_PRODUCTS_IN_DIFFERENT_SIZES, productInfo.getDifferentProductsInDifferentSizes());
entity.setField(GeneratorTreeNodeFields.VARIOUS_QUANTITIES_IN_PRODUCTS_BY_SIZE, productInfo.getVariousQuantitiesInProductsBySize());
setUpOperationField(entity, productInfo);
setUpDivisionField(entity, productInfo);
setUpTechnologyGeneratorAndPerformance(entity, productInfo);
entity.setField(GeneratorTreeNodeFields.QUANTITY, productInfo.getQuantity());
entity.setField(GeneratorTreeNodeFields.ENTITY_TYPE, node.getType().getStringValue());
entity.setField(GeneratorTreeNodeFields.UNIT, productInfo.getUnit());
setUpSizeGroupField(entity, productInfo);
return entity.getDataDefinition().save(entity);
}
use of com.qcadoo.mes.technologiesGenerator.domain.ProductInfo 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);
}
Aggregations