function jsaGuardarPolizas($fecha, $tipo, $centrocosto, $concepto)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xPol = new cPoliza($tipo);
    $xPol->add($concepto, $fecha, false, 0, 0, false, $centrocosto);
    return $xPol->getMessages();
}
function jsaGetListadoDeAvisos($tipo, $fecha_inicial, $fecha_final)
{
    $tipo = $tipo == SYS_TODAS ? false : $tipo;
    $xF = new cFecha();
    $xAl = new cAml_alerts();
    $xlistas = new cSQLListas();
    $xBtn = new cHButton();
    $xImg = new cHImg();
    $fecha_inicial = $xF->getFechaISO($fecha_inicial);
    $fecha_final = $xF->getFechaISO($fecha_final);
    $sql = $xlistas->getListadoDeRiesgosConfirmados($fecha_inicial, $fecha_final, $tipo);
    // getListadoDeAlertas($tipo, $fecha_inicial, $fecha_final, false, " AND `estado_en_sistema`= " . SYS_UNO);
    $xT = new cTabla($sql);
    $xT->addEspTool($xImg->get24("check", " onclick=\"jsConfirmRiesgo(_REPLACE_ID_)\" "));
    $xT->addEspTool($xImg->get24("delete", " onclick=\"jsDescartarRiesgo(_REPLACE_ID_)\" "));
    $xT->setKeyField($xAl->getKey());
    $xT->setKeyTable($xAl->get());
    return $xT->Show();
}
function jsaGuardarVerificacion($fecha, $oficial, $tipo, $id, $notas, $socio)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $tipo = $tipo == "d" ? TPERSONAS_DIRECCIONES : TPERSONAS_ACTIVIDAD_ECONOMICA;
    $xSoc = new cSocio($socio);
    $xSoc->init();
    $xSoc->setVerificacion($tipo, $id, $fecha, $notas, $oficial);
    return $xSoc->getMessages(OUT_HTML);
}
function jsaSetPago($Recibo, $cuentabancaria, $monto1, $diferencia, $fecha, $transaccion, $bancodeorigen)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xCaja = new cCaja();
    $op = $xCaja->setCobroTransferencia($Recibo, $cuentabancaria, $monto1, $diferencia, $fecha, "", false, false, $transaccion, $bancodeorigen);
    if (MODO_DEBUG == true) {
        setLog($xCaja->getMessages());
    }
}
function jsaGetCobranza($empresa, $periocidad, $variacion, $periodo, $fechaInicial, $fechaFinal)
{
    $ByPeriodo = $periocidad == "todos" ? "" : " AND creditos_solicitud.periocidad_de_pago = {$periocidad} ";
    $xF = new cFecha();
    $xNot = new cHNotif();
    $content = "";
    $fechaFinal = $xF->getFechaISO($fechaFinal);
    $fechaInicial = $xF->getFechaISO($fechaInicial);
    $xEmp = new cEmpresas($empresa);
    $xPer = $xEmp->getOPeriodo($periocidad, $periodo);
    $DDias = $xEmp->getFechaDeAviso();
    if ($xPer->getCobrados() > 0) {
        $content = $xNot->get("ERROR\tLa nomina tiene cobros " . $xPer->getCobrados() . " ACTIVOS ", "iderror", $xNot->ERROR);
    } else {
        $content = $xEmp->getListadoDeCobranza($empresa, $periocidad, $variacion, $periodo, $fechaInicial, $fechaFinal);
    }
    $periodo = $periodo + $variacion;
    return $content;
}
function jsaGetListadoDeAvisos($tipo, $fecha_inicial, $fecha_final)
{
    $tipo = $tipo == SYS_TODAS ? false : $tipo;
    $xF = new cFecha();
    $xAl = new cAml_risk_register();
    $xlistas = new cSQLListas();
    $xBtn = new cHButton();
    $xImg = new cHImg();
    $fecha_inicial = $xF->getFechaISO($fecha_inicial);
    $fecha_final = $xF->getFechaISO($fecha_final);
    $sql = $xlistas->getListadoDeRiesgosConfirmados(false, false, false, $tipo, false, " AND (`aml_risk_register`.`estado_de_envio` =0) AND (`aml_risk_register`.`fecha_de_checking` =0) ");
    $xT = new cTabla($sql);
    //setLog($sql);
    $xT->OButton("TR.Dictaminar", "jsModificarEstatus(_REPLACE_ID_)", $xT->ODicIcons()->REPORTE);
    $xT->OButton("TR.Modificar", "jsEditarRiesgo(_REPLACE_ID_)", $xT->ODicIcons()->EDITAR);
    //$xT->addTool(1);
    $xT->setKeyField($xAl->getKey());
    $xT->setKeyTable($xAl->get());
    return $xT->Show();
}
function jsaSetPago($Recibo, $cuentabancaria, $monto, $fecha, $referencia)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xCta = new cCuentaBancaria($cuentabancaria);
    $msg = "";
    if ($xCta->init() == true) {
        $xCta->setNuevoRetiro($referencia, $Recibo, "", $monto, $fecha);
        $xRec = new cReciboDeOperacion(false, false, $Recibo);
        $xRec->setDatosDePago(AML_CLAVE_MONEDA_LOCAL, $monto, $referencia, TESORERIA_PAGO_TRANSFERENCIA);
    }
}
function jsaCambiarEstadoActual($credito, $estado, $fechanueva)
{
    $xF = new cFecha(0);
    $msg = "";
    $fechanueva = $xF->getFechaISO($fechanueva);
    //$fechaNueva	= $xF->getFechaISO($fechaNueva);
    $xCred = new cCredito($credito);
    $xCred->init();
    $xCred->setCambiarEstadoActual($estado, $fechanueva);
    $msg .= $xCred->getMessages(OUT_HTML);
    //$msg	.= "WARN\tCAMBIE EL PLAN DE PAGOS";
    return $msg;
}
function jsaGetPolizas($fecha, $tipo)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xQL = new cSQLListas();
    $xT = new cTabla($xQL->getListadoDePolizasContables($fecha, $tipo), 7);
    $xBtn = new cHImg();
    $xT->setKeyField("codigo");
    $xT->OButton("TR.Modificar", "jsAgregarMovimientos('" . HP_REPLACE_ID . "')\"", $xT->ODicIcons()->AGREGAR);
    $xT->OButton("TR.Imprimir", "jsImprimirPoliza('" . HP_REPLACE_ID . "')\"", $xT->ODicIcons()->IMPRIMIR);
    $xT->OButton("TR.Eliminar", "jsEliminarPoliza('" . HP_REPLACE_ID . "')\"", $xT->ODicIcons()->ELIMINAR);
    return $xT->Show();
}
function jsaSetPago($Recibo, $cuentabancaria, $monto, $fecha, $cheque)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xCta = new cCuentaBancaria($cuentabancaria);
    $msg = "";
    if ($xCta->init() == true) {
        $xCta->setNuevoCheque($cheque, $cuentabancaria, $Recibo, "", $monto, $fecha);
        $xRec = new cReciboDeOperacion(false, false, $Recibo);
        $xRec->setDatosDePago(AML_CLAVE_MONEDA_LOCAL, $monto, $cheque, TESORERIA_PAGO_CHEQUE);
    }
    //if(MODO_DEBUG == true){ setLog($xCta->getMessages()); }
}
function jsaSetPagarCredito($credito, $fecha, $observaciones)
{
    $msg = "";
    $xLng = new cLang();
    $xCred = new cCredito($credito);
    $xCred->init();
    $xdat = new cFecha(0);
    $fecha = $xdat->getFechaISO($fecha);
    //$xCred->setResetPersonaAsociada($fecha, $observaciones);
    //return $xLng->get(MSG_READY_SAVE);
    $xCred->setAbonoCapital($xCred->getSaldoActual(), $xCred->getPeriodoActual(), DEFAULT_CHEQUE, TESORERIA_COBRO_NINGUNO, DEFAULT_RECIBO_FISCAL, $observaciones, DEFAULT_GRUPO, $fecha);
    return $xCred->getMessages(OUT_HTML);
}
function jsaGetListadoDeAvisos($tipo, $fecha_inicial, $fecha_final, $todas)
{
    $tipo = $tipo == SYS_TODAS ? false : $tipo;
    $xT = new cTipos();
    $xF = new cFecha();
    $xAl = new cAml_alerts();
    $xlistas = new cSQLListas();
    $xBtn = new cHButton();
    $xImg = new cHImg();
    //
    $ByEstado = $xT->cBool($todas) == true ? "" : " AND `estado_en_sistema`= " . SYS_UNO;
    $ByEstado .= setNoMenorQueCero($tipo) <= 0 ? "" : "  AND (`aml_risk_catalog`.`tipo_de_riesgo` ={$tipo}) ";
    $fecha_inicial = $xF->getFechaISO($fecha_inicial);
    $fecha_final = $xF->getFechaISO($fecha_final);
    $sql = $xlistas->getListadoDeAlertas(false, false, false, false, $ByEstado);
    $xT = new cTabla($sql);
    $xT->setWithMetaData();
    $xT->OButton("TR.Dictaminar", "jsModificarEstatus(_REPLACE_ID_)", $xT->ODicIcons()->REPORTE);
    $xT->OButton("TR.Panel", "jsToPanel(_REPLACE_ID_)", $xT->ODicIcons()->EJECUTAR);
    $xT->setKeyField($xAl->getKey());
    $xT->setKeyTable($xAl->get());
    return $xT->Show();
}
function jsaSetFecha($recibo, $fecha, $nuevoperiodo)
{
    $xRec = new cReciboDeOperacion(false, true, $recibo);
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xRec->init();
    if ($xF->getInt($fecha) != $xF->getInt($xRec->getFechaDeRecibo())) {
        $xRec->setFecha($fecha, true);
    }
    if ($xRec->getPeriodo() != $nuevoperiodo) {
        $xRec->setPeriodo($nuevoperiodo, true);
    }
    return $xRec->getMessages(OUT_HTML);
}
function setFechaValida($value)
{
    if (!isset($value)) {
        $value = fechasys();
    }
    if (is_null($value)) {
        $value = fechasys();
    }
    $value = $value == "" ? fechasys() : $value;
    $value = $value == "0000-00-00" ? fechasys() : $value;
    $value = str_replace("/", "-", $value);
    $xF = new cFecha();
    $value = $xF->getFechaISO($value);
    return $value;
}
function jsaGetLetras($idcredito, $idfecha)
{
    $xCred = new cCredito($idcredito);
    $xCred->init();
    //$xPlas	= $xCred->getPlanDePago();
    $xF = new cFecha();
    $idfecha = $xF->getFechaISO($idfecha);
    $xQL = new MQL();
    //$xQL->setRawQuery("SET @fecha_de_corte:='$idfecha';");
    my_query("SET @fecha_de_corte:='{$idfecha}';");
    $sql = "SELECT\r\n\t`letras`.`socio_afectado` AS `persona`,\r\n\t`letras`.`docto_afectado` AS `credito`,\r\n\t`letras`.`periodo_socio`  AS `parcialidad`,\r\n\t`letras`.`fecha_de_pago`,\r\n\r\n\t`letras`.`capital`,\r\n\t`letras`.`interes`,\r\n\t`letras`.`iva`,\r\n\t`letras`.`ahorro`,\r\n\t`letras`.`otros`,\r\n\t`letras`.`letra`,\t\r\n\t\r\n\t(`creditos_solicitud`.`tasa_moratorio`*100) AS `tasa_de_mora`,\r\n\t(`creditos_solicitud`.`tasa_interes`*100)   AS `tasa_de_interes` ,\r\n\tDATEDIFF(getFechaDeCorte(), fecha_de_pago) AS 'dias',\r\n\t ((letras.capital * DATEDIFF(getFechaDeCorte(), fecha_de_pago) * (`creditos_solicitud`.`tasa_moratorio` + `creditos_solicitud`.`tasa_interes`))/getDivisorDeInteres()) AS 'mora'\r\n\tFROM\r\n\t\t`creditos_solicitud` `creditos_solicitud` \r\n\t\t\tINNER JOIN `letras` `letras` \r\n\t\t\tON `creditos_solicitud`.`numero_solicitud` = `letras`.`docto_afectado`\r\n\t\r\n\t WHERE capital >0 AND docto_afectado={$idcredito} AND fecha_de_pago <= getFechaDeCorte()";
    $xT = new cTabla($sql);
    $xT->setFootSum(array(4 => "capital", 5 => "interes", 6 => "iva", 7 => "ahorro", 8 => "otros", 9 => "letra", 13 => "mora"));
    return $xT->Show();
}
function jsaGetCallsToToday($fecha, $efectuadas, $vencidas, $canceladas, $mark)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $cCalls = new cLlamada();
    $cCalls->setLimitRecords();
    if ($vencidas == "on") {
        $cCalls->setIncludeVencidas();
    }
    if ($canceladas == "on") {
        $cCalls->setIncludeCanceladas();
    }
    if ($efectuadas == "on") {
        $cCalls->setIncludeEfectuadas();
    }
    return $cCalls->getLlamadas($fecha, $fecha, $mark);
}
function jsaGetListadoCierres($fecha)
{
    $xLi = new cSQLListas();
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $sqlList = $xLi->getListadoDeRecibos(12, "", "", $fecha);
    $xTab = new cTabla($sqlList);
    $xTab->OButton("TR.Reporte", "var xR = new RecGen(); xR.reporte(" . HP_REPLACE_ID . ")", $xTab->ODicIcons()->REPORTE);
    $xTab->OButton("TR.Panel", "var xR = new RecGen(); xR.panel(" . HP_REPLACE_ID . ")", $xTab->ODicIcons()->CONTROL);
    $xBtn = new cHButton();
    $xSel = new cHSelect();
    $xCA = $xSel->getListaDeCajasAbiertas();
    $T2 = new cTabla($xCA->getSQL() . " AND `tesoreria_cajas`.`fecha_inicio` = '{$fecha}' ");
    $T2->addEspTool($xBtn->getBasic("", "jsToCerrarCorte('{$fecha}')", "bloquear", "idcerrar", true));
    $html = $xTab->Show("TR.LISTADO DE CIERRES");
    if (MODULO_CAJA_ACTIVADO == true) {
        $html .= $T2->Show("TR.Cajas Abiertas");
        $itemsAbier = $T2->getRowCount();
        $html .= "<input type='hidden' id='idabiertas' value='{$itemsAbier}' />";
    } else {
        $html .= "<input type='hidden' id='idabiertas' value='0' />";
    }
    return $html;
}
}
$_SESSION["current_file"] = addslashes($theFile);
//=====================================================================================================
$xHP = new cHPage("REPORTE DE OPERACIONES DETALLADAS POR PERSONA ", HP_REPORT);
$oficial = elusuario($iduser);
/**
 */
$xF = new cFecha();
$estatus = isset($_GET["estado"]) ? $_GET["estado"] : SYS_TODAS;
$frecuencia = isset($_GET["periocidad"]) ? $_GET["periocidad"] : SYS_TODAS;
$convenio = isset($_GET["convenio"]) ? $_GET["convenio"] : SYS_TODAS;
$empresa = isset($_GET["empresa"]) ? $_GET["empresa"] : SYS_TODAS;
$out = isset($_GET["out"]) ? $_GET["out"] : SYS_DEFAULT;
$mx = isset($_GET["mx"]) ? true : false;
if ($mx == true) {
    $fechaInicial = isset($_GET["on"]) ? $xF->getFechaISO($_GET["on"]) : FECHA_INICIO_OPERACIONES_SISTEMA;
    $fechaFinal = isset($_GET["off"]) ? $xF->getFechaISO($_GET["off"]) : fechasys();
} else {
    $fechaInicial = isset($_GET["on"]) ? $_GET["on"] : FECHA_INICIO_OPERACIONES_SISTEMA;
    $fechaFinal = isset($_GET["off"]) ? $_GET["off"] : fechasys();
}
$ByConvenio = $convenio == SYS_TODAS ? "" : " AND\t(`listado_de_ingresos`.`producto` ={$convenio}) ";
$ByEmpresa = $empresa == SYS_TODAS ? "" : " AND (`listado_de_ingresos`.`clave_empresa` = {$empresa}) ";
$ByFecha = "";
echo $xHP->getHeader();
echo $xHP->setBodyinit("initComponents();");
echo getRawHeader();
$xRpt = new cReportes();
echo $xRpt->getEncabezado($xHP->getTitle(), $fechaInicial, $fechaFinal, $oficial);
$sql = "SELECT * FROM listado_de_ingresos WHERE (`listado_de_ingresos`.`fecha` >='{$fechaInicial}')\r\nAND (`listado_de_ingresos`.`fecha` <='{$fechaFinal}') {$ByConvenio} {$ByEmpresa}\r\nAND tipo_de_pago !='" . TESORERIA_COBRO_NINGUNO . "'\r\n";
//echo $sql;
}
$_SESSION["current_file"] = addslashes($theFile);
//=====================================================================================================
$xHP = new cHPage("TR.Operaciones de Empresa ", HP_REPORT);
$xF = new cFecha();
$periodo = isset($_GET["periodo"]) ? $_GET["periodo"] : SYS_TODAS;
$empresa = isset($_GET["empresa"]) ? $_GET["empresa"] : SYS_TODAS;
$periocidad = isset($_GET["periocidad"]) ? $_GET["periocidad"] : SYS_TODAS;
//$estado		= (isset($_GET["estado"])) ? $_GET["estado"]: "todas";
$fecha_inicial = parametro("idfecha-0", false);
$fecha_inicial = parametro("on", $fecha_inicial);
$fecha_final = parametro("idfecha-1", false);
$fecha_final = parametro("off", $fecha_final);
echo $xHP->getHeader();
echo $xHP->setBodyinit("initComponents();");
$ByFecha = ($fecha_final == false or $fecha_inicial == false) ? "" : " AND\t(`empresas_operaciones`.`fecha_de_operacion` >='" . $xF->getFechaISO($fecha_inicial) . "') AND\t(`empresas_operaciones`.`fecha_de_operacion` <='" . $xF->getFechaISO($fecha_final) . "') ";
$ByPeriodo = $periodo == SYS_TODAS ? "" : "AND ( `periodo_marcado` = {$periodo}) ";
$xRPT = new cReportes();
echo $xRPT->getHInicial("TR.Estado de cuenta de Empresas", $fecha_inicial, $fecha_final);
//TODO: Acabar
$lt = new cSQLListas();
$sql = $lt->getListadoDeOperacionesDeEmpresas($empresa, $periocidad, $ByFecha . $ByPeriodo);
$xT = new cTabla($sql);
$xEmp = new cEmpresas($empresa);
echo $xEmp->getFicha();
$xT->getFieldsSum("monto");
$xT->setTdClassByType();
$xT->setFootSum(array(6 => "envios", 7 => "cobros"));
echo $xT->Show();
echo getRawFooter();
echo $xHP->setBodyEnd();
//=====================================================================================================
$xHP = new cHPage("TR.Operaciones por tipos", HP_RPTXML);
//=====================================================================================================
$xF = new cFecha();
$fecha_inicial = isset($_GET["on"]) ? $_GET["on"] : "";
$fecha_final = isset($_GET["off"]) ? $_GET["off"] : "";
$operacion = isset($_GET["f3"]) ? $_GET["f3"] : SYS_TODAS;
$output = isset($_GET["out"]) ? $_GET["out"] : SYS_DEFAULT;
$persona = isset($_GET["f50"]) ? $_GET["f50"] : SYS_NINGUNO;
$sucursal = isset($_GET["f700"]) ? $_GET["f700"] : SYS_TODAS;
$MX = isset($_GET["mx"]) ? true : false;
$forma_de_pago = isset($_GET["tipodepago"]) ? $_GET["tipodepago"] : SYS_TODAS;
$operacion = isset($_GET["tipooperacion"]) ? $_GET["tipooperacion"] : $operacion;
$senders = getEmails($_REQUEST);
if ($MX == true) {
    $fecha_final = $xF->getFechaISO($fecha_final);
    $fecha_inicial = $xF->getFechaISO($fecha_inicial);
}
//http://localhost/rptotros/rpt_mvtos_x_tipo_segun_fechas.php
//estado=todas
//out=default
//empresa=todas
//convenio=todas
//tipodepago=transferenci
//usuario=todas
$BySucursal = $sucursal == SYS_TODAS ? "" : "  AND operaciones_mvtos.sucursal = '{$sucursal}'  ";
$xmlFile = "report73.nomina";
$ByPersona = $persona == SYS_NINGUNO ? "" : " AND operaciones_mvtos.socio_afectado={$persona} ";
$ByOperacion = $operacion == SYS_TODAS ? "" : " AND `operaciones_mvtos`.`tipo_operacion` = {$operacion} ";
$ByPago = $forma_de_pago == SYS_TODAS ? "" : " AND operaciones_recibos.tipo_pago ='{$forma_de_pago}' ";
$tipo = $operacion;
$xHP = new cHPage("TR.Recibos de Cobranza", HP_REPORT);
$xL = new cSQLListas();
$xF = new cFecha();
$empresa = isset($_GET["r"]) ? $_GET["r"] : 0;
$periocidad = isset($_GET["p"]) ? $_GET["p"] : "todos";
$variacion = isset($_GET["v"]) ? $_GET["v"] : 0;
$ByPeriodo = $periocidad == "todos" ? "" : " AND creditos_solicitud.periocidad_de_pago = {$periocidad} ";
$periodo = isset($_GET["periodo"]) ? $_GET["periodo"] : 0;
$out = parametro("out", OUT_HTML);
$xRPT = new cReportes($xHP->getTitle());
$fecha_filtro = fechasys();
$ByMinistracion = "";
//$periodo		= $periodo + $variacion;
$fechaInicial = parametro("on", false);
$fechaFinal = parametro("off", false);
$fechaFinal = $xF->getFechaISO($fechaFinal);
$fechaInicial = $xF->getFechaISO($fechaInicial);
$idnomina = parametro("nomina", 0, MQL_INT);
//$xHP->addJsFile("../js/jquery/jquery.js");
//$xHP->addJsFile("../js/general.js");
//$xHP->addJsFile("../js/jquery/jquery.qtip.min.js");
$xEmp = new cEmpresas($empresa);
$xEmp->init();
$xTPer = new cPeriocidadDePago($periocidad);
$xTPer->init();
//if($xEmp->getEsPeriodoCerrado($periocidad, $periodo) == false){	$xHP->goToPageError(20101); }
//$xHP->addStyle("");
$style = " body { margin-top:0; margin-bottom:0.5in; margin-left:0.5in; margin-right:0.5in; \n\t\tfont: 8pt \"Trebuchet MS\", Arial, Helvetica, sans-serif !important; font-stretch: extra-condensed;\ttext-transform: uppercase; }\n#ticket { height: 3.8in; } .npage { page-break-after: always;} .divisormedio { margin-bottom: 1.25in; border-style: dotted;  border-color: transparent; }   ";
$xRPT->setToPrint();
$xRPT->addHeaderCNT("<style>{$style}</style>");
if ($out == OUT_DOC) {
$rubro_destino = parametro("iddestinodecredito", 0, MQL_INT);
$amp_destino = parametro("iddescripciondestino");
$observaciones = parametro("idobservaciones");
$monto_solicitado = parametro("idmonto", 0, MQL_FLOAT);
$contrato_corriente = $cuenta;
$tipo_de_pago = parametro("idtipodepago", 0, MQL_INT);
$vencido = parametro("idFechaVencimiento", false);
$ministrado = parametro("idFechaMinistracion", false);
$solicitado = parametro("idFechaSolicitud", false);
$TipoDeAutorizacion = false;
$esrenovado = parametro("idrenovado", false, MQL_BOOL);
$tieneprops = parametro("idpropietario", false, MQL_BOOL);
//propietarios reales
$tieneprovs = parametro("idproveedor", false, MQL_BOOL);
//proveedores de recursos
$fecha_solicitud = $xFecha->getFechaISO($solicitado);
$fecha_ministracion = $xFecha->getFechaISO($ministrado);
$fecha_vencimiento = $xFecha->getFechaISO($vencido);
$oficial_de_credito = getUsuarioActual();
$xBtn = new cHButton();
$xFRM = new cHForm("frmcreditoautorizado");
$xFRM->setTitle($xHP->getTitle());
$xHP->init();
//Correccciones
$contrato_corriente = setNoMenorQueCero($contrato_corriente) <= 0 ? DEFAULT_CUENTA_CORRIENTE : $contrato_corriente;
$xSoc = new cSocio($persona);
$arrDatos = array("periocidad_de_pago" => $periocidad, "tipo_de_producto" => $tipoconvenio, "numero_de_pagos" => $numeropagos, "contrato_corriente_relacionado" => $contrato_corriente, "fecha_de_ministracion" => $ministrado, "fecha_de_vencimiento" => $vencido, "monto_solicitado" => $monto_solicitado);
$sucess = true;
if ($xSoc->isOperable() == true) {
    $sucess = $xSoc->setPrevalidarCredito($arrDatos);
    if ($xSoc->getUUID() != $_SESSION[SYS_UUID]) {
 function add($cuenta, $Operacion, $DoctoDeSoporte, $recibo, $beneficiario, $monto, $persona = false, $fecha = false, $autorizo = false, $descuento = 0, $cuenta_de_origen = false, $tipo_de_exhibicion = "", $moneda = AML_CLAVE_MONEDA_LOCAL)
 {
     $xF = new cFecha();
     $cuenta = setNoMenorQueCero($cuenta);
     $recibo = setNoMenorQueCero($recibo);
     $cuenta_de_origen = setNoMenorQueCero($cuenta_de_origen);
     $monto = setNoMenorQueCero($monto);
     $DoctoDeSoporte = setNoMenorQueCero($DoctoDeSoporte);
     $persona = setNoMenorQueCero($persona) == 0 ? DEFAULT_SOCIO : setNoMenorQueCero($persona);
     $autorizo = setNoMenorQueCero($autorizo);
     $id = 0;
     if ($recibo > 0 and $persona <= DEFAULT_SOCIO) {
         $xRec = new cReciboDeOperacion(false, false, $recibo);
         if ($xRec->init() == true) {
             $persona = $persona <= DEFAULT_SOCIO ? $xRec->getCodigoDeSocio() : $persona;
             $tipo_de_exhibicion = $tipo_de_exhibicion == "" ? $xRec->getTipoDePago() : $tipo_de_exhibicion;
             $fecha = $fecha == false ? $xRec->getFechaDeRecibo() : $fecha;
             if (trim($beneficiario) == "") {
                 if ($xRec->getOPersona() != null) {
                     $beneficiario = $xRec->getOPersona()->getNombreCompleto(OUT_TXT);
                 }
             }
         }
     }
     $fecha = $xF->getFechaISO($fecha);
     $tipo_de_exhibicion = $tipo_de_exhibicion == "" ? "transferencia" : $tipo_de_exhibicion;
     if ($cuenta > 0 and $monto > 0) {
         $xOp = new cBancos_operaciones();
         $xOp->idcontrol($xOp->query()->getLastID());
         $xOp->beneficiario($beneficiario);
         $xOp->clave_de_conciliacion(0);
         $xOp->clave_de_moneda($moneda);
         $xOp->cuenta_bancaria($cuenta);
         $xOp->cuenta_de_origen($cuenta_de_origen);
         $xOp->eacp(EACP_CLAVE);
         $xOp->estatus($this->AUTORIZADO);
         $xOp->fecha_expedicion($fecha);
         $xOp->idusuario(getUsuarioActual());
         $xOp->monto_descontado($descuento);
         $xOp->monto_real($monto);
         $xOp->numero_de_documento($DoctoDeSoporte);
         $xOp->numero_de_socio($persona);
         $xOp->recibo_relacionado($recibo);
         $xOp->sucursal(getSucursal());
         $xOp->tipo_de_exhibicion($tipo_de_exhibicion);
         $xOp->tipo_operacion($Operacion);
         $xOp->usuario_autorizo($autorizo);
         $id = $xOp->query()->insert()->save();
     }
     return $id;
 }
 if ($xCred->getNumeroDePlanDePagos() != false) {
     $xPlan->init($xCred->getNumeroDePlanDePagos());
     $xPlan->setEliminar();
 }
 $xPlan->initByCredito($credito);
 $xPlan->setClaveDeCredito($credito);
 $xPlan->setClaveDePersona($xCred->getClaveDePersona());
 $idrecibo = $xPlan->add($observaciones, $fecha_operacion);
 $xPlan->init($idrecibo);
 foreach ($data as $valores => $cont) {
     //periodo 	fecha 	saldo_inicial 	intereses 	impuesto 	capital 	pago_total 	saldo_final
     //0		1	2		3		4		5		6		7
     //Periodo,Fecha de Pago,Saldo inicial,Intereses,Impuesto,Pago a Capital,Pago Total,Saldo final
     if ($xT->cInt($cont[0]) > 0) {
         $interes = $xT->cFloat($cont[3], 2);
         $fecha = $xF->getFechaISO($cont[1]);
         $periodo = $xT->cInt($cont[0]);
         $capital = $xT->cFloat($cont[5], 2);
         $total_parcial = $xT->cFloat($cont[6], 2);
         $saldo_inicial = $xT->cFloat($cont[2], 2);
         $saldo_final = $xT->cFloat($cont[7], 2);
         $xPlan->setMontoOperado($total_parcial);
         $xPlan->setSaldoInicial($saldo_inicial);
         $xPlan->setSaldoFinal($saldo_final);
         $xPlan->addMvtoDeInteres($interes, $fecha, $periodo);
         $xPlan->addMvtoDeIVA($fecha, $periodo);
         $xPlan->addMvtoDeCapital($capital, $fecha, $periodo);
     } else {
         $msg .= "WARN\tLINEA OMITIDA\r\n";
     }
 }
 function __construct($fecha = false)
 {
     $xF = new cFecha();
     $xF->set($xF->getFechaISO($fecha));
     $mes = $xF->mes();
     $annio = $xF->anno();
     if ($mes <= 3) {
         $this->mID = 1;
         $this->mFechaInicial = "{$annio}-01-01";
         $this->mFechaFinal = "{$annio}-03-31";
     } elseif ($mes >= 4 and $mes <= 6) {
         $this->mID = 2;
         $this->mFechaInicial = "{$annio}-04-01";
         $this->mFechaFinal = "{$annio}-06-30";
     } elseif ($mes >= 7 and $mes <= 9) {
         $this->mID = 3;
         $this->mFechaInicial = "{$annio}-07-01";
         $this->mFechaFinal = "{$annio}-09-30";
     } else {
         $this->mID = 4;
         $this->mFechaInicial = "{$annio}-10-01";
         $this->mFechaFinal = "{$annio}-12-31";
     }
 }
 function setAnalizarTransaccionalidadPorNucleo($recibo = false, $fecha = false, $usuario = false, $alertar = false)
 {
     $xF = new cFecha();
     $xQ = new MQL();
     $usuario = setNoMenorQueCero($usuario);
     $fecha = $xF->getFechaISO($fecha);
     if ($this->mOSocio == null) {
         $this->getOPersona();
     }
     $idnucleo = $this->mOSocio->getIDNucleoDeRiesgo();
     $persona_relacionada = $this->mOSocio->getCodigo();
     $sql1 = "SELECT * FROM personas_operaciones_recursivas WHERE persona ={$idnucleo} AND usuario={$usuario} LIMIT 0,1";
     $DNormal = $xQ->getDataRow($sql1);
     $operaciones = 1;
     $monto = null;
     $aviso = false;
     if (isset($DNormal["operaciones"])) {
         $operaciones = $DNormal["operaciones"];
         $monto = $DNormal["monto"];
         $sql2 = "SELECT\n\t\t\t\t\t`personas_relaciones_recursivas`.`persona`     AS `persona`,\n\t\t\t\t\t`operaciones_recibos`.`idusuario`              AS `usuario`, \n\t\t\t\t\t\t\n\t\t\t\t\tCOUNT(`operaciones_recibos`.`idoperaciones_recibos`) AS `operaciones`,\n\t\t\t\t\tSUM(`operaciones_recibos`.`total_operacion`) AS `monto`\n\t\t\t\tFROM\n\t\t\t\t\t`operaciones_recibos` `operaciones_recibos` \n\t\t\t\t\t\tINNER JOIN `personas_relaciones_recursivas` \n\t\t\t\t\t\t`personas_relaciones_recursivas` \n\t\t\t\t\t\tON `operaciones_recibos`.`numero_socio` = \n\t\t\t\t\t\t`personas_relaciones_recursivas`.`persona`\n\t\t\t\tWHERE\n\t\t\t\t\t(`operaciones_recibos`.`origen_aml` >0)\n\t\t\t\t\tAND (`operaciones_recibos`.`idusuario`={$usuario})\n\t\t\t\t\tAND (`operaciones_recibos`.`fecha_operacion`  = '{$fecha}') \n\t\t\t\t\tAND (`personas_relaciones_recursivas`.`clave_interna` = {$idnucleo})\n\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t`personas_relaciones_recursivas`.`persona`,\n\t\t\t\t\t\t`operaciones_recibos`.`idusuario` ";
         $DEfectuado = $xQ->getDataRow($sql2);
         if (isset($DEfectuado["operaciones"])) {
             //evalua lo operado
             if ($DEfectuado["operaciones"] > $operaciones) {
                 //se pasa en numero
                 $dif = $DEfectuado["operaciones"] - $operaciones;
                 $this->mMessages .= "ERROR\tNUCLEOS\tNumero de Operaciones Excedidas en {$dif} del usuario {$usuario} con el Nucleo {$idnucleo} \r\n";
                 $aviso = true;
             }
             if ($DEfectuado["monto"] > $monto) {
                 //se pasa en numero
                 $dif = $DEfectuado["monto"] - $monto;
                 $this->mMessages .= "ERROR\tNUCLEOS\tMonto de Operaciones Excedidas en {$dif} del usuario {$usuario} con el Nucleo {$idnucleo}\r\n";
                 $aviso = true;
             }
             if ($aviso == true and $alertar == true) {
                 $xAml = new cAML();
                 $xAml->setForceAlerts(true);
                 $xAml->setReportarUsuario($usuario, AML_ID_OPERACIONES_ATOMICAS, $this->mMessages, $recibo, $fecha, $persona_relacionada, iDE_RECIBO);
                 $this->mMessages .= $xAml->getMessages();
             }
         } else {
             $this->mMessages .= "WARN\tNUCLEOS\tNo hay Monto para Evaluar al usuario {$usuario} con el Nucleo {$idnucleo}\r\n";
         }
     } else {
         $this->mMessages .= "WARN\tNUCLEOS\tNo hay parametros para Evaluar al usuario {$usuario} con el Nucleo {$idnucleo}\r\n";
     }
     setLog($this->mMessages);
 }
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//<=====	FIN_H
$iduser = $_SESSION["log_id"];
//=====================================================================================================
$xHP = new cHPage("TR.Depositos cuentas_de_inversion");
$xF = new cFecha();
$xT = new cTipos();
$iddocto = parametro("idcuenta", DEFAULT_CUENTA_CORRIENTE);
$recibo = parametro("idrecibo");
$reciboIDE = 0;
//
$actload = "";
$Fecha = parametro("idfecha-0", false);
$Fecha = $Fecha == false ? fechasys() : $xF->getFechaISO($Fecha);
$idsocio = parametro("idsocio", false, MQL_INT);
//$xT->cInt($_POST["idsocio"]);
$detalles = parametro("idobservaciones", "");
$monto = parametro("idmonto", 0, MQL_FLOAT);
$cheque = parametro("cheque", DEFAULT_CHEQUE);
$comopago = parametro("ctipo_pago", DEFAULT_TIPO_PAGO, MQL_RAW);
$folio_fiscal = parametro("foliofiscal", DEFAULT_RECIBO_FISCAL);
$msg = parametro(SYS_MSG);
$action = parametro("action", SYS_NINGUNO);
$xCaja = new cCaja();
if ($xCaja->getEstatus() == TESORERIA_CAJA_CERRADA) {
    header("location:../404.php?i=200");
}
if (isset($iddocto)) {
    $actload = " onload='jsImprimirRecibo();' ";
$oficial = elusuario($iduser);
$xF = new cFecha();
$xSQL = new cSQLListas();
//=====================================================================================================
$fecha_inicial = isset($_GET["on"]) ? $_GET["on"] : fechasys();
$fecha_final = isset($_GET["off"]) ? $_GET["off"] : fechasys();
$cajero = isset($_GET["f3"]) ? $_GET["f3"] : getUsuarioActual();
// Numero de Cajero
$output = isset($_GET["out"]) ? $_GET["out"] : OUT_DEFAULT;
$ByCajero = "";
$ByAll = "";
$senders = getEmails($_REQUEST);
$empresa = parametro("dependencia", SYS_TODAS, MQL_INT);
$empresa = parametro("empresa", $empresa, MQL_INT);
if (isset($_REQUEST["fechaMX"])) {
    $fecha_inicial = $xF->getFechaISO($_REQUEST["fechaMX"]);
    $fecha_final = $xF->getFechaISO($_REQUEST["fechaMX"]);
}
$ByDependencia = $empresa == SYS_TODAS ? "" : " AND `socios`.`iddependencia`=" . $empresa;
$ByUsuario = $cajero == SYS_TODAS ? "" : " AND operaciones_recibos.idusuario={$cajero} ";
$ByFecha = " AND (operaciones_recibos.fecha_operacion>='{$fecha_inicial}' AND operaciones_recibos.fecha_operacion<='{$fecha_final}') ";
$nombre_empresa = "";
if ($empresa != SYS_TODAS) {
    $xEmp = new cEmpresas($empresa);
    $xEmp->init();
    $nombre_empresa = $xEmp->getNombreCorto();
}
//XXX: Hacer un UNION para captacion
$setSql = "\nSELECT\n\t`operaciones_recibos`.`idoperaciones_recibos`,\n\t`operaciones_recibos`.`fecha_operacion`,\n\t`operaciones_recibos`.`docto_afectado`,\n\t`operaciones_recibos`.`numero_socio`,\n\t`socios`.`nombre`,\n\t\n\t(CASE WHEN (`creditos_solicitud`.`persona_asociada` = " . DEFAULT_EMPRESA . ")\n\tTHEN ''\n\tELSE `socios`.`dependencia` END) AS 'dependencia',\n\t\n\t`operaciones_recibos`.`tipo_docto`,\n\t`operaciones_recibostipo`.`descripcion_recibostipo` AS `tipo_de_recibo`,\n\t`operaciones_recibos`.`tipo_pago`,\n\t`operaciones_recibos`.`recibo_fiscal`,\t\n\t\n\t`operaciones_recibos`.`total_operacion`,\n\t`operaciones_recibos`.`observacion_recibo`,\n\n\t\n\t`operaciones_recibos`.`idusuario`\n\t\n\t\n\tFROM\n\t`operaciones_recibos` `operaciones_recibos` \n\t\tLEFT OUTER JOIN `creditos_solicitud` `creditos_solicitud` \n\t\tON `operaciones_recibos`.`docto_afectado` = `creditos_solicitud`.\n\t\t`numero_solicitud` \n\t\t\tINNER JOIN `operaciones_recibostipo` `operaciones_recibostipo` \n\t\t\tON `operaciones_recibos`.`tipo_docto` = `operaciones_recibostipo`.\n\t\t\t`idoperaciones_recibostipo` \n\t\t\t\tINNER JOIN `socios` `socios` \n\t\t\t\tON `operaciones_recibos`.`numero_socio` = `socios`.`codigo`\n\t\t\t\t\n\tWHERE operaciones_recibostipo.mostrar_en_corte!='0'\n\t\t\t{$ByFecha}\n\t\t\t{$ByUsuario}\n\t\t\t{$ByDependencia}\n\t\tORDER BY\n\t\t\t`operaciones_recibos`.`tipo_pago`,\n\t\t\t`operaciones_recibos`.`fecha_operacion`,\n\t\t\t`operaciones_recibos`.`tipo_docto`,\n\t\t\t`socios`.`dependencia`,\n\t\t\t`operaciones_recibos`.`idoperaciones_recibos`\n\t";
$output = $output == SYS_DEFAULT ? OUT_RXML : $output;
$xRPT = new cReportes($xHP->getTitle() . "-{$nombre_empresa}");
$_SESSION["current_file"] = addslashes($theFile);
//=====================================================================================================
$xHP = new cHPage("TR.REPORTE DE PERSONAS CLASIFICADAS COMO PEPS", HP_REPORT);
$xL = new cSQLListas();
$xF = new cFecha();
$query = new MQL();
$estatus = parametro("estado", SYS_TODAS);
$frecuencia = parametro("periocidad", SYS_TODAS);
$producto = parametro("convenio", SYS_TODAS);
$producto = parametro("producto", $producto);
$empresa = parametro("empresa", SYS_TODAS);
$sucursal = parametro("sucursal", SYS_TODAS, MQL_RAW);
$out = parametro("out", SYS_DEFAULT);
$FechaInicial = parametro("on", false);
$FechaInicial = parametro("fecha-0", $FechaInicial);
$FechaInicial = $FechaInicial == false ? FECHA_INICIO_OPERACIONES_SISTEMA : $xF->getFechaISO($FechaInicial);
$FechaFinal = parametro("off", false);
$FechaFinal = parametro("fecha-1", $FechaFinal);
$FechaFinal = $FechaFinal == false ? fechasys() : $xF->getFechaISO($FechaFinal);
$jsEvent = $out != OUT_EXCEL ? "initComponents()" : "";
$senders = getEmails($_REQUEST);
$xODat = new cPersonasCatalogoOtrosDatos();
$sql = "SELECT\r\n\t`socios`.`codigo`,\r\n\t`socios`.`nombre`,\r\n\t`socios_otros_parametros`.`clave_del_parametro` \r\nFROM\r\n\t`socios_otros_parametros` `socios_otros_parametros` \r\n\t\tINNER JOIN `socios` `socios` \r\n\t\tON `socios_otros_parametros`.`clave_de_persona` = `socios`.`codigo` \r\nWHERE\r\n\t(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_PRINCIPAL . "')\r\n\t\t\tOR\r\n\t(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_AFINIDAD . "')\t\t\t\r\n\tOR\r\n(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_CONSANGUINIDAD . "')\t\t\t\r\n\t\tOR\r\n(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_VINCULO_ECONOM . "')\t";
$titulo = "";
$archivo = "";
$xRPT = new cReportes($titulo);
$xRPT->setFile($archivo);
$xRPT->setOut($out);
$xRPT->setSQL($sql);
$xRPT->setTitle($xHP->getTitle());
//============ Reporte
$form = parametro("form");
$action = parametro("action", SYS_NINGUNO);
$xHP->init();
$xFRM = new cHForm("frmcomisiones", "cobro_de_comisiones.frm.php?action=" . MQL_ADD);
$msg = "";
if ($action == MQL_ADD) {
    $xRec = new cReciboDeOperacion(RECIBOS_TIPO_ESTADISTICO, false);
    $xRec->setGenerarPoliza();
    $xRec->setGenerarTesoreria();
    $detalles = parametro("idobservaciones", "");
    //$monto 			= parametro("idmonto", 0, MQL_FLOAT);
    $cheque = parametro("cheque", DEFAULT_CHEQUE);
    $comopago = parametro("ctipo_pago", DEFAULT_TIPO_PAGO, MQL_RAW);
    $foliofiscal = parametro("foliofiscal", DEFAULT_RECIBO_FISCAL);
    $fecha = parametro("idfechacomision", fechasys());
    $fecha = $xF->getFechaISO($fecha);
    $com1 = parametro("idcom1", 0, MQL_FLOAT);
    $ob1 = parametro("idob1", "");
    $com2 = parametro("idcom2", 0, MQL_FLOAT);
    $ob2 = parametro("idob2", "");
    $com3 = parametro("idcom3", 0, MQL_FLOAT);
    $ob3 = parametro("idob3", "");
    $iva = parametro("idiva", 0, MQL_FLOAT);
    $monto = $com1 + $com2 + $com3 + $iva;
    $idrecibo = $xRec->setNuevoRecibo($persona, $credito, $fecha, 1, RECIBOS_TIPO_OINGRESOS, $detalles, $cheque, $comopago, $foliofiscal);
    if (setNoMenorQueCero($idrecibo) > 0) {
        if ($com1 > 0) {
            $xRec->setNuevoMvto($fecha, $com1, OPERACION_CLAVE_COMISION_APERTURA, 1, $ob1, 1, TM_ABONO, $persona);
        }
        if ($com2 > 0) {
            $xRec->setNuevoMvto($fecha, $com2, OPERACION_CLAVE_PAGO_CBZA, 1, $ob2, 1, TM_ABONO, $persona);