Merge remote-tracking branch 'origin/master'

This commit is contained in:
liuhanqing
2025-09-26 10:24:01 +08:00
4 changed files with 34 additions and 23 deletions

View File

@@ -8,9 +8,9 @@ public class Constant {
public static final String JOB_FINISH_URL = WMS_BASE_URL+"jobFinish"; public static final String JOB_FINISH_URL = WMS_BASE_URL+"jobFinish";
public static final String CONTINUE_TASK_URL = RCS_BASE_URL+"queryAgvStatus"; public static final String CONTINUE_TASK_URL = RCS_BASE_URL+"continueTask";
public static final String CANCEL_TASK_URL = RCS_BASE_URL+"queryAgvStatus";; public static final String CANCEL_TASK_URL = RCS_BASE_URL+"queryAgvStatus";;
public static final String GEN_AGV_SCHEDULING_TASK = RCS_BASE_URL+"queryAgvStatus";; public static final String GEN_AGV_SCHEDULING_TASK = RCS_BASE_URL+"genAgvSchedulingTask";;
public static final String CREATE_IN_MYDO_JOB_URL = WMS_BASE_URL+"requestEnterByTrayCode"; public static final String CREATE_IN_MYDO_JOB_URL = WMS_BASE_URL+"requestEnterByTrayCode";
public static final String REQUEST_MYDO_JOB_URL = WMS_BASE_URL+"requestByNoTrayCode"; public static final String REQUEST_MYDO_JOB_URL = WMS_BASE_URL+"requestByNoTrayCode";

View File

@@ -1,6 +1,7 @@
package com.ruoyi.schedule.scheduleTask.ssj.floor2; package com.ruoyi.schedule.scheduleTask.ssj.floor2;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskResponse; 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.core.domain.AjaxResult;
import com.ruoyi.common.domain.SendData; import com.ruoyi.common.domain.SendData;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.job.domain.JobCallBack;
import com.ruoyi.job.domain.MydoJob; import com.ruoyi.job.domain.MydoJob;
import com.ruoyi.job.service.IJobCallBackService;
import com.ruoyi.job.service.IMydoJobService; import com.ruoyi.job.service.IMydoJobService;
import com.ruoyi.queue.agv.domain.AgvQueue; import com.ruoyi.queue.agv.domain.AgvQueue;
import com.ruoyi.queue.agv.service.IAgvQueueService; import com.ruoyi.queue.agv.service.IAgvQueueService;
@@ -18,6 +21,7 @@ import com.ruoyi.schedule.plcRead.util.Tools;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -34,6 +38,7 @@ public class Floor2InSsjThread implements Runnable {
private IApiService apiService; private IApiService apiService;
private IAgvQueueService agvQueueService; private IAgvQueueService agvQueueService;
private IMydoJobService mydoJobService; private IMydoJobService mydoJobService;
private IJobCallBackService jobCallBackService;
public boolean isRun = true; public boolean isRun = true;
@@ -47,6 +52,7 @@ public class Floor2InSsjThread implements Runnable {
apiService = SpringUtils.getBean(IApiService.class); apiService = SpringUtils.getBean(IApiService.class);
agvQueueService = SpringUtils.getBean(IAgvQueueService.class); agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
mydoJobService = SpringUtils.getBean(IMydoJobService.class); mydoJobService = SpringUtils.getBean(IMydoJobService.class);
jobCallBackService = SpringUtils.getBean(IJobCallBackService.class);
log.info("初始化服务 {},{}", apiService, agvQueueService); log.info("初始化服务 {},{}", apiService, agvQueueService);
} }
@@ -116,28 +122,34 @@ public class Floor2InSsjThread implements Runnable {
agvQueue.setStatus("7"); agvQueue.setStatus("7");
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode()); agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue); List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
int i=writeToSsj(inSsjDevice.getPlcDbWriteAddress(),agvQueue.getWmsTaskNo(),1,1); if(agvQueues.size()!=0) {
if(i==1){ int i = writeToSsj(inSsjDevice.getPlcDbWriteAddress(), agvQueue.getWmsTaskNo(), 1, 1);
log.info(inSsjDevice.getDeviceCode()+"输送机下发任务号成功"); if (i == 1) {
MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(agvQueues.get(0).getTaskCode()); log.info(inSsjDevice.getDeviceCode() + "输送机下发任务号成功");
mydoJob.setExecutionPhase(TASK_EP_SSJ); MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(agvQueues.get(0).getTaskCode());
mydoJobService.updateMydoJob(mydoJob); mydoJob.setExecutionPhase(TASK_EP_SSJ);
agvQueueService.insertHistory(agvQueues.get(0).getReqCode()); mydoJobService.updateMydoJob(mydoJob);
agvQueueService.deleteAgvQueueByReqCode(agvQueues.get(0).getReqCode()); agvQueueService.insertHistory(agvQueues.get(0).getReqCode());
agvQueueService.deleteAgvQueueByReqCode(agvQueues.get(0).getReqCode());
}
} }
} }
//出库到位 //出库到位
if(inSsjDevice.getDw()==1 && inSsjDevice.getTaskNo()>0){ if(inSsjDevice.getDw()==1 && inSsjDevice.getTaskNo()>0){
MydoJob mydoJob = new MydoJob();
mydoJob.setInOut("2"); MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(inSsjDevice.getTaskNo()));
mydoJob.setStatus("3"); if(mydoJob!=null){
mydoJob.setExitId(inSsjDevice.getDeviceCode()); log.info("设备:{} 位置:{} 任务号:{} 出库到位", inSsjDevice.getDeviceCode(), "输送线", mydoJob.getTaskNo());
List<MydoJob> mydoJobs = mydoJobService.selectInOrOutMydoJobList(mydoJob); mydoJobService.insertHistory(mydoJob.getJobId());
if(mydoJobs.size()>0){ mydoJobService.deleteMydoJobByJobId(mydoJob.getJobId());
log.info("设备:{} 位置:{} 任务号:{} 出库到位", inSsjDevice.getDeviceCode(), "输送线", mydoJobs.get(0).getTaskNo()); JobCallBack jobCallBack = new JobCallBack();
mydoJobService.insertHistory(mydoJobs.get(0).getJobId()); jobCallBack.setType("2");
mydoJobService.deleteMydoJobByJobId(mydoJobs.get(0).getJobId()); jobCallBack.setMydojobId(mydoJob.getJobId());
jobCallBack.setStatus("0");
jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo()));
jobCallBack.setCreateTime(new Date());
jobCallBackService.insertJobCallBack(jobCallBack);
} }
} }
} }

View File

@@ -9,6 +9,7 @@ import com.ruoyi.api.service.IApiService;
import com.ruoyi.bas.cargospace.domain.BasCargoSpace; import com.ruoyi.bas.cargospace.domain.BasCargoSpace;
import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService; import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.job.domain.JobCallBack;
import com.ruoyi.job.domain.MydoJob; import com.ruoyi.job.domain.MydoJob;
import com.ruoyi.job.service.IMydoJobService; import com.ruoyi.job.service.IMydoJobService;
import com.ruoyi.queue.agv.service.IAgvQueueService; import com.ruoyi.queue.agv.service.IAgvQueueService;
@@ -124,6 +125,8 @@ public class Floor2OutSsjThread implements Runnable {
mydoJob.setExecutionPhase(TASK_EP_DDJ); mydoJob.setExecutionPhase(TASK_EP_DDJ);
mydoJobService.updateMydoJob(mydoJob); mydoJobService.updateMydoJob(mydoJob);
} }
} }

View File

@@ -43,9 +43,6 @@ public class LineSsjThread implements Runnable {
ArrayList<String> ssjCodes = new ArrayList<>(); ArrayList<String> ssjCodes = new ArrayList<>();
ssjCodes.add("G1005"); ssjCodes.add("G1005");
ssjCodeList.put("line", ssjCodes); ssjCodeList.put("line", ssjCodes);
ArrayList<String> inSsjList = new ArrayList<>();
inSsjList.add("L1011");
inSsjList.add("L1012");
apiService = SpringUtils.getBean(IApiService.class); apiService = SpringUtils.getBean(IApiService.class);
agvQueueService = SpringUtils.getBean(IAgvQueueService.class); agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
mydoJobService = SpringUtils.getBean(IMydoJobService.class); mydoJobService = SpringUtils.getBean(IMydoJobService.class);
@@ -218,7 +215,6 @@ public class LineSsjThread implements Runnable {
agvQueueService.updateAgvQueue(agvQueue); agvQueueService.updateAgvQueue(agvQueue);
} }
} else { } else {
HashMap<String, String> paramMap = new HashMap<>(); HashMap<String, String> paramMap = new HashMap<>();
paramMap.put("trayCode", mydoJob.getTrayCode()); paramMap.put("trayCode", mydoJob.getTrayCode());