Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
801d5a09e5
|
@ -90,6 +90,14 @@ function start_datatables() {
|
|||
exportOptions: {
|
||||
modifier: {
|
||||
selected: true
|
||||
},
|
||||
format: {
|
||||
body: function (data, row, column, node) {
|
||||
data = $('<p>' + data + '</p>').text();
|
||||
data_edit = data.replace('.', ''); // Rimozione punto delle migliaia
|
||||
|
||||
return data_edit.match(/^[0-9,]+$/) ? data_edit : data;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -16,10 +16,11 @@ if (empty($result['idarticolo'])) {
|
|||
</div>';
|
||||
} else {
|
||||
$database = database();
|
||||
$articolo = $database->fetchArray('SELECT codice, descrizione FROM mg_articoli WHERE id = '.prepare($result['idarticolo']))[0];
|
||||
$articolo = $database->fetchArray('SELECT id, codice, descrizione FROM mg_articoli WHERE id = '.prepare($result['idarticolo']))[0];
|
||||
|
||||
echo '
|
||||
<p><strong>'.tr('Articolo').':</strong> '.$articolo['codice'].' - '.$articolo['descrizione'].'.</p>';
|
||||
<p><strong>'.tr('Articolo').':</strong> '.$articolo['codice'].' - '.$articolo['descrizione'].'.</p>
|
||||
<input type="hidden" name="idarticolo" id="idarticolo" value="'.$articolo['id'].'">';
|
||||
}
|
||||
|
||||
// Selezione impianto per gli Interventi
|
||||
|
@ -41,22 +42,22 @@ if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
|||
echo '
|
||||
<div class="row" id="prezzi_articolo">
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (cliente)').'
|
||||
</button>
|
||||
<div id="prezzi" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (acquisto)').'
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Ultimi prezzi di acquisto').'
|
||||
</button>
|
||||
<div id="prezziacquisto" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + $('#idarticolo option:selected').val() + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Visualizza ultimi prezzi (vendita)').'
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Ultimi prezzi al cliente').'
|
||||
</button>
|
||||
<div id="prezzi" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Ultimi prezzi di vendita').'
|
||||
</button>
|
||||
<div id="prezzivendita" class="hide"></div>
|
||||
</div>
|
||||
|
|
|
@ -13,24 +13,26 @@ switch ($resource) {
|
|||
echo '<small>';
|
||||
if (!empty($idarticolo)) {
|
||||
// Ultime 5 vendite al cliente
|
||||
$fatture = $dbo->fetchArray('SELECT iddocumento, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo="'.$idarticolo."\" AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') AND idanagrafica=\"".$idanagrafica.'") LIMIT 0,5');
|
||||
$documenti = $dbo->fetchArray('SELECT iddocumento AS id, "Fattura" AS tipo, "Fatture di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_documento, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_documento, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_documento FROM co_righe_documenti WHERE idarticolo='.prepare($idarticolo).' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="entrata") AND idanagrafica='.prepare($idanagrafica).')
|
||||
UNION
|
||||
SELECT idddt AS id, "Ddt" AS tipo, "Ddt di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM dt_ddt WHERE id=idddt) AS n_documento, (SELECT numero_esterno FROM dt_ddt WHERE id=idddt) AS n2_documento, (SELECT data FROM dt_ddt WHERE id=idddt) AS data_documento FROM dt_righe_ddt WHERE idarticolo='.$idarticolo.' AND idddt IN(SELECT id FROM dt_ddt WHERE idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir="entrata") AND idanagrafica='.prepare($idanagrafica).') LIMIT 0,5');
|
||||
|
||||
if (sizeof($fatture) > 0) {
|
||||
if (sizeof($documenti) > 0) {
|
||||
echo "<br/><table cellspacing='0' class='table-striped table-bordered' >\n";
|
||||
echo "<tr><th width='180'>Documento</th>\n";
|
||||
echo "<th width='100' class='text-right' >Totale</th></tr>\n";
|
||||
|
||||
for ($i = 0; $i < sizeof($fatture); ++$i) {
|
||||
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
|
||||
for ($i = 0; $i < sizeof($documenti); ++$i) {
|
||||
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
|
||||
|
||||
$link_id = Modules::get('Fatture di vendita')['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura.' del '.Translator::dateToLocale($fatture[$i]['data_fattura'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($fatture[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$fatture[$i]['iddocumento'].'"');
|
||||
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].". n. ".$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$documenti[$i]['id'].'"');
|
||||
}
|
||||
echo "</table>\n";
|
||||
} else {
|
||||
echo '<br/>'.tr('Nessuna vendita di questo articolo al cliente selezionato')."...<br/>\n";
|
||||
echo '<br/>'.tr('Nessuna vendita trovata di questo articolo al cliente')."...<br/>\n";
|
||||
}
|
||||
}
|
||||
echo '</small>';
|
||||
|
@ -40,53 +42,55 @@ switch ($resource) {
|
|||
case 'getprezzivendita':
|
||||
echo '<small>';
|
||||
// Ultime 5 vendite totali
|
||||
$fatture = $dbo->fetchArray("SELECT DISTINCT iddocumento, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo='".$idarticolo."' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') ) ORDER BY data_fattura DESC, n_fattura DESC LIMIT 0,5");
|
||||
$documenti = $dbo->fetchArray('SELECT iddocumento AS id, "Fattura" AS tipo, "Fatture di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_documento, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_documento, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_documento FROM co_righe_documenti WHERE idarticolo='.prepare($idarticolo).' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="entrata"))
|
||||
UNION
|
||||
SELECT idddt AS id, "Ddt" AS tipo, "Ddt di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM dt_ddt WHERE id=idddt) AS n_documento, (SELECT numero_esterno FROM dt_ddt WHERE id=idddt) AS n2_documento, (SELECT data FROM dt_ddt WHERE id=idddt) AS data_documento FROM dt_righe_ddt WHERE idarticolo='.prepare($idarticolo).' AND idddt IN(SELECT id FROM dt_ddt WHERE idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir="entrata")) LIMIT 0,5');
|
||||
|
||||
if (sizeof($fatture) > 0) {
|
||||
if (sizeof($documenti) > 0) {
|
||||
echo "<br/><table cellspacing='0' class='table-striped table-bordered' >\n";
|
||||
echo "<tr><th width='180'>Documento</th>\n";
|
||||
echo "<th width='100' class='text-right' >Totale</th></tr>\n";
|
||||
|
||||
for ($i = 0; $i < sizeof($fatture); ++$i) {
|
||||
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
|
||||
for ($i = 0; $i < sizeof($documenti); ++$i) {
|
||||
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
|
||||
|
||||
$link_id = Modules::get('Fatture di vendita')['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura.' del '.Translator::dateToLocale($fatture[$i]['data_fattura'])."</a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($fatture[$i]['costo_unitario'])."</td></tr>\n";
|
||||
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].". n. ".$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$documenti[$i]['id'].'"');
|
||||
}
|
||||
echo "</table>\n";
|
||||
} else {
|
||||
echo '<br/>'.tr('Questo articolo non è mai stato venduto')."...<br/>\n";
|
||||
echo '<br/>'.tr('Nessuna vendita trovata di questo articolo')."...<br/>\n";
|
||||
}
|
||||
echo '</small>';
|
||||
echo '<br/>';
|
||||
|
||||
break;
|
||||
|
||||
// Legge gli ultimi prezzi di vendita di un determinato articolo e li visualizza per suggerire il prezzo di vendita
|
||||
// Legge gli ultimi prezzi di acquisto di un determinato articolo e li visualizza per suggerire il prezzo di acquisto
|
||||
case 'getprezziacquisto':
|
||||
echo '<small>';
|
||||
// Ultime 5 vendite totali
|
||||
$fatture = $dbo->fetchArray("SELECT DISTINCT iddocumento, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo='".$idarticolo."' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='uscita') ) ORDER BY data_fattura DESC, n_fattura DESC LIMIT 0,5");
|
||||
// Ultimi 5 acquisti totali
|
||||
$documenti = $dbo->fetchArray('SELECT iddocumento AS id, "Fattura" AS tipo, "Fatture di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_documento, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_documento, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_documento FROM co_righe_documenti WHERE idarticolo='.prepare($idarticolo).' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="uscita"))
|
||||
UNION
|
||||
SELECT idddt AS id, "Ddt" AS tipo, "Ddt di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM dt_ddt WHERE id=idddt) AS n_documento, (SELECT numero_esterno FROM dt_ddt WHERE id=idddt) AS n2_documento, (SELECT data FROM dt_ddt WHERE id=idddt) AS data_documento FROM dt_righe_ddt WHERE idarticolo='.prepare($idarticolo).' AND idddt IN(SELECT id FROM dt_ddt WHERE idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir="uscita")) LIMIT 0,5');
|
||||
|
||||
if (sizeof($fatture) > 0) {
|
||||
if (sizeof($documenti) > 0) {
|
||||
echo "<br/><table cellspacing='0' class='table-striped table-bordered' >\n";
|
||||
echo "<tr><th width='180'>Documento</th>\n";
|
||||
echo "<th width='100' class='text-right'>Totale</th></tr>\n";
|
||||
echo "<th width='100' class='text-right' >Totale</th></tr>\n";
|
||||
|
||||
for ($i = 0; $i < sizeof($fatture); ++$i) {
|
||||
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
|
||||
for ($i = 0; $i < sizeof($documenti); ++$i) {
|
||||
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
|
||||
|
||||
$link_id = Modules::get('Fatture di acquisto')['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura.' del '.Translator::dateToLocale($fatture[$i]['data_fattura'])."</a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($fatture[$i]['costo_unitario'])."</td></tr>\n";
|
||||
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].". n. ".$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$documenti[$i]['id'].'"');
|
||||
}
|
||||
echo "</table>\n";
|
||||
} else {
|
||||
echo '<br/>'.tr('Questo articolo non è mai stato acquistato')."...<br/>\n";
|
||||
echo '<br/>'.tr('Nessun acquisto trovato di questo articolo')."...<br/>\n";
|
||||
}
|
||||
echo '</small>';
|
||||
echo '<br/>';
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ $query = 'SELECT id, serial, created_at FROM mg_prodotti WHERE serial IS NOT NUL
|
|||
$rs2 = $dbo->fetchArray($query);
|
||||
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed table-bordered text-center datatables">
|
||||
<table id="table-serials" class="table table-striped table-hover table-condensed table-bordered text-center datatables">
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="th_Serial">'.tr('Serial').'</th>
|
||||
|
@ -244,6 +244,7 @@ echo '
|
|||
echo '
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#table-serials").DataTable().draw();
|
||||
$("#serials").removeClass("superselect");
|
||||
$("#serials").select2().select2("destroy");
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ switch (post('op')) {
|
|||
flash()->info(tr("Se le informazioni inserite corrispondono ai dati di un utente, riceverai a breve un'email all'indirizzo collegato").'.');
|
||||
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
exit()
|
||||
exit();
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
|
|
|
@ -12,10 +12,10 @@ $totale_iva = $documento->iva;
|
|||
$totale = $documento->totale;
|
||||
|
||||
$volume = $righe->sum(function ($item) {
|
||||
return $item->isArticolo() ? $item->articolo->volume : 0;
|
||||
return $item->isArticolo() ? $item->articolo->volume*$item->qta : 0;
|
||||
});
|
||||
$peso_lordo = $righe->sum(function ($item) {
|
||||
return $item->isArticolo() ? $item->articolo->peso_lordo : 0;
|
||||
return $item->isArticolo() ? $item->articolo->peso_lordo*$item->qta : 0;
|
||||
});
|
||||
|
||||
// TABELLA PRINCIPALE
|
||||
|
|
|
@ -15,10 +15,10 @@ $netto_a_pagare = abs($documento->netto);
|
|||
$show_sconto = $sconto > 0;
|
||||
|
||||
$volume = $righe->sum(function ($item) {
|
||||
return $item->isArticolo() ? $item->articolo->volume : 0;
|
||||
return $item->isArticolo() ? $item->articolo->volume*$item->qta : 0;
|
||||
});
|
||||
$peso_lordo = $righe->sum(function ($item) {
|
||||
return $item->isArticolo() ? $item->articolo->peso_lordo : 0;
|
||||
return $item->isArticolo() ? $item->articolo->peso_lordo*$item->qta : 0;
|
||||
});
|
||||
|
||||
$width = round(100 / ($show_sconto ? 5 : 3), 2);
|
||||
|
|
Loading…
Reference in New Issue