r93 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa magalie-services/src/main/java/com/franciaflex/magalie/services/service magalie-web/src/main/java/com/franciaflex/magalie/web/action
Author: bleny Date: 2013-04-12 12:23:19 +0200 (Fri, 12 Apr 2013) New Revision: 93 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: introduce notion of warehouses without locations Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/WarehouseDao.java 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/WarehouseJpaDao.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java 2013-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java 2013-04-12 10:23:19 UTC (rev 93) @@ -70,4 +70,9 @@ public static Predicate<Location> locationIsNotReportedInError(Collection<Location> allLocationsInError) { return Predicates.not(Predicates.in(allLocationsInError)); } + + public static String codeForWarehouseWithoutLocations() { + return "SANS"; + } + } 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-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java 2013-04-12 10:23:19 UTC (rev 93) @@ -1,7 +1,10 @@ package com.franciaflex.magalie.persistence.dao; import com.franciaflex.magalie.persistence.entity.Location; +import com.franciaflex.magalie.persistence.entity.Warehouse; public interface LocationDao extends Dao<Location> { + Location find(String code, Warehouse warehouse); + } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/WarehouseDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/WarehouseDao.java 2013-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/WarehouseDao.java 2013-04-12 10:23:19 UTC (rev 93) @@ -1,10 +1,15 @@ package com.franciaflex.magalie.persistence.dao; +import com.franciaflex.magalie.persistence.entity.Building; import com.franciaflex.magalie.persistence.entity.Warehouse; +import java.util.List; + /** * @author bleny */ public interface WarehouseDao extends Dao<Warehouse> { + List<Warehouse> findAllWithoutLocations(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-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java 2013-04-12 10:23:19 UTC (rev 93) @@ -2,10 +2,10 @@ import com.franciaflex.magalie.persistence.dao.LocationDao; import com.franciaflex.magalie.persistence.entity.Location; +import com.franciaflex.magalie.persistence.entity.Warehouse; import javax.persistence.EntityManager; -import javax.persistence.Query; -import java.util.List; +import javax.persistence.TypedQuery; public class LocationJpaDao extends AbstractJpaDao<Location> implements LocationDao { @@ -18,4 +18,12 @@ return Location.class; } + @Override + public Location find(String code, Warehouse warehouse) { + TypedQuery<Location> query = entityManager.createQuery("from Location l where l.code = :code and l.warehouse = :warehouse", getEntityClass()); + query.setParameter("code", code); + query.setParameter("warehouse", warehouse); + Location singleResult = query.getSingleResult(); + return singleResult; + } } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/WarehouseJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/WarehouseJpaDao.java 2013-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/WarehouseJpaDao.java 2013-04-12 10:23:19 UTC (rev 93) @@ -1,9 +1,13 @@ package com.franciaflex.magalie.persistence.dao.jpa; +import com.franciaflex.magalie.persistence.Locations; import com.franciaflex.magalie.persistence.dao.WarehouseDao; +import com.franciaflex.magalie.persistence.entity.Building; import com.franciaflex.magalie.persistence.entity.Warehouse; import javax.persistence.EntityManager; +import javax.persistence.TypedQuery; +import java.util.List; public class WarehouseJpaDao extends AbstractJpaDao<Warehouse> implements WarehouseDao { @@ -15,4 +19,12 @@ protected Class<Warehouse> getEntityClass() { return Warehouse.class; } + + @Override + public List<Warehouse> findAllWithoutLocations(Building building) { + TypedQuery<Warehouse> query = entityManager.createQuery("from Warehouse w where w.building = :building and w in (select l.warehouse from Location l where l.code = :code)", getEntityClass()); + query.setParameter("building", building); + query.setParameter("code", Locations.codeForWarehouseWithoutLocations()); + return query.getResultList(); + } } 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-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-04-12 10:23:19 UTC (rev 93) @@ -1,6 +1,8 @@ package com.franciaflex.magalie.services.service; +import com.franciaflex.magalie.persistence.Locations; import com.franciaflex.magalie.persistence.MagaliePersistenceContext; +import com.franciaflex.magalie.persistence.dao.LocationDao; import com.franciaflex.magalie.persistence.dao.WarehouseDao; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; @@ -84,21 +86,25 @@ protected Location getDestinationLocation(Warehouse destinationWarehouse) { - // TODO brendan 10/04/13 how to define destination for warehouse, something like "INC" ? + MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); - return null; + LocationDao locationDao = persistenceContext.getLocationDao(); + Location location = locationDao.find(Locations.codeForWarehouseWithoutLocations(), destinationWarehouse); + + return location; + } - public List<Warehouse> getDestinationStores(Building building) { + public List<Warehouse> getDestinationWarehouses(Building building) { MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); WarehouseDao warehouseDao = persistenceContext.getWarehouseDao(); - // FIXME brendan 10/04/13 consider building + List<Warehouse> destinationWarehouses = warehouseDao.findAllWithoutLocations(building); - return warehouseDao.findAll(); + return destinationWarehouses; } } 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-04-12 10:09:55 UTC (rev 92) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-04-12 10:23:19 UTC (rev 93) @@ -50,7 +50,7 @@ Building building = session.getBuilding(); - destinationWarehouses = service.getDestinationStores(building); + destinationWarehouses = service.getDestinationWarehouses(building); // let's help user by selecting by default the previously used destination warehouse
participants (1)
-
bleny@users.forge.codelutin.com