PageSourceSearch

https://carregamento3bs.lovable.app/assets/BalancaPage-j4EOxwbh.js

js carregamento3bs.lovable.app collected 2026-10-03 05:36:42 UTC 7,166 bytes, 1 lines download raw bytes

1import{u as L,j as a}from"./react-vendor-BorBU4Bs.js";import{a as O,q as y,K as I,M as W,n as D,aF as H,a$ as Q,bz as $,ay as U,c4 as V,ca as G,bF as J,c5 as X,aH as Y,aP as Z,a4 as ee,s as o}from"./index-DkhxOMdR.js";import{a as b}from"./query-vendor-dlntIC_S.js";import{F as ae}from"./FavoritoButton-N-0MQpPj.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";import"./useAtalhos-GFvC_Ik7.js";import"./star-C8jVt7Pu.js";const oe=[{to:"/aguardando-peso-saida",label:"Aguardando Peso Saída",icon:y,description:"Ordens aguardando pesagem de saída",pageKey:"ordens"},{to:"/recebimento-moega",label:"Recebimento Moega",icon:H,description:"Recebimento e ordens nas moegas",pageKey:"ordens"},{to:"/recebimento-fabrica-hub",label:"Recebimento Fábrica",icon:Q,description:"Recebimento de insumos na fábrica",pageKey:"recebimento-fabrica"}],se=[{to:"/expedicao",label:"Expedição",icon:$,description:"Status em tempo real dos silos de expedição",pageKey:"ordens"},{to:"/carregamento-hub",label:"Carregamento",icon:U,description:"Ordens e conferência de carregamento",pageKey:"ordens"},{to:"/pedidos?view=programacoes&from=balanca",label:"Programações",icon:V,description:"Programações diárias de produção",pageKey:"pedidos"}],f={to:"/classificacao?from=balanca",label:"Classificação",icon:G,description:"Laudos de classificação de grãos",pageKey:"classificacao"},x={to:"/servico-pesagem",label:"Serviço de Pesagem",icon:J,description:"Controle de pesagens prestadas a terceiros",pageKey:"servico-pesagem"},h={to:"/amostras-moega",label:"Amostras Moega",icon:X,description:"Controle de amostras de granel da moega",pageKey:"ordens"},v={to:"/moega-transito",label:"Trânsito Produtor→Cliente",icon:Y,description:"Milho recebido do produtor para retirada do cliente (não entra no estoque)",pageKey:"ordens"},re={to:"/nfs-pendentes",label:"NFs Pendentes",icon:Z,description:"Ordens aguardando inserção da nota fiscal",pageKey:"ordens"},te={to:"/producao?view=readonly&from=balanca",label:"Visualizar Produção",icon:ee,description:"Apenas visualizar — sem alterações e sem senha",pageKey:"ordens"};function xe(){const C=L(),{isMaster:s,allowedPages:r,userRole:_}=O(),t=_==="admin",{data:n={}}=b({queryKey:["balanca_hub_counts"],queryFn:async()=>{const[e,c,i,m,u,M,R,A,E,k]=await Promise.all([o.from("ordens_recebimento").select("id",{count:"exact",head:!0}).eq("status","aguardando_balanca"),o.from("ordens_carregamento").select("id",{count:"exact",head:!0}).eq("status","aguardando_balanca"),o.from("ordens_recebimento").select("id",{count:"exact",head:!0}).eq("tipo","granel").eq("excluida",!1).in("status",["pendente","liberado para descarga","em_recebimento"]),o.from("ordens_recebimento").select("id",{count:"exact",head:!0}).eq("tipo","sacaria").eq("excluida",!1).in("status",["pendente","liberado para descarga","em_recebimento"]),o.from("ordens_carregamento").select("id",{count:"exact",head:!0}).neq("status","finalizado"),o.from("ordens_carregamento").select("id",{count:"exact",head:!0}).eq("status","em_classificacao"),o.from("pedidos_silo_pendentes").select("id, pedidos(racoes(nome, tag))").is("resolvido_at",null),o.from("amostras_moega").select("id",{count:"exact",head:!0}).eq("status","pendente"),o.from("servico_pesagens").select("id",{count:"exact",head:!0}).is("data_saida",null),o.from("recebimento_transito_moega").select("id",{count:"exact",head:!0}).eq("status","aberto")]),z=(R.data||[]).filter(g=>{var p;const l=(p=g==null?void 0:g.pedidos)==null?void 0:p.racoes,T=String((l==null?void 0:l.tag)||"").toLowerCase(),B=String((l==null?void 0:l.nome)||"").toUpperCase();return T!=="pesadinha"&&!B.includes("PESADINHA")}).length;return{pesoSaida:(e.count||0)+(c.count||0),recMoega:i.count||0,recFabrica:m.count||0,carregamento:u.count||0,classificacao:M.count||0,expedicao:z,amostras:A.count||0,servicoPesagem:E.count||0,transitoMoega:k.count||0}},refetchInterval:3e4}),P=n.pesoSaida||0,{data:w=0}=b({queryKey:["nfs_pendentes_count"],queryFn:async()=>{const{data:e,error:c}=await o.from("ordens_recebimento").select("id, tipo, subtipo, nf, nf_remessa");if(c)throw c;return e.filter(i=>{if(i.subtipo==="transito_produtor")return!1;const m=!i.nf||String(i.nf).trim()==="",u=!i.nf_remessa||String(i.nf_remessa).trim()==="";return(i.tipo==="granel"||m)&&u}).length},refetchInterval:3e4}),j=oe.filter(e=>s||t||r.includes(e.pageKey)),N=se.filter(e=>s||t||r.includes(e.pageKey)),K=s||t||r.includes("classificacao"),q=s||t||r.includes("servico-pesagem"),S=s||t||r.includes("ordens"),d=e=>{if(e==="/aguardando-peso-saida")return P;if(e==="/recebimento-moega")return n.recMoega;if(e==="/recebimento-fabrica-hub")return n.recFabrica;if(e==="/carregamento-hub")return n.carregamento;if(e==="/expedicao")return n.expedicao;if(e.startsWith("/classificacao"))return n.classificacao;if(e==="/amostras-moega")return n.amostras;if(e==="/moega-transito")return n.transitoMoega},F=[...j.map(e=>({...e,group:"Recebimento",badge:d(e.to)})),...S?[{...re,group:"Recebimento",badge:w}]:[],...N.map(e=>({...e,group:"Expedição",badge:d(e.to)}
1)),...K?[{...f,group:"Classificação",badge:d(f.to)}]:[],...s||t||r.includes("ordens")?[{...h,group:"Qualidade",badge:d(h.to)}]:[],...s||t||r.includes("ordens")?[{...v,group:"Moega",badge:d(v.to)}]:[],...q?[{...x,group:"Serviços",badge:d(x.to)}]:[],...s||t||r.includes("ordens")?[{...te,group:"Produção",badge:void 0}]:[]];return a.jsxs("div",{children:[a.jsxs("div",{className:"flex flex-col items-center text-center gap-2 mb-6",children:[a.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-xl bg-primary/20 text-primary",children:a.jsx(y,{className:"h-6 w-6"})}),a.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Balança"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Recebimento, expedição e classificação"})]}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5 max-w-5xl mx-auto",children:F.map(e=>{var c;return a.jsx(I,{className:"group cursor-pointer border-border bg-card shadow transition-all duration-200 hover:shadow-xl hover:border-primary/50 active:scale-[0.97]",onClick:()=>C(e.to),children:a.jsxs(W,{className:"relative p-6 flex flex-col items-center gap-4 text-center",children:[a.jsx(ae,{rota:e.to,rotulo:e.label,icone:(c=e.icon)==null?void 0:c.name,descricao:e.description}),typeof e.badge=="number"&&e.badge>0&&a.jsx(D,{variant:"destructive",className:"absolute top-3 right-3 h-6 min-w-6 px-1.5 text-xs",children:e.badge}),a.jsx("div",{className:`flex h-14 w-14 items-center justify-center rounded-xl transition-colors ${typeof e.badge=="number"&&e.badge>0?"bg-warning/20 text-warning group-hover:bg-warning/30":"bg-primary/20 text-primary group-hover:bg-primary/30"}`,children:a.jsx(e.icon,{className:"h-6 w-6"})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-base font-semibold text-foreground",children:e.label}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:e.description})]})]})},e.to)})})]})}export{xe 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.