|
56 | 56 | $ddt->idcausalet = post('idcausalet'); |
57 | 57 | $ddt->save(); |
58 | 58 |
|
59 | | - flash()->info(tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [ |
| 59 | + flash()->info(tr('Aggiunto ddt in _TYPE_!', [ |
60 | 60 | '_TYPE_' => ($dir == 'entrata' ? 'uscita' : 'entrata'), |
61 | | - '_NUM_' => ($dir == 'entrata' ? $ddt->numero_esterno : $ddt->numero), |
62 | 61 | ])); |
63 | 62 |
|
64 | 63 | break; |
|
123 | 122 |
|
124 | 123 | $ddt->setScontoFinale(post('sconto_finale'), post('tipo_sconto_finale')); |
125 | 124 |
|
126 | | - $ddt->save(); |
| 125 | + // Assegna il numero progressivo se il DDT viene evaso |
| 126 | + $stato = Stato::find($idstatoddt); |
127 | 127 |
|
128 | | - $query = 'SELECT `title` FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_statiddt`.`id`='.prepare($idstatoddt); |
129 | | - $rs = $dbo->fetchArray($query); |
| 128 | + if ($stato->name == 'Evaso' && $dir == 'entrata' && empty($ddt->numero_esterno)) { |
| 129 | + $ddt->numero_esterno = DDT::getNextNumeroSecondario($ddt->data, $dir, $ddt->id_segment); |
| 130 | + } |
| 131 | + $ddt->save(); |
130 | 132 |
|
131 | | - // Ricalcolo inps, ritenuta e bollo (se l'ddt non è stato evaso) |
| 133 | + // Ricalcolo inps, ritenuta e bollo (se il ddt non è stato evaso) |
132 | 134 | if ($dir == 'entrata') { |
133 | | - if ($rs[0]['descrizione'] != 'Pagato') { |
| 135 | + if ($stato->name != 'Pagato') { |
134 | 136 | ricalcola_costiagg_ddt($id_record); |
135 | 137 | } |
136 | 138 | } else { |
137 | | - if ($rs[0]['descrizione'] != 'Pagato') { |
| 139 | + if ($stato->name != 'Pagato') { |
138 | 140 | ricalcola_costiagg_ddt($id_record, $idrivalsainps, $idritenutaacconto, $bollo); |
139 | 141 | } |
140 | 142 | } |
|
578 | 580 | $copia->idsede_partenza = $ddt->idsede_partenza; |
579 | 581 | $copia->idsede_destinazione = $ddt->idsede_destinazione; |
580 | 582 |
|
| 583 | + // Assegna il numero progressivo poiché il DDT viene creato già evaso |
| 584 | + $copia->numero_esterno = DDT::getNextNumeroSecondario($copia->data, $dir, $copia->id_segment); |
| 585 | + |
581 | 586 | $copia->save(); |
582 | 587 |
|
583 | 588 | // Copia righe |
|
612 | 617 | case 'copy': |
613 | 618 | $new = $ddt->replicate(); |
614 | 619 |
|
615 | | - $new->numero = DDT::getNextNumero($new->data, $dir, $ddt->id_segment); |
616 | | - $new->numero_esterno = DDT::getNextNumeroSecondario($new->data, $dir, $new->id_segment); |
| 620 | + // Il numero progressivo viene assegnato solo al momento dell'evasione |
| 621 | + $new->numero = ''; |
| 622 | + $new->numero_esterno = ''; |
617 | 623 |
|
618 | 624 | $stato = Stato::where('name', 'Bozza')->first()->id; |
619 | 625 | $new->stato()->associate($stato); |
|
0 commit comments