OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

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

Rev 177 Rev 180
Line 33... Line 33...
33
import org.openconcerto.sql.element.TreesOfSQLRows;
33
import org.openconcerto.sql.element.TreesOfSQLRows;
34
import org.openconcerto.sql.model.FieldPath;
34
import org.openconcerto.sql.model.FieldPath;
35
import org.openconcerto.sql.model.SQLBase;
35
import org.openconcerto.sql.model.SQLBase;
36
import org.openconcerto.sql.model.SQLRow;
36
import org.openconcerto.sql.model.SQLRow;
37
import org.openconcerto.sql.model.SQLRowAccessor;
37
import org.openconcerto.sql.model.SQLRowAccessor;
-
 
38
import org.openconcerto.sql.model.SQLRowListRSH;
38
import org.openconcerto.sql.model.SQLRowValues;
39
import org.openconcerto.sql.model.SQLRowValues;
39
import org.openconcerto.sql.model.SQLSelect;
40
import org.openconcerto.sql.model.SQLSelect;
40
import org.openconcerto.sql.model.SQLTable;
41
import org.openconcerto.sql.model.SQLTable;
41
import org.openconcerto.sql.model.Where;
42
import org.openconcerto.sql.model.Where;
42
import org.openconcerto.sql.model.graph.Path;
43
import org.openconcerto.sql.model.graph.Path;
Line 290... Line 291...
290
    }
291
    }
291
 
292
 
292
    public final SQLTableModelSourceOnline createLettrageTableSource() {
293
    public final SQLTableModelSourceOnline createLettrageTableSource() {
293
        final List<String> listEcriture = new ArrayList<String>();
294
        final List<String> listEcriture = new ArrayList<String>();
294
        listEcriture.add("LETTRAGE");
295
        listEcriture.add("LETTRAGE");
-
 
296
        listEcriture.add("LETTRAGE_PARTIEL");
295
        listEcriture.add("ID_COMPTE_PCE");
297
        listEcriture.add("ID_COMPTE_PCE");
296
        listEcriture.add("ID_MOUVEMENT");
298
        listEcriture.add("ID_MOUVEMENT");
297
        if (getTable().contains("NOM_PIECE")) {
299
        if (getTable().contains("NOM_PIECE")) {
298
            listEcriture.add("NOM_PIECE");
300
            listEcriture.add("NOM_PIECE");
299
        }
301
        }
Line 666... Line 668...
666
 
668
 
667
                SQLFactory<Object> sqlFactory = new SQLFactory<Object>() {
669
                SQLFactory<Object> sqlFactory = new SQLFactory<Object>() {
668
                    @Override
670
                    @Override
669
                    public Object create() throws SQLException {
671
                    public Object create() throws SQLException {
670
                        // on recupere l'ensemble des ecritures associées au mouvement
672
                        // on recupere l'ensemble des ecritures associées au mouvement
-
 
673
 
671
                        SQLSelect selEcritures = new SQLSelect();
674
                        SQLSelect selEcritures = new SQLSelect();
672
                        selEcritures.addSelect(tableEcriture.getField("ID"));
675
                        selEcritures.addSelect(tableEcriture.getField("ID"));
-
 
676
                        selEcritures.addSelect(tableEcriture.getField("VALIDE"));
-
 
677
                        selEcritures.addSelect(tableEcriture.getField("LETTRAGE"));
673
                        selEcritures.setWhere(tableEcriture.getField("ID_MOUVEMENT"), "=", idMvt);
678
                        selEcritures.setWhere(tableEcriture.getField("ID_MOUVEMENT"), "=", idMvt);
674
 
679
 
675
                        List l = (List) base.getDataSource().execute(selEcritures.asString(), new ArrayListHandler());
680
                        List<SQLRow> rowEcr = SQLRowListRSH.execute(selEcritures);
676
                        for (int i = 0; i < l.size(); i++) {
681
                        for (SQLRow r : rowEcr) {
677
                            Object[] tmp = (Object[]) l.get(i);
682
                            archiveEcriture(r);
678
                            archiveEcriture(tableEcriture.getRow(Integer.parseInt(tmp[0].toString())));
-
 
679
                        }
683
                        }
680
 
684
 
681
                        return null;
685
                        return null;
682
                    }
686
                    }
683
                };
687
                };
Line 715... Line 719...
715
     * est respectée
719
     * est respectée
716
     * 
720
     * 
717
     * @param row
721
     * @param row
718
     * @throws SQLException
722
     * @throws SQLException
719
     */
723
     */
720
    public void archiveEcriture(SQLRow row) throws SQLException {
724
    public void archiveEcriture(SQLRowAccessor row) throws SQLException {
721
 
725
 
722
        if (!row.getBoolean("VALIDE")) {
726
        if (!row.getBoolean("VALIDE")) {
723
 
727
 
724
            SQLRowValues rowVals = new SQLRowValues(this.getTable());
728
            UpdateBuilder builderArc = new UpdateBuilder(getTable());
725
            rowVals.put("IDUSER_DELETE", UserManager.getInstance().getCurrentUser().getId());
729
            builderArc.setObject("IDUSER_DELETE", UserManager.getInstance().getCurrentUser().getId());
726
            rowVals.put("ARCHIVE", 1);
730
            builderArc.setObject("ARCHIVE", 1);
727
            rowVals.update(row.getID());
731
            builderArc.setWhere(new Where(getTable().getKey(), "=", row.getID()));
-
 
732
            getTable().getDBSystemRoot().getDataSource().execute(builderArc.asString());
728
 
733
 
729
            // Annulation du lettrage si l'ecriture est lettrée pour ne pas avoir de lettrage
734
            // Annulation du lettrage si l'ecriture est lettrée pour ne pas avoir de lettrage
730
            // déséquilibré
735
            // déséquilibré
731
            final String codeLettrage = row.getString("LETTRAGE");
736
            final String codeLettrage = row.getString("LETTRAGE");
732
            if (codeLettrage != null && codeLettrage.trim().length() > 0) {
737
            if (codeLettrage != null && codeLettrage.trim().length() > 0) {
Line 734... Line 739...
734
                builder.setObject("LETTRAGE", "");
739
                builder.setObject("LETTRAGE", "");
735
                builder.setObject("DATE_LETTRAGE", null);
740
                builder.setObject("DATE_LETTRAGE", null);
736
                builder.setWhere(new Where(getTable().getField("LETTRAGE"), "=", codeLettrage));
741
                builder.setWhere(new Where(getTable().getField("LETTRAGE"), "=", codeLettrage));
737
                getTable().getDBSystemRoot().getDataSource().execute(builder.asString());
742
                getTable().getDBSystemRoot().getDataSource().execute(builder.asString());
738
            }
743
            }
739
 
-
 
-
 
744
            getTable().fireRowDeleted(row.getID());
740
            // super.archive(row, true);
745
            // super.archive(row, true);
741
        } else {
746
        } else {
742
            System.err.println("Impossible de supprimer une ecriture validée");
747
            System.err.println("Impossible de supprimer une ecriture validée");
743
            JOptionPane.showMessageDialog(null, "Impossible de supprimer une ecriture validée. \n" + row);
748
            JOptionPane.showMessageDialog(null, "Impossible de supprimer une ecriture validée. \n" + row);
744
        }
749
        }