diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java index c8f2b5c..22522da 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java @@ -221,9 +221,9 @@ public class LocationAllocationServiceImpl implements LocationAllocationService LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); locationLambdaQueryWrapper.eq(Location::getZoneCode, zoneCode).eq(Location::getWarehouseCode, warehouseCode).eq(Location::getRoadWay, roadWay) .eq(Location::getStatus, QuantityConstant.STATUS_LOCATION_EMPTY).ge(Location::getHigh, high) - .eq(StringUtils.isNotEmpty(materialAreaCode), Location::getMaterialAreaCode, materialAreaCode) - .in(Location::getLocationTypeCode, locationTypeCodeList).eq(Location::getContainerCode, QuantityConstant.EMPTY_STRING) - .orderByAsc(true, Location::getHigh).orderByAsc(true, Location::getLayer).orderByAsc(true, Location::getId); + .eq(StringUtils.isNotEmpty(materialAreaCode), Location::getMaterialAreaCode, materialAreaCode).in(Location::getLocationTypeCode, locationTypeCodeList) + .eq(Location::getContainerCode, QuantityConstant.EMPTY_STRING).orderByAsc(true, Location::getHigh).orderByAsc(true, Location::getLayer) + .orderByAsc(true, Location::getId); // 单伸位逻辑简单,只需要找到一个空闲库位 Page page = new Page<Location>(1, 1); IPage iPage = locationService.page(page, locationLambdaQueryWrapper); @@ -321,13 +321,9 @@ public class LocationAllocationServiceImpl implements LocationAllocationService } Collections.shuffle(roadWays);// 打乱巷道排序 int roadWay = roadWays.get(0); -// if (roadWays.size() == 1) { -// return roadWay; -// } -// roadWays = locationAllocationService.removeRoadWaysByPreLocations(roadWays, zoneCode, warehouseCode); -// if (roadWays.size() == 0) { -// return roadWay; -// } + if (roadWays.size() == 1) { + return roadWay; + } int min = Integer.MAX_VALUE; List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByMaterialCodeAndZoneCode(materialCode, zoneCode, warehouseCode); if (inventoryDetailList.size() != 0) {