Java考核指标VO对象 - TaskProgrammeMetricsVO
@Data @ApiModel(value = '考核指标VO') public class TaskProgrammeMetricsVO {
private String id;
'一级指标名称'
private String firstName;
'分数'
private Integer score;
'指标父id'
private String parentId;
} parentId是父级的id,编写方法内容:暂不清楚您需要什么样的方法,以下是可能的方法实现:
- 获取当前指标的父级指标信息:
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;
}
- 获取当前指标的所有父级指标信息:
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;
}
- 获取当前指标的所有子级指标信息:
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;
}
注意:以上方法仅为示例,具体实现方式可能因业务需求而异。
原文地址: https://www.cveoy.top/t/topic/oDGD 著作权归作者所有。请勿转载和采集!