Переглянути джерело

入库出库根据起始点决定放在第几层bug修改

k 2 роки тому
батько
коміт
6774a23d65

+ 8 - 3
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -156,7 +156,7 @@ public class BusinessServiceImpl implements IBusinessService {
                     List<BaseLocationInfo> locationFromList = this.convertLocation(paramLocationFrom, agvCallDTO.getWarehouseId(), null);
                     List<BaseLocationInfo> locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), "shift_no+ 0,shift_index");
                     locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "ASN", asnSoStrategy, agvCall, token);
-                    locationTo = this.zoneLocationAllocation(locationToList, "locationTo", "ASN", asnSoStrategy, agvCall, token);
+                    locationTo = this.zoneLocationAllocation(locationFrom, locationToList, "locationTo", "ASN", asnSoStrategy, agvCall, token);
                     //2.初始化库存
 //                    for (AgvCallItemDTO call : agvCallDTO.getAgvCallItemDTOList()) {
 //                        if (call.getLotattDTO() != null) {
@@ -293,6 +293,11 @@ public class BusinessServiceImpl implements IBusinessService {
 
     @Override
     public BaseLocationInfo zoneLocationAllocation(List<BaseLocationInfo> locationInfoList, String locationType, String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token) {
+        return zoneLocationAllocation(null, locationInfoList, locationType, type, asnSoStrategy, agvCallDTO, token);
+    }
+
+    @Override
+    public BaseLocationInfo zoneLocationAllocation(BaseLocationInfo locationFrom, List<BaseLocationInfo> locationInfoList, String locationType, String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token) {
         BaseLocationInfo locationInfo = null;
         if (type.equals("ASN")) {
             //入库
@@ -320,8 +325,8 @@ public class BusinessServiceImpl implements IBusinessService {
                     }
                     // 永湖仓储区一层高度为1700,其他为2300
                     // 入库和回库的时候,入库位IN-02-01(200)和回库位RET-01-01(500)只能入到一层,其他的不能入到一层
-                    if (b.getLocationNo().equals("IN-02-01") || b.getLocationNo().equals("RET-01-01")
-                            || b.getAgvStation() == 200 || b.getAgvStation() == 500) {
+                    if (locationFrom.getLocationNo().equals("IN-02-01") || locationFrom.getLocationNo().equals("RET-01-01")
+                            || locationFrom.getAgvStation() == 200 || locationFrom.getAgvStation() == 500) {
                         if (!b.getShiftNo().equals("1")) {
                             continue;
                         }

+ 5 - 1
warewms-ams/src/main/java/com/ruoyi/ams/business/IBusinessService.java

@@ -69,7 +69,11 @@ public interface IBusinessService {
      * @param asnSoStrategy    策略对象
      * @return
      */
-    BaseLocationInfo zoneLocationAllocation(List<BaseLocationInfo> locationInfoList, String locationType, String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token);
+    BaseLocationInfo zoneLocationAllocation(List<BaseLocationInfo> locationInfoList, String locationType
+            , String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token);
+
+    BaseLocationInfo zoneLocationAllocation(BaseLocationInfo locationFrom, List<BaseLocationInfo> locationInfoList, String locationType
+            , String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token);
 
     /***
      *  根据id转换库位列表(如果是库位id直接返回库位如果是区域id则返回相应的库位)