# ✅ Atualização de Funções PHP - Estrutura de Notas Fiscais

## Resumo das Alterações

Foram atualizadas as funções PHP para usar a nova estrutura de banco de dados com:
- **Nomes de tabelas**: Alterados de `tms001_*` para `gt_*`
- **Nomes de colunas**: Alterados de `coluna_nome` para `colunanome` (sem underscore)

---

## 📁 Arquivos Modificados

### 1. `funcoes_importacao_nf.php`

#### Função: `buscar_ou_criar_cliente()`
**Alterações:**
- Tabela: `tms001_cliente_temporario` → `gt_cliente_temporario`
- Colunas renomeadas (sem underscore):
  - `razao_social` → `razaosocial`
  - `nome_fantasia` → `nomefantasia`
  - `id_notafiscal_origem` → `idnotafiscalorigem`
  - `data_criacao` → `datacriacao`
  - `idusuario_criacao` → `idusuariocriacao`

#### Função: `inserir_notafiscal()`
**Alterações:**
- Tabela: `tms001_notafiscal` → `gt_notafiscal`
- Colunas renomeadas (sem underscore):
  - `numero_nf` → `numeronf`
  - `serie_nf` → `serienf`
  - `chave_acesso` → `chaveacesso`
  - `data_emissao` → `dataemissao`
  - `cnpj_emitente` → `cnpjemitente`
  - `razaosocial_emitente` → `razaosocialemitente`
  - `nome_fantasia_emitente` → `nomefantasiaemitente`
  - `endereco_emitente` → `enderecoemitente`
  - `cnpj_destinatario` → `cnpjdestinatario`
  - `cpf_destinatario` → `cpfdestinatario`
  - `razaosocial_destinatario` → `razaosocialdestinatario`
  - `endereco_destinatario` → `enderecodestinatario`
  - `valor_total` → `valortotal`
  - `valor_frete` → `valorfrete`
  - `valor_seguro` → `valorseguro`
  - `valor_baseicms` → `valorbaseicms`
  - `valor_icms` → `valoricms`
  - `valor_ipi` → `valoripi`
  - `valor_pis` → `valorpis`
  - `valor_cofins` → `valorcofins`
  - `peso_total` → `pesototal`
  - `peso_liquido` → `pesoliquido`
  - `peso_bruto` → `pesobruto`
  - `qtd_itens` → `qtditens`
  - `volume_total` → `volumetotal`
  - `latitude_origem` → `latitudeorigem`
  - `longitude_origem` → `longitudeorigem`
  - `cidade_origem` → `cidadeorigem`
  - `uf_origem` → `uforigem`
  - `latitude_destino` → `latitudedestino`
  - `longitude_destino` → `longitudedestino`
  - `cidade_destino` → `cidadedestino`
  - `uf_destino` → `ufdestino`
  - `modo_frete` → `modofrete`
  - `data_criacao` → `datacriacao`
  - `idusuario_criacao` → `idusuariocriacao`

#### Função: `inserir_itens_notafiscal()`
**Alterações:**
- Tabela: `tms001_notafiscal_itens` → `gt_notafiscal_itens`
- Colunas renomeadas (sem underscore):
  - `id_notafiscal` → `idnotafiscal`
  - `numero_item` → `numeroitem`
  - `codigo_produto` → `codigoproduto`
  - `descricao_produto` → `descricaoproduto`
  - `unidade_medida` → `unidademedida`
  - `valor_unitario` → `valorunitario`
  - `valor_total` → `valortotal`
  - `valor_desconto` → `valordesconto`
  - `peso_liquido` → `pesoliquido`
  - `peso_bruto` → `pesobruto`
  - `data_criacao` → `datacriacao`

#### Função: `registrar_importacao()`
**Alterações:**
- Tabela: `tms001_nf_importacao` → `gt_nf_importacao`
- Colunas renomeadas (sem underscore):
  - `id_notafiscal` → `idnotafiscal`
  - `nome_arquivo` → `nomearquivo`
  - `tamanho_arquivo` → `tamanhoarquivo`
  - `hash_arquivo` → `hasharquivo`
  - `mensagem_erro` → `mensagemerro`
  - `data_importacao` → `dataimportacao`

---

### 2. `import_xml.php`

**Alterações:**
- Verificação de duplicatas: `tms001_nf_importacao` → `gt_nf_importacao`, `hash_arquivo` → `hasharquivo`
- Status de erro: `'erro_validacao'` → `'errovalidacao'`
- Response JSON: Chaves renomeadas para usar convenção sem underscore:
  - `id_notafiscal` → `idnotafiscal`
  - `numero_nfe` → `numeronf`
  - `serie_nfe` → `serienf`
  - `data_emissao` → `dataemissao`
  - `remetente_razao_social` → `razaosocialemitente`
  - `cliente_razao_social` → `razaosocialdestinatario`
  - `valor_total` → `valortotal`
  - `peso_total` → `pesototal`
  - `quantidade_itens` → `quantidadeitens`

---

## 🔑 Mapeamento de Tabelas

| Antiga | Nova |
|--------|------|
| `tms001_notafiscal` | `gt_notafiscal` |
| `tms001_notafiscal_itens` | `gt_notafiscal_itens` |
| `tms001_cliente_temporario` | `gt_cliente_temporario` |
| `tms001_nf_importacao` | `gt_nf_importacao` |

---

## 📝 Convenção de Nomenclatura

**Coluna de exemplo:**
- ❌ Antiga: `cnpj_emitente` (com underscore)
- ✅ Nova: `cnpjemitente` (sem underscore)

**Tabelas:**
- ✅ Mantêm underscore: `gt_notafiscal`, `gt_cliente_temporario`

---

## ✨ Funcionalidades Preservadas

✅ Busca de cliente em `dim_cliente`  
✅ Criação automática de cliente temporário se não encontrado  
✅ Inserção de nota fiscal com todos os dados  
✅ Inserção de itens da nota  
✅ Verificação de duplicatas por hash  
✅ Registro de auditoria de importação  
✅ Tratamento de erros com mensagens descritivas  

---

## 🧪 Próximos Passos

1. ✅ Atualizar funções PHP (CONCLUÍDO)
2. ⏳ Testar importação com arquivo XML
3. ⏳ Validar dados no banco de dados
4. ⏳ Implementar modal de aprovação de clientes temporários
5. ⏳ Implementar tela de vinculação NF ↔ Viagem (`gt_viagem_nf`)

