OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

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

Rev 182 Rev 185
Line 25... Line 25...
25
import org.openconcerto.erp.model.MouseSheetXmlListeListener;
25
import org.openconcerto.erp.model.MouseSheetXmlListeListener;
26
import org.openconcerto.sql.Configuration;
26
import org.openconcerto.sql.Configuration;
27
import org.openconcerto.sql.element.SQLElement;
27
import org.openconcerto.sql.element.SQLElement;
28
import org.openconcerto.sql.element.SQLElementDirectory;
28
import org.openconcerto.sql.element.SQLElementDirectory;
29
import org.openconcerto.sql.model.AliasedTable;
29
import org.openconcerto.sql.model.AliasedTable;
30
import org.openconcerto.sql.model.SQLDataSource;
-
 
31
import org.openconcerto.sql.model.SQLField;
30
import org.openconcerto.sql.model.SQLField;
32
import org.openconcerto.sql.model.SQLFieldsSet;
31
import org.openconcerto.sql.model.SQLFieldsSet;
33
import org.openconcerto.sql.model.SQLRow;
32
import org.openconcerto.sql.model.SQLRow;
34
import org.openconcerto.sql.model.SQLRowAccessor;
33
import org.openconcerto.sql.model.SQLRowAccessor;
35
import org.openconcerto.sql.model.SQLRowListRSH;
34
import org.openconcerto.sql.model.SQLRowListRSH;
Line 72... Line 71...
72
import java.util.ArrayList;
71
import java.util.ArrayList;
73
import java.util.Collections;
72
import java.util.Collections;
74
import java.util.HashMap;
73
import java.util.HashMap;
75
import java.util.List;
74
import java.util.List;
76
import java.util.Map;
75
import java.util.Map;
77
import java.util.Random;
-
 
78
import java.util.Set;
76
import java.util.Set;
79
import java.util.Vector;
77
import java.util.Vector;
80
 
78
 
81
import javax.swing.AbstractAction;
79
import javax.swing.AbstractAction;
82
import javax.swing.BorderFactory;
80
import javax.swing.BorderFactory;
Line 107... Line 105...
107
 
105
 
108
    private Map<SQLTable, SQLField> listFieldMap = new HashMap<SQLTable, SQLField>();
106
    private Map<SQLTable, SQLField> listFieldMap = new HashMap<SQLTable, SQLField>();
109
    private Map<String, Where> whereList = new HashMap<String, Where>();
107
    private Map<String, Where> whereList = new HashMap<String, Where>();
110
    private static Map<SQLElement, Class<? extends AbstractSheetXml>> elementSheet = new HashMap<SQLElement, Class<? extends AbstractSheetXml>>();
108
    private static Map<SQLElement, Class<? extends AbstractSheetXml>> elementSheet = new HashMap<SQLElement, Class<? extends AbstractSheetXml>>();
111
    private String undefinedLabel;
109
    private String undefinedLabel;
-
 
110
    private static final String REF_WHERE = "Historique";
112
 
111
 
113
    static {
112
    static {
114
        SQLElementDirectory dir = Configuration.getInstance().getDirectory();
113
        SQLElementDirectory dir = Configuration.getInstance().getDirectory();
115
        elementSheet.put(dir.getElement("SAISIE_VENTE_FACTURE_ELEMENT"), VenteFactureElementXmlSheet.class);
114
        elementSheet.put(dir.getElement("SAISIE_VENTE_FACTURE_ELEMENT"), VenteFactureElementXmlSheet.class);
116
    }
115
    }
Line 158... Line 157...
158
                if (id > 1) {
157
                if (id > 1) {
159
                    if (ListeHistoriquePanel.this.listFieldMap != null && ListeHistoriquePanel.this.listFieldMap.get(table) != null) {
158
                    if (ListeHistoriquePanel.this.listFieldMap != null && ListeHistoriquePanel.this.listFieldMap.get(table) != null) {
160
                        SQLField field = ListeHistoriquePanel.this.listFieldMap.get(table);
159
                        SQLField field = ListeHistoriquePanel.this.listFieldMap.get(table);
161
                        Where w2 = new Where(field, "=", table.getForeignTable(field.getName()).getKey());
160
                        Where w2 = new Where(field, "=", table.getForeignTable(field.getName()).getKey());
162
                        w2 = w2.and(new Where(table.getForeignTable(field.getName()).getField("ID_" + ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName()), "=", id));
161
                        w2 = w2.and(new Where(table.getForeignTable(field.getName()).getField("ID_" + ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName()), "=", id));
163
                        liste.getListe().getRequest().setWhere(w2.and(w));
162
                        liste.getListe().getRequest().putWhere(REF_WHERE, w2.and(w));
164
                    } else {
163
                    } else {
165
                        if (liste.getElement().getTable().equals(ListeHistoriquePanel.this.jListePanel.getModel().getTable())) {
164
                        if (liste.getElement().getTable().equals(ListeHistoriquePanel.this.jListePanel.getModel().getTable())) {
166
                            final Where whereMatch = new Where(table.getField("ID_" + ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName()), "=", id);
165
                            final Where whereMatch = new Where(table.getField("ID_" + ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName()), "=", id);
167
                            if ((table.getName().equals("COMMANDE_ELEMENT") || table.getName().equals("BON_RECEPTION_ELEMENT"))
166
                            if ((table.getName().equals("COMMANDE_ELEMENT") || table.getName().equals("BON_RECEPTION_ELEMENT"))
168
                                    && ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName().equals("AFFAIRE")) {
167
                                    && ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName().equals("AFFAIRE")) {
Line 171... Line 170...
171
                                // selectTransformer
170
                                // selectTransformer
172
                                final String tablePere = table.getName().replaceAll("_ELEMENT", "");
171
                                final String tablePere = table.getName().replaceAll("_ELEMENT", "");
173
                                AliasedTable tableAlias = new AliasedTable(table.getTable(tablePere), "tAlias__ID_" + tablePere + "__" + tablePere);
172
                                AliasedTable tableAlias = new AliasedTable(table.getTable(tablePere), "tAlias__ID_" + tablePere + "__" + tablePere);
174
                                final int idAffaire = id;
173
                                final int idAffaire = id;
175
                                Where wPere = new Where(tableAlias.getField("ID_AFFAIRE"), "=", idAffaire);
174
                                Where wPere = new Where(tableAlias.getField("ID_AFFAIRE"), "=", idAffaire);
176
                                liste.getListe().getRequest().setWhere(whereMatch.or(wPere).and(w));
175
                                liste.getListe().getRequest().putWhere(REF_WHERE, whereMatch.or(wPere).and(w));
177
                                // whereMatch = whereMatch.or(new Where(new
176
                                // whereMatch = whereMatch.or(new Where(new
178
                                // AliasedTable(table.getForeignTable("ID_"+tablePere),
177
                                // AliasedTable(table.getForeignTable("ID_"+tablePere),
179
                                // alias).getField("ID_AFFAIRE"), "=", id));
178
                                // alias).getField("ID_AFFAIRE"), "=", id));
180
 
179
 
181
                            } else {
180
                            } else {
182
                                liste.getListe().getRequest().setWhere(whereMatch.and(w));
181
                                liste.getListe().getRequest().putWhere(REF_WHERE, whereMatch.and(w));
183
                            }
182
                            }
184
                        } else {
183
                        } else {
185
                            if ((table.getName().equals("MOUVEMENT_STOCK")) && ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName().equals("AFFAIRE")) {
184
                            if ((table.getName().equals("MOUVEMENT_STOCK")) && ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName().equals("AFFAIRE")) {
186
 
185
 
187
                                final String tableStock = "STOCK";
186
                                final String tableStock = "STOCK";
188
                                AliasedTable tableAlias = new AliasedTable(table.getTable(tableStock), "tAlias__ID_" + tableStock + "__" + tableStock);
187
                                AliasedTable tableAlias = new AliasedTable(table.getTable(tableStock), "tAlias__ID_" + tableStock + "__" + tableStock);
189
                                final int idAffaire = table.getTable("AFFAIRE").getRow(id).getForeignID("ID_DEPOT_STOCK");
188
                                final int idAffaire = table.getTable("AFFAIRE").getRow(id).getForeignID("ID_DEPOT_STOCK");
190
                                Where w2 = new Where(table.getField("REEL"), "=", Boolean.TRUE);
189
                                Where w2 = new Where(table.getField("REEL"), "=", Boolean.TRUE);
191
                                w2 = w2.and(new Where(table.getField("SOURCE"), "=", ""));
190
                                w2 = w2.and(new Where(table.getField("SOURCE"), "=", ""));
192
                                Where wPere = new Where(tableAlias.getField("ID_DEPOT_STOCK"), "=", idAffaire).and(w2);
191
                                Where wPere = new Where(tableAlias.getField("ID_DEPOT_STOCK"), "=", idAffaire).and(w2);
193
                                liste.getListe().getRequest().setWhere(wPere);
192
                                liste.getListe().getRequest().putWhere(REF_WHERE, wPere);
194
 
193
 
195
                            } else {
194
                            } else {
196
                                final Where whereMatch = new Where(table.getField("ID_" + ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName()), "=", id);
195
                                final Where whereMatch = new Where(table.getField("ID_" + ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName()), "=", id);
197
                                if ((table.getName().equals("FACTURE_FOURNISSEUR_ELEMENT") || table.getName().equals("COMMANDE_ELEMENT") || table.getName().equals("BON_RECEPTION_ELEMENT"))
196
                                if ((table.getName().equals("FACTURE_FOURNISSEUR_ELEMENT") || table.getName().equals("COMMANDE_ELEMENT") || table.getName().equals("BON_RECEPTION_ELEMENT"))
198
                                        && ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName().equals("AFFAIRE")) {
197
                                        && ListeHistoriquePanel.this.jListePanel.getModel().getTable().getName().equals("AFFAIRE")) {
Line 201... Line 200...
201
                                    // selectTransformer
200
                                    // selectTransformer
202
                                    final String tablePere = table.getName().replaceAll("_ELEMENT", "");
201
                                    final String tablePere = table.getName().replaceAll("_ELEMENT", "");
203
                                    AliasedTable tableAlias = new AliasedTable(table.getTable(tablePere), "tAlias__ID_" + tablePere + "__" + tablePere);
202
                                    AliasedTable tableAlias = new AliasedTable(table.getTable(tablePere), "tAlias__ID_" + tablePere + "__" + tablePere);
204
                                    final int idAffaire = id;
203
                                    final int idAffaire = id;
205
                                    Where wPere = new Where(tableAlias.getField("ID_AFFAIRE"), "=", idAffaire);
204
                                    Where wPere = new Where(tableAlias.getField("ID_AFFAIRE"), "=", idAffaire);
206
                                    liste.getListe().getRequest().setWhere(whereMatch.or(wPere).and(w).and(new Where(table.getField("PA_HT"), "!=", BigDecimal.ZERO)));
205
                                    liste.getListe().getRequest().putWhere(REF_WHERE, whereMatch.or(wPere).and(w).and(new Where(table.getField("PA_HT"), "!=", BigDecimal.ZERO)));
207
 
206
 
208
                                } else {
207
                                } else {
209
                                    liste.getListe().getRequest().setWhere(whereMatch.and(w));
208
                                    liste.getListe().getRequest().putWhere(REF_WHERE, whereMatch.and(w));
210
                                }
209
                                }
211
                            }
210
                            }
212
                        }
211
                        }
213
                    }
212
                    }
214
                } else {
213
                } else {
215
                    liste.getListe().getRequest().setWhere(w);
214
                    liste.getListe().getRequest().putWhere(REF_WHERE, w);
216
                }
215
                }
217
                liste.getListe().getModel().setCellsEditable(false);
216
                liste.getListe().getModel().setCellsEditable(false);
218
                // Set renderer
217
                // Set renderer
219
                setRenderer(liste);
218
                setRenderer(liste);
220
 
219
 
Line 357... Line 356...
357
                            });
356
                            });
358
                            // request.setWhere(where);
357
                            // request.setWhere(where);
359
                        }
358
                        }
360
                    }
359
                    }
361
                    // Evite de charger les listes completes à la création de la fenetre
360
                    // Evite de charger les listes completes à la création de la fenetre
362
                    request.setWhere(Where.FALSE);
361
                    request.putWhere(REF_WHERE, Where.FALSE);
363
 
362
 
364
                    if (elt.getTable().contains("ID_MOUVEMENT")) {
363
                    if (elt.getTable().contains("ID_MOUVEMENT")) {
365
 
364
 
366
                        liste = new ListeGestCommEltPanel(elt, new IListe(createTableSource), "historique-" + title) {
365
                        liste = new ListeGestCommEltPanel(elt, new IListe(createTableSource), "historique-" + title) {
367
 
366