增加虚拟货架绑定失败状态

master
liweidong-hj 4 weeks ago
parent cde530beb1
commit 022ddbe53f
  1. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/Task.java
  2. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java
  3. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java
  4. 45
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java

@ -54,14 +54,19 @@ public class Task extends BaseEntity {
public static final Integer STATUS_TEMPORARY_STORAGE= 6;
/**
* mes调用ctu库位
* mes调用ctu库位()
*/
public static final Integer STATUS_MES_CTU_k= 7;
public static final Integer STATUS_MES_CTU_UP= 7;
/**
* mes调用ctu梳齿架
* mes调用ctu梳齿架
*/
public static final Integer STATUS_MES_CTU_s= 8;
public static final Integer STATUS_MES_CTU_BELOW= 8;
/**
* 虚拟货架绑定失败
*/
public static final Integer BOUND_VIRTUAL_SHELVES= 9;
/**
* ID主键

@ -25,6 +25,7 @@
*/
package org.springblade.desk.logistics.service;
import com.alibaba.fastjson2.JSONObject;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.logistics.pojo.dto.AGVCallBackDto;
@ -49,7 +50,7 @@ public interface ITaskExecuteRecordService extends BaseService<TaskExecuteRecord
* @param stationCode 站点编码
* @return
*/
boolean boundVirtualShelves(String virtualShelvesCode,String stationCode);
JSONObject boundVirtualShelves(String virtualShelvesCode, String stationCode);
/**
* 调用AGV小车

@ -201,7 +201,7 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService {
//调用成功 添加任务
if(null != ctuSchedulingTask && ctuSchedulingTask.getCode().equals("0")){
firstTask.setTaskStatus(Task.STATUS_MES_CTU_s);
firstTask.setTaskStatus(Task.STATUS_MES_CTU_BELOW);
boolean taskUpdate = taskService.updateById(firstTask);
if (!taskUpdate) {
log.error("定时Task状态修改失败,但CTU调度已成功,taskCode:{}", firstTask);

@ -164,7 +164,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRec
log.info("当前Task状态为{},任务TaskCode为{}", task.getTaskStatus(), agvCallBack.getTaskCode());
//状态为暂存 需要调用
if (Task.STATUS_MES_CTU_s.equals(task.getTaskStatus())) {
if (Task.STATUS_MES_CTU_BELOW.equals(task.getTaskStatus())) {
//判断是否需要调用agv接口
boolean conAgvReturn = containerToAgv(agvCallBack.getTaskCode());
log.info("AGV小车接口调用返回值:{}", conAgvReturn);
@ -180,7 +180,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRec
return R.fail("CTU小车接口调用失败");
}
}
if(Task.STATUS_MES_CTU_k.equals(task.getTaskStatus())){
if(Task.STATUS_MES_CTU_UP.equals(task.getTaskStatus())){
//以放到库位 修改状态
boolean ctuLocation = updateMesCtuLocation(agvCallBack.getTaskCode());
log.info("MES调用CTU放倒库位:{}", ctuLocation);
@ -267,7 +267,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRec
@Override
public boolean boundVirtualShelves(String virtualShelvesCode, String stationCode) {
public JSONObject boundVirtualShelves(String virtualShelvesCode, String stationCode) {
String url = "http://172.22.252.10:8181/rcms/services/rest/hikRpcService/bindPodAndBerth";
Map<String, Object> requestBody = new HashMap<>();
@ -284,19 +284,12 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRec
log.info("绑定虚拟货架响应:{}", responseStr);
JSONObject response = JSON.parseObject(responseStr);
String code = response.getString("code");
if ("0".equals(code)) {
log.info("绑定虚拟货架成功,虚拟货架:{},站点:{}", virtualShelvesCode, stationCode);
return true;
} else {
log.error("绑定虚拟货架失败,虚拟货架:{},站点:{},响应:{}",
virtualShelvesCode, stationCode, responseStr);
return false;
}
return response;
} catch (Exception e) {
log.error("绑定虚拟货架异常,虚拟货架:{},站点:{}", virtualShelvesCode, stationCode, e);
return false;
return null;
}
}
@ -492,7 +485,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRec
}
// 8. 所有操作成功后,更新任务状态
task.setTaskStatus(Task.STATUS_MES_CTU_k);
task.setTaskStatus(Task.STATUS_MES_CTU_UP);
boolean taskUpdate = taskService.updateById(task);
if (!taskUpdate) {
log.error("Task状态修改失败,但CTU调度已成功,taskCode:{}", taskCode);
@ -713,17 +706,33 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRec
}
// 站点绑定虚拟货架
boolean shelves = boundVirtualShelves(
JSONObject response = boundVirtualShelves(
virtualShelves.getVirtualShelvesCode(),
startPos
);
if (!shelves) {
throw new ServiceException("站点绑定虚拟货架失败");
} else {
String code = response.getString("code");
String message = response.getString("message");
if ("0".equals(code)) {
log.info("绑定虚拟货架成功,虚拟货架:{},站点:{}", virtualShelves.getVirtualShelvesCode(), startPos);
virtualShelves.setIsBound(VirtualShelves.BOUND_YES);
virtualShelvesService.updateById(virtualShelves);
} else {
log.error("绑定虚拟货架失败,虚拟货架:{},站点:{},响应:{}",
virtualShelves.getVirtualShelvesCode(), startPos, response);
//修改Task状态
task.setTaskStatus(Task.BOUND_VIRTUAL_SHELVES);
task.setRemark(message);
taskService.updateById(task);
return false;
}
// 调用AGV
AgvSchedulingTaskVO agvSchedulingTaskVO = genAgvSchedulingTask(
taskType,

Loading…
Cancel
Save