public Iterable<SearchCriterion> getCriteriaToFindWaitingStateChange(final Entity assignmentToShift) { List<SearchCriterion> criterions = Lists.newArrayList(); criterions.add(SearchRestrictions.belongsTo(AssignmentToShiftStateChangeFields.ASSIGNMENT_TO_SHIFT, assignmentToShift)); criterions.add(SearchRestrictions.eq(AssignmentToShiftStateChangeFields.STATUS, StateChangeStatus.PAUSED.getStringValue())); return criterions; }
@Override public Entity findMergedByOperationComponent(Entity operationComponent) { return mergesProductInDD().find() .add(SearchRestrictions.and( SearchRestrictions.belongsTo(TechnologyOperationComponentMergeProductFields.OPERATION_COMPONENT, operationComponent), SearchRestrictions.belongsTo(TechnologyOperationComponentMergeProductFields.MERGED_OPERATION_COMPONENT, operationComponent))) .uniqueResult(); }
public Optional<Entity> findStorageLocationForProduct(final Entity product, final Entity location) { SearchCriteriaBuilder scb = getStorageLocationDD().find(); scb.add(SearchRestrictions.belongsTo(StorageLocationFields.PRODUCT, product)); scb.add(SearchRestrictions.belongsTo(StorageLocationFields.LOCATION, location)); return Optional.ofNullable(scb.setMaxResults(1).uniqueResult()); }
private boolean checkIfProductHasAlreadyBeenAdded(final Entity technologyOperationComponent, final Entity product) { SearchResult searchResult = dataDefinitionService .get(TechnologiesConstants.PLUGIN_IDENTIFIER, TechnologiesConstants.MODEL_OPERATION_PRODUCT_IN_COMPONENT) .find() .add(SearchRestrictions.belongsTo(OperationProductInComponentFields.OPERATION_COMPONENT, technologyOperationComponent)) .add(SearchRestrictions.belongsTo(OperationProductInComponentFields.PRODUCT, product)).list(); return !searchResult.getEntities().isEmpty(); }
public Optional<Entity> getDictionaryItemByOccupationTypeAttributes(final Map<String, String> occupationTypeAttributes) { List<Entity> dictionaryItems = getDictionaryItemDataDefinition() .find() .add(SearchRestrictions.belongsTo(L_DICTIONARY, getOcupationTypeDictionary())) .add(SearchRestrictions.or( SearchRestrictions.eq(L_TECHNICAL_CODE, occupationTypeAttributes.get(L_TECHNICAL_CODE.toLowerCase(Locale.ENGLISH))), SearchRestrictions.eq(L_NAME, occupationTypeAttributes.get(L_NAME.toLowerCase(Locale.ENGLISH))))).list() .getEntities(); return dictionaryItems.isEmpty() ? Optional.empty() : Optional.of(dictionaryItems.get(0)); }
private BigDecimal getConversion(Entity product, String unit, String additionalUnit) { PossibleUnitConversions unitConversions = unitConversionService.getPossibleConversions(unit, searchCriteriaBuilder -> searchCriteriaBuilder.add(SearchRestrictions.belongsTo( UnitConversionItemFieldsB.PRODUCT, product))); if (unitConversions.isDefinedFor(additionalUnit)) { return unitConversions.asUnitToConversionMap().get(additionalUnit); } else { return BigDecimal.ZERO; } }
@Override public SearchCriterion buildCriterionFor(final Entity batchEntity) { Entity supplier = batchEntity.getBelongsToField(BatchFields.SUPPLIER); return and(GLOBALLY.buildCriterionFor(batchEntity), belongsTo(BatchFields.SUPPLIER, supplier)); } },
@Override public SearchCriterion buildCriterionFor(final Entity batchEntity) { Entity product = batchEntity.getBelongsToField(BatchFields.PRODUCT); return and(SUPPLIER.buildCriterionFor(batchEntity), belongsTo(BatchFields.PRODUCT, product)); } };
private BigDecimal getConversion(Entity product, String unit, String additionalUnit) { PossibleUnitConversions unitConversions = unitConversionService.getPossibleConversions(unit, searchCriteriaBuilder -> searchCriteriaBuilder.add(SearchRestrictions.belongsTo( UnitConversionItemFieldsB.PRODUCT, product))); if (unitConversions.isDefinedFor(additionalUnit)) { return unitConversions.asUnitToConversionMap().get(additionalUnit); } else { return BigDecimal.ZERO; } }
private boolean hasSubassemblies(final Entity workstationType) { List<Entity> subassemblies = dataDefinitionService .get(BasicConstants.PLUGIN_IDENTIFIER, BasicConstants.MODEL_SUBASSEMBLY).find() .add(SearchRestrictions.belongsTo(SubassemblyFields.WORKSTATION_TYPE, workstationType)).list().getEntities(); return !subassemblies.isEmpty(); }
public List<Entity> getAssignmentToShift(final Entity assignmentToShiftReport) { return dataDefinitionService .get(AssignmentToShiftConstants.PLUGIN_IDENTIFIER, AssignmentToShiftConstants.MODEL_ASSIGNMENT_TO_SHIFT) .find() .add(SearchRestrictions.belongsTo(AssignmentToShiftFields.SHIFT, assignmentToShiftReport.getBelongsToField(AssignmentToShiftReportFields.SHIFT))) .add(SearchRestrictions.belongsTo(AssignmentToShiftFields.FACTORY, assignmentToShiftReport.getBelongsToField(AssignmentToShiftReportFields.FACTORY))).list().getEntities(); }
public void deactivateDictionaryItems(final Collection<String> technicalCodes) { DataDefinition dictionaryItemDD = dictionariesService.getDictionaryItemDD(); List<Entity> dictionaryItems = dictionaryItemDD.find() .add(belongsTo(DictionaryItemFields.DICTIONARY, getAddressTypeDictionary())) .add(in(DictionaryItemFields.TECHNICAL_CODE, technicalCodes)).list().getEntities(); dictionaryItemDD.deactivate(dictionaryItems.stream().map(Entity::getId).toArray(Long[]::new)); }
public void updateRequestForQuotationsNumber(final DataDefinition negotiationProductDD, final Entity negotiationProduct) { Entity negotiation = negotiationProduct.getBelongsToField(NEGOTIATION); Entity product = negotiationProduct.getBelongsToField(PRODUCT); if (product != null) { int requestForQuotationsNumber = supplyNegotiationsService.getRequestForQuotationProductDD().find() .createAlias(REQUEST_FOR_QUOTATION, REQUEST_FOR_QUOTATION) .add(SearchRestrictions.belongsTo(PRODUCT, product)) .add(SearchRestrictions.belongsTo(REQUEST_FOR_QUOTATION + "." + NEGOTIATION, negotiation)).list() .getEntities().size(); negotiationProduct.setField(REQUEST_FOR_QUOTATIONS_NUMBER, requestForQuotationsNumber); } }
private List<Entity> getTransferTemplates(final Entity locationFrom, final Entity locationTo) { return dataDefinitionService .get(MaterialFlowMultitransfersConstants.PLUGIN_IDENTIFIER, MaterialFlowMultitransfersConstants.MODEL_TRANSFER_TEMPLATE).find().createAlias(PRODUCT, PRODUCT) .add(SearchRestrictions.belongsTo(LOCATION_FROM, locationFrom)) .add(SearchRestrictions.belongsTo(LOCATION_TO, locationTo)).addOrder(SearchOrders.asc(PRODUCT + "." + NAME)) .list().getEntities(); }
@Override public void updateProducedQuantity(final Entity order) { Entity basicProductionCounting = getBasicProductionCountingDD().find() .add(SearchRestrictions.belongsTo(BasicProductionCountingFields.ORDER, order)).add(SearchRestrictions .belongsTo(BasicProductionCountingFields.PRODUCT, order.getBelongsToField(OrderFields.PRODUCT))) .setMaxResults(1).uniqueResult(); if (Objects.nonNull(basicProductionCounting)) { basicProductionCounting.setField(BasicProductionCountingFields.PRODUCED_QUANTITY, order.getDecimalField(OrderFields.DONE_QUANTITY)); basicProductionCounting.getDataDefinition().save(basicProductionCounting); } }
private void fillOperationRuns(final Map<Long, BigDecimal> operationRuns, final Entity order) { List<Entity> productionCountingOperationRuns = dataDefinitionService .get(BasicProductionCountingConstants.PLUGIN_IDENTIFIER, BasicProductionCountingConstants.MODEL_PRODUCTION_COUNTING_OPERATON_RUN).find() .add(SearchRestrictions.belongsTo(ProductionCountingQuantityFields.ORDER, order)).list().getEntities(); for (Entity productionCountingOperationRun : productionCountingOperationRuns) { Entity technologyOperationComponent = productionCountingOperationRun .getBelongsToField(ProductionCountingOperationRunFields.TECHNOLOGY_OPERATION_COMPONENT); BigDecimal runs = productionCountingOperationRun.getDecimalField(ProductionCountingOperationRunFields.RUNS); operationRuns.put(technologyOperationComponent.getId(), runs); } }
public Entity findFirstByNumberProductAndOptionallySupplier(final String number, final Entity product, final Entity supplier) { SearchCriteriaBuilder scb = getBatchDataDef().find(); scb.add(eq(BatchFields.NUMBER, number)); scb.add(belongsTo(BatchFields.PRODUCT, product)); scb.add(or(belongsTo(BatchFields.SUPPLIER, supplier), isNull(BatchFields.SUPPLIER))); scb.addOrder(asc(BatchFields.SUPPLIER)); scb.setMaxResults(1); return scb.uniqueResult(); }
public void updateFarestLimitDate(final DataDefinition negotiationDD, final Entity negotiation) { if (negotiation.getId() != null) { Entity negotiationProduct = negotiation.getHasManyField(NEGOTIATION_PRODUCTS).find() .add(SearchRestrictions.belongsTo(NEGOTIATION, negotiation)).addOrder(SearchOrders.desc(DUE_DATE)) .setMaxResults(1).uniqueResult(); if (negotiationProduct != null) { Date farestLimitDate = (Date) negotiationProduct.getField(DUE_DATE); negotiation.setField(FARTHEST_LIMIT_DATE, farestLimitDate); } } }
private boolean databaseHasToBePrepared() { return getDictionaryItemDataDefinition() .find() .add(SearchRestrictions.belongsTo(L_DICTIONARY, getOcupationTypeDictionary())) .add(SearchRestrictions.eq(DictionaryItemFields.ACTIVE, true)) .add(SearchRestrictions.or(SearchRestrictions.eq(L_TECHNICAL_CODE, "01workForLine"), SearchRestrictions.eq(L_TECHNICAL_CODE, "02otherCase"))).list().getTotalNumberOfEntities() == 0; }
private Entity getDictionaryItemWithProductionOnLine() { Entity occupationTypeDictionary = dataDefinitionService .get(QcadooModelConstants.PLUGIN_IDENTIFIER, QcadooModelConstants.MODEL_DICTIONARY).find() .add(SearchRestrictions.eq(DictionaryFields.NAME, L_OCCUPATION_TYPE)).uniqueResult(); return dataDefinitionService.get(QcadooModelConstants.PLUGIN_IDENTIFIER, QcadooModelConstants.MODEL_DICTIONARY_ITEM) .find().add(SearchRestrictions.belongsTo(DictionaryItemFields.DICTIONARY, occupationTypeDictionary)) .add(SearchRestrictions.eq(DictionaryItemFields.TECHNICAL_CODE, OccupationType.WORK_ON_LINE.getStringValue())) .uniqueResult(); }