<?php 
function depositoEstadoDescripcion($Estado){
    switch($Estado){
        case "X":$estadoDes="Temporal";break;
        case "P":$estadoDes="Pendiente";break;
        case "C":$estadoDes="Cerrado";break;
        case "A":$Aprobado="Pendiente";break;
        case "R":$estadoDes="Rechazado";break;
    }
    return $estadoDes;
}

function curl_get_contents_alternativo($url,$dni,$sentinel=0,$refresh=0)
{
  if($refresh)
  {
      $c_refresh = "&refresh=true";    
  }
  if($sentinel){
  	$url_f = 'https://reniec.softdatamen.com/api/sentinel/summary/'.$dni.'?api_token=$2y$10$i7BRdUgJtbPFJVDlbhdSvuWeZEkSzTtULjf3YzYXLTWWY4KHAXE1O'.$c_refresh;
  }else{
  	$url_f = 'https://reniec.softdatamen.com/api/reniec/dni/'.$dni.'?api_token=$2y$10$i7BRdUgJtbPFJVDlbhdSvuWeZEkSzTtULjf3YzYXLTWWY4KHAXE1O'.$c_refresh;
  }
  	
  $curl = curl_init();

	curl_setopt_array($curl, array(
	  CURLOPT_URL => $url_f,
	  CURLOPT_RETURNTRANSFER => true,
	  CURLOPT_ENCODING => '',
	  CURLOPT_MAXREDIRS => 10,
	  CURLOPT_TIMEOUT => 0,
	  CURLOPT_FOLLOWLOCATION => true,
	  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	  CURLOPT_CUSTOMREQUEST => 'GET',
	  CURLOPT_HTTPHEADER => array(
	    'Content-Type: text/plain'
	  ),
	));
	$response = curl_exec($curl);
	
	curl_close($curl);
	return $response;
}

function showViewProducto($idClase,$Idsucursal,$Idmercado,$Idcolaborador,$fecha)
{
	$o_ArArqueoDetalleProductoFN = new ArArqueoDetalleProductoFN();
	$o_ArArqueoDetalleProductoFN->setIdclase($idClase);
	$o_ArArqueoDetalleProductoFN->setIdsucursal($Idsucursal);
	$o_ArArqueoDetalleProductoFN->setIdmercado($Idmercado);
	$o_ArArqueoDetalleProductoFN->setIdcolaborador($Idcolaborador);
	$o_ArArqueoDetalleProductoFN->setFecha($fecha);
	$o_ArArqueoDetalleProductoFN->sortCampos = "Fecharegistro";
	$o_ArArqueoDetalleProductoFN->sortType   = "2";
	
	$a_o_ArArqueoDetalleProductoBN = $o_ArArqueoDetalleProductoFN->select();
	
	?>
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr>
          <td class="label req">PRODUCTO
          </td>
         </tr>
    </table>
          
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
          <td>
            <table class="grid" width="100%" border="0" cellpadding="0" cellspacing="0">
              <tr height="23">
               <th width="2%" >Nro</th>
                <th width="4%" >C.Cli.</th>
                <th width="4%" >C.Prest.</th>
               
                <th width="12%" align="left">Tipo.Producto</th>
                <th width="14%" align="left">Producto</th>
                
               
                
                
                
			    <th width="15%" align="left" >Cliente</th>
			    <th width="5%" align="center">Cantidad</th>
			    <th width="4%" align="right">P.Unitario</th>
			    <th width="5%" align="right">Monto</th>
			   
			    
				<th width="4%" align="center">Estado</th>
                <th width="7%" id="col01" onMouseOver="sort_col(this);" >Usr.Crea.</th>
                <th width="9%" id="col01" onMouseOver="sort_col(this);" >Fec.Crea.</th>
              
                
              </tr>
              <? if(count($a_o_ArArqueoDetalleProductoBN)>0){ ?>
              <? foreach ($a_o_ArArqueoDetalleProductoBN as $iKey => $o_objBean){    	?>
              <tr onClick="TR_click(this);">
               <td class="chk"><?=($tamanioPag)*($page-1)+($iKey+1)?></td>
               <td align="center"><?=$o_objBean->getIdcliente()?></td>
               <td align="center"><?=$o_objBean->getIdprestamo()?></td>
               <td align="left"><?=$o_objBean->getDescripciontipoproducto()?></td>
               <td align="left"><?=$o_objBean->getDecripcionproducto()?></td>
                <td align="left"><?=ucwords(strtolower($o_objBean->getNombrecliente()))?></td>
                							                
                <td align="center"><?php echo $o_objBean->getCantidad();?></td>
                <td align="right"><?php echo $o_objBean->getPreciounitario();?></td>
                <td align="right"><?=number_format($o_objBean->getSubtotal(),2);$subtotal += $o_objBean->getSubtotal();?></td>
                
                
                
                <td align="center"><?if($o_objBean->getEstado()=='P'){ echo "Pendiente"; } else {echo "Cerrado";} ?></td>
				<td align="center"><?=strtoupper($o_objBean->getUsuarioregistro())?></td>
                <td align="center"><?=$o_objBean->getFecharegistro()?></td>
                
              </tr>
              <? } ?>
              <? }else{ ?>
              <tr>
                <td colspan="7" align="center">No se produjo resultado</td>
              </tr>
              <? } ?>
               <tr>
        			<td align="right" width="84%" colspan="8">Total</td>
        			<td align="right" width="10%"><div style="Font-weight:bold" class="label" id="totalEfectivo"><?php echo number_format($subtotal,2);?></label></td>
        			<td align="right" width="6%">&nbsp;</td>
        		</tr>
            </table>
          </td>
        </tr>
       
	

      </table>
	<?php
}
function unicodeToutf8($str){
    $repl = array ('\u00e1','\u00e9','\u00ed','\u00f3','\u00fa','\u00f1','\u00c1','\u00c9','\u00cd','\u00d3','\u00da','\u00d1');
    $with = array ('á','é','í','ó','ú','ñ','Á','É','Í','Ó','Ú','Ñ');
    return str_replace($repl,$with,$str);
}

function showViewDeposito($idClase,$Idsucursal,$Idmercado,$Idcolaborador,$fecha)
{
	$o_ArArqueoDetalleDepositoFN = new ArArqueoDetalleDepositoFN();
	$o_ArArqueoDetalleDepositoFN->setIdclase($idClase);
	$o_ArArqueoDetalleDepositoFN->setIdsucursal($Idsucursal);
	$o_ArArqueoDetalleDepositoFN->setIdmercado($Idmercado);
	$o_ArArqueoDetalleDepositoFN->setIdcolaborador($Idcolaborador);
	$o_ArArqueoDetalleDepositoFN->setFecha($fecha);
	$o_ArArqueoDetalleDepositoFN->sortCampos = "Fecharegistro";
	$o_ArArqueoDetalleDepositoFN->sortType   = "2";
	
	$a_o_ArArqueoDetalleDepositoBN = $o_ArArqueoDetalleDepositoFN->select();
	?>
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr>
          <td class="label req">DEPOSITO
          </td>
         </tr>
    </table>
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%">
	    <tr>
	      <td>
	        <table class="grid" width="100%" border="0" cellpadding="0" cellspacing="0">
	          <tr height="23">
	           <th width="2%" >Nro</th>
	            <th width="4%" >C.Cli.</th>
	            <th width="4%" >C.Prest.</th>
	            <th width="6%" align="left">Banco</th>
	            <th width="9%" align="left">#Cta.Bancaria</th>
	            <th width="4%" align="left">#Boucher</th>
	            <th width="5%" align="left">Fec.Oper.</th>
	            
	            
	            
			    <th width="12%" align="left" >Cliente</th>
			    <th width="8%" align="right">Monto</th>
			   
			    
				<th width="4%" align="center">Estado</th>
	            <th width="8%" id="col01" onMouseOver="sort_col(this);" >Usr.Crea.</th>
	            <th width="8%" id="col01" onMouseOver="sort_col(this);" >Fec.Crea.</th>
	            <th></th>
	           
	          </tr>
	          <? if(count($a_o_ArArqueoDetalleDepositoBN)>0){ ?>
	          <? foreach ($a_o_ArArqueoDetalleDepositoBN as $iKey => $o_objBean){    	?>
	          <tr onClick="TR_click(this);">
	           <td class="chk"><?=($tamanioPag)*($page-1)+($iKey+1)?></td>
	           <td align="center"><?=$o_objBean->getIdcliente()?></td>
	           <td align="center"><?=$o_objBean->getIdprestamo()?></td>
	           <td align="left"><?=$o_objBean->getBanco()?></td>
	           <td align="left"><?=$o_objBean->getNumerocuenta()?></td>
	           <td align="left"><?=$o_objBean->getNumeroboucher()?></td>
	            <td><?=$o_objBean->getFechadeposito()?></td>
	            <td align="left"><?=ucwords(strtolower($o_objBean->getNombrecliente()))?></td>
	            							                
	            <td align="right"><?=number_format($o_objBean->getSubtotal(),2);$subtotal += $o_objBean->getSubtotal();?></td>
	            
	            
	            
	            <td align="center"><?if($o_objBean->getEstado()=='P'){ echo "Pendiente"; } else {echo "Cerrado";} ?></td>
				<td align="center"><?=strtoupper($o_objBean->getUsuarioregistro())?></td>
	            <td align="center"><?=$o_objBean->getFecharegistro()?></td>
	            <td align="center"><a target="_blank" href="<?php echo substr($o_objBean->getNombrearchivo(),2);?>"><img src="/images/common/buttons/btnReview.gif" title="Mostrar"></a></td>
	           
	          </tr>
	          <? } ?>
	          <? }else{ ?>
	          <tr>
	            <td colspan="7" align="center">No se produjo resultado</td>
	          </tr>
	          <? } ?>
	           <tr>
	    			<td align="right" width="84%" colspan="8">Total</td>
	    			<td align="right" width="10%"><div style="Font-weight:bold" class="label" id="totalEfectivo"><?php echo number_format($subtotal,2);?></label></td>
	    			<td align="right" width="6%">&nbsp;</td>
	    		</tr>
	        </table>
	      </td>
	    </tr>
	   
	
	
	  </table>
<?php
	
}

function showViewDepositoColaborador($idClase,$Idsucursal,$Idmercado,$Idcolaborador,$fecha)
{
	$o_ArArqueoDetalleDepositoCobrador = new ArArqueoDetalleDepositoCobradorFN();
	$o_ArArqueoDetalleDepositoCobrador->setIdclase($idClase);
	$o_ArArqueoDetalleDepositoCobrador->setIdsucursal($Idsucursal);
	$o_ArArqueoDetalleDepositoCobrador->setIdmercado($Idmercado);
	$o_ArArqueoDetalleDepositoCobrador->setIdcolaborador($Idcolaborador);
	$o_ArArqueoDetalleDepositoCobrador->setFecha($fecha);
	$o_ArArqueoDetalleDepositoCobrador->sortCampos = "Fecharegistro";
	$o_ArArqueoDetalleDepositoCobrador->sortType   = "2";
	
	$a_o_ArArqueoDetalleDepositoBN = $o_ArArqueoDetalleDepositoCobrador->select();
	?>
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr>
          <td class="label req">DEPOSITO DEL COLABORADOR
          </td>
         </tr>
    </table>
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%">
	    <tr>
	      <td>
	        <table class="grid" width="100%" border="0" cellpadding="0" cellspacing="0">
	          <tr height="23">
	           <th width="2%" >Nro</th>
	           
	            <th width="6%" align="left">Banco</th>
	            <th width="9%" align="left">#Cta.Bancaria</th>
	            <th width="4%" align="left">#Boucher</th>
	            <th width="5%" align="left">Fec.Oper.</th>
	            
	            
	            
			  
			    <th width="8%" align="right">Monto</th>
			   
			    
				<th width="4%" align="center">Estado</th>
	            <th width="8%" id="col01" onMouseOver="sort_col(this);" >Usr.Crea.</th>
	            <th width="8%" id="col01" onMouseOver="sort_col(this);" >Fec.Crea.</th>
	            <th width="8%" id="col01" onMouseOver="sort_col(this);" >Ver</th>
	          
	           
	          </tr>
	          <? if(count($a_o_ArArqueoDetalleDepositoBN)>0){ ?>
	          <? foreach ($a_o_ArArqueoDetalleDepositoBN as $iKey => $o_objBean){    	?>
	          <tr onClick="TR_click(this);">
	           <td class="chk"><?=($tamanioPag)*($page-1)+($iKey+1)?></td>
	          
	           <td align="left"><?=$o_objBean->getBanco()?></td>
	           <td align="left"><?=$o_objBean->getNumerocuenta()?></td>
	           <td align="left"><?=$o_objBean->getNumeroboucher()?></td>
	            <td><?=$o_objBean->getFechadeposito()?></td>
	           
	            							                
	            <td align="right"><?=number_format($o_objBean->getSubtotal(),2);$subtotal += $o_objBean->getSubtotal();?></td>
	            
	            
	            
	            <td align="center"><?if($o_objBean->getEstado()=='P'){ echo "Pendiente"; } else {echo "Cerrado";} ?></td>
				<td align="center"><?=strtoupper($o_objBean->getUsuarioregistro())?></td>
	            <td align="center"><?=$o_objBean->getFecharegistro()?></td>
	            <!--<td align="center"><img src="/images/common/buttons/eye.png" title="Ver imagen" onclick="objMainTab.modalDialog('<?=buildUrl('arqueo/verArchivo/idclase/'.$o_objBean->getIdclase().'/idsucursal/'.$o_objBean->getIdsucursal().'/idmercado/'.$o_objBean->getIdmercado().'/idcolaborador/'.$o_objBean->getIdcolaborador().'/fecha/'.$o_objBean->getFecha().'/numeroboucher/'.$o_objBean->getNumeroboucher());?>',{title:'',width:810,height:400})"  style="cursor:pointer" /></td>-->
				<td align="center"><a target="_blank" href="/images/uploadFiles/boucher/<?php echo $o_objBean->getNombrearchivo()?>"><img src="/images/common/buttons/eye.png" title="Ver imagen"   style="cursor:pointer" /></a></td>	           
	           
	          </tr>
	          <? } ?>
	          <? }else{ ?>
	          <tr>
	            <td colspan="7" align="center">No se produjo resultado</td>
	          </tr>
	          <? } ?>
	           <tr>
	    			<td align="right" width="84%" colspan="5">Total</td>
	    			<td align="right" width="10%"><div style="Font-weight:bold" class="label" id="totalEfectivo"><?php echo number_format($subtotal,2);?></label></td>
	    			<td align="right" width="6%">&nbsp;</td>
	    		</tr>
	        </table>
	      </td>
	    </tr>
	   
	
	
	  </table>
<?php
	
}

function showViewValor($idClase,$Idsucursal,$Idmercado,$Idcolaborador,$fecha)
{
			
	$o_ArValor = new ArValorFN();
	$o_ArValor->setTipoValor("BILLETE");
	$o_ArValor->setEstado("P");
	$o_ArValor->setEliminado(-1);
	$a_valorFN_B = $o_ArValor->select();
	
	//print_r($a_valorFN_B);
	
	
	$o_ArValor = new ArValorFN();
	$o_ArValor->setTipoValor("MONEDA");
	$o_ArValor->setEstado("P");
	$o_ArValor->setEliminado(-1);
	$a_valorFN_M = $o_ArValor->select();
	
	$o_ArArqueoDetalleValorFN = new ArArqueoDetalleValorFN();
	$o_ArArqueoDetalleValorFN->setIdclase($idClase);
	$o_ArArqueoDetalleValorFN->setIdsucursal($Idsucursal);
	$o_ArArqueoDetalleValorFN->setIdmercado($Idmercado);
	$o_ArArqueoDetalleValorFN->setIdcolaborador($Idcolaborador);
	$o_ArArqueoDetalleValorFN->setFecha($fecha);
	$a_o_ArArqueoDetalleValorFN = $o_ArArqueoDetalleValorFN->select();
	/*
	echo "<pre>";
	print_r($a_o_ArArqueoDetalleValorFN);
	echo "</pre>";
	*/
	if(is_array($a_o_ArArqueoDetalleValorFN)){
		foreach ($a_o_ArArqueoDetalleValorFN as $key => $o_ArArqueoDetalleValorFN){
			$a_Arqueovalor[$o_ArArqueoDetalleValorFN->getIdvalor()]["cantidad"] = $o_ArArqueoDetalleValorFN->getCantidad();
			$a_Arqueovalor[$o_ArArqueoDetalleValorFN->getIdvalor()]["subtotal"] = $o_ArArqueoDetalleValorFN->getSubtotal();
		}
	}
	?>
	
	<table width="100%">
	
        <tr>
            <td width="50%" valign="top">
					 <fieldset>
    				<legend>Billetes</legend>  
                      <table width="100%" cellpadding="5" cellspacing="0" border="0" class="grid">
                            <tr>
                                <th width="40%">Valor</th>
                                <th width="20%">Cantidad</th>
                                <th width="40%">Subtotal</th>
                            </tr>
                        	
                        
                        
                        	<?php foreach ($a_valorFN_B as $key => $o_valorFN_B){?>
                        	<tr>
                                <td align="center"><label class="label1"><?php echo $o_valorFN_B->getDescripcion();?></label></td>
                                <td align="center"><label class="label"></label><?php echo (int)$a_Arqueovalor[$o_valorFN_B->getIdvalor()]["cantidad"]?></td>
                                <td align="right"><div style="padding-right:60px" class="label" ><?php $subtotal_b += $a_Arqueovalor[$o_valorFN_B->getIdvalor()]["subtotal"];echo number_format((float)$a_Arqueovalor[$o_valorFN_B->getIdvalor()]["subtotal"],2);?></div>
                                
                                </td>
                            </tr>
                            <?php } ?>
                             <tr>
                                 <td colspan="3"><label class="label">&nbsp;</label></td>
                             </tr>
                             <tr>
                                
                                <td align="right" colspan="3" style="border-top:1px solid #000"><div style="padding-right:60px;Font-weight:bold" class="label" id="totalBillete"><?php echo number_format($subtotal_b,2);?></div></td>
                            </tr>
                            
                      </table>
                        
                </fieldset>    
            </td>
             <td width="50%">
             	<fieldset>
        			<legend>Monedas</legend>  
					<table width="100%" cellpadding="5" cellspacing="0" border="0" class="grid">
                        <tr>
                            <th width="40%">Valor</th>
                            <th width="20%">Cantidad</th>
                            <th width="40%">Subtotal</th>
                        </tr>
                         
                    	<?php 
                    	foreach ($a_valorFN_M as $key => $o_valorFN_M){?>
                    	<tr>
                            <td align="center"><label class="label1"><?php echo $o_valorFN_M->getDescripcion();?></label></td>
                            <td align="center"><?php echo (int)$a_Arqueovalor[$o_valorFN_M->getIdvalor()]["cantidad"]?></td>
                            <td align="right"><div style="padding-right:60px" class="label"><?php $subtotal_m += $a_Arqueovalor[$o_valorFN_M->getIdvalor()]["subtotal"];echo number_format((float)$a_Arqueovalor[$o_valorFN_M->getIdvalor()]["subtotal"],2);?></div>
                                                    </tr>
                        <?php } ?>
                    
                         <tr>
                            
                            <td align="right" colspan="3"style="border-top:1px solid #000"><div style="padding-right:60px;Font-weight:bold" class="label" id="totalMoneda"><?php echo number_format($subtotal_m,2);?></div></td>
                        </tr>
                        
                    </table>
                  </fieldset>      
            </td>
           
        </tr>
        
       
	
	</table>
	<table width="100%" border="0">
		<tr>
			<td align="right" width="84%">Total</td>
			<td align="right" width="10%"><div style="Font-weight:bold" class="label" id="totalEfectivo"><?php echo number_format($subtotal_m+$subtotal_b,2);?></label></td>
			<td align="right" width="6%">&nbsp;</td>
		</tr>
	</table>
	<?php
}
function mkCantidadEfectivo($name,$topeMinimo,$topeMaximo,$tipo,$default=""){
	//echo $name." ".$topeMinimo." ".$topeMaximo;
	?>
	<select class="combo s_<?php echo $tipo?>" name="a_cantidad[<?php echo $name?>]" id="cantidad_<?php echo $name?>" onchange="updateTotales('<?php echo $name;?>')">
		<?php
		for($i=$topeMinimo;$i<=$topeMaximo;$i++){
			?>
			<option value="<?php echo $i?>" <?php if($i == $default) echo " selected "?>><?php echo $i?></option>
			<?php
		}
		?>
	</select>
	<?php
	
}
function getClasificacionInfocorp($score){
  $con = Conexion::getConexion(); 
  
  $sql = "SELECT *
			FROM cr_infocorpcategoria
			where 1
				and rangominimo <= '".$score."'
				and rangomaximo >= '".$score."'
			";
	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);     	
	$num_rows = mysql_num_rows($result);
	
	if($num_rows>0){
		while ($o_valorS = mysql_fetch_object($result)) {
			return $o_valorS;
		}
	}
	   	
  return false;
}

function getListadoClasificacionInfocorp(){
  $con = Conexion::getConexion(); 
  
  $sql = "SELECT *
			FROM cr_infocorpcategoria
			where 1
			";
	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);     	
	$num_rows = mysql_num_rows($result);
	
	if($num_rows>0){
		while ($o_valorS = mysql_fetch_object($result)) {
			$a_valores[$o_valorS->idinfocorpcategoria]["descripcion"] = $o_valorS->descripcion;
			$a_valores[$o_valorS->idinfocorpcategoria]["rangominimo"] = $o_valorS->rangominimo;
			$a_valores[$o_valorS->idinfocorpcategoria]["rangomaximo"] = $o_valorS->rangomaximo;
			$a_valores[$o_valorS->idinfocorpcategoria]["color"] = $o_valorS->color;
			$a_valores[$o_valorS->idinfocorpcategoria]["codigo"] = $o_valorS->codigo;
		}
	}
	   	
  return $a_valores;
}

function setClasificacionInfocorp($idcliente, $descripcion, $rangominimo, $rangomaximo, $scoreinfocorp, $color, $codigo,$fecharegistro,$usuarioregistro){
  $con = Conexion::getConexion(); 
  
  $sql = "INSERT INTO `cr_cliente_infocorpcategoria` 
  			(`idclienteinfocorp`,`idcliente`, `descripcion`, `rangominimo`, `rangomaximo`,scoreinfocorp, `color`, `codigo`,`fecharegistro`,`usuarioregistro`) 
  		  VALUES
			(null, '".$idcliente."', '".$descripcion."', '".$rangominimo."', '".$rangomaximo."','".$scoreinfocorp."', '".$color."', '".$codigo."','".$fecharegistro."','".$usuarioregistro."')";
	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);     	
	
}

function getEstadoCondicion($idestado){
  $desc_estado = Constantes::$a_condicionPrestamo[$idestado];
  return $desc_estado;
}


function diferenciaDates($dFecFin, $dFecIni)
{
    $dFecIni = str_replace("-","",$dFecIni);
    $dFecIni = str_replace("/","",$dFecIni);
    $dFecFin = str_replace("-","",$dFecFin);
    $dFecFin = str_replace("/","",$dFecFin);

    ereg( "([0-9]{2,4})([0-9]{1,2})([0-9]{1,2})", $dFecIni, $aFecIni);
    ereg( "([0-9]{2,4})([0-9]{1,2})([0-9]{1,2})", $dFecFin, $aFecFin);

    $date1 = mktime(0,0,0,$aFecIni[2], $aFecIni[3], $aFecIni[1]);
    $date2 = mktime(0,0,0,$aFecFin[2], $aFecFin[3], $aFecFin[1]);

    return round(($date2 - $date1) / (60 * 60 * 24));
}

function array_sort($array, $on, $order=SORT_ASC)
{
    $new_array = array();
    $sortable_array = array();

    if (count($array) > 0) {
        foreach ($array as $k => $v) {
            if (is_array($v)) {
                foreach ($v as $k2 => $v2) {
                    if ($k2 == $on) {
                        $sortable_array[$k] = $v2;
                    }
                }
            } else {
                $sortable_array[$k] = $v;
            }
        }

        switch ($order) {
            case SORT_ASC:
                asort($sortable_array);
            break;
            case SORT_DESC:
                arsort($sortable_array);
            break;
        }

        foreach ($sortable_array as $k => $v) {
            $new_array[$k] = $array[$k];
        }
    }

    return $new_array;
}

function fnroundesp( $num, $d=0 )
{
	$num = sprintf("%.4f",$num);
	$d = pow(10, $d);
	
	if($num == 0){
    $sgn = 0;
	}else if($num > 0){
    $sgn = 1;
	}else{
    $sgn = -1;
	}
	
	$v1 = intval((string)($num*$d + $sgn*.5));
	return ($v1/$d);
}

function getPermisoColaborador($idColaborador,$IdcolaboradorTrx){
	if($IdcolaboradorTrx != $idColaborador){
		?>
		<script>
			alert('Requiere volver a loguearse');
 			parent.document.location.href = '<?php echo buildUrlComplet('sys.php/user/logout')?>';	
		</script>
		<?php 
		exit;
	}
}

function getPermisoColaboradorMercado($idColaborador,$IdMercado){
	$o_MercadoColaborador = new MercadoRepresentanteBean();
	$o_MercadoColaborador->setIdColaborador($idColaborador);
	$o_MercadoColaborador->setIdMercado($IdMercado);
	$o_MercadoColaboradorDP = new MercadoRepresentanteDP($o_MercadoColaborador);
	$a_MercadoRepresentante = $o_MercadoColaboradorDP->select();
	if(!is_array($a_MercadoRepresentante)){
			?>
			<script>
				alert('Requiere volver a loguearse');
	 			parent.document.location.href = '<?php echo buildUrlComplet('sys.php/user/logout')?>';	
			</script>
			<?php 
			exit;
		
	}
}

function getPermisoColaboradorMercadoAjax($idColaborador,$IdMercado){
	$o_MercadoColaborador = new MercadoRepresentanteBean();
	$o_MercadoColaborador->setIdColaborador($idColaborador);
	$o_MercadoColaborador->setIdMercado($IdMercado);
	$o_MercadoColaboradorDP = new MercadoRepresentanteDP($o_MercadoColaborador);
	$a_MercadoRepresentante = $o_MercadoColaboradorDP->select();
	if(is_array($a_MercadoRepresentante)){
		return true;
	}else{
		return false;
	}
}



function getUnidadesMedida(){
		
	//TODOS LOS CAMPO COMO UNIDAD DE MEDIDA
	$a_Campos[] = array( "fisico" => "cobranzaTotal", "logico" => "Cobranza Total<br>(S/.)", "align" => "right" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasCanceladasMonto", "logico" => "Cuentas<br>Canceladas<br>(S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasVencidasMonto", "logico" => "Cuentas Vencidas<br>(S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasRenovadasMonto", "logico" => "Cuentas Prestamos<br>(S/.)", "align" => "right" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasRefinanciadasMonto", "logico" => "Cuentas<br>Refinanciadas<br>(S/.)", "align" => "right" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasMorosasMonto", "logico" => "Cuentas Morosas (S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "nuevosClientesMonto", "logico" => "Nuevos Clientes (S/.)", "align" => "right" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasNoCobradasMonto", "logico" => "Cuentas No&nbsp;Cobradas<br>(S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasCobradasMonto", "logico" => "Cuentas Cobradas<br>(S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "clientesActivosMonto", "logico" => "Clientes Activos<br>(S/.)", "align" => "right" , "operacion" => "AVG" );
	//$a_Campos[] = array( "fisico" => "capitalTrabajado", "logico" => "" );
	//$a_Campos[] = array( "fisico" => "capitalTrabajo", "logico" => "" );
	$a_Campos[] = array( "fisico" => "metaMinimaDiariaMonto", "logico" => "Meta<br>Minima (S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "metaMaximaDiariaMonto", "logico" => "Meta<br>Maxima (S/.)", "align" => "right" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasRefinanciadasNum", "logico" => "Nro.<br>Cuentas<br>Refinanciadas", "align" => "center" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasVencidasNum", "logico" => "Nro.<br>Cuentas<br>Vencidas" , "align" => "center", "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasRenovadasNum", "logico" => "Nro.<br>Cuentas<br>Renovadas", "align" => "center" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasMorosasNum", "logico" => "Nro.<br>Cuentas<br>Morosas" , "align" => "center", "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasNoCobradasNum", "logico" => "Nro.<br>Cuentas<br>No&nbsp;Cobradas", "align" => "center" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "nuevosClientesNum", "logico" => "Nro.<br>Nuevos<br>Clientes", "align" => "center" , "operacion" => "SUM" );
	$a_Campos[] = array( "fisico" => "cuentasCobradasNum", "logico" => "Nro.<br>Cuentas<br>Cobradas", "align" => "center" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "clientesActivosNum", "logico" => "Nro.<br>Clientes<br>Activos", "align" => "center" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "clientesInactivosNum", "logico" => "Nro.<br>Clientes<br>Inactivos", "align" => "center" , "operacion" => "AVG" );
	$a_Campos[] = array( "fisico" => "cuentasCanceladasNum", "logico" => "Nro.<br>Cuentas<br>Canceladas", "align" => "center" , "operacion" => "SUM" );

	
	return $a_Campos;
}

function getCampoLogico($nombre_campo){
		
	$a_Campos = getUnidadesMedida();

	foreach ( $a_Campos as $i_Indice => $a_Campo ){ 
		if($a_Campo["fisico"] == $nombre_campo){
			return str_replace("<br>"," ",$a_Campo['logico']);;		
		}
	}
}

function getCampoOperacion($nombre_campo){
		
	$a_Campos = getUnidadesMedida();

	foreach ( $a_Campos as $i_Indice => $a_Campo ){ 
		if($a_Campo["fisico"] == $nombre_campo){
			return $a_Campo['operacion'];		
		}
	}
}


/*-------------------------------------FUNCIONES DE CRONOGRAMA----------------------------------------------*/

function getDatosPrestamo($idPrestamo){
	$o_prestamoBean = new PrestamoBean();		
	$o_prestamoBean->setIdPrestamo($idPrestamo);
	
	$o_prestamoDP = new PrestamoDP($o_prestamoBean);		
	$a_o_prestamo = $o_prestamoDP->select();
	 
	if(is_array($a_o_prestamo)) return $a_o_prestamo[0];
	return false;
}


function procesoCalculoCronograma($idPrestamo,$noDomingos=''){
		
	if(!$idPrestamo) exit;
	$o_prestamo = getDatosPrestamo($idPrestamo);
	/*echo "<pre>";
	print_r($o_prestamo);
	echo "</pre>";*/
	if(is_object($o_prestamo)){
		$FechaInicioPago 	= $o_prestamo->getFechaInicioPago();
		$MontoTotal 		= $o_prestamo->getMontoTotal();
		$PeriodicidadPago 	= $o_prestamo->getPeriodicidadPago();
		$CuotaPago 			= round($o_prestamo->getCuotaPago(),2);
		$NroCuotas 			= $o_prestamo->getNroCuotas();	
		$cuotaPago 			= round($MontoTotal/$NroCuotas,1); 
		
		
		$a_fechaMonto = generarCronogramaCuotas($idPrestamo,$FechaInicioPago,$MontoTotal,$PeriodicidadPago,$NroCuotas,$cuotaPago, $noDomingos=1);
		
		/*echo "<pre>";
		print_r($a_fechaMonto);
		echo "</pre>";*/
		grabarCuotaPago($idPrestamo,$a_fechaMonto);
	}
}

function grabarCuotaPago($idPrestamo,$a_fechaMonto){
	$con = Conexion::getConexion();
	$sql = "SELECT * 
				FROM cr_cuota
				WHERE idprestamo = '".$idPrestamo."'";
	
		$oLink = method_exists($con, 'getResource')?$con->getResource():$con;
		
		$result_c = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
		$num_cuotas = mysql_num_rows($result_c);
		if($num_cuotas == 0){
			
			foreach ($a_fechaMonto as $fecha => $Monto){
		
		
		
			
			
				$sql = "INSERT cr_cuota
						(idcuota,idprestamo,fecha,montocuota,saldocuota,estado,fecharegistro,usuarioregistro)
						values
						(
						 null,'".$idPrestamo."','".$fecha."','".$Monto."','".$Monto."','P','".(date('Y-m-d H:i:s'))."','system')
					"	;
				//echo $sql;
				$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
			
			}
	}
      
    
}


function esDomingo($Fecha){
	$dia = date('w',strtotime($Fecha));
	if($dia > 0 ) return false;
	return true;
}

function esSabado($Fecha){
	$dia = date('w',strtotime($Fecha));
	if($dia < 6 ) return false;
	return true;
}

function saltoFecha($Fecha,$PeriodicidadPago,$noDomingos,$noSabados=1){
	if($PeriodicidadPago == "D") $saltoDias = 1;
	if($PeriodicidadPago == "S") $saltoDias = 7;
	if($PeriodicidadPago == "M") $saltoDias = 30;
	$fecha = date('Y-m-d',strtotime($Fecha.' +'.$saltoDias.' days'));
	if($PeriodicidadPago == "D" && $noSabados && esSabado($fecha)) $fecha = date('Y-m-d',strtotime($fecha.' +1 days'));
	if($PeriodicidadPago == "D" && $noDomingos && esDomingo($fecha)) $fecha = date('Y-m-d',strtotime($fecha.' +1 days'));
	return $fecha;
}


function generarCronogramaCuotas($idPrestamo,$FechaInicioPago,$MontoTotal,$PeriodicidadPago,$NroCuotas, $cuotaPago, $noDomingos=1,$noSabados=1){
	$fecha = $FechaInicioPago;
	$diferenciaMonto = $MontoTotal - ($cuotaPago*$NroCuotas);
	for($i=1;$i<= $NroCuotas;$i++){
		//echo $i."-> ".$fecha."<br>";
		if($i == $NroCuotas) $a_fechaMonto[$fecha] = $cuotaPago + $diferenciaMonto;
		else $a_fechaMonto[$fecha] = $cuotaPago;
		$fecha = saltoFecha($fecha,$PeriodicidadPago,$noDomingos,$noSabados);
	}
	return $a_fechaMonto;
}

function procesoPagoCuota($db,$con,$idPrestamo,$IdPago,$MontoPago){
	
      
	//Busco las cuotas que estan en la base de datos
	$sql = "SELECT * 
			FROM cr_cuota
			WHERE IdPrestamo='".$idPrestamo."'
				and Estado='P'
			order by idcuota
			limit 0,1
			";
      echo $sql."----".$db;
    $result2 = mysql_db_query($db, $sql, $con);
    echo $result2;
    $num_rows = mysql_num_rows($result2);
    echo $num_rows."..................";
    if($num_rows>0){
    	echo $result2."##";
    	while ($o_valor = mysql_fetch_object($result2)) {	
    		echo "entro";
    		$montocuota = $o_valor->montocuota;
    		$saldocuota = $o_valor->saldocuota;
    		$idcuota = $o_valor->idcuota;
    		if($MontoPago > $saldocuota ){
    			$nuevoSaldoCuota = 0.00;
    			$restoPago = $MontoPago - $saldocuota;
    			$nuevoEstado = 'C';
    			$MontoCuotaPago = $saldocuota;
    		}
    		if($MontoPago < $saldocuota ){
    			$nuevoSaldoCuota = $saldocuota - $MontoPago;
    			$restoPago = 0.00;
    			$nuevoEstado = 'P';
    			$MontoCuotaPago = $MontoPago;
    		}
    		if($MontoPago == $saldocuota ){
    			$nuevoSaldoCuota = 0.00;
    			$restoPago = 0.00;
    			$nuevoEstado = 'C';
    			$MontoCuotaPago = $MontoPago;
    		}
    		if($nuevoSaldoCuota == 0.00){
    			$nuevoEstado = 'C';
    		}
    		//Actualizar Cuota
    		$sql = "UPDATE cr_cuota
    				SET 
    					saldocuota='".$nuevoSaldoCuota."',
    					estado ='".$nuevoEstado."'
    					
					WHERE idcuota =".$idcuota."
					";
    		echo $sql."<br>";
		    echo "entro 2";  
		    $result_1 = mysql_db_query($db, $sql, $con);
		    
		    //Insertar Cuota Pago
    		$sql = "INSERT cr_cuota_pago
    				( idcuota, idpago, idprestamo, monto ,fecharegistro,usuarioregistro)
					VALUES
					( '".$idcuota."','".$IdPago."','".$idPrestamo."','".$MontoCuotaPago."','".(date('Y-m-d H:i:s'))."','system')
					";
    		echo $sql."<br>";
		    echo "entro 3";    
		    $result_2 = mysql_db_query($db, $sql, $con);
		    
		    
		    $sql = "UPDATE cr_pago
    				SET 
    					calculado='1'
					WHERE IdPago =".$IdPago."
					";
    		echo $sql."<br>";
		    echo "entro 3";  
		    $result_3 = mysql_db_query($db, $sql, $con);
		   
    	}
    }
    if($restoPago > 0)procesoPagoCuota($db,$con,$idPrestamo,$IdPago,$restoPago);
}

function procesoCalculoPagoCuota($idPrestamo){
	
	$con = Conexion::getConexion();
      
	//Busco los pagos del prestamo
	$sql = "SELECT * 
			FROM cr_pago
			WHERE IdPrestamo=".$idPrestamo."
				 and calculado='-1' and MontoPago >0
			";
      
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    
    $num_rows = mysql_num_rows($result);
    if($num_rows>0){
    	while ($o_valor = mysql_fetch_object($result)) {
      		$IdPago 	= $o_valor->IdPago;
      		$MontoPago 	= $o_valor->MontoPago;
      		if($MontoPago > 0){
      			procesoPagoCuota(Conexion::getNameDb(),$con,$idPrestamo,$IdPago,$MontoPago);
      			
      		}
      		
    	}
    }
	
	
}


function conteoImpagosPrestamo($idPrestamo,$fechaDiaAbierto,$fechaVencimiento,$PeriodicidadPago){
	$con = Conexion::getConexion();
      
	//Busco los pagos del prestamo
	$sql = "SELECT cu.estado,cu.fecha
			FROM cr_cuota cu
			WHERE idprestamo ='".$idPrestamo."'
			order by fecha asc
			";
      echo $sql;
      //exit;
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    
    $num_rows = mysql_num_rows($result);
    $i_cuotas_impagos = 0;
    if($num_rows>0){
    	while ($o_valor = mysql_fetch_object($result)) {
      		if($o_valor->estado=="P" && $o_valor->fecha < $fechaDiaAbierto){
      			$i_cuotas_impagos++;	
      			$fecha = $o_valor->fecha;
      		}else{
      			continue;
      		}
    	}
    	
    	// Verificar tope por PeriodicidadPago
    	
    	//Busco los pagos del prestamo
		$sql = "SELECT diasvencidostope
				FROM cr_categoria_vencidias cv
				WHERE periodicidadpago ='".$PeriodicidadPago."'
				";
	      echo $sql;
	      //exit;
	    $result2 = mysql_db_query(Conexion::getNameDb(), $sql, $con);
	    $num_rows2 = mysql_num_rows($result2);
	    if($num_rows2>0){
	    	while ($o_valor2 = mysql_fetch_object($result2)) {
	      		$diasvencidostope = $o_valor2->diasvencidostope;
	    	}
	    }
	    if($idPrestamo==6663){ 
			//echo $i_cuotas_impagos."----------";
		}	
	    //if($i_cuotas_impagos == 0){
	    	$sql = "SELECT estado
					FROM cr_prestamo
					WHERE idprestamo ='".$idPrestamo."'
				";
		      echo $sql;
		      //exit;
		    $resultPP = mysql_db_query(Conexion::getNameDb(), $sql, $con);
		    $num_rowsPP = mysql_num_rows($resultPP);
		    if($num_rowsPP>0){
		    	while ($o_valorPP = mysql_fetch_object($resultPP)) {
		      		$estado = $o_valorPP->estado;
		    	}
		    }
	    //}
	    
	    
	    if($estado == "P"){
	    	if( $fechaVencimiento < $fechaDiaAbierto){
	    		//Calcular dias
				if($idPrestamo==6663){ 
					//echo $fecha."".$fechaDiaAbierto;
					//exit;
				}			
	    		$numeroDias = diferenciaDias($fecha,$fechaDiaAbierto);
	    		if($numeroDias > $diasvencidostope ){
	    			$i_cuotas_impagos = 99999;
	    		}
	    	}
	    }
    	
    	return $i_cuotas_impagos;
    }
}

function diferenciaDias($inicio, $fin)
{
	$inicio = strtotime($inicio);
	$fin = strtotime($fin);
	$dif = $fin - $inicio;
	$diasFalt = (( ( $dif / 60 ) / 60 ) / 24);
	return ceil($diasFalt);
}


function categorizarPrestamo($idPrestamo,$fechaDiaAbierto,$numeroImpagos){
	$con = Conexion::getConexion();
      
	//Busco los pagos del prestamo
	$sql = "SELECT *
			FROM cr_categoria_prestamo
			WHERE impagominimo <='".$numeroImpagos."'
			and impagomaximo >='".$numeroImpagos."'
			";
      echo $sql;
      //exit;
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    
    $num_rows = mysql_num_rows($result);
    
    if($num_rows>0){
    	while ($o_valor = mysql_fetch_object($result)) {
      			$idcategoria = $o_valor->idcategoria;
      			$codigo = $o_valor->codigo;
      			$descripcion = $o_valor->descripcion;
      			$peso = $o_valor->peso;
      			
      			$sql = "REPLACE cr_categoria_prestamolog
						(idprestamo,fecha,nombrecategoria,idcategoria,peso)
						values
						(
						 '".$idPrestamo."','".$fechaDiaAbierto."','".$descripcion."','".$idcategoria."','".$peso."')
					"	;
				echo $sql;
				$result_i = mysql_db_query(Conexion::getNameDb(), $sql, $con);	
				
				$sql = "UPDATE cr_prestamo
						set 
						nombrecategoria = '".$descripcion."',
						idcategoria = '".$idcategoria."'
						WHERE idprestamo = '".$idPrestamo."'
					"	;
				echo $sql;
				$result_ip = mysql_db_query(Conexion::getNameDb(), $sql, $con);
      		
    	}
    }
    
    
}

function cerrarCalculoPagosCero(){

	$con = Conexion::getConexion();
	
	$sql = "UPDATE cr_pago
			set calculado = '1'
			where MontoPago = 0
		"	;
	echo $sql;
	$result_ip = mysql_db_query(Conexion::getNameDb(), $sql, $con);
}

/*------------------------------------------------------------------------------------------------------------------*/

function listaCategoria($idCategoria=''){
	$con = Conexion::getConexion();
      
	//Busco los pagos del prestamo
	$sql = "SELECT *
			FROM cr_categoria_prestamo
			WHERE 1
			";
     // echo $sql;
      //exit;
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    
    $num_rows = mysql_num_rows($result);
    
    if($num_rows>0){
    	while ($o_valor = mysql_fetch_object($result)) {
      		$idcategoria = $o_valor->idcategoria;
      		$descripcion = $o_valor->descripcion;
      		$a_categoria[$idcategoria] = $descripcion;
	   	}
    	return $a_categoria;
    }
}

function listaCategoriaAll(){
	$con = Conexion::getConexion();
      
	//Busco los pagos del prestamo
	$sql = "SELECT *
			FROM cr_categoria_prestamo
			WHERE 1
			";
     // echo $sql;
      //exit;
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    
    $num_rows = mysql_num_rows($result);
    
    if($num_rows>0){
    	while ($o_valor = mysql_fetch_object($result)) {
      		$a_categoria[$o_valor->idcategoria] = $o_valor;
	   	}
    	return $a_categoria;
    }
}



/*------------------------------------------------------------------------------------------------------------------*/

function ultimoPrestamoCategoria($i_IdClie){
	
	$con = Conexion::getConexion();
	
	$o_ClienteBean = new ClienteBean();
    $o_ClienteBean->setIdCliente($i_IdClie);
    $o_class = new ClienteBL();
    $a_ObjectBean = $o_class->busquedaCliente($o_ClienteBean);
    $o_classDP = new ClienteDP($o_ClienteBean);
   	return $o_classDP->getUltimoPrestamoCancelado();
    
}

function depurarCuotaPrestamo($idPrestamo,$fechaVencimiento){
	$con = Conexion::getConexion();
	//Depurar PrestamoLog
	$sql = "DELETE FROM cr_categoria_prestamolog
			WHERE fecha not in (
					SELECT fecha
					FROM cr_cuota
					WHERE idprestamo ='".$idPrestamo."'
				) and idprestamo = $idPrestamo
				and fecha < '".$fechaVencimiento."'
			";
    //echo $sql;
      //exit;
    //$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
       
}

function pintarBarra($idPrestamo,$flageliminado=''){
	$oPrestamoBean = new PrestamoBean();
	$oPrestamoBean->setIdPrestamo($idPrestamo);
	$oPrestamoBean->setEliminado($flageliminado); 
	$oPrestamoDP = new PrestamoDP($oPrestamoBean);
	$a_oPrestamoDP = $oPrestamoDP->select();
	
	$oPrestamoBN = $a_oPrestamoDP[0];
	
	if(is_object($oPrestamoBN)){
    	$IdCategoria = $oPrestamoBN->getIdCategoria();
    	//print_r($oPrestamoBN);
    	$avance = $oPrestamoBN->getMontoTotal() - $oPrestamoBN->getSaldoPrestamo();
    	$porcAvance = round(($avance/$oPrestamoBN->getMontoTotal())*100,2);
    	//Color
    	
    	$con = Conexion::getConexion();
       
    	 $sql = "SELECT *
    			 FROM cr_categoria_prestamo
                WHERE idcategoria = '".$IdCategoria."'";
    	
       
        $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
        $num_rows = mysql_num_rows($result);
            
        $color = "#FFFFFF";
        $descripcion = "-";
        $codigo = "-";
        if($num_rows>0){
        	 while ($o_valor = mysql_fetch_object($result)) {
        	 	//print_r($o_valor);
    	      	$color = $o_valor->color;
    	      	$descripcion = $o_valor->descripcion;
    	      	$codigo = $o_valor->codigo;
    	      }
        }
	}else{
	    $color = "#ff0000";
	    $porcAvance = "Eliminado";
	    $descripcion="Eliminado";
	}
	
	?>
	<div class="marco_barra">
	    <div class="barra_avance" style="width: <?php echo $porcAvance;?>%;background: <?php echo $color;?>"><?php echo $codigo."&nbsp;-&nbsp;".$porcAvance ;?>%</div>
	</div><?php
}

function printHeaderPrestamo($a_o_Prestamo){
	if(is_array($a_o_Prestamo)){
		$id = $a_o_Prestamo[0]->getIdPrestamo();
		$IdCategoria = $a_o_Prestamo[0]->getIdCategoria();
		$NombreCategoria = $a_o_Prestamo[0]->getNombreCategoria();
		$FechaInicio = $a_o_Prestamo[0]->getFechaInicio();
		$FechaVencimiento = $a_o_Prestamo[0]->getFechaVencimiento();
		$CuotaPago = $a_o_Prestamo[0]->getCuotaPago();
		$IdCliente = $a_o_Prestamo[0]->getIdCliente();
		$MontoTotal= $a_o_Prestamo[0]->getMontoTotal();
		$numeroCuotas= $a_o_Prestamo[0]->getNroCuotas();
		$InteresMonto= $a_o_Prestamo[0]->getInteresMonto();
		$montoprestado= $a_o_Prestamo[0]->getMontoPrestado();
		$SaldoPrestamo= $a_o_Prestamo[0]->getSaldoPrestamo();
		$InteresPorcentaje= $a_o_Prestamo[0]->getInteresPorcentaje();
		$gastoAdministrativo= $a_o_Prestamo[0]->getGastoAdministrativo();
		$UsuarioCreacion= $a_o_Prestamo[0]->getUsuarioCreacion();
		$Clasificacion= $a_o_Prestamo[0]->getNombreCategoria();
		$Origen= $a_o_Prestamo[0]->getOrigen();
		$Estado= $a_o_Prestamo[0]->getEstado();
		
		$o_CrCategoriaPrestamologDP = new CrCategoriaPrestamologDP();
		$o_categoria = $o_CrCategoriaPrestamologDP->obtenerCategoria($IdCategoria);
			
		$o_ClienteBean = new ClienteBean();
		$o_ClienteBean->setIdCliente($IdCliente);
		$o_ClienteDP = new ClienteDP($o_ClienteBean);
		$a_prestamo = $o_ClienteDP->getUltimoPrestamoCancelado($id);
		$a_o_ClienteDP = $o_ClienteDP->select();
		
		
		
		$NombreCompleto = $a_o_ClienteDP[0]->getNombreCompleto();
		$IdMercado = $a_o_ClienteDP[0]->getIdMercado();
		
		$o_MercadoBean = new MercadoBean();
		$o_MercadoBean->setIdMercado($IdMercado);
		$o_MercadoDP = new MercadoDP($o_MercadoBean);
		$a_o_MercadoDP = $o_MercadoDP->select();
		
		$nombreMercado = $a_o_MercadoDP[0]->getDescripcion();
		
	    
	    //$a_prestamo = ultimoPrestamoCategoria($i_IdClie);
	    $IdCategoriaUC 	= $a_prestamo['idcategoria'];
	    $NombreCategoriaMax 	= $a_prestamo['nombrecategoria'];
	    $IdPrestamoUC 		= $a_prestamo['IdPrestamoUC'];
	    $o_categoriaUC = $o_CrCategoriaPrestamologDP->obtenerCategoria($IdCategoriaUC);
	    
	    ?>
	    <?php
                $s_Param = '';
                if( isset( $id ) )
                {
                    $s_Param = 'id='.$id;
                }
                ?>
				
			<table width="100%" border="1" cellspacing="0" cellpadding="3">
				<tr>
					<td colspan="2"><label class="label req">Nombre</label>:
					<label class="label"><?php echo $NombreCompleto;?>&nbsp;[<?php echo $IdCliente;?>]</label></td>
					<td><label class="label req">Mercado</label>:<label class="label"><?php echo $nombreMercado?></label></td>
					<td><label class="label req">Usr.Creac.</label>:<label class="label"><?php echo $UsuarioCreacion;?></label></td>
					
				</tr>
				<tr>
					<td><label class="label req">Prestamo</label>:
					<label class="label"><?php echo $id;?>&nbsp;[<?php if($Origen == "F") echo "Refinanciado"; else echo "Renovado";?>] - <? if($Estado == "C") echo "Cancelado";if($Estado == "P") echo "Pendiente"; ?></label></td>
					<td><label class="label  req">Numero de cuotas</label>:
					<label class="label"><?php echo $numeroCuotas;?></label></td>
					<td><label class="label  req">Categoria</label>:
					<label class="label"  style="<?php echo "color:".$o_categoria->color;?>"><?php echo $NombreCategoria;?></label></td>
					<td><label class="label  req">Categoria Maxima</label>:
					<label class="label"  style="<?php echo "color:".$o_categoriaUC->color;?>"><?php echo $NombreCategoriaMax;?></label></td>
				</tr>
				
				<tr>
					<td><label class="label  req">F.Inicio</label>:
					<label class="label"><?php echo $FechaInicio;?></label></td>
					<td><label class="label  req">F.Vencimiento</label>:
					<label class="label"><?php echo $FechaVencimiento;?></label></td>
					<td><label class="label req">Cuota Promedio</label>:
					<label class="label">S/.<?php echo $CuotaPago;?></label></td>
					<td><label class="label req">Gasto Administrativo</label>:
					<label class="label"><?php echo number_format($gastoAdministrativo,2);?></label></td>
					
				</tr>
				<tr>
					<td><label class="label req">Monto Prestado</label>:
					<label class="label">S/.<?php echo number_format($montoprestado,2);?></label></td>
					<td><label class="label  req">Interes</label>:
					<label class="label">S/.<?php echo number_format($InteresMonto,2);?>&nbsp;(<?=$InteresPorcentaje?>%)</label></td>
					<td><label class="label req">Monto Total</label>:
					<label class="label">S/.<?php echo number_format($MontoTotal,2);?></label></td>
					<td><label class="label  req">Saldo</label>:
					<label class="label">S/.<?php echo $SaldoPrestamo;?></label></td>
					
					
					
				</tr>
			</table>
	    <?php
	}
}

function grabar_reprogramacioncovid19($idSucursal,$idMercado,$fechaParo,$fechaReinicio,$idUsuario="system"){
	// --Si no hay cabcera grabada --> lectura de cr_prestamo
	$con = Conexion::getConexion();
	     
	$sql = "SHOW TABLES LIKE 'cr_cuota' ";
     
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
     
                 
    $iResultSave = $result;
    if($iResultSave > 0){
    	$permitir_modificar_cuota = 1;
    }
	$o_ObjectBean = new PrestamoBean();
	$tamanioPag = 9999;
	if($idMercado     	!= ""){
		 $o_ObjectBean->setIdMercado($idMercado);	 
	}
	$o_ObjectBean->setEstado("P");
	$o_ObjectBean->setFlagReporte("2");
	
	
	$o_ObjectBean->page = $page;
	$o_ObjectBean->tamPag = $tamanioPag;
	$o_ObjectBean->sortCampos = $sortCampos;
	$o_ObjectBean->sortType   = $sortType;
	 
	$o_class = new PrestamoBL();
	$a_ObjectBean = $o_class->busquedaPrestamo($o_ObjectBean);
	
	$o_crCovid19DP = new CrCovid19detalleDP();
	
	if(count($a_ObjectBean)>0){
          foreach ($a_ObjectBean as $iKey => $o_objBean){
          
            
            $idprestamo = $o_objBean->getIdPrestamo();
            $FechaInicio = $o_objBean->getFechaInicio();
            $FechaVencimiento = $o_objBean->getFechaVencimiento();
			$diferenciadias = diferenciaDates($o_objBean->getFechaVencimiento(),$fechaParo);
			$fechaNuevaVencimiento = date("Y-m-d",strtotime($fechaReinicio." ".$diferenciadias." days"));
			
            $difernciadiasCovid19 = diferenciaDates($fechaNuevaVencimiento,$o_objBean->getFechaVencimiento()); 
            
            $o_crCovid19DP->setIdsucursal($idSucursal); 
            $o_crCovid19DP->setIdmercado($idMercado); 
            $o_crCovid19DP->setIdprestamo($idprestamo);
			$o_crCovid19DP->setDiasdiferencia($diferenciadias);  
			$o_crCovid19DP->setFechavencimientoanterior($FechaVencimiento);
			$o_crCovid19DP->setFechavencimientonuevo($fechaNuevaVencimiento);
			$o_crCovid19DP->setUsuarioregistro($idUsuario);
          	$o_crCovid19DP->setFecharegistro(date("Y-m-d H:i:s"));
			$o_crCovid19DP->save();
			
			$o_ObjectPrestamoBean = new PrestamoBean();
			$o_ObjectPrestamoBean->setIdPrestamo($idprestamo);	 
			$o_ObjectPrestamoBean->setFechaVencimiento($fechaNuevaVencimiento);	 
			$o_ObjectPrestamoBean->setFechaModificacion(date("Y-m-d H:i:s"));	 
			$o_ObjectPrestamoBean->setUsuarioModificacion($idUsuario);
			$o_ObjectPrestamoDP = new PrestamoDP($o_ObjectPrestamoBean);
			$o_ObjectPrestamoDP->update();
			
		    if($permitir_modificar_cuota){
		    	$con = Conexion::getConexion(); 
		    	$sql_cuota = "
		    				UPDATE cr_cuota 
		    				SET fecha = DATE_ADD(fecha, INTERVAL ".$difernciadiasCovid19." DAY)
		    				WHERE idprestamo='".$idprestamo."' and fecha >= '".$fechaParo."'";
		    	
		    	$result_cuota = mysql_db_query(Conexion::getNameDb(), $sql_cuota, $con);
		    	
		        
		    }			
			
          } 
          $o_crCovid19CabDP = new CrCovid19cabeceraDP();
          $o_crCovid19CabDP->setIdsucursal($idSucursal);
          $o_crCovid19CabDP->setIdmercado($idMercado);
          $o_crCovid19CabDP->setUsuarioregistro($idUsuario);
          $o_crCovid19CabDP->setFecharegistro(date("Y-m-d H:i:s"));
          $o_crCovid19CabDP->save();
	  }
			
	
}

function diferenciaEntreFechas($fecha_principal, $fecha_secundaria, $obtener = 'SEGUNDOS', $redondear = false){
   $f0 = strtotime($fecha_principal);
   $f1 = strtotime($fecha_secundaria);
   if ($f0 < $f1) { $tmp = $f1; $f1 = $f0; $f0 = $tmp; }
   $resultado = ($f0 - $f1);
   switch ($obtener) {
       default: break;
       case "MINUTOS"   :   $resultado = $resultado / 60;   break;
       case "HORAS"     :   $resultado = $resultado / 60 / 60;   break;
       case "DIAS"      :   $resultado = $resultado / 60 / 60 / 24;   break;
       case "SEMANAS"   :   $resultado = $resultado / 60 / 60 / 24 / 7;   break;
   }
   if($redondear) $resultado = round($resultado);
   return $resultado;
}
$a_moneda['S'] = 'Soles (S/.)';
$a_moneda['D'] = 'Dolares ($)';