Junjie
2024-12-11 6a5e440f1f91535b901f856b56d27cfe36840813
#path similarity
2个文件已修改
21 ■■■■■ 已修改文件
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
@@ -16,6 +16,7 @@
import com.zy.asrs.wcs.core.utils.*;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
import com.zy.asrs.wcs.rcs.entity.Device;
import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
@@ -666,6 +667,24 @@
        Double similarity = navigateUtils.similarityPath(originPath, finalPath);
        if (similarity <= similarityRef) {
            Object object = redisUtil.get(DeviceRedisConstant.SIMILARITY_TIMES + motion.getTaskNo());
            if (object == null) {
                redisUtil.set(DeviceRedisConstant.SIMILARITY_TIMES + motion.getTaskNo(), System.currentTimeMillis(), 60 * 60 * 24);
            }else {
                long similarityTimeoutRef = 20L;//默认超时20s
                Dict similarityTimeoutDict = dictService.getOne(new LambdaQueryWrapper<Dict>()
                        .eq(Dict::getFlag, "similarityTimeout")
                        .eq(Dict::getStatus, 1));
                if (similarityTimeoutDict != null) {
                    similarityTimeoutRef = Long.parseLong(similarityTimeoutDict.getValue());
                }
                long recordTime = Long.parseLong(object.toString());
                if (System.currentTimeMillis() - recordTime > (60 * similarityTimeoutRef)) {
                    //超时,直接放行
                    return true;
                }
            }
            News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
            return false;
        }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
@@ -21,4 +21,6 @@
    public static final String COMMAND_TMP = "command_tmp_";
    public static final String SIMILARITY_TIMES = "similarity_times_";
}