feat(system): 添加一键急停和恢复地图上所有AGV的功能- 在 PositionMapController 中添加了 emergencyStopOrRecovery 接口
- 在 PositionMapService 中添加了 emergencyStopOrRecovery 方法- 在 PositionMapServiceImpl 中实现了 emergencyStopOrRecovery 方法 -优化了 PositionMapLineDTO 中的车头朝向逻辑
This commit is contained in:
parent
19fd048a1b
commit
111f63e10a
@ -6,8 +6,6 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@ -104,20 +102,27 @@ public class PositionMapLineDTO {
|
||||
@Schema(description = "终点高")
|
||||
private Double endHigh;
|
||||
|
||||
@Schema(description = "车头朝向( 0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||
private Integer toward;
|
||||
|
||||
@Schema(description = "发送给路径规划 车头朝向(0正 1反)", example = "15890")
|
||||
private Integer ppToward;
|
||||
|
||||
|
||||
/**
|
||||
* 双向车道 反向行走变更车头朝向
|
||||
*
|
||||
* @param toward
|
||||
* @return
|
||||
*/
|
||||
public Integer changeToward(Integer toward) {
|
||||
if (toward == 0) {
|
||||
return 3;
|
||||
return 0;
|
||||
} else if (toward == 1) {
|
||||
return 2;
|
||||
return 1;
|
||||
} else if (toward == 2) {
|
||||
return 0;
|
||||
} else if (toward == 3) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
|
@ -17,6 +17,7 @@ import javax.annotation.Resource;
|
||||
import javax.annotation.security.PermitAll;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -50,6 +51,16 @@ public class PositionMapController {
|
||||
return success(BeanUtils.toBean(positionMap, PositionMapRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/emergencyStopOrRecovery")
|
||||
@Operation(summary = "一键急停or一键恢复地图上所有AGV")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('system:position-map:emergencyStopOrRecovery')")
|
||||
public CommonResult<Boolean> emergencyStopOrRecovery(@RequestParam("id") Long id) {
|
||||
positionMapService.emergencyStopOrRecovery(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/getMap")
|
||||
@Operation(summary = "获得仓库点位地图Map")
|
||||
@PreAuthorize("@ss.hasPermission('system:position-map:query')")
|
||||
|
@ -11,7 +11,6 @@ import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMa
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapLineDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapItemMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapLineMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapMapper;
|
||||
@ -26,8 +25,6 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -88,7 +85,7 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
relatedPathNode.setFloor(positionMapDO.getFloor());
|
||||
relatedPathNode.setArea(positionMapDO.getArea());
|
||||
relatedPathNode.setType(PathTypeEnum.INIT.getType());
|
||||
List<PositionMapLineDTO> positionMapLineDOS = positionMapLineMap.get(positionMapDO.getId()+"");
|
||||
List<PositionMapLineDTO> positionMapLineDOS = positionMapLineMap.get(positionMapDO.getId() + "");
|
||||
if (ObjectUtil.isEmpty(positionMapLineDOS)) {
|
||||
continue;
|
||||
}
|
||||
@ -163,10 +160,10 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||
list.add(positionMapLineDO);
|
||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||
continue;
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
||||
} else {
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
|
||||
PositionMapLinePathDTO relatedPathNode = new PositionMapLinePathDTO();
|
||||
@ -238,10 +235,10 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||
list.add(positionMapLineDO);
|
||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||
continue;
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
||||
} else {
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
|
||||
PositionMapLinePathDTO relatedPathNode = new PositionMapLinePathDTO();
|
||||
@ -406,10 +403,10 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||
list.add(positionMapLineDO);
|
||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||
continue;
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
||||
} else {
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
|
||||
relatedPathNode.setControl_nodes(list);
|
||||
|
@ -92,7 +92,15 @@ public interface PositionMapService extends IService<PositionMapDO> {
|
||||
|
||||
/**
|
||||
* 获得所有仓库点位地图Map
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Map<Integer, List<PositionMapDO>> getAllMap();
|
||||
|
||||
/**
|
||||
* 一键急停or一键恢复
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
void emergencyStopOrRecovery(Long id);
|
||||
}
|
||||
|
@ -319,4 +319,10 @@ public class PositionMapServiceImpl extends ServiceImpl<PositionMapMapper, Posit
|
||||
return collect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void emergencyStopOrRecovery(Long id) {
|
||||
// 先获取当前地图上的所有AGV信息
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user