# Relatório de importação — Licitações e Procedimentos

## Resultado

**Importação concluída com ressalvas: 10 erro(s) bloquearam registro(s).**

| | |
| --- | --- |
| Gerado em | 2026-05-29T15:59:41-03:00 |
| Duração | 6.74 s |
| Origem CSV | `C:\laragon\www\angra.rj.gov.br\temp\importacoes_licitacoes_procedimentos` |
| Modo | `licitacoes` |
| Erros | **10** |
| Ignorados | **0** |

## Contadores por etapa

| Etapa | Importados | Ignorados | Erros |
| --- | ---: | ---: | ---: |
| licitacoes | 6310 | 0 | 2 |
| procedimentos | 3702 | 0 | 8 |

## O que fazer agora

1. Corrija no CSV os registros principais listados na seção **Erros** (comece pelos grupos com maior contagem).
2. Salve os CSVs e execute novamente: `php artisan licitacoes:import` (idempotente — limpa e reimporta).
3. Abra o relatório `.md` gerado nesta pasta para ver linha, ID legado e coluna exata de cada ocorrência.

## Resumo por tipo de problema

| Código | Problema | Tipo | Qtd | Coluna CSV |
| --- | --- | --- | ---: | --- |
| `CAMPO_OBRIGATORIO_VAZIO` | Campo obrigatório vazio: ds_objeto | Erro | 10 | ds_objeto |

---

## 1. Campo obrigatório vazio: ds_objeto (`CAMPO_OBRIGATORIO_VAZIO`) — 10 ocorrência(s)

**O que aconteceu:** O banco exige um valor na coluna indicada, mas o CSV veio vazio ou a normalização descartou o conteúdo.

**Impacto:** O registro principal (licitação/procedimento) não entra no portal. Uploads ligados a esse ID legado também serão ignorados.

**Como corrigir:**
1. No CSV, preencha a coluna **ds_objeto** (campo do banco: `ds_objeto`).
2. Abra o CSV na linha indicada (número da linha = linha física do arquivo, incluindo cabeçalho).
3. Localize o registro pelo **ID legado** (`cd_licitacao` ou `cd_procedimento`).
4. Preencha a coluna do CSV indicada em **Coluna CSV** (ex.: `ds_objeto` = descrição do objeto).
5. Salve o CSV e execute novamente: `php artisan licitacoes:import` (a rotina é idempotente).

### Registros afetados

| # | Tipo | ID legado | Referência | Arquivo | Linha CSV | Detalhe |
| ---: | --- | ---: | --- | --- | ---: | --- |
| 1 | Licitação | 10490 | ID legado 10490 | TB_PMAR_LICITACAO-29052026.csv | 5811 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 2 | Licitação | 14142 | ID legado 14142 | TB_PMAR_LICITACAO-29052026.csv | 6255 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 3 | Procedimento | 9394 | ID legado 9394 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 1749 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 4 | Procedimento | 9642 | ID legado 9642 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 1961 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 5 | Procedimento | 9736 | ID legado 9736 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 2041 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 6 | Procedimento | 9819 | ID legado 9819 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 2120 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 7 | Procedimento | 12117 | ID legado 12117 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 3155 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 8 | Procedimento | 13260 | ID legado 13260 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 3311 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 9 | Procedimento | 13300 | ID legado 13300 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 3347 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |
| 10 | Procedimento | 13301 | ID legado 13301 | TB_PMAR_PROCEDIMENTOS-29052026.csv | 3348 | MySQL: coluna `ds_objeto` não aceita NULL (23000) |

## Comandos

```bash
php artisan licitacoes:import
php artisan licitacoes:import --only=licitacoes
php artisan licitacoes:import --only=uploads
```
