Correct zera TSO parsing

This commit is contained in:
Cesa-V
2026-06-15 16:03:33 -03:00
parent e7489c9c2a
commit 6289a7e1ad
4 changed files with 150 additions and 130 deletions

1
LOG.md
View File

@@ -15,3 +15,4 @@ Legenda de autores:
| 2026-06-15 | 15:47 | VTO | Renomeou PDF e artefatos derivados com nome descritivo | `raw/relatorio_ciclo_inspecoes_c105_2805_2026-06-15.pdf`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_texto.txt`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv`; `pre_process/preprocess_pdf.py` | Nome antigo removia contexto técnico; novo padrão usa tipo do documento, modelo, matrícula e data do relatório. | | 2026-06-15 | 15:47 | VTO | Renomeou PDF e artefatos derivados com nome descritivo | `raw/relatorio_ciclo_inspecoes_c105_2805_2026-06-15.pdf`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_texto.txt`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv`; `pre_process/preprocess_pdf.py` | Nome antigo removia contexto técnico; novo padrão usa tipo do documento, modelo, matrícula e data do relatório. |
| 2026-06-15 | 15:54 | VTO | Separou campos de controle e duração no pré-processamento | `pre_process/preprocess_pdf.py`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv` | Criadas colunas `tso`, `letra`, `nivel`, `var_media`, `duracao`, `duracao_valor` e `duracao_unidade`; `D` tratado como dias e `H` como horas. | | 2026-06-15 | 15:54 | VTO | Separou campos de controle e duração no pré-processamento | `pre_process/preprocess_pdf.py`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv` | Criadas colunas `tso`, `letra`, `nivel`, `var_media`, `duracao`, `duracao_valor` e `duracao_unidade`; `D` tratado como dias e `H` como horas. |
| 2026-06-15 | 16:00 | VTO | Criou guia inicial do repositório | `README.md` | Explica o objetivo do projeto OAMRP, a estrutura de pastas, o uso básico do GitHub/Git e os cuidados de rastreabilidade. | | 2026-06-15 | 16:00 | VTO | Criou guia inicial do repositório | `README.md` | Explica o objetivo do projeto OAMRP, a estrutura de pastas, o uso básico do GitHub/Git e os cuidados de rastreabilidade. |
| 2026-06-15 | 16:03 | VTO | Corrigiu interpretação da coluna `Zera TSO` | `pre_process/preprocess_pdf.py`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json`; `pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv` | `Zera TSO` passou a ser coluna única `zera_tso`; níveis `B`, `P` e `O` mapeados para Base, Parque e Orgânico; `controle_original` mantido para rastreabilidade. |

View File

@@ -33,16 +33,26 @@ def normalize_interval(value):
def parse_control_fields(tokens): def parse_control_fields(tokens):
nivel_descricao = {
"B": "Base",
"P": "Parque",
"O": "Orgânico",
}
fields = { fields = {
"tso": "", "zera_tso": "",
"letra": "", "letra": "",
"nivel": "", "nivel": "",
"nivel_descricao": "",
"var_media": "", "var_media": "",
"duracao": "", "duracao": "",
"duracao_valor": "", "duracao_valor": "",
"duracao_unidade": "", "duracao_unidade": "",
} }
if tokens:
fields["zera_tso"] = tokens[0]
tokens = tokens[1:]
if len(tokens) >= 2 and tokens[-1] in {"D", "H"} and tokens[-2].isdigit(): if len(tokens) >= 2 and tokens[-1] in {"D", "H"} and tokens[-2].isdigit():
duracao_valor = tokens[-2] duracao_valor = tokens[-2]
duracao_codigo = tokens[-1] duracao_codigo = tokens[-1]
@@ -52,14 +62,24 @@ def parse_control_fields(tokens):
fields["duracao_unidade"] = "dias" if duracao_codigo == "D" else "horas" fields["duracao_unidade"] = "dias" if duracao_codigo == "D" else "horas"
if len(tokens) == 1: if len(tokens) == 1:
if tokens[0] in nivel_descricao:
fields["nivel"] = tokens[0]
else:
fields["letra"] = tokens[0] fields["letra"] = tokens[0]
elif len(tokens) >= 2: elif len(tokens) >= 2:
fields["tso"] = tokens[0] if tokens[1] in nivel_descricao:
fields["letra"] = tokens[1] fields["letra"] = tokens[0]
if len(tokens) >= 3: fields["nivel"] = tokens[1]
fields["nivel"] = tokens[2] fields["var_media"] = " ".join(tokens[2:])
if len(tokens) >= 4: elif tokens[0] in nivel_descricao:
fields["var_media"] = " ".join(tokens[3:]) fields["nivel"] = tokens[0]
fields["var_media"] = " ".join(tokens[1:])
else:
fields["letra"] = tokens[0]
fields["nivel"] = tokens[1]
fields["var_media"] = " ".join(tokens[2:])
fields["nivel_descricao"] = nivel_descricao.get(fields["nivel"], "")
return fields return fields
@@ -122,8 +142,7 @@ def parse_record(record):
right_before_interval = INTERVAL_RE.split(right, maxsplit=1)[0].strip() right_before_interval = INTERVAL_RE.split(right, maxsplit=1)[0].strip()
tokens = right_before_interval.split() tokens = right_before_interval.split()
zera = tokens[0] if tokens else "" controle_tokens = tokens
controle_tokens = tokens[1:]
controle = " ".join(controle_tokens) controle = " ".join(controle_tokens)
control_fields = parse_control_fields(controle_tokens) control_fields = parse_control_fields(controle_tokens)
@@ -163,10 +182,10 @@ def parse_record(record):
"descricao_mnt": descricao, "descricao_mnt": descricao,
"referencia": referencia, "referencia": referencia,
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": zera, "zera_tso": control_fields["zera_tso"],
"tso": control_fields["tso"],
"letra": control_fields["letra"], "letra": control_fields["letra"],
"nivel": control_fields["nivel"], "nivel": control_fields["nivel"],
"nivel_descricao": control_fields["nivel_descricao"],
"var_media": control_fields["var_media"], "var_media": control_fields["var_media"],
"duracao": control_fields["duracao"], "duracao": control_fields["duracao"],
"duracao_valor": control_fields["duracao_valor"], "duracao_valor": control_fields["duracao_valor"],
@@ -198,10 +217,10 @@ def main():
"descricao_mnt", "descricao_mnt",
"referencia", "referencia",
"tipo_vencimento", "tipo_vencimento",
"zera", "zera_tso",
"tso",
"letra", "letra",
"nivel", "nivel",
"nivel_descricao",
"var_media", "var_media",
"duracao", "duracao",
"duracao_valor", "duracao_valor",

View File

@@ -1,19 +1,19 @@
seq;sigla_mnt;descricao_mnt;referencia;tipo_vencimento;zera;tso;letra;nivel;var_media;duracao;duracao_valor;duracao_unidade;controle_original;intervalo_horas_voo;intervalo_meses_continuos;intervalo_pousos;intervalos seq;sigla_mnt;descricao_mnt;referencia;tipo_vencimento;zera_tso;letra;nivel;nivel_descricao;var_media;duracao;duracao_valor;duracao_unidade;controle_original;intervalo_horas_voo;intervalo_meses_continuos;intervalo_pousos;intervalos
2;INSP 1A;INSPEÇÃO CHECK 1A;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;B;3;;3 D;3;dias;A B 3 3 D;300:00 HORAS DE VOO;8 MESES CONTÍNUOS;;300:00 HORAS DE VOO | 8 MESES CONTÍNUOS 2;INSP 1A;INSPEÇÃO CHECK 1A;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;B;Base;3;3 D;3;dias;N A B 3 3 D;300:00 HORAS DE VOO;8 MESES CONTÍNUOS;;300:00 HORAS DE VOO | 8 MESES CONTÍNUOS
3;INSP 2A;INSPEÇÃO CHECK 2A;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;B;10;;4 D;4;dias;A B 10 4 D;600:00 HORAS DE VOO;16 MESES CONTÍNUOS;;600:00 HORAS DE VOO | 16 MESES CONTÍNUOS 3;INSP 2A;INSPEÇÃO CHECK 2A;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;B;Base;10;4 D;4;dias;N A B 10 4 D;600:00 HORAS DE VOO;16 MESES CONTÍNUOS;;600:00 HORAS DE VOO | 16 MESES CONTÍNUOS
4;INSP 3A;INSPEÇÃO CHECK 3A;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;B;10;;5 D;5;dias;A B 10 5 D;900:00 HORAS DE VOO;24 MESES CONTÍNUOS;;900:00 HORAS DE VOO | 24 MESES CONTÍNUOS 4;INSP 3A;INSPEÇÃO CHECK 3A;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;B;Base;10;5 D;5;dias;N A B 10 5 D;900:00 HORAS DE VOO;24 MESES CONTÍNUOS;;900:00 HORAS DE VOO | 24 MESES CONTÍNUOS
5;INSP 2Y;INSPEÇÃO CALENDÁRICA DE 2 YEARS;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;B;B;5;;5 D;5;dias;B B 5 5 D;;24 MESES CONTÍNUOS;;24 MESES CONTÍNUOS 5;INSP 2Y;INSPEÇÃO CALENDÁRICA DE 2 YEARS;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;B;B;Base;5;5 D;5;dias;N B B 5 5 D;;24 MESES CONTÍNUOS;;24 MESES CONTÍNUOS
6;CHECK 300;CHECK OPERACIONAL DE 300FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;O;;;6 H;6;horas;A O 6 H;300:00 HORAS DE VOO;;;300:00 HORAS DE VOO 6;CHECK 300;CHECK OPERACIONAL DE 300FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;O;Orgânico;;6 H;6;horas;N A O 6 H;300:00 HORAS DE VOO;;;300:00 HORAS DE VOO
7;CHECK 400;CHECK OPERACIONAL DE 400FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;O;;;6 H;6;horas;A O 6 H;400:00 HORAS DE VOO;;;400:00 HORAS DE VOO 7;CHECK 400;CHECK OPERACIONAL DE 400FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;A;O;Orgânico;;6 H;6;horas;N A O 6 H;400:00 HORAS DE VOO;;;400:00 HORAS DE VOO
8;1-INSP AOL;INSPEÇÃO AOL 295-019;Última inspeção;Término da Anterior;N;;B;;;1 D;1;dias;B 1 D;;;3800 POUSOS;3800 POUSOS 8;1-INSP AOL;INSPEÇÃO AOL 295-019;Última inspeção;Término da Anterior;N;;B;Base;;1 D;1;dias;N B 1 D;;;3800 POUSOS;3800 POUSOS
9;2-INSP AOL;INSPEÇÃO AOL 295-019;Última Inspeção Específica 8 1-INSP AOL;Término da Anterior;N;;B;;;1 D;1;dias;B 1 D;;;2000 POUSOS;2000 POUSOS 9;2-INSP AOL;INSPEÇÃO AOL 295-019;Última Inspeção Específica 8 1-INSP AOL;Término da Anterior;N;;B;Base;;1 D;1;dias;N B 1 D;;;2000 POUSOS;2000 POUSOS
10;3-INSP AOL;INSPEÇÃO AOL 295-019;Última Inspeção Específica 9 2-INSP AOL;Término da Anterior;N;;B;;;1 D;1;dias;B 1 D;;;2000 POUSOS;2000 POUSOS 10;3-INSP AOL;INSPEÇÃO AOL 295-019;Última Inspeção Específica 9 2-INSP AOL;Término da Anterior;N;;B;Base;;1 D;1;dias;N B 1 D;;;2000 POUSOS;2000 POUSOS
14;INSP 8Y;INSPEÇÃO CALENDÁRICA DE 8 YEARS;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;B;P;15;;20 D;20;dias;B P 15 20 D;;96 MESES CONTÍNUOS;;96 MESES CONTÍNUOS 14;INSP 8Y;INSPEÇÃO CALENDÁRICA DE 8 YEARS;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;B;P;Parque;15;20 D;20;dias;N B P 15 20 D;;96 MESES CONTÍNUOS;;96 MESES CONTÍNUOS
15;INSP 1C;INSPEÇÃO CHECK 1C;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;C;P;10;;65 D;65;dias;C P 10 65 D;2400:00 HORAS DE VOO;48 MESES CONTÍNUOS;;2400:00 HORAS DE VOO | 48 MESES CONTÍNUOS 15;INSP 1C;INSPEÇÃO CHECK 1C;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;C;P;Parque;10;65 D;65;dias;N C P 10 65 D;2400:00 HORAS DE VOO;48 MESES CONTÍNUOS;;2400:00 HORAS DE VOO | 48 MESES CONTÍNUOS
16;INSP 2C;INSPEÇÃO GERAL CHECK 2C;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;C;P;60;;10 D;10;dias;C P 60 10 D;4800:00 HORAS DE VOO;96 MESES CONTÍNUOS;;4800:00 HORAS DE VOO | 96 MESES CONTÍNUOS 16;INSP 2C;INSPEÇÃO GERAL CHECK 2C;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;C;P;Parque;60;10 D;10;dias;N C P 60 10 D;4800:00 HORAS DE VOO;96 MESES CONTÍNUOS;;4800:00 HORAS DE VOO | 96 MESES CONTÍNUOS
17;INSP 4Y;INSPEÇÃO CALENDÁRICA DE 4 YEARS;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;B;P;10;;10 D;10;dias;B P 10 10 D;;48 MESES CONTÍNUOS;;48 MESES CONTÍNUOS 17;INSP 4Y;INSPEÇÃO CALENDÁRICA DE 4 YEARS;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;B;P;Parque;10;10 D;10;dias;N B P 10 10 D;;48 MESES CONTÍNUOS;;48 MESES CONTÍNUOS
18;INSP 100FH BR01;INSPEÇÃO DE 100 FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;O;;;1 H;1;horas;O 1 H;100:00 HORAS DE VOO;;;100:00 HORAS DE VOO 18;INSP 100FH BR01;INSPEÇÃO DE 100 FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;O;Orgânico;;1 H;1;horas;N O 1 H;100:00 HORAS DE VOO;;;100:00 HORAS DE VOO
19;INSP 2400F BR01;INPEÇÃO 2400FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;O;;;3 H;3;horas;O 3 H;2400:00 HORAS DE VOO;;;2400:00 HORAS DE VOO 19;INSP 2400F BR01;INPEÇÃO 2400FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;O;Orgânico;;3 H;3;horas;N O 3 H;2400:00 HORAS DE VOO;;;2400:00 HORAS DE VOO
20;INSP 3000F BR01;INSPEÇÃO 3000FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;B;;;1 D;1;dias;B 1 D;3000:00 HORAS DE VOO;;;3000:00 HORAS DE VOO 20;INSP 3000F BR01;INSPEÇÃO 3000FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;B;Base;;1 D;1;dias;N B 1 D;3000:00 HORAS DE VOO;;;3000:00 HORAS DE VOO
22;INSP 1000F;INPEÇÃO 1000FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;B;;;1 D;1;dias;B 1 D;1000:00 HORAS DE VOO;;;1000:00 HORAS DE VOO 22;INSP 1000F;INPEÇÃO 1000FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;B;Base;;1 D;1;dias;N B 1 D;1000:00 HORAS DE VOO;;;1000:00 HORAS DE VOO
23;INSP 50FH;INSPEÇÃO 50 FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;B;;;1 D;1;dias;B 1 D;50:00 HORAS DE VOO;;;50:00 HORAS DE VOO 23;INSP 50FH;INSPEÇÃO 50 FH;Especial (a contar dela mesma - Tipo D);Término da Anterior;N;;B;Base;;1 D;1;dias;N B 1 D;50:00 HORAS DE VOO;;;50:00 HORAS DE VOO
1 seq sigla_mnt descricao_mnt referencia tipo_vencimento zera zera_tso tso letra nivel nivel_descricao var_media duracao duracao_valor duracao_unidade controle_original intervalo_horas_voo intervalo_meses_continuos intervalo_pousos intervalos
2 2 INSP 1A INSPEÇÃO CHECK 1A Especial (a contar dela mesma - Tipo D) Término da Anterior N A B A 3 B Base 3 3 D 3 dias A B 3 3 D N A B 3 3 D 300:00 HORAS DE VOO 8 MESES CONTÍNUOS 300:00 HORAS DE VOO | 8 MESES CONTÍNUOS
3 3 INSP 2A INSPEÇÃO CHECK 2A Especial (a contar dela mesma - Tipo D) Término da Anterior N A B A 10 B Base 10 4 D 4 dias A B 10 4 D N A B 10 4 D 600:00 HORAS DE VOO 16 MESES CONTÍNUOS 600:00 HORAS DE VOO | 16 MESES CONTÍNUOS
4 4 INSP 3A INSPEÇÃO CHECK 3A Especial (a contar dela mesma - Tipo D) Término da Anterior N A B A 10 B Base 10 5 D 5 dias A B 10 5 D N A B 10 5 D 900:00 HORAS DE VOO 24 MESES CONTÍNUOS 900:00 HORAS DE VOO | 24 MESES CONTÍNUOS
5 5 INSP 2Y INSPEÇÃO CALENDÁRICA DE 2 YEARS Especial (a contar dela mesma - Tipo D) Término da Anterior N B B 5 B Base 5 5 D 5 dias B B 5 5 D N B B 5 5 D 24 MESES CONTÍNUOS 24 MESES CONTÍNUOS
6 6 CHECK 300 CHECK OPERACIONAL DE 300FH Especial (a contar dela mesma - Tipo D) Término da Anterior N A O A O Orgânico 6 H 6 horas A O 6 H N A O 6 H 300:00 HORAS DE VOO 300:00 HORAS DE VOO
7 7 CHECK 400 CHECK OPERACIONAL DE 400FH Especial (a contar dela mesma - Tipo D) Término da Anterior N A O A O Orgânico 6 H 6 horas A O 6 H N A O 6 H 400:00 HORAS DE VOO 400:00 HORAS DE VOO
8 8 1-INSP AOL INSPEÇÃO AOL 295-019 Última inspeção Término da Anterior N B B Base 1 D 1 dias B 1 D N B 1 D 3800 POUSOS 3800 POUSOS
9 9 2-INSP AOL INSPEÇÃO AOL 295-019 Última Inspeção Específica 8 1-INSP AOL Término da Anterior N B B Base 1 D 1 dias B 1 D N B 1 D 2000 POUSOS 2000 POUSOS
10 10 3-INSP AOL INSPEÇÃO AOL 295-019 Última Inspeção Específica 9 2-INSP AOL Término da Anterior N B B Base 1 D 1 dias B 1 D N B 1 D 2000 POUSOS 2000 POUSOS
11 14 INSP 8Y INSPEÇÃO CALENDÁRICA DE 8 YEARS Especial (a contar dela mesma - Tipo D) Término da Anterior N B P B 15 P Parque 15 20 D 20 dias B P 15 20 D N B P 15 20 D 96 MESES CONTÍNUOS 96 MESES CONTÍNUOS
12 15 INSP 1C INSPEÇÃO CHECK 1C Especial (a contar dela mesma - Tipo D) Término da Anterior N C P C 10 P Parque 10 65 D 65 dias C P 10 65 D N C P 10 65 D 2400:00 HORAS DE VOO 48 MESES CONTÍNUOS 2400:00 HORAS DE VOO | 48 MESES CONTÍNUOS
13 16 INSP 2C INSPEÇÃO GERAL CHECK 2C Especial (a contar dela mesma - Tipo D) Término da Anterior N C P C 60 P Parque 60 10 D 10 dias C P 60 10 D N C P 60 10 D 4800:00 HORAS DE VOO 96 MESES CONTÍNUOS 4800:00 HORAS DE VOO | 96 MESES CONTÍNUOS
14 17 INSP 4Y INSPEÇÃO CALENDÁRICA DE 4 YEARS Especial (a contar dela mesma - Tipo D) Término da Anterior N B P B 10 P Parque 10 10 D 10 dias B P 10 10 D N B P 10 10 D 48 MESES CONTÍNUOS 48 MESES CONTÍNUOS
15 18 INSP 100FH BR01 INSPEÇÃO DE 100 FH Especial (a contar dela mesma - Tipo D) Término da Anterior N O O Orgânico 1 H 1 horas O 1 H N O 1 H 100:00 HORAS DE VOO 100:00 HORAS DE VOO
16 19 INSP 2400F BR01 INPEÇÃO 2400FH Especial (a contar dela mesma - Tipo D) Término da Anterior N O O Orgânico 3 H 3 horas O 3 H N O 3 H 2400:00 HORAS DE VOO 2400:00 HORAS DE VOO
17 20 INSP 3000F BR01 INSPEÇÃO 3000FH Especial (a contar dela mesma - Tipo D) Término da Anterior N B B Base 1 D 1 dias B 1 D N B 1 D 3000:00 HORAS DE VOO 3000:00 HORAS DE VOO
18 22 INSP 1000F INPEÇÃO 1000FH Especial (a contar dela mesma - Tipo D) Término da Anterior N B B Base 1 D 1 dias B 1 D N B 1 D 1000:00 HORAS DE VOO 1000:00 HORAS DE VOO
19 23 INSP 50FH INSPEÇÃO 50 FH Especial (a contar dela mesma - Tipo D) Término da Anterior N B B Base 1 D 1 dias B 1 D N B 1 D 50:00 HORAS DE VOO 50:00 HORAS DE VOO

View File

@@ -18,15 +18,15 @@
"descricao_mnt": "INSPEÇÃO CHECK 1A", "descricao_mnt": "INSPEÇÃO CHECK 1A",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "A", "letra": "A",
"letra": "B", "nivel": "B",
"nivel": "3", "nivel_descricao": "Base",
"var_media": "", "var_media": "3",
"duracao": "3 D", "duracao": "3 D",
"duracao_valor": 3, "duracao_valor": 3,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "A B 3 3 D", "controle_original": "N A B 3 3 D",
"intervalo_horas_voo": "300:00 HORAS DE VOO", "intervalo_horas_voo": "300:00 HORAS DE VOO",
"intervalo_meses_continuos": "8 MESES CONTÍNUOS", "intervalo_meses_continuos": "8 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -42,15 +42,15 @@
"descricao_mnt": "INSPEÇÃO CHECK 2A", "descricao_mnt": "INSPEÇÃO CHECK 2A",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "A", "letra": "A",
"letra": "B", "nivel": "B",
"nivel": "10", "nivel_descricao": "Base",
"var_media": "", "var_media": "10",
"duracao": "4 D", "duracao": "4 D",
"duracao_valor": 4, "duracao_valor": 4,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "A B 10 4 D", "controle_original": "N A B 10 4 D",
"intervalo_horas_voo": "600:00 HORAS DE VOO", "intervalo_horas_voo": "600:00 HORAS DE VOO",
"intervalo_meses_continuos": "16 MESES CONTÍNUOS", "intervalo_meses_continuos": "16 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -66,15 +66,15 @@
"descricao_mnt": "INSPEÇÃO CHECK 3A", "descricao_mnt": "INSPEÇÃO CHECK 3A",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "A", "letra": "A",
"letra": "B", "nivel": "B",
"nivel": "10", "nivel_descricao": "Base",
"var_media": "", "var_media": "10",
"duracao": "5 D", "duracao": "5 D",
"duracao_valor": 5, "duracao_valor": 5,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "A B 10 5 D", "controle_original": "N A B 10 5 D",
"intervalo_horas_voo": "900:00 HORAS DE VOO", "intervalo_horas_voo": "900:00 HORAS DE VOO",
"intervalo_meses_continuos": "24 MESES CONTÍNUOS", "intervalo_meses_continuos": "24 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -90,15 +90,15 @@
"descricao_mnt": "INSPEÇÃO CALENDÁRICA DE 2 YEARS", "descricao_mnt": "INSPEÇÃO CALENDÁRICA DE 2 YEARS",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "B",
"letra": "B", "letra": "B",
"nivel": "5", "nivel": "B",
"var_media": "", "nivel_descricao": "Base",
"var_media": "5",
"duracao": "5 D", "duracao": "5 D",
"duracao_valor": 5, "duracao_valor": 5,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B B 5 5 D", "controle_original": "N B B 5 5 D",
"intervalo_horas_voo": "", "intervalo_horas_voo": "",
"intervalo_meses_continuos": "24 MESES CONTÍNUOS", "intervalo_meses_continuos": "24 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -113,15 +113,15 @@
"descricao_mnt": "CHECK OPERACIONAL DE 300FH", "descricao_mnt": "CHECK OPERACIONAL DE 300FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "A", "letra": "A",
"letra": "O", "nivel": "O",
"nivel": "", "nivel_descricao": "Orgânico",
"var_media": "", "var_media": "",
"duracao": "6 H", "duracao": "6 H",
"duracao_valor": 6, "duracao_valor": 6,
"duracao_unidade": "horas", "duracao_unidade": "horas",
"controle_original": "A O 6 H", "controle_original": "N A O 6 H",
"intervalo_horas_voo": "300:00 HORAS DE VOO", "intervalo_horas_voo": "300:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -136,15 +136,15 @@
"descricao_mnt": "CHECK OPERACIONAL DE 400FH", "descricao_mnt": "CHECK OPERACIONAL DE 400FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "A", "letra": "A",
"letra": "O", "nivel": "O",
"nivel": "", "nivel_descricao": "Orgânico",
"var_media": "", "var_media": "",
"duracao": "6 H", "duracao": "6 H",
"duracao_valor": 6, "duracao_valor": 6,
"duracao_unidade": "horas", "duracao_unidade": "horas",
"controle_original": "A O 6 H", "controle_original": "N A O 6 H",
"intervalo_horas_voo": "400:00 HORAS DE VOO", "intervalo_horas_voo": "400:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -159,15 +159,15 @@
"descricao_mnt": "INSPEÇÃO AOL 295-019", "descricao_mnt": "INSPEÇÃO AOL 295-019",
"referencia": "Última inspeção", "referencia": "Última inspeção",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "B", "nivel": "B",
"nivel": "", "nivel_descricao": "Base",
"var_media": "", "var_media": "",
"duracao": "1 D", "duracao": "1 D",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B 1 D", "controle_original": "N B 1 D",
"intervalo_horas_voo": "", "intervalo_horas_voo": "",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "3800 POUSOS", "intervalo_pousos": "3800 POUSOS",
@@ -182,15 +182,15 @@
"descricao_mnt": "INSPEÇÃO AOL 295-019", "descricao_mnt": "INSPEÇÃO AOL 295-019",
"referencia": "Última Inspeção Específica 8 1-INSP AOL", "referencia": "Última Inspeção Específica 8 1-INSP AOL",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "B", "nivel": "B",
"nivel": "", "nivel_descricao": "Base",
"var_media": "", "var_media": "",
"duracao": "1 D", "duracao": "1 D",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B 1 D", "controle_original": "N B 1 D",
"intervalo_horas_voo": "", "intervalo_horas_voo": "",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "2000 POUSOS", "intervalo_pousos": "2000 POUSOS",
@@ -205,15 +205,15 @@
"descricao_mnt": "INSPEÇÃO AOL 295-019", "descricao_mnt": "INSPEÇÃO AOL 295-019",
"referencia": "Última Inspeção Específica 9 2-INSP AOL", "referencia": "Última Inspeção Específica 9 2-INSP AOL",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "B", "nivel": "B",
"nivel": "", "nivel_descricao": "Base",
"var_media": "", "var_media": "",
"duracao": "1 D", "duracao": "1 D",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B 1 D", "controle_original": "N B 1 D",
"intervalo_horas_voo": "", "intervalo_horas_voo": "",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "2000 POUSOS", "intervalo_pousos": "2000 POUSOS",
@@ -228,15 +228,15 @@
"descricao_mnt": "INSPEÇÃO CALENDÁRICA DE 8 YEARS", "descricao_mnt": "INSPEÇÃO CALENDÁRICA DE 8 YEARS",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "B", "letra": "B",
"letra": "P", "nivel": "P",
"nivel": "15", "nivel_descricao": "Parque",
"var_media": "", "var_media": "15",
"duracao": "20 D", "duracao": "20 D",
"duracao_valor": 20, "duracao_valor": 20,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B P 15 20 D", "controle_original": "N B P 15 20 D",
"intervalo_horas_voo": "", "intervalo_horas_voo": "",
"intervalo_meses_continuos": "96 MESES CONTÍNUOS", "intervalo_meses_continuos": "96 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -251,15 +251,15 @@
"descricao_mnt": "INSPEÇÃO CHECK 1C", "descricao_mnt": "INSPEÇÃO CHECK 1C",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "C", "letra": "C",
"letra": "P", "nivel": "P",
"nivel": "10", "nivel_descricao": "Parque",
"var_media": "", "var_media": "10",
"duracao": "65 D", "duracao": "65 D",
"duracao_valor": 65, "duracao_valor": 65,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "C P 10 65 D", "controle_original": "N C P 10 65 D",
"intervalo_horas_voo": "2400:00 HORAS DE VOO", "intervalo_horas_voo": "2400:00 HORAS DE VOO",
"intervalo_meses_continuos": "48 MESES CONTÍNUOS", "intervalo_meses_continuos": "48 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -275,15 +275,15 @@
"descricao_mnt": "INSPEÇÃO GERAL CHECK 2C", "descricao_mnt": "INSPEÇÃO GERAL CHECK 2C",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "C", "letra": "C",
"letra": "P", "nivel": "P",
"nivel": "60", "nivel_descricao": "Parque",
"var_media": "", "var_media": "60",
"duracao": "10 D", "duracao": "10 D",
"duracao_valor": 10, "duracao_valor": 10,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "C P 60 10 D", "controle_original": "N C P 60 10 D",
"intervalo_horas_voo": "4800:00 HORAS DE VOO", "intervalo_horas_voo": "4800:00 HORAS DE VOO",
"intervalo_meses_continuos": "96 MESES CONTÍNUOS", "intervalo_meses_continuos": "96 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -299,15 +299,15 @@
"descricao_mnt": "INSPEÇÃO CALENDÁRICA DE 4 YEARS", "descricao_mnt": "INSPEÇÃO CALENDÁRICA DE 4 YEARS",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "B", "letra": "B",
"letra": "P", "nivel": "P",
"nivel": "10", "nivel_descricao": "Parque",
"var_media": "", "var_media": "10",
"duracao": "10 D", "duracao": "10 D",
"duracao_valor": 10, "duracao_valor": 10,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B P 10 10 D", "controle_original": "N B P 10 10 D",
"intervalo_horas_voo": "", "intervalo_horas_voo": "",
"intervalo_meses_continuos": "48 MESES CONTÍNUOS", "intervalo_meses_continuos": "48 MESES CONTÍNUOS",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -322,15 +322,15 @@
"descricao_mnt": "INSPEÇÃO DE 100 FH", "descricao_mnt": "INSPEÇÃO DE 100 FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "O", "nivel": "O",
"nivel": "", "nivel_descricao": "Orgânico",
"var_media": "", "var_media": "",
"duracao": "1 H", "duracao": "1 H",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "horas", "duracao_unidade": "horas",
"controle_original": "O 1 H", "controle_original": "N O 1 H",
"intervalo_horas_voo": "100:00 HORAS DE VOO", "intervalo_horas_voo": "100:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -345,15 +345,15 @@
"descricao_mnt": "INPEÇÃO 2400FH", "descricao_mnt": "INPEÇÃO 2400FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "O", "nivel": "O",
"nivel": "", "nivel_descricao": "Orgânico",
"var_media": "", "var_media": "",
"duracao": "3 H", "duracao": "3 H",
"duracao_valor": 3, "duracao_valor": 3,
"duracao_unidade": "horas", "duracao_unidade": "horas",
"controle_original": "O 3 H", "controle_original": "N O 3 H",
"intervalo_horas_voo": "2400:00 HORAS DE VOO", "intervalo_horas_voo": "2400:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -368,15 +368,15 @@
"descricao_mnt": "INSPEÇÃO 3000FH", "descricao_mnt": "INSPEÇÃO 3000FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "B", "nivel": "B",
"nivel": "", "nivel_descricao": "Base",
"var_media": "", "var_media": "",
"duracao": "1 D", "duracao": "1 D",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B 1 D", "controle_original": "N B 1 D",
"intervalo_horas_voo": "3000:00 HORAS DE VOO", "intervalo_horas_voo": "3000:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -391,15 +391,15 @@
"descricao_mnt": "INPEÇÃO 1000FH", "descricao_mnt": "INPEÇÃO 1000FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "B", "nivel": "B",
"nivel": "", "nivel_descricao": "Base",
"var_media": "", "var_media": "",
"duracao": "1 D", "duracao": "1 D",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B 1 D", "controle_original": "N B 1 D",
"intervalo_horas_voo": "1000:00 HORAS DE VOO", "intervalo_horas_voo": "1000:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",
@@ -414,15 +414,15 @@
"descricao_mnt": "INSPEÇÃO 50 FH", "descricao_mnt": "INSPEÇÃO 50 FH",
"referencia": "Especial (a contar dela mesma - Tipo D)", "referencia": "Especial (a contar dela mesma - Tipo D)",
"tipo_vencimento": "Término da Anterior", "tipo_vencimento": "Término da Anterior",
"zera": "N", "zera_tso": "N",
"tso": "", "letra": "",
"letra": "B", "nivel": "B",
"nivel": "", "nivel_descricao": "Base",
"var_media": "", "var_media": "",
"duracao": "1 D", "duracao": "1 D",
"duracao_valor": 1, "duracao_valor": 1,
"duracao_unidade": "dias", "duracao_unidade": "dias",
"controle_original": "B 1 D", "controle_original": "N B 1 D",
"intervalo_horas_voo": "50:00 HORAS DE VOO", "intervalo_horas_voo": "50:00 HORAS DE VOO",
"intervalo_meses_continuos": "", "intervalo_meses_continuos": "",
"intervalo_pousos": "", "intervalo_pousos": "",