<?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;

	}





?>
