O usuário que estiver acessando essa página deverá conseguir informar os seguintes campos:
-
campo CNPJ, com máscara de CNPJ ao digitar, e deverá ser um CNPJ válido. -
botão “Acessar”
Ao clicar no botão “Acessar”, o sistema deverá:
Validar se o CNPJ informador é válido;Caso seja, ir para 2.Caso não seja, enviar mensagem ao usuário: “CNPJ inválido”.
Realizar uma pesquisa em um array users, através de uma função login, utilizando como parâmetro o CNPJ informado.Caso a consulta retorne os dados do CNPJ, abrir a telaContratos Vinculados
.Caso a consulta não retorne os dados do CNPJ, enviar mensagem ao usuário: “CNPJ sem contratos ativos.”
O sistema deverá apresentar as seguintes informações para o usuário:
Consultar um array contracts, através da função getUserContracts passando como parâmetro o CNPJ informado na tela da consulta. Carregar os dados retornados da consultas conforme abaixo:Tela de Seleção de Contratos VinculadosHeader com as seguintes informações:Razão Social, texto informativo, não permitido alteração;CNPJ, texto informativo, não permitido alteração;Nome Fantasia, texto informativo, não permitido alteração;
Lista dos Contratos Vinculados ao CNPJ contendo:Campo tipo checkbox com opção de selecionar;Nome do Contrato, texto informativo, não permitindo alteração;Código do Contrato, texto informativo, não permitido alteração;Percentual da Retenção Técnica, texto informativo, não permitido alteração;Botão “Detalhes”, tipo botão, permitindo ação de click;(Colocar as infos do modal)
Botão “Anterior”, tipo botão, permitindo click:Ao clicar, o sistema deverá retornar a página deacesso
.
Botão “Próxima”, tipo botão, permitindo click:Ao clicar, o sistema deverá validar;Se apenas uma linha foi selecionada, ir para a telaDados da Nota Fiscal
Se for selecionada mais de uma linha, retorna mensagem para o usuário: “Somente um Contrato deverá ser selecionado”Se não houve linha selecionada, retornar mensagem para o usuário: “Ao menos um Contrato deverá ser selecionado”
O sistema deverá apresentar as seguintes informações para o usuário:
Header com as seguintes informações:Razão Social, texto informativo, não permitido alteração;CNPJ, texto informativo, não permitido alteração;Nome Fantasia, texto informativo, não permitido alteração;
O usuário que estiver acessando essa página deverá conseguir informar os seguintes campos:
campo “Número da Nota”, numérico, permitindo preenchimentocampo “Data de Emissão”, data, permitindo preenchimentocampo “Data de Vencimento”, data, permitindo preenchimentocampo “Valor”, decimal com duas casas decimais, permitindo preenchimentocampo “Retenção de Impostos”, checkbox, clicável e, ao clicar:Caso campo esteja selecionado:Demonstrar o painel “Dados de Impostos” com os seguintes campos:campo “ISSQN”, decimal com dois inteiros e duas decimais, permitindo preenchimentocampo “IRRF”, decimal com dois inteiros e duas decimais, permitindo preenchimentocampo “CSLL”, decimal com dois inteiros e duas decimais, permitindo preenchimentocampo “COFINS”, decimal com dois inteiros e duas decimais, permitindo preenchimentocampo “INSS”, decimal com dois inteiros e duas decimais, permitindo preenchimentocampo “PIS”, decimal com dois inteiros e duas decimais, permitindo preenchimento
campo “Retenção Técnica”, checkbox, clicável e, ao clicar:Demonstrar o painel “Dados da Retenção Técnica” com os seguintes campos:campo “Valor”, decimal com duas casas decimais, com preenchimento baseado no percentual de retenção do contrato;campo “Percentual”, decimal com dois inteiros e duas decimais, com preenchimento baseado no campo de percentual de retenção técnica do contrato;
botão “Anexar Nota Fiscal”, botão, clicável e, ao clicar, poder anexar um arquivo local;após anexar ao menos um arquivo, deverá ser gerada lista de documentos anexados, onde em cada linha poderá ser excluído o documento;
Botão “Anterior”, tipo botão, permitindo click:Ao clicar, o sistema deverá retornar a página de seleção de contratos;
Botão “Próxima”, tipo botão, permitindo click:Ao clicar, o sistema deverá validar;campo “Número da Nota” preenchido;Se sim, okse não, retornar mensagem para o usuário: “Número da Nota Obrigatório”
campo “Data de Emissão”, preenchido e ser uma data válida;Se sim, okse não, retornar mensagem para o usuário: “Data de Emissão Obrigatório”
campo “Data de Vencimento”, preenchido e ser uma data válida:Se sim, okse não, retornar mensagem para o usuário: “Data de Vencimento Obrigatório”
campo “Valor”, preenchido e maior que zero;Se sim, okse não, retornar mensagem para o usuário: “Valor Obrigatório”
campo “Retenção de Impostos”, selecionado;campo “ISSQN”, caso preenchido, maior que zero;Se sim, okse não, retornar mensagem para o usuário: “ISSQN” deve ser maior que zero”
campo “IRRF”, caso preenchido, maior que zero;Se sim, okse não, retornar mensagem para o usuário: “IRRF” deve ser maior que zero”
campo “CSLL”, caso preenchido, maior que zero:Se sim, okse não, retornar mensagem para o usuário: “CSLL” deve ser maior que zero”
campo “COFINS”, caso preenchido, maior que zero:Se sim, okse não, retornar mensagem para o usuário: “COFINS” deve ser maior que zero”
campo “INSS”, caso preenchido, maior que zero:Se sim, okse não, retornar mensagem para o usuário: “INSS” deve ser maior que zero”
campo “PIS”, caso preenchido, maior que zero:Se sim, okse não, retornar mensagem para o usuário: “PIS” deve ser maior que zero”
campo “Retenção Técnica”, selecionado;campo “Valor”, valor deve ter sido calculado baseado no percentual de retenção do contrato;campo “Percentual”, valor deve ser o percentual de retenção técnica do contrato;
Se todos os campos estiverem "ok":O sistema deverá chamar uma função sendData enviando as informações preenchidas como parâmetro. Essa função deverá imprimir no terminal (console.log
), e retornar ao usuário a seguinte mensagem “Solicitação 999999 foi enviada com sucesso.“ e ir para a telaPágina de acesso