|
94 | 94 |
|
95 | 95 | $files_xml = scandir($directory); |
96 | 96 | } else { |
97 | | - $files_xml[] = $file ?: $files; |
| 97 | + // Messaggio di errore per file non ZIP |
| 98 | + echo json_encode([ |
| 99 | + 'error' => tr('È possibile caricare solo file ZIP. Il file selezionato non è un file ZIP valido.'), |
| 100 | + ]); |
| 101 | + exit; |
98 | 102 | } |
99 | 103 |
|
100 | 104 | $i = 1; |
|
185 | 189 |
|
186 | 190 | exit; |
187 | 191 | } else { |
188 | | - $files_xml[] = $file ?: $files; |
189 | | - |
190 | | - $i = 1; |
191 | | - foreach ($files_xml as $xml) { |
192 | | - if ($xml != '.' && $xml != '..' && is_file($directory.'/'.$xml)) { |
193 | | - if (FatturaElettronica::isValid($xml, 'Fatture di vendita', 'Importazione FE')) { |
194 | | - if (string_ends_with($xml, '.p7m')) { |
195 | | - $file = XML::decodeP7M($directory.'/'.$xml); |
196 | | - } else { |
197 | | - $file = XML::readFile($directory.'/'.$xml); |
198 | | - } |
199 | | - |
200 | | - $file = FatturaElettronica::store($xml, $content); |
201 | | - } |
202 | | - } |
203 | | - } |
| 192 | + // Messaggio di errore per file non ZIP |
| 193 | + echo json_encode([ |
| 194 | + 'error' => tr('È possibile caricare solo file ZIP. Il file selezionato non è un file ZIP valido.'), |
| 195 | + ]); |
| 196 | + exit; |
204 | 197 | } |
205 | 198 | } |
206 | 199 |
|
|
554 | 547 |
|
555 | 548 | // Se nella fattura elettronica è indicato un DDT cerco quel documento specifico |
556 | 549 | $ddt = $dati_ddt[$numero_linea]; |
557 | | - $query = "SELECT |
558 | | - `dt_righe_ddt`.`id`, |
559 | | - `dt_righe_ddt`.`idddt` AS id_documento, |
560 | | - `dt_righe_ddt`.`is_descrizione`, |
561 | | - `dt_righe_ddt`.`idarticolo`, |
| 550 | + $query = "SELECT |
| 551 | + `dt_righe_ddt`.`id`, |
| 552 | + `dt_righe_ddt`.`idddt` AS id_documento, |
| 553 | + `dt_righe_ddt`.`is_descrizione`, |
| 554 | + `dt_righe_ddt`.`idarticolo`, |
562 | 555 | `dt_righe_ddt`.`is_sconto`, 'ddt' AS ref, |
563 | 556 | CONCAT('DDT num. ', IF(`numero_esterno` != '', `numero_esterno`, `numero`), ' del ', DATE_FORMAT(`data`, '%d/%m/%Y'), ' [', `dt_statiddt_lang`.`title`, ']') AS opzione |
564 | | - FROM |
| 557 | + FROM |
565 | 558 | `dt_righe_ddt` |
566 | 559 | INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` |
567 | 560 | INNER JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt` |
|
595 | 588 | // cerco per quell'ordine |
596 | 589 | if (empty($collegamento)) { |
597 | 590 | $ordine = $dati_ordini[$numero_linea]; |
598 | | - $query = "SELECT |
599 | | - `or_righe_ordini`.`id`, |
600 | | - `or_righe_ordini`.`idordine` AS id_documento, |
601 | | - `or_righe_ordini`.`is_descrizione`, |
602 | | - `or_righe_ordini`.`idarticolo`, |
603 | | - `or_righe_ordini`.`is_sconto`, |
| 591 | + $query = "SELECT |
| 592 | + `or_righe_ordini`.`id`, |
| 593 | + `or_righe_ordini`.`idordine` AS id_documento, |
| 594 | + `or_righe_ordini`.`is_descrizione`, |
| 595 | + `or_righe_ordini`.`idarticolo`, |
| 596 | + `or_righe_ordini`.`is_sconto`, |
604 | 597 | 'ordine' AS ref, |
605 | 598 | CONCAT('Ordine num. ', IF(`numero_esterno` != '', `numero_esterno`, `numero`), ' del ', DATE_FORMAT(`data`, '%d/%m/%Y'), ' [', `or_statiordine_lang`.`title` , ']') AS opzione |
606 | 599 | FROM `or_righe_ordini` |
|
640 | 633 | // Se non ci sono Ordini o DDT cerco per contenuto |
641 | 634 | if (empty($collegamento)) { |
642 | 635 | $match_documento_da_fe = false; |
643 | | - $query = "SELECT |
644 | | - `dt_righe_ddt`.`id`, |
645 | | - `dt_righe_ddt`.`idddt` AS id_documento, |
646 | | - `dt_righe_ddt`.`is_descrizione`, |
647 | | - `dt_righe_ddt`.`idarticolo`, |
648 | | - `dt_righe_ddt`.`is_sconto`, |
| 636 | + $query = "SELECT |
| 637 | + `dt_righe_ddt`.`id`, |
| 638 | + `dt_righe_ddt`.`idddt` AS id_documento, |
| 639 | + `dt_righe_ddt`.`is_descrizione`, |
| 640 | + `dt_righe_ddt`.`idarticolo`, |
| 641 | + `dt_righe_ddt`.`is_sconto`, |
649 | 642 | 'ddt' AS ref, |
650 | 643 | CONCAT('DDT num. ', IF(`numero_esterno` != '', `numero_esterno`, `numero`), ' del ', DATE_FORMAT(`data`, '%d/%m/%Y'), ' [', `dt_statiddt_lang`.`title`, ']') AS opzione |
651 | | - FROM |
| 644 | + FROM |
652 | 645 | `dt_righe_ddt` |
653 | 646 | INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` |
654 | 647 | INNER JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt` |
655 | 648 | LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record` = `dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') |
656 | 649 | INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` |
657 | | - WHERE |
658 | | - `dt_ddt`.`idanagrafica` = '.prepare($anagrafica->id)." AND |
659 | | - |where_ddt| AND |
660 | | - `dt_righe_ddt`.`qta` > `dt_righe_ddt`.`qta_evasa` AND |
| 650 | + WHERE |
| 651 | + `dt_ddt`.`idanagrafica` = '.prepare($anagrafica->id)." AND |
| 652 | + |where_ddt| AND |
| 653 | + `dt_righe_ddt`.`qta` > `dt_righe_ddt`.`qta_evasa` AND |
661 | 654 | `dt_statiddt_lang`.`title` != 'Fatturato' AND |
662 | 655 | `dt_tipiddt`.`dir` = 'entrata' |
663 | | - UNION |
664 | | - SELECT |
| 656 | + UNION |
| 657 | + SELECT |
665 | 658 | `or_righe_ordini`.`id`, |
666 | 659 | `or_righe_ordini`.`idordine` AS id_documento, |
667 | | - `or_righe_ordini`.`is_descrizione`, |
668 | | - `or_righe_ordini`.`idarticolo`, |
669 | | - `or_righe_ordini`.`is_sconto`, |
| 660 | + `or_righe_ordini`.`is_descrizione`, |
| 661 | + `or_righe_ordini`.`idarticolo`, |
| 662 | + `or_righe_ordini`.`is_sconto`, |
670 | 663 | 'ordine' AS ref, |
671 | 664 | CONCAT('Ordine num. ', IF(`numero_esterno` != '', `numero_esterno`, `numero`), ' del ', DATE_FORMAT(`data`, '%d/%m/%Y'), ' [', (SELECT `descrizione` FROM `or_statiordine` WHERE `id` = `idstatoordine`) , ']') AS opzione |
672 | | - FROM |
| 665 | + FROM |
673 | 666 | `or_righe_ordini` |
674 | 667 | INNER JOIN `or_ordini` ON `or_ordini`.`id` = `or_righe_ordini`.`idordine` |
675 | 668 | INNER JOIN `or_statiordine` ON `or_statiordine`.`id` = `or_ordini`.`idstatoordine` |
676 | 669 | LEFT JOIN `or_statiordine_lang` ON (`or_statiordine_lang`.`id_record` = `or_statiordine`.`id` AND `or_statiordine_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') |
677 | 670 | INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` |
678 | | - WHERE |
679 | | - `or_ordini`.`idanagrafica` = '.prepare($anagrafica->id)." AND |
680 | | - |where_ordini| AND |
681 | | - `or_righe_ordini`.`qta` > `or_righe_ordini`.`qta_evasa` AND |
| 671 | + WHERE |
| 672 | + `or_ordini`.`idanagrafica` = '.prepare($anagrafica->id)." AND |
| 673 | + |where_ordini| AND |
| 674 | + `or_righe_ordini`.`qta` > `or_righe_ordini`.`qta_evasa` AND |
682 | 675 | `or_statiordine_lang`.`title` != 'Fatturato' AND |
683 | 676 | `or_tipiordine`.`dir` ='entrata'"; |
684 | 677 |
|
|
0 commit comments