private boolean checkCoverageLocations(final Entity materialRequirementCoverage) { List<Entity> coverageLocations = materialRequirementCoverage .getHasManyField(MaterialRequirementCoverageFields.COVERAGE_LOCATIONS); if (coverageLocations.isEmpty()) { materialRequirementCoverage.addGlobalError("orderSupplies.materialRequirementCoverage.emptyCoverageLocations"); return false; } return true; }
public boolean onDelete(final DataDefinition dataDefinition, final Entity division) { if (division.getHasManyField("operations").isEmpty() && division.getHasManyField("technologyOperationComponents").isEmpty()) { return true; } division.addGlobalError("basic.division.onDelete.error"); return false; }
private void checkifOfferHasOfferedProduct(final StateChangeContext stateChangeContext) { checkArgument(stateChangeContext != null, ENTITY_IS_NULL); final Entity stateChangeEntity = stateChangeContext.getOwner(); List<Entity> offerProducts = stateChangeEntity.getHasManyField(OFFER_PRODUCTS); if (offerProducts.isEmpty()) { stateChangeContext.addValidationError("supplyNegotiations.offer.offerProductsList.isEmpty"); } } }
public boolean checkIfAnyNotIssuedPositionsExists(final StateChangeContext stateChangeContext) { Entity warehouseIssue = stateChangeContext.getOwner(); List<Entity> issues = warehouseIssue.getHasManyField(WarehouseIssueFields.ISSUES); if (!issues.stream().filter(e -> !e.getBooleanField(IssueFields.ISSUED)).collect(Collectors.toList()).isEmpty()) { stateChangeContext.addValidationError("productFlowThruDivision.issue.state.complete.error.existsNotIssuedPositions"); return true; } return false; }
private boolean trySaveCorrectionCauses(final ViewDefinitionState view, final Entity ppsEntity) { List<Entity> savedCorrectionCauses = FluentIterable .from(ppsEntity.getHasManyField(ProductionPerShiftFields.PLANNED_PROGRESS_CORRECTION_TYPES)).transform(SAVE) .toList(); ppsEntity.setField(ProductionPerShiftFields.PLANNED_PROGRESS_CORRECTION_TYPES, savedCorrectionCauses); if (Iterables.all(savedCorrectionCauses, IS_VALID)) { return true; } setCorrectionCauses(view, savedCorrectionCauses); showValidationErrors(view, Collections.<ErrorMessage> emptyList()); return false; }
public boolean checkIfTransfersAreValid(final DataDefinition transformationsDD, final Entity transformations) { List<Entity> transfersConsumption = transformations.getHasManyField(TRANSFERS_CONSUMPTION); List<Entity> transfersProduction = transformations.getHasManyField(TRANSFERS_PRODUCTION); Iterable<Boolean> validationResults = Lists.newArrayList(areTransfersValid(transfersConsumption), areTransfersValid(transfersProduction), checkIfTransfersNumbersAreDistinct(transfersConsumption, transfersProduction), checkIfTransfersNumbersAreDistinct(transfersProduction, transfersConsumption)); return Iterables.all(validationResults, Predicates.equalTo(true)); }
private void updateProductFamilyChildrensNodeNumbers(final Entity product, final Entity parent) { List<Entity> productFamilyChildrens = product.getHasManyField(PRODUCT_FAMILY_CHILDRENS); for (Entity productFamilyChildren : productFamilyChildrens) { generateNodeNumber(productFamilyChildren, parent, true); updateProductFamilyChildrensNodeNumbers(productFamilyChildren, productFamilyChildren); } }
@Override public OperationWorkTime estimateTotalWorkTimeForTechnology(final Entity technology, final Map<Long, BigDecimal> operationRuns, final boolean includeTpz, final boolean includeAdditionalTime, final Entity productionLine, final boolean saved) { List<Entity> operationComponents = technology.getHasManyField(TechnologyFields.OPERATION_COMPONENTS); Map<Long, Integer> workstations = getWorkstationsMapFromTechnology(technology, productionLine); return estimateTotalWorkTime(operationComponents, operationRuns, includeTpz, includeAdditionalTime, workstations, saved); }
private void setAddressesCanBeDeleted(final Entity company) { List<Entity> addresses = company.getHasManyField(CompanyFields.ADDRESSES); addresses.forEach(address -> { address.setField(AddressFields.CAN_BE_DELETED, true); address = address.getDataDefinition().save(address); }); }
private void calculateReservationQuantities(final DataDefinition orderedProductDD, final Entity orderedProduct) { EntityList reservations = orderedProduct.getHasManyField(OrderedProductFields.RESERVATIONS); if (reservations != null) { BigDecimal conversion = orderedProduct.getDecimalField(OrderedProductFields.CONVERSION); for (Entity reservation : reservations) { BigDecimal orderedQuantity = reservation.getDecimalField(OrderedProductReservationFields.ORDERED_QUANTITY); BigDecimal newAdditionalQuantity = orderedQuantity.multiply(conversion, numberService.getMathContext()); newAdditionalQuantity = newAdditionalQuantity.setScale(NumberService.DEFAULT_MAX_FRACTION_DIGITS_IN_DECIMAL, RoundingMode.HALF_UP); reservation.setField(OrderedProductReservationFields.ADDITIONAL_QUANTITY, newAdditionalQuantity); } } }
public void restrictToUserLocations(final SearchCriteriaBuilder scb, final FilterValueHolder filterValue) { Long currentUserId = securityService.getCurrentUserId(); if (Objects.nonNull(currentUserId)) { EntityList userLocations = userDataDefinition().get(currentUserId).getHasManyField(UserFieldsMF.USER_LOCATIONS); if (!userLocations.isEmpty()) { Set<Integer> locationIds = userLocations.stream().map(ul -> ul.getBelongsToField(UserLocationFields.LOCATION)) .mapToInt(e -> e.getId().intValue()).boxed().collect(Collectors.toSet()); scb.add(SearchRestrictions.in(LOCATION_ID, locationIds)); } } }
private boolean checkReasonNeeded(final Entity order, final String dateFieldName, final String reasonTypeFieldName, final String messageTranslationKey) { if (order.getField(dateFieldName) != null && order.getHasManyField(reasonTypeFieldName).isEmpty()) { order.addError(order.getDataDefinition().getField(reasonTypeFieldName), messageTranslationKey); return false; } return true; }
public boolean onDelete(final DataDefinition generatorContextDD, final Entity generatorContext) { if(!generatorContext.getDataDefinition().get(generatorContext.getId()).getHasManyField("technologies").isEmpty()){ generatorContext.addGlobalError("technologiesGenerator.generate.deleteContext.error", false); return false; } return true; } }
private boolean checkIfOrderHasProductionTrackings(final Entity order) { SearchResult searchResult = order.getHasManyField(OrderFieldsPC.PRODUCTION_TRACKINGS).find() .add(SearchRestrictions.eq(ProductionTrackingFields.STATE, ProductionTrackingStateStringValues.DRAFT)).list(); return (searchResult.getTotalNumberOfEntities() > 0); }
@RunInPhase(WarehouseIssueStateChangePhase.LAST) @RunForStateTransition(sourceState = WarehouseIssueStringValues.DRAFT, targetState = WarehouseIssueStringValues.DISCARD) @After(PHASE_EXECUTION_POINTCUT) public void onDiscard(final StateChangeContext stateChangeContext, final int phase) { Entity warehouseIssue = stateChangeContext.getOwner(); EntityList productsToIssue = warehouseIssue.getHasManyField(WarehouseIssueFields.PRODUCTS_TO_ISSUES); productsToIssue.forEach(productToIssue -> { reservationsServiceForProductsToIssue.deleteReservationFromProductToIssue(productToIssue); }); }
private List<Entity> getSimpleStaffAssignmentToShifts(final Entity assignmentToShift) { return assignmentToShift .getHasManyField(AssignmentToShiftFields.STAFF_ASSIGNMENT_TO_SHIFTS) .find() .add(SearchRestrictions.eq(StaffAssignmentToShiftFields.STATE, StaffAssignmentToShiftState.SIMPLE.getStringValue())).list().getEntities(); }
private Entity getPrepareOrderDate(final Entity delivery) { return delivery.getHasManyField(DeliveryFields.STATE_CHANGES).find() .add(SearchRestrictions.eq(DeliveryStateChangeFields.TARGET_STATE, "02prepared")) .add(SearchRestrictions.eq(DeliveryStateChangeFields.STATUS, "03successful")).setMaxResults(1).uniqueResult(); }
private Entity getPrepareOrderDate(final Entity delivery) { return delivery.getHasManyField(DeliveryFields.STATE_CHANGES).find() .add(SearchRestrictions.eq(DeliveryStateChangeFields.TARGET_STATE, "02prepared")) .add(SearchRestrictions.eq(DeliveryStateChangeFields.STATUS, "03successful")).setMaxResults(1).uniqueResult(); }
public Entity getLastTechnologyStateChange(Entity technology) { return technology.getHasManyField(TechnologyFields.STATE_CHANGES).find() .add(SearchRestrictions.eq(TechnologyStateChangeFields.STATUS, StateChangeStatus.SUCCESSFUL.getStringValue())) .addOrder(SearchOrders.desc(TechnologyStateChangeFields.DATE_AND_TIME)).setMaxResults(1).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); } } }