Skip to content

Commit 334a412

Browse files
committed
fix: registrazioni associate a conti rimossi
1 parent c5bcacd commit 334a412

1 file changed

Lines changed: 45 additions & 6 deletions

File tree

update/2_7_2.php

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<?php
2+
use Modules\Fatture\Fattura;
3+
use Modules\Anagrafiche\Anagrafica;
24

35
include __DIR__.'/../config.inc.php';
4-
$module = \Models\Module::where('name', 'Fatture di vendita')->first();
56

7+
$module = \Models\Module::where('name', 'Fatture di vendita')->first();
68
$directory = 'files/fatture/';
79
$files = glob($directory.'*.xml');
8-
910
$new_folder = 'files/'.$module->attachments_directory.'/';
1011
directory($new_folder);
1112

1213
$attachments = database()->fetchArray('SELECT `filename` FROM `zz_files` WHERE `name` = "Fattura Elettronica" AND `id_module` = '.$module->id);
13-
1414
$attachments_filenames = array_column($attachments, 'filename');
1515

1616
foreach ($files as $file) {
@@ -20,18 +20,57 @@
2020
}
2121
}
2222

23-
24-
// File e cartelle deprecate
23+
// Rimozione file e cartelle deprecate
2524
$files = [
2625
'assets/src/js/wacom/modules/protobufjs/bin/',
2726
'assets/src/js/wacom/modules/protobufjs/cli/',
2827
'assets/src/js/wacom/modules/protobufjs/CHANGELOG.md',
2928
'assets/src/js/wacom/modules/protobufjs/scripts/changelog.js',
3029
'assets/src/js/wacom/modules/protobufjs/dist/minimal/README.md',
30+
'modules/articoli/controller_before.php'
3131
];
3232

3333
foreach ($files as $key => $value) {
3434
$files[$key] = realpath(base_dir().'/'.$value);
3535
}
3636

37-
delete($files);
37+
delete($files);
38+
39+
// Fix conti collegati alle anagrafiche
40+
$anagrafiche = Anagrafica::all();
41+
42+
foreach ($anagrafiche as $anagrafica) {
43+
if ($anagrafica->isTipo('Cliente')) {
44+
Anagrafica::fixCliente($anagrafica);
45+
}
46+
47+
if ($anagrafica->isTipo('Fornitore')) {
48+
Anagrafica::fixFornitore($anagrafica);
49+
}
50+
}
51+
52+
// Fix conto per registrazione contabile associate ai conti riepilogativi
53+
$riepilogativo_fornitori = $dbo->fetchOne('SELECT id FROM co_pianodeiconti3 WHERE descrizione = "Riepilogativo fornitori"')['id'];
54+
$riepilogativo_clienti = $dbo->fetchOne('SELECT id FROM co_pianodeiconti3 WHERE descrizione = "Riepilogativo clienti"')['id'];
55+
$fatture = $dbo->fetchArray('SELECT iddocumento FROM `co_movimenti` WHERE `idconto` IN('.$riepilogativo_clienti.', '.$riepilogativo_fornitori.')');
56+
foreach ($fatture as $fattura) {
57+
$fattura = Fattura::find($fattura['iddocumento']);
58+
$conto_cliente = $fattura->anagrafica->idconto_cliente;
59+
$conto_fornitore = $fattura->anagrafica->idconto_fornitore;
60+
61+
if ($conto_fornitore) {
62+
$dbo->query('UPDATE co_movimenti SET idconto = '.$conto_fornitore.' WHERE iddocumento = '.$fattura->id.' AND idconto = '.$riepilogativo_fornitori);
63+
}
64+
if ($conto_cliente) {
65+
$dbo->query('UPDATE co_movimenti SET idconto = '.$conto_cliente.' WHERE iddocumento = '.$fattura->id.' AND idconto = '.$riepilogativo_clienti);
66+
}
67+
68+
}
69+
70+
// Fix registrazioni contabili associate a conti rimossi
71+
$fatture_senzanome = $dbo->fetchArray('SELECT `iddocumento`, `idconto` FROM `co_movimenti` WHERE `idconto` NOT IN (SELECT `id` FROM `co_pianodeiconti3`)');
72+
foreach ($fatture_senzanome as $fattura) {
73+
$documento = Fattura::find($fattura['iddocumento']);
74+
$conto = ($documento->tipo->dir == 'uscita' ? $documento->anagrafica->idconto_fornitore : $documento->anagrafica->idconto_cliente);
75+
$dbo->query('UPDATE co_movimenti SET idconto = '.$conto.' WHERE iddocumento = '.$documento->id.' AND idconto = '.$fattura['idconto']);
76+
}

0 commit comments

Comments
 (0)