экспорт нескольких файлов.

This commit is contained in:
2023-12-09 00:59:39 +03:00
parent 827981a591
commit 8147381d4f

View File

@@ -20,8 +20,9 @@ import org.apache.poi.ss.util.CellRangeAddress;
import java.awt.*;
import java.io.File;
import java.io.FileOutputStream;
import java.util.LinkedHashMap;
import java.util.Vector;
public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
//https://tproger.ru/translations/how-to-read-write-excel-file-java-poi-example
File dir;
File res;
@@ -30,11 +31,10 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
final int max_columns = 16;
Vector<CellStyle> styles;
//--
//--
Workbook book = null;
Sheet sheet = null;
//--
Vector<TestRunTask> tasks = null;
LinkedHashMap<Long, Vector<TestRunTask>> packages_tasks = null;
//--
@Override
public String getIconPath() {
@@ -53,36 +53,50 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
book = null;
sheet = null;
styles = null;
tasks = null;
packages_tasks = new LinkedHashMap<>();
target = null;
//--
if (Current.Check(Log, Current.TasksPackage)) {
target = Current.getTasksPackage();
if (!target.state.equals(TasksPackageState.Done)) {
Log.Writeln_("Можно получить таблицу только завершенного пакета.");
return false;
if (Global.testingServer.account_db.packages.getCheckedCount() > 0) {
target = Global.testingServer.account_db.packages.getCheckedItems();
} else {
//---
tasks = new Vector<>();
if (Current.Check(Log, Current.TasksPackage)) {
target = new Vector<>();
target.add(Current.getTasksPackage());
} else return false;
}
for (TasksPackage tasksPackage : target) {
if (!tasksPackage.state.equals(TasksPackageState.Done)) {
Log.Writeln_("Пакет " + tasksPackage.id + " не завершен.");
} else {
Vector<TestRunTask> tasks = new Vector<>();
for (TestRunTask task : Global.testingServer.account_db.testRunTasks.Data.values()) {
if ((task.taskspackage_id == target.id) && (task.isVisible()))
if (task.taskspackage_id == tasksPackage.id)
tasks.add(task);
}
if (tasks.isEmpty()) {
Log.Writeln_("Не найдено ни одной видимой задачи.");
return false;
packages_tasks.put(tasksPackage.id, tasks);
}
//---
}
if (!Log.isEmpty())
return false;
/*
for (TasksPackage tasksPackage: target){
System.out.println(tasksPackage.id);
Vector<TestRunTask> tasks = packages_tasks.get(tasksPackage.id);
System.out.println(tasks.size());
for (TestRunTask task: tasks)
System.out.println(task.id);
}
System.out.println("======");
*/
dir = directoryChooser.ShowDialog();
if (dir == null) {
Log.Writeln_("Папка не выбрана.");
return false;
}
res = new File(dir, Utils.getDateName("package_" + target.id) + ".xls");
res = new File(dir, Utils.getDateName("packages") + ".xls");
return true;
}
}
return false;
}
//---
static String getPackageInfo(TasksPackage object) {
Vector<String> lines = new Vector<>();
@@ -268,12 +282,12 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
//--
offset.Inc();
//--
Vector<TestRunTask> tasks = packages_tasks.get(tasksPackage.id);
for (TestRunTask task : tasks) {
ShowMessage2(task.test_description);
//---
Integer NUM_THREADS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_THREADS");
if (NUM_THREADS == 0)
NUM_THREADS = 1;
if (NUM_THREADS !=null && NUM_THREADS ==0) NUM_THREADS = 1;
Integer NUM_CUDAS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_CUDAS");
//--
Object num_threads = (NUM_THREADS != null) ? NUM_THREADS : "undef";
@@ -311,8 +325,10 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
createStyles();
//--
Index offset = new Index();
exportPackage(target, offset);
// exportPackage(target, offset);
for (TasksPackage tasksPackage : target) {
exportPackage(tasksPackage, offset);
// UI.Info(String.valueOf(tasksPackage.id));
}
//--
for (int i = 0; i < max_columns; ++i)
sheet.autoSizeColumn(i);