This commit is contained in:
Pek5892 2023-02-16 17:42:10 +01:00
parent 1c592767d6
commit 5287372b0c
3 changed files with 15 additions and 9 deletions

View File

@ -55,8 +55,8 @@ switch (filter('op')) {
$ddt->save();
flash()->info(tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [
'_TYPE_' => $dir,
'_NUM_' => $ddt->numero,
'_TYPE_' => ($dir == 'entrata' ? 'uscita': 'entrata'),
'_NUM_' => ($dir == 'uscita' ? $ddt->numero: $ddt->numero_esterno)
]));
break;
@ -531,7 +531,7 @@ switch (filter('op')) {
// Duplica ddt
case 'copy':
$new = $ddt->replicate();
$new->numero = DDT::getNextNumero($new->data, $dir);
$new->numero = DDT::getNextNumero($new->data, $dir, $id_segment);
$new->numero_esterno = DDT::getNextNumeroSecondario($new->data, $dir, $new->id_segment);
$stato = Stato::where('descrizione', '=', 'Bozza')->first();

View File

@ -99,7 +99,7 @@ class DDT extends Document
$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);
// Imposto, come sede aziendale, la prima sede disponibile come utente
@ -263,15 +263,19 @@ class DDT extends Document
*
* @return string
*/
public static function getNextNumero($data, $direzione)
public static function getNextNumero($data, $direzione, $id_segment)
{
$maschera = '#';
if ($direzione == 'entrata') {
return '';
}
$maschera = Generator::getMaschera($id_segment);
$ultimo = Generator::getPreviousFrom($maschera, 'dt_ddt', 'numero', [
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
'idtipoddt IN (SELECT id FROM dt_tipiddt WHERE dir = '.prepare($direzione).')',
]);
$numero = Generator::generate($maschera, $ultimo);
$numero = Generator::generate($maschera, $ultimo, 1, Generator::dateToPattern($data));
return $numero;
}

View File

@ -91,7 +91,7 @@ FROM
LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt`
LEFT JOIN (SELECT `zz_operations`.`id_email`, `zz_operations`.`id_record` FROM `zz_operations` INNER JOIN `em_emails` ON `zz_operations`.`id_email` = `em_emails`.`id` INNER JOIN `em_templates` ON `em_emails`.`id_template` = `em_templates`.`id` INNER JOIN `zz_modules` ON `zz_operations`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Ddt di vendita' AND `zz_operations`.`op` = 'send-email' GROUP BY `zz_operations`.`id_record`) AS `email` ON `email`.`id_record` = `dt_ddt`.`id`
WHERE
1=1 AND `dir` = 'entrata' AND (`data` BETWEEN '2023-01-01' AND '2023-12-31 23:59:59')
1=1 AND `dir` = 'entrata' |date_period(`data`)|
HAVING
2=2
ORDER BY
@ -182,4 +182,6 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`,
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Data emissione fattura automatica", '0', 'boolean', '1', 'Fatturazione', NULL, "Impedisce l'emissione di fatture di vendita con data precedente alla data dell'ultima fattura emessa");
-- Fix name file Fatture Elettroniche in zz_files se si aggiorna da una versione precedente alla 2.4.4
UPDATE `zz_files` SET `name` = 'Fattura Elettronica' WHERE `name` = 'Fattura Elettronica (XML)';
UPDATE `zz_files` SET `name` = 'Fattura Elettronica' WHERE `name` = 'Fattura Elettronica (XML)';
ALTER TABLE `dt_ddt` CHANGE `numero` `numero` VARCHAR(100) NOT NULL;