Histórico da Página
...
Como estamos utilizando a versão 17 do angular na modo standalone, nesse projeto não há "Modules" como é visto em projetos de versões anteriores.
Models
No componente "simulatorresult" houve a necessidade de utilzar os models para poder separar as informações recebidas no JSON de resposta.
...
cod_regra: string;
desc_regra: string;
base_trib: number;
aliq_trib: number;
val_trib: number;
cst: string;
valor_tributado: number;
valor_isento: number;
valor_outros: number;
valor_nao_tribut: number;
valor_diferido: number;
valor_majorado: number;
Services
Nesta pasta está concentrada as classes relacionadas a comunicação das API's do backend com os componentes do Front-end.
Obs.: os arquivos .spec são referente as automações do componente.
brancheslookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre filial , que está sendo utilizada no lookup do campo filial no componente "simulatorHeader.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
cfoplookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre CFOP, que está sendo utilizada no lookup do campo CFOP no componente "simulatorItens.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
customerlookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre clientes , que está sendo utilizada no lookup do campo Participante no componente "simulatorHeader.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
diagnostic.service.ts→ Serviço responsável por realizar o POST com os parametros para o processamento do diagnostico, na qual será retornado um json com a resposta da requisição com o resultado do diagnostico.
Dentro desse serviços há funções de SET e GET para resgatar informações dos formularios das telas anteriores.
runDiagnosisEngine(bodyParams: string) → Função responsável de enviar o POST para o backend.
generateoperation.service.ts→ Serviço responsável por agrupar em Json os valores dos formularios de cabeçalho e itens.
setHeader() → Resgata as informações do formulário contido no componente "simulatorHeader.component" em formato Json
setItems() → Resgata as informações do formulário contido no componente "simulatorItens.component" em formato Json
generate() → cria um Json com a junção dos Json's das funções setHeader e setItems, para ser utilizado como insumo na tela de resultado.
operationService.service.ts→ Serviço responsável pelo controle de filial nas chamada das API's utilizadas nos demais serviços. Também controla o parâmetro de tipo de operação.
setTenantID e getTenantID → funções de SET e GET para alimentar o campo de TENANTID
setOperation e getOperation → funções de SET e GET para alimentar o campo de tipo de Operação
setFilial e getFilial → funções de SET e GET para alimentar o campo de Filial.
origlookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre Origem do Produto , que está sendo utilizada no lookup do campo Origem no componente "simulatorItens.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
productlookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre Produtos , que está sendo utilizada no lookup do campo produto no componente "simulatorItens.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
ruleslookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre Regra de Cálculo, que está sendo utilizada no lookup do campo Regra de Cálculo no componente "simulatorDiagnostic.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
tax-calculation.service.ts→ Serviço responsável para realizar o POST da API "calculate" , na qual retornará os dados que serão mostrados na tela de resultados.
getTaxCalculation()→ Função que chama a API calculate e envia o POST com as informações necessárias para processar o calculo da simulação.
dividirRetornoAPI()→ Função para dividir o retorno da API.
getTaxPerItem() → Função que separa os tributos por item.
getItems() → Lista itens calculados no retorno da api - considerando response.tributos_por_item.
getAdjustmentsPerItem() → Separa os ajustes por item adjustmentsPerItem - Considerando a chave ajustes.
getDeclaratoryPerItem() → Separa os ajustes por item declaratoryPerItem - Considerando a chave declaratorios.
getSpreadSheetColumns() → Array com a estrutura do resultado da tabela de resumo dos tributos
getTaxesPerItemColumns() → Array com a estrutura do resultado dos tributos por item.
getBookPerItemColumns() → Array com a estrutura do resultado da escrituração por item.
getAdjustmentsColumns()→ Array com a estutura do resultado do lançamentos de ajuste e declaratorios
tax-processor.service.ts→ Serviço responsável pela validação da tela de resultados caso o retorno seja vazio.
processTaxPerItem() → Valida o retorno dos tributos por item e caso seja vazio apresenta mensagem especifica.
processBookEntries()→Valida o retorno do resultado da escrituração do item e caso seja vazio apresenta mensagem especifica.
processAdjustments() →Valida o retorno dos ajustes de lançamento por item e caso seja vazio apresenta mensagem especifica.
processDeclarative() → Valida o retorno dos valores declaratorios por item e caso seja vazio apresenta mensagem especifica.
vendorlookup.service.ts→ Serviço responsável para realizar o GET com as informações sobre fornecedores, que está sendo utilizada no lookup do campo Participante no componente "simulatorHeader.component"
getFilteredItems() - Função padrão do PO-Lookup que busca todos os dados de determinado serviço rest.
getObjectByValue() - Função padrão do PO-Lookup que busca o dado filtrando por ID.
environments
Nesta pasta está os arquivos com as configurações de ambiente oficial e homologação.
...
Componente responsável pela tela abaixo:
Este componente somente possui as codificações necessarias para apresentação da tela.
Views/simulator - home
Componente responsável pela tela abaixo:
simulateOperation() → Função responsavel por chamar a rota que direciona para a pagina "simulador"
Views/simulator- simulatorstep
Componente responsável pela tela abaixo:
A maioria das funções do componente acima são de direcionamento de rota de navegação com as validações necessarias para que os formularios não fiquem incompletos.
changeStep() → função que controla o passo para a tela de resultado.
simulatehome() → volta para a tela inicial.
simulateItemNext() →Valida os dados do formulario de cabeçalho e vai para o proximo step da tela.
simulateOperation() → volta para a tela anterior
diagnostic() → vai para o proximo step
diagnosticar() → Função que chama funções de outros componentes para montagem do JSON de requisição POST e ativa a função que vai para a pagina de Diagnostico.
simulateitempreviews() → volta o step anterior
isTableEmpty()→ Validação da tela de itens.
isFieldEmpty()→ Validação da tela de cabeçalho.
nextStep() → Usado na pagina html para chamar a proxima pagina do step
calculate() → Função que chama funções de outros componentes para montagem do JSON de requisição POST e ativa a função que calcula o resultado
Views/simulator - simulatorheader
Componente responsável pela tela abaixo:
validateFields() → Função que valida os campos obrigatórios do formulário e impede que o usuario passe para a proxima tela caso não atenda os requisitos.
setLabelParticipante() → Função que é ativada no momento em que usuario muda o tipo de movimento, para que no container "Participante" apareça Cliente ou Fornecedor.
onSelectedParticipante() → Função que ativa os gatilhos de preenchimento de outros campos no momento em que preencho a informação no lookup de participante.
onChangeParticipante() → Valida a existência do participante e exibe mensagem na tela.
onSelectedFilial() → Função ativada no momento em que o usuário preenche o campo de filial, na qual ativa gatilhos de campos ocultos para serem utilizados nos demais formularios da aplicação.
onChangeFilial() → Função que limpa os campos do formulario caso o campo filial seja alterado.
validateFilial() → Valida a existência da filial e exibe mensagem na tela.
onChangeFrete() → Validação do campo Frete para que não seja preenchido valor negativo.
onChangeDesconto()→ Validação do campo Desconto para que não seja preenchido valor negativo.
onChangeSeguro() → Validação do campo Seguro para que não seja preenchido valor negativo.
onChangeDespesa() → Validação do campo Despesa para que não seja preenchido valor negativo.
headerJson() → Função responsável pela montagem do Json com as informações da tela de cabeçalho.
setdiagHeaderJson()→ Função responsável pela montagem do Json com as informações da tela de cabeçalho para serem utilizadas na funcionalidade de diagnóstico.
clearFields()→ Limpa os campos do formulário.
setHeaderJson() → Envia o Json da tela do cabeçalho para o serviço de generateOperation, que trata da junção do Json para a tela de resultados.
Views/simulator - simulatoritems
Componente responsável pela tela abaixo:
validToNextStep() → Função que valida as informações do formulário para que seja possivel ir para o próximo passo do stepper.
setItemsOperations() → chama o serviço "generateOperations" para que chama a função setItems.
canActivateNextStep() → Função de validação que avalia se a tabela tem ao menos um item cadastrado.
calcularValorTotal() → Função que realiza a multiplicação automatica dos campos quantidade x precounitario.
getNextItemNumber() →Função que controle a numeração dos items cadastrados no formulário.
reorderItems() → Função que faz a ordenação dos itens na tabela.
validarCamposObrigatorios() → Faz validação do preenchimento dos campos obrigatórios e caso tenha alguma pendência é apresentado mensagem.
openAddModal()→ Função que abre o formulário PO-modal.
addItem() → Função que grava os itens no PO-Table.
closeModal() →Função que fecha a tela do PO-Modal
resetForm() → Função que limpa os campos do formulário.
onQuantidadeChange() → Validação do campo Quantidade para que não seja preenchido valor negativo.
onPrecoUnitarioChange() → Validação do campo Preço unitário para que não seja preenchido valor negativo.
onProdutoChange() → Validação do campo Produto e caso não exista apresenta mensagem na tela.
edit() → Função padrão do PO-Modal para edição do formulário.
remove() → Função padrão do PO-Modal para remoção de itens do formulário
itemsJson() → Função responsável pela montagem do Json com as informações da tela de itens.
setdiagItemsJson() → Função responsável pela montagem do Json com as informações da tela de itens para serem utilizadas na funcionalidade de diagnóstico.
onCfopChange() → Validação do campo CFOP e caso não exista apresenta mensagem na tela.
onOrigemChange() → Validação do campo Origem do Produto e caso não exista apresenta mensagem na tela.
onDescontoChange() → Validação do campo Desconto para que não seja preenchido valor negativo.
onFreteChange() → Validação do campo Frete para que não seja preenchido valor negativo.
onDespesasChange() → Validação do campo Despesa para que não seja preenchido valor negativo.
onSeguroChange() → Validação do campo Seguro para que não seja preenchido valor negativo.
Views/simulator - simulatorresult
Componente responsável pela tela abaixo:
calculateTaxes() → função que chama o serviço de processamento do resultado da simulação.
onChangeItem() → Validação na alteração de item.
isValidItem() → Validação do tipo de item.
processItemData() → Função que recebe o resultado do calculo e separa em objetos para serem exibidos na tela.
setLoading() → Função que faz o timing do componente Load do POUI.
resetState() → Limpa as informações do formulário da tela de resultado.
isValidResponse() → Verifica se a resposta da API é válida.
processSuccessfulResponse() → Função que faz a atribuição do resultado da API que já foi segregado pela rotina "processItemData" nos respectivos componentes PO-Table na tela de resultados.
handleEmptyResponse() → Função que apresenta a mensagem quando não há resultado calculado.
handleError() →Função que apresenta mensagem de erro durante o processamento do resultado.
updateViewWithProcessedData()→ Função que faz atualização das informações da tela quando há troca de items para visualização no formulário.
Views/simulator - simulatordiagnostic
Componente responsável pela tela abaixo:
preencherTabela()→ função que faz o preechimento do PO-Table com o resultado do retorno da API de diagnóstico.
simulateoperation() → volta para a tela de simulador de cálculo
clearTable() → limpa os dados da tabela de diagnostico.
onTributoChange() → Função de validação do lookup de regra de calculo, para verificar se o codigo existe ou não.
diagnostic() → função chamada no clique do botão "diagnostico" , na qual cria um json e chama o serviço de diagnostic para enviar a requisição POST.
Demais Arquivos
app.component.ts
...