1
zhang
12 小时以前 286eadc0913fe9974ab2f2fd188fb707dc16ad40
1
1个文件已添加
19个文件已修改
261 ■■■■■ 已修改文件
zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/model/Task.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/resources/mapper/JobMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -13,6 +13,7 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -162,7 +163,7 @@
                    if (pakMk != null) {
                        staProtocol.setPakMk(pakMk.equals("Y"));
                    }
                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
                    if (result) {
                        return R.ok();
                    } else {
zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
@@ -1,9 +1,7 @@
package com.zy.asrs.controller;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.controller.requestParam.StaParam;
import com.zy.asrs.controller.requestParam.StationRequestParam;
import com.zy.asrs.controller.responseParam.StationResponseParam;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.JobService;
@@ -12,7 +10,6 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java
@@ -3,7 +3,6 @@
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class StaParam implements Serializable {
zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
@@ -65,6 +65,11 @@
    @TableField("job_sts")
    private Integer jobSts;
    /**
     * 开始时间
     */
    @TableField("start_time")
    private Date startTime;
    /**
     * 入库时间
     */
    @TableField("wms_time")
zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
@@ -13,7 +13,6 @@
public interface JobMapper extends BaseMapper<Job> {
    Job getJobByTaskNo(@Param("seqNum") String seqNum);
    Job getJobByJobNo(@Param("workNo") Integer workNo);
@@ -28,5 +27,7 @@
    List<Job> listJobByJobSts(@Param("jobSts") Integer jobSts);
    List<Job> listJobToLog(@Param("jobSts") Integer jobSts, @Param("day") Integer day);
}
zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java
@@ -3,6 +3,7 @@
import com.zy.asrs.entity.Job;
import com.zy.asrs.mapper.JobMapper;
import com.zy.asrs.service.JobService;
import com.zy.core.enums.ConveyorStateType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -27,11 +28,11 @@
    //@Scheduled(cron = "0 0 2 * * ?")
    @Scheduled(cron = "*/5 * * * * ?")
    public void autoToLog() {
        List<Job> jobs = jobMapper.listJobByJobSts(8);
        List<Job> jobs = jobMapper.listJobByJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
        for (Job job : jobs) {
            jobService.saveJobLog(job);
        }
        jobs = jobMapper.listJobByJobSts(2);
        jobs = jobMapper.listJobToLog(ConveyorStateType.OUTBOUND.getStatus(), 1);
        for (Job job : jobs) {
            jobService.saveJobLog(job);
        }
zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
@@ -20,7 +20,6 @@
    private JobLogMapper jobLogMapper;
    @Override
    public Job getJobByTaskNo(String seqNum) {
        return baseMapper.getJobByTaskNo(seqNum);
zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java
@@ -61,6 +61,7 @@
        try {
            // 执行配置的操作序列
            for (CtuOperationConfig config : properties.getOperations()) {
                log.info("执行输送线操作: {}", config.getType());
                operationExecutor.execute(config);
            }
zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
@@ -2,22 +2,31 @@
public enum ConveyorStateType {
    //出库设备上走
    OUTBOUND,
    OUTBOUND(2),
    //模拟用户
    FAKEUSER,
    FAKEUSER(3),
    //入库申请
    APPLYLOC,
    APPLYLOC(4),
    //入库设备上走
    INBOUND,
    //清除输送线上的信号
    CLEARSIGNAL,
    INBOUND(5),
    //发送任务给RCS
    SENDTASK;
    SENDTASK(7),
    //清除输送线上的信号
    CLEARSIGNAL(8),
    ;
    private int status;
    ConveyorStateType() {
    ConveyorStateType(int status) {
        this.status = status;
    }
    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }
}
zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java
New file
@@ -0,0 +1,10 @@
package com.zy.core.enums;
public enum TaskType {
    READ,
    WRITE,
    ;
}
zy-acs-cv/src/main/java/com/zy/core/model/Task.java
@@ -1,5 +1,6 @@
package com.zy.core.model;
import com.zy.core.enums.TaskType;
import lombok.Data;
/**
@@ -8,14 +9,14 @@
@Data
public class Task {
    private Integer step;
    private TaskType step;
    private Object data;
    public Task() {
    }
    public Task(Integer step, Object data) {
    public Task(TaskType step, Object data) {
        this.step = step;
        this.data = data;
    }
zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
@@ -65,28 +65,26 @@
                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
                    if (staProtocol == null) {
                        return;
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    // 判断是否满足条件
                    if (!staProtocol.isLoading()) {
                        return;
                        continue;
                    }
                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                        String barcode = barcodeThread.getBarcode();
                        if (Cools.isEmpty(barcode)) {
                            log.info("未扫到码值:{}", barcode);
                        if (barcodeThread == null || Cools.isEmpty(barcode)) {
                            log.error("站点:{},未扫到码值:{}", staProtocol.getSiteId(), barcode);
                            return;
                        }
                        // 9991是空板,9992是满板
                        if (staProtocol.getWorkNo() >= 9991 && staProtocol.getWorkNo() <= 9992) {
                            Job job = jobService.getJobByBarcode(barcode);
                            // 申请入库
                            if (job == null || (job != null && job.getJobSts() == 8)) {
                                ApplyInDto applyInDto = new ApplyInDto();
                                applyInDto.setStaNo(inSta.getStaNo() + "");
                                applyInDto.setBarcode(barcode);
                                applyInDto.setFull(staProtocol.getWorkNo() == 9992);
                                ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyInDto);
                                ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyIn(barcode, inSta.getStaNo() + "", staProtocol));
                                if (locOfWms != null) {
                                    job = new Job();
                                    job.setLoc(locOfWms.getLocNo());
@@ -95,11 +93,11 @@
                                    job.setBarcode(barcode);
                                    job.setStaNo(inSta.getTargetSta() + "");
                                    job.setJobNo(wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type));
                                    job.setJobSts(4);
                                    job.setJobSts(ConveyorStateType.APPLYLOC.getStatus());
                                    job.setWmsTime(new Date());
                                    jobService.insert(job);
                                } else {
                                    log.info("WMS未返回库位信息,{}", applyInDto);
                                    log.info("WMS未返回库位信息,条码:{},站点:{}", barcode, inSta.getStaNo());
                                }
                            }
                        }
@@ -111,4 +109,12 @@
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
    }
    private ApplyInDto applyIn(String barcode, String staNo, StaProtocol staProtocol) {
        ApplyInDto applyInDto = new ApplyInDto();
        applyInDto.setStaNo(staNo);
        applyInDto.setBarcode(barcode);
        applyInDto.setFull(staProtocol.getWorkNo() == 9992);
        return applyInDto;
    }
}
zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java
@@ -1,13 +1,12 @@
package com.zy.core.operation.handler;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.CtuMainService;
import com.zy.asrs.service.JobService;
import com.zy.asrs.service.WrkLastnoService;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -33,12 +32,6 @@
    @Autowired
    private WrkLastnoService wrkLastnoService;
    @Autowired
    private CtuMainService ctuMainService;
    @Autowired
    private JobService jobService;
@@ -58,24 +51,24 @@
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                    StaProtocol staProtocol = devpThread.getStation().get(takeSta.getStaNo());
                    if (staProtocol == null) {
                        return;
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    // 判断是否满足条件
                    if (staProtocol.isLoading()) {
                        return;
                        continue;
                    }
                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                        Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
                        if (job != null && job.getJobSts() == 7) {
                        if (job != null && job.getJobSts() == ConveyorStateType.SENDTASK.getStatus()) {
                            //String s = ctuMainService.checkStationStatus(takeSta.getStaNo());
                            staProtocol.setWorkNo(0);
                            staProtocol.setStaNo(0);
                            boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                            boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(TaskType.WRITE, staProtocol));
                            if (result) {
                                log.info("" + config.getMark() + "站点清空失败:{},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
                                job.setJobSts(8);
                                job.setJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
                                jobService.updateById(job);
                            }
                        }
zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
@@ -1,13 +1,12 @@
package com.zy.core.operation.handler;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.CtuMainService;
import com.zy.asrs.service.JobService;
import com.zy.asrs.service.WrkLastnoService;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.TaskType;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.operation.OperationHandler;
@@ -28,7 +27,6 @@
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
@@ -60,7 +58,7 @@
                Job jobByWorkNo = jobService.getJobByJobNo(staProtocol.getWorkNo());
                if (jobByWorkNo != null && jobByWorkNo.getJobSts() == 1) {
                    staProtocol.setStaNo(1006);
                    boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                    boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(TaskType.WRITE, staProtocol));
                    if (result) {
                        jobByWorkNo.setJobSts(3);
                        jobByWorkNo.setMemo("模拟按按钮");
zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
@@ -10,6 +10,7 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -22,6 +23,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Date;
/**
 * 入库
@@ -60,37 +63,35 @@
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                    if (staProtocol == null) {
                        return;
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    // 判断是否满足条件
                    if (!staProtocol.isLoading()) {
                        return;
                        continue;
                    }
                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
                        String barcode = barcodeThread.getBarcode();
                        if (Cools.isEmpty(barcode)){
                            return;
                            continue;
                        }
                        Job job = jobService.getJobByBarcode(barcode);
                        if (job != null) {
                            Integer targetSta = inSta.getTargetSta();
                            staProtocol.setWorkNo(job.getJobNo());
                            staProtocol.setStaNo(targetSta);
                            boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
                            if (result) {
                                job.setJobSts(5);
                                job.setJobSts(ConveyorStateType.INBOUND.getStatus());
                                job.setStartTime(new Date());
                                if (!jobService.updateById(job)) {
                                    throw new CoolException("更新输送线任务失败," + " - " + staProtocol.getWorkNo());
                                }
                                log.info("" + config.getMark() + "入库前进:{},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
                                log.info("入库前进:{},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
                            }
                        } else {
                            // 模拟操作逻辑
                        }
                        //}
                    }
                }
            }
zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
@@ -6,11 +6,11 @@
import com.zy.asrs.service.CtuMainService;
import com.zy.asrs.service.JobService;
import com.zy.asrs.service.WrkLastnoService;
import com.zy.common.utils.News;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -65,9 +65,17 @@
                    }
                    // 判断是否满足条件
                    if (!staProtocol.isLoading()) {
                        if (staProtocol.getWorkNo() > 0) {
                            log.error("输送线上有任务号无货,需要人工处理:{}", staProtocol.getSiteId());
                        }
                        continue;
                    }
                    if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0) {
                        if (staProtocol.isInEnable()) {
                            log.error("没有可入信号:{}", staProtocol.getSiteId());
                            continue;
                        }
                        String seqNum = ctuMainService.checkStationStatus(releaseSta.getStaNo());
                        if (seqNum != null) {
                            Job jobBySeqNum = jobService.getJobByTaskNo(seqNum);
@@ -79,23 +87,20 @@
                                Job job = new Job();
                                job.setTaskNo(seqNum);
                                job.setJobNo(workNo);
                                job.setJobSts(2);
                                job.setJobSts(ConveyorStateType.OUTBOUND.getStatus());
                                if (!jobService.insert(job)) {
                                    throw new CoolException("插入输送线任务失败," + jobBySeqNum + " - " + workNo);
                                }
                                devpThread.setPakMk(staProtocol.getSiteId(), false);
                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
                                if (result) {
                                    log.info("输送线下发:{},{}", staProtocol.getWorkNo(), releaseSta.getTargetSta());
                                } else {
                                    News.error("" + config.getMark() + " - 发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId());
                                    log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId());
                                }
                            }
                        } else {
                            News.errorNoLog("" + config.getMark() + " - 站点信息不符合入库条件!!!" + " 调用RCS检验未通过,站点:" + staProtocol.getSiteId());
                            log.info("站点信息不符合入库条件!!!" + " 调用RCS检验未通过,站点:{}", staProtocol.getSiteId());
                        }
                    } else {
                        News.errorNoLog("" + config.getMark() + " - 站点信息不符合入库条件!!!" + " 自动信号:" + staProtocol.isLoading() + "、可入信号:" + staProtocol.isInEnable() + "、空板信号:" + staProtocol.isEmptyMk() + "、工作号:" + staProtocol.getWorkNo() + "、锁定标记" + staProtocol.isPakMk());
                    }
                }
            }
zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
@@ -1,6 +1,5 @@
package com.zy.core.operation.handler;
import com.core.common.DateUtils;
import com.zy.asrs.controller.vo.OpenBusSubmitParam;
import com.zy.asrs.controller.vo.TaskDto;
import com.zy.asrs.entity.Job;
@@ -58,17 +57,51 @@
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getTargetSta());
                    if (staProtocol == null) {
                        return;
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    // 判断是否满足条件
                    if (!staProtocol.isLoading()) {
                        return;
                        if (staProtocol.getWorkNo() > 0) {
                            log.error("输送线上有任务号无货,需要人工处理:{}", staProtocol.getSiteId());
                    }
                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                        continue;
                    }
                    if (staProtocol.getWorkNo() == 0) {
                        log.error("输送线上有货无任务号,需要人工处理:{}", staProtocol.getSiteId());
                        continue;
                    }
                    if (staProtocol.isAutoing()) {
                        Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
                        if (job != null && job.getJobSts() == 5) {
                        if (job != null && job.getJobSts() == ConveyorStateType.INBOUND.getStatus()) {
                            if (ctuMainService.sendTask(process(job))) {
                                job.setJobSts(ConveyorStateType.SENDTASK.getStatus());
                                job.setRcsTime(new Date());
                                jobService.updateById(job);
                                log.info("任务发送给RCS成功,WMS任务号:{},输送线工作号:{}", job.getTaskNo(), job.getJobNo());
                            } else {
                                log.info("任务发送给RCS失败,WMS任务号:{},输送线工作号:{}", job.getTaskNo(), job.getJobNo());
                            }
                        }
                    } else {
                        log.error("输送线为自动,需要开启:{}", staProtocol.getSiteId());
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
    }
    /**
     * 处理任务
     *
     * @param job
     * @return
     */
    private OpenBusSubmitParam process(Job job) {
                            OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
                            openBusSubmitParam.setBatchNo(job.getBatchNo());
                            List<TaskDto> taskList = new ArrayList<>();
@@ -80,21 +113,6 @@
                            taskDto.setPriority(1);
                            taskList.add(taskDto);
                            openBusSubmitParam.setTasks(taskList);
                            if (ctuMainService.sendTask(openBusSubmitParam)) {
                                job.setJobSts(7);
                                job.setRcsTime(new Date());
                                jobService.updateById(job);
                                log.info("任务发送给RCS成功," + job.getTaskNo() + " - " + job.getJobNo());
                            } else {
                                log.info("任务发送给RCS失败," + job.getTaskNo() + " - " + job.getJobNo());
                            }
                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
        return openBusSubmitParam;
    }
}
zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -17,6 +17,7 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -55,7 +56,6 @@
    }};
    public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
        add(1);
    }};
@@ -86,18 +86,18 @@
        connect();
        while (true) {
            try {
                int step = 1;
                TaskType step = TaskType.READ;
                Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
                if (task != null) {
                    step = task.getStep();
                }
                switch (step) {
                    // 读数据
                    case 1:
                    case READ:
                        read();
                        break;
                    // 写数据 ID+目标站
                    case 2:
                    case WRITE:
                        write((StaProtocol) task.getData());
                        break;
                    default:
@@ -280,8 +280,6 @@
            News.error("SiemensDevp" + " - 4" + " - 写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol));
        }
    }
    /**
zy-acs-cv/src/main/resources/application.yml
@@ -31,10 +31,10 @@
        mark: 10
        max-retries: 3
        retry-delay: 800
      - type: FAKEUSER
        mark: 20
        max-retries: 2
        retry-delay: 800
#      - type: FAKEUSER
#        mark: 20
#        max-retries: 2
#        retry-delay: 800
      - type: APPLYLOC
        mark: 30
        max-retries: 2
zy-acs-cv/src/main/resources/mapper/JobMapper.xml
@@ -5,14 +5,14 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Job">
        <id column="id" property="id"/>
        <result column="in_task_no" property="inTaskNo"/>
        <result column="out_task_no" property="outTaskNo"/>
        <result column="task_no" property="taskNo"/>
        <result column="batch_no" property="batchNo"/>
        <result column="loc" property="loc"/>
        <result column="sta_no" property="staNo"/>
        <result column="barcode" property="barcode"/>
        <result column="job_no" property="jobNo"/>
        <result column="job_sts" property="jobSts"/>
        <result column="start_time" property="startTime"/>
        <result column="wms_time" property="wmsTime"/>
        <result column="rcs_time" property="rcsTime"/>
        <result column="status" property="status"/>
@@ -26,38 +26,42 @@
    </resultMap>
    <select id="getJobByTaskNo" resultMap="BaseResultMap">
        select *
        from cv_job
        where task_no = #{seqNum}  order by id desc limit 1
        where task_no = #{seqNum}
        order by id desc limit 1
    </select>
    <select id="getJobByJobNo" resultMap="BaseResultMap">
        select *
        from cv_job
        where job_no = #{workNo} order by id desc limit 1
        where job_no = #{workNo}
        order by id desc limit 1
    </select>
    <select id="getJobByJobNoAndJobSts" resultMap="BaseResultMap">
        select *
        from cv_job
        where job_no = #{workNo}
          and job_sts = #{jobSts}  order by id desc limit 1
          and job_sts = #{jobSts}
        order by id desc limit 1
    </select>
    <select id="getJobByBarcodeAndJobSts" resultMap="BaseResultMap">
        select *
        from cv_job
        where barcode = #{barcode}
          and job_sts = #{jobSts}  order by id desc limit 1
          and job_sts = #{jobSts}
        order by id desc limit 1
    </select>
    <select id="getJobByBarcode" resultMap="BaseResultMap">
        select *
        from cv_job
        where barcode = #{barcode}  order by id desc limit 1
        where barcode = #{barcode}
        order by id desc limit 1
    </select>
@@ -67,4 +71,10 @@
        where job_sts = #{jobSts}
    </select>
    <select id="listJobToLog" resultMap="BaseResultMap">
        select *
        from cv_job
        where job_sts = #{jobSts} and DATEDIFF(NOW(), #{day}) > 1
    </select>
</mapper>