1
zhang
2026-04-17 9869f39cc82ae584ef4d783bb13316ccd24d26dd
1
10个文件已修改
81 ■■■■■ 已修改文件
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/StaProtocol.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/ConveyorBackgroundService.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/ConveyorOperationExecutor.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/properties/CtuOperationConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/WmsMainServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/resources/application.yml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/StaProtocol.java
@@ -184,13 +184,13 @@
    public String getLocTypeStr() {
        if (high){
        if (high) {
            return "高";
        }
        if (low){
        if (low) {
            return "低";
        }
        if (mid){
        if (mid) {
            return "中";
        }
        return "-";
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/ConveyorBackgroundService.java
@@ -31,7 +31,6 @@
    private ScheduledExecutorService executorService;
    private final AtomicBoolean running = new AtomicBoolean(false);
    private long lastDbUpdateTime = 0;
@@ -44,7 +43,7 @@
        executorService = Executors.newSingleThreadScheduledExecutor(r -> {
            Thread thread = new Thread(r);
            thread.setName("cv-background-thread");
            thread.setDaemon(true);
            //thread.setDaemon(true);
            return thread;
        });
@@ -53,13 +52,12 @@
                properties.getInitialDelay(),
                properties.getInterval(),
                TimeUnit.MILLISECONDS);
        running.set(true);
        News.info("输送线后台服务线程初始化完成");
    }
    private void processConveyorTasks() {
        // 系统运行状态判断
        if (!SystemProperties.WCS_RUNNING_STATUS.get() || !running.get()) {
        if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
            News.info("系统未运行或服务已停止,跳过输送线任务处理");
            return;
        }
@@ -68,19 +66,21 @@
            News.info("执行输送线操作");
            lastDbUpdateTime = currentTime;
        }
        try {
            // 执行配置的操作序列
            for (CtuOperationConfig config : properties.getOperations()) {
        // 执行配置的操作序列
        for (CtuOperationConfig config : properties.getOperations()) {
            try {
                operationExecutor.execute(config);
            } catch (Exception e) {
                News.error("输送线操作执行最终失败, type={}, error={}", config.getType(), e.getMessage());
                // 可选:发送告警、暂停调度等
            }
        } catch (Exception e) {
            News.error("输送线任务处理异常,{}", e.getMessage());
        }
    }
    @PreDestroy
    public void shutDown() {
        running.set(false);
        if (executorService != null && !executorService.isShutdown()) {
            News.info("正在关闭输送线后台服务线程...");
            executorService.shutdown();
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/ConveyorOperationExecutor.java
@@ -32,28 +32,10 @@
            News.warn("未找到操作处理器: {}", config.getType());
            return;
        }
        int retryCount = 0;
        while (retryCount < config.getMaxRetries()) {
            try {
                handler.execute(config);
                return;
            } catch (Exception e) {
                retryCount++;
                if (retryCount >= config.getMaxRetries()) {
                    News.error("操作执行失败,已达到最大重试次数: {}", config.getType(), e);
                } else {
                    News.warn("操作执行失败,正在重试({}/{})",
                            retryCount, config.getMaxRetries(), e);
                    try {
                        Thread.sleep(config.getRetryDelay());
                    } catch (InterruptedException ie) {
                        Thread.currentThread().interrupt();
                        News.error("重试休眠被中断", ie);
                        return;
                    }
                }
            }
        try {
            handler.execute(config);
        } catch (Exception e) {
            News.error("操作执行失败,等待下一周期重试: {}", config.getType(), e);
        }
    }
}
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java
@@ -88,7 +88,7 @@
                        News.error("{}:站点:{},无物", config.getMark(), staProtocol.getSiteId());
                        continue;
                    }
                    if (staProtocol.isErr()){
                    if (staProtocol.isErr()) {
                        if (staProtocol.isFrontErr()) {
                            News.error("{}:站点:{},前超限", config.getMark(), staProtocol.getSiteId());
                            continue;
@@ -97,15 +97,15 @@
                            News.error("{}:站点:{},后超限", config.getMark(), staProtocol.getSiteId());
                            continue;
                        }
                        if ( staProtocol.isHighErr()) {
                        if (staProtocol.isHighErr()) {
                            News.error("{}:站点:{},高超限", config.getMark(), staProtocol.getSiteId());
                            continue;
                        }
                        if ( staProtocol.isLeftErr()) {
                        if (staProtocol.isLeftErr()) {
                            News.error("{}:站点:{},左超限", config.getMark(), staProtocol.getSiteId());
                            continue;
                        }
                        if ( staProtocol.isRightErr()) {
                        if (staProtocol.isRightErr()) {
                            News.error("{}:站点:{},右超限", config.getMark(), staProtocol.getSiteId());
                            continue;
                        }
@@ -113,7 +113,7 @@
                            News.error("{}:站点:{},超重或", config.getMark(), staProtocol.getSiteId());
                            continue;
                        }
                        if ( staProtocol.isBarcodeErr()) {
                        if (staProtocol.isBarcodeErr()) {
                            News.error("{}:站点:{},扫码失败", config.getMark(), staProtocol.getSiteId());
                            continue;
                        }
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java
@@ -6,7 +6,6 @@
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.conveyor.controller.vo.OpenBusSubmitParam;
import com.zy.acs.conveyor.controller.vo.TaskDto;
import com.zy.acs.conveyor.core.constant.RedisConveyorConstant;
import com.zy.acs.conveyor.core.enums.ConveyorStateType;
import com.zy.acs.conveyor.core.model.StaProtocol;
import com.zy.acs.conveyor.core.operation.OperationHandler;
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java
@@ -105,7 +105,7 @@
                        staProtocol.setStartUpFlag(false);
                        redis.push(RedisConveyorConstant.CONVEYOR_TASK_FLAG, staProtocol);
                        if (!jobService.insert(job)) {
                            News.info("{},启动入库:工作号:{},目标站点:{},满:{},空:{}", config.getMark(), staProtocol.getWorkNo(), staProtocol.getStaNo(),staProtocol.isFullPlt(),staProtocol.isEmptyMk());
                            News.info("{},启动入库:工作号:{},目标站点:{},满:{},空:{}", config.getMark(), staProtocol.getWorkNo(), staProtocol.getStaNo(), staProtocol.isFullPlt(), staProtocol.isEmptyMk());
                        }
                    }
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/properties/CtuOperationConfig.java
@@ -10,7 +10,5 @@
public class CtuOperationConfig {
    private ConveyorStateType type;
    private String mark;
    private int maxRetries = 3;
    private long retryDelay = 500;
    private Map<String, Object> params = new HashMap<>();
}
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java
@@ -4,7 +4,7 @@
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.zy.acs.common.utils.News;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.conveyor.core.constant.*;
import com.zy.acs.conveyor.core.constant.RedisConveyorConstant;
import com.zy.acs.conveyor.core.enums.DeviceField;
import com.zy.acs.conveyor.core.enums.PlcAlarmDefinition;
import com.zy.acs.conveyor.core.enums.SafeSignalField;
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/WmsMainServiceImpl.java
@@ -58,7 +58,7 @@
                    .setJson(JSON.toJSONString(applyInDto))
                    .build()
                    .doPost();
            log.info("请求数据:{},WMS返回数据:{}", applyInDto,response);
            log.info("请求数据:{},WMS返回数据:{}", applyInDto, response);
            JSONObject jsonObject = JSON.parseObject(response);
            if (jsonObject.get(code) != null && jsonObject.getInteger(code).equals(codeValue)) {
                return JSONObject.parseObject(jsonObject.getString(dataCode), ApplyInRepsonseDto.class);
zy-asc-conveyor/src/main/resources/application.yml
@@ -43,24 +43,14 @@
    operations:
      - type: OUTBOUND
        mark: 出库流程
        max-retries: 3
        retry-delay: 800
      - type: STARTUP
        mark: 启动入库流程
        max-retries: 2
        retry-delay: 800
      - type: APPLYLOC
        mark: 申请入库流程
        max-retries: 2
        retry-delay: 2000
      - type: CLEARSIGNAL
        mark: 清理信号流程
        max-retries: 2
        retry-delay: 800
      - type: SENDTASK
        mark: 发送任务RCS流程
        max-retries: 2
        retry-delay: 800
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml