<?php
function gen_cajabc($docu,$idnum)
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     
     $empr0=data_maes('empr',$empr);
     $docu0=data_maes('docu',$docu);

     $docu1=data_docu($docu,$idnum);
     $fecha0=date('Y-m-d',strtotime('-3 month'));
     

//      if(date('Y-m-d')<='2025-04-30')
//      if($empr0['empr_codigo']=='imcp'){$fecha0='2024-01-01';}

     if(date('Y-m-d')<='2025-06-10')
     if($empr0['empr_codigo']=='imcp'){$fecha0='2025-01-01';}

     
     if($docu1['fecha']<=$fecha0){return;}

//      echo '====>'.$docu1['caba2'];
//      echo '====>'.$docu1['docum'];
//      echo '====>'.$docu1['numer'];
     
     if($docu=='DB10')
     {
          if(!empty($docu1['caba2']))
          if($docu1['docum']=='ICH1')
          {
               $sql_ich1='select * from caja1 where ifnull(status,"")not in("X") and docu="'.$docu1['docum'].'" and numero="'.$docu1['numer'].'"';
               $res_ich1=msql_query($sql_ich1,$link_data);
               if(msql_num_rows($res_ich1)==1)
               {
                    $sql_updt='update bcos1 set caba2="'.msql_result($res_ich1,0,'caja').'" where idnum1="'.$idnum.'"';
                    $sql_updt=msql_query($sql_updt,$link_data);
               }
          }

          
          if(empty($docu1['docum']) and !empty($docu1['ctas']) and !empty($docu1['caba2']))
          {
                    $sql_updt='update bcos1 set caba2=null where idnum1="'.$idnum.'"';
                    $sql_updt=msql_query($sql_updt,$link_data);
          }
               
     }
     
     
//      if(1==2)
     if(!empty($docu1['caba2']))
     if(mb_stristr2('.B.C',substr($docu1['caba2'],0,1)))
     {
               
//           if(($docu=='EE13' and substr($docu1['caba2'],0,1)=='C') or $docu=='CH10' or $docu=='ND13')
          if($docu=='EE13' or $docu=='CH10' or $docu=='ND13')
          {
               $docu1=data_docu($docu,$idnum);
               $taborige=$docu0['docu_tabla'];
               

               if(substr($docu1['caba2'],0,1)=='B'){$tabdesti='bcos';}
               if(substr($docu1['caba2'],0,1)=='C'){$tabdesti='caja';}

               if($tabdesti=='bcos'){$docu2='DB13';}
               if($tabdesti=='caja'){$docu2='IE13';}

               $newid=0;

               $sql_veri ='select * from '.$tabdesti.'1 ';
               $sql_veri.='where ifnull(status,"")not in("O","X") ';
               $sql_veri.='and idfrom="'.$idnum.'" ';
               $res_veri=msql_query($sql_veri,$link_data);

               $newid=msql_result($res_veri,0,'idnum1');

               if(empty($newid))
               {$newid=clon_docu($docu,$idnum,$docu2);}

               if(!empty($newid))
               {
                    $docu2=data_docu($docu2,$newid);

                    $sql_updt='update '.$tabdesti.'1 set ';

                    if($tabdesti=='caja')
                    {$sql_updt.='caja="'.$docu1['caba2'].'", ';}
                    if($tabdesti=='bcos')
                    {$sql_updt.='ctab="'.$docu1['caba2'].'", ';}

                    if($taborige=='caja')
                    {$sql_updt.='caba2="'.$docu1['caja'].'", ';}
                    if($taborige=='bcos')
                    {$sql_updt.='caba2="'.$docu1['ctab'].'", ';}

                    $sql_updt.='status="'.$docu1['status'].'" ';
                    $sql_updt.='where idnum1="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);

                    $sql_updt='update '.$tabdesti.'2 set ';
                    $sql_updt.='docum ="'.$docu1['docu'].'", ';
                    $sql_updt.='ptoem ="'.$docu1['ptoe'].'", ';
                    $sql_updt.='numer ="'.$docu1['numero'].'" ';
                    $sql_updt.='where idnum2="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);



                    $sql_updt='update '.$taborige.'2 set ';
                    $sql_updt.='docum ="'.$docu2['docu'].'", ';
                    $sql_updt.='ptoem ="'.$docu2['ptoe'].'", ';
                    $sql_updt.='numer ="'.$docu2['numero'].'" ';
                    $sql_updt.='where idnum2="'.$docu1['idnum1'].'"';
                    $res_updt=msql_query($sql_updt,$link_data);

               }

               $sql_updt='update '.$tabdesti.'1 left join ctab0 on ctab=ctab_codigo set ptoe=ctab_ptoe ';
               $sql_updt.='where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               $sql_updt='update '.$tabdesti.'1 set status="'.$docu1['status'].'" where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               // anula ib13 (si cambio  destino)
               $sql_ib13='select * from bcos1 where docu = "DB13" ';
               $sql_ib13.='and ctab!="'.$docu1['caba2'].'" ';
               $sql_ib13.='and idfrom="'.$idnum.'"';
               $res_ib13=msql_query($sql_ib13,$link_data);
               while($aso_ib13=msql_fetch_assoc($res_ib13))
               {
                    $sql_updt='update bcos1 set status="O" where idnum1='.$aso_ib13['idnum1'].' limit 1';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

               $sql_ib13='select * from caja1 where docu = "IE13" ';
               $sql_ib13.='and caja!="'.$docu1['caba2'].'" ';
               $sql_ib13.='and idfrom="'.$idnum.'"';
               $res_ib13=msql_query($sql_ib13,$link_data);
               while($aso_ib13=msql_fetch_assoc($res_ib13))
               {
                    $sql_updt='update bcos1 set status="O" where idnum1='.$aso_ib13['idnum1'].' limit 1';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

          }

          
          
//           echo '====='.substr($docu1['docum'],1,2);
          if($docu=='DB10' and substr($docu1['docum'],1,2)=='CH')
          {
               $docu1=data_docu($docu,$idnum);
               $taborige=$docu0['docu_tabla'];

               $tabdesti='caja';
               $docu2='ECH1';

               $newid=0;

               $sql_veri ='select * from '.$tabdesti.'1 ';
               $sql_veri.='where ifnull(status,"")not in("O","X") ';
               $sql_veri.='and idfrom="'.$idnum.'" ';
               $res_veri=msql_query($sql_veri,$link_data);

               $newid=msql_result($res_veri,0,'idnum1');

               
               if(empty($newid))
               {$newid=clon_docu($docu,$idnum,$docu2);}

               if(!empty($newid))
               {
                    $docu2=data_docu($docu2,$newid);

                    $sql_updt='update '.$tabdesti.'1 set ';

                    if($tabdesti=='caja')
                    {$sql_updt.='caja="'.$docu1['caba2'].'", ';}
                    
                    if($taborige=='bcos')
                    {$sql_updt.='caba2="'.$docu1['ctab'].'", ';}

                    $sql_updt.='status="'.$docu1['status'].'" ';
                    $sql_updt.='where idnum1="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);

                    $sql_updt='update '.$tabdesti.'2 set ';
                    $sql_updt.='docum ="'.$docu1['docu'].'", ';
                    $sql_updt.='ptoem ="'.$docu1['ptoe'].'", ';
                    $sql_updt.='numer ="'.$docu1['numero'].'" ';
                    $sql_updt.='where idnum2="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);



                    $sql_updt='update '.$taborige.'2 set ';
                    $sql_updt.='docum ="'.$docu2['docu'].'", ';
                    $sql_updt.='ptoem ="'.$docu2['ptoe'].'", ';
                    $sql_updt.='numer ="'.$docu2['numero'].'" ';
                    $sql_updt.='where idnum2="'.$docu1['idnum1'].'"';
                    $res_updt=msql_query($sql_updt,$link_data);

               }

               $sql_updt='update '.$tabdesti.'1 left join ctab0 on ctab=ctab_codigo set ptoe=ctab_ptoe ';
               $sql_updt.='where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               $sql_updt='update '.$tabdesti.'1 set status="'.$docu1['status'].'" where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               // anula ib13 (si cambio  destino)
               $sql_ib13='select * from bcos1 where docu = "DB13" ';
               $sql_ib13.='and ctab!="'.$docu1['caba2'].'" ';
               $sql_ib13.='and idfrom="'.$idnum.'"';
               $res_ib13=msql_query($sql_ib13,$link_data);
               while($aso_ib13=msql_fetch_assoc($res_ib13))
               {
                    $sql_updt='update bcos1 set status="O" where idnum1='.$aso_ib13['idnum1'].' limit 1';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

               $sql_ib13='select * from caja1 where docu = "IE13" ';
               $sql_ib13.='and caja!="'.$docu1['caba2'].'" ';
               $sql_ib13.='and idfrom="'.$idnum.'"';
               $res_ib13=msql_query($sql_ib13,$link_data);
               while($aso_ib13=msql_fetch_assoc($res_ib13))
               {
                    $sql_updt='update bcos1 set status="O" where idnum1='.$aso_ib13['idnum1'].' limit 1';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

          }
          
          
//           if($docu=='DB10' and (substr($docu1['docum'],0,2)=='IE' or empty($docu1['docum'])))
          if($docu=='DB10' and substr($docu1['docum'],0,2)=='IE')
          {
               $docu1=data_docu($docu,$idnum);
               $taborige=$docu0['docu_tabla'];

               $tabdesti='caja';
               $docu2='EE10';

               $newid=0;

               $sql_veri ='select * from '.$tabdesti.'1 ';
               $sql_veri.='where ifnull(status,"")not in("O","X") ';
               $sql_veri.='and idfrom="'.$idnum.'" ';
               $res_veri=msql_query($sql_veri,$link_data);

               $newid=msql_result($res_veri,0,'idnum1');

               if(empty($newid))
               {$newid=clon_docu($docu,$idnum,$docu2);}

               if(!empty($newid))
               {
                    $docu2=data_docu($docu2,$newid);

                    $sql_updt='update '.$tabdesti.'1 set ';

                    if($tabdesti=='caja')
                    {$sql_updt.='caja="'.$docu1['caba2'].'", ';}

                    if($taborige=='bcos')
                    {$sql_updt.='caba2="'.$docu1['ctab'].'", ';}

                    $sql_updt.='status="'.$docu1['status'].'" ';
                    $sql_updt.='where idnum1="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);

                    $sql_updt='update '.$tabdesti.'2 set ';
                    $sql_updt.='docum ="'.$docu1['docu'].'", ';
                    $sql_updt.='ptoem ="'.$docu1['ptoe'].'", ';
                    $sql_updt.='numer ="'.$docu1['numero'].'" ';
                    $sql_updt.='where idnum2="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);



                    $sql_updt='update '.$taborige.'2 set ';
                    $sql_updt.='docum ="'.$docu2['docu'].'", ';
                    $sql_updt.='ptoem ="'.$docu2['ptoe'].'", ';
                    $sql_updt.='numer ="'.$docu2['numero'].'" ';
                    $sql_updt.='where idnum2="'.$docu1['idnum1'].'"';
                    $res_updt=msql_query($sql_updt,$link_data);

               }

               $sql_updt='update '.$tabdesti.'1 left join ctab0 on ctab=ctab_codigo set ptoe=ctab_ptoe ';
               $sql_updt.='where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               $sql_updt='update '.$tabdesti.'1 set status="'.$docu1['status'].'" where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               // anula ib13 (si cambio  destino)
               $sql_ib13='select * from bcos1 where docu = "DB10" ';
               $sql_ib13.='and ctab!="'.$docu1['caba2'].'" ';
               $sql_ib13.='and idfrom="'.$idnum.'"';
               $res_ib13=msql_query($sql_ib13,$link_data);
               while($aso_ib13=msql_fetch_assoc($res_ib13))
               {
                    $sql_updt='update bcos1 set status="O" where idnum1='.$aso_ib13['idnum1'].' limit 1';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

               $sql_ib13='select * from caja1 where docu = "IE10" ';
               $sql_ib13.='and caja!="'.$docu1['caba2'].'" ';
               $sql_ib13.='and idfrom="'.$idnum.'"';
               $res_ib13=msql_query($sql_ib13,$link_data);
               while($aso_ib13=msql_fetch_assoc($res_ib13))
               {
                    $sql_updt='update bcos1 set status="O" where idnum1='.$aso_ib13['idnum1'].' limit 1';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

          }
          
          
     }
          
}



function gen_acap10($docu,$idnum)
{
//      if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
//      if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     
//      $empr0=data_maes('empr',$empr);
//      $docu0=data_maes('docu',$docu);
//      $tabla=$docu0['docu_tabla'];
//      $tabla1=$tabla.'1';
//      $tabla2=$tabla.'2';
     
//      $sql_docu='select * from '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2 where idnum1="'.$idnum.'" order by iddet';
//      $res_docu=msql_query($sql_docu,$link_data);
     
//      while($aso_docu=msql_fetch_assoc($res_docu))
//      {
//           if($aso_docu['docum']=='AC10' or $aso_docu['docum']=='AP10')
//           {
//                if($aso_docu['numer']*1==0)
//                {
//                     $_PARAMS['docu']=$aso_docu['docum'];
//                     $_PARAMS['ptoe']=$aso_docu['ptoem'];
//                     $numero=new_numero($_PARAMS);
//                     echo '===='.$numero;
//                }
               
//           }
//      }
     
}
?>