恢复任务去除校验

This commit is contained in:
cbs 2025-06-20 15:37:21 +08:00
parent 23cc25e0d4
commit a049eae075
2 changed files with 50 additions and 33 deletions

View File

@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.mqtt.api.common.CommonApi; import cn.iocoder.yudao.module.mqtt.api.common.CommonApi;
import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDTO; import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDTO;
import cn.iocoder.yudao.module.system.api.path.PathApi;
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotDTO; import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotDTO;
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotDetailDTO; import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotDetailDTO;
import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant; import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant;
@ -47,6 +48,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -93,17 +95,15 @@ public class PositionMapServiceImpl extends ServiceImpl<PositionMapMapper, Posit
private RobotInformationService informationService; private RobotInformationService informationService;
@Resource @Resource
private UserOperationLogService userOperationLogService; @Lazy
private PathApi pathApi;
/*@Resource @Resource
private CommonApi commonApi;*/ private UserOperationLogService userOperationLogService;
@Resource @Resource
private RobotMapStopService robotMapStopService; private RobotMapStopService robotMapStopService;
@Resource
private RobotMapStopService mapStopService;
@Resource @Resource
private RobotTaskDetailService taskDetailService; private RobotTaskDetailService taskDetailService;
@ -264,6 +264,7 @@ public class PositionMapServiceImpl extends ServiceImpl<PositionMapMapper, Posit
parkingSpotService.deleteParkingByMapId(positionMap.getId()); parkingSpotService.deleteParkingByMapId(positionMap.getId());
redisUtil.del("pngBase64"); redisUtil.del("pngBase64");
redisUtil.del(FloorAreaConstant.FLOOR_AREA_ALL); redisUtil.del(FloorAreaConstant.FLOOR_AREA_ALL);
pathApi.pathInitData();
} }
// 处理 PNG 文件 // 处理 PNG 文件

View File

@ -1179,8 +1179,8 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
String mac = getMacByRobotNo(robotNo); String mac = getMacByRobotNo(robotNo);
robotCloseTaskDetail(actionLog.getTaskDetailId() + "", mac, actionLog.getCommandType()); robotCloseTaskDetail(actionLog.getTaskDetailId() + "", mac, actionLog.getCommandType());
if (!znConfigConstant.getIsSimulation() && ActionStatusEnum.DONE.getType().equals(actionLog.getActionStatus())) { if (!znConfigConstant.getIsSimulation()) {
throw exception(TASK_CHECK_TASK_STATUS); checkTaskDone(actionLog.getTaskDetailId() + "");
} }
CleanAgvDTO build = CleanAgvDTO.builder().robotNo(robotNo).build(); CleanAgvDTO build = CleanAgvDTO.builder().robotNo(robotNo).build();
@ -1294,8 +1294,8 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
* @param pathPlanning * @param pathPlanning
*/ */
private void releaseTask(TaskToPathPlanningDTO pathPlanning) { private void releaseTask(TaskToPathPlanningDTO pathPlanning) {
RobotTaskDetailDO robotTaskDetail = checkTaskDone(pathPlanning.getOrderId()); // RobotTaskDetailDO robotTaskDetail = checkTaskDone(pathPlanning.getOrderId());
releaseCheck(robotTaskDetail.getToLocationId(), robotTaskDetail.getRobotTaskId()); // releaseCheck(robotTaskDetail.getToLocationId(), robotTaskDetail.getRobotTaskId());
} }
/** /**
@ -1304,13 +1304,14 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
* @param pathPlanning * @param pathPlanning
*/ */
private void takeTask(TaskToPathPlanningDTO pathPlanning, Boolean isRemote) { private void takeTask(TaskToPathPlanningDTO pathPlanning, Boolean isRemote) {
RobotTaskDetailDO robotTaskDetail = checkTaskDone(pathPlanning.getOrderId()); // RobotTaskDetailDO robotTaskDetail = checkTaskDone(pathPlanning.getOrderId());
takeCheck(robotTaskDetail.getFromLocationId(), robotTaskDetail.getRobotTaskId(), isRemote); // takeCheck(robotTaskDetail.getFromLocationId(), robotTaskDetail.getRobotTaskId(), isRemote);
} }
public RobotTaskDetailDO checkTaskDone(String id) { public RobotTaskDetailDO checkTaskDone(String id) {
RobotTaskDetailDO robotTaskDetail = taskDetailMapper.selectById(id); RobotTaskDetailDO robotTaskDetail = taskDetailMapper.selectById(id);
if (RobotTaskStageEnum.DONE.getType().equals(robotTaskDetail.getTaskStage())) { if (RobotTaskStageEnum.DONE.getType().equals(robotTaskDetail.getTaskStage())
|| RobotTaskStageEnum.MANUALLY_COMPLETED.getType().equals(robotTaskDetail.getTaskStage()) ) {
throw exception(ROBOT_LAST_TASK_NO_EXISTS); throw exception(ROBOT_LAST_TASK_NO_EXISTS);
} }
return robotTaskDetail; return robotTaskDetail;
@ -1324,6 +1325,13 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
private void takeReleaseTask(TaskToPathPlanningDTO pathPlanning, Boolean isRemote) { private void takeReleaseTask(TaskToPathPlanningDTO pathPlanning, Boolean isRemote) {
RobotTaskDetailDO robotTaskDetail = checkTaskDone(pathPlanning.getOrderId()); RobotTaskDetailDO robotTaskDetail = checkTaskDone(pathPlanning.getOrderId());
if (RobotTaskStageEnum.UN_START.getType().equals(robotTaskDetail.getTaskStage())
|| RobotTaskStageEnum.GO_TAKE.getType().equals(robotTaskDetail.getTaskStage())
|| RobotTaskStageEnum.TAKEING.getType().equals(robotTaskDetail.getTaskStage())) {
return;
}
String robotNo = pathPlanning.getRobotNoLimitationAreaDTOS().get(0).getRobotNo(); String robotNo = pathPlanning.getRobotNoLimitationAreaDTOS().get(0).getRobotNo();
String mac = getMacByRobotNo(robotNo); String mac = getMacByRobotNo(robotNo);
String cargoDetectedKey = RobotTaskChcheConstant.ROBOT_CARGO_DETECTED + mac; String cargoDetectedKey = RobotTaskChcheConstant.ROBOT_CARGO_DETECTED + mac;
@ -1331,14 +1339,22 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
if (ObjectUtil.isNotEmpty(cargoDetected) && RobotStatusCodeConstant.CARGO_DETECTED.equals(Boolean.parseBoolean(String.valueOf(cargoDetected)))) { if (ObjectUtil.isNotEmpty(cargoDetected) && RobotStatusCodeConstant.CARGO_DETECTED.equals(Boolean.parseBoolean(String.valueOf(cargoDetected)))) {
//说明取货完成 //说明取货完成
takeDone(pathPlanning, robotTaskDetail); takeDone(pathPlanning, robotTaskDetail);
} else if (!RobotTaskStageEnum.UN_START.getType().equals(robotTaskDetail.getTaskStage()) } else if (RobotTaskStageEnum.GO_RELEASE.getType().equals(robotTaskDetail.getTaskStage())
&& !RobotTaskStageEnum.GO_TAKE.getType().equals(robotTaskDetail.getTaskStage()) || RobotTaskStageEnum.RELEASEING.getType().equals(robotTaskDetail.getTaskStage())) {
&& !RobotTaskStageEnum.TAKEING.getType().equals(robotTaskDetail.getTaskStage())) {
takeDone(pathPlanning, robotTaskDetail); takeDone(pathPlanning, robotTaskDetail);
} else { } else if (RobotTaskStageEnum.CLOSE.getType().equals(robotTaskDetail.getTaskStage())
|| RobotTaskStageEnum.EXCEPTION.getType().equals(robotTaskDetail.getTaskStage()) ) {
WareHouseLocationDO wareHouseLocation = wareHouseLocationMapper.selectById(robotTaskDetail.getFromLocationId());
if (ZeroOneEnum.ZERO.getType().equals(wareHouseLocation.getLocationUseStatus())) {
takeDone(pathPlanning, robotTaskDetail);
}
}
/*else {
takeCheck(robotTaskDetail.getFromLocationId(), robotTaskDetail.getRobotTaskId(), isRemote); takeCheck(robotTaskDetail.getFromLocationId(), robotTaskDetail.getRobotTaskId(), isRemote);
} }
releaseCheck(robotTaskDetail.getToLocationId(), robotTaskDetail.getRobotTaskId()); releaseCheck(robotTaskDetail.getToLocationId(), robotTaskDetail.getRobotTaskId());*/
} }
public void takeDone(TaskToPathPlanningDTO pathPlanning, RobotTaskDetailDO robotTaskDetail) { public void takeDone(TaskToPathPlanningDTO pathPlanning, RobotTaskDetailDO robotTaskDetail) {