InvoicesExcelExport.javaPaquete: org.projectforge.business.fibu
Clases: InvoicesExcelExport
Métodos (3): addDebitorInvoicesSheet, addCreditorInvoicesSheet, createColumn
Importaciones: 6 paquetes
package org.projectforge.business.fibu;
import org.projectforge.business.excel.*;
import org.projectforge.common.anots.PropertyInfo;
import org.projectforge.common.props.PropUtils;
import org.projectforge.export.MyExcelExporter;
import java.lang.reflect.Field;
import java.util.Collection;
public class InvoicesExcelExport
{
public InvoicesExcelExport()
{
}
public void addDebitorInvoicesSheet(final MyExcelExporter exporter, final String title, final Collection<RechnungDO> list)
{
final ExportSheet sheet = exporter.addSheet(title);
sheet.createFreezePane(0, 1);
final ContentProvider sheetProvider = sheet.getContentProvider();
final ExportColumn[] cols = new ExportColumn[6];
int i = 0;
cols[i++] = createColumn(exporter, sheet, AbstractRechnungDO.class, "datum");
cols[i++] = createColumn(exporter, sheet, AbstractRechnungDO.class, "faelligkeit");
cols[i] = new I18nExportColumn("gross", "fibu.rechnung.bruttoBetrag", 10);
exporter.putCurrencyFormat(sheetProvider, cols[i++]);
cols[i++] = new I18nExportColumn("number", "fibu.rechnung.nummer", 6);
cols[i++] = new I18nExportColumn("debitor", "fibu.common.debitor", 60);
cols[i++] = new I18nExportColumn("subject", PropUtils.getI18nKey(AbstractRechnungDO.class, "betreff"), 100);
// nombres de propiedades de columna
sheet.setColumns(cols);
final PropertyMapping mapping = new PropertyMapping();
for (final RechnungDO entry : list) {
entry.recalculate();
mapping.add("datum", entry.getDatum());
mapping.add("faelligkeit", entry.getFaelligkeit());
mapping.add("gross", entry.info.getGrossSum());
mapping.add("number", entry.getNummer());
mapping.add("debitor", entry.getKundeAsString());
mapping.add("subject", entry.getBetreff());
sheet.addRow(mapping.getMapping(), 0);
}
}
public void addCreditorInvoicesSheet(final MyExcelExporter exporter, final String title, final Collection<EingangsrechnungDO> list)
{
final ExportSheet sheet = exporter.addSheet(title);
sheet.createFreezePane(0, 1);
final ContentProvider sheetProvider = sheet.getContentProvider();
final ExportColumn[] cols = new ExportColumn[5];
int i = 0;
cols[i++] = createColumn(exporter, sheet, AbstractRechnungDO.class, "datum");
cols[i++] = createColumn(exporter, sheet, AbstractRechnungDO.class, "faelligkeit");
cols[i] = new I18nExportColumn("gross", "fibu.rechnung.bruttoBetrag", 10);
exporter.putCurrencyFormat(sheetProvider, cols[i++]);
cols[i++] = new I18nExportColumn("creditor", "fibu.common.creditor", 60);
cols[i++] = new I18nExportColumn("subject", PropUtils.getI18nKey(AbstractRechnungDO.class, "betreff"), 100);
// nombres de propiedades de columna
sheet.setColumns(cols);
final PropertyMapping mapping = new PropertyMapping();
if (list != null) {
for (final EingangsrechnungDO entry : list) {
entry.recalculate();
mapping.add("datum", entry.getDatum());
mapping.add("faelligkeit", entry.getFaelligkeit());
mapping.add("gross", entry.getInfo().getGrossSum());
mapping.add("creditor", entry.getKreditor());
mapping.add("subject", entry.getBetreff());
sheet.addRow(mapping.getMapping(), 0);
}
}
}
private I18nExportColumn createColumn(final ExcelExporter exporter, final ExportSheet sheet, final Class<?> clazz, final String property)
{
final Field field = PropUtils.getField(clazz, property);
final PropertyInfo propInfo = PropUtils.get(field);
final I18nExportColumn exportColumn = new I18nExportColumn(property, propInfo.i18nKey(), 100);
exporter.putFieldFormat(sheet, field, propInfo, exportColumn);
return exportColumn;
}
}
868d6abb7 2025 -> 2026 63081666f Encabezados de archivos fuente: 2024 -> 2025. b47c21af6 Refactorización de caché y cálculos con facturas (aún no finalizado) b6092df09 Derechos de autor 2023 -> 2024 ab45d51fa Derechos de autor 2001-2022 -> 2001-2023.