private Entity getWorkstationTypesSumProjection(final Long productionLineId, final String workstationTypeNumber) { SearchCriteriaBuilder scb = getWorkstationTypeComponentDD().find(); scb.createCriteria(WorkstationTypeComponentFields.PRODUCTIONLINE, "pl").add(idEq(productionLineId)); scb.createCriteria(WorkstationTypeComponentFields.WORKSTATIONTYPE, "wt").add( eq(WorkstationTypeFields.NUMBER, workstationTypeNumber)); scb.setProjection(list().add(alias(sum(WorkstationTypeComponentFields.QUANTITY), "sum")).add(rowCount())); scb.addOrder(asc("sum")); return scb.setMaxResults(1).uniqueResult(); }
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 List<Entity> findAllTechnologies() { DataDefinition technologyDD = dataDefinitionService.get(TechnologiesConstants.PLUGIN_IDENTIFIER, TechnologiesConstants.MODEL_TECHNOLOGY); return technologyDD.find().add(SearchRestrictions.isNull(TechnologyFields.TECHNOLOGY_TYPE)) .add(SearchRestrictions.eq(TechnologyFields.ACTIVE, true)).addOrder(SearchOrders.asc(TechnologyFields.NUMBER)) .list().getEntities(); }
private boolean productWithEanAlreadyExists(final DataDefinition productDD, final String notEmptyEan) { SearchCriteriaBuilder scb = productDD.find(); scb.setProjection(SearchProjections.id()); scb.add(SearchRestrictions.eq(ProductFields.EAN, notEmptyEan)); return scb.setMaxResults(1).uniqueResult() != null; }
private void addCriteria(final SearchCriteriaBuilder scb, final Long productId) { scb.createAlias(AdditionalCodeFields.PRODUCT, L_PRODUCT, JoinType.INNER).add( SearchRestrictions.eq(L_PRODUCT + ".id", productId)); } }
public BigDecimal sumBelongingOrdersDoneQuantities(final Entity masterOrder, final Entity product) { SearchProjection quantitiesSumProjection = list().add(alias(sum(OrderFields.DONE_QUANTITY), QUANTITIES_SUM_ALIAS)) .add(rowCount()); SearchCriterion productCriterion = belongsTo(OrderFields.PRODUCT, product); List<Entity> quantitiesSumProjectionResults = findBelongingOrders(masterOrder, quantitiesSumProjection, productCriterion, SearchOrders.desc(QUANTITIES_SUM_ALIAS)); for (Entity entity : quantitiesSumProjectionResults) { return entity.getDecimalField(QUANTITIES_SUM_ALIAS); } return BigDecimal.ZERO; } }
private SearchProjection buildProjection() { SearchProjection lineIdProjection = alias(field(OrderFields.PRODUCTION_LINE + ".id"), PRODUCTION_LINE_ID_ALIAS); SearchProjection dateFromProjection = alias(field(OrderFields.START_DATE), DATE_FROM_ALIAS); SearchProjection dateToProjection = alias(field(OrderFields.FINISH_DATE), DATE_TO_ALIAS); SearchProjection technologyId = alias(field(OrderFields.TECHNOLOGY + ".id"), TECHNOLOGY_ID_ALIAS); SearchProjection technologyGroupId = alias( field(OrderFields.TECHNOLOGY + "." + TechnologyFields.TECHNOLOGY_GROUP + ".id"), TECHNOLOGY_GROUP_ID_ALIAS); SearchProjection ownChangeoverDurationProjection = alias(field(OrderFieldsLCNFO.OWN_LINE_CHANGEOVER_DURATION), OrderFieldsLCNFO.OWN_LINE_CHANGEOVER_DURATION); return SearchProjections.list().add(dateFromProjection).add(dateToProjection).add(lineIdProjection).add(technologyId) .add(technologyGroupId).add(ownChangeoverDurationProjection); }