Browse Source

feat(task): 新增任务列表展示功能

- 添加 LccTask 类实现任务数据查询
- 创建 RcsTaskRes 类用于任务数据传输
- 更新 TaskMeta 引入新的任务视图组件
- 实现 TaskView2 组件用于展示任务列表
master
lizw-2015 6 months ago
parent
commit
b32c7b0a6a
  1. 60
      servo/src/main/java/com/yvan/workbench/controller/LccTask.java
  2. 240
      servo/src/main/java/com/yvan/workbench/model/response/RcsTaskRes.java

60
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 <br/>
* 创建时间2025/07/03 10:43 <br/>
*/
public class LccTask {
private static final QueryDSL QUERY_DSL = DaoFactory.getQueryDSL();
public static List<RcsTaskRes> allRcsTask() {
List<RcsTaskBiz> 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<RcsTaskPlan> rcsTaskPlanList = QUERY_DSL.selectFrom(rcsTaskPlan)
.orderBy(rcsTaskPlan.envId.asc())
.orderBy(rcsTaskPlan.planType.asc())
.orderBy(rcsTaskPlan.seq.asc())
.fetch();
List<RcsTaskDevice> rcsTaskDeviceList = QUERY_DSL.selectFrom(rcsTaskDevice)
.orderBy(rcsTaskDevice.envId.asc())
.orderBy(rcsTaskDevice.deviceType.asc())
.orderBy(rcsTaskDevice.seq.asc())
.fetch();
List<RcsTaskRes> res = rcsTaskBizList.stream().map(item -> BeanCopyUtils.mapper(RcsTaskRes.class, item)).toList();
for (RcsTaskRes task : res) {
List<RcsTaskRes.TaskPlan> 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<RcsTaskRes.TaskDevice> 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;
}
}

240
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 <br/>
* 创建时间2025/07/03 10:46 <br/>
*/
@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<TaskPlan> 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<TaskDevice> 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;
}
}
Loading…
Cancel
Save