gest366/modules/magazzini/actions.php

147 lines
4.7 KiB
PHP
Raw Normal View History

2021-02-24 20:40:04 +00:00
<?php
include_once(__DIR__."/../../core.php");
/* necesaria per funzione add_movimento_magazzino */
include($docroot."/modules/articoli/modutil.php");
$idmagazzino = $_POST['id_record'];
switch( $html->form('op', 'post') ){
case "update":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$sigla = save($_POST['sigla']);
$nome = save($_POST['nome']);
$descrizione = save($_POST['descrizione']);
if( $dbo->fetchNum("SELECT sigla FROM mg_magazzini WHERE sigla=\"$sigla\" AND NOT id='".$idmagazzino."'")==0 ){
$query = "UPDATE mg_magazzini SET sigla=\"$sigla\", descrizione=\"$descrizione\", nome=\"$nome\" WHERE id='$idmagazzino'";
if( $dbo->query( $query ) )
array_push( $_SESSION['infos'], "Informazioni salvate correttamente!");
}
else{
array_push( $_SESSION['errors'], "Esiste gi&agrave; un magazzino con questa sigla!" );
}
}
break;
//Aggiunta magazzino
case "add":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$sigla = save( $_POST['sigla'] );
$nome = save( $_POST['nome'] );
//Inserisco l'magazzino solo se non esiste un altro articolo con stesso sigla
if( $dbo->fetchNum("SELECT sigla FROM mg_magazzini WHERE sigla=\"$sigla\"")==0 ){
$query = "INSERT INTO mg_magazzini( sigla, nome) VALUES (\"$sigla\", \"$nome\")";
$dbo->query($query);
$id_record = $dbo->last_inserted_id();
array_push( $_SESSION['infos'], "Aggiunto un nuovo magazzino!" );
}
else{
array_push( $_SESSION['errors'], "Esiste gi&agrave; un magazzino con questa sigla!" );
}
}
break;
//Aggiunta quantità nell'magazzino
case "addrow":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$idarticolo = save( $_POST['idarticolo'] );
$qta = str_replace(",", ".", save( $_POST['qta'] ) );
//Decremento la quantità dal magazzino centrale
$dbo->query("UPDATE mg_articoli SET qta=qta-".$qta." WHERE id='".$idarticolo."'");
add_movimento_magazzino( $idarticolo, $qta, '', '0', '0', '0', $idmagazzino );
//Verifico se nell'magazzino c'è già questo articolo
$rs = $dbo->fetchArray("SELECT id, qta FROM mg_articoli_magazzini WHERE idarticolo='".$idarticolo."' AND idmagazzino='".$idmagazzino."'");
//Se nell'magazzino c'è già questo articolo incremento la quantità...
if( sizeof($rs) > 0 && $rs[0]['qta'] >= 0 ){
$dbo->query("UPDATE mg_articoli_magazzini SET qta=qta+".$qta." WHERE id='".$rs[0]['id']."'");
array_push( $_SESSION['infos'], "Caricato il magazzino dell'magazzino!" );
} else { //...altrimenti inserisco la scorta nell'magazzino da zero
$dbo->query("INSERT INTO mg_articoli_magazzini( idarticolo, idmagazzino, qta ) VALUES ( '".$idarticolo."', '".$idmagazzino."', '".$qta."' )");
}
array_push( $_SESSION['infos'], "Caricato il magazzino dell'magazzino!" );
}
break;
//Spostamento scorta da magazzino a magazzino generale
case "moverow":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
$idmagazzinotecnico = save($_POST['idmagazzinotecnico']);
//Leggo la quantità del lotto
$rs = $dbo->fetchArray("SELECT qta, idarticolo FROM mg_articoli_magazzini WHERE id='".$idmagazzinotecnico."'");
if( sizeof($rs)==1 ){
//Aggiungo la quantità al magazzino
$dbo->query("UPDATE mg_articoli SET qta=qta+".$rs[0]['qta']." WHERE id='".$rs[0]['idarticolo']."'");
//Elimino l'articolo dall'magazzino
$dbo->query("DELETE FROM mg_articoli_magazzini WHERE id='".$idmagazzinotecnico."'");
add_movimento_magazzino( $rs[0]['idarticolo'], -$rs[0]['qta'], '', '0', '0', '0', $idmagazzino );
array_push( $_SESSION['infos'], "Articoli riportati nel magazzino centrale!" );
}
}
break;
case "delete":
if( $modules_info[$module_name]["permessi"] == 'rw' ){
//per ogni articolo caricato in questo magazzino
$rs = $dbo->fetchArray("SELECT qta, idarticolo FROM mg_articoli_magazzini WHERE idmagazzino='".$idmagazzino."'");
for( $i=0; $i<sizeof($rs); $i++ ){
//Ripristino la quantità nel magazzino centrale
$dbo->query("UPDATE mg_articoli SET qta=qta+".$rs[$i]['qta']." WHERE id='".$rs[$i]['idarticolo']."'");
add_movimento_magazzino( $rs[$i]['idarticolo'], -$rs[$i]['qta'], '', '0', '0', '0', $idmagazzino );
}
//Elimino tutti gli articoli dall'magazzino
$dbo->query("DELETE FROM mg_articoli_magazzini WHERE idmagazzino='".$idmagazzino."'");
//Elimino definitivamente l'magazzino
$dbo->query("DELETE FROM mg_magazzini WHERE id='$idmagazzino'");
array_push( $_SESSION['infos'], "Magazzino eliminato e articoli riportati in magazzino!" );
}
break;
}
?>