Skip to content

Commit

Permalink
Merge pull request #46 from Jrgil20/feature/R2_GananciasNetas
Browse files Browse the repository at this point in the history
Feature/r2 ganancias netas
  • Loading branch information
Jrgil20 authored Jan 11, 2025
2 parents f12f4f4 + c5783e4 commit 3a930a9
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 2 deletions.
4 changes: 3 additions & 1 deletion R2_ganaciasNetas.sql
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,6 @@ BEGIN

RETURN QUERY SELECT _ganancias_brutas, _costos, _ganancias_brutas - _costos;
END;
$$ LANGUAGE plpgsql;
$$ LANGUAGE plpgsql;

SELECT * FROM ganancias_floristeria(2, '2023-01-01');
63 changes: 62 additions & 1 deletion commands.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2054,6 +2054,13 @@ END;
$$ LANGUAGE plpgsql;


-------------------------------------------------------------------------------------------------------------------
-- =========================================================================================================== --
-- ==================================== Requerimientos individuales ========================================= --
-- =========================================================================================================== --
-------------------------------------------------------------------------------------------------------------------


-----------------------------------------------------------------------
-- REQUERIMIENTO 1 - MANTENIMIENTO DE HISTORICO DE PRECIOS DE FLORES --
-----------------------------------------------------------------------
Expand Down Expand Up @@ -2331,4 +2338,58 @@ BEGIN
END;
$$ LANGUAGE plpgsql;

/* FIN DEL REQUERIMIENTO 1 */
/* FIN DEL REQUERIMIENTO 1 */


-----------------------------------------------------------------------
-- REQUERIMIENTO 2 - GANANCIAS NETAS UNA FLORISTERIA --
-----------------------------------------------------------------------


CREATE OR REPLACE FUNCTION ganancias_floristeria(
p_idFloristeria NUMERIC,
p_mes DATE
)
RETURNS TABLE(
ganancias_brutas NUMERIC,
costos NUMERIC,
ganancias_netas NUMERIC
)
AS $$
DECLARE
fecha_inicio DATE := DATE_TRUNC('month', p_mes);
fecha_fin DATE := (DATE_TRUNC('month', p_mes) + INTERVAL '1 month') - INTERVAL '1 day';
_ganancias_brutas NUMERIC;
_costos NUMERIC;
BEGIN

IF fecha_fin > CURRENT_DATE THEN
fecha_fin := CURRENT_DATE;
RAISE EXCEPTION 'se calcula las ganancias netas hasta el dia de hoy';
END IF;

IF fecha_inicio > CURRENT_DATE THEN
RAISE NOTICE 'No se puede calcular aun';
END IF;

SELECT COALESCE(SUM(montoTotal), 0)
INTO _ganancias_brutas
FROM FACTURA_FINAL
WHERE idFloristeria = p_idFloristeria
AND fechaEmision >= fecha_inicio
AND fechaEmision <= fecha_fin;

SELECT COALESCE(SUM(montoTotal), 0)
INTO _costos
FROM FACTURA
WHERE idAfiliacionFloristeria = p_idFloristeria
AND fechaEmision >= fecha_inicio
AND fechaEmision <= fecha_fin;

RETURN QUERY SELECT _ganancias_brutas, _costos, _ganancias_brutas - _costos;
END;
$$ LANGUAGE plpgsql;

SELECT * FROM ganancias_floristeria(2, '2023-01-01');

/* FIN DEL REQUERIMIENTO 2 */

0 comments on commit 3a930a9

Please sign in to comment.