r44 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity magalie-services/src/main/java/com/franciaflex/magalie/services/service
Author: bleny Date: 2013-03-26 17:39:09 +0100 (Tue, 26 Mar 2013) New Revision: 44 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: remove extra site if already present in order?\195?\169 Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java 2013-03-26 16:13:29 UTC (rev 43) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java 2013-03-26 16:39:09 UTC (rev 44) @@ -1,6 +1,7 @@ package com.franciaflex.magalie.persistence; import com.franciaflex.magalie.persistence.entity.Article; +import com.franciaflex.magalie.persistence.entity.Site; import com.franciaflex.magalie.persistence.entity.StorageMovement; import com.google.common.base.Function; import com.google.common.base.Predicate; @@ -16,6 +17,14 @@ } } + protected static class GetSiteFunction implements Function<StorageMovement, Site> { + + @Override + public Site apply(StorageMovement storageMovement) { + return storageMovement.getSite(); + } + } + protected static class StorageMovementIsConfirmedPredicate implements Predicate<StorageMovement> { @Override @@ -28,6 +37,10 @@ return new GetArticleFunction(); } + public static Function<StorageMovement, Site> getSiteFunction() { + return new GetSiteFunction(); + } + public static Predicate<StorageMovement> storageMovementIsConfirmed() { return new StorageMovementIsConfirmedPredicate(); } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java 2013-03-26 16:13:29 UTC (rev 43) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java 2013-03-26 16:39:09 UTC (rev 44) @@ -62,6 +62,9 @@ this.storageMovements = storageMovements; } + /** + * @deprecated use {@link #getStorageMovements()} + */ public Set<StorageMovement> getSites() { return storageMovements; } @@ -97,6 +100,18 @@ storageMovements.add(storageMovement); } + // TODO brendan 26/03/13 rename to getSites + public Set<Site> getSites2() { + Set<Site> sites = + Sets.newHashSet( + Iterables.transform( + getStorageMovements(), + StorageMovements.getSiteFunction() + ) + ); + return sites; + } + @Override public String toString() { return ToStringBuilder.reflectionToString(this); Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-03-26 16:13:29 UTC (rev 43) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-03-26 16:39:09 UTC (rev 44) @@ -141,20 +141,27 @@ Article article = storageMovementOrder.getArticle(); + Set<Site> sitesInOrder = storageMovementOrder.getSites2(); + List<StoredArticle> storedArticles = getStoredArticles(article); for (StoredArticle storedArticle : storedArticles) { - StorageMovement newStorageMovement = new StorageMovement(); + Site site = storedArticle.getSite(); - newStorageMovement.setArticle(article); + if ( ! sitesInOrder.contains(site)) { - newStorageMovement.setSite(storedArticle.getSite()); + StorageMovement newStorageMovement = new StorageMovement(); - newStorageMovement.setQuantity(0.); + newStorageMovement.setArticle(article); - storageMovementTask.addExtraStorageMovement(newStorageMovement); + newStorageMovement.setSite(site); + newStorageMovement.setQuantity(0.); + + storageMovementTask.addExtraStorageMovement(newStorageMovement); + + } } return storageMovementTask;
participants (1)
-
bleny@users.forge.codelutin.com