Line 25... |
Line 25... |
25 |
import org.openconcerto.sql.element.UISQLComponent;
|
25 |
import org.openconcerto.sql.element.UISQLComponent;
|
26 |
import org.openconcerto.sql.model.FieldPath;
|
26 |
import org.openconcerto.sql.model.FieldPath;
|
27 |
import org.openconcerto.sql.model.SQLRow;
|
27 |
import org.openconcerto.sql.model.SQLRow;
|
28 |
import org.openconcerto.sql.model.SQLRowAccessor;
|
28 |
import org.openconcerto.sql.model.SQLRowAccessor;
|
29 |
import org.openconcerto.sql.model.SQLRowValues;
|
29 |
import org.openconcerto.sql.model.SQLRowValues;
|
- |
|
30 |
import org.openconcerto.sql.model.SQLTable;
|
30 |
import org.openconcerto.sql.model.graph.Path;
|
31 |
import org.openconcerto.sql.model.graph.Path;
|
31 |
import org.openconcerto.sql.view.EditFrame;
|
32 |
import org.openconcerto.sql.view.EditFrame;
|
32 |
import org.openconcerto.sql.view.EditPanelListener;
|
33 |
import org.openconcerto.sql.view.EditPanelListener;
|
33 |
import org.openconcerto.sql.view.list.BaseSQLTableModelColumn;
|
34 |
import org.openconcerto.sql.view.list.BaseSQLTableModelColumn;
|
34 |
import org.openconcerto.sql.view.list.IListe;
|
35 |
import org.openconcerto.sql.view.list.IListe;
|
Line 41... |
Line 42... |
41 |
import java.awt.event.ActionEvent;
|
42 |
import java.awt.event.ActionEvent;
|
42 |
import java.math.BigDecimal;
|
43 |
import java.math.BigDecimal;
|
43 |
import java.sql.SQLException;
|
44 |
import java.sql.SQLException;
|
44 |
import java.util.ArrayList;
|
45 |
import java.util.ArrayList;
|
45 |
import java.util.Arrays;
|
46 |
import java.util.Arrays;
|
- |
|
47 |
import java.util.Collection;
|
46 |
import java.util.HashSet;
|
48 |
import java.util.HashSet;
|
47 |
import java.util.List;
|
49 |
import java.util.List;
|
48 |
import java.util.Set;
|
50 |
import java.util.Set;
|
49 |
|
51 |
|
50 |
import javax.swing.AbstractAction;
|
52 |
import javax.swing.AbstractAction;
|
Line 115... |
Line 117... |
115 |
|
117 |
|
116 |
@Override
|
118 |
@Override
|
117 |
public void inserted(int id) {
|
119 |
public void inserted(int id) {
|
118 |
try {
|
120 |
try {
|
119 |
sel.createEmptyUpdateRow().put("ID_SAISIE_VENTE_FACTURE", id).commit();
|
121 |
sel.createEmptyUpdateRow().put("ID_SAISIE_VENTE_FACTURE", id).commit();
|
- |
|
122 |
SQLTable tableFacture = getForeignElement("ID_SAISIE_VENTE_FACTURE").getTable();
|
- |
|
123 |
SQLRowValues rowValsFact = new SQLRowValues(tableFacture);
|
- |
|
124 |
rowValsFact.put(tableFacture.getKey().getName(), id);
|
- |
|
125 |
rowValsFact.put("ID_FACTURATION_COMMANDE_CLIENT", sel.getID());
|
- |
|
126 |
rowValsFact.commit();
|
120 |
} catch (SQLException e) {
|
127 |
} catch (SQLException e) {
|
121 |
ExceptionHandler.handle("Erreur lors de l'affectation de la facture", e);
|
128 |
ExceptionHandler.handle("Erreur lors de l'affectation de la facture", e);
|
122 |
}
|
129 |
}
|
123 |
}
|
130 |
}
|
124 |
|
131 |
|
Line 221... |
Line 228... |
221 |
@Override
|
228 |
@Override
|
222 |
protected void _initTableSource(SQLTableModelSource res) {
|
229 |
protected void _initTableSource(SQLTableModelSource res) {
|
223 |
res.init();
|
230 |
res.init();
|
224 |
res.getColumn(getTable().getField("POURCENT")).setRenderer(new DeviseTableCellRenderer());
|
231 |
res.getColumn(getTable().getField("POURCENT")).setRenderer(new DeviseTableCellRenderer());
|
225 |
res.getColumn(getTable().getField("TYPE_FACTURE")).setRenderer(new TypeFactureCommandeCellRenderer());
|
232 |
res.getColumn(getTable().getField("TYPE_FACTURE")).setRenderer(new TypeFactureCommandeCellRenderer());
|
226 |
final BaseSQLTableModelColumn pourcentFact = new BaseSQLTableModelColumn("Montant facturé", BigDecimal.class) {
|
233 |
final BaseSQLTableModelColumn pourcentFact = new BaseSQLTableModelColumn("Montant à facturer", BigDecimal.class) {
|
227 |
|
234 |
|
228 |
@Override
|
235 |
@Override
|
229 |
protected Object show_(SQLRowAccessor r) {
|
236 |
protected Object show_(SQLRowAccessor r) {
|
230 |
long ht = r.getForeign("ID_COMMANDE_CLIENT").getLong("T_TTC");
|
237 |
long ht = r.getForeign("ID_COMMANDE_CLIENT").getLong("T_TTC");
|
231 |
BigDecimal percent = r.getBigDecimal("POURCENT");
|
238 |
BigDecimal percent = r.getBigDecimal("POURCENT");
|
Line 239... |
Line 246... |
239 |
return CollectionUtils.createSet(new FieldPath(p, "POURCENT"), new FieldPath(p2, "T_TTC"));
|
246 |
return CollectionUtils.createSet(new FieldPath(p, "POURCENT"), new FieldPath(p2, "T_TTC"));
|
240 |
}
|
247 |
}
|
241 |
};
|
248 |
};
|
242 |
pourcentFact.setRenderer(new DeviseTableCellRenderer());
|
249 |
pourcentFact.setRenderer(new DeviseTableCellRenderer());
|
243 |
res.getColumns().add(pourcentFact);
|
250 |
res.getColumns().add(pourcentFact);
|
- |
|
251 |
|
- |
|
252 |
final BaseSQLTableModelColumn montantFact = new BaseSQLTableModelColumn("Montant facturé", BigDecimal.class) {
|
- |
|
253 |
|
- |
|
254 |
@Override
|
- |
|
255 |
protected Object show_(SQLRowAccessor r) {
|
- |
|
256 |
Collection<? extends SQLRowAccessor> rows = r.getReferentRows(getForeignElement("ID_SAISIE_VENTE_FACTURE").getTable());
|
- |
|
257 |
long ht = 0;
|
- |
|
258 |
for (SQLRowAccessor sqlRowAccessor : rows) {
|
- |
|
259 |
ht += sqlRowAccessor.getLong("T_TTC");
|
- |
|
260 |
}
|
- |
|
261 |
|
- |
|
262 |
return new BigDecimal(ht).movePointLeft(2);
|
- |
|
263 |
}
|
- |
|
264 |
|
- |
|
265 |
@Override
|
- |
|
266 |
public Set<FieldPath> getPaths() {
|
- |
|
267 |
Path p = new Path(getTable());
|
- |
|
268 |
Path p2 = p.add(p.getFirst().getField("ID_COMMANDE_CLIENT"));
|
- |
|
269 |
Path p3 = new Path(getTable());
|
- |
|
270 |
p3 = p3.add(getTable().getForeignTable("ID_SAISIE_VENTE_FACTURE").getField("ID_FACTURATION_COMMANDE_CLIENT"));
|
- |
|
271 |
return CollectionUtils.createSet(new FieldPath(p, "POURCENT"), new FieldPath(p2, "T_TTC"), new FieldPath(p3, "T_TTC"), new FieldPath(p2, "T_HT"), new FieldPath(p3, "T_HT"));
|
- |
|
272 |
}
|
- |
|
273 |
};
|
- |
|
274 |
montantFact.setRenderer(new DeviseTableCellRenderer());
|
- |
|
275 |
res.getColumns().add(montantFact);
|
244 |
super._initTableSource(res);
|
276 |
super._initTableSource(res);
|
245 |
}
|
277 |
}
|
246 |
|
278 |
|
247 |
/*
|
279 |
/*
|
248 |
* (non-Javadoc)
|
280 |
* (non-Javadoc)
|