diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java index 454bb08..58200f0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java @@ -7,14 +7,15 @@ 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.bas.cargospace.service.IBasCargoSpaceService; import com.ruoyi.bas.port.domain.WcsPort; import com.ruoyi.bas.port.service.IWcsPortService; import com.ruoyi.common.domain.SendData; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.device.srgv.domain.DeviceSrgv; +import com.ruoyi.device.srgv.service.IDeviceSrgvService; +import com.ruoyi.device.ssj.domain.DeviceSsj; import com.ruoyi.device.tsj.domain.DeviceTsj; -import com.ruoyi.device.tsj.service.IDeviceTsjService; +import com.ruoyi.job.domain.MydoJob; import com.ruoyi.job.service.IMydoJobService; import com.ruoyi.queue.srgv.domain.WcsSrgvQueue; import com.ruoyi.queue.srgv.service.IWcsSrgvQueueService; @@ -23,12 +24,15 @@ import com.ruoyi.queue.tsj.domain.TsjDeviceExecutionQueueFinish; import com.ruoyi.queue.tsj.service.ITsjDeviceExecutionQueueFinishService; import com.ruoyi.queue.tsj.service.ITsjDeviceExecutionQueueService; import com.ruoyi.schedule.plcRead.srgv.PlcSrgvRead; +import com.ruoyi.schedule.plcRead.ssj.PlcSsjRead; import com.ruoyi.schedule.plcRead.tsj.PlcTsjRead; import com.ruoyi.schedule.plcRead.util.Tools; import lombok.extern.slf4j.Slf4j; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Objects; @Slf4j public class TsjThread implements Runnable { @@ -38,6 +42,9 @@ public class TsjThread implements Runnable { private ITsjDeviceExecutionQueueFinishService tsjDeviceExecutionQueueFinishService; private IWcsPortService wcsPortService; private IWcsSrgvQueueService wcsSrgvQueueService; + private HashMap inSsjList; + private IMydoJobService mydoJobService; + private IDeviceSrgvService deviceSrgvService; public void init() { @@ -107,7 +114,7 @@ public class TsjThread implements Runnable { sendTsj(); } - createQueue(tsj); + createTsjQueue(tsj); } @@ -141,6 +148,8 @@ public class TsjThread implements Runnable { break; case "3": //充电 + startSite = "tsj"; + endSite = wcsSrgvQueue.getCargoPlaceSite(); break; case "4": //点到点 @@ -169,21 +178,32 @@ public class TsjThread implements Runnable { } /** - * 创建提升机队列 + * 创建进入提升机队列 */ - private void createQueue(DeviceTsj tsj) { + private void createTsjQueue(DeviceTsj tsj) { for (String sRgv : PlcSrgvRead.deviceSrgvMap.keySet()) { DeviceSrgv deviceSrgv = PlcSrgvRead.deviceSrgvMap.get(sRgv); - if (deviceSrgv.getSsjRequest()==1 && deviceSrgv.getTaskNo()>0){ + + //车进提升机 换层 + if ("1".equals(deviceSrgv.getSpare2()) && deviceSrgv.getTaskNo()>0){ //请求进入输送机 WcsSrgvQueue sRgvQueueParam = new WcsSrgvQueue(); sRgvQueueParam.setAgvId(Convert.toStr(deviceSrgv.getDeviceId())); sRgvQueueParam.setTaskNo(Convert.toStr(deviceSrgv.getTaskNo())); List wcsSrgvQueues = wcsSrgvQueueService.selectWcsSrgvQueueList(sRgvQueueParam); if (CollUtil.isNotEmpty(wcsSrgvQueues)) { + WcsSrgvQueue wcsSrgvQueue = wcsSrgvQueues.get(0); + String rwlx = ""; + if ("2".equals(wcsSrgvQueue.getDefault02())){ + //出库 + rwlx = "1"; + } + if ("4".equals(wcsSrgvQueue.getDefault02()) || "3".equals(wcsSrgvQueue.getDefault02()) || "8".equals(wcsSrgvQueue.getDefault02())){ + // + rwlx = "2"; + } TsjDeviceExecutionQueue tsjDeviceExecutionQueueByRwh = tsjDeviceExecutionQueueService.selectTsjDeviceExecutionQueueByRwh(Convert.toLong(deviceSrgv.getTaskNo())); - if (tsjDeviceExecutionQueueByRwh == null){ - WcsSrgvQueue wcsSrgvQueue = wcsSrgvQueues.get(0); + if (tsjDeviceExecutionQueueByRwh == null && StrUtil.isNotEmpty(rwlx)){ String strFloor = wcsSrgvQueue.getTheFloor(); String tarFloor = wcsSrgvQueue.getDefault07(); if (!Convert.toStr(tsj.getDqcs()).equals(strFloor)) { @@ -202,7 +222,7 @@ public class TsjThread implements Runnable { tsjDeviceExecutionQueue.setCreateDate(DateUtil.formatDateTime(new Date())); tsjDeviceExecutionQueue.setSpare1(Convert.toStr(deviceSrgv.getDeviceId())); tsjDeviceExecutionQueue.setTaskType("1"); - tsjDeviceExecutionQueue.setRwlx("1"); + tsjDeviceExecutionQueue.setRwlx(rwlx); tsjDeviceExecutionQueueService.insertTsjDeviceExecutionQueue(tsjDeviceExecutionQueue); } @@ -210,6 +230,41 @@ public class TsjThread implements Runnable { } } } + + + //输送机配送货物到提升机 + for (String ssjCode : inSsjList.keySet()) { + DeviceSsj ssj = PlcSsjRead.deviceSsjMap.get(ssjCode); + if (ObjUtil.isNotNull(ssj)) { + if (ssj.getRkqq() == 1 && ssj.getDw() == 1 && ssj.getTaskNo() > 0) { + MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(ssj.getTaskNo())); + //输送机入库 + DeviceSrgv srgvParam = new DeviceSrgv(); + srgvParam.setCurrFloor(Convert.toInt(mydoJob.getTheFloor())); + List deviceSrgvs = deviceSrgvService.selectDeviceSrgvList(srgvParam); + if (CollUtil.isNotEmpty(deviceSrgvs)){ + + String theFloor = mydoJob.getTheFloor(); + //生成提升机队列 + TsjDeviceExecutionQueue tsjDeviceExecutionQueue = new TsjDeviceExecutionQueue(); + tsjDeviceExecutionQueue.setGuid(IdUtil.simpleUUID()); + tsjDeviceExecutionQueue.setDeviceId(tsj.getId()); + tsjDeviceExecutionQueue.setDeviceName(tsj.getName()); + tsjDeviceExecutionQueue.setTaskNo(Convert.toLong(ssj.getTaskNo())); + tsjDeviceExecutionQueue.setSrcRow("0"); + tsjDeviceExecutionQueue.setSrcLayer(String.valueOf(tsj.getDqcs())); + tsjDeviceExecutionQueue.setTarRow("0"); + tsjDeviceExecutionQueue.setTarLayer(theFloor); + tsjDeviceExecutionQueue.setSendType("1"); + tsjDeviceExecutionQueue.setCreateDate(DateUtil.formatDateTime(new Date())); + tsjDeviceExecutionQueue.setSpare1("ssj"); + tsjDeviceExecutionQueue.setTaskType("1"); + tsjDeviceExecutionQueue.setRwlx("3"); + tsjDeviceExecutionQueueService.insertTsjDeviceExecutionQueue(tsjDeviceExecutionQueue); + } + } + } + } } private void sendTsj() {