mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-25 23:33:02 +01:00
Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
72e9a16bf6
@ -29,6 +29,17 @@ if ($module['name'] == 'Ddt di vendita') {
|
|||||||
$dir = 'uscita';
|
$dir = 'uscita';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$numero_previsto = verifica_numero_ddt($ddt);
|
||||||
|
if (!empty($numero_previsto)) {
|
||||||
|
echo '
|
||||||
|
<div class="alert alert-warning">
|
||||||
|
<i class="fa fa-warning"></i> '.tr("E' assente una fattura di vendita di numero _NUM_ in data precedente o corrispondente a _DATE_: si potrebbero verificare dei problemi con la numerazione corrente delle fatture", [
|
||||||
|
'_DATE_' => dateFormat($fattura->data),
|
||||||
|
'_NUM_' => '"'.$numero_previsto.'"',
|
||||||
|
]).'.</b>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<form action="" method="post" id="edit-form">
|
<form action="" method="post" id="edit-form">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
use Modules\DDT\DDT;
|
use Modules\DDT\DDT;
|
||||||
|
use Util\Generator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funzione per generare un nuovo numero per il ddt.
|
* Funzione per generare un nuovo numero per il ddt.
|
||||||
@ -213,3 +214,45 @@ function get_stato_ddt($idddt)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function verifica_numero_ddt(DDT $ddt)
|
||||||
|
{
|
||||||
|
global $dbo;
|
||||||
|
|
||||||
|
if (empty($ddt->numero_esterno)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $ddt->data;
|
||||||
|
$tipo = $ddt->tipo;
|
||||||
|
|
||||||
|
$documenti = DDT::where('idtipoddt', $tipo->id)
|
||||||
|
->where('data', $data)
|
||||||
|
->get();
|
||||||
|
|
||||||
|
// Recupero maschera per questo segmento
|
||||||
|
$maschera = setting('Formato numero secondario ddt');
|
||||||
|
|
||||||
|
$ultimo = Generator::getPreviousFrom($maschera, 'dt_ddt', 'numero_esterno', [
|
||||||
|
'data < '.prepare(date('Y-m-d', strtotime($data))),
|
||||||
|
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
|
||||||
|
'idtipoddt = '.prepare($tipo->id),
|
||||||
|
], $data);
|
||||||
|
|
||||||
|
do {
|
||||||
|
$numero = Generator::generate($maschera, $ultimo, 1, Generator::dateToPattern($data));
|
||||||
|
|
||||||
|
$filtered = $documenti->reject(function ($item, $key) use ($numero) {
|
||||||
|
return $item->numero_esterno == $numero;
|
||||||
|
});
|
||||||
|
|
||||||
|
if ($documenti->count() == $filtered->count()) {
|
||||||
|
return $numero;
|
||||||
|
}
|
||||||
|
|
||||||
|
$documenti = $filtered;
|
||||||
|
$ultimo = $numero;
|
||||||
|
} while ($numero != $fattura->numero_esterno);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user