Line 1... |
Line 1... |
1 |
/*
|
1 |
/*
|
2 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
2 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
3 |
*
|
3 |
*
|
4 |
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
|
4 |
* Copyright 2011-2019 OpenConcerto, by ILM Informatique. All rights reserved.
|
5 |
*
|
5 |
*
|
6 |
* The contents of this file are subject to the terms of the GNU General Public License Version 3
|
6 |
* The contents of this file are subject to the terms of the GNU General Public License Version 3
|
7 |
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
|
7 |
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
|
8 |
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
|
8 |
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
|
9 |
* language governing permissions and limitations under the License.
|
9 |
* language governing permissions and limitations under the License.
|
Line 50... |
Line 50... |
50 |
import org.openconcerto.sql.view.list.RowValuesTableModel;
|
50 |
import org.openconcerto.sql.view.list.RowValuesTableModel;
|
51 |
import org.openconcerto.sql.view.list.SQLTableElement;
|
51 |
import org.openconcerto.sql.view.list.SQLTableElement;
|
52 |
import org.openconcerto.sql.view.list.ValidStateChecker;
|
52 |
import org.openconcerto.sql.view.list.ValidStateChecker;
|
53 |
import org.openconcerto.ui.preferences.DefaultProps;
|
53 |
import org.openconcerto.ui.preferences.DefaultProps;
|
54 |
import org.openconcerto.utils.DecimalUtils;
|
54 |
import org.openconcerto.utils.DecimalUtils;
|
- |
|
55 |
import org.openconcerto.utils.ExceptionHandler;
|
55 |
import org.openconcerto.utils.Tuple3;
|
56 |
import org.openconcerto.utils.Tuple3;
|
56 |
import org.openconcerto.utils.i18n.TranslationManager;
|
57 |
import org.openconcerto.utils.i18n.TranslationManager;
|
57 |
|
58 |
|
58 |
import java.awt.Component;
|
59 |
import java.awt.Component;
|
59 |
import java.awt.event.ActionEvent;
|
60 |
import java.awt.event.ActionEvent;
|
Line 101... |
Line 102... |
101 |
public AbstractAchatArticleItemTable() {
|
102 |
public AbstractAchatArticleItemTable() {
|
102 |
super();
|
103 |
super();
|
103 |
}
|
104 |
}
|
104 |
|
105 |
|
105 |
@Override
|
106 |
@Override
|
- |
|
107 |
public AutoCompletionManager getCodeCompletionManager() {
|
- |
|
108 |
return this.m;
|
- |
|
109 |
}
|
- |
|
110 |
|
- |
|
111 |
@Override
|
106 |
protected void setModel(RowValuesTableModel model) {
|
112 |
protected void setModel(RowValuesTableModel model) {
|
107 |
super.setModel(model);
|
113 |
super.setModel(model);
|
108 |
model.addTableModelListener(new TableModelListener() {
|
114 |
model.addTableModelListener(new TableModelListener() {
|
109 |
|
115 |
|
110 |
@Override
|
116 |
@Override
|
Line 124... |
Line 130... |
124 |
final boolean createAuto = prefs.getBoolean(GestionArticleGlobalPreferencePanel.CREATE_ARTICLE_AUTO, true);
|
130 |
final boolean createAuto = prefs.getBoolean(GestionArticleGlobalPreferencePanel.CREATE_ARTICLE_AUTO, true);
|
125 |
final boolean showEco = prefs.getBoolean(AbstractVenteArticleItemTable.SHOW_ECO_CONTRIBUTION_COLUMNS, false);
|
131 |
final boolean showEco = prefs.getBoolean(AbstractVenteArticleItemTable.SHOW_ECO_CONTRIBUTION_COLUMNS, false);
|
126 |
final boolean showDmdAchat = prefs.getBoolean(GestionArticleGlobalPreferencePanel.ACTIVE_DEMANDE_ACHAT, false);
|
132 |
final boolean showDmdAchat = prefs.getBoolean(GestionArticleGlobalPreferencePanel.ACTIVE_DEMANDE_ACHAT, false);
|
127 |
final boolean showDevise = prefs.getBoolean(AbstractVenteArticleItemTable.ARTICLE_SHOW_DEVISE, false);
|
133 |
final boolean showDevise = prefs.getBoolean(AbstractVenteArticleItemTable.ARTICLE_SHOW_DEVISE, false);
|
128 |
this.supplierCode = prefs.getBoolean(GestionArticleGlobalPreferencePanel.SUPPLIER_PRODUCT_CODE, false);
|
134 |
this.supplierCode = prefs.getBoolean(GestionArticleGlobalPreferencePanel.SUPPLIER_PRODUCT_CODE, false);
|
- |
|
135 |
final boolean withDeclinaison = prefs.getBoolean(GestionArticleGlobalPreferencePanel.ACTIVER_DECLINAISON, false);
|
129 |
|
136 |
|
130 |
final List<SQLTableElement> list = new Vector<SQLTableElement>();
|
137 |
final List<SQLTableElement> list = new Vector<SQLTableElement>();
|
131 |
final SQLTableElement eNiveau = new SQLTableElement(e.getTable().getField("NIVEAU")) {
|
138 |
final SQLTableElement eNiveau = new SQLTableElement(e.getTable().getField("NIVEAU")) {
|
132 |
@Override
|
139 |
@Override
|
133 |
public void setValueFrom(SQLRowValues row, Object value) {
|
140 |
public void setValueFrom(SQLRowValues row, Object value) {
|
Line 175... |
Line 182... |
175 |
|
182 |
|
176 |
// Article
|
183 |
// Article
|
177 |
SQLTableElement tableElementDepot = new SQLTableElement(e.getTable().getField("ID_DEPOT_STOCK"), true, true, true);
|
184 |
SQLTableElement tableElementDepot = new SQLTableElement(e.getTable().getField("ID_DEPOT_STOCK"), true, true, true);
|
178 |
list.add(tableElementDepot);
|
185 |
list.add(tableElementDepot);
|
179 |
|
186 |
|
- |
|
187 |
Set<String> fieldsName = e.getTable().getFieldsName();
|
180 |
if (e.getTable().getFieldsName().contains("ID_FAMILLE_ARTICLE")) {
|
188 |
if (fieldsName.contains("ID_FAMILLE_ARTICLE")) {
|
181 |
final SQLTableElement tableFamille = new SQLTableElement(e.getTable().getField("ID_FAMILLE_ARTICLE"));
|
189 |
final SQLTableElement tableFamille = new SQLTableElement(e.getTable().getField("ID_FAMILLE_ARTICLE"));
|
182 |
list.add(tableFamille);
|
190 |
list.add(tableFamille);
|
183 |
}
|
191 |
}
|
184 |
|
192 |
|
185 |
if (e.getTable().getFieldsName().contains("ID_ECO_CONTRIBUTION")) {
|
193 |
if (fieldsName.contains("ID_ECO_CONTRIBUTION")) {
|
186 |
this.tableElementEcoID = new SQLTableElement(e.getTable().getField("ID_ECO_CONTRIBUTION"));
|
194 |
this.tableElementEcoID = new SQLTableElement(e.getTable().getField("ID_ECO_CONTRIBUTION"));
|
187 |
list.add(this.tableElementEcoID);
|
195 |
list.add(this.tableElementEcoID);
|
188 |
}
|
196 |
}
|
189 |
|
197 |
|
190 |
if (e.getTable().getFieldsName().contains("INCOTERM")) {
|
198 |
if (fieldsName.contains("INCOTERM")) {
|
191 |
final SQLTableElement tableElementInco = new SQLTableElement(e.getTable().getField("INCOTERM"));
|
199 |
final SQLTableElement tableElementInco = new SQLTableElement(e.getTable().getField("INCOTERM"));
|
192 |
tableElementInco.setEditable(false);
|
200 |
tableElementInco.setEditable(false);
|
193 |
list.add(tableElementInco);
|
201 |
list.add(tableElementInco);
|
194 |
}
|
202 |
}
|
195 |
|
203 |
|
196 |
if (e.getTable().getFieldsName().contains("PREBILAN")) {
|
204 |
if (fieldsName.contains("PREBILAN")) {
|
197 |
final SQLTableElement tableElementPre = new SQLTableElement(e.getTable().getField("PREBILAN"), BigDecimal.class);
|
205 |
final SQLTableElement tableElementPre = new SQLTableElement(e.getTable().getField("PREBILAN"), BigDecimal.class);
|
198 |
tableElementPre.setRenderer(new DeviseTableCellRenderer());
|
206 |
tableElementPre.setRenderer(new DeviseTableCellRenderer());
|
199 |
list.add(tableElementPre);
|
207 |
list.add(tableElementPre);
|
200 |
}
|
208 |
}
|
201 |
|
209 |
|
202 |
// Code article
|
210 |
// Code article
|
203 |
final SQLTableElement tableElementCode = new SQLTableElement(e.getTable().getField("CODE"), String.class,
|
211 |
final SQLTableElement tableElementCode = new SQLTableElement(e.getTable().getField("CODE"), String.class,
|
204 |
new ITextArticleWithCompletionCellEditor(e.getTable().getTable("ARTICLE"), e.getTable().getTable("ARTICLE_FOURNISSEUR"))) {
|
212 |
new ITextArticleWithCompletionCellEditor(e.getTable().getTable("ARTICLE"), e.getTable().getTable("ARTICLE_FOURNISSEUR"), withDeclinaison)) {
|
205 |
@Override
|
213 |
@Override
|
206 |
public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
|
214 |
public boolean isCellEditable(SQLRowValues vals, int rowIndex, int columnIndex) {
|
207 |
boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
|
215 |
boolean b = super.isCellEditable(vals, rowIndex, columnIndex);
|
208 |
return b && !isFromTranferred(vals);
|
216 |
return b && !isFromTranferred(vals);
|
209 |
|
217 |
|
Line 219... |
Line 227... |
219 |
|
227 |
|
220 |
}
|
228 |
}
|
221 |
};
|
229 |
};
|
222 |
list.add(tableElementNom);
|
230 |
list.add(tableElementNom);
|
223 |
|
231 |
|
- |
|
232 |
List<String> fieldDecl = new ArrayList<>();
|
- |
|
233 |
|
- |
|
234 |
if (withDeclinaison) {
|
- |
|
235 |
|
- |
|
236 |
for (String string : fieldsName) {
|
- |
|
237 |
if (string.startsWith("ID_ARTICLE_DECLINAISON")) {
|
- |
|
238 |
final SQLTableElement tableElementDeclinaison = new SQLTableElement(e.getTable().getField(string));
|
- |
|
239 |
tableElementDeclinaison.setEditable(false);
|
- |
|
240 |
fieldDecl.add(string);
|
- |
|
241 |
list.add(tableElementDeclinaison);
|
- |
|
242 |
}
|
- |
|
243 |
}
|
- |
|
244 |
}
|
224 |
if (e.getTable().getFieldsName().contains("DESCRIPTIF")) {
|
245 |
if (fieldsName.contains("DESCRIPTIF")) {
|
225 |
final SQLTableElement tableElementDesc = new SQLTableElement(e.getTable().getField("DESCRIPTIF"));
|
246 |
final SQLTableElement tableElementDesc = new SQLTableElement(e.getTable().getField("DESCRIPTIF"));
|
226 |
list.add(tableElementDesc);
|
247 |
list.add(tableElementDesc);
|
227 |
}
|
248 |
}
|
228 |
if (e.getTable().getFieldsName().contains("COLORIS")) {
|
249 |
if (fieldsName.contains("COLORIS")) {
|
229 |
final SQLTableElement tableElementColoris = new SQLTableElement(e.getTable().getField("COLORIS"));
|
250 |
final SQLTableElement tableElementColoris = new SQLTableElement(e.getTable().getField("COLORIS"));
|
230 |
list.add(tableElementColoris);
|
251 |
list.add(tableElementColoris);
|
231 |
}
|
252 |
}
|
- |
|
253 |
|
- |
|
254 |
if (fieldsName.contains("ID_FABRICANT")) {
|
- |
|
255 |
SQLTableElement fab = new SQLTableElement(e.getTable().getField("ID_FABRICANT"));
|
- |
|
256 |
list.add(fab);
|
- |
|
257 |
}
|
- |
|
258 |
|
232 |
// Valeur des métriques
|
259 |
// Valeur des métriques
|
233 |
final SQLTableElement tableElement_ValeurMetrique2 = new SQLTableElement(e.getTable().getField("VALEUR_METRIQUE_2"), Float.class);
|
260 |
final SQLTableElement tableElement_ValeurMetrique2 = new SQLTableElement(e.getTable().getField("VALEUR_METRIQUE_2"), Float.class);
|
234 |
list.add(tableElement_ValeurMetrique2);
|
261 |
list.add(tableElement_ValeurMetrique2);
|
235 |
final SQLTableElement tableElement_ValeurMetrique3 = new SQLTableElement(e.getTable().getField("VALEUR_METRIQUE_3"), Float.class);
|
262 |
final SQLTableElement tableElement_ValeurMetrique3 = new SQLTableElement(e.getTable().getField("VALEUR_METRIQUE_3"), Float.class);
|
236 |
list.add(tableElement_ValeurMetrique3);
|
263 |
list.add(tableElement_ValeurMetrique3);
|
Line 240... |
Line 267... |
240 |
final DeviseNumericHTConvertorCellEditor editorPAHT = new DeviseNumericHTConvertorCellEditor(e.getTable().getField("PRIX_METRIQUE_HA_1"));
|
267 |
final DeviseNumericHTConvertorCellEditor editorPAHT = new DeviseNumericHTConvertorCellEditor(e.getTable().getField("PRIX_METRIQUE_HA_1"));
|
241 |
final SQLTableElement tableElement_PrixMetrique1_AchatHT = new SQLTableElement(e.getTable().getField("PRIX_METRIQUE_HA_1"), BigDecimal.class, editorPAHT);
|
268 |
final SQLTableElement tableElement_PrixMetrique1_AchatHT = new SQLTableElement(e.getTable().getField("PRIX_METRIQUE_HA_1"), BigDecimal.class, editorPAHT);
|
242 |
tableElement_PrixMetrique1_AchatHT.setRenderer(new CurrencyWithSymbolRenderer());
|
269 |
tableElement_PrixMetrique1_AchatHT.setRenderer(new CurrencyWithSymbolRenderer());
|
243 |
list.add(tableElement_PrixMetrique1_AchatHT);
|
270 |
list.add(tableElement_PrixMetrique1_AchatHT);
|
244 |
|
271 |
|
245 |
if (e.getTable().getFieldsName().contains("ECO_CONTRIBUTION")) {
|
272 |
if (fieldsName.contains("ECO_CONTRIBUTION")) {
|
246 |
this.tableElementEco = new SQLTableElement(e.getTable().getField("ECO_CONTRIBUTION"));
|
273 |
this.tableElementEco = new SQLTableElement(e.getTable().getField("ECO_CONTRIBUTION"));
|
247 |
list.add(this.tableElementEco);
|
274 |
list.add(this.tableElementEco);
|
248 |
}
|
275 |
}
|
249 |
|
276 |
|
250 |
final SQLTableElement tableElement_Devise = new SQLTableElement(e.getTable().getField("ID_DEVISE"));
|
277 |
final SQLTableElement tableElement_Devise = new SQLTableElement(e.getTable().getField("ID_DEVISE"));
|
Line 329... |
Line 356... |
329 |
tableBrElt = new SQLTableElement(e.getTable().getField("ID_BON_RECEPTION_ELEMENT"));
|
356 |
tableBrElt = new SQLTableElement(e.getTable().getField("ID_BON_RECEPTION_ELEMENT"));
|
330 |
tableBrElt.setEditable(false);
|
357 |
tableBrElt.setEditable(false);
|
331 |
list.add(tableBrElt);
|
358 |
list.add(tableBrElt);
|
332 |
}
|
359 |
}
|
333 |
|
360 |
|
334 |
if (e.getTable().getFieldsName().contains("QTE_ORIGINE")) {
|
361 |
if (fieldsName.contains("QTE_ORIGINE")) {
|
335 |
final SQLTableElement tableQteO = new SQLTableElement(e.getTable().getField("QTE_ORIGINE"));
|
362 |
final SQLTableElement tableQteO = new SQLTableElement(e.getTable().getField("QTE_ORIGINE"));
|
336 |
tableQteO.setEditable(false);
|
363 |
tableQteO.setEditable(false);
|
337 |
list.add(tableQteO);
|
364 |
list.add(tableQteO);
|
338 |
}
|
365 |
}
|
339 |
|
366 |
|
Line 341... |
Line 368... |
341 |
final SQLTableElement qteElement = new SQLTableElement(e.getTable().getField("QTE"), Integer.class) {
|
368 |
final SQLTableElement qteElement = new SQLTableElement(e.getTable().getField("QTE"), Integer.class) {
|
342 |
protected Object getDefaultNullValue() {
|
369 |
protected Object getDefaultNullValue() {
|
343 |
return Integer.valueOf(0);
|
370 |
return Integer.valueOf(0);
|
344 |
}
|
371 |
}
|
345 |
};
|
372 |
};
|
346 |
if (e.getTable().getFieldsName().contains("QTE_ORIGINE")) {
|
373 |
if (fieldsName.contains("QTE_ORIGINE")) {
|
347 |
qteElement.setRenderer(new DeliveredQtyRowValuesRenderer(false));
|
374 |
qteElement.setRenderer(new DeliveredQtyRowValuesRenderer(false));
|
348 |
}
|
375 |
}
|
349 |
list.add(qteElement);
|
376 |
list.add(qteElement);
|
350 |
// TVA
|
377 |
// TVA
|
351 |
this.tableElementTVA = new SQLTableElement(e.getTable().getField("ID_TAXE"));
|
378 |
this.tableElementTVA = new SQLTableElement(e.getTable().getField("ID_TAXE"));
|
Line 468... |
Line 495... |
468 |
if (e.getTable().contains("POURCENT_REMISE")) {
|
495 |
if (e.getTable().contains("POURCENT_REMISE")) {
|
469 |
tableElementRemise = new SQLTableElement(e.getTable().getField("POURCENT_REMISE"));
|
496 |
tableElementRemise = new SQLTableElement(e.getTable().getField("POURCENT_REMISE"));
|
470 |
list.add(tableElementRemise);
|
497 |
list.add(tableElementRemise);
|
471 |
}
|
498 |
}
|
472 |
|
499 |
|
473 |
if (e.getTable().getFieldsName().contains("T_ECO_CONTRIBUTION")) {
|
500 |
if (fieldsName.contains("T_ECO_CONTRIBUTION")) {
|
474 |
this.tableElementEcoTotal = new SQLTableElement(e.getTable().getField("T_ECO_CONTRIBUTION"));
|
501 |
this.tableElementEcoTotal = new SQLTableElement(e.getTable().getField("T_ECO_CONTRIBUTION"));
|
475 |
list.add(this.tableElementEcoTotal);
|
502 |
list.add(this.tableElementEcoTotal);
|
476 |
}
|
503 |
}
|
477 |
|
504 |
|
478 |
// Total HT
|
505 |
// Total HT
|
Line 587... |
Line 614... |
587 |
AutoCompletionManager dmd = new AutoCompletionManager(dmdElt, ((ComptaPropsConfiguration) Configuration.getInstance()).getSQLBaseSociete().getField("DEMANDE_ACHAT_ELEMENT.ID"), this.table,
|
614 |
AutoCompletionManager dmd = new AutoCompletionManager(dmdElt, ((ComptaPropsConfiguration) Configuration.getInstance()).getSQLBaseSociete().getField("DEMANDE_ACHAT_ELEMENT.ID"), this.table,
|
588 |
this.table.getRowValuesTableModel(), ITextWithCompletion.MODE_CONTAINS, true, true, new ValidStateChecker());
|
615 |
this.table.getRowValuesTableModel(), ITextWithCompletion.MODE_CONTAINS, true, true, new ValidStateChecker());
|
589 |
dmd.fill("ID_FAMILLE_ARTICLE", "ID_FAMILLE_ARTICLE");
|
616 |
dmd.fill("ID_FAMILLE_ARTICLE", "ID_FAMILLE_ARTICLE");
|
590 |
}
|
617 |
}
|
591 |
List<String> completionFields = new ArrayList<String>();
|
618 |
List<String> completionFields = new ArrayList<String>();
|
592 |
if (e.getTable().getFieldsName().contains("INCOTERM")) {
|
619 |
if (fieldsName.contains("INCOTERM")) {
|
593 |
completionFields.add("INCOTERM");
|
620 |
completionFields.add("INCOTERM");
|
594 |
}
|
621 |
}
|
595 |
if (e.getTable().getFieldsName().contains("ID_ECO_CONTRIBUTION")) {
|
622 |
if (fieldsName.contains("ID_ECO_CONTRIBUTION")) {
|
596 |
completionFields.add("ID_ECO_CONTRIBUTION");
|
623 |
completionFields.add("ID_ECO_CONTRIBUTION");
|
597 |
}
|
624 |
}
|
598 |
completionFields.add("ID_UNITE_VENTE");
|
625 |
completionFields.add("ID_UNITE_VENTE");
|
599 |
completionFields.add("QTE_UNITAIRE");
|
626 |
completionFields.add("QTE_UNITAIRE");
|
600 |
completionFields.add("PA_HT");
|
627 |
completionFields.add("PA_HT");
|
Line 612... |
Line 639... |
612 |
completionFields.add("PRIX_METRIQUE_VT_2");
|
639 |
completionFields.add("PRIX_METRIQUE_VT_2");
|
613 |
completionFields.add("PRIX_METRIQUE_VT_3");
|
640 |
completionFields.add("PRIX_METRIQUE_VT_3");
|
614 |
completionFields.add("SERVICE");
|
641 |
completionFields.add("SERVICE");
|
615 |
completionFields.add("ID_DEVISE");
|
642 |
completionFields.add("ID_DEVISE");
|
616 |
completionFields.add("PA_DEVISE");
|
643 |
completionFields.add("PA_DEVISE");
|
- |
|
644 |
completionFields.addAll(fieldDecl);
|
617 |
if (e.getTable().getFieldsName().contains("COLORIS")) {
|
645 |
if (fieldsName.contains("COLORIS")) {
|
618 |
completionFields.add("COLORIS");
|
646 |
completionFields.add("COLORIS");
|
619 |
}
|
647 |
}
|
620 |
|
648 |
|
621 |
if (e.getTable().getFieldsName().contains("DESCRIPTIF")) {
|
649 |
if (fieldsName.contains("DESCRIPTIF")) {
|
622 |
completionFields.add("DESCRIPTIF");
|
650 |
completionFields.add("DESCRIPTIF");
|
623 |
}
|
651 |
}
|
624 |
if (e.getTable().getFieldsName().contains("ID_FAMILLE_ARTICLE")) {
|
652 |
if (fieldsName.contains("ID_FAMILLE_ARTICLE")) {
|
625 |
completionFields.add("ID_FAMILLE_ARTICLE");
|
653 |
completionFields.add("ID_FAMILLE_ARTICLE");
|
626 |
}
|
654 |
}
|
627 |
final SQLTable sqlTableArticle = e.getTable().getTable("ARTICLE");
|
655 |
final SQLTable sqlTableArticle = e.getTable().getTable("ARTICLE");
|
628 |
if (getSQLElement().getTable().getFieldsName().contains("POIDS_COLIS_NET") && sqlTableArticle.getTable().getFieldsName().contains("POIDS_COLIS_NET")) {
|
656 |
if (getSQLElement().getTable().getFieldsName().contains("POIDS_COLIS_NET") && sqlTableArticle.getTable().getFieldsName().contains("POIDS_COLIS_NET")) {
|
629 |
completionFields.add("POIDS_COLIS_NET");
|
657 |
completionFields.add("POIDS_COLIS_NET");
|
Line 634... |
Line 662... |
634 |
this.m = new AutoCompletionManager(tableElementCode, sqlTableArticle.getField("CODE"), this.table, this.table.getRowValuesTableModel()) {
|
662 |
this.m = new AutoCompletionManager(tableElementCode, sqlTableArticle.getField("CODE"), this.table, this.table.getRowValuesTableModel()) {
|
635 |
@Override
|
663 |
@Override
|
636 |
protected Object getValueFrom(SQLRow row, String field, SQLRowAccessor rowDest) {
|
664 |
protected Object getValueFrom(SQLRow row, String field, SQLRowAccessor rowDest) {
|
637 |
Object res = tarifCompletion(row, field);
|
665 |
Object res = tarifCompletion(row, field);
|
638 |
if (res == null) {
|
666 |
if (res == null) {
|
- |
|
667 |
if (field.equalsIgnoreCase("ID_CODE_FOURNISSEUR")) {
|
- |
|
668 |
return null;
|
- |
|
669 |
} else {
|
639 |
return super.getValueFrom(row, field, rowDest);
|
670 |
return super.getValueFrom(row, field, rowDest);
|
- |
|
671 |
}
|
640 |
} else {
|
672 |
} else {
|
641 |
return res;
|
673 |
return res;
|
642 |
}
|
674 |
}
|
643 |
}
|
675 |
}
|
644 |
};
|
676 |
};
|
Line 793... |
Line 825... |
793 |
tableElement_PA_Devise.setModifier(new CellDynamicModifier() {
|
825 |
tableElement_PA_Devise.setModifier(new CellDynamicModifier() {
|
794 |
public Object computeValueFrom(SQLRowValues row, SQLTableElement source) {
|
826 |
public Object computeValueFrom(SQLRowValues row, SQLTableElement source) {
|
795 |
if (source != null && source.getField().getName().equals("PA_DEVISE")) {
|
827 |
if (source != null && source.getField().getName().equals("PA_DEVISE")) {
|
796 |
return row.getObject("PA_DEVISE");
|
828 |
return row.getObject("PA_DEVISE");
|
797 |
} else {
|
829 |
} else {
|
798 |
if (!row.isForeignEmpty("ID_DEVISE") && row.getForeign("ID_DEVISE") != null) {
|
830 |
if (row.contains("ID_DEVISE") && !row.isForeignEmpty("ID_DEVISE")) {
|
799 |
String devCode = row.getForeign("ID_DEVISE").getString("CODE");
|
831 |
String devCode = row.getForeign("ID_DEVISE").getString("CODE");
|
800 |
BigDecimal bigDecimal = (BigDecimal) row.getObject("PRIX_METRIQUE_HA_1");
|
832 |
BigDecimal bigDecimal = (BigDecimal) row.getObject("PRIX_METRIQUE_HA_1");
|
801 |
|
833 |
|
802 |
CurrencyConverter c = new CurrencyConverter();
|
834 |
CurrencyConverter c = new CurrencyConverter();
|
803 |
BigDecimal result = convert(bigDecimal, devCode, true);
|
835 |
BigDecimal result = convert(bigDecimal, devCode, true);
|
Line 946... |
Line 978... |
946 |
public Object computeValueFrom(SQLRowValues row, SQLTableElement source) {
|
978 |
public Object computeValueFrom(SQLRowValues row, SQLTableElement source) {
|
947 |
if (source != null && source.getField().getName().equals("PRIX_METRIQUE_HA_1")) {
|
979 |
if (source != null && source.getField().getName().equals("PRIX_METRIQUE_HA_1")) {
|
948 |
return row.getObject("PRIX_METRIQUE_HA_1");
|
980 |
return row.getObject("PRIX_METRIQUE_HA_1");
|
949 |
} else {
|
981 |
} else {
|
950 |
if (source != null && source.getField().getName().equals("PA_DEVISE")) {
|
982 |
if (source != null && source.getField().getName().equals("PA_DEVISE")) {
|
951 |
if (!row.isForeignEmpty("ID_DEVISE") && row.getForeign("ID_DEVISE") != null) {
|
983 |
if (row.contains("ID_DEVISE") && !row.isForeignEmpty("ID_DEVISE")) {
|
952 |
String devCode = row.getForeign("ID_DEVISE").getString("CODE");
|
984 |
String devCode = row.getForeign("ID_DEVISE").getString("CODE");
|
953 |
BigDecimal bigDecimal = (BigDecimal) row.getObject("PA_DEVISE");
|
985 |
BigDecimal bigDecimal = (BigDecimal) row.getObject("PA_DEVISE");
|
954 |
|
986 |
|
955 |
return convert(bigDecimal, devCode, false);
|
987 |
return convert(bigDecimal, devCode, false);
|
956 |
} else {
|
988 |
} else {
|
Line 1058... |
Line 1090... |
1058 |
}
|
1090 |
}
|
1059 |
|
1091 |
|
1060 |
JButton buttonStock = new JButton("Consulter le stock");
|
1092 |
JButton buttonStock = new JButton("Consulter le stock");
|
1061 |
buttonStock.addActionListener(new ActionListener() {
|
1093 |
buttonStock.addActionListener(new ActionListener() {
|
1062 |
public void actionPerformed(ActionEvent event) {
|
1094 |
public void actionPerformed(ActionEvent event) {
|
- |
|
1095 |
try {
|
1063 |
SQLRowValues rowValsSel = table.getSelectedRowValues();
|
1096 |
SQLRowValues rowValsSel = table.getSelectedRowValues();
|
1064 |
if (rowValsSel != null) {
|
1097 |
if (rowValsSel != null) {
|
1065 |
SQLRowAccessor foreignArt = rowValsSel.getForeign("ID_ARTICLE");
|
1098 |
SQLRowAccessor foreignArt = rowValsSel.getForeign("ID_ARTICLE");
|
1066 |
if (foreignArt != null && !foreignArt.isUndefined()) {
|
1099 |
if (foreignArt != null && !foreignArt.isUndefined()) {
|
1067 |
SQLRowAccessor rowValsStock = StockSQLElement.getStock(rowValsSel);
|
1100 |
SQLRowAccessor rowValsStock = StockSQLElement.getStock(rowValsSel);
|
Line 1070... |
Line 1103... |
1070 |
frame.selectionId(rowValsStock.getID());
|
1103 |
frame.selectionId(rowValsStock.getID());
|
1071 |
frame.setVisible(true);
|
1104 |
frame.setVisible(true);
|
1072 |
}
|
1105 |
}
|
1073 |
}
|
1106 |
}
|
1074 |
}
|
1107 |
}
|
1075 |
|
- |
|
- |
|
1108 |
} catch (Exception e) {
|
- |
|
1109 |
ExceptionHandler.handle("Erreur d'accès au stock", e);
|
- |
|
1110 |
}
|
1076 |
}
|
1111 |
}
|
1077 |
});
|
1112 |
});
|
1078 |
|
1113 |
|
1079 |
this.buttons.add(buttonStock);
|
1114 |
this.buttons.add(buttonStock);
|
1080 |
|
1115 |
|
Line 1127... |
Line 1162... |
1127 |
final SQLTable tTarifFournisseur = this.getSQLElement().getTable().getDBRoot().getTable("ARTICLE_TARIF_FOURNISSEUR");
|
1162 |
final SQLTable tTarifFournisseur = this.getSQLElement().getTable().getDBRoot().getTable("ARTICLE_TARIF_FOURNISSEUR");
|
1128 |
|
1163 |
|
1129 |
if (row != null && !row.isUndefined() && (field.equalsIgnoreCase("ID_CODE_FOURNISSEUR")) && this.rowFournisseur != null && !this.rowFournisseur.isUndefined()) {
|
1164 |
if (row != null && !row.isUndefined() && (field.equalsIgnoreCase("ID_CODE_FOURNISSEUR")) && this.rowFournisseur != null && !this.rowFournisseur.isUndefined()) {
|
1130 |
final SQLTable foreignTableCodeF = getSQLElement().getTable().getForeignTable("ID_CODE_FOURNISSEUR");
|
1165 |
final SQLTable foreignTableCodeF = getSQLElement().getTable().getForeignTable("ID_CODE_FOURNISSEUR");
|
1131 |
List<SQLRow> resultCode = row.getReferentRows(foreignTableCodeF);
|
1166 |
List<SQLRow> resultCode = row.getReferentRows(foreignTableCodeF);
|
1132 |
int idCode = foreignTableCodeF.getUndefinedID();
|
- |
|
1133 |
for (SQLRow sqlRow : resultCode) {
|
1167 |
for (SQLRow sqlRow : resultCode) {
|
1134 |
if (sqlRow.getForeignID("ID_FOURNISSEUR") == this.rowFournisseur.getID()) {
|
1168 |
if (sqlRow.getForeignID("ID_FOURNISSEUR") == this.rowFournisseur.getID()) {
|
1135 |
return sqlRow.getID();
|
1169 |
return sqlRow.getID();
|
1136 |
}
|
1170 |
}
|
1137 |
|
1171 |
|
1138 |
}
|
1172 |
}
|
1139 |
return idCode;
|
1173 |
return foreignTableCodeF.getUndefinedIDNumber();
|
1140 |
}
|
1174 |
}
|
1141 |
if (field.equalsIgnoreCase("ID_CODE_FOURNISSEUR")) {
|
1175 |
if (field.equalsIgnoreCase("ID_CODE_FOURNISSEUR")) {
|
1142 |
final SQLTable foreignTableCodeF = getSQLElement().getTable().getForeignTable("ID_CODE_FOURNISSEUR");
|
1176 |
final SQLTable foreignTableCodeF = getSQLElement().getTable().getForeignTable("ID_CODE_FOURNISSEUR");
|
1143 |
return foreignTableCodeF.getUndefinedID();
|
1177 |
return foreignTableCodeF.getUndefinedIDNumber();
|
1144 |
}
|
1178 |
}
|
1145 |
|
1179 |
|
1146 |
if (row != null && !row.isUndefined() && (field.equalsIgnoreCase("PRIX_METRIQUE_HA_1") || field.equalsIgnoreCase("PA_HT")) && tTarifFournisseur != null) {
|
1180 |
if (row != null && !row.isUndefined() && (field.equalsIgnoreCase("PRIX_METRIQUE_HA_1") || field.equalsIgnoreCase("PA_HT")) && tTarifFournisseur != null) {
|
1147 |
List<String> incoTerms;
|
1181 |
List<String> incoTerms;
|
1148 |
|
1182 |
|