diff --git a/src/main/java/com/huaheng/api/wcs/controller/EmptyContainerController.java b/src/main/java/com/huaheng/api/wcs/controller/EmptyContainerController.java
index b876def..17929c2 100644
--- a/src/main/java/com/huaheng/api/wcs/controller/EmptyContainerController.java
+++ b/src/main/java/com/huaheng/api/wcs/controller/EmptyContainerController.java
@@ -130,8 +130,7 @@ public class EmptyContainerController extends BaseController {
         String warehouseCode = manyEmptyDomain.getWarehouseCode();
         String area = manyEmptyDomain.getArea();
         String roadWay = manyEmptyDomain.getRoadWay();
-        List<String> roadWays = new ArrayList<>();
-        roadWays.add(roadWay);
+        List<String> roadWays = Arrays.asList(roadWay.split(","));
         String value = configService.getKey(QuantityConstant.RULE_ALLOCATION);
         String height = manyEmptyDomain.getHeight();
         if (StringUtils.isEmpty(value)) {
diff --git a/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
index 9ce7c50..c111d2e 100644
--- a/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
+++ b/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
@@ -37,10 +37,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -130,8 +127,7 @@ public class OverrideHandleServiceImpl implements OverrideHandleService {
         int high = location.getHigh();
         String area = location.getArea();
         String roadWay = location.getRoadway();
-        List<String> roadWays = new ArrayList<>();
-        roadWays.add(roadWay);
+        List<String> roadWays = Arrays.asList(roadWay.split(","));
         String containerCode = taskHeader.getContainerCode();
         List<TaskDetail> taskDetailList = taskDetailService.findByTaskId(taskHeader.getId());
         String materialAreaCode = null;
diff --git a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java
index 5d5663b..7847d16 100644
--- a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java
+++ b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java
@@ -48,9 +48,7 @@ import org.springframework.transaction.annotation.Transactional;
 import com.huaheng.api.wcs.domain.WcsTask;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -150,6 +148,30 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService 
         if(taskHeader == null) {
             return AjaxResult.error("分配库位时,根据任务号没有找到任务");
         }
+        Integer taskType = taskHeader.getTaskType();
+        if(taskType.equals(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT)||taskType.equals(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT)||taskType.equals(QuantityConstant.TASK_TYPE_VIEW)||taskType.equals(QuantityConstant.TASK_TYPE_CYCLECOUNT)){
+            Location location = locationService.getLocationByCode(taskHeader.getFromLocation());
+            Integer high = location.getHigh();
+            String locationType = location.getLocationType();
+            String r="";
+            if(roadWay.size()<2){
+                r=roadWay.get(0).toString();
+            }else {
+                Map<String,Integer> hashMap = new HashMap();
+                for (String way : roadWay) {
+                    LambdaQueryWrapper<Location> locationLambdaQ = Wrappers.lambdaQuery();
+                    locationLambdaQ.eq(Location::getRoadway,way)
+                            .ne(Location::getContainerCode,"")
+                            .eq(Location::getHigh, high)
+                            .in(Location::getLocationType,locationType)
+                            .eq(Location::getStatus,QuantityConstant.STATUS_LOCATION_EMPTY);;
+                    List<Location> locations = locationService.list(locationLambdaQ);
+                    hashMap.put(way.toString(),locations.size());
+                }
+                r = this.getValueAsc(hashMap);
+            }
+            return new AjaxResult().setData(Integer.valueOf(r)).setCode(200);
+        }
         if (taskHeader.getStatus() == QuantityConstant.TASK_STATUS_COMPLETED) {
             return AjaxResult.error("任务已经完成,不能再分库位");
         }
@@ -423,4 +445,17 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService 
         return AjaxResult.success(destinationArea);
     }
 
+    public String getValueAsc(Map<String,Integer> map){
+        Comparator<Map.Entry<String,Integer>> valueComparator = new Comparator<Map.Entry<String, Integer>>() {
+            @Override
+            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
+                return o1.getValue()-o2.getValue();
+            }
+        };
+
+        List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
+        Collections.sort(list,valueComparator);
+        return list.get(0).getKey();
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
index cf60626..57ca06b 100644
--- a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
@@ -442,14 +442,13 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
     /**
      * 根据库位编码查询库位信息
      *
-     * @param code
+     * @param
      * @return
      */
     @Override
     public Location getLocationByCode(String locationCode) {
         LambdaQueryWrapper<Location> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(Location::getCode, locationCode);
-        queryWrapper.eq(Location::getWarehouseCode, ShiroUtils.getWarehouseCode());
         return getOne(queryWrapper);
     }
 
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TransferTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TransferTaskService.java
index 95691da..0639823 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TransferTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TransferTaskService.java
@@ -91,9 +91,9 @@ public class TransferTaskService {
         if (taskHeaderService.getUncompleteTaskInNear(desLocation) > 0) {
             return AjaxResult.error("目标库位:" + desLocationCode + "旁边存在任务,请完成任务以后再分配");
         }
-        if(!sourceLocation.getRoadway().equals(desLocation.getRoadway())) {
-            return AjaxResult.error("目标库位和源库位不在同一个巷道");
-        }
+//        if(!sourceLocation.getRoadway().equals(desLocation.getRoadway())) {
+//            return AjaxResult.error("目标库位和源库位不在同一个巷道");
+//        }
 
         if(!sourceLocation.getHigh().equals(desLocation.getHigh())) {
             return AjaxResult.error("目标库位和源库位高度不一样");
diff --git a/src/main/resources/mybatis/config/LocationMapper.xml b/src/main/resources/mybatis/config/LocationMapper.xml
index 8a4fea0..5c833ae 100644
--- a/src/main/resources/mybatis/config/LocationMapper.xml
+++ b/src/main/resources/mybatis/config/LocationMapper.xml
@@ -174,7 +174,7 @@
     <select id="selectModelByHg" resultType="com.huaheng.pc.config.location.domain.Location">
         select * from location where locationType='L' and containerCode ='' and status='empty'
         and roadWay = #{roadWay} and high=#{heght}
-        order by rowFlag desc,iColumn asc,iLayer asc limit 1
+        order by rowFlag desc,iLayer asc,iColumn asc limit 1
 
     </select>
 
@@ -186,7 +186,7 @@
         <foreach item="item" index="index" collection="codes" open="(" separator="," close=")">
             #{item}
         </foreach>
-        order by rowFlag desc,iColumn asc,iLayer asc limit 1
+        order by rowFlag desc,iLayer asc,iColumn asc limit 1
     </select>
 
 </mapper>
\ No newline at end of file