r43 - in trunk: magalie-services/src/main/java/com/franciaflex/magalie/services/service magalie-services/src/test/java/com/franciaflex/magalie/services/service magalie-web/src/main/java/com/franciaflex/magalie/web/action magalie-web/src/main/webapp/WEB-INF/content
Author: bleny Date: 2013-03-26 17:13:29 +0100 (Tue, 26 Mar 2013) New Revision: 43 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: refs #2163, make screen fulfilkanban screen works 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/FulfilKanbanService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedItemService.java trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp 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:12:17 UTC (rev 42) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-03-26 16:13:29 UTC (rev 43) @@ -39,7 +39,7 @@ this.serviceContext = serviceContext; } - public StorageMovementTask withdrawArticle(MagalieUser magalieUser, Article article, double requestedQuantity) throws UnavailableArticleException, RequiredDriverLicenceException { + public StorageMovementOrder bookArticle(MagalieUser magalieUser, Article article, double requestedQuantity) throws UnavailableArticleException, RequiredDriverLicenceException { Preconditions.checkNotNull(magalieUser); @@ -84,8 +84,6 @@ StorageMovementOrder storageMovementOrder = new StorageMovementOrder(); - StorageMovementTask storageMovementTask = new StorageMovementTask(storageMovementOrder); - double quantity = 0; Date orderDate = serviceContext.getNow(); @@ -117,10 +115,6 @@ storageMovementOrder.addStorageMovement(newStorageMovement); - } else { - - storageMovementTask.addExtraStorageMovement(newStorageMovement); - } } @@ -129,6 +123,40 @@ dao.persist(storageMovementOrder); + return storageMovementOrder; + + } + + public StorageMovementTask getStorageMovementTask(String storageMovementOrderId) { + + StorageMovementOrderDao dao = serviceContext.getStorageMovementOrderDao(); + + StorageMovementOrder storageMovementOrder = dao.findById(storageMovementOrderId); + + Preconditions.checkArgument( + storageMovementOrder != null, + "no storage movement order with id " + storageMovementOrderId); + + StorageMovementTask storageMovementTask = new StorageMovementTask(storageMovementOrder); + + Article article = storageMovementOrder.getArticle(); + + List<StoredArticle> storedArticles = getStoredArticles(article); + + for (StoredArticle storedArticle : storedArticles) { + + StorageMovement newStorageMovement = new StorageMovement(); + + newStorageMovement.setArticle(article); + + newStorageMovement.setSite(storedArticle.getSite()); + + newStorageMovement.setQuantity(0.); + + storageMovementTask.addExtraStorageMovement(newStorageMovement); + + } + return storageMovementTask; } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-03-26 16:12:17 UTC (rev 42) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-03-26 16:13:29 UTC (rev 43) @@ -2,9 +2,9 @@ import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.MagalieUser; +import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; import com.franciaflex.magalie.services.MagalieService; import com.franciaflex.magalie.services.MagalieServiceContext; -import com.franciaflex.magalie.services.StorageMovementTask; import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException; import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException; import com.franciaflex.magalie.services.exception.UnavailableArticleException; @@ -22,7 +22,7 @@ this.serviceContext = serviceContext; } - public StorageMovementTask fulfilKanbanTask( + public StorageMovementOrder fulfilKanbanTask( String articleBarcode, MagalieUser magalieUser) throws InvalidMagalieBarcodeException, UnavailableArticleException, @@ -42,14 +42,13 @@ ArticleStorageService articleStorageService = serviceContext.newService(ArticleStorageService.class); - - StorageMovementTask storageMovementTask = - articleStorageService.withdrawArticle( + StorageMovementOrder storageMovementOrder = + articleStorageService.bookArticle( magalieUser, article, quantityInKanban); - return storageMovementTask; + return storageMovementOrder; } } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedItemService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedItemService.java 2013-03-26 16:12:17 UTC (rev 42) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedItemService.java 2013-03-26 16:13:29 UTC (rev 43) @@ -27,9 +27,9 @@ import com.franciaflex.magalie.persistence.dao.MagalieUserDao; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.MagalieUser; +import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; import com.franciaflex.magalie.services.MagalieService; import com.franciaflex.magalie.services.MagalieServiceContext; -import com.franciaflex.magalie.services.StorageMovementTask; import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException; import com.franciaflex.magalie.services.exception.UnavailableArticleException; @@ -41,7 +41,7 @@ this.serviceContext = serviceContext; } - public StorageMovementTask getWithdrawTask() throws RequiredDriverLicenceException, UnavailableArticleException { + public StorageMovementOrder getWithdrawTask() throws RequiredDriverLicenceException, UnavailableArticleException { ArticleStorageService articleStorageService = serviceContext.newService(ArticleStorageService.class); @@ -53,14 +53,14 @@ Article article1 = articleDao.findById("article1"); - StorageMovementTask storageMovementTask = - articleStorageService.withdrawArticle( + StorageMovementOrder storageMovementOrder = + articleStorageService.bookArticle( alexandre, article1, 40. ); - return storageMovementTask; + return storageMovementOrder; } } Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java =================================================================== --- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-03-26 16:12:17 UTC (rev 42) +++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-03-26 16:13:29 UTC (rev 43) @@ -1,11 +1,11 @@ package com.franciaflex.magalie.services.service; -import com.franciaflex.magalie.services.AbstractMagalieServiceTest; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.Site; import com.franciaflex.magalie.persistence.entity.StorageMovement; -import com.franciaflex.magalie.services.StorageMovementTask; +import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; +import com.franciaflex.magalie.services.AbstractMagalieServiceTest; import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException; import com.franciaflex.magalie.services.exception.UnavailableArticleException; import com.google.common.collect.Iterables; @@ -38,12 +38,12 @@ MagalieUser basile = fixture("basile"); Article article = fixture("article1"); - StorageMovementTask storageMovementTask; + StorageMovementOrder storageMovementOrder; try { - storageMovementTask = service.withdrawArticle(basile, article, 100.); + storageMovementOrder = service.bookArticle(basile, article, 100.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } Assert.fail(); } catch (UnavailableArticleException e) { @@ -59,12 +59,12 @@ MagalieUser basile = fixture("basile"); Article article = fixture("article1"); - StorageMovementTask storageMovementTask; + StorageMovementOrder storageMovementOrder; try { - storageMovementTask = service.withdrawArticle(basile, article, 70.); + storageMovementOrder = service.bookArticle(basile, article, 70.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } Assert.fail(); } catch (RequiredDriverLicenceException e) { @@ -80,12 +80,12 @@ MagalieUser basile = fixture("basile"); Article article = fixture("article1"); - StorageMovementTask storageMovementTask = null; + StorageMovementOrder storageMovementOrder = null; try { - storageMovementTask = service.withdrawArticle(basile, article, 50.); + storageMovementOrder = service.bookArticle(basile, article, 50.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } } catch (RequiredDriverLicenceException e) { if (log.isDebugEnabled()) { @@ -99,7 +99,7 @@ Assert.fail(); } - Assert.assertEquals(1, storageMovementTask.getSites().size()); + Assert.assertEquals(1, storageMovementOrder.getSites().size()); } @Test @@ -107,12 +107,12 @@ MagalieUser alexandre = fixture("alexandre"); Article article = fixture("article1"); - StorageMovementTask storageMovementTask = null; + StorageMovementOrder storageMovementOrder = null; try { - storageMovementTask = service.withdrawArticle(alexandre, article, 50.); + storageMovementOrder = service.bookArticle(alexandre, article, 50.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } } catch (RequiredDriverLicenceException e) { if (log.isDebugEnabled()) { @@ -126,10 +126,10 @@ Assert.fail(); } - Assert.assertEquals(2, storageMovementTask.getSites().size()); - StorageMovement site1 = Iterables.get(storageMovementTask.getSites(), 0, null); + Assert.assertEquals(2, storageMovementOrder.getSites().size()); + StorageMovement site1 = Iterables.get(storageMovementOrder.getSites(), 0, null); Assert.assertEquals(-20., site1.getQuantity(), DELTA); - StorageMovement site2 = Iterables.get(storageMovementTask.getSites(), 1, null); + StorageMovement site2 = Iterables.get(storageMovementOrder.getSites(), 1, null); Assert.assertEquals(-30., site2.getQuantity(), DELTA); } @@ -141,18 +141,18 @@ Article article = fixture("article1"); - StorageMovementTask storageMovementTask = null; + StorageMovementOrder storageMovementOrder = null; try { - storageMovementTask = service.withdrawArticle(alexandre, article, 30.); + storageMovementOrder = service.bookArticle(alexandre, article, 30.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } - Assert.assertEquals(2, storageMovementTask.getSites().size()); - StorageMovement storageMovement1 = Iterables.get(storageMovementTask.getSites(), 0, null); + Assert.assertEquals(2, storageMovementOrder.getSites().size()); + StorageMovement storageMovement1 = Iterables.get(storageMovementOrder.getSites(), 0, null); Assert.assertEquals(-20., storageMovement1.getQuantity(), DELTA); Assert.assertEquals("B2", storageMovement1.getSite().getLocationCode()); - StorageMovement storageMovement2 = Iterables.get(storageMovementTask.getSites(), 1, null); + StorageMovement storageMovement2 = Iterables.get(storageMovementOrder.getSites(), 1, null); Assert.assertEquals(-10., storageMovement2.getQuantity(), DELTA); Assert.assertEquals("A1", storageMovement2.getSite().getLocationCode()); } catch (RequiredDriverLicenceException e) { @@ -168,12 +168,12 @@ } try { - storageMovementTask = service.withdrawArticle(cathy, article, 30.); + storageMovementOrder = service.bookArticle(cathy, article, 30.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } - Assert.assertEquals(1, storageMovementTask.getSites().size()); - StorageMovement storageMovement = Iterables.get(storageMovementTask.getSites(), 0, null); + Assert.assertEquals(1, storageMovementOrder.getSites().size()); + StorageMovement storageMovement = Iterables.get(storageMovementOrder.getSites(), 0, null); Assert.assertEquals(-30., storageMovement.getQuantity(), DELTA); Assert.assertEquals("A1", storageMovement.getSite().getLocationCode()); } catch (RequiredDriverLicenceException e) { @@ -203,12 +203,12 @@ siteErrorsService.reportError(site2, alexandre); try { - StorageMovementTask storageMovementTask = service.withdrawArticle(cathy, article, 30.); + StorageMovementOrder storageMovementOrder = service.bookArticle(cathy, article, 30.); if (log.isDebugEnabled()) { - log.debug("storageMovementTask = " + storageMovementTask); + log.debug("storageMovementOrder = " + storageMovementOrder); } - Assert.assertEquals(1, storageMovementTask.getSites().size()); - StorageMovement storageMovement = Iterables.get(storageMovementTask.getSites(), 0, null); + Assert.assertEquals(1, storageMovementOrder.getSites().size()); + StorageMovement storageMovement = Iterables.get(storageMovementOrder.getSites(), 0, null); Assert.assertNotEquals( "site2 must not be returned because it was reported in error", site2.getId(), Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-03-26 16:12:17 UTC (rev 42) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-03-26 16:13:29 UTC (rev 43) @@ -1,11 +1,11 @@ package com.franciaflex.magalie.web.action; import com.franciaflex.magalie.persistence.entity.MagalieUser; -import com.franciaflex.magalie.services.service.FulfilKanbanService; -import com.franciaflex.magalie.services.StorageMovementTask; +import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException; import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException; import com.franciaflex.magalie.services.exception.UnavailableArticleException; +import com.franciaflex.magalie.services.service.FulfilKanbanService; import com.franciaflex.magalie.web.MagalieActionSupport; import com.franciaflex.magalie.web.MagalieSession; import org.apache.commons.logging.Log; @@ -15,7 +15,7 @@ @Results({ - @Result(name="success", type="redirect", location="/", params = { "" , "" }) + @Result(name="success", type="redirectAction", params = { "actionName", "withdraw-item!input", "storageMovementOrderId", "${storageMovementOrderId}" }) }) public class FulfilKanbanAction extends MagalieActionSupport { @@ -27,7 +27,7 @@ protected String articleBarcode; - protected StorageMovementTask storageMovementTask; + protected StorageMovementOrder storageMovementOrder; public void setArticleBarcode(String articleBarcode) { this.articleBarcode = articleBarcode; @@ -37,6 +37,10 @@ this.service = service; } + public void setSession(MagalieSession session) { + this.session = session; + } + @Override public String execute() { @@ -48,7 +52,7 @@ try { - storageMovementTask = service.fulfilKanbanTask(articleBarcode, magalieUser); + storageMovementOrder = service.fulfilKanbanTask(articleBarcode, magalieUser); } catch (InvalidMagalieBarcodeException e) { @@ -74,8 +78,7 @@ } - public StorageMovementTask getStorageMovementTask() { - return storageMovementTask; + public String getStorageMovementOrderId() { + return storageMovementOrder.getId(); } - } Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java 2013-03-26 16:12:17 UTC (rev 42) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java 2013-03-26 16:13:29 UTC (rev 43) @@ -23,11 +23,12 @@ * #L% */ -import com.franciaflex.magalie.services.service.RequestedItemService; import com.franciaflex.magalie.services.StorageMovementTask; import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException; import com.franciaflex.magalie.services.exception.UnavailableArticleException; +import com.franciaflex.magalie.services.service.ArticleStorageService; import com.franciaflex.magalie.web.MagalieActionSupport; +import com.google.common.base.Preconditions; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.json.JSONException; @@ -37,20 +38,29 @@ private static final Log log = LogFactory.getLog(WithdrawItemAction.class); - protected RequestedItemService service; + protected ArticleStorageService service; + protected String storageMovementOrderId; + protected StorageMovementTask storageMovementTask; - public void setService(RequestedItemService service) { + public void setService(ArticleStorageService service) { this.service = service; } - public void setModel(String model) { + public void setStorageMovementOrderId(String storageMovementOrderId) { + this.storageMovementOrderId = storageMovementOrderId; + } - if (log.isErrorEnabled()) { - log.error("should deserialize" + model); - } + @Override + public String input() throws RequiredDriverLicenceException, UnavailableArticleException { + Preconditions.checkNotNull(storageMovementOrderId); + + storageMovementTask = service.getStorageMovementTask(storageMovementOrderId); + + return INPUT; + } public StorageMovementTask getStorageMovementTask() { @@ -65,13 +75,15 @@ } - @Override - public String input() throws RequiredDriverLicenceException, UnavailableArticleException { - storageMovementTask = service.getWithdrawTask(); - return INPUT; + public void setModel(String model) { + + if (log.isErrorEnabled()) { + log.error("should deserialize" + model); + } + } } Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp 2013-03-26 16:12:17 UTC (rev 42) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp 2013-03-26 16:13:29 UTC (rev 43) @@ -5,10 +5,10 @@ <title>Traitement des kanbans</title> </head> -<form class="form-horizontal"> +<s:form cssClass="form-horizontal"> <s:textfield name="articleBarcode" label="Article" inputAppendIcon="barcode" cssClass="input-small" /> <div class="btn-group"> <s:submit name="next" value="Suivant" cssClass="btn btn-primary btn-small" /> </div> -</form> \ No newline at end of file +</s:form> \ No newline at end of file
participants (1)
-
bleny@users.forge.codelutin.com