﻿DROP FUNCTION TerminaProyecto() cascade;

CREATE FUNCTION TerminaProyecto() RETURNS trigger AS $TerminaProyecto$
    BEGIN
	-- contamos las actividades del proyecto y las comparamos con las actividades completadas
	if (select count(*)  from "Zalamero_actividad" where proyecto_id = NEW.proyecto_id) > 0 then 
		if (
			(select count(*)  from "Zalamero_actividad" where proyecto_id = NEW.proyecto_id) = 
			(select count(*)   from "Zalamero_actividad" where proyecto_id = NEW.proyecto_id and estatus = True )		
		) 
		then 
			update "Zalamero_proyecto" set estatus_id = 4, fecha = now() where id = NEW.proyecto_id;
		--else
			--update "Zalamero_proyecto" set estatus_id = 2 where id = NEW.proyecto_id;
		end if;
	end if;
        return NEW;

    END;
$TerminaProyecto$ LANGUAGE plpgsql;



CREATE TRIGGER TerminaProyecto after INSERT OR UPDATE ON "Zalamero_actividad"
    FOR EACH ROW EXECUTE PROCEDURE TerminaProyecto();

ALTER FUNCTION terminaproyecto()
  OWNER TO "Produccion";
