31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
{
if (is_null($id))
return true;
return DB::getInstance()->test('compta_exercices', 'cloture = 0 AND id = ?', (int)$id);
}
public function getSolde($id_compte, $inclure_sous_comptes = false, $exercice = null)
{
$db = DB::getInstance();
$exercice = (int) $exercice ?: $this->_getCurrentExercice();
$compte = $inclure_sous_comptes
? 'LIKE \'' . $db->escapeString(trim($id_compte)) . '%\''
: '= \'' . $db->escapeString(trim($id_compte)) . '\'';
$debit = 'COALESCE((SELECT SUM(montant) FROM compta_journal WHERE compte_debit '.$compte.' AND id_exercice = '.(int)$exercice.'), 0)';
$credit = 'COALESCE((SELECT SUM(montant) FROM compta_journal WHERE compte_credit '.$compte.' AND id_exercice = '.(int)$exercice.'), 0)';
// L'actif augmente au débit, le passif au crédit
$position = $db->firstColumn('SELECT position FROM compta_comptes WHERE id = ?;', $id_compte);
if (($position & Comptes::ACTIF) || ($position & Comptes::CHARGE))
{
$query = $debit . ' - ' . $credit;
}
else
{
$query = $credit . ' - ' . $debit;
}
return $db->firstColumn('SELECT ' . $query . ';');
}
public function getJournalCompte($compte, $inclure_sous_comptes = false, $exercice = null)
{
$db = DB::getInstance();
$position = $db->firstColumn('SELECT position FROM compta_comptes WHERE id = ?;', $compte);
|
|
<
<
<
<
|
>
|
<
>
|
<
|
<
|
<
<
<
|
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{
if (is_null($id))
return true;
return DB::getInstance()->test('compta_exercices', 'cloture = 0 AND id = ?', (int)$id);
}
public function getSolde(int $id_compte, ?int $id_exercice = null): int
{
$db = DB::getInstance();
$solide = (int) $db->firstColumn('SELECT SUM(credit) - SUM(debit) FROM compta_mouvements_lignes AS l
INNER JOIN compta_mouvements AS m ON m.id = l.id_mouvement
WHERE compte = ? AND m.id_exercice = ?;', $id_compte, $id_exercice);
$position = $db->firstColumn('SELECT position FROM compta_comptes WHERE id = ?;', $id_compte);
// L'actif augmente au débit, le passif au crédit
if (($position & Comptes::ACTIF) || ($position & Comptes::CHARGE)) {
$solde = -$solde;
}
return $solde;
}
public function getJournalCompte($compte, $inclure_sous_comptes = false, $exercice = null)
{
$db = DB::getInstance();
$position = $db->firstColumn('SELECT position FROM compta_comptes WHERE id = ?;', $compte);
|
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
public function get($id)
{
$db = DB::getInstance();
return $db->first('SELECT *, strftime(\'%s\', date) AS date FROM compta_journal WHERE id = ?;', $id);
}
/**
* Compte le nombre d'écritures liées à un membre
* @param integer $id Numéro de membre
* @return integer Nombre d'écritures liées
*/
public function countForMember($id)
{
$db = DB::getInstance();
return $db->count('compta_journal', $db->where('id_auteur', $id));
}
/**
* Lister les écritures liées à un membre
* @param integer $id Identifiant de membre
* @param integer $exercice Identifiant d'exercice
* @return array Liste des écritures liées
|
|
|
|
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
public function get($id)
{
$db = DB::getInstance();
return $db->first('SELECT *, strftime(\'%s\', date) AS date FROM compta_journal WHERE id = ?;', $id);
}
/**
* Compte le nombre d'écritures créées par un membre
* @param integer $id Numéro de membre
* @return integer Nombre d'écritures liées
*/
public function countForMember($id)
{
$db = DB::getInstance();
return $db->count('compta_mouvements', $db->where('id_auteur', $id));
}
/**
* Lister les écritures liées à un membre
* @param integer $id Identifiant de membre
* @param integer $exercice Identifiant d'exercice
* @return array Liste des écritures liées
|