Dépôt officiel du code source de l'ERP OpenConcerto
/trunk/OpenConcerto/src/org/openconcerto/erp/core/supplychain/order/action/ListeDesElementsACommanderAction.java |
---|
13,74 → 13,39 |
package org.openconcerto.erp.core.supplychain.order.action; |
import org.openconcerto.erp.action.CreateFrameAbstractAction; |
import org.openconcerto.erp.action.CreateIListFrameAbstractAction; |
import org.openconcerto.erp.config.ComptaPropsConfiguration; |
import org.openconcerto.erp.core.common.ui.IListFilterDatePanel; |
import org.openconcerto.erp.core.common.ui.ListeViewPanel; |
import org.openconcerto.sql.Configuration; |
import org.openconcerto.erp.core.supplychain.order.element.CommandeElementSQLElement; |
import org.openconcerto.sql.element.SQLElement; |
import org.openconcerto.sql.model.FieldPath; |
import org.openconcerto.sql.model.FieldRef; |
import org.openconcerto.sql.model.SQLName; |
import org.openconcerto.sql.model.SQLRowAccessor; |
import org.openconcerto.sql.model.SQLSelect; |
import org.openconcerto.sql.model.SQLSelectJoin; |
import org.openconcerto.sql.model.Where; |
import org.openconcerto.sql.model.graph.Path; |
import org.openconcerto.sql.view.IListFrame; |
import org.openconcerto.sql.view.ListeAddPanel; |
import org.openconcerto.sql.view.list.BaseSQLTableModelColumn; |
import org.openconcerto.sql.view.list.IListe; |
import org.openconcerto.sql.view.list.IListeAction.IListeEvent; |
import org.openconcerto.sql.view.list.RowAction.PredicateRowAction; |
import org.openconcerto.sql.view.list.SQLTableModelSourceOnline; |
import org.openconcerto.sql.view.IListPanel; |
import org.openconcerto.sql.view.list.SQLTableModelSource; |
import org.openconcerto.ui.DefaultGridBagConstraints; |
import org.openconcerto.ui.FrameUtil; |
import org.openconcerto.ui.state.WindowStateManager; |
import org.openconcerto.utils.CollectionUtils; |
import org.openconcerto.utils.DecimalUtils; |
import org.openconcerto.utils.cc.ITransformer; |
import java.awt.GridBagConstraints; |
import java.awt.GridBagLayout; |
import java.awt.event.ActionEvent; |
import java.io.File; |
import java.math.BigDecimal; |
import java.math.RoundingMode; |
import java.util.Arrays; |
import java.util.Collection; |
import java.util.Set; |
import javax.swing.AbstractAction; |
import javax.swing.Action; |
import javax.swing.JFrame; |
import javax.swing.JPanel; |
public class ListeDesElementsACommanderAction extends CreateFrameAbstractAction { |
public class ListeDesElementsACommanderAction extends CreateIListFrameAbstractAction<CommandeElementSQLElement> { |
public ListeDesElementsACommanderAction() { |
super(); |
this.putValue(Action.NAME, "Liste des éléments en attente de réception"); |
public ListeDesElementsACommanderAction(final ComptaPropsConfiguration conf) { |
super(conf, CommandeElementSQLElement.class); |
} |
private BaseSQLTableModelColumn colAvancement; |
public JFrame createFrame() { |
final JFrame frame = new JFrame("Eléments à réceptionner"); |
// Actions |
final SQLElement eltCmd = Configuration.getInstance().getDirectory().getElement("COMMANDE_ELEMENT"); |
final JPanel orderPanel = createPanel(); |
frame.getContentPane().add(orderPanel); |
FrameUtil.setBounds(frame); |
final File file = IListFrame.getConfigFile(eltCmd, frame.getClass()); |
if (file != null) |
new WindowStateManager(frame, file).loadState(); |
return frame; |
@Override |
protected String getPanelVariant() { |
return this.getClass().getSimpleName(); |
} |
JPanel createPanel() { |
final SQLElement eltCmd = Configuration.getInstance().getDirectory().getElement("COMMANDE_ELEMENT"); |
final SQLTableModelSourceOnline tableSource = eltCmd.getTableSource(true); |
@Override |
protected SQLTableModelSource createTableSource() { |
final SQLTableModelSource tableSource = super.createTableSource(); |
final SQLElement eltCmd = getElem(); |
tableSource.getReq().setSelectTransf(new ITransformer<SQLSelect, SQLSelect>() { |
@Override |
92,19 → 57,18 |
final String quoteQteU = new SQLName(input.getAlias(eltCmd.getTable()).getAlias(), "QTE_UNITAIRE").quote(); |
Where w = Where.createRaw(quoteQteL + " < (" + quoteQte + "*" + quoteQteU + ")", eltCmd.getTable().getField("QTE_RECUE"), eltCmd.getTable().getField("QTE"), |
eltCmd.getTable().getField("QTE_UNITAIRE")); |
w = w.and(new Where(eltCmd.getTable().getField("RECU_FORCED"), "=", Boolean.FALSE)); |
input.setWhere(w); |
return input; |
} |
}); |
final ListeAddPanel panel = getPanel(eltCmd, tableSource); |
return panel; |
return tableSource; |
} |
private ListeAddPanel getPanel(final SQLElement eltCmd, final SQLTableModelSourceOnline tableSource) { |
final ListeAddPanel panel = new ListeAddPanel(eltCmd, new IListe(tableSource)); |
@Override |
protected IListPanel instantiateListPanel(final SQLTableModelSource tableSource, String panelVariant) { |
final IListPanel panel = super.instantiateListPanel(tableSource, panelVariant); |
// final List<Tuple2<? extends SQLTableModelColumn, IListTotalPanel.Type>> fields = new |
// ArrayList<Tuple2<? extends SQLTableModelColumn, IListTotalPanel.Type>>(2); |
// fields.add(Tuple2.create(panel.getListe().getSource().getColumn(eltCmd.getTable().getField("T_HT")), |
121,7 → 85,7 |
c.gridy = 4; |
// Date panel |
final IListFilterDatePanel datePanel = new IListFilterDatePanel(panel.getListe(), eltCmd.getTable().getForeignTable("ID_COMMANDE").getField("DATE"), IListFilterDatePanel.getDefaultMap()); |
final IListFilterDatePanel datePanel = new IListFilterDatePanel(panel.getListe(), getElem().getTable().getForeignTable("ID_COMMANDE").getField("DATE"), IListFilterDatePanel.getDefaultMap()); |
datePanel.setFilterOnDefault(); |