Author: bleny Date: 2013-04-24 15:06:30 +0200 (Wed, 24 Apr 2013) New Revision: 124 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: refs #2165 add case to work for all suppliers Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReceptionService.java trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ReceptionServiceTest.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareArticleReceptionAction.java trunk/magalie-web/src/main/webapp/WEB-INF/content/prepare-article-reception-input.jsp Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java 2013-04-24 12:48:43 UTC (rev 123) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java 2013-04-24 13:06:30 UTC (rev 124) @@ -33,6 +33,7 @@ List<StoredArticle> findAllForArticleInBuilding(Article article, Building building); - List<StoredArticle> findAllReceivedForSupplier(String supplierId); + List<StoredArticle> findAllReceivedForAllSupplier(Building building); + List<StoredArticle> findAllReceivedForSupplier(Building building, String supplierId); } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java 2013-04-24 12:48:43 UTC (rev 123) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java 2013-04-24 13:06:30 UTC (rev 124) @@ -58,8 +58,17 @@ } @Override - public List<StoredArticle> findAllReceivedForSupplier(String supplierId) { - TypedQuery<StoredArticle> query = createQuery("from StoredArticle sa where sa.location.code = :code and sa.article.supplier.id = :supplierId"); + public List<StoredArticle> findAllReceivedForAllSupplier(Building building) { + TypedQuery<StoredArticle> query = createQuery("from StoredArticle sa where sa.location.warehouse.building = :building and sa.location.code = :code"); + query.setParameter("building", building); + query.setParameter("code", Locations.codeForReceptionLocations()); + return findAll(query); + } + + @Override + public List<StoredArticle> findAllReceivedForSupplier(Building building, String supplierId) { + TypedQuery<StoredArticle> query = createQuery("from StoredArticle sa where sa.location.warehouse.building = :building and sa.location.code = :code and sa.article.supplier.id = :supplierId"); + query.setParameter("building", building); query.setParameter("supplierId", supplierId); query.setParameter("code", Locations.codeForReceptionLocations()); return findAll(query); Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReceptionService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReceptionService.java 2013-04-24 12:48:43 UTC (rev 123) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReceptionService.java 2013-04-24 13:06:30 UTC (rev 124) @@ -37,7 +37,7 @@ } - public List<StoredArticle> getReceivedArticles(String supplierId) { + public List<StoredArticle> getReceivedArticles(Building building, String supplierId) { MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); @@ -45,9 +45,18 @@ StoredArticleDao dao = persistenceContext.getStoredArticleDao(); - List<StoredArticle> receivedArticles = - dao.findAllReceivedForSupplier(supplierId); + List<StoredArticle> receivedArticles; + if (supplierId == null) { + + receivedArticles = dao.findAllReceivedForAllSupplier(building); + + } else { + + receivedArticles = dao.findAllReceivedForSupplier(building, supplierId); + + } + return receivedArticles; } Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ReceptionServiceTest.java =================================================================== --- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ReceptionServiceTest.java 2013-04-24 12:48:43 UTC (rev 123) +++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ReceptionServiceTest.java 2013-04-24 13:06:30 UTC (rev 124) @@ -66,19 +66,23 @@ public void testGetArticlesForSupplier() { List<StoredArticle> receivedArticles = - service.getReceivedArticles(supplier.getId()); + service.getReceivedArticles(building, supplier.getId()); Assert.assertEquals(1, receivedArticles.size()); Assert.assertEquals(article, receivedArticles.get(0).getArticle()); + receivedArticles = service.getReceivedArticles(building, null); // null = all suppliers + + Assert.assertEquals(2, receivedArticles.size()); + } @Test public void testGetReceptionTask() { List<StoredArticle> receivedArticles = - service.getReceivedArticles(supplier.getId()); + service.getReceivedArticles(building, supplier.getId()); StoredArticle onlyElement = Iterables.getOnlyElement(receivedArticles); Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareArticleReceptionAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareArticleReceptionAction.java 2013-04-24 12:48:43 UTC (rev 123) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareArticleReceptionAction.java 2013-04-24 13:06:30 UTC (rev 124) @@ -51,8 +51,10 @@ @Override public String execute() { - receivedArticles = service.getReceivedArticles(supplierId); + Building building = session.getBuilding(); + receivedArticles = service.getReceivedArticles(building, supplierId); + return SUCCESS; } Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/prepare-article-reception-input.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/prepare-article-reception-input.jsp 2013-04-24 12:48:43 UTC (rev 123) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/prepare-article-reception-input.jsp 2013-04-24 13:06:30 UTC (rev 124) @@ -10,6 +10,12 @@ <s:a href="%{prepareArticleReceptionUrl}"><s:property value="name" /></s:a> </li> </s:iterator> + <li> + <s:url namespace="/" action="prepare-article-reception" id="prepareArticleReceptionUrl" /> + <s:a href="%{prepareArticleReceptionUrl}"> + Tous les fournisseurs + </s:a> + </li> </ul> <s:url namespace="/" action="choose-activity" id="chooseActivityUrl"/>