<?php
define('SF_ROOT_DIR', realpath(realpath('./../')));
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config_core_compile.php');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'functions'.DIRECTORY_SEPARATOR.'mensajes.php');

header("Content-type: application/json; charset=utf-8");

$content = trim(file_get_contents("php://input"));
 
$url_base = "http://www.jcyroperu.com";


//Attempt to decode the incoming RAW post data from JSON.
$decoded = json_decode($content, true);
 
$_POST = $decoded;

/*
$_POST['datos']['metodo'] 		= "validar_acceso";
$_POST['datos']['usuario'] 		= "admin.general";
$_POST['datos']['clave'] 		= "123";
$_POST['datos']['token'] 		= "89nm75nh788";
*/

/*
$_POST['datos']['metodo'] 		= "registrar_asistencia";
$_POST['datos']['idusuario'] 	= "admin.general";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*
$_POST['datos']['metodo'] 		= "cobranzas";
$_POST['datos']['idusuario'] 	= "centrolima";
//$_POST['datos']['codigo_cliente'] 		= "548";
$_POST['datos']['apellido_paterno'] 		= "";
$_POST['datos']['idmercado'] 		= "5";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*
$_POST['datos']['metodo'] 		= "pago";
$_POST['datos']['idusuario'] 		= "supervisor1";
$_POST['datos']['idcliente'] 		= "215";
$_POST['datos']['idprestamo'] 		= "3927";
$_POST['datos']['monto'] 		= "1.5";
$_POST['datos']['token'] 		= "89nm75nh788";
*/


/*
$_POST['datos']['metodo'] 		= "pedido_renovacion";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idprestamo'] 	= "88669";
$_POST['datos']['idcliente'] 	= "215";
$_POST['datos']['fecha_pedido'] = "2018-8-17";
$_POST['datos']['interes'] = "9";
$_POST['datos']['gastos_administrativos'] = "2.0";
$_POST['datos']['periodo'] 			= "D";
$_POST['datos']['duracion'] 		= "30";
$_POST['datos']['huella'] 		= "";
$_POST['datos']['token'] 		= "89nm75nh788";
$_POST['datos']['ubicacion_registro_latitud'] 		= "-12.0730443";
$_POST['datos']['ubicacion_registro_longitud'] 		= "-77.0502849";
$_POST['datos']['telefono_contacto'] 			= "999999996";
$_POST['datos']['comentario'] 			= "xxxxx";
$_POST['datos']['hora_atencion'] 			= "02:15";
*/


/*
$_POST['datos']['metodo'] 		= "generar_prestamo_sobre_pedido";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idpedido'] 	= "3";
$_POST['datos']['huella'] 		= "";
$_POST['datos']['ubicacion_registro_latitud'] 		= "-73.1125554";
$_POST['datos']['ubicacion_registro_longitud'] 		= "-73.5525554";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*
$_POST['datos']['metodo'] 		= "lista_pedidos";
$_POST['datos']['idusuario'] 		= "supervisor1";
$_POST['datos']['idcliente'] 		= "220";
//$_POST['datos']['idmercado'] 		= "2";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*
$_POST['datos']['metodo'] 		= "pago";
$_POST['datos']['idusuario'] 		= "centrolima";
$_POST['datos']['idcliente'] 		= "215";
$_POST['datos']['idprestamo'] 		= "3927";
$_POST['datos']['monto'] 		= "3.5";
$_POST['datos']['token'] 		= "89nm75nh788";
*/

/*
$_POST['datos']['metodo'] 		= "cobranzas";
$_POST['datos']['idusuario'] 		= "centrolima";
//$_POST['datos']['codigo_cliente'] 		= "548";
//$_POST['datos']['apellido_paterno'] 		= "";
//$_POST['datos']['idmercado'] 		= "";
$_POST['datos']['token'] 		= "89nm75nh788";
*/


/*
$_POST['datos']['metodo'] 		= "caja_tiempo_real";
$_POST['datos']['idusuario'] 		= "admin.general";
//$_POST['datos']['idsucursal'] 		= "1";
$_POST['datos']['token'] 		= "89nm75nh788";
*/

/*
$_POST['datos']['metodo'] 		= "estado_cuenta";
$_POST['datos']['idusuario'] 		= "centrolima";
$_POST['datos']['idprestamo'] 		= "534";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
						
					
/*
$_POST['datos']['metodo'] 		= "validar_acceso";
$_POST['datos']['usuario'] 		= "centrolima";
$_POST['datos']['clave'] 		= "123";
$_POST['datos']['token'] 		= "89nm75nh788";

*/
/*
$_POST['datos']['metodo'] 		= "registrar_asistencia";
$_POST['datos']['idusuario'] 		= "casablanca";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*
$_POST['datos']['metodo'] 		= "historial_prestamos";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idcliente'] 	= "206";
$_POST['datos']['token'] 		= "89nm75nh788";
*/


//$_POST['datos']['metodo'] 		= "cierre_caja";
//$_POST['datos']['idusuario'] 	= "supervisor1";
//$_POST['datos']['idusuario'] 	= "casablanca";

//$_POST['datos']['idmercado'] 	= "7";
//$_POST['datos']['token'] 		= "89nm75nh788";

/*
$_POST['datos']['metodo'] 		= "pedido";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idprestamo'] 	= "536";
$_POST['datos']['idcliente'] 	= "206";
$_POST['datos']['fecha_pedido'] 	= "2018-05-30";
$_POST['datos']['monto'] 		= "1000";
$_POST['datos']['gastos_administrativos'] 		= "20";
$_POST['datos']['interes'] 		= "10";
$_POST['datos']['hora_atencion'] 		= "1111";
$_POST['datos']['observacion'] 		= "2222";
$_POST['datos']['periodo'] 		= "D";
$_POST['datos']['duracion'] 		= "30";
$_POST['datos']['ubicacion_registro_latitud'] 		= "-73.1125554";
$_POST['datos']['ubicacion_registro_longitud'] 		= "-73.5525554";
$_POST['datos']['huella'] 		= "576576575757576575";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*

$_POST['datos']['metodo'] 		= "pedido_renovacion";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idprestamo'] 	= "3824";
$_POST['datos']['idcliente'] 	= "209";
$_POST['datos']['fecha_pedido'] = "2018-8-17";
$_POST['datos']['gastos_administrativos'] = "20";
$_POST['datos']['periodo'] 			= "D";
$_POST['datos']['duracion'] 		= "30";
$_POST['datos']['interes'] 		= "9";
$_POST['datos']['telefono_contacto'] 			= "999999996";
$_POST['datos']['comentario'] 			= "xxxxx";
$_POST['datos']['hora_atencion'] 			= "02:15";
$_POST['datos']['ubicacion_registro_latitud'] 		= "-12.0730443";
$_POST['datos']['ubicacion_registro_longitud'] 		= "-77.0502849";
$_POST['datos']['huella'] 		= "576576575757576575";
$_POST['datos']['token'] 		= "89nm75nh788";

*/
/*
$_POST['datos']['metodo'] 		= "pedido_renovacion";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idprestamo'] 	= "1302";
$_POST['datos']['idcliente'] 	= "220";
$_POST['datos']['fecha_pedido'] = "2018-05-30";
$_POST['datos']['monto_extra'] 		= "110";
$_POST['datos']['gastos_administrativos'] = "20";
$_POST['datos']['interes'] 				= "10";
$_POST['datos']['hora_atencion'] 		= "yyy";
$_POST['datos']['observacion'] 			= "xxxxx";
$_POST['datos']['periodo'] 			= "D";
$_POST['datos']['duracion'] 		= "30";
$_POST['datos']['ubicacion_registro_latitud'] 		= "-73.1125554";
$_POST['datos']['ubicacion_registro_longitud'] 		= "-73.5525554";
$_POST['datos']['huella'] 		= "576576575757576575";
$_POST['datos']['token'] 		= "89nm75nh788";
*/
/*
$_POST['datos']['metodo'] 		= "prestamo";
$_POST['datos']['idusuario'] 	= "centrolima";
$_POST['datos']['idprestamo'] 	= "536";
$_POST['datos']['idcliente'] 	= "206";
$_POST['datos']['monto'] 		= "1000";
$_POST['datos']['gastos_administrativos'] 		= "20";
$_POST['datos']['interes'] 		= "10";
$_POST['datos']['periodo'] 		= "D";
$_POST['datos']['duracion'] 		= "30";
$_POST['datos']['ubicacion_registro_latitud'] 		= "-73.1125554";
$_POST['datos']['ubicacion_registro_longitud'] 		= "-73.5525554";
$_POST['datos']['huella'] 		= "576576575757576575";
$_POST['datos']['token'] 		= "89nm75nh788";
*/

/*
$_POST['datos']['metodo'] 		= "clientes";
$_POST['datos']['idusuario'] 	= "centrolima";
//$_POST['datos']['idusuario'] 	= "supervisor1";
$_POST['datos']['idcliente'] 	= "220";
//$_POST['datos']['idmercado'] 	= "5";
$_POST['datos']['token'] 		= "89nm75nh788";
*/

if(!$_POST || !is_array($_POST) || count($_POST) == 0){
	$a_resultado['estado'] = "0";
	$a_resultado['mensaje'] = "Faltan datos";
	$a_respuesta["resultado"] = $a_resultado;
	print json_encode($a_respuesta);
	exit;
}


//Para cobranzas
//$j_datos = '{"datos":{"metodo":"cobranzas","idusuario":"centrolima","codigo_cliente":"","apellido_paterno":"janam","idmercado":"","token":"89nm75nh788yyghxz","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554"}}';
//$j_datos = '{"datos":{"metodo":"cobranzas","idusuario":"sup.sucursal","codigo_cliente":"","apellido_paterno":"","idmercado":"","token":"89nm75nh788yyghxz","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554"}}';
//$j_datos = '{"datos":{"metodo":"cobranzas","idusuario":"admin.sucursal","codigo_cliente":"","apellido_paterno":"janam","idmercado":"","token":"89nm75nh788yyghxz","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554"}}';


//Para pago
//$j_datos = '{"datos":{"metodo":"pago","idusuario":"sup.sucursal","idcliente":"215","idprestamo":"3795","monto":"30","token":"89nm75nh789788uhjyrt","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';
//$j_datos = '{"datos":{"metodo":"pago","idusuario":"centrolima","idcliente":"206","idprestamo":"3790","monto":"20","token":"89nm75nh789788uhjyrt","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';
//$j_datos = '{"datos":{"metodo":"pago","idusuario":"sup.sucursal","idcliente":"206","idprestamo":"3790","monto":"25","token":"89nm75nh789788uhjyrt","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';

//registrar_asistencia


//Para Renovacion y refinanciacion
//Operador
//el monto es el monto extra
//$j_datos = '{"datos":{"metodo":"refinanciacion","idusuario":"centrolima","idcliente":"206","gastos_administrativos":"20","idprestamo":"3681","interes":"10","periodo":"D","mora":"10","duracion":"30","token":"89nm75nh789788uhjyrttreoi","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';
//$j_datos = '{"datos":{"metodo":"renovacion","iduuario":"centrolima","idcliente":"215","gastos_administrativos":"20","idprestamo":"3795","monto":"500","interes":"10","periodo":"D","mora":"10","duracion":"30","token":"89nm75nh789788uhjyrttreoi","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';
//$j_datos = '{"datos":{"metodo":"refinanciacion","idusuario":"sup.sucursal","idcliente":"207","gastos_administrativos":"20","idprestamo":"536","interes":"10","periodo":"D","mora":"10","duracion":"30","token":"89nm75nh789788uhjyrttreoi","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';

//Para Prestamo
//Operador 
//el monto es el monto extra
//$j_datos = {"datos":{"metodo":"prestamo","idusuario":"centrolima","idcliente":"206","monto":"1000","gastos_administrativos":"20","interes":"10","periodo":"D","duracion":"30","token":"89nm75nh789788uhjyrttreoi","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';
//Supervisor de sucursal 
//$j_datos = {"datos":{"metodo":"prestamo","idusuario":"sup.sucursal","idcliente":"206","monto":"1000","gastos_administrativos":"20","interes":"10","periodo":"D","duracion":"30","token":"89nm75nh789788uhjyrttreoi","ubicacion_registro_latitud":"-73.1125554","ubicacion_registro_longitud":"-73.1125554","huella":"576576575757576575"}}';

//Para Historial de Prestamos
//$j_datos = {"datos":{"metodo":"historial_prestamos","idusuario":"centrolima","idcliente":"206","token":"89nm75nh789788uhjyrttreoi"}}';

//Para Presencia en el local
//$j_datos = {"datos":{"metodo":"registrar_presencia","idusuario":"centrolima","idprestamo":"536","idcliente":"206","ubicacion_registro_longitud":"-73.1125554","ubicacion_registro_latitud":"-.781125554","huella":"576576575757576575","token":"89nm75nh789788uhjyrttreoi"}}';

//Para listado de clientes
//$j_datos = {"datos":{"metodo":"clientes","idusuario":"centrolima","codigo_cliente":"","apellido_paterno":"Janampa","ubicacion_registro_longitud":"-73.1125554","ubicacion_registro_latitud":"-.781125554","huella":"576576575757576575","token":"89nm75nh789788uhjyrttreoi"}}';

//Insertar clientes
//$j_datos = '{"datos":{"metodo":"registrar_cliente","idusuario":"centrolima","idmercado":"2","nombres":"Jonas","apellido_paterno":"Zarate","apellido_materno":"Torres","dni":"08998778","fecha_nacimiento":"2018-01-10","estado_civil":"S","sexo":"F","tipo_negocio":"2","otrotipo_negocio":"","telefono":"497768788","direccion":"Av jose galvez 135 LA victoria","celular":"96677676","ubicacion_registro_longitud":"-73.1125554","ubicacion_registro_latitud":"-.781125554","huella":"576576575757576575","token":"89nm75nh789788uhjyrttreoi"}}';

$cadena_log = json_encode($_POST);

guardar_log($cadena_log);

$j_datos = $_POST;

//$o_datos_post = json_decode($j_datos);

$o_datos = $j_datos['datos'];

//Array de parametros de salida
$s_token 			= "89nm75nh788";



class array_sorter
{
    var $skey = false;
    var $sarray = false;
    var $sasc = true;

    /**
    * Constructor
    *
    * @access public
    * @param mixed $array array to sort
    * @param string $key array key to sort by
    * @param boolean $asc sort order (ascending or descending)
    */
    function array_sorter(&$array, $key, $asc=true)
    {
        $this->sarray = $array;
        $this->skey = $key;
        $this->sasc = $asc;
    }

    /**
    * Sort method
    *
    * @access public
    * @param boolean $remap if true reindex the array to rewrite indexes
    */
    function sortit($remap=true)
    {
        $array = &$this->sarray;
        uksort($array, array($this, "_as_cmp"));
        if ($remap)
        {
            $tmp = array();
            while (list($id, $data) = each($array))
                $tmp[] = $data;
            return $tmp;
        }
        return $array;
    }

    /**
    * Custom sort function
    *
    * @access private
    * @param mixed $a an array entry
    * @param mixed $b an array entry
    */
    function _as_cmp($a, $b)
    {
        //since uksort will pass here only indexes get real values from our array
        if (!is_array($a) && !is_array($b))
        {
            $a = $this->sarray[$a][$this->skey];
            $b = $this->sarray[$b][$this->skey];
        }

        //if string - use string comparision
        if (!ctype_digit($a) && !ctype_digit($b))
        {
            if ($this->sasc)
                return strcasecmp($a, $b);
            else
                return strcasecmp($b, $a);
        }
        else
        {
            if (intval($a) == intval($b))
                return 0;

            if ($this->sasc)
                return (intval($a) > intval($b)) ? -1 : 1;
            else
                return (intval($a) > intval($b)) ? 1 : -1;
        }
    }

}//end of class

function consultarAsistencia($idColaborador,$fechaAsistencia){
										
	$con = Conexion::getConexion();
    $sql = "SELECT *
            FROM cr_asistencia
            WHERE idcolaborador = '".$idColaborador."'
            AND  Fecha = '".$fechaAsistencia."'
            AND  eliminado = '-1'
            "
            ;
	//echo $sql;  	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
	
	
    $num_rows = mysql_num_rows($result);
	
	$a_filtro['idcolaborador'] = "";
	
	if($num_rows>0){
      return true;
      
    }
    return false;
}


function guardar_log($cadena_log){
	
	$con = Conexion::getConexion();
    $sql = "INSERT INTO 
            cr_wslog
            (idlog,cadena,fecharegistro)
            values
            (null,'".$cadena_log."',now())"
            ;
	//echo $sql;  	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
}




function getColaboradorxCliente($idcliente){
	//Para asignar el colaborador por el mercado donde esta asignado el idcliente
  	$o_ClienteBean = new ClienteBean();
  	$o_ClienteBean->setIdCliente($idcliente);
  	
  	$o_ClienteDP = new ClienteDP($o_ClienteBean);
  	$a_clientes = $o_ClienteDP->select();
  	if(is_array($a_clientes)){
  		foreach ($a_clientes as $key => $o_cliente){
  			$idMercado = $o_cliente->getIdMercado();
  		}
  	}
	
  	$o_MercadoRepresentanteBean = new MercadoRepresentanteBean();
  	$o_MercadoRepresentanteBean->setIdMercado($idMercado);
  	$o_MercadoRepresentanteDP = new MercadoRepresentanteDP($o_MercadoRepresentanteBean);
  	$a_MercadoRepresentante = $o_MercadoRepresentanteDP->select();
  	if(is_array($a_MercadoRepresentante)){
  		foreach ($a_MercadoRepresentante as $key => $o_MercadoRepresentante){
  			$IdColaborador = $o_MercadoRepresentante->getIdColaborador();
  		}
  	}
  	return $IdColaborador;

  	//
}

function multi_sort(&$array, $key, $asc=true)
{
    $sorter = new array_sorter($array, 'hora_registro', false);
    return $sorter->sortit();
}

function getFiltroCobranza($o_user,$fechaDiaAbierto,$idmercado=''){
	
	$a_filtro['idprestamos'] 	= '';
	$a_filtro['idcolaborador'] 	= '';
	
	
	$o_crColaboradorBean = new ColaboradorBean();
	$o_crColaboradorBean->setUsuario($o_user->getUserId());
	$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
	$a_o_crColaboradorDP = $o_crColaboradorDP->select();
	if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
		$a_filtro['idcolaborador'] = $a_o_crColaboradorDP[0]->getIdColaborador();
	}
	
	if($o_user->getUserRoleId() == "sys.sup"){ 
		if($idmercado) $where = "and idmercado = '".$idmercado."'";
		$con = Conexion::getConexion();
	    $sql = "SELECT idprestamo 
	            FROM cr_pr_asignar_detalle 
	            WHERE   fecha = '".$fechaDiaAbierto."' 
	            		and idcolaborador = '".$a_o_crColaboradorDP[0]->getIdColaborador()."'".
	    		$where;
	  	//echo $sql;
	    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
	    $num_rows = mysql_num_rows($result);
		
		$a_filtro['idcolaborador'] = "";
		
		if($num_rows>0){
	      while ($o_valor = mysql_fetch_object($result)) {
		      $a_idprestamos[] = $o_valor->idprestamo;
	      }
	      $a_filtro['idprestamos'] 	= $a_idprestamos;
	      
	    }
	    //print_r($a_idprestamos);

	}
	
	if($o_user->getUserRoleId() == "sys.res"){ 
		$a_filtro['idcolaborador'] = '';
	}
	
	return $a_filtro;
	
}

function is_valid_email($str)
{
  $matches = null;
  return (1 === preg_match('/^[A-z0-9\\._-]+@[A-z0-9][A-z0-9-]*(\\.[A-z0-9_-]+)*\\.([A-z]{2,6})$/', $str, $matches));
}

function sucursalMercado($o_user){
	if($o_user->getUserRoleId() == "sys.ope"){ 
		$IdColaborador			  	= $o_user->getIdColaborador();
		
		$IdAdministrador	  		= $o_user->getIdParent();
		$o_ObjectBean 	= new SucursalBean();
		if($IdAdministrador)		$o_ObjectBean->setIdAdministrador($IdAdministrador);
		
		$o_class 					= new SucursalBL();
		$a_ObjectBean 				= $o_class->busquedaSucursal($o_ObjectBean);
		
		if(count($a_ObjectBean)>0){
	    	foreach ($a_ObjectBean as $iKey => $o_objBean){
	    		$a_user['idsucursal'] = $o_objBean->getIdSucursal();
	    		$a_user['sucursal'] = $o_objBean->getDescripcion();
	    	}
	    }
	    $o_MercadoRepresentante = new MercadoRepresentanteBean();
		$o_MercadoRepresentante->setIdColaborador($IdColaborador);
		$o_MercadoRepresentanteBL = new MercadoRepresentanteBL();
		$a_o_repmer = $o_MercadoRepresentanteBL->busquedaMercadoRepresentanteDetalle($o_MercadoRepresentante);
		
		foreach ($a_o_repmer as $key => $o_repmer){
			
			
			$o_MercadoBean = new MercadoBean();
			$o_MercadoBean->setIdMercado($o_repmer->getIdMercado());
			$o_MercadoDP = new MercadoDP($o_MercadoBean);
			$a_MercadoDP = $o_MercadoDP->select();
			foreach ($a_MercadoDP as $key => $o_MercadoDP){
				$a_user['idmercado'] 	= $o_MercadoDP->getIdMercado();	
				$a_user['mercado'] 		= $o_MercadoDP->getDescripcion();	
			}
		}
		$a_idColaborador[] = $IdColaborador;
		$a_user['idcolaboradores'] 	= $a_idColaborador;
	}elseif($o_user->getUserRoleId() == "sys.res"){ // Detectar Sucursal y Mercado si es Administrador de Sucursal
		$IdAdministrador	  		= $o_user->getIdColaborador();
		
		$idPadre = $IdAdministrador;
		//Busco sus hijo
		$a_idColaborador[] = "x";
		$o_ColaboradorBean_Temp = new ColaboradorBean();
	  	$o_ColaboradorBean_Temp->setIdPadre($idPadre);
		$o_ColaboradorDP_Temp = new ColaboradorDP($o_ColaboradorBean_Temp);
		$a_o_idColaborador = $o_ColaboradorDP_Temp->select();
		if(is_array($a_o_idColaborador)){
			foreach($a_o_idColaborador as $key => $o_idColaborador){
				$a_idColaborador[] = $o_idColaborador->getIdColaborador();	
			}
		}
		
		
		$o_ObjectBean 				= new SucursalBean();
		$o_ObjectBean->setIdAdministrador($IdAdministrador);
				
		$o_class 					= new SucursalBL();
		$a_ObjectBean 				= $o_class->busquedaSucursal($o_ObjectBean);
		
		if(count($a_ObjectBean) > 0){
	    	foreach ($a_ObjectBean as $iKey => $o_objBean){
	    		$a_user['idsucursal'] = $o_objBean->getIdSucursal();
	    		$a_user['sucursal'] = $o_objBean->getDescripcion();
	    		$o_SucursalMercadoBean = new SucursalMercadoBean();
	    		$o_SucursalMercadoBean->setIdSucursal($o_objBean->getIdSucursal());
				$o_SucursalMercadoBL = new SucursalMercadoBL();
				$a_o_sucursalmercado = $o_SucursalMercadoBL->busquedaSucursalMercadoDetalle($o_SucursalMercadoBean);
				if(is_array($a_o_sucursalmercado)){
					foreach ($a_o_sucursalmercado as $key => $o_sucursalmercado){
						$a_IdMercados[] = $o_sucursalmercado->getIdMercado();
					}
				}
	    	}
	    }
		
		$a_user['mercado'] 		= "";
		$a_user['idmercado'] 	= "";
		$a_user['idsmercados'] 	= $a_IdMercados;
		$a_user['idcolaboradores'] 	= $a_idColaborador;
		
	}elseif($o_user->getUserRoleId() == "sys.sup"){ // Detectar Sucursal y Mercado si es Administrador de Sucursal
		$IdColaborador			  	= $o_user->getIdColaborador();
		
		$o_ColaboradorBean_Temp = new ColaboradorBean();
	  	$o_ColaboradorBean_Temp->setIdColaborador($IdColaborador);
		$o_ColaboradorDP_Temp = new ColaboradorDP($o_ColaboradorBean_Temp);
		$a_o_idColaborador = $o_ColaboradorDP_Temp->select();
		if(is_array($a_o_idColaborador)){
			foreach($a_o_idColaborador as $key => $o_idColaborador){
				$idPadre = $o_idColaborador->getIdPadre();	
			}
		}
		//Busco sus hijo
		$o_ColaboradorBean_Temp = new ColaboradorBean();
	  	$o_ColaboradorBean_Temp->setIdPadre($idPadre);
		$o_ColaboradorDP_Temp = new ColaboradorDP($o_ColaboradorBean_Temp);
		$a_o_idColaborador = $o_ColaboradorDP_Temp->select();
		if(is_array($a_o_idColaborador)){
			foreach($a_o_idColaborador as $key => $o_idColaborador){
				$a_idColaborador[] = $o_idColaborador->getIdColaborador();	
			}
		}
		
		
		$IdAdministrador	  		= $o_user->getIdParent();
		$o_ObjectBean 	= new SucursalBean();
		if($IdAdministrador)		$o_ObjectBean->setIdAdministrador($IdAdministrador);
		
		$o_class 					= new SucursalBL();
		$a_ObjectBean 				= $o_class->busquedaSucursal($o_ObjectBean);
		
		if(count($a_ObjectBean)>0){
	    	foreach ($a_ObjectBean as $iKey => $o_objBean){
	    		$a_user['idsucursal'] = $o_objBean->getIdSucursal();
	    		$a_user['sucursal'] = $o_objBean->getDescripcion();
	    		$o_SucursalMercadoBean = new SucursalMercadoBean();
	    		$o_SucursalMercadoBean->setIdSucursal($o_objBean->getIdSucursal());
				$o_SucursalMercadoBL = new SucursalMercadoBL();
				$a_o_sucursalmercado = $o_SucursalMercadoBL->busquedaSucursalMercadoDetalle($o_SucursalMercadoBean);
				if(is_array($a_o_sucursalmercado)){
					foreach ($a_o_sucursalmercado as $key => $o_sucursalmercado){
						$a_IdMercados[] = $o_sucursalmercado->getIdMercado();
					}
				}
	    	}
	    }
		$a_user['idmercado'] 	= "";
		$a_user['idsmercados'] 	= $a_IdMercados;
		$a_user['idcolaboradores'] 	= $a_idColaborador;
	}elseif($o_user->getUserRoleId() == "sys.gen"){									
		$a_user['sucursal'] = "";
		$a_user['mercado'] 	= "";
	}
	return $a_user;
}

function validarHuellaColaborador($idusuario,$huella){
	return true;
}
function validarHuellaCliente($idcliente,$huella){
	return true;
}

function mostrar_error($val,$mensaje){
	return $mensaje[$val];
}

function fechaDiaAbierto($idusuario){
	$o_crColaboradorBean = new ColaboradorBean();
	$o_crColaboradorBean->setUsuario($idusuario);
	
	$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
	$a_o_crColaboradorDP = $o_crColaboradorDP->select();
	
	if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
			$idColaborador 		= $a_o_crColaboradorDP[0]->getIdColaborador();
			$fechaDiaAbierto 	= $o_crColaboradorDP->getFechaTransaccion($idColaborador);
	}
	return $fechaDiaAbierto;
}

//if($a_token[$o_datos->metodo] ==  $o_datos->token)

	if($s_token == $o_datos['token'])
	{
		switch ($o_datos['metodo']){
			case "validar_acceso": 
					if(!$usuario){
						mostrar_error("USUARIO_VACIO",$mensaje);//HUELLA_INVALIDA	
					}
					$usuario 	= $o_datos['usuario'];
					$clave 		= $o_datos['clave'];
								
					$o_MyLoginValidator = new myLoginValidator();
			 
					$a_resultado['estado'] = "1";
					$a_resultado['mensaje'] = "";
					
					if(!$o_MyLoginValidator->execute($usuario, $clave)){
						$a_resultado['estado'] = "0";
						$a_resultado['mensaje'] = "Login fue rechazado";
						mostrar_error("LOGIN_",$mensaje);//HUELLA_INVALIDA	
						
					}else{
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
						
						$o_user = new user_class();
						
						if ($o_user->findUser($usuario)){
							$a_user['idusuario'] 		= $o_user->getUserId();
							$a_user['nombre_completo']  = $o_user->getUserName();
							$a_user['rol']  			= $o_user->getUserRoleId();
							//$a_user['idusuario']  		= $o_user->getIdColaborador();
							
							// Detectar Sucursal y Mercado si es asesor o Representante de cobranzas
							
							$a_SucursalMercado 	= sucursalMercado($o_user);
							$a_user["mercado"] 	= (string)$a_SucursalMercado["mercado"];
							$a_user["idmercado"]= (int)$a_SucursalMercado["idmercado"];
							$a_user["sucursal"] = (string)$a_SucursalMercado["sucursal"];
							$a_user["idsucursal"] = (string)$a_SucursalMercado["idsucursal"];
							
							$o_crColaboradorBean = new ColaboradorBean();
							$o_crColaboradorBean->setUsuario($o_user->getUserId());
							
							$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
							$a_o_crColaboradorDP = $o_crColaboradorDP->select();
							
							if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
								$idColaborador = $a_o_crColaboradorDP[0]->getIdColaborador();
								$fechatransaccion 	= $o_crColaboradorDP->getFechaTransaccion($idColaborador);
								$a_user['fecha_abierta'] 	= $fechatransaccion;
							}
							
							
							$flagAsistencia = consultarAsistencia($idColaborador,date('Y-m-d'));
							
							if($flagAsistencia){
								$a_user["registro_asistencia"] = 'S';
							}else{
								$a_user["registro_asistencia"] = 'N';
							}
							
														
							$a_resultado['usuario'] = $a_user;
						}
					}	
					 
				break;
			 
			 case "registrar_asistencia": 
			 	
					$idusuario 	= $o_datos['usuario'];
					$huella 	= $o_datos['huella'];
					
					
					if(validarHuellaColaborador($idusuario,$huella)){
					
				 		$o_crColaboradorBean = new ColaboradorBean();
						$o_crColaboradorBean->setUsuario($idusuario);
						
						$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
						$a_o_crColaboradorDP = $o_crColaboradorDP->select();
						
						if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
								$fechatransaccion = date('Y-m-d');
								$o_crColaboradorBN 	= $a_o_crColaboradorDP[0];
								$idColaborador 		= $o_crColaboradorBN->getIdColaborador();
								$HoraIngreso		= $o_crColaboradorBN->getHoraIngreso();
								$MinutoIngreso		= $o_crColaboradorBN->getMinutoIngreso();
								$HoraMinutoIngreso	= $HoraIngreso.":".$MinutoIngreso;
								$HoraMinutoActual	= date("H:i");
								
										
								//Validar si sera una [A]SISTENCIA o [T]ARDANZA
								//$o_asistenciaFNTemp->setTipoAsistencia('A');
								//$o_asistenciaFNTemp->setTipoAsistencia('T'); y colocar un monto de descuento
								
								$o_asistenciaFNTemp = new CrAsistenciaFN();
								$o_asistenciaFNTemp->setIdColaborador($idColaborador);
								//$o_asistenciaFNTemp->setTipoAsistencia('T');
								$o_asistenciaFNTemp->setEliminado('-1');
								//$o_asistenciaFNTemp->setFecha($fechatransaccion);
								$o_asistenciaFNTemp->setFecha(date('Y-m-d'));
								$a_o_asistenciaFNTemp = $o_asistenciaFNTemp->select();
								
								if(!is_array($a_o_asistenciaFNTemp) && count($a_o_asistenciaFNTemp) == 0){
								
								  $o_asistenciaDP = new CrAsistenciaDP();
								   
								  $o_asistenciaDP->setIdColaborador($idColaborador);
								  $o_asistenciaDP->setTipoAsistencia('A');
								  
								  if($HoraMinutoActual > $HoraMinutoIngreso){
								  	$o_asistenciaDP->setTipoAsistencia('T');
								  }
								  $o_asistenciaDP->setEstado('A');
								  
								  //$o_asistenciaDP->setFecha($fechatransaccion);
								  $o_asistenciaDP->setFecha(date('Y-m-d'));
								  
								  
								  $o_asistenciaDP->setUsuarioCreacion($idusuario);
								  $o_asistenciaDP->setFechaCreacion(date("Y-m-d H:i:s"));
								  $bResult = $o_asistenciaDP ->save();
								  if($bResult){
								  	$a_resultado['estado'] = "1";
									$a_resultado['mensaje'] = "Exito";
								  }
								
								}else{
									$a_resultado['estado'] = "10";
									$a_resultado['mensaje'] = "Fallo el registro, ya esta registrado para la fecha ".$fechatransaccion;
								}
							}
					}else{
						mostrar_error("HUELLA_INVALIDA",$mensaje);//HUELLA_INVALIDA
					}
					
		 		    break;
		 		
		 		//Las cobranzas la realizara el supervisor de sucursal o el operador
		 		case "cobranzas": 
		 				$ruta = "/images/uploadFiles/";
		 				
		 				 // Foto de Negocio
		 				 $i_IdTipoFile = "8";
		 				
		 				 $o_ObjectFN_TN = new Cr_cliente_fileFN();
    					 $o_ObjectBN_TN = $o_ObjectFN_TN->selectByPK( $i_IdTipoFile );
    					 
    					 if( $o_ObjectBN_TN)
						{
						    $s_NombreFile = $o_ObjectBN_TN->getNombreFile();
						    $s_Destino_Negocio = $ruta.$s_NombreFile;
						}
		 				
						 // Foto de Negocio
		 				 $i_IdTipoFile = "6";
		 				
		 				 $o_ObjectFN_TC = new Cr_cliente_fileFN();
    					 $o_ObjectBN_TC = $o_ObjectFN_TC->selectByPK( $i_IdTipoFile );
    					 
    					 if( $o_ObjectBN_TC )
						{
						    $s_NombreFile = $o_ObjectBN_TC->getNombreFile();
						    $s_Destino_Domicilio = $ruta.$s_NombreFile;
						}
		 				
						
		 				$idusuario 			= $o_datos['idusuario'];
		 				
		 				$idsucursal 		=  $o_datos['idsucursal'];
		 				$idmercado	 		=  $o_datos['idmercado'];
		 			
		 				$codigo_cliente 	= $o_datos['codigo_cliente'];
		 				$apellido_paterno 	= $o_datos['apellido_paterno'];

		 					 				
		 				if($idusuario){
		 					$fechaDiaAbierto = fechaDiaAbierto($idusuario);
		 					
							$o_user 		= new user_class();
		 					if ($o_user->findUser($idusuario)){
		 						
								$a_SucursalMercado 	= sucursalMercado($o_user);
								
								/*
								echo "<pre>";
								
								print_r($a_SucursalMercado);
								echo "</pre>";
								*/
								
								if(!$idmercado) $a_resultado["idmercado"] 	= (string)$a_SucursalMercado["idmercado"];
								//$a_resultado["idsmercados"] = $a_SucursalMercado["idsmercados"];
								$a_resultado["idsucursal"] 	= $a_SucursalMercado["idsucursal"];	 						
								
								
										
		 						//Saldran todos los prestamos Pendientes y que no son marcados con Mora
								$o_ObjectBean = new PrestamoBean();
								$o_ObjectBean->setEstado("P");
								if($a_resultado["idsmercados"]   	!="") 	$o_ObjectBean->setFiltroMercado($a_resultado["idsmercados"]);
								if($a_resultado["idmercado"]   	!="") 	$o_ObjectBean->setIdMercado($a_resultado["idmercado"]);
								
								$a_filtroCobranza = getFiltroCobranza($o_user,$fechaDiaAbierto,$idmercado);
								
								/*echo "<pre>";
								
								print_r($a_filtroCobranza);
								echo "</pre>";
									*/						
								if($a_filtroCobranza["idcolaborador"])	$o_ObjectBean->setIdColaboradorPrestamo($a_filtroCobranza["idcolaborador"]);
								if($a_filtroCobranza["idprestamos"]){
									$o_ObjectBean->setIdsPrestamos($a_filtroCobranza["idprestamos"]);
								}else{
									if($o_user->getUserRoleId() == "sys.sup"){
										$a_filtroCobranza["idprestamos"] = array('9999'=>9999999);
										$o_ObjectBean->setIdsPrestamos($a_filtroCobranza["idprestamos"]);
									}
								}
								
								if($codigo_cliente   			!="")	$o_ObjectBean->setIdCliente($codigo_cliente); 
							  	if($apellido_paterno 			!="")	$o_ObjectBean->setApellidoPaterno(utf8_decode($apellido_paterno));
								
							  	//$o_ObjectBean->setFlagReporte('2');
							  	
								$o_class = new PrestamoBL();
								$a_ObjectBean = $o_class->busquedaPrestamo($o_ObjectBean);
							
								if(count($a_ObjectBean)>0){
									$i = 1;
							    	foreach ($a_ObjectBean as $iKey => $o_objBean){
							    	
							    		$a_clientes[$o_objBean->getIdCliente()]["nombre_completo"] 	= (string)utf8_encode(ucwords(mb_strtolower ($o_objBean->getObjectCliente()->getNombres()." ".$o_objBean->getObjectCliente()->getApellidoPaterno()." ".$o_objBean->getObjectCliente()->getApellidoMaterno())));
							    		$a_clientes[$o_objBean->getIdCliente()]["sexo"] 		= (string)$o_objBean->getObjectCliente()->getSexo();
							    		$a_clientes[$o_objBean->getIdCliente()]["telefono"] 		= (string)$o_objBean->getObjectCliente()->getTelefono();
							    		$a_clientes[$o_objBean->getIdCliente()]["celular"] 			= (String)$o_objBean->getObjectCliente()->getCelular();
							    		$a_clientes[$o_objBean->getIdCliente()]["direccion"] 		= (string)$o_objBean->getObjectCliente()->getDireccion();
							    		$a_clientes[$o_objBean->getIdCliente()]["gasto_administrativo"] 	= (string)$o_objBean->getObjectCliente()->getGastoAdministrativoPorcentaje();
							    		$a_clientes[$o_objBean->getIdCliente()]["ruta_foto_negocio"]	= (string)$url_base.$s_Destino_Negocio;
							    		$a_clientes[$o_objBean->getIdCliente()]["ruta_foto_domicilio"]	= (string)$url_base.$s_Destino_Domicilio;
							    		$a_clientes[$o_objBean->getIdCliente()]["ubicacion_domicilio_longitud"]	= (string)$o_objBean->getObjectCliente()->getLongitudDomicilio();
							    		$a_clientes[$o_objBean->getIdCliente()]["ubicacion_domicilio_latitud"]	= (string)$o_objBean->getObjectCliente()->getLatitudDomicilio();;
							    		$a_clientes[$o_objBean->getIdCliente()]["ubicacion_negocio_longitud"]	= (string)$o_objBean->getObjectCliente()->getLongitudNegocio();;
							    		$a_clientes[$o_objBean->getIdCliente()]["ubicacion_negocio_latitud"]	= (string)$o_objBean->getObjectCliente()->getLatitudNegocio();
							    		$a_clientes[$o_objBean->getIdCliente()]["idcliente"] 		= $o_objBean->getIdCliente();
							    		$a_clientes[$o_objBean->getIdCliente()]["semaforo"] 		= (string)$o_objBean->getSemaforo();
							    		
							    		
						    			$o_PrestamoDPT = new PrestamoDP(new PrestamoBean());
						    			$cobro_realizado = $o_PrestamoDPT->getTotalDiaAbierto($o_objBean->getIdPrestamo(),$fechaDiaAbierto);
						    			
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['idprestamo'] 			= (int)$o_objBean->getIdPrestamo();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['monto_total'] 		= (float)$o_objBean->getMontoTotal();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['capital'] 			= (float)$o_objBean->getMontoPrestado();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['monto_interes']		= (float)$o_objBean->getInteresMonto();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['saldo']				= (float)$o_objBean->getSaldoPrestamo();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['monto_interes']		= (float)$o_objBean->getInteresPorcentaje();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['gasto_administrativo']= (float)$o_objBean->getGastoAdministrativo();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['fecha_prestamo']		= (string)$o_objBean->getFechaInicio();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['fecha_vencimiento']	= (string)$o_objBean->getFechaVencimiento();	
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['estado']				= (string)$o_objBean->getEstado();	
						    			
						    			if($o_objBean->getOrigen() == "R"){
						    				$cadena_origen = "Nuevo";
						    			}elseif($o_objBean->getOrigen() == "F" && $o_objBean->getMontoExtra() >0){
						    				$cadena_origen = "Renovado"; 
						    			}elseif($o_objBean->getOrigen() == "F"){
						    				$cadena_origen = "Refinanciado"; 
						    			}
						    			
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['origen']				= (string)$cadena_origen;	
						    			
						    			$a_prestamo[$o_objBean->getIdCliente()][$o_objBean->getIdPrestamo()]['cobro_realizado']		= (float)$cobro_realizado;	//Suma de los cobros del dia del prestamo
						    			
							    		$a_clientes[$o_objBean->getIdCliente()]['prestamo'] = $a_prestamo[$o_objBean->getIdCliente()];
							    		$i++;
							    		
							    	}
							    	$a_resultado['clientes'] 		= $a_clientes;		
							    }else{
							    	$a_resultado = mostrar_error("NO_EXISTEN_PRESTAMOS",$mensaje);
							    }
							    
						    }else{
						    	$a_resultado['estado'] = "3";
								$a_resultado['mensaje'] = "Token No valido";	
						    }
	
		 				}else{
		 					$a_resultado['estado'] = "4";
							$a_resultado['mensaje'] = "No existe el usuario";
		 				}
		 		 
		 		 break;
		 		 case "pago":
		 		 	$idusuario 			= $o_datos['idusuario'];
		 			$idcliente 			= $o_datos['idcliente'];
		 			$monto 				= $o_datos['monto'];
		 			$idprestamo			= $o_datos['idprestamo'];
		 			$permitir_trx 		= 1;		 		
		 			if($idusuario){
						if($idcliente){
							
							//////////////////////////////////////////7
							$o_crClienteBean = new ClienteBean();
							$o_crClienteBean->setIdCliente($idcliente);
							
							$o_clienteDP = new ClienteDP($o_crClienteBean);
							$a_o_clienteDP = $o_clienteDP->select();
							
							if(is_array($a_o_clienteDP) && count($a_o_clienteDP)){
								
								$o_ClienteBN 	= $a_o_clienteDP[0];
								$Correo 		= $o_ClienteBN->getCorreo();
								
								
							}
							
							///////////////////////////////////////////////
							
							$o_crColaboradorBean = new ColaboradorBean();
							$o_crColaboradorBean->setUsuario($idusuario);
							
							$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
							$a_o_crColaboradorDP = $o_crColaboradorDP->select();
							
							if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
								
								$o_crColaboradorBN 	= $a_o_crColaboradorDP[0];
								$idColaborador 		= $o_crColaboradorBN->getIdColaborador();
								
								$fechaDiaAbierto = fechaDiaAbierto($idusuario);
								
								$o_PrestamoBeanTemp = new PrestamoBean();
								$o_PrestamoBeanTemp->setIdPrestamo($idprestamo);
								
								$o_PrestamoDP = new PrestamoDP($o_PrestamoBeanTemp);
								$a_o_Prestamo = $o_PrestamoDP->select();
								if(is_array($a_o_Prestamo)){
									foreach ($a_o_Prestamo as $key =>$o_Prestamo){
										$SaldoAnterior = $o_Prestamo->getSaldoPrestamo();
										$IdColaboradorPrestamo = $o_Prestamo->getIdColaborador();
										$EstadoPrestamo = $o_Prestamo->getEstado();
									}
								}else{
									$a_resultado['estado'] = "5";
									$a_resultado['mensaje'] = "Fallo, el codigo del prestamo no existe";					
									$permitir_trx = 0; 
								}
																
								if($EstadoPrestamo == "C"){
									$a_resultado['estado'] = "2";
									$a_resultado['mensaje'] = "Fallo, no se puede ingresar un pago al prestamo ".$idprestamo." porque esta Cancelado.";
									$permitir_trx = 0;
								}elseif($monto > $SaldoAnterior){
									$a_resultado['estado'] = "4";
									$a_resultado['mensaje'] = "Fallo, el monto ingresado es mayor al Saldo";					
									$permitir_trx = 0; 
								}
								
								if($permitir_trx){
									$id_pago_update = "";
									$o_PagoBean = new PagoBean();
									$o_PagoBean->setIdPrestamo($idprestamo);
									$o_PagoBean->setFechaPago($fechaDiaAbierto);
									$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();
											}
										}
									}
									
									$o_PagoBean = new PagoBean();
									$o_PagoBean->setIdPrestamo($idprestamo);
									$o_PagoBean->setRegistroLatitud($ubicacion_registro_latitud);
									$o_PagoBean->setRegistroLongitud($ubicacion_registro_longitud);
									$o_PagoBean->setMontoPago($monto);
									$o_PagoBean->setFechaPago($fechaDiaAbierto);
									$o_PagoBean->setUsuarioCreacion($idusuario);
									$o_PagoBean->setIdColaborador($IdColaboradorPrestamo);
									$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_PrestamoBean = new PrestamoBean();
									$o_PrestamoBean->setIdPrestamo($idprestamo);
									$NuevoSaldo = $SaldoAnterior - $monto;
									
									if($NuevoSaldo == 0){
										$o_PrestamoBean->setSaldoPrestamo("0.00");
										$o_PrestamoBean->setEstado("C");
										$o_PrestamoBean->setFechaCancelacion(date('Y-m-d H:i:s'));
										
									}elseif($NuevoSaldo < 0){//Se cancelo con un monto mayor
										$NuevoSaldo = "0";
										$o_PrestamoBean->setSaldoPrestamo("0.00");
										if($SaldoMoraAnterior == 0){
											$o_PrestamoBean->setEstado("C");
											$o_PrestamoBean->setFechaCancelacion(date('Y-m-d H:i:s'));
										}
										
										
									}else{//Descuento de saldo Normal
										$o_PrestamoBean->setSaldoPrestamo($NuevoSaldo);	
									}
									
									$o_PrestamoBL = new PrestamoBL();
									$bResult = $o_PrestamoBL->modificarPrestamo($o_PrestamoBean);		
									if($bResult){
										/***/
										if($Correo){
										
											
											$mail = new PHPMailer();
										
											//Luego tenemos que iniciar la validación por SMTP:
											$mail->CharSet = "UTF-8";
											$mail->isSMTP();
											$mail->SMTPAuth = true;
											$mail->Host = "mail.sinergiaperu.com"; // A RELLENAR. Aquí pondremos el SMTP a utilizar. Por ej. mail.midominio.com
											$mail->Username = "sistemas@sinergiaperu.com"; // A RELLENAR. Email de la cuenta de correo. ej.info@midominio.com La cuenta de correo debe ser creada previamente. 
											$mail->Password = "py[58RZuqVIj"; // A RELLENAR. Aqui pondremos la contraseña de la cuenta de correo
											//$mail->Port = 465; // Puerto de conexión al servidor de envio. 
											$mail->From = "sistemas@sinergiaperu.com"; // A RELLENARDesde donde enviamos (Para mostrar). Puede ser el mismo que el email creado previamente.
											$mail->FromName = "Sinergia"; //A RELLENAR Nombre a mostrar del remitente. 
											$mail->AddAddress("msotomayor@dataexe.com"); // Esta es la dirección a donde enviamos 
											if(is_valid_email($Correo)){
												$mail->AddAddress($Correo); // Esta es la dirección a donde enviamos 
											}else{
												$msg = "Correo no valido";
											}
											$mail->isHTML(true); // El correo se envía como HTML 
											$mail->Subject = "Sinergia :: Pago del Prestamo # ".$idprestamo; // Este es el titulo del email. 
											$body = "Se realizo el pago del monto: ".$monto; 
											$body .= "<br>Nuevo saldo: ".$NuevoSaldo; 
											$body .= "<br><br>Muchas gracias.  "; 
											//$body .= "Aquí continuamos el mensaje"; 
											$mail->Body = $body; // Mensaje a enviar. 
											//$attachment = chunk_split($attachment);
											//$mail->AddStringAttachment($attachment, 'filename.pdf','base64', "application/pdf");
											//$mail->AddStringAttachment($attachment, 'some_filename.pdf');
											
											//$mail->AddAttachment($archivo); 
											$exito = $mail->Send(); // Envía el correo.
											
											if($exito)
											{ 
												//echo "El correo fue enviado correctamente."; 
											}else{ 
												//echo "Hubo un problema. Contacta a un administrador."; 
											} 
										}
									  	$a_resultado['estado'] = "1";
										$a_resultado['mensaje'] = "Exito";
									 }
								}
							}else{
								$a_resultado['estado'] = "2";
								$a_resultado['mensaje'] = "Fallo, no se encontro el usuario";
							}
						}else{
							$a_resultado['estado'] = "2";
							$a_resultado['mensaje'] = "Fallo, no hay codigo de cliente";
						}
					}else{
						$a_resultado['estado'] = "2";
						$a_resultado['mensaje'] = "Fallo, debe de ingresar el usuario";
					}
		 		 
		 		 break;
		 		 case "renovacion"		:
		 		 case "refinanciacion"	:	
		 		 		$idusuario 						=  $o_datos['idusuario'];
						$idcliente 						=  $o_datos['idcliente'];
						$idprestamo 					=  $o_datos['idprestamo'];
						$montoextra		 				=  $o_datos['monto'];
						$interes	 					=  $o_datos['interes'];
						$mora		 					=  $o_datos['mora'];
						$montoextra	 					=  $o_datos['monto']; //Monto Extra
						$periodo	 					=  $o_datos['periodo'];
						$duracion	 					=  $o_datos['duracion'];
						
						$gastos_administrativos	 		=  $o_datos['gastos_administrativos'];
						$ubicacion_registro_latitud		=  $o_datos['ubicacion_registro_latitud'];
						$ubicacion_registro_longitud	=  $o_datos['ubicacion_registro_longitud'];
		 		 		
		 		 		if($idusuario){
							if($idcliente){
								
								//////////////////////////////////////////7
								$o_crClienteBean = new ClienteBean();
								$o_crClienteBean->setIdCliente($idcliente);
								
								///////////////////////////////////////////////
								
								$o_crColaboradorBean = new ColaboradorBean();
								$o_crColaboradorBean->setUsuario($idusuario);
								
								$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
								$a_o_crColaboradorDP = $o_crColaboradorDP->select();
								
								if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
									
									$o_crColaboradorBN 	= $a_o_crColaboradorDP[0];
									$idColaborador 		= $o_crColaboradorBN->getIdColaborador();
									
									$fechatransaccion 	= $o_crColaboradorDP->getFechaTransaccion($idColaborador);
									
									if($idprestamo){
						 	
										$o_PrestamoBeanAnt = new PrestamoBean();
										$o_PrestamoBeanAnt->setIdPrestamo($idprestamo);
										$o_class = new PrestamoBL();
										$a_ObjectBeanAnt = $o_class->busquedaPrestamo($o_PrestamoBeanAnt);
									}
									
									
									if(is_array($a_ObjectBeanAnt)){
										 while(list($key,$o_ObjectBean) = each($a_ObjectBeanAnt)){
										 	$SaldoPrestamo = $o_ObjectBean->getSaldoPrestamo();
										 	$Estado = $o_ObjectBean->getEstado();
										 	$IdCliente = $o_ObjectBean->getIdCliente();
										 	$IdColaboradorP = $o_ObjectBean->getIdColaborador();
										 }
									}
									
													
									if($Estado == "C"){
										$a_resultado['estado'] = "2";
										$a_resultado['mensaje'] = "Fallo, el prestamo ".$idprestamo." a refinanciar esta cancelado";
									}elseif($idcliente != $IdCliente){
										$a_resultado['estado'] = "2";
										$a_resultado['mensaje'] = "Fallo, el Prestamo no ".$idprestamo." corresponde al cliente ".$idcliente;
									}else{
										//VALIDAR LA HUELLA DEL CLIENTE------------------------------------------
										
										//-----------------------------------------------------------------------
									
										/**/	
									    $o_PrestamoBean = new PrestamoBean();
									    $o_PrestamoBean->setIdCliente($IdCliente);
									    $o_PrestamoBean->setMontoExtra($montoextra);
									    $montoTotal 	= round(($montoextra + $SaldoPrestamo)*(1+$interes/100),1);
									    $o_PrestamoBean->setMontoPrestado($montoextra + $SaldoPrestamo);
									    $o_PrestamoBean->setMontoTotal(round(($montoextra + $SaldoPrestamo)*(1+$interes/100),1));
									    $o_PrestamoBean->setSaldoPrestamo(round(($montoextra + $SaldoPrestamo)*(1+$interes/100),1));
									    $o_PrestamoBean->setInteresPorcentaje($interes);
									    
									    $o_PrestamoBean->setFechaInicio($fechatransaccion);
									    
									    $o_PrestamoBean->setPeriodicidadPago($periodo);
									    $o_PrestamoBean->setDuracion($duracion); 
									    $o_PrestamoBean->setOrigen("F");
									    $o_PrestamoBean->setFlagReporte('2');
									    $o_PrestamoBean->setIdPrestamoReferencia($idprestamo);
									    
									    $fecha_ini = date('Y-m-d',strtotime($fechatransaccion.' +1 days'));
									    
									    switch ($periodo){
									    	case "D" : 
									    			switch ($duracion){
									    				/**********************/
									    				case 7 :  $MontoCuota = round($montoTotal/5,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +7 days'));
									    						  $NroCuotas=5; break;
									    				/*********************/ 
									    				case 15 : $MontoCuota = round($montoTotal/13,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +15 days'));
									    						  $NroCuotas=13; break;
									    				case 30 : $MontoCuota = round($montoTotal/26,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));
									    						  $NroCuotas=26; break;
									    				case 45 : $MontoCuota = round($montoTotal/39,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +45 days'));
									    						  $NroCuotas=39; break;
									    				case 60 : $MontoCuota = round($montoTotal/52,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
									    						  $NroCuotas=52; break;
									    				case 75 : $MontoCuota = round($montoTotal/65,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +75 days'));
									    						  $NroCuotas=65; break;
									    				case 90 : $MontoCuota = round($montoTotal/88,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
									    						  $NroCuotas=88; break;
									    			}
									    			break;
									    	case "S":
									    			switch ($duracion){
									    				/**********************/
									    				case 7 :  $MontoCuota = round($montoTotal/1,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +7 days'));
									    						  $NroCuotas=1; break;
									    				/*********************/
									    				case 15 : $MontoCuota = round($montoTotal/2,2);
									    				  		  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +15 days'));
									    						  $NroCuotas=2; break;
									    				case 30 : $MontoCuota = round($montoTotal/4,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));
									    						  $NroCuotas=4; break;
									    				case 45 : $MontoCuota = round($montoTotal/6,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +45 days'));
									    						  $NroCuotas=6; break;
									    				case 60 : $MontoCuota = round($montoTotal/8,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
									    						  $NroCuotas=8; break;
									    				case 75 : $MontoCuota = round($montoTotal/10,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +75 days'));
									    						  $NroCuotas=10; break;
									    				case 90 : $MontoCuota = round($montoTotal/12,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
									    						  $NroCuotas=12; break;
									    			}
									    			break;
									    	case "Q":
									    			switch ($duracion){	
									    				case 15 : $MontoCuota = round($montoTotal/1,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +15 days')); 
									    						  $NroCuotas=1; break;
									    				case 30 : $MontoCuota = round($montoTotal/2,2);
									  							  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));  				
									    						  $NroCuotas=2; break;
									    				case 45 : $MontoCuota = round($montoTotal/3,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +45 days'));
									    						  $NroCuotas=3; break;
									    				case 60 : $MontoCuota = round($montoTotal/4,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
									    						  $NroCuotas=4; break;
									    				case 75 : $MontoCuota = round($montoTotal/5,2);
									  							  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +75 days'));  				
									    						  $NroCuotas=5; break;
									    				case 90 : $MontoCuota = round($montoTotal/6,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
									    						  $NroCuotas=6; break;
									    			}
									    			break;
									    	case "M":
									    			switch ($duracion){	
									    				
									    				case 30 : $MontoCuota = round($montoTotal/1,2);
									    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));
									    						  $NroCuotas=1; break;
									    				case 60 : $MontoCuota = round($montoTotal/2,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
									    						  $NroCuotas=2; break;
									    				case 90 : $MontoCuota = round($montoTotal/3,2);
									    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
									    						  $NroCuotas=3; break;
									    			}
									    			break;
									    }
									    if($duracion){
										    $o_PrestamoBean->setCuotaPago($MontoCuota);
										    $o_PrestamoBean->setFechaVencimiento($fechaVencimiento);
										    $InteresMonto = (round($montoextra + $SaldoPrestamo)*$interes)/100;
										    $o_PrestamoBean->setInteresMonto($InteresMonto);
										    $o_PrestamoBean->setNroCuotas($NroCuotas);
										    $o_PrestamoBean->setEstado("P");
										    $o_PrestamoBean->setFechaCreacion(date("Y-m-d H:i:s"));
										  	$o_PrestamoBean->setUsuarioCreacion($idusuario);
										  	$o_PrestamoBean->setIdColaborador($IdColaboradorP);
										    $o_PrestamoBean->setGastoAdministrativo($gastos_administrativos);
										    $o_PrestamoBean->setRegistroLatitud($ubicacion_registro_latitud);
										    $o_PrestamoBean->setRegistroLongitud($ubicacion_registro_longitud);
										  	 
										    $o_PrestamoBL = new PrestamoBL();
										    $bResult = $o_PrestamoBL->insertarPrestamo($o_PrestamoBean);
										    
										    if($bResult){
										    	$o_PrestamoBeanAnt = new PrestamoBean();
												$o_PrestamoBeanAnt->setIdPrestamo($idprestamo);
												$o_PrestamoBeanAnt->setEstado("C");
												$o_PrestamoBeanAnt->setFechaCancelacion($fechatransaccion." ".date('H:i:s'));
												$o_PrestamoBeanAnt->setFechaModificacion(date("Y-m-d H:i:s"));
											  	$o_PrestamoBeanAnt->setUsuarioModificacion($idusuario);
												$o_class = new PrestamoBL();
												$a_ObjectBeanAnt = $o_class->modificarPrestamo($o_PrestamoBeanAnt);
												
												if((float)$mora > 0){
													
													$o_PagoBean = new PagoBean();
													$o_PagoBean->setIdPrestamo($idprestamo);
													$o_PagoBean->setFechaPago($fechatransaccion);
													$o_PagoBean->setTipopago('2');
													$o_PagoBean->setMontoPago($mora);
													$o_PagoBean->setIdColaborador($idColaborador);
													$o_PagoBean->setFechaCreacion(date("Y-m-d H:i:s"));
													$o_PagoBean->setUsuarioCreacion($idusuario);
													$o_PagoDP = new PagoDP($o_PagoBean);
													$o_PagoDP->save();
												}
											
												$o_newPrestamoBean = new PrestamoBean();
												$o_newPrestamoBean->setIdPrestamo($bResult);
												
												$o_newPrestamoDP = new PrestamoDP($o_newPrestamoBean);
												$a_newPrestamoBean =$o_newPrestamoDP->select();
												$o_newPrestamo = $a_newPrestamoBean[0];
												
												$a_prestamoNuevo['idprestamo'] 	= $o_newPrestamo->getIdPrestamo();
												$a_prestamoNuevo['monto_total']	= (float)$o_newPrestamo->getMontoTotal();
												$a_prestamoNuevo['capital']	= (float)$o_newPrestamo->getMontoPrestado();
												$a_prestamoNuevo['monto_interes']	= (float)$o_newPrestamo->getInteresMonto();
												$a_prestamoNuevo['saldo']	= (float)$o_newPrestamo->getSaldoPrestamo();
												$a_prestamoNuevo['interes']	= (float)$o_newPrestamo->getInteresPorcentaje();
												$a_prestamoNuevo['gastos_administrativos']	= (float)$o_newPrestamo->getGastoAdministrativo();
												$a_prestamoNuevo['fecha_prestamo']	= (String)$o_newPrestamo->getFechaInicio();
												$a_prestamoNuevo['fecha_vencimiento']	= (String)$o_newPrestamo->getFechaVencimiento();
												$a_prestamoNuevo['estado']	= $o_newPrestamo->getEstado();
												$a_prestamoNuevo['monto_extra']	= (float)$o_newPrestamo->getMontoExtra();
												
											
											  	$a_resultado['estado'] = "1";
												$a_resultado['mensaje'] = "Exito";
												$a_resultado['nuevo_prestamo'] = $a_prestamoNuevo;
											
										   	}else{
										   		$a_resultado['estado'] = "2";
												$a_resultado['mensaje'] = "Fallo, no se registro el prestamo a renovar";
								    		}
									    }else{
											$a_resultado['estado'] = "2";
											$a_resultado['mensaje'] = "Fallo, el Prestamo no tiene duracion ".$idprestamo.".";
								    	}
									}
								
								}else{
									$a_resultado['estado'] = "2";
									$a_resultado['mensaje'] = "Fallo, no se encontro el usuario";
								}
							}else{
								
							}
						}else{
							$a_resultado['estado'] = "2";
							$a_resultado['mensaje'] = "Fallo, debe de ingresar el usuario";
						}
		 		 	
		 		 break;
		 		 
		 		 case "prestamo":
					$idusuario 						=  $o_datos['idusuario'];
					$idcliente 						=  $o_datos['idcliente'];
					$idprestamo 					=  $o_datos['idprestamo'];
					$monto			 				=  $o_datos['monto'];
					$interes	 					=  $o_datos['interes'];
					$mora		 					=  $o_datos['mora'];
					$monto	 						=  $o_datos['monto']; //Monto Extra
					$periodo	 					=  $o_datos['periodo'];
					$duracion	 					=  $o_datos['duracion'];
					
					$gastos_administrativos	 		=  $o_datos['gastos_administrativos'];
					$ubicacion_registro_latitud		=  $o_datos['ubicacion_registro_latitud'];
					$ubicacion_registro_longitud	=  $o_datos['ubicacion_registro_longitud'];
		 		 	if($idusuario){
						if($idcliente){
							
							
										
							$o_crColaboradorBean = new ColaboradorBean();
							$o_crColaboradorBean->setUsuario($idusuario);
							
							$o_crColaboradorDP = new ColaboradorDP($o_crColaboradorBean);
							$a_o_crColaboradorDP = $o_crColaboradorDP->select();
							
							if(is_array($a_o_crColaboradorDP) && count($a_o_crColaboradorDP)){
								
								$o_crColaboradorBN 	= $a_o_crColaboradorDP[0];
								$idColaborador 		= $o_crColaboradorBN->getIdColaborador();
								
								$fechatransaccion 	= $o_crColaboradorDP->getFechaTransaccion($idColaborador);
				
								//VALIDAR LA HUELLA DEL CLIENTE------------------------------------------
								
									
								//-----------------------------------------------------------------------
							
								/**/	
							    $o_PrestamoBean = new PrestamoBean();
							    $o_PrestamoBean->setIdCliente($idcliente);
							    $montoTotal 	= round(($monto)*(1+$interes/100),1);
							    $o_PrestamoBean->setMontoPrestado($monto);
							    $o_PrestamoBean->setMontoTotal(round(($monto)*(1+$interes/100),1));
							    $o_PrestamoBean->setSaldoPrestamo(round(($monto)*(1+$interes/100),1));
							    $o_PrestamoBean->setInteresPorcentaje($interes);
							    
							    $o_PrestamoBean->setFechaInicio($fechatransaccion);
							    
							    $o_PrestamoBean->setPeriodicidadPago($periodo);
							    $o_PrestamoBean->setDuracion($duracion); 
							    $o_PrestamoBean->setOrigen("R");
							    $o_PrestamoBean->setFlagReporte('2');
							    
							    
							    $fecha_ini = date('Y-m-d',strtotime($fechatransaccion.' +1 days'));
							    
							    switch ($periodo){
							    	case "D" : 
							    			switch ($duracion){
							    				/**********************/
							    				case 7 :  $MontoCuota = round($montoTotal/5,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +7 days'));
							    						  $NroCuotas=5; break;
							    				/*********************/ 
							    				case 15 : $MontoCuota = round($montoTotal/13,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +15 days'));
							    						  $NroCuotas=13; break;
							    				case 30 : $MontoCuota = round($montoTotal/26,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));
							    						  $NroCuotas=26; break;
							    				case 45 : $MontoCuota = round($montoTotal/39,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +45 days'));
							    						  $NroCuotas=39; break;
							    				case 60 : $MontoCuota = round($montoTotal/52,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
							    						  $NroCuotas=52; break;
							    				case 75 : $MontoCuota = round($montoTotal/65,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +75 days'));
							    						  $NroCuotas=65; break;
							    				case 90 : $MontoCuota = round($montoTotal/88,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
							    						  $NroCuotas=88; break;
							    			}
							    			break;
							    	case "S":
							    			switch ($duracion){
							    				/**********************/
							    				case 7 :  $MontoCuota = round($montoTotal/1,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +7 days'));
							    						  $NroCuotas=1; break;
							    				/*********************/
							    				case 15 : $MontoCuota = round($montoTotal/2,2);
							    				  		  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +15 days'));
							    						  $NroCuotas=2; break;
							    				case 30 : $MontoCuota = round($montoTotal/4,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));
							    						  $NroCuotas=4; break;
							    				case 45 : $MontoCuota = round($montoTotal/6,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +45 days'));
							    						  $NroCuotas=6; break;
							    				case 60 : $MontoCuota = round($montoTotal/8,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
							    						  $NroCuotas=8; break;
							    				case 75 : $MontoCuota = round($montoTotal/10,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +75 days'));
							    						  $NroCuotas=10; break;
							    				case 90 : $MontoCuota = round($montoTotal/12,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
							    						  $NroCuotas=12; break;
							    			}
							    			break;
							    	case "Q":
							    			switch ($duracion){	
							    				case 15 : $MontoCuota = round($montoTotal/1,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +15 days')); 
							    						  $NroCuotas=1; break;
							    				case 30 : $MontoCuota = round($montoTotal/2,2);
							  							  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));  				
							    						  $NroCuotas=2; break;
							    				case 45 : $MontoCuota = round($montoTotal/3,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +45 days'));
							    						  $NroCuotas=3; break;
							    				case 60 : $MontoCuota = round($montoTotal/4,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
							    						  $NroCuotas=4; break;
							    				case 75 : $MontoCuota = round($montoTotal/5,2);
							  							  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +75 days'));  				
							    						  $NroCuotas=5; break;
							    				case 90 : $MontoCuota = round($montoTotal/6,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
							    						  $NroCuotas=6; break;
							    			}
							    			break;
							    	case "M":
							    			switch ($duracion){	
							    				
							    				case 30 : $MontoCuota = round($montoTotal/1,2);
							    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +30 days'));
							    						  $NroCuotas=1; break;
							    				case 60 : $MontoCuota = round($montoTotal/2,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +60 days'));
							    						  $NroCuotas=2; break;
							    				case 90 : $MontoCuota = round($montoTotal/3,2);
							    				          $fechaVencimiento = date('Y-m-d',strtotime($fecha_ini.' +90 days'));
							    						  $NroCuotas=3; break;
							    			}
							    			break;
							    }
							    
							    if($duracion){
								    $o_PrestamoBean->setCuotaPago($MontoCuota);
								    $o_PrestamoBean->setFechaVencimiento($fechaVencimiento);
								    $InteresMonto = (round($monto)*$interes)/100;
								    $o_PrestamoBean->setInteresMonto($InteresMonto);
								    $o_PrestamoBean->setNroCuotas($NroCuotas);
								     
								    $o_PrestamoBean->setEstado("P");
								    $o_PrestamoBean->setFechaCreacion(date("Y-m-d H:i:s"));
								  	$o_PrestamoBean->setUsuarioCreacion($idusuario);
								  	
									$idColaboradorP = getColaboradorxCliente($idcliente);  	
									
									
								  	
									  	$o_PrestamoBean->setIdColaborador($idColaboradorP);
									  	//
									    $o_PrestamoBean->setGastoAdministrativo($gastos_administrativos);
									    $o_PrestamoBean->setRegistroLatitud($ubicacion_registro_latitud);
									    $o_PrestamoBean->setRegistroLongitud($ubicacion_registro_longitud);
									  	 
									    $o_PrestamoBL = new PrestamoBL();
									    $bResult = $o_PrestamoBL->insertarPrestamo($o_PrestamoBean);
									    
									    
									    if($bResult){
									   						
											$o_newPrestamoBean = new PrestamoBean();
											$o_newPrestamoBean->setIdPrestamo($bResult);
											
											$o_newPrestamoDP = new PrestamoDP($o_newPrestamoBean);
											$a_newPrestamoBean =$o_newPrestamoDP->select();
											$o_newPrestamo = $a_newPrestamoBean[0];
											
											$a_prestamoNuevo['idprestamo'] 	= $o_newPrestamo->getIdPrestamo();
											$a_prestamoNuevo['monto_total']	= (float)$o_newPrestamo->getMontoTotal();
											$a_prestamoNuevo['capital']	= 	(float)$o_newPrestamo->getMontoPrestado();
											$a_prestamoNuevo['monto_interes']	= (float)$o_newPrestamo->getInteresMonto();
											$a_prestamoNuevo['saldo']	= (float)$o_newPrestamo->getSaldoPrestamo();
											$a_prestamoNuevo['interes']	= (float)$o_newPrestamo->getInteresPorcentaje();
											$a_prestamoNuevo['gastos_administrativos']	= (float)$o_newPrestamo->getGastoAdministrativo();
											$a_prestamoNuevo['fecha_prestamo']	= $o_newPrestamo->getFechaInicio();
											$a_prestamoNuevo['fecha_vencimiento']	= $o_newPrestamo->getFechaVencimiento();
											$a_prestamoNuevo['estado']	= $o_newPrestamo->getEstado();
											
										
										  	$a_resultado['estado'] = "1";
											$a_resultado['mensaje'] = "Exito";
											$a_resultado['nuevo_prestamo'] = $a_prestamoNuevo;
									    }
									
							    }
							
							}else{
								$a_resultado['estado'] = "2";
								$a_resultado['mensaje'] = "Fallo, no se encontro el usuario";
							}
						}else{
							
						}
					}else{
						$a_resultado['estado'] = "2";
						$a_resultado['mensaje'] = "Fallo, debe de ingresar el usuario";
					}
		 		 	break;
		 		 	
		 		 case "historial_prestamos":
		 		 	$idusuario 						=  $o_datos['idusuario'];
					$idcliente 						=  $o_datos['idcliente'];
					
					/*
					$o_ClienteBean = new ClienteBean();
				  	$o_ClienteBean->setIdCliente($idcliente);
				  	
				  	$o_ClienteDP = new ClienteDP($o_ClienteBean);
				  	$a_clientes = $o_ClienteDP->select();
				  	if(is_array($a_clientes)){
				  		foreach ($a_clientes as $key => $o_cliente){
				  			$idMercado = $o_cliente->getIdMercado();
				  			$o_MercadoBean = new MercadoBean();
							$o_MercadoBean->setIdMercado($idMercado);
							$o_MercadoDP = new MercadoDP($o_MercadoBean);
							$a_MercadoDP = $o_MercadoDP->select();
							foreach ($a_MercadoDP as $key => $o_MercadoDP){
								$nombre_mercado		= $o_MercadoDP->getDescripcion();	
							}
				  			$nombre_completo = $o_cliente->getNombres()." ".$o_cliente->getApellidoPaterno()." ".$o_cliente->getApellidoMaterno();
				  		}
				  	}
				  	$a_cliente[]
					*/
					$o_ObjectBean = new PrestamoBean();				
					if($idcliente){
						$o_ObjectBean->setIdCliente($idcliente); 
					}
					$o_ObjectBean->page 	= 1;
					$o_ObjectBean->tamPag 	= 5;
					
					$o_classDP = new PrestamoDP($o_ObjectBean);
					
					$a_ObjectBean = $o_classDP->select(); 
					if(count($a_ObjectBean)>0){
						$i = 1;
	              		foreach ($a_ObjectBean as $iKey => $o_objBean){ 	
	              			if(!$o_objBean->getSemaforo()) $semaforo = "verde";
	              			else $semaforo = $o_objBean->getSemaforo();
	              			$a_prestamos[$i]['idprestamo'] = $o_objBean->getIdPrestamo();
	              			$a_prestamos[$i]['monto_total'] = $o_objBean->getMontoTotal();
	              			$a_prestamos[$i]['capital'] = $o_objBean->getMontoPrestado();
	              			$a_prestamos[$i]['estado'] = $o_objBean->getEstado();
	              			$a_prestamos[$i]['saldo'] = $o_objBean->getSaldoPrestamo();
	              			$a_prestamos[$i]['interes'] = $o_objBean->getInteresPorcentaje();
							$o_PagoBean = new PagoBean();
		                    $o_PagoBean->setIdPrestamo($o_objBean->getIdPrestamo());
		                    $o_PagoBean->setTipo('2');
		                    $o_PagoDP = new PagoDP($o_PagoBean);
		                    $MontoPago = '0';
		                    $a_o_PagoDP = $o_PagoDP->select();
		                    if(is_array($a_o_PagoDP)){
		                    	foreach ($a_o_PagoDP as $key => $o_PagoDP){
		                    		$MontoPago += $o_PagoDP->getMontoPago();
		                    	}
								
		                    }
		                    $a_prestamos[$i]['mora'] = (float)$MontoPago;
	              			$a_prestamos[$i]['gastos_administrativos'] = (float)$o_objBean->getGastoAdministrativo();
	              			$a_prestamos[$i]['fecha_prestamo'] 		= $o_objBean->getFechaInicio();
	              			$a_prestamos[$i]['semaforo'] 			= (String)$o_objBean->getSemaforo();;
	              			$a_prestamos[$i]['fecha_vencimiento'] 	= $o_objBean->getFechaVencimiento();
	              			$i++;
	              		}
	              		$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
						$a_resultado['prestamos'] = $a_prestamos;
					}
					
					
		 		 	break;	 	 
				
		 		  case "registrar_presencia":
		 		 	$idusuario 						=  $o_datos['idusuario'];
					$idcliente 						=  $o_datos['idcliente'];
					$idprestamo 					=  $o_datos['idprestamo'];
					$ubicacion_registro_latitud		=  $o_datos['ubicacion_registro_latitud'];
					$ubicacion_registro_longitud	=  $o_datos['ubicacion_registro_longitud'];
					$huella							=  $o_datos['huella'];
					
					if(validarHuellaColaborador($idusuario,$huella)){
						$fechatransaccion 	= fechaDiaAbierto($idusuario);
						$o_PrestamoPresenciaBean = new PrestamoPresenciaBean();					
						$o_PrestamoPresenciaBean->setFecha($fechatransaccion);
						$o_PrestamoPresenciaBean->setFechaCreacion(date('Y-m-d H:i:s'));
						$o_PrestamoPresenciaBean->setUsuarioCreacion($idusuario);
						$o_PrestamoPresenciaBean->setIdCliente($idcliente);
						$o_PrestamoPresenciaBean->setIdPrestamo($idprestamo);
						$o_PrestamoPresenciaBean->setRegistroLatitud($ubicacion_registro_latitud);
						$o_PrestamoPresenciaBean->setRegistroLongitud($ubicacion_registro_longitud);
						$o_PrestamoPresenciaDP = new PrestamoPresenciaDP($o_PrestamoPresenciaBean);
						$o_PrestamoPresenciaDP->save();
						
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
					}else{
						$a_resultado['estado'] 		= "0";
						$a_resultado['mensaje'] 	= "La huella digital no corresponde al usuario ".$idusuario;
					}
					
		 		 	break;	 	 
		 		 case "clientes":
		 			$idusuario 						=  $o_datos['idusuario'];
		 			
		 			$idsucursal 					=  $o_datos['idsucursal'];
		 			$idmercado	 					=  $o_datos['idmercado'];
		 			
		 			
					$codigo_cliente 				=  $o_datos['idcliente'];
					$apellido_paterno 				=  $o_datos['apellido_paterno'];
					
					
					 
					$o_user 		= new user_class();
					if ($o_user->findUser($idusuario)){	
						
						if(($o_user->getUserRoleId() == "sys.sup" || $o_user->getUserRoleId() == "sys.res" ) && !$idmercado){
 							$a_resultado['estado'] = "0";
							$a_resultado['mensaje'] = "Seleccione un mercado";
							$a_respuesta["resultado"] = $a_resultado;
 						}else{
 							
 						
			 		 		if($idusuario){
								sucursalMercado($o_user);
								$a_SucursalMercado 			= sucursalMercado($o_user);
								/*
								echo "<pre>";
								
								print_r($a_SucursalMercado);
								echo "</pre>";
								*/
								$a_resultado["idmercado"] 	= (string)$a_SucursalMercado["idmercado"];
								//$a_resultado["idsmercados"]	= $a_SucursalMercado["idsmercados"];
								$a_resultado["idsucursal"] 	= (string)$a_SucursalMercado["idsucursal"];	 						
								
								$o_ObjectBean = new ClienteBean();
								
								$o_ObjectBean->tamPag 	= 10;
													
							  	$o_ObjectBean->setFiltroMercado($a_SucursalMercado["idsmercados"]);
								
								if($o_user->getUserRoleId() == "sys.ope"){
							  		$o_ObjectBean->setIdMercado($a_SucursalMercado["idmercado"]);
								}else{
									$o_ObjectBean->setIdMercado($idmercado);
								}
							  	
							  	
							  	if($codigo_cliente !="")		{ $o_ObjectBean->setIdCliente($codigo_cliente); }
							  	if($apellido_paterno !="")		{ $o_ObjectBean->setApellidoPaterno(utf8_decode($apellido_paterno)); }
							  	
							  	$o_class 					= new ClienteDP($o_ObjectBean);
								$a_ObjectBean 				= $o_class->select();
								
								//echo "<pre>";
								//print_r($a_ObjectBean);
								//echo "</pre>";
								
								if(count($a_ObjectBean)>0){
									$i = 1;
							    	foreach ($a_ObjectBean as $iKey => $o_objBean){
							    		$a_datos[$i]["IdCliente"] 		= $o_objBean->getIdCliente();
							    		$a_datos[$i]["NombreCompleto"] 	= (string)ucwords(utf8_encode(mb_strtolower ($o_objBean->getNombreCompleto())));
							    		$a_datos[$i]["Sexo"] 			= (string)$o_objBean->getSexo();
							    		$a_datos[$i]["Dni"] 			= (string)$o_objBean->getDni();
							    		$a_datos[$i]["EstadoCivil"] 	= (string)$o_objBean->getEstadoCivil();
							    		$a_datos[$i]["IdMercado"] 		= $o_objBean->getIdMercado();
							    		$a_datos[$i]["Telefono"] 		= (string)$o_objBean->getTelefono();
							    		$a_datos[$i]["Celular"] 		= (string)$o_objBean->getCelular();
							    		$a_datos[$i]["gasto_administrativo"] = "2";
							    		$i++;
							    	}
							    	$a_resultado['datos'] 		= $a_datos;
							    	$a_resultado['estado'] = "1";
									$a_resultado['mensaje'] = "Exito";
							    }else{
							    	$a_resultado['datos'] 		= "0";
							    	$a_resultado['estado'] = "40";
									$a_resultado['mensaje'] = "No hay clientes que mostrar";
							    }
							    
			 		 		}else{
			 		 			$a_resultado['estado'] 		= "0";
								$a_resultado['mensaje'] 	= "La huella digital no corresponde al usuario ".$idusuario;	
			 		 		}
 						}
					}
				break;
				case "pedido":
					$idusuario 						=  $o_datos['idusuario'];
					$idcliente 						=  $o_datos['idcliente'];
					$idprestamo 					=  $o_datos['idprestamo'];
					$monto			 				=  $o_datos['monto'];
					$interes	 					=  $o_datos['interes'];
					$mora		 					=  $o_datos['mora'];
					
					$fecha_pedido	 				=  $o_datos['fecha_pedido'];
					
					$periodo	 					=  $o_datos['periodo'];
					$duracion	 					=  $o_datos['duracion'];
					$hora		 					=  $o_datos['hora'];
					$observacion 					=  $o_datos['comentario'];
					$telefono_contacto				=  $o_datos['telefono_contacto'];
					$hora_atencion	 				=  $o_datos['hora_atencion'];
					
					
					$gastos_administrativos	 		=  $o_datos['gastos_administrativos'];
					$ubicacion_registro_latitud		=  $o_datos['ubicacion_registro_latitud'];
					$ubicacion_registro_longitud	=  $o_datos['ubicacion_registro_longitud'];
					
					
					
					$o_user 		= new user_class();
 					if ($o_user->findUser($idusuario)){
 						
 						$fechaDiaAbierto = fechaDiaAbierto($idusuario);
 						
 						if($fecha_pedido && $fecha_pedido <= $fechaDiaAbierto){
 							
					    	$a_resultado['estado'] = "100";
							$a_resultado['mensaje'] = "La Fecha ".$fecha_pedido." de Pedido fuera de rango de fecha  dia abierto ".$fechaDiaAbierto;
							
 						}else{
 							if(!$fecha_pedido){
 								$a_resultado['estado'] = "101";
								$a_resultado['mensaje'] = "No hay fecha para registrar el pedido";
 							}else{
 										
 						
								$a_SucursalMercado 	= sucursalMercado($o_user);
					
								$fecha			 	= fechaDiaAbierto($idusuario);
								$idColaboradorP 	= getColaboradorxCliente($idcliente);
								
								$o_ClienteBean = new ClienteBean();
							  	$o_ClienteBean->setIdCliente($idcliente);
							  	
							  	$o_ClienteDP = new ClienteDP($o_ClienteBean);
							  	$a_clientes = $o_ClienteDP->select();
							  	if(is_array($a_clientes)){
							  		foreach ($a_clientes as $key => $o_cliente){
							  			$idMercado = $o_cliente->getIdMercado();
							  		}
							  	}
								
								
								//$dia = date('w',strtotime($fecha));
							    //if($dia  == '6') $FechaTransaccion = date('Y-m-d', strtotime($fecha ." +2 days"));
								//else  $FechaTransaccion = date('Y-m-d', strtotime($fecha ." +1 days"));
								
							    $o_Cr_pedido_prestamoDP = new Cr_pedido_prestamoDP();
							    $o_Cr_pedido_prestamoDP->setIdCliente( ( int ) $idcliente );
							    
							    $o_Cr_pedido_prestamoDP->setIidMercado( ( int ) $idMercado );
							    
							    $o_Cr_pedido_prestamoDP->setIdColaborador( (int) $idColaboradorP );
							    
							    $o_Cr_pedido_prestamoDP->setMonto( floatval( $monto ) );
							    $o_Cr_pedido_prestamoDP->setTelefonoContacto( $TelefonoContacto );
							    $o_Cr_pedido_prestamoDP->setInteresPorcentaje( ( int ) $interes );
							    $o_Cr_pedido_prestamoDP->setDuracion	( ( int ) $duracion );
							    $o_Cr_pedido_prestamoDP->setPeridiocidadPago( $periodo );
							    $o_Cr_pedido_prestamoDP->setTelefonoContacto( $telefono_contacto );
							    $o_Cr_pedido_prestamoDP->setHoraAtencion	( $hora_atencion );
							    $o_Cr_pedido_prestamoDP->setGastoAdministrativo((float)$gastos_administrativos);
							    $o_Cr_pedido_prestamoDP->setEliminado( -1 );
							    $o_Cr_pedido_prestamoDP->setObservacion( $observacion );
							
							    
						        //SAVE
						        $o_Cr_pedido_prestamoDP->setFechaTransaccion( $fecha_pedido );
						        $o_Cr_pedido_prestamoDP->setFechaEntrega( $fecha_pedido );
						        $o_Cr_pedido_prestamoDP->setEstado( "P" );
						        $i_IdPedido = Cr_pedido_prestamoDP::getNextId();
						        $o_Cr_pedido_prestamoDP->setIdpedido( ( int ) $i_IdPedido );
						        $o_Cr_pedido_prestamoDP->setFechaCreacion( date( "Y-m-d H:i:s" ) );
						        $o_Cr_pedido_prestamoDP->setUsuarioCreacion( $idusuario );
						        $b_Result = $o_Cr_pedido_prestamoDP->save();
						        
						        if($b_Result){
						        	
						        	$o_Cr_pedido_prestamoFN = new Cr_pedido_prestamoFN();
						        	$o_Cr_pedido_prestamoBN = $o_Cr_pedido_prestamoFN->selectByPK($i_IdPedido);
						        	
						        	$a_pedidoNuevo['idpedido'] 	= $o_Cr_pedido_prestamoBN->getIdpedido();
						        	$a_pedidoNuevo['capital'] 	= $o_Cr_pedido_prestamoBN->getMonto();
						        	$a_pedidoNuevo['interes'] 	= $o_Cr_pedido_prestamoBN->getInteresPorcentaje();
						        	$a_pedidoNuevo['estado'] 	= $o_Cr_pedido_prestamoBN->getEstado();
						        				
									$a_resultado['estado'] = "1";
									$a_resultado['mensaje'] = "Exito";
									$a_resultado['nuevo_prestamo'] = $a_pedidoNuevo;
						        	
						        }else{
	 								$a_resultado['estado'] = "2";
									$a_resultado['mensaje'] = "No se registro el pedido";
	 							}
 							}
 						}
				        
 					}else{
 						$a_resultado['estado'] = "4";
						$a_resultado['mensaje'] = "No existe el usuario";
 					}
					
					
					
				break;
		 		case "registrar_cliente":
		 			
					
		 			$idusuario 						= $o_datos['idusuario'];
					$sexo 							= $o_datos['sexo'];
					
					$idmercado 						= $o_datos['idmercado'];
					
					$nombres 						= $o_datos['nombres'];
					$apellido_paterno 				= $o_datos['apellido_paterno'];
					$apellido_materno 				= $o_datos['apellido_materno'];
					$fecha_nacimiento				= $o_datos['fecha_nacimiento'];
					$dni			 				= $o_datos['dni'];
					$estado_civil			 		= $o_datos['estado_civil'];
					$direccion		 				= $o_datos['direccion'];
					$telefono		 				= $o_datos['telefono'];
					$celular		 				= $o_datos['celular'];
					$huella		 					= $o_datos['huella'];
					$tipo_negocio 					= $o_datos['tipo_negocio'];
					$otrotipo_negocio 				= $o_datos['otrotipo_negocio'];
					$o_user = new user_class();
					if ($o_user->findUser($idusuario)){	
						if(!$idmercado){
							
							$a_SucursalMercado 			= sucursalMercado($o_user);
							$idmercado 	= $a_SucursalMercado["idmercado"];
						}
						
						$o_ClienteBean = new ClienteBean();
						
						$o_ClienteBean->setIdMercado($idmercado);
						$o_ClienteBean->setIdTipoNegocio($tipo_negocio);
						$o_ClienteBean->setDni($dni);
						$o_ClienteBean->setCelular($celular);
						$o_ClienteBean->setNombres($nombres);
						$o_ClienteBean->setApellidoPaterno($apellido_paterno);
						$o_ClienteBean->setApellidoMaterno($apellido_materno);
						$nombrecompleto = $apellido_paterno." ".$apellido_materno.", ".$nombres;
						$o_ClienteBean->setNombreCompleto($nombrecompleto);
						$o_ClienteBean->setTelefono($telefono);
						$o_ClienteBean->setDireccion($direccion);
						
						$o_ClienteBean->setFechaNacimiento($fecha_nacimiento);
						$o_ClienteBean->setSexo($sexo); 
						$o_ClienteBean->setEstadoCivil($estado_civil);
						$o_ClienteBean->setEstado("A");   
						$o_ClienteBean->setFechaCreacion(date("Y-m-d H:i:s"));
						$o_ClienteBean->setOtroTipoNegocio($otrotipo_negocio);
						$o_ClienteBean->setUsuarioCreacion($idusuario);
						$o_ClienteSystemClass = new ClienteSystemClass($o_ClienteBean);
					  			  
						
					  	$bResult = $o_ClienteSystemClass->insertCliente($chek_documento);
					  	if($bResult){
							//Registrar Huella
							
							//--------------------------
				 			$a_resultado['estado'] = "1";
							$a_resultado['mensaje'] = "Exito";
					  	 }else{
					  	 	$a_resultado['estado'] 		= "0";
							$a_resultado['mensaje'] 	= "La huella digital no corresponde al usuario ".$idusuario;		
					  	 }
					}else{
 						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
 					}					
		 		break;
		 		case "cierre_caja":
		 			
		 			$idusuario 				= $o_datos['idusuario'];
					$idmercado 				= $o_datos['idmercado'];
					
					$o_user 		= new user_class();
 					if ($o_user->findUser($idusuario)){
 						
 						if( ($o_user->getUserRoleId() == "sys.sup" || $o_user->getUserRoleId() == "sys.res" ) && !$idmercado){
 							$a_resultado['estado'] = "0";
							$a_resultado['mensaje'] = "Seleccione un mercado";
							$a_respuesta["resultado"] = $a_resultado;
 						}else{
					
	 						$a_SucursalMercado 	= sucursalMercado($o_user);
							/*
							echo "<pre>";
							
							print_r($a_SucursalMercado);
							echo "</pre>";
							*/
							$a_idColaborador 	= $a_SucursalMercado["idcolaboradores"];	
							$a_idsmercados 		= $a_SucursalMercado["idsmercados"];	
							
							
							if($idmercado){
								$o_MercadoRepresentante = new MercadoRepresentanteBean();
								$o_MercadoRepresentante->setIdMercado($idmercado);
								$o_MercadoRepresentanteBL = new MercadoRepresentanteBL();
								$a_o_repmer = $o_MercadoRepresentanteBL->busquedaMercadoRepresentanteDetalle($o_MercadoRepresentante);
								
								
								
								foreach ($a_o_repmer as $key => $o_repmer){
									
									$o_ColaboradorBean = new ColaboradorBean();
									$o_ColaboradorBean->setIdColaborador($o_repmer->getIdColaborador());
									$o_ColabradorDP = new ColaboradorDP($o_ColaboradorBean);
									$a_o_ColabradorDP = $o_ColabradorDP->select();
									
									foreach ($a_o_ColabradorDP as $key => $o_ColabradorDP){
								
										$idColaborador 				= $o_ColabradorDP->getIdColaborador();	
										$idColaborador 		= $o_ColabradorDP->getIdColaborador();
										$Asesor 			= $o_ColabradorDP->getNombres()." ".$o_ColabradorDP->getApellidoPaterno()." ".$o_ColabradorDP->getApellidoMaterno();
								
									}
								}
							}else{
								
								$o_MercadoRepresentante = new MercadoRepresentanteBean();
								$o_MercadoRepresentante->setIdColaborador($o_user->getIdColaborador());
								$o_MercadoRepresentanteBL = new MercadoRepresentanteBL();
								$a_o_repmer = $o_MercadoRepresentanteBL->busquedaMercadoRepresentanteDetalle($o_MercadoRepresentante);
								foreach ($a_o_repmer as $key => $o_repmer){
									$idmercado = $o_repmer->getIdMercado();
									
								}
							
								$o_ColaboradorBean = new ColaboradorBean();
								$o_ColaboradorBean->setIdColaboradores($a_idColaborador);
								$o_ColabradorDP = new ColaboradorDP($o_ColaboradorBean);
								
								$a_o_ColabradorDP = $o_ColabradorDP->select();
								foreach ($a_o_ColabradorDP as $key => $o_ColabradorDP){
								
									$idColaborador 				= $o_ColabradorDP->getIdColaborador();	
									$idColaborador 		= $o_ColabradorDP->getIdColaborador();
									$Asesor 			= $o_ColabradorDP->getNombres()." ".$o_ColabradorDP->getApellidoPaterno()." ".$o_ColabradorDP->getApellidoMaterno();
								}
							}
							
							//print_r($a_idColaborador);
							
							
				 			$fechaDiaAbierto = fechaDiaAbierto($idusuario);
				 			
				 			$o_crMercadoBean = new MercadoBean();
							$o_crMercadoBean->setIdMercado($idmercado);
							$o_crMercadoBean->setIdMercados($a_idsmercados);
							
							$o_MercadoDP = new MercadoDP($o_crMercadoBean);
							$a_o_MercadoDP = $o_MercadoDP->select();
							
							if(is_array($a_o_MercadoDP) && count($a_o_MercadoDP)){
								$o_crMercadoBN 	= $a_o_MercadoDP[0];
								$nombreMercado 	= $o_crMercadoBN->getDescripcion();
							}
				 			
				 			
				 			
				 			//Sumar el capital inicial
				 			
				 			$o_ObjectBean = new CapitalInicialBean();
							$o_ObjectBean->setFecha($fechaDiaAbierto);
							$o_ObjectBean->setIdColaborador($idColaborador);
							$o_ObjectBean->tamPag = 10;
							
							$o_class = new CapitalInicialBL();
							$a_ObjectBean = $o_class->busquedaCapitalInicial($o_ObjectBean);
							$sumaCapitalIncial = 0;
				 			if(count($a_ObjectBean)>0){
		              			foreach ($a_ObjectBean as $iKey => $o_objBean){
		              				$sumaCapitalIncial += $o_objBean->getMonto();
		              			}
		              		}
		              		//Detalle y suma de los prestamos registrados por el colaborador
		              		$o_ObjectBean = new PrestamoBean();
		              		$o_ObjectBean->setFechaInicio($fechaDiaAbierto);
		              		$o_ObjectBean->setFechaFinal($fechaDiaAbierto);
		              		$o_ObjectBean->setIdColaboradorPrestamo($idColaborador);
		              		$o_ObjectBean->setEstado('P');
		              		$o_ObjectBean->tamPag = 9999;		 			
		              		$o_ObjectDP = new PrestamoDP($o_ObjectBean);
				 			$a_o_ObjectDP = $o_ObjectDP->select();
				 			
				 			if(is_array($a_o_ObjectDP) && count($a_o_ObjectDP)){
				 				$j=1;
				 				foreach ($a_o_ObjectDP as $key => $o_ObjectDP) {
				 					$idCliente = $o_ObjectDP->getIdCliente();
				 					$o_ClienteBean = new ClienteBean();
				 					$o_ClienteBean->setIdCliente($idCliente);
				 					$o_clieneteDP = new ClienteDP($o_ClienteBean);
				 					$a_cliente = $o_clieneteDP->selectByPk();
				 					$o_cliente = $a_cliente[0];
				 					$nombrecompleto = $o_cliente->getNombreCompleto();
				 					$a_transacciones[$j]['tipo_transaccion'] = "Prestamo";
				 					$sumaMontoPrestado 	+= $o_ObjectDP->getMontoPrestado();
				 					$sumaMontoGA 		+= $o_ObjectDP->getGastoAdministrativo();
				 					if($o_ObjectDP->getOrigen()=="F"){
				 						if($o_ObjectDP->getMontoExtra() > 0 ){
				 							$a_transacciones[$j]['tipo_transaccion'] .="-renovacion";
				 						}else{
				 							$a_transacciones[$j]['tipo_transaccion'] .="-refinanciacion";
				 						}
				 					}
				 					$a_transacciones[$j]['nombrecompleto'] 		= (string)$nombrecompleto;
				 					$a_transacciones[$j]['gastoadministrativo'] = (float)$o_ObjectDP->getGastoAdministrativo();
				 					$a_transacciones[$j]['monto'] 				= (float)$o_ObjectDP->getMontoPrestado();
				 					$a_transacciones[$j]['hora_registro'] 		= (string)$o_ObjectDP->getFechaCreacion();
				 					$j++;
				 				}
							}
							
							//Detalle y Suma de Pagos
							
							//echo $idColaborador."----";
							
							$o_ObjectBean = new PagoBean();
		              		$o_ObjectBean->setFechaPago($fechaDiaAbierto);
		              		$o_ObjectBean->setFechaFinal($fechaDiaAbierto);
		              		$o_ObjectBean->setIdColaborador($idColaborador);
		              		$o_ObjectBean->tamPag = 9999;		 			
				 			
		              		$o_ObjectDP = new PagoDP($o_ObjectBean);
				 			$a_o_ObjectDP = $o_ObjectDP->select();
				 			
				 			if(is_array($a_o_ObjectDP) && count($a_o_ObjectDP)){
				 				$i = $j;
				 				foreach ($a_o_ObjectDP as $key => $o_ObjectDP) {
				 					if($o_ObjectDP->getMontoPago() > 0){
					 					
				 						$idprestamo = $o_ObjectDP->getIdPrestamo();
				 						$o_PrestamoBean = new PrestamoBean();
				 						$o_PrestamoBean->setIdPrestamo($idprestamo);
				 						$o_PrestamoDP = new PrestamoDP($o_PrestamoBean);
				 						$a_o_PrestamoDP = $o_PrestamoDP->select();
				 						$o_Prestamo = $a_o_PrestamoDP[0];
				 						$idcliente = $o_Prestamo->getIdCliente();
				 						
				 						$idCliente = $o_ObjectDP->getIdCliente();
					 					$o_ClienteBean = new ClienteBean();
					 					$o_ClienteBean->setIdCliente($idcliente);
					 					$o_clieneteDP = new ClienteDP($o_ClienteBean);
					 					$a_cliente = $o_clieneteDP->selectByPk();
					 					$o_cliente = $a_cliente[0];
					 					$nombrecompleto = $o_cliente->getNombreCompleto();
				 						
					 					$a_transacciones[$i]['tipo_transaccion'] = "pago";
					 					$sumaMontoPagado 	+= $o_ObjectDP->getMontoPago();
					 					if($o_ObjectDP->getTipoPago()=="2"){
					 						$a_transacciones[$i]['tipo_transaccion'] .="-mora";
					 					}
					 					$a_transacciones[$i]['nombrecompleto'] = (string)$nombrecompleto;
					 					$a_transacciones[$i]['monto'] = (float)$o_ObjectDP->getMontoPago();
					 					$a_transacciones[$i]['hora_registro'] = $o_ObjectDP->getFechaCreacion();
					 					$i++;
				 					}
				 				}
							}
							//$o_user = new user_class();
							//if ($o_user->findUser($idusuario)){
							
						    //sort by parent_id in descending order
						    if(is_array($a_transacciones)){
						    	$a_transacciones = multi_sort($a_transacciones, "parent_id", false);
						    }else{
						    	$a_transacciones = 0;
						    }
						    
							$a_resultado["nombre_mercado"] 	= $nombreMercado;
							$a_resultado["asesor"]			= (string)$Asesor;
							$a_resultado["caja_asignada"]	= $sumaCapitalIncial;	 						
							$a_resultado["balance_caja"]	= $sumaCapitalIncial - $sumaMontoPrestado + $sumaMontoGA + $sumaMontoPagado;	 						
							$a_resultado["registros"]  		= $a_transacciones;
				 			
				 			$a_resultado['estado'] = "1";
							$a_resultado['mensaje'] = "Exito";
 						}
					}
					
		 		break;
		 		case "estado_cuenta":	
					$idusuario 				= $o_datos['idusuario'];
					$idprestamo 			= $o_datos['idprestamo'];		
					
					if($idprestamo){
						
						$o_Pago = new PagoBean();
						$o_Pago->setIdPrestamo($idprestamo);
						
						$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){
								if($o_pago->getMontoPago() > 0){
									$a_cuota['idcuota'] 	= $o_pago->getIdPago();
									$a_cuota['tipopago'] 	= $o_pago->getTipo();
									$a_cuota['monto'] 		= $o_pago->getMontoPago();
									$a_cuota['fecha'] 		= substr($o_pago->getFechaPago(),0,10);
									$a_listapagos[] 		= $a_cuota;
									$cont_cuotas_pagadas[$a_cuota['fecha']]++;
								}else{
									$cont_cuotas_no_pagadas[$a_cuota['fecha']]++;
								}
							}
						}
						$a_resultado['CP'] = (int)count($cont_cuotas_pagadas);
						$a_resultado['CNP'] = (int)count($cont_cuotas_no_pagadas);
						$a_resultado['cuota'] = $a_listapagos;
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
					}else{
 						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el prestamo";
 					}					
				break;
				case "caja_tiempo_real":	
					$idusuario 				= $o_datos['idusuario'];
					$idsucursal				= $o_datos['idsucursal'];		
					$idmercado				= $o_datos['idmercado'];	
					//Minimo debe pasar una sucursal
					
					$o_user 		= new user_class();
		 			if ($o_user->findUser($idusuario)){
						$o_ObjectBean 		= new SucursalBean();
						if($idsucursal)		$o_ObjectBean->setIdSucursal($idsucursal);
						
						$o_class 					= new SucursalBL();
						$a_ObjectBean 				= $o_class->busquedaSucursal($o_ObjectBean);
						
						if(count($a_ObjectBean)>0){
							
					    	foreach ($a_ObjectBean as $iKey => $o_objBean){
					    		$idsucursal 		= $o_objBean->getIdSucursal();
					    		$idadministrador 	= $o_objBean->getIdAdministrador();
					    		$descripcionsucursal= $o_objBean->getDescripcion();
					    		$a_Colaborador 		= null;
					    		$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();
									}
								}
								
								$o_BalanceDiaNew = new BalanceDiaBean();
								$o_BalanceDiaNew->setIdColaboradorPermitido($a_Colaborador); 
								$o_BalanceDiaNew->setIdAdministrador($idadministrador); 
								$o_BalanceDiaNew->setIdSucursal($idsucursal); 
								
								
								$o_BalanceDiaNewDP 		= new BalanceDiaDP($o_BalanceDiaNew);
								$fechaBalanceAbierto  	= $o_BalanceDiaNewDP->ObtenerDiaAbierto();
								$a_ResumenColaborador 	= $o_BalanceDiaNewDP->ObtenerColaboradoresNewBalance($fechaBalanceAbierto);	
								
								if(is_array($a_ResumenColaborador)){
									$Total = 0;
									$a_caja_real = null;
		    						foreach ($a_ResumenColaborador as $key => $a_ResesumenDiario) {
		    							$o_MercadoRepresentante = new MercadoRepresentanteBean();
										$o_MercadoRepresentante->setIdColaborador($a_ResesumenDiario['IdColaborador']);
										$o_MercadoRepresentanteBL = new MercadoRepresentanteBL();
										$a_o_repmer = $o_MercadoRepresentanteBL->busquedaMercadoRepresentanteDetalle($o_MercadoRepresentante);
										foreach ($a_o_repmer as $key => $o_repmer){
											$o_MercadoBean = new MercadoBean();
											$o_MercadoBean->setIdMercado($o_repmer->getIdMercado());
											$o_MercadoDP = new MercadoDP($o_MercadoBean);
											$a_MercadoDP = $o_MercadoDP->select();
											foreach ($a_MercadoDP as $key => $o_MercadoDP){
												$idmercado 				= $o_MercadoDP->getIdMercado();	
												$descripcionmercado 	= $o_MercadoDP->getDescripcion();	
											}
										}
										
										
		    							//$a_ResesumenDiario['NombreCompleto'];
		    								
		    							$a_caja_real[$idmercado]['descripcion_sucursal'] 	= (string)$descripcionsucursal; 
		    							$a_caja_real[$idmercado]['descripcion_mercado'] 	= (string)$descripcionmercado; 
		    							$a_caja_real[$idmercado]['balance'] 				+= 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);
			          					$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);
		    						}
		    						
								}
								
								$a_resulta_pre[$idsucursal]['totalsucursal']	= $Total;
								$a_resulta_pre[$idsucursal]['mercados'] 		= $a_caja_real;
								
					    	}
					    	$a_resultado['caja_tiempo_real'] = $a_resulta_pre;
							$a_resultado['estado'] = "1";
							$a_resultado['mensaje'] = "Exito";
					    }
					}else{
 						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
 					}					
				break;
				case "lista_pedidos":	
					$idusuario 			= $o_datos['idusuario'];
					
					$idsucursal 		=  $o_datos['idsucursal'];
		 			$idmercado	 		=  $o_datos['idmercado'];
					
					$idcliente 			= $o_datos['idcliente'];
					$apellido_paterno	= $o_datos['apellido_paterno'];
					
					
					
					$o_user 		= new user_class();
 					if ($o_user->findUser($idusuario)){
 						$a_SucursalMercado 	= sucursalMercado($o_user);
						/*
						echo "<pre>";
						
						print_r($a_SucursalMercado);
						echo "</pre>";
						*/
						$a_idColaborador 	= $a_SucursalMercado["idcolaboradores"];	
						
						$o_class = new Cr_pedido_prestamoFN(); 
						
						// Foto de Negocio
		 				 $i_IdTipoFile = "8";
		 				
		 				 $o_ObjectFN_TN = new Cr_cliente_fileFN();
						 $o_ObjectBN_TN = $o_ObjectFN_TN->selectByPK( $i_IdTipoFile );
						 
						 if( $o_ObjectBN_TN)
						{
						    $s_NombreFile = $o_ObjectBN_TN->getNombreFile();
						    $s_Destino_Negocio = $ruta.$s_NombreFile;
						}
		 				
						 // Foto de Negocio
		 				 $i_IdTipoFile = "6";
		 				
		 				 $o_ObjectFN_TC = new Cr_cliente_fileFN();
						 $o_ObjectBN_TC = $o_ObjectFN_TC->selectByPK( $i_IdTipoFile );
						 
						 if( $o_ObjectBN_TC )
						{
						    $s_NombreFile = $o_ObjectBN_TC->getNombreFile();
						    $s_Destino_Domicilio = $ruta.$s_NombreFile;
						}
						
						
						
						if(is_array($a_idColaborador)){
							$o_class->addCondition( Cr_pedido_prestamoFN::IdColaborador, "in", "('".implode("','",$a_idColaborador)."')" );
						}
						if( $idColaborador != "" )  { $o_class->setIdColaborador( $idColaborador );}
						
						if($idsucursal){
							$o_ObjectBeanSuc = new SucursalMercadoBean();
						    
						  	$cboSucursal = (int)$idsucursal;
						  	$o_ObjectBeanSuc->setIdSucursal($idsucursal);
						  
						  	$o_classS = new SucursalMercadoBL();
						  	$a_ObjectSucursalMercadoBean = $o_classS->busquedaSucursalMercadoDetalle($o_ObjectBeanSuc);
							
							
							if(array($a_ObjectSucursalMercadoBean)){
								foreach ($a_ObjectSucursalMercadoBean as $key => $ObjectSucursalMercadoBean){
									$a_IdMercados[] = $ObjectSucursalMercadoBean->getIdMercado();
								}
								$o_class->addCondition( Cr_pedido_prestamoFN::IidMercado, "in", "('".implode("','",$a_IdMercados)."')" );
							}
						}
						if($idcliente)$o_class->setIdCliente($idcliente);
						
						if($idmercado) $o_class->setIidMercado($idmercado);
						
						$o_class->setEstado("A"); 
						
						$a_pedidos = $o_class->select();
						if(is_array($a_pedidos)){
							
							
							
							foreach ($a_pedidos as $key => $pedido){
								
								
						
								$o_ClienteBeantemp = new ClienteBean();
								$o_ClienteBeantemp->setIdCliente($pedido->getIdCliente());
								$o_ClienteBLtemp = new ClienteBL();
								$o_ClienteBean = $o_ClienteBLtemp->busquedaCliente( $o_ClienteBeantemp );
																
								
								$IdCliente 		= $o_ClienteBean[0]->getIdCliente();
								$Semaforo 		= $o_ClienteBean[0]->getSemaforo();
								
								$NombreCompleto = $o_ClienteBean[0]->getNombreCompleto();
								$Telefono	 	= $o_ClienteBean[0]->getTelefono();
								$Celular	 	= $o_ClienteBean[0]->getCelular();
								$Direccion	 	= $o_ClienteBean[0]->getDireccion();
								
								$LongitudDomicilio	 	= $o_ClienteBean[0]->getLongitudDomicilio();
								$LatitudDomicilio	 	= $o_ClienteBean[0]->getLatitudDomicilio();
								$LongitudNegocio	 	= $o_ClienteBean[0]->getLongitudNegocio();
								$LatitudNegocio		 	= $o_ClienteBean[0]->getLatitudNegocio();
								
								$a_clientes[$pedido->getIdCliente()]["nombre_completo"] 	= (string)utf8_encode(ucwords(mb_strtolower($NombreCompleto)));
					    		$a_clientes[$pedido->getIdCliente()]["telefono"] 			= (string)$Telefono;
					    		$a_clientes[$pedido->getIdCliente()]["celular"] 			= (string)$Celular;
					    		$a_clientes[$pedido->getIdCliente()]["direccion"] 			= (string)$Direccion;
					    		$a_clientes[$pedido->getIdCliente()]["gasto_administrativo"] 	= 2;
					    		
					    		$a_clientes[$pedido->getIdCliente()]["ruta_foto_negocio"]	= (string)$url_base.$s_Destino_Negocio;
					    		$a_clientes[$pedido->getIdCliente()]["ruta_foto_domicilio"]	= (string)$url_base.$s_Destino_Domicilio;
					    		$a_clientes[$pedido->getIdCliente()]["ubicacion_domicilio_longitud"]= (string)$LongitudDomicilio;
					    		$a_clientes[$pedido->getIdCliente()]["ubicacion_domicilio_latitud"]	= (string)$LatitudDomicilio;
					    		$a_clientes[$pedido->getIdCliente()]["ubicacion_negocio_longitud"]	= (string)$LongitudNegocio;
					    		$a_clientes[$pedido->getIdCliente()]["ubicacion_negocio_latitud"]	= (string)$LatitudNegocio;
					    		$a_clientes[$pedido->getIdCliente()]["idcliente"] 		= $IdCliente;
					    		$a_clientes[$pedido->getIdCliente()]["semaforo"] 		= $Semaforo;
								
								
					    		
					    		$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['idpedido'] 	= $pedido->getidpedido();	
					    		
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['monto_pedido'] = $pedido->getMontoFinal();	
				    			
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['saldo'] 		= (float)$pedido->getSaldoAnterior();	
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['monto_extra']	= (float)$pedido->getMontoExtraFinal();	
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['interes']	= $pedido->getInteresPorcentajeFinal()."%";	
				    			
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['duracion']			= $pedido->getDuracionFinal()." "."días";	
				    			if($pedido->getPeridiocidadPagoFinal()){
				    				switch ($pedido->getPeridiocidadPagoFinal()){
				    					case "D": $periodofinal = "Diario";break;
				    					case "S": $periodofinal = "Semanal";break;
				    					case "M": $periodofinal = "Mensual";break;
				    				}
				    			}
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['periodo']				= (string)$periodofinal;	
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['gastos_administrativos']= (float)$pedido->getGastoAdministrativoFinal();	
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['fecha_pedido']= $pedido->getFechaTransaccion();	
				    			
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['estado']			= (string)$pedido->getEstado();	
				    			$a_pedido[$pedido->getIdCliente()][$pedido->getidpedido()]['tipo']			= (string)$pedido->getTipo();	
				    			
				    			$a_clientes[$pedido->getIdCliente()]['pedido'] 						= $a_pedido[$pedido->getIdCliente()];		    			
						
							}
							
							$a_resultado['clientes'] 		= $a_clientes;		
							$a_resultado['estado'] = "1";
							$a_resultado['mensaje'] = "Exito";
						}else{
							$a_resultado['estado'] = "40";
							$a_resultado['mensaje'] = "No hay pedidos";
						}
 					}else{
 						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
 					}
				break;
				case "pedido_renovacion":	
					$idusuario 						=  $o_datos['idusuario'];
					$idprestamo 					=  $o_datos['idprestamo'];
					
					$idcliente 						=  $o_datos['idcliente'];
					$idprestamo 					=  $o_datos['idprestamo'];
					
					
					$interes	 					=  $o_datos['interes'];
					$mora		 					=  $o_datos['mora'];
					
					$monto			 				=  $o_datos['monto'];
					
					$saldo			 				=  $o_datos['saldo'];
					
					$monto_extra	 				=  $o_datos['monto_extra'];
					
					$fecha_pedido 					=  $o_datos['fecha_pedido'];
					$interes	 					=  $o_datos['interes'];
					
					$periodo	 					=  $o_datos['periodo'];
					$duracion	 					=  $o_datos['duracion'];
					$hora		 					=  $o_datos['hora'];
					$minuto		 					=  $o_datos['minuto'];
					$observacion 					=  $o_datos['comentario'];
					$telefono_contacto 				=  $o_datos['telefono_contacto'];
					$hora_atencion	 				=  $o_datos['hora_atencion'];
					
					
					$gastos_administrativos	 		=  $o_datos['gastos_administrativos'];
					
					$ubicacion_registro_latitud		=  $o_datos['ubicacion_registro_latitud'];
					$ubicacion_registro_longitud	=  $o_datos['ubicacion_registro_longitud'];
					
					$o_user 		= new user_class();
 					if ($o_user->findUser($idusuario)){
 						
 						//Consultar el prestamo si cumple la el pedido de renovacion
 						$o_PrestamoBean = new PrestamoBean();
 						$o_PrestamoBean->setIdPrestamo($idprestamo);
 						
 						$o_PrestamoDP = new PrestamoDP($o_PrestamoBean);
 						$a_o_PrestamoDP = $o_PrestamoDP->select();
 						
 						if(is_array($a_o_PrestamoDP)){
 							
 							foreach ($a_o_PrestamoDP as $key => $o_Prestamo){
 								$SaldoPrestamo 	= $o_Prestamo->getSaldoPrestamo();
 								$Estado 		= $o_Prestamo->getEstado();
 								$IdPedidoReferencia = $o_Prestamo->getIdPedidoReferencia();
 								
 								if(!$IdPedidoReferencia){
	 								if($Estado == "P"){
	 									$saldo = $SaldoPrestamo;
	 									$monto = $saldo + $monto_extra;
		 						
				 						$fechaDiaAbierto 	= fechaDiaAbierto($idusuario);
										   
									    if($fecha_pedido && $fecha_pedido <= $fechaDiaAbierto){
									    	$a_resultado['estado'] = "100";
											$a_resultado['mensaje'] = "La Fecha ".$fecha_pedido." de Pedido fuera de rango de fecha dia abierto ".$fechaDiaAbierto;
									    }else{
					 						
											$a_SucursalMercado 	= sucursalMercado($o_user);
															
											$idColaboradorP 	= getColaboradorxCliente($idcliente);
											
											$o_ClienteBean = new ClienteBean();
										  	$o_ClienteBean->setIdCliente($idcliente);
										  	
										  	$o_ClienteDP = new ClienteDP($o_ClienteBean);
										  	$a_clientes = $o_ClienteDP->select();
										  	if(is_array($a_clientes)){
										  		foreach ($a_clientes as $key => $o_cliente){
										  			$idMercado = $o_cliente->getIdMercado();
										  		}
										  	}
																
										    $o_Cr_pedido_prestamoDP = new Cr_pedido_prestamoDP();
										    $o_Cr_pedido_prestamoDP->setTipo('R' );
										    $o_Cr_pedido_prestamoDP->setMontoExtra((float)$monto_extra );
										    $o_Cr_pedido_prestamoDP->setSaldoAnterior((float)$saldo);
										    $o_Cr_pedido_prestamoDP->setIdCliente( ( int ) $idcliente );
										    
										    $o_Cr_pedido_prestamoDP->setIdPrestamo( ( int ) $idprestamo);
										    
										    $o_Cr_pedido_prestamoDP->setIidMercado( ( int ) $idMercado );
										    
										    $o_Cr_pedido_prestamoDP->setIdColaborador( (int) $idColaboradorP );
										    
										    $o_Cr_pedido_prestamoDP->setMonto( floatval( $monto ) );
										    $o_Cr_pedido_prestamoDP->setTelefonoContacto( $telefono_contacto );
										    $o_Cr_pedido_prestamoDP->setInteresPorcentaje( ( int ) $interes );
										    $o_Cr_pedido_prestamoDP->setDuracion	( ( int ) $duracion );
										    $o_Cr_pedido_prestamoDP->setPeridiocidadPago( $periodo );
										    $o_Cr_pedido_prestamoDP->setHoraAtencion	( $hora_atencion );
										    $o_Cr_pedido_prestamoDP->setRegistroLatitud	( (string)$ubicacion_registro_latitud );
										    $o_Cr_pedido_prestamoDP->setRegistroLongitud	( (string)$ubicacion_registro_longitud );
										    $o_Cr_pedido_prestamoDP->setEliminado( -1 );
										    $o_Cr_pedido_prestamoDP->setObservacion( $comentario );
										    $o_Cr_pedido_prestamoDP->setGastoAdministrativo((float)$gastos_administrativos);
										    $o_Cr_pedido_prestamoDP->setInteresPorcentaje((float)$interes);
											
										    
									        //SAVE
									        $o_Cr_pedido_prestamoDP->setFechaTransaccion( $fechaDiaAbierto );
									        $o_Cr_pedido_prestamoDP->setFechaEntrega( $fecha_pedido );
									        $o_Cr_pedido_prestamoDP->setEstado( "P" );
									        $i_IdPedido = Cr_pedido_prestamoDP::getNextId();
									        $o_Cr_pedido_prestamoDP->setIdpedido( ( int ) $i_IdPedido );
									        $o_Cr_pedido_prestamoDP->setFechaCreacion( date( "Y-m-d H:i:s" ) );
									        $o_Cr_pedido_prestamoDP->setUsuarioCreacion( $idusuario );
									        $b_Result = $o_Cr_pedido_prestamoDP->save();
									        
									        if($b_Result){
									        	
									        	//Actualizar el prestamo con el idpedidoreferencia
									        	$o_PrestamoBean = new PrestamoBean();
						 						$o_PrestamoBean->setIdPrestamo($idprestamo);
						 						$o_PrestamoBean->setIdPedidoReferencia($i_IdPedido);
						 						
						 						$o_PrestamoDP = new PrestamoDP($o_PrestamoBean);
						 						$o_PrestamoDP->update();
									        	
									        	$o_Cr_pedido_prestamoFN = new Cr_pedido_prestamoFN();
									        	$o_Cr_pedido_prestamoBN = $o_Cr_pedido_prestamoFN->selectByPK($i_IdPedido);
									        	
									        	$a_pedidoNuevo['idpedido'] 	= $o_Cr_pedido_prestamoBN->getIdpedido();
									        	$a_pedidoNuevo['capital'] 	= (float)$o_Cr_pedido_prestamoBN->getMonto();
									        	$a_pedidoNuevo['interes'] 	= (float)$o_Cr_pedido_prestamoBN->getInteresPorcentaje();
									        	$a_pedidoNuevo['estado'] 	= $o_Cr_pedido_prestamoBN->getEstado();
									        				
												$a_resultado['estado'] = "1";
												$a_resultado['mensaje'] = "Exito";
												$a_resultado['nuevo_prestamo'] = $a_pedidoNuevo;
									        	
									        }else{
									        	$a_resultado['estado'] = "2";
												$a_resultado['mensaje'] = "No se registro el pedido";
									        }	
	 									
	 									}
	 								}else{
	 									$a_resultado['estado'] = "70";
										$a_resultado['mensaje'] = "No se permite, Prestamo no esta en estado Pendiente";
	 								}
 								}else{
 									$a_resultado['estado'] = "80";
									$a_resultado['mensaje'] = "Acción no permitida, préstamo con pedido realizado: ".$IdPedidoReferencia;
 								}
 							}
 						
						    
 						}else{
	 						$a_resultado['estado'] = "10";
							$a_resultado['mensaje'] = "No existe el prestamo";
	 					}
				        
 					}else{
 						$a_resultado['estado'] = "4";
						$a_resultado['mensaje'] = "No existe el usuario";
 					}
				break;
				case "generar_prestamo_sobre_pedido":	
					$idusuario 	= $o_datos['idusuario'];
					$idpedido 	= $o_datos['idpedido'];
					$huella 	= $o_datos['huella'];
					$ubicacion_registro_latitud		=  $o_datos['ubicacion_registro_latitud'];
					$ubicacion_registro_longitud	=  $o_datos['ubicacion_registro_longitud'];
					$o_user 		= new user_class();
			 		if ($o_user->findUser($idusuario)){
						
			 			
			 			$o_Cr_pedido_prestamoFN = new Cr_pedido_prestamoFN();

						$o_Cr_pedido_prestamoBN = $o_Cr_pedido_prestamoFN->selectByPK( $idpedido );
						if( $o_Cr_pedido_prestamoBN )
						{
						    //echo "<pre>"; print_r( $o_Cr_pedido_prestamoBN ); echo "</pre>";
						    $Tipo   				= $o_Cr_pedido_prestamoBN->getTipo();
						    $FechaTransaccion   	= $o_Cr_pedido_prestamoBN->getFechaTransaccion();
						    $Estado   				= $o_Cr_pedido_prestamoBN->getEstado();
						    						    
						    $fechaDiaAbierto 		= fechaDiaAbierto($idusuario);
						    
						    $SaldoAnteriorPedido = $o_Cr_pedido_prestamoBN->getSaldoAnterior();
						    
						    //Verificar que el pedido este en estado A (Aprobado) para que pueda hacer todo el procedimiento 
						    
						    if($Estado == "A"){
						    
							    if($Tipo == "R"){
							    	
							    	//Verificar que prestamo le corresponde el id del pedido
							    	
								    $o_PrestamoBean = new PrestamoBean();
			 						$o_PrestamoBean->setIdPedidoReferencia($idpedido);
			 						
			 						$o_PrestamoDP = new PrestamoDP($o_PrestamoBean);
			 						$a_o_PrestamoDP = $o_PrestamoDP->select();
			 						
			 						if(is_array($a_o_PrestamoDP)){
		 								foreach ($a_o_PrestamoDP as $key => $o_Prestamo){
		 									$IdPrestamo 	= $o_Prestamo->getIdPrestamo();	
		 									$SaldoAnterior 	= $o_Prestamo->getSaldoPrestamo();
		 									$Estado 		= $o_Prestamo->getEstado();
		 									$IdCliente 		= $o_Prestamo->getIdCliente();
		 									$idColaborador 	= getColaboradorxCliente($IdCliente);
		 								}
			 						}
			 						
			 						$o_PrestamoBeanT = new PrestamoBean();
			 						$o_PrestamoBeanT->setIdPrestamoReferencia($IdPrestamo);
			 						
			 						$o_PrestamoDPT = new PrestamoDP($o_PrestamoBeanT);
			 						$a_o_PrestamoDPT = $o_PrestamoDPT->select();
			 						
			 						if(is_array($a_o_PrestamoDPT)){
				 						foreach ($a_o_PrestamoDPT as $key => $o_Prestamo){
		 									$IdPrestamoG 	= $o_Prestamo->getIdPrestamo();	
		 								}
			 						}
			 						
							    	$MontoFinal         = $SaldoAnterior + $o_Cr_pedido_prestamoBN->getMontoExtraFinal();
							    }elseif($Tipo == "N"){
							    	$MontoFinal         = $o_Cr_pedido_prestamoBN->getMontoFinal();	
							    }
							    
							    if($SaldoAnteriorPedido != $SaldoAnterior){
							    	$add_observacion = "El saldo del prestamo ha variado desde que fue emitido el pedido hasta hoy.";
							    }
							    
							  if(!is_array($a_o_PrestamoDPT)){
							        
								    
								    $TelefonoContacto   = $o_Cr_pedido_prestamoBN->getTelefonoContacto();
								    $IdCliente          = $o_Cr_pedido_prestamoBN->getIdCliente();
								    $GastoAdministrativo = $o_Cr_pedido_prestamoBN->getGastoAdministrativoFinal();
								    $cboInteres			= $o_Cr_pedido_prestamoBN->getInteresPorcentajeFinal();
								    $MontoExtra			= $o_Cr_pedido_prestamoBN->getMontoExtraFinal();
								    $cboFormaPago	 	= $o_Cr_pedido_prestamoBN->getPeridiocidadPagoFinal();
								    $cboDuracion		= $o_Cr_pedido_prestamoBN->getDuracionFinal();
								    $Estado        		= $o_Cr_pedido_prestamoBN->getEstado();
								    $HoraAtencion       = $o_Cr_pedido_prestamoBN->getHoraAtencion();
								    $ObservacionFinal   = $o_Cr_pedido_prestamoBN->getObservacionFinal();
								    $FechaModificacion  = $o_Cr_pedido_prestamoBN->getFechaModificacion();
								    $ObservacionFinal  = $o_Cr_pedido_prestamoBN->getObservacionFinal();
								    
								    				    
								    $txtCapital 		= $MontoFinal;
								    $o_PrestamoBean 	= new PrestamoBean();
								    $o_PrestamoBean->setIdCliente($IdCliente);
								    $o_PrestamoBean->setMontoPrestado($txtCapital);
								    $o_PrestamoBean->setFechaInicio($fechaDiaAbierto);
								    $o_PrestamoBean->setInteresPorcentaje($cboInteres);
								    $montoTotal 	= round($txtCapital*($cboInteres/100+1),1);
								    $SaldoPrestamo 	= $montoTotal;
								    $o_PrestamoBean->setMontoTotal($montoTotal);
								    $o_PrestamoBean->setGastoAdministrativo($GastoAdministrativo);
								    $o_PrestamoBean->setPeriodicidadPago($cboFormaPago);
								    $o_PrestamoBean->setSaldoPrestamo($SaldoPrestamo);
								    $o_PrestamoBean->setDuracion($cboDuracion);
								    $o_PrestamoBean->setFlagReporte("2");
								    $o_PrestamoBean->setIdPedidoReferencia($i_Id);
								    $o_PrestamoBean->setRegistroLatitud($ubicacion_registro_latitud);
								    $o_PrestamoBean->setRegistroLongitud($ubicacion_registro_longitud);
								    
								    switch ($cboFormaPago){
								    	case "D" : 
								    			switch ($cboDuracion){
								    				/**********************/
								    				case 7 :  $MontoCuota = round($montoTotal/5,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +7 days'));
								    						  $NroCuotas=5; break;
								    				/*********************/
								    				case 15 : $MontoCuota = round($montoTotal/13,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +15 days'));
								    						  $NroCuotas=13; break;
								    				case 30 : $MontoCuota = round($montoTotal/26,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +30 days'));
								    						  $NroCuotas=26; break;
								    				case 45 : $MontoCuota = round($montoTotal/39,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +45 days'));
								    						  $NroCuotas=39; break;
								    				case 60 : $MontoCuota = round($montoTotal/52,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +60 days'));
								    						  $NroCuotas=52; break;
								    				case 75 : $MontoCuota = round($montoTotal/65,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +75 days'));
								    						  $NroCuotas=65; break;
								    				case 90 : $MontoCuota = round($montoTotal/88,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +90 days'));
								    						  $NroCuotas=88; break;
								    			}
								    			break;
								    	case "S":
								    			switch ($cboDuracion){
								    				/**********************/
								    				case 7 :  $MontoCuota = round($montoTotal/1,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +7 days'));
								    						  $NroCuotas=1; break;
								    				/*********************/
								    				case 15 : $MontoCuota = round($montoTotal/2,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +15 days'));
								    						  $NroCuotas=2; break;
								    				case 30 : $MontoCuota = round($montoTotal/4,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +30 days'));
								    						  $NroCuotas=4; break;
								    				case 45 : $MontoCuota = round($montoTotal/6,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +45 days'));
								    						  $NroCuotas=6; break;
								    				case 60 : $MontoCuota = round($montoTotal/8,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +60 days'));
								    						  $NroCuotas=8; break;
								    				case 75 : $MontoCuota = round($montoTotal/10,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +75 days'));
								    						  $NroCuotas=10; break;
								    				case 90 : $MontoCuota = round($montoTotal/12,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +90 days'));
								    						  $NroCuotas=12; break;
								    			}
								    			break;
								    	case "Q":
								    			switch ($cboDuracion){	
								    				case 15 : $MontoCuota = round($montoTotal/1,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +15 days'));
								    						  $NroCuotas=1; break;
								    				case 30 : $MontoCuota = round($montoTotal/2,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +30 days'));
								    						  $NroCuotas=2; break;
								    				case 45 : $MontoCuota = round($montoTotal/3,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +45 days'));
								    						  $NroCuotas=3; break;
								    				case 60 : $MontoCuota = round($montoTotal/4,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +60 days'));
								    						  $NroCuotas=4; break;
								    				case 75 : $MontoCuota = round($montoTotal/5,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +75 days'));
								    						  $NroCuotas=5; break;
								    				case 90 : $MontoCuota = round($montoTotal/6,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +90 days'));
								    						  $NroCuotas=6; break;
								    			}
								    			break;
								    	case "M":
								    			switch ($cboDuracion){	
								    				
								    				case 30 : $MontoCuota = round($montoTotal/1,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +30 days'));
								    						  $NroCuotas=1; break;
								    				case 60 : $MontoCuota = round($montoTotal/2,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +60 days'));
								    						  $NroCuotas=2; break;
								    				case 90 : $MontoCuota = round($montoTotal/3,2);
								    						  $fechaVencimiento = date('Y-m-d',strtotime($fecha.' +90 days'));
								    						  $NroCuotas=3; break;
								    			}
								    			break;
								    }
								    if($cboDuracion){
									    $o_PrestamoBean->setCuotaPago($MontoCuota);
									    $o_PrestamoBean->setFechaVencimiento($fechaVencimiento);
									    $InteresMonto=$montoTotal-$txtCapital;
									    $o_PrestamoBean->setInteresMonto($InteresMonto);
									    $o_PrestamoBean->setNroCuotas($NroCuotas);
									    $o_PrestamoBean->setObservacion($txtObservacion);
									    $o_PrestamoBean->setIdPedidoReferencia($idpedido);
									    if($Tipo == "R"){
									    	$o_PrestamoBean->setOrigen("F");
									    	$o_PrestamoBean->setMontoExtra($MontoExtra);
									    	$o_PrestamoBean->setIdPrestamoReferencia($IdPrestamo);
									    }else{
									    	$o_PrestamoBean->setOrigen("R");
									    }
									    //$o_PrestamoBean->setLimiteCredito($LineaCredito);
									    
									    $o_PrestamoBean->setFechaCreacion(date("Y-m-d H:i:s"));
									  	$o_PrestamoBean->setUsuarioCreacion($idusuario);
									    $o_PrestamoBean->setIdColaborador($idColaborador);
									    
									    $o_PrestamoBL = new PrestamoBL();
									    $bResult = $o_PrestamoBL->insertarPrestamo($o_PrestamoBean);
									    
									     if($bResult){
											
											$o_PrestamoBeanAnt = new PrestamoBean();
											$o_PrestamoBeanAnt->setIdPrestamo($IdPrestamo);
											$o_PrestamoBeanAnt->setEstado("C");
											$o_PrestamoBeanAnt->setFechaCancelacion($fechaDiaAbierto);
											$o_PrestamoBeanAnt->setFechaModificacion(date("Y-m-d H:i:s"));
										  	$o_PrestamoBeanAnt->setUsuarioModificacion($idusuario);
											$o_class = new PrestamoBL();
											$a_ObjectBeanAnt = $o_class->modificarPrestamo($o_PrestamoBeanAnt);
											
											if($mora){
												$o_PagoBean = new PagoBean();
												$o_PagoBean->setIdPrestamo($IdPrestamo);
												$o_PagoBean->setFechaPago($fechaDiaAbierto);
												$o_PagoBean->setTipopago('2');
												$o_PagoBean->setMontoPago($mora);
												$o_PagoBean->setIdColaborador($idColaborador);
												$o_PagoBean->setFechaCreacion(date("Y-m-d H:i:s"));
												$o_PagoBean->setUsuarioCreacion($idusuario);
												$o_PagoDP = new PagoDP($o_PagoBean);
												$o_PagoDP->save();
											}
																																
											$o_newPrestamoBean = new PrestamoBean();
											$o_newPrestamoBean->setIdPrestamo($bResult);
											
											$o_newPrestamoDP = new PrestamoDP($o_newPrestamoBean);
											$a_newPrestamoBean = $o_newPrestamoDP->select();
											
											$o_newPrestamoDP->updatePedidoGenerado($fechaDiaAbierto,$idpedido,$bResult,$ObservacionFinal." ".$add_observacion);
											
											$o_newPrestamo = $a_newPrestamoBean[0];
											
											$a_prestamoNuevo['idprestamo'] 			= $o_newPrestamo->getIdPrestamo();
											$a_prestamoNuevo['monto_total']			= (float)$o_newPrestamo->getMontoTotal();
											$a_prestamoNuevo['capital']				= (float)$o_newPrestamo->getMontoPrestado();
											$a_prestamoNuevo['monto_interes']		= (float)$o_newPrestamo->getInteresMonto();
											$a_prestamoNuevo['saldo']				= (float)$o_newPrestamo->getSaldoPrestamo();
											$a_prestamoNuevo['interes']				= (float)$o_newPrestamo->getInteresPorcentaje();
											$a_prestamoNuevo['gastos_administrativos']	= (float)$o_newPrestamo->getGastoAdministrativo();
											$a_prestamoNuevo['fecha_prestamo']		= $o_newPrestamo->getFechaInicio();
											$a_prestamoNuevo['fecha_vencimiento']	= $o_newPrestamo->getFechaVencimiento();
											$a_prestamoNuevo['estado']				= $o_newPrestamo->getEstado();
											
											
									    	$a_resultado['nuevo_prestamo'] = $a_prestamoNuevo;
											$a_resultado['estado'] = "1";
											$a_resultado['mensaje'] = "Exito";
									    }
								    
								    }
								    
								}else{
									$a_resultado['estado'] = "100";
									$a_resultado['mensaje'] = "Acción no permitida, préstamo pedido ya genero prestamo: ".$IdPrestamoG;
								}
							}else{
								$a_resultado['estado'] = "90";
								$a_resultado['mensaje'] = "Acción no permitida, el pedido no esta en estado Aprobado ".$Estado;
							}
							    
						}
			 			
			 			
						
			 		}else{
						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
					}
				break;
				default:
					$a_resultado['estado'] = "80";
					$a_resultado['mensaje'] = "jjjjjjjjj";
		}
	
			
	}
	else
	{
		$a_resultado['estado'] = "3";
		$a_resultado['mensaje'] = "Token No valido";
		
	}
	if(is_array($a_resultado)){
		$a_respuesta["resultado"] = $a_resultado;
		//echo "<pre>";	
		//print_r($a_resultado);
		print json_encode($a_respuesta);
		//echo "</pre>";
	}		



?>
