OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 177 | Rev 182 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 177 Rev 180
Line 159... Line 159...
159
        if (e.getTable().contains("ID_COMPTE_PCE")) {
159
        if (e.getTable().contains("ID_COMPTE_PCE")) {
160
            list.add(new SQLTableElement(e.getTable().getField("ID_COMPTE_PCE")));
160
            list.add(new SQLTableElement(e.getTable().getField("ID_COMPTE_PCE")));
161
        }
161
        }
162
 
162
 
163
        SQLTableElement tableElementArticle = new SQLTableElement(e.getTable().getField("ID_ARTICLE"), true, true, true) {
163
        SQLTableElement tableElementArticle = new SQLTableElement(e.getTable().getField("ID_ARTICLE"), true, true, true) {
-
 
164
 
164
            @Override
165
            @Override
165
            public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
166
            public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
166
                boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
167
                boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
167
                if (vals.getTable().contains("ID_COMMANDE_ELEMENT")) {
-
 
168
                    boolean noCmdElt = vals.getObject("ID_COMMANDE_ELEMENT") == null || vals.isForeignEmpty("ID_COMMANDE_ELEMENT");
-
 
-
 
168
 
169
                    return b && noCmdElt;
169
                return b && !isFromTranferred(vals);
170
                } else {
-
 
171
                    return b;
-
 
172
                }
-
 
173
 
170
 
174
            }
171
            }
-
 
172
 
175
        };
173
        };
176
        list.add(tableElementArticle);
174
        list.add(tableElementArticle);
177
 
175
 
178
        // Article
176
        // Article
179
        SQLTableElement tableElementDepot = new SQLTableElement(e.getTable().getField("ID_DEPOT_STOCK"), true, true, true);
177
        SQLTableElement tableElementDepot = new SQLTableElement(e.getTable().getField("ID_DEPOT_STOCK"), true, true, true);
Line 205... Line 203...
205
        final SQLTableElement tableElementCode = new SQLTableElement(e.getTable().getField("CODE"), String.class,
203
        final SQLTableElement tableElementCode = new SQLTableElement(e.getTable().getField("CODE"), String.class,
206
                new ITextArticleWithCompletionCellEditor(e.getTable().getTable("ARTICLE"), e.getTable().getTable("ARTICLE_FOURNISSEUR"))) {
204
                new ITextArticleWithCompletionCellEditor(e.getTable().getTable("ARTICLE"), e.getTable().getTable("ARTICLE_FOURNISSEUR"))) {
207
            @Override
205
            @Override
208
            public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
206
            public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
209
                boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
207
                boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
210
                if (vals.getTable().contains("ID_COMMANDE_ELEMENT")) {
-
 
211
                    boolean noCmdElt = vals.getObject("ID_COMMANDE_ELEMENT") == null || vals.isForeignEmpty("ID_COMMANDE_ELEMENT");
-
 
212
                    return b && noCmdElt;
208
                return b && !isFromTranferred(vals);
213
                } else {
-
 
214
                    return b;
-
 
215
                }
-
 
216
 
209
 
217
            }
210
            }
218
        };
211
        };
219
        list.add(tableElementCode);
212
        list.add(tableElementCode);
220
        // Désignation de l'article
213
        // Désignation de l'article
221
        final SQLTableElement tableElementNom = new SQLTableElement(e.getTable().getField("NOM")) {
214
        final SQLTableElement tableElementNom = new SQLTableElement(e.getTable().getField("NOM")) {
222
            @Override
215
            @Override
223
            public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
216
            public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
224
                boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
217
                boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
225
                if (vals.getTable().contains("ID_COMMANDE_ELEMENT")) {
-
 
226
                    boolean noCmdElt = vals.getObject("ID_COMMANDE_ELEMENT") == null || vals.isForeignEmpty("ID_COMMANDE_ELEMENT");
-
 
227
                    return b && noCmdElt;
218
                return b && !isFromTranferred(vals);
228
                } else {
-
 
229
                    return b;
-
 
230
                }
-
 
231
 
219
 
232
            }
220
            }
233
        };
221
        };
234
        list.add(tableElementNom);
222
        list.add(tableElementNom);
235
 
223
 
Line 334... Line 322...
334
            });
322
            });
335
            tableCmdElt.setEditable(false);
323
            tableCmdElt.setEditable(false);
336
            list.add(tableCmdElt);
324
            list.add(tableCmdElt);
337
        }
325
        }
338
 
326
 
-
 
327
        if (e.getTable().contains("ID_BON_RECEPTION_ELEMENT")) {
-
 
328
            SQLTableElement tableBrElt = null;
-
 
329
            tableBrElt = new SQLTableElement(e.getTable().getField("ID_BON_RECEPTION_ELEMENT"));
-
 
330
            tableBrElt.setEditable(false);
-
 
331
            list.add(tableBrElt);
-
 
332
        }
-
 
333
 
339
        if (e.getTable().getFieldsName().contains("QTE_ORIGINE")) {
334
        if (e.getTable().getFieldsName().contains("QTE_ORIGINE")) {
340
            final SQLTableElement tableQteO = new SQLTableElement(e.getTable().getField("QTE_ORIGINE"));
335
            final SQLTableElement tableQteO = new SQLTableElement(e.getTable().getField("QTE_ORIGINE"));
341
            tableQteO.setEditable(false);
336
            tableQteO.setEditable(false);
342
            list.add(tableQteO);
337
            list.add(tableQteO);
343
        }
338
        }
Line 509... Line 504...
509
            DefaultProps props = DefaultNXProps.getInstance();
504
            DefaultProps props = DefaultNXProps.getInstance();
510
            Integer depotDefault = props.getIntProperty("DepotStockDefault", DepotStockSQLElement.DEFAULT_ID);
505
            Integer depotDefault = props.getIntProperty("DepotStockDefault", DepotStockSQLElement.DEFAULT_ID);
511
            this.defaultRowVals.put("ID_DEPOT_STOCK", depotDefault);
506
            this.defaultRowVals.put("ID_DEPOT_STOCK", depotDefault);
512
        }
507
        }
513
 
508
 
514
        final RowValuesTableModel model = new RowValuesTableModel(e, list, e.getTable().getField("NOM"), false, this.defaultRowVals) {
509
        final RowValuesTableModel model = new RowValuesTableModel(e, list, e.getTable().getField("QTE"), false, this.defaultRowVals) {
515
            @Override
510
            @Override
516
            public void commitData() {
511
            public void commitData() {
517
                super.commitData(true);
512
                super.commitData(true);
518
            }
513
            }
519
        };
514
        };
Line 527... Line 522...
527
            this.table.getClearCloneTableElement().add("QTE_RECUE");
522
            this.table.getClearCloneTableElement().add("QTE_RECUE");
528
            this.table.getClearCloneTableElement().add("RECU");
523
            this.table.getClearCloneTableElement().add("RECU");
529
            this.table.getClearCloneTableElement().add("RECU_FORCED");
524
            this.table.getClearCloneTableElement().add("RECU_FORCED");
530
        } else if (getSQLElement().getTable().getName().equals("BON_RECEPTION_ELEMENT")) {
525
        } else if (getSQLElement().getTable().getName().equals("BON_RECEPTION_ELEMENT")) {
531
            this.table.getClearCloneTableElement().add("ID_COMMANDE_ELEMENT");
526
            this.table.getClearCloneTableElement().add("ID_COMMANDE_ELEMENT");
-
 
527
        } else if (getSQLElement().getTable().getName().equals("FACTURE_FOURNISSEUR_ELEMENT")) {
-
 
528
            if (getSQLElement().getTable().contains("ID_COMMANDE_ELEMENT")) {
-
 
529
                this.table.getClearCloneTableElement().add("ID_COMMANDE_ELEMENT");
-
 
530
            }
-
 
531
            if (getSQLElement().getTable().contains("ID_BON_RECEPTION_ELEMENT")) {
-
 
532
                this.table.getClearCloneTableElement().add("ID_BON_RECEPTION_ELEMENT");
-
 
533
            }
532
        }
534
        }
533
 
535
 
534
        table.addMouseListener(new MouseAdapter() {
536
        table.addMouseListener(new MouseAdapter() {
535
            @Override
537
            @Override
536
            public void mouseReleased(MouseEvent e) {
538
            public void mouseReleased(MouseEvent e) {
Line 884... Line 886...
884
 
886
 
885
        if (e.getTable().contains("ID_COMMANDE_ELEMENT")) {
887
        if (e.getTable().contains("ID_COMMANDE_ELEMENT")) {
886
            setColumnVisible(model.getColumnForField("ID_COMMANDE_ELEMENT"), false);
888
            setColumnVisible(model.getColumnForField("ID_COMMANDE_ELEMENT"), false);
887
        }
889
        }
888
 
890
 
-
 
891
        if (e.getTable().contains("ID_BON_RECEPTION_ELEMENT")) {
-
 
892
            setColumnVisible(model.getColumnForField("ID_BON_RECEPTION_ELEMENT"), false);
-
 
893
        }
-
 
894
 
889
        // Gestion des unités de vente
895
        // Gestion des unités de vente
890
        final boolean gestionUV = prefs.getBoolean(GestionArticleGlobalPreferencePanel.UNITE_VENTE, true);
896
        final boolean gestionUV = prefs.getBoolean(GestionArticleGlobalPreferencePanel.UNITE_VENTE, true);
891
        setColumnVisible(model.getColumnForField("QTE_UNITAIRE"), gestionUV);
897
        setColumnVisible(model.getColumnForField("QTE_UNITAIRE"), gestionUV);
892
        setColumnVisible(model.getColumnForField("ID_UNITE_VENTE"), gestionUV);
898
        setColumnVisible(model.getColumnForField("ID_UNITE_VENTE"), gestionUV);
893
 
899
 
Line 1423... Line 1429...
1423
                getRowValuesTable().getRowValuesTableModel().addRowAt(0, row2Insert);
1429
                getRowValuesTable().getRowValuesTableModel().addRowAt(0, row2Insert);
1424
            }
1430
            }
1425
        }
1431
        }
1426
    }
1432
    }
1427
 
1433
 
-
 
1434
    private final List<String> trFields = Arrays.asList("ID_COMMANDE_ELEMENT", "ID_BON_RECEPTION_ELEMENT");
-
 
1435
 
-
 
1436
    private boolean isFromTranferred(SQLRowValues vals) {
-
 
1437
 
-
 
1438
        for (String trField : this.trFields) {
-
 
1439
            if (vals.getTable().contains(trField)) {
-
 
1440
                boolean noCmdElt = vals.getObject(trField) == null || vals.isForeignEmpty(trField);
-
 
1441
                if (!noCmdElt) {
-
 
1442
                    return true;
-
 
1443
                }
-
 
1444
            }
-
 
1445
        }
-
 
1446
        return false;
-
 
1447
    }
-
 
1448
 
1428
}
1449
}