|
|
|
|
@@ -136,10 +136,10 @@ const demandQueueLabels: Record<DemandQueue, string> = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const demandQueueDescriptions: Record<DemandQueue, string> = {
|
|
|
|
|
apparel: 'Produtos acabados com venda e cobertura baixa. Ainda é sugestão por unidade, não kg de malha.',
|
|
|
|
|
inputs: 'Embalagens, matérias-primas e insumos DTF com cobertura baixa pelo próprio estoque.',
|
|
|
|
|
review: 'SKUs vendidos que precisam de correção de tipo, cor, tamanho ou família antes de planejar melhor.',
|
|
|
|
|
dead: 'Itens com estoque e pouca ou nenhuma venda no período.',
|
|
|
|
|
apparel: 'Produtos acabados com demanda ativa e cobertura abaixo da meta.',
|
|
|
|
|
inputs: 'Insumos, embalagens e matérias-primas com necessidade de reposição.',
|
|
|
|
|
review: 'SKUs com informações pendentes para qualificar o planejamento.',
|
|
|
|
|
dead: 'Itens com saldo disponível e baixa movimentação no período.',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const directPurchaseTypes = new Set<ProductTypeKey>(['packaging', 'dtf_input', 'raw_material', 'machine_part', 'finished_accessory']);
|
|
|
|
|
@@ -192,7 +192,7 @@ const SuppliesHub = () => (
|
|
|
|
|
<div className={pageClassName}>
|
|
|
|
|
<Header title="Suprimentos" subtitle="Corte, estoque, malha e compras em um fluxo operacional." />
|
|
|
|
|
<div className="grid grid-cols-1 gap-4 lg:grid-cols-2">
|
|
|
|
|
<ModuleCard title="Planejamento por Dados Atuais" description="Filas de reposição, compra, revisão e estoque parado usando vendas, estoque e cobertura do Tiny." icon={PackageSearch} to="/supplies/current-planning" />
|
|
|
|
|
<ModuleCard title="Planejamento Operacional" description="Prioridades de reposição, compra e revisão calculadas por demanda, estoque e cobertura." icon={PackageSearch} to="/supplies/current-planning" />
|
|
|
|
|
<ModuleCard title="Planejamento de Corte" description="Ruptura por cor e tamanho, montagem do corte e prioridade por cobertura." icon={Scissors} to="/cutting" />
|
|
|
|
|
<ModuleCard title="Controle de Estoque" description="Saldo, lotes, recebimentos, inventário e movimentações." icon={Package} to="/supplies/inventory" />
|
|
|
|
|
<ModuleCard title="Ordens de Produção" description="Ordens geradas pelo corte e acompanhamento de produção." icon={ClipboardList} to="/production-orders" />
|
|
|
|
|
@@ -354,7 +354,7 @@ const DemandPlanningScreen = () => {
|
|
|
|
|
return (
|
|
|
|
|
<div className={pageClassName}>
|
|
|
|
|
<div className="grid grid-cols-1 gap-4 2xl:grid-cols-[minmax(520px,1fr)_auto] 2xl:items-start">
|
|
|
|
|
<Header title="Planejamento por Dados Atuais" subtitle="Filas operacionais usando vendas, estoque e cobertura já disponíveis no Tiny/prod graphs." backTo="/supplies" />
|
|
|
|
|
<Header title="Planejamento Operacional" subtitle="Prioridades de reposição, compra e revisão calculadas por demanda, estoque e cobertura." backTo="/supplies" />
|
|
|
|
|
<DateRangePicker
|
|
|
|
|
dateRange={dateRange}
|
|
|
|
|
onChange={(range) => {
|
|
|
|
|
|