147 lines
4.7 KiB
PHP
147 lines
4.7 KiB
PHP
<?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à 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à 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
?>
|