Author: bleny Date: 2013-07-09 14:16:49 +0200 (Tue, 09 Jul 2013) New Revision: 295 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: add a button to report error in storage transfer Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferAction.java trunk/magalie-web/src/main/webapp/WEB-INF/content/storage-transfer-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-07-05 16:14:07 UTC (rev 294) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-07-09 12:16:49 UTC (rev 295) @@ -295,8 +295,12 @@ Preconditions.checkArgument( storageMovementOrder != null, - "no storage movement order with id " + storageMovementOrderId); + "cet ordre de mouvement n'existe pas " + storageMovementOrderId); + Preconditions.checkState( + ! storageMovementOrder.isConfirmed(), + "ordre de mouvement déjà confirmé"); + StorageMovementTask storageMovementTask = new StorageMovementTask(storageMovementOrder); Article article = storageMovementOrder.getArticle(); Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferAction.java 2013-07-05 16:14:07 UTC (rev 294) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferAction.java 2013-07-09 12:16:49 UTC (rev 295) @@ -29,6 +29,7 @@ import com.franciaflex.magalie.persistence.entity.StoredArticle; import com.franciaflex.magalie.services.exception.InaccessibleLocationException; import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException; +import com.franciaflex.magalie.services.service.LocationErrorsService; import com.franciaflex.magalie.services.service.StorageTransferService; import com.franciaflex.magalie.web.MagalieActionSupport; import com.franciaflex.magalie.web.MagalieSession; @@ -44,7 +45,8 @@ */ @Results({ - @Result(name="success", type="redirectAction", params = { "actionName", "storage-transfer-location!input"}) + @Result(name="success", type="redirectAction", params = { "actionName", "storage-transfer-location!input"}), + @Result(name="error", type="redirectAction", params = { "actionName", "storage-transfer-location!input"}) }) public class StorageTransferAction extends MagalieActionSupport { @@ -54,6 +56,8 @@ protected StorageTransferService service; + protected LocationErrorsService locationErrorsService; + protected String originId; protected Location origin; @@ -72,6 +76,10 @@ this.service = service; } + public void setLocationErrorsService(LocationErrorsService locationErrorsService) { + this.locationErrorsService = locationErrorsService; + } + public void setSession(MagalieSession session) { this.session = session; } @@ -200,4 +208,18 @@ } + public String reportError() { + + MagalieUser magalieUser = session.getMagalieUser(); + + storedArticle = service.findStoredArticle(storedArticleId); + + locationErrorsService.reportError(storedArticle.getLocation(), storedArticle.getArticle(), magalieUser); + + session.addMessage("L'emplacement a bien été reporté en erreur"); + + return ERROR; + + } + } Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/storage-transfer-input.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/storage-transfer-input.jsp 2013-07-05 16:14:07 UTC (rev 294) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/storage-transfer-input.jsp 2013-07-09 12:16:49 UTC (rev 295) @@ -28,8 +28,9 @@ <title>Transfert de stock</title> <script type="text/javascript"> $(document).ready(function () { - bindKey("Esc", function(){ redirectTo($('#CancelLink'));}); - <s:if test="storedArticle != null" > + bindKey("Esc", function(){ redirectTo($('#cancelLink'));}); + bindKey("F5", function(){ redirectTo($('#reportErrorLink'));}); + <s:if test="storedArticle != null"> $('#storage-transfer_destinationBarCode').focus(); </s:if> }); @@ -45,7 +46,7 @@ <dl class="dl-horizontal"> <dt>Source</dt> <dd><s:property value="origin.warehouse.code + origin.code" /></dd> - <s:if test="storedArticle != null" > + <s:if test="storedArticle != null"> <dt>Article</dt> <dd><s:property value="storedArticle.article.description" /></dd> <dt>Réf</dt> @@ -57,7 +58,7 @@ </header> -<s:if test="storedArticle == null" > +<s:if test="storedArticle == null"> <ul class="oneItemPerLine"> <s:iterator value="storedArticles" status="stat"> <li> @@ -81,7 +82,7 @@ </s:a> </s:if> <s:else> - <s:a href="%{storageTransferNextStepUrl}" > + <s:a href="%{storageTransferNextStepUrl}"> <s:property value="article.code" /> Qté <s:property value="quantity" /> <s:property value="article.unit" /> <s:property value="article.description" /> @@ -91,7 +92,7 @@ </s:iterator> </ul> - <s:a href="%{cancelUrl}" cssClass="btn" id="CancelLink" >Quitter (Esc)</s:a> + <s:a href="%{cancelUrl}" cssClass="btn" id="cancelLink">Quitter (Esc)</s:a> </s:if> <s:else> <s:form cssClass="form-horizontal"> @@ -103,8 +104,16 @@ <s:textfield key="destinationBarcode" label="Destination" inputAppendIcon="barcode" cssClass="input-small" /> <div class="btn-group"> - <s:a href="%{cancelUrl}" cssClass="btn" id="CancelLink" >Quitter (Esc)</s:a> - <s:submit name="" value="Valider" cssClass="btn btn-primary" /> + + <s:a href="%{cancelUrl}" cssClass="btn btn-small" id="cancelLink">Quitter (Esc)</s:a> + + <s:url namespace="/" action="storage-transfer!reportError" id="reportErrorUrl"> + <s:param name="storedArticleId" value="%{storedArticle.id}" /> + </s:url> + <s:a href="%{reportErrorUrl}" cssClass="btn btn-danger btn-small" id="reportErrorLink">Anomalie (F5)</s:a> + + <s:submit value="Suivant" cssClass="btn btn-primary btn-small" /> + </div> </s:form> </s:else>