LiquidityEntryListForm.javaPaquetage : org.projectforge.plugins.liquidityplanning
Classes : LiquidityEntryListForm
Étend : AbstractListForm
Méthodes (14) : getStats, init, getObject, isVisible, getObject, getObject, getObject, getObject, onOptionsPanelCreate, onUpdate, onUpdate, newSearchFilterInstance, getLogger, getBaseDateProperties
Champs (1) : serialVersionUID
Importations : 16 paquetages
package org.projectforge.plugins.liquidityplanning;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.projectforge.business.fibu.AmountType;
import org.projectforge.business.fibu.PaymentStatus;
import org.projectforge.business.utils.CurrencyFormatter;
import org.projectforge.framework.time.PFDay;
import org.projectforge.web.wicket.AbstractListForm;
import org.projectforge.web.wicket.WebConstants;
import org.projectforge.web.wicket.components.LabelValueChoiceRenderer;
import org.projectforge.web.wicket.components.LocalDateModel;
import org.projectforge.web.wicket.components.LocalDatePanel;
import org.projectforge.web.wicket.flowlayout.*;
import org.slf4j.Logger;
import java.time.LocalDate;
/**
* Le formulaire de liste pour la vue liste (cet exemple n'a pas de paramètres de filtre). Voir ToDoListPage pour
* un exemple d'utilisation des paramètres de filtre.
*
* @author Kai Reinhard (k.reinhard@micromata.de)
*/
public class LiquidityEntryListForm extends AbstractListForm<LiquidityFilter, LiquidityEntryListPage> {
private static final long serialVersionUID = 2040255193023406307L;
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LiquidityEntryListForm.class);
public LiquidityEntryListForm(final LiquidityEntryListPage parentPage) {
super(parentPage);
}
private LiquidityEntriesStatistics getStats() {
return parentPage.getStatistics();
}
@SuppressWarnings("serial")
@Override
protected void init() {
super.init();
gridBuilder.newGridPanel();
{
final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.liquidityplanning.forecast.baseDate"));
final FieldProperties<LocalDate> props = getBaseDateProperties();
LocalDatePanel baseDatePanel = new LocalDatePanel(fs.newChildId(), new LocalDateModel(props.getModel()));
baseDatePanel.setRequired(false);
fs.add(baseDatePanel);
fs.addHelpIcon(getString("plugins.liquidityplanning.forecast.baseDate.tooltip"));
}
gridBuilder.newGridPanel();
{
// Statistiques
final FieldsetPanel fs = gridBuilder.newFieldset(getString("statistics")).suppressLabelForWarning();
fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject() {
return "*** " + getString("plugins.liquidityplanning.forecast.baseDate") + " : " + PFDay.fromOrNow(getSearchFilter().getBaseDate()).format() + " ***"
+ WebConstants.HTML_TEXT_DIVIDER;
}
}, TextStyle.RED) {
@Override
public boolean isVisible() {
final LocalDate baseDate = getSearchFilter().getBaseDate();
return baseDate != null && baseDate.isBefore(LocalDate.now());
}
});
fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject() {
return getString("fibu.rechnung.status.bezahlt")
+ " : "
+ CurrencyFormatter.format(getStats().getPaid())
+ WebConstants.HTML_TEXT_DIVIDER;
}
}));
fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject() {
return getString("totalSum") + " : " + CurrencyFormatter.format(getStats().getTotal())
+ WebConstants.HTML_TEXT_DIVIDER;
}
}));
fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject() {
return getString("fibu.rechnung.offen") + " : " + CurrencyFormatter.format(getStats().getOpen())
+ WebConstants.HTML_TEXT_DIVIDER;
}
}, TextStyle.BLUE));
fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject() {
return getString("fibu.rechnung.filter.ueberfaellig") + " : "
+ CurrencyFormatter.format(getStats().getOverdue());
}
}, TextStyle.RED));
}
}
/**
* @see org.projectforge.web.wicket.AbstractListForm#onOptionsPanelCreate(org.projectforge.web.wicket.flowlayout.FieldsetPanel,
* org.projectforge.web.wicket.flowlayout.DivPanel)
*/
@SuppressWarnings("serial")
@Override
protected void onOptionsPanelCreate(final FieldsetPanel optionsFieldsetPanel, final DivPanel optionsCheckBoxesPanel) {
// DropDownChoice jours suivants
final LabelValueChoiceRenderer<Integer> nextDaysRenderer = new LabelValueChoiceRenderer<>();
nextDaysRenderer.addValue(0, getString("filter.all"));
nextDaysRenderer.addValue(7, getLocalizedMessage("search.nextDays", 7));
nextDaysRenderer.addValue(10, getLocalizedMessage("search.nextDays", 10));
nextDaysRenderer.addValue(14, getLocalizedMessage("search.nextDays", 14));
nextDaysRenderer.addValue(30, getLocalizedMessage("search.nextDays", 30));
nextDaysRenderer.addValue(60, getLocalizedMessage("search.nextDays", 60));
nextDaysRenderer.addValue(90, getLocalizedMessage("search.nextDays", 90));
final DropDownChoice<Integer> nextDaysChoice = new DropDownChoice<>(
// ... (tronqué, total 172 lignes)
868d6abb7 2025 -> 2026 63081666f En-têtes des fichiers source : 2024 -> 2025. b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 4548710df WIP : migration.