Fix per calcolo numero protocollo in base a data registrazione

This commit is contained in:
loviuz 2022-01-11 11:54:50 +01:00
parent dad3b04692
commit 0bad4748ce
3 changed files with 9 additions and 9 deletions

View File

@ -91,7 +91,7 @@ class Fattura extends Document
*
* @return self
*/
public static function build(Anagrafica $anagrafica, Tipo $tipo_documento, $data, $id_segment, $numero_esterno = null)
public static function build(Anagrafica $anagrafica, Tipo $tipo_documento, $data, $id_segment, $numero_esterno = null, $data_registrazione = null)
{
$model = new static();
@ -120,7 +120,7 @@ class Fattura extends Document
// Salvataggio delle informazioni
$model->data = $data;
$model->data_registrazione = $data;
$model->data_registrazione = $data_registrazione ?: $data;
$model->data_competenza = $data;
$model->id_segment = $id_segment;
$model->idconto = $id_conto;
@ -224,7 +224,7 @@ class Fattura extends Document
// Calcolo dei numeri fattura
if ($value != $previous) {
$direzione = $this->tipo->dir;
$data = $this->data;
$data = $this->data_registrazione;
$this->numero = static::getNextNumero($data, $direzione, $value);
@ -757,7 +757,7 @@ class Fattura extends Document
$maschera = Generator::getMaschera($id_segment);
$ultimo = Generator::getPreviousFrom($maschera, 'co_documenti', 'numero', [
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
'YEAR(data_registrazione) = '.prepare(date('Y', strtotime($data))),
'id_segment = '.prepare($id_segment),
]);
$numero = Generator::generate($maschera, $ultimo, 1, Generator::dateToPattern($data));

View File

@ -310,7 +310,7 @@ class FatturaElettronica
$dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento'];
$data = self::parseDate($dati_generali['Data']);
$fattura = $this->prepareFattura($id_tipo, $data, $id_sezionale, $ref_fattura);
$fattura = $this->prepareFattura($id_tipo, $data, $data_registrazione, $id_sezionale, $ref_fattura);
$this->fattura = $fattura;
$numero_esterno = $dati_generali['Numero'];
@ -383,13 +383,13 @@ class FatturaElettronica
return date('Y-m-d', strtotime($data));
}
protected function prepareFattura($id_tipo, $data, $id_sezionale, $ref_fattura)
protected function prepareFattura($id_tipo, $data, $data_registrazione, $id_sezionale, $ref_fattura)
{
$anagrafica = $this->saveAnagrafica();
$tipo = TipoFattura::where('id', $id_tipo)->first();
$fattura = Fattura::build($anagrafica, $tipo, $data, $id_sezionale);
$fattura = Fattura::build($anagrafica, $tipo, $data, $id_sezionale, null, $data_registrazione);
$this->fattura = $fattura;
// Riferimento per nota di credito e debito

View File

@ -341,9 +341,9 @@ class FatturaOrdinaria extends FatturaElettronica
}
}
protected function prepareFattura($id_tipo, $data, $id_sezionale, $ref_fattura)
protected function prepareFattura($id_tipo, $data, $data_registrazione, $id_sezionale, $ref_fattura)
{
$fattura = parent::prepareFattura($id_tipo, $data, $id_sezionale, $ref_fattura);
$fattura = parent::prepareFattura($id_tipo, $data, $data_registrazione, $id_sezionale, $ref_fattura);
$database = database();
$righe = $this->getRighe();