Фильтры у групп, и тестов изменены на фильтры по ИЛИ. Отдельные виды фильтров ( например язык тестов и тип тестов, все еще взаимодействут по И)

Добавлена возможность экспорта соответствующих фильтрам задач пакета DVM в Excel.

v++
This commit is contained in:
2023-12-07 02:05:08 +03:00
parent 540c041408
commit 2044ff4320
7 changed files with 92 additions and 42 deletions

View File

@@ -1,6 +1,7 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Files.VDirectoryChooser;
import Common.Utils.Utils;
import TestingSystem.DVM.Tasks.TestRunTask;
@@ -9,8 +10,10 @@ import TestingSystem.DVM.TasksPackage.TasksPackageState;
import Visual_DVM_2021.Passes.Pass_2021;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.*;
import java.awt.*;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Vector;
@@ -25,7 +28,9 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
CellStyle regular_style;
Workbook book = null;
Sheet sheet = null;
//---
//--
Vector<TestRunTask> tasks = null;
//--
@Override
public String getIconPath() {
return "/icons/Excel.png";
@@ -36,10 +41,11 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
}
@Override
protected boolean canStart(Object... args) throws Exception {
book= null;
book = null;
sheet = null;
header_style=null;
regular_style=null;
header_style = null;
regular_style = null;
tasks = null;
//--
if (Current.Check(Log, Current.TasksPackage)) {
target = Current.getTasksPackage();
@@ -47,6 +53,17 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
Log.Writeln_("Можно получить таблицу только завершенного пакета.");
return false;
} else {
//---
tasks = new Vector<>();
for (TestRunTask task : Global.testingServer.account_db.testRunTasks.Data.values()) {
if ((task.taskspackage_id == target.id) && (task.isVisible()))
tasks.add(task);
}
if (tasks.isEmpty()) {
Log.Writeln_("Не найдено ни одной видимой задачи.");
return false;
}
//---
dir = directoryChooser.ShowDialog();
if (dir == null) {
Log.Writeln_("Папка не выбрана.");
@@ -64,7 +81,7 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
for (Object value : values) {
Cell cell = row.createCell(i);
cell.setCellValue(value.toString());
cell.setCellStyle(isHeader? header_style:regular_style);
cell.setCellStyle(isHeader ? header_style : regular_style);
//--
++i;
}
@@ -87,7 +104,7 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
header_style.setBorderRight(CellStyle.BORDER_THICK);
header_style.setBorderTop(CellStyle.BORDER_THICK);
//--
regular_style=book.createCellStyle();
regular_style = book.createCellStyle();
regular_style.setBorderBottom(CellStyle.BORDER_THIN);
regular_style.setBorderLeft(CellStyle.BORDER_THIN);
regular_style.setBorderRight(CellStyle.BORDER_THIN);
@@ -108,12 +125,6 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
"Чистое время (с)",
"Прогресс (%)");
//--
Vector<TestRunTask> tasks = new Vector<>();
for (TestRunTask task : Global.testingServer.account_db.testRunTasks.Data.values()) {
if ((task.taskspackage_id == target.id) && (task.isVisible()))
tasks.add(task);
}
//--
int i = 1;
for (TestRunTask task : tasks) {
Row row = addRow(i, false,
@@ -147,4 +158,14 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
stream = null;
file = null;
}
@Override
protected void performDone() throws Exception {
super.performDone();
if (Desktop.isDesktopSupported()) {
if (UI.Question("Таблица сформирована в файле\n" + Utils.DQuotes(res.getAbsolutePath()) + ".\nОткрыть её"
)) {
Desktop.getDesktop().open(res);
}
}
}
}