Compare commits

..

4 Commits

Author SHA1 Message Date
MatteoPistorello dbc274a1b7 Merge branch 'master' of https://github.com/devcode-it/openstamanager 2024-07-15 17:32:10 +02:00
MatteoPistorello be5d3405f5 Aggiunte note sessioni 2024-07-15 17:32:07 +02:00
Matteo e87348800f Fix sync impianti su app 2024-07-15 17:09:38 +02:00
MatteoPistorello dc44a66c17 Aggiunta impostazione per utilizzare codice come barcode 2024-07-15 15:48:10 +02:00
10 changed files with 47 additions and 11 deletions

View File

@ -60,7 +60,9 @@ switch (post('op')) {
if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) {
$articolo->name = post('descrizione'); $articolo->name = post('descrizione');
} }
$articolo->barcode = post('barcode'); if (!setting('Utilizza codice articolo come barcode')) {
$articolo->barcode = post('barcode');
}
$articolo->threshold_qta = post('threshold_qta'); $articolo->threshold_qta = post('threshold_qta');
$articolo->coefficiente = post('coefficiente'); $articolo->coefficiente = post('coefficiente');
$articolo->idiva_vendita = post('idiva_vendita'); $articolo->idiva_vendita = post('idiva_vendita');
@ -131,7 +133,9 @@ switch (post('op')) {
} }
$articolo->codice = post('codice', true); $articolo->codice = post('codice', true);
$articolo->barcode = post('barcode'); if (!setting('Utilizza codice articolo come barcode')) {
$articolo->barcode = post('barcode');
}
$articolo->um = post('um'); $articolo->um = post('um');
$articolo->id_categoria = post('categoria'); $articolo->id_categoria = post('categoria');
$articolo->id_sottocategoria = post('subcategoria'); $articolo->id_sottocategoria = post('subcategoria');

View File

@ -25,6 +25,7 @@ use Modules\Iva\Aliquota;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
$iva_predefinita = setting('Iva predefinita'); $iva_predefinita = setting('Iva predefinita');
$aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale); $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
$utilizza_codice_barcode = setting('Utilizza codice articolo come barcode');
?><form action="" method="post" id="add-form"> ?><form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add"> <input type="hidden" name="op" value="add">
@ -36,7 +37,7 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "required": 0, "value": "<?php echo htmlentities(filter('barcode')) ?: ''; ?>", "validation": "barcode" ]} {[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "required": 0, "value": "<?php echo htmlentities(filter('barcode')) ?: ''; ?>", "validation": "barcode", "disabled": "<?php echo $utilizza_codice_barcode; ?>" ]}
</div> </div>
</div> </div>

View File

@ -22,6 +22,8 @@ include_once __DIR__.'/../../core.php';
use Models\Module; use Models\Module;
use Modules\Iva\Aliquota; use Modules\Iva\Aliquota;
$utilizza_codice_barcode = setting('Utilizza codice articolo come barcode');
?><form action="" method="post" id="edit-form" enctype="multipart/form-data"> ?><form action="" method="post" id="edit-form" enctype="multipart/form-data">
<input type="hidden" name="backto" value="record-edit"> <input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="update"> <input type="hidden" name="op" value="update">
@ -45,7 +47,7 @@ use Modules\Iva\Aliquota;
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "value": "$barcode$" ]} {[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "value": "<?php echo ($utilizza_codice_barcode ? '$codice$' : '$barcode$'); ?>", "disabled": "<?php echo $utilizza_codice_barcode; ?>" ]}
</div> </div>
</div> </div>

View File

@ -990,6 +990,9 @@ switch (post('op')) {
$sessione->scontokm_unitario = post('sconto_km'); $sessione->scontokm_unitario = post('sconto_km');
$sessione->tipo_scontokm = post('tipo_sconto_km'); $sessione->tipo_scontokm = post('tipo_sconto_km');
// Note
$sessione->note = post('note');
$sessione->save(); $sessione->save();
break; break;

View File

@ -126,7 +126,13 @@ if (!empty($sessioni)) {
echo ' echo '
<tr data-id="'.$sessione['id'].'"> <tr data-id="'.$sessione['id'].'">
<td> <td>
'.$sessione['descrizione_tipo'].' '.(($sessione['tipo_deleted_at']) ? '<small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : '').' '.$sessione['descrizione_tipo'].' '.(($sessione['tipo_deleted_at']) ? '<small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : '');
if ($sessione['note']) {
echo '
<br><small class="text-muted">'.$sessione['note'].'</small>';
}
echo '
</td>'; </td>';
// Orario di inizio // Orario di inizio

View File

@ -107,6 +107,12 @@ echo '
echo ' echo '
</div> </div>
<div class="row">
<div class="col-md-8">
{[ "type": "text", "label": "'.tr('Note').'", "name": "note", "value": "'.$sessione['note'].'" ]}
</div>
</div>
<!-- PULSANTI --> <!-- PULSANTI -->
<div class="row"> <div class="row">
<div class="col-md-12 text-right"> <div class="col-md-12 text-right">

View File

@ -70,8 +70,11 @@ class Impianti extends AppResource
// Da applicazione, i Clienti sono sincronizzati prima degli Interventi: last_sync_at permette di identificare le stesse modifiche // Da applicazione, i Clienti sono sincronizzati prima degli Interventi: last_sync_at permette di identificare le stesse modifiche
$interventi = $risorsa_interventi->getModifiedRecords(null); $interventi = $risorsa_interventi->getModifiedRecords(null);
$id_interventi = array_keys($interventi); $id_interventi = array_keys($interventi);
$rs_impianti = database()->fetchArray('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento IN ('.implode(',', $id_interventi).')');
$id_impianti = array_column($rs_impianti, 'idimpianto');
$statement->where('idtecnico', $id_tecnico)->orWhere('id', 'IN', 'SELECT idimpianto FROM my_impianti_interventi WHERE idintervento IN ('.implode(',', $id_interventi).')'); $statement->where('idtecnico', $id_tecnico)->orWhereIn('id', $id_impianti);
} }
$records = $statement->get(); $records = $statement->get();

View File

@ -45,13 +45,15 @@ $page = 0;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
foreach ($articoli as $articolo) { foreach ($articoli as $articolo) {
$barcode = setting('Utilizza codice articolo come barcode') ? $articolo->codice : $articolo->barcode;
echo ' echo '
<div class="barcode-cell"> <div class="barcode-cell">
<p style="font-size:11pt;"><b>'.$articolo->codice.'</b></p> <p style="font-size:11pt;"><b>'.$articolo->codice.'</b></p>
<p style="font-size:10pt;">'.$articolo->getTranslation('title').'</p><br> <p style="font-size:10pt;">'.$articolo->getTranslation('title').'</p><br>
<p style="font-size:15pt;"><b>'.moneyFormat($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'</b></p> <p style="font-size:15pt;"><b>'.moneyFormat($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'</b></p>
<barcode code="'.$articolo->barcode.'" type="C39" height="2" size="0.65" class="barcode" /> <barcode code="'.$barcode.'" type="C39" height="2" size="0.65" class="barcode" />
<p><b>'.$articolo->barcode.'</b></p> <p><b>'.$barcode.'</b></p>
</div>'; </div>';
++$page; ++$page;

View File

@ -44,6 +44,8 @@ $i = 0;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
foreach ($articoli as $articolo) { foreach ($articoli as $articolo) {
$barcode = setting('Utilizza codice articolo come barcode') ? $articolo->codice : $articolo->barcode;
if ($i % 5 == 0) { if ($i % 5 == 0) {
echo '</tr><tr>'; echo '</tr><tr>';
} }
@ -52,8 +54,8 @@ foreach ($articoli as $articolo) {
<p style="font-size:11pt;"><b>'.$articolo->codice.'</b></p> <p style="font-size:11pt;"><b>'.$articolo->codice.'</b></p>
<p style="font-size:10pt;">'.$articolo->getTranslation('title').'</p><br> <p style="font-size:10pt;">'.$articolo->getTranslation('title').'</p><br>
<p style="font-size:15pt;"><b>'.moneyFormat($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'</b></p><br> <p style="font-size:15pt;"><b>'.moneyFormat($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'</b></p><br>
<barcode code="'.$articolo->barcode.'" type="C39" height="2" size="0.65" class="barcode" /> <barcode code="'.$barcode.'" type="C39" height="2" size="0.65" class="barcode" />
<p><b>'.$articolo->barcode.'</b></p> <p><b>'.$barcode.'</b></p>
</td><br><br>'; </td><br><br>';
++$i; ++$i;

View File

@ -109,4 +109,11 @@ GROUP BY
HAVING HAVING
2=2 2=2
ORDER BY ORDER BY
`mg_articoli_lang`.`title`" WHERE `name` = 'Articoli'; `mg_articoli_lang`.`title`" WHERE `name` = 'Articoli';
-- Aggiunta impostazione per utilizzare il codice come barcode
INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES ('Utilizza codice articolo come barcode', '0', 'boolean', '1', 'Magazzino', '4');
INSERT INTO `zz_settings_lang` (`id_lang`, `id_record`, `title`, `help`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `zz_settings` WHERE `nome`='Utilizza codice articolo come barcode'), 'Utilizza codice articolo come barcode', '');
-- Aggiunte note sessioni
ALTER TABLE `in_interventi_tecnici` ADD `note` TEXT NOT NULL AFTER `tipo_scontokm`;