流利架 逻辑优化

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) ;
/**
* 发送ctu 取货完成信号
* @param param{
* "lljCode":""流利架位置
* }
* @return
*/
public AjaxResult takeCompleted(Map<String, Object> param) ;
/**
* 下发agv任务
* @param agvQueue

View File

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

View File

@@ -65,7 +65,7 @@ public class RequestLogServiceImpl implements IRequestLogService
if ("1".equals(requestLog.getIsSuccessful())){
return requestLogMapper.insertRequestLog(requestLog);
}else {
log.error("请求失败:" + requestLog.getErrorDetails());
//log.error("请求失败:" + requestLog.getErrorDetails());
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 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 TAKE_COMPLETED = "http://127.0.0.1:8080/api2wms/takeCompleted";
}

View File

@@ -88,24 +88,14 @@ public class BsInSsjThread implements Runnable {
}
break;
case "fluentIn":
//查询流利架未开始的作业
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setStatus("1");
mydoJobParam.setEntranceId("fluent");
List<MydoJob> mydoJobs = apiService.requestEnterByEnterId(mydoJobParam);
if (CollUtil.isNotEmpty(mydoJobs)){
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);
}
//流利架 空料箱入库
for (String lljCode : ssjCodeList.get(type)) {
try {
inLljDispatch(lljCode);
} catch (RuntimeException e) {
log.error(e.getMessage(), e);
}
}
break;
@@ -126,18 +116,15 @@ public class BsInSsjThread implements Runnable {
*
* @param lljCode
*/
private void inLljDispatch(String lljCode,List<MydoJob> mydoJobs) {
private void inLljDispatch(String lljCode) {
//判断是否生成队列
AgvQueue agvQueueParam = new AgvQueue();
agvQueueParam.setPositionCode1(lljCode);
//agvQueueParam.setStatus("0");
agvQueueParam.setStatus("0");
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
if (CollUtil.isEmpty(agvQueues)){
MydoJob mydoJob = mydoJobs.get(0);
if (ObjUtil.isNotNull(mydoJob)) {
//生成agv队列
AgvQueue agvQueue = apiService.createAgvQueue(lljCode, mydoJob.getCargoSpaceId(),mydoJob.getTrayCode(),mydoJob.getTaskNo(),"1");
if (CollUtil.isNotEmpty(agvQueues)) {
for (AgvQueue agvQueue : agvQueues) {
//请求任务生成
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = apiService.requestAgvQueue(agvQueue);
//修改wms任务状态
@@ -147,17 +134,13 @@ public class BsInSsjThread implements Runnable {
agvQueueService.updateAgvQueue(agvQueue);
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());
agvQueueService.updateAgvQueue(queue);
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = apiService.requestAgvQueue(queue);
//todo 需要调试小车请求
genAgvSchedulingTaskResponse.setCode(0);
if (genAgvSchedulingTaskResponse.getCode() == 0) {
//修改ctu执行状态
queue.setStatus("1");

View File

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