gest366/modules/documenti/add_articolo.php

417 lines
16 KiB
PHP

<?php
include_once(__DIR__."/../../core.php");
include($docroot."/config.inc.php");
$module_name=query_secca("","name","zz_modules","where id ='".$_SESSION['id_module']."'");
$iddocumento = $html->form('iddocumento');
$dir = get_var_tipodoc2($iddocumento,"dir");
$filtra_art = $html->form('filtra_art');
//Info documento
$q = "SELECT *, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino FROM an_anagrafiche WHERE idanagrafica=co_documenti.idanagrafica) ) AS prc_guadagno FROM co_documenti WHERE id='".$iddocumento."'";
$rs = $dbo->fetchArray($q);
( $rs[0]['numero_esterno'] != '' ) ? $numero=$rs[0]['numero_esterno'] : $numero=$rs[0]['numero'];
$idanagrafica = $rs[0]['idanagrafica'];
$prc_guadagno = $rs[0]['prc_guadagno'];
$id_contratto = $rs[0]['id_contratto'];
$matricola_primaria_des = $rs[0]['matricola'];
$id_impianto = $rs[0]['id_impianto'];
$nome_impianto = $rs[0]['nome_impianto'];
$idconto = $rs[0]['idconto'];
$mod_mag = get_var_tipodoc2($iddocumento,"mod_mag");
// Info matricola
$qana = "SELECT id,nome FROM my_impianti WHERE matricola='".$rs[0]['matricola']."'";
$rs_matricola = $dbo->fetchArray($qana);
$matricola_primaria=$rs_matricola[0]['nome'];
$id_matricola_primaria=$rs_matricola[0]['id'];
// Info Listino
$qana = "SELECT idlistino , idagente FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'";
$rsana = $dbo->fetchArray($qana);
$id_listino=$rsana[0]['idlistino'];
// Info Eventuale agente
$qana = "SELECT perc_agente FROM an_anagrafiche WHERE idanagrafica='".$rsana[0]['idagente']."'";
$rsagente = $dbo->fetchArray($qana);
$per_utile_agente=$rsagente[0]['perc_agente'];
if ($per_utile_agente == '' ) {
$per_utile_agente = '0';
}
$ordine_servizio=get_var_tipodoc2($iddocumento,'mod_ordineservizio');
$_SESSION['ordine_servizio'] = $ordine_servizio;
$query = "SELECT * FROM mg_articoli WHERE attivo=1 ORDER BY id_categoria ASC, id_sottocategoria ASC";
$rs = $dbo->fetchArray( $query );
$n = sizeof($rs);
$um = $rs[0]['um'];
//Nelle fatture di acquisto leggo l'iva di acquisto dal fornitore
if( $dir == 'uscita' ){
$rsf = $dbo->fetchArray("SELECT idiva FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'");
$idiva_predefinita = $rsf[0]['idiva'];
}
// seleziono magazzino definito in impostazioni
$id_magazzino_e = get_var_tipodoc2($iddocumento,"id_magazzino_e");
// if( $id_magazzino_e != "0" ){
$rs_mag = $dbo->fetchArray("SELECT nome FROM mg_magazzini WHERE id='".$id_magazzino_e."'");
$nome_magazzino=$rs_mag[0]['nome'];
// }
// else{
// $nome_magazzino="Principale";
// }
/*
Form di inserimento riga documento
*/
echo "<label>Documento numero $numero</label><br><br>\n";
echo "<form id=\"link_form\" action=\"".$rootdir."/editor.php?id_module=".$modules_info[$module_name]['id']."&id_record=".$iddocumento."\" method=\"post\">\n";
echo " <input type='hidden' name='op' value='addarticolo'>\n";
echo " <input type='hidden' name='dir' value='".$dir."'>\n";
echo " <input type='hidden' name='backto' value='record-edit'>\n";
echo " <div class='row'>\n";
//Seleziona articolo
echo " <div class='col-md-6'>\n";
echo " <label>Articolo</label>\n";
if( $n==0 ){
echo " "._("Non ci sono articoli")."\n";
echo " <input type=\"hidden\" id=\"idarticolo\" value=\"0\">\n";
}
else{
$other_js = " $('#idiva').val( $(this).find('option:selected').attr('idiva_vendita') ); $('#idiva').trigger('liszt:updated'); ";
$other_js = '';
//Elenco articoli raggruppati per gruppi e sottogruppi
// echo " <select id=\"idarticolo\" name=\"idarticolo\" class=\"superselectajax\" data-source=\"articoli_filtro\" onchange=\"$('#prezzi').html(''); $('#qta').keyup(); $.get( '".$rootdir."/ajax_autocomplete.php?module=Articoli&op=getlotti&idarticolo='+$(this).find('option:selected').val(), function(data){ $('#lotto').html(data); update_jchosen('#lotto'); }); $('textarea[name=descrizione]').val( $(this).find('option:selected').attr('descrizione') ); $other_js\">\n";
echo " <select id=\"idarticolo\" name=\"idarticolo\" class=\"superselectajax\" data-source=\"articoli_filtro\" onchange=\"$('#prezzi').html(''); $('#qta').keyup(); $.get( '".$rootdir."/ajax_autocomplete.php?module=Articoli&op=getlotti&idarticolo='+$(this).find('option:selected').val(), function(data){ $('#lotto').html(data); update_jchosen('#lotto'); }); $('textarea[name=descrizione]').val( $(this).find('option:selected').attr('descrizione') );$('textarea[name=notearticolo]').val( $(this).find('option:selected').attr('notearticolo') ); $other_js\">\n";
echo " <option value=\"0\">- Seleziona un articolo -</option>\n";
for( $i=0; $i<$n; $i++ ){
if( $rs[$i-1]['categoria'] != $rs[$i]['categoria'] ){
echo " <optgroup label='".$rs[$i]['categoria']."'>\n";
}
if( $rs[$i-1]['subcategoria'] != $rs[$i]['subcategoria'] ){
echo " <optgroup label='&nbsp;&nbsp;".$rs[$i]['subcategoria']."'>\n";
}
//Cerco listino personalizzato
$rslist = $dbo->fetchArray("SELECT prc_guadagno FROM mg_listini_art WHERE idlistino='".$id_listino."' and idarticolo='".$rs[$i]['id']."'");
if( $rslist[0]['prc_guadagno'] <> '0' && sizeof($rslist)>0 ){
$prc_guadagno_new = - $rslist[0]['prc_guadagno'];
}
else{
$prc_guadagno_new = -$prc_guadagno;
}
if( $dir == 'entrata' ){
echo " <option value=\"".$rs[$i]['id']."\" sconto='".$prc_guadagno_new."' idconto_riga='".$rs[$i]['id_conto']."' qta_magazzino='".floatval($rs[$i]['qta'])."' prezzo=\"".floatval($rs[$i]['prezzo_vendita'])."\" guadagno=\"".($rs[$i]['prezzo_vendita']/100*$prc_guadagno)."\" idiva=\"".intval($rs[$i]['idiva_vendita'])."\" descrizione=\"".$rs[$i]['descrizione']."\" notearticolo=\"".$rs[$i]['note']."\" >".$rs[$i]['codice']." - ".$rs[$i]['descrizione']." (".floatval($rs[$i]['qta']).")</option>\n";
}
else{
echo " <option value=\"".$rs[$i]['id']."\" sconto='".$prc_guadagno_new."' idconto_riga='".$rs[$i]['id_conto']."' qta_magazzino='".floatval($rs[$i]['qta'])."' prezzo=\"".floatval($rs[$i]['prezzo_acquisto'])."\" guadagno=\"".($rs[$i]['prezzo_vendita']/100*$prc_guadagno)."\" idiva=\"".intval($rs[$i]['idiva_vendita'])."\" descrizione=\"".$rs[$i]['descrizione']."\" notearticolo=\"".$rs[$i]['note']."\" >".$rs[$i]['codice']." - ".$rs[$i]['descrizione']." (".floatval($rs[$i]['qta']).")</option>\n";
}
if( $rs[$i]['categoria'] != $rs[$i+1]['categoria'] ){
echo " </optgroup>\n";
}
if( $rs[$i]['subcategoria'] != $rs[$i+1]['subcategoria'] ){
echo " </optgroup>\n";
}
}
}
echo " </select>\n";
echo " </div>\n";
//Fltra per Categoria
$query = "SELECT * FROM mg_categorie where parent='0' order by nome";
$rs_cat = $dbo->fetchArray($query);
echo " <div class='col-md-4'>\n";
echo " <label>Categoria articolo</label>\n";
echo " <select id='idcategoria' class='superselect' name=\"idcategoria\">\n";
echo " <option value='0'>Nessun Filtro</option>\n";
for( $i=0; $i<sizeof($rs); $i++ ){
echo " <option value='".$rs_cat[$i]['id']."' $attr>".$rs_cat[$i]['nome']."</option>\n";
}
echo " </select>\n";
echo " </div>\n";
echo " </div>\n";
//Descrizione
echo " <div class='row'>\n";
echo " <div class='col-md-12'>\n";
echo " <label>Descrizione</label>\n";
echo " <textarea name='descrizione' id='descrizione_art' class='form-control'></textarea>\n";
echo " </div>\n";
echo " </div>\n";
//Note articolo
echo " <div class='row'>\n";
echo " <div class='col-md-12'>\n";
echo " <label>Note articolo</label>\n";
echo " <textarea name='notearticolo' id='notearticolo_art' class='form-control' readonly ></textarea>\n";
echo " </div>\n";
echo " </div>\n";
echo "<br>";
echo "<div class='panel panel-primary'>";
echo "<div class='panel-body'>";
echo " <div class='row'>\n";
//Quantità
echo " <div class='col-md-3'>\n";
echo " <div class='form-group'>\n";
echo " <label>Q.t&agrave;</label>\n";
echo " <div class='input-group'>\n";
echo " <input type='text' class='form-control inputmask-decimal' id='qta' maxlength='8' name='qta' value=\"1\"><span class='input-group-addon'>".$um."</span>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
//Costo unitario
echo " <div class='col-md-3'>\n";
echo " <div class='form-group'>\n";
echo " <label>Costo unitario</label>\n";
echo " <div class='input-group'>\n";
echo " <input type='text' class='form-control inputmask-decimal' id='prezzo' name='prezzo' value=\"0,00\"><span class='input-group-addon'>&euro;</span>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
if ($mod_mag != '0' ) {
// Magazzino
$query = "SELECT * FROM mg_magazzini";
$rs = $dbo->fetchArray($query);
echo " <div class='col-md-4'>\n";
echo " <label>Magazzino</label>\n";
echo " <select id='idmagazzino' class='superselect' name=\"idmagazzino\">\n";
echo " <option value='".$id_magazzino_e."'>$nome_magazzino</option>\n";
for( $i=0; $i<sizeof($rs); $i++ ){
echo " <option value='".$rs[$i]['id']."' $attr>".$rs[$i]['nome']."</option>\n";
}
// echo " <option value='0' $attr>Principale</option>\n";
echo " </select>\n";
echo " </div>\n";
}
if ($per_utile_agente != '0' ) {
// Utile agente
echo " <div class='col-md-2'>\n";
echo " <div class='form-group'>\n";
echo " <label>% Agente</label>\n";
echo " <div class='input-group'>\n";
echo " <input type='text' class='form-control inputmask-decimal' id='per_agente' maxlength='8' name='per_agente' value=\"".$per_utile_agente."\"><span class='input-group-addon'>".$um."</span>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
}
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
echo "<div class='panel panel-primary'>";
echo "<div class='panel-body'>";
echo " <div class='row'>\n";
//Sconto
echo " <div class='col-md-3'>\n";
echo " <div class='form-group'>\n";
echo " <label>Sconto</label>\n";
echo " <div class='input-group'>\n";
echo " <input type='text' class='form-control inputmask-decimal' id='sconto' name='sconto' value=\"0,00\" /><span class='input-group-addon'></span>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
//Sconto Extra
echo " <div class='col-md-3'>\n";
echo " <div class='form-group'>\n";
echo " <label>Extra Sconto</label>\n";
echo " <div class='input-group'>\n";
echo " <input type='text' class='form-control inputmask-decimal' id='sconto_extra' name='sconto_extra' value=\"0,00\" /><span class='input-group-addon'></span>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
//Sconto Extra1
echo " <div class='col-md-3'>\n";
echo " <div class='form-group'>\n";
echo " <label>Extra Sconto</label>\n";
echo " <div class='input-group'>\n";
echo " <input type='text' class='form-control inputmask-decimal' id='sconto_extra1' name='sconto_extra1' value=\"0,00\" /><span class='input-group-addon'></span>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
//Tipo Sconto
$query = "SELECT * FROM co_tipisconto";
$rs = $dbo->fetchArray($query);
echo " <div class='col-md-3'>\n";
echo " <label>Tipologia Sconto</label>\n";
echo " <select id='idtiposconto' class='superselect' name=\"idtiposconto\">\n";
echo " <option value='2'>Percentuale</option>\n";
for( $i=0; $i<sizeof($rs); $i++ ){
echo " <option value='".$rs[$i]['id']."' $attr>".$rs[$i]['descrizione']."</option>\n";
}
echo " </select>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
//Installazioni
echo "<div class='panel panel-primary'>";
echo "<div class='panel-body'>";
echo " <div class='row'>\n";
//Tipo Sconto
if( $id_contratto > "0" ) {
$query="SELECT my_impianti.matricola as id , nome FROM my_impianti INNER JOIN my_impianti_contratti ON my_impianti.matricola=my_impianti_contratti.matricola WHERE
idanagrafica='".$idanagrafica."' and idcontratto ='".$id_contratto."' ORDER BY nome";
}else{
$query="SELECT my_impianti.matricola as id , nome FROM my_impianti WHERE idanagrafica='".$idanagrafica."' ORDER BY nome";
}
$rs = $dbo->fetchArray($query);
echo " <div class='col-md-4'>\n";
echo " <label>Installazione Impianti</label>\n";
echo " <select id='id_matricola' class='superselect' name=\"id_matricola\">\n";
if( $id_impianto != "0" ) echo " <option value='".$matricola_primaria_des."'>$nome_impianto</option>\n";
echo " <option value='0'>Nessuna Installazione</option>\n";
for( $i=0; $i<sizeof($rs); $i++ ){
echo " <option value='".$rs[$i]['id']."' $attr>".$rs[$i]['nome']."</option>\n";
}
echo " </select>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
//Visualizzazione ultime 5 vendite generiche
echo " <div class='row'>\n";
echo " <div class='col-md-12'>\n";
echo " <div class='form-group'>\n";
echo " <a class=\"btn btn-info\" onclick=\"$('#prezzi').load('".$rootdir."/ajax_autocomplete.php?module=Articoli&op=getprezzi&idarticolo='+$('#idarticolo option:selected').val()+'&idanagrafica=".$idanagrafica."' );\"> <i class=\"fa fa-search\"></i> Visualizza ultimi prezzi</a><br>\n";
echo " <div id='prezzi' class=\"pull-left\" ></div>\n";
echo " </div>\n";
echo " </div>\n";
echo " </div>\n";
?>
<script type="text/javascript">
dir = '<?php echo $dir ?>';
$('#idcategoria').change( function(){
$.get('<?php echo $rootdir ?>/ajax_autocomplete.php?module=FiltroCat&idcategoria='+this.value+'&idmodulo='+id_module , function(data,response){
start_jquerychosen();
start_inputmask();
});
});
function addarticolo(){
if( $('#idarticolo').val()!='' && $('#idiva option:selected').val()!='' ){
$("#link_form").submit();
}
}
function addarticolo_vendita(){
if( $('#idarticolo').val()!='' && $('#idiva option:selected').val()!='' ){
$("#link_form").submit();
}
}
function addarticolo_acquisto(){
if( $('#idarticolo').val()!='' && $('#idiva option:selected').val()!='' ){
$("#link_form").submit();
}
}
function ricalcola_totale( dir ){
max_qta = $('#idarticolo option:selected').attr('qta_magazzino');
max_qta = force_decimal( max_qta );
qta = $('#qta').val();
qta_commas = qta.replace('.', ',');
qta = force_decimal( qta );
prezzo = $('#idarticolo').find('option:selected').attr('prezzo');
prezzo = force_decimal( prezzo );
sconto = $('#idarticolo').find('option:selected').attr('sconto');
sconto = force_decimal( sconto );
$('#prezzo').val( decimals_with_commas( prezzo, 2 ) );
$('#sconto').val( decimals_with_commas( sconto, 2 ) );
}
$(document).ready( function(){
$('#qta, #idarticolo').keyup( function(){
ricalcola_totale( '<?php echo $dir ?>' );
});
});
</script>
<script src="<?php echo $rootdir; ?>/lib/init.js"></script>
<?php
if( $dir=='entrata' )
echo "<a onclick=\"addarticolo_vendita();\" class=\"btn btn-primary pull-right\"><i class=\"fa fa-plus\"></i> Aggiungi</a>\n";
else
echo "<a onclick=\"addarticolo_acquisto();\" class=\"btn btn-primary pull-right\"><i class=\"fa fa-plus\"></i> Aggiungi</a>\n";
echo "</form>\n";
?>
<div class="clearfix"></div>