🚀 Initial commit: Versão atual do TrackSteel APP

This commit is contained in:
2026-03-18 21:17:53 +00:00
commit bde410c9ad
633 changed files with 108150 additions and 0 deletions

View File

@@ -0,0 +1,95 @@
-- Adicionar campos de data início e término à tabela de fichas técnicas
ALTER TABLE ficha_tecnica_contratos
ADD COLUMN data_inicio date,
ADD COLUMN data_termino_prev date;
-- Atualizar os dados existentes para migrar data_criacao para data_inicio
UPDATE ficha_tecnica_contratos
SET data_inicio = data_criacao
WHERE data_inicio IS NULL;
-- Criar tabela para ordens de fabricação
CREATE TABLE public.ordens_fabricacao (
id uuid NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
num_of text NOT NULL,
descritivo text,
data_abertura date,
data_prazo date,
peso_total numeric,
criterio_qualidade text,
tratamento_final text,
local_uf text,
status text DEFAULT 'ativa',
created_at timestamp with time zone NOT NULL DEFAULT now(),
updated_at timestamp with time zone NOT NULL DEFAULT now(),
user_id uuid,
ficha_tecnica_id uuid REFERENCES ficha_tecnica_contratos(id)
);
-- Criar tabela para OFs arquivadas/concluídas
CREATE TABLE public.ofs_concluidas (
id uuid NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
num_of text NOT NULL,
descritivo text,
data_abertura date,
data_prazo date,
peso_total numeric,
criterio_qualidade text,
tratamento_final text,
local_uf text,
data_arquivamento timestamp with time zone DEFAULT now(),
arquivado_por uuid,
ficha_tecnica_data jsonb, -- Dados da ficha técnica arquivados
created_at timestamp with time zone NOT NULL DEFAULT now(),
user_id uuid
);
-- Adicionar RLS às novas tabelas
ALTER TABLE public.ordens_fabricacao ENABLE ROW LEVEL SECURITY;
ALTER TABLE public.ofs_concluidas ENABLE ROW LEVEL SECURITY;
-- Políticas para ordens_fabricacao (usuários autenticados podem ver todas)
CREATE POLICY "Authenticated users can view ordens_fabricacao"
ON public.ordens_fabricacao
FOR SELECT
USING (auth.role() = 'authenticated');
CREATE POLICY "Authenticated users can insert ordens_fabricacao"
ON public.ordens_fabricacao
FOR INSERT
WITH CHECK (auth.role() = 'authenticated');
CREATE POLICY "Authenticated users can update ordens_fabricacao"
ON public.ordens_fabricacao
FOR UPDATE
USING (auth.role() = 'authenticated');
CREATE POLICY "Authenticated users can delete ordens_fabricacao"
ON public.ordens_fabricacao
FOR DELETE
USING (auth.role() = 'authenticated');
-- Políticas para ofs_concluidas (usuários autenticados podem ver todas)
CREATE POLICY "Authenticated users can view ofs_concluidas"
ON public.ofs_concluidas
FOR SELECT
USING (auth.role() = 'authenticated');
CREATE POLICY "Authenticated users can insert ofs_concluidas"
ON public.ofs_concluidas
FOR INSERT
WITH CHECK (auth.role() = 'authenticated');
-- Trigger para atualizar updated_at
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
RETURN NEW;
END;
$$ language 'plpgsql';
CREATE TRIGGER update_ordens_fabricacao_updated_at
BEFORE UPDATE ON ordens_fabricacao
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();