Author: Bavencoff Date: 2013-05-31 09:46:32 +0200 (Fri, 31 May 2013) New Revision: 222 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: refs #2164 : when scan location barcode, check building Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StorageTransferService.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferAction.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferLocationAction.java Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java 2013-05-30 15:11:54 UTC (rev 221) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java 2013-05-31 07:46:32 UTC (rev 222) @@ -37,5 +37,5 @@ List<Location> findAllWithoutReception(Warehouse warehouse); - Location findByBarCode(String barCode); + Location findByBarCode(String barCode, Building building); } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java 2013-05-30 15:11:54 UTC (rev 221) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java 2013-05-31 07:46:32 UTC (rev 222) @@ -89,9 +89,12 @@ } @Override - public Location findByBarCode(String barCode) { - TypedQuery<Location> query = createQuery("from Location l where CONCAT(l.warehouse.code, l.code) = :barCode"); + public Location findByBarCode(String barCode, Building building) { + TypedQuery<Location> query = createQuery("from Location l " + + "where CONCAT(l.warehouse.code, l.code) = :barCode " + + "and l.warehouse.building = :building"); query.setParameter("barCode", barCode); + query.setParameter("building", building); return findUniqueOrNull(query); } } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StorageTransferService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StorageTransferService.java 2013-05-30 15:11:54 UTC (rev 221) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StorageTransferService.java 2013-05-31 07:46:32 UTC (rev 222) @@ -5,6 +5,7 @@ import com.franciaflex.magalie.persistence.dao.LocationDao; import com.franciaflex.magalie.persistence.dao.StorageMovementDao; import com.franciaflex.magalie.persistence.dao.StoredArticleDao; +import com.franciaflex.magalie.persistence.entity.Building; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.StorageMovement; @@ -31,13 +32,13 @@ this.serviceContext = serviceContext; } - public Location getLocationByBarCode(String barCode) { + public Location getLocationByBarCode(String barCode, Building building) { MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); LocationDao locationDao = persistenceContext.getLocationDao(); - Location location = locationDao.findByBarCode(barCode); + Location location = locationDao.findByBarCode(barCode, building); return location; } 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-05-30 15:11:54 UTC (rev 221) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferAction.java 2013-05-31 07:46:32 UTC (rev 222) @@ -1,5 +1,6 @@ package com.franciaflex.magalie.web.action; +import com.franciaflex.magalie.persistence.entity.Building; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.StoredArticle; import com.franciaflex.magalie.services.service.StorageTransferService; @@ -139,8 +140,10 @@ return INPUT; } - Location destination = service.getLocationByBarCode(destinationBarCode); + Building building = session.getBuilding(); + Location destination = service.getLocationByBarCode(destinationBarCode, building); + if (destination == null) { addFieldError("destinationBarCode", "Le code barre n'est pas un code valide"); return INPUT; Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferLocationAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferLocationAction.java 2013-05-30 15:11:54 UTC (rev 221) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/StorageTransferLocationAction.java 2013-05-31 07:46:32 UTC (rev 222) @@ -1,5 +1,6 @@ package com.franciaflex.magalie.web.action; +import com.franciaflex.magalie.persistence.entity.Building; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.StoredArticle; import com.franciaflex.magalie.services.service.StorageTransferService; @@ -50,8 +51,10 @@ log.debug("origin BarCode : " + originBarCode); } - origin = service.getLocationByBarCode(originBarCode); + Building building = session.getBuilding(); + origin = service.getLocationByBarCode(originBarCode, building); + if (origin == null) { addFieldError("originBarCode", "Le code barre n'est pas un code valide"); return INPUT;