OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 156 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 156 Rev 180
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)