1import{u as he,r as h,j as e}from"./react-vendor-BorBU4Bs.js";import{u as ve,a as T,b as q}from"./query-vendor-dlntIC_S.js";import{s as l,B as t,A as ge,P as A,N as F,O as P,Q as x,U as d,V as z,W as o,r as H,cb as Q,T as O,t as K,v as M,w as I,x as L,y as B,z as V,E as U,D as $,i as G,j as J,k as W,F as X,L as c,I as v,G as Y,J as Z,ay as je,H as pe,m as fe,at as u}from"./index-DkhxOMdR.js";import{P as ee}from"./PageHeader-BP8oDBUm.js";import{P as se}from"./pencil-Cf5Ul2CU.js";import"./radix-vendor-CazrR58L.js";import"./charts-vendor-BxJanGhU.js";import"./supabase-vendor-BxTHC7hl.js";import"./xlsx-vendor-DOnNs5_d.js";import"./qr-vendor-Ca1-Dxvv.js";const ie={codigo:"",nome:"",descricao:"",criado_em:"",revisado_em:"",numero_revisao:0},_e={data:"",numero_revisao:0,motivo:""};function ke(){const g=ve(),ae=he(),[re,j]=h.useState(!1),[y,D]=h.useState(null),[a,m]=h.useState(ie),[r,S]=h.useState(null),[oe,p]=h.useState(!1),[n,f]=h.useState(_e),[w,E]=h.useState(null),{data:k=[],isLoading:ne}=T({queryKey:["registros_qualidade"],queryFn:async()=>{const{data:s,error:i}=await l.from("registros_qualidade").select("*").order("codigo");if(i)throw i;return s}}),{data:C=[],isLoading:te}=T({queryKey:["registros_qualidade_revisoes",r==null?void 0:r.id],enabled:!!r,queryFn:async()=>{const{data:s,error:i}=await l.from("registros_qualidade_revisoes").select("*").eq("registro_id",r.id).order("numero_revisao",{ascending:!0});if(i)throw i;return s}}),R=q({mutationFn:async()=>{const s={codigo:a.codigo.trim(),nome:a.nome.trim(),descricao:a.descricao.trim()||null,criado_em:a.criado_em,revisado_em:a.revisado_em||null,numero_revisao:a.numero_revisao};if(y){const{error:i}=await l.from("registros_qualidade").update(s).eq("id",y.id);if(i)throw i}else{const{error:i}=await l.from("registros_qualidade").insert(s);if(i)throw i}},onSuccess:()=>{g.invalidateQueries({queryKey:["registros_qualidade"]}),u.success(y?"Registro atualizado":"Registro criado"),j(!1)},onError:s=>u.error(s.message)}),de=q({mutationFn:async s=>{const{error:i}=await l.from("registros_qualidade").delete().eq("id",s);if(i)throw i},onSuccess:()=>{g.invalidateQueries({queryKey:["registros_qualidade"]}),u.success("Registro excluÃdo")},onError:s=>u.error(s.message)}),b=q({mutationFn:async()=>{const s={registro_id:r.id,data:n.data,numero_revisao:n.numero_revisao,motivo:n.motivo.trim()};if(w){const{error:N}=await l.from("registros_qualidade_revisoes").update(s).eq("id",w.id);if(N)throw N}else{const{error:N}=await l.from("registros_qualidade_revisoes").insert(s);if(N)throw N}const{error:i}=await l.from("registros_qualidade").update({revisado_em:n.data,numero_revisao:n.numero_revisao}).eq("id",r.id);if(i)throw i},onSuccess:()=>{g.invalidateQueries({queryKey:["registros_qualidade_revisoes",r==null?void 0:r.id]}),g.invalidateQueries({queryKey:["registros_qualidade"]}),u.success(w?"Revisão atualizada":"Revisão adicionada"),p(!1)},onError:s=>u.error(s.message)}),le=q({mutationFn:async s=>{const{error:i}=await l.from("registros_qualidade_revisoes").delete().eq("id",s);if(i)throw i},onSuccess:()=>{g.invalidateQueries({queryKey:["registros_qualidade_revisoes",r==null?void 0:r.id]}),u.success("Revisão excluÃda")},onError:s=>u.error(s.message)}),ce=()=>{D(null),m(ie),j(!0)},me=s=>
1{D(s),m({codigo:s.codigo,nome:s.nome,descricao:s.descricao||"",criado_em:s.criado_em,revisado_em:s.revisado_em||"",numero_revisao:s.numero_revisao}),j(!0)},xe=()=>{E(null);const s=C.length>0?Math.max(...C.map(i=>i.numero_revisao))+1:1;f({data:new Date().toISOString().split("T")[0],numero_revisao:s,motivo:""}),p(!0)},ue=s=>{E(s),f({data:s.data,numero_revisao:s.numero_revisao,motivo:s.motivo}),p(!0)},_=s=>s?fe(new Date(s+"T00:00:00"),"dd/MM/yyyy"):"â";return r?e.jsxs("div",{children:[e.jsx(ee,{title:`${r.codigo} â ${r.nome}`,description:"Histórico de revisões do registro de qualidade"}),e.jsxs(t,{variant:"outline",size:"sm",className:"mb-4",onClick:()=>S(null),children:[e.jsx(ge,{className:"h-4 w-4 mr-1"})," Voltar"]}),e.jsxs("div",{className:"border rounded-lg p-4 mb-6 bg-card grid grid-cols-2 sm:grid-cols-4 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Código:"})," ",e.jsx("span",{className:"font-semibold font-mono",children:r.codigo})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Criado em:"})," ",e.jsx("span",{className:"font-semibold",children:_(r.criado_em)})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Revisado em:"})," ",e.jsx("span",{className:"font-semibold",children:_(r.revisado_em)})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Nº Revisão:"})," ",e.jsx("span",{className:"font-semibold",children:r.numero_revisao})]})]}),e.jsxs("div",{className:"flex justify-between items-center mb-3",children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Histórico de Revisões"}),e.jsxs(t,{onClick:xe,size:"sm",children:[e.jsx(A,{className:"h-4 w-4 mr-1"})," Nova Revisão"]})]}),e.jsx("div",{className:"border rounded-lg overflow-hidden",children:e.jsxs(F,{children:[e.jsx(P,{children:e.jsxs(x,{children:[e.jsx(d,{className:"w-[130px]",children:"Data"}),e.jsx(d,{className:"w-[120px] text-center",children:"Núm. Revisão"}),e.jsx(d,{children:"Motivo"}),e.jsx(d,{className:"w-[100px]",children:"Ações"})]})}),e.jsx(z,{children:te?e.jsx(x,{children:e.jsx(o,{colSpan:4,className:"text-center py-8 text-muted-foreground",children:"Carregando..."})}):C.length===0?e.jsx(x,{children:e.jsx(o,{colSpan:4,className:"text-center py-8 text-muted-foreground",children:"Nenhuma revisão registrada"})}):C.map(s=>e.jsxs(x,{children:[e.jsx(o,{children:_(s.data)}),e.jsx(o,{className:"text-center font-semibold",children:s.numero_revisao}),e.jsx(o,{className:"whitespace-pre-wrap text-sm",children:s.motivo}),e.jsx(o,{children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx(t,{variant:"ghost",size:"icon",onClick:()=>ue(s),children:e.jsx(se,{className:"h-4 w-4"})}
1),e.jsxs(H,{children:[e.jsx(Q,{asChild:!0,children:e.jsx(t,{variant:"ghost",size:"icon",children:e.jsx(O,{className:"h-4 w-4 text-destructive"})})}),e.jsxs(K,{children:[e.jsxs(M,{children:[e.jsx(I,{children:"Excluir revisão?"}),e.jsx(L,{children:"Esta ação não pode ser desfeita."})]}),e.jsxs(B,{children:[e.jsx(V,{children:"Cancelar"}),e.jsx(U,{onClick:()=>le.mutate(s.id),children:"Excluir"})]})]})]})]})})]},s.id))})]})}),e.jsx($,{open:oe,onOpenChange:p,children:e.jsxs(G,{className:"max-w-md",children:[e.jsxs(J,{children:[e.jsx(W,{children:w?"Editar Revisão":"Nova Revisão"}),e.jsx(X,{children:"Registre a alteração realizada no documento."})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx(c,{children:"Data *"}),e.jsx(v,{type:"date",value:n.data,onChange:s=>f({...n,data:s.target.value})})]}),e.jsxs("div",{children:[e.jsx(c,{children:"Nº Revisão *"}),e.jsx(v,{type:"number",min:0,value:n.numero_revisao,onChange:s=>f({...n,numero_revisao:parseInt(s.target.value)||0})})]})]}),e.jsxs("div",{children:[e.jsx(c,{children:"Motivo *"}),e.jsx(Y,{placeholder:"Descreva o motivo da alteração",value:n.motivo,onChange:s=>f({...n,motivo:s.target.value}),rows:4})]})]}),e.jsxs(Z,{children:[e.jsx(t,{variant:"outline",onClick:()=>p(!1),children:"Cancelar"}),e.jsx(t,{onClick:()=>b.mutate(),disabled:!n.data||!n.motivo.trim()||b.isPending,children:b.isPending?"Salvando...":"Salvar"})]})]})})]}):e.jsxs("div",{children:[e.jsx(ee,{title:"Registro de Qualidade (RQ)",description:"Controle dos registros de qualidade da empresa"}),e.jsx("div",{className:"flex justify-end mb-4",children:e.jsxs(t,{onClick:ce,size:"sm",children:[e.jsx(A,{className:"h-4 w-4 mr-1"})," Novo Registro"]})}),e.jsx("div",{className:"border rounded-lg overflow-hidden",children:e.jsxs(F,{children:[e.jsx(P,{children:e.jsxs(x,{children:[e.jsx(d,{children:"Código"}),e.jsx(d,{children:"Nome"}),e.jsx(d,{children:"Descrição"}),e.jsx(d,{children:"Criado em"}),e.jsx(d,{children:"Revisado em"}),e.jsx(d,{className:"text-center",children:"Nº Revisão"}),e.jsx(d,{className:"w-[130px]",children:"Ações"})]})}),e.jsx(z,{children:ne?e.jsx(x,{children:e.jsx(o,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"Carregando..."})}):k.length===0?e.jsx(x,{children:e.jsx(o,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"Nenhum registro cadastrado"})}):k.map(s=>e.jsxs(x,{children:[e.jsx(o,{className:"font-mono font-semibold",children:s.codigo}),e.jsx(o,{children:s.nome}),e.jsx(o,{className:"text-muted-foreground text-xs max-w-[200px] truncate",children:s.descricao||"â"}),e.jsx(o,{children:_(s.criado_em)}),e.jsx(o,{children:_(s.revisado_em)}),e.jsx(o,{className:"text-center",children:String(s.numero_revisao).padStart(2,"0")}),e.jsx(o,{children:e.jsxs("div",{className:"flex gap-1",children:[s.codigo.trim().toUpperCase()==="RQ 01.02"&&e.jsx(t,{variant:"ghost",size:"icon",title:"Ver inspeções de veÃculos",onClick:()=>ae("/inspecoes-veiculos"),children:e.jsx(je,{className:"h-4 w-4 text-primary"})}),e.jsx(t,{variant:"ghost",size:"icon",title:"Histórico de revisões",onClick:()=>{S(s)},children:e.jsx(pe,{className:"h-4 w-4"})}),e.jsx(t,{variant:"ghost",size:"icon",onClick:()=>me(s),children:e.jsx(se,{className:"h-4 w-4"})}
1),e.jsxs(H,{children:[e.jsx(Q,{asChild:!0,children:e.jsx(t,{variant:"ghost",size:"icon",children:e.jsx(O,{className:"h-4 w-4 text-destructive"})})}),e.jsxs(K,{children:[e.jsxs(M,{children:[e.jsx(I,{children:"Excluir registro?"}),e.jsx(L,{children:"Esta ação não pode ser desfeita."})]}),e.jsxs(B,{children:[e.jsx(V,{children:"Cancelar"}),e.jsx(U,{onClick:()=>de.mutate(s.id),children:"Excluir"})]})]})]})]})})]},s.id))})]})}),e.jsx($,{open:re,onOpenChange:j,children:e.jsxs(G,{className:"max-w-md",children:[e.jsxs(J,{children:[e.jsx(W,{children:y?"Editar Registro":"Novo Registro"}),e.jsx(X,{children:"Preencha os dados do registro de qualidade."})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(c,{children:"Código *"}),e.jsx(v,{placeholder:"Ex: RQ 09.01",value:a.codigo,onChange:s=>m({...a,codigo:s.target.value})})]}),e.jsxs("div",{children:[e.jsx(c,{children:"Nome *"}),e.jsx(v,{placeholder:"Ex: Programação de Produção",value:a.nome,onChange:s=>m({...a,nome:s.target.value})})]}),e.jsxs("div",{children:[e.jsx(c,{children:"Descrição"}),e.jsx(Y,{placeholder:"Descrição do registro",value:a.descricao,onChange:s=>m({...a,descricao:s.target.value})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx(c,{children:"Criado em *"}),e.jsx(v,{type:"date",value:a.criado_em,onChange:s=>m({...a,criado_em:s.target.value})})]}),e.jsxs("div",{children:[e.jsx(c,{children:"Revisado em"}),e.jsx(v,{type:"date",value:a.revisado_em,onChange:s=>m({...a,revisado_em:s.target.value})})]})]}),e.jsxs("div",{children:[e.jsx(c,{children:"Nº Revisão"}),e.jsx(v,{type:"number",min:0,value:a.numero_revisao,onChange:s=>m({...a,numero_revisao:parseInt(s.target.value)||0})})]})]}),e.jsxs(Z,{children:[e.jsx(t,{variant:"outline",onClick:()=>j(!1),children:"Cancelar"}),e.jsx(t,{onClick:()=>R.mutate(),disabled:!a.codigo.trim()||!a.nome.trim()||!a.criado_em||R.isPending,children:R.isPending?"Salvando...":"Salvar"})]})]})})]})}export{ke as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.