🔄 OPERAÇÃO: RECOLHIMENTOS (BASE DE TROCA)

Recolhimentos e Retorno de Vazios

Detalhamento completo das 4 funcionalidades relacionadas aos recolhimentos do App Cilindros.
Cada atividade é explicada com: o que faz, por que existe, pré-requisitos e quando usar.

📋 4 Funcionalidades 🏷️ QR Code do Recolhimento 📍 4 Localizações 🔄 Vazio → Interno 📦 Rastreabilidade 📋 Pré-requisito: Romaneio EM ROTA
🏭 Pré-requisito para realizar recolhimento: Os cilindros devem estar com situação 🔴 VAZIO e localização 👥 CLIENTE.
1. Entregar cilindro CHEIO (ID 116)
2. Cilindro fica VAZIO e CLIENTE
3. Recolher cilindro VAZIO
🔗 Consulte a documentação de Entregas para detalhes sobre entrega de cilindros cheios aos clientes.
Após a entrega: Os cilindros ficam 🔴 VAZIOS e 👥 CLIENTE, prontos para o recolhimento.
📊 FLUXO COMPLETO

🔄 Ciclo de Recolhimento dos Cilindros

Visão completa do processo de recolhimento de cilindros vazios dos clientes. As operações integram o App Romaneios (veículo em rota) e o App Cilindros (registro do recolhimento).

graph TD %% NÓS PRINCIPAIS A["📦 1. ROMANEIO EM ROTA
Situação: EM ROTA"] B["🔄 2. RECOLHER CILINDRO
App Cilindros - ID 117"] C["📷 Leitura QR Code
Câmera / USB / Arquivo / Busca"] D["📊 Cilindro selecionado
Verificação de dados"] E["💾 GRAVAR COLETA
Salva offline
NÃO valida"] F["✈️ FINALIZAR COLETA
Validar todos os cilindros"] H{"✅ Validação
ROTA + VAZIO?"} I["❌ ERRO
Cilindro não pode ser recolhido"] J["🛠️ CORRIGIR
Alterar Localização (688)
ou Situação (687)"] K["✅ Cilindro APROVADO
Recolhido do cliente"] L["📝 3. EFEITO NO CILINDRO
Vazio → Vazio"] M["🏢 Localização: CLIENTE → INTERNO"] %% FLUXO PRINCIPAL A --> B B --> C C --> D D --> E E --> F F --> H H -->|Sim| K H -->|Não| I I --> J J --> F K --> L L --> M %% EXCLUSÃO - PODE SER FEITA ENQUANTO COLETA ESTIVER PENDENTE E -.->|Após vincular| P["🗑️ EXCLUIR CILINDRO
ID 128
Remove da coleta"] K -.->|Após finalizar| P P -.->|Coleta ainda pendente| B %% ESTILOS style A fill:#1e293b,stroke:#f59e0b,stroke-width:2px style B fill:#1e293b,stroke:#f59e0b,stroke-width:2px style C fill:#1e293b,stroke:#f59e0b style D fill:#1e293b,stroke:#f59e0b style E fill:#1e293b,stroke:#f59e0b style F fill:#1e293b,stroke:#f59e0b,stroke-width:2px style K fill:#1e293b,stroke:#f59e0b style L fill:#1e293b,stroke:#22c55e,stroke-width:2px style M fill:#1e293b,stroke:#f97316 style P fill:#1e293b,stroke:#ef4444,stroke-width:2px style I fill:#1e293b,stroke:#ef4444 style J fill:#1e293b,stroke:#f97316
🚚 App Cilindros - Recolhimento 🔄 Transição de estado 🟠 Romaneio em Rota 🗑️ Exclusão (coleta pendente) 🛠️ Correção manual

📋 Passo a passo do recolhimento

1 Romaneio em Rota (ID 171)

O romaneio deve estar com situação 🔵 EM ROTA. Os cilindros estão marcados como 🚚 ROTA ou 👥 CLIENTE.

2 Recolher Cilindro (ID 117)

No App Cilindros, selecione o romaneio e bipe os QR Codes dos cilindros vazios (câmera, USB, arquivo ou busca).

3 Finalizar Coleta

Valida todos os cilindros bipados. Critérios: cilindro deve estar 👥 CLIENTE e 🔴 VAZIO.

4 Efeito no Cilindro

Cilindro permanece 🔴 VAZIO e sua localização muda de 👥 CLIENTE para 🏢 INTERNO.

🛠️ Correções e desvios

delete_forever Excluir Cilindro do Recolhimento (ID 128)

Remove um cilindro bipado por engano. Pode ser feito a qualquer momento enquanto a coleta estiver pendente - tanto antes quanto depois de finalizar a coleta.

location_on Alterar Localização (ID 688)

Corrige cilindro que não está em CLIENTE. Usar antes de finalizar a coleta.

radio_button_checked Alterar Situação (ID 687)

Corrige cilindro que não está VAZIO. Usar antes de finalizar a coleta.

save Gravar Coleta (ID 117)

Salva os cilindros bipados localmente. NÃO valida os cilindros - permite continuar depois sem perder dados.

📊 Estados do Cilindro durante o processo

Etapa Situação do Romaneio Situação do Cilindro Localização Ações Permitidas
1. Antes do Recolhimento 🔵 EM ROTA 🔴 VAZIO 👥 CLIENTE Recolher
2. Coleta (bipagem) 🔵 EM ROTA 🔴 VAZIO 👥 CLIENTE Gravar coleta, Excluir (a qualquer momento)
3. Validação (Finalizar) 🔵 EM ROTA Verificação Verificação Corrigir erros (ID 687/688), Excluir (a qualquer momento)
4. Após Recolhimento 🔵 EM ROTA 🔴 VAZIO 🏢 INTERNO Enchimento
5. Após Retorno 🟣 RETORNO 🔴 VAZIO 🏢 INTERNO Enchimento
Pré-requisito para recolhimento: Cilindro deve estar 🔴 VAZIO e 👥 CLIENTE.
⚠️ Permitir recolhimento de CHEIOS: O romaneio pode ser configurado para permitir recolhimento de cilindros cheios (checkbox no cadastro do romaneio).
🗑️ Exclusão: Pode excluir um cilindro do recolhimento a qualquer momento enquanto a coleta estiver pendente. Após finalizar, não é mais possível.
📌 Após o recolhimento: O cilindro permanece 🔴 VAZIO e muda para 🏢 INTERNO.
🚫 Não é possível: Recolher cilindro que está em INTERNO ou EMPRESTADO. Apenas cilindros em CLIENTE podem ser recolhidos.
💡 Dica: Utilize Gravar coleta periodicamente durante o processo para não perder dados em caso de interrupção. Use Finalizar apenas quando todos os cilindros estiverem bipados. Excluir pode ser usado a qualquer momento para corrigir erros antes de finalizar a coleta.
ID 75

📋 Recolhimentos

🎯 O que faz

É a gaveta de cilindros recolhidos. Apresenta todos os cilindros que foram recolhidos dos clientes, com filtros, gráficos e exportações.

🔍 Filtros disponíveis

IdId recolhimentoRomaneioNome/Razão Social CidadeUFRotaVeículo MotoristaId cilindroReferênciaMembro TipoAplicaçãoCapacidadeUnidade Data InicialData Final

📊 Taskbar - Ações disponíveis

🔍 Buscar
🧹 Abrir filtros
⏳ Atualizar
📋 Tabela
🌐 Página
📊 Resumo
📈 Gráficos
🖨️ Imprimir
📄 PDF
📊 Excel
📊 Dashboard

💡 Por que existe

É a consulta de todos os recolhimentos realizados. Permite visualizar:

  • 📅 Data e hora do recolhimento
  • 🏷️ Romaneio de transporte
  • 👤 Cliente que devolveu o cilindro
  • 🔢 Identificação do cilindro (ID e Referência)
  • 🧪 Detalhes técnicos (Tipo, Aplicação, Capacidade, Unidade)
  • 🚛 Veículo e Motorista responsáveis
Pré-requisitos: Nenhum. Tela de consulta.
ID 117

🔄 Recolher cilindro do cliente

🎯 O que faz

Registra o recolhimento de cilindros vazios dos clientes através da leitura do QR Code do cilindro. É a tela padrão de Coleta de Dados da plataforma, com finalidade específica para recolhimento.

Múltiplas formas de entrada:

  • 📷 Leitura por câmera (contínua)
  • 🔘 Leitura por leitor USB (bipar QR Code)
  • 📄 Importação de arquivo .txt com lista de QR Codes
  • 🔍 Busca direta no cadastro de cilindros
  • ✏️ Digitação manual do QR Code

💡 Por que existe

Registra quais cilindros foram recolhidos do cliente. Cada cilindro é um ID único (QR Code).

Fluxo de trabalho:

  • 📦 Gravar coleta (💾): Salva localmente, sem validar os cilindros. Permite continuar depois.
  • ✈️ Finalizar: Valida todos os cilindros (Cliente + Vazio) e registra o recolhimento.
🔄 Processo de recolhimento

1. Selecione o romaneio (apenas EM ROTA)
2. Bipa os QR Codes dos cilindros vazios
3. Gravar coleta (opcional) - salva offline
4. Finalizar - valida e registra o recolhimento

📱 Barra de ferramentas (Rodapé)

ÍconeFuncionalidadeDescrição
Abrir câmeraLeitura contínua de QR Codes pela câmera do celular. Permite bipar vários cilindros sequencialmente.
Fechar câmeraPara a leitura pela câmera.
Ler arquivoImporta arquivo .txt com lista de QR Codes (um por linha). Ideal para coleta offline ou pré-lista de cilindros.
BuscarAbre busca no cadastro de cilindros. Permite selecionar um cilindro para vincular.
ResumoExibe resumo dos cilindros já vinculados nesta coleta.
Gravar coletaSalva a coleta localmente (offline). NÃO valida os cilindros - apenas armazena para continuar depois. Evita perda de dados.
FinalizarValida todos os cilindros e registra o recolhimento. Critérios: cilindro deve estar 👥 CLIENTE e 🔴 VAZIO. Após validar, todos são recolhidos.
Remover slideFecha a tela atual. Dados não salvos são perdidos.
Mais opçõesAbre menu auxiliar com funcionalidades extras.

➕ Menu "Mais Opções" (Auxiliar)

FuncionalidadeDescrição
Alterar situação do cilindroAbre tela para corrigir situação (CHEIO/VAZIO) de um cilindro.
Alterar localização do cilindroAbre tela para corrigir localização (INTERNO/ROTA/CLIENTE/EMPRESTADO).
Alterar situação da etiquetaPara etiquetas avulsas (cilindros não cadastrados).
Alterar localização da etiquetaPara etiquetas avulsas.
Alternar câmeraAlterna entre câmera frontal e traseira.
Explorar dadosAbre navegação para explorar dados relacionados.

📝 Campos do formulário

CampoObrigatórioObservação
🔘 Leitura QR Code✅ SimCampo com autofoco para leitura contínua. Aceita: leitor USB, câmera, digitação manual.
📊 Contador❌ LeituraMostra quantos cilindros já foram bipados nesta coleta.
📝 Descrição❌ OpcionalAnotação sobre a coleta.
👤 Participante✅ FixoUsuário logado (automático).
📊 Situação❌ FixoSempre "Pendente" enquanto a coleta está em andamento.
📅 Data❌ AutomáticoData e hora da leitura.
🔢 Quantidade✅ FixoSempre 1 (um cilindro por leitura).
🏷️ Romaneio✅ SimSeleciona o romaneio onde os cilindros serão recolhidos. Apenas romaneios EM ROTA aparecem na busca.
👥 Cliente✅ SimSeleciona o cliente que está devolvendo os cilindros.
📦 Produto❌ LeituraCarregado automaticamente após leitura do QR Code.
Pré-requisitos: Romaneio deve estar EM ROTA. Cilindros devem estar em CLIENTE.
📦Gravar coleta (💾): Salva os cilindros bipados localmente. NÃO valida se o cilindro está em CLIENTE e VAZIO. Permite continuar depois sem perder dados.
✈️Finalizar: Valida todos os cilindros bipados. Critérios: cilindro deve estar 👥 CLIENTE e 🔴 VAZIO. Após validação, todos são recolhidos e o cilindro muda para INTERNO (permanece VAZIO).
🚫Quando NÃO usar: Se o cilindro já está CHEIO ou se o romaneio não está EM ROTA.
💡Dica: Use Gravar coleta periodicamente para não perder dados em caso de interrupção. Use Finalizar apenas quando todos os cilindros estiverem bipados.
ID 128

🗑️ Excluir cilindro do recolhimento

🎯 O que faz

É a gaveta de cilindros vinculados a um recolhimento com opção de exclusão. Apresenta todos os cilindros de um recolhimento específico, com filtros e ações, permitindo remover cilindros do recolhimento.

💡 Por que existe

Permite remover cilindros vinculados por engano a um recolhimento.

Importante: Só é possível excluir enquanto a coleta estiver pendente (antes de Finalizar).

Pré-requisitos: Coleta pendente. Cilindro deve estar vinculado ao recolhimento.
🔒Restrições: Não é possível excluir cilindro se o recolhimento já foi finalizado.
🚫Quando NÃO usar: Para corrigir dados do cilindro → use rotinas de cadastro. Esta rotina é apenas para desvincular do recolhimento.
ID 179

📊 Resumo de recolhimento por cilindro

🎯 O que faz

É a tela de resumo/relatório dos recolhimentos realizados. Apresenta os dados agrupados por produto (Tipo + Aplicação + Capacidade + Unidade), com filtros, gráficos e exportações.

🔍 Filtros disponíveis

IdId recolhimentoRomaneioNome/Razão Social CidadeUFRotaVeículo MotoristaId cilindroReferênciaMembro TipoAplicaçãoCapacidadeUnidade Data InicialData Final

📊 Taskbar - Ações disponíveis

🔍 Buscar
🧹 Abrir filtros
⏳ Atualizar
📋 Tabela
🌐 Página
📊 Resumo
📈 Gráficos
🖨️ Imprimir
📄 PDF
📊 Excel
📊 Dashboard

💡 Por que existe

É a visão consolidada dos recolhimentos. Permite:

  • 📊 Visualizar total de cilindros recolhidos por produto
  • 📈 Acompanhar volume recolhido em M³ e KG
  • 🎯 Identificar produtos mais recolhidos
  • 📅 Análise temporal dos recolhimentos
  • 👥 Análise por cliente, rota, veículo e motorista
Pré-requisitos: Nenhum. Tela de consulta.
📊Funcionalidades: Possui gráficos interativos, dashboard com resumo executivo e opções de exportação.

📝 Campos da tabela de resumo

CampoDescriçãoExemplo
🔢 IdOrdenação do resumo (agrupamento sequencial)1, 2, 3...
🧪 TipoTipo de gásOxigênio, Nitrogênio, CO2, Acetileno, Ar comprimido
🎯 AplicaçãoUso do gásMedicinal, Industrial, Alimentício
📏 CapacidadeTamanho do cilindro01, 04, 07, 09, 10, 18, 23, 25
⚖️ UnidadeUnidade de medidaM3, KG
⚪ SituaçãoStatus após recolhimentoVAZIO (ou CHEIO se permitido)
📦 QTDQuantidade de cilindros recolhidos1.531, 792, 467
📦 M3Volume total recolhido10.717, 5.544, 6.520
⚖️ KGPeso total recolhido350, 75, 45

📊 Gráficos disponíveis

📊 Recolhimento por produto
Gráfico de barras com quantidade, KG e M³ por produto completo
📊 Recolhimento por tipo, aplicação e capacidade
Análise detalhada excluindo a unidade
📊 Recolhimento por tipo, aplicação e unidade
Análise excluindo a capacidade
📊 Recolhimento por tipo e aplicação
Visão consolidada por tipo de gás e aplicação
📊 Recolhimento por tipo
Ranking dos gases mais recolhidos
📊 Recolhimento por aplicação
Comparativo entre Medicinal, Industrial, Alimentício
📊 Recolhimento por capacidade
Distribuição por tamanho de cilindro
📊 Recolhimento por unidade
Análise entre M3 e KG
Pré-requisitos: Nenhum. Tela de consulta.
📊Funcionalidades: Possui filtros por período, tipo de gás, aplicação, capacidade, rota, veículo, motorista, cliente e opções de exportação (PDF, Excel).
💡Dica: Utilize o Dashboard para uma visão executiva dos recolhimentos. Os gráficos podem ser filtrados e exportados.
🚫Quando NÃO usar: Esta tela é para consulta e relatórios. Para registrar recolhimentos, use "Recolher cilindro do cliente" (117).
Situações

📊 Situações do Romaneio

🟠 CARREGAMENTO

Romaneio em andamento
Pode vincular/excluir cilindros.

🔵 EM ROTA

Romaneio em viagem
Cilindros estão em ROTA. É aqui que os recolhimentos acontecem.

🟣 RETORNO

Romaneio retornando
Cilindros vazios sendo retornados para estoque.

🟢 FECHADO

Romaneio concluído
Não pode mais ser alterado.

🔄Fluxo normal: Carregamento → Em rota → Retorno → Fechado.
🔒Importante: Ao iniciar a viagem (Em rota), todos os cilindros vinculados são marcados como ROTA no sistema.
📌Após iniciar a viagem: Não é mais possível excluir cilindros do romaneio.
QR Code

📱 QR Code do Recolhimento

🎯 O que faz

Cada recolhimento registrado recebe um QR Code único (tipo "rc") que permite:

  • 🔍 Acesso rápido às informações do recolhimento
  • 📊 Visualizar os cilindros recolhidos
  • 📄 Gerar relatório do recolhimento
  • 👥 Comprovante de recolhimento para o cliente

💡 Por que existe

Facilita a consulta e comprovação do recolhimento. O QR Code pode ser impresso e entregue ao cliente como comprovante de devolução dos cilindros vazios.

qr_code_2
QR Code: RC-12345 • Recolhimento: Hospital Regional - 24/03/26