<?php

use_helper('UrlFunctions');
use_helper('UtilFunctions');
$o_ObjectBean = new PrestamoBean();

if(myUser::getUser()->getRoleId() != "sys.ope"){
	exit("NO PERMISOS");
}

//Correspondencia del usuario operador con el mercado
getPermisoColaboradorMercado(myUser::getUser()->getIdColaborador(),$cboMercado);

if(myUser::getUser()->getIdPadre() == '1' || myUser::getUser()->getRoleId() == "sys.ope"){
  	$o_ColaboradorBean_Temp = new ColaboradorBean();
  	$o_ColaboradorBean_Temp->setIdColaborador(myUser::getUser()->getIdColaborador()); 
  	$o_ColaboradorBL_Temp = new ColaboradorBL();
  	$o_ColaboradorBeanResult = $o_ColaboradorBL_Temp->busquedaColaborador($o_ColaboradorBean_Temp);
  	$idAdministrador = $o_ColaboradorBeanResult[0]->getIdPadre();
  	
 }elseif(myUser::getUser()->getIdPadre() == "A"){ //Todos los Padres Rol actualmente sys.gen y sys.view
 	//SIN FILTRO
 }else{
  	$idAdministrador = myUser::getUser()->getIdColaborador();
 }

 if($idAdministrador){
	$o_SucursalBean = new SucursalBean();
	$o_SucursalBean->setIdAdministrador($idAdministrador);
	$o_SucursalBL = new SucursalBL();
	$a_o_sucursal = $o_SucursalBL->busquedaSucursal($o_SucursalBean);
	//----------------------------------------------------
	
	$IdSucursal = $a_o_sucursal[0]->getIdSucursal();
	
 }
 
$o_BalanceDia = new BalanceDiaBean();
$o_BalanceDia->setIdSucursal($IdSucursal);
$o_BalanceDia->setIdAdministrador($idAdministrador);

$o_BalanceDiaDP = new BalanceDiaDP($o_BalanceDia);
$fecha = $o_BalanceDiaDP->ObtenerDiaAbierto();

if($control){
	
	getPermisoColaboradorMercado(myUser::getUser()->getIdColaborador(),$cboMercado);
	getPermisoColaborador(myUser::getUser()->getIdColaborador(),$IdcolaboradorTrx);
	
	if(is_array($txtMontoPago)){
		while(list($idPrestamo,$MontoPago) = each($txtMontoPago)){
			if($MontoPago){
				$id_pago_update ="";
				if($MontoPago == "0"){
					//Preguntar si esta registrado en ese dia un Pago
					$o_PagoBean = new PagoBean();
					$o_PagoBean->setIdPrestamo($idPrestamo);
					$o_PagoBean->setFechaPago($fecha);
					$o_PagoBL = new PagoBL();
					$a_o_pago = $o_PagoBL->busquedaPago($o_PagoBean);
					if(is_array($a_o_pago) && count($a_o_pago)){
						$permtir_reg_pago = "0";
					}else{
						$permtir_reg_pago = "1";
					}
				}else{
					$permtir_reg_pago = "1";
					$o_PagoBean = new PagoBean();
					$o_PagoBean->setIdPrestamo($idPrestamo);
					$o_PagoBean->setFechaPago($fecha);
					$o_PagoBL = new PagoBL();
					$a_o_pago = $o_PagoBL->busquedaPago($o_PagoBean);
					
					if(is_array($a_o_pago) && count($a_o_pago)){//Update del Pago
						foreach ($a_o_pago as $key => $o_pago) {
							if($o_pago->getMontoPago()== 0){
								$id_pago_update = $o_pago->getIdPago();
							}
						}
					}
				}
				if($permtir_reg_pago){
				    $MontoPago = abs($MontoPago);
					$o_PagoBean = new PagoBean();
					$o_PagoBean->setIdPrestamo($idPrestamo);
					$o_PagoBean->setMontoPago($MontoPago);
					$o_PagoBean->setFechaPago($fecha);
					$o_PagoBean->setUsuarioCreacion(myUser::getUser()->getUserId());
					$o_PagoBean->setIdColaborador(myUser::getUser()->getIdColaborador());
					$o_PagoBean->setFechaCreacion(date('Y-m-d H:i:s'));
					$o_PagoBL = new PagoBL();
					if($id_pago_update){
						$o_PagoBean->setIdPago($id_pago_update);
						$o_PagoBL->modificarPago($o_PagoBean);
					}else{
						$o_PagoBL->insertarPago($o_PagoBean);
					}
					
					//Actualizar el Saldo del Prestamo-----------------------
					
					$o_PrestamoBeanTemp = new PrestamoBean();
					$o_PrestamoBeanTemp->setIdPrestamo($idPrestamo);
					//$o_PrestamoBLTemp = new PrestamoBL();
					$o_PrestamoDP = new PrestamoDP($o_PrestamoBeanTemp);
				    $a_o_Prestamo = $o_PrestamoDP->select();
					foreach ($a_o_Prestamo as $key =>$o_Prestamo){
						$SaldoAnterior = $o_Prestamo->getSaldoPrestamo();
					}
					$o_PrestamoBean = new PrestamoBean();
					$o_PrestamoBean->setIdPrestamo($idPrestamo);
					$NuevoSaldo = $SaldoAnterior - $MontoPago;
					
					if($NuevoSaldo == 0){
						$o_PrestamoBean->setSaldoPrestamo("0.00");
						$o_PrestamoBean->setEstado("C");
						$o_PrestamoBean->setFechaCancelacion(date('Y-m-d H:i:s'));
						//Enviar correo
						
					}elseif($NuevoSaldo < 0){//Se cancelo con un monto mayor
						$NuevoSaldo = "0";
						$o_PrestamoBean->setSaldoPrestamo("0.00");
						$o_PrestamoBean->setEstado("C");
						$o_PrestamoBean->setFechaCancelacion(date('Y-m-d H:i:s'));
						//Enviar correo
											
						
					}else{//Descuento de saldo Normal
						$o_PrestamoBean->setSaldoPrestamo($NuevoSaldo);	
					}
					$o_PrestamoBL = new PrestamoBL();
					$o_PrestamoBL->modificarPrestamo($o_PrestamoBean);
				}
				//-------------------------------------------------------
			}
		}
	}
	
	exit(" <script language=\"JavaScript\">
      parent.objMainTab.reqBody('".buildUrl('ipa/list')."','&block=001&insert=1&idMercado=".$cboMercado."');
     </script>");
}

//COLOCAR CAMPOS DE LA CABECERA DEL LISTADO  

$o_MercadoBean = new MercadoBean();
$o_MercadoBean->setIdMercado($cboMercado);

$o_MercadoBL = new MercadoBL();
$a_o_mercado = $o_MercadoBL->busquedaMercado($o_MercadoBean);

foreach ($a_o_mercado as $key => $o_mercado){
	$Descripcion = $o_mercado->getDescripcion();
}

$o_ObjectBean->setIdMercado($cboMercado); 
$o_ObjectBean->setEstado("P");
//echo myUser::getUser()->getIdColaborador();
$o_ObjectBean->setIdColaboradorPrestamo(myUser::getUser()->getIdColaborador());

 
$o_class = new PrestamoBL();
$a_ObjectBean = $o_class->busquedaPrestamo($o_ObjectBean);

?>
<script>
	function VerificarSaldo(object,Saldo){
		Pago = parseFloat(object.value);
		if(parseFloat(Saldo) < Pago){
			alert('Pago invalido');
			return false;
		}
	}
</script>

<script type="text/javascript">
  validatePass = function(){
  	document.getElementById("btnGrabar").value = "Enviando...";
 
    document.getElementById("btnGrabar").disabled = true;;
    valid.onSubmit = false;
  }
</script>

<form id="form1" name="form1" method="POST" onsubmit="validatePass();" >
 <input type="hidden" name="control" value="1">
 <input type="hidden" name="cboMercado" value="<?=$cboMercado?>">
 <input type="hidden" name="Descripcion" value="<?=$Descripcion?>">
  <input type="hidden" name="IdcolaboradorTrx" value="<?=myUser::getUser()->getIdColaborador()?>">
    <table>
    	<tr>
    		<td><label class="label req">Mercado</label></td>
    		<td><label class="label">&nbsp;:&nbsp;<?=$Descripcion?></label></td>
    	</tr>
    </table>  
	<table class="marco" border="0" cellpadding="0" cellspacing="0" width="100%" >
        <tr>
          <td colspan="2">
            <table class="grid" width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size:16px">
              <tr height="23">
                <th width="4%" >No.</th>
			    <th width="20%" align="left">Cliente&nbsp;&nbsp;&nbsp;</th>
			    <!--<th width="4%" >F.Inicio</th>
				<th width="4%" >F.Vencim.</th>-->
				<th width="5%" >Capital &nbsp;&nbsp;&nbsp;</th>
               <!-- <th width="3%" >(%) &nbsp;&nbsp;&nbsp;</th>-->
                <th width="6%" >M. Total(S/.)</th>
               <!-- <th width="6%" >Cuota(S/.)</th>-->
                <th width="4%" >Saldo &nbsp;&nbsp;&nbsp;</th>
                
              
                <th width="5%" >Ing. Pago &nbsp;&nbsp;&nbsp;</th>
                <th width="5%" >Total</th>
               </tr>
              <? 
              $contador_prestamo_pagado = 0;
              if(count($a_ObjectBean)>0){ ?>
	              <?php 
	              $FOK = 1;
	              $s_color = "";
	              foreach ($a_ObjectBean as $iKey => $o_objBean){ 
	              	
	              	if($o_objBean->getFlagReporte() == "1" && $FOK == 1){
	              		?>
	              		<tr>
	              			<td height="40px" style="background:#ECECEC" colspan="6"><b>En Cartera de Morosos</b></td>
	              		</tr>
	              		<?php
	              		$s_color= "style='color:#ff6600'";
	              		$FOK++;
	              	}
	              	//Obtener la suma de los pagos realizados en el dia
	              	$suma_pago = 0;
	              	$o_Pago = new PagoBean();
	              	$o_Pago->setIdPrestamo($o_objBean->getIdPrestamo());
	              	$o_Pago->setEstado('P');
	              	$o_Pago->setFechaPago($fecha);
	              	$o_PagoBL = new PagoBL();
	              	$a_o_pagos = $o_PagoBL->busquedaPago($o_Pago);
	              	if(is_array($a_o_pagos)){
	              		foreach ($a_o_pagos as $key => $o_pago){
	              			$suma_pago += $o_pago->getMontoPago();
	              		}
	              	}
	              	if($suma_pago > 0){
	              		$contador_prestamo_pagado++; 
	              	}
	              	
	              	?>
	              <tr onClick="TR_click(this);" <?php if($suma_pago >0 ) echo "style='background:#99FFCC'"?>>
	                <td align="center" <?php echo $s_color?>><?=$o_objBean->getIdPrestamo()?></td>
	                <td align="left" <?php echo $s_color?>><?=$o_objBean->getObjectCliente()->getNombreCompleto()?></td>
	                <!--<td><?=$o_objBean->getFechaInicio()?></td>
	                <td><?=$o_objBean->getFechaVencimiento()?></td>  -->
					<td align="center"><?=$o_objBean->getMontoPrestado()?></td>
					<!--<td align="center"><?=$o_objBean->getInteresPorcentaje()?></td>-->
					<td align="center"><?=number_format($o_objBean->getMontoTotal(),2)?></td>
					<!--<td align="center"><?=$o_objBean->getCuotaPago()?></td>-->
					<td align="center"><?=$o_objBean->getSaldoPrestamo()?></td>
					<!-- <td nowrap="center"><input class="text" type="text" style="text-align:right;" name="txtMontoPago[<?=$o_objBean->getIdPrestamo()?>]" id="txtMontoPago[]" size="5" maxlength="5" align="right" onkeyup="return VerificarSaldo(this,'<?=$o_objBean->getSaldoPrestamo()?>');" <?php  echo "value='0.00'";?> style="font-size:16px"/></td> -->				
					<td nowrap="center"><input class="text" type="text" style="text-align:right;" name="txtMontoPago[<?=$o_objBean->getIdPrestamo()?>]" id="txtMontoPago[]" size="5" maxlength="5" align="right" onkeyup="return VerificarSaldo(this,'<?=$o_objBean->getSaldoPrestamo()?>');" <?php  echo "value='0.00'";?> style="font-size:16px" onkeypress="return acceptNum(event)"/></td>				
					<td align="right"><div  style="margin-right:10px"><?php $totalsuma_pago += $su>ma_pago;if($suma_pago > 0) echo number_format($suma_pago,2);else echo "";?></div></td>
					<input type="hidden" class="texth" value="<?=$o_objBean->getSaldoPrestamo()?>">
	              </tr>
	              <? } ?>
              <? }else{ ?>
              <tr>
                <td colspan="7" align="center">No se produjo resultado</td>
              </tr>
              <? } ?>
            </table>
          </td>
        </tr>
        <tr>
          <td>Total Registros: <?=count($a_ObjectBean)?></td>
          <td>Madici&oacute;n de Eficiencia de Pago : <b><?php if(count($a_ObjectBean)) echo round(($contador_prestamo_pagado/count($a_ObjectBean))*100,2)."%<br>"."Total Pago:".number_format($totalsuma_pago,2)?></b></td>
          
        </tr>
      </table>
      <table width="100%">
      	<tr>
      		<td align="right">
      		<input class="button" type="button" value="Cancelar" onclick="parent.objMainTab.reqBody('<?=buildUrl('ipa/list')?>','001')" />	
      		 <? if(count($a_ObjectBean)>0){ ?>
      			<input class="button" type="submit" name="btnGrabar"  id="btnGrabar" value="Grabar Pagos"><br><br>   		
      		<?php }?>	
      		</td>
        </tr>
      </table>	
      
</form>
<script type="text/javascript">
	function formCallback(result, form) {
		window.status = "valiation callback for form '" + form.id + "': result = " + result;
		var f = $$('.text');
	    var fh = $$('.texth');
	    
		for(var i=0; i<f.length; i++){
			var valor = parseFloat(f[i].value);
			var valorSaldo = parseFloat(fh[i].value);
			
			if(valor > 0){
				if(valor > valorSaldo){
					alert('Un pago no es valido para el saldo '+valorSaldo+' y pago '+valor);
					return false;
				}
			}
			
		}
		return true;
	}
	var valid = new Validation('form1', {immediate : true, onFormValidate : formCallback});
	
	
</script>
