臂式ctu入库 流程测试

This commit is contained in:
liuhanqing
2025-07-16 16:07:41 +08:00
parent 5cebe0369c
commit 448bbfa23d
2 changed files with 29 additions and 30 deletions

View File

@@ -154,7 +154,7 @@ public class BsInSsjThread implements Runnable {
*/
public void inDispatch(DeviceSsj inSsjDevice) {
//如果入库请求1 并且 托盘码不为空
if (inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) {
if (inSsjDevice.getDw()==1 && inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) {
//判断是否生成队列
AgvQueue agvQueueParam = new AgvQueue();
agvQueueParam.setWmsTraycode(inSsjDevice.getTrayCode());
@@ -227,7 +227,7 @@ public class BsInSsjThread implements Runnable {
* @param agvQueue
*/
private GenAgvSchedulingTaskResponse requestAgvQueue(MydoJob mydoJob, AgvQueue agvQueue) {
//请求ctu
//todo 请求ctu
GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest = new GenAgvSchedulingTaskRequest();
genAgvSchedulingTaskRequest.setReqCode(agvQueue.getReqCode());
genAgvSchedulingTaskRequest.setTaskMode("0");

View File

@@ -89,25 +89,23 @@ public class JsInSsjThread implements Runnable {
public void inDispatch(DeviceSsj inSsjDevice) {
//如果入库请求1 并且 托盘码不为空
if (inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) {
//根据入口,查询对应的入库作业
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setStatus("1");
mydoJobParam.setTrayCode(inSsjDevice.getTrayCode());
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());
agvQueueParam.setPositionCode1(inSsjDevice.getDeviceCode());
agvQueueParam.setStatus("0");
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
if (CollUtil.isEmpty(agvQueues)) {
if (inSsjDevice.getDw()==1 && inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) {
//判断是否生成队列
AgvQueue agvQueueParam = new AgvQueue();
agvQueueParam.setWmsTraycode(inSsjDevice.getTrayCode());
agvQueueParam.setStatus("0");
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
if (CollUtil.isEmpty(agvQueues)) {
//根据入口,查询对应的入库作业
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setStatus("1");
mydoJobParam.setTrayCode(inSsjDevice.getTrayCode());
mydoJobParam.setEntranceId(inSsjDevice.getDeviceCode());
MydoJob mydoJob = apiService.requestEnter(mydoJobParam);
if (ObjUtil.isNotNull(mydoJob)) {
//生成agv队列
AgvQueue agvQueue = createAgvQueue(inSsjDevice, mydoJob);
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
//请求任务生成
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue);
//修改wms任务状态
@@ -116,32 +114,32 @@ public class JsInSsjThread implements Runnable {
agvQueue.setStatus("1");
agvQueueService.updateAgvQueue(agvQueue);
log.info("向CTU下入库库作业");
//修改mydoJob执行阶段
mydoJob.setExecutionPhase("6");
apiService.updateMydoJob(mydoJob);
}
}
}
}
}
/**
* 生成入库AGV队列
*
* @param ssjDevice
* @param positionCode1
* @param mydoJob
* @return
*/
private AgvQueue createAgvQueue(DeviceSsj ssjDevice, MydoJob mydoJob) {
private AgvQueue createAgvQueue(String positionCode1, MydoJob mydoJob) {
//生成ctu执行队列
//生成ctu执行队列
AgvQueue agvQueue = new AgvQueue();
String reqCode = IdUtil.fastSimpleUUID();
String taskCode = 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");
@@ -152,7 +150,8 @@ public class JsInSsjThread implements Runnable {
agvQueue.setWmsTraycode(mydoJob.getTrayCode());
agvQueue.setWmsTaskNo(mydoJob.getTaskNo());
agvQueue.setStatus("0");
agvQueueService.insertAgvQueue(agvQueue);
agvQueue.setTaskCode(taskCode);
agvQueue.setWmsTaskType("1");
return agvQueue;
}
@@ -163,7 +162,7 @@ public class JsInSsjThread implements Runnable {
* @param agvQueue
*/
private GenAgvSchedulingTaskResponse requestAgvQueue(MydoJob mydoJob, AgvQueue agvQueue) {
//请求ctu
//todo 请求ctu
GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest = new GenAgvSchedulingTaskRequest();
genAgvSchedulingTaskRequest.setReqCode(agvQueue.getReqCode());
genAgvSchedulingTaskRequest.setTaskMode("0");