<?php
/**
 * Clase FN para CrCierrehipotecaCFN
 *
 * @package    
 * @subpackage CrCierrehipotecaCFN
 * @author     Willy
 * @version    SVN:: CrCierrehipotecaCFN.class.php,v 1.1 2013-02-06 12:22:06 william.taype Exp $
 */
class CrCierrehipotecaCFN extends BaseCrCierrehipotecaCFN
{
	
	function obtenerDiaAbiertoHipoteca($IdSucursal){
		$fechaHipotecasInicial = Constantes::V_INICIO_BALANCE_HIPOTECAS;
               				
		$o_cierreDiaFN = new CrCierrehipotecaCFN();
		$o_cierreDiaFN->setIdsucursal($IdSucursal);
		if(!isset($sortCampos))$sortCampos= "Fecha";
		if(!isset($sortType))  $sortType ="2";
		$o_cierreDiaFN->sortCampos = $sortCampos;
		$o_cierreDiaFN->sortType   = $sortType;
		$o_cierreDiaFN->tamPag   = 1;
		$o_cierreDiaFN->page   = 1;
		$a_o_cierreDiaFN = $o_cierreDiaFN->select();
		//print_r($a_o_cierreDiaFN); 
		if(is_array($a_o_cierreDiaFN)){
			$i=1;
			foreach ($a_o_cierreDiaFN as $key => $o_cierreDiaFN){
				if($i == 1){
					$fechaHipotecasFinalLast = $o_cierreDiaFN->getFecha();
					$fechaAnterior = date('Y-m-d',strtotime($fechaHipotecasFinalLast .'- 1 days'));
				}
				if($i > Constantes::V_NUM_DIAS_OPEN )	{
					$fechaHipotecas = $fechaHipotecasFinalLast;
				}
				if($i > 1){
					$fechaHipotecasFinal = $o_cierreDiaFN->getFecha();	
					if($fechaAnterior !=  $fechaHipotecasFinal){
						$fechaHipotecas = date('Y-m-d',strtotime($fechaAnterior .'- 1 days'));;
						break;		
					}else{
						$fechaAnterior = date('Y-m-d',strtotime($fechaHipotecasFinal .'- 1 days'));
					}
				}
				$i++;	
				
			}
			$fechaHipotecas = date('Y-m-d',strtotime($fechaAnterior .'+ 1 days'));
		}else{
			$fechaHipotecas = date('Y-m-d',strtotime($fechaHipotecasInicial .'- 1 days'));
		}
		/*
		if($fechaHipotecas < $fechaHipotecasInicial){
			$fechaHipotecas = $fechaHipotecasFinalLast;
		}
		if(is_array($a_o_cierreDiaFN) && count($a_o_cierreDiaFN) == 1){
			return date('Y-m-d',strtotime($fechaHipotecasFinalLast .'+ 1 days'));
		}
		if(!$fechaHipotecas){
			$fechaHipotecas = $fechaHipotecasFinalLast;
		}
		*/
		//echo $fechaHipotecas."------";
		return date('Y-m-d',strtotime($fechaHipotecas .'+ 1 days'));
	}
	
	function ObtenerColaboradoresNewBalanceHipoteca($fechaHipoteca,$idAdministrador,$moneda){
		$con = Conexion::getConexion();
		$oLink = method_exists($con, 'getResource')?$con->getResource():$con;
		$a_ColaboradorResumen = null;
		//Seleccionar todos los colaboradores que no estan eliminados
		$where = "and idpadre = '".$idAdministrador."'";
		$where .= "and idrol = 'sys.ope'";
		
		$sql = "SELECT idcolaborador, concat(ApellidoPaterno,' ',ApellidoMaterno,', ',Nombres,'') as NombreCompleto
				FROM cr_colaborador 
				WHERE 1 and Eliminado <>1 ".$where;
		
		$resultC = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
		
		$num_rows = mysql_num_rows($resultC);
			$a_tmp = array();
			if($num_rows > 0){
				while ($o_valorC = mysql_fetch_object($resultC)) {
				  	$idcolaborador = $o_valorC->idcolaborador;
					$a_ColaboradorResumen[$idcolaborador]['NombreCompleto'] = $o_valorC->NombreCompleto;
					$a_ColaboradorResumen[$idcolaborador]['Moneda'] = $moneda;
					
					//Sumar todas las hipotecas de la fecha $fechaHipoteca
					$where = "and cr_credito_crono.idcolaborador = '".$idcolaborador."'";
					$where .= " and cr_credito_crono.fechatrx = '".$fechaHipoteca."'";
					$where .= " and moneda = '".$moneda."'";
					$where .= " and cr_credito_crono.eliminado = '-1'";
					
					$sql = "	SELECT sum(montocapital) as sumacapital, sum(gastoadministrativo) as sumagastoadministrativo
								FROM cr_credito_crono  
								WHERE 1 ".$where." ";
					//echo $sql;
					$result = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
					$num_rows = mysql_num_rows($result);
					$a_tmp = array();
					if($num_rows > 0){
						while ($o_valorH = mysql_fetch_object($result)) {
						  $a_ColaboradorResumen[$idcolaborador]['sumacapital'] = $o_valorH->sumacapital;
						  $a_ColaboradorResumen[$idcolaborador]['sumagastoadministrativo'] = $o_valorH->sumagastoadministrativo;
						}
					}
					
					$where = "and cr_credito_pago.idcolaborador = '".$idcolaborador."'";
					$where .= " and cr_credito_pago.fechatrx = '".$fechaHipoteca."'";
					$where .= " and moneda = '".$moneda."'";
					$where .= " and cr_credito_crono.eliminado = '-1'";
					$whereD .= 'and banco is null ';
					$sql = "	SELECT sum(montopago) as sumapago
								FROM cr_credito_pago 
								LEFT JOIN cr_credito_crono  on cr_credito_pago.idcreditocrono = cr_credito_crono.idcreditocrono 
								WHERE 1 ".$where." ".$whereD;
					//echo "Pago al contado prestamos con cronograma";
					//echo $sql."<br>";
					
					
					$result = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
					$num_rows = mysql_num_rows($result);
					$a_tmp = array();
					if($num_rows > 0){
						while ($o_valorPH = mysql_fetch_object($result)) {
						  $a_ColaboradorResumen[$idcolaborador]['sumapago'] = $o_valorPH->sumapago;
						}
					}
					//Pagos con Deposito
					$where .= 'and banco is not null';
					$sql = "	SELECT sum(montopago) as sumapago
								FROM cr_credito_pago 
								LEFT JOIN cr_credito_crono  on cr_credito_pago.idcreditocrono = cr_credito_crono.idcreditocrono 
								WHERE 1 ".$where." ";
					//echo "Pago con deposito prestamos con cronograma";
					//echo $sql."<br>";
					
					$result = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
					$num_rows = mysql_num_rows($result);
					$a_tmp = array();
					if($num_rows > 0){
						while ($o_valorPH = mysql_fetch_object($result)) {
						  $a_ColaboradorResumen[$idcolaborador]['sumapagoDep'] = $o_valorPH->sumapago;
						}
					}
					
					//Prestamos por interes			
					
					/*
					$wherepI = "and cr_prestamo_interespago.idcolaborador = '".$idcolaborador."'";
					$wherepI .= " and cr_prestamo_interespago.fechapago = '".$fechaHipoteca."'";
					$wherepI .= " and cr_prestamo_interespago.eliminado = '-1'";
					$wherepIB .= " and cr_prestamo_interespago.banco = ''";
					$wherepI .= " and moneda = '".$moneda."'";
				  	$sql = "SELECT  sum(montopago) as SumapagosPI 
				  			FROM cr_prestamo_interespago 
				  				
				  				LEFT JOIN cr_prestamo_interes ON cr_prestamo_interespago.idprestamo= cr_prestamo_interes.idprestamointeres
				  				LEFT JOIN cr_cliente ON cr_cliente.idcliente = cr_prestamo_interes.idcliente
								LEFT JOIN cr_mercado ON cr_cliente.IdMercado = cr_mercado.IdMercado
				            WHERE 1=1
				            ".$wherepI." ".$wherepIB."
				  			"
				  			;
				  	//echo "Pago al contado prestamos con interes";
				  	//echo $sql."<br>";
				  	$result1 = mysql_db_query(Conexion::getNameDb(), $sql, $con);
				  	if(mysql_num_rows($result1) > 0 ){
					  	while ($row = mysql_fetch_array($result1)){
					  		
					  		$a_ColaboradorResumen[$idcolaborador]['SumapagosPI'] += $row['SumapagosPI'];
					  	}
				  	}
				  	*/
				  	/*
				  	$wherepI .= " and banco <> ''";
				  	$sql = "SELECT  sum(montopago) as SumapagosPI 
				  			FROM cr_prestamo_interespago 
				  				
				  				LEFT JOIN cr_prestamo_interes ON cr_prestamo_interespago.idprestamo= cr_prestamo_interes.idprestamointeres
				  				LEFT JOIN cr_cliente ON cr_cliente.idcliente = cr_prestamo_interes.idcliente
								LEFT JOIN cr_mercado ON cr_cliente.IdMercado = cr_mercado.IdMercado
				            WHERE 1=1
				            ".$wherepI."
				  			"
				  			;
				  	//Pago con deposito prestamos con interes
				  	//echo "Pago con deposito prestamos con interes";
				  	//echo $sql."<br>";
				  	$result1 = mysql_db_query(Conexion::getNameDb(), $sql, $con);
				  	if(mysql_num_rows($result1) > 0 ){
					  	while ($row = mysql_fetch_array($result1)){
					  		
					  		$a_ColaboradorResumen[$idcolaborador]['sumapagoDep'] += $row['SumapagosPI'];
					  	}
				  	}
				  	*/
				  	//Prestamos por Interes
				  	/*
					$where = '';
			  	
				  	$where = " AND fechatrx = '".$fechaHipoteca."'";
				  	$where .= " AND cr_prestamo_interes.IdColaborador = '".$idcolaborador."'";
				  	$where .= " and moneda = '".$moneda."'";
				  	//Total de Prestamos por Mercado
				  	$sql = "
				  			SELECT cr_prestamo_interes.idcolaborador,MontoPrestado as sumacapitalPI
				      			FROM cr_prestamo_interes 
				      		  	LEFT JOIN cr_cliente ON cr_cliente.IdCliente = cr_prestamo_interes.IdCliente
								LEFT JOIN cr_mercado ON cr_cliente.IdMercado = cr_mercado.IdMercado
								
				              WHERE cr_prestamo_interes.Eliminado = '-1'
				            	 
				            ".$where."
				           
				  			"
				  	
				  			;
				  	//echo $sql;
				  	
				  	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
				  	
				  	while ($row = mysql_fetch_array($result)){
				  		
				  		
				  		$a_ColaboradorResumen[$idcolaborador]['sumacapitalPI'] += $row['sumacapitalPI'];
				  		
			  		}
			  		*/
			}
		}
		return $a_ColaboradorResumen;
	}
	
	public function ObtenerResumenDetalleMercado(){
  	
	  	$con = Conexion::getConexion();
		$oLink = method_exists($con, 'getResource')?$con->getResource():$con;
	  	
	  	//Prestamos por Cronograma
  		$fechaHipoteca = $this->getFecha();
  		$idcolaborador = $this->getIdColaborador();
  		$Moneda = $this->getMoneda();
		$a_ColaboradorResumen[$idcolaborador]['NombreCompleto'] = $o_valorC->NombreCompleto;
		//Sumar todas las hipotecas de la fecha $fechaHipoteca
		$where = "and cr_credito_crono.idcolaborador = '".$idcolaborador."'";
		$where .= " and fechatrx = '".$fechaHipoteca."'";
		$where .= " and moneda = '".$Moneda."'";
		$where .= " and cr_credito_crono.eliminado = '-1'";
		
		$sql = "	SELECT cr_mercado.IdMercado,cr_mercado.Descripcion,cr_credito_crono.idcreditocrono,cr_credito_crono.porcinteresmensual,cr_credito_crono.Estado,concat(cr_cliente.ApellidoPaterno,' ',cr_cliente.ApellidoMaterno,' ',cr_cliente.Nombres) as NombreCliente, Montocapital as Suma ,Origen,montointeres
					FROM cr_credito_crono  
					LEFT JOIN cr_cliente ON cr_cliente.IdCliente = cr_credito_crono.IdCliente
					LEFT JOIN cr_mercado ON cr_cliente.IdMercado = cr_mercado.IdMercado
					WHERE 1 ".$where." GROUP BY idcolaborador";
							
		$result = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
		$num_rows = mysql_num_rows($result);
		$a_tmp = array();
		if($num_rows > 0){
			while ($row = mysql_fetch_array($result)){
	  		
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['NombreCliente'] = $row['NombreCliente'];
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['PR'] = $row['Suma'];
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['TP'] = $row['Suma'];
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['ES'] = $row['Estado'];
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['OR'] = $row['Origen'];
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['PO'] = $row['porcinteresmensual'];
		  		$a_PrestamoMontoCrono[$row['Descripcion']][$row['IdPrestamoInteres']]['GA'] = $row['SumaGastoAdministrativo'];
		  		
		  	}
		}
		
		//Prestamos por Interes
		$where = '';
  	
	  	$where = " AND fechatrx = '".$this->getFecha()."'";
	  	$where .= " AND cr_prestamo_interes.IdColaborador = '".$this->getIdColaborador()."'";
	  	//Total de Prestamos por Mercado
	  	$sql = "
	  			SELECT cr_mercado.IdMercado,cr_mercado.Descripcion,cr_prestamo_interes.IdPrestamoInteres,cr_prestamo_interes.Estado,concat(cr_cliente.ApellidoPaterno,' ',cr_cliente.ApellidoMaterno,' ',cr_cliente.Nombres) as NombreCliente, MontoPrestado as Suma ,GastoAdministrativo as SumaGastoAdministrativo,Origen,interesmonto 	
	      			FROM cr_prestamo_interes 
	      		  	LEFT JOIN cr_cliente ON cr_cliente.IdCliente = cr_prestamo_interes.IdCliente
					LEFT JOIN cr_mercado ON cr_cliente.IdMercado = cr_mercado.IdMercado
					
	              WHERE cr_prestamo_interes.Eliminado = '-1'
	            	 
	            ".$where."
	  			"
	  	
	  			;
	  	//echo $sql;
	  	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
	  	
	  	while ($row = mysql_fetch_array($result)){
	  		
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['NombreCliente'] = $row['NombreCliente'];
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['PR'] = $row['Suma'];
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['TP'] = $row['Suma'];
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['ES'] = $row['Estado'];
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['OR'] = $row['Origen'];
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['PO'] = $row['interesmonto'];
	  		$a_PrestamoMontoInteres[$row['Descripcion']][$row['IdPrestamoInteres']]['GA'] = $row['SumaGastoAdministrativo'];
	  		
  		}
		
		$where = "and cr_credito_crono.idcolaborador = '".$idcolaborador."'";
		$where .= " and cr_credito_pago.fechatrx = '".$fechaHipoteca."'";
		$where .= " and cr_credito_crono.moneda = '".$Moneda."'";
		$where .= " and cr_credito_crono.eliminado = '-1'";
		//Pagos de Prestamos por Cronograma
		$sql = "	SELECT cr_cliente.IdMercado,cr_mercado.Descripcion,banco,sum(montopago) as Suma
					FROM cr_credito_pago
					LEFT JOIN cr_credito_crono on cr_credito_crono.idcreditocrono = cr_credito_pago.idcreditocrono
					LEFT JOIN cr_cliente on cr_cliente.IdCliente = cr_credito_crono.IdCliente
					LEFT JOIN cr_mercado on cr_mercado.IdMercado = cr_cliente.IdMercado
					WHERE 1 ".$where." GROUP BY cr_cliente.IdMercado,banco";
	
		//echo $sql;
		$result = mysql_db_query(Conexion::getNameDb(), $sql, $oLink);
		$num_rows = mysql_num_rows($result);
		$a_tmp = array();
		if($num_rows > 0){
			while ($row = mysql_fetch_array($result)){
		  		$a_PagosMonto[$row['IdMercado'].$row['banco']]['NombreMercado'] = $row['Descripcion'];
		  		$a_PagosMonto[$row['IdMercado'].$row['banco']]['PA'] 				= $row['Suma'];
		  		$a_PagosMonto[$row['IdMercado'].$row['banco']]['banco'] 				= $row['banco'];
		  		
		  	}
		}
		
		//Total de Pagos x Interes
		
		$wherepI = "and cr_prestamo_interespago.idcolaborador = '".$idcolaborador."'";
		$wherepI .= " and cr_prestamo_interespago.fechapago = '".$fechaHipoteca."'";
		$wherepI .= " and cr_prestamo_interes.moneda = '".$Moneda."'";
		$wherepI .= " and cr_prestamo_interespago.eliminado = '-1'";
		
	  	$sql = "SELECT cr_cliente.IdMercado,cr_mercado.Descripcion,sum(montopago) as Suma 
	  			FROM cr_prestamo_interespago 
	  				
	  				LEFT JOIN cr_prestamo_interes ON cr_prestamo_interespago.idprestamo= cr_prestamo_interes.idprestamointeres
	  				LEFT JOIN cr_cliente ON cr_cliente.idcliente = cr_prestamo_interes.idcliente
					LEFT JOIN cr_mercado ON cr_cliente.IdMercado = cr_mercado.IdMercado
	            WHERE 1=1
	            ".$wherepI."
	  			GROUP BY IdMercado,cr_mercado.Descripcion"
	  			;
	  	
	  	$result1 = mysql_db_query(Conexion::getNameDb(), $sql, $con);
	  	if(mysql_num_rows($result1) > 0 ){
		  	while ($row = mysql_fetch_array($result1)){
		  		$a_PagosMontoInteres[$row['IdMercado']]['NombreMercado'] = $row['Descripcion'];
		  		$a_PagosMontoInteres[$row['IdMercado']]['PAXI'] = $row['Suma'];
		  	}
	  	}
	  	
  		  	
	  	$a_ResuemnMonto['Pagos'] = $a_PagosMonto;
	  	$a_ResuemnMonto['Prestamos'] = $a_PrestamoMontoCrono;
	  	$a_ResuemnMonto['PagosInteres'] = $a_PagosMontoInteres;
	  	$a_ResuemnMonto['PrestamosInteres'] = $a_PrestamoMontoInteres;
	  	
	  	return $a_ResuemnMonto;
	  }
}