2023-09-21 20:55:14 +03:00
|
|
|
package SapforTestingSystem.Json;
|
2023-10-27 00:20:42 +03:00
|
|
|
import GlobalData.Tasks.TaskState;
|
2023-11-06 22:20:18 +03:00
|
|
|
import SapforTestingSystem.SapforTask.MatchState;
|
2023-09-27 00:43:23 +03:00
|
|
|
import SapforTestingSystem.SapforTask.SapforTask;
|
2023-09-17 22:13:42 +03:00
|
|
|
import com.google.gson.annotations.Expose;
|
|
|
|
|
|
2023-10-27 00:20:42 +03:00
|
|
|
import java.util.LinkedHashMap;
|
2023-09-17 22:13:42 +03:00
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Vector;
|
2023-10-08 01:06:55 +03:00
|
|
|
public class SapforTasksResults_json {
|
2023-10-01 23:22:07 +03:00
|
|
|
@Expose
|
|
|
|
|
public long StartDate = 0;
|
|
|
|
|
@Expose
|
|
|
|
|
public long EndDate = 0;
|
2023-09-17 22:13:42 +03:00
|
|
|
@Expose
|
2023-09-27 00:43:23 +03:00
|
|
|
public List<SapforTask> tasks = new Vector<>();
|
2023-10-29 01:41:43 +03:00
|
|
|
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksByStatesConfigurationsAndGroups() {
|
|
|
|
|
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>();
|
|
|
|
|
//рассортировать задачи по конфигурациям.
|
|
|
|
|
for (TaskState state : TaskState.values()) {
|
|
|
|
|
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = new LinkedHashMap<>();
|
|
|
|
|
res.put(state, tasksByConfigurations);
|
|
|
|
|
//--
|
|
|
|
|
for (SapforTask task : tasks) {
|
|
|
|
|
if (task.state.equals(state)) {
|
|
|
|
|
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = null;
|
|
|
|
|
if (tasksByConfigurations.containsKey(task.sapfor_configuration_id)) {
|
|
|
|
|
groups_tasks = tasksByConfigurations.get(task.sapfor_configuration_id);
|
|
|
|
|
} else {
|
|
|
|
|
groups_tasks = new LinkedHashMap<>();
|
|
|
|
|
tasksByConfigurations.put(task.sapfor_configuration_id, groups_tasks);
|
|
|
|
|
}
|
|
|
|
|
Vector<SapforTask> tasks = null;
|
|
|
|
|
if (groups_tasks.containsKey(task.group_description)) {
|
|
|
|
|
tasks = groups_tasks.get(task.group_description);
|
|
|
|
|
} else {
|
|
|
|
|
tasks = new Vector<>();
|
|
|
|
|
groups_tasks.put(task.group_description, tasks);
|
|
|
|
|
}
|
|
|
|
|
tasks.add(task);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return res;
|
|
|
|
|
}
|
2023-11-06 22:20:18 +03:00
|
|
|
//---
|
|
|
|
|
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortTasksForTree() {
|
|
|
|
|
LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> res = new LinkedHashMap<>();
|
|
|
|
|
for (MatchState matchState : MatchState.values()) {
|
|
|
|
|
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>();
|
|
|
|
|
res.put(matchState, state_tasks);
|
|
|
|
|
//--
|
|
|
|
|
for (TaskState state : TaskState.values()) {
|
|
|
|
|
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
|
|
|
|
|
state_tasks.put(state, configuration_tasks);
|
|
|
|
|
//--
|
|
|
|
|
for (SapforTask task : tasks) {
|
|
|
|
|
if (task.match.equals(matchState) && task.state.equals(state)) {
|
|
|
|
|
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = null;
|
|
|
|
|
if (configuration_tasks.containsKey(task.sapfor_configuration_id)) {
|
|
|
|
|
groups_tasks = configuration_tasks.get(task.sapfor_configuration_id);
|
|
|
|
|
} else {
|
|
|
|
|
groups_tasks = new LinkedHashMap<>();
|
|
|
|
|
configuration_tasks.put(task.sapfor_configuration_id, groups_tasks);
|
|
|
|
|
}
|
|
|
|
|
Vector<SapforTask> tasks = null;
|
|
|
|
|
if (groups_tasks.containsKey(task.group_description)) {
|
|
|
|
|
tasks = groups_tasks.get(task.group_description);
|
|
|
|
|
} else {
|
|
|
|
|
tasks = new Vector<>();
|
|
|
|
|
groups_tasks.put(task.group_description, tasks);
|
|
|
|
|
}
|
|
|
|
|
tasks.add(task);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//--
|
|
|
|
|
}
|
|
|
|
|
//--
|
|
|
|
|
//рассортировать задачи по конфигурациям.
|
|
|
|
|
return res;
|
|
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|