<?php


	include_once("../../core.php");
	include_once($docroot."/modules/documenti/modutil.php");
	include_once($docroot."/modules/articoli/modutil.php");
	$module_name = "Crea wizard"; 

	$id = $html->form('id', 'post');
	$idanagrafica = $html->form('idanagrafica', 'post');
	$idwizard = $html->form('idwizard', 'post');
	$data_i = saveDate( $_POST['data_i'] );
	$data_f = saveDate( $_POST['data_f'] );
	
	switch( $html->form('op', 'post') ){

		case "upload":
			$doc_trovati="0";
			$rs = $dbo->fetchArray("select * from co_tipidocumento_wizard  where  id='".$idwizard."'");	
			$n2 = sizeof($rs);
			$idtipo_newdoc=$rs[0]['iddocumento_crea'];
			$idstato_newdoc=$rs[0]['iddocumento_stato_successivo'];
			
			$rs = $dbo->fetchArray("select * from co_tipidocumento_wizard_righe  where  idwizard='".$idwizard."'");	
			$n2 = sizeof($rs);
			
			// ciclo nei tipi documento e cerco se esitono documenti
			for( $i=0; $i<sizeof($rs); $i++ ){

			$rs_new = $dbo->fetchArray("SELECT * FROM co_documenti WHERE  idstatodocumento='".$rs[$i]['id_stato_cerca']."' and 
			idtipodocumento='".$rs[$i]['idtipodocumento']."' and data BETWEEN '".$data_i."' AND '".$data_f."' and idanagrafica='".$idanagrafica."' order by data");	
				if (sizeof($rs_new) >0 ){				
					$doc_trovati="1";
				}
			}
			
			if ($doc_trovati =="1"){	
				$data=date('Y/m/d');	
			
				// trovati documenti e quidni creo un nuovo documento
				// cerco impostazioni tipo documento
				$numerazione_progressiva=get_var_tipodoc($idtipo_newdoc,'mod_num');
				$dir=get_var_tipodoc($idtipo_newdoc,'dir');
				$idconto=get_var_tipodoc($idtipo_newdoc,'idconto');
				$idpagamento_new=get_var_tipodoc($idtipo_newdoc,'idpagamento');
				$id_gruppodoc=get_var_tipodoc($idtipo_newdoc,'id_gruppo_tipologia');
				$suffisso=get_var_tipodoc($idtipo_newdoc,'txt_suffisso');
				$suffisso_anno=get_var_tipodoc($idtipo_newdoc,'suffisso_anno');
				$idstato = $idstato_newdoc;
				$mod_prodotollo = get_var_tipodoc($idtipo_newdoc,'mod_prodotollo');
				$ordine_servizio=get_var_tipodoc($idtipo_newdoc,'mod_ordineservizio');
				
				$nuovo_id_protocollo=0;
				$query = "SELECT idagente , idbanca_vendite  FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."'";
				$rs = $dbo->fetchArray($query);
				$idagente = $rs[0]['idagente'];
				$idbanca_vendite = $rs[0]['idbanca_vendite'];
				
				if( $numerazione_progressiva==0) $numero = get_new_numerofattura( $data );	
				if( $numerazione_progressiva==1) $numero=get_new_numerofattura_multi($data,$idtipo_newdoc);									
				if( $dir=='entrata' ){
					if( $numerazione_progressiva==0) $numero_esterno = get_new_numerosecondariofattura( $data,$idtipo_newdoc );
					if( $numerazione_progressiva==1) $numero_esterno = get_new_numerosecondariofattura_multi( $data,$idtipo_newdoc );
					
				}
				else{
					$numero_esterno = '';
					
				}		
				$numero_documento=$suffisso.$numero_esterno;
				if( $suffisso_anno==1) $numero_documento = $numero_documento."_".date("Y");
				
				//Tipo di pagamento predefinito dall'anagrafica
				$query = "SELECT id FROM co_pagamenti WHERE id=(SELECT idpagamento FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."')";
				$rs = $dbo->fetchArray($query);
				$idpagamento = $rs[0]['id'];
			
				// se pagaemnto non impostato cerco se pagamento impostato per default
				if( $idpagamento=='') $idpagamento=$idpagamento_new;
				
				$query = "INSERT INTO co_documenti ( id_contratto,idbanca_vendite,id_protocollo,data_prot,idagente , numero, numero_esterno,numero_documento, id_gruppo_tipologia,idanagrafica, idconto, idtipodocumento, idpagamento, data, idstatodocumento, idsede ) VALUES 
					( \"".$idcontratto."\",\"".$idbanca_vendite."\",\"".$nuovo_id_protocollo."\",\"".$data_prot."\",\"".$idagente."\", \"".$numero."\", \"".$numero_esterno."\", \"".$numero_documento."\",\"".$id_gruppodoc."\",\"".$idanagrafica."\", \"".$idconto."\", \"".$idtipo_newdoc."\", \"".$idpagamento."\", 
					Now(), \"".$idstato."\", (SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica=\"".$idanagrafica."\") )";
				$dbo->query($query);
				$iddocumento = $dbo->last_inserted_id();
				$id_record = $iddocumento;
		// ciclo nei documenti documento per leggere le posizioni
				$rs = $dbo->fetchArray("select * from co_tipidocumento_wizard_righe  where  idwizard='".$idwizard."' order by id");	
				$n2 = sizeof($rs);			
				for( $i=0; $i<sizeof($rs); $i++ ){	
					$rs_testata = $dbo->fetchArray("SELECT * FROM co_documenti WHERE  idstatodocumento='".$rs[$i]['id_stato_cerca']."' and 
					idtipodocumento='".$rs[$i]['idtipodocumento']."' and data BETWEEN '".$data_i."' AND '".$data_f."' and idanagrafica='".$idanagrafica."' order by data");	
					if (sizeof($rs_testata) >0 ){										
						

						
						for( $t=0; $t<sizeof($rs_testata); $t++ ){							
							$iddoc_trovato=$rs_testata[$t]['id'];
													//Genero Transazione		
						
						$query="Insert into co_documenti_transazioni (idpadre,idfiglio,data_transazione,idutente) values 
						(\"".$iddoc_trovato."\", \"".$id_record."\",NOW(), '".$_SESSION['idutente']."')";
						$dbo->query($query);
						$rs_statonew = $dbo->fetchArray("select id_stato_inserisci from co_tipidocumento_wizard_righe  where  idwizard='".$idwizard."' and idtipodocumento='".$rs[$i]['idtipodocumento']."'");	
						$stato_transazione_concluso = $rs_statonew[0]['id_stato_inserisci'];
						agg_doc_stato($iddoc_trovato,$rs[$i]['id_stato_cerca'],$stato_transazione_concluso);
						
						
							
							$des_doc=get_var_tipodoc2($iddoc_trovato,'descrizione');							
							$desc_riga="Documento :".$des_doc." Numero :".$rs_testata[$t]['numero_documento']." del ".date( "d/m/Y", strtotime($rs_testata[$t]['data']));
							// Inserisco testata
							$sql="INSERT INTO co_righe_documenti( grassetto,iddocumento, descrizione , riga_varia ) VALUES
								( '1','".$id_record."','".$desc_riga."','1' )";				
								$dbo->query($sql);	
							
							$query = "SELECT * FROM co_righe_documenti WHERE iddocumento='".$iddoc_trovato."'  order by id";						
							$rs_riga = $dbo->fetchArray($query);
							//Imposto la provenienza del documento e la qta ottenuta dalla transazione
							$dbo->query( "UPDATE co_righe_documenti SET  qta_evasa =  qta  WHERE iddocumento=\"".$iddoc_trovato."\"" );

							for( $ri=0; $ri<sizeof($rs_riga); $ri++ ){
									$idriga = add_articolo_infattura( $id_record, $rs_riga[$ri]['idarticolo'], $rs_riga[$ri]['descrizione'], $rs_riga[$ri]['idiva'], $rs_riga[$ri]['qta'], $rs_riga[$ri]['subtotale'],$rs_riga[$ri]['sconto'], '0', '', '', '' ,
									$rs_riga[$ri]['idconto'],$rs_riga[$ri]['tipo_sconto'],$rs_riga[$ri]['sconto_primo'],$rs_riga[$ri]['sconto_extra'],$rs_riga[$ri]['sconto_extra1'],$rs_riga[$ri]['id_magazzino'] );
									$dbo->query( "UPDATE co_righe_documenti SET qta_da_transazione = '".$rs_riga[$ri]['qta']."' , id_riferimento='".$rs_riga[$ri]['id']."' , id_impianto='".$rs_riga[$ri]['id_impianto']."' ,matricola_impianto='".$rs_riga[$ri]['matricola_impianto']."'  WHERE id=\"".$idriga."\"" );							
							}	
						}
						
						
					}
				}
		
				redirect($rootdir."/editor.php?id_module=14&id_record=".$id_record);
			}
			exit;
			
			break;
			

	}
?>