<?php


set_time_limit (3600 );

define('SF_ROOT_DIR', "/home/invergladi/public_html/gladis");
exit;
//define('SF_ROOT_DIR', "C://wamp/www/sinergia");
define('SF_APP',      'sys');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR."lib".DIRECTORY_SEPARATOR."functions".DIRECTORY_SEPARATOR."HelperHelper.php");
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config_core_compile.php');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'cache'.DIRECTORY_SEPARATOR.'config_autoload.php');


////////////////////////////////////////////////////////////////////////////////////////
//clases incluidas del sistema



$con = Conexion::getConexion();
$a_param = Conexion::getParamDbByAlias($apps);

if (!mysql_select_db($a_param['db'], $con)) {
    echo 'Could not select database';
    exit;
}



$fechaHoy=  date('Y-m-d');


$sql = "SELECT *
		FROM `cr_sucursal`
		WHERE 	`Eliminado` = '0'  ";
	
	//echo $sql;	
	//echo "<br>";			
$result_s = mysql_query($sql,$con);
$num_rows_s = mysql_num_rows($result_s);
				
if($num_rows_s > 0){
  while ($o_valor_s = mysql_fetch_object($result_s)) {
	$IdSucursal = $o_valor_s->IdSucursal;
	$IdAdministrador = $o_valor_s->IdAdministrador;
	$NombreSucursal = $o_valor_s->Descripcion;
	
	$sql = "SELECT *
			FROM `cr_balance_dia`
			WHERE 	`IdSucursal` = '".$IdSucursal."' 
					and FechaCierre = '".$fechaHoy."' ";
	echo $sql;	
	echo "<br>";
	$result_bd = mysql_query($sql,$con);
	
	//echo $result_bd;	
	//echo "c------<br>".$NombreSucursal;

	$num_rows_bd = mysql_num_rows($result_bd);
	
	echo $num_rows_bd;	
	echo "cccc<br>";
	$totalDia = 0;
	if($num_rows_bd == 0){
	
			$a_Colaborador = null;
			//echo "entro ......";
			
			$o_ColaboradorBean = new ColaboradorBean();
        	$o_ColaboradorBean->setIdPadre($IdAdministrador);
        	$o_ColaboradorBL = new ColaboradorBL();	
          	
          	$a_o_Colaborador = $o_ColaboradorBL->busquedaColaborador($o_ColaboradorBean);
        	if(is_array($a_o_Colaborador)){
        		foreach ($a_o_Colaborador as $key => $o_colaborador){
        			$a_Colaborador[] = $o_colaborador->getIdColaborador();
        		}
        	}
			
			//Cierre del Balance del dia
			$o_BalanceDiaNew = new BalanceDiaBean();
			$o_BalanceDiaNew->setIdColaboradorPermitido($a_Colaborador); 
			$o_BalanceDiaNew->setIdAdministrador($IdAdministrador); 
			$o_BalanceDiaNew->setIdSucursal($IdSucursal); 
			
			$o_ColaboradorAdmin = new ColaboradorBean();
			$o_ColaboradorAdmin->setIdColaborador($IdAdministrador);

			$o_ColaboradorAdminBL = new ColaboradorBL();
			$a_o_Colaborador = $o_ColaboradorAdminBL->busquedaColaborador($o_ColaboradorAdmin);
			foreach ($a_o_Colaborador as $key => $o_Colaborador){
				$NombreAdministrador = $o_Colaborador->getNombreCompleto();
			}


			$o_BalanceDiaNewDP 		= new BalanceDiaDP($o_BalanceDiaNew);
			$fechaBalanceAbierto  	= $o_BalanceDiaNewDP->ObtenerDiaAbierto();
			if($fechaBalanceAbierto <> $fechaHoy) exit;
			$a_ResumenColaborador 	= $o_BalanceDiaNewDP->ObtenerColaboradoresNewBalance($fechaBalanceAbierto);
			$totalDia = 0;
			if(is_array($a_ResumenColaborador)){
				foreach ($a_ResumenColaborador as $key => $a_ResesumenDiario) {
					$o_BalanceDiaSave = new BalanceDiaBean();
					$o_BalanceDiaSave->setIdSucursal($IdSucursal);
					$o_BalanceDiaSave->setNombreSucursal($NombreSucursal);
					$o_BalanceDiaSave->setFechaBalance($fechaBalanceAbierto);
					$o_BalanceDiaSave->setIdColaborador($a_ResesumenDiario['IdColaborador']);
					$o_BalanceDiaSave->setNombreColaborador($a_ResesumenDiario['NombreCompleto']);
					$o_BalanceDiaSave->setTotalCaja(round($a_ResesumenDiario['TotalCaja'],2));
					$o_BalanceDiaSave->setTotalPrestamos(round($a_ResesumenDiario['TotalPrestamo'],2));
					$o_BalanceDiaSave->setSaldoPrestamos(round($a_ResesumenDiario['TotalSaldo'],2));
					$o_BalanceDiaSave->setIndicePagos(round($a_ResesumenDiario['IndicePagos'],2));
					$o_BalanceDiaSave->setTotalPagos(round($a_ResesumenDiario['TotalPago']['PA'],2));
					$o_BalanceDiaSave->setTotalPagosMora(round($a_ResesumenDiario['TotalPago']['PAM'],2));
					$o_BalanceDiaSave->setTotalSobrantes(round($a_ResesumenDiario['TotalSobrantes'],2));
					$o_BalanceDiaSave->setTotalFaltantes(round($a_ResesumenDiario['TotalFaltantes'],2));
					$o_BalanceDiaSave->setTotalGastoAdministrativo(round($a_ResesumenDiario['TotalGastoAdmin'],2));
					$o_BalanceDiaSave->setTotalGastoMovilidad(round($a_ResesumenDiario['TotalGastoMovilidad'],2));
					$o_BalanceDiaSave->setFechaCreacion(date('Y-m-d H:i:s'));
					$o_BalanceDiaSave->setUsuarioCreacion('system');
					$Total += round($a_ResesumenDiario['TotalCaja'],2) + round($a_ResesumenDiario['TotalPago']['PA'],2)+ round($a_ResesumenDiario['TotalPago']['PAM'],2) - round($a_ResesumenDiario['TotalPrestamo'],2) + round($a_ResesumenDiario['TotalGastoAdmin'],2) + round($a_ResesumenDiario['TotalSobrantes'],2) - round($a_ResesumenDiario['TotalFaltantes'],2) - round($a_ResesumenDiario['TotalGastoMovilidad'],2);

					$o_BalanceDiaNewDP = new BalanceDiaDP($o_BalanceDiaSave);
					$o_BalanceDiaNewDP->save();
				}
				$o_BalanceDiaSave->setIdAdministrador($IdAdministrador);
				$o_BalanceDiaSave->setNombreAdministrador($NombreAdministrador);
				$o_BalanceDiaSave->setComentario($comentario);
				$o_BalanceDiaSave->setFechaCreacion(date('Y-m-d H:i:s'));
				$o_BalanceDiaSave->setUsuarioCreacion('system');
				$o_BalanceDiaSave->setSumaTotal($Total);
				$o_BalanceDiaNewDP = new BalanceDiaDP($o_BalanceDiaSave);
				$bResult = $o_BalanceDiaNewDP->saveHeader();								$Total = 0;
			}
			//Fin Cierre del Balance del dia
			if(date('w',strtotime($fechaBalanceAbierto)) == '0'){
				include("/public_html/sinergia/apps/op/modules/bdi/procesoRep.php");
			}else{
				$FFin = $o_BalanceDiaNewDP->FechaEstaSemanasResumen($fechaBalanceAbierto);
				if($FFin){
					$fechaBalanceAbierto = $FFin;
					
					include("/public_html/sinergia/apps/op/modules/bdi/procesoRep.php");
				}
			}
			
			//Cierre del Balnace General
			
			$o_BalanceGeneralNew = new BalanceGeneralBean();

			$o_BalanceGeneralNew->setIdAdministrador($IdAdministrador); 
			$o_BalanceGeneralNew->setNombreAdministrador($NombreAdministrador); 
			$o_BalanceGeneralNew->setIdSucursal($IdSucursal); 

			$o_BalanceGeneralNewDP 	= new BalanceGeneralDP($o_BalanceGeneralNew);
			$a_ResumenColaborador 	= $o_BalanceGeneralNewDP->ObtenerAdministradorNewBalance();
			$fechaBalanceAbierto  	= $o_BalanceGeneralNewDP->ObtenerDiaAbierto();


			//ObtenerColaboradoresNewBalance



			
			//Crear Objeto Balance General
			  $Total = 0;
			  if(is_array($a_ResumenColaborador)){
				foreach ($a_ResumenColaborador as $key => $a_ResesumenDiario) {
				  $o_BalanceGeneralSave = new BalanceGeneralBean();
				  $o_BalanceGeneralSave->setIdSucursal($IdSucursal);
				  $o_BalanceGeneralSave->setNombreSucursal($NombreSucursal);
				  $o_BalanceGeneralSave->setIdAdministrador($IdAdministrador);
				  $o_BalanceGeneralSave->setNombreAdministrador($NombreAdministrador);
				  $o_BalanceGeneralSave->setDescripcion($comentario);
				  $o_BalanceGeneralSave->setFecha($fechaBalanceAbierto);
				  
				  $o_BalanceGeneralSave->setNombreAdministrador($a_ResesumenDiario['NombreCompleto']);
				  $o_BalanceGeneralSave->setTotalAdelantoSueldo(round($a_ResesumenDiario['TotalAdelantoSueldo'],2));
				  $o_BalanceGeneralSave->setTotalBalanceDia(round($a_ResesumenDiario['TotalBalanceDia'],2));
				  $o_BalanceGeneralSave->setTotalIngreso(round($a_ResesumenDiario['TotalIngreso'],2));
				  $o_BalanceGeneralSave->setTotalGastoGeneral(round($a_ResesumenDiario['TotalGastoGeneral'],2));
				  $o_BalanceGeneralSave->setFechaCreacion(date('Y-m-d H:i:s'));
				  
				  $o_BalanceGeneralSave->setUsuarioCreacion('system');
				  $Total += round($a_ResesumenDiario['TotalAdelantoSueldo'],2)*(-1) + round($a_ResesumenDiario['TotalBalanceDia'],2) - round($a_ResesumenDiario['TotalGastoGeneral'],2) + round($a_ResesumenDiario['TotalIngreso'],2);
				  $o_BalanceGeneralSave->setTotal($Total);
				  $Total = 0;
				  $o_BalanceGeneralSaveDP = new BalanceGeneralDP($o_BalanceGeneralSave);
				  $bResult = $o_BalanceGeneralSaveDP->save();
				  
				  //OBTENER DATOS PARA TABLA PROMEDIO DE PRESTAMOS-------
				  
				  $o_PromedioPrestamo = new PromedioPrestamoBean();
				  $o_PromedioPrestamo->setFecha($fechaBalanceAbierto);
				  $o_PromedioPrestamo->setIdSucursal($IdSucursal);
				  $o_PromedioPrestamo->setFechaRegistro(date('Y-m-d H:i:s'));
				  $o_PromedioPrestamo->setUsuarioRegistro('system');
				  
				  $o_promedioDP = new PromedioPrestamoDP($o_PromedioPrestamo);
				  $o_promedioDP->save();
				  ///----------------------------------FIN-----------------
				  
				
				  
				}
			  }
			
			//Fin Cierre del Balnace General
			
			
		
	}
}  


}





exit;

