diff --git a/actions.php b/actions.php index 438115764..6ec276a31 100755 --- a/actions.php +++ b/actions.php @@ -424,6 +424,8 @@ elseif (post('op') == 'send-email') { } } elseif (filter('op') == 'visualizza_righe_riferimenti') { include_once base_dir().'/include/riferimenti/riferimenti.php'; +} elseif (filter('op') == 'visualizza_documenti_collegati') { + include_once base_dir().'/include/riferimenti/documenti_collegati.php'; } elseif (filter('op') == 'visualizza_righe_documento') { include_once base_dir().'/include/riferimenti/righe_documento.php'; } elseif (filter('op') == 'salva_riferimento_riga') { diff --git a/include/riferimenti/documenti_collegati.php b/include/riferimenti/documenti_collegati.php new file mode 100644 index 000000000..94ee758bf --- /dev/null +++ b/include/riferimenti/documenti_collegati.php @@ -0,0 +1,88 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +use Modules\Articoli\Articolo; + +// Informazioni generali sulla riga +$source_type = filter('riga_type'); +$source_id = filter('riga_id'); +if (empty($source_type) || empty($source_id)) { + return; +} + +$source = $source_type::find($source_id); +$documenti_destinazione = getDestinationComponents($source); + +echo ' +
'.tr('Documento').' | +'.tr('Q.tà').' | +
---|---|
+ '.reference($destinazione).' + | ++ '.numberFormat($documenti_destinazione['qta'][$key], 'qta').' + | +
'.tr('Descrizione').' | +'.tr('Documenti').' | '.tr('Q.tà').' | '; if ($show_prezzi) { @@ -51,7 +56,7 @@ if ($show_prezzi) {'.tr('Importo').' | '; } echo ' -'.tr(' ').' | '; +'.tr(' ').' | '; echo ' @@ -77,22 +82,7 @@ foreach ($righe as $riga) { echo '';
-
- // Informazioni aggiuntive sulla destra
- echo '
- ';
-
- // Aggiunta dei riferimenti ai documenti
- if ($riga->hasOriginalComponent()) {
- echo '
- '.reference($riga->getOriginalComponent()->getDocument(), tr('Origine'));
- }
-
- echo '
- ';
-
- echo '
- '.Modules::link($riga->isArticolo() ? 'Articoli' : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione);
+ echo Modules::link($riga->isArticolo() ? 'Articoli' : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione);
if ($riga->isArticolo()) {
if (!empty($mancanti)) {
@@ -118,13 +108,53 @@ foreach ($righe as $riga) {
echo '
'.nl2br($riga->note).''; } + echo ' + |
+
+ '; + // Aggiunta dei riferimenti ai documenti + if ($riga->hasOriginalComponent()) { + echo ' + '; + } echo ' | '; // Quantità e unità di misura echo '
- {[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "'.($riga->um ?: ' ').'", "disabled": "'.($riga->isSconto() ? 1 : 0).'", "disabled": "'.($block_edit || $riga->isSconto()).'","decimals": "qta" ]}
+ {[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-before": "'.$riga->um.'", "disabled": "'.($block_edit || $riga->isSconto()).'","decimals": "qta" ]}
+
+
+ ';
+ // Visualizzazione evasione righe per documento
+ $color = '';
+ $valore_evaso = 0;
+ foreach ($elementi as $elemento) {
+ $righe_evase = explode(', ', (string) $elemento['righe']);
+ $righe_evase_array = array_reduce($righe_evase, function ($carry, $riga_evasa) {
+ [$id, $qta] = explode(' - ', $riga_evasa);
+ $carry[$id] = $qta;
+
+ return $carry;
+ }, []);
+ foreach ($righe_evase_array as $id => $qta) {
+ if ($id == $riga->id) {
+ $color = $evasione_bar[$elemento['modulo']];
+ $valore_evaso = $qta;
+ $perc_ev = $valore_evaso * 100 / ($riga->qta ?: 1);
+ if ($perc_ev > 0) {
+ echo '
+ ';
+ }
+ }
+ }
+ }
+ echo '
+
+
| ';
if ($show_prezzi) {
@@ -299,6 +329,17 @@ if (!$block_edit && sizeof($righe) > 0) {
}
echo '
+'.tr('#').' | '.tr('Descrizione').' | +'.tr('Documenti').' | '.tr('Prev. evasione').' | '.tr('Q.tà').' | '; if ($dir == 'entrata') { @@ -111,22 +112,6 @@ foreach ($righe as $riga) {'; - $numero_riferimenti_riga = $riga->referenceTargets()->count(); - $numero_riferimenti_collegati = $riga->referenceSources()->count(); - $riferimenti_presenti = $numero_riferimenti_riga; - $testo_aggiuntivo = $riferimenti_presenti ? $numero_riferimenti_riga : ''; - - echo ' - '; - - // Aggiunta dei riferimenti ai documenti - if ($riga->hasOriginalComponent()) { - echo ' - '.reference($riga->getOriginalComponent()->getDocument(), tr('Origine')).''; - } - if ($riga->isArticolo()) { $articolo_riga = Articolo::find($riga->idarticolo); @@ -171,6 +156,26 @@ foreach ($righe as $riga) { echo ' | '; + $numero_riferimenti_riga = $riga->referenceTargets()->count(); + $numero_riferimenti_collegati = $riga->referenceSources()->count(); + $riferimenti_presenti = $numero_riferimenti_riga; + $testo_aggiuntivo = $riferimenti_presenti ? ''.$numero_riferimenti_riga.'' : ''; + echo ' ++ '; + + // Aggiunta dei riferimenti ai documenti + if ($riga->hasOriginalComponent()) { + echo ' + '; + } + echo ' + | '; + // Data prevista evasione $info_evasione = ''; if (!empty($riga->data_evasione)) { @@ -222,8 +227,10 @@ foreach ($righe as $riga) { // Quantità e unità di misura echo '
- {[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-before": "confermato ? tr('Articolo confermato') : tr('Articolo non confermato')).'\'>confermato ? 'fa fa-check text-success' : 'fa fa-clock-o text-warning').'\'>", "icon-after": " numberFormat($riga->qta_evasa, 'qta'), '_TOT_' => numberFormat($riga->qta, 'qta')]).'\'>'.$riga->um.' ", "disabled": "'.($riga->isSconto() ? 1 : 0).'", "disabled": "'.($block_edit || $riga->isSconto()).'", "decimals": "qta" ]}
- ';
+ {[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "confermato ? tr('Articolo confermato') : tr('Articolo non confermato')).'\'>confermato ? 'fa fa-check text-success' : 'fa fa-clock-o text-warning').'\'>", "icon-before": "'.$riga->um.'", "disabled": "'.($block_edit || $riga->isSconto()).'", "decimals": "qta" ]}
+
+
+
+
';
// Visualizzazione evasione righe per documento
$color = '';
$valore_evaso = 0;
@@ -242,13 +249,14 @@ foreach ($righe as $riga) {
$perc_ev = $valore_evaso * 100 / ($riga->qta ?: 1);
if ($perc_ev > 0) {
echo '
- ';
+ ';
}
}
}
}
echo '
-
+ | ';
if ($riga->isArticolo()) {
@@ -553,10 +561,6 @@ echo '
'.tr('Attività').'
- '.tr('#').' | '.tr('Descrizione').' | +'.tr('Documenti').' | '.tr('Prev. evasione').' | '.tr('Q.tà').' | '.tr('Costo unitario').' | @@ -103,12 +104,6 @@ foreach ($righe as $key => $riga) {';
- // Aggiunta dei riferimenti ai documenti
- if ($riga->hasOriginalComponent()) {
- echo '
- '.reference($riga->getOriginalComponent()->getDocument(), tr('Origine')).'';
- }
-
// Descrizione
$descrizione = nl2br($riga->descrizione);
if ($riga->isArticolo()) {
@@ -126,9 +121,21 @@ foreach ($righe as $key => $riga) {
echo '
'.nl2br($riga->note).''; } + echo ' + |
+
+ '; + // Aggiunta dei riferimenti ai documenti + if ($riga->hasOriginalComponent()) { + echo ' + '; + } echo ' | '; + // Data prevista evasione $info_evasione = ''; if (!empty($riga->data_evasione)) { @@ -180,9 +187,10 @@ foreach ($righe as $key => $riga) { // Quantità e unità di misura echo '
- {[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-before": "confermato ? tr('Articolo confermato') : tr('Articolo non confermato')).'\'>confermato ? 'fa fa-check text-success' : 'fa fa-clock-o text-warning').'\'>", "icon-after": " numberFormat($riga->qta_evasa, 'qta'), '_TOT_' => numberFormat($riga->qta, 'qta')]).'\'>'.$riga->um.' ", "disabled": "'.($riga->isSconto() ? 1 : 0).'", "disabled": "'.($block_edit || $riga->isSconto()).'", "decimals": "qta" ]}
- ';
+ {[ "type": "number", "name": "qta_'.$riga->id.'", "value": "'.$riga->qta.'", "min-value": "0", "onchange": "aggiornaInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "confermato ? tr('Articolo confermato') : tr('Articolo non confermato')).'\'>confermato ? 'fa fa-check text-success' : 'fa fa-clock-o text-warning').'\'>", "icon-before": "'.$riga->um.'", "disabled": "'.($block_edit || $riga->isSconto()).'", "decimals": "qta" ]}
+
+
+
';
// Visualizzazione evasione righe per documento
$color = '';
$valore_evaso = 0;
@@ -204,14 +212,15 @@ foreach ($righe as $key => $riga) {
if ($perc_ev > 0) {
echo '
- ';
+ ';
}
}
}
}
echo '
-
+ | ';
if ($riga->isArticolo()) {
@@ -760,5 +769,13 @@ if (Plugin::where('name', 'Distinta base')->first()) {
openModal("'.tr('Distinta base').'", "'.Plugin::where('name', 'Distinta base')->first()->fileurl('view.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&id_articolo=" + id_articolo);
}';
}
+
echo '
+function apriDocumenti(div) {
+ let riga = $(div).closest("tr");
+ let id = riga.data("id");
+ let type = riga.data("type");
+
+ openModal("'.tr('Documenti collegati').'", globals.rootdir + "/actions.php?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&op=visualizza_documenti_collegati&riga_id=" + id + "&riga_type=" + type)
+}
';
---|