Processamento dos arquivos¶
Você pode processar os arquivos da forma que desejar.
Uma forma é utilizar o inotify API ou inotify-tools para processar quando um arquivo for escrito.
Exemplo simples de processamento¶
#!/bin/sh
while inotifywait -e modify /meu/arquivo/json; do
if tail -n1 /meu/arquivo/json | grep id=33; then
/meu/processamento/processa.py /meu/arquivo/json
fi
done
Veja o manual do inotify-tools: https://linux.die.net/man/1/inotifywait
Wiki do inotify-tools: https://github.com/inotify-tools/inotify-tools/wiki
Estrutura do JSON¶
{
"id": 0,
"form_versao": "<VALOR PREENCHIDO>",
"IDE_FINALIZADO": "<VALOR PREENCHIDO>",
"DES_TITULO": "<VALOR PREENCHIDO>",
"metadados": [
{
"COD_PROCESSO_F": 0,
"COD_ETAPA_F": 0,
"COD_CICLO_F": 0,
"CPF": "<VALOR PREENCHIDO>",
"PROTOCOLO": "<VALOR PREENCHIDO>",
"<DADOS DO FORMULARIO>": "....",
"TITULO_ETAPA": "<VALOR PREENCHIDO>",
"PROCESSOS_ETAPAS": {
"COD_CICLO": 0,
"COD_ETAPA": 0,
"APROVACAO_MOB": "<VALOR PREENCHIDO>",
"COD_USUARIO_ETAPA": 0,
"DAT_FINALIZACAO": "<VALOR PREENCHIDO>",
"DAT_GRAVACAO": "<VALOR PREENCHIDO>",
"IDE_STATUS": "<VALOR PREENCHIDO>",
"IDE_STATUS_ANT": "<VALOR PREENCHIDO>",
"IDE_TEMPORARIO": "<VALOR PREENCHIDO>",
"IDE_VISUALIZADO": "<VALOR PREENCHIDO>",
"NOM_ARQ_ASSINADO": "<VALOR PREENCHIDO>",
"uuid": "<VALOR PREENCHIDO>",
"VLR_ATRASO1": 0,
"VLR_CAMPOS_COMPLEM": "<VALOR PREENCHIDO>",
"VLR_QTDE_ALERTA": 0,
"VLR_QTDE_ATRASO": 0,
"VLR_TEMP_ATR_GEST": 0,
"VLR_TEMP_HIBERNA": 0,
"VLR_TEMP_LIM_GEST": 0,
"VLR_TEMPO_ALERTA": 0,
"VLR_TEMPO_ATRASO": 0,
"VLR_TEMPO_CONSUMIDO": 0,
"VLR_TEMPO_CONSUMIDO_CORRIDO": 0,
"VLR_TEMPO_ESCALONA": 0,
"COD_PROCESSO": 0,
"DATA_PRINT": 0
}
}
],
"NOME_DA_GRID": [
{
"identificador": 0,
"COD_PROCESSO": 0,
"COD_ETAPA": 0,
"COD_CICLO": 0,
"INDICE": 0,
"<DADOS DA GRID DO FORMULARIO>": "....",
"TITULO_ETAPA": "<VALOR PREENCHIDO>"
}
],
"NOME_DE_OUTRA_GRID": [
{
"identificador": 0,
"COD_PROCESSO": 0,
"COD_ETAPA": 0,
"COD_CICLO": 0,
"INDICE": 0,
"<DADOS DA GRID DO FORMULARIO>": "....",
"TITULO_ETAPA": "<VALOR PREENCHIDO>"
}
]
}
Nota
Cada JSON tem dados específicos pois é referente a um serviço único. Verifique com o gestor do serviço quais são os campos dos formulários das etapas/ciclos.
Os nomes dos campos estão separados pelo caractere “|”.
No formato: <NOME_DO_CAMPO_NO_FORMULARIO>|<LABEL_DO_CAMPO_NO_FORMULARIO_SE_EXISTIR> ou só o <NOME_DO_CAMPO_DO_FORMULARIO>
Documentação dos campos¶
Raiz do JSON¶
Composto de um array com N solicitações do serviço público.
Campos¶
- id - int(11) PK
- Código do processo
- form_versao - varchar(20)
- Formulário e Versão (cod_form e cod_versao)
- ide_finalizado - varchar(1)
- Flag do status do processo;
- A -> Em andamento;
- P -> Aprovado;
- C -> Cancelado;
- R -> Rejeitado.
- des_titulo - varchar(50)
- Nome do modelo BPM
Metadados¶
Composto de um array com N etapas da solicitação.
Campos¶
- cod_processo_f - int(11) PK
- Código do processo
- cod_etapa_f - smallint(6) PK
- Código da etapa
- cod_ciclo_f - smallint(6) PK
- Código do ciclo
- cpf - varchar(13)
- Cpf do cidadão
- protocolo - varchar(19)
- Protocolo
- <DADOS DO FORMULARIO>
- Dados do formulário conforme documentação da automação do serviço homologado pelo órgão. Os formulários podem ser acessados na interface de atendimento disponibilizada ao dono do serviço.
- titulo_etapa - varchar(60)
- Nome da etapa
- processos_etapas
- Conjunto de informações para cada etapa da solicitação e metadados.
Processos_etapas¶
- cod_ciclo - smallint(6) PK
- Código do ciclo
- cod_etapa - smallint(6) PK
- Código da etapa
- aprovacao_mob - varchar(255)
- Aprovação Mob
- cod_usuario_etapa - smallint(6) PK
- Código do usuário da etapa. O usuário aqui é o servidor público resolvedor dessa etapa e não é o cidadão.
- dat_finalizacao - datetime
- Data de conclusão da etapa (envio do formulário)
- dat_gravacao - datetime
- Data de início da etapa (data de conclusão da etapa anterior ou data de abertura)
- ide_status - varchar(255)
- Flag do status da etapa.
- A -> Em andamento;
- D -> Escalonado;
- P -> Aprovado;
- R -> Rejeitado;
- C -> Cancelado;
- H -> Hibernado;
- L -> Em paralelismo.
- ide_status_ant - varchar(255)
- Flag do status anterior da etapa.
- A -> Em andamento;
- D -> Escalonado;
- P -> Aprovado;
- R -> Rejeitado;
- C -> Cancelado;
- H -> Hibernado;
- L -> Em paralelismo.
- ide_temporario - varchar(255)
- Status temporário
- ide_visualizado - varchar(255)
- Status visualizado
- nom_arq_assinado - varchar(255)
- Nome do arquivo assinado
- uuid - varchar(255)
- Unique ID da etapa
- vlr_atraso1 - bigint(20)
- Valor de atraso
- vlr_campos_complem - varchar(255)
- Valor campos complementados
- vlr_qtde_alerta - int(11)
- Valor quantidade de alerta
- vlr_qtde_atraso - int(11)
- Valor quantidade de atraso
- vlr_qtde_atraso_gest - int(11)
- Valor quantidade de atraso gestor
- vlr_temp_atr_gest - bigint(20)
- Valor tempo atraso gestor
- vlr_temp_hiberna - bigint(20)
- Valor tempo hibernação
- vlr_temp_lim_gest - bigint(20)
- Valor tempo limite gestor
- vlr_tempo_alerta - bigint(20)
- Valor tempo alerta
- vlr_tempo_atraso - bigint(20)
- Valor tempo atraso
- vlr_tempo_consumido - bigint(20)
- Valor tempo consumido
- vlr_tempo_consumido_corrido - bigint(20)
- Valor tempo consumido corrido
- vlr_tempo_escalona - bigint(20)
- Valor tempo escalonado
- cod_processo - int(11) PK
- Código do processo
- data_print - longtext
- Data print
- des_login - varchar(50)
- Login do usuário responsável pela etapa
- des_email - varchar(255)
- Email do usuário responsável pela etapa
- nom_usuario - varchar(50)
- Nome do usuário responsável pela etapa
NOME DA GRID¶
Composto de um array de N registros da grid para cada etapa da solicitação e metadados.
Campos¶
- identificador - int(11)
- Identificador
- cod_processo -int(11) PK
- Código do processo
- cod_etapa - smallint(6) PK
- Código da etapa
- cod_ciclo - smallint(6) PK
- Código do ciclo
- indice - smallint(6)
- Indice do elemento
- <DADOS DA GRID DO FORMULARIO>
- Dados da grid do formulário conforme documentação da automação do serviço homologado pelo órgão. As grids podem ser acessadas na interface de atendimento disponibilizada ao dono do serviço.
- titulo_etapa - varchar(60)
- Nome da etapa
Nota
Os campos cod_processo, cod_etapa e cod_ciclo são chaves compostas para identificar os registros da grid para cada etapa. O indice identifica a ordem do elemento na grid.
Atenção
Cada grid possui o seu próprio nome. Verifique com o dono do serviço quais grids existem na etapa.