diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InSsjThread.java index 28fa84b..c17a8a2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InSsjThread.java @@ -1,6 +1,7 @@ package com.ruoyi.schedule.scheduleTask.ssj.floor2; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskResponse; @@ -8,7 +9,9 @@ import com.ruoyi.api.service.IApiService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.domain.SendData; import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.job.domain.JobCallBack; import com.ruoyi.job.domain.MydoJob; +import com.ruoyi.job.service.IJobCallBackService; import com.ruoyi.job.service.IMydoJobService; import com.ruoyi.queue.agv.domain.AgvQueue; import com.ruoyi.queue.agv.service.IAgvQueueService; @@ -18,6 +21,7 @@ import com.ruoyi.schedule.plcRead.util.Tools; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -34,6 +38,7 @@ public class Floor2InSsjThread implements Runnable { private IApiService apiService; private IAgvQueueService agvQueueService; private IMydoJobService mydoJobService; + private IJobCallBackService jobCallBackService; public boolean isRun = true; @@ -47,6 +52,7 @@ public class Floor2InSsjThread implements Runnable { apiService = SpringUtils.getBean(IApiService.class); agvQueueService = SpringUtils.getBean(IAgvQueueService.class); mydoJobService = SpringUtils.getBean(IMydoJobService.class); + jobCallBackService = SpringUtils.getBean(IJobCallBackService.class); log.info("初始化服务 {},{}", apiService, agvQueueService); } @@ -116,28 +122,34 @@ public class Floor2InSsjThread implements Runnable { agvQueue.setStatus("7"); agvQueue.setPositionCode2(inSsjDevice.getDeviceCode()); List agvQueues = agvQueueService.selectAgvQueueList(agvQueue); - int i=writeToSsj(inSsjDevice.getPlcDbWriteAddress(),agvQueue.getWmsTaskNo(),1,1); - if(i==1){ - log.info(inSsjDevice.getDeviceCode()+"输送机下发任务号成功"); - MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(agvQueues.get(0).getTaskCode()); - mydoJob.setExecutionPhase(TASK_EP_SSJ); - mydoJobService.updateMydoJob(mydoJob); - agvQueueService.insertHistory(agvQueues.get(0).getReqCode()); - agvQueueService.deleteAgvQueueByReqCode(agvQueues.get(0).getReqCode()); + if(agvQueues.size()!=0) { + int i = writeToSsj(inSsjDevice.getPlcDbWriteAddress(), agvQueue.getWmsTaskNo(), 1, 1); + if (i == 1) { + log.info(inSsjDevice.getDeviceCode() + "输送机下发任务号成功"); + MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(agvQueues.get(0).getTaskCode()); + mydoJob.setExecutionPhase(TASK_EP_SSJ); + mydoJobService.updateMydoJob(mydoJob); + agvQueueService.insertHistory(agvQueues.get(0).getReqCode()); + agvQueueService.deleteAgvQueueByReqCode(agvQueues.get(0).getReqCode()); + } } } //出库到位 if(inSsjDevice.getDw()==1 && inSsjDevice.getTaskNo()>0){ - MydoJob mydoJob = new MydoJob(); - mydoJob.setInOut("2"); - mydoJob.setStatus("3"); - mydoJob.setExitId(inSsjDevice.getDeviceCode()); - List mydoJobs = mydoJobService.selectInOrOutMydoJobList(mydoJob); - if(mydoJobs.size()>0){ - log.info("设备:{} 位置:{} 任务号:{} 出库到位", inSsjDevice.getDeviceCode(), "输送线", mydoJobs.get(0).getTaskNo()); - mydoJobService.insertHistory(mydoJobs.get(0).getJobId()); - mydoJobService.deleteMydoJobByJobId(mydoJobs.get(0).getJobId()); + + MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(inSsjDevice.getTaskNo())); + if(mydoJob!=null){ + log.info("设备:{} 位置:{} 任务号:{} 出库到位", inSsjDevice.getDeviceCode(), "输送线", mydoJob.getTaskNo()); + mydoJobService.insertHistory(mydoJob.getJobId()); + mydoJobService.deleteMydoJobByJobId(mydoJob.getJobId()); + JobCallBack jobCallBack = new JobCallBack(); + jobCallBack.setType("2"); + jobCallBack.setMydojobId(mydoJob.getJobId()); + jobCallBack.setStatus("0"); + jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo())); + jobCallBack.setCreateTime(new Date()); + jobCallBackService.insertJobCallBack(jobCallBack); } } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2OutSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2OutSsjThread.java index 46ed46e..eecf3c3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2OutSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2OutSsjThread.java @@ -9,6 +9,7 @@ import com.ruoyi.api.service.IApiService; import com.ruoyi.bas.cargospace.domain.BasCargoSpace; import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService; import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.job.domain.JobCallBack; import com.ruoyi.job.domain.MydoJob; import com.ruoyi.job.service.IMydoJobService; import com.ruoyi.queue.agv.service.IAgvQueueService; @@ -124,6 +125,8 @@ public class Floor2OutSsjThread implements Runnable { mydoJob.setExecutionPhase(TASK_EP_DDJ); mydoJobService.updateMydoJob(mydoJob); + + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java index 134aa07..8cc79e6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java @@ -43,9 +43,6 @@ public class LineSsjThread implements Runnable { ArrayList ssjCodes = new ArrayList<>(); ssjCodes.add("G1005"); ssjCodeList.put("line", ssjCodes); - ArrayList inSsjList = new ArrayList<>(); - inSsjList.add("L1011"); - inSsjList.add("L1012"); apiService = SpringUtils.getBean(IApiService.class); agvQueueService = SpringUtils.getBean(IAgvQueueService.class); mydoJobService = SpringUtils.getBean(IMydoJobService.class); @@ -218,7 +215,6 @@ public class LineSsjThread implements Runnable { agvQueueService.updateAgvQueue(agvQueue); } - } else { HashMap paramMap = new HashMap<>(); paramMap.put("trayCode", mydoJob.getTrayCode());