Fix #592
This commit is contained in:
parent
5aa795553b
commit
4a6ac3c870
|
@ -2,9 +2,27 @@
|
|||
|
||||
namespace Common;
|
||||
|
||||
use Models\Hook;
|
||||
|
||||
abstract class HookManager
|
||||
{
|
||||
abstract public function manage();
|
||||
|
||||
abstract public function response($results);
|
||||
|
||||
public static function update($results)
|
||||
{
|
||||
$hook = self::getHook();
|
||||
|
||||
$hook->updateCache($results);
|
||||
}
|
||||
|
||||
protected static function getHook()
|
||||
{
|
||||
$class = get_called_class();
|
||||
|
||||
$hook = Hook::where('class', $class)->first();
|
||||
|
||||
return $hook;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,7 +81,6 @@ switch (post('op')) {
|
|||
$idanagrafica = $dbo->fetchOne('SELECT GROUP_CONCAT(idanagrafica) AS idanagrafica FROM an_anagrafiche WHERE codice_fiscale = '.prepare(post('codice_fiscale')).' AND idanagrafica != '.prepare($id_record))['idanagrafica'];
|
||||
|
||||
if (!empty($idanagrafica)) {
|
||||
|
||||
$array = explode(',', $idanagrafica);
|
||||
foreach ($array as $value) {
|
||||
flash()->warning(tr('Attenzione: il codice fiscale _COD_ è già stato censito _LINK_', [
|
||||
|
@ -89,7 +88,6 @@ switch (post('op')) {
|
|||
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
|
||||
]));
|
||||
}
|
||||
|
||||
} else {
|
||||
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
|
||||
}
|
||||
|
@ -109,7 +107,6 @@ switch (post('op')) {
|
|||
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
|
||||
]));
|
||||
}
|
||||
|
||||
} else {
|
||||
$anagrafica->partita_iva = post('piva');
|
||||
}
|
||||
|
|
|
@ -234,13 +234,6 @@ class Anagrafica extends Model
|
|||
return $this;
|
||||
}
|
||||
|
||||
protected function fixRagioneSociale()
|
||||
{
|
||||
if (!empty($this->cognome) || !empty($this->nome)) {
|
||||
$this->ragione_sociale = $this->cognome.' '.$this->nome;
|
||||
}
|
||||
}
|
||||
|
||||
// Metodi statici
|
||||
|
||||
/**
|
||||
|
@ -262,5 +255,10 @@ class Anagrafica extends Model
|
|||
return $codice;
|
||||
}
|
||||
|
||||
|
||||
protected function fixRagioneSociale()
|
||||
{
|
||||
if (!empty($this->cognome) || !empty($this->nome)) {
|
||||
$this->ragione_sociale = $this->cognome.' '.$this->nome;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -311,8 +311,6 @@ $rs_prezzo_medio = $dbo->fetchOne('SELECT ((SUM(subtotale)-SUM(sconto))/SUM(qta)
|
|||
$rs_prezzo_min = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) ASC');
|
||||
$rs_prezzo_max = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) DESC');
|
||||
|
||||
|
||||
|
||||
if (count($rs_prezzo_min) > 0) {
|
||||
echo '
|
||||
<div class="row">
|
||||
|
@ -337,7 +335,6 @@ if (count($rs_prezzo_min) > 0) {
|
|||
<td>'.((strtotime($rs_prezzo_min['data']) == strtotime($rs_prezzo_max['data'])) ? 'N.D.' : ((strtotime($rs_prezzo_min['data']) < strtotime($rs_prezzo_max['data'])) ? 'in aumento' : 'in diminuzione')).'</td>
|
||||
</tr>';
|
||||
|
||||
|
||||
echo '
|
||||
</table>
|
||||
</div>
|
||||
|
@ -446,7 +443,6 @@ if (!empty($elementi)) {
|
|||
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
|
||||
</div>';
|
||||
} else {
|
||||
|
||||
?>
|
||||
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
|
|
|
@ -27,9 +27,9 @@ $sedi = $dbo->fetchArray('(SELECT "0" AS id, "Sede legale" AS nomesede) UNION (S
|
|||
|
||||
// Lettura eventuali movimenti ad una propria sede (nel caso di movimenti fra sedi della mia azienda)
|
||||
if ($sede['id'] != 0) {
|
||||
$qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte WHERE mg_movimenti.idarticolo=".prepare($id_record)." AND idsede_controparte=".prepare($sede['id'])." GROUP BY idsede_controparte");
|
||||
$qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte WHERE mg_movimenti.idarticolo=".prepare($id_record).' AND idsede_controparte='.prepare($sede['id']).' GROUP BY idsede_controparte');
|
||||
} else {
|
||||
$qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM ((( mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte ) LEFT JOIN dt_ddt ON mg_movimenti.idddt = dt_ddt.id ) LEFT JOIN co_documenti ON mg_movimenti.iddocumento = co_documenti.id ) WHERE mg_movimenti.idarticolo=".prepare($id_record)." AND idsede_controparte=".prepare($sede['id'])." AND IFNULL( dt_ddt.idanagrafica, co_documenti.idanagrafica ) = ".prepare(setting('Azienda predefinita'))." GROUP BY idsede_controparte");
|
||||
$qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM ((( mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte ) LEFT JOIN dt_ddt ON mg_movimenti.idddt = dt_ddt.id ) LEFT JOIN co_documenti ON mg_movimenti.iddocumento = co_documenti.id ) WHERE mg_movimenti.idarticolo=".prepare($id_record).' AND idsede_controparte='.prepare($sede['id']).' AND IFNULL( dt_ddt.idanagrafica, co_documenti.idanagrafica ) = '.prepare(setting('Azienda predefinita')).' GROUP BY idsede_controparte');
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -167,8 +167,7 @@ switch (get('op')) {
|
|||
(!empty($r['data_scadenza'] and $r['data_scadenza'] != '0000-00-00 00:00:00') ? '<br><small>'.tr('entro il: ').''.Translator::dateToLocale($r['data_scadenza']).'</small>' : '').'
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
} ?>
|
||||
<script type="text/javascript">
|
||||
$(".request").shorten({
|
||||
moreText: '<?php echo tr('Mostra tutto'); ?>',
|
||||
|
|
|
@ -128,7 +128,7 @@ function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento, $i
|
|||
$add_query = 'AND id='.prepare($idscadenza);
|
||||
}
|
||||
|
||||
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ".$add_query." ORDER BY scadenza ASC";
|
||||
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ".$add_query.' ORDER BY scadenza ASC';
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$rimanente_da_pagare = abs($rs[0]['pagato']) + $totale_pagato;
|
||||
|
||||
|
|
|
@ -3,8 +3,13 @@
|
|||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Plugins\ImportFE\Interaction;
|
||||
use Plugins\ImportFE\InvoiceHook;
|
||||
|
||||
$list = Interaction::listToImport();
|
||||
|
||||
// Aggiornamento cache hook
|
||||
InvoiceHook::update($list);
|
||||
|
||||
$directory = Plugins\ImportFE\FatturaElettronica::getImportDirectory();
|
||||
|
||||
if (!empty($list)) {
|
||||
|
|
|
@ -69,12 +69,15 @@ class FatturaElettronica
|
|||
if (!isset(self::$directory)) {
|
||||
$module = Modules::get('Fatture di acquisto');
|
||||
|
||||
$plugin = $module->plugins->first(function ($value, $key) {
|
||||
$plugins = $module->plugins;
|
||||
if (!empty($plugins)) {
|
||||
$plugin = $plugins->first(function ($value, $key) {
|
||||
return $value->name == 'Fatturazione Elettronica';
|
||||
});
|
||||
|
||||
self::$directory = DOCROOT.'/'.$plugin->upload_directory;
|
||||
}
|
||||
}
|
||||
|
||||
return self::$directory;
|
||||
}
|
||||
|
|
|
@ -3,12 +3,16 @@
|
|||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Plugins\ReceiptFE\Interaction;
|
||||
use Plugins\ReceiptFE\ReceiptHook;
|
||||
use Plugins\ReceiptFE\Ricevuta;
|
||||
|
||||
switch (filter('op')) {
|
||||
case 'import':
|
||||
$list = Interaction::getReceiptList();
|
||||
|
||||
// Aggiornamento cache hook
|
||||
ReceiptHook::update($list);
|
||||
|
||||
$results = [];
|
||||
foreach ($list as $name) {
|
||||
Interaction::getReceipt($name);
|
||||
|
|
|
@ -66,6 +66,14 @@ class Hook extends Model
|
|||
} else {
|
||||
$results = $hook->manage();
|
||||
|
||||
$this->updateCache($results);
|
||||
}
|
||||
|
||||
return $hook->response($results);
|
||||
}
|
||||
|
||||
public function updateCache($results)
|
||||
{
|
||||
// Rimozione cache precedente
|
||||
$database = database();
|
||||
$database->delete('zz_hook_cache', [
|
||||
|
@ -83,9 +91,6 @@ class Hook extends Model
|
|||
$this->getCacheAttribute();
|
||||
}
|
||||
|
||||
return $hook->response($results);
|
||||
}
|
||||
|
||||
public function getCacheAttribute()
|
||||
{
|
||||
if (!isset($this->cached)) {
|
||||
|
|
Loading…
Reference in New Issue