From b32c7b0a6abf5c26bb47de8c74090e2297211650 Mon Sep 17 00:00:00 2001 From: lizw-2015 <1183409807@qq.com> Date: Thu, 3 Jul 2025 14:16:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(task):=20=E6=96=B0=E5=A2=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=97=E8=A1=A8=E5=B1=95=E7=A4=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 LccTask 类实现任务数据查询 - 创建 RcsTaskRes 类用于任务数据传输 - 更新 TaskMeta 引入新的任务视图组件 - 实现 TaskView2 组件用于展示任务列表 --- .../com/yvan/workbench/controller/LccTask.java | 60 ++++++ .../yvan/workbench/model/response/RcsTaskRes.java | 240 +++++++++++++++++++++ 2 files changed, 300 insertions(+) create mode 100644 servo/src/main/java/com/yvan/workbench/controller/LccTask.java create mode 100644 servo/src/main/java/com/yvan/workbench/model/response/RcsTaskRes.java diff --git a/servo/src/main/java/com/yvan/workbench/controller/LccTask.java b/servo/src/main/java/com/yvan/workbench/controller/LccTask.java new file mode 100644 index 0000000..179c014 --- /dev/null +++ b/servo/src/main/java/com/yvan/workbench/controller/LccTask.java @@ -0,0 +1,60 @@ +package com.yvan.workbench.controller; + +import com.galaxis.rcs.common.entity.RcsTaskBiz; +import com.galaxis.rcs.common.entity.RcsTaskDevice; +import com.galaxis.rcs.common.entity.RcsTaskPlan; +import com.yvan.workbench.model.response.RcsTaskRes; +import org.clever.core.mapper.BeanCopyUtils; +import org.clever.data.jdbc.DaoFactory; +import org.clever.data.jdbc.QueryDSL; + +import java.util.List; +import java.util.Objects; + +import static com.galaxis.rcs.common.query.QRcsTaskBiz.rcsTaskBiz; +import static com.galaxis.rcs.common.query.QRcsTaskDevice.rcsTaskDevice; +import static com.galaxis.rcs.common.query.QRcsTaskPlan.rcsTaskPlan; + +/** + * 作者:lizw
+ * 创建时间:2025/07/03 10:43
+ */ +public class LccTask { + private static final QueryDSL QUERY_DSL = DaoFactory.getQueryDSL(); + + public static List allRcsTask() { + List rcsTaskBizList = QUERY_DSL.selectFrom(rcsTaskBiz) + .orderBy(rcsTaskBiz.envId.asc()) + .orderBy(rcsTaskBiz.bizType.asc()) + .orderBy(rcsTaskBiz.priority.asc()) + .orderBy(rcsTaskBiz.lpn.asc()) + .orderBy(rcsTaskBiz.taskFrom.asc()) + .fetch(); + List rcsTaskPlanList = QUERY_DSL.selectFrom(rcsTaskPlan) + .orderBy(rcsTaskPlan.envId.asc()) + .orderBy(rcsTaskPlan.planType.asc()) + .orderBy(rcsTaskPlan.seq.asc()) + .fetch(); + List rcsTaskDeviceList = QUERY_DSL.selectFrom(rcsTaskDevice) + .orderBy(rcsTaskDevice.envId.asc()) + .orderBy(rcsTaskDevice.deviceType.asc()) + .orderBy(rcsTaskDevice.seq.asc()) + .fetch(); + List res = rcsTaskBizList.stream().map(item -> BeanCopyUtils.mapper(RcsTaskRes.class, item)).toList(); + for (RcsTaskRes task : res) { + List taskPlans = rcsTaskPlanList.stream() + .filter(item -> Objects.equals(item.getBizTaskId(), task.getBizTaskId())) + .map(item -> BeanCopyUtils.mapper(RcsTaskRes.TaskPlan.class, item)) + .toList(); + task.setTaskPlans(taskPlans); + for (RcsTaskRes.TaskPlan plan : taskPlans) { + List taskDevices = rcsTaskDeviceList.stream() + .filter(item -> Objects.equals(item.getBizTaskId(), plan.getBizTaskId()) && Objects.equals(item.getPlanTaskId(), plan.getPlanTaskId())) + .map(item -> BeanCopyUtils.mapper(RcsTaskRes.TaskDevice.class, item)) + .toList(); + plan.setTaskDevices(taskDevices); + } + } + return res; + } +} diff --git a/servo/src/main/java/com/yvan/workbench/model/response/RcsTaskRes.java b/servo/src/main/java/com/yvan/workbench/model/response/RcsTaskRes.java new file mode 100644 index 0000000..bb0040c --- /dev/null +++ b/servo/src/main/java/com/yvan/workbench/model/response/RcsTaskRes.java @@ -0,0 +1,240 @@ +package com.yvan.workbench.model.response; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 作者:lizw
+ * 创建时间:2025/07/03 10:46
+ */ +@Data +public class RcsTaskRes { + private Long bizTaskId; + /** + * 环境ID + */ + private Long envId; + /** + * 任务类型 + */ + private String bizType; + /** + * 托盘ID + */ + private String lpn; + /** + * 任务优先级 + */ + private Integer priority; + /** + * 任务起始点 + */ + private String taskFrom; + /** + * 任务目标点 + */ + private String taskTo; + /** + * 系统分配的执行器ID + */ + private String allocatedExecutorId; + /** + * 任务负载信息 + */ + private String bizTaskPayload; + /** + * 异常提示信息 + */ + private String bizTaskErrorInfo; + /** + * 任务描述 + */ + private String bizTaskDescription; + /** + * 任务状态 + */ + private String bizTaskStatus; + /** + * 创建时间 + */ + private Date createAt; + /** + * 创建人 + */ + private String createBy; + /** + * 更新时间 + */ + private Date updateAt; + /** + * 更新人 + */ + private String updateBy; + + private List taskPlans; + + @Data + public static class TaskPlan { + /** + * 规划ID + */ + private Long planTaskId; + /** + * 业务任务ID + */ + private Long bizTaskId; + /** + * 环境ID + */ + private Long envId; + /** + * 规划类型 + */ + private String planType; + /** + * 执行器ID + */ + private String executorId; + /** + * 规划序号 + */ + private Integer seq; + /** + * 目标点ID + */ + private String targetId; + /** + * 目标点货架列 + */ + private Integer targetBay; + /** + * 目标点货架层 + */ + private Integer targetLevel; + /** + * 目标点货架格 + */ + private Integer targetCell; + /** + * 目标点旋转角度 + */ + private BigDecimal targetRotation; + /** + * 背负托盘ID + */ + private String loadLpn; + /** + * 任务负载信息 + */ + private String planTaskPayload; + /** + * 规划执行状态 + */ + private String planTaskStatus; + /** + * 异常提示信息 + */ + private String planTaskErrorInfo; + /** + * 任务描述 + */ + private String planTaskDescription; + /** + * 创建时间 + */ + private Date createAt; + /** + * 创建人 + */ + private String createBy; + /** + * 更新时间 + */ + private Date updateAt; + /** + * 更新人 + */ + private String updateBy; + + private List taskDevices; + } + + @Data + public static class TaskDevice { + /** + * 设备任务ID + */ + private Long deviceTaskId; + /** + * 规划ID + */ + private Long planTaskId; + /** + * 业务任务ID + */ + private Long bizTaskId; + /** + * 环境ID + */ + private Long envId; + /** + * 设备类型 + */ + private String deviceType; + /** + * 执行器ID + */ + private String deviceItemId; + /** + * 执行序号 + */ + private Integer seq; + /** + * 报文类型 + */ + private String packetType; + /** + * 报文目标点 + */ + private String packetEndPoint; + /** + * 报文内容 + */ + private String packetPayload; + /** + * 任务负载信息 + */ + private String deviceTaskPayload; + /** + * 执行状态 + */ + private String deviceTaskStatus; + /** + * 异常提示信息 + */ + private String deviceTaskErrorInfo; + /** + * 任务描述 + */ + private String deviceTaskDescription; + /** + * 创建时间 + */ + private Date createAt; + /** + * 创建人 + */ + private String createBy; + /** + * 更新时间 + */ + private Date updateAt; + /** + * 更新人 + */ + private String updateBy; + } +}