diff --git a/Controllers/LinesController.cs b/Controllers/LinesController.cs index 5c3c3df..b91c6b3 100644 --- a/Controllers/LinesController.cs +++ b/Controllers/LinesController.cs @@ -1379,16 +1379,22 @@ namespace line_gestao_api.Controllers var map = BuildHeaderMapRange(headerRow, startCol, endCol); int colItem = GetCol(map, "ITEM"); - if (colItem == 0) continue; + int colChip = GetColAny(map, "Nº DO CHIP", "N° DO CHIP", "NUMERO DO CHIP", "N DO CHIP", "NUM. DO CHIP", "CHIP"); + int colObs = GetColAny(map, "OBSERVAÇÕES", "OBSERVACOES", "OBSERVACAO", "OBS"); + if (colItem == 0 || colChip == 0 || colObs == 0) continue; for (int r = startRow; r <= endRow; r++) { var itemStr = GetCellString(ws, r, colItem); - if (string.IsNullOrWhiteSpace(itemStr)) continue; + if (string.IsNullOrWhiteSpace(itemStr)) break; - var numeroChip = NullIfEmptyDigits(GetCellByHeaderAny(ws, r, map, - "Nº DO CHIP", "N° DO CHIP", "NUMERO DO CHIP", "N DO CHIP", "NUM. DO CHIP")); - var observacoes = GetCellByHeaderAny(ws, r, map, "OBSERVAÇÕES", "OBSERVACOES", "OBS"); + var chipRaw = GetCellString(ws, r, colChip); + var numeroChip = NullIfEmptyDigits(chipRaw); + if (string.IsNullOrWhiteSpace(numeroChip) && !string.IsNullOrWhiteSpace(chipRaw)) + { + numeroChip = chipRaw.Trim(); + } + var observacoes = GetCellString(ws, r, colObs); if (string.IsNullOrWhiteSpace(numeroChip) && string.IsNullOrWhiteSpace(observacoes)) { continue; @@ -1621,15 +1627,17 @@ namespace line_gestao_api.Controllers { var hasItem = false; var hasNumeroChip = false; + var hasObs = false; foreach (var cell in row.CellsUsed()) { var k = NormalizeHeader(cell.GetString()); if (k == "ITEM") hasItem = true; if (k.Contains("CHIP")) hasNumeroChip = true; + if (k.Contains("OBS")) hasObs = true; } - return hasItem && hasNumeroChip; + return hasItem && hasNumeroChip && hasObs; } // ==========================================================