openstamanager/modules/movimenti/add.php

191 lines
7.2 KiB
PHP
Executable File

<?php
include_once __DIR__.'/../../core.php';
// Imposto come azienda l'azienda predefinita per selezionare le sedi a cui ho accesso
$_SESSION['superselect']['idanagrafica'] = get_var('Azienda predefinita');
// Azzero le sedi selezionate
unset($_SESSION['superselect']['idsede_partenza']);
unset($_SESSION['superselect']['idsede_destinazione']);
$_SESSION['superselect']['idsede_partenza'] = 0;
$_SESSION['superselect']['idsede_destinazione'] = 0;
?>
<form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-edit">
<div class="row">
<div class="col-md-4">
{["type":"select", "label":"<?php echo tr('Articolo'); ?>", "name":"idarticolo", "ajax-source":"articoli", "value":"", "required":1]}
</div>
<div class="col-md-2">
{["type":"number", "label":"<?php echo tr('Quantità'); ?>", "name":"qta", "decimals":"2", "value":"1", "required":1]}
</div>
<div class="col-md-2">
{["type":"date", "label":"<?php echo tr('Data'); ?>", "name":"data", "value":"-now-", "required":1]}
</div>
<div class="col-md-4">
{["type":"select", "label":"<?php echo tr('Causale'); ?>", "name":"direzione", "values":"list=\"Carico manuale\":\"Carico\", \"Scarico manuale\":\"Scarico\" ", "value":"Carico manuale", "required":1]}
</div>
</div>
<div class="row">
<div class="col-md-12">
{["type":"textarea", "label":"<?php echo tr('Descrizione movimento'); ?>", "name":"movimento", "required":1]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "0", "required":1 ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Partenza merce'); ?>", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "0", "required":1 ]}
</div>
</div>
<!-- PULSANTI -->
<div class="row" id="buttons">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-default"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi e chiudi'); ?></button>
<a type="button" class="btn btn-primary" onclick="ajax_submit( $('#idarticolo').selectData() );"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></a>
</div>
</div>
</form>
<div id="messages"></div>
<script>
$('#modals > div').on('shown.bs.modal', function(){
$('#direzione').on('change', function(){
$('#movimento').val( $(this).val() );
});
$('#direzione').trigger('change');
// Lettura codici da lettore barcode
var keys = '';
$(document).unbind('keyup');
$(document).on('keyup', function (evt) {
if(window.event) { // IE
keynum = evt.keyCode;
} else if(evt.which){ // Netscape/Firefox/Opera
keynum = evt.which;
}
if (evt.which === 13) {
var search = keys;
// Ricerca via ajax del barcode negli articoli
$.get(
globals.rootdir + '/ajax_select.php?op=articoli&search='+search,
function(data){
data = $.parseJSON(data);
// Articolo trovato
if( data.results.length == 1 ){
var record = data.results[0].children[0];
$('#idarticolo').selectSetNew( record.id, record.text );
ajax_submit( record );
}
// Articolo non trovato
else {
$('#messages').html( '<hr><div class="alert alert-danger text-center"><big>Articolo <b>' + search + '</b> non trovato!</big></div>' );
}
}
);
keys = '';
} else {
keys += String.fromCharCode( evt.keyCode );
}
});
});
// Reload pagina appena chiudo il modal
$('#modals > div').on('hidden.bs.modal', function(){
location.reload();
});
function ajax_submit( articolo ) {
//Controllo che siano presenti tutti i dati richiesti
if( $("#add-form").parsley().validate() ){
submitAjax(
$('#add-form'),
{},
function() {},
function(){}
);
$('#messages').html('');
var prezzo_acquisto = parseFloat(articolo.prezzo_acquisto);
var prezzo_vendita = parseFloat(articolo.prezzo_vendita);
var qta_movimento = parseFloat($('#qta').val());
var alert = '';
var icon = '';
var text = '';
var qta_rimanente = 0;
if($('#direzione').val()=='Carico manuale'){
alert = 'alert-success';
icon = '<i class="fa fa-arrow-up"></i>';
text = 'Carico';
qta_rimanente = parseFloat(articolo.qta)+parseFloat(qta_movimento);
}else{
alert = 'alert-danger';
icon = '<i class="fa fa-arrow-down"></i>';
text = 'Scarico';
qta_rimanente = parseFloat(articolo.qta)-parseFloat(qta_movimento);
}
if( articolo.descrizione != '' ){
$('#messages').html(
'<hr>'+
'<div class="row">'+
'<div class="col-md-6">'+
'<div class="alert alert-info text-center" style="line-height: 1.6;">'+
'<b style="font-size:14pt;"><i class="fa fa-barcode"></i> ' + articolo.barcode + ' - ' + articolo.descrizione + '</b><br>'+
'<b>Prezzo acquisto:</b> ' + prezzo_acquisto.toLocale() + " " + globals.currency + '<br><b>Prezzo vendita:</b> ' + prezzo_vendita.toLocale() + " " + globals.currency +
'</div>'+
'</div>'+
'<div class="col-md-6">'+
'<div class="alert '+alert+' text-center">'+
'<p style="font-size:14pt;">'+icon+' '+text+' '+qta_movimento.toLocale()+' '+articolo.um+' <i class="fa fa-arrow-circle-right"></i> '+qta_rimanente.toLocale()+' '+articolo.um+' rimanenti</p>'+
'</div>'+
'</div>'+
'</div>'
);
}
$("#qta").val(1);
}
}
</script>
<?php
if (setting('Attiva scorciatoie da tastiera')) {
echo '
<script>
hotkeys(\'f8\', \'carico\', function(event, handler){
$("#modals > div #direzione").val("Carico manuale").change();
});
hotkeys.setScope(\'carico\');
hotkeys(\'f9\', \'carico\', function(event, handler){
$("#modals > div #direzione").val("Scarico manuale").change();
});
hotkeys.setScope(\'carico\');
</script>';
}