umarley / seteAPI

BSD 3-Clause "New" or "Revised" License
2 stars 0 forks source link

Criar endpoint para censo #14

Closed marcosroriz closed 2 years ago

marcosroriz commented 2 years ago

A idéia é usarmos o operador de upsert para processar o lote de dados enviado abaixo. O lote deve seguir o seguinte formato. Observe que teremos um array de alunos (com os dados no formato esperado), escolas (no formado esperado) e um array de escolatemalunos que relaciona as duas entidades. Como os alunos não tem ID por padrão, será criado um ID para cada aluno para realizar a vinculação.

{
    "alunos": [
    {
        "id_censo": "aleatorio",
        "nome": "ENZO FELIPE FANDARUFF",
        "data_nascimento": "15/11/2013",
        "nome_responsavel": "PALOMA APARECIDA SARMENTO INNOCENZO",
        "sexo": 1,
        "cor": 1,
        "turno": 1,
        "nivel": 1,
        "def_caminhar": "S",
        "def_ouvir": "S",
        "def_enxergar": "S",
        "def_mental": "S",
        "mec_tp_localizacao": 1,

        "cpf": "Não OBRIGATÓRIO",
        "loc_cep": "NÃO OBRIGATÓRIO",

        "origem": 1, 
        }
    ],
    "escolas": [
        {
          "*nome": "string",
          "*mec_co_entidade": 0,
          "*mec_co_uf": 0,
          "*mec_co_municipio": 0,
          "*mec_no_entidade": "string",
          "*mec_tp_dependencia": 1,
          "*mec_tp_localizacao": 1,
          "*mec_in_regular": "S",
          "*mec_in_eja": "S",
          "*mec_in_profissionalizante": "S",
          "*mec_in_especial_exclusiva": "S",
          "*contato_responsavel": "string",
          "*horario_matutino": "S",
          "*horario_vespertino": "S",
          "*horario_noturno": "S",
          "*ensino_superior": "S",
          "*ensino_medio": "S",
          "*ensino_fundamental": "S",
          "*ensino_pre_escola": "S",          
          "loc_latitude": "string",
          "loc_longitude": "string",
          "loc_endereco": "string",
          "loc_cep": "string",
          "contato_telefone": "string",
          "contato_email": "string",
        }
    ],
    "escolatemalunos": [
            {
        "mec_co_entidade": "",
        "id_aluno": "Hash",
            }
    ]
}
marcosroriz commented 2 years ago

Exemplo de entrada,

Registra cinco alunos e uma escola. Resultado: vínculo dos cinco alunos com a escola (31062359).

{
    "alunos": [
        {
            "id_escola": 31062359,
            "nome": "SAMUEL PEREIRA DA SILVA",
            "data_nascimento": "01/04/2014",
            "nome_responsavel": "MARIA PEREIRA DE OLIVEIRA NETA",
            "sexo": 1,
            "cor": 3,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "39475000",
            "cpf": "17396087635"
        },
        {
            "id_escola": 31062359,
            "nome": "ANA LAURA LIMA DOS SANTOS DAS NEVES",
            "data_nascimento": "09/02/2014",
            "nome_responsavel": "JANICE LIMA DOS SANTOS",
            "sexo": 2,
            "cor": 0,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "39475000",
            "cpf": "18100361606"
        },
        {
            "id_escola": 31062359,
            "nome": "LUANA DE SOUZA ALMEIDA",
            "data_nascimento": "28/05/2014",
            "nome_responsavel": "MARINALVA FERREIRA DE SOUZA",
            "sexo": 2,
            "cor": 0,
            "mec_tp_localizacao": 1,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "39475000",
            "cpf": "17293320647"
        },
        {
            "id_escola": 31062359,
            "nome": "ANA VITORIA NEVES SANTANA",
            "data_nascimento": "11/02/2014",
            "nome_responsavel": "ANA FLAVIA MACEDO NEVES SANTANA",
            "sexo": 2,
            "cor": 3,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "39475000"
        },
        {
            "id_escola": 31062359,
            "nome": "ENZO GABRIEL SILVA DE SOUSA",
            "data_nascimento": "08/04/2014",
            "nome_responsavel": "CAUANE PEREIRA DA SILVA",
            "sexo": 1,
            "cor": 5,
            "mec_tp_localizacao": 1,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "39475000",
            "cpf": "15681989658"
        }
    ],
    "escolas": [
        {
            "contato_responsavel": "GIRLENE XAVIER DE OLIVEIRA SILVA",
            "contato_telefone": "(38) ",
            "mec_in_regular": "S",
            "mec_in_eja": "N",
            "mec_in_profissionalizante": "N",
            "mec_in_especial_exclusiva": "N",
            "horario_matutino": "S",
            "horario_vespertino": "S",
            "horario_noturno": "N",
            "ensino_pre_escola": "N",
            "ensino_fundamental": "S",
            "ensino_medio": "S",
            "ensino_superior": "N",
            "id_escola": 31062359,
            "mec_co_entidade": 31062359,
            "nome": "EM TEODOMIRO CORREA",
            "mec_no_entidade": "EM TEODOMIRO CORREA",
            "loc_cep": "39475000",
            "mec_co_municipio": 3162450,
            "loc_endereco": "RUA PRESIDENTE JUSCELINO KUBITSCHECK - NUM 251 - BAIRRO: CENTRO",
            "mec_tp_localizacao": 1,
            "mec_tp_localizacao_diferenciada": 7,
            "mec_tp_dependencia": 3,
            "contato_email": "girlenexavieroliveira@gmail.com",
            "mec_co_uf": 31
        }
    ]
}
marcosroriz commented 2 years ago

Outro exemplo, Adiciona quatro alunos na escola (42081521 CEIM FLORZINHA) e dois na escola (42081742 ESCOLA DE EDUCACAO BASICA MUNICIPAL COBRE).

{
    "alunos": [
        {
            "id_escola": 42081521,
            "nome": "ANA LUIZA CORREIA",
            "data_nascimento": "14/10/2014",
            "nome_responsavel": "CAMILA MARCHI GABRIEL",
            "sexo": 2,
            "cor": 1,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 1,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "88230000"
        },
        {
            "id_escola": 42081521,
            "nome": "EMANUELY MAIA SOARES DOS SANTOS",
            "data_nascimento": "12/03/2015",
            "nome_responsavel": "SABRINA MAIA",
            "sexo": 2,
            "cor": 1,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 1,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "88230000",
            "cpf": "12144422931"
        },
        {
            "id_escola": 42081521,
            "nome": "JHON ERICK CRISTOF DIAS",
            "data_nascimento": "03/04/2014",
            "nome_responsavel": "ANA PAULA C",
            "sexo": 1,
            "cor": 1,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 1,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "88230000"
        },
        {
            "id_escola": 42081521,
            "nome": "EMILY CRISTINA MACHADO REIS",
            "data_nascimento": "10/02/2016",
            "nome_responsavel": "ROSANA MACHADO",
            "sexo": 2,
            "cor": 1,
            "mec_tp_localizacao": 2,
            "turno": 2,
            "nivel": 1,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "88230000",
            "cpf": "12485718946"
        },
        {
            "id_escola": 42081742,
            "nome": "ALISSON CRISTIAN DE LIMA",
            "data_nascimento": "06/09/2008",
            "nome_responsavel": "GLAUCIA SABINO",
            "sexo": 1,
            "cor": 1,
            "mec_tp_localizacao": 1,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "loc_cep": "88230000",
            "cpf": "15009350939"
        },
        {
            "id_escola": 42081742,
            "nome": "MARIA EDUARDA AMARAL DA SILVA",
            "data_nascimento": "30/10/2009",
            "nome_responsavel": "JESSICA SANTOS DO AMARAL",
            "sexo": 2,
            "cor": 1,
            "mec_tp_localizacao": 1,
            "turno": 2,
            "nivel": 2,
            "def_caminhar": "N",
            "def_ouvir": "N",
            "def_enxergar": "N",
            "def_mental": "N",
            "cpf": "10872857980"
        }
    ],
    "escolas": [
        {
            "contato_responsavel": "ROSIMAR ROBERTI CASSANIGA",
            "contato_telefone": "(48) 32644000",
            "mec_in_regular": "S",
            "mec_in_eja": "N",
            "mec_in_profissionalizante": "N",
            "mec_in_especial_exclusiva": "N",
            "horario_matutino": "N",
            "horario_vespertino": "S",
            "horario_noturno": "N",
            "ensino_pre_escola": "S",
            "ensino_fundamental": "N",
            "ensino_medio": "N",
            "ensino_superior": "N",
            "id_escola": 42081521,
            "mec_co_entidade": 42081521,
            "nome": "CEIM FLORZINHA",
            "mec_no_entidade": "CEIM FLORZINHA",
            "loc_cep": "88230000",
            "mec_co_municipio": 4203709,
            "loc_endereco": "CUBA - NUM SN - BLOCO - BAIRRO: MOURA",
            "mec_tp_localizacao": 2,
            "mec_tp_localizacao_diferenciada": 7,
            "mec_tp_dependencia": 3,
            "contato_email": "rosimarroberti@hotmail.com",
            "mec_co_uf": 42
        },
        {
            "contato_responsavel": "ANDREIA LEAL DOS SANTOS",
            "contato_telefone": "(48) 96670794",
            "mec_in_regular": "S",
            "mec_in_eja": "N",
            "mec_in_profissionalizante": "N",
            "mec_in_especial_exclusiva": "N",
            "horario_matutino": "S",
            "horario_vespertino": "S",
            "horario_noturno": "N",
            "ensino_pre_escola": "S",
            "ensino_fundamental": "S",
            "ensino_medio": "N",
            "ensino_superior": "N",
            "id_escola": 42081742,
            "mec_co_entidade": 42081742,
            "nome": "ESCOLA DE EDUCACAO BASICA MUNICIPAL COBRE",
            "mec_no_entidade": "ESCOLA DE EDUCACAO BASICA MUNICIPAL COBRE",
            "loc_cep": "88230000",
            "mec_co_municipio": 4203709,
            "loc_endereco": "RUA MANOEL REINALDO CORREIA - NUM 115 - PREDIO ESCOLAR - BAIRRO: COBRE",
            "mec_tp_localizacao": 1,
            "mec_tp_localizacao_diferenciada": 7,
            "mec_tp_dependencia": 3,
            "contato_email": "eebmcobre@canelinha.sc.gov.br",
            "mec_co_uf": 42
        }
    ]
}
marcosroriz commented 2 years ago

Exemplo mais complexo:

Deve importar 785 alunos em uma escola. Link do JSON (bem grande): https://pastebin.com/fDEpACyX

umarley commented 2 years ago

@marcosroriz serviço do censo finalizado.

https://app.swaggerhub.com/apis-docs/umarley/SistemaSETE/1.0.0#/censo