OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 156 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 156 Rev 177
Line 121... Line 121...
121
        }
121
        }
122
 
122
 
123
        return sommeDebit - sommeCredit;
123
        return sommeDebit - sommeCredit;
124
    }
124
    }
125
 
125
 
-
 
126
    public long soldeCompte(String numeroCompte, Date dateDebut, Date dateFin) {
-
 
127
 
-
 
128
        long sommeDebit = 0;
-
 
129
        long sommeCredit = 0;
-
 
130
 
-
 
131
        SQLTable ecritureTable = base.getTable("ECRITURE");
-
 
132
        SQLTable compteTable = base.getTable("COMPTE_PCE");
-
 
133
        SQLSelect sel = new SQLSelect();
-
 
134
 
-
 
135
        sel.addSelect(ecritureTable.getField("DEBIT"), "SUM");
-
 
136
        sel.addSelect(ecritureTable.getField("CREDIT"), "SUM");
-
 
137
        // sel.addSelect(compteTable.getField("ID"));
-
 
138
        // sel.addSelect(compteTable.getField("NUMERO"));
-
 
139
 
-
 
140
        // Where w = new Where(ecritureTable.getField("ID_COMPTE_PCE"), "=",
-
 
141
        // compteTable.getField("ID"));
-
 
142
        sel.addJoin("LEFT", ecritureTable.getField("ID_COMPTE_PCE"));
-
 
143
        Where w2 = new Where(compteTable.getField("NUMERO"), "LIKE", numeroCompte);
-
 
144
        this.compteUsed.add(numeroCompte);
-
 
145
        Where w4 = new Where(ecritureTable.getField("DATE"), dateDebut, dateFin);
-
 
146
 
-
 
147
        if (this.removeClotureCompte) {
-
 
148
 
-
 
149
            Where w5 = new Where(ecritureTable.getField("NOM"), "NOT LIKE", "Fermeture du compte %");
-
 
150
            sel.setWhere(w2.and(w4).and(w5));
-
 
151
        } else {
-
 
152
            sel.setWhere(w2.and(w4));
-
 
153
        }
-
 
154
        addAnalytiqueJoin(sel);
-
 
155
 
-
 
156
        // String req = sel.asString() +
-
 
157
        // " GROUP BY \"COMPTE_PCE\".\"ID\",\"COMPTE_PCE\".\"NUMERO\" ORDER BY
-
 
158
        // \"COMPTE_PCE\".\"NUMERO\"";
-
 
159
        String req = sel.asString();
-
 
160
 
-
 
161
        Object ob = base.getDataSource().execute(req, new ArrayListHandler());
-
 
162
 
-
 
163
        List myList = (List) ob;
-
 
164
 
-
 
165
        if (myList.size() != 0) {
-
 
166
 
-
 
167
            for (int i = 0; i < myList.size(); i++) {
-
 
168
 
-
 
169
                Object[] objTmp = (Object[]) myList.get(i);
-
 
170
                if (objTmp[0] != null) {
-
 
171
                    sommeDebit += ((Number) objTmp[0]).longValue();
-
 
172
                }
-
 
173
                if (objTmp[1] != null) {
-
 
174
                    sommeCredit += ((Number) objTmp[1]).longValue();
-
 
175
                }
-
 
176
            }
-
 
177
        }
-
 
178
 
-
 
179
        return sommeDebit - sommeCredit;
-
 
180
    }
-
 
181
 
126
    /***********************************************************************************************
182
    /***********************************************************************************************
127
     * Calcul le solde débiteur des comptes compris dans l'intervalle numeroStart numeroEnd
183
     * Calcul le solde débiteur des comptes compris dans l'intervalle numeroStart numeroEnd
128
     * 
184
     * 
129
     * @param numeroStart numero du compte de départ
185
     * @param numeroStart numero du compte de départ
130
     * @param numeroEnd nuemro du compte de fin
186
     * @param numeroEnd nuemro du compte de fin
Line 378... Line 434...
378
 
434
 
379
    public void clearUsedCompte() {
435
    public void clearUsedCompte() {
380
        this.compteUsed.clear();
436
        this.compteUsed.clear();
381
    }
437
    }
382
 
438
 
383
    public void getNonUsedCompte(Where where, Date dateDebut, Date dateFin) {
439
    public List<String> getNonUsedCompte(Where where, Date dateDebut, Date dateFin) {
384
 
440
 
385
        SQLSelect sel = new SQLSelect();
441
        SQLSelect sel = new SQLSelect();
386
        final SQLTable table = base.getTable("COMPTE_PCE");
442
        final SQLTable table = base.getTable("COMPTE_PCE");
387
        final SQLTable tableEcr = base.getTable("ECRITURE");
443
        final SQLTable tableEcr = base.getTable("ECRITURE");
388
        final SQLField field = table.getField("NUMERO");
444
        final SQLField field = table.getField("NUMERO");
Line 400... Line 456...
400
        List<String> s = tableEcr.getBase().getDataSource().executeCol(sel.asString());
456
        List<String> s = tableEcr.getBase().getDataSource().executeCol(sel.asString());
401
        System.err.println("COMPTE NOT USED");
457
        System.err.println("COMPTE NOT USED");
402
        for (String string : s) {
458
        for (String string : s) {
403
            System.err.println("Compte " + s);
459
            System.err.println("Compte " + s);
404
        }
460
        }
405
 
-
 
-
 
461
        return s;
406
    }
462
    }
407
}
463
}