From e6b5bd67bacea0bcbdb884fd39df011a3a2f394a Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Mon, 7 Jul 2025 15:32:57 +0800 Subject: [PATCH] =?UTF-8?q?ctu=E5=85=A5=E5=BA=93=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/api/service/IApiService.java | 7 + .../api/service/impl/ApiServiceImpl.java | 8 + .../controller/ThreadOperationController.java | 14 +- .../ruoyi/device/ssj/domain/DeviceSsj.java | 116 ++----------- .../com/ruoyi/schedule/ScheduleThread.java | 16 ++ .../scheduleTask/ssj/bs/BsInSsjThread.java | 160 ++++++++++++------ .../scheduleTask/ssj/js/JsInSsjThread.java | 82 +++++---- .../scheduleTask/ssj/js/JsPickSsjTread.java | 1 - 8 files changed, 205 insertions(+), 199 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java index bb17d84..2034bb8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java @@ -21,6 +21,13 @@ import java.util.List; */ public interface IApiService { + + /** + * 请求入库 + * @param mydoJob + * @return 返回入库口位置 + */ + public MydoJob requestEnter(MydoJob mydoJob); /** * 获取任务列表 * @param mydoJob diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java index a90ee4c..0db565f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java @@ -47,6 +47,14 @@ public class ApiServiceImpl implements IApiService { private IAgvQueueService agvQueueService; + @Override + public MydoJob requestEnter(MydoJob mydoJob) { + RequestLog requestLog = requestLogService.getRequestLog(GET_MYDOJOB_URL, "请求入库", JSONUtil.toJsonStr(mydoJob)); + String responseBody = requestLog.getResponseBody(); + InterfaceReceive bean = JSONUtil.toBean(responseBody, InterfaceReceive.class); + return JSONUtil.toBean(JSONUtil.toJsonStr(bean.getData()), MydoJob.class); + } + @Override public List getMydoJobList(MydoJob mydoJob) { RequestLog requestLog = requestLogService.getRequestLog(GET_MYDOJOB_URL, "获取任务", JSONUtil.toJsonStr(mydoJob)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/operation/controller/ThreadOperationController.java b/ruoyi-admin/src/main/java/com/ruoyi/device/operation/controller/ThreadOperationController.java index 73c45d0..82c8a90 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/operation/controller/ThreadOperationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/operation/controller/ThreadOperationController.java @@ -17,7 +17,7 @@ public class ThreadOperationController { private ScheduleThread scheduleThread; /** - * 开启线程 + * 开启plc读取线程 * * @return */ @@ -28,6 +28,18 @@ public class ThreadOperationController { return AjaxResult.success(); } + /** + * 开启调度线程 + * + * @return + */ + @RequestMapping("/startAllThread2") + //@PreAuthorize("@ss.hasPermi('device:operation:start')") + public AjaxResult startAllThread2() { + scheduleThread.startAllThread2(); + return AjaxResult.success(); + } + /** * 关闭线程 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java index 2bd96f4..a0e7305 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java @@ -1,5 +1,8 @@ package com.ruoyi.device.ssj.domain; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -11,6 +14,9 @@ import com.ruoyi.common.core.domain.BaseEntity; * @author ruoyi * @date 2025-07-04 */ +@Data +@AllArgsConstructor +@NoArgsConstructor public class DeviceSsj extends BaseEntity { private static final long serialVersionUID = 1L; @@ -48,15 +54,15 @@ public class DeviceSsj extends BaseEntity /** 入库请求 */ @Excel(name = "入库请求") - private Integer rkqq; + private int rkqq; /** 空闲 */ @Excel(name = "空闲") - private Integer kx; + private int kx; /** 到位 */ @Excel(name = "到位") - private Integer dw; + private int dw; /** 条码 */ @Excel(name = "条码") @@ -64,109 +70,7 @@ public class DeviceSsj extends BaseEntity /** 任务号 */ @Excel(name = "任务号") - private Integer taskNo; + private int taskNo; - public Long getId() { - return id; - } - public void setId(Long id) { - this.id = id; - } - - public String getDeviceCode() { - return deviceCode; - } - - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getIpAddress() { - return ipAddress; - } - - public void setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - } - - public String getPlcDbReadAddress() { - return plcDbReadAddress; - } - - public void setPlcDbReadAddress(String plcDbReadAddress) { - this.plcDbReadAddress = plcDbReadAddress; - } - - public String getIsActive() { - return isActive; - } - - public void setIsActive(String isActive) { - this.isActive = isActive; - } - - public String getPlcDbWriteAddress() { - return plcDbWriteAddress; - } - - public void setPlcDbWriteAddress(String plcDbWriteAddress) { - this.plcDbWriteAddress = plcDbWriteAddress; - } - - public Integer getRkqq() { - return rkqq; - } - - public void setRkqq(Integer rkqq) { - this.rkqq = rkqq; - } - - public Integer getKx() { - return kx; - } - - public void setKx(Integer kx) { - this.kx = kx; - } - - public Integer getDw() { - return dw; - } - - public void setDw(Integer dw) { - this.dw = dw; - } - - public String getTrayCode() { - return trayCode; - } - - public void setTrayCode(String trayCode) { - this.trayCode = trayCode; - } - - public Integer getTaskNo() { - return taskNo; - } - - public void setTaskNo(Integer taskNo) { - this.taskNo = taskNo; - } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/ScheduleThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/ScheduleThread.java index 9a2775a..4434566 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/ScheduleThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/ScheduleThread.java @@ -5,6 +5,8 @@ import com.ruoyi.device.ssj.service.IDeviceSsjService; import com.ruoyi.schedule.plcRead.ssj.domain.PlcConnectInfo; import com.ruoyi.schedule.plcRead.ssj.PlcRead; import com.ruoyi.schedule.plcRead.ssj.domain.CustomThread; +import com.ruoyi.schedule.scheduleTask.ssj.bs.BsInSsjThread; +import com.ruoyi.schedule.scheduleTask.ssj.js.JsInSsjThread; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -19,6 +21,9 @@ public class ScheduleThread { @Autowired private IDeviceSsjService deviceSsjService; + public CustomThread bsInSsjThread; + public CustomThread jsInSsjThread; + /** * 项目初始化启动 */ @@ -37,6 +42,12 @@ public class ScheduleThread { PlcRead plcRead = new PlcRead(list,ssjPlcConnectInfo); Thread plcReadThread = new Thread(plcRead); customThread = new CustomThread(plcReadThread, plcRead); + + //调度初始化 + BsInSsjThread bsInSsjThread1 = new BsInSsjThread(); + bsInSsjThread = new CustomThread(new Thread(bsInSsjThread1),bsInSsjThread1); + JsInSsjThread jsInSsjThread1 = new JsInSsjThread(); + jsInSsjThread = new CustomThread(new Thread(jsInSsjThread1),bsInSsjThread1); } /** @@ -46,6 +57,11 @@ public class ScheduleThread { customThread.getThread().start(); } + public void startAllThread2() { + bsInSsjThread.getThread().start(); + jsInSsjThread.getThread().start(); + } + /** * 停止线程 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/bs/BsInSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/bs/BsInSsjThread.java index e25b438..fd3d810 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/bs/BsInSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/bs/BsInSsjThread.java @@ -3,11 +3,13 @@ package com.ruoyi.schedule.scheduleTask.ssj.bs; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskRequest; import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskResponse; import com.ruoyi.api.domain.wcs2wms.MydoJob; import com.ruoyi.api.service.IApiService; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.device.agv.domain.AgvQueue; import com.ruoyi.device.agv.service.IAgvQueueService; import com.ruoyi.device.ssj.domain.DeviceSsj; @@ -23,58 +25,143 @@ import java.util.List; @Slf4j -@Component -public class BsInSsjThread { +public class BsInSsjThread implements Runnable { public HashMap> ssjCodeList; - @Resource private IApiService apiService; - @Resource private IAgvQueueService agvQueueService; + public boolean isRun = true; + - @PostConstruct public void init() { //todo 获取设备编码列表 ssjCodeList = new HashMap<>(); + log.info("初始化臂式入库输送机"); + //入库口 ArrayList ssjCodes = new ArrayList<>(); ssjCodes.add("G1003"); ssjCodes.add("G1009"); ssjCodeList.put("in", ssjCodes); + //流利架 + ArrayList ssjCodes2 = new ArrayList<>(); + ssjCodes2.add("LLJ1"); + ssjCodes2.add("LLJ2"); + ssjCodes2.add("LLJ3"); + ssjCodes2.add("LLJ4"); + ssjCodes2.add("LLJ5"); + ssjCodeList.put("in2", ssjCodes2); + + apiService = SpringUtils.getBean(IApiService.class); + agvQueueService = SpringUtils.getBean(IAgvQueueService.class); + log.info("初始化服务 {},{}", apiService, agvQueueService); } + @Override public void run() { - for (String type : ssjCodeList.keySet()) { - if ("in".equals(type)) { - for (String ssjCode : ssjCodeList.get(type)) { - if (PlcRead.deviceMap.containsKey(ssjCode)) { - inDispatch(PlcRead.deviceMap.get(ssjCode)); - } else { - log.error("设备不存在 ssjCode{}", ssjCode); - } + init(); + while (isRun){ + for (String type : ssjCodeList.keySet()) { + + switch ( type){ + case "in": + //正常入库 + for (String ssjCode : ssjCodeList.get(type)) { + try { + if (PlcRead.deviceMap.containsKey(ssjCode)) { + inDispatch(PlcRead.deviceMap.get(ssjCode)); + } else { + log.error("设备不存在 ssjCode{}", ssjCode); + } + } catch (RuntimeException e) { + log.error(e.getMessage(),e); + } + + } + break; + case "in2": + //流利架 空料箱入库 + for (String lljCode : ssjCodeList.get(type)) { + try { + inLljDispatch(lljCode); + } catch (RuntimeException e) { + log.error(e.getMessage(),e); + } + + } + break; } } + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } } + } + /** + * 流利架空料箱入库 + * @param lljCode + */ + private void inLljDispatch(String lljCode) { + //查询流利架未开始的作业 + MydoJob mydoJobParam = new MydoJob(); + mydoJobParam.setStatus("1"); + mydoJobParam.setEntranceId(lljCode); + MydoJob mydoJob = apiService.requestEnter(mydoJobParam); + if (ObjUtil.isNotNull(mydoJob) && !"6".equals(mydoJob.getExecutionPhase())) { + //判断是否生成队列 + AgvQueue agvQueueParam = new AgvQueue(); + agvQueueParam.setWmsTaskNo(mydoJob.getTaskNo()); + agvQueueParam.setPositionCode1(lljCode); + agvQueueParam.setStatus("0"); + List agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam); + if (CollUtil.isEmpty(agvQueues)) { + //生成agv队列 + AgvQueue agvQueue = createAgvQueue(lljCode, mydoJob); + //请求任务生成 + GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue); + //修改wms任务状态 + if (genAgvSchedulingTaskResponse.getCode() == 0) { + //修改ctu执行状态 + agvQueue.setStatus("1"); + agvQueueService.updateAgvQueue(agvQueue); + log.info("向CTU下入库库作业"); + //修改mydoJob执行阶段 + mydoJob.setExecutionPhase("6"); + apiService.updateMydoJob(mydoJob); + } + } + }else { + if (ObjUtil.isNull(mydoJob)){ + log.info("无入库库作业 lljCode:{}", lljCode); + } + if ("6".equals(mydoJob.getExecutionPhase())) { + log.info("入库库作业已下发 taskNo:{}", mydoJob.getTaskNo()); + } + } + } + /** + * 输送线入库 + * @param inSsjDevice + */ public void inDispatch(DeviceSsj inSsjDevice) { //如果入库请求1 并且 托盘码不为空 if (inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) { //根据入口,查询对应的入库作业 MydoJob mydoJobParam = new MydoJob(); - //mydoJobParam.setEntranceId(inSsjDevice.getDeviceCode()); mydoJobParam.setStatus("1"); mydoJobParam.setTrayCode(inSsjDevice.getTrayCode()); - List mydoJobs = apiService.getMydoJobList(mydoJobParam); - if (CollUtil.isNotEmpty(mydoJobs)) { - MydoJob mydoJob = mydoJobs.get(0); - //修改mydojob入口 + MydoJob mydoJob = apiService.requestEnter(mydoJobParam); + if (ObjUtil.isNotNull(mydoJob) && !"6".equals(mydoJob.getExecutionPhase())){ + //通知wms 当前料箱的入库口 mydoJob.setEntranceId(inSsjDevice.getDeviceCode()); apiService.updateMydoJob(mydoJob); - //判断是否生成队列 AgvQueue agvQueueParam = new AgvQueue(); agvQueueParam.setWmsTaskNo(mydoJob.getTaskNo()); @@ -83,7 +170,7 @@ public class BsInSsjThread { List agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam); if (CollUtil.isEmpty(agvQueues)) { //生成agv队列 - AgvQueue agvQueue = createAgvQueue(inSsjDevice, mydoJob); + AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob); //请求任务生成 GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue); //修改wms任务状态 @@ -96,51 +183,28 @@ public class BsInSsjThread { mydoJob.setExecutionPhase("6"); apiService.updateMydoJob(mydoJob); } - } else { - AgvQueue agvQueue = agvQueues.get(0); - //请求任务生成 - GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue); - //修改wms任务状态 - if (genAgvSchedulingTaskResponse.getCode() == 0) { - //修改ctu执行状态 - agvQueue.setStatus("1"); - agvQueueService.updateAgvQueue(agvQueue); - log.info("向CTU下入库库作业"); - //修改mydoJob执行阶段 - mydoJob.setExecutionPhase("6"); - apiService.updateMydoJob(mydoJob); - } - } - } else { - mydoJobParam.setEntranceId(inSsjDevice.getDeviceCode()); - mydoJobParam.setStatus("3"); - mydoJobParam.setTrayCode(inSsjDevice.getTrayCode()); - mydoJobs = apiService.getMydoJobList(mydoJobParam); - if (CollUtil.isNotEmpty(mydoJobs)) { - log.info("trayCode:{} 入库作业正在执行中", inSsjDevice.getTrayCode()); - } else { - log.info("trayCode:{} 无入库作业", inSsjDevice.getTrayCode()); } } + } } /** * 生成入库AGV队列 * - * @param ssjDevice + * @param positionCode1 * @param mydoJob * @return */ - private AgvQueue createAgvQueue(DeviceSsj ssjDevice, MydoJob mydoJob) { + private AgvQueue createAgvQueue(String positionCode1, MydoJob mydoJob) { //生成ctu执行队列 AgvQueue agvQueue = new AgvQueue(); String reqCode = IdUtil.fastSimpleUUID(); agvQueue.setReqCode(reqCode); agvQueue.setReqTime(DateUtil.formatDateTime(DateUtil.date())); agvQueue.setAgvType("CTU"); - agvQueue.setPositionCode1(mydoJob.getCargoSpaceId()); - agvQueue.setPositionCode2(ssjDevice.getDeviceCode()); + agvQueue.setPositionCode1(positionCode1); + agvQueue.setPositionCode2(mydoJob.getCargoSpaceId()); agvQueue.setTaskType("F01"); agvQueue.setCtnrType("0"); agvQueue.setCtnrCode("0"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsInSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsInSsjThread.java index 920a39b..154e890 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsInSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsInSsjThread.java @@ -3,7 +3,9 @@ package com.ruoyi.schedule.scheduleTask.ssj.js; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.device.agv.domain.AgvQueue; import com.ruoyi.device.agv.service.IAgvQueueService; import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskRequest; @@ -23,18 +25,16 @@ import java.util.List; @Slf4j -@Component -public class JsInSsjThread { +public class JsInSsjThread implements Runnable { public HashMap> ssjCodeList; - @Resource private IApiService apiService; - @Resource private IAgvQueueService agvQueueService; + public boolean isRun = true; + - @PostConstruct public void init() { //todo 获取设备编码列表 ssjCodeList = new HashMap<>(); @@ -47,19 +47,41 @@ public class JsInSsjThread { ssjCodes.add("G5009"); ssjCodes.add("G5018"); ssjCodeList.put("in", ssjCodes); + + apiService = SpringUtils.getBean(IApiService.class); + agvQueueService = SpringUtils.getBean(IAgvQueueService.class); + log.info("初始化服务 {},{}", apiService, agvQueueService); } + @Override public void run() { - for (String type : ssjCodeList.keySet()) { - if ("in".equals(type)) { - for (String ssjCode : ssjCodeList.get(type)) { - if (PlcRead.deviceMap.containsKey(ssjCode)) { - inDispatch(PlcRead.deviceMap.get(ssjCode)); - } else { - log.error("设备不存在 ssjCode{}", ssjCode); - } + init(); + while (isRun){ + for (String type : ssjCodeList.keySet()) { + + switch ( type){ + case "in": + //正常入库 尾箱回流 物料入库 空料箱入库 + for (String ssjCode : ssjCodeList.get(type)) { + try { + if (PlcRead.deviceMap.containsKey(ssjCode)) { + inDispatch(PlcRead.deviceMap.get(ssjCode)); + } else { + log.error("设备不存在 ssjCode{}", ssjCode); + } + } catch (RuntimeException e) { + log.error(e.getMessage(),e); + } + + } + break; } } + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } } } @@ -70,16 +92,13 @@ public class JsInSsjThread { if (inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) { //根据入口,查询对应的入库作业 MydoJob mydoJobParam = new MydoJob(); - //mydoJobParam.setEntranceId(inSsjDevice.getDeviceCode()); mydoJobParam.setStatus("1"); mydoJobParam.setTrayCode(inSsjDevice.getTrayCode()); - List mydoJobs = apiService.getMydoJobList(mydoJobParam); - if (CollUtil.isNotEmpty(mydoJobs)) { - MydoJob mydoJob = mydoJobs.get(0); - //修改mydojob入口 + MydoJob mydoJob = apiService.requestEnter(mydoJobParam); + if (ObjUtil.isNotNull(mydoJob) && !"6".equals(mydoJob.getExecutionPhase())){ + //通知wms 当前料箱的入库口 mydoJob.setEntranceId(inSsjDevice.getDeviceCode()); apiService.updateMydoJob(mydoJob); - //判断是否生成队列 AgvQueue agvQueueParam = new AgvQueue(); agvQueueParam.setWmsTaskNo(mydoJob.getTaskNo()); @@ -101,32 +120,9 @@ public class JsInSsjThread { mydoJob.setExecutionPhase("6"); apiService.updateMydoJob(mydoJob); } - } else { - AgvQueue agvQueue = agvQueues.get(0); - //请求任务生成 - GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue); - //修改wms任务状态 - if (genAgvSchedulingTaskResponse.getCode() == 0) { - //修改ctu执行状态 - agvQueue.setStatus("1"); - agvQueueService.updateAgvQueue(agvQueue); - log.info("向CTU下入库库作业"); - //修改mydoJob执行阶段 - mydoJob.setExecutionPhase("6"); - apiService.updateMydoJob(mydoJob); - } - } - } else { - mydoJobParam.setEntranceId(inSsjDevice.getDeviceCode()); - mydoJobParam.setStatus("3"); - mydoJobParam.setTrayCode(inSsjDevice.getTrayCode()); - mydoJobs = apiService.getMydoJobList(mydoJobParam); - if (CollUtil.isNotEmpty(mydoJobs)) { - log.info("trayCode:{} 入库作业正在执行中", inSsjDevice.getTrayCode()); - } else { - log.info("trayCode:{} 无入库作业", inSsjDevice.getTrayCode()); } } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsPickSsjTread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsPickSsjTread.java index 8c059f0..4fa26a5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsPickSsjTread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/js/JsPickSsjTread.java @@ -50,7 +50,6 @@ public class JsPickSsjTread { } - @Scheduled(fixedDelay = 5000) public void run(){ for (String type : ssjCodeList.keySet()) { if ("pick".equals(type)) {