Improving cuotas por vencer
This commit is contained in:
@ -138,22 +138,43 @@ ORDER BY `pago`.`fecha` DESC";
|
|||||||
}
|
}
|
||||||
public function fetchDatosPorVencer(): array
|
public function fetchDatosPorVencer(): array
|
||||||
{
|
{
|
||||||
$query = "SELECT `pago`.`fecha` AS 'Fecha', `proyecto`.`descripcion` AS 'Proyecto', COUNT(a.`id`) AS 'Cantidad'
|
$query = "SELECT p1.`fecha` AS 'Fecha', v1.`descripcion` AS 'Proyecto', COUNT(a.`id`) AS 'Cantidad'
|
||||||
FROM `{$this->getTable()}` a
|
FROM `{$this->getTable()}` a
|
||||||
JOIN `pago` ON `pago`.`id` = a.`pago`
|
JOIN (
|
||||||
JOIN (SELECT e1.* FROM `estado_pago` e1 JOIN (SELECT MAX(`id`) AS 'id', `pago` FROM `estado_pago` GROUP BY `pago`) e0 ON e0.`id` = e1.`id`) ep ON ep.`pago` = `pago`.`id`
|
SELECT `pago`.`id`, `pago`.`fecha`
|
||||||
JOIN `tipo_estado_pago` tep ON tep.`id` = ep.`estado`
|
FROM `pago`
|
||||||
JOIN `venta` ON `venta`.`pie` = a.`pie`
|
JOIN (
|
||||||
JOIN (SELECT ev1.* FROM `estado_venta` ev1 JOIN (SELECT MAX(`id`) AS 'id', `venta` FROM `estado_venta` GROUP BY `venta`) ev0 ON ev0.`id` = ev1.`id`) ev ON ev.`venta` = `venta`.`id`
|
SELECT e1.*
|
||||||
JOIN `tipo_estado_venta` tev ON tev.`id` = ev.`estado`
|
FROM `estado_pago` e1
|
||||||
JOIN `propiedad_unidad` pu ON pu.`propiedad` = `venta`.`propiedad` AND pu.`principal` = 1
|
JOIN (
|
||||||
JOIN `unidad` ON `unidad`.`id` = pu.`unidad`
|
SELECT MAX(`id`) AS 'id', `pago`
|
||||||
JOIN `proyecto_tipo_unidad` ptu ON ptu.`id` = `unidad`.`pt`
|
FROM `estado_pago`
|
||||||
JOIN `proyecto` ON `proyecto`.`id` = ptu.`proyecto`
|
GROUP BY `pago`
|
||||||
WHERE tep.`descripcion` = 'no pagado' AND `pago`.`fecha` BETWEEN DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND DATE_ADD(CURDATE(), INTERVAL 1 MONTH)
|
) e0 ON e0.`id` = e1.`id`
|
||||||
AND tev.`descripcion` IN ('vigente', 'escriturando', 'firmado por inmobiliaria')
|
) ep ON ep.`pago` = `pago`.`id`
|
||||||
GROUP BY `pago`.`fecha`, `proyecto`.`descripcion`
|
JOIN `tipo_estado_pago` tep ON tep.`id` = ep.`estado` AND tep.`descripcion` = 'no pagado'
|
||||||
ORDER BY `pago`.`fecha`, `proyecto`.`descripcion`";
|
) p1 ON p1.id = a.`pago`
|
||||||
|
JOIN (
|
||||||
|
SELECT `venta`.`pie`, `venta`.`propiedad`, `proyecto`.`descripcion`
|
||||||
|
FROM `venta`
|
||||||
|
JOIN (
|
||||||
|
SELECT ev1.*
|
||||||
|
FROM `estado_venta` ev1
|
||||||
|
JOIN (
|
||||||
|
SELECT MAX(`id`) AS 'id', `venta`
|
||||||
|
FROM `estado_venta`
|
||||||
|
GROUP BY `venta`
|
||||||
|
) ev0 ON ev0.`id` = ev1.`id`
|
||||||
|
) ev ON ev.`venta` = `venta`.`id`
|
||||||
|
JOIN `tipo_estado_venta` tev ON tev.`id` = ev.`estado` AND tev.`descripcion` IN ('vigente', 'escriturando', 'firmado por inmobiliaria')
|
||||||
|
JOIN `propiedad_unidad` pu ON pu.`propiedad` = `venta`.`propiedad` AND pu.`principal` = 1
|
||||||
|
JOIN `unidad` ON `unidad`.`id` = pu.`unidad`
|
||||||
|
JOIN `proyecto_tipo_unidad` ptu ON ptu.`id` = `unidad`.`pt`
|
||||||
|
JOIN `proyecto` ON `proyecto`.`id` = ptu.`proyecto`
|
||||||
|
) v1 ON v1.`pie` = a.`pie`
|
||||||
|
WHERE p1.`fecha` BETWEEN DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND DATE_ADD(CURDATE(), INTERVAL 1 MONTH)
|
||||||
|
GROUP BY p1.`fecha`, v1.`descripcion`
|
||||||
|
ORDER BY p1.`fecha`, v1.`descripcion`";
|
||||||
return $this->fetchAsArray($query);
|
return $this->fetchAsArray($query);
|
||||||
}
|
}
|
||||||
public function fetchVigenteByPie(int $pie_id): array
|
public function fetchVigenteByPie(int $pie_id): array
|
||||||
|
Reference in New Issue
Block a user