<?php
// msql_select_db($cfg_data,$link_vcrx);
// msql_select_db('vcrxol_vare',$link_vcrx);
// echo date("Y-m-d H:i:s");

// COMP
{
     
function fact2cxcp($pdocu,$pidnum)
{
	include('../_cfg/config.php');
     $tablao='';
     if(substr($pdocu,2)=='FP')
     {
          $tablao='comp';
          $tablad='dxpa';
          $newdocu1='CP10';
          $newdocu2='CP11';
     }
     
     $tablao1=$tabla.'1';
     $tablao12=$tabla.'12';
     $tablad1=$tablad.'1';
     
     $sql_doc1='select *, sum(total) as stotal from '.$tablao12.' where idnum1="'.$pidnum.'"';
     $res_doc1=msql_query($res_doc1,$link_vcrx);
     
     $toenti=msql_result($res_doc1,0,'toenti');
     
     $sql_doc2 ='select * from '.$tablad1.' ';
     $sql_doc2.='where docu="'.$newdocu1.'" ';
     $sql_doc2.='and upper(mdfrom)="'.$tablao.'" and idfrom="'.$pidnum.'" and status not in("O","X")';
     $res_doc2=msql_query($sql_doc2,$link_vcrx);
     $newidnum=msql_result($res_doc2,0,'idnum1');
     $newnumero=msql_result($res_doc2,0,'numero');
     if(empty($newidnum))
     {
          $newnumero=nume_docu($newdocu1,'001001');
          $newidnum=clon_docu($docu,$idnum,$newdocu1);
     }
     
     $sql_updt ='update '.$tablad1.' set ';
     $sql_updt.='enti="'.$toenti.'", ';
     $sql_updt.='status=status ';
     
}

function tot_rpro($pdocu, $pidnum='')
{
	include('../_cfg/config.php');
//      $tabla=r_fiel('docu',$pdocu,'tabla');

     $sql_comp ='select * ';
     $sql_comp.='from comp1 ';
     $sql_comp.='where docu="'.$pdocu.'" ';
     $sql_comp.='and idnum1="'.$pidnum.'" ';
//      $sql_comp.='group by cair ';
     $res_comp=msql_query($sql_comp,$link_vcrx);

     $enti=msql_result($res_comp,0,'enti');
     $docu=msql_result($res_comp,0,'docu');
     $ptoe=msql_result($res_comp,0,'ptoe');
     $numero=msql_result($res_comp,0,'numero');
     $fecha=msql_result($res_comp,0,'fecha');

     $rete=array();
     
     $sql_rete ='select sum(cant) as tcant ';
     $sql_rete.='from retp12 ';
     $sql_rete.='where status!="O" ';
     $sql_rete.='and enti like "'.substr($enti,0,10).'%" and numer="'.$numero.'" ';
     $sql_rete.='and puni<30 ';
     $res_rete=msql_query($sql_rete,$link_vcrx);
     $rete['rta']=msql_result($res_rete,0,'tcant');
     
     $sql_rete ='select sum(cant) as tcant ';
     $sql_rete.='from retp12 ';
     $sql_rete.='where status!="O" ';
     $sql_rete.='and enti like "'.substr($enti,0,10).'%" and numer="'.$numero.'" ';
     $sql_rete.='and puni>=30 ';
     $res_rete=msql_query($sql_rete,$link_vcrx);
     $rete['iva']=msql_result($res_rete,0,'tcant');
     
     return $rete;
     
     
}


function gen_rpro($docu, $idnum='')
{
  
  if(empty($idnum)){return;}
  if(!mb_stristr('FP10.FP03.FP11',$docu)){return;}
  
	include('../_cfg/config.php');
	include('php_session.php');
  
  vali_regidocu($docu,$idnum);
  
  $sql_comp ='select *, max(cair*1) as max_cair,  ';
  $sql_comp.='sum(tsubtiva0+tsubtiva) as base_rta, ';
  $sql_comp.='sum(tiva) as base_iva, ';
  $sql_comp.='sum(rrta) as srrta, ';
  $sql_comp.='sum(riva) as sriva ';
  $sql_comp.=' from comp12 ';
  $sql_comp.=' where idnum1='.$idnum.' ';
  $sql_comp.=' and cant*puni>0 ';
//   $sql_comp.=' group by idnum1, cair';
//   $sql_comp.=' group by idnum1 ';
  $sql_comp.=' order by cair ';
  $res_comp=msql_query($sql_comp,$link_vcrx);
  
  $enti=msql_result($res_comp,0,'enti');
	$docu=msql_result($res_comp,0,'docu');
	$ptoe=msql_result($res_comp,0,'ptoe');
	$numero=msql_result($res_comp,0,'numero');
	$fecha=msql_result($res_comp,0,'fecha');
  
//   $srrta=msql_result($res_comp,0,'srrta');
//   $sriva=msql_result($res_comp,0,'sriva');
  
  $srrta=msql_result($res_comp,0,'srrta');
  $sriva=msql_result($res_comp,0,'sriva');
  
  $fechamax=date('Y-m-d',strtotime($fecha.' +5 days'));
  $xfecha=date('Y-m-d', strtotime('today'));

  if(msql_num_rows($res_comp)==0){return;}
  if($xfecha>$fechamax){return; die('ERROR : Fecha fuera de tiempo');}
//   if($rrta==0 and $riva==0){return;}
  
	$sql_retp ='select * from retp1 left join retp2 on idnum1=idnum2 ';
	$sql_retp.='where enti like "'.substr($enti,0,10).'%" ';
	$sql_retp.=' and docum="'.$docu.'"';
	$sql_retp.=' and numer="'.$numero.'"';
	$sql_retp.=' and fecha>="'.$fecha.'"';
	$sql_retp.=' and status!="O" and status!="X"';
  $res_retp=msql_query($sql_retp,$link_vcrx);
  if(msql_num_rows($res_retp)!=0){return; die('ERROR : YA Tiene Retención');} 
  
	$newdocu='RPRO';
	$newnumero=nume_docu($newdocu);
	$newidnum=clon_docu($docu,$idnum,$newdocu);

  $sql_rete='update retp1 set numero="'.$newnumero.'" where idnum1='.$newidnum;
  $res_rete=msql_query($sql_rete,$link_vcrx);
  
  $sql_rete='delete from retp2 where idnum2='.$newidnum;
  $res_rete=msql_query($sql_rete,$link_vcrx);
  
  $ciddet=0;
  if($srrta!=0)
  {
    $sql_rrta ='select cair,sum(tsubt) as tsubt, sum(tdcto) as tdcto, prrta, sum(rrta) as rrta from comp12 ';
    $sql_rrta.=' where idnum1='.'"'.$idnum.'" ';
//     $sql_rrta.=' group by idnum1,cair order by cair';
    $sql_rrta.=' group by cair order by cair';
    $res_rrta=msql_query($sql_rrta,$link_vcrx);
    while($aso_rrta=msql_fetch_assoc($res_rrta) )
    {
      $ciddet++;
      $sql_rete='insert into retp2(idnum2,iddet)value("'.$newidnum.'","'.$ciddet.'")';
      $res_rete=msql_query($sql_rete,$link_vcrx);
      $sql_rete ='update retp2 set ';
      $sql_rete.=' docum="'.$docu.'",';
      $sql_rete.=' ptoem="'.$ptoe.'",';
      $sql_rete.=' numer="'.$numero.'",';
      $sql_rete.=' cant="'.($aso_rrta['tsubt']-$aso_rrta['tdcto']).'",';
      $sql_rete.=' puni="'.$aso_rrta['prrta'].'",';
      $sql_rete.=' cair="'.$aso_rrta['cair'].'",';
      $sql_rete.=' detalle=""';
      $sql_rete.=' where idnum2="'.$newidnum.'" and iddet="'.$ciddet.'"';
      $res_rete=msql_query($sql_rete,$link_vcrx);
    }
  }
  
  if($sriva!=0)
  {
    $sql_riva ='select iva, sum(tiva) as tiva, priva, sum(riva) as riva from comp12 ';
    $sql_riva.=' where idnum1='.'"'.$idnum .'" and iva>0';
//     $sql_riva.=' group by idnum1,priva order by priva';
    $sql_riva.=' group by priva order by priva';
    $res_riva=msql_query($sql_riva,$link_vcrx);
    while($aso_riva=msql_fetch_assoc($res_riva) )
    {
      $cair="-";
      $ciddet++;
      $sql_rete='insert into retp2(idnum2,iddet)value("'.$newidnum.'","'.$ciddet.'")';
      $res_rete=msql_query($sql_rete,$link_vcrx);
      $sql_rete ='update retp2 set ';
      $sql_rete.=' docum="'.$docu.'",';
      $sql_rete.=' ptoem="'.$ptoe.'",';
      $sql_rete.=' numer="'.$numero.'",';
      $sql_rete.=' cant="'.$aso_riva['tiva'].'",';
      $sql_rete.=' puni="'.$aso_riva['priva'].'",';
      $sql_rete.=' cair="'.$cair.'",';
      $sql_rete.=' detalle=""';
      $sql_rete.=' where idnum2="'.$newidnum.'" and iddet="'.$ciddet.'"';
      $res_rete=msql_query($sql_rete,$link_vcrx);
    }
  }
	
	return $newidnum;
	
}

  
  
function updt_compitem($docu,$idnum)
{
//   echo '*/*/*/*/*';die();
  
  if($docu!='FP10'){return;}
	include('../_cfg/config.php');
  $tabla='comp';
  
  $sql_comp='select * from comp1, comp2 where idnum1=idnum2 and  idnum1="'.$idnum.'" and status!="X"';
  $res_comp=msql_query($sql_comp,$link_vcrx);
  
  while($aso_comp=msql_fetch_assoc($res_comp))
  {
    $item=$aso_comp['item'];
    $itemce=trim($aso_comp['itemce']);
    $facon=trim($aso_comp['facon']);
    $itemce2=trim($aso_comp['itemce2']);
    $enti=substr($aso_comp['enti'],0,10);
    $fecha=$aso_comp['fecha'];
    if(!empty($item) and substr($item,0,2)!='99')
    {
      $sql_updt ='update comp1,comp2 ';
      $sql_updt.='set item="'.$item.'" ';
      $sql_updt.='where idnum1=idnum2 ';
      $sql_updt.='and enti like "'.$enti.'%" ';
      $sql_updt.='and fecha>="'.$fecha.'"';
      $sql_updt.='and trim(itemce)="'.$itemce.'"';
      $sql_updt.='and itemce!="" and itemce is not null ';
      $sql_updt.='and (item="" or item like "99%" or item is null)';
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
//       echo '*/*/*/'.$sql_updt.msql_error($link_vcrx);
      
      $sql_updt ='update comp1,comp2 ';
      $sql_updt.='set item="'.$item.'" ';
      $sql_updt.='where idnum1=idnum2 ';
      $sql_updt.='and enti like "'.$enti.'%" ';
      $sql_updt.='and fecha>="'.$fecha.'"';
      $sql_updt.='and trim(itemce2)="'.$itemce2.'"';
      $sql_updt.='and itemce2!="" and itemce2 is not null ';
      $sql_updt.='and (item="" or item like "99%" or item is null)';
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
    }

    if(!empty($itemce) and !empty($facon))
    {
      $sql_updt ='update comp1,comp2 ';
      $sql_updt.='set facon="'.$facon.'" ';
      $sql_updt.='where idnum1=idnum2 ';
      $sql_updt.='and enti like "'.$enti.'%" ';
      $sql_updt.='and fecha>="'.$fecha.'"';
      $sql_updt.='and trim(itemce)="'.$itemce.'"';
      $sql_updt.='and itemce!="" and itemce is not null ';
//       $sql_updt.='and (item="" or item like "99%" or item is null)';
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
//       echo '*/*/*/'.$sql_updt.msql_error($link_vcrx);
      
    }
    
  }
  
}
  
function cost_comp($pitem,$pfecha)
{
	include('../_cfg/config.php');
  if(empty($pfecha)){$pfecha=date('Ymd');}
  $pitem=trim($pitem);
      
      $fecha1=$pfecha;
      $fecha2=$pfecha;
  
      $sql_pcp1 ='select * from comp12 ';
      $sql_pcp1.='where item="'.$pitem.'" ';
      $sql_pcp1.='and status!="O" ';
      $sql_pcp1.='and fecha>="'.$fecha1.'" ';
      $sql_pcp1.='and fecha<="'.$fecha2.'" ';
      $sql_pcp1.='order by fecha desc ';
      $sql_pcp1.='limit 1 ';
      $res_pcp1 = msql_query($sql_pcp1,$link_vcrx);

      $fecha1=date('Y-m-d',strtotime($fecha1.' -1 month'));
      $fecha2=date('Y-m-d',strtotime($fecha2.' +1 month'));
  
      if(msql_num_rows($res_pcp1)==0)
      {
        $sql_pcp1 ='select * from comp12 ';
        $sql_pcp1.='where item="'.$pitem.'" ';
        $sql_pcp1.='and status!="O" ';
//         $sql_pcp1.='and fecha>="'.$fecha1.'" ';
        $sql_pcp1.='and fecha<="'.$fecha2.'" ';
        $sql_pcp1.='order by fecha desc ';
        $sql_pcp1.='limit 1 ';
        $res_pcp1 = msql_query($sql_pcp1,$link_vcrx);
      }
  
      if(msql_num_rows($res_pcp1)==0)
      {
        $sql_pcp1 ='select * from comp12 ';
        $sql_pcp1.='where item="'.$pitem.'" ';
        $sql_pcp1.='and status!="O" ';
        $sql_pcp1.='and fecha>="'.$fecha1.'" ';
//         $sql_pcp1.='and fecha<="'.$fecha2.'" ';
        $sql_pcp1.='order by fecha ';
        $sql_pcp1.='limit 1 ';
        $res_pcp1 = msql_query($sql_pcp1,$link_vcrx);
      }
  
      if(msql_num_rows($res_pcp1)!=0)
      {
        $xpcp1=msql_result($res_pcp1,0,'puni');
        $xdcto=msql_result($res_pcp1,0,'dcto');
        $xpcp1=$xpcp1*(1-$xdcto/100);
        $sql_updt='update inve2 set puni="'.$xpcp1.'" where idnum2="'.$xidnum1.'" and item="'.$pitem.'" ';
//         $res_updt=msql_query($sql_updt,$link_vcrx);
//         $xpuni=$xpcp1;
      }
    
}

}

?>