Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/r2 ganancias netas #46

Merged
merged 2 commits into from
Jan 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 */