chore: restore local WCS version

This commit is contained in:
zgw
2026-07-24 08:56:02 +08:00
parent 89b2fff3d1
commit a63316fc56
9 changed files with 112 additions and 172 deletions

View File

@@ -14,187 +14,143 @@ import java.util.UUID;
@Data @Data
public class GenAgvSchedulingTaskRequest { 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<PositionCodeData> 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 private String materialLot;
public static class TaskAdditionallInfo { /**
/** * 优先级
* 任务ID * 从(1~127)级,最大优先级最高。为空时,采用任务模板的优先级
*/ */
private String TaskId; private String priority;
/**
/** * AGV编号
* 库存ID * 填写表示指定某一编号的AGV执行该任务
*/ */
private String StockId; private String agvCode;
/**
/** * 任务单号
* 任务引导ID * 选填, 不填系统自动生成
*/ */
private String TaskGuideId; private String taskCode;
/**
/** * 组编号
* 触发ID * CTU场景下用于按组出库,同组任务优先拼车。 如业务需要任务组间或组内按顺序出库,则需调用料箱顺序出库(CTU)接口。
*/ * 潜伏式场景下,通过组号来管理顺序出库的顺序,组号小的优先出库。
private String TriggerId; */
private String groupId;
/** /**
* 下一任务添加阶段 * 设备类型
*/ */
private String NextTaskAddStage; private String agvTyp;
/**
/** * 选择策略
* 链ID * 区域/策略中挑选货架以及根据物料批次挑选货架时的先进先出规则,支持以下4个值:
*/ * 1:按照货架到达储位的时间顺序,先进先出
private String ChainId; * 2:按照货架到达储位的时间顺序,先进后出
* 9:按照货架绑定物料批次的时间顺序,先进先出
/** * 10:按照货架绑定物料批次的时间顺序,先进后出
* 链类型 */
*/ private String positionSelStrategy;
private Integer ChainType; /**
* 自定义数据
/** */
* 链排序 private String data;
*/
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;
}
} }

View File

@@ -68,8 +68,6 @@ public interface IRequestLogService
*/ */
public RequestLog getRequestLog(String url, String param, String endPoint); public RequestLog getRequestLog(String url, String param, String endPoint);
public RequestLog getRequestLogAgv(String url, String endPoint, String param);
/** /**
* 接收请求,并插入日志 * 接收请求,并插入日志
* @param url * @param url

View File

@@ -67,8 +67,6 @@ public interface AgvQueueMapper
*/ */
AgvQueue selectAgvQueueByTaskCode(String taskCode); AgvQueue selectAgvQueueByTaskCode(String taskCode);
AgvQueue selectAgvQueueByStatus();
void insertHistory(String reqCode); void insertHistory(String reqCode);
void selectKx(HashMap<String, Object> map); void selectKx(HashMap<String, Object> map);

View File

@@ -67,8 +67,6 @@ public interface IAgvQueueService
*/ */
AgvQueue selectAgvQueueByTaskCode(String taskCode); AgvQueue selectAgvQueueByTaskCode(String taskCode);
AgvQueue selectAgvQueueByStatus();
/** /**
* 插入agv完成历史 * 插入agv完成历史
* @param reqCode * @param reqCode

View File

@@ -97,11 +97,6 @@ public class AgvQueueServiceImpl implements IAgvQueueService
return agvQueueMapper.selectAgvQueueByTaskCode(taskCode); return agvQueueMapper.selectAgvQueueByTaskCode(taskCode);
} }
@Override
public AgvQueue selectAgvQueueByStatus() {
return agvQueueMapper.selectAgvQueueByStatus();
}
@Override @Override
public void insertHistory(String reqCode) { public void insertHistory(String reqCode) {
agvQueueMapper.insertHistory(reqCode); agvQueueMapper.insertHistory(reqCode);

View File

@@ -62,11 +62,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where task_code = #{taskCode} where task_code = #{taskCode}
</select> </select>
<select id="selectAgvQueueByStatus" resultMap="AgvQueueResult">
select top(1)* from agv_queue
where status=0
</select>
<insert id="insertAgvQueue" parameterType="AgvQueue"> <insert id="insertAgvQueue" parameterType="AgvQueue">
insert into agv_queue insert into agv_queue
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

View File

@@ -119,7 +119,6 @@ public class SecurityConfig
.antMatchers("/api/agv/**").permitAll() .antMatchers("/api/agv/**").permitAll()
.antMatchers("/device/api/**").permitAll() .antMatchers("/device/api/**").permitAll()
.antMatchers("/wcs2Wms/api/**").permitAll() .antMatchers("/wcs2Wms/api/**").permitAll()
.antMatchers("/agv/api/**").permitAll()
.antMatchers("/test/**").permitAll() .antMatchers("/test/**").permitAll()
.antMatchers("/largeScreen/monitor/**").permitAll() .antMatchers("/largeScreen/monitor/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证 // 除上面外的所有请求全部需要鉴权认证

View File

@@ -157,6 +157,7 @@ export default {
{ key: 'kx', label: '空闲', value: d.kx, dict: 'ssj_kx' }, { key: 'kx', label: '空闲', value: d.kx, dict: 'ssj_kx' },
{ key: 'dw', label: '到位', value: d.dw, dict: 'ssj_dw' }, { key: 'dw', label: '到位', value: d.dw, dict: 'ssj_dw' },
{ key: 'exception', label: '异常', value: d.exception, dict: 'ssj_ex'}, { key: 'exception', label: '异常', value: d.exception, dict: 'ssj_ex'},
] ]
} }
if (dev.kind === 'srgv') { if (dev.kind === 'srgv') {

View File

@@ -9,7 +9,7 @@ const CompressionPlugin = require('compression-webpack-plugin')
const name = process.env.VUE_APP_TITLE || 'FORTUCKY WCS SYSTEM' // 网页标题 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 // 前端端口 const port = process.env.port || process.env.npm_config_port || 80 // 前端端口