<?php
session_start();
include('../_cfg/config.php');
include('php_gene1.php'); 
include('php_session.php');
include('PdfToText.phpclass') ;
include('simplexlsx.class.php');

$tipo=$_POST['ptipo']; 
$ffile=$_POST['ffile']; 
$ffile2=substr($ffile,0,48);

// if($tipo=='.txt' or $tipo=='.csv')
if($tipo=='.csv')
{
	$n_original=$_FILES['ffile']['name'];
	$n_tempo=$_FILES['ffile']['tmp_name'];
  
   echo '<hr>';
   echo ' Archivo : '.$n_original.'<br><br>';
  
     if($_FILES['ffile']['type']=='text/plain')
     {$file=file_get_contents($n_tempo);}

     $jsonresult = csvtojson($n_tempo, ",");

     $data = $jsonresult;
     $xlineas = json_decode($data, true);

$ctab='';   

$xch10=0;     
$xdp10=0;     
$xdb10=0;     

     
     
$fechacorte='';     
$bcossal='';     
     
if($ctab=='') 
{
     $bcosdeb=0;
     $bcoscre=0;
   foreach ($xlineas as $xlinea)
   {
      $docu='';
      foreach ($xlinea as $clave=>$valor)
      {
         $clave=strtoupper($clave);
         $valor=strtoupper($valor);
           
         if($clave=='FECHA'){$fecha=$valor;}
         if($clave=='TIPO'){$tipo=$valor;}
         if($clave=='DOCUMENTO'){$numero=fillzero((int)$valor);}
         if($clave=='MONTO'){$cant=str_replace(',','',$valor);}
         if($clave=='SALDO'){$sald=str_replace(',','',$valor);}
         if($clave=='CODIGO'){$codigob=$valor;}
         if($clave=='OFICINA'){$oficina=$valor;}
         if($clave=='CONCEPTO'){$concepto=trim($valor);}
           
         
         if($tipo=='D' and mb_stristr($concepto,'CHEQUE')){$docu='CH10';}
         if($tipo=='D' and mb_stristr($concepto,'GIRO')){$docu='DP10';}
         if($tipo=='D' and mb_stristr($concepto,'SUELDO')){$docu='DP90';}
         if($tipo=='D' and mb_stristr($concepto,'NOMINA')){$docu='DP90';}
         if($tipo=='C' and mb_stristr($concepto,'DEPOSITO')){$docu='DB10';}
         if($tipo=='C' and mb_stristr($concepto,'TRANSFER')){$docu='DB10';}
         if($tipo=='C' and mb_stristr($concepto,'PDIRECTO')){$docu='DC10';}
         
           
      }
          if($tipo=='D'){$bcoscre+=$cant;}
          if($tipo=='C'){$bcosdeb+=$cant;}
      
      $fecha=str_replace('/','-',$fecha);
      $fecha=date('Y-m-d',strtotime($fecha));
        
           if(empty($fechacorte)){$fechacorte=$fecha;}
           if(empty($bcossal)){$bcossal=$sald;}
        
      if($docu=='CH10')
      {
         $fecha1=date('Y-m-d',strtotime($fecha. ' -90 days'));
         $fecha2=date('Y-m-d',strtotime($fecha. ' +30 days'));
         $sql_ctab ='select * from bcos1 ';
         $sql_ctab.='where status not in("X") ';
         $sql_ctab.='and docu like "'.$docu.'" and numero="'.$numero.'" ';
         $sql_ctab.='and fecha between "'.$fecha1.'" and "'.$fecha2.'" ';
         $sql_ctab.='order by fecha desc ';
         $res_ctab=msql_query($sql_ctab,$link_vcrx);

         if(msql_num_rows($res_ctab)!=0)
         {
            $xch10++;
            $ctab=msql_result($res_ctab,0,'ctab');
            $idbcos=msql_result($res_ctab,0,'idnum1');
            $sql_updt='update bcos1 set fcobro="'.$fecha.'" where idnum1="'.$idbcos.'"';
            $res_updt=msql_query($sql_updt,$link_vcrx);
         }
      }
      
      if($docu=='DP10' or $docu=='DP90')
      {
         $fecha1=date('Y-m-d',strtotime($fecha. ' -4 days'));
         $fecha2=date('Y-m-d',strtotime($fecha. ' +1 days'));
           
         $sql_ctab ='select *, sum(cant) as total  ';
         $sql_ctab.='from bcos1 left join bcos2 on idnum1=idnum2 ';
         $sql_ctab.='where status not in("O","X") ';
         $sql_ctab.='and (docu like "DP%" or docu like "ND%") ';
         $sql_ctab.='and fecha between "'.$fecha1.'" and "'.$fecha2.'" ';
         $sql_ctab.='group by idnum1 ';
         $sql_ctab.='order by fecha desc ';
           
         $sql_ctab='select * from ('.$sql_ctab.') as qctab where total='.$cant.' ';  
         $res_ctab=msql_query($sql_ctab,$link_vcrx);
           
           
         if(msql_num_rows($res_ctab)!=0)
         {
              $xdp10++;
            $ctab=msql_result($res_ctab,0,'ctab');
            $idbcos=msql_result($res_ctab,0,'idnum1');
            $sql_updt='update bcos1 set fcobro="'.$fecha.'" where idnum1="'.$idbcos.'"';
            $res_updt=msql_query($sql_updt,$link_vcrx);
         }
      }
      
      if($docu=='DB10' or $docu=='DC10')
      {
         $fecha1=date('Y-m-d',strtotime($fecha. ' -4 days'));
         $fecha2=date('Y-m-d',strtotime($fecha. ' +1 days'));
           
         $sql_ctab ='select *, sum(cant*puni) as total  ';
         $sql_ctab.='from bcos1 left join bcos2 on idnum1=idnum2 ';
         $sql_ctab.='where status not in("O","X") ';
         $sql_ctab.='and (docu like "DB%" or docu like "DC%") ';
         $sql_ctab.='and fecha between "'.$fecha1.'" and "'.$fecha2.'" ';
         $sql_ctab.='group by idnum1 ';
         $sql_ctab.='order by fecha desc ';
           
         $sql_ctab='select * from ('.$sql_ctab.') as qctab where total='.$cant.' ';  
         $res_ctab=msql_query($sql_ctab,$link_vcrx);

         if(msql_num_rows($res_ctab)!=0)
         {
              $xdb10++;
            $ctab=msql_result($res_ctab,0,'ctab');
            $idbcos=msql_result($res_ctab,0,'idnum1');
            $sql_updt='update bcos1 set fcobro="'.$fecha.'" where idnum1="'.$idbcos.'"';
            $res_updt=msql_query($sql_updt,$link_vcrx);
         }
      }

        $fecha1=$fecha;
        $bcosini=$sald;
        $fecha2=$fechacorte;
         
   }   
}   

?>
<?php
$ctacont=r_fiel('ctab',$ctab,'ctacont');
// $saldocont=sal_ctas($ctacont,'',$fechacorte);
$saldocont=sal_ctas($ctacont,$fecha1,$fecha2);
$difini=$bcosini-$saldocont[1];     
$difdeb=$bcosdeb-$saldocont[2];     
$difcre=$bcoscre-$saldocont[3];     
$difsal=$bcossal-$saldocont[4];     
?>

<table border="1" cellpadding="5">
     <tr>
          <td>Fecha Inicial :</td>
          <td><?php echo $fecha1;?></td>
     </tr>
     <tr>
          <td>Fecha Final :</td>
          <td><?php echo $fecha2;?></td>
     </tr>
     <tr>
          <td>Cta. Bancaria : </td>
          <td><?php echo $ctab.' - '.r_fiel('ctab',$ctab);?></td>
          <td align-r ><?php echo number_format($bcosini,2);?></td>
          <td align-r ><?php echo number_format($bcosdeb,2);?></td>
          <td align-r ><?php echo number_format($bcoscre,2);?></td>
          <td align-r ><?php echo number_format($bcossal,2);?></td>
     </tr>
     <tr>
<!--           <td>Saldo Bancos : </td> -->
     </tr>
     <tr>
          <td>Cta. Contable : </td>
          <td><?php echo $ctacont.' - '.r_fiel('ctas',$ctacont);?></td>
          <td align-r ><?php echo number_format($saldocont[1],2);?></td>
          <td align-r ><?php echo number_format($saldocont[2],2);?></td>
          <td align-r ><?php echo number_format($saldocont[3],2);?></td>
          <td align-r ><?php echo number_format($saldocont[4],2);?></td>
     </tr>
     <tr>
<!--           <td>Saldo Libros : </td> -->
     </tr>
     <tr>
          <td>Diferencias : </td>
          <td> </td>
          <td align-r ><?php echo number_format($difini,2);?></td>
          <td align-r ><?php echo number_format($difdeb,2);?></td>
          <td align-r ><?php echo number_format($difcre   ,2);?></td>
          <td align-r ><?php echo number_format($difsal,2);?></td>
     </tr>
</table>

<?php
     
     

?>


<table border="1" cellpadding="5" cellspacing="5" style="border-collapse:collapse;">
   
<?php   
   
// if($ctab!='') 
if($xch10+$xdp10+$xdb10>=3) 
{
   foreach ($xlineas as $xlinea)
   {
      $docu='';
      foreach ($xlinea as $clave=>$valor)
      {
         $clave=strtoupper($clave);
         $valor=strtoupper($valor);

         if($clave=='FECHA'){$fecha=$valor;}
         if($clave=='TIPO'){$tipo=$valor;}
         if($clave=='DOCUMENTO'){$numero=fillzero((int)$valor);}
         if($clave=='MONTO'){$cant=str_replace(',','',$valor);}
         if($clave=='CODIGO'){$codigob=$valor;}
         if($clave=='OFICINA'){$oficina=$valor;}
         if($clave=='CONCEPTO'){$concepto=trim($valor);}

      $fecha=str_replace('/','-',$fecha);
      $fecha=date('Y-m-d',strtotime($fecha));
           
         if($tipo=='D' and mb_stristr($concepto,'CHEQUE')){$tipo='';}
         if($tipo=='D' and mb_stristr($concepto,'GIRO')){$tipo='';}
         if($tipo=='D' and mb_stristr($concepto,'SUELDO')){$tipo='';}
         if($tipo=='D' and mb_stristr($concepto,'NOMINA')){$tipo='';}
         if($tipo=='C' and mb_stristr($concepto,'DEPOSITO')){$tipo='';}
         if($tipo=='C' and mb_stristr($concepto,'TRANSFER')){$tipo='';}
         if($tipo=='C' and mb_stristr($concepto,'PDIRECTO')){$tipo='';}

         if($tipo=='D' and mb_stristr($concepto,'COSTO') and mb_stristr($concepto,'CASH')){$docu='ND10'; $tipo='';}
           
      }
        
        
         if($docu=='ND10' and 1==2)
         {
              $fecha1=date('Y-m-d',strtotime($fecha. ' -5 days'));
              $fecha2=date('Y-m-d',strtotime($fecha. ' +5 days'));
              $sql_ctab ='select * from bcos1 ';
              $sql_ctab.='where status not in("X") ';
              $sql_ctab.='and docu like "'.$docu.'" ';
              $sql_ctab.='and ctab="'.$ctab.'" ';
              $sql_ctab.='and numero="'.$numero.'" ';
              $sql_ctab.='and fecha between "'.$fecha1.'" and "'.$fecha2.'" ';
              $sql_ctab.='order by fecha desc ';
              $res_ctab=msql_query($sql_ctab,$link_vcrx);

              if(msql_num_rows($res_ctab)==0)
              {
                   $sql_inse ='insert into bcos1(docu,ctab,numero,fecha,status,idate,iuser)';
                   $sql_inse.='value("'.$docu.'","'.$ctab.'","'.$numero.'","'.$fecha.'","-",now(),"'.$user_codigo.'")';
                   $res_inse=msql_query($sql_inse,$link_vcrx);
                   $res_ctab=msql_query($sql_ctab,$link_vcrx);
              }
              
              $idbcos=msql_result($res_ctab,0,'idnum1');
              if(!empty($idbcos))
              {
                   $tipo='';
                   $sql_updt='delete from bcos2 where idnum2='.$idbcos.' limit 10 ';
                   $res_updt=msql_query($sql_updt,$link_vcrx);
                   
                   $sql_inse ='insert into bcos2(idnum2,cant,puni)';
                   $sql_inse.='value("'.$idbcos.'","'.$cant.'","1")';
                   $res_inse=msql_query($sql_inse,$link_vcrx);
              
                   $sql_updt ='update bcos1 left join bcos2 on idnum1=idnum2 ';
                   $sql_updt.='left join ctab0 on ctab=ctab_codigo ';
                   $sql_updt.='set ptoe=ctab_ptoe, ';
                   $sql_updt.='iddet=1, ';
                   $sql_updt.='concepto="'.trim($concepto).' /'.trim($oficina).' /'.trim($codigob).'", ';
                   $sql_updt.='enti="", ';
                   $sql_updt.='detalle="'.trim($codigob).'", ';
                   $sql_updt.='status=status ';
                   $sql_updt.='where idnum1='.$idbcos.' ';
                   $res_updt=msql_query($sql_updt,$link_vcrx);
                   
              }
              
         }
        
      
      $fecha=str_replace('/','-',$fecha);
      $fecha=date('Y-m-d',strtotime($fecha));
      
        if($tipo!='')
        {
         {
            echo '<tr>';
            echo '<td>'.$tipo.'</td>';
            echo '<td>'.$fecha.'</td>';
            echo '<td>'.$numero.'</td>';
            echo '<td align="right">'.number_format($cant,2).'</td>';
            echo '<td>'.$codigob.'</td>';
            echo '<td>'.$concepto.'</td>';
            echo '<td>'.$oficina.'</td>';
            echo '</tr>';
         }
        }
         
      
      
   }   
}   
   
   
?>

</table>

<?php   
   
   
  
}

if($tipo=='.xls')
{
// 	if($_FILES['ffile']['type']!='application/pdf'){die('Tipo de Archivo INVALIDO');}
	$n_original=$_FILES['ffile']['name'];
	$n_tempo=$_FILES['ffile']['tmp_name'];
  
   echo '<hr>';
   echo ' Archivo : '.$n_original.'<br><br>';
  
// 	if($_FILES['ffile']['type']=='text/plain')
//   {$file=file_get_contents($n_tempo);}
  
//    $file = fopen("test.txt","r");
// $xlsfile="../mflw.xlsx";
// $xlsx = new SimpleXLSX($xlsfile);
$xlsx = new SimpleXLSX($n_tempo);
$hojas=	$xlsx->sheetNames();

for( $choja = 0; $choja <= count($hojas); $choja++)
{
// 	echo $hojas[$choja];
// 	echo "\n";
   
// 	if($hojas[$choja]=='Ventas')
	{
          $xfila=$xlsx->rows($choja);

          $xcabe= $xfila[0];
      echo '<br>';
          for( $ccolu = 0; $ccolu <= count($xcabe); $ccolu++)
          {
             $titucolu=strtoupper($xcabe[$ccolu]);
             echo $titucolu.' | ';
               if(mb_stristr($titucolu,'FECHA')){$col_fecha=$ccolu;}
               if(mb_stristr($titucolu,'CODIGO')){$col_codigo=$ccolu;}
               if(mb_stristr($titucolu,'CONCEPTO')){$col_concepto=$ccolu;}
               if(mb_stristr($titucolu,'TIPO')){$col_tipo=$ccolu;}
               if(mb_stristr($titucolu,'DOCUMENTO')){$col_documento=$ccolu;}
               if(mb_stristr($titucolu,'OFICINA')){$col_oficina=$ccolu;}
               if(mb_stristr($titucolu,'MONTO')){$col_monto=$ccolu;}
               if(mb_stristr($titucolu,'SALDO')){$col_saldo=$ccolu;}
          }


         for( $cfila = 1; $cfila <= count($xfila); $cfila++)
          {
               $xregi= $xfila[$cfila];
             
         echo '<br>';
          for( $ccolu = 0; $ccolu <= count($xregi); $ccolu++)
          {
             echo $xregi[$ccolu].' | ';
          }

      }

}
	
	
}
   
  
}

if($tipo=='.xml' or $tipo=='.pdf' )
{
// 	if($_FILES['ffile']['type']!='application/pdf'){die('Tipo de Archivo INVALIDO');}
	$n_original=$_FILES['ffile']['name'];
	$n_tempo=$_FILES['ffile']['tmp_name'];
  
   echo '<hr>';
   echo ' Archivo : '.$n_original.'<br><br>';
  
	if($_FILES['ffile']['type']=='application/pdf')
  {
    $pdf 	= new PdfToText ( $n_tempo ) ;
    $file = $pdf -> Text ;
  }
  else
  {$file=file_get_contents($n_tempo);}
  
  $lfile=strlen($file);
  $claves=array();
  $ccla=0;
  
  for($xcont=0; $xcont<$lfile; $xcont++)
  {
    $clave= substr($file,$xcont,49);
    if(val_clac($clave))
    {
      if($clave!=$claves[$ccla])
      {
        $ccla++;
        $claves[$ccla]=$clave;
        echo '<br>'.$clave;
         
         $subdce=mk_subdce($clave);
         $n_destino=$rutace.$subdce.$clave.'.xml';
         if(move_uploaded_file($n_tempo, $n_destino)){echo '==> OK'; }else{echo '==> Error'; }
      }
    }
  }
  
  for($xcont=0; $xcont<=($ccla); $xcont++)
  {
//     echo '<br>'.$xcont.' == > ';
//     echo '<br>'.$claves[$xcont];
//     echo upl_cexml($claves[$xcont]);
  }
  
}






return;


?>







