This commit is contained in:
Pek5892 2023-02-16 14:53:42 +01:00
parent 708757e03b
commit 4c12275966
1 changed files with 25 additions and 3 deletions

View File

@ -92,7 +92,7 @@ class Ordine extends Document
$model->idpagamento = $id_pagamento; $model->idpagamento = $id_pagamento;
} }
$model->numero = static::getNextNumero($data, $direzione); $model->numero = static::getNextNumero($data, $direzione, $id_segment);
$model->numero_esterno = static::getNextNumeroSecondario($data, $direzione, $id_segment); $model->numero_esterno = static::getNextNumeroSecondario($data, $direzione, $id_segment);
$model->save(); $model->save();
@ -198,9 +198,31 @@ class Ordine extends Document
* *
* @return string * @return string
*/ */
public static function getNextNumero($data, $direzione) public static function getNextNumero($data, $direzione, $id_segment)
{ {
$maschera = '#'; if ($direzione == 'entrata') {
$maschera = '#';
} else {
$maschera = Generator::getMaschera($id_segment);
if (strpos($maschera, 'm') !== false) {
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
'MONTH(data) = '.prepare(date('m', strtotime($data))),
'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')',
]);
} elseif ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) {
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')',
]);
} else {
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')',
]);
}
}
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [ $ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [
'YEAR(data) = '.prepare(date('Y', strtotime($data))), 'YEAR(data) = '.prepare(date('Y', strtotime($data))),