Line 66... |
Line 66... |
66 |
import javax.swing.JLabel;
|
66 |
import javax.swing.JLabel;
|
67 |
import javax.swing.JOptionPane;
|
67 |
import javax.swing.JOptionPane;
|
68 |
import javax.swing.JPanel;
|
68 |
import javax.swing.JPanel;
|
69 |
import javax.swing.JPopupMenu;
|
69 |
import javax.swing.JPopupMenu;
|
70 |
import javax.swing.JScrollPane;
|
70 |
import javax.swing.JScrollPane;
|
- |
|
71 |
import javax.swing.JTextField;
|
71 |
import javax.swing.SwingConstants;
|
72 |
import javax.swing.SwingConstants;
|
72 |
import javax.swing.SwingUtilities;
|
73 |
import javax.swing.SwingUtilities;
|
73 |
import javax.swing.ToolTipManager;
|
74 |
import javax.swing.ToolTipManager;
|
74 |
import javax.swing.event.CellEditorListener;
|
75 |
import javax.swing.event.CellEditorListener;
|
75 |
import javax.swing.event.ChangeEvent;
|
76 |
import javax.swing.event.ChangeEvent;
|
Line 92... |
Line 93... |
92 |
|
93 |
|
93 |
private SaisieJournalPanel panel;
|
94 |
private SaisieJournalPanel panel;
|
94 |
private final JCheckBox boxAutoInsert;
|
95 |
private final JCheckBox boxAutoInsert;
|
95 |
private boolean hideAnalytique = false;
|
96 |
private boolean hideAnalytique = false;
|
96 |
|
97 |
|
97 |
public SaisieJournalItemTable(final SQLRowValues defaultRowVals, JCheckBox boxAutoInsert) {
|
98 |
public SaisieJournalItemTable(final SQLRowValues defaultRowVals, JCheckBox boxAutoInsert, final JTextField textField) {
|
98 |
setLayout(new GridBagLayout());
|
99 |
setLayout(new GridBagLayout());
|
99 |
this.boxAutoInsert = boxAutoInsert;
|
100 |
this.boxAutoInsert = boxAutoInsert;
|
100 |
final GridBagConstraints c = new DefaultGridBagConstraints();
|
101 |
final GridBagConstraints c = new DefaultGridBagConstraints();
|
101 |
c.weightx = 1;
|
102 |
c.weightx = 1;
|
102 |
|
103 |
|
Line 144... |
Line 145... |
144 |
if (!this.hideAnalytique) {
|
145 |
if (!this.hideAnalytique) {
|
145 |
final AnalytiqueItemTable analytiqueAssocTable = new AnalytiqueItemTable(true, new AbstractAction() {
|
146 |
final AnalytiqueItemTable analytiqueAssocTable = new AnalytiqueItemTable(true, new AbstractAction() {
|
146 |
|
147 |
|
147 |
@Override
|
148 |
@Override
|
148 |
public void actionPerformed(ActionEvent e) {
|
149 |
public void actionPerformed(ActionEvent e) {
|
149 |
montantValid(defaultRowVals, true);
|
150 |
montantValid(defaultRowVals, true, textField);
|
150 |
}
|
151 |
}
|
151 |
});
|
152 |
});
|
152 |
final MultiLineTableCellEditor multiLineTableCellEditor = new MultiLineTableCellEditor((RowValuesMultiLineEditTable) analytiqueAssocTable.getTable(), analytiqueAssocTable);
|
153 |
final MultiLineTableCellEditor multiLineTableCellEditor = new MultiLineTableCellEditor((RowValuesMultiLineEditTable) analytiqueAssocTable.getTable(), analytiqueAssocTable);
|
153 |
|
154 |
|
154 |
SQLTableElement eltPourcentAnalytique = new SQLTableElement(tableElement.getField("ANALYTIQUE"), String.class, multiLineTableCellEditor) {
|
155 |
SQLTableElement eltPourcentAnalytique = new SQLTableElement(tableElement.getField("ANALYTIQUE"), String.class, multiLineTableCellEditor) {
|
Line 256... |
Line 257... |
256 |
}
|
257 |
}
|
257 |
|
258 |
|
258 |
@Override
|
259 |
@Override
|
259 |
public void keyPressed(KeyEvent e) {
|
260 |
public void keyPressed(KeyEvent e) {
|
260 |
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
|
261 |
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
|
261 |
montantValid(defaultRowVals, false);
|
262 |
montantValid(defaultRowVals, false, textField);
|
262 |
}
|
263 |
}
|
263 |
}
|
264 |
}
|
264 |
};
|
265 |
};
|
265 |
deviseCreditEditor.addKeyListener(keyListenerContrepartie);
|
266 |
deviseCreditEditor.addKeyListener(keyListenerContrepartie);
|
266 |
deviseDebitEditor.addKeyListener(keyListenerContrepartie);
|
267 |
deviseDebitEditor.addKeyListener(keyListenerContrepartie);
|
Line 470... |
Line 471... |
470 |
c.set(Calendar.MONTH, SaisieJournalItemTable.this.panel.getSelectedMonth());
|
471 |
c.set(Calendar.MONTH, SaisieJournalItemTable.this.panel.getSelectedMonth());
|
471 |
c.set(Calendar.DAY_OF_MONTH, day);
|
472 |
c.set(Calendar.DAY_OF_MONTH, day);
|
472 |
return Tuple2.create(c.getTime(), lib);
|
473 |
return Tuple2.create(c.getTime(), lib);
|
473 |
}
|
474 |
}
|
474 |
|
475 |
|
475 |
public void montantValid(final SQLRowValues defaultRowVals, final boolean fromAnalytique) {
|
476 |
public void montantValid(final SQLRowValues defaultRowVals, final boolean fromAnalytique, final JTextField textPiece) {
|
476 |
System.err.println("Enter");
|
477 |
System.err.println("Enter");
|
477 |
final SQLRowValues vals = SaisieJournalItemTable.this.table.getSelectedRowValues();
|
478 |
final SQLRowValues vals = SaisieJournalItemTable.this.table.getSelectedRowValues();
|
478 |
final int selectedRow = SaisieJournalItemTable.this.table.getSelectedRow();
|
479 |
final int selectedRow = SaisieJournalItemTable.this.table.getSelectedRow();
|
479 |
SwingUtilities.invokeLater(new Runnable() {
|
480 |
SwingUtilities.invokeLater(new Runnable() {
|
480 |
public void run() {
|
481 |
public void run() {
|
481 |
|
482 |
|
482 |
if (boxAutoInsert.isSelected() && isSaisieValid()) {
|
483 |
if (boxAutoInsert.isSelected() && isSaisieValid()) {
|
483 |
if (SaisieJournalItemTable.this.panel.getSelectedJournal() == SQLRow.NONEXISTANT_ID || SaisieJournalItemTable.this.panel.getSelectedMonth() == -1) {
|
484 |
if (SaisieJournalItemTable.this.panel.getSelectedJournal() == SQLRow.NONEXISTANT_ID || SaisieJournalItemTable.this.panel.getSelectedMonth() == -1) {
|
484 |
JOptionPane.showMessageDialog(SaisieJournalItemTable.this.panel, "Impossible de créer la saisie si aucun journal ou aucun mois n'est sélectionné!");
|
485 |
JOptionPane.showMessageDialog(SaisieJournalItemTable.this.panel, "Impossible de créer la saisie si aucun journal ou aucun mois n'est sélectionné!");
|
485 |
} else {
|
486 |
} else {
|
486 |
createSaisie(defaultRowVals);
|
487 |
createSaisie(defaultRowVals, textPiece);
|
487 |
}
|
488 |
}
|
488 |
} else {
|
489 |
} else {
|
489 |
if (!fromAnalytique && !hideAnalytique && vals.getString("NUMERO") != null && (vals.getString("NUMERO").startsWith("6") || vals.getString("NUMERO").startsWith("7"))) {
|
490 |
if (!fromAnalytique && !hideAnalytique && vals.getString("NUMERO") != null && (vals.getString("NUMERO").startsWith("6") || vals.getString("NUMERO").startsWith("7"))) {
|
490 |
|
491 |
|
491 |
// Update montant
|
492 |
// Update montant
|
Line 515... |
Line 516... |
515 |
}
|
516 |
}
|
516 |
});
|
517 |
});
|
517 |
|
518 |
|
518 |
}
|
519 |
}
|
519 |
|
520 |
|
520 |
public synchronized void createSaisie(final SQLRowValues defaultRowVals) {
|
521 |
public synchronized void createSaisie(final SQLRowValues defaultRowVals, JTextField pieceText) {
|
521 |
|
522 |
|
522 |
Tuple2<Date, String> t = getDateAndLabelFromSaisie();
|
523 |
Tuple2<Date, String> t = getDateAndLabelFromSaisie();
|
523 |
final Date d = t.get0();
|
524 |
final Date d = t.get0();
|
524 |
final String lib = t.get1();
|
525 |
String pieceLabel = pieceText.getText();
|
- |
|
526 |
final String lib = pieceLabel == null || pieceLabel.trim().length() == 0 ? t.get1() : pieceLabel;
|
525 |
|
527 |
|
526 |
// Create saisieKM
|
528 |
// Create saisieKM
|
527 |
SQLRowValues rowVAlsKM = new SQLRowValues(SaisieJournalItemTable.this.table.getRowValuesTableModel().getSQLElement().getTable().getForeignTable("ID_SAISIE_KM"));
|
529 |
SQLRowValues rowVAlsKM = new SQLRowValues(SaisieJournalItemTable.this.table.getRowValuesTableModel().getSQLElement().getTable().getForeignTable("ID_SAISIE_KM"));
|
528 |
|
530 |
|
529 |
rowVAlsKM.put("DATE", d);
|
531 |
rowVAlsKM.put("DATE", d);
|
Line 534... |
Line 536... |
534 |
id = rowVAlsKM.insert().getID();
|
536 |
id = rowVAlsKM.insert().getID();
|
535 |
|
537 |
|
536 |
table.updateField("ID_SAISIE_KM", id);
|
538 |
table.updateField("ID_SAISIE_KM", id);
|
537 |
table.clear();
|
539 |
table.clear();
|
538 |
GenerationMvtSaisieKm gen = new GenerationMvtSaisieKm(id);
|
540 |
GenerationMvtSaisieKm gen = new GenerationMvtSaisieKm(id);
|
539 |
gen.genereMouvement();
|
541 |
int idMvt = gen.genereMouvement();
|
- |
|
542 |
|
- |
|
543 |
// maj de l'id du mouvement correspondant
|
- |
|
544 |
SQLRowValues rowValsKMMvt = new SQLRowValues(SaisieJournalItemTable.this.table.getRowValuesTableModel().getSQLElement().getTable().getForeignTable("ID_SAISIE_KM"));
|
- |
|
545 |
rowValsKMMvt.put("ID_MOUVEMENT", new Integer(idMvt));
|
- |
|
546 |
rowValsKMMvt.update(id);
|
540 |
|
547 |
|
541 |
defaultRowVals.put("NOM_PIECE", "");
|
548 |
defaultRowVals.put("NOM_PIECE", "");
|
542 |
defaultRowVals.put("NOM_ECRITURE", "");
|
549 |
defaultRowVals.put("NOM_ECRITURE", "");
|
543 |
table.getRowValuesTableModel().addNewRow();
|
550 |
table.getRowValuesTableModel().addNewRow();
|
544 |
|
- |
|
- |
|
551 |
pieceText.setText("");
|
545 |
} catch (SQLException e) {
|
552 |
} catch (SQLException e) {
|
546 |
e.printStackTrace();
|
553 |
e.printStackTrace();
|
547 |
}
|
554 |
}
|
548 |
|
555 |
|
549 |
}
|
556 |
}
|