/** * Funcion que establece un estatus segun los criterios sobre politicas de creditos * * @param integer $recibo //Numero numero de recibo al que se agregan los movimientos * @param date $fecha //Fecha de Operacion * @param date $AppSucursal //si Aplica para todas las sucursales * @return string $msg //Mensages del LOG */ function setEstatusDeCreditos($recibo, $fecha = false, $AppSucursal = true, $force_updates = false, $credito = false) { $fecha = $fecha == false ? fechasys() : $fecha; $cierre_sucursal = ""; $credito = setNoMenorQueCero($credito); $ql = new MQL(); $xLi = new cSQLListas(); $xLog = new cCoreLog(); if ($AppSucursal == true) { //$cierre_sucursal = "AND (`creditos_solicitud`.`sucursal`='" . getSucursal() . "')"; } $xLog->add("==\t\t\tMODIFICACION_DE_ESTATUS_EN_CREDITOS\r\n", $xLog->DEVELOPER); if ($force_updates == true) { $xLog->add("==\tSe Actualizaran ESTADOS\r\n", $xLog->DEVELOPER); } $xRec = new cReciboDeOperacion(10); $tolerancia_en_pesos = TOLERANCIA_SALDOS; $ByCredito = $xLi->OFiltro()->CreditoPorClave($credito); $sqlH = "SELECT\n\t\t\t\t`historial_de_pagos`.* FROM\n\t\t\t`historial_de_pagos` `historial_de_pagos` INNER JOIN `creditos_solicitud` `creditos_solicitud` \n\t\t\t\tON `historial_de_pagos`.`credito` = `creditos_solicitud`.\n\t\t\t\t`numero_solicitud` WHERE (`creditos_solicitud`.`estatus_actual`!=50) {$cierre_sucursal} {$ByCredito} AND (`creditos_solicitud`.`saldo_actual`>{$tolerancia_en_pesos}) ORDER BY `creditos_solicitud`.`fecha_vencimiento` "; $rsPagos = $ql->getDataRecord($sqlH); $DPagos = array(); foreach ($rsPagos as $rwpagos) { $id = $rwpagos["credito"]; $DPagos[$id][] = $rwpagos; } $rsPagos = null; //setLog($sqlH); /*INICIALIZA EL RECIBO*/ /** @since 2010-12-27 */ $sql = $xLi->getInicialDeCreditos() . " WHERE (`creditos_solicitud`.`estatus_actual`!=50) {$cierre_sucursal} {$ByCredito} AND (`creditos_solicitud`.`saldo_actual`>{$tolerancia_en_pesos}) ORDER BY `creditos_solicitud`.`fecha_vencimiento` "; $rs = $ql->getDataRecord($sql); $xDD = new cCreditos_solicitud(); foreach ($rs as $rw) { $xDD->setData($rw); $idcredito = $xDD->numero_solicitud()->v(); $xCred = new cCredito($idcredito); $xCred->init($rw); $DPago = isset($DPagos[$idcredito]) ? $DPagos[$idcredito] : false; $xCred->setDetermineDatosDeEstatus($fecha, false, $force_updates, $DPago); $xLog->add($xCred->getMessages(), $xLog->DEVELOPER); } $DPagos = null; $this->mMessages .= $xLog->getMessages(); return $xLog->getMessages(); }
*/ $estatus = isset($_GET["f2"]) ? $_GET["f2"] : SYS_TODAS; $frecuencia = isset($_GET["f1"]) ? $_GET["f1"] : SYS_TODAS; $convenio = isset($_GET["f3"]) ? $_GET["f3"] : SYS_TODAS; $estatus = isset($_GET["estado"]) ? $_GET["estado"] : $estatus; $frecuencia = isset($_GET["periocidad"]) ? $_GET["periocidad"] : $frecuencia; $frecuencia = isset($_GET["frecuencia"]) ? $_GET["frecuencia"] : $frecuencia; $convenio = isset($_GET["convenio"]) ? $_GET["convenio"] : $convenio; $empresa = isset($_GET["empresa"]) ? $_GET["empresa"] : SYS_TODAS; $out = isset($_GET["out"]) ? $_GET["out"] : SYS_DEFAULT; $es_por_estatus = ""; $BySaldo = " AND (creditos_solicitud.saldo_actual>=0.99) "; if ($estatus == CREDITO_ESTADO_AUTORIZADO or $estatus == CREDITO_ESTADO_SOLICITADO) { $BySaldo = ""; } $ByOficial = $xLi->OFiltro()->CreditosPorOficial(parametro("oficial", SYS_TODAS, MQL_INT)); $BySucursal = $xLi->OFiltro()->CreditosPorSucursal(parametro("sucursal", "")); $ByEmpresa = $xLi->OFiltro()->CreditosPorEmpresa($empresa); $es_por_frecuencia = $xLi->OFiltro()->CreditosPorFrecuencia($frecuencia); $es_por_convenio = $xLi->OFiltro()->CreditosPorProducto($convenio); $es_por_estatus = $xLi->OFiltro()->CreditosPorEstado($estatus); /* ***************************************************************************** */ if ($out == OUT_EXCEL) { } else { echo $xHP->getHeader(); echo $xHP->setBodyinit("initComponents();"); echo getRawHeader(); $xRpt = new cReportes(); echo $xRpt->getEncabezado($xHP->getTitle()); } $sql = "SELECT\n\t`socios`.`codigo`,\n\t`socios`.`nombre`,\n\t`creditos_solicitud`.`numero_solicitud`,\n\tsaldo,\n\tdias_morosos,\n\tdias_vencidos,\n\t\t\n\t(CASE WHEN ( (dias_vencidos + dias_morosos) <=0) THEN ( saldo ) ELSE 0 END) AS 'sin_mora',\n\t \n\t(CASE WHEN ( (dias_morosos >=1 AND dias_morosos <=7)) THEN (saldo) ELSE 0 END) AS 'moroso_7_dias',\n\t(CASE WHEN ( (dias_morosos >=8 AND dias_morosos <=15)) THEN (saldo) ELSE 0 END) AS 'moroso_15_dias',\n\t(CASE WHEN ( (dias_morosos >=16 AND dias_morosos <=30)) THEN (saldo) ELSE 0 END) AS 'moroso_30_dias',\n\t(CASE WHEN ( (dias_morosos >=31 AND dias_morosos <=60)) THEN (saldo) ELSE 0 END) AS 'moroso_60_dias',\n\t(CASE WHEN ( (dias_morosos >=61 AND dias_morosos <=90)) THEN (saldo) ELSE 0 END) AS 'moroso_90_dias',\n\t(CASE WHEN ( (dias_morosos >=91 AND dias_morosos <=120)) THEN (saldo) ELSE 0 END) AS 'moroso_120_dias',\n\t(CASE WHEN ( (dias_morosos >=121 AND dias_morosos <=180)) THEN (saldo) ELSE 0 END) AS 'moroso_180_dias',\n\t(CASE WHEN ( (dias_morosos >=181)) THEN (saldo) ELSE 0 END) AS 'moroso_mayor',\n\t \n\t(CASE WHEN ( (dias_vencidos >=1 AND dias_vencidos <=7)) THEN (saldo) ELSE 0 END) AS 'vencido_7_dias',\n\t(CASE WHEN ( (dias_vencidos >=8 AND dias_vencidos <=15)) THEN (saldo) ELSE 0 END) AS 'vencido_15_dias',\n\t(CASE WHEN ( (dias_vencidos >=16 AND dias_vencidos <=30)) THEN (saldo) ELSE 0 END) AS 'vencido_30_dias',\n\t(CASE WHEN ( (dias_vencidos >=31 AND dias_vencidos <=60)) THEN (saldo) ELSE 0 END) AS 'vencido_60_dias',\n\t(CASE WHEN ( (dias_vencidos >=61 AND dias_vencidos <=90)) THEN (saldo) ELSE 0 END) AS 'vencido_90_dias',\n\t(CASE WHEN ( (dias_vencidos >=91 AND dias_vencidos <=120)) THEN (saldo) ELSE 0 END) AS 'vencido_120_dias',\n\t(CASE WHEN ( (dias_vencidos >=121 AND dias_vencidos <=180)) THEN (saldo) ELSE 0 END) AS 'vencido_180_dias',\n\t(CASE WHEN ( (dias_vencidos >=181)) THEN (saldo) ELSE 0 END) AS 'vencido_mayor'\n\t \n\t FROM\n\t`creditos_solicitud` `creditos_solicitud` \n\t\tINNER JOIN `dias_en_mora` `dias_en_mora` \n\t\tON `creditos_solicitud`.`numero_solicitud` = `dias_en_mora`.\n\t\t`numero_solicitud` \n\t\t\tINNER JOIN `socios` `socios` \n\t\t\tON `creditos_solicitud`.`numero_socio` = `socios`.`codigo`\n\t WHERE \n\t\tsaldo > " . TOLERANCIA_SALDOS . "\n\t\t\t\tAND dias_morosos >=1\n\t\t{$es_por_convenio}\n\t\t{$es_por_frecuencia}\n\t\t{$es_por_estatus}\n\t\t{$ByOficial}\n\t\t{$BySucursal}\n\t\t{$ByEmpresa}\n\t\t/*Disable castigados*/\n\t\tAND `creditos_solicitud`.`estatus_actual` != " . CREDITO_ESTADO_CASTIGADO . "\n\t ORDER BY dias_morosos DESC\n\t";
//===================================================================================================== $periocidad = parametro("f1", SYS_TODAS); $periocidad = parametro("periocidad", $periocidad); $periocidad = parametro("frecuencia", $periocidad); $estado = parametro("estado", SYS_TODAS); $estado = parametro("estatus", $estado); $producto = parametro("convenio", SYS_TODAS); $producto = parametro("producto", $producto); $fechaInicial = parametro("on", EACP_FECHA_DE_CONSTITUCION); $fechaFinal = parametro("off", fechasys()); $fechaInicial = $xF->getFechaISO($fechaInicial); $fechaFinal = $xF->getFechaISO($fechaFinal); $formato = parametro("out", SYS_DEFAULT, MQL_RAW); $sucursal = parametro("sucursal", SYS_TODAS, MQL_RAW); $xRPT = new cReportes($xHP->getTitle()); $ByProducto = $xLi->OFiltro()->CreditosPorProducto($producto); $BySucursal = $xLi->OFiltro()->CreditosPorSucursal($sucursal); $sql = "\nSELECT\n\t`creditos_solicitud`.`sucursal`,\n\t`creditos_solicitud`.`numero_socio` AS `persona`,\n\t`socios`.`nombre`,\n\t\n\t`creditos_solicitud`.`numero_solicitud` AS `credito`,\n\t`creditos_solicitud`.`monto_autorizado` AS `monto`,\n\t`creditos_solicitud`.`fecha_ministracion` AS `fecha` ,\n\tCOUNT(`operaciones_mvtos`.`tipo_operacion`) AS `operaciones`,\n\tMAX(`operaciones_mvtos`.`fecha_afectacion`) AS `fecha`,\n\tSUM(\n\tIF(`operaciones_mvtos`.`tipo_operacion` = 120,\t`operaciones_mvtos`.`afectacion_real`, 0\t)\n\t) AS `abonos`,\n\t(`creditos_solicitud`.`monto_autorizado` - \tSUM(\n\tIF(`operaciones_mvtos`.`tipo_operacion` = 120,\t`operaciones_mvtos`.`afectacion_real`, 0\t)\n\t)) AS 'saldo'\nFROM\n\t`operaciones_mvtos` `operaciones_mvtos` \n\t\tRIGHT OUTER JOIN `creditos_solicitud` `creditos_solicitud` \n\t\tON `operaciones_mvtos`.`docto_afectado` = `creditos_solicitud`.\n\t\t`numero_solicitud` \n\t\t\tINNER JOIN `socios` `socios` \n\t\t\tON `creditos_solicitud`.`numero_socio` = `socios`.`codigo`\n\t\t\t\nWHERE\n\t(\n\t(`operaciones_mvtos`.`tipo_operacion` =120) \n\tOR\n\t(`operaciones_mvtos`.`tipo_operacion` =110))\n\tAND\n\t(`operaciones_mvtos`.`fecha_afectacion` <= '{$fechaFinal}') \n\t{$ByProducto} {$BySucursal}\nGROUP BY\n\t`operaciones_mvtos`.`docto_afectado`\n\t\nHAVING saldo > 0\n\nORDER BY `creditos_solicitud`.`fecha_ministracion` "; //$sql = "CALL sp_saldos_al_cierre('$fechaFinal')"; //exit($sql); $xTbl = new cTabla($sql); $xTbl->setFootSum(array(4 => "monto", 8 => "abonos", 9 => "saldo")); /*$xTbl->setFootSum(array( 3 => "monto_autorizado", 52 => "abonos", 53 => "saldo" ));*/ $xRPT->setSQL($xTbl->getSQL()); $xTbl->setTipoSalida($formato); $xRPT->setOut($formato); $xRPT->addContent($xTbl->Show());
//===================================================================================================== /** * Filtrar si Existe Caja Local */ $estatus = isset($_GET["f2"]) ? $_GET["f2"] : SYS_TODAS; $frecuencia = isset($_GET["f1"]) ? $_GET["f1"] : SYS_TODAS; $convenio = isset($_GET["f3"]) ? $_GET["f3"] : SYS_TODAS; $estatus = isset($_GET["estado"]) ? $_GET["estado"] : $estatus; $frecuencia = isset($_GET["periocidad"]) ? $_GET["periocidad"] : $frecuencia; $frecuencia = isset($_GET["frecuencia"]) ? $_GET["frecuencia"] : $frecuencia; $convenio = isset($_GET["convenio"]) ? $_GET["convenio"] : $convenio; $convenio = isset($_GET["producto"]) ? $_GET["producto"] : $convenio; $empresa = isset($_GET["empresa"]) ? $_GET["empresa"] : SYS_TODAS; $out = parametro("out", SYS_DEFAULT, MQL_RAW); $tipoautorizacion = parametro("tipoautorizacion", SYS_TODAS, MQL_INT); $ByOficial = $xLi->OFiltro()->CreditosPorOficial(parametro("oficial", SYS_TODAS, MQL_INT)); $BySucursal = $xLi->OFiltro()->CreditosPorSucursal(parametro("sucursal", "")); $es_por_estatus = $xLi->OFiltro()->CreditosPorEstado($estatus); $BySaldo = $xLi->OFiltro()->CreditosPorSaldos("0.99", ">="); $ByEmpresa = $xLi->OFiltro()->CreditosPorEmpresa($empresa); $ByTipoAut = $xLi->OFiltro()->CreditosPorAutorizacion($tipoautorizacion); $fechaInicial = $xF->getFechaISO(parametro("on", fechasys())); $fechaFinal = $xF->getFechaISO(parametro("off", fechasys())); if ($estatus == CREDITO_ESTADO_AUTORIZADO or $estatus == CREDITO_ESTADO_SOLICITADO) { $BySaldo = ""; } $es_por_frecuencia = $xLi->OFiltro()->CreditosPorFrecuencia($frecuencia); $es_por_convenio = $xLi->OFiltro()->CreditosPorProducto($convenio); $ByFecha = " AND (creditos_solicitud.fecha_ministracion >='{$fechaInicial}' AND creditos_solicitud.fecha_ministracion <= '{$fechaFinal}') "; /* ******************************************************************************/ $OperadorFecha = $out == OUT_EXCEL ? " " : "getFechaMX";