@Data @ApiModel(value = '考核指标VO') public class TaskProgrammeMetricsVO {

private String id;

'一级指标名称'
private String firstName;

'分数'
private Integer score;
'指标父id'

private String parentId;

} parentId是父级的id,编写方法内容:暂不清楚您需要什么样的方法,以下是可能的方法实现:

  1. 获取当前指标的父级指标信息:
public TaskProgrammeMetricsVO getParentMetrics(TaskProgrammeMetricsVO childMetrics, List<TaskProgrammeMetricsVO> metricsList) {
    for (TaskProgrammeMetricsVO metrics : metricsList) {
        if (childMetrics.getParentId() != null && childMetrics.getParentId().equals(metrics.getId())) {
            return metrics;
        }
    }
    return null;
}
  1. 获取当前指标的所有父级指标信息:
public List<TaskProgrammeMetricsVO> getAllParentMetrics(TaskProgrammeMetricsVO childMetrics, List<TaskProgrammeMetricsVO> metricsList) {
    List<TaskProgrammeMetricsVO> parentMetricsList = new ArrayList<>();
    while (childMetrics.getParentId() != null) {
        TaskProgrammeMetricsVO parentMetrics = getParentMetrics(childMetrics, metricsList);
        if (parentMetrics != null) {
            parentMetricsList.add(parentMetrics);
            childMetrics = parentMetrics;
        } else {
            break;
        }
    }
    return parentMetricsList;
}
  1. 获取当前指标的所有子级指标信息:
public List<TaskProgrammeMetricsVO> getChildMetrics(TaskProgrammeMetricsVO parentMetrics, List<TaskProgrammeMetricsVO> metricsList) {
    List<TaskProgrammeMetricsVO> childMetricsList = new ArrayList<>();
    for (TaskProgrammeMetricsVO metrics : metricsList) {
        if (parentMetrics.getId().equals(metrics.getParentId())) {
            childMetricsList.add(metrics);
            childMetricsList.addAll(getChildMetrics(metrics, metricsList));
        }
    }
    return childMetricsList;
}

注意:以上方法仅为示例,具体实现方式可能因业务需求而异。

Java考核指标VO对象 - TaskProgrammeMetricsVO

原文地址: https://www.cveoy.top/t/topic/oDGD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录