|
115 | 115 | if ($lvl == 2) { |
116 | 116 | // Eliminazione conto di livello 2 (co_pianodeiconti2) |
117 | 117 | // Controllo che non esistano movimenti associati ai conti di livello 3 collegati |
118 | | - $movimenti = $dbo->fetchNum('SELECT co_movimenti.id FROM co_movimenti INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto = co_pianodeiconti3.id WHERE co_pianodeiconti3.idpianodeiconti2 = '.prepare($idconto)); |
| 118 | + $movimenti = $dbo->table('co_movimenti') |
| 119 | + ->join('co_pianodeiconti3', 'co_movimenti.idconto', '=', 'co_pianodeiconti3.id') |
| 120 | + ->where('co_pianodeiconti3.idpianodeiconti2', $idconto) |
| 121 | + ->count(); |
119 | 122 |
|
120 | 123 | if ($idconto != '' and empty($movimenti)) { |
121 | 124 | // Prima elimino tutti i conti di livello 3 collegati |
122 | | - $conti_livello3 = $dbo->fetchArray('SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '.prepare($idconto)); |
| 125 | + $conti_livello3 = $dbo->table('co_pianodeiconti3') |
| 126 | + ->where('idpianodeiconti2', $idconto) |
| 127 | + ->get() |
| 128 | + ->toArray(); |
123 | 129 |
|
124 | 130 | foreach ($conti_livello3 as $conto3) { |
125 | 131 | // Scollego il conto dalle anagrafiche |
126 | | - $dbo->query('UPDATE an_anagrafiche SET idconto_cliente = NULL WHERE idconto_cliente = '.prepare($conto3['id'])); |
127 | | - $dbo->query('UPDATE an_anagrafiche SET idconto_fornitore = NULL WHERE idconto_fornitore = '.prepare($conto3['id'])); |
| 132 | + $dbo->table('an_anagrafiche') |
| 133 | + ->where('idconto_cliente', $conto3->id) |
| 134 | + ->update(['idconto_cliente' => null]); |
| 135 | + $dbo->table('an_anagrafiche') |
| 136 | + ->where('idconto_fornitore', $conto3->id) |
| 137 | + ->update(['idconto_fornitore' => null]); |
128 | 138 | } |
129 | 139 |
|
130 | 140 | // Elimino tutti i conti di livello 3 collegati |
131 | | - $dbo->query('DELETE FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '.prepare($idconto)); |
| 141 | + $deleted_l3 = $dbo->table('co_pianodeiconti3') |
| 142 | + ->where('idpianodeiconti2', $idconto) |
| 143 | + ->delete(); |
132 | 144 |
|
133 | 145 | // Infine elimino il conto di livello 2 |
134 | | - $query = 'DELETE FROM co_pianodeiconti2 WHERE id='.prepare($idconto); |
| 146 | + $deleted_l2 = $dbo->table('co_pianodeiconti2') |
| 147 | + ->where('id', $idconto) |
| 148 | + ->delete(); |
135 | 149 |
|
136 | | - if ($dbo->query($query)) { |
| 150 | + if ($deleted_l2) { |
137 | 151 | flash()->info(tr('Conto e tutti i suoi sottoconti eliminati!')); |
138 | 152 | } else { |
139 | 153 | flash()->error(tr('Errore durante l\'eliminazione del conto!')); |
|
144 | 158 | } else { |
145 | 159 | // Eliminazione conto di livello 3 (co_pianodeiconti3) - logica esistente |
146 | 160 | // Controllo che non esistano movimenti associati al conto |
147 | | - $movimenti = $dbo->fetchNum('SELECT id FROM co_movimenti WHERE idconto = '.prepare($idconto)); |
| 161 | + $movimenti = $dbo->table('co_movimenti') |
| 162 | + ->where('idconto', $idconto) |
| 163 | + ->count(); |
148 | 164 |
|
149 | 165 | if ($idconto != '' and empty($movimenti)) { |
150 | 166 | // Se elimino il conto lo scollego anche da eventuali anagrafiche (cliente e fornitore) |
151 | | - $dbo->query('UPDATE an_anagrafiche SET idconto_cliente = NULL WHERE idconto_cliente = '.prepare($idconto)); |
152 | | - $dbo->query('UPDATE an_anagrafiche SET idconto_fornitore = NULL WHERE idconto_fornitore = '.prepare($idconto)); |
153 | | - |
154 | | - $query = 'DELETE FROM co_pianodeiconti3 WHERE id='.prepare($idconto); |
155 | | - |
156 | | - if ($dbo->query($query)) { |
| 167 | + $dbo->table('an_anagrafiche') |
| 168 | + ->where('idconto_cliente', $idconto) |
| 169 | + ->update(['idconto_cliente' => null]); |
| 170 | + $dbo->table('an_anagrafiche') |
| 171 | + ->where('idconto_fornitore', $idconto) |
| 172 | + ->update(['idconto_fornitore' => null]); |
| 173 | + |
| 174 | + $deleted = $dbo->table('co_pianodeiconti3') |
| 175 | + ->where('id', $idconto) |
| 176 | + ->delete(); |
| 177 | + |
| 178 | + if ($deleted) { |
157 | 179 | flash()->info(tr('Conto eliminato!')); |
158 | 180 | } else { |
159 | 181 | flash()->error(tr('Errore durante l\'eliminazione del conto!')); |
|
167 | 189 | // Apertura bilancio |
168 | 190 | case 'apri-bilancio': |
169 | 191 | // Eliminazione eventuali movimenti di apertura fatti finora |
170 | | - $dbo->query('DELETE FROM co_movimenti WHERE is_apertura=1 AND data='.prepare($_SESSION['period_start'])); |
| 192 | + $dbo->table('co_movimenti') |
| 193 | + ->where('is_apertura', 1) |
| 194 | + ->where('data', $_SESSION['period_start']) |
| 195 | + ->delete(); |
171 | 196 |
|
172 | 197 | $idconto_apertura = setting('Conto per Apertura conti patrimoniali'); |
173 | 198 | $idconto_chiusura = setting('Conto per Chiusura conti patrimoniali'); |
|
221 | 246 | // Chiusura bilancio |
222 | 247 | case 'chiudi-bilancio': |
223 | 248 | // Eliminazione eventuali movimenti di chiusura fatti finora |
224 | | - $dbo->query('DELETE FROM co_movimenti WHERE is_chiusura=1 AND data='.prepare($_SESSION['period_end'])); |
| 249 | + $dbo->table('co_movimenti') |
| 250 | + ->where('is_chiusura', 1) |
| 251 | + ->where('data', $_SESSION['period_end']) |
| 252 | + ->delete(); |
225 | 253 |
|
226 | 254 | $idconto_apertura = setting('Conto per Apertura conti patrimoniali'); |
227 | 255 | $idconto_chiusura = setting('Conto per Chiusura conti patrimoniali'); |
|
278 | 306 | $end = post('end'); |
279 | 307 | $id_conto = post('id_conto'); |
280 | 308 |
|
281 | | - $dbo->query('UPDATE co_movimenti |
282 | | - INNER JOIN co_pianodeiconti3 ON co_pianodeiconti3.id = co_movimenti.idconto |
283 | | - SET co_movimenti.totale_reddito = (co_movimenti.totale * co_pianodeiconti3.percentuale_deducibile / 100) |
284 | | - WHERE co_pianodeiconti3.id = '.prepare($id_conto).' AND |
285 | | - co_movimenti.data BETWEEN '.prepare($start).' AND '.prepare($end)); |
| 309 | + $dbo->table('co_movimenti') |
| 310 | + ->join('co_pianodeiconti3', 'co_pianodeiconti3.id', '=', 'co_movimenti.idconto') |
| 311 | + ->where('co_pianodeiconti3.id', $id_conto) |
| 312 | + ->whereBetween('co_movimenti.data', [$start, $end]) |
| 313 | + ->update([ |
| 314 | + 'co_movimenti.totale_reddito' => $dbo->raw('(co_movimenti.totale * co_pianodeiconti3.percentuale_deducibile / 100)') |
| 315 | + ]); |
286 | 316 |
|
287 | 317 | break; |
288 | 318 |
|
|
292 | 322 | $id_conti3 = 0; |
293 | 323 |
|
294 | 324 | if (!empty($text)) { |
295 | | - $id_conti = $dbo->fetchArray('SELECT id AS idpianodeiconti2 FROM co_pianodeiconti2 WHERE descrizione LIKE '.prepare('%'.$text.'%').' OR numero LIKE '.prepare('%'.$text.'%')); |
| 325 | + $id_conti = $dbo->table('co_pianodeiconti2') |
| 326 | + ->select('id AS idpianodeiconti2') |
| 327 | + ->where('descrizione', 'like', '%'.$text.'%') |
| 328 | + ->orWhere('numero', 'like', '%'.$text.'%') |
| 329 | + ->get() |
| 330 | + ->toArray(); |
296 | 331 | $id_conti2 = array_column($id_conti, 'idpianodeiconti2'); |
297 | 332 |
|
298 | | - $id_conti = $dbo->fetchArray('SELECT id AS idpianodeiconti3, idpianodeiconti2 FROM co_pianodeiconti3 WHERE descrizione LIKE '.prepare('%'.$text.'%').' OR numero LIKE '.prepare('%'.$text.'%')); |
| 333 | + $id_conti = $dbo->table('co_pianodeiconti3') |
| 334 | + ->select('id AS idpianodeiconti3', 'idpianodeiconti2') |
| 335 | + ->where('descrizione', 'like', '%'.$text.'%') |
| 336 | + ->orWhere('numero', 'like', '%'.$text.'%') |
| 337 | + ->get() |
| 338 | + ->toArray(); |
299 | 339 |
|
300 | 340 | $id_conti3 = array_column($id_conti, 'idpianodeiconti3'); |
301 | 341 | $id_conti2_3 = array_column($id_conti, 'idpianodeiconti2'); |
|
0 commit comments