Bladeren bron

选矿bug

ChenYang 1 jaar geleden
bovenliggende
commit
c2a528335c

File diff suppressed because it is too large
+ 2 - 2
base_sql/bucket_sql/xuankuang_ddl_20230904.sql


+ 1 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/ams/InvLotLocIdController.java

@@ -101,11 +101,10 @@ public class InvLotLocIdController extends BaseController {
     @PostMapping("/moveLocInv")
     public AjaxResult moveLocInv(@RequestParam String sourceLocationId, @RequestParam String targetLocationId) {
         InvLotLocIdMoveForm invLotLocIdMoveForm = buildInvLotLocIdMoveForm(sourceLocationId, targetLocationId);
-        return invLotLocIdService.moveDirect(invLotLocIdMoveForm);
+        return invLotLocIdService.move(invLotLocIdMoveForm);
     }
 
 
-    /* /ams/invLotLocId */
     @Log(title = "移动空托(桶装物料场景专用)", businessType = BusinessType.UPDATE)
     @PostMapping("/moveEmptyPallet")
     public AjaxResult moveEmptyPallet(@RequestParam String locationId, @RequestParam String moveType) {

+ 20 - 0
ruoyi-common/src/main/java/com/ruoyi/common/annotation/GlobalLogger.java

@@ -0,0 +1,20 @@
+package com.ruoyi.common.annotation;
+
+
+import com.ruoyi.common.utils.StringUtils;
+
+import java.lang.annotation.*;
+
+
+/**
+ *
+ */
+@Target({ ElementType.METHOD, ElementType.TYPE  })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface GlobalLogger {
+    String desc() default StringUtils.EMPTY;
+
+    String target() default StringUtils.EMPTY;
+
+}

+ 5 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java

@@ -249,6 +249,11 @@ public class Constants
 
     public static final int START_VALUE = 0;
 
+    public static final String INPUT = "input";
+
+    public static final String OUTPUT = "output";
+
+
     private static final Integer FIRST_FLOOR = 1;
 
     private static final Integer SECOND_FLOOR = 2;

+ 0 - 4
ruoyi-common/src/main/java/com/ruoyi/common/constant/SceneConstants.java

@@ -10,10 +10,6 @@ public interface SceneConstants {
 
     String WAREHOUSE_ATTRIBUTE_SCENE_CONFIG = "warehouse.attribute.scene.config";
 
-    /**
-     * 出库规则-是否启用旧出库规则
-     */
-    String WMS_ORDER_RULE_CONFIG = "wms.order.rule.config";
 
 
 }

+ 231 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/GlobalLoggerAspect.java

@@ -0,0 +1,231 @@
+package com.ruoyi.framework.aspectj;
+
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONUtil;
+import com.google.common.collect.Maps;
+import com.ruoyi.common.annotation.GlobalLogger;
+import com.ruoyi.common.constant.Constants;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.slf4j.MDC;
+import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.lang.reflect.Method;
+import java.util.Map;
+
+//@Aspect
+@Component
+@Slf4j
+public class GlobalLoggerAspect {
+
+    
+    @Pointcut("@annotation(com.ruoyi.common.annotation.GlobalLogger) " +
+            "|| @within(com.ruoyi.common.annotation.GlobalLogger)")
+    public void annotationPointCut() {}
+
+    @Pointcut("execution(* com.ruoyi..*.*(..)) && !execution(* com.ruoyi.framework..*.*(..))")
+    public void executionPointCut() {}
+
+
+    @Around("annotationPointCut() && !executionPointCut()")
+    public Object annotationTrace(ProceedingJoinPoint joinPoint) throws Throwable {
+        return handleParams(joinPoint);
+    }
+
+
+    @Around("executionPointCut() && !annotationPointCut()")
+    public Object executionTrace(ProceedingJoinPoint joinPoint) throws Throwable {
+        return handleParams(joinPoint);
+    }
+
+
+    private Object handleParams(ProceedingJoinPoint joinPoint) throws Throwable {
+
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+        GlobalLogger annotation = AnnotationUtils.findAnnotation(method, GlobalLogger.class);
+
+        String[] parameterNames = signature.getParameterNames();
+        Object[] parameterValues = joinPoint.getArgs();
+        Map<String, Object> inputParameterMapper = getInputParameterMapper(parameterNames, parameterValues);
+        String input = JSONUtil.toJsonStr(inputParameterMapper);
+        String traceId = MDC.get(Constants.TRACE_ID);
+
+        String methodName = signature.getDeclaringType().getSimpleName().concat(".").concat(signature.getName());
+        operateLogger(traceId, methodName, Constants.INPUT, input, annotation);
+        Object result = joinPoint.proceed();
+        String output = JSONUtil.toJsonStr(result);
+        operateLogger(traceId, methodName, Constants.OUTPUT, output, annotation);
+        return result;
+
+    }
+
+    private void operateLogger(String traceId, String methodName, String argumentType ,String argument, GlobalLogger annotation) {
+        if(ObjectUtil.isNull(annotation)){
+            log.info("traceId is {}, methodName is {}, {} info is {}", traceId, methodName, argumentType, argument);
+            return;
+        }
+        log.info("traceId is {}, methodName is {}, {} info is {}, target system is {}, description is {}",
+                traceId, methodName, argumentType, argument,annotation.target(), annotation.desc()); ;
+    }
+
+
+
+    private Map<String, Object> getInputParameterMapper(String[] parameterNames, Object[] parameterValues) {
+        Map<String, Object> inputParameterMapper = Maps.newLinkedHashMap();
+        if(ArrayUtil.isEmpty(parameterNames) || ArrayUtil.isEmpty(parameterValues)
+                || parameterNames.length != parameterValues.length) return inputParameterMapper;
+
+        for(int offset = 0; offset < parameterNames.length; offset++){
+            inputParameterMapper.put(parameterNames[offset], parameterValues[offset] instanceof MultipartFile
+                    ? ((MultipartFile) parameterValues[offset]).getOriginalFilename() : parameterValues[offset]);
+        }
+        return inputParameterMapper;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    }
+
+
+
+
+}

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

@@ -5,7 +5,6 @@ import com.ruoyi.ams.agv.ndc.common.ByteUtil;
 import com.ruoyi.ams.agv.ndc.common.CRC16Util;
 import com.ruoyi.ams.agv.ndc.domain.AmsTask;
 import com.ruoyi.ams.agv.ndc.service.IAmsTaskService;
-import com.ruoyi.ams.box.service.IWmsBoxInfoService;
 import com.ruoyi.ams.config.domain.AsnSoStrategy;
 import com.ruoyi.ams.config.domain.dto.*;
 import com.ruoyi.ams.config.domain.vo.FlowConfigHeaderVO;
@@ -70,8 +69,6 @@ public class BusinessServiceImpl implements IBusinessService {
     @Autowired
     private RedisCache redisCache;
     @Autowired
-    private IWmsBoxInfoService wmsBoxInfoService;
-    @Autowired
     private IWcsTaskService wcsTaskService;
     @Autowired
     private IAmsTaskService amsTaskService;
@@ -334,11 +331,6 @@ public class BusinessServiceImpl implements IBusinessService {
                     if (!redisCache.lockCacheObject(RedisKey.LOCK_LOCATION + b.getId(), b.getId().toString(), token)) {
                         continue;
                     }
-//                    // 判断起始库位上的库存质检状态是否可以出库
-//                    boolean con = invLotLocIdService.verifyInventoryCanOutbound(b.getId().toString());
-//                    if (!con) {
-//                        continue;
-//                    }
                     locationInfo = b;
                     break;
                 }

+ 2 - 2
warewms-ams/src/main/java/com/ruoyi/ams/inv/service/impl/InvLotLocIdServiceImpl.java

@@ -245,7 +245,7 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
         wcsTask.setCreateDate(new Date());
         wcsTask.setBusinessType("01");
         wcsTask.setTaskType(Constant.TASK_TYPE.FORWARD.getValue());
-        wcsTask.setExt8("");
+        wcsTask.setExt8(Constant.TaskType.MOVE_INV.getDesc());
         iBusinessService.addTask(wcsTask);
 
         // 锁定起始和目标库位任务状态
@@ -400,7 +400,7 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
         // 动态修改库存占用状态 有货|无货
         Boolean isInStock = baseLocationInfoService.verifyLocationIsInStock(locationId, warehouseId); // isInStock 是否有货
         Boolean result = isInStock ? baseLocationInfoService.unOccupyLocation(id, warehouseId, updateBy)
-                : baseLocationInfoService.occupyLocation(id, warehouseId, updateBy);
+                    : baseLocationInfoService.occupyLocation(id, warehouseId, updateBy);
         if (!result) {
             return AjaxResult.success("修改库位库存占用状态失败!");
         }

+ 4 - 1
warewms-ams/src/main/java/com/ruoyi/ams/locationView/service/LocationViewService.java

@@ -17,7 +17,10 @@ import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Created by IntelliJ IDEA.

+ 32 - 12
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WcsTaskSubService.java

@@ -1,8 +1,10 @@
 package com.ruoyi.ams.xuankuang.service;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.google.common.collect.Lists;
 import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
 import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
 import com.ruoyi.ams.asn.service.IWmsDocAsnDetailsService;
@@ -64,6 +66,11 @@ public class WcsTaskSubService {
 
 
 
+    public AjaxResult addWcsTask(String locationFrom, String locationTo
+            , String asnNo, String palletNo, String wcsNo) {
+        return addWcsTask(IdWorker.getIdStr(), locationFrom, locationTo, asnNo, palletNo, wcsNo, 10L, "立体库入库任务", StringUtils.EMPTY);
+    }
+
     /**
      * 新增wcsTask,兼容老的四向车立体库任务
      * @param locationFrom
@@ -73,11 +80,16 @@ public class WcsTaskSubService {
      * @return
      */
     public AjaxResult addWcsTask(String locationFrom, String locationTo
-            , String asnNo, String palletNo, String wcsNo) {
-        return addWcsTask(IdWorker.getIdStr(), locationFrom, locationTo, asnNo, palletNo, wcsNo, 10L, "立体库入库任务");
+            , String asnNo, String palletNo, String wcsNo, String taskType) {
+        return addWcsTask(IdWorker.getIdStr(), locationFrom, locationTo, asnNo, palletNo, wcsNo, 10L, "立体库入库任务", taskType);
     }
 
 
+
+    public AjaxResult addWcsTask(String taskNo, String locationFrom, String locationTo
+            , String asnNo, String palletNo, Long state, String remake) {
+        return addWcsTask(taskNo, locationFrom, locationTo, asnNo, palletNo, StringUtils.EMPTY, state, remake, StringUtils.EMPTY);
+    }
     /**
      * 增加wcsTask,桶装入库的时候封装用
      * @param taskNo
@@ -89,15 +101,16 @@ public class WcsTaskSubService {
      * @param remake
      * @return
      */
+
     public AjaxResult addWcsTask(String taskNo, String locationFrom, String locationTo
-            , String asnNo, String palletNo, Long state, String remake) {
-        return addWcsTask(taskNo, locationFrom, locationTo, asnNo, palletNo, StringUtils.EMPTY, state, remake);
+            , String asnNo, String palletNo, Long state, String remake, String taskType) {
+        return addWcsTask(taskNo, locationFrom, locationTo, asnNo, palletNo, StringUtils.EMPTY, state, remake, taskType);
     }
 
 
 
     public AjaxResult addWcsTask(String taskNo, String locationFrom, String locationTo
-            , String asnNo, String palletNo, String wcsNo, Long state, String remake) {
+            , String asnNo, String palletNo, String wcsNo, Long state, String remake, String taskType) {
 
         BaseLocationInfo baseLocationInfoFrom = iBaseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationFrom, 1l);
         BaseLocationInfo baseLocationInfoTo = iBaseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationTo, 1l);
@@ -119,6 +132,7 @@ public class WcsTaskSubService {
         wcsTask.setExt2(palletNo);
         wcsTask.setExt3(wcsNo);
         wcsTask.setRemark(remake);
+        wcsTask.setExt8(taskType);
         if (iWcsTaskService.insertWcsTask(wcsTask) > 0) {
             iBaseLocationInfoService.lockLocationStockStatus(Long.valueOf(wcsTask.getLocationFrom())
                     , Long.valueOf(wcsTask.getLocationTo())
@@ -168,19 +182,24 @@ public class WcsTaskSubService {
 
 
     public AjaxResult addWcsOutTask(String taskNo, String locationFrom, String locationTo
-            , String orderNo, String palletNo, String wcsNo, Long state, String remark) {
-        return addWcsTask(taskNo, locationFrom, locationTo, orderNo, palletNo, wcsNo, state, remark);
+            , String orderNo, String palletNo, String wcsNo, Long state, String remark, String taskType) {
+        return addWcsTask(taskNo, locationFrom, locationTo, orderNo, palletNo, wcsNo, state, remark, taskType);
     }
 
     public AjaxResult addWcsOutTask(String taskNo, String locationFrom, String locationTo
-            , String orderNo, String wcsNo, Long state, String remark) {
-        return addWcsOutTask(taskNo, locationFrom, locationTo, orderNo, StringUtils.EMPTY, wcsNo, state, remark);
+            , String orderNo, String palletNo, String wcsNo, Long state, String remark) {
+        return addWcsTask(taskNo, locationFrom, locationTo, orderNo, palletNo, wcsNo, state, remark, StringUtils.EMPTY);
     }
 
 
     public AjaxResult addWcsOutTask(String taskNo, String locationFrom, String locationTo
             , String orderNo, String palletNo, String remark) {
-        return addWcsOutTask(taskNo, locationFrom, locationTo, orderNo, palletNo, StringUtils.EMPTY, 10L, remark);
+        return addWcsOutTask(taskNo, locationFrom, locationTo, orderNo, palletNo, remark, StringUtils.EMPTY);
+    }
+
+    public AjaxResult addWcsOutTask(String taskNo, String locationFrom, String locationTo
+            , String orderNo, String palletNo, String remark, String taskType) {
+        return addWcsOutTask(taskNo, locationFrom, locationTo, orderNo, palletNo, StringUtils.EMPTY, 10L, remark, taskType);
     }
 
     public AjaxResult addWcsOutTask(String taskNo, String locationFrom, String locationTo
@@ -190,7 +209,7 @@ public class WcsTaskSubService {
 
     public AjaxResult addWcsOutTask(String taskNo, String locationFrom, String locationTo
             , String orderNo) {
-        return addWcsOutTask(taskNo, locationFrom, locationTo, orderNo, StringUtils.EMPTY, 10L, "立体库出库任务");
+        return addWcsOutTask(taskNo, locationFrom, locationTo, orderNo, StringUtils.EMPTY, StringUtils.EMPTY, 10L, "立体库出库任务", StringUtils.EMPTY);
     }
 
 
@@ -283,7 +302,8 @@ public class WcsTaskSubService {
                         //  修改出库单收货数量
                         completeTheCallbackOut(wcsTask);
                     }//空托任务反馈和移库反馈
-                    else if (wcsTask.getExt1().equals("") && !wcsTask.getExt3().equals("")) {
+                    else if (CollectionUtil.contains(
+                            Lists.newArrayList(Constant.TaskType.EMPTY_PALLET, Constant.TaskType.MOVE_INV), wcsTask.getExt8())) {
                         invLotLocIdService.adjLocationIsEmpty(wcsTask.getLocationFrom(), Constant.WAREHOUSE_ID, "Wcs");
                     }//agv出库完成后反馈回调取货完成
                     else if (wcsTask.getExt5() != null) {

+ 4 - 5
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WcsToWmsApiService.java

@@ -249,10 +249,8 @@ public class WcsToWmsApiService {
             // 生成任务
             String taskNo = "";
             AjaxResult ajaxResult = wcsTaskSubService.addWcsTask(Constant.LOC_STAGE_CACHE.toString()
-                    , baseLocationInfo.getId().toString()
-                    , ""
-                    , ""
-                    , wcsNo);
+                    , baseLocationInfo.getId().toString(), StringUtils.EMPTY, StringUtils.EMPTY,
+                    wcsNo, Constant.TaskType.EMPTY_PALLET.getDesc());
             if (!ajaxResult.isSuccess()) {
                 return ajaxResult;
             }
@@ -279,7 +277,8 @@ public class WcsToWmsApiService {
             // 生成四向车出库任务
             String taskNo = IdWorker.getIdStr();
 
-            wcsTaskSubService.addWcsOutTask(taskNo, baseLocationLotatt.getLocationNo(), Constant.LOC_SORTATION_CACHE.toString(), "", palletNo, wcsNo);
+            wcsTaskSubService.addWcsOutTask(taskNo, baseLocationLotatt.getLocationNo(),
+                    Constant.LOC_SORTATION_CACHE.toString(), "", palletNo, wcsNo, Constant.TaskType.EMPTY_PALLET.getDesc());
             Assert.isTrue( ObjectUtil.isNotNull(baseLocationLotatt.getId()), "仓库中无库存");
             invLotLocIdService.operateTraceIdByLocationId(String.valueOf(baseLocationLotatt.getId()), taskNo);
             LocationCoordDTO locationCoordinateVo1 = new LocationCoordDTO();

+ 14 - 8
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WmsDocOrderSubService.java

@@ -94,12 +94,7 @@ public class WmsDocOrderSubService {
 
     @Transactional
     public AjaxResult initOrderDetails(@PathVariable("orderNo") String orderNo) {
-        String bucketConfig = sysConfigService.selectConfigByKey(SceneConstants.STORAGE_BUCKET_SCENE);
-        if (StringUtils.isBlank(bucketConfig)) throw new BaseException("桶装场景配置缺少!");
-        Map<String, Object> bucketConfigMap = JSONObject.parseObject(bucketConfig, Map.class);
-        String orderRuleConfig = (String) bucketConfigMap.get(Constants.ORDER_RULE_CONFIG);
-        if (StringUtils.isBlank(orderRuleConfig)) throw new BaseException("桶装出库规则配置缺少!");
-        Boolean orderRule = Boolean.valueOf(orderRuleConfig);
+
         //  根据单号,和创建状态为00
         WmsDocOrderDetails wmsDocOrderDetails = new WmsDocOrderDetails();
         wmsDocOrderDetails.setOrderNo(orderNo);
@@ -113,7 +108,9 @@ public class WmsDocOrderSubService {
         List<BaseLocationLotattDTO> baseLocationLotattList = addConfirmAllocationAuto(orderNo);
 
         //筛选库存 由于选矿项目出库单头只对应一个
-        List<BaseLocationLotattDTO> filteredLocationLotattList = orderRule ? selectInventoriesByLocation(baseLocationLotattList, list.get(0)) : filterInv(baseLocationLotattList, orderNo);
+        Boolean orderRule = getOrderRule();
+        List<BaseLocationLotattDTO> filteredLocationLotattList = orderRule
+                ? selectInventoriesByLocation(baseLocationLotattList, list.get(0)) : filterInv(baseLocationLotattList, orderNo);
         // 匹配库存(撇开先进先出)
 //        baseLocationLotattVOS = addConfirmAllocationAuto(orderNo);
 
@@ -202,6 +199,15 @@ public class WmsDocOrderSubService {
         return AjaxResult.success("", filteredLocationLotattList);
     }
 
+    public Boolean getOrderRule() {
+        String warehouseAttrConfig = sysConfigService.selectConfigByKey(SceneConstants.WAREHOUSE_ATTRIBUTE_SCENE_CONFIG);
+        if (StringUtils.isBlank(warehouseAttrConfig)) throw new BaseException("warehouseAttrConfig is blank");
+        Map<String, Object> warehouseAttrMapper = JSONObject.parseObject(warehouseAttrConfig, Map.class);
+        String orderRuleStr = (String) warehouseAttrMapper.get(Constants.ORDER_RULE_CONFIG);
+        if (StringUtils.isBlank(orderRuleStr)) throw new BaseException("orderRuleStr is blank");
+        return Boolean.valueOf(orderRuleStr);
+    }
+
     public List<BaseLocationLotattDTO> selectInventoriesByLocation(List<BaseLocationLotattDTO> baseLocationLotattList, WmsDocOrderDetails docOrderDetail) {
         if( CollectionUtil.isEmpty(baseLocationLotattList) || ObjectUtil.isNull(docOrderDetail)) return Lists.newArrayList();
 
@@ -344,7 +350,7 @@ public class WmsDocOrderSubService {
         List<WmsDocOrderDetails> detailslist = iWmsDocOrderDetailsService.selectWmsDocOrderDetailsByOrderNo(orderNo);
         Assert.isTrue(CollectionUtil.isNotEmpty(detailslist),"单据没有可匹配明细");
 
-        //TODO 镍盐项目中,一个出库单头对应的物料号明细只有一个sku,其他项目中若存在多个需要获取的是物料号编码列表;
+        //TODO 选矿项目中,一个出库单头对应的物料号明细只有一个sku,其他项目中若存在多个需要获取的是物料号编码列表;
         //List<String> skuList = detailslist.stream().map(item -> item.getSku()).collect(Collectors.toList());
         String sku = detailslist.get(0).getSku();
         Assert.isTrue(StringUtils.isNotNull(sku),"存在无物料号的出库单");

+ 16 - 6
warewms-base/src/main/java/com/ruoyi/base/constant/Constant.java

@@ -1,12 +1,6 @@
 package com.ruoyi.base.constant;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.ruoyi.base.domain.BaseLocationZone;
-import com.ruoyi.base.domain.vo.BaseLocationLotattDTO;
-import com.ruoyi.common.utils.StringUtils;
-import io.netty.util.internal.ObjectUtil;
-
-import java.util.List;
 
 /**
  * Created by IntelliJ IDEA.
@@ -72,6 +66,22 @@ public class Constant {
     public static final String WCS_TASK_URL6 = "http://localhost:8082/adaptor/agv/callback/outtask?wcsId=";
 
 
+    public enum TaskType{
+        EMPTY_PALLET("emptyPallet"),
+        MOVE_INV("moveInv");
+
+        private String desc;
+
+        TaskType(String desc) {
+            this.desc = desc;
+        }
+
+        public String getDesc() {
+            return desc;
+        }
+    }
+
+
     public enum ZoneStatus{
         ENABLE("0"),
         DISABLE("1");

+ 0 - 1
warewms-base/src/main/java/com/ruoyi/base/service/impl/BaseLocationInfoServiceImpl.java

@@ -53,7 +53,6 @@ public class BaseLocationInfoServiceImpl implements IBaseLocationInfoService {
         //筛选2次 第2次去除同列占用和阻挡条件 todo 先筛选一次吧
         for (int i = 0; i < 1 && basLocation == null; i++) {
             for (BaseLocationLotattDTO location : basLocationList) {
-                //如果库位类型不为地堆则不用判断同列占用和阻挡
                 if (location.getLocationType().equals("1")) {
                     isBlock = true;
                 }