mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-01 16:36:45 +01:00
Aggiunto articoli in sequenza tramite barcode
This commit is contained in:
parent
c53393f0c0
commit
30d3aa2945
@ -478,6 +478,7 @@ function replaceAll(str, find, replace) {
|
||||
}
|
||||
|
||||
function cleanup_inputs() {
|
||||
$('.bound').removeClass("bound");
|
||||
$('.superselect, .superselectajax').select2().select2("destroy");
|
||||
}
|
||||
|
||||
|
194
include/common/barcode.php
Normal file
194
include/common/barcode.php
Normal file
@ -0,0 +1,194 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$_SESSION['superselect']['dir'] = $options['dir'];
|
||||
$_SESSION['superselect']['idanagrafica'] = $options['idanagrafica'];
|
||||
|
||||
$incorpora_iva = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||
$intestazione_prezzo = ($options['dir'] == 'uscita' ? tr('Prezzo di acquisto') : ($incorpora_iva ? tr('Prezzo vendita ivato') : tr('Prezzo vendita imponibile')));
|
||||
|
||||
// Articolo
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-offset-4 col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Barcode').'", "name": "barcode", "value": "", "icon-before": "<i class=\"fa fa-barcode\"></i>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-info hidden" id="articolo-missing">
|
||||
<i class="fa fa-exclamation-circle"></i> '.tr('Nessuna corrispondenza trovata!').'
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning hidden" id="articolo-qta">
|
||||
<i class="fa fa-warning"></i> '.tr('Articolo con quantità non sufficiente!').'
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table table-stripped hide" id="articoli_barcode">
|
||||
<tr>
|
||||
<th>'.tr('Articolo').'</th>
|
||||
<th width="25%">'.$intestazione_prezzo.'</th>
|
||||
<th width="20%" class="text-center">'.tr('Sconto').'</th>
|
||||
<th width="10%" class="text-center">'.tr('Q.tà').'</th>
|
||||
<th width="5%" class="text-center">#</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div> ';
|
||||
|
||||
echo '
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
init();
|
||||
|
||||
setTimeout(function(){
|
||||
$("#barcode").focus();
|
||||
}, 300);
|
||||
|
||||
$(".modal-body button").attr("disabled", true);
|
||||
});
|
||||
|
||||
// Gestione dell\'invio da tastiera
|
||||
$(document).keypress(function(event){
|
||||
let key = window.event ? event.keyCode : event.which; // IE vs Netscape/Firefox/Opera
|
||||
if (key == "13") {
|
||||
event.preventDefault();
|
||||
$("#barcode").blur()
|
||||
.focus();
|
||||
}
|
||||
});
|
||||
|
||||
var dir = "'.$options['dir'].'";
|
||||
$("#barcode").off("keyup").on("keyup", function (event) {
|
||||
let key = window.event ? event.keyCode : event.which; // IE vs Netscape/Firefox/Opera
|
||||
$("#articolo-missing").addClass("hidden");
|
||||
$("#articolo-qta").addClass("hidden");
|
||||
|
||||
if (key !== 13) {
|
||||
return;
|
||||
}
|
||||
|
||||
$("#barcode").attr("disabled", true);
|
||||
var barcode = $("#barcode").val();
|
||||
if (!barcode){
|
||||
barcodeReset();
|
||||
return;
|
||||
}
|
||||
|
||||
$.getJSON(globals.rootdir + "/ajax_select.php?op=articoli_barcode&barcode=" + barcode,
|
||||
function(response) {
|
||||
let result = response.results[0];
|
||||
if(!result){
|
||||
$("#articolo-missing").removeClass("hidden");
|
||||
barcodeReset();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
let qta_input = $("#riga_barcode_" + result.id).find("[name^=qta]");
|
||||
if (result.qta == 0) {
|
||||
$("#articolo-qta").removeClass("hidden");
|
||||
barcodeReset();
|
||||
return;
|
||||
}
|
||||
|
||||
// Controllo se è già presente l\'articolo, in tal caso incremento la quantità, altrimenti inserisco la riga nuova
|
||||
if (qta_input.length) {
|
||||
let qta = qta_input.val().toEnglish();
|
||||
let nuova_qta = qta + 1;
|
||||
|
||||
if (result.qta < nuova_qta) {
|
||||
$("#articolo-qta").removeClass("hidden");
|
||||
barcodeReset();
|
||||
return;
|
||||
}
|
||||
|
||||
qta_input.val(nuova_qta).trigger("change");
|
||||
} else {
|
||||
let prezzo_unitario = (dir === "uscita") ? result.prezzo_acquisto : result.prezzo_vendita;
|
||||
|
||||
let info_prezzi;
|
||||
if(dir == "entrata") {
|
||||
info_prezzi = "Acquisto: " + result.prezzo_acquisto + " €";
|
||||
}else{
|
||||
info_prezzi = "Vendita: " + result.prezzo_vendita + " €";
|
||||
}
|
||||
|
||||
$("#articoli_barcode").removeClass("hide");
|
||||
cleanup_inputs();
|
||||
|
||||
var text = replaceAll($("#barcode-template").html(), "-id-", result.id);
|
||||
text = text.replace("|prezzo_unitario|", prezzo_unitario)
|
||||
.replace("|info_prezzi|", info_prezzi)
|
||||
.replace("|descrizione|", result.descrizione)
|
||||
.replace("|codice|", result.codice)
|
||||
.replace("|qta|", 1)
|
||||
.replace("|sconto_unitario|", 0)
|
||||
.replace("|tipo_sconto|", "")
|
||||
.replace("|id_dettaglio_fornitore|", result.id_dettaglio_fornitore ? result.id_dettaglio_fornitore : "")
|
||||
|
||||
$("#articoli_barcode tr:last").after(text);
|
||||
restart_inputs();
|
||||
|
||||
$(".modal-body button").attr("disabled", false);
|
||||
}
|
||||
|
||||
barcodeReset();
|
||||
$("#barcode").val("");
|
||||
}, function(){
|
||||
$("#articolo-missing").removeClass("hidden");
|
||||
barcodeReset();
|
||||
});
|
||||
});
|
||||
|
||||
function barcodeReset() {
|
||||
setTimeout(function(){
|
||||
$("#barcode")
|
||||
.attr("disabled",false)
|
||||
.focus();
|
||||
},200);
|
||||
}
|
||||
|
||||
function rimuoviRigaBarcode(id) {
|
||||
if (confirm("'.tr('Eliminare questo articolo?').'")) {
|
||||
$("#riga_barcode_" + id).remove();
|
||||
|
||||
// Disabilito il pulsante di aggiunta se non ci sono articoli inseriti
|
||||
if ($(".inputmask-decimal").length === 0) {
|
||||
$(".modal-body button").attr("disabled", true);
|
||||
$("#articoli_barcode").addClass("hide");
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<table class="hidden">
|
||||
<tbody id="barcode-template">
|
||||
<tr id="riga_barcode_-id-">
|
||||
<td>
|
||||
|codice| - |descrizione|
|
||||
<br><small>|info_prezzi|</small>
|
||||
<input type="hidden" name="id_dettaglio_fornitore[-id-]" value="|id_dettaglio_fornitore|">
|
||||
</td>
|
||||
<td>
|
||||
{[ "type": "number", "name": "prezzo_unitario[-id-]", "value": "|prezzo_unitario|", "required": 0, "icon-after": "'.currency().'" ]}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{[ "type": "number", "name": "sconto[-id-]", "value": "|sconto_unitario|", "icon-after": "choice|untprc||tipo_sconto|", "help": "'.tr('Il valore positivo indica uno sconto. Per applicare una maggiorazione inserire un valore negativo.').'" ]}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{[ "type": "number", "name": "qta[-id-]", "required": 0, "value": "|qta|", "decimals": "qta" ]}
|
||||
</td>
|
||||
|
||||
<td width="5%" class="text-center">
|
||||
<button type="button" class="btn btn-xs btn-danger" onclick="rimuoviRigaBarcode(\'-id-\')">
|
||||
<i class="fa fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>';
|
@ -254,5 +254,46 @@ switch ($resource) {
|
||||
$search_fields[] = 'valore LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'articoli_barcode':
|
||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||
|
||||
$query = 'SELECT mg_articoli.*,
|
||||
IFNULL(mg_fornitore_articolo.codice_fornitore, mg_articoli.codice) AS codice,
|
||||
IFNULL(mg_fornitore_articolo.descrizione, mg_articoli.descrizione) AS descrizione,
|
||||
IFNULL(mg_fornitore_articolo.prezzo_acquisto, mg_articoli.prezzo_acquisto) AS prezzo_acquisto,
|
||||
mg_articoli.'.($prezzi_ivati ? 'prezzo_vendita_ivato' : 'prezzo_vendita').' AS prezzo_vendita,
|
||||
mg_articoli.prezzo_vendita_ivato AS prezzo_vendita_ivato,
|
||||
IFNULL(mg_fornitore_articolo.qta_minima, 0) AS qta_minima,
|
||||
mg_fornitore_articolo.id AS id_dettaglio_fornitore
|
||||
FROM mg_articoli
|
||||
LEFT JOIN mg_fornitore_articolo ON mg_fornitore_articolo.id_articolo = mg_articoli.id AND mg_fornitore_articolo.deleted_at IS NULL AND mg_fornitore_articolo.id_fornitore = '.prepare($superselect['idanagrafica']).'
|
||||
|where|';
|
||||
|
||||
$where[] = 'barcode='.prepare(get('barcode'));
|
||||
$where[] = 'mg_articoli.attivo = 1';
|
||||
$where[] = 'mg_articoli.deleted_at IS NULL';
|
||||
|
||||
$custom = [
|
||||
'id' => 'id',
|
||||
'codice' => 'codice',
|
||||
'descrizione' => 'descrizione',
|
||||
'qta' => 'qta',
|
||||
'um' => 'um',
|
||||
'categoria' => 'categoria',
|
||||
'sottocategoria' => 'sottocategoria',
|
||||
'idiva_vendita' => 'idiva_vendita',
|
||||
'iva_vendita' => 'iva_vendita',
|
||||
'idconto_vendita' => 'idconto_vendita',
|
||||
'idconto_vendita_title' => 'idconto_vendita_title',
|
||||
'idconto_acquisto' => 'idconto_acquisto',
|
||||
'idconto_acquisto_title' => 'idconto_acquisto_title',
|
||||
'prezzo_acquisto' => 'prezzo_acquisto',
|
||||
'prezzo_vendita' => 'prezzo_vendita',
|
||||
'id_dettaglio_fornitore' => 'id_dettaglio_fornitore',
|
||||
'barcode' => 'barcode',
|
||||
];
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -114,6 +114,38 @@ switch (post('op')) {
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_barcode':
|
||||
foreach (post('qta') as $id_articolo => $qta) {
|
||||
if ($id_articolo == '-id-') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Dati di input
|
||||
$sconto = post('sconto')[$id_articolo];
|
||||
$tipo_sconto = post('tipo_sconto')[$id_articolo];
|
||||
$prezzo_unitario = post('prezzo_unitario')[$id_articolo];
|
||||
$id_dettaglio_fornitore = post('id_dettaglio_fornitore')[$id_articolo];
|
||||
$id_iva = $originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita');
|
||||
|
||||
// Creazione articolo
|
||||
$originale = ArticoloOriginale::find($id_articolo);
|
||||
$articolo = Articolo::build($contratto, $originale);
|
||||
$articolo->id_dettaglio_fornitore = $id_dettaglio_fornitore ?: null;
|
||||
|
||||
$articolo->setPrezzoUnitario($prezzo_unitario, $id_iva);
|
||||
if ($dir == 'entrata') {
|
||||
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||
}
|
||||
$articolo->setSconto($sconto, $tipo_sconto);
|
||||
$articolo->qta = $qta;
|
||||
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Articoli aggiunti!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_articolo':
|
||||
if (post('idriga') != null) {
|
||||
$articolo = Articolo::find(post('idriga'));
|
||||
|
@ -310,6 +310,11 @@ if (!$block_edit) {
|
||||
<i class="fa fa-plus"></i> '.tr('Articolo').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Riga').'
|
||||
|
@ -208,8 +208,7 @@ if (!empty($interventi)) {
|
||||
</tr>';
|
||||
|
||||
$stati = $interventi->groupBy('idstatointervento');
|
||||
if (count($stati)>0){
|
||||
|
||||
if (count($stati) > 0) {
|
||||
// Totali per stato
|
||||
echo '
|
||||
<tr>
|
||||
@ -235,7 +234,6 @@ if (!empty($interventi)) {
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo '
|
||||
|
@ -53,6 +53,10 @@ if (get('is_descrizione') !== null) {
|
||||
$file = 'sconto';
|
||||
|
||||
$options['op'] = 'manage_sconto';
|
||||
} elseif (get('is_barcode') !== null) {
|
||||
$file = 'barcode';
|
||||
|
||||
$options['op'] = 'manage_barcode';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
||||
|
@ -133,6 +133,38 @@ switch (post('op')) {
|
||||
flash()->info(tr('Ddt modificato correttamente!'));
|
||||
break;
|
||||
|
||||
case 'manage_barcode':
|
||||
foreach (post('qta') as $id_articolo => $qta) {
|
||||
if ($id_articolo == '-id-') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Dati di input
|
||||
$sconto = post('sconto')[$id_articolo];
|
||||
$tipo_sconto = post('tipo_sconto')[$id_articolo];
|
||||
$prezzo_unitario = post('prezzo_unitario')[$id_articolo];
|
||||
$id_dettaglio_fornitore = post('id_dettaglio_fornitore')[$id_articolo];
|
||||
$id_iva = $originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita');
|
||||
|
||||
// Creazione articolo
|
||||
$originale = ArticoloOriginale::find($id_articolo);
|
||||
$articolo = Articolo::build($ddt, $originale);
|
||||
$articolo->id_dettaglio_fornitore = $id_dettaglio_fornitore ?: null;
|
||||
|
||||
$articolo->setPrezzoUnitario($prezzo_unitario, $id_iva);
|
||||
if ($dir == 'entrata') {
|
||||
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||
}
|
||||
$articolo->setSconto($sconto, $tipo_sconto);
|
||||
$articolo->qta = $qta;
|
||||
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Articoli aggiunti!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_articolo':
|
||||
if (post('idriga') != null) {
|
||||
$articolo = Articolo::find(post('idriga'));
|
||||
|
@ -329,6 +329,11 @@ if (!$block_edit) {
|
||||
<i class="fa fa-plus"></i> '.tr('Articolo').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Riga').'
|
||||
|
@ -54,6 +54,10 @@ if (get('is_descrizione') !== null) {
|
||||
$file = 'sconto';
|
||||
|
||||
$options['op'] = 'manage_sconto';
|
||||
} elseif (get('is_barcode') !== null) {
|
||||
$file = 'barcode';
|
||||
|
||||
$options['op'] = 'manage_barcode';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
||||
|
@ -392,6 +392,43 @@ switch (post('op')) {
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_barcode':
|
||||
foreach (post('qta') as $id_articolo => $qta) {
|
||||
if ($id_articolo == '-id-') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Dati di input
|
||||
$sconto = post('sconto')[$id_articolo];
|
||||
$tipo_sconto = post('tipo_sconto')[$id_articolo];
|
||||
$prezzo_unitario = post('prezzo_unitario')[$id_articolo];
|
||||
$id_dettaglio_fornitore = post('id_dettaglio_fornitore')[$id_articolo];
|
||||
$id_iva = $originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita');
|
||||
|
||||
// Inversione quantità per Note
|
||||
if (!empty($record['is_reversed'])) {
|
||||
$qta = -$qta;
|
||||
}
|
||||
|
||||
// Creazione articolo
|
||||
$originale = ArticoloOriginale::find($id_articolo);
|
||||
$articolo = Articolo::build($fattura, $originale);
|
||||
$articolo->id_dettaglio_fornitore = $id_dettaglio_fornitore ?: null;
|
||||
|
||||
$articolo->setPrezzoUnitario($prezzo_unitario, $id_iva);
|
||||
if ($dir == 'entrata') {
|
||||
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||
}
|
||||
$articolo->setSconto($sconto, $tipo_sconto);
|
||||
$articolo->qta = $qta;
|
||||
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Articoli aggiunti!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_articolo':
|
||||
if (post('idriga') != null) {
|
||||
$articolo = Articolo::find(post('idriga'));
|
||||
@ -402,6 +439,7 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
$qta = post('qta');
|
||||
// Inversione quantità per Note
|
||||
if (!empty($record['is_reversed'])) {
|
||||
$qta = -$qta;
|
||||
}
|
||||
|
@ -672,6 +672,10 @@ if (!$block_edit) {
|
||||
<a class="btn btn-sm btn-primary'.(!empty($articoli) ? '' : ' disabled').'" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_articolo" data-toggle="tooltip" data-title="'.tr('Aggiungi articolo').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Articolo').'
|
||||
</a>';
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'">
|
||||
|
@ -76,6 +76,10 @@ if (get('is_descrizione') !== null) {
|
||||
$file = 'sconto';
|
||||
|
||||
$options['op'] = 'manage_sconto';
|
||||
} elseif (get('is_barcode') !== null) {
|
||||
$file = 'barcode';
|
||||
|
||||
$options['op'] = 'manage_barcode';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
||||
|
@ -205,6 +205,38 @@ $riga = $intervento->getRiga($type, $id_riga);
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_barcode':
|
||||
foreach (post('qta') as $id_articolo => $qta) {
|
||||
if ($id_articolo == '-id-') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Dati di input
|
||||
$sconto = post('sconto')[$id_articolo];
|
||||
$tipo_sconto = post('tipo_sconto')[$id_articolo];
|
||||
$prezzo_unitario = post('prezzo_unitario')[$id_articolo];
|
||||
$id_dettaglio_fornitore = post('id_dettaglio_fornitore')[$id_articolo];
|
||||
$id_iva = $originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita');
|
||||
|
||||
// Creazione articolo
|
||||
$originale = ArticoloOriginale::find($id_articolo);
|
||||
$articolo = Articolo::build($intervento, $originale);
|
||||
$articolo->id_dettaglio_fornitore = $id_dettaglio_fornitore ?: null;
|
||||
|
||||
$articolo->setPrezzoUnitario($prezzo_unitario, $id_iva);
|
||||
if ($dir == 'entrata') {
|
||||
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||
}
|
||||
$articolo->setSconto($sconto, $tipo_sconto);
|
||||
$articolo->qta = $qta;
|
||||
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Articoli aggiunti!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_articolo':
|
||||
if (post('idriga') != null) {
|
||||
$articolo = Articolo::find(post('idriga'));
|
||||
|
@ -233,6 +233,11 @@ if (!$block_edit) {
|
||||
<i class="fa fa-plus"></i> '.tr('Articolo').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Riga').'
|
||||
|
@ -56,6 +56,10 @@ if (get('is_descrizione') !== null) {
|
||||
$file = 'sconto';
|
||||
|
||||
$options['op'] = 'manage_sconto';
|
||||
} elseif (get('is_barcode') !== null) {
|
||||
$file = 'barcode';
|
||||
|
||||
$options['op'] = 'manage_barcode';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
||||
|
@ -112,6 +112,38 @@ switch (post('op')) {
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_barcode':
|
||||
foreach (post('qta') as $id_articolo => $qta) {
|
||||
if ($id_articolo == '-id-') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Dati di input
|
||||
$sconto = post('sconto')[$id_articolo];
|
||||
$tipo_sconto = post('tipo_sconto')[$id_articolo];
|
||||
$prezzo_unitario = post('prezzo_unitario')[$id_articolo];
|
||||
$id_dettaglio_fornitore = post('id_dettaglio_fornitore')[$id_articolo];
|
||||
$id_iva = $originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita');
|
||||
|
||||
// Creazione articolo
|
||||
$originale = ArticoloOriginale::find($id_articolo);
|
||||
$articolo = Articolo::build($ordine, $originale);
|
||||
$articolo->id_dettaglio_fornitore = $id_dettaglio_fornitore ?: null;
|
||||
|
||||
$articolo->setPrezzoUnitario($prezzo_unitario, $id_iva);
|
||||
if ($dir == 'entrata') {
|
||||
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||
}
|
||||
$articolo->setSconto($sconto, $tipo_sconto);
|
||||
$articolo->qta = $qta;
|
||||
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Articoli aggiunti!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_articolo':
|
||||
if (post('idriga') != null) {
|
||||
$articolo = Articolo::find(post('idriga'));
|
||||
|
@ -34,7 +34,7 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = true;
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo ( $dir == 'entrata' ) ? tr('Numero ordine') : tr('Numero ordine fornitore'); ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
|
||||
{[ "type": "text", "label": "<?php echo ($dir == 'entrata') ? tr('Numero ordine') : tr('Numero ordine fornitore'); ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
@ -186,6 +186,11 @@ if (!$block_edit) {
|
||||
<i class="fa fa-plus"></i> '.tr('Articolo').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Riga').'
|
||||
|
@ -54,6 +54,10 @@ if (get('is_descrizione') !== null) {
|
||||
$file = 'sconto';
|
||||
|
||||
$options['op'] = 'manage_sconto';
|
||||
} elseif (get('is_barcode') !== null) {
|
||||
$file = 'barcode';
|
||||
|
||||
$options['op'] = 'manage_barcode';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
||||
|
@ -147,6 +147,38 @@ switch (post('op')) {
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_barcode':
|
||||
foreach (post('qta') as $id_articolo => $qta) {
|
||||
if ($id_articolo == '-id-') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Dati di input
|
||||
$sconto = post('sconto')[$id_articolo];
|
||||
$tipo_sconto = post('tipo_sconto')[$id_articolo];
|
||||
$prezzo_unitario = post('prezzo_unitario')[$id_articolo];
|
||||
$id_dettaglio_fornitore = post('id_dettaglio_fornitore')[$id_articolo];
|
||||
$id_iva = $originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita');
|
||||
|
||||
// Creazione articolo
|
||||
$originale = ArticoloOriginale::find($id_articolo);
|
||||
$articolo = Articolo::build($preventivo, $originale);
|
||||
$articolo->id_dettaglio_fornitore = $id_dettaglio_fornitore ?: null;
|
||||
|
||||
$articolo->setPrezzoUnitario($prezzo_unitario, $id_iva);
|
||||
if ($dir == 'entrata') {
|
||||
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||
}
|
||||
$articolo->setSconto($sconto, $tipo_sconto);
|
||||
$articolo->qta = $qta;
|
||||
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Articoli aggiunti!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_articolo':
|
||||
if (post('idriga') != null) {
|
||||
$articolo = Articolo::find(post('idriga'));
|
||||
|
@ -208,6 +208,16 @@ if (!$block_edit) {
|
||||
<i class="fa fa-plus"></i> '.tr('Articolo').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Barcode').'
|
||||
</a>';
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'">
|
||||
<i class="fa fa-plus"></i> '.tr('Riga').'
|
||||
|
@ -207,8 +207,7 @@ if (!empty($interventi)) {
|
||||
</tr>';
|
||||
|
||||
$stati = $interventi->groupBy('idstatointervento');
|
||||
if (count($stati)>0){
|
||||
|
||||
if (count($stati) > 0) {
|
||||
// Totali per stato
|
||||
echo '
|
||||
<tr>
|
||||
@ -234,7 +233,6 @@ if (!empty($interventi)) {
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo '
|
||||
|
@ -53,6 +53,10 @@ if (get('is_descrizione') !== null) {
|
||||
$file = 'sconto';
|
||||
|
||||
$options['op'] = 'manage_sconto';
|
||||
} elseif (get('is_barcode') !== null) {
|
||||
$file = 'barcode';
|
||||
|
||||
$options['op'] = 'manage_barcode';
|
||||
}
|
||||
|
||||
echo App::load($file.'.php', $result, $options);
|
||||
|
@ -95,7 +95,6 @@ if ($structure->permission == 'rw') {
|
||||
</form>';
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
Loading…
x
Reference in New Issue
Block a user