Browse Source

排序规则:普通入库回库先放在col_no小的位置 - 1,备货入库回库放在col_no大的位置 - 2

k 1 year ago
parent
commit
dc8fac574e

+ 4 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/pda/PdaController.java

@@ -238,6 +238,8 @@ public class PdaController {
             }
             }
 
 
             String asnNo = "";
             String asnNo = "";
+            //排序规则 普通入库回库先放在col_no小的位置 - 1,备货入库回库放在col_no大的位置 - 2
+            int orderRules = 1;
             //入库时绑定托盘
             //入库时绑定托盘
             if (flowConfigHeaderVO.getFlowType().equals("ASN")) {
             if (flowConfigHeaderVO.getFlowType().equals("ASN")) {
                 PaForm paForm = new PaForm();
                 PaForm paForm = new PaForm();
@@ -255,6 +257,7 @@ public class PdaController {
                     return ajaxResult;
                     return ajaxResult;
                 }
                 }
                 asnNo = (String) ajaxResult.get("data");
                 asnNo = (String) ajaxResult.get("data");
+                orderRules = (int) ajaxResult.get("orderRules");
             }
             }
 
 
 
 
@@ -276,6 +279,7 @@ public class PdaController {
                 agvCallDTO.setPalletNo(lform.getPalletNo());
                 agvCallDTO.setPalletNo(lform.getPalletNo());
                 agvCallDTO.setTaskType(lineCallForm.getFlowId().toString());
                 agvCallDTO.setTaskType(lineCallForm.getFlowId().toString());
                 agvCallDTO.setOrderNo(asnNo); // 入库单号
                 agvCallDTO.setOrderNo(asnNo); // 入库单号
+                agvCallDTO.setOrderRules(orderRules);
             }
             }
             AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
             AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
             agvCallItemDTO.setWarehouseId(1L);
             agvCallItemDTO.setWarehouseId(1L);

+ 7 - 1
warewms-ams/src/main/java/com/ruoyi/ams/asn/service/impl/WmsDocAsnHeaderServiceImpl.java

@@ -528,6 +528,7 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
     @Override
     @Override
     public AjaxResult doPa(PaForm paForm) {
     public AjaxResult doPa(PaForm paForm) {
         String asnNo = ""; //入库单号
         String asnNo = ""; //入库单号
+        int orderRules = 1; //排序规则 普通入库回库先放在col_no小的位置 - 1,备货入库回库放在col_no大的位置 - 2
         int flowId = paForm.getFlowId();
         int flowId = paForm.getFlowId();
         LoginUser loginUser = SecurityUtils.getLoginUser();
         LoginUser loginUser = SecurityUtils.getLoginUser();
         //绑定托盘
         //绑定托盘
@@ -599,6 +600,10 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
                 }
                 }
 
 
             }
             }
+            // 判断是否是备货库存
+            if (StringUtils.isNotEmpty(invLotAtt.getLotatt14())) {
+                orderRules = 2;
+            }
 
 
         }
         }
         for (InvLotLocId inv : invLotLocIdList) {
         for (InvLotLocId inv : invLotLocIdList) {
@@ -634,7 +639,8 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
             }
             }
             return AjaxResult.error("上架完成!AGV不参与搬运!");
             return AjaxResult.error("上架完成!AGV不参与搬运!");
         }
         }
-        return AjaxResult.success("操作成功", asnNo);
+        return AjaxResult.success("操作成功", asnNo)
+                .put("orderRules", orderRules);
     }
     }
 
 
     /**
     /**

+ 7 - 1
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -156,7 +156,13 @@ public class BusinessServiceImpl implements IBusinessService {
                 if (flowConfigHeaderVO.getFlowType().equals("ASN")) {
                 if (flowConfigHeaderVO.getFlowType().equals("ASN")) {
                     AgvCallItemDTO agvCall = agvCallDTO.getAgvCallItemDTOList().get(0);
                     AgvCallItemDTO agvCall = agvCallDTO.getAgvCallItemDTOList().get(0);
                     List<BaseLocationInfo> locationFromList = this.convertLocation(paramLocationFrom, agvCallDTO.getWarehouseId(), null);
                     List<BaseLocationInfo> locationFromList = this.convertLocation(paramLocationFrom, agvCallDTO.getWarehouseId(), null);
-                    List<BaseLocationInfo> locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), "shift_no+ 0,shift_index");
+                    List<BaseLocationInfo> locationToList = null;
+                    //排序规则 普通入库回库先放在col_no小的位置 - 1,备货入库回库放在col_no大的位置 - 2
+                    if (agvCallDTO.getOrderRules() == 1) {
+                        locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), "col_no + 0,shift_no + 0");
+                    }else {
+                        locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), "col_no + 0 desc,shift_no + 0");
+                    }
                     locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "ASN", asnSoStrategy, agvCall, token);
                     locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "ASN", asnSoStrategy, agvCall, token);
                     locationTo = this.zoneLocationAllocation(locationFrom, locationToList, "locationTo", "ASN", asnSoStrategy, agvCall, token);
                     locationTo = this.zoneLocationAllocation(locationFrom, locationToList, "locationTo", "ASN", asnSoStrategy, agvCall, token);
                     //2.初始化库存
                     //2.初始化库存

+ 9 - 0
warewms-ams/src/main/java/com/ruoyi/ams/config/domain/dto/AgvCallDTO.java

@@ -16,6 +16,7 @@ public class AgvCallDTO {
     private String extParam;
     private String extParam;
     private String orderNo;
     private String orderNo;
     private String taskType;
     private String taskType;
+    private int orderRules;
 
 
     public Long getId() {
     public Long getId() {
         return id;
         return id;
@@ -88,4 +89,12 @@ public class AgvCallDTO {
     public void setTaskType(String taskType) {
     public void setTaskType(String taskType) {
         this.taskType = taskType;
         this.taskType = taskType;
     }
     }
+
+    public int getOrderRules() {
+        return orderRules;
+    }
+
+    public void setOrderRules(int orderRules) {
+        this.orderRules = orderRules;
+    }
 }
 }