OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 21 | Rev 28 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 21 Rev 25
Line 35... Line 35...
35
import org.openconcerto.sql.sqlobject.JUniqueTextField;
35
import org.openconcerto.sql.sqlobject.JUniqueTextField;
36
import org.openconcerto.sql.sqlobject.SQLTextCombo;
36
import org.openconcerto.sql.sqlobject.SQLTextCombo;
37
import org.openconcerto.sql.users.UserManager;
37
import org.openconcerto.sql.users.UserManager;
38
import org.openconcerto.sql.view.EditFrame;
38
import org.openconcerto.sql.view.EditFrame;
39
import org.openconcerto.ui.DefaultGridBagConstraints;
39
import org.openconcerto.ui.DefaultGridBagConstraints;
-
 
40
import org.openconcerto.ui.FormLayouter;
40
import org.openconcerto.ui.JDate;
41
import org.openconcerto.ui.JDate;
41
import org.openconcerto.ui.TitledSeparator;
42
import org.openconcerto.ui.TitledSeparator;
42
import org.openconcerto.ui.component.ITextArea;
43
import org.openconcerto.ui.component.ITextArea;
43
import org.openconcerto.ui.preferences.DefaultProps;
44
import org.openconcerto.ui.preferences.DefaultProps;
44
import org.openconcerto.utils.ExceptionHandler;
45
import org.openconcerto.utils.ExceptionHandler;
Line 79... Line 80...
79
 
80
 
80
    public void addViews() {
81
    public void addViews() {
81
        this.setLayout(new GridBagLayout());
82
        this.setLayout(new GridBagLayout());
82
        final GridBagConstraints c = new DefaultGridBagConstraints();
83
        final GridBagConstraints c = new DefaultGridBagConstraints();
83
 
84
 
-
 
85
        // Champ Module
-
 
86
        c.gridx = 0;
-
 
87
        c.gridy++;
-
 
88
        c.gridwidth = GridBagConstraints.REMAINDER;
-
 
89
        final JPanel addP = new JPanel();
-
 
90
        this.setAdditionalFieldsPanel(new FormLayouter(addP, 1));
-
 
91
        this.add(addP, c);
-
 
92
 
-
 
93
        c.gridy++;
-
 
94
        c.gridwidth = 1;
-
 
95
 
84
        this.comboDevis = new ElementComboBox();
96
        this.comboDevis = new ElementComboBox();
85
 
97
 
86
        // Numero du commande
98
        // Numero du commande
87
        c.gridx = 0;
99
        c.gridx = 0;
88
        this.add(new JLabel(getLabelFor("NUMERO"), SwingConstants.RIGHT), c);
100
        this.add(new JLabel(getLabelFor("NUMERO"), SwingConstants.RIGHT), c);
Line 371... Line 383...
371
        DefaultGridBagConstraints.lockMinimumSize(numeroUniqueCommande);
383
        DefaultGridBagConstraints.lockMinimumSize(numeroUniqueCommande);
372
 
384
 
373
    }
385
    }
374
 
386
 
375
    public int insert(SQLRow order) {
387
    public int insert(SQLRow order) {
376
 
-
 
377
        int idCommande = getSelectedID();
388
        final int idCommande;
378
        // on verifie qu'un devis du meme numero n'a pas été inséré entre temps
389
        // on verifie qu'un devis du meme numero n'a pas été inséré entre temps
379
        if (this.numeroUniqueCommande.checkValidation()) {
390
        if (this.numeroUniqueCommande.checkValidation()) {
380
 
391
 
381
            idCommande = super.insert(order);
392
            idCommande = super.insert(order);
382
            this.table.updateField("ID_COMMANDE_CLIENT", idCommande);
393
            this.table.updateField("ID_COMMANDE_CLIENT", idCommande);
383
 
394
 
384
            // Création des articles
395
            // Création des articles
385
            this.table.createArticle(idCommande, this.getElement());
396
            this.table.createArticle(idCommande, this.getElement());
386
 
-
 
387
            // generation du document
397
            // generation du document
-
 
398
 
-
 
399
            try {
388
            CommandeClientXmlSheet sheet = new CommandeClientXmlSheet(getTable().getRow(idCommande));
400
                CommandeClientXmlSheet sheet = new CommandeClientXmlSheet(getTable().getRow(idCommande));
-
 
401
                sheet.createDocumentAsynchronous();
389
            sheet.genere(this.panelOO.isVisualisationSelected(), this.panelOO.isImpressionSelected());
402
                sheet.showPrintAndExportAsynchronous(CommandeClientSQLComponent.this.panelOO.isVisualisationSelected(), CommandeClientSQLComponent.this.panelOO.isImpressionSelected(), true);
-
 
403
            } catch (Exception e) {
-
 
404
                ExceptionHandler.handle("Impossible de créer la commande", e);
-
 
405
            }
390
 
406
 
391
            // incrémentation du numéro auto
407
            // incrémentation du numéro auto
392
            if (NumerotationAutoSQLElement.getNextNumero(CommandeClientSQLElement.class).equalsIgnoreCase(this.numeroUniqueCommande.getText().trim())) {
408
            if (NumerotationAutoSQLElement.getNextNumero(CommandeClientSQLElement.class).equalsIgnoreCase(this.numeroUniqueCommande.getText().trim())) {
393
                SQLRowValues rowVals = new SQLRowValues(this.tableNum);
409
                SQLRowValues rowVals = new SQLRowValues(this.tableNum);
394
                int val = this.tableNum.getRow(2).getInt("COMMANDE_CLIENT_START");
410
                int val = this.tableNum.getRow(2).getInt("COMMANDE_CLIENT_START");
Line 400... Line 416...
400
                } catch (SQLException e) {
416
                } catch (SQLException e) {
401
                    e.printStackTrace();
417
                    e.printStackTrace();
402
                }
418
                }
403
            }
419
            }
404
        } else {
420
        } else {
-
 
421
            idCommande = getSelectedID();
405
            ExceptionHandler.handle("Impossible d'ajouter, numéro de commande client existant.");
422
            ExceptionHandler.handle("Impossible d'ajouter, numéro de commande client existant.");
406
            Object root = SwingUtilities.getRoot(this);
423
            Object root = SwingUtilities.getRoot(this);
407
            if (root instanceof EditFrame) {
424
            if (root instanceof EditFrame) {
408
                EditFrame frame = (EditFrame) root;
425
                EditFrame frame = (EditFrame) root;
409
                frame.getPanel().setAlwaysVisible(true);
426
                frame.getPanel().setAlwaysVisible(true);
Line 441... Line 458...
441
        super.update();
458
        super.update();
442
        this.table.updateField("ID_COMMANDE_CLIENT", getSelectedID());
459
        this.table.updateField("ID_COMMANDE_CLIENT", getSelectedID());
443
        this.table.createArticle(getSelectedID(), this.getElement());
460
        this.table.createArticle(getSelectedID(), this.getElement());
444
 
461
 
445
        // generation du document
462
        // generation du document
-
 
463
 
-
 
464
        try {
446
        CommandeClientXmlSheet dSheet = new CommandeClientXmlSheet(getTable().getRow(getSelectedID()));
465
            CommandeClientXmlSheet sheet = new CommandeClientXmlSheet(getTable().getRow(getSelectedID()));
-
 
466
            sheet.createDocumentAsynchronous();
447
        dSheet.genere(this.panelOO.isVisualisationSelected(), this.panelOO.isImpressionSelected());
467
            sheet.showPrintAndExportAsynchronous(CommandeClientSQLComponent.this.panelOO.isVisualisationSelected(), CommandeClientSQLComponent.this.panelOO.isImpressionSelected(), true);
-
 
468
        } catch (Exception e) {
-
 
469
            ExceptionHandler.handle("Impossible de créer la commande", e);
-
 
470
        }
-
 
471
 
448
    }
472
    }
449
 
473
 
450
    public void setDefaults() {
474
    public void setDefaults() {
451
        this.resetValue();
475
        this.resetValue();
452
        this.numeroUniqueCommande.setText(NumerotationAutoSQLElement.getNextNumero(CommandeClientSQLElement.class));
476
        this.numeroUniqueCommande.setText(NumerotationAutoSQLElement.getNextNumero(CommandeClientSQLElement.class));