<?php
function vali_maes($maes,$codigo='')
{
//      return;
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

     $empr0=data_maes('empr',$empr);
     
     $maes0=$maes.'0';
//      echo '<br>=='.date('H:i:s');
     $sql_updt0='update '.$maes0.' set '.$maes.'_descri=trim('.$maes.'_descri) ';
     $sql_updt0.='where '.$maes.'_udate>="'.date('Y-m-01',strtotime('-1 month')).'" and ifnull('.$maes.'_descri,"")!=""';
     $sql_updt0=msql_query($sql_updt0,$link_data);
//      echo '<br>=='.date('H:i:s');
     
     if(table_exist($maes0)==1 and 1==2)
     {
          $sql_updt0='update '.$maes0.' set '.$maes.'_descri0='.$maes.'_descri where ifnull('.$maes.'_descri0,"")="" ';
          $sql_updt0=msql_query($sql_updt0,$link_data);
     }
     
     
     if($maes=='empr')
     {
          $sql_updt='update empr0 set empr_tipo="'.$_SESSION['cfg_tipo'].'" where ifnull(empr_tipo,"")="" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_pk12='select * from pk120 ';
          $sql_pk12.='where left(pk12_enti,10)="'.substr($empr0['empr_ruc'],0,10).'" ';
//           $sql_pk12.='and ifnull(pk12_idate,"")>="'.date('Y-m-01',strtotime('- 12 month')).'" ';
          $sql_pk12.='order by pk12_codigo desc ';
          $res_pk12=msql_query($sql_pk12,$link_data);
          $caduca=msql_result($res_pk12,0,'pk12_caduca');
          
//           echo '==='.$caduca;
          if(empty($caduca)){$caduca='2000-01-01';}
          
          $sql_pk12='update empr0 set empr_p12caduca="'.$caduca.'" ';
          $res_pk12=@msql_query($sql_pk12,$link_data);
          
          if($empr0['empr_sriats']==0)
          {
               $sql_pk12='update empr0 set empr_defa332=0';
               $res_pk12=msql_query($sql_pk12,$link_data);
          }
          
          if($empr0['empr_defa332']==1)
          if($empr0['empr_sriats']==0)
          {
               $sql_pk12='update empr0 set empr_sriats=1';
               $res_pk12=msql_query($sql_pk12,$link_data);
          }
          
          
          
     }

     if($maes=='user')
     if($empr0['empr_refers']==1)               
     {
//           $sql_user='select * from user0 ';
//           $res_user=msql_query($sql_user,$link_data);
//           while($aso_user=msql_fetch_assoc($res_user))
          {
                                    
               $sql_updt='update user0 set user_referx1=user_referx ';
               $res_updt=msql_query($sql_updt,$link_data);
                                    
               $sql_updt='update user0 left join user0 refx0 on user0.user_referx1=refx0.user_codigo set user0.user_referx2=refx0.user_referx ';
               $res_updt=msql_query($sql_updt,$link_data);
                                    
               $sql_updt='update user0 left join user0 refx0 on user0.user_referx2=refx0.user_codigo set user0.user_referx3=refx0.user_referx ';
               $res_updt=msql_query($sql_updt,$link_data);
                                    
               $sql_updt='update user0 left join user0 refx0 on user0.user_referx3=refx0.user_codigo set user0.user_referx4=refx0.user_referx ';
               $res_updt=msql_query($sql_updt,$link_data);
                                    
               $sql_updt='update user0 left join user0 refx0 on user0.user_referx4=refx0.user_codigo set user0.user_referx5=refx0.user_referx ';
               $res_updt=msql_query($sql_updt,$link_data);
                                    
               $sql_updt='update user0 left join user0 refx0 on user0.user_referx5=refx0.user_codigo set user0.user_referx5=refx0.user_referx ';
               $res_updt=msql_query($sql_updt,$link_data);
                                    

//                $sql_updt='update user0 set user_referx2=99999 where ifnull(user_referx2,0)=0 ';
//                $res_updt=msql_query($sql_updt,$link_data);
               
//                $sql_updt='update user0 set user_referx3=99999 where ifnull(user_referx3,0)=0 ';
//                $res_updt=msql_query($sql_updt,$link_data);
               
//                $sql_updt='update user0 set user_referx4=99999 where ifnull(user_referx4,0)=0 ';
//                $res_updt=msql_query($sql_updt,$link_data);
               
//                $sql_updt='update user0 set user_referx5=99999 where ifnull(user_referx5,0)=0 ';
//                $res_updt=msql_query($sql_updt,$link_data);
               
               
          }
     }
     
     if($maes=='user')
     {
          $sql_pk12='select * from pk120 where ifnull(pk12_caduca,"")>="'.date('Y-m-d').'" ';
          $res_pk12=msql_query($sql_pk12,$link_data);
          
          while($aso_pk12=msql_fetch_assoc($res_pk12))
          {
               $sql_updt='update user0 set user_p12caduca="'.$aso_pk12['pk12_caduca'].'" where left(user_cedula,10)="'.substr($aso_pk12['pk12_enti'],0,10).'"';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          
     }
     
     if($maes=='pk12' )
     {
          $sql_pk12='select * from pk120 ';
          $sql_pk12.='where ifnull(pk12_status,"")not in("I","X") ';
//           $sql_pk12.='and ifnull(pk12_caduca,"0000-00-00")="0000-00-00" ';
          $sql_pk12.='order by pk12_codigo desc ';
          $res_pk12=msql_query($sql_pk12,$link_data);
          
//           echo '===================*/*/*/*'.msql_num_rows($res_pk12);
          
          while($aso_pk12=msql_fetch_assoc($res_pk12))
          {
               $codi=$aso_pk12['pk12_codigo'];     
               $file=$aso_pk12['pk12_file'];     
               $pass=$aso_pk12['pk12_pass'];
               $filefull='../_pk12/'.$file;
               
               
//                echo '<br>';
//                echo '==> '.$file;
//                echo '==> '.$pass;
               
               if(empty($pass)){$pass=$empr0['empr_p12pass'];}
               if(file_exists($filefull))
               {
//                     $cont=file_get_contents($file);
//                     $caduca=p12_vali_date($cont,$pass);
                    
//                     echo '==> EXIST';
                    
                    $caduca=p12_vali_date($file,$pass);
                    if(empty($caduca))
                    {
                         $pass=$empr0['empr_p12pass'];
                         $caduca=p12_vali_date($file,$pass);
                    }
               }
               
               $sql_updt='update pk120 set pk12_caduca="'.$caduca.'" where pk12_codigo="'.$codi.'" ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
     }

     $tabla=$maes;
     $tabla0=$tabla.'0';
     
     
     if(mb_stristr2('.vndd.clie.prov.codt.pcnt',$maes))
     {vali_nomb($maes);}
     

     if(mb_stristr2('.enti.clie',$maes) and 1==1)
     {
          
          $sql_enti='select enti_codigo, max(enti_plazo) as enti_plazo from enti0 where ifnull(enti_plazo,0)>0 group by left(enti_codigo,10)';
          $res_enti=msql_query($sql_enti,$link_data);
          while($aso_enti=msql_fetch_assoc($res_enti))
          {
               $sql_updt='update enti0 set enti_plazo="'.$aso_enti['enti_plazo'].'" where enti_codigo like "'.substr($aso_enti['enti_codigo'],0,10).'%"';
//                $res_updt=msql_query($sql_updt,$link_data);
//                echo '<br>==> '.$sql_updt;
          }
          
          $xtabla='enti';
          $xtabla0='enti0';
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=''.$xtabla.'_rcdd='.$xtabla.'_vndd ';
          $sql_updt.='where ifnull('.$xtabla.'_rcdd,"")="" ';
          $res_updt=msql_query($sql_updt,$link_data);
     }

     if(mb_stristr2('.enti.clie.prov',$maes) and 1==1)
     {
          $xtabla='enti';
          $xtabla0='enti0';
          $sql_updt='update '.$xtabla0.' set '.$xtabla.'_pasaporte=null where length(trim(ifnull('.$xtabla.'_pasaporte,"")))<=5 ';
          $res_updt=msql_query($sql_updt,$link_data);
          $sql_updt='update '.$xtabla0.' set '.$xtabla.'_idexterior=null where length(trim(ifnull('.$xtabla.'_idexterior,"")))<=5 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$xtabla0.' set '.$xtabla.'_ciudad="GUAYAQUIL" where substring('.$xtabla.'_codigo,1,2)="09" and ifnull('.$xtabla.'_ciudad,"")=""  ';
          $res_updt=msql_query($sql_updt,$link_data);
     }
     
     
     
     if(mb_stristr2('.clie',$maes))
     {
//           crea_enti_escala();
     }
     
     if(mb_stristr2('.enti.clie.prov.vndd.codt.pcnt',$maes) and 1==1)
     {          
          $xtabla='enti';
          $xtabla0='enti0';

          $xtabla='enti';
          $xtabla0='enti0';
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=''.$xtabla.'_nom1=null,';
          $sql_updt.=''.$xtabla.'_nom2=null,';
          $sql_updt.=''.$xtabla.'_ape1=null,';
          $sql_updt.=''.$xtabla.'_ape2=null,';
          $sql_updt.='where substring('.$xtabla.'_codigo,3,1)="9" ';
          $res_updt=msql_query($sql_updt,$link_data);
      
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=''.$xtabla.'_email=lower('.$xtabla.'_email),';
          $sql_updt.=''.$xtabla.'_emailce=lower('.$xtabla.'_emailce)';
          $res_updt=msql_query($sql_updt,$link_data);
   
          
//           if($_SESSION['user_codigo']==2)
          {
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=''.$xtabla.'_email=null,';
          $sql_updt.=''.$xtabla.'_emailce=null';
          $sql_updt.='where substring('.$xtabla.'_codigo,1,4)="9999" ';
          $res_updt=msql_query($sql_updt,$link_data);
          }
          
      
      
     }
   
//      se tarda mucho para todos los enti
     if(mb_stristr2('.enti.pcnt.clie',$maes) and 1==2)
     {vali_sexo();}
     
     if(mb_stristr2('.enti.clie.prov',$maes) and 1==1)
     {
          $xtabla='enti';
          $xtabla0='enti0';

          $sql_dele='update enti0 set enti_status="X" where substring(enti_codigo,3,1)="9" and length(trim(enti_codigo))=10 and enti_codigo not like "99%"';
          $res_dele=msql_query($sql_dele,$link_data);
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=''.$xtabla.'_descri='.$xtabla.'_razsoc ';
          $sql_updt.='where length(trim('.$xtabla.'_razsoc))>=5 ';
          $sql_updt.='and length(trim('.$xtabla.'_codigo))>=10 ';
          $sql_updt.='and ifnull('.$xtabla.'_descri,"")="" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=$xtabla.'_razsoc='.$xtabla.'_descri,';
          $sql_updt.='where '.$xtabla.'_razsoc like "%<LINK%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=$xtabla.'_descri='.$xtabla.'_descri0,';
          $sql_updt.='where '.$xtabla.'_descri like "%LINK%" ';
          $sql_updt.='and length(trim('.$xtabla.'_descri0)) > length(trim('.$xtabla.'_descri)) ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=$xtabla.'_razsoc='.$xtabla.'_descri,';
          $sql_updt.='where '.$xtabla.'_razsoc like "%LINK%" ';
          $sql_updt.='and length(trim('.$xtabla.'_descri)) > length(trim('.$xtabla.'_razsoc)) ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=$xtabla.'_razsoc='.$xtabla.'_descri,';
          $sql_updt.='where ifnull('.$xtabla.'_razsoc,"")="" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$xtabla0.' set ';
          $sql_updt.=''.$xtabla.'_descri="_ CONSUMIDOR FINAL",';
          $sql_updt.=''.$xtabla.'_razsoc="_ CONSUMIDOR FINAL",';
          $sql_updt.=''.$xtabla.'_nomcom="_ CONSUMIDOR FINAL"';
          $sql_updt.='where '.$xtabla.'_codigo like "9999%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
     }
     
     if(mb_stristr2('.enti.clie',$maes) and 1==1)
     {
          $sql_maes ='select distinct left(enti_codigo,10) as enti_codigo from enti0 ';
          $sql_maes.='where left(enti_codigo,10) ';
//           $sql_maes.='in(select distinct left(enti,10) as enti from vtas1)';
          $sql_maes.='in(select distinct left(enti,10) as enti from vtas1 where fecha>=curdate()-interval 3 month)';
          $res_maes=msql_query($sql_maes,$link_data);
          
          while($aso_maes=msql_fetch_assoc($res_maes))
          {
               $sql_vtas='select * from vtas1 ';
               $sql_vtas.='where ifnull(status,"")not in ("O","X") ';
               $sql_vtas.='and enti like "'.$aso_maes['enti_codigo'].'%" ';
//                $sql_vtas.='and fecha<="2025-02-28" ';
               $sql_vtas.='order by fecha desc limit 1';
               $res_vtas=msql_query($sql_vtas,$link_data);
               $cur_vndd=msql_result($res_vtas,0,'vndd');
               
//                if(mb_stristr2($aso_maes['enti_codigo'],'0993239'))
//                echo '<br>== '.$cur_vndd;
               
               $sql_updt='update enti0 set enti_vndd="'.$cur_vndd.'" ';
               $sql_updt.='where enti_codigo like "'.substr($aso_maes['enti_codigo'],0,10).'%" ';
               $sql_updt.='and ifnull(enti_vndd,"")="" ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
     }

     
     if($maes=='rpis')
     {
          $sql_updt='update '.$tabla0.' ';
          $sql_updt.='left join enti0 on rpis_cedula=enti_codigo ';
          $sql_updt.='set ';
          $sql_updt.=''.$tabla.'_descri= concat( '.$tabla.'_fecha," / ", enti_descri ) ';
          $res_updt=msql_query($sql_updt,$link_data);
     }
     
     if($maes=='item')
     {
          
          $sql_duni ='update item0 set ';
          $sql_duni.='item_duni=case ';
          $sql_duni.='when item_umdd like "UND%" then 0 ';
          $sql_duni.='when item_umdd like "UNI%" then 0 ';
          $sql_duni.='when item_umdd like "KG%" then 2 ';
          $sql_duni.='when item_umdd like "LB%" then 2 ';
          $sql_duni.='else item_duni ';
          $sql_duni.='end, ';
          $sql_duni.='item_umdd=case ';
          $sql_duni.='when item_umdd like "UNI%" then "UNI." ';
          $sql_duni.='else item_umdd ';
          $sql_duni.='end ';
          $res_duni=msql_query($sql_duni,$link_data);
          
          if($empr0['empr_codigo']=='hfre')
          {
               $sql_duni ='update item0 set item_duni=case ';
               $sql_duni.='when item_umdd like "LT%" then 2 ';
               $sql_duni.='when item_umdd like "LIT%" then 2 ';
               $sql_duni.='else item_duni ';
               $sql_duni.='end ';
               $res_duni=msql_query($sql_duni,$link_data);
          }
          
          
          $sql_updt='update '.$tabla0.' set '.$tabla.'_codigov=trim('.$tabla.'_codigov) ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla0.' set '.$tabla.'_dcos=2 where ifnull('.$tabla.'_dcos,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla0.' set ';
          $sql_updt.=''.$tabla.'_descri="_ ITEMS VARIOS",';
          $sql_updt.=''.$tabla.'_descri2="_ ITEMS VARIOS"';
          $sql_updt.='where '.$tabla.'_codigo like "99999999%"  ';
          $sql_updt.='or  '  .$tabla.'_codigo like "88888888%"  ';
          $res_updt=msql_query($sql_updt,$link_data);
          
     }
     
     if($maes=='item' and $empr=='demo')
     {
          $sql_puni='update item0 set item_puni=rand()*(100-1)+1 ';
          $res_puni=msql_query($sql_puni,$link_data);
          
          
//           $xiva=12;
//           $sql_puni='update item0 set item_iva='.$xiva.' where item_codigo like "%'.$xiva.'%" ';
//           $res_puni=msql_query($sql_puni,$link_data);
          
          for($idx=1; $idx<=5; $idx++)
          {
               $sql_puni='update item0 set item_puni'.$idx.'=item_puni*(1-(('.$idx.'-1)/10))';
               $res_puni=msql_query($sql_puni,$link_data);

               $sql_puni='update item0 set item_pvp'.$idx.'=round(item_puni'.$idx.'*(1+item_iva/100),2)';
               $res_puni=msql_query($sql_puni,$link_data);
          }

          
          
     }


     if($maes=='lsub')
     {
//           $sql_lsub='select distinct(left(lsub_codigo,5)) as lsub_codigo from lsub0 where length(trim(lsub_codigo))=9 order by lsub_codigo';
//           $res_lsub=msql_query($sql_lsub,$link_data);
//           while($aso_lsub=msql_fetch_assoc($res_lsub))
//           {inse_maes('lsub',$aso_lsub['lsub_codigo'],$aso_lsub['lsub_codigo']);}
     }

     
     if(1==2)     
     if($maes=='cair')
     {
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctacomp='.$maes.'_ctacont5 where ifnull('.$maes.'_ctacomp,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctaretc='.$maes.'_ctacont1 where ifnull('.$maes.'_ctaretc,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctaretp='.$maes.'_ctacont2 where ifnull('.$maes.'_ctaretp,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
     }
     
     if(1==2)
     if($maes=='iva')
     {
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctavtas='.$maes.'_ctacont4 where ifnull('.$maes.'_ctavtas,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctacomp='.$maes.'_ctacont5 where ifnull('.$maes.'_ctacomp,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctaretc='.$maes.'_ctacont1 where ifnull('.$maes.'_ctaretc,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$maes.'0 set '.$maes.'_ctaretp='.$maes.'_ctacont2 where ifnull('.$maes.'_ctaretp,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          
     }
     

     
     
// RAND()*(10-5)+5;     
     
     if($maes=='lote')
     {
          $sql_lote='';
          $sql_lote.='update lote0,comp1,inve1,inve2 ';
          $sql_lote.='set lote_descri=concat(comp1.docu,"-",comp1.numero," /",comp1.impor), ';
          $sql_lote.='lote_impor=comp1.impor ';
          $sql_lote.='where inve1.idnum1=inve2.idnum2  ';
          $sql_lote.='and lote_codigo=inve2.lote  ';
          $sql_lote.='and inve1.impor=comp1.impor ';
          $sql_lote.='and (comp1.docu="FP10" or comp1.docu="FP15" )';
          $res_lote=msql_query($sql_lote,$link_data);
          
//           $sql_lote='';
//           $sql_lote.='update lote0,comp1,inve1,inve2 ';
//           $sql_lote.='set lote_impor=comp1.impor ';
//           $sql_lote.='where inve1.idnum1=inve2.idnum2  ';
//           $sql_lote.='and lote_codigo=inve2.lote  ';
//           $sql_lote.='and inve1.impor=comp1.impor ';
//           $sql_lote.='and (comp1.docu="FP10" or comp1.docu="FP15" )';
//           $res_lote=msql_query($sql_lote,$link_data);
          
          
     }

     if($maes=='ppdd')
     {
          $sql_lote='';
          $sql_lote.='update ppdd0, enti0 ';
          $sql_lote.='set ppdd_descri=concat(ppdd_calle2," (",ppdd_callen,") ==> ",enti_descri), ';
          $sql_lote.='where ppdd_pptario=enti_codigo ';
//           $sql_lote.='and lote_codigo=inve2.lote  ';
//           $sql_lote.='and inve1.impor=comp1.impor ';
//           $sql_lote.='and (comp1.docu="FP10" or comp1.docu="FP15" )';
          $res_lote=msql_query($sql_lote,$link_data);
          
     }
     
     
     
}

function vali_modu($modu,$idnum='')
{
//      return;
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     
     if(empty($modu)){return;}

     $empr0=data_maes('empr',$empr);
     $tabla=$modu;
     $tabla1=$tabla.'1';
     $tabla2=$tabla.'2';

     // fill zeros numero / numer
//      $sql_updt='update '.$tabla1.' set numero=lpad(numero*1,9,0) where numero*1>0 ';
//      $res_updt=msql_query($sql_updt,$link_data);
     
//      $sql_updt='update '.$tabla2.' set numer=lpad(numer*1,9,0) where numer*1>0 ';
//      $res_updt=msql_query($sql_updt,$link_data);



    //   $sql_nodeta='select * from '.$tabla1.' where idnum1 not in (select idnum2 from '.$tabla2.') and fecha>="'.date('Y-m-01',strtotime('-1 month')).'"';
    //   $res_nodeta=msql_query($sql_nodeta,$link_data);
    //   while($aso_nodeta=msql_fetch_assoc($res_nodeta))
    //   {
    //       $sql_indeta='insert into '.$tabla2.'(idnum2,iddet)value("'.$aso_nodeta['idnum1'].'","1")';
    //       $res_indeta=msql_query($sql_indeta);
    //   }



     if(mb_stristr2('.vtas.comp.clie.prov.inve.caja.bcos.nomi.',$modu) and 1==1)
     {
          $sql_updt='update '.$tabla1.' set status="X", xuser="AUTOX", xdate=now() where ifnull(status,"")!="X" and numero*1=0  and idate>=CURDATE() - INTERVAL 2 WEEK ';
          $res_updt=msql_query($sql_updt,$link_data);
          
//           $sql_updt='update '.$tabla1.' set enti="9999999999" where substring(enti,3,4) = "9999" and idate>=CURDATE() - INTERVAL 2 month ';
          $sql_updt='update '.$tabla1.' set enti="9999999999999" where substring(enti,3,4) = "9999" and idate>=CURDATE() - INTERVAL 2 month ';
          $res_updt=msql_query($sql_updt,$link_data);
     }

     if(mb_stristr2('.vtas.clie',$modu) and 1==1)
     {
          $sql_updt='update user0 set user_cedula="9999999999" where length(trim(ifnull(user_cedula,"")))!=10 and user_codigo in(select distinct iuser from vtas1) ';
          $res_updt=msql_query($sql_updt,$link_data);

          
//           echo '======'.$empr0['empr_codigo'];
          if($empr0['empr_codigo']=='dtec')
          {
//                $sql_updt ='update vtas1 ';
//                $sql_updt.='left join user0 on iuser=user_codigo ';
//                $sql_updt.='set vndd=user_cedula ';
//                $sql_updt.='where ifnull(vndd,"")="" ';
//                $sql_updt.='and docu like "FC%" ';
//                $sql_updt.='and fecha="'.date('Y-m-d').'" ';
//                $res_updt=msql_query($sql_updt,$link_data);
          }
     }

     if(mb_stristr2('.vtas.comp.clie.prov.inve',$modu))
     {
//           $sql_ndet='select * from '.$tabla1.' where ifnull(status,"") not in ("O","X") and fecha>="'.date('Y-m-d',strtotime('-7 days')).'" and fecha<"'.date('Y-m-d').'" and idnum1 not in (select idnum2 from '.$tabla2.')';
//           $res_ndet=msql_query($sql_ndet,$link_data);
          
//           while($aso_ndet=msql_fetch_assoc($res_ndet))
          {
//                $sql_inse='insert into '.$tabla2.'(idnum2,iddet,cant) value("'.$aso_ndet['idnum1'].'","1","1")';
//                $res_inse=msql_query($sql_inse,$link_data);
          }
          
     }
     
     
     // 332
     
//      if(1==2)
     if(mb_stristr2('.coXmp.sri1',$modu) and $empr0['empr_rete']==1)
     {
//          $fecha332=date('Y-m-01',strtotime('-3 month'));
         $fecha332=date('Y-m-01',strtotime('-2 month'));
         $sql_comp='select * from comp1 ';
         $sql_comp.='left join comp2 on idnum1=idnum2 ';
         $sql_comp.='where ifnull(status,"")not in ("O","X") ';
         $sql_comp.='and docu in("FP10","FP03") ';
         $sql_comp.='and ifnull(cair,"")!= "332" ';
        //  $sql_comp.='and numero*1=672537 ';
         $sql_comp.='and fecha>="'.$fecha332.'" ';
         $sql_comp.='and fecha<"'.date('Y-m-01').'" ';
         $res_comp=msql_query($sql_comp,$link_data);
//           echo '==='.msql_num_rows($res_comp);
        while($aso_comp=msql_fetch_assoc($res_comp))
        {vali_docu($aso_comp['docu'],$aso_comp['idnum1']);}
     }
         

     
     if($modu=='jwib')
     { 

//           $sql_updt='update '.$tabla1.' set fecha=fecha1 where ifnull(fecha,"")=""';
          $sql_updt='update '.$tabla1.' set fecha=fecha1 where docu="MDC0"';
          $res_updt=msql_query($sql_updt,$link_data);
     }
     
     if($modu=='clie')
     {
//           $sql_updt='update '.$tabla1.', enti0 set vndd=enti_vndd where left(enti,10)=left(enti_codigo,10) and docu like "FC%" and length(vndd)<10';
//           $res_updt=msql_query($sql_updt,$link_data);
     }
     
//      echo '<br>==='.date('H:i:s');
     if($modu=='vtas' and 1==1)
     {
          $sql_updt='update vtas1 set enti="9999999999999" where enti like "99999999%"';
          $res_updt=msql_query($sql_updt,$link_data);

          $sql_updt='update vtas1 set todocu="FC10" where docu like "NC%" and ifnull(todocu,"")=""';
          $res_updt=msql_query($sql_updt,$link_data);
          

//           if()
          $sql_ptov='update vtas1 left join ptov0 on ptov=ptov_codigo set ptoe=ptov_ptoe where fecha>=curdate() -interval 2 week ';
          $res_ptov=msql_query($sql_ptov,$link_data);
          
          $sql_ptov='update vtas1 left join enti0 on substring(enti,1,10)=substring(enti_codigo,1,10) set enti=enti_codigo where length(trim(enti))in(11,12) and fecha>=curdate() -interval 2 week  ';
          $res_ptov=msql_query($sql_ptov,$link_data);
          
          $sql_updt='update vtas1 set fpag="20" where docu like "FC10" and ifnull(fpag,"")="" and fecha>=curdate() -interval 2 week ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          
          $sql_zsub='update vtas1 set vndd=null where vndd like "99999999%"';
          $res_zsub=msql_query($sql_zsub,$link_data);
          
          $sql_zsub='update zsub0 set zsub_rcdd=zsub_vndd where ifnull(zsub_rcdd,"")=""';
          $res_zsub=msql_query($sql_zsub,$link_data);
          
          $sql_rcdd ='update vtas1 ';
          $sql_rcdd.='left join enti0 on enti=enti_codigo ';
          $sql_rcdd.='left join zsub0 on enti_zsub=zsub_codigo ';
          $sql_rcdd.='set rcdd=zsub_rcdd where ifnull(rcdd,"")="" ';
          $res_rcdd=msql_query($sql_rcdd,$link_data);
          
          $sql_rcdd ='update vtas1 ';
          $sql_rcdd.='left join enti0 on enti=enti_codigo ';
          $sql_rcdd.='set rcdd=enti_rcdd where ifnull(rcdd,"")="" ';
          $res_rcdd=msql_query($sql_rcdd,$link_data);
          
          $sql_rcdd ='update vtas1 ';
          $sql_rcdd.='set rcdd=vndd where ifnull(rcdd,"")="" ';
          $res_rcdd=msql_query($sql_rcdd,$link_data);
          
          $sql_docu='select * from '.$tabla1.' ';
          $sql_docu.='where docu like "FC%" ';
          $sql_docu.='and enti not like "9999%" ';
          $sql_docu.='and length(ifnull(vndd,""))<10 ';
          $sql_docu.='and fecha>=curdate() -interval 1 week ';
          $sql_docu.='order by idnum1 ';
          $res_docu=msql_query($sql_docu,$link_data);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $sql_fact ='select *,abs(datediff("'.$aso_docu['fecha'].'",fecha)) as diasdif from '.$tabla1.' ';
               $sql_fact.='where docu like "FC%" and length(vndd)>=10 and enti like "'.substr($aso_docu['enti'],0,10).'%" ';
               $sql_fact.='order by diasdif limit 1';
               $res_fact=msql_query($sql_fact,$link_data);
               $xvndd=msql_result($res_fact,0,'vndd');
               if(empty($xvndd)){$xvndd='-';}
               $sql_updt='update '.$tabla1.' set vndd="'.$xvndd.'" where idnum1="'.$aso_docu['idnum1'].'" limit 1';
               $res_updt=msql_query($sql_updt,$link_data);
          }
 
          $sql_ncre='select * from '.$tabla1.' ';
          $sql_ncre.='where docu like "NC%" ';
          $sql_docu.='and enti not like "9999%" ';
          $sql_ncre.='order by idnum1 desc ';
          $sql_ncre.='limit 100';
          $res_ncre=msql_query($sql_ncre,$link_data);
          while($aso_ncre=msql_fetch_assoc($res_ncre))
          {
               $sql_fact='select * from '.$tabla1.' where docu like "'.$aso_ncre['todocu'].'" and ptoe="'.$aso_ncre['toptoe'].'" and numero="'.$aso_ncre['tonume'].'"';
               $res_fact=msql_query($sql_fact,$link_data);
               $xvndd=msql_result($res_fact,0,'vndd');
               if(empty($xvndd)){$xvndd='-';}
               $sql_updt='update '.$tabla1.' set vndd="'.$xvndd.'" where idnum1="'.$aso_ncre['idnum1'].'" limit 1';
               $res_updt=msql_query($sql_updt,$link_data);
          }
     }
     
//      echo '<br>==='.date('H:i:s');
     if($modu=='comp')
     {
          $fecha2=date('Y-m-01',strtotime('-2 month'));
//           $sql_updt='update '.$tabla1.' set suco="01" where docu like "FP10" and ifnull(suco,"")="" ';
//           $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla1.' set suco="01" where docu like "FP10" and ifnull(suco,0)*1>=20 and fecha>="'.$fecha2.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
//           $sql_updt='update '.$tabla1.' set fpag="20" where docu like "FP10" and ifnull(fpag,"")="" ';
//           $res_updt=msql_query($sql_updt,$link_data);

          $sql_updt='update '.$tabla1.' set suco="", fpag="" where docu in("FP90","FP15") and fecha>="'.$fecha2.'" ';
          $res_updt=msql_query($sql_updt,$link_data);

          
//           $sql_updt='update '.$tabla2.' set ctas=null where ctas*1=0 and ifnull(ctas,"")!=""';
//           $res_updt=msql_query($sql_updt,$link_data);
          
//           $sql_updt='update '.$tabla2.' set cair=replace(cair,".","") where cair like "%.%" and fecha>="'.$fecha2.'" ';
          $sql_updt='update '.$tabla2.' set cair=replace(cair,".","") where cair like "%.%" ';
          $res_updt=msql_query($sql_updt,$link_data);

          if($empr0['empr_sriats']>=1)
          if($empr0['empr_defa332']==1)
          {
               $fecha332=date('Y-m-01',strtotime('-2 month'));
               if(date('Y-m-d')<'2024-09-30'){$fecha332='2024-01-01';}
               if($empr0['empr_codigo']=='btp1'){$fecha332='2024-01-01';}
               
               
               $sql_updt='update  '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2  set cair="332" where ifnull(cair,"")="" and fecha>="'.$fecha332.'"';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          
          if(empty($empr0['empr_cont']))
          {
//           $sql_updt='update  '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2  set cair="332" where ifnull(cair,"")="" and fecha>="'.date('Y-m-01',strtotime('-1 month')).'"';
//           $res_updt=msql_query($sql_updt,$link_data);
          }
          
          $sql_updt='update '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2 ';
          $sql_updt.='set impor=null, impor2=null where impor like "999%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          
          
//           $sql_reteprov='select * from reteprov limit 1';
//           $res_reteprov=msql_query($sql_reteprov,$link_data);
          
//           if(date('Y-m-d')>='2025-02-15')
          if($empr0['empr_rete']==1)
          {
               $sql_updt='update '.$tabla1.' ';
               $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
               $sql_updt.='left join '.'reteprov'.' on comp1.enti=reteprov.enti and comp1.ptoe=reteprov.ptoem and comp1.numero=reteprov.numer ';
               $sql_updt.='set comp2.cair=reteprov.cair ';
               $sql_updt.='where ifnull(comp1.status,"")not in ("X") ';
               $sql_updt.='and ifnull(comp2.cair,"")="" ';
               $sql_updt.='and ifnull(reteprov.cair,"")*1 >=300 ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          
          
     }
//      echo '<br>==='.date('H:i:s');

     if($modu=='prov')
     {
          
          
          $sql_updt='update '.$tabla1.' set enti="1760013480001" where docu="DA16"';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla2.' set cant0=cant where ifnull(cant0,0)=0';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla2.' set cant1=cant where ifnull(cant1,0)=0';
          $res_updt=msql_query($sql_updt,$link_data);
          
//           $sql_updt='update '.$tabla2.' set cant=cant1 where ifnull(cant1,0)!=0';
//           $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla2.' set cant=1/100000 where ifnull(cant,0)=0';
          $res_updt=msql_query($sql_updt,$link_data);
     }

     
//                echo '====='.$modu;

     if($modu=='guia')
     {
          $fechax=date('Y-m-01',strtotime('-1 month'));
          $sql_updt='update '.$tabla1.' set vhcl=placa where ifnull(vhcl,"")="" and fecha>="'.$fechax.'"';
          $res_updt=msql_query($sql_updt,$link_data);

          $sql_updt='update '.$tabla1.' set plvh=placa where ifnull(plvh,"")="" and fecha>="'.$fechax.'"';
          $res_updt=msql_query($sql_updt,$link_data);

          $fechax=date('Y-m-d',strtotime('-2 days'));
          $sql_updt='update '.$tabla1.' set placa="AAA0000" where ifnull(placa,"")="" and fecha<="'.$fechax.'"';
          $res_updt=msql_query($sql_updt,$link_data);
          
          if(date('Y-m-d')<='2023-05-31')
          {
               $sql_guia='update guia1 set vhcl=placa where ifnull(vhcl,"")=""' ;
               $res_guia=msql_query($sql_guia,$link_data);
               $sql_guia='update guia1 set plvh=placa where ifnull(plvh,"")=""' ;
               $res_guia=msql_query($sql_guia,$link_data);
          }
          
          $sql_guia='update guia2 set puni=0 where item in(select item_codigo from item0 where item_lsub like "SERV%")' ;
          $res_guia=msql_query($sql_guia,$link_data);
          
          
     }
     
     if($modu=='inve')
     {
//           $fechax=date('Y-m-d',strtotime('-2 days'));
          $sql_updt='update '.$tabla1.', comp1 ';
          $sql_updt.='set numfac=comp1.numero ';
          $sql_updt.='where inve1.impor=comp1.impor  ';
          $sql_updt.='and inve1.docu="IB15" ';
          $sql_updt.='and comp1.docu="FP15" ';
          $sql_updt.='and inve1.fecha>="'.date('Y-m-01',strtotime('-3 month')).'" ';
          $sql_updt.='and ifnull(comp1.status,"")not in("O","X") ';
          $res_updt=msql_query($sql_updt,$link_data);
          
//           $sql_updt='update '.$tabla1.', comp1 set inve1.impor=comp1.impor where inve1.docu="IB15" and inve1.numfac=comp1.numero ';
//           $res_updt=msql_query($sql_updt,$link_data);
          
//           $sql_updt='update '.$tabla1.' set impor="-" where docu="IB15" and length(impor)<3 ';
//           $res_updt=msql_query($sql_updt,$link_data);
          
          
          
          
     }
     
     if($modu=='caja')
     {
          $sql_updt='update caja1 left join caja0 on caja=caja_codigo set ptoe=caja_ptoe where fecha>="'.date('Y-m-01',strtotime('-1 month')).'"';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update caja2 set puni=1 where ifnull(puni,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update caja2 set cant=1 where ifnull(cant,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          
          $docu='ICH1';
          
          $sql_caja='select * from '.$modu.'1 ';
          $sql_caja.='left join caja0 on caja=caja_codigo ';
          $sql_caja.='where docu="'.$docu.'" ';
          $sql_caja.='and ifnull(status,"")not in ("O","X") and fcobro>fecha ';
          $sql_caja.='and fecha>="'.date('Y-m-01',strtotime('-2 month')).'" ';
          $sql_caja.='and caja_tipo not like "CH%" ';
          $sql_caja.='order by fecha';
          $res_caja=msql_query($sql_caja,$link_data);
          
          while($aso_caja=msql_fetch_assoc($res_caja))
          {
               $idnum=$aso_caja['idnum1'];
               $caja=$aso_caja['caja'];
               $fecha=$aso_caja['fecha'];
               $fcobro=$aso_caja['fcobro'];
               
               if($fcobro>$fecha)
               {
                    $sql_chqf='select * from '.$modu.'1 ';
                    $sql_chqf.='left join caja0 on caja=caja_codigo ';
                    $sql_chqf.='where docu="'.$docu.'" ';
                    $sql_chqf.='and ifnull(status,"")not in ("O","X") and fcobro>fecha ';
                    $sql_chqf.='and caja_tipo like "CH%" ';
//                     $sql_chqf.='and ifnull(caja,"")!="" and caja!="'.$caja.'" ';
                    $sql_chqf.='order by fecha desc limit 1';
                    $res_chqf=msql_query($sql_chqf,$link_data);
               }
               
               $sql_updt='update '.$modu.'1 set caja="'.msql_result($res_chqf,0,'caja').'" where idnum1="'.$idnum.'" ';
//                $res_updt=msql_query($sql_updt,$link_data);
//                echo '<br>== '.$sql_updt;
          }
          
     }
     
     if($modu=='bcos')
     {
          $sql_updt='update bcos1 left join ctab0 on ctab=ctab_codigo set ptoe=ctab_ptoe where fecha>="'.date('Y-m-01',strtotime('-1 month')).'"';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update bcos2 set puni=1 where ifnull(puni,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update bcos2 set cant=1 where ifnull(cant,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_ptoe='update bcos1 left join ctab0 on ctab=ctab_codigo set ptoe=ctab_ptoe';
          $res_ptoe=msql_query($sql_ptoe,$link_data);
          
          $docu='ND17';
          $sql_bcos='select * from bcos1 where docu="'.$docu.'" and fecha>="'.date('Y-m-01',strtotime('-4 month')).'" and ifnull(ctab,"")="" and ifnull(status,"")not in ("O","X") order by fecha';
          $res_bcos=msql_query($sql_bcos,$link_data);
          
          while($aso_bcos=msql_fetch_assoc($res_bcos))
          {
               $idnum=$aso_bcos['idnum1'];
               $enti=$aso_bcos['enti'];
               $cair=$aso_bcos['cair'];
               
               $sql_ctab='select * from bcos1 ';
               $sql_ctab.='left join bcos2 on idnum1=idnum2 ';
               $sql_ctab.='where docu="'.$docu.'" and enti="'.$enti.'" and cair="'.$cair.'" and ifnull(ctab,"")!="" and ifnull(status,"")not in ("O","X") ';
               $sql_ctab.='order by fecha desc limit 1';
               $res_ctab=msql_query($sql_ctab,$link_data);
               
               if(msql_num_rows($sql_ctab)==0)
               {
                    $sql_ctab='select * from bcos1 ';
                    $sql_ctab.='where docu="'.$docu.'" and enti="'.$enti.'"  and ifnull(ctab,"")!="" and ifnull(status,"")not in ("O","X") ';
                    $sql_ctab.='order by fecha desc limit 1';
                    $res_ctab=msql_query($sql_ctab,$link_data);
               }
               
               
               $sql_updt='update bcos1 set ctab="'.msql_result($res_ctab,0,'ctab').'" where idnum1="'.$idnum.'" ';
               $res_updt=msql_query($sql_updt,$link_data);
//                echo '<br>== '.$sql_updt;
          }
          
     }
     
     if($modu=='cxco')
     {
          $sql_updt='update dxco2 set puni=1 where ifnull(puni,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update dxco2 set cant=1 where ifnull(cant,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
     }
     
     if($modu=='cxpa')
     {
          $sql_updt='update dxpa2 set puni=1 where ifnull(puni,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update dxpa2 set cant=1 where ifnull(cant,0)=0 ';
          $res_updt=msql_query($sql_updt,$link_data);
     }

     
     
     if($modu=='retp')
     {
          $sql_updt ='update retp1 left join retp2 on idnum1=idnum2 ';
          $sql_updt.='set enti=substring(enti,1,10) ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
          $sql_updt.='and fecha>=curdate()-interval 1 month ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $sql_updt.='and docum in ("FP03","FP11") ';
          $res_updt=msql_query($sql_updt,$link_data);
          


          $sql_updt ='update retp1 left join retp2 on idnum1=idnum2 ';
          $sql_updt.='set cant=0.000001 ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
          $sql_updt.='and fecha>=curdate()-interval 1 month ';
          $sql_updt.='and ifnull(cant,0)=0 ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          
          
          
     }
     
     
     
     if($modu=='cont')
     {
          $fechax=date('Y-m-1',strtotime('-3 month'));
          $sql_updt='update '.$tabla2.' set ctas="9999999999" where ifnull(ctas,"")="" ';
//           $sql_updt.='and fecha>="'.$fechax.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
     }
     
     
//      if(1==2)
     if($modu=='caja' or $modu=='bcos')
     {
          $sql_docu='select * from '.$tabla1.' ';
          $sql_docu.='left join '.$tabla2.' on idnum1=idnum2 ';
          $sql_docu.='where ifnull(status,"")not in ("O","X")';
          $sql_docu.='and docu in ("IE10","EE10","DC10","DP10","CH10","ICH1")';
          $sql_docu.='and docum like "F%"';
          $sql_docu.='and numer*1 >0 ';
          $sql_docu.='and fecha>=curdate() -interval 15 day ';
          $res_docu=msql_query($sql_docu,$link_data);
//           echo '==='.msql_num_rows($res_docu);
          
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $tfact='';
               if(substr($aso_docu['docum'],0,2)=='FC'){$tfact='vtas1';}
               if(substr($aso_docu['docum'],0,2)=='FP'){$tfact='comp1';}
               
               $sql_fact='select * from '.$tfact.' ';
               $sql_fact.='where ifnull(status,"") not in ("O","X") ';
               $sql_fact.='and enti like "'.substr($aso_docu['enti'],0,10).'%" ';
               $sql_fact.='and docu="'.$aso_docu['docum'].'" ';
               $sql_fact.='and numero="'.$aso_docu['numer'].'" ';
               $res_fact=msql_query($sql_fact,$link_data);
               
//                if($aso_docu['cant']==859)
//                {echo '<br>==> '.$sql_fact;}
               
               if(msql_num_rows($res_fact)==1)
               {
                    if($aso_docu['ptoem']!=msql_result($res_fact,0,'ptoe'))
                    {
                         $sql_updt='update '.$tabla2.' set ptoem="'.msql_result($res_fact,0,'ptoe').'" ';
                         $sql_updt.='where idnum2="'.$aso_docu['idnum1'].'" and iddet="'.$aso_docu['iddet'].'" ';
                         $res_updt=msql_query($sql_updt,$link_data);
                    }
               }
               
               if(msql_num_rows($res_fact)==0)
               {
                    $sql_fact='select * from '.$tfact.' ';
                    $sql_fact.='where ifnull(status,"") not in ("O","X") ';
                    $sql_fact.='and enti like "'.substr($aso_docu['enti'],0,10).'%" ';
                    $sql_fact.='and docu like "'.substr($aso_docu['docum'],0,2).'%" ';
                    $sql_fact.='and numero="'.$aso_docu['numer'].'" ';
                    $res_fact=msql_query($sql_fact,$link_data);

                    if(msql_num_rows($res_fact)==1)
                    {
                         if($aso_docu['docum']!=msql_result($res_fact,0,'docu'))
                         {
                              $sql_updt='update '.$tabla2.' set docum="'.msql_result($res_fact,0,'docu').'" ';
                              $sql_updt.='where idnum2="'.$aso_docu['idnum1'].'" and iddet="'.$aso_docu['iddet'].'" ';
                              $res_updt=msql_query($sql_updt,$link_data);
                         }
                    }
                    
               }
               
          }
     }
     
     
}

function vali_docu($docu,$idnum='')
{
//      return;
     if(empty($idnum)){return;}
     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);
     $enti0=data_maes('enti',$docu1['enti']);
     
     $tabla=$docu0['docu_tabla'].'';
     $tabla1=$docu0['docu_tabla'].'1';
     $tabla2=$docu0['docu_tabla'].'2';

     if(substr($docu,0,2)=='FC' and $docu1['enti']==$empr0['empr_ruc']){gen_fccc19($docu,$idnum);}
     
     if(mb_stristr2('.FP10.FP03',$docu0['docu_codigo']))
     {
          $set_332=0;
          $fecha332=date('Y-m-01',strtotime('-3 month'));

          if($docu1['fecha']>$fecha332)
          {
        //   echo '==='.$fecha332;
               $sql_retp='select * from retp1 left join retp2 on idnum1=idnum2 ';
               $sql_retp.='where ifnull(status,"")not in ("O","X") ';
               $sql_retp.='and substring(enti,1,10) like "'.substr($docu1['enti'],0,10).'%" ';
               $sql_retp.='and fecha>='.$docu1['fecha'].' ';
               $sql_retp.='and numer='.$docu1['numero'].' ';
               $res_retp=msql_query($sql_retp,$link_data);

               if(msql_num_rows($res_retp)==0)
               {
                    $fecha332b=date('Y-m-01',strtotime('-1 month'));
        //   echo '==='.$fecha332b;
                    if($docu1['fecha']<$fecha332b)
                    {$set_332=1;}
                    else
                    {
                         $sal_docu=sal_docu($docu,$idnum);
                         if($sal_docu<1/100){$set_332=1;}
                        //  echo '==='.$sal_docu;
                    }
               }
          }
          
          if($set_332==1)
          {
               $sql_updt='update comp2 set cair="332" where idnum2="'.$idnum.'" ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          
          
     }
     
     if(mb_stristr2('.vtas.clie',$docu0['docu_tabla']))
     {
          $emis0=data_maes('enti',$empr0['empr_ruc']);
          
          $sql_updt='update '.$tabla1.' ';
          $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
          $sql_updt.='set dcto=99.99999 ';
          $sql_updt.='where idnum1="'.$idnum.'" ';
          $sql_updt.='and dcto>=99.99 ';
          $sql_updt.='and fecha>="'.date('Y-m-d',strtotime('-1 week')).'"';
          if(mb_stristr2('.vtas.',$tabla))
          {$sql_updt.='and ifnull(autornum,"")="" ';}
//           $sql_updt.='and docu not like "NC%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update '.$tabla1.' ';
          $sql_updt.='left join enti0 on enti=enti_codigo ';
          $sql_updt.='set plazo=enti_plazo ';
          $sql_updt.='where idnum1="'.$idnum.'" ';
          $sql_updt.='and ifnull(plazo,0)=0 ';
          $sql_updt.='and fecha>="'.date('Y-m-d',strtotime('-1 week')).'"';
          if(mb_stristr2('.vtas.',$tabla))
          {$sql_updt.='and ifnull(autornum,"")="" ';}
          $sql_updt.='and docu not like "NC%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          

          if($empr0['empr_ceuser']!=1)
          {
          $sql_updt='update '.$tabla1.' ';
          $sql_updt.='left join enti0 on enti=enti_codigo ';
          $sql_updt.='set vndd=enti_vndd ';
          $sql_updt.='where idnum1="'.$idnum.'" ';
          }
          
          $sql_updt.='and fecha>="'.date('Y-m-d',strtotime('-1 week')).'"';
          $sql_updt.='and docu not like "NC%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update vtas1 set fpag="20" where docu like "FC10" and ifnull(transf,0)>0 and idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);

          $sql_updt='update vtas1 set fpag="19" where docu like "FC10" and ifnull(tarjeta,0)>0 and idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);

          
//           echo '==='.$docu1['toptoe'];
//           echo '==='.$docu1['tonume'];
          
          if($docu1['docu']=='NC10' and $docu1['toptoe']*1==0 and $docu1['tonume']*1!=0)
          {
               $sql_nume='select * from vtas1 where ifnull(status,"")not in ("O","X") and docu like "FC%" and enti like "'.substr($docu1['enti'],0,10).'%" and numero="'.$docu1['tonume'].'" order by fecha desc limit 1';
               $res_nume=msql_query($sql_nume,$link_data);
//                echo msql_result($res_nume,0,'ptoe');
               
               $sql_updt='update '.$tabla1.' ';
               $sql_updt.='set toptoe="'.msql_result($res_nume,0,'ptoe').'" ';
               $sql_updt.='where idnum1="'.$idnum.'" ';
               if(mb_stristr2('.vtas.',$tabla))
               {$sql_updt.='and ifnull(autornum,"")="" ';}
               $sql_updt.='and docu like "NC%" ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          

          if($docu1['docu']=='NC10' and $docu1['concepto']=="")
          {
               $sql_nume='select * from vtas1 left join vtas2 on idnum1=idnum2 ';
               $sql_nume=calc_fields('vtas',$sql_nume);
               $sql_nume.='where ifnull(status,"")not in ("O","X") and docu like "FC%" and enti like "'.substr($docu1['enti'],0,10).'%" and numero="'.$docu1['tonume'].'" ';
               $res_nume=msql_query($sql_nume,$link_data);
               
               $sql_nota='select * from vtas1 left join vtas2 on idnum1=idnum2 ';
               $sql_nota=calc_fields('vtas',$sql_nota);
               $sql_nota.='where idnum1="'.$docu1['idnum1'].'"';
               $res_nota=msql_query($sql_nota,$link_data);
               
//                echo '====';
//                echo msql_result($res_nume,0,'tcant');
//                echo '====';
//                echo msql_result($res_nota,0,'tcant');
               
               if((int)msql_result($res_nume,0,'total')>=(int)msql_result($res_nota,0,'total'))
               {$motivo='ANULACION';}
               elseif((int)msql_result($res_nume,0,'tcant')<(int)msql_result($res_nota,0,'tcant'))
               {$motivo='DEVOLUCION';}
               elseif(substr($docu1['item'],0,4)=='9999')
               {$motivo='DESCUENTO';}
               
//                echo '===='.$motivo;                    
               
//                echo $docu1['total'];
//                if()
               
               $sql_updt='update '.$tabla1.' ';
               $sql_updt.='set concepto="'.$motivo.'" ';
               $sql_updt.='where idnum1="'.$idnum.'" ';
               if(mb_stristr2('.vtas.',$tabla))
               {$sql_updt.='and ifnull(autornum,"")="" ';}
               $sql_updt.='and docu like "NC%" ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          
          
          if($empr0['empr_ceuser']!=1)
          {
               $sql_updt='update '.$tabla1.' ';
               $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
               $sql_updt.='left join item0 on item=item_codigo ';
               $sql_updt.='set iva=item_iva ';
               $sql_updt.='where idnum1="'.$idnum.'" ';
               $sql_updt.='and fecha>="'.date('Y-m-d',strtotime('-1 month')).'"';
               if(mb_stristr2('.vtas.',$tabla))
               {$sql_updt.='and ifnull(autornum,"")="" ';}
               $sql_updt.='and docu not like "NC%" ';
               $sql_updt.='and item not like "99%" ';
               $sql_updt.='and item not like "88%" ';
               $res_updt=msql_query($sql_updt,$link_data);
               
//                echo '===='.$sql_updt;
          }
          
          if(substr($docu1['docu'],0,2)=='NC')
          {
               $sql_tdoc='select * from vtas1 ';
               $sql_tdoc.='left join vtas2 on idnum1=idnum2 ';
               $sql_tdoc.='where docu like "FC%" and enti like "'.substr($docu1['enti'],0,10).'%" and numero ="'.$docu1['tonume'].'" and iva>0 ';
               $sql_tdoc.='order by idnum1 desc limit 1 ';
               $res_tdoc=msql_query($sql_tdoc,$link_data);
               $ivafac1=msql_result($res_tdoc,0,'iva');
               
//                $sql_updt='update '.$tabla1.' ';
//                $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
//                $sql_updt.='left join item0 on item=item_codigo ';
//                $sql_updt.='set iva="'.$ivafac.'" ' ;
//                $sql_updt.='where idnum1="'.$idnum.'" ';
//                $sql_updt.='and ifnull(autornum,"")="" ';
//                $sql_updt.='and ifnull(iva,0)>=0 ';
//                $res_updt=msql_query($sql_updt,$link_data);
               
               
               $sql_nc10='select * from vtas1 ';
               $sql_nc10.='left join vtas2 on idnum1=idnum2 ';
               $sql_nc10.='where idnum1="'.$idnum.'" ';
               $sql_nc10.='and ifnull(autornum,"")="" ';
//                $sql_nc10.='and ifnull(iva,0)>=0 ';
               $res_nc10=msql_query($sql_nc10,$link_data);
               
               while($aso_nc10=msql_fetch_assoc($res_nc10))
               {
                    $sql_tdoc='select * from vtas1 ';
                    $sql_tdoc.='left join vtas2 on idnum1=idnum2 ';
                    $sql_tdoc.='where docu like "FC%" and enti like "'.substr($docu1['enti'],0,10).'%" and numero ="'.$docu1['tonume'].'" ';
                    $sql_tdoc.='and item like "'.$aso_nc10['item'].'%" ';
                    $sql_tdoc.='order by idnum1 desc limit 1 ';
                    $res_tdoc=msql_query($sql_tdoc,$link_data);
                    $ivafac=msql_result($res_tdoc,0,'iva');
                    
                    if(msql_num_rows($res_tdoc)==1)
                    {
                         $sql_updt='update '.$tabla1.' ';
                         $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
     //                     $sql_updt.='left join item0 on item=item_codigo ';
                         $sql_updt.='set iva="'.$ivafac.'" ' ;
                         $sql_updt.='where idnum1="'.$idnum.'" ';
                         $sql_updt.='and iddet="'.$aso_nc10['iddet'].'" ';
                         $sql_updt.='and ifnull(autornum,"")="" ';
     //                     $sql_updt.='and ifnull(iva,0)>=0 ';
                         $res_updt=msql_query($sql_updt,$link_data);
                    }
               }
               
               
               
               
               
               
          }
          
          if($enti0['enti_exiva']==1)
          {
               $sql_updt='update '.$tabla1.' ';
               $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
               $sql_updt.='set iva=0 ';
               $sql_updt.='where idnum2="'.$idnum.'" ';
               $sql_updt.='and ifnull(autornum,"")="" ';
               $sql_updt.='and fecha>="2024-06-01" ';
//                $res_updt=msql_query($sql_updt,$link_data);
          }
          
          if($docu1['docu']=='FC90')
          {
               $sql_updt='update '.$tabla1.' ';
               $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
               $sql_updt.='set iva=0 ';
               $sql_updt.='where idnum2="'.$idnum.'" ';
               $sql_updt.='and ifnull(autornum,"")="" ';
               $sql_updt.='and fecha>="2025-01-01" ';
               $res_updt=msql_query($sql_updt,$link_data);
          }
          
          if($emis0['enti_rimpe']==2)
          {
//                $sql_updt='update '.$tabla1.' ';
//                $sql_updt.='left join '.$tabla2.' on idnum1=idnum2 ';
//                $sql_updt.='set iva=0 ';
//                $sql_updt.='where idnum="'.$idnum.'" ';
//                $sql_updt.='and ifnull(autornum,"")="" ';
//                $sql_updt.='and fecha>="2023-07-01" ';
//                $res_updt=msql_query($sql_updt,$link_data);
          }
          
          
     }

     
     if(mb_stristr2('.otbj',$docu0['docu_tabla']))
     {
          $sql_updt='update otbj1 ';
          $sql_updt.='left join ptov0 on ptov=ptov_codigo ';
          $sql_updt.='set status=status, ';
          $sql_updt.='ptoe=case when ptoe*1=0 then ptov_ptoe else ptoe end, ';
          $sql_updt.='bode=case when bode*1=0 then ptov_bode else bode end ';
          $sql_updt.='where idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
//           echo '==='.$sql_updt;
          
          $sql_updt='update otbj2 ';
          $sql_updt.='left join item0 on item=item_codigo ';
          $sql_updt.='left join tmpr0 on item=tmpr_item ';
          $sql_updt.='set cant=tmpr_horas ';
          $sql_updt.='where idnum2="'.$idnum.'" ';
          $sql_updt.='and item_lsub like "MMOO%" ';
          $sql_updt.='and fase like "TRA%" ';
          $res_updt=msql_query($sql_updt,$link_data);
//           echo '==== '.$sql_updt;

          $sql_updt='update otbj1 ';
          $sql_updt.='left join otbj2 on idnum1=idnum2 ';
          $sql_updt.='left join item0 on item=item_codigo ';
          $sql_updt.='set puni=pmmoo ';
          $sql_updt.='where idnum2="'.$idnum.'" ';
          $sql_updt.='and item_lsub like "MMOO%" ';
          $sql_updt.='and fase like "TRA%" ';
          $res_updt=msql_query($sql_updt,$link_data);

          $sql_updt='update otbj2 ';
          $sql_updt.='left join item0 on item=item_codigo ';
          $sql_updt.='set iddet=iddet, ';
          $item_puni='item_puni1';
          if(substr($docu1['tarifa'],0,1)=='C'){$item_puni='item_puni1';}
          if(substr($docu1['tarifa'],0,1)=='I'){$item_puni='item_puni2';}
          if(substr($docu1['tarifa'],0,1)=='G'){$item_puni='item_puni3';}
          $sql_updt.='puni='.$item_puni.' ';
          $sql_updt.='where idnum2="'.$idnum.'" ';
          $sql_updt.='and item_lsub like "MMOO%" ';
          $sql_updt.='and fase like "CON%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update otbj2 ';
          $sql_updt.='left join item0 on item=item_codigo ';
          $sql_updt.='set iddet=iddet, ';
          $item_puni='item_puni1';
          if(substr($docu1['tarifa'],0,1)=='C'){$item_puni='item_puni1';}
          if(substr($docu1['tarifa'],0,1)=='I'){$item_puni='item_puni2';}
          if(substr($docu1['tarifa'],0,1)=='G'){$item_puni='item_puni3';}
          $sql_updt.='puni='.$item_puni.' ';
          $sql_updt.='where idnum2="'.$idnum.'" ';
          $sql_updt.='and item_lsub not like "MMOO%" ';
          $sql_updt.='and fase like "REP%" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_updt='update otbj2 ';
          $sql_updt.='left join item0 on item=item_codigo ';
          $sql_updt.='set iva=item_iva, ';
          $sql_updt.='where idnum2="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
//           echo '<br>=====> '.$sql_updt;
          
          $sql_bode='select * from inve1 ';
          $sql_bode.='left join inve2 on idnum1=idnum2 ';
          $sql_bode=calc_fields('inve',$sql_bode);
          $sql_bode.='where ifnull(status,"")not in("O","X") ';
          $sql_bode.='and (numtbj*1)=('.($docu1['numero']*1).') ';
          $sql_bode.='and bode = "'.$docu1['bode'].'" ';
          $sql_bode.='and docu like "%13" ';
          $sql_bode.='group by item ';
          $sql_bode.='order by fecha desc, idate desc ';
          $res_bode=msql_query($sql_bode,$link_data);
          
          while($aso_bode=msql_fetch_assoc($res_bode))
          {
               $sql_otbj='select * from otbj1 ';
               $sql_otbj.='left join otbj2 on idnum1=idnum2 ';
               $sql_otbj.='where idnum1="'.$docu1['idnum1'].'" ';
               $sql_otbj.='and item="'.$aso_bode['item'].'"';
               $res_otbj=msql_query($sql_otbj,$link_data);
               if(msql_num_rows($res_otbj)==0)
               {
                    $iddet=get_iddet($docu1['docu'],$docu1['idnum1']);
                    $sql_inse='insert into otbj2(idnum2,iddet,item,idate2)value("'.$docu1['idnum1'].'","'.$iddet.'","'.$aso_bode['item'].'",now())';
                    $res_inse=msql_query($sql_inse,$link_data);
                    $res_otbj=msql_query($sql_otbj,$link_data);
               }
               
               $sql_updt='update otbj2 ';
               $sql_updt.='set fase="REPUESTO",';
               $sql_updt.='cant="'.$aso_bode['stock'].'", ';
               $sql_updt.='fecha1="'.$aso_bode['fecha'].'" ';
               $sql_updt.='where idnum2="'.$docu1['idnum1'].'" and item="'.$aso_bode['item'].'" ';
               $res_updt=msql_query($sql_updt,$link_data);
//                echo '==='.$sql_updt;
//                var_dump2($aso_bode);
               
                    
          }
          
          
          
     }
     
     
     
     if(substr($docu,0,2)=='DC')
     {
        // $sql_updt='update bcos2 set docum="FC10" ';
        // $sql_updt.='where idnum2="'.$idnum.'" ';
        // $sql_updt.='and docum like "FP%" ';
        // $res_updt=msql_query($sql_updt,$link_data);
     }

     if(mb_stristr2('.guia',$docu0['docu_tabla']))
     {
          $emis0=data_maes('enti',$empr0['empr_ruc']);
          $adqu0=data_maes('enti',$docu1['enti']);
          
//           echo '=====>'.$docu1['fecha'];
//           echo '=====>'.$docu1['fecha1'];
          $sql_updt ='update guia1 ';
          $sql_updt.='set cedula2=left(cedula2,10) ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
//           $sql_updt.='and fecha>=curdate()-interval 1 month ';
//           $sql_updt.='and fecha>fecha1 ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $sql_updt.='and idnum1="'.$idnum.'" ';
//           $res_updt=msql_query($sql_updt,$link_data);
//           echo $sql_updt;
          
          $sql_updt ='update guia1 ';
          $sql_updt.='set fecha=fecha1 ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
          $sql_updt.='and fecha>=curdate()-interval 1 month ';
          $sql_updt.='and fecha>fecha1 ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $sql_updt.='and idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
//           echo $sql_updt;
          
          $punto1=$emis0['enti_direccion'];
          if(empty($punto1))
          {$punto1=$emis0['enti_matriz'];}
          
          $sql_updt ='update guia1 ';
          $sql_updt.='set punto1="'.$punto1.'" ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
//           $sql_updt.='and fecha>=curdate()-interval 1 month ';
//           $sql_updt.='and fecha>fecha1 ';
          $sql_updt.='and ifnull(punto1,"")="" ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $sql_updt.='and idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
//           echo $sql_updt;

          
          
          $punto2=$adqu0['enti_direccion'];
          if(empty($punto2))
          {$punto2=$adqu0['enti_matriz'];}
          
          $sql_updt ='update guia1 ';
          $sql_updt.='set punto2="'.$punto2.'" ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
//           $sql_updt.='and fecha>=curdate()-interval 1 month ';
//           $sql_updt.='and fecha>fecha1 ';
          $sql_updt.='and ifnull(punto2,"")="" ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $sql_updt.='and idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
//           echo $sql_updt;
          
          
     }
     
     if(mb_stristr2('.retc.retp',$docu0['docu_tabla']))
     {vali_retefact($docu,$idnum);}
     
     if(mb_stristr2('.retp',$docu0['docu_tabla']))
     {
          
          $sql_updt ='update retp1 ';
          $sql_updt.='left join retp2 on idnum1=idnum2 ';
          $sql_updt.='left join cair0 on cair=cair_codigo ';
          $sql_updt.='set puni=cair_porc ';
          $sql_updt.='where ifnull(status,"")not in ("O","X") ';
          $sql_updt.='and fecha>=curdate()-interval 1 month ';
          $sql_updt.='and ifnull(cair,0)>=300 ';
          $sql_updt.='and ifnull(autornum,"")="" ';
          $sql_updt.='and idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
//           echo $sql_updt;
          
          
          $sql_retp='select * from retp1 left join retp2 on idnum1=idnum2 where idnum2="'.$idnum.'" and cair*1>=300 ';
          $res_retp=msql_query($sql_retp,$link_data);
          while($aso_retp=msql_fetch_assoc($res_retp))
          {
               $sql_comp ='select * from comp1 left join comp2 on idnum1=idnum2 ';
//                $sql_comp=calc_fields('comp1',$sql_comp);
               $sql_comp.='where ifnull(status,"")not in ("O","X") ';
               $sql_comp.='and enti like "'.substr($aso_retp['enti'],0,10).'%" ';
               $sql_comp.='and numero = "'.$aso_retp['numer'].'" ';
               $sql_comp.='and cair not like "'.$aso_retp['cair'].'%" ';
//                $sql_comp.='and abs((cant*puni)-('.$aso_retp['cant'].'))<=(1/100) ';
               $sql_comp.='and abs( ((cant*puni)*(1-ifnull(dcto,0)/100)) - ('.$aso_retp['cant'].') )<=(1/100) ';
               $res_comp=msql_query($sql_comp,$link_data);
               
               $aso_comp=msql_fetch_assoc($res_comp);
               if(msql_num_rows($res_comp)!=0)
               {
                    $sql_updt='update comp2 set cair="'.$aso_retp['cair'].'" ';
                    $sql_updt.='where idnum2="'.$aso_comp['idnum2'].'" ';
                    $sql_updt.='and iddet="'.$aso_comp['iddet'].'" ';
                    $res_updt=msql_query($sql_updt,$link_data);
//                     echo '=== '.$sql_updt;
               }
               
          }
     }
     
     if($docu=='DA16')
     if($docu1['fecha']>=date('Y-m-01',strtotime('-2 month')))
     {
          $cost_impo=get_costloca($docu1['impor']);
//           var_dump2($cost_impo);
   
          $sql_updt='update prov1 set  ';
          if($cost_impo['seguro']>0)
          {$sql_updt.='seguro1="'.$cost_impo['seguro'].'", ';}
          if($cost_impo['flete']>0)
          {$sql_updt.='flete1="'.$cost_impo['flete'].'", ';}
          $sql_updt.='costol1="'.$cost_impo['local'].'", ';
          $sql_updt.='status=status ';
          $sql_updt.='where idnum1="'.$idnum.'" ';
          $res_updt=msql_query($sql_updt,$link_data);
          
          $sql_comp ='select *  ';
          $sql_comp.='from comp1 left join comp2 on idnum1=idnum2 ';
          $sql_comp.='where docu="FP15" ';
          $sql_comp.='and ifnull(status,"")not in ("O","X") ';
          $sql_comp.='and impor="'.$docu1['impor'].'" ';
          $res_comp=msql_query($sql_comp,$link_data);
          while($aso_comp=msql_fetch_assoc($res_comp))
          {
               $sql_vali='select * from prov2 where idnum2="'.$idnum.'" and iddet="'.$aso_comp['iddet'].'"';
               $res_vali=msql_query($sql_vali,$link_data);
               if(msql_num_rows($res_vali)==0)
               {
                    $sql_inse='insert into prov2(idnum2,iddet,idate2,iuser2)value("'.$idnum.'","'.$aso_comp['iddet'].'",now(),"'.$_SESSION['user_codigo'].'")';
                    $res_inse=msql_query($sql_inse,$link_data);
               }
               
               $sql_updt='update prov2 set item="'.$aso_comp['item'].'" where idnum2="'.$idnum.'" and iddet="'.$aso_comp['iddet'].'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
               $sql_updt='update prov2 set cant="'.$aso_comp['cant'].'" where idnum2="'.$idnum.'" and iddet="'.$aso_comp['iddet'].'" and ifnull(cant,0)=0 ';
               $res_updt=msql_query($sql_updt,$link_data);
               
               $sql_updt='update prov2 set puni="'.$aso_comp['puni'].'" where idnum2="'.$idnum.'" and iddet="'.$aso_comp['iddet'].'" ';
               $res_updt=msql_query($sql_updt,$link_data);
               
               $sql_updt='update prov2 set cant=0.000001, puni=0.000001 where idnum2="'.$idnum.'" and iddet="'.$aso_comp['iddet'].'" and item like "99%" ';
               $res_updt=msql_query($sql_updt,$link_data);
               
          }
     }
     
     pcs1_calc1($docu,$idnum);     
}

function vali_retefact($docu,$idnum='')
{
     if(empty($idnum)){return;}
     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'];
     
     
     $errfac=0;
     $tabla='';
     if(substr($docu,0,2)=='RC'){$tabla='retc';}
     if(substr($docu,0,2)=='RP'){$tabla='retp';}
     
     if(empty($tabla)){return 0;}
     
     $tabla1=$tabla.'1';
     $tabla2=$tabla.'2';
     $tablao=$tabla1;
     
     $sql_rete='select * from '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2 ';
     $sql_rete=calc_fields($tabla,$sql_rete);
     $sql_rete.='where ifnull(status,"") not in("O","X") ';
     $sql_rete.='and idnum1="'.$idnum.'"';
     $sql_rete.='group by idnum1 ';
     $res_rete=msql_query($sql_rete,$link_data);
     
     
//      if(strpo)
     
//      if(msql_num_rows($res_rete)==0){return 0;}
     $fecha=msql_result($res_rete,0,'fecha');
     
//      if($fecha>=date('Y-m-01',strtotime('-1 month')))
     {

          $ret_base_rta=round(msql_result($res_rete,0,'base_rta'),2);
          $ret_base_iva=round(msql_result($res_rete,0,'base_iva'),2);

          $ptoe=msql_result($res_rete,0,'ptoem');
          $numf=msql_result($res_rete,0,'numer');
          $enti=msql_result($res_rete,0,'enti');

          $tabla='';
          if(substr($docu,0,2)=='RC'){$tabla='vtas';}
          if(substr($docu,0,2)=='RP'){$tabla='comp';}
          $tabla1=$tabla.'1';
          $tabla2=$tabla.'2';

          $sql_fact='select * from '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2 ';
          $sql_fact=calc_fields($tabla,$sql_fact);
          $sql_fact.='where ifnull(status,"") not in("O","X") ';
          $sql_fact.='and ptoe="'.$ptoe.'" ';
          $sql_fact.='and (numero*1)="'.(int)$numf.'" ';
          $sql_fact.='and enti like"'.substr($enti,0,10).'%" ';
          $sql_fact.='group by idnum1 ';
          $res_fact=msql_query($sql_fact,$link_data);

          if(msql_num_rows($res_fact)==0){$errfac+=4;}
          
          if($errfac==4){$enti0=data_maes('enti',$enti);}
          if(mb_stristr2($enti0['enti_descri'],'BANCO')){$errfac=0;}
          
          $fac_base_rta=round(msql_result($res_fact,0,'tsubt'),2);
          $fac_base_rta+=round(msql_result($res_fact,0,'tprop'),2);
          $fac_base_iva=round(msql_result($res_fact,0,'tiva'),2);

          if($ret_base_iva-$fac_base_iva>(1/100) and $fac_base_iva!=0){$errfac+=1;}
          if($ret_base_rta-$fac_base_rta>(1/100) and $fac_base_rta!=0){$errfac+=2;}

     }
     
     if(msql_result($res_rete,0,'stat')=='O'){$errfac=0;};
     if($empr=='hshe'){$errfac= 0;}
     
//      $errfac=1;
     $sql_updt='update '.$tablao.' set errf="'.$errfac.'" where idnum1="'.$idnum.'"';
     $res_updt=msql_query($sql_updt,$link_data);
     
     return $errfac;
          
}


function vali_nomb($maes='vndd')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     
     $maes0=$maes.'0';
     $sql_nomb='select '.$maes.'_codigo from '.$maes0.' ';
     $sql_nomb.='where substring('.$maes.'_codigo,3,1)!="9" ';
     $sql_nomb.='and '.$maes.'_udate>=curdate()-interval 1 week ';
     $res_nomb=msql_query($sql_nomb,$link_data);
     
//      echo '===='.msql_num_rows($res_nomb);
     
     while($asoc_nomb=msql_fetch_assoc($res_nomb))
     {
          if(empty($asoc_nomb[$maes.'_nom1']))
          {
               split_nomb($asoc_nomb[$maes.'_codigo']);

          }
     }
          
}

function split_nomb($codigo)
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

     $enti0=data_maes('enti',$codigo);
     $descri=$enti0['enti_descri'];
     $razsoc=$enti0['enti_razsoc'];

     $descri= preg_replace('/[^a-zA-ZñÑ]/u', ' ', $descri);     
     $razsoc= preg_replace('/[^a-zA-ZñÑ]/u', ' ', $razsoc);     
     
     
     $nombres=$razsoc;
     if(strlen($razsoc)<strlen($descri))
     {$nombres=$descri;}
     
     $nombres=split_name($nombres);
     
     $sql_updt='update enti0 set ';
     $sql_updt.='enti_descri="'.$descri.'",';
     $sql_updt.='enti_razsoc="'.$razsoc.'",';
     $sql_updt.='where enti_codigo like "'.substr($enti0['enti_codigo'],0,10).'" ';
     $res_updt=msql_query($sql_updt,$link_data);

     $sql_updt='update enti0 set ';
     $sql_updt.='enti_nom1="'.$nombres['nom1'].'",';
     $sql_updt.='enti_nom2="'.$nombres['nom2'].'",';
     $sql_updt.='enti_ape1="'.$nombres['ape1'].'",';
     $sql_updt.='enti_ape2="'.$nombres['ape2'].'",';
     $sql_updt.='where enti_codigo like "'.substr($enti0['enti_codigo'],0,10).'%" ';
     $res_updt=msql_query($sql_updt,$link_data);
     
     return;
}



function set_nume($docu)
{
     return;
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     
     if(!mb_stristr2('.EE10.IE10',$docu)){return;}
     
     ////////////////////////////////

     if(1==2)
     {
     $sql_alte='alter table caja1 add column o_numero varchar(9)';
     $res_alte=msql_query($sql_alte,$link_data);
     
     $sql_alte='alter table caja2 add column o_numer varchar(9)';
     $res_alte=msql_query($sql_alte,$link_data);
     
     $sql_alte='alter table bcos1 add column o_numero varchar(9)';
     $res_alte=msql_query($sql_alte,$link_data);
     
     $sql_alte='alter table bcos2 add column o_numer varchar(9)';
     $res_alte=msql_query($sql_alte,$link_data);
          
     $sql_alte='alter table caja2 drop column o_numero';
     $res_alte=msql_query($sql_alte,$link_data);
          
     $sql_alte='alter table bcos2 drop column o_numero';
     $res_alte=msql_query($sql_alte,$link_data);
          
     }
     
     ////////////////////////////////
     
     $sql_updt='update caja1 set o_numero=numero where ifnull(o_numero,"")=""';
     $res_updt=msql_query($sql_updt,$link_data);
     
     $sql_updt='update caja2 set o_numer=numer where ifnull(o_numer,"")=""';
     $res_updt=msql_query($sql_updt,$link_data);

     $sql_updt='update bcos1 set o_numero=numero where ifnull(o_numero,"")=""';
     $res_updt=msql_query($sql_updt,$link_data);
     
     $sql_updt='update bcos2 set o_numer=numer where ifnull(o_numer,"")=""';
     $res_updt=msql_query($sql_updt,$link_data);
     
     return;
     
     
     $docu0=data_maes('docu',$docu);
     $tabla=$docu0['docu_tabla'];
     $tabla1=$tabla.'1';
     
     $ptoe='caja';
     
     $sql_docu='select * from '.$tabla1.' where ifnull(status,"")!="X" order by '.$ptoe.', fecha,idnum1 ';
     $res_docu=msql_query($sql_docu,$link_data);
     
     $n_nume=0;
     $l_ptoe='';
     
     while($aso_docu=msql_fetch_assoc($res_docu))
     {
          $old_ptoe=$aso_docu['ptoe'];
          $old_nume=$aso_docu['numero'];
          
          if($l_ptoe!=$aso_docu[$ptoe]){$n_nume=0; $l_ptoe=$aso_docu[$ptoe];}
          $n_nume++;
          $new_nume=str_pad($n_nume, 9, "0", STR_PAD_LEFT);
          $sql_updt='update '.$tabla1.' set numero="'.$new_nume.'" where idnum1="'.$aso_docu['idnum1'].'"';
//           $res_updt=msql_query($sql_updt,$link_data);
          echo '<br>==> '.$sql_updt;
                

          
          $sql_updt='update caja2 set numer="'.$n_nume.'" where ptoem="'.$old_ptoe.'"numer="'.$old_nume.'"';
//           $res_updt=msql_query($sql_updt,$link_data);
          
          
          
     }
     

}
?>