Compare commits
No commits in common. "3c229747cd9db2337e3df65e8a1d9c4cbc7c80cb" and "02ac8dfda968ff876e32b049c297c70fca9f7df2" have entirely different histories.
3c229747cd
...
02ac8dfda9
@ -6,6 +6,8 @@ import lombok.Builder;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@ -102,27 +104,20 @@ public class PositionMapLineDTO {
|
|||||||
@Schema(description = "终点高")
|
@Schema(description = "终点高")
|
||||||
private Double endHigh;
|
private Double endHigh;
|
||||||
|
|
||||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
@Schema(description = "车头朝向( 0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||||
private Integer toward;
|
private Integer toward;
|
||||||
|
|
||||||
@Schema(description = "发送给路径规划 车头朝向(0正 1反)", example = "15890")
|
|
||||||
private Integer ppToward;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 双向车道 反向行走变更车头朝向
|
* 双向车道 反向行走变更车头朝向
|
||||||
*
|
|
||||||
* @param toward
|
* @param toward
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Integer changeToward(Integer toward) {
|
public Integer changeToward(Integer toward) {
|
||||||
if (toward == 0) {
|
if (toward == 0) {
|
||||||
return 0;
|
return 3;
|
||||||
} else if (toward == 1) {
|
} else if (toward == 1) {
|
||||||
return 1;
|
return 2;
|
||||||
} else if (toward == 2) {
|
} else if (toward == 2) {
|
||||||
return 0;
|
|
||||||
} else if (toward == 3) {
|
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
spring:
|
|
||||||
cloud:
|
|
||||||
nacos:
|
|
||||||
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
|
|
||||||
username: # Nacos 账号
|
|
||||||
password: # Nacos 密码
|
|
||||||
discovery: # 【配置中心】配置项
|
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
|
||||||
metadata:
|
|
||||||
version: 1.0.0 # 服务实例的版本号,可用于灰度发布
|
|
||||||
config: # 【注册中心】配置项
|
|
||||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
|
||||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
|
||||||
|
|
||||||
# Lock4j 配置项
|
|
||||||
lock4j:
|
|
||||||
acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒
|
|
||||||
expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒
|
|
||||||
|
|
||||||
--- #################### 监控相关配置 ####################
|
|
||||||
|
|
||||||
# Actuator 监控端点的配置项
|
|
||||||
management:
|
|
||||||
endpoints:
|
|
||||||
web:
|
|
||||||
base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator
|
|
||||||
exposure:
|
|
||||||
include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
|
|
||||||
|
|
||||||
|
|
||||||
# MQTT
|
|
||||||
mqtt:
|
|
||||||
# host: tcp://192.168.0.54:1883
|
|
||||||
host: tcp://127.0.0.1:1883
|
|
||||||
username: adminuser
|
|
||||||
password: adminuser
|
|
||||||
qos: 0
|
|
||||||
clientId: mqttx_b82345a52
|
|
||||||
maxInflight: 10
|
|
||||||
timeout: 10
|
|
||||||
keepalive: 20
|
|
||||||
|
|
||||||
|
|
@ -17,6 +17,7 @@ import javax.annotation.Resource;
|
|||||||
import javax.annotation.security.PermitAll;
|
import javax.annotation.security.PermitAll;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -50,16 +51,6 @@ public class PositionMapController {
|
|||||||
return success(BeanUtils.toBean(positionMap, PositionMapRespVO.class));
|
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")
|
@GetMapping("/getMap")
|
||||||
@Operation(summary = "获得仓库点位地图Map")
|
@Operation(summary = "获得仓库点位地图Map")
|
||||||
@PreAuthorize("@ss.hasPermission('system:position-map:query')")
|
@PreAuthorize("@ss.hasPermission('system:position-map:query')")
|
||||||
|
@ -15,6 +15,7 @@ import cn.iocoder.yudao.module.system.controller.admin.robot.task.TaskAssignDTO;
|
|||||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapDO;
|
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.PositionMapItemDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapLineDO;
|
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.PositionMapItemMapper;
|
||||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapLineMapper;
|
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapLineMapper;
|
||||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapMapper;
|
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapMapper;
|
||||||
@ -32,6 +33,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
@ -173,10 +176,10 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
|||||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||||
list.add(positionMapLineDO);
|
list.add(positionMapLineDO);
|
||||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
continue;
|
||||||
} else {
|
|
||||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||||
}
|
}
|
||||||
|
|
||||||
PositionMapLinePathDTO relatedPathNode = new PositionMapLinePathDTO();
|
PositionMapLinePathDTO relatedPathNode = new PositionMapLinePathDTO();
|
||||||
@ -248,10 +251,10 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
|||||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||||
list.add(positionMapLineDO);
|
list.add(positionMapLineDO);
|
||||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
continue;
|
||||||
} else {
|
|
||||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||||
}
|
}
|
||||||
|
|
||||||
PositionMapLinePathDTO relatedPathNode = new PositionMapLinePathDTO();
|
PositionMapLinePathDTO relatedPathNode = new PositionMapLinePathDTO();
|
||||||
@ -443,10 +446,10 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
|||||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||||
list.add(positionMapLineDO);
|
list.add(positionMapLineDO);
|
||||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
continue;
|
||||||
} else {
|
|
||||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||||
}
|
}
|
||||||
|
|
||||||
relatedPathNode.setControl_nodes(list);
|
relatedPathNode.setControl_nodes(list);
|
||||||
|
@ -10,6 +10,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仓库点位地图 Service 接口
|
* 仓库点位地图 Service 接口
|
||||||
@ -88,10 +90,4 @@ public interface PositionMapService extends IService<PositionMapDO> {
|
|||||||
*/
|
*/
|
||||||
String downloadPngBase64(Integer floor, String area);
|
String downloadPngBase64(Integer floor, String area);
|
||||||
|
|
||||||
/**
|
|
||||||
* 一键急停or一键恢复
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
void emergencyStopOrRecovery(Long id);
|
|
||||||
}
|
}
|
||||||
|
@ -297,10 +297,4 @@ public class PositionMapServiceImpl extends ServiceImpl<PositionMapMapper, Posit
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void emergencyStopOrRecovery(Long id) {
|
|
||||||
// 先获取当前地图上的所有AGV信息
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -56,21 +56,20 @@ spring:
|
|||||||
primary: master
|
primary: master
|
||||||
datasource:
|
datasource:
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://127.0.0.1:3306/zn_wcs?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&allowMultiQueries=true # MySQL Connector/J 8.X 连接的示例
|
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||||
username: root
|
username: root
|
||||||
password: yhtkj@2024!
|
password: 123456
|
||||||
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
|
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
|
||||||
lazy: true # 开启懒加载,保证启动速度
|
lazy: true # 开启懒加载,保证启动速度
|
||||||
url: jdbc:mysql://127.0.0.1:3306/zn_wcs?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&allowMultiQueries=true # MySQL Connector/J 8.X 连接的示例
|
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||||
username: root
|
username: root
|
||||||
password: yhtkj@2024!
|
password: 123456
|
||||||
|
|
||||||
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
|
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
|
||||||
redis:
|
redis:
|
||||||
host: 127.0.0.1 # 地址
|
host: 400-infra.server.iocoder.cn # 地址
|
||||||
port: 6379 # 端口
|
port: 6379 # 端口
|
||||||
database: 3 # 数据库索引
|
database: 1 # 数据库索引
|
||||||
password: yhtkj@2024! # 密码,建议生产环境开启
|
|
||||||
# password: 123456 # 密码,建议生产环境开启
|
# password: 123456 # 密码,建议生产环境开启
|
||||||
|
|
||||||
--- #################### MQ 消息队列相关配置 ####################
|
--- #################### MQ 消息队列相关配置 ####################
|
||||||
|
Loading…
Reference in New Issue
Block a user