Modifiche gestione barcode

This commit is contained in:
MatteoPistorello 2024-07-29 16:49:47 +02:00
parent c8c68a5529
commit 137b1a63ab
14 changed files with 33 additions and 18 deletions

View File

@ -60,9 +60,7 @@ 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');
} }
if (!setting('Utilizza codice articolo come barcode')) { $articolo->barcode = post('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');
@ -133,9 +131,7 @@ switch (post('op')) {
} }
$articolo->codice = post('codice', true); $articolo->codice = post('codice', true);
if (!setting('Utilizza codice articolo come barcode')) { $articolo->barcode = post('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,7 +25,6 @@ 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">
@ -37,7 +36,7 @@ $utilizza_codice_barcode = setting('Utilizza codice articolo come barcode');
</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", "disabled": "<?php echo $utilizza_codice_barcode; ?>" ]} {[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "required": 0, "value": "<?php echo htmlentities(filter('barcode')) ?: ''; ?>", "validation": "barcode" ]}
</div> </div>
</div> </div>

View File

@ -504,7 +504,7 @@ $operations['stampa-etichette'] = [
'text' => '<span><i class="fa fa-barcode"></i> '.tr('Stampa etichette').'</span>', 'text' => '<span><i class="fa fa-barcode"></i> '.tr('Stampa etichette').'</span>',
'data' => [ 'data' => [
'title' => tr('Stampare le etichette?'), 'title' => tr('Stampare le etichette?'),
'msg' => tr('Per ciascun articolo selezionato, se presente il barcode, verrà stampata un\'etichetta').'<br><br> 'msg' => tr('Per ciascun articolo selezionato, verrà stampata un\'etichetta').'<br><br>
{[ "type": "select", "label": "'.tr('Tipologia stampa').'", "name": "tipologia", "required": 1, "values": "list=\"singola\":\"Singola\",\"a4\":\"Formato A4\"", "value": "singola" ]}<br>', {[ "type": "select", "label": "'.tr('Tipologia stampa').'", "name": "tipologia", "required": 1, "values": "list=\"singola\":\"Singola\",\"a4\":\"Formato A4\"", "value": "singola" ]}<br>',
'button' => tr('Procedi'), 'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning', 'class' => 'btn btn-lg btn-warning',

View File

@ -22,8 +22,6 @@ 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">
@ -47,7 +45,7 @@ $utilizza_codice_barcode = setting('Utilizza codice articolo come barcode');
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "value": "<?php echo $utilizza_codice_barcode ? '$codice$' : '$barcode$'; ?>", "disabled": "<?php echo $utilizza_codice_barcode; ?>" ]} {[ "type": "text", "label": "<?php echo tr('Barcode'); ?>", "name": "barcode", "value": "$barcode$" ]}
</div> </div>
</div> </div>

View File

@ -46,6 +46,14 @@ switch ($name) {
['id', '<>', $id_record], ['id', '<>', $id_record],
])->count() == 0; ])->count() == 0;
if ($disponibile) {
$disponibile = Articolo::where([
['codice', $value],
['barcode', '=', ''],
['id', '<>', $id_record],
])->count() == 0;
}
$message = $disponibile ? tr('Il barcode è disponbile') : tr('Il barcode è già utilizzato in un altro articolo'); $message = $disponibile ? tr('Il barcode è disponbile') : tr('Il barcode è già utilizzato in un altro articolo');
$response = [ $response = [

View File

@ -591,6 +591,9 @@ switch (post('op')) {
if (!empty($barcode)) { if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
if (empty($id_articolo)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id'];
}
} }
if (!empty($id_articolo)) { if (!empty($id_articolo)) {

View File

@ -560,6 +560,9 @@ switch (filter('op')) {
if (!empty($barcode)) { if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
if (empty($id_articolo)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id'];
}
} }
if (!empty($id_articolo)) { if (!empty($id_articolo)) {

View File

@ -965,6 +965,9 @@ switch ($op) {
if (!empty($barcode)) { if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
if (empty($id_articolo)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id'];
}
} }
if (!empty($id_articolo)) { if (!empty($id_articolo)) {

View File

@ -1155,6 +1155,9 @@ switch (post('op')) {
if (!empty($barcode)) { if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
if (empty($id_articolo)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id'];
}
} }
if (!empty($id_articolo)) { if (!empty($id_articolo)) {

View File

@ -612,6 +612,9 @@ switch (post('op')) {
if (!empty($barcode)) { if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
if (empty($id_articolo)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id'];
}
} }
if (!empty($id_articolo)) { if (!empty($id_articolo)) {

View File

@ -427,6 +427,9 @@ switch (post('op')) {
if (!empty($barcode)) { if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
if (empty($id_articolo)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id'];
}
} }
if (!empty($id_articolo)) { if (!empty($id_articolo)) {

View File

@ -45,7 +45,7 @@ $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; $barcode = $articolo->barcode ?: $articolo->codice;
echo ' echo '
<div class="barcode-cell"> <div class="barcode-cell">

View File

@ -44,7 +44,7 @@ $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; $barcode = $articolo->barcode ?: $articolo->codice;
if ($i % 5 == 0) { if ($i % 5 == 0) {
echo '</tr><tr>'; echo '</tr><tr>';

View File

@ -111,10 +111,6 @@ HAVING
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 -- Aggiunte note sessioni
ALTER TABLE `in_interventi_tecnici` ADD `note` TEXT NOT NULL AFTER `tipo_scontokm`; ALTER TABLE `in_interventi_tecnici` ADD `note` TEXT NOT NULL AFTER `tipo_scontokm`;