diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/agv/genAgvSchedulingTask/GenAgvSchedulingTaskRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/agv/genAgvSchedulingTask/GenAgvSchedulingTaskRequest.java index 60156f9..46bea8d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/agv/genAgvSchedulingTask/GenAgvSchedulingTaskRequest.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/agv/genAgvSchedulingTask/GenAgvSchedulingTaskRequest.java @@ -14,187 +14,143 @@ import java.util.UUID; @Data public class GenAgvSchedulingTaskRequest { /** - * 起始站点 + * 请求编号 + * 同一个请求重复提交, 使用同一编号 */ - private String FromStation; - + @NotNull + private String reqCode = UUID.randomUUID().toString(); /** - * 目的站点 + * 请求时间 + * 格式: “yyyy-MM-dd HH:mm:ss” */ - private String ToStation; - + private String reqTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); /** - * 任务类型(以实际的任务类型为准) + * 客户端编号 + * 客户端编号,如PDA,HCWMS等 */ - private String Type; - + private String clientCode; /** - * 类名 + * 令牌号 + * 由调度系统颁发 */ - private String ClassName; - + private String tokenCode; /** - * 任务引导ID + * 任务类型 + * 内置任务类型: + * 厂内货架搬运: F01 + * 厂内货架空满交换: F02 + * 辊筒搬运接驳:F03 + * 厂内货架出库AGV待命:F04 + * 旋转货架: F05 + * 厂内电梯任务: F06 + * 以下为叉车专用任务类型 + * 高位货架到工作台: F11 + * 工作台到高位货架: F12 + * 巷道到工作台: F13 + * 工作台到巷道: F14 + * 高位货架到工作台(接驳) : F15 + * 工作台到高位货架 (接驳) : F16 + * 巷道到工作台(接驳) : F17 + * 工作台到巷道(接驳) : F18 + * 叉车电梯主任务: F20 */ - private String TaskGuideId; + @NotNull + private String taskTyp; /** - * 订单 ID + * 容器类型(叉车/CTU专用) 叉车项目必传 */ - private String OrderId; - + private String ctnrTyp; /** - * 触发ID + * 容器编号 (叉车/CTU专用) */ - private String TriggerId; - + private String ctnrCode; // /** - * 扩展字段4 + * 容器数量(叉车堆叠专用),默认值1,仅记录堆叠的数量不记录堆叠的每个容器号 */ - private String Extend4; - + private String ctnrNum; /** - * 扩展字段5 + * 任务模式 + * 0-普通move 1-出库move 2-入库move 3-移库move */ - private String Extend5; - + private String taskMode; /** - * 扩展字段6 + * 工作位 + * 与RCS-2000端配置的位置名称一致, 工作位名称为字母\数字\或组合 */ - private String Extend6; - + private String wbCode; /** - * 扩展字段7 + * 位置路径 + * AGV关键路径位置集合,与任务类型中模板配置的位置路径一一对应。待现场地图部署、配置完成后可获取 */ - private String Extend7; - + private List positionCodePath; /** - * 扩展字段8 + * 货架编号 + * 不指定货架可以为空 */ - private String Extend8; - + private String podCode; /** - * 扩展字段9 + * 货架方向 + * “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” + * 不指定方向可以为空 + * 如果终点不是工作台或工作台未配置操作方向则货架拣货方向podDir作为终点方向 + * 如果工作台配有操作方向,则系统会根据货架拣货方向podDir和工作台操作方向计算货架终点方向 */ - private String Extend9; - + private String podDir; /** - * 任务附加信息 + * 货架类型, 传空时表示随机找个货架 + * 找空货架传参方式如下: + * -1: 代表不关心货架类型, 找到空货架即可. + * -2: 代表从工作位获取关联货架类型, 如果未配置, 只找空货架. + * 货架类型编号: 只找该货架类型的空货架 */ - private TaskAdditionallInfo TaskAdditionallInfo; - + private String podTyp; /** - * 任务附加信息类 + * 物料批次 + * 物料批次或货架上的物料唯一编码,生成任务单时,货架与物料直接绑定时使用. (通过同时传podCode和materialLot来绑定或通过 wbCode 找到位置上的货架和materialLot来绑定) + * 如果是区域/策略内查找货架,可以匹配对应物料批次的货架,支持以下值: + * 0:区域/策略内查找空货架 + * 1:区域/策略内查找满货架 + * 其他值:查找指定物料批次对应的货架 + * 巷道任务通过该字段传入特征值 */ - @Data - public static class TaskAdditionallInfo { - /** - * 任务ID - */ - private String TaskId; - - /** - * 库存ID - */ - private String StockId; - - /** - * 任务引导ID - */ - private String TaskGuideId; - - /** - * 触发ID - */ - private String TriggerId; - - /** - * 下一任务添加阶段 - */ - private String NextTaskAddStage; - - /** - * 链ID - */ - private String ChainId; - - /** - * 链类型 - */ - private Integer ChainType; - - /** - * 链排序 - */ - private Integer ChainSort; - - /** - * 图号 - */ - private String FigureNo; - - /** - * 尺寸 - */ - private String Size; - - /** - * 箱号 - */ - private String BoxNo; - - /** - * 物料 - */ - private String Mater; - - /** - * 相关数量 - */ - private Integer RelatedCount; - - /** - * 序列号 - */ - private String SerialNo; - - /** - * 重量 - */ - private String Weight; - - /** - * 站点号 - */ - private String StationNo; - - /** - * 手动计数 - */ - private String HandCount; - - /** - * 批次 - */ - private String Batch; - - /** - * 前置相关任务ID - */ - private String PreviousRelatedTaskId; - - /** - * 下一相关任务ID - */ - private String NextRelatedTaskId; - - /** - * 级联任务开始 - */ - private String CascadeTaskBeginning; - - /** - * 级联任务结束 - */ - private String CascadeTaskEnding; - } + private String materialLot; + /** + * 优先级 + * 从(1~127)级,最大优先级最高。为空时,采用任务模板的优先级 + */ + private String priority; + /** + * AGV编号 + * 填写表示指定某一编号的AGV执行该任务 + */ + private String agvCode; + /** + * 任务单号 + * 选填, 不填系统自动生成 + */ + private String taskCode; + /** + * 组编号 + * CTU场景下用于按组出库,同组任务优先拼车。 如业务需要任务组间或组内按顺序出库,则需调用料箱顺序出库(CTU)接口。 + * 潜伏式场景下,通过组号来管理顺序出库的顺序,组号小的优先出库。 + */ + private String groupId; + /** + * 设备类型 + */ + private String agvTyp; + /** + * 选择策略 + * 区域/策略中挑选货架以及根据物料批次挑选货架时的先进先出规则,支持以下4个值: + * 1:按照货架到达储位的时间顺序,先进先出 + * 2:按照货架到达储位的时间顺序,先进后出 + * 9:按照货架绑定物料批次的时间顺序,先进先出 + * 10:按照货架绑定物料批次的时间顺序,先进后出 + */ + private String positionSelStrategy; + /** + * 自定义数据 + */ + private String data; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IRequestLogService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IRequestLogService.java index 841095c..49d4047 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IRequestLogService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IRequestLogService.java @@ -68,8 +68,6 @@ public interface IRequestLogService */ public RequestLog getRequestLog(String url, String param, String endPoint); - public RequestLog getRequestLogAgv(String url, String endPoint, String param); - /** * 接收请求,并插入日志 * @param url diff --git a/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/mapper/AgvQueueMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/mapper/AgvQueueMapper.java index 5b6b584..5b17c04 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/mapper/AgvQueueMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/mapper/AgvQueueMapper.java @@ -67,8 +67,6 @@ public interface AgvQueueMapper */ AgvQueue selectAgvQueueByTaskCode(String taskCode); - AgvQueue selectAgvQueueByStatus(); - void insertHistory(String reqCode); void selectKx(HashMap map); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/IAgvQueueService.java b/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/IAgvQueueService.java index 3103388..6d4adde 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/IAgvQueueService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/IAgvQueueService.java @@ -67,8 +67,6 @@ public interface IAgvQueueService */ AgvQueue selectAgvQueueByTaskCode(String taskCode); - AgvQueue selectAgvQueueByStatus(); - /** * 插入agv完成历史 * @param reqCode diff --git a/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/impl/AgvQueueServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/impl/AgvQueueServiceImpl.java index 4151778..c351834 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/impl/AgvQueueServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/queue/agv/service/impl/AgvQueueServiceImpl.java @@ -97,11 +97,6 @@ public class AgvQueueServiceImpl implements IAgvQueueService return agvQueueMapper.selectAgvQueueByTaskCode(taskCode); } - @Override - public AgvQueue selectAgvQueueByStatus() { - return agvQueueMapper.selectAgvQueueByStatus(); - } - @Override public void insertHistory(String reqCode) { agvQueueMapper.insertHistory(reqCode); diff --git a/ruoyi-admin/src/main/resources/mapper/device/AgvQueueMapper.xml b/ruoyi-admin/src/main/resources/mapper/device/AgvQueueMapper.xml index 6037437..1aa0247 100644 --- a/ruoyi-admin/src/main/resources/mapper/device/AgvQueueMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/device/AgvQueueMapper.xml @@ -62,11 +62,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where task_code = #{taskCode} - - insert into agv_queue diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 5f5891a..3c9cc19 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -119,7 +119,6 @@ public class SecurityConfig .antMatchers("/api/agv/**").permitAll() .antMatchers("/device/api/**").permitAll() .antMatchers("/wcs2Wms/api/**").permitAll() - .antMatchers("/agv/api/**").permitAll() .antMatchers("/test/**").permitAll() .antMatchers("/largeScreen/monitor/**").permitAll() // 除上面外的所有请求全部需要鉴权认证 diff --git a/ruoyi-ui/src/views/device/ssj/index.vue b/ruoyi-ui/src/views/device/ssj/index.vue index d1e84e6..cdc5286 100644 --- a/ruoyi-ui/src/views/device/ssj/index.vue +++ b/ruoyi-ui/src/views/device/ssj/index.vue @@ -157,6 +157,7 @@ export default { { key: 'kx', label: '空闲', value: d.kx, dict: 'ssj_kx' }, { key: 'dw', label: '到位', value: d.dw, dict: 'ssj_dw' }, { key: 'exception', label: '异常', value: d.exception, dict: 'ssj_ex'}, + ] } if (dev.kind === 'srgv') { diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js index 46634cc..f02e036 100644 --- a/ruoyi-ui/vue.config.js +++ b/ruoyi-ui/vue.config.js @@ -9,7 +9,7 @@ const CompressionPlugin = require('compression-webpack-plugin') const name = process.env.VUE_APP_TITLE || 'FORTUCKY WCS SYSTEM' // 网页标题 -const baseUrl = 'http://192.168.188.236:8081' // 后端接口地址(你的后端端口是8081) +const baseUrl = 'http://localhost:8081' // 后端接口地址(你的后端端口是8081) const port = process.env.port || process.env.npm_config_port || 80 // 前端端口