private boolean existsAnyBatchMatchingCriterion(final DataDefinition batchDD, final SearchCriterion criterion) { SearchCriteriaBuilder scb = batchDD.find(); scb.add(criterion); // to decrease mapping overhead scb.setProjection(alias(id(), "id")); return scb.setMaxResults(1).uniqueResult() != null; }
private List<Entity> getDraftsOrdersFromDB() { return dataDefinitionService .get(OrdersConstants.PLUGIN_IDENTIFIER, OrdersConstants.MODEL_ORDER) .find() .add(SearchRestrictions.isNotNull(OrderFieldsPC.TYPE_OF_PRODUCTION_RECORDING)) .add(SearchRestrictions.isNotNull(OrderFields.TECHNOLOGY)) .add(SearchRestrictions.eq(OrderFields.STATE, OrderStateStringValues.PENDING)) .add(SearchRestrictions.eq(OrderFields.ACTIVE, true)).list().getEntities(); } }
public List<Entity> find(final SearchCriterion criteria, final SearchOrder... searchOrders) { SearchCriteriaBuilder pfdCriteriaBuilder = getPfdDataDefinition().find(); if (criteria != null) { pfdCriteriaBuilder.add(criteria); } for (SearchOrder searchOrder : searchOrders) { pfdCriteriaBuilder.addOrder(searchOrder); } return pfdCriteriaBuilder.list().getEntities(); }
private Entity getLocationMinimumStateByProductAndLocation(final DataDefinition locationMinimumStateDD, final Entity product, final Entity location) { return locationMinimumStateDD.find().add(SearchRestrictions.belongsTo(WarehouseMinimumStateFields.PRODUCT, product)) .add(SearchRestrictions.belongsTo(WarehouseMinimumStateFields.LOCATION, location)).setMaxResults(1) .uniqueResult(); }
public Optional<Entity> findRoot(final long technologyId) { SearchCriteriaBuilder scb = getTocDataDefinition().find(); scb.createCriteria(TechnologyOperationComponentFields.TECHNOLOGY, "tech_alias", JoinType.INNER).add(idEq(technologyId)); scb.add(isNull(TechnologyOperationComponentFields.PARENT)); return Optional.fromNullable(scb.setMaxResults(1).uniqueResult()); }
public List<Entity> findOPOCs(Long technologyId) { SearchCriteriaBuilder scb = getOpocDD().find(); scb.createAlias(OperationProductOutComponentFields.OPERATION_COMPONENT, "toc", JoinType.INNER); scb.createAlias("toc." + TechnologyOperationComponentFields.TECHNOLOGY, "tech", JoinType.INNER); scb.add(eq("tech.id", technologyId)); return scb.list().getEntities(); }
public void showProductForTechnology(final SearchCriteriaBuilder scb, final FilterValueHolder filterValue) { Long productId = filterValue.getLong(PRODUCT_PARAMETER); scb.createAlias(TechnologyFields.PRODUCT, "c").add(SearchRestrictions.eq("c.id", productId)); scb.add(SearchRestrictions.isNull("technologyType")); }
private Set<Long> getIdsOfAcceptedLastRecords(final DataDefinition productionTrackingDD, final Long orderId) { SearchCriteriaBuilder scb = productionTrackingDD.find(); scb.add(SearchRestrictions.eq(ProductionTrackingFields.STATE, ProductionTrackingStateStringValues.ACCEPTED)); scb.add(SearchRestrictions.eq(ProductionTrackingFields.LAST_TRACKING, true)); scb.add(SearchRestrictions.eq(ProductionTrackingFields.ORDER + ".id", orderId)); scb.setProjection(SearchProjections.alias(SearchProjections.id(), "id")); List<Entity> result = scb.list().getEntities(); return Sets.newHashSet(Collections2.transform(result, FUNC_EXTRACT_PROJECTION_ID)); }
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(); }
private boolean reasonHasChanged(final Entity reasonTypeEntity, final DeviationModelDescriber deviationModelDescriber) { String reasonFieldName = deviationModelDescriber.getReasonTypeFieldName(); String reason = reasonTypeEntity.getStringField(reasonFieldName); DataDefinition reasonDD = dataDefinitionService.get(deviationModelDescriber.getModelPlugin(), deviationModelDescriber.getModelName()); SearchCriteriaBuilder scb = reasonDD.find(); scb.add(idEq(reasonTypeEntity.getId())); scb.add(eq(reasonFieldName, reason)); scb.setProjection(id()); return scb.setMaxResults(1).list().getTotalNumberOfEntities() == 0; }
@Override public List<Entity> getProductionTrackingsForOrder(final Entity order) { SearchCriteriaBuilder scb = getProductionTrackingDD().find(); scb.createCriteria(ProductionTrackingFields.ORDER, "ord_alias", JoinType.INNER).add(idEq(order.getId())); scb.add(SearchRestrictions.eq(ProductionTrackingFields.STATE, ProductionTrackingStateStringValues.ACCEPTED)); return scb.list().getEntities(); }
private SearchCriteriaBuilder prepareCriteriaBuilder(final DataDefinition orderDD, final TimeGapsContext context) { SearchCriteriaBuilder scb = orderDD.find(); scb.setProjection(buildProjection()); scb.add(buildCommonCriterion()); addProductionLineDomainCriteria(scb, context.getProductionLines()); scb.createAlias(OrderFields.TECHNOLOGY, OrderFields.TECHNOLOGY); return scb; }
private Collection<Long> getContextIds() { DataDefinition dataDef = getDataDefinition(); SearchCriteriaBuilder scb = dataDef.find(); scb.setProjection(SearchProjections.alias(SearchProjections.id(), "id")); List<Long> ids = Lists.newLinkedList(); for (Entity idProjection : scb.list().getEntities()) { ids.add((Long) idProjection.getField("id")); } return ids; }
private void applySearchOrder(final TechnologyRawInputProductComponentsCriteria criteria, final SearchCriteriaBuilder scb) { for (SearchOrder searchOrder : criteria.getSearchOrder().asSet()) { scb.addOrder(searchOrder); } }
private void createAliases(final SearchCriteriaBuilder scb) { scb.createAlias(TrackingOperationProductOutComponentFields.PRODUCTION_TRACKING, RECORD_ALIAS, JoinType.INNER); scb.createAlias(RECORD_ALIAS + DOT + ProductionTrackingFields.SHIFT, SHIFT_ALIAS, JoinType.INNER); scb.createAlias(RECORD_ALIAS + DOT + ProductionTrackingFields.TECHNOLOGY_OPERATION_COMPONENT, TOC_ALIAS, JoinType.LEFT); scb.createAlias(TrackingOperationProductOutComponentFields.PRODUCT, PRODUCT_ALIAS, JoinType.INNER); scb.createAlias(TOC_ALIAS + DOT + TechnologyOperationComponentFields.OPERATION, OPERATION_ALIAS, JoinType.LEFT); scb.createAlias(RECORD_ALIAS + DOT + ProductionTrackingFields.ORDER, ORDER_ALIAS, JoinType.INNER); }
private void setProjectionIfPresent(final SearchCriteriaBuilder scb, final Optional<SearchProjection> maybeProjection) { for (SearchProjection searchProjection : maybeProjection.asSet()) { scb.setProjection(searchProjection); } }
public Entity getDefaultAction() { return dataDefinitionService.get(CmmsMachinePartsConstants.PLUGIN_IDENTIFIER, CmmsMachinePartsConstants.MODEL_ACTION) .find().add(SearchRestrictions.eq(ActionFields.IS_DEFAULT, true)).setMaxResults(1).uniqueResult(); } }
public List<Entity> findOPICs(Long technologyId) { SearchCriteriaBuilder scb = getOpicDD().find(); scb.createAlias(OperationProductOutComponentFields.OPERATION_COMPONENT, "toc", JoinType.INNER); scb.createAlias("toc." + TechnologyOperationComponentFields.TECHNOLOGY, "tech", JoinType.INNER); scb.add(eq("tech.id", technologyId)); return scb.list().getEntities(); }
public void showAtachmentsForTechnologies(final SearchCriteriaBuilder scb, final FilterValueHolder filterValue) { List<Long> technologyIDs = Lists.newArrayList(); if (filterValue.has(TECHNOLOGY_IDS)) { technologyIDs = filterValue.getListOfLongs(TECHNOLOGY_IDS); } if (technologyIDs.isEmpty()) { technologyIDs.add(0L); } scb.createAlias(TechnologyAttachmentFields.TECHNOLOGY, "t").add(SearchRestrictions.in("t.id", technologyIDs)); }