OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

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

Rev 149 Rev 156
Line 14... Line 14...
14
 package org.openconcerto.erp.core.common.ui;
14
 package org.openconcerto.erp.core.common.ui;
15
 
15
 
16
import org.openconcerto.erp.config.ComptaPropsConfiguration;
16
import org.openconcerto.erp.config.ComptaPropsConfiguration;
17
import org.openconcerto.erp.core.finance.accounting.element.ComptePCESQLElement;
17
import org.openconcerto.erp.core.finance.accounting.element.ComptePCESQLElement;
18
import org.openconcerto.erp.preferences.DefaultNXProps;
18
import org.openconcerto.erp.preferences.DefaultNXProps;
-
 
19
import org.openconcerto.erp.utils.TM;
19
import org.openconcerto.sql.Configuration;
20
import org.openconcerto.sql.Configuration;
20
import org.openconcerto.sql.model.SQLField;
21
import org.openconcerto.sql.model.SQLField;
21
import org.openconcerto.sql.model.SQLRow;
22
import org.openconcerto.sql.model.SQLRow;
22
import org.openconcerto.sql.model.SQLRowAccessor;
23
import org.openconcerto.sql.model.SQLRowAccessor;
23
import org.openconcerto.sql.model.SQLRowValues;
24
import org.openconcerto.sql.model.SQLRowValues;
Line 67... Line 68...
67
    private JTextField textPoids;
68
    private JTextField textPoids;
68
    private DeviseField textTotalDevise, textTotalDeviseSel;
69
    private DeviseField textTotalDevise, textTotalDeviseSel;
69
    private DeviseField textService, textServiceSel;
70
    private DeviseField textService, textServiceSel;
70
    private DeviseField textHA, textHASel;
71
    private DeviseField textHA, textHASel;
71
    private JTextField marge, margeSel;
72
    private JTextField marge, margeSel;
-
 
73
    private DeviseField textFraisDoc, textFraisDocSel;
72
    private boolean gestionHA = false;
74
    private boolean gestionHA = false;
73
    private PropertyChangeSupport supp;
75
    private PropertyChangeSupport supp;
74
    private int columnIndexEchHT = -1;
76
    private int columnIndexEchHT = -1;
75
    private int columnIndexEchTTC = -1;
77
    private int columnIndexEchTTC = -1;
76
    private SQLTableElement ha;
78
    private SQLTableElement ha;
77
    private SQLRequestComboBox selPortTVA;
79
    private SQLRequestComboBox selPortTVA;
-
 
80
    private SQLRequestComboBox selFraisDocTVA = null;
78
    private AcompteField facturable;
81
    private AcompteField facturable;
79
    private boolean intraComm = false;
82
    private boolean intraComm = false;
80
 
83
 
81
    AbstractArticleItemTable articleTable;
84
    AbstractArticleItemTable articleTable;
82
 
85
 
Line 108... Line 111...
108
        this.textTotalTVA = textTotalTVA;
111
        this.textTotalTVA = textTotalTVA;
109
        this.textTotalTTC = textTotalTTC;
112
        this.textTotalTTC = textTotalTTC;
110
        this.textPortHT = textPortHT;
113
        this.textPortHT = textPortHT;
111
        this.textRemiseHT = textRemiseHT;
114
        this.textRemiseHT = textRemiseHT;
112
        this.textService = textService;
115
        this.textService = textService;
113
 
-
 
-
 
116
        this.textFraisDoc = new DeviseField();
-
 
117
        this.textFraisDocSel = new DeviseField();
114
        this.textTotalHTSel = new DeviseField(true);
118
        this.textTotalHTSel = new DeviseField(true);
115
        this.textServiceSel = new DeviseField();
119
        this.textServiceSel = new DeviseField();
116
        this.textTotalEcoSel = new DeviseField();
120
        this.textTotalEcoSel = new DeviseField();
117
        this.textTotalTTCSel = new DeviseField();
121
        this.textTotalTTCSel = new DeviseField();
118
        this.textTotalTVASel = new DeviseField();
122
        this.textTotalTVASel = new DeviseField();
Line 140... Line 144...
140
        reconfigure(this.textTotalTTC);
144
        reconfigure(this.textTotalTTC);
141
        reconfigure(this.textService);
145
        reconfigure(this.textService);
142
        reconfigure(this.textHA);
146
        reconfigure(this.textHA);
143
        reconfigure(this.marge);
147
        reconfigure(this.marge);
144
        reconfigure(this.textTotalHTSel);
148
        reconfigure(this.textTotalHTSel);
-
 
149
        reconfigure(this.textFraisDoc);
-
 
150
        reconfigure(this.textFraisDocSel);
145
        reconfigure(this.textTotalEcoSel);
151
        reconfigure(this.textTotalEcoSel);
146
        reconfigure(this.textTotalTVASel);
152
        reconfigure(this.textTotalTVASel);
147
        reconfigure(this.textTotalTTCSel);
153
        reconfigure(this.textTotalTTCSel);
148
        reconfigure(this.textServiceSel);
154
        reconfigure(this.textServiceSel);
149
        reconfigure(this.textHASel);
155
        reconfigure(this.textHASel);
Line 166... Line 172...
166
        c.weighty = 0;
172
        c.weighty = 0;
167
        c.fill = GridBagConstraints.HORIZONTAL;
173
        c.fill = GridBagConstraints.HORIZONTAL;
168
 
174
 
169
        // Collone 1 : Selection
175
        // Collone 1 : Selection
170
        c.gridx++;
176
        c.gridx++;
171
        this.add(new JLabelBold("Sélection"), c);
177
        this.add(new JLabelBold(TM.tr("TotalPanel.selection")), c); //$NON-NLS-1$
172
        c.gridy++;
178
        c.gridy++;
173
        c.gridx = 1;
179
        c.gridx = 1;
174
        c.gridwidth = 2;
180
        c.gridwidth = 2;
175
        c.weightx = 1;
181
        c.weightx = 1;
176
        c.fill = GridBagConstraints.BOTH;
182
        c.fill = GridBagConstraints.BOTH;
Line 178... Line 184...
178
 
184
 
179
        c.gridwidth = 1;
185
        c.gridwidth = 1;
180
        c.weightx = 0;
186
        c.weightx = 0;
181
        c.fill = GridBagConstraints.HORIZONTAL;
187
        c.fill = GridBagConstraints.HORIZONTAL;
182
        if (this.gestionHA) {
188
        if (this.gestionHA) {
183
            final JLabel labelMarge = new JLabel("Marge");
189
            final JLabel labelMarge = new JLabel(TM.tr("TotalPanel.margin")); //$NON-NLS-1$
184
            final JLabel labelHA = new JLabel((this.ha == articleItemTable.getPrebilanElement()) ? "Budget prévisionnel" : "Total achat HT");
190
            final JLabel labelHA = new JLabel((this.ha == articleItemTable.getPrebilanElement()) ? TM.tr("TotalPanel.estimatedBudget") : TM.tr("TotalPanel.purchaseTotal.taxExcluded"));   //$NON-NLS-1$//$NON-NLS-2$
185
 
191
 
186
            // Total HA HT
192
            // Total HA HT
187
            c.gridy++;
193
            c.gridy++;
188
            this.add(labelHA, c);
194
            this.add(labelHA, c);
189
            labelHA.setVisible(showHA);
195
            labelHA.setVisible(showHA);
Line 218... Line 224...
218
        // Total HT
224
        // Total HT
219
        c.gridy++;
225
        c.gridy++;
220
        c.gridx = 1;
226
        c.gridx = 1;
221
        c.weightx = 0;
227
        c.weightx = 0;
222
        c.fill = GridBagConstraints.HORIZONTAL;
228
        c.fill = GridBagConstraints.HORIZONTAL;
223
        this.add(getLabelBoldFor(textTotalHT.getField(), "Total HT"), c);
229
        this.add(getLabelBoldFor(textTotalHT.getField(), TM.tr("TotalPanel.total.taxExcluded")), c); //$NON-NLS-1$
224
 
230
 
225
        c.gridx++;
231
        c.gridx++;
226
        c.weightx = 1;
232
        c.weightx = 1;
227
        this.add(this.textTotalHTSel, c);
233
        this.add(this.textTotalHTSel, c);
228
 
234
 
229
        // Service
235
        // Service
230
        if (DefaultNXProps.getInstance().getBooleanValue(AbstractVenteArticleItemTable.ARTICLE_SERVICE, false)) {
236
        if (DefaultNXProps.getInstance().getBooleanValue(AbstractVenteArticleItemTable.ARTICLE_SERVICE, false)) {
231
            c.gridx = 1;
237
            c.gridx = 1;
232
            c.gridy++;
238
            c.gridy++;
233
            c.weightx = 0;
239
            c.weightx = 0;
234
            this.add(new JLabel("Service HT inclus "), c);
240
            this.add(new JLabel(TM.tr("TotalPanel.service.taxExcluded")), c); //$NON-NLS-1$
235
            c.gridx++;
241
            c.gridx++;
236
            c.weightx = 1;
242
            c.weightx = 1;
237
            this.add(this.textServiceSel, c);
243
            this.add(this.textServiceSel, c);
238
        }
244
        }
239
 
245
 
240
        // TVA
246
        // TVA
241
        c.gridx = 1;
247
        c.gridx = 1;
242
        c.gridy++;
248
        c.gridy++;
243
        c.weightx = 0;
249
        c.weightx = 0;
244
        this.add(getLabelFor(textTotalTVA.getField(), "Total TVA"), c);
250
        this.add(getLabelFor(textTotalTVA.getField(), TM.tr("TotalPanel.total.VAT")), c); //$NON-NLS-1$
245
        c.gridx++;
251
        c.gridx++;
246
        c.weightx = 1;
252
        c.weightx = 1;
247
        this.add(this.textTotalTVASel, c);
253
        this.add(this.textTotalTVASel, c);
248
 
254
 
249
        c.gridx = 1;
255
        c.gridx = 1;
Line 257... Line 263...
257
            c.gridwidth = 1;
263
            c.gridwidth = 1;
258
            c.gridx = 1;
264
            c.gridx = 1;
259
            c.gridy++;
265
            c.gridy++;
260
            c.weightx = 0;
266
            c.weightx = 0;
261
            c.fill = GridBagConstraints.HORIZONTAL;
267
            c.fill = GridBagConstraints.HORIZONTAL;
262
            this.add(getLabelFor(textTotalDevise.getField(), "Total Devise"), c);
268
            this.add(getLabelFor(textTotalDevise.getField(), TM.tr("TotalPanel.currencyTotal")), c); //$NON-NLS-1$
263
            c.gridx++;
269
            c.gridx++;
264
            c.weightx = 1;
270
            c.weightx = 1;
265
            this.add(this.textTotalDeviseSel, c);
271
            this.add(this.textTotalDeviseSel, c);
266
        }
272
        }
267
 
273
 
Line 270... Line 276...
270
        final boolean showEco = prefs.getBoolean(AbstractVenteArticleItemTable.SHOW_TOTAL_ECO_CONTRIBUTION, false);
276
        final boolean showEco = prefs.getBoolean(AbstractVenteArticleItemTable.SHOW_TOTAL_ECO_CONTRIBUTION, false);
271
        if (showEco) {
277
        if (showEco) {
272
            c.gridx = 1;
278
            c.gridx = 1;
273
            c.gridy++;
279
            c.gridy++;
274
            c.weightx = 0;
280
            c.weightx = 0;
275
            this.add(new JLabel("Dont Eco-Contrib."), c);
281
            this.add(new JLabel(TM.tr("TotalPanel.ecoTax")), c); //$NON-NLS-1$
276
            c.gridx++;
282
            c.gridx++;
277
            c.weightx = 1;
283
            c.weightx = 1;
278
            this.add(this.textTotalEcoSel, c);
284
            this.add(this.textTotalEcoSel, c);
279
        }
285
        }
280
 
286
 
Line 282... Line 288...
282
        c.gridwidth = 1;
288
        c.gridwidth = 1;
283
        c.gridx = 1;
289
        c.gridx = 1;
284
        c.gridy++;
290
        c.gridy++;
285
        c.weightx = 0;
291
        c.weightx = 0;
286
        c.fill = GridBagConstraints.HORIZONTAL;
292
        c.fill = GridBagConstraints.HORIZONTAL;
287
        this.add(getLabelFor(textTotalTTC.getField(), "Total TTC"), c);
293
        this.add(getLabelFor(textTotalTTC.getField(), TM.tr("TotalPanel.total.taxIncluded")), c); //$NON-NLS-1$
288
        c.gridx++;
294
        c.gridx++;
289
        c.weightx = 1;
295
        c.weightx = 1;
290
        this.add(this.textTotalTTCSel, c);
296
        this.add(this.textTotalTTCSel, c);
291
 
297
 
292
        // Global
298
        // Global
Line 300... Line 306...
300
 
306
 
301
        c.gridheight = 1;
307
        c.gridheight = 1;
302
        c.fill = GridBagConstraints.HORIZONTAL;
308
        c.fill = GridBagConstraints.HORIZONTAL;
303
        c.weighty = 0;
309
        c.weighty = 0;
304
        c.gridx++;
310
        c.gridx++;
305
        this.add(new JLabelBold("Global"), c);
311
        this.add(new JLabelBold(TM.tr("TotalPanel.global")), c); //$NON-NLS-1$
306
        c.gridy++;
312
        c.gridy++;
307
        c.gridx = 4;
313
        c.gridx = 4;
308
        c.gridwidth = 2;
314
        c.gridwidth = 2;
309
        c.weightx = 1;
315
        c.weightx = 1;
310
        this.add(createSeparator(), c);
316
        this.add(createSeparator(), c);
311
 
317
 
312
        c.gridwidth = 1;
318
        c.gridwidth = 1;
313
        c.weightx = 0;
319
        c.weightx = 0;
314
        if (this.gestionHA) {
320
        if (this.gestionHA) {
315
            final JLabel labelMarge = new JLabel("Marge");
321
            final JLabel labelMarge = new JLabel(TM.tr("TotalPanel.margin")); //$NON-NLS-1$
316
            final JLabel labelHA = new JLabel((this.ha == articleItemTable.getPrebilanElement()) ? "Budget prévisionnel" : "Total achat HT");
322
            final JLabel labelHA = new JLabel((this.ha == articleItemTable.getPrebilanElement()) ? TM.tr("TotalPanel.estimatedBudget") : TM.tr("TotalPanel.purchaseTotal.taxExcluded"));  //$NON-NLS-1$//$NON-NLS-2$
317
 
323
 
318
            // Total HA HT
324
            // Total HA HT
319
            c.gridy++;
325
            c.gridy++;
320
            this.add(labelHA, c);
326
            this.add(labelHA, c);
321
            labelHA.setVisible(showHA);
327
            labelHA.setVisible(showHA);
Line 347... Line 353...
347
 
353
 
348
        // Total HT
354
        // Total HT
349
        c.gridy++;
355
        c.gridy++;
350
        c.gridx = 4;
356
        c.gridx = 4;
351
        c.weightx = 0;
357
        c.weightx = 0;
352
        this.add(getLabelBoldFor(textTotalHT.getField(), "Total HT"), c);
358
        this.add(getLabelBoldFor(textTotalHT.getField(), TM.tr("TotalPanel.total.taxExcluded")), c); //$NON-NLS-1$
353
 
359
 
354
        c.gridx++;
360
        c.gridx++;
355
        c.weightx = 1;
361
        c.weightx = 1;
356
        this.add(textTotalHT, c);
362
        this.add(textTotalHT, c);
357
 
363
 
358
        if (DefaultNXProps.getInstance().getBooleanValue(AbstractVenteArticleItemTable.ARTICLE_SERVICE, false)) {
364
        if (DefaultNXProps.getInstance().getBooleanValue(AbstractVenteArticleItemTable.ARTICLE_SERVICE, false)) {
359
            // Service
365
            // Service
360
            c.gridx = 4;
366
            c.gridx = 4;
361
            c.gridy++;
367
            c.gridy++;
362
            c.weightx = 0;
368
            c.weightx = 0;
363
            this.add(new JLabelBold("Service HT inclus "), c);
369
            this.add(new JLabelBold(TM.tr("TotalPanel.service.taxExcluded")), c); //$NON-NLS-1$
364
            c.gridx++;
370
            c.gridx++;
365
            c.weightx = 1;
371
            c.weightx = 1;
366
            this.add(this.textService, c);
372
            this.add(this.textService, c);
367
        }
373
        }
368
        // TVA
374
        // TVA
369
        c.gridx = 4;
375
        c.gridx = 4;
370
        c.gridy++;
376
        c.gridy++;
371
        c.weightx = 0;
377
        c.weightx = 0;
372
        this.add(getLabelBoldFor(textTotalTVA.getField(), "Total TVA"), c);
378
        this.add(getLabelBoldFor(textTotalTVA.getField(), TM.tr("TotalPanel.total.VAT")), c); //$NON-NLS-1$
373
        c.gridx++;
379
        c.gridx++;
374
        c.weightx = 1;
380
        c.weightx = 1;
375
        this.add(textTotalTVA, c);
381
        this.add(textTotalTVA, c);
376
 
382
 
377
        // Sep
383
        // Sep
Line 387... Line 393...
387
            c.gridwidth = 1;
393
            c.gridwidth = 1;
388
            c.gridx = 4;
394
            c.gridx = 4;
389
            c.gridy++;
395
            c.gridy++;
390
            c.weightx = 0;
396
            c.weightx = 0;
391
            c.fill = GridBagConstraints.HORIZONTAL;
397
            c.fill = GridBagConstraints.HORIZONTAL;
392
            this.add(getLabelBoldFor(textTotalDevise.getField(), "Total Devise"), c);
398
            this.add(getLabelBoldFor(textTotalDevise.getField(), TM.tr("TotalPanel.currencyTotal")), c); //$NON-NLS-1$
393
            c.gridx++;
399
            c.gridx++;
394
            c.weightx = 1;
400
            c.weightx = 1;
395
            textTotalDevise.setFont(textTotalHT.getFont());
401
            textTotalDevise.setFont(textTotalHT.getFont());
396
            this.add(textTotalDevise, c);
402
            this.add(textTotalDevise, c);
397
        }
403
        }
Line 399... Line 405...
399
        // Eco-contribution
405
        // Eco-contribution
400
        if (showEco) {
406
        if (showEco) {
401
            c.gridx = 4;
407
            c.gridx = 4;
402
            c.gridy++;
408
            c.gridy++;
403
            c.weightx = 0;
409
            c.weightx = 0;
404
            this.add(new JLabel("Dont Eco-Contrib."), c);
410
            this.add(new JLabel(TM.tr("TotalPanel.ecoTax")), c); //$NON-NLS-1$
405
            c.gridx++;
411
            c.gridx++;
406
            c.weightx = 1;
412
            c.weightx = 1;
407
            this.add(this.textTotalEco, c);
413
            this.add(this.textTotalEco, c);
408
        }
414
        }
409
 
415
 
Line 411... Line 417...
411
        c.gridwidth = 1;
417
        c.gridwidth = 1;
412
        c.gridx = 4;
418
        c.gridx = 4;
413
        c.gridy++;
419
        c.gridy++;
414
        c.weightx = 0;
420
        c.weightx = 0;
415
        c.fill = GridBagConstraints.HORIZONTAL;
421
        c.fill = GridBagConstraints.HORIZONTAL;
416
        this.add(getLabelBoldFor(textTotalTTC.getField(), "Total TTC"), c);
422
        this.add(getLabelBoldFor(textTotalTTC.getField(), TM.tr("TotalPanel.total.taxIncluded")), c); //$NON-NLS-1$
417
        c.gridx++;
423
        c.gridx++;
418
        c.weightx = 1;
424
        c.weightx = 1;
419
        textTotalTTC.setFont(textTotalHT.getFont());
425
        textTotalTTC.setFont(textTotalHT.getFont());
420
        this.add(textTotalTTC, c);
426
        this.add(textTotalTTC, c);
421
 
427
 
Line 426... Line 432...
426
                updateTotal();
432
                updateTotal();
427
            }
433
            }
428
        });
434
        });
429
    }
435
    }
430
 
436
 
-
 
437
    public void setTextFraisDoc(DeviseField textFraisDoc, SQLRequestComboBox boxTVA) {
-
 
438
        this.textFraisDoc = textFraisDoc;
-
 
439
        this.selFraisDocTVA = boxTVA;
-
 
440
    }
-
 
441
 
431
    public void setIntraComm(boolean intraComm) {
442
    public void setIntraComm(boolean intraComm) {
432
        this.intraComm = intraComm;
443
        this.intraComm = intraComm;
433
        updateTotal();
444
        updateTotal();
434
    }
445
    }
435
 
446
 
Line 488... Line 499...
488
 
499
 
489
    public void setDefaultCompteProduit(SQLRowAccessor row) {
500
    public void setDefaultCompteProduit(SQLRowAccessor row) {
490
        this.defaultRowCompteProduit = row;
501
        this.defaultRowCompteProduit = row;
491
    }
502
    }
492
 
503
 
-
 
504
    private SQLRowAccessor rowCatComptable = null;
-
 
505
 
-
 
506
    public void setCategorieComptable(SQLRowAccessor row) {
-
 
507
        this.rowCatComptable = row;
-
 
508
    }
-
 
509
 
493
    /**
510
    /**
494
     * 
511
     * 
495
     */
512
     */
496
    public void updateTotal() {
513
    public void updateTotal() {
497
 
514
 
498
        final long valRemiseHT;
515
        final long valRemiseHT;
499
        final BigDecimal valPortHT;
516
        final BigDecimal valPortHT, fraisDoc;
500
 
517
 
501
        clearTextField();
518
        clearTextField();
502
        // Clone rows to be thread safe
519
        // Clone rows to be thread safe
503
        final List<SQLRowValues> vals = articleTable.getRowValuesAtLevel(1);
520
        final List<SQLRowValues> vals = articleTable.getRowValuesAtLevel(1);
504
        final List<SQLRowValues> list = new ArrayList<SQLRowValues>(vals.size());
521
        final List<SQLRowValues> list = new ArrayList<SQLRowValues>(vals.size());
Line 577... Line 594...
577
            putRowValues.put("ID_COMPTE_PCE", rowDefaultCptPort.getID());
594
            putRowValues.put("ID_COMPTE_PCE", rowDefaultCptPort.getID());
578
            putRowValues.put("ID_COMPTE_PCE_ACHAT", rowDefaultCptPort.getID());
595
            putRowValues.put("ID_COMPTE_PCE_ACHAT", rowDefaultCptPort.getID());
579
        } else {
596
        } else {
580
            rowValsPort = null;
597
            rowValsPort = null;
581
        }
598
        }
-
 
599
        // Frais documents
-
 
600
        if (textFraisDoc.getText().trim().length() > 0) {
-
 
601
            if (!textFraisDoc.getText().trim().equals("-")) {
-
 
602
                long p = GestionDevise.parseLongCurrency(textFraisDoc.getText().trim());
-
 
603
                fraisDoc = new BigDecimal(p).movePointLeft(2);
-
 
604
            } else {
-
 
605
                fraisDoc = BigDecimal.ZERO;
-
 
606
            }
-
 
607
        } else {
-
 
608
            fraisDoc = BigDecimal.ZERO;
-
 
609
        }
-
 
610
        final SQLRow tvafraisDoc = selFraisDocTVA == null ? null : selFraisDocTVA.getSelectedRow();
-
 
611
        final SQLRowValues rowValsFraisDoc;
-
 
612
        if (tvafraisDoc != null && fraisDoc.signum() != 0 && !tvafraisDoc.isUndefined()) {
-
 
613
            rowValsFraisDoc = new SQLRowValues(articleTable.getSQLElement().getTable());
-
 
614
            rowValsFraisDoc.put(articleTable.getPrixTotalHTElement().getField().getName(), fraisDoc);
-
 
615
            rowValsFraisDoc.put("QTE", 1);
-
 
616
            rowValsFraisDoc.put("ID_TAXE", tvafraisDoc.getIDNumber());
-
 
617
            rowValsFraisDoc.put("SERVICE", Boolean.TRUE);
-
 
618
        } else {
-
 
619
            rowValsFraisDoc = null;
-
 
620
        }
582
 
621
 
583
        final Boolean isServiceActive = bServiceActive;
622
        final Boolean isServiceActive = bServiceActive;
584
        if (worker != null) {
623
        if (worker != null) {
585
            worker.cancel(true);
624
            worker.cancel(true);
586
        }
625
        }
Line 597... Line 636...
597
                SQLTableElement tableElementTotalHA = (articleTable.getPrebilanElement() == null) ? articleTable.getTotalHaElement() : articleTable.getPrebilanElement();
636
                SQLTableElement tableElementTotalHA = (articleTable.getPrebilanElement() == null) ? articleTable.getTotalHaElement() : articleTable.getPrebilanElement();
598
                String fieldHA = (tableElementTotalHA == null ? null : tableElementTotalHA.getField().getName());
637
                String fieldHA = (tableElementTotalHA == null ? null : tableElementTotalHA.getField().getName());
599
                SQLTableElement tableElementTotalHT = articleTable.getPrixTotalHTElement();
638
                SQLTableElement tableElementTotalHT = articleTable.getPrixTotalHTElement();
600
                String fieldHT = (tableElementTotalHT == null ? null : tableElementTotalHT.getField().getName());
639
                String fieldHT = (tableElementTotalHT == null ? null : tableElementTotalHT.getField().getName());
601
 
640
 
602
                final TotalCalculator calc = new TotalCalculator(fieldHA, fieldHT, fieldDevise, achat, null);
641
                final TotalCalculator calc = new TotalCalculator(fieldHA, fieldHT, fieldDevise, achat, null, rowCatComptable);
603
                calc.setIntraComm(intraComm);
642
                calc.setIntraComm(intraComm);
604
                if (defaultRowCompteProduit != null) {
643
                if (defaultRowCompteProduit != null) {
605
                    calc.setRowDefaultCptProduit(defaultRowCompteProduit);
644
                    calc.setRowDefaultCptProduit(defaultRowCompteProduit);
606
                }
645
                }
607
                calc.setSelectedRows(selectedRows);
646
                calc.setSelectedRows(selectedRows);
Line 661... Line 700...
661
                // TVA Port inclus
700
                // TVA Port inclus
662
                if (rowValsPort != null) {
701
                if (rowValsPort != null) {
663
                    calc.addLine(rowValsPort, rowValsPort.getForeign("ID_ARTICLE"), 0, false);
702
                    calc.addLine(rowValsPort, rowValsPort.getForeign("ID_ARTICLE"), 0, false);
664
                }
703
                }
665
 
704
 
-
 
705
                if (rowValsFraisDoc != null) {
-
 
706
                    calc.addLine(rowValsFraisDoc, null, 0, false);
-
 
707
                }
-
 
708
 
666
                // Verification du resultat ht +tva = ttc
709
                // Verification du resultat ht +tva = ttc
667
                calc.checkResult();
710
                calc.checkResult();
668
                if (Thread.currentThread().isInterrupted()) {
711
                if (Thread.currentThread().isInterrupted()) {
669
                    throw new InterruptedException();
712
                    throw new InterruptedException();
670
                }
713
                }