# Atualiza\u00e7\u00e3o de Nomenclatura - Cliente Or\u00e7ado

## Mudan\u00e7as Realizadas

### Terminologia Atualizada

| Antes | Depois |
|-------|--------|
| Cliente | Grupo de Clientes |
| Codinome | Cliente Origem |
| fttranspes_clienteorcado_codinomes | fttranspes_clienteorcado_origem |

### Arquivos Atualizados

#### 1. **cad.php**
- Label "Cliente Principal" → "Grupo de Clientes"
- Se\u00e7\u00e3o "Codinomes do Cliente" → "Clientes Origem (para mapeamento com Protheus)"
- Bot\u00e3o "Adicionar Codinome" → "Adicionar Cliente Origem"
- Campos `codinomes[]` / `codinomes_ids[]` → `clientesorigem[]` / `clientesorigem_ids[]`
- Tabela `tblCodinomes` → `tblClientesOrigem`
- JavaScript: `addCodinome` → `addClienteOrigem`
- JavaScript: `.remove-codinome` → `.remove-clienteorigem`
- Query SQL: tabela `fttranspes_clienteorcado_codinomes` → `fttranspes_clienteorcado_origem`
- Query SQL: coluna `codinome` → `clienteorigem`
- Vari\u00e1vel `$codinomes` → `$clientesorigem`

#### 2. **insert.php**
- Vari\u00e1veis `$codinomes` / `$codinomes_ids` → `$clientesorigem` / `$clientesorigem_ids`
- Coment\u00e1rios "Exclui os codinomes" → "Exclui os clientes origem"
- Queries SQL: tabela `fttranspes_clienteorcado_codinomes` → `fttranspes_clienteorcado_origem`
- Queries SQL: coluna `codinome` → `clienteorigem`
- Loops: `foreach ($codinomes as $codinome)` → `foreach ($clientesorigem as $clienteorigem)`
- Vari\u00e1vel `$codinome_id` → `$clienteorigem_id`
- Queries SQL: `$sql_cod` → `$sql_orig`
- Mensagens de erro: "Erro ao salvar codinome" → "Erro ao salvar cliente origem"

#### 3. **select.php**
- **Removida** coluna `o.codinome` da query SELECT (agora est\u00e1 em tabela separada)
- Filtro `$filtros['codinome']` → `$filtros['clienteorigem']`
- Condi\u00e7\u00e3o WHERE simples substitu\u00edda por **subquery com EXISTS**:
  ```sql
  AND EXISTS (
      SELECT 1 FROM public.fttranspes_clienteorcado_origem orig 
      WHERE orig.clienteorcado_id = o.id 
      AND orig.empresa = o.empresa 
      AND orig.status = 0 
      AND orig.clienteorigem ILIKE '%$clienteorigem%'
  )
  ```

#### 4. **filtro.php**
- Array `$filtros`: key `'codinome'` → `'clienteorigem'`
- Label "Cliente" → "Grupo de Clientes"
- Placeholder "Nome do cliente" → "Nome do grupo de clientes"
- Label "Codinome" → "Cliente Origem"
- Campo `id="codinome" name="codinome"` → `id="clienteorigem" name="clienteorigem"`
- Placeholder "Codinome" → "Cliente Origem (Protheus)"

#### 5. **index.php**
- Coluna removida do layout: `2 => ['id' => 'codinome', 'title' => 'Codinome', 'visible' => true]`
- Label coluna 1: "Cliente" → "Grupo de Clientes"
- Array `$filtros`: key `'codinome'` → `'clienteorigem'`
- Array `$data_rows`: removida chave `'codinome' => $l['codinome']`
- Ajuste na order: `[0, 1, 2, 3, 4, 5, 6, 7]` → `[0, 1, 2, 3, 4, 5, 6]`

#### 6. **create_table_codinomes.sql**
- Nome da tabela: `fttranspes_clienteorcado_codinomes` → `fttranspes_clienteorcado_origem`
- Nome da coluna: `codinome` → `clienteorigem`
- Coment\u00e1rio da tabela: "codinomes dos clientes" → "clientes origem (nomes no Protheus)"
- Coment\u00e1rio da coluna: "codinome alternativo" → "nome do cliente no sistema origem (Protheus)"
- \u00cdndices:
  - `idx_codinomes_clienteorcado` → `idx_clienteorigem_clienteorcado`
  - `idx_codinomes_empresa` → `idx_clienteorigem_empresa`
  - `idx_codinomes_status` → `idx_clienteorigem_status`
  - `idx_codinomes_codinome` → `idx_clienteorigem_clienteorigem`

#### 7. **alter_table_remove_codinome.sql**
- Coment\u00e1rio atualizado para refletir nova nomenclatura

#### 8. **query_powerbi_exemplo.sql**
- Alias `o.codinome AS codinome` → `orig.clienteorigem AS cliente_origem_protheus`
- Tabela JOIN: `fttranspes_clienteorcado_codinomes cod` → `fttranspes_clienteorcado_origem orig`
- Alias coluna grupo: `cli.nome AS cliente` → `cli.nome AS grupo_clientes`
- Coment\u00e1rios: "codinomes" → "clientes origem"
- Vari\u00e1vel `cod.codinome` → `orig.clienteorigem`

---

## Estrutura Final

### Tabela Principal: `fttranspes_clienteorcado`
- Armazena **um registro por grupo de clientes**
- Campos: `id`, `cliente_id` (FK para dim_cliente), valores de meta

### Tabela Relacionada: `fttranspes_clienteorcado_origem`
- Armazena **m\u00faltiplos clientes origem por grupo**
- Campos: `id`, `clienteorcado_id` (FK), `clienteorigem` (nome no Protheus), `empresa`, `status`

---

## Raz\u00e3o das Mudan\u00e7as

A nomenclatura anterior estava **invertida** do ponto de vista de neg\u00f3cio:

- O que chamavamos "Cliente" na verdade representa um **grupo ou conjunto de clientes** (ex: WESTROCK como grupo)
- O que chamavamos "Codinome" s\u00e3o os **nomes reais dos clientes no sistema origem** Protheus (ex: WESTROCK PAPEL, WESTROCK EMBALAGENS)

A nova nomenclatura reflete melhor a l\u00f3gica:
- **Grupo de Clientes**: agrega\u00e7\u00e3o conceitual (para an\u00e1lise/meta)
- **Cliente Origem**: registro concreto vindo do Protheus

---

## Pr\u00f3ximos Passos

1. **Executar os scripts SQL**:
   ```sql
   \i dm_clienteorcado/create_table_codinomes.sql
   \i dm_clienteorcado/alter_table_remove_codinome.sql
   ```

2. **Testar o CRUD**:
   - Criar novo grupo de clientes
   - Adicionar m\u00faltiplos clientes origem
   - Editar e remover registros

3. **Implementar query no Power BI**:
   - Usar `query_powerbi_exemplo.sql` como base
   - Aplicar MAX() para evitar duplica\u00e7\u00e3o de metas

---

**Data da Atualiza\u00e7\u00e3o**: 2024
