@if (! app()->environment('testing')) @vite(['resources/css/app.css', 'resources/js/app.js']) @endif
@include('modulos.estoque.partials.sidebar', ['menuTag' => 'opme'])
Assistente Corporativo OPME
Perguntas em linguagem natural com consultas autorizadas
Pedidos de compra Entradas OPME Importacao XML

Assistente operacional especializado

A IA interpreta a pergunta, mas somente funcoes autorizadas do backend sao executadas.

@csrf
@error('pergunta')
{{ $message }}
@enderror
@if ($resultadoAtual)
Status: {{ strtoupper((string) ($resultadoAtual['status'] ?? '-')) }} @if (is_array($resultadoAtual['agente'] ?? null))
Agente: {{ (string) ($resultadoAtual['agente']['nome'] ?? '-') }} @endif
Acao: {{ (string) ($resultadoAtual['acao'] ?? '-') }}
@if (($resultadoAtual['acao'] ?? null) === 'consultar_rastro' && is_array($resultadoAtual['dados'] ?? null)) @php $dadosRastro = $resultadoAtual['dados']; $fontesRastro = []; if (!empty($dadosRastro['em_saldo'])) { $fontesRastro[] = 'AD_VHSALDORASTRO'; } if (!empty($dadosRastro['faturado'])) { $fontesRastro[] = 'AD_VHFATURADO'; } if (empty($fontesRastro)) { $fontesRastro[] = 'nenhuma fonte com registro'; } $rastroEmSaldo = !empty($dadosRastro['em_saldo']); $rastroFaturado = !empty($dadosRastro['faturado']); $rastroEncontrado = !empty($dadosRastro['encontrado']); if ($rastroEmSaldo && !$rastroFaturado) { $statusClasse = 'erp-rastro-status-atencao'; $statusTexto = 'Atencao: em saldo sem faturamento.'; } elseif (!$rastroEmSaldo && $rastroFaturado) { $statusClasse = 'erp-rastro-status-alerta'; $statusTexto = 'Alerta: faturado sem saldo (revisar conciliacao).'; } elseif ($rastroEmSaldo && $rastroFaturado) { $statusClasse = 'erp-rastro-status-ok'; $statusTexto = 'OK: encontrado em saldo e faturado.'; } elseif (!$rastroEncontrado) { $statusClasse = 'erp-rastro-status-alerta'; $statusTexto = 'Alerta: rastro nao localizado nas fontes.'; } else { $statusClasse = 'erp-rastro-status-neutro'; $statusTexto = 'Situacao sem classificacao automatica.'; } @endphp

Resultado de rastro

{{ $statusTexto }}
Rastro {{ (string) ($dadosRastro['rastro_id'] ?? '-') }}
Saldo @if (!empty($dadosRastro['encontrado']) && !empty($dadosRastro['em_saldo'])) {{ (string) data_get($dadosRastro, 'saldo.situacao', 'Localizado em saldo') }} @elseif (!empty($dadosRastro['encontrado'])) Nao localizado em saldo @else Nao localizado @endif
Faturado {{ !empty($dadosRastro['faturado']) ? 'Sim' : 'Nao' }}
Fonte {{ implode(' + ', $fontesRastro) }}
REFERENCIA {{ (string) data_get($dadosRastro, 'campos_consulta.REFERENCIA', '-') }}
DESCRPROD {{ (string) data_get($dadosRastro, 'campos_consulta.DESCRPROD', '-') }}
PODER {{ (string) data_get($dadosRastro, 'campos_consulta.PODER', '-') }}
USADO {{ (string) data_get($dadosRastro, 'campos_consulta.USADO', '-') }}
CLIENTE {{ (string) data_get($dadosRastro, 'campos_consulta.CLIENTE', '-') }}
@endif @if (($resultadoAtual['acao'] ?? null) === 'consultar_resumo_produto' && is_array($resultadoAtual['dados'] ?? null)) @php $dadosProduto = $resultadoAtual['dados']; $registrosProduto = is_array($dadosProduto['registros'] ?? null) ? $dadosProduto['registros'] : []; $colunasProduto = [ 'grupo' => 'GRUPO', 'segmento' => 'SEGMENTO', 'codprod' => 'CODPROD', 'produto' => 'PRODUTO', 'referencia' => 'REFERENCIA', 'saldo_local' => 'SALDO_LOCAL', 'saldo_es' => 'SALDO_ES', 'saldo_rj' => 'SALDO_RJ', 'saldo_sp' => 'SALDO_SP', 'saldo_cliente' => 'SALDO_CLIENTE', 'faturados_total' => 'FATURADOS_TOTAL', 'perda' => 'PERDA', 'vence_ano_atual_local' => 'VENCE_ANO_ATUAL_LOCAL', 'vence_mes_atual_local' => 'VENCE_MES_ATUAL_LOCAL', 'uso_es' => 'USO_ES', 'uso_rj' => 'USO_RJ', 'uso_sp' => 'USO_SP', 'uso_es_3_meses' => 'USO_ES_3_MESES', 'uso_rj_3_meses' => 'USO_RJ_3_MESES', 'uso_sp_3_meses' => 'USO_SP_3_MESES', ]; @endphp

Resumo de produto

Busca: {{ (string) ($dadosProduto['busca'] ?? '-') }} Total: {{ (int) ($dadosProduto['total'] ?? 0) }}
@if (!empty($registrosProduto))
@foreach ($colunasProduto as $label) @endforeach @foreach (array_slice($registrosProduto, 0, 10) as $linha) @foreach ($colunasProduto as $chave => $label) @endforeach @endforeach
{{ $label }}
{{ (string) ($linha[$chave] ?? $linha[strtoupper($chave)] ?? '-') }}
@else
Nenhum registro encontrado para os filtros informados.
@endif
@endif @endif
@forelse ($historicoChat as $mensagem)
Pergunta

{{ $mensagem['pergunta'] ?? '' }}

Resposta

{{ $mensagem['resposta'] ?? '' }}

{{ $mensagem['created_at'] ?? '-' }} acao: {{ $mensagem['acao'] ?? '-' }} {{ strtoupper((string) ($mensagem['status'] ?? '-')) }} {{ (int) ($mensagem['duracao_ms'] ?? 0) }} ms
@empty
Nenhuma pergunta enviada nesta sessao.
@endforelse
@include('modulos.estoque.partials.menu-toggle-script')