1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-01-31 07:55:17 +01:00

Migliorato plugin movimentazione articoli

This commit is contained in:
Luca 2018-05-17 12:58:53 +02:00
parent b9427b9918
commit a9adbacdb5
3 changed files with 37 additions and 16 deletions

View File

@ -12,15 +12,18 @@ echo '
<div class="box-body">';
// Calcolo la quantità dai movimenti in magazzino
$rst = $dbo->fetchArray('SELECT SUM(qta) AS qta_totale, ( SELECT SUM(qta) FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0) AND data <= CURDATE() ) AS qta_totale_attuale FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0)');
$rst = $dbo->fetchArray('SELECT COUNT(mg_movimenti.id) AS row, SUM(qta) AS qta_totale, ( SELECT SUM(qta) FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0) AND data <= CURDATE() ) AS qta_totale_attuale FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0)');
$qta_totale = $rst[0]['qta_totale'];
$qta_totale_attuale = $rst[0]['qta_totale_attuale'];
echo '
<p>'.tr('Quantità calcolata dai movimenti').': '.Translator::numberToLocale($qta_totale).' '.$rs[0]['unita_misura'].'</p>';
if ( $rst[0]['row']>0){
echo '
<p>'.tr('Quantità calcolata dai movimenti').': <b>'.Translator::numberToLocale($qta_totale).' '.$records[0]['um'].'</b> <span class=\'tip\' title=\''.tr('Quantità calcolata di tutti i movimenti registrati').'.\' ><i class="fa fa-question-circle-o"></i></span></p>';
echo '
<p>'.tr('Quantità attuale a magazzino').': '.Translator::numberToLocale($qta_totale_attuale).' '.$rs[0]['unita_misura'].'</p>';
echo '
<p>'.tr('Quantità calcolata attuale').': <b>'.Translator::numberToLocale($qta_totale_attuale).' '.$records[0]['um'].'</b> <span class=\'tip\' title=\''.tr('Quantità calcolata dei movimenti registrati che hanno come data oggi o date trascorse').'.\' ><i class="fa fa-question-circle-o"></i></span></p>';
}
// Elenco movimenti magazzino
$query = 'SELECT * FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' ORDER BY created_at DESC';
@ -42,24 +45,34 @@ if (!empty($rs2)) {
echo '
<table class="table table-striped table-condensed table-bordered">
<tr>
<th class="text-center" width="100">'.tr('Q.').'</th>
<th width="720">'.tr('Causale').'</th>
<th>'.tr('Data').'</th>
<th class="text-center">#</th>
<th >'.tr('Q.').'</th>
<th >'.tr('Causale').'</th>
<th >'.tr('Data').'</th>
<th class="text-center" width="7%">#</th>
</tr>';
foreach ($rs2 as $r) {
// Quantità
echo '
<tr>
<td class="text-right">'.Translator::numberToLocale($r['qta']).'</td>';
<td class="text-right">'.Translator::numberToLocale($r['qta']).' '.$records[0]['um'].'</td>';
// Causale
$dir = ($r['qta']<0) ? 'vendita' : 'acquisto';
echo '
<td>'.$r['movimento'].'</td>';
<td>'.$r['movimento'].'
'.((!empty($r['idintervento'])) ? Modules::link('Interventi', $r['idintervento']) :'').'
'.((!empty($r['idautomezzo'])) ? Modules::link('Automezzi', $r['idautomezzo']) :'').'
'.((!empty($r['iddt'])) ? Modules::link('DDt di '.$dir.'', $r['iddt']) :'').'
'.((!empty($r['iddocumento'])) ? Modules::link('Fatture di '.$dir.'', $r['iddocumento']) :'').'
</td>';
// Data
echo '
<td>'.Translator::dateToLocale($r['data']).' <span class=\'tip\' title=\''.tr('Data del movimento: ').Translator::dateToLocale($r['created_at']).'\' ><i class="fa fa-question-circle-o"></i></span> </td>';
<td class="text-center" >'.Translator::dateToLocale($r['data']).' <span class=\'tip\' title=\''.tr('Data del movimento: ').Translator::dateToLocale($r['created_at']).'\' ><i class="fa fa-question-circle-o"></i></span> </td>';
// Operazioni
echo '
@ -79,8 +92,16 @@ if (!empty($rs2)) {
echo '
</table>';
} else {
echo '
<p>'.tr('Nessun movimento disponibile').'...</p>';
echo '
<div class="alert alert-info">
<i class="fa fa-info-circle"></i>
'.tr('Questo articolo non è ancora stato movimentato', []).'.
</div>';
}
echo '

View File

@ -99,8 +99,6 @@ switch (filter('op')) {
//mi serve per la pianificazione interventi
$idanagrafica = $rsp[0]['idanagrafica'];
//se voglio pianificare anche le date precedenti ad oggi (parto da questo promemoria)
if ($parti_da_oggi) {
//oggi

View File

@ -143,6 +143,8 @@ ALTER TABLE `in_interventi_tecnici` CHANGE `uid` `uid` int(11);
-- Aggiorno campo 'Data' in 'Data movimento'
UPDATE `zz_views` SET `name` = 'Data movimento', `order` = '6' WHERE `zz_views`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti') AND name = 'Data';
UPDATE `zz_views` SET `query` = 'CONCAT(mg_movimenti.qta,'' '', (SELECT um FROM mg_articoli WHERE id = mg_movimenti.idarticolo) )' WHERE `zz_views`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti') AND name = 'Quantità';
-- Allineo anche il modulo movimenti con il nuovo campo data
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `enabled`, `default`) VALUES
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Data', 'mg_movimenti.data', 5, 1, 0, 1, 1, 1);