экспорт нескольких файлов.
This commit is contained in:
@@ -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,35 +53,49 @@ 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 {
|
||||
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 {
|
||||
//---
|
||||
tasks = new Vector<>();
|
||||
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;
|
||||
}
|
||||
//---
|
||||
dir = directoryChooser.ShowDialog();
|
||||
if (dir == null) {
|
||||
Log.Writeln_("Папка не выбрана.");
|
||||
return false;
|
||||
}
|
||||
res = new File(dir, Utils.getDateName("package_" + target.id) + ".xls");
|
||||
return true;
|
||||
packages_tasks.put(tasksPackage.id, tasks);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
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("packages") + ".xls");
|
||||
return true;
|
||||
}
|
||||
//---
|
||||
static String getPackageInfo(TasksPackage object) {
|
||||
@@ -107,7 +121,7 @@ public class ExportTasksPackageToExcel extends Pass_2021<TasksPackage> {
|
||||
cell.setCellStyle(styles.get(0));
|
||||
//https://translated.turbopages.org/proxy_u/en-ru.ru.f85b6508-657377d3-df23bc2d-74722d776562/https/stackoverflow.com/questions/23533381/creating-the-border-for-the-merged-cells-in-poi
|
||||
sheet.addMergedRegion(new CellRangeAddress(row_num, row_num, 0, max_columns - 1));
|
||||
for (int i=1; i< max_columns;++i){
|
||||
for (int i = 1; i < max_columns; ++i) {
|
||||
Cell blankCell = row.createCell(i);
|
||||
blankCell.setCellStyle(styles.get(0));
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user