流利架 逻辑优化

This commit is contained in:
liuhanqing
2025-08-07 16:37:15 +08:00
parent d37780bec9
commit 2576ab4dbf
7 changed files with 45 additions and 33 deletions

View File

@@ -111,6 +111,16 @@ public interface IApiService
*/ */
public AjaxResult sendOutMydoJobStatus(Map<String, Object> param) ; public AjaxResult sendOutMydoJobStatus(Map<String, Object> param) ;
/**
* 发送ctu 取货完成信号
* @param param{
* "lljCode":""流利架位置
* }
* @return
*/
public AjaxResult takeCompleted(Map<String, Object> param) ;
/** /**
* 下发agv任务 * 下发agv任务
* @param agvQueue * @param agvQueue

View File

@@ -104,9 +104,13 @@ public class ApiServiceImpl implements IApiService {
if ("1".equals(requestLog.getIsSuccessful())) { if ("1".equals(requestLog.getIsSuccessful())) {
return BeanUtil.toBean(requestLog.getResponseBody(), GenAgvSchedulingTaskResponse.class); return BeanUtil.toBean(requestLog.getResponseBody(), GenAgvSchedulingTaskResponse.class);
} else { } else {
//todo 需要调试
GenAgvSchedulingTaskResponse response = new GenAgvSchedulingTaskResponse(); GenAgvSchedulingTaskResponse response = new GenAgvSchedulingTaskResponse();
response.setCode(500); response.setCode(500);
response.setMessage("请求失败"); response.setMessage("请求失败");
//todo 需要调试小车请求
response.setCode(0);
response.setMessage("模拟测试");
return response; return response;
} }
} }
@@ -181,6 +185,16 @@ public class ApiServiceImpl implements IApiService {
} }
} }
@Override
public AjaxResult takeCompleted(Map<String, Object> param) {
RequestLog requestLog = requestLogService.getRequestLog(TAKE_COMPLETED, "ctu取货完成信号", JSONUtil.toJsonStr(param));
if ("1".equals(requestLog.getIsSuccessful())) {
return AjaxResult.success();
} else {
return AjaxResult.error();
}
}
/** /**
* 处理agv状态返回 * 处理agv状态返回
* @param request * @param request
@@ -306,6 +320,12 @@ public class ApiServiceImpl implements IApiService {
} }
log.info("【AGV料箱取放申请】任务号:{}", taskCode); log.info("【AGV料箱取放申请】任务号:{}", taskCode);
break; break;
case "takeCompleted":
//ctu取货完成
HashMap<String, Object> takeCompletedParam = new HashMap<>();
takeCompletedParam.put("lljCode",agvQueue.getPositionCode1());
takeCompleted(takeCompletedParam);
break;
default: default:
log.info("未知方法"); log.info("未知方法");
} }

View File

@@ -65,7 +65,7 @@ public class RequestLogServiceImpl implements IRequestLogService
if ("1".equals(requestLog.getIsSuccessful())){ if ("1".equals(requestLog.getIsSuccessful())){
return requestLogMapper.insertRequestLog(requestLog); return requestLogMapper.insertRequestLog(requestLog);
}else { }else {
log.error("请求失败:" + requestLog.getErrorDetails()); //log.error("请求失败:" + requestLog.getErrorDetails());
return 0; return 0;
} }
} }

View File

@@ -28,5 +28,6 @@ public class Constant {
public static final String CANCEL_TASK_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/"; public static final String CANCEL_TASK_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
public static final String GEN_AGV_SCHEDULING_TASK = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/"; public static final String GEN_AGV_SCHEDULING_TASK = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
public static final String SEND_OUT_MYDOJOB_STATUS = "http://127.0.0.1:8080/api2wms/startSignal"; public static final String SEND_OUT_MYDOJOB_STATUS = "http://127.0.0.1:8080/api2wms/startSignal";
public static final String TAKE_COMPLETED = "http://127.0.0.1:8080/api2wms/takeCompleted";
} }

View File

@@ -88,24 +88,14 @@ public class BsInSsjThread implements Runnable {
} }
break; break;
case "fluentIn": case "fluentIn":
//查询流利架未开始的作业 //流利架 空料箱入库
MydoJob mydoJobParam = new MydoJob(); for (String lljCode : ssjCodeList.get(type)) {
mydoJobParam.setStatus("1"); try {
mydoJobParam.setEntranceId("fluent"); inLljDispatch(lljCode);
List<MydoJob> mydoJobs = apiService.requestEnterByEnterId(mydoJobParam); } catch (RuntimeException e) {
if (CollUtil.isNotEmpty(mydoJobs)){ log.error(e.getMessage(), e);
Map<String, List<MydoJob>> lljCodeGroup = mydoJobs.stream().collect(Collectors.groupingBy(MydoJob::getEntranceId));
//流利架 空料箱入库
for (String lljCode : ssjCodeList.get(type)) {
try {
if (lljCodeGroup.containsKey(lljCode)){
inLljDispatch(lljCode,lljCodeGroup.get(lljCode));
}
} catch (RuntimeException e) {
log.error(e.getMessage(), e);
}
} }
} }
break; break;
@@ -126,18 +116,15 @@ public class BsInSsjThread implements Runnable {
* *
* @param lljCode * @param lljCode
*/ */
private void inLljDispatch(String lljCode,List<MydoJob> mydoJobs) { private void inLljDispatch(String lljCode) {
//判断是否生成队列 //判断是否生成队列
AgvQueue agvQueueParam = new AgvQueue(); AgvQueue agvQueueParam = new AgvQueue();
agvQueueParam.setPositionCode1(lljCode); agvQueueParam.setPositionCode1(lljCode);
//agvQueueParam.setStatus("0"); agvQueueParam.setStatus("0");
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam); List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
if (CollUtil.isEmpty(agvQueues)){ if (CollUtil.isNotEmpty(agvQueues)) {
MydoJob mydoJob = mydoJobs.get(0); for (AgvQueue agvQueue : agvQueues) {
if (ObjUtil.isNotNull(mydoJob)) {
//生成agv队列
AgvQueue agvQueue = apiService.createAgvQueue(lljCode, mydoJob.getCargoSpaceId(),mydoJob.getTrayCode(),mydoJob.getTaskNo(),"1");
//请求任务生成 //请求任务生成
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = apiService.requestAgvQueue(agvQueue); GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = apiService.requestAgvQueue(agvQueue);
//修改wms任务状态 //修改wms任务状态
@@ -147,17 +134,13 @@ public class BsInSsjThread implements Runnable {
agvQueueService.updateAgvQueue(agvQueue); agvQueueService.updateAgvQueue(agvQueue);
log.info("向CTU下入库库作业"); log.info("向CTU下入库库作业");
} }
} else {
if (ObjUtil.isNull(mydoJob)) {
log.info("无入库库作业 lljCode:{}", lljCode);
return;
}
} }
} }
} }
/** /**
* 输送线入库 * 输送线入库
* *

View File

@@ -130,8 +130,6 @@ public class BsOutSsjThread implements Runnable {
queue.setPositionCode2(basFluentFrame.getLocationName()); queue.setPositionCode2(basFluentFrame.getLocationName());
agvQueueService.updateAgvQueue(queue); agvQueueService.updateAgvQueue(queue);
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = apiService.requestAgvQueue(queue); GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = apiService.requestAgvQueue(queue);
//todo 需要调试小车请求
genAgvSchedulingTaskResponse.setCode(0);
if (genAgvSchedulingTaskResponse.getCode() == 0) { if (genAgvSchedulingTaskResponse.getCode() == 0) {
//修改ctu执行状态 //修改ctu执行状态
queue.setStatus("1"); queue.setStatus("1");

View File

@@ -34,7 +34,7 @@ server:
# 日志配置 # 日志配置
logging: logging:
level: level:
com.ruoyi: debug com.ruoyi: error
org.springframework: warn org.springframework: warn
# 用户配置 # 用户配置