Obter o Checklist de documentos de uma operação
Esse serviço é capaz de retornar a relação de documentos necessária para a realização do Checklist de uma operação. A resposta do serviço contém as informações necessárias para a construção da Tela e as informações sobre os documentos associados à operação. Na resposta, temos que:
tela.forms: array que separa os documentos por fase de análise, a saber: "Técnica", "Jurídica" e "Registro". Dará origem a separação da tela em abas no primeiro nível, cada aba contendo uma fase de análise diferente. Ou seja, tela.forms[0] representa a aba com a primeira fase de análise.
tela.forms[0].forms: array que separa os documentos de uma fase de análise por Tipo de Entidade, listadas acima. Dará origem a separação da aba de Fase de Análise em abas de Tipo de Entidade. Cada elemento desse array, por exemplo, tela.forms[0].forms[0], representa um grupo de documentos configurado na tabela GRUPO_DOCUMENTO.
tela.forms[0].forms[0].grid: configuração do grid que contém a lista de documentos para cada elemento da entidade na fase especificada. O atributo tela.forms[0].forms[0].grid.variavel, representado por FaseAnalise.gridEntidade, será responsável por atribuir os documentos ao GRUPO_DOCUMENTO correto. Para isso, o sistema deverá dar nomear a FaseAnalise de acordo com o valor do campo CO_FASE_VERIFICACAO e gridEntidade com o valor do campo CO_GRUPO_DOCUMENTO, ambos contidos na tabela GRUPO_DOCUMENTO.
O array tela.forms[0].forms[0].grid.colunas contém a configuração de quais colunas devem aparecer no Grid, sendo que essa configuração depende dos elementos de cada entidade. Para cada elemento, o sistema deve apresentar três colunas indicadas no seguinte fragmento da estrutura do response:
{
titulo: "Tanise",
variavel: "C1",
colunas:[
{
tipo: "string",
visible: false,
variavel: "NU_DOCUMENTO"
},
{
tipo: "boolean",
titulo: "Recebido",
variavel: "IN_DOCUMENTO_RECEBIDO"
},
{
tipo: "url",
titulo: "Doc.",
variavel: "URL"
},
{
tipo: "data",
titulo: "Validade",
variavel: "DT_VENCIMENTO_DOCUMENTO"
},
{
tipo: "condicao",
variavel: "VISIVEL",
visible: "false"
}
]
}
Nessa estrutura, o serviço deverá gerar o código da variável automaticamente de acordo com o representado em 'variavel: "C1"'. Isto é, para o primeiro grupo de colunas referente a um elemento do Tipo de Entidade, deverá ser associada a variável "C1", ao segundo, "C2", e assim sucessivamente.
Além disso, cada linha terá três colunas que representam: o número de identificação do documento, variável "NU_DOCUMENTO", o nome do documento, variável "NO_DOCUMENTO", e a observação sobre a linha de documentação, variável "TE_EXIGENCIA". A coluna da variável "NU_DOCUMENTO" deverá conter o parâmetro visible: false para que não apareça para o Usuário.
dados: atributo que contém os dados que serão carregados no grid.
dados.FaseAnalise.gridEntidade : variável que será interpretada pelo "gridEntidade" da "FaseAnalise". O array contido nessa variável será usado para preencher as informações do Grid de acordo com a configuração passada no atributo tela. Cada elemento desse array representa uma linha do grid e contém um documento e seus respectivos valores para os elementos listados nas colunas. Os atributos da forma Cn.VISIVEL indicam se o documento deverá ou não ser considerado para o elemento Cn da entidade. Esse atributo é resultado da análise dos parâmtros listados acima, isto é: Documento Ativo e em uso, UF, Município, Estado Civil, Atividade Profissional, Doc Também para Cônjuge/Coobrigado, Operação de Portabilidade, Operação com Interveniente. Se um documento não puder ser atribuído a nenhum dos elementos da entidade naquela fase de análise, então esse documento não deve estar contido no grid.
success: false para quando o serviço obter um exceção (falha). true para os outros casos.
message: mensagem de erro para caso onde success é false.
Método: GET
URL: rest/w/wpretendente/checkList
Parâmetros:
parâmetros da sessão do usuário
NU_OPERACAO
Caso de sucesso
{
tela:{
botoes: [
{
acao: "",
hint: "",
imagem: "",
titulo: ""
},
{...}
],
forms: [
{
titulo: "Fase Análise",
forms:[
{
titulo: "Nome da Entidade",
grid: {
variavel: "FaseAnalise.gridEntidade",
colunas:[
{titulo: "Documentos Proponente", variavel: "NO_DOCUMENTO"},
{
titulo: "Tanise",
variavel: "C1",
colunas:[
{
tipo: "string",
visible: false,
variavel: "NU_DOCUMENTO"
},
{
tipo: "boolean",
titulo: "Recebido",
variavel: "IN_DOCUMENTO_RECEBIDO"
},
{
tipo: "url",
titulo: "Doc.",
variavel: "URL"
},
{
tipo: "data",
titulo: "Validade",
variavel: "DT_VENCIMENTO_DOCUMENTO"
},
{
tipo: "condicao",
titulo: "",
variavel: "VISIVEL",
visible: false
}
]
},
{...},
{titulo:"Observações e Comentários",variavel:"TE_EXIGENCIA"}
]
}
},
{
titulo: "Nome do Segundo Tipo de Entidade",
grid:{
variavel: "FaseAnalise.gridEntidade2",
colunas:[
{titulo: "Documentos Proponente", variavel: "NO_DOCUMENTO"},
{...},
{...},
{titulo:"Observações e Comentários",variavel:"TE_EXIGENCIA"}
]
}
}
},
{...},
{...}
]
},
dados:{
FaseAnalise.gridEntidade: [
{
NO_DOCUMENTO : "Nome do Documento",
C1.NU_DOCUMENTO : "",
C1.IN_DOCUMENTO_RECEBIDO: "",
C1.URL: "",
C1.DT_VENCIMENTO_DOCUMENTO: " ",
C1.VISIVEL: " ",
C2.NU_DOCUMENTO : "",
C2.IN_DOCUMENTO_RECEBIDO: " ",
C2.URL: " ",
C2.DT_VENCIMENTO_DOCUMENTO: " ",
C2.VISIVEL: " ",
C3.NU_DOCUMENTO : "",
C3.IN_DOCUMENTO_RECEBIDO: " ",
C3.URL: " ",
C3.DT_VENCIMENTO_DOCUMENTO: " ",
C3.VISIVEL: " ",
...,
TE_EXIGENCIA: " "
},
{...}
],
FaseAnalise.gridEntidade2: [
{...},
{...}
],
FaseAnalise2.gridEntidade: [
{...},
{...}
]
},
success: [true|false],
message: "mensagem de aviso"
}