gest366/modules/documenti_wizard_crea/actions.php

142 lines
7.2 KiB
PHP

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