From 27bfe52eb79ba0be975f3c47b65694cb49a418ae Mon Sep 17 00:00:00 2001 From: Beppe Date: Tue, 20 Jun 2023 11:44:41 +0200 Subject: [PATCH] Controllo su numero ordine cliente --- modules/ordini/actions.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index eb7ac1d62..f1a476a2c 100755 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -19,6 +19,7 @@ include_once __DIR__.'/../../core.php'; +use Carbon\Carbon; use Modules\Anagrafiche\Anagrafica; use Modules\Articoli\Articolo as ArticoloOriginale; use Modules\Ordini\Components\Articolo; @@ -110,6 +111,32 @@ switch (post('op')) { $ordine->num_item = post('num_item'); $ordine->condizioni_fornitura = post('condizioni_fornitura'); + // Verifica la presenza di ordini con lo stesso numero + $ordini = $dbo->fetchArray("SELECT * FROM or_ordini WHERE numero_cliente=".prepare(post('numero_cliente'))." AND id!=".prepare($id_record)." AND idanagrafica=".prepare(post('idanagrafica'))." AND DATE_FORMAT(or_ordini.data, '%Y')=".prepare(Carbon::parse(post('data'))->copy()->format("Y"))); + + if (!empty($ordini)) { + + $ordine->numero_esterno = null; + + $documento = ''; + foreach($ordini as $rs){ + $descrizione = tr('Ordine cliente num. _NUM_ del _DATE_', [ + '_NUM_' => !empty($rs['numero_esterno']) ? $rs['numero_esterno'] : $rs['numero'], + '_DATE_' => Translator::dateToLocale($rs['data']), + ]); + + $documenti .= '
  • '.Modules::link('Ordini cliente', $rs['id'], $descrizione).'
  • '; + } + + flash()->error(tr('E\' giĆ  presente un ordine con numero _NUM_ ', [ + '_NUM_' => post('numero_cliente'), + '_ORDINI_' => $documenti, + ])); + + $ordine->numero_cliente = null; + $ordine->id_documento_fe = null; + } + $ordine->setScontoFinale(post('sconto_finale'), post('tipo_sconto_finale')); $ordine->save();