{"version":3,"sources":["assets/i-user.png","state/reducer.js","pages/login/index.js","pages/recuperarSenha/index.js","pages/ativarConta/index.js","pages/ativarNovoEmail/index.js","pages/etiquetaServidor/manutencao.js","pages/etiquetaServidor/drawer.js","pages/etiquetaServidor/index.js","pages/importarPessoa/index.js","pages/antecipacao/manutencao.js","pages/antecipacao/drawer.js","pages/antecipacao/index.js","pages/semAcesso/index.js","pages/aliquotaSimplesNacional/manutencao.js","pages/aliquotaSimplesNacional/drawer.js","pages/aliquotaSimplesNacional/index.js","pages/home/index.js","pages/inicial/index.js","pages/dashboard/funcoes.js","pages/dashboard/vendaLiquida.js","pages/dashboard/compraLiquida.js","pages/dashboard/posicaoEstoque.js","pages/dashboard/receitasDespesas.js","pages/dashboard/index.js","pages/clientes/drawer.js","pages/clientes/index.js","pages/resumoCliente/tabEstatistica.js","pages/resumoCliente/tabUltimasCompras.js","pages/resumoCliente/index.js","pages/fornecedor/manutencao.js","pages/fornecedor/drawer.js","pages/fornecedor/index.js","pages/transportadores/drawer.js","pages/transportadores/index.js","pages/funcionario/manutencao.js","pages/funcionario/drawer.js","pages/funcionario/index.js","pages/vendedor/drawer.js","pages/vendedor/index.js","pages/tributacaoIcms/index.js","pages/tributacaoPisCofins/index.js","pages/ncm/tabDadosOrigemDestino.js","pages/ncm/manutencao.js","pages/ncm/drawer.js","pages/ncm/index.js","pages/marca/drawer.js","pages/marca/index.js","pages/grupoProdutos/drawer.js","pages/grupoProdutos/index.js","pages/subGrupo/drawer.js","pages/subGrupo/index.js","pages/produto/tabProdutoTributacao.js","pages/produto/tabListaPreco.js","pages/produto/tabGrade.js","pages/produto/tabImagem.js","pages/produto/manutencao.js","pages/produto/drawer.js","pages/produto/index.js","pages/gradeProduto/tabItens.js","pages/gradeProduto/manutencao.js","pages/gradeProduto/drawer.js","pages/gradeProduto/index.js","pages/preco/tabItens.js","pages/preco/tabCliente.js","pages/preco/tabVendedor.js","pages/preco/manutencao.js","pages/preco/drawer.js","pages/preco/atualizarPreco.js","pages/preco/drawerPreco.js","pages/preco/index.js","pages/etiqueta/manutencao.js","pages/etiqueta/drawer.js","pages/etiqueta/drawerServidorImpressao.js","pages/etiqueta/index.js","pages/resumoProduto/index.js","pages/relatorioEtiqueta/manutencao.js","pages/relatorioEtiqueta/drawer.js","pages/relatorioEtiqueta/tabModeloFixo.js","pages/relatorioEtiqueta/tabModeloPersonalizado.js","pages/relatorioEtiqueta/index.js","pages/contaCorrente/tabAgenciaBancaria.js","pages/contaCorrente/tabEndereco.js","pages/contaCorrente/tabGerente.js","pages/contaCorrente/manutencao.js","pages/contaCorrente/drawer.js","pages/contaCorrente/index.js","pages/contaGerencial/tabConfigConta.js","pages/contaGerencial/manutencao.js","pages/contaGerencial/drawer.js","pages/contaGerencial/index.js","pages/operacaoFiscal/tabCfop.js","pages/operacaoFiscal/drawerContaGerencial.js","pages/operacaoFiscal/manutencao.js","pages/operacaoFiscal/drawer.js","pages/operacaoFiscal/index.js","pages/operacaoDebitoCredito/manutencao.js","pages/operacaoDebitoCredito/drawer.js","pages/operacaoDebitoCredito/index.js","pages/formaPagamento/tabCondicaoPagamento.js","pages/formaPagamento/tabBoleto.js","pages/formaPagamento/manutencao.js","pages/formaPagamento/drawer.js","ValueObjects/roundValue.js","pages/formaPagamento/index.js","pages/condicaoPagamento/tabFormaPagamento.js","pages/condicaoPagamento/tabParcelas.js","pages/condicaoPagamento/manutencao.js","pages/condicaoPagamento/drawer.js","pages/condicaoPagamento/index.js","pages/serieFiscal/manutencao.js","pages/serieFiscal/drawer.js","pages/serieFiscal/index.js","pages/historico/manutencao.js","pages/historico/drawer.js","pages/historico/index.js","pages/notaFiscal/drawer.js","pages/notaFiscalDevolucao/tabItens.js","pages/notaFiscalDevolucao/tabResumo.js","pages/notaFiscalDevolucao/tabNotasFiscais.js","pages/notaFiscalDevolucao/index.js","pages/notaFiscal/drawerDevolucao.js","pages/notaFiscal/debitoCredito.js","pages/notaFiscal/drawerDebitoCredito.js","pages/notaFiscal/modalDetalheNotaFiscal.js","pages/notaFiscalEntrada/fornecedorNFE.js","pages/notaFiscalEntrada/faturamentoNFE.js","pages/notaFiscalEntrada/resumoNFE.js","pages/notaFiscalEntrada/itensNFE.js","pages/notaFiscalEntrada/transportadorNFE.js","pages/notaFiscalEntrada/manutencao.js","pages/notaFiscal/drawerEntrada.js","pages/notaFiscal/index.js","services/webSql.js","components/modals/modalSelecionarGrade/index.js","pages/importacaoNotaFiscalEntrada/tabNotaFiscal.js","pages/importacaoNotaFiscalEntrada/drawerProduto.js","pages/importacaoNotaFiscalEntrada/tabItens.js","pages/importacaoNotaFiscalEntrada/tabTransporte.js","pages/importacaoNotaFiscalEntrada/tabFaturamento.js","pages/importacaoNotaFiscalEntrada/index.js","pages/importarNotaFiscalEntrada/index.js","pages/monitoramentoNfe/index.js","pages/notaFiscalTransferencia/tabNotaFiscalEmitida.js","pages/notaFiscalTransferencia/tabNotaFiscalRecebida.js","pages/notaFiscalTransferencia/tabItemTransferencia.js","pages/notaFiscalTransferencia/tabResumoTransferencia.js","pages/notaFiscalTransferencia/manutencao.js","pages/notaFiscalTransferencia/drawer.js","pages/notaFiscalTransferencia/index.js","pages/cartaCorrecaoNotaFiscal/index.js","pages/inutilizacaoNfe/index.js","components/filtroProdutoOrc/index.js","pages/ordemCompra/manutencao.js","pages/ordemCompra/drawer.js","pages/ordemCompra/tabFaturamento.js","pages/ordemCompra/tabItens.js","pages/ordemCompra/tabResumo.js","pages/ordemCompra/manutencaoRecebimento.js","pages/ordemCompra/drawerRecebimento.js","pages/ordemCompra/index.js","pages/orcamento/index.js","pages/statusPedido/manutencao.js","pages/statusPedido/drawer.js","pages/statusPedido/index.js","pages/pedidos/modalDetalhePedido.js","pages/pedidos/drawerNF.js","pages/pedidos/drawerTransferencia.js","pages/pedidos/index.js","pages/condicional/tabCondicionalEntrega.js","pages/condicional/tabCondicionalRetirada.js","pages/condicional/index.js","pages/valePresente/manutencao.js","pages/valePresente/drawer.js","pages/valePresente/index.js","pages/metas/manutencao.js","pages/metas/drawer.js","pages/metas/index.js","pages/comissao/manutencao.js","pages/comissao/drawer.js","pages/comissao/index.js","pages/consultaComissao/index.js","pages/contaReceber/manutencao.js","pages/contaReceber/drawer.js","pages/contaReceber/index.js","pages/recebimentoParcela/reparcelamentoParcelas.js","pages/recebimentoParcela/drawerReparcelamento.js","pages/recebimentoParcela/listaParcelasCliente.js","pages/recebimentoParcela/index.js","pages/contaPagar/manutencao.js","pages/contaPagar/drawer.js","pages/contaPagar/index.js","pages/pagamentoParcela/pagamento.js","pages/pagamentoParcela/drawerPagamento.js","pages/pagamentoParcela/index.js","pages/lancamentoCaixa/index.js","pages/fluxoCaixa/local/fluxoCaixaDiarioAnalitico.js","pages/fluxoCaixa/local/fluxoCaixaDiarioSintetico.js","pages/fluxoCaixa/local/fluxoCaixaSemanalAnalitico.js","pages/fluxoCaixa/local/fluxoCaixaMensalAnalitico.js","pages/fluxoCaixa/local/fluxoCaixaMensalSintetico.js","pages/fluxoCaixa/local/fluxoCaixaAnualAnalitico.js","pages/fluxoCaixa/local/fluxoCaixaAnualSintetico.js","pages/fluxoCaixa/contaGerencial/fluxoCaixaMensalAnalitico.js","pages/fluxoCaixa/contaGerencial/fluxoCaixaAnualAnalitico.js","pages/fluxoCaixa/contaGerencial/fluxoCaixaMensalSintetico.js","pages/fluxoCaixa/contaGerencial/fluxoCaixaAnualSintetico.js","pages/fluxoCaixa/contaGerencial/fluxoCaixaDiarioAnalitico.js","pages/fluxoCaixa/contaGerencial/fluxoCaixaDiarioSintetico.js","pages/fluxoCaixa/index.js","pages/conciliacaoCartoes/index.js","pages/cheque/manutencao.js","pages/cheque/drawer.js","pages/cheque/index.js","pages/boleto/index.js","pages/remessa/manutencao.js","pages/remessa/drawer.js","pages/remessa/index.js","pages/retornoBancario/index.js","pages/retornoBancario/retornoBancarioLista.js","pages/armazemEstoque/manutencao.js","pages/armazemEstoque/drawer.js","pages/armazemEstoque/index.js","pages/estoque/gradeEstoque.js","pages/estoque/outrasFiliais.js","pages/estoque/armazem.js","pages/estoque/index.js","pages/estoqueManutencao/custosInventario.js","pages/estoqueManutencao/manutencao.js","pages/estoqueManutencao/drawer.js","pages/estoqueManutencao/index.js","pages/inventario/log.js","pages/inventario/itens.js","pages/inventario/manutencao.js","pages/inventario/drawer.js","pages/inventario/index.js","pages/matrizFilial/tabFilial.js","pages/matrizFilial/tabEndereco.js","pages/matrizFilial/tabOutrasInformacoes.js","pages/matrizFilial/tabSenhaGerencial.js","pages/matrizFilial/manutencao.js","pages/matrizFilial/drawer.js","pages/matrizFilial/index.js","pages/configuracaoNfeNfce/index.js","pages/parametrosLocal/index.js","pages/acaoUsuario/index.js","pages/gerenciarPdv/index.js","pages/limiteCreditoCliente/tabRespostas.js","pages/limiteCreditoCliente/manutencao.js","pages/limiteCreditoCliente/drawer.js","pages/limiteCreditoCliente/index.js","pages/contador/index.js","pages/plano/planos.js","pages/plano/index.js","pages/bandeiraCartaoEmpresa/manutencao.js","pages/bandeiraCartaoEmpresa/drawer.js","pages/bandeiraCartaoEmpresa/index.js","pages/centroDistribuicao/tabEndereco.js","pages/centroDistribuicao/tabResponsavel.js","pages/centroDistribuicao/manutencao.js","pages/centroDistribuicao/drawer.js","pages/centroDistribuicao/index.js","pages/relatorios/index.js","pages/analiseInadimplencia/index.js","pages/personalizacaoRelatorios/manutencao.js","pages/personalizacaoRelatorios/drawer.js","pages/personalizacaoRelatorios/index.js","pages/relatorios/filtrosRelatorio.js","pages/usuario/tabHorariosAcessoUsuario.js","pages/usuario/tabPermissoesUsuario.js","pages/usuario/tabFiliaisUsuario.js","pages/usuario/manutencao.js","pages/usuario/drawer.js","pages/usuario/index.js","pages/grupoUsuario/tabHorariosAcessoGrupo.js","pages/grupoUsuario/tabPermissoesGrupo.js","pages/grupoUsuario/tabUsuarioGrupo.js","pages/grupoUsuario/manutencao.js","pages/grupoUsuario/drawer.js","pages/grupoUsuario/index.js","pages/efdIcmsIpi/index.js","pages/notificacao/index.js","pages/parametrosEmpresa/tabPdv.js","pages/parametrosEmpresa/index.js","pages/analiseInadimplencia/analiseInadimplenciaCli.js","pages/novaEmpresa/index.js","pages/novaEmpresa/ativarUsuarioPlano.js","pages/camposPersonalizados/manutencao.js","pages/camposPersonalizados/drawer.js","pages/camposPersonalizados/index.js","pages/renovarPlano/index.js","pages/relacionamentoFornecedorProduto/manutencao.js","pages/relacionamentoFornecedorProduto/drawer.js","pages/relacionamentoFornecedorProduto/index.js","pages/restaurante/tabEndereco.js","pages/restaurante/manutencao.js","pages/restaurante/drawer.js","pages/restaurante/index.js","pages/hotel/tabEndereco.js","pages/hotel/manutencao.js","pages/hotel/drawer.js","pages/hotel/index.js","pages/testes/index.js","pages/manutencaoProduto/index.js","pages/vigenciaFiscal/manutencao.js","pages/vigenciaFiscal/drawer.js","pages/vigenciaFiscal/index.js","pages/tabelaRetencao/manutencao.js","pages/tabelaRetencao/drawer.js","pages/tabelaRetencao/index.js","services/apiErp.js","pages/loginCatalogo/selecaoEmpresaCat.js","pages/loginCatalogo/esqueciSenha.js","pages/loginCatalogo/index.js","pages/InicialCatalogo/index.js","pages/catAcessosExterno/index.js","pages/catPecasExterno/consultaPecas.js","pages/catPecasExterno/drawerConsulta.js","pages/catalogosExterno/listaGrupoSubgrupo.js","pages/catalogosExterno/index.js","pages/catPecasExterno/index.js","pages/downloadXml/index.js","pages/kitComposicao/manutencao.js","pages/kitComposicao/drawer.js","pages/kitComposicao/index.js","pages/homeCatalogo/index.js","App.js","serviceWorker.js","index.js","ValueObjects/formatNumber.js","ValueObjects/maskFormat.js","ValueObjects/formatDate.js","ValueObjects/formatFone.js","ValueObjects/formatarCPF.js","services/servidorImpressora.js","state/index.js","services/calculaImposto.js","pages/tabNotaFiscal/tabItens.js","pages/tabNotaFiscal/tabTransporte.js","pages/tabNotaFiscal/tabVeiculo.js","pages/tabNotaFiscal/tabVolumes.js","pages/tabNotaFiscal/tabValores.js","services/funcoes.js","assets/i-financeiro.png","components/drawerVendedores/index.js","services/funcoesIE.js","services/auth.js","assets/i-produto.png","assets/i-grade.png","assets/logoGestor.png","components/comboData/index.js","components/modals/modalAdicionarUsuario/index.js","components/modals/modalCalcularLimite/index.js","components/modals/modalCartaCorrecaoNotaFiscal/index.js","components/modals/modalCfop/index.js","components/modals/modalContaGerencial/index.js","components/modals/modalContatoCliente/index.js","components/modals/modalDefinirHorario/index.js","components/modals/modalEmail/index.js","components/modals/modalEmpresaFilial/index.js","components/modals/modalEmpresaFilialBusca/index.js","components/modals/modalEndereco/index.js","components/modals/modalGerarComissao/index.js","components/modals/modalExibirAcaoUsuario/index.js","components/modals/modalGerarRemessa/index.js","components/modals/modalInstrucaoRemessa/index.js","components/modals/modalInutilizacaoNfe/index.js","components/modals/modalListaPreco/index.js","components/modals/modalManifestoDestinatario/index.js","components/modals/modalNacionalidade/index.js","components/modals/modalNcm/index.js","pages/cheque/infoCheque.js","components/modals/modalOcorrenciaCheque/index.js","components/modals/modalOcupacao/index.js","components/modals/modalOrgaoSubjacente/index.js","components/modals/modalOutroContato/index.js","components/modals/modalPessoaAutorizada/index.js","components/modals/modalPlano/index.js","components/modals/modalProdutoCondicional/index.js","components/modals/modalTelefone/index.js","components/modals/modalTributacaoIcms/index.js","components/modals/modalVeiculo/index.js","components/modals/modalCancelamentoNfe/index.js","components/modals/modalReenviarSefaz/index.js","components/modals/modalDevolucao/index.js","components/modals/modalEnvioNFeEmail/index.js","components/modals/modalAjudaRejeicaoNfe/index.js","services/funcoesEtiqueta.js","components/modals/modalImprimirEtiquetas/index.js","components/modals/modalGradeOrdemCompra/index.js","components/modals/modalDetalhePedido/index.js","components/modals/modalDevolucaoCondicional/index.js","components/modals/modalDetalheOrcamento/tabItens.js","components/modals/modalDetalheOrcamento/tabFormaPagamento.js","components/modals/modalDetalheOrcamento/index.js","components/modals/modalGradeProduto/index.js","components/modals/modalSenhaLiberacao/index.js","components/modals/modalListarParcelas/index.js","components/modals/modalEditarParcelaContaReceber/index.js","components/modals/modalImportarElementosFormulario/index.js","components/modals/modalImportarElementosCamposAdicionais/index.js","components/modals/modalPersonalizacaoFormulario/index.js","components/modals/modalPersonalizacaoFormularioFiltros/index.js","components/modals/modalEditarRecebimentoParcela/index.js","components/modals/modalBandeiraCartao/index.js","components/modals/modalEditarPDV/index.js","components/modals/modalManutencaoNota/index.js","components/modals/modalContaCorrente/index.js","components/modals/modalTaxasCartaoCredito/index.js","components/modals/modalAntecipacaoClienteFornecedor/index.js","components/modals/modalDevolucaoSubstituicaoTributaria/index.js","components/modals/modalListaProduto/index.js","components/modals/modalDetalhesOrdemCompra/index.js","components/modals/modalEstornoNfe/index.js","components/modals/modalParcelasPendentes/index.js","components/modals/modalAliquotaSimplesNacional/index.js","components/modals/modalItemInventario/index.js","components/modals/modalGrade/modalGrade.js","components/modals/modalConfirmacaoTransferencia/index.js","components/modals/modalEditarItemDevolucao/index.js","components/modals/modalEditarNotaFiscalEntrada/index.js","components/modals/modalEditarCFOP/index.js","components/modals/modalAntecipacaoDevolucao/index.js","components/modals/modalContrato/index.js","components/modals/modalCheque/index.js","components/modals/modalRetornaContaGerencial/index.js","components/modals/modalInutilizarNota/index.js","components/modals/modalProdutoGrade/index.js","components/modals/modalMapa/index.js","components/modals/modalRetencao/index.js","components/modals/modalSelecionarClienteCatalogo/index.js","components/modals/modalExibeImagem/index.js","pages/condicional/manutencao.js","pages/condicional/drawer.js","services/emitter.js","assets/i-endereco.png","components/modals/modalDadosPeca/index.js","pages/notaFiscal/tabFaturamento.js","pages/notaFiscal/tabResumo.js","pages/notaFiscal/manutencao.js","services/apiPayer.js","assets/i-car.png","assets/i-boleto.png","pages/condicional/drawerNFExtra.js","pages/condicional/devolucao.js","pages/condicional/drawerDevolucao.js","components/selectPaginado/index.js","pages/login/selecaoEmpresa.js","pages/login/esqueciSenha.js","assets/i-saida.png","assets/i-info.png","components/modals/modalProcessoLento/index.js","pages/lancamentoCaixa/lancamentoTransferencia.js","pages/lancamentoCaixa/manutencao.js","pages/pedidos/tabItens.js","components/drawerTransportadores/index.js","pages/pedidos/tabTransporte.js","pages/pedidos/tabFaturamento.js","pages/pedidos/manutencao.js","pages/pedidos/drawer.js","pages/marca/manutencao.js","pages/grupoProdutos/manutencao.js","pages/subGrupo/manutencao.js","pages/vendedor/manutencao.js","pages/transportadores/manutencao.js","pages/clientes/manutencao.js","pages/orcamento/tabItens.js","pages/orcamento/tabFaturamento.js","pages/orcamento/manutencao.js","pages/orcamento/drawer.js","pages/tributacaoPisCofins/tabEntrada.js","pages/tributacaoPisCofins/tabSaida.js","pages/tributacaoPisCofins/manutencao.js","pages/tributacaoPisCofins/drawer.js","pages/tributacaoIcms/manutencao.js","pages/tributacaoIcms/drawer.js","pages/etiqueta/manutencaoEtiqueta.js","pages/etiqueta/servidorImpressao.js","assets/i-tranferencia.png","assets/i-telefone.png","assets/i-dados.png","assets/i-cartao.png","assets/i-contato.png","components/editorFormulario/itemFormulario.js","components/editorFormulario/tiposElementosFormulario.js","services/apiWeb.js","components/header/index.js","components/linkNav/index.js","components/menu/index.js","components/breadcrumbPage/index.js","components/modulos/index.js","components/perfil/index.js","components/selects/selectProduto/index.js","components/tabelaDados/index.js","components/filtroSearch/index.js","components/filtroOrdenacao/index.js","components/botaoNovo/index.js","components/pesquisaOrdenacao/index.js","components/breadIncluirDados/index.js","components/pesquisaOrdenacaoData/index.js","components/filtroData/index.js","components/detalheNotaFiscal/tabDetalheItens.js","components/detalheNotaFiscal/tabDetalheIFormaPagamento.js","components/detalheNotaFiscal/tabDetalheTotalizadores.js","components/detalheNotaFiscal/tabNotaReferenciada.js","components/detalheNotaFiscal/index.js","components/detalhePedido/tabDetalheItens.js","components/detalhePedido/tabDetalheIFormaPagamento.js","components/detalhePedido/index.js","components/formulario/index.js","components/selects/selectAll/index.js","components/selectIncluir/index.js","components/editorFormularioRelatorio/itemFormulario.js","components/editorFormularioRelatorio/tiposElementosFormulario.js","components/editorFormularioRelatorio/index.js","components/editorCamposPersonalizados/itemFormulario.js","components/editorCamposPersonalizados/tiposElementosFormulario.js","components/editorCamposPersonalizados/index.js","components/formularioDinamico/index.js","components/filtroProdutoVnc/index.js","services/navigation.js","components/drawerNav/index.js","components/drawerLancamentoTransferencia/index.js","components/drawerManutencaoCaixa/index.js","components/drawerPaginasAbertas/index.js","components/tabela/index.js","components/formasPagamento/index.js","components/formasPagamentoRecebimento/index.js","components/infoNotaNFe/index.js","components/infoProdutoGrade/index.js","components/precoGrade/pageGrade.js","components/pesquisaGlobal/pessoas/TabTodas.js","components/pesquisaGlobal/pessoas/TabCliente.js","components/pesquisaGlobal/pessoas/TabVendedor.js","components/pesquisaGlobal/pessoas/TabFornecedor.js","components/pesquisaGlobal/pessoas/TabFuncionario.js","components/pesquisaGlobal/produto.js","components/pesquisaGlobal/notaFiscal.js","components/pesquisaGlobal/pedidos.js","components/pesquisaGlobal/orcamento.js","components/pesquisaGlobal/condicional.js","components/pesquisaGlobal/contaReceber.js","components/pesquisaGlobal/contaPagar.js","components/pesquisaGlobal/tributacao/icms.js","components/pesquisaGlobal/tributacao/piscofins.js","components/pesquisaGlobal/index.js","components/filtroProdutoNfi/index.js","components/filtroProdutoPdi/index.js","components/filtroProdutoNtf/index.js","components/filtroProdutoOrcamento/index.js","components/editarTabela/index.js","components/inputPhone/index.js","components/lancamentoCheque/index.js","components/slideLogin/index.js","components/aberturaChamado/index.js","components/editar/index.js","components/excluir/index.js","components/duplicar/index.js","components/adicionar/index.js","components/imprimir/index.js","components/exportar/index.js","components/inutilizar/index.js","components/importarXML/index.js","components/emitirNotaFiscal/index.js","components/emitirNotaFiscalDebito/index.js","components/cancelarEstorno/index.js","components/emitirNotaFiscalTransferencia/index.js","components/lancamentoEntrada/index.js","components/lancamentoSaida/index.js","components/lancamentoTransferencia/index.js","components/download/index.js","components/gerarEfdIcmsIpi/index.js","components/planos/index.js","components/botaoAbrirChamado/index.js","components/drawerCliente/index.js","components/pesquisaCamposPersonalizados/index.js","components/pesquisaAvancada/index.js","components/breadcrumbAbrirChamado/index.js","components/inputCep/index.js","components/inputCpfCnpj/index.js","components/inputPercentual/index.js","components/emitirNotaFiscalEntrada/index.js","components/sincronizarCatalogo/index.js","components/filtroProdutoKit/index.js","assets/logoGestorWhite.png","components/editorFormulario/index.js","services/permissoes.js","assets/i-suporte.png","assets/i-formas.png","assets/i-bill.png","assets/i-code.png","assets/i-banco.png","services/api.js","pages/pessoas/endereco.js","pages/pessoas/orgaoSubjacente.js","pages/pessoas/email.js","pages/pessoas/telefone.js","pages/pessoas/ocupacao.js","pages/pessoas/nacionalidade.js","pages/pessoas/outrosContatos.js","pages/pessoas/pessoasAutorizadas.js","pages/pessoas/veiculos.js","actions/index.js","assets/Contrato_NewERP.pdf","assets/i-print.png","assets/i-servidor.png","assets/i-new-pdv.png","assets/iconesModulos/vendas.png","assets/iconesModulos/compra.png","assets/iconesModulos/pdv.png","assets/iconesModulos/financeiro.png","assets/iconesModulos/contabilidade.png","components/data/index.js","assets/iconesModulos/industria.png","assets/iconesModulos/catalogoEletronico.png","assets/iconesModulos/pedidosOs.png","assets/iconesModulos/aReceber.png","assets/iconesModulos/aPagar.png","assets/iconesModulos/contaCorrente.png","assets/iconesModulos/caixaBanco.png","assets/iconesModulos/contabil.png","assets/iconesModulos/fiscal.png","assets/iconesModulos/impostos.png","assets/iconesModulos/sped.png","assets/iconesModulos/indicadores.png","assets/iconesModulos/mdfe.png","assets/iconesModulos/utilitarios.png","assets/i-subjacentes.png","assets/i-email.png","assets/i-ocupacoes.png","assets/i-nacionalidade.png","assets/i-pessoas-autorizadas.png","components/selects/selectPaginacao/index.js","assets/img-home.jpg","assets/img-home-01.jpg","assets/img-home-02.jpg","assets/img-home-03.jpg","assets/i-sem-acesso.png","components/inputPreco/index.js","assets/venda-liquida.png","assets/compra-liquida.png","assets/posicao-estoque.png","assets/receita-despesas.png","assets/i-gerente.png","assets/i-settings.png","assets/logoBancos/caixa.png","assets/logoBancos/banco-bradesco.png","assets/i-storage.png","assets/i-group.png","assets/i-password.png","assets/i-chat.png"],"names":["reducer","state","action","type","drawerActions","CHANGE","ui","data","manutencaoActions","manutencao","listagemActions","listagem","tributacaoActions","tributacao","parametrosEmpresaActions","parametrosEmpresa","selectPaginadoActions","listaSelectPaginacao","listaTabelaDadosActions","listaTabelaDados","FORMULARIO","Login","useState","formularioExibir","setFormularioExibir","carregando","setCarregando","Form","useForm","formulario","useEffect","localStorage","removeItem","className","Content","justify","align","gutter","span","src","require","default","width","alt","Text","form","layout","name","initialValues","remember","size","onFinish","values","senha","encodeBase64","api","post","then","res","status","token","dadosUsuario","parseToken","setNomeUsuario","parseInt","getIdUsuario","UsuarioID","removerTelaAnt","setIdUsuario","setEmailUsuario","email","login","removerLocal","catch","err","response","notification","error","message","description","finally","onFinishFailed","errorInfo","console","log","Item","rules","required","placeholder","prefix","MailOutlined","Password","UnlockFilled","valuePropName","htmlType","loading","SendOutlined","to","SmileOutlined","onClick","onAcessar","DesktopOutlined","Link","href","target","underline","PhoneOutlined","EnvironmentOutlined","RecuperarSenha","usuarioEmail","setUsuarioEmail","validaHash","setValidaHash","voltarLogin","setTimeout","window","location","atob","split","get","warn","erro","getFieldValue","usu_senha","usu_confirmaSenha","dados","novaSenha","btoa","usu_email","put","success","label","dependencies","validator","_","value","Promise","reject","Error","resolve","AtivarConta","setDadosUsuario","senhaValida","setSenhaValida","validarSenha","trim","setFieldsValue","length","letrasMinusculas","test","letrasMaiusculas","numeros","url","substr","lastIndexOf","usu_ativo","Modal","warning","title","content","onOk","carregarUsuario","Title","level","usu_nome","onChange","disabled","ativarUsuario","AtivarNovoEmail","history","useHistory","selecionarEntidade","setSelecionarEntidade","entidadeUsuario","subTitle","extra","push","height","placement","closable","onClose","visible","grid","xs","sm","md","lg","xl","xxl","dataSource","renderItem","item","hoverable","style","textAlign","cover","logo","iconEntidade","entidade","empresa_id","id","mensagem","Meta","nomefantasia","ManutencaoEtiquetaServidor","aoSalvar","useStateValue","record","operacao","met_id","hidden","step","min","initialValue","TextArea","rows","DrawerEtiquetaServidor","dispatch","fecharDrawer","resetFields","showDrawer","ordem","closeIcon","MinusOutlined","footer","confirm","icon","ExclamationCircleOutlined","okText","cancelText","centered","CloseOutlined","submit","SaveOutlined","EtiquetaServidor","modalExcluirModelo","registro","delete","removerModelo","opcoesOrdenacao","colunas","render","met_descricao","met_colunas","color","dataIndex","key","fixed","EditFilled","editarModelo","DeleteOutlined","ImportarPessoa","arquivoBase64","setArquivoBase64","arquivo","setArquivo","setEntidade","apiArquivo","indexOf","listaEntidades","props","multiple","showUploadList","maxCount","beforeUpload","file","getBase64","base64","excluir","getEntidadeImp","setEntidadeImp","orientation","plain","Dragger","CloudUploadOutlined","t","class","viewBox","version","xmlns","d","Value","validarImportacao","Message","download","ManutencaoAntecipacao","acf_entradasaida","conteudo","cf","Option","pes_id","pes_nome","DrawerAntecipacao","dataPesquisa","AntecipacaoClienteForncedor","open","setOpen","parametrosValePresente","Date","toLocaleDateString","dataAtual","aplicarFiltrosAvancados","filtros","tipoPessoa","DataInicial","moment","format","DataFinal","outrosFiltros","_tipoPessoa","getFieldsValue","modalExcluirVale","ValePresente","acf_valepresente","FormatNumber","acf_valor","acf_nomepresenteado","valePresente","acf_id","imprimir","linkApi","eventoAoAlterar","FormatDate","Group","accordion","ghost","destroyInactivePanel","Panel","showArrow","block","ArrowUpOutlined","ArrowDownOutlined","SearchOutlined","acf_datalancamento","valorUtilizado","saldoAntecipacao","PrinterOutlined","modalImprimir","SemAcesso","Planos","ManutencaoAliquotaSimples","getMonth","getFullYear","items","asn_mes","asn_ano","buscarDados","enderecoUrl","asn_id","JSON","stringify","max","enterButton","defaultValue","formatter","parser","replace","DrawerAliquotaSimples","AliquotaSimples","possuiAliquotaMes","setPossuiAliquotaMes","retornaMesExtenso","mes","itens","toUpperCase","asn_percaliquota","Home","getEmpresa","empRegimeTributario","emp_regimetributario","empEnquadramentoFiscal","emp_enquadramentofiscal","markupProduto","par_markupproduto","par_diastoleranciacobrancajuro","par_percjuromesparcelavencida","getItem","setNavegacao","geral","setPermissoes","setStatusPlano","exact","path","component","Inicial","Dashboard","Clientes","ResumoCliente","Fornecedor","Transportador","Funcionario","Vendedor","TributacaoIcms","TributacaoPisCofins","NcmSubtituicaoTributaria","Marca","GrupoProduto","SubGrupo","Produto","GradeProduto","Preco","Etiqueta","ResumoProduto","RelatorioEtiqueta","ContaCorrente","ContaGerencial","OperacaoFiscal","OperacaoDebitoCredito","FormaPagamento","CondicaoPagamento","SerieFiscal","Historico","NotaFiscal","ImportarNotaFiscalEntrada","MonitoramentoNfe","NotaFiscalTransferencia","NotaFiscalDevolucao","ImportacaoNotaFiscalEntrada","CartaCorrecaoNotaFiscal","InutilizacaoNfe","OrdemCompra","Orcamento","Pedidos","StatusPedido","Condicional","Metas","Comissao","ConsultaComissao","ContaReceber","RecebimentoParcela","ContaPagar","PagamentoParcela","LancamentoCaixa","LancamentoCaixaManutencao","LancamentoCaixaTransferencia","FluxoCaixa","ConciliacaoCartoes","Cheque","Boleto","Remessa","RetornoBancario","RetornoBancarioLista","ArmazemEstoque","Estoque","EstoqueManutencao","Inventario","MatrizFilial","ConfiguracaoNfeNfce","GerenciarPdv","LimiteCreditoCliente","Contador","Plano","BandeiraCartaoEmpresa","CentroDistribuicao","Relatorios","AnaliseInadimplencia","PersonalizacaoRelatorios","CamposPersonalizados","FiltrosRelatorio","Usuario","GrupoUsuario","EfdIcmsIpi","Notificacao","ParametrosEmpresa","RelacionamentoFornecedorProduto","Restaurante","Hotel","ManutencaoProduto","VigenciaFiscal","TabelaRetencao","ParametrosLocal","AcaoUsuario","DownloadXml","KitComposicao","setDataAtual","dataCalendar","setInterval","UserOutlined","getHours","getNomeUsuario","getNomeEmpresa","getNomeLocal","fullscreen","colors","numberFormatter","casasDecimais","toLocaleString","currency","minimumFractionDigits","maximumFractionDigits","dateFormatter","dateFormatterMes","dateFormatterAnoMes","renderCustomizedLabelPie","cx","cy","midAngle","innerRadius","outerRadius","percent","RADIAN","Math","PI","radius","x","cos","y","sin","fill","textAnchor","dominantBaseline","toFixed","RenderChartPie","resultSet","dataKey","nameKey","ResponsiveContainer","PieChart","margin","top","bottom","Pie","isAnimationActive","labelLine","legendType","map","e","index","Cell","Legend","verticalAlign","Tooltip","parseFloat","TableRenderer","columns","locale","emptyText","CartesianChart","children","ChartComponent","left","right","XAxis","tickFormatter","YAxis","v","CartesianGrid","labelFormatter","CartesianChartBar","legend","cursor","ComponentSpin","VendaLiquida","graficoSelecionado","formFiltros","vendaLiquidaDiaria","setVendaLiquidaDiaria","totalizadores","setTotalizadores","pessoaFisicaJuridica","setPessoaFisicaJuridica","topVendedores","setTopVendedores","vendedores","setVendedores","vendaLiquidaCidades","setVendaLiquidaCidades","vendaLiquidaClientes","setVendaLiquidaClientes","listaLocaisUsuario","setListaLocaisUsuario","carregandoTotalizadores","setCarregandoTotalizadores","carregandoVendaDiaria","setCarregandoVendaDiaria","carregandoFisicaJuridica","setCarregandoFisicaJuridica","carregandoVendedor","setCarregandoVendedor","carregandoCliente","setCarregandoCliente","carregandoCidade","setCarregandoCidade","carregarDados","dataInicial","dataFinal","locais","local","join","mesAnterior","getDate","slice","ArrowLeftOutlined","setGraficoSelecionado","onBlur","getLocal","mode","allowClear","showSearch","optionFilterProp","filter","ativa","loc_ativo","Local","loc_id","loc_descricao","vlr_vendaliquida","vlr_total_venda","vlr_total_devvenda","LineChart","Line","stroke","vendedor","qtde_total","valor_total","BarChart","Bar","LabelList","position","cliente","cidade","uf","CompraLiquida","compraLiquidaDiaria","setCompraLiquidaDiaria","topFornecedores","setTopFornecedores","compraLiquidaCidades","setCompraLiquidaCidades","compraLiquidaFornecedor","setCompraLiquidaFornecedor","carregandoCompraDiaria","setCarregandoCompraDiaria","carregandoFornecedor","setCarregandoFornecedor","vlr_compraliquida","vlr_total_compra","vlr_total_devcompra","fornecedor","PosicaoEstoque","posicaoEstoqueMarca","setPosicaoEstoqueMarca","posicaoEstoqueGrupo","setPosicaoEstoqueGrupo","topGrupo","setTopGrupo","topMarca","setTopMarca","topProduto","setTopProduto","carregandoGrupo","setCarregandoGrupo","carregandoMarca","setCarregandoMarca","carregandoProduto","setCarregandoProduto","marcas","mar_id","grupos","gru_id","subgrupos","sgp_id","qtde_saldo_final","nameLabel","nameValue","onChangeFunction","vlr_custo_ultima_compra","vlr_custo_informado","vlr_custo_medio","grupo","marca","ReceitasDespesas","receitaDespesaDiaria","setReceitaDespesaDiaria","resultadoPorTipoConta","setResultadoPorTipoConta","resultadoCategoria","setResultadoCategoria","resultadoContaGerencial","setResultadoContaGerencial","comparativo12Meses","setComparativo12Meses","carregandoRecDespDiaria","setCarregandoRecDespDiaria","carregandoTipoConta","setCarregandoTipoConta","carregandoCategoria","setCarregandoCategoria","carregandoContaGerencial","setCarregandoContaGerencial","carregandoRecDespAnual","setCarregandoRecDespAnual","tipoConta","mesAtual","ultimosDozeMeses","vlr_resultado","vlr_total_receita","vlr_total_despesa","barSize","categoria_conta_gerencial","conta_gerencial","backgroundImage","DrawerCliente","editando","formCliente","filtro","setEditando","limparAoEditar","nameForm","formPesquisaAvancada","campoPerSelecionado","tipoFiltroPersonalizado","_ativo","clienteAtivo","filtroPersonalizado","filtroCampoAdicional","cap_nomeelemento","filtro_0","cap_id","cap_tipoelemento","condicao","modalExcluirRegistro","cli_codigo","cli_id","modalInativarRegistro","excluirRegistro","inativarRegistro","menuTable","parametros","nome","valor","urlRel","PathRelatorio","Parametros","Tipo","NomeRelatorio","byteCharacters","byteNumbers","Array","i","charCodeAt","byteArray","Uint8Array","Blob","fileURL","URL","createObjectURL","dadosBase64","nomeArquivo","link","document","createElement","click","fileDownloadName","alert","imprimirCliente","EyeFilled","overlay","trigger","preventDefault","MoreOutlined","funcaoRetorno","ret","expressao","funcaoLimpar","telaFiltro","cli_ativo","pej_nomefantasia","pef_apelido","pef_cpf","pej_cnpj","MaskFormat","psc_numero","FormatFone","log_logradouro","pee_numero","bai_nome","cep_cep","cid_descricao","est_sigla","pef_datanascimento","pej_datafundacao","cpfCnpj","editarCliente","EditOutlined","expandir","pef_rg","pej_inscricaoestadual","pem_email","TabEstatistica","dadosCliente","openModalDetalhePedido","setOpenModalDetalhePedido","pedidoId","setPedidoId","openModalDetalheOrcamento","setOpenModalDetalheOrcamento","openModalProdutoCondicional","setOpenModalProdutoCondicional","totalParcAtraso","setTotalParcAtraso","resumoFinanceiro","setResumoFinanceiro","dadosCondicionais","setDadosCondicionais","dadosCrediario","setDadosCrediario","dadosPedido","setDadosPedido","dadosPedidosAbertos","setDadosPedidosAbertos","limiteCredito","setLimiteCredito","dadosOrcamento","dadosCheque","setDadosCheque","valorPercentual","setValorPercentual","openCondicional","setOpenCondicional","openPedidos","setOpenPedidos","openOrcamento","setOpenOrcamento","dadosListaOrcamento","dadosCondicionaisAbertas","setDadosCondicionaisAbertas","dadosItensCondicional","setDadosItensCondicional","orcamentoId","setOrcamentoId","viewCondicional","viewPedidos","viewOrcamento","perc","vlr_ParcelasAbertas","vlr_LimiteCredito","toISOString","isObjetoDiffVazio","vlr_ParcelasEmAtraso","mediaDiasAtraso","total_Parcelas","total_Parcelas_Atraso","total_Parcelas_Adiantadas","vlr_TotalVendas","vlr_TotalVendasAVista","vlr_TotalVendasAPrazo","vlr_ParcelasAReceber","percentual_Vendas_Condicionais","qtde_Condicionais","vlr_Total_Condicionais","qtde_Condicionais_Abertos","percentual_Vendas_Pedidos","qtde_Pedidos","vlr_Total_Pedidos","qtde_Pedidos_Abertos","vnc_numero","vnc_datalancamento","vnc_prazoretorno","vnc_totalitens","abrirModalItens","vnc_valortotal","stp_descricao","stp_corstatus","ped_numero","ped_datainclusao","ped_dataprevisaoentrega","ped_totalitens","ped_id","pdi_valortotal","percentual_Vendas_Orcamentos","qtde_Orcamentos","vlr_Total_Orcamentos","qtde_Orcamentos_Abertos","qtde_Cheques","statusCheques","orc_numero","orc_datainclusao","orc_datavalidade","oit_qtdtotalitens","orc_id","oit_vlrtotalitens","exibirModalProdutoCondicional","fecharModalProdutoCondicional","dadosItens","exibirModalDetalhesPedido","fecharModalDetalhesPedido","exibirModalDetalhesOrcamento","fecharModalDetalhesOrcamento","TabUltimasCompras","dadosNotasFiscais","setDadosNotasFiscais","dadosItensNotas","setItensNotas","dadosGrupo","setDadosGrupo","listarNotasFiscais","sequencia","forEach","ordemNota","ntf_numero","ntf_docfiscal","mdf_id","ntf_dataemissao","ntf_totalnota","scroll","pro_descricao","nfi_valordesconto","nfi_valorfrete","nfi_valortotalitem","gru_nome","gru_valortotalgrupo","expandable","expandedRowRender","listaTotSubGrupo","pagination","showHeader","sgp_nome","sgp_valortotalsubgrupo","expandIcon","expanded","onExpand","openCliente","setOpenCliente","abaSelecionada","setAbaSelecionada","setDadosCliente","telefone","setTelefone","setEmail","endereco","setEndereco","setDataIncial","setDataFinal","clienteId","setClienteId","exibirOutrosClientes","carregarDatas","periodo","periodoData","setMonth","setDate","setItem","telefones","psc_principal","emails","pem_emailprincipal","enderecos","pee_enderecoprincipal","alterarCliente","cli","cli_datainclusao","cli_dataalteracao","formatarCpf","formatarCnpj","activeKey","tab","TabPane","ManutencaoFornecedor","pessoaJuridica","setPessoaJuridica","dadosEstrangeiro","setDadosEstrangeiro","regimeTributario","setRegimeTributario","setCpfCnpj","elementosFormulario","setElementosFormulario","listaCidades","setListaCidades","filtroCdd","setFiltroCdd","desabilitarCfpCnpj","setDesabilitarCpfCnpj","setMask","for_id","valores","pes_fisicajuridica","for_datainclusao","for_dataalteracao","pes_datainclusao","pes_dataalteracao","pef_dataalteracao","pef_rgdataexpedicao","id_rguf","est_id","for_regimetributariofiscal","listaFornecedor","lista","pef_rguf","campo","pef_codigocidadenascimento","element","getElementById","focus","carregarCidades","UfEstado","carregaDadosCamposAdicionais","camposPersonalizados","fornecedorcampopersonalizado","elemento","f","trataSetaDadosFormularioDinamico","fcp_valor","receitaWS","consultaCNPJ","retorno","situacao","dadosForm","efr","pes_orgaopublico","abertura","dia","substring","ano","fantasia","listaEnderecos","tipoEndereco","numero","pee_ativo","retornaSoNumeros","cep","pee_complemento","complemento","bairro","logradouro","municipio","enderecoCompleto","listaTelefones","tpt","listaEmails","pem_enviarboleto","pem_enviarcartacobranca","pem_enviarnfe","pem_enviarpromocao","pem_enviarvencparcela","pem_ativo","listarFornecedorCpfCnpj","replaceAll","for_ativo","validarCpfCnpjExistente","cpfcnpj","onCancel","validarCnpjExiste","validarCpfExiste","pej_emailpessoacontato","dadosform","pessoatelefones","pessoaemails","pessoasocupacoes","ocupacoes","pessoaoutrocontatos","pessoanacionalidades","listaNacionalidade","idEstrangeiro","isEstrangeiro","pes_estrangeiro","end","pej_inscuf","validarIE","for_valorfretegratis","for_codigobancoagencia","for_observacao","fornecedorcampopersonalizados","camposAdicionais","trataRetornoFormularioDinamico","forDados","fcp_id","salvarCamposAdicionais","event","valorCampo","currentTarget","validarCpf","validarCnpj","validarFisicoJuridico","suffix","QuestionCircleOutlined","options","maxLength","selecionarRegUnico","onClearFunction","est","est_descricao","filtroExtra","cid","cid_id","reg","parametrosFiltros","DrawerFornecedor","formFornecedor","fornecedorAtivo","modalExcluir","retornoPesquisaAvancada","for_codigo","editarFornecedor","DrawerTransportador","formTransportador","Transportadores","transportadorAtivo","trn_id","trn_ativo","ManutencaoFuncionario","estadoCivil","setEstadoCivil","supervisor","setSupervisor","funcionariocampopersonalizados","fun_id","fun_dataadmissao","fun_datademissao","listaFuncionario","String","validarCpfExistente","cpf","fun_ativo","listarFuncionarioCpf","nacionalidades","estadocivil","ecv","ecv_id","fun_supervisor","sup","fun_valorcustohora","fun_valorcustomes","dado","verificarCpfValido","evc","ecv_descricao","DrawerFuncionario","formFuncionario","funcionarioAtivo","funcionario","editarFuncionario","DrawerVendedor","formVendedor","pagina","setPagina","destroyOnClose","onCloseEdit","salvandoDados","vendedorAtivo","ven_id","ven_ativo","FormatarCPF","icm_id","modalInativarConta","icm_descricao","CloseCircleOutlined","inativar","icm_ativo","CopyOutlined","duplicar","modalDuplicarDados","pis_id","pis_ativo","pis_descricao","nat_descricao","cpc_saidacstpis","cpc_id","cpc_saidacstcofins","cpc_entradacstpispj","cpc_entradacstpispf","cpc_entradacstcofinspj","cpc_entradacstcofinspf","strong","pis_saidapercredbcpis","pis_saidapercpis","pis_entradapercredbcpispf","pis_entradapercpispf","pis_entradapercredbcpispj","pis_entradapercpispj","pis_saidapercredbccofins","pis_saidaperccofins","pis_entradapercredbccofinspf","pis_entradaperccofinspf","pis_entradapercredbccofinspj","pis_entradaperccofinspj","TabDadosOrigemDestino","formModal","openModal","setOpenModal","listaNcm","setListaNcm","dadosNcm","setDadosNcm","listTemp","mvaorigemdestinos","splice","removerRegistro","shape","PlusOutlined","mva_uforigem","mva_ufdestino","mva_percaliquotaicmsreducao","mva_percaliquotaicms","mva_percmva","mva_ajustado","mva_simplesnacional","obj","indice","editarRegistro","exibirModal","fecharModal","setDados","formularioDados","ManutencaoNcmSubtituicaoTributaria","ncm_codigo","codigoNcm","toString","ncm_ativo","listaMvaOrigemDestino","ncm_id","editarNcm","incluirNcm","codigo","verificaNCM","editItem","cip_entrada","cip","cip_id","cip_descricao","cip_saida","DrawerNcmSubtituicaoTributaria","formNCM","excluirNcm","ncm_descricao","duplicarNcm","ncm_percentual","ncm_extipi","DrawerMarca","cadMarca","openDrawer","setOpenDrawer","retornoSalvar","formMarca","mar_ativa","mar_nome","duplicarDados","DrawerGrupoProduto","openDrawerGrupo","setOpenDrawerGrupo","cadGrupo","formGrupoProduto","gru_ativo","DrawerSubGrupo","openDrawerSubGp","setOpenDrawerSubGp","cadSubGp","gruId","formSubGrupo","sgb_ativo","sgp_ativo","editar","TabProdutoTributacao","listaCest","setListaCest","getRegimeTributario","regimeTrib","listaCstOrigem","setListaCstOrigem","hiddenFci","setHiddenFci","showGas","setShowGas","listaAnp","setlistaAnp","listaTipoProdutosSped","setListaTipoProdutoSped","checkMarcadores","checkAnp","anp","anp_codigo","buscarCest","ncm","_lista","find","c","cen_id","orm_id","number","tpi_id","tp","anp_id","cbf_id","tpi_descricao","ori","orm_descricao","usaDados","setListaDados","noStyle","shouldUpdate","prevValues","currentValues","hiddenCest","cest","cet_id","cet_descricao","icms","pis","l","anp_descricao","cbf_codigo","cbf_descricao","precision","TabListaPreco","listaDePrecos","setListaDePrecos","listaPrecoExclusao","removeLista","ltp_id","newData","findIndex","listaExclusao","setListaPrecoExclusao","idx","ltp_principal","ltp_nome","editable","lpi_valorvenda","editarLista","modalConfirmaExclusao","listaPreco","setListaPreco","TabGrade","gerarEANProduto","formGrade","listaDeGrades","setListaDeGrades","listaModalidadesGrades","setModalidadesGrades","listaModalidadeItens","setListaModalidadeItens","criarGrade","setCriarGrade","openModalImgGrade","setOpenModalImgGrade","dadosImgGrade","setDadosImgGrade","detalhesModalImg","setDetalhesModalImg","itensGradeSelecionados","setItensGradeSelecionados","modalidadesAdicionadas","setModalidadesAdicionadas","previewImage","setPreviewImage","previewVisible","setPreviewVisible","inputPesquisa","React","createRef","togglePesquisa","atualizarFormGrade","listaGrades","prg_ean","pre_custoultimacompra","arredonda","prg_markup","prg_codigoetiqueta","current","reader","FileReader","readAsDataURL","onload","result","onerror","handlePreview","preview","originFileObj","calcularValorVendaPorMarkup","custo","markup","valorVenda","verificaEanExiste","ean","produto","existe","info","codEan","startsWith","pro_eaninvalido","validaEanGrade","modalExcluirGrade","grade","prg_id","atualizarGrade","modalInativarGrade","excluirGrade","codigoGrade","ativarInativarItemGrade","pro_id","pro_ativo","adicionaGradeProduto","listaTemp","modalidade","mgp_id","mgp_descricao","itensGrade","undefined","onKeyPress","keyCode","which","elementos","querySelectorAll","setAttribute","getAttribute","AppstoreOutlined","EyeOutlined","mod","filtrado","checked","ref","toLowerCase","selecionados","listaSel","adicionarItensSelecionados","pesquisaGrade","itemGrade","excluirModalidade","posicaoGradeProduto","listaGrade","modalidades","primeiraModalidade","shift","totalOcorrencias","pro_markup","pre_qtde","prg_ativa","modalidadesgrade","imagens","itemModalidade","totalItensGradeAnterior","totalOcorrenciasGrade","modalidadeDistribuicao","z","gerarGrade","CheckOutlined","detalhesModal","dadosImg","descricao","atributo","img","uid","conteudoImagem","principal","abrirModalImgGrade","FileImageOutlined","SyncOutlined","cifrao","markupCalculado","recalcularMarkupDoProduto","dadosGrade","imgTemp","thumbUrl","salvarDadosImgGrade","listType","newFileList","fileList","onPreview","DownloadOutlined","TabImagem","listaImagens","setListaImagens","isJpgOrPng","isLt2M","ManutencaoProdutos","validarAoIniciar","filtroGrupo","setFiltroGrupo","produtoCamposPersonalizados","setProdutoCamposPersonalizados","listaUnidadeMedida","setListaUnidadeMedida","possuiCusto","setPossuiCusto","openDrawerMarca","setOpenDrawerMarca","grupoSelect","setGrupoSelect","foundGroup","setFoundGroup","casaDecimaisUnd","setCasaDecimaisUnd","listaValidacoes","obrigatorio","unidade","ump_id","un","carregaCamposPersonalizados","checkCasaDecimalUnidadeMedida","emb_ump_id","und","ump_casasdecimais","carregarSubGrupos","CodigoGrupo","validarForm","msgRetorno","validacao","gradeValida","prc_percglp","prc_percglpnacional","prc_percglpimportado","pru_quantidade","salvarDadosCombustivel","dadosProd","dadosComb","prc_percgasnatural","prc_valorpartida","prc_qtdetemperatura","salvarProdutosUnidadeMedida","dadosUnidadeMedida","pru_id","pro_kitcomposicao","produtocampopersonalizados","pre_qtdeestoqueinicial","produtoGrade","popularGrade","ProdutoCombustivel","ProdutoUnidades","popularImagens","editarManutencao","incluirManutencao","retornoDrawer","prg_valorvenda","imagensGrade","imgs","imagem","base64img","imagemComprimida","popularImgGrade","modalidadeGrade","atrib","popularModalidades","listaImg","possuiPrincipal","maxSize","resizeImageToMB","pcp_valor","pro_ean","buscarEanExistente","carregarListas","found","proDados","pcp_id","parse","custoProduto","isNaN","IdProduto","eanAnterior","EAN","floor","random","calculaDigitoVerificadorEAN","salvarDados","validarEan","onBlurProEan","BarcodeOutlined","pro_produto","pro_servico","pro_materiaprima","funcaoIncluir","IdGrupo","um","ump_descricao","rule","showIcon","pro_escalanaorelevante","verificaCnpj","DrawerProduto","incluirMaisUm","formProduto","formPesquisaAdc","aplicarFiltros","filtrosTela","popularFiltrosTela","produtoAtivo","modalExcluirProduto","pro_codigo","modalInativarProduto","inativarProduto","precoMinimo","precoMaximo","limparFiltroPesquisa","onClickEditar","precoVendaMinimo","precoVendaMaximo","duplicarProduto","pro_observacao","pro_datainclusao","pro_fci","TabItensGrade","setItensGrade","atualizarDadosGrade","editandoRegistro","setEditandoRegistro","adicionarItem","itemAdd","emp_id","descricaoItem","mgp_imprimenaetiqueta","mgp_modalidade","headers","keyItem","salvarItemGrade","selecionarTodos","itemEditar","selecionarItemGrade","dadosItem","ManutencaoGradeProduto","atualizarPagina","validaForm","dadosEnviar","DrawerGradeProduto","formGradeProduto","TabItens","listaItensExcluir","setListaItensExcluir","listaEditarItens","setListaEditarItens","setEditandoItens","formItens","formImportItens","formTableItens","setFiltros","itemProduto","setItemProduto","importarProduto","setImportarProduto","editiItemId","setEditiItenId","visibleModalGrade","setVisibleModalGrade","grades","setGrades","setSubgrupos","listaPrecoSelectd","setListaPrecoSelectd","list","setItens","searchInput","useRef","productName","setProductName","codigoEan","dadosRequisicao","pro_usagrade","itenSelected","array","lpi_naocalculacomissao","onChangeProdutoFiltro","chamada","lpi_perccomissao","handleSearch","selectedKeys","clearFilters","listaFiltros","prev","onDeleteItem","listaExcluir","deleteItem","saveRow","validateFields","lpi_id","listaEditarItensTemp","onCloseModal","cancelEdition","isEditing","mergedColumns","filterDropdown","setSelectedKeys","onPressEnter","filterIcon","filtered","onFilter","includes","onFilterDropdownVisibleChange","text","descricaoGrade","editRow","col","onCell","inputType","editing","onPressEnterProCodigo","pro","_filtro","_filtros","components","body","cell","restProps","inputNode","decimalSeparator","thousandSeparator","onValuesChange","marId","grupoId","subgrupId","listPrecoDestino","innerHTML","onChangeListaPreco","lp","mar","onChangeGrupo","gp","sgp","filtroMarca","filtroSubGp","codigoLista","importItensForPriceList","setList","onSave","TabCliente","clientes","setClientes","deleteCliente","columnWidth","TabVendedor","dadosVendedor","deleteVendedor","ManutencaoPreco","setExibeButtons","setSomenteCabecalho","exibeItens","setExibeItens","dadosSalvos","setDadosSalvos","editandoItens","listaEmpresa","ltp_somenteestelocal","ltp_ativa","ltp_consideradescontopgto","listaItemsExcluir","listaprecoitens","listaprecoclientes","listaprecovendedores","ltp_datainicial","ltp_datafinal","compararDatas","CheckCircleOutlined","incluirLista","DrawerPreco","formPreco","exibeButtons","AtualizarPreco","listaItens","setListaItens","quantidadeEncontrados","setQuantidadeImportar","buscarQuantidadeProdutos","showDrawerExtra","tipoAtualizacaoPreco","reajustarValor","valuesEnviar","spg_id","codigoGrupo","popularDadosSubGrupo","subGrupo","RedoOutlined","expandIconColumnIndex","DrawerAtualizarPreco","formAtualizar","loadingEdit","setLoadingEdit","itemEdit","setItemEdit","loadDada","ltp_todaempresa","getList","openAtualizarPrecos","_d","ImprimirEtiqueta","dadosAdicionais","setDadosAdicionais","dadosEmpresa","setDadosEmpresa","multiplosReg","setMultiplosReg","listaSubGrupo","setListaSubGrupo","dadosProduto","setDadosProduto","filtroProd","setFiltroProd","atualizarListaProd","setAtualizarListaProd","consultaProduto","setConsultaProduto","recordEditando","setRecordEditando","possuiGrade","setPossuiGrade","abrirModalGrade","setAbrirModalGrade","codBarras","squemaEtiquetaProduto","tipo","listaValidacao","modalExcluirItem","removerItem","popularDadosProdutonew","isNotNullOrEmpty","prod","listaPrecosProduto","listaPadraoProduto","lstPreco","qtd","listaPrecoProduto","quantidade","observacao","limparCampos","preco","prepararDadosEditar","idModelo","modelo","dadosRel","quantidadeColuna","qtdTot","campos","dadosCampos","listaDadosImpressora","dadosImpressora","squema","numeroColuna","dadosAux","valorParcelado","quantidadeParcela","qtdParcelas","numeroParcelas","possuiEntrada","emp_nomefantasia","descricaograde","pro_codigoetiqueta","pro_referencia","retornaEtiquetaEmBranco","retornaObjeto","schema","fields","jsreports","export","report_def","jsonRelatorio","datasets","outputHandler","montarEtiqueta","listaObj","objRetorno","attrname","codigoBarras","aoFecharModalGrade","adicionarItensGrade","valueKey","detalhes","filtroPesq","atualizaComponente","buscarProdutoCodBarra","TableOutlined","listaPre","rec","editarItem","danger","acrescimoDesconto","DrawerImprimirEtiqueta","formImprimirEtiqueta","DrawerServidorImpressao","servidor","fecharDrawerExtra","servidorOn","setServidorOn","ServidorImpressoraOnline","online","carregarConfiguracoes","conf","impressoraEtiqueta","modeloEtiqueta","verificarServidor","setListaProdutos","openProduto","setOpenProduto","dadosUltimaVenda","setDadosUltimaVenda","dadosUltimaCompra","setDadosUltimaCompra","dadosUltimosCustos","setDadosUltimosCustos","listaNotasVenda","setListaNotasVenda","listaNotasCompra","setListaNotasCompra","listaOrdemCompra","setListaOrdemCompra","listaPedidos","setListaPedidos","listaMovimentacoes","setListaMovimentacoes","dadosEstoque","setDadosEstoque","listarDados","toDate","retornaDataInicial","movimento","codigoMovimento","montarFiltro","listar","cod","pre_qtdePedido","pre_qtdeCondicional","nfi_qtde","totalItem","pre_valorcustomedio","pre_custocomicms","pre_custosemicms","pre_valorcustoinformado","numeroNota","pessoaNome","dataEmissao","valorTotal","codigoCondicional","nomeCliente","dataCondicional","codigoOrdemCompra","nomeFornecedor","dataOrdemCompra","numeroPedido","dataPedido","dataPosicao","vlrTotalItem","tipoRegistro","ope_descricao","vlrUnitario","vlrCustoUltimaCompra","ManutencaoRelatorioEtiqueta","exibeModelo","json","definirDadosPadrao","data_sources","atributosSquema","designer","Designer","outPutReport","getElementsByClassName","delay","on","reportdef","reportDef","data_source","showToolbar","abrirMontarRelatorio","DrawerRelatorioEtiqueta","formularioEtiquetas","TabModeloFixo","TabModeloPersonalizado","openModalEmpresaFilial","setOpenModalEmpresaFilial","relatorio","setRelatorio","rels","setRels","modalRemoverModelo","menuEmpresa","exibirModalEmpresaFilial","fecharModalEmpresaFilial","listaProdutosEtiquetas","codigoEmpresa","empresa","codigoProduto","codigoEtiqueta","codigoReferencia","listaEtiqueta","dadosEtiquetaColuna","TabAgenciaBancaria","TabEndereco","match","ctc_cidadeagencia","ctc_ufagencia","TabGerente","ManutencaoContaCorrente","listaTipoContaCorrente","setListaTipoContaCorrente","listaUsuarios","setListaUsuarios","contaBancaria","setContaBancaria","listaUsuariosPermitidos","setListaUsuariosPermitidos","listaContaGerencial","setListaContaGerencial","listaContaGerencialAgrupador","setListaContaGerencialAgrupador","podeSelecionar","ctc_id","limitarSaldoUsuarios","ban_id","tcc_id","idRetorno","contacorrenteusuarios","ctc_saldoinicial","ctc_operacao","ctc_operacaoconta","contacorrentelocal","ctc_unidadeatendimento","ctc_fonegerente","tcc_descricao","ban","ban_descricao","OptGroup","ctg_descricao","conta","ctg_id","usuario","usu_id","user","adicionarUsuario","DrawerContaCorrente","formContaCorrente","formPesquisa","statusAtivo","ctc_descricao","abrirLancamentoEntradaSaida","showDrawerManutencaoCaixa","abrirLancamentoCaixa","FileSearchOutlined","ArrowRightOutlined","RetweetOutlined","showDrawerTransferencia","abrirLancamentoTransferencia","ctc_ativo","ctc_numeroagencia","ctc_numeroconta","ctc_datasaldoinicial","saldo","TabConfigConta","formContaGerencial","listaConfigContaGerencial","setListaConfigContaGerencial","openModalContaGerencial","setOpenModalContaGerencial","cgc_descricaoTipo","cgc_descricaocontadestino","exibirModalContaGerencial","fecharModalContaGerencial","ManutencaoContaGerencial","listarCategoriaCG","setListarCategoriaCG","listarContaDRE","setListarContaDRE","dre_id","dre_descricao","DrawerContaGerencial","filtrarConta","pesquisa","ctg_ativo","contasGerenciais","Search","onSearch","isActive","header","ManutencaoOperacaoFiscal","listaCfop","setListaCfop","listaDestinoOperacao","setListaDestinoOperacao","listaCategoriaOperacao","setListaCategoriaOperacao","cfo_cfop","cfo_descricao","opc_destinooperacao","opc_categoria","opc_ativo","CheckableTag","selecionarOpcao","adicionarCfop","openDrawerContaGerencial","setOpenDrawerContaGerencial","setCodigoContaGerencial","hiddenFlagsCompra","setHiddenFlagsCompra","listaIndicadorPresenca","setListaIndicadorPresenca","listaNaturezaOperacao","setListaNaturezaOperacao","listaTipoPreco","setListaTipoPreco","listaTributacaoPisCofins","setListaTributacaoPisCofins","setListaTributacaoIcms","codigoContaGerencial","carregarContasGerenciais","cfop","tip_id","operacaocfops","ope_calculacomissao","ope_alteracontagerencial","ope_id","tip_descricao","dropdownRender","menu","autoSize","minRows","maxRows","DrawerOperacaoFiscal","formOperacaoFiscal","paginacao","ope_ativo","ManutencaoOperacaoDebitoCredito","listaTipoImposto","setlistaTipoImposto","odc_id","taj_id","odc_cfop","taj_codigoajuste","taj_descricao","DrawerOperacaoDebitoCredito","formOperacaoDebitoCredito","odc_descricao","TabCondicaoPagamento","listaCondPag","selectedRowKeys","setSelectedRowKeys","condicaoPagamento","setCondicaoPagamento","cond","configSelecionarItem","selectedRows","setListaCondPag","listIndex","condPgto","condPag","cpg_id","rowSelection","cpg_descricao","TabBoleto","dadosBoleto","listaJuroMora","setListaJuroMora","setListaRegistro","listaFormaEmissao","setListaFormaEmissao","listaTipoAceite","setListaTipoAceite","listaCodigoProtesto","setListaCodigoProtesto","listaDistribuicao","setListaDistribuicao","listaCodigoMulta","setListaCodigoMulta","listaCodigoBaixa","setListaCodigoBaixa","listaConvenio","setListaConvenio","listaCarteira","setListaCarteira","listaPadraoArq","setListaPadraoArq","contemProtesto","setContemProtesto","ehBaixa","setEhBaixa","modeloImpressao","setModeloImpressao","_banco","jurosMora","BoletoRegistro","boletoFormaEmissao","boletoTipoAceite","boletoDistribuicao","boletoCodigoMulta","boletoCodigoProtesto","boletoCodigoBaixa","boletoConvenio","boletoCarteira","padraoArquivoRemessa","modeloImpresaoBoleto","popularDadosCarteira","crt_id","carteira","setDadosBoleto","dbl_tipojuromora","juroMora","dbl_formatonossonumero","cvn_id","dbl_formaemissao","formaEmissao","dbl_aceite","tipoAceite","dbl_distribuicao","distribuicao","dbl_codigoprotesto","codigoProtesto","dbl_codigomulta","codigoMulta","dbl_codigobaixa","codigoBaixa","dbl_padraoarquivoremessa","padraoArq","popularDadosBoleto","crt_descricao","crt_carteira","popularJurosMora","popularFormatoNossoNum","convenio","cvn_descricao","popularFormaEmissao","popularIdentificacaoTitulo","popularFormaDistribuicao","popularProtestoTitulo","popularMultaTitulo","popularBaixaDevTitulo","popularPadraoArquivoRemessa","ManutencaoFormaPagamento","tipoPagamento","setTipoPagamento","tipoIntegracao","setTipoIntegracao","funcaoTef","setFuncaoTef","tpFuncao","setTpIntegracao","showItegracao","setShowItegracao","isBoleto","setIsBoleto","isCarne","setIsCarne","isValePresente","setIsValePresente","mostrarCondicao","setMostarCondicao","fpg_id","resetarConstantes","fpg_emiteboleto","fpg_tipopagamento","fpg_tipointegracao","calcPercent","fpg_descricao","fpg_ativo","fpg_imprimecarne","fpg_padraosistema","fpg_codigofuncaotef","fpg_descontopadrao","formacondicaopagamentos","definicaoboleto","dbl_id","dbl_boletosfaltantes","dbl_percjuromora","dbl_diasaplicarmulta","dbl_modeloimpressao","dbl_diasbaixa","dbl_diasparaprotestar","dbl_valorminimoprotesto","dbl_valormulta","dbl_nomearquivoremessa","dbl_extensaoarquivoremessa","dbl_nossonumeroinicial","dbl_nossonumerofinal","dbl_numeroconvenio","dbl_numerocontrato","dbl_msglocalpagamento","dbl_mensagem1","dbl_mensagem2","dbl_mensagem3","dbl_mensagemmora","tpPagamento","alterarTpPagamento","forma","cta","tpIntegracao","alterarTpIntegracao","DrawerFormaPagamento","formFormaPagamento","roundValue","num","places","arr","sig","round","modalExcluirCondicao","fpg_principal","TabFormaPagamento","formasPagamento","listaFormaPagamento","setListaFormaPagamento","sort","a","b","charAt","listaFormasPagamento","listaForma","linhas","setListaFormasPagamento","TabParcelas","listaParcelas","alterarParcela","parcelas","posicao","pcl_numerodias","valorInteiro","percValorInt","pcl_percparcela","sobra","setParcelas","parcela","pcl_numeroparcela","dias","nDiasParcelas","somaPercentual","resto","nUltimaParcela","percParcela","dadosParcelamento","criarParcelas","ManutencaoCondicaoPagamento","exibeParcelas","setExibeParcelas","listaDadosForma","setListaDadoForma","cpg_descontopadrao","cpg_percentualjuros","mostraParcela","defineParcelas","carregarDadosCondicao","salvarManutencao","validarCondicaoCrediario","cpg_ativo","parcelamentos","formaPgto","DrawerCentroDistribuicao","formCondicaoPagamento","ManutencaoSerieFiscal","listaModelo","setListaModelo","bloquearCampos","setBloquearCampos","ser_id","editarSerie","incluirSerie","maxlength","buttonStyle","optionType","Button","mdf_descricao","DrawerSerieFiscal","formSerieFiscal","ser_serie","ser_ativo","modelodocfiscal","ser_numero","ManutencaoHistorico","his_id","DrawerHistorico","formHistorico","his_ativo","his_descricao","DrawerNotaFiscal","drawerExtra","formNotaFiscal","tagPages","setTagPages","proximaPag","setProximaPag","salvarRascunho","setSalvarRascunho","setShowDrawerExtra","FileDoneOutlined","LeftOutlined","RightOutlined","pages","listaNotaDevolucao","adicionarNotas","dadosNfe","openModalEditarItemDevolucao","setOpenModalEditarItemDevolucao","openModalEditarCFOP","setOpenModalEditarCFOP","setItemEditar","listaCFOP","setListaCFOP","qtdeOriginal","nota","ntf_id","nfi_id","qtdeRestante","nfi_valorseguro","valorSeguroRateio","valorFreteRateio","nfi_valoroutros","valorOutrosRateio","valorDescontoRateio","bcIcms","nig_valorbc","valorIcms","nig_valoricms","bcIcmsSt","nig_valorbcst","valorIcmsSt","nig_valoricmsst","bcIpi","npi_valorbcipi","valorIpi","npi_valoripi","setListaNotaDevolucao","dadosNfeDevolucao","ntf_tipooperacao","ntf_ufdest","setAdicionarNotas","ntf_chavenfe","totalNfe","removeNotaFiscal","pesquisarItem","excluirMarcados","nfi_ean","selecionarItem","nfi_cfop","nig_origemmercadoria","nig_cst","nis_origemmercadoria","nis_csosn","nfi_unidademedida","nfi_valorunitario","excluirItem","defaultExpandAllRows","aoSelecionar","selecionarCFOP","exibirModalEditarItemDevolucao","salvarItemNota","cancelar","TabResumo","resumoNota","resumo","valorProduto","valorFrete","valorOutros","valorSeguro","valorBaseICMS","valorICMS","valorBaseST","valorICMSST","valorBaseIPI","valorIPI","valorDesconto","valorTotalNotaFiscal","validarNumeros","setResumoNota","TabNotasFiscais","retornaDescricaoStatus","ntf_status","ntf_finalidadeNfe","listaStatusNota","setListaStatusNota","ambiente","setAmbiente","serieFiscal","setSerieFiscal","setGerarNfSt","openModalAntecipacao","setOpenModalAntecipacao","openDevolucaoSubstituicaoTributaria","setOpenDevolucaoSubstituicaoTributaria","listaNotasReferenciadas","setListaNotasReferenciadas","listaFinalidadeNota","setListaFinalidadeNota","listaVeiculos","setListaVeiculos","setTipoFormaPagamento","dadosTransp","setDadosTransp","setListaPais","setListaTipoEndereco","possuiCliente","setPossuiCliente","tipoOperacao","setTipoOperacao","filtroAdd","setFiltroAdd","valorIcmsDev","valorBaseIcmsDev","valorIcmsStDev","valorBaseIcmsStDev","dadosNotaDevSt","setDadosNotaDevSt","statusNota","carregaDadosNota","dadosNota","notasReferenciadas","salvar","dadosNotaDev","dadosNotaReferenciada","ntf_nomedest","ntf_finalidade","valortotalfrete","valortotaldesconto","valortotalnota","itensNf","remover","nig_percreducaobc","nig_percicms","nig_percreducaobcst","nig_percmvast","npi_percaliquotaipi","dadosDestinatario","dadosContribuinte","listarNotasReferenciadas","count","n","notasSelecionadas","entries","notaDevolucaoFinal","gerarAntecipacao","antecipacaoEstorno","pdv_id","ntf_modalidadefrete","valorAcrescimo","notaFiscalTransportadora","preencherDadosTransportadores","ntf_consumidorfinal","notaFiscalDestinatario","tratarDadosDestinatario","documentosReferenciados","notaFiscalFaturamento","notafiscalitens","numeroItem","notaDevolucao","numeroNotaDevolver","popularItemsValoresTotais","dadosGerais","itensPreenchidos","totalDesconto","totalFrete","totalSeguro","retornoNF","novaAbaNavegador","dadosFormulario","ntf_cnpjcpfdest","ntf_iedest","ntf_idestrangeirodest","ntf_logradourodest","ntf_numeroenderecodest","ntf_bairrodest","ntf_cepdest","ntf_telefonedest","ntf_emaildest","operacaocredito","retornoNFAjusteAdjudicacao","operacaodebito","retornoNFAjusteRessarcimento","itemReferenciado","nfi_id_origem","novoItem","nfi_numeroitem","nfi_numeropedidocompra","nfi_itempedidocompra","nfi_informacaoadicional","cso_id","ocp_id","cst_id","nfi_ncm","nfectereferenciadaitens","trv_id","trv_marca","trv_modelo","trv_placa","trv_rntc","trv_uf","trv_observacao","nvl_especievolume","nvl_marcavolume","nvl_numeracaovolume","nvl_pesobruto","nvl_pesoliquido","nvl_qtdevolumes","paginaAtual","validacoes","validarTrocaPg","retornoAmbiente","ntf_datainclusao","ntf_dhsaient","ntf_municipiodest","ntf_codigoibgemundest","ntf_paisdest","cli_regimetributariofiscal","setDadosNfeDevolucao","popularListaNotaDevolucao","verificaCep","estado","adicionarNotasSelecionadas","selecionarNota","serie","op","tpt_id","em","tel","pse_id","pej_inscricaomunicipal","listarClienteCpfCnpj","tipoEnd","pse_nome","tpe_id","tpe_descricao","Step","veiculos","salvarNotaAjuste","salvarNotaDevolucao","DrawerDevolucao","formDevolucao","showDrawerDevolucao","NotaFiscalDebitoCredito","setOperacao","listaPessoas","setListaPessoas","exibeDestinatario","setExibeDestinatario","setDadosContribuinte","verificarOperacao","odc","verificarPessoaContribuinte","pes","baseCalculo","valorDebitoCredito","emitirNfe","pc","DrawerDebitoCredito","formDebitoCredito","ModalDetalheNotaFiscal","dadosModal","maskClosable","FornecedorNFE","dadosEndereco","setDadosFornecedor","setOpenDrawerFornecedor","listaEndereco","setListaEndereco","listaEmail","setListaEmail","dadosTelefone","setDadosTelefone","abreModalTelefone","setAbreModalTelefone","pessoaFisica","setPessoaFisica","formularioTelefone","pef_produtorrural","pie_inscricaoestadual","enderecoP","pee_id","telefoneP","psc_id","emailP","pem_id","setarCpfCnpj","buscarDadosEndereco","buscarCep","fetch","localidade","pes_idestrangeiro","ntf_cpfcnpj","ntf_endereco","buscarDadosFornecedor","mask","dadosSelect","funcaoBotao","campoDescricao","campoValue","campokey","placeHolder","labelFormItem","nameFormItem","mail","pse","exibirModalTelefone","fecharModalTelefone","FaturamentoNFE","dadosOperacao","valorNota","setValorNota","faturamento","controlModal","setControlModal","calcularDesconto","percentualDesconto","tot","pfp_valor","recalcularTotal","calcularAcrescimo","percentualAcrescimo","valorPago","dadosFat","vendedorDescMaxFinal","totalValorDescontoItens","subTotalNotaFiscal","subTotal","total","valorOutrasDespesas","calcularFaturamento","ResumoNFE","itensNota","ItensNFE","carregarPagina","quantidadeItens","setQuantidadeItens","setValorTotal","dadosEditando","setDadosEditando","dadosTabela","btnEditando","itemEditando","percdesc","percacresc","dadosRet","setDadosItens","removerItemNota","TransportadorNFE","mostrarTransportador","setMostrarTransportador","possuiTransportador","setPossuiTransportador","listaTransportadores","setListaTransportadores","dadosVeiculos","setDadosVeiculos","buscarDadosTransp","popularDadosVeiculo","veiculo","NFEntrada","setCarregarPagina","listaSerie","setListaSerie","setDadosEndereco","operacaoFiscal","setOperacaoFiscal","dadosFornecedor","listaValidacoesForn","pagamentosCodigos","validarFornecedor","validarFaturamento","formaPagamento","fpg_tipoavistaaprazo","popularDados","gerarBoleto","formasPgto","SalvarNota","popularDadosItens","preencherDadosFaturamento","preencherDadosDestinatario","tipooperacao","preencherDadosSerieFiscal","freteUn","seguroUn","qtdTotalItens","dadosForma","recebimentoCartao","aux","dadosModalCheque","contaCorrente","cheques","nfp_valor","bce_id","rcc_nsu","antecipacoes","enderecoDest","telefoneDest","pt","telefoneDestinatario","emailDest","pem","ntf_emaildestinatario","ntf_complementodest","dadosTransportador","veiculoTransp","formas","dadosFormaPgto","fpg_quitacaoantecipacao","pdi_valorfrete","calcularFrete","spinning","tip","ser","idOperacao","ntf_indicadorpresenca","ope_indicadorpresenca","carregandoPagina","DrawerEntrada","formEntrada","setShowNFEntrada","showNFEntrada","formParam","openModalCartaCorrecao","setOpenModalCartaCorrecao","openModalExcluir","setOpenModalExcluir","openModalDevolucao","setOpenModalDevolucao","openModalEnvioNFeEmail","setOpenModalEnvioNFeEmail","openModalAjudaRejeicaoNfe","setOpenModalAjudaRejeicaoNfe","openModalCancelarEstornar","setOpenModalCancelarEstornar","openModalImprimirEtiquetas","setOpenModalImprimirEtiquetas","listaTipoNota","setListaTipoNota","setDadosNota","openModalEstorno","setOpenModalEstorno","openModalDetalhes","setOpenModalDetalhes","dadosDetalhesNota","setDadosDetalhesNota","dadosNfeEtiqueta","setDadosNfeEtiqueta","exibirModalInutilizar","setExibirModalInutilizar","openModalReenviarSefaz","setModalReenviarSefaz","abrirCancelarNota","terminouPrazoCancelamento","horas","recarregarLista","modalExcluirNotaCompra","excluirNotaCompra","ntf_nroinutilizadosefaz","ntf_tiponota","editarNota","autorizarNota","ser_emitentedocumento","abrirExcluirNota","FileTextOutlined","abrirCartaCorrecao","UndoOutlined","dadosNotaFiscalDevolucao","abrirDrawerDevolucao","abrirEnvioEmail","TagOutlined","abrirImprimirEtiqueta","nomeVendedor","totalItemSemDesconto","perc_desconto","valor_item_desconto","menuTableOutros","chaveNFe","linkOculto","encodeURIComponent","appendChild","remove","ntf_modelo","visualizarNota","imprimirRelatorioJasper","idNotaFiscal","filtrosAvancados","sql","finalidade","tipoNota","modeloNota","filtroPor","visualizarDanfe","notaFiscal","imprimirRelatorioNaoFiscal","DollarOutlined","StopOutlined","tpNota","pv","fp","condPagamento","ntf_serie","ntf_cstat","ntf_xmotivo","chave","exibirModalImprimirEtiquetas","fecharModalImprimirEtiquetas","exibirModalAjudaRejeicaoNfe","fecharModalAjudaRejeicaoNfe","dadosNotaDevolucao","exibirModalDevolucao","fecharModalDevolucao","openDrawerDevolucao","exibirModalEnvioNFeEmail","fecharModalEnvioNFeEmail","titleModal","textoBotao","exibirModalCancelarEstornar","fecharModalCancelarEstornar","exibirModalReenviarSefaz","fecharModalReenviarSefaz","criarBanco","nomeTabela","request","indexedDB","onupgradeneeded","objectStore","createObjectStore","keyPath","autoIncrement","createIndex","unique","unico","onsuccess","close","excluirBancoDados","callback","deleteDatabase","incluirBanco","db","transaction","add","oncomplete","buscarDadosTabela","tabela","getRequest","getAll","ModalSelecionarGrade","gradesSelecionadas","setGradesSelecionadas","functionRowSelection","keys","formatNumber","TabNotaFiscal","dadosRemetente","ntf_dataentrada","oc","objeto","setListaProduto","listaProdutosSistema","setListaProdutosSistema","exibirDesmembrar","setExibirDesmembrar","produtos","setProdutos","keyProdutoCadastrado","setKeyProdutoCadastrado","atualizarProduto","setAtualizarProduto","aguardandoPopular","setAguardandoPopular","exibirModalSelecGrade","setExibirModalSelecGrade","dadosModalGrade","setDadosModalGrade","nfi_custoinformado","qtdeItem","seqPai","vincularProdutoNota","DiffOutlined","dadosProdSis","exibir","xQuantidade","xValorTotalProduto","exibirDesmembrarItem","dadosProdutoXml","xEan","cProd","xProd","xOrigem","orm","xUnidadeMedida","ump","xValorUnitarioProduto","pro_modelo","pro_usabalanca","tpi","csv_id","nfs_valorissqn","abrirCadastroProduto","buscarGradeProdutoUnico","keyLista","buscarGradeProduto","incluirProdutoItem","qtde","cprod","itemXml","valorItens","qtdItens","qtdTotal","validarValorTot","produtoSis","ativarDisabled","qtdeAnterior","okType","fpr_id","excluirItemSistemaXml","buscarSobra","listaProd","itensXml","itensSistema","valorRetorno","adicionarProdutoUnico","unMedida","produtogrades","seq","produtoXml","fpr_codigo","fpr_descricao","seqAuxiliar","auxExibirCamp","listaItemSis","dadosItensSistema","itemSis","produtosSistema","linhasSeleq","limparItensSistemas","exibindo","ultimorProd","onRow","rowIndex","onMouseLeave","stopPropagation","onMouseEnter","registroItem","valorUni","adicionarControleQtd","unidadeMedida","salvarUnidadeMedida","validarValorItem","adicionarGradeProdutoUnico","calcularCustoRest","popularQuantidade","popularCustoInformado","p","alterarQtde","produtoSelecionado","itensProduto","valorItemSelecionado","it","modalEditar","onCloseModalGrade","TabTransporte","dadosTransporte","TabFaturamento","dadosFaturamento","faturamentoDados","openModalEditarNotaFiscalEntrada","setOpenModalEditarNotaFiscalEntrada","objFaturamento","setObjFaturamento","abreModalContaCorrente","setAbreModalContaCorrente","listaContaCorrente","setListaContaCorrente","semCondicaoPagamento","setSemCondicaoPagamento","listaCondicoesPagamento","setListaCondicoesPagamento","setContaCorrente","editandoParcela","setEditandoParcela","parcelasGeradas","setParcelasGeradas","renderizar","setRenderizar","buscarCondicaoPagamento","idFormaPgto","DeveAbrirModalContaCorrente","verificarParcelas","montarParcelas","qtdeParcelas","valorParcela","parc","prc_numeroparcela","prc_datavencimento","prc_numeroDuplicata","prc_valor","alteraForm","valorFormasPagamento","pagamento","dadosFormaPagamento","setFaturamentoDados","objetoConsolidado","reduce","acumulador","tipopagamento","formaPag","nomeFormaPagamento","tipoavistaaprazo","numeroFatura","vDesconto","adicionarFormaDePagamento","shouldCellUpdate","dataVencimento","ajustarDatasParcelas","valorParcelas","valorJaUtilizado","valorRestanteTot","qtdeTotParcelas","valorSobra","onChangevalorParcela","DeleteOutlineOutlined","excluirFormaPagaento","exibirModalContaCorrente","fecharModalContaCorrenteOk","ultimaForma","valorFechou","onCloseModalContaCorrente","fecharModalContaCorrente","exibirModalEditarNotaFiscalEntrada","fecharModalEditarNotaFiscalEntrada","fechar","setDadosFaturamento","setDadosRemetente","setDadosTransporte","setCorrelacaoCFOP","setIndicadorPagamento","desabilitaBotao","setDesabilitaBotao","setKeys","validarItens","valido","nItem","notaEntrada","itensOrd","subvetor","fat","validarDados","findXml","xml","vOutrasDespesas","vValorFrete","vValorSeguro","vValorTotalNfe","vValorTotalProdutos","vBaseCalculoIcms","vValorIcms","vValorIpi","vBaseCalculoIcmsSt","vValorIcmsSt","vValorCofins","vValorPis","valorFreteForaNota","freteForaNota","valorICMSSTForaNota","icmsstForaNota","valorOutrasDespesasForaNota","outrasDespesasForaNota","dadosRem","cnpjCpf","bai_bairro","popularDadosRemetente","dadosParcelas","prc_numeroduplicata","popularParcelas","popularDadosFaturamento","popularDadosTransportador","incluirDadosNota","validarAba","formNotaEntrada","openNota","setOpenNota","dadosCamposItens","keyItens","keyFat","keyRem","keyTransp","criarBancoWeb","vetorSeparado","removerNota","nomeBanco","carregarNota","cnpj","setCnpj","tipoNfe","setTipoNfe","situacaoNfe","setSituacaoNfe","FileProtectOutlined","tipoNf","nfd_tipodocumento","tipoManifesto","nfd_manifestodestinatario","importarNotaFiscalEletronica","nfd_chavenfe","cStat","retEvento","infEvento","xMotivo","limparFiltros","dataMaxEmissao","nsuEspecifico","situacaoNf","lcn_ambienteemissao","nsuUltimo","lcn_monitoramentonsuproducao","loc_cnpj","listarNotas","verificarNotas","chaveAcesso","chaveNfe","ReloadOutlined","nfd_numeronf","nfd_situacaonfe","nfd_nomeemissor","nfd_cpfcnpjemissor","nfd_datahoraemissao","nfd_valortotal","nfd_serienf","nfd_modelodocumento","TabNotaFiscalEmitida","openModalCancelar","setOpenModalCancelar","inutilizarNota","TabNotaFiscalRecebida","openModalConfirmacao","setOpenModalConfirmacao","rel_nomearquivo","rel_nome","fileContents","statusTransferencia","abrirModalConfirmacao","TabItemTransferencia","dadosNfeTransferencia","setQuantidade","dadosTemp","TabResumoTransferencia","valorBaseICMSST","dadosItensTemp","freteRateado","seguroRateado","ManutencaoNotaFiscalTransferencia","limparDados","abrirDrawer","tipoPreco","setTipoPreco","filiaisEmpresa","setFiliaisEmpresa","setParametrosEmpresa","setDadosNfeTransferencia","listaValidacoesDest","listaValidacoesTransp","retornoSerie","retornoTipoPreco","retornoFiliais","retornoParametrosEmp","par_69","par_custopadraonftransferencia","retornoDadosContribuinte","listaItemNotaFiscal","buscarEnderecoLocal","lcd_id","filial","proxPagina","setLimparDados","transporte","alterarCusto","DrawerNotaFiscalTransferencia","formNotaFiscalTransferencia","statusNfe","setStatusNfe","aba","situacaoNotaTransferencia","abrirModal","setAbrirModal","filtrarLista","textoCorrecao","IdNotaFiscal","incluirNovo","correcoes","correcao","evt_sequencia","evt_texto","evt_dataEnvio","evt_protocolo","evt_dataprocessamento","PrinterFilled","evt_chavenfe","imprimirCartaoCorrecao","listaNfRejeitada","setListaNfRejeitada","listaNfEmDititacaMais30Dias","setListaNfEmDititacaMais30Dias","listaNfEmDititacaMenos30Dias","setListaNfEmDititacaMenos30Dias","qtdeNumerosInutilizar","setQtdeNumerosInutilizar","qtdeInutilizados","setQtdeInutilizados","retornoInutilizacao","setRetornoInutilizacao","etapas","etapaAtual","setEtapaAtual","data30Dias","dadosMais30","dadosMenos30","justificativaInutilizacao","listaInutilizacao","unshift","numeroInicial","numeroFinal","justificativa","quantidadeInutilizados","expandIconPosition","infInut","nNFIni","nProt","dhRecbto","FiltroProdutoOrc","desabilitarProd_id","setDesabilitarProd_id","exibirDetalhes","setExibirDetalhes","dadosDetalhes","setDadosDetalhes","listaProdutos","refProd","alterarValorTotal","ocp_quantidade","ocp_valorun","valorTotalItem","popularLista","listaDados","setItensOrdemCompra","validarItem","itensOrdemCompra","retornaSequencial","adicionarItemOrdemCompra","ocp_valortotal","onChangeProID","editandoItem","ManutencaoOrdemCompra","transportador","openModalGradeOrdemCompra","setOpenModalGradeOrdemCompra","regPagina","setRegPagina","ordemcompraitens","orc_valorfrete","orc_status","orc_dataconclusao","orc_prazomaximo","orc_valortotal","forn","trn","pageSize","showSizeChanger","pg","onShowSizeChange","atual","porPagina","atualizarValorTotalOC","exibirModalGradeOrdemCompra","fecharModalGradeOrdemCompra","DrawerOrdemCompra","alteraData","formOrdemCompra","valorTotalDesconto","orc_valorseguro","totalizador","setTotalizador","itensSemQuantidade","vlrTotalRecebendo","vlrTotalDesconto","somaRateio","QtdeTotalRecebendo","frete","totalSemDesc","qtdrecebendo","maximoItens","ocp_quantidaderecebida","ocp_qtdrecebendo","ocp_frete","ocp_desconto","desconto","totalItemRecebendo","ratearDescontoFrete","qtdeTotalRecebendo","switchReceber","r","alteraQuantidadeItemRecebido","ManutencaoRecebimentoOrdemCompra","permiteValidar","setPermiteValidar","setFormasPagamento","buscarItensOrdemCompra","listaDadosContribuinte","ocp_quantidaderecebidaanteriormente","bloquear","orc_valordesconto","orc_valoracrescimo","recebimento","antecipacao","valorAntecipacao","Itens","verifica","DrawerRecebimento","formRecebimentoOrdemCompra","listaStatus","setListaStatus","setListaFornecedor","listaTransportador","setListaTransportador","dadosOrdemCompra","setDadosOrdemCompra","UploadOutlined","IdOrdemCompra","abrirDetalhesOrdemCompra","orc_nropedido","orc_atendente","nomeTransportador","editarOrdemCompra","listaVendedor","setListaVendedor","listaClientes","setListaCliente","setDadosOrcamento","visualizar","pes_telefone","qtditem","listaOrcamento","ManutencaoStatusPedido","setColor","initial","setInitial","recarregarDados","hex","stp_id","somenteAtivar","stp_statusanterior","DrawerStatusPedido","formStatusPedido","stp_ativo","duplicarStatus","editarStatus","stp_pedidocancelado","stp_pedidoconcluido","stp_permiteeditarpedido","stp_permiteemissaonf","ModalDetalhePedido","DrawerNF","dadosNFE","DrawerTransferencia","dadosDetalhesPedido","setDadosDetalhesPedido","formPedidos","setStatus","drawerTransferencia","setDrawerTransferencia","ativo","ativoPedido","carregarPrimeiraVez","carregarStatus","modalConfirm","cancelarPedido","itensPedido","ped_datavalidade","ped_modalidadefrete","pdi_valorunitario","pdi_quantidade","pdi_valordesconto","pdi_valoracrescimo","loc_id_transferencia","ped_precoutilizado","duplicarPedido","ped_ativo","emitirNf","editarPedido","emitirTransferencia","idPedido","imprimirPedido","pedidoDuplicar","ped_id_duplicar","stp","retornarSempre","pes_endereco","pes_nroestabelecimento","pes_bairro","pes_cep","pes_cidade","pes_uf","pdi_qtditem","ped_valortotal","visualizarPedido","TabCondicionalEntrega","situacaoVenda","imprimirCondicional","exibirDrawerDevolucao","setExibirDrawerDevolucao","openModalContatoCliente","setOpenModalContatoCliente","setPessoaId","exibirDrawerNota","setExibirDrawerNota","vnc_situacao","modalExcluirCondicional","vnc_entregaagendada","vnc_id","condicional","cli_nome","retornaCorSituacao","cor","vnc_levarparacliente","vnc_telefonecliente","DollarCircleOutlined","editarCondicional","vnc_enderecoentrega","alterarCondicionalEntregue","exibirModalContatoCliente","fecharModalContatoCliente","TabCondicionalRetirada","pessoaId","PessoaId","setSituacaoVenda","setProdutoFiltro","formParametrosAvancados","idVendaCondicional","sequencial","ManutencaoValePresente","formParametrosValePresente","listaCompradores","listaCondPagamento","setListaCondPagamento","ehCheque","setEhCheque","exibirModalCheque","setExibirModalCheque","openModalCartao","setOpenModalCartao","dadosVale","setDadosVale","abreModalLiberacao","setAbreModalLiberacao","parcelasPessoasAtraso","setParcelasPessoasAtraso","abreModalParcPendentes","setAbreModalParcPendentes","editandoParcelas","setEditandoParcelas","semCondicao","setSemCondicao","tipoFormaPagamento","dinheiro","cheque","cartaoCredito","cartaoDebito","creditoLoja","valeAlimentacao","valeRefeicao","valeCombustivel","outro","limparFormaPagamento","dadosVal","fpg","buscarParametrosEmp","par_contagerencialvalepresente","par_contagervalepresenteprazo","cgc_contagerencialdestino","cgc_contagerencialdestino2","onChangeFormaPagamento","compradores","cli_vendasomenteavista","validarContaCorrente","listarCondicao","numeroCheques","depositoBancario","pix","transfBancaria","abrirModalCheque","somaParcelas","dataPagamento","numeroUltimaParcela","totalParcela","creditoDebito","credito","inserirDadosCrediario","incluirCheque","popularParcelasDebito","liberado","parcelasAtraso","limiteCreditoDisp","parcelasPessoa","verificarRestricoesCredito","validarVale","lancouCheque","cpr_numeroparcelas","valesQuitados","popularValor","com","onChangeCondicao","numeroParc","qtdTotParcelas","onChangeValorParc","fecharModalOk","fecharModalOK","retornoModal","dadosCartao","tipoParcelamento","numeroDias","bandeira","bce_nrodiasrecebimentocredito","bce_nrodiasrecebimentodebito","rcc_parcelarecebimento","rcc_valor","nsu","rcc_previsaorecebimento","listaContas","dadosObj","par_id","avistaAPrazo","DrawerValePresente","formValePresente","setValesQuitados","DataPesquisa","acf_codigovalepresente","ManutencaoMetas","mtv_id","listaVendedoresMetas","mtv_datainicial","mtv_datafinal","listarMsgVendedorComMeta","parametrosSelecionarItens","funcao","DrawerMetas","formManutencao","parametrosMetasVendas","modalExcluirMeta","metaVenda","mtv_valor","pageNumber","excluirMeta","mtv_totalvendido","vendido","strokeWidth","showDrawerEdit","ManutencaoComissao","vendedorSelec","setVendedorSelec","possuiComissao","ven_perccomissaoaprazo","ven_perccomissaoavista","ven_formacalculocomissao","ven_formulacomissao","colSpan","DrawerComissao","openManutencao","setOpenManutencao","registroManutencao","setRegistroManutencao","setEditar","dadosManutencao","exibirDrawer","formConsultaComissao","detalhesDados","setDetalhesDados","painelAtivo","setPainelAtivo","setDadosModal","retornaDescTipo","comissaoVendedores","comissao","abrirModalComissao","ven","efetuarPesquisa","valorTotalVenda","valorTotalComissao","buscarDadosDetalhados","com_basecalculo","com_percentual","com_valor","mcc_valor","valorTotalNota","valorComissao","ManutencaoContaReceber","Select","openIntevaloDias","setOpenIntevaloDias","dadosContasReceber","setDadosContasReceber","openModalEditarParcela","setOpenModalEditarParcela","dadosLinhaEditar","setDadosLinhaEditar","IdContaPagarReceber","cpr_id","gerarParcelas","qtdDias","somaDasParcelas","cpr_datavencimento","valortotal","quantidadeParcelas","cpr_periodicidade","primeiroPagamento","cpr_dataprimeiropagamento","divisao","intervaloDias","cpr_intervalodias","outraData","prc_periodicidade","mostrarIntervaloDias","option","cpr_datainclusao","cpr_numerodocumento","dadosLinha","dadosContasReceberPagar","DrawerContaReceber","formContaReceber","openPesquisaAvancada","setOpenPesquisaAvancada","parametrosContasReceber","listaStatusParcela","setListaStatusParcela","modalNovaConta","statusParcela","retornarStatus","prc_status","cpr_observacao","buscarParcelas","imprimirContaReceber","modalEstornar","cpr_descricao","ReparcelamentoParcelas","dadosReparcelamento","setDadosReparcelamento","listaParcelasReparcelar","setListaParcelasReparcelar","descontoItem","setDescontoItem","paginaParcAntigas","setPaginaParcAntigas","paginaParcGeradas","setPaginaParcGeradas","nroRegistrosParcAntigas","setNroRegistrosParcAntigas","nroRegistrosParcGeradas","setNroRegistrosParcGeradas","zerarJuros","listaTotalizadores","listaTotalizadoresReparcelar","valorAReceber","valorOriginal","valorQuitado","valorJuros","valorTotalJuros","setListaTotalizadoresReparcelar","novaData","dataInclusao","parcelarGeradas","cpr_pagarreceber","cpr_contaestornadarelacionada","pessoaAutorizadaId","contaGerencial","mcc_datapagamento","prc_codigobarras","prc_estornado","prc_id","bol_id","ajustaDatasParcelas","diferencaDatas","rateioJuros","sobraJuros","juros","totalJuros","vencida","page","parcelasQuitadas","FormOutlined","onBlurValorJuros","onBlurValorParc","percentual","calcularJuros","DrawerReparcelamento","buscarParcelasPessoa","formReparcelamento","showDrawerReparcelamento","ListaParcelasCliente","setListaParcelasCliente","receberSelecionados","listaParcelasReceber","setListaParcelas","selectedRow","somarParcelas","totais","valorPagoRecebido","setTotalSelecionados","totalReceber","parcelasReceber","valorReceber","numeroDiasVencida","concat","zerouJuros","listarParcelas","reparcelarSelecionados","totalSelecionados","pesquisaCodBarras","setPesquisaCodBarras","listaParcelasCliente","setListaParcelasReceber","listaCondicaoPagamento","setListaCondicaoPagamento","openModalCheque","setOpenModalCheque","openModalBandeiraCartao","setOpenModalBandeiraCartao","setListaTotalizadores","alterarValorPago","setAlterarValorPago","nroRegistros","setNroRegistros","valoresPagamento","setValoresPagamento","modalInstance","statusPagamentoIntegraPagto","tipoFormaPagExistente","tipoParcelamentoCartao","calcularSobra","restanteReceber","troco","calcularRecebimentoParcial","valorRecebido","_perc","formaPagamentoSelecionada","efetuarRecebimento","calcularParcelasCartao","parcelascartao","verificaIntegracaoPagamento","definicaoParcelamento","valParcela","dadosIntegracaoPos","cnpjEmpresa","getCnpjEmpresa","tipopgto","metodopgto","submetodopgto","imp_cnpjlocal","imp_valor","imp_tipopgto","imp_metodopgto","imp_submetodopgto","imp_qtdeparcelas","integrapgto","integrapgtook","criaRegistroIntegraPagto","imp_id","_paymentType","_paymentMethodSubType","_installments","_paymentMethod","command","paymentMethod","paymentType","paymentMethodSubType","installments","apiPayer","modalAguardandoPagamento","destroy","verificarPagamentoMaquina","cancelarPagamentoMaquina","imp_statuspgto","imp_autorizacao","statusTransaction","authorizerId","verificaTodosPagamentos","finalizarVenda","dataPagamentoRecebimento","valorTotalParcelas","dataFormatada","valorTot","valorTotalPagoRecebido","valorTotalAcrescimo","valorFormaPgto","valorDescontoFormaPgto","valorJurosFormaPgto","parcelasCartao","removerCarcaterEspecial","dadosReceber","limparListas","retornoParcela","buscarCodBarras","labelInput","placeholderInput","validaIntervaloData","filterOption","input","valorTotalSemAcrescimo","sobraAcrescimo","acrescimo","rateioAcrescimo","valorTotalSemDesconto","sobraDesconto","rateioDesconto","salvarDadosModal","linha","funcaoSalvar","ManutencaoContaPagar","dadosContasPagar","setDadosContasPagar","DrawerContaPagar","formContaPagar","parametrosContasPagar","cpr_estornado","ManutencaoPagamento","calcularPagamentoParcial","listaParcelasPagar","exibirCondicaoPag","setExibirCondicaoPag","inputRef","fpPix","fpDinheiro","fpCheque","fpCartaoCredito","fpCartaoDebito","fpCreditoLoja","fpValeAlimentacao","fpValeRefeicao","fpValePresente","fpValeCombustivel","fpOutro","setListaParcelasPagar","innerHeight","valorAPagar","restantePagar","DrawerPagamento","listaParcelasFornecedor","setListaParcelasFornecedor","formParametros","parcelasPagar","pagarSelecionados","filtrarPeriodo","valorInformado","listaContaCorrenteSaldo","setListaContaCorrenteSaldo","entradaSaida","setEntradaSaida","tipoMovimentacaoFinanceira","setTipoMovimentacaoFinanceira","listaCaixa","setListaCaixa","infoContas","setInfoContas","openModalSenha","setOpenModalSenha","dadosLancamentoEstornar","setDadosLancamentoEstornar","consuMovimentacao","setConsuMovimentacao","setInputPesquisa","listarCaixa","marcarTodos","pesquisaAvancada","contas","idContas","contasSelecionadas","marcado","contaAtiva","reprocessarCaixa","exibirEstornados","tipoMovimentacao","lc_valor_final","lc_valor_inicial","listaCaixaContas","saldoAtual","valormcc","saldoAnterior","reverse","mov","mcc_movimentoestornado","mcc_entradasaida","mcc_id","lc_complemento","order","contaSelecionada","selecionarConta","entrada","saida","mcc_dataHora","mcc_estornado","mcc_transferencia","mcc_complemento","mcc_numerodocumento","mcc_valorjuros","mcc_valormulta","mcc_valordesconto","retornoExclusao","aoFechar","FluxoCaixaDiarioLocalAnalitico","valoresProvisionados","tabelaFluxoCaixa","saldos","fluxoLocal","listaFluxoSaldos","nomeContaCorrente","saldoInicial","saldoFinal","listaFluxoItens","dataPgtoVencimento","valor_RealizadoEntrada","valor_RealizadoSaida","totalCreditoRealizado","totalDebitoRealizado","valor_ProvisaoReceber","valor_ProvisaoPagar","totalCreditoPrevisto","totalDebitoPrevisto","FluxoCaixaDiarioSintetico","nomeLocal","valor_SaldoInicial","valor_SaldoFinal","FluxoCaixaSemanalAnalitico","FluxoCaixaMensalAnalitico","FluxoCaixaMensalLocalSintetico","FluxoCaixaAnualAnalitico","FluxoCaixaAnualLocalSintetico","FluxoCaixaMensalGerencialAnalitico","FluxoCaixaAnualGerencialAnalitico","FluxoCaixaMensalGerencialSintetico","FluxoCaixaAnualGerencialSintetico","FluxoCaixaDiarioGerencialAnalitico","FluxoCaixaDiarioGerencialSintetico","formFluxoCaixa","tipoFluxoCaixa","setTipoFluxoCaixa","setValoresProvisionados","setPeriodo","organizacao","setOrganizacao","formaApresentacao","setFormaApresentacao","setTabelaFluxoCaixa","setSaldos","flx_periodo","month","picker","flx_organizacao","fluxoPeriodo","fluxoOrganizacao","fluxoApresentacao","flx_dataInicial","flx_dataFinal","verificarFluxo","listaMovimentacao","setListaMovimentacao","listaContaGerencialTaxas","setListaContaGerencialTaxas","listaContaGerencialAgrupadorTaxas","setListaContaGerencialAgrupadorTaxas","listarMovimentacao","dadosMovimentacao","lancamentos","conciliacaoCartaoDetalhamento","taxas","dadosTaxaCartaoCreditoParcela","totaltaxas","totalBruto","auxTotaltaxas","auxTotalBruto","rcc_id","prevVal","elem","taxa","tax","tcp_parcelaminima","tcp_parcelamaxima","tcp_taxa","bce_taxapadraodebito","bce_taxapadraocredito","openDetalhes","calcularTaxaCartao","bnd_id","marcarDesmarcarTodos","somaTotal","bce_nomecredenciadora","dadosTaxa","taxaAlterar","calculaValores","forceRender","toggleDetalhes","rcc_datalancamento","listaMov","ctg_id_taxas","listaComMovimentacao","movimentacao","hcc_totalbrutodebito","hcc_taxadebito","hcc_totalliquidodebito","hcc_totalbrutocredito","hcc_taxacredito","hcc_totalliquidocredito","listDados","listaConcatenada","HistoricoConciliacaoCartao","ManutencaoCheque","DrawerCheque","formCheque","openModalOcorrencia","setOpenModalOcorrencia","statusCheque","setStatusCheque","ocorrencia","setOcorrencia","chq_numero","chq_agencia","chq_contacorrente","banco","chq_status","pessoa","chq_dataemissao","chq_bompara","chq_valor","BankOutlined","UserSwitchOutlined","TeamOutlined","setListaBancos","pes_cpf","ClienteId","Key","banc_id","bol_dataemissao","bol_datavencimento","bol_valor","imprimirBoleto","ManutencaoRemessa","openModalInstrucaoRemessa","setOpenModalInstrucaoRemessa","openModalGerarRemessa","setOpenModalGerarRemessa","listaBancos","parcelaEditar","setParcelaEditar","dadosSelecionados","setDadosSelecionados","emissao","InfoCircleOutlined","selecionado","rem_qtdeboletos","rem_valortotal","nomearquivo","extensaoArquivo","gerarRemessa","InfoOutlined","exibirModalInstrucaoRemessa","fecharModalInstrucaoRemessa","isp_codigo","exibirModalGerarRemessa","fecharModalGerarRemessa","retornoRemessa","filename","contentType","blob","navigator","userAgent","msSaveBlob","linkElement","clickEvent","MouseEvent","dispatchEvent","ex","DrawerRemessa","listarRemessas","formRemessa","codigoCliente","rem_id","rem_datageracao","downloadArquivo","defaultFileList","DownOutlined","bol_motivo","bol_numero","ManutencaoArmazemEstoque","listaSetor","setListaSetor","exibirAlterarSetor","setExibirAlterarSetor","setores","setor","cancelarAlteracaoSetor","ses_descricaoItem","aes_id","ses_id","setorestoques","incluir","ses_descricao","ses_ativo","incluirSetor","alterarSetor","DrawerArmazemEstoque","formArmazemEstoque","aes_descricao","aes_ativo","aes_endereco","aes_numero","aes_bairro","GradeEstoque","setItensProduto","atributos","precoVenda","qtdEstoque","qtdPedido","qtdCondicional","qtdPrevisao","OutrasFiliais","dadosEstoqueGeral","setDadosEstoqueGeral","estoque","loc_codigo","Armazem","idProduto","listaArmazens","setListaArmazens","openOutras","setOpenOutras","openArmazem","setOpenArmazem","consultaGeral","setConsultaGeral","setListaMarca","listaGrupo","setListaGrupo","setIdProduto","dadosProdutoGrade","setDadosProdutoGrade","openGradeProduto","setOpenGradeProduto","tpLista","filtroDesc","filtroTpEstoque","tpEstoque","fil","consultar","buscarProduto","val","listarGrades","showDrawerOutras","HomeOutlined","HddOutlined","CustosInventario","exibirCustos","setExibirCustos","ehFracionado","setEhFracionado","custoMedio","custoComIcms","pre_valorcustocomicms","custoSemIcms","pre_valorcustosemicms","custoUltimaCompra","pre_valorcustoultimacompra","validarProduto","pre_justificativa","pre_dataposicao","produtoId","validarEstoqueProduto","column","onChangeProCodigo","customedio","custocomicms","custosemicms","custoultimacompra","resetarCampos","atr","ManutencaoEstoqueInventario","listaProduto","dataHora","setDataHora","hora","hours","minuto","minutes","pre_hora","carregarData","listaInventario","dataHoraPosicao","minutos","set","validarValoresInformados","manutencaoInventario","DrawerEstoque","formEstoqueInventario","listaSelect","setListaSelect","pesquisarInventario","codProd","inv_mes","inv_ano","parametro","Log","listaDadosLog","iic_quantidade","iic_datahora","TipoCodigoProduto","onCloseModalItem","abrirModalItem","setAbrirModalItem","dadosRegistro","setDadosRegistro","listaItem","setListaItem","verificaSituacao","ivi_estoqueanterior","ivi_estoqueatual","filtroItens","inv_id","situacao_id","listaDadosItens","ivi_id","ManutencaoInventario","permiteSalvar","produtoPorEAN","setProdutoPorEAN","dadosTipoCodigo","setDadosTipoCodigo","setDadosProdutosSelect","setListaDadosLog","setListaDadosItens","inventario","setInventario","setFiltro","exibirSenha","setExibirSenha","valorFracionado","setValorFracionado","modalProcessoLento","setModalProcessoLento","somLeituraItem","somErroLeituraItem","config","modalSalvar","produtoItem","localizarItem","CodigoProduto","qtdeItemAdicionar","beepOk","buscarDadosInventario","beepErro","inv_conclusao","Audio","play","inv_numero","defineFiltro","tipoCodigo","adicionarItemQuantidade","qtdeEstoque","qtdeEstoqueAnterior","qtdeFalta","qtdeSobra","ConsoleSqlOutlined","BarsOutlined","DrawerInventario","formInventario","setPermiteSalvar","desabilitarBtnNovo","setDesabilitarBtnNovo","openModalInventario","setOpenModalInventario","dadosInventario","setDadosInventario","validarPermissaoTela","modalExcluirInventario","excluirInventario","inventarioId","pesquisar","dataIncFinal","dataIncInicial","inventarioPesq","inv_datainclusao","InventarioId","carregarProdInventario","TabFilial","imageUrl","setImageUrl","setLoading","uploadButton","LoadingOutlined","addEventListener","onRemove","TabOutrasInformacoes","exigibilidadeIssqn","setExigibilidadeIssqn","TabSenhaGerencial","possuiSenha","setPossuiSenha","loc_senhagerencial","ManutencaoMatrizFilial","tipoContribuinte","setTipoContribuinte","regimeTributarioFiscal","setRegimeTributarioFiscal","desabilitaCNPJ","setDesabilitaCNPJ","loc_inscricaoestadual","numeroInscricaoEstadual","loc_cpfresponsavel","loc_email","logradouroCidade","log_id","bai_id","cep_id","loc_logo","modalAlterarMatriz","salvarFilial","matriz","loc_inscricaoestadual_ufestado","alteraMatriz","loc_centrodistribuicao","novaSenhaGerencial","senhaGerencialAtual","pesquisaInformacoesCep","loc_cep","retornoCep","siglaEstado","possuiCep","pesquisaCepPostmon","loc_matriz","retornoFilial","retornoCnpjLocal","retornoCnpj","loc_telefone","loc_nomefantasia","loc_numeroestabelecimento","loc_complemento","DrawerMatrizFilial","listarFiliais","formMatrizFilial","iscricaoEstadual","ufEstado","loc_inscricaomunicipal","setConfig","exibeMotivoContingencia","setExibeMotivoContingencia","certificadoValido","setCertificadoValido","ambienteEmissao","setAmbienteEmissao","lcn_validadecertificado","authorization","lcn_id","tipoEmissao","ContainerOutlined","validaCnpj","dataValidade","validarCertificado","controleAvisoEstoque","setControleAvisoEstoque","tipoTef","setTipoTef","u","aco_datahora","aco_tipoacao","aco_titulo","abreModalSerie","setAbreModalSerie","dadosPdv","setDadosPdv","ativarDesativarPDV","pdv_ativado","pdv_numerocaixa","pdv_nomecomputador","pdv_registro","pdv_dataregistro","abrirModalSerie","pdv_ipredelocal","exibirModalPDV","fecharModalPDV","TabRespostas","respostas","formResposta","listaSomaSubtrai","setListaSomaSubtrai","respostasLimiteCredito","rlc_ordem","setRespostasLimiteCredito","alterarOrdem","ordemAtual","ordemNova","itemAtual","rlc_id","rlc_percentual","rlc_resposta","rlc_somasubtrai","itemTemp","ManutencaoLimiteCreditoCliente","listaTipoResposta","setListaTipoResposta","showRespostas","setShowRespostas","tipoResposta","qlc_tiporesposta","respostalimitecreditos","qlc_id","editarLimiteCredito","incluirLimiteCredito","formLimiteCreditoCliente","qlc_ordem","listasDados","questao","qlc_questao","formContador","novoContador","setNovoContador","setBuscaContador","Emitter","emit","con_id","con_cpf","con_cnpjescritorio","verificarCnpjValido","con_cep","con_cidade","con_ibge","cid_ibge","con_uf","recursosPlano","setRecursosPlano","alterarPlano","setAlterarPlano","listaPlanos","setListaPlanos","planoAtual","setPlanoAtual","planoSelecionado","setPlanoSelecionado","formAlterarPlano","comparaPlano","setComparaPlano","listarPlanos","planoUsuario","pla_nome","plano","pla_valor","lcp_id","validade","lcp_validadeplano","listaPlano","pla_id","pla_nivel","diferenciais","pla_diferenciais","getEmailUsuario","senhaUsuario","ShoppingOutlined","ManutencaoBandeiraCartaoEmpresa","setValue","setDadosCartao","listaTaxasCartao","setListaTaxasCartao","formularioTaxas","taxasCartaoCreditoParcelados","bce_ativo","bnd_nome","ctc_digitoverificadoragencia","ctc_digitoverificadorconta","imagemCartao","buscarDadosCNPJ","excluirTaxa","DrawerBandeiraCartaoEmpresa","formBandeiraCartao","bandeirasCartao","setBandeirasCartao","openModalTaxas","setOpenModalTaxas","dadosTaxaCartao","setDadosTaxaCartao","cartao","bce_cnpjcredenciadora","imagemBanco","abrirModalTaxas","SettingOutlined","ativarBandeiraCartaoEmpresa","exibirModalTaxasCartaoCredito","fecharModalTaxasCartaoCredito","setCidade","TabResponsavel","ManutencaoCentroDistribuicao","filialInexistente","setFilialInexistente","centroCadastrado","setCentroCadastrado","centroExiste","dadosCentroDistribuicao","loc_pontoreferencia","loc_responsavelestabelecimento","loc_tipocontribuinte","buscarDadosFilial","formCentroDistribuicao","SaveFilled","centro","setEmpresa","setLocal","setNomeLocal","editarCentro","acessarCentroDistribuicao","campoFiltro","setGrupos","grj_id","grj_descricao","rel_descricao","pathname","rel_id","nomeRelatorio","abrirNovaJanela","BlockOutlined","Formularios","aoUpload","setAoUpload","sistema","setSistema","relatorioParametro","sis","s","rel_sistema","elementosOrdem","rpj_ordem","RelatorioParametro","nomeRel","arquivoRel","uploadRelatorio","DrawerPersonalizacao","formFormulario","listaSistema","onConfirm","tituloRelatorio","setTituloRelatorio","tipoRelatorio","setTipoRelatorio","imprimirSomenteCorpo","setimprimirSomenteCorpo","form2","useLocation","relStage","setRelStage","paginaVoltar","setPaginaVoltar","ordenaParametros","relStatetemp","carregarParametros","rpj_nomeelemento","rpj_label","TabHorariosAcessoUsuario","idDay","setIdDay","day","listHorarios","setListHorarios","carregarListaHorariosAcesso","uac_dia","uac_bloqueado","uac_id","bloqueado","horaInicial","uac_horainicial","horaFinal","uac_horafinal","transformList","onChangeHorario","desbloquear","change","usuarioacessos","mudarAcesso","DeleteFilled","deleteHorario","setDataModal","TabPermissoesUsuario","load","setLoad","listPermissoes","setListPermissoes","_listaPermissoesPagina","userId","_listarPersmissoesMongo","dataAcess","pru_nome","pru_permissoes","permissoes","acessoModulo","permissoesApi","metodos","indexMetodo","pm","metodo","acesso","acessoPermissoesMongo","loadPermissoes","handleChangeBloqueioPagina","listaPermissoesPaginas","handleChangeBloqueioAll","TabFiliaisUsuario","setLocais","pageRows","setPageRows","validaLocId","setValidaLocId","outrosLocId","setOutrosLocId","resListar","usuarioslocais","totalItens","totalItems","resLocais","locaisSelecionados","locaisselecionados","loadLocais","others","is","justOutCheck","sel_page","o","pop","ManutencaoUsuario","setUserId","setFileList","setArray","emailAtual","setEmailAtual","carregarAvatar","getPermissoesDefault","caminho_avatar","img_avatar","permissaoDefault","onBlurVerificaEmail","emailNovo","idUsuario","usu_sac","usu_suporte","usuarios_locais","avatar","usu_avatar","rotate","modalTitle","modalOk","hasFeedback","DrawerUsuario","formUsuario","usu_usuariopdv","usu_admin","listaFiliais","usu_datainclusao","usuEmail","loadData","TabHorariosAcessoGrupo","TabPermissoesGrupo","TabUsuarioGrupo","usuarios","incluirRemoverUsuario","incluido","setUsuarios","ManutencaoGrupoUsuario","telaDuplicar","setTelaDuplicar","carregarUsuarios","prg_nome","prg_permissoes","controller","gru_descricao","usuariosEmpresa","usuariosGrupo","listaDefinicaoHorario","usuariogrupousuarios","formGrupoUsuario","modalInativarGrupo","formEfdIcmsIpi","modalExcluirNotificacao","excluirNotificacao","ordenar","not_datahora","not_descricao","TabPdv","impressaoComprovantes","setCusto","tipoMarkup","setTipoMarkup","setImpressaoComprovantes","enquadramentoFiscal","setEnquadramentoFiscal","back","retornoEmpresa","emp_razaosocial","emp_logo","dadosParametrosEmpresa","par_contagerencialsangriapdv","par_contagerencialsuprimentopdv","par_ctg_recebimentoparcela","par_viasimpressaonfce","par_impressaodavls","par_impressaonfce","par_impressaocondicional","par_impressaorecbtoparcela","par_impressaocarne","par_viasimpressaocarne","par_calculaprecovenda","par_usanotapromissoria","AnaliseInadimplenciaCliente","listaIndice","setListaIndice","listaLocais","setListaLocais","logoEmpresa","setLogoEmpresa","listaDadosInadimplencia","setListaDadosInadimplencia","tiposPagamento","setTiposPagamento","indiceSelecionado","setIndiceSelecionado","setImprimir","mostrarScroll","setMostrarScroll","popularLabelTpPag","formTiposCobranca","tiposCobranca","tpCobranca","tipoCobrancaLabel","dataAnalise","dadosCheques","localAtual","reqCheques","reqCrediario","limparVariaveis","codigoLocal","cnpjLocal","vlr_AVencer","vlr_Ate30dias","vlr_Ate60dias","vlr_Ate90dias","vlr_Ate120dias","vlr_Ate150dias","vlr_Ate180dias","vlr_Acima180dias","vlr_Vencidos","vlr_Total","vlr_Indicador_Acima30dias","vlr_Indicador_Acima60dias","vlr_Indicador_Acima90dias","vlr_Indicador_Acima120dias","vlr_Indicador_Acima150dias","vlr_Indicador_Acima180dias","calcularTotal","objTotalizador","indices","numeroIndice","carregarDadosIndice","listaTpCobranca","popularTipoCobranca","outerHeight","carregarLocaisPadroes","Header","tpPag","buscarDadosInadimplencia","print","overflowY","NovaEmpresa","periodoAssinatura","setPeriodoAssinatura","testeGratuito","setTesteGratuito","urlContrato","setUrlContrato","dadosNovaEmpresa","setDadosNovaEmpresa","informacoes","setInformacoes","openModalContrato","setOpenModalContrato","codigoSegurancaContrato","setCodigoSegurancaContrato","captcha","setCaptcha","reCaptchaRef","inputEmail","dadosLocalAtivacao","diaPagamento","emailEnvioCobranca","mesValidade","anoValidade","cvv","dadosTitular","planoId","dadosContrato","setDadosContrato","selecionarPlano","teste","cadastrarEmpresa","novaEmpresa","retornoNovaEmpresa","retornoEmail","textoAleatorio","assinarContrato","periodoTeste","localId","retornoAssinatura","retornoPlanos","loc_tipoContribuinte","pla_numeropdvs","RocketOutlined","retornoPesquisaEmail","pesquisaCNPJ","razao","validarRazaoSocial","sitekey","exibirModalContrato","fecharModalContrato","codigoSeguranca","AtivarUsuarioPlano","ativarEmpresaLocal","tipoEntidade","cap_ordem","cap_tipoentidade","setCamposPersonalizados","camposPersonalizadosTemp","ListaCamposPersonalizados","cap_mensagemobrigatorio","editarCamposPersonalizados","RenovarPlano","ManutencaoFornecedorProduto","buscarProdutoFornecedor","forId","DrawerFornecedorProduto","formFornecedorProduto","edit","setEdit","ultimocusto","listaTipoEndereco","listaPais","openDropdown","setOpenDropdown","pais","onFocus","onSelect","te","ManutencaoRestaurante","listaTipoRestaurante","setListaTipoRestaurante","valorPreferencia","setValorPreferencia","valuePreferenciaSlider","setValuePreferenciaSlider","listaTiposEndereco","setListaTiposEndereco","setTiposContatos","res_notaavaliacao","res_site","out_descricao","res_id","coordenadas","enderecoTemp","pee_localreferencia","pee_latitude","pee_longitude","telefoneTemp","psc_ramal","emailTemp","outroContato","toc_id","out_ativo","OutrosContatos","Emails","Enderecos","Telefones","pej_databaixasefaz","pej_baixadoreceita","tipFormatter","tr","tpt_descricao","DrawerRestaurante","formularioRestaurante","listaTiposRestaurante","setListaTiposRestaurantes","res_preco_buffetlivre","res_preco_kg","res_tipo","res_cafemanha","res_almoco","res_janta","editarRestaurante","listaPaises","lte","ManutencaoHotel","listaTipoHotel","setListaTipoHotel","hot_nota_avaliacao","hot_id","th","DrawerHotel","formularioHotel","openModalMapa","setOpenModalMapa","hot_tipo","hot_preco_standard","hot_preco_duplo","hot_preco_triplo","exibirModalMapa","fecharModalMapa","Testes","formTeste","setarFormulario","carregandoGerar","setCarregandoGerar","considerarVigencia","setConsiderarVigencia","setMarcado","listaCestAlterar","setListaCestAlterar","dadosProdutos","setDadosProdutos","formAlterar","cestAlterar","buscarProdutos","filtroNcm","filtroCest","SomenteNcmInativos","EANInvalidos","hideSelectAll","gerarManutencao","vig_id","icm","defaultChecked","preserveSelectedRowKeys","confirmar","vig","vig_descricao","ManutencaoVigencia","DrawerVigencia","vig_datainicial","ManutencaoRetencao","dadosTipoRetencao","setDadosTipoRetencao","tar_descontamovimentacaofinanceira","tar_descontatotalnota","tar_id","exibirModalRetencao","DrawerRetencao","tabRetencao","tar_descricao","tar_percentuaretencao","tar_tiporetencao","apiErp","axios","create","baseURL","linkApiGestor","interceptors","use","getToken","Authorization","codigoempresa","codigolocal","logout","SelecoesEmpresaCat","veioDaHome","setCodigoEmpresa","setCodigoLocal","formLogin","setNomeEmpresa","listaLocal","setStatusFilial","buscarTela","codEmpresa","carregarLocais","validaLocalUnico","carregarDadosEmpresa","buscarEmpresaUnica","EsqueciSenha","emailUsuario","enviarEmailRecuperarSenha","LoginCatalogo","InicialCatalogo","setExibirModal","getClienteCat","CatAcessosExterno","ConsultaPecas","grupoAtual","catalogoExterno","listaPecas","setListaPecas","pecaSelecionada","setPecaSelecionada","imagemAmpliada","setImagemAmpliada","openImg","setOpenImg","opeModalInfo","setOpenModalInfo","codcatalogo","buscarPecas","sticky","small","codpeca","descpeca","numeropeca","ellipsis","showTitle","observacoes","imgAmp","PictureOutlined","rowClassName","produzido","controle","contentClass","codigoPeca","dadosImagem","DrawerConsulta","onCloseDrawer","setGrupoAtual","disabledAnt","setDisabledAnt","disabledPro","setDisabledPro","setExibir","buscarGrupo","codgrupo","proximo","anterior","validarGrupo","codGrupo","codCatalogo","codPeca","desccatalogo","LeftCircleOutlined","RightCircleOutlined","DrawerGrupo","codLinha","nomeCatalogo","nomeLinha","valueGrupo","setValueGrupo","setValueSubGrupo","foto","setFoto","rowSelectionn","setRowSelectionn","rowSelectionnGrup","setRowSelectionnGrup","numGrupo","selected","funcoesAoSelecionar","rowSelectionGrup","funcoesAoSelecionarGrup","responsive","descGrupo","catalogo","nomegrupo","nomecatalogo","CatalogosExterno","codCatalago","setCodCatalago","nomeCatalago","setNomeCatalago","setCodLinha","setNomeLinha","openGrupo","setOpenGrupo","listaLinha","setListaLista","linhaSelecionada","setLinhaSelecionada","filtroFixo","descLinha","alturaScroll","codlinha","desclinha","GroupOutlined","CatPecasExterno","exibeGrupos","setExibeGrupos","listaFotos","setListaFotos","dadosSelec","cat004","cat003","keySelecionaRadio","alignitems","ctc001","ctc002","setSerie","req","method","ok","statusText","objectUrl","revokeObjectURL","msg","ManutencaoKitComposicao","listaItems","setListaItems","controlButton","setControlButton","carregarItensProdutoKit","soAtivos","preco_total_kit","qtde_item","pkc_valorunitario","dadosPost","listaProdutosKit","inativarItem","pkc_id","myFunction","pkc_qtde_item","pkcValorUnitario","saveEdition","listar_inativos","valorProdutoKit","porc_desconto","listaItemsTemp","somaValor","diferenca","DrawerKitComposicao","setFechouCadastro","fechouCadastro","formKitComp","listaKits","setListaKits","attList","setAttList","carregarListaKit","inativarKit","HomeCatalogo","incollapsed","PrivateRoute","Component","rest","isAuthenticated","from","App","FormSizeDemo","componentSize","primaryColor","ptBR","nextColor","mergedNextColor","ConfigProvider","theme","onColorChange","initialState","userConfig","Boolean","hostname","ReactDOM","StrictMode","serviceWorker","ready","registration","unregister","negativo","RegExp","maskFormat","onlyNumbers","numbers","caracter","formatDate","formatFone","impressorasInstaladas","imprimirRawBase64","nomeImpressora","impressora","texto","urlImpressao","StateContext","createContext","StateProvider","Provider","useReducer","useContext","calculoIPI","baseIPI","aliquotaIPI","calculoICMSST","valorItem","valorDespesas","reducaoICMS","aliquotaICMS","reducaoICMSST","mva","aliquotaICMSST","ufDestino","ufOrigem","mvaAjustado","retornoCalcIcms","resultadoBaseICMSST","resultadoICMSST","ICMS","baseICMSST","ICMSST","calculoICMS","quantidadeItem","resultadoBaseICMS","resultadoICMS","baseICMS","calculoICMSDiferido","valorICMSOperacao","percentualICMSDiferido","resultadoICMSDiferido","resultadoICMSDevido","valorICMSDiferido","ICMSDevido","CalcularImpostoItem","origemProduto","cst","csosn","valorUnitario","aliquotaIcms","percDiferimento","percReducaoIcms","aliquotaIcmsSt","percMva","percReducaoIcmsST","percMvaAjustado","aliquotaIpi","eConsumidorFinal","destinatarioTemIE","indicadorPresenca","eProdutorRural","eOrgaoPublico","uf_origem","uf_destino","vlr_unitario","vlr_frete","vlr_outros","vlr_descontos","totalSt","nfi_valoricmsst","valorTotalSt","impostos","retornoICMS","ret_baseIcms","ret_aliquotaIcms","ret_valorIcms","retornoICMSST","ret_baseIcmsSt","ret_aliquotaIcmsSt","ret_valorIcmsSt","TabVeiculo","TabVolumes","TabValores","numeroEan","digitoVerificador","multiplicador","somaEAN","Ean","formObj","Buffer","decodeBase64","jsonPayload","decodeURIComponent","d1","getTime","d2","df","abs","setHours","isDate","date","rev","tamanho","digitos","soma","pos","resultado","caminho","retornaValorPorExtenso","$","j","titulo","substituirCaracterEspecial","str","timer","ms","clearTimeout","aleatorio","letras","rnum","jsonp","encodeURI","timeout","func","script","removeChild","retornaSoLetras","casasDec","possuiErro","idRelatorio","params","param","rpj_obrigatorio","pathRelatorio","calculaValorProporcional","valorRatear","eanCodigo","fator","sum","numlen","base64String","maxSizeInMB","maxWidth","maxHeight","maxFileSize","Image","canvas","ctx","getContext","drawImage","compressedBase64","toDataURL","base64FileSize","scaleRatio","sqrt","scaledWidth","scaledHeight","DrawerVendedores","exibirDrawerVendedores","fecharDrawerVendedores","ValidarInscricaoEstadualRS","ValidarInscricaoEstadualSC","ValidarInscricaoEstadualPR","ValidarInscricaoEstadualSP","ValidarInscricaoEstadualMG","ValidarInscricaoEstadualRJ","ValidarInscricaoEstadualES","ValidarInscricaoEstadualBA","ValidarInscricaoEstadualSE","ValidarInscricaoEstadualAL","ValidarInscricaoEstadualPE","ValidarInscricaoEstadualPB","ValidarInscricaoEstadualRN","ValidarInscricaoEstadualPI","ValidarInscricaoEstadualMA","ValidarInscricaoEstadualCE","ValidarInscricaoEstadualGO","ValidarInscricaoEstadualTO","ValidarInscricaoEstadualMT","ValidarInscricaoEstadualMS","ValidarInscricaoEstadualDF","ValidarInscricaoEstadualAM","ValidarInscricaoEstadualAC","ValidarInscricaoEstadualPA","ValidarInscricaoEstadualRO","ValidarInscricaoEstadualRR","ValidarInscricaoEstadualAP","numeroInscricao","pesosMultiplicador","inscricaoEstadualSemDigitoVerificador","somaIE","pesosMultiplicadorPrimeiro","pesosMultiplicadorSegundo","primeiroDigitoVerificador","inscricaoEstadualComPrimeiroDigitoVerificador","nNumero","numeroInscricao_","segundoDigitoVerificador","padStart","listaDigitosValorMultiplicacao","valorMultiplicacao","valor1","valor2","primeiraDezenaExata","inscricaoEstadualComSegundoDigitoVerificador","digitoVerificadorPrimeiro","inscricaoEstadualComPrimeiroDigito","valorAcrescentadoNaSoma","digitoVerificadorPadrao","TOKEN_KEY","EMPRESA_KEY","LOCAL_KEY","NOMEEMPRESA_KEY","NOMELOCAL_KEY","REGIMETRIBUTARIO_KEY","NOMEUSUARIO_KEY","IDUSUARIO_KEY","EMAILUSUARIO_KEY","TELA_KEY","NAVEGACAO_KEY","PERMISSOES_KEY","BREADCRUMB_KEY","STATUSPLANO_KEY","TELAANTERIRO_KEY","ENTIDADE_KEY","STATUSFILIAL_KEY","DADOS_INTEGRA_KEY","CNPJ_EMPRESA_KEY","CLIENTECAT_KEY","NOMECLIENTECAT_KEY","process","getTela","getNavegacao","getPermissao","getStatusPlano","getStatusFilial","getTelaAnterior","getNomeClienteCat","nomeEmpresa","nomeUsuario","setTela","tela","nav","perm","setTelaAnterior","setDadosIntegra","setCnpjEmpresa","setClienteCatalogo","setNomeClienteCatalogo","ComboData","opcoes","Data","this","InputDemoDate","setState","ModalAdicionarUsuario","filiais","ModalCalcularLimite","setOpenModalCalcular","setStep","mostraRendaConj","setmostraRendaConj","valorsimulado","setvalorsimulado","listaQuestoes","setListaQuestoes","dadosResposta","setDadosResposta","setValores","adicionarResposta","pergunta","dadoPergunta","respEditar","resp","calculoSimulado","pef_renda","pef_rendaconjuge","questionario","porcentagemBase","par_percentuallimitecredito","vlrbase","vlrsim","porcentagem","salvarLimite","resposta","q","cli_valorlimitecredito","CalculatorOutlined","HighlightOutlined","questoes","ModalCartaCorrecaoNotaFiscal","exibeCondicoes","setExibeCondicoes","retornoProcessamento","mensagemCancelamento","chNFe","nSeqEvento","ModalCfop","cfo_id","retornaDadosCFOP","ModalContaGerencial","listaTipo","nivel","cgc_tipo","ModalContatoCliente","IdPessoa","BuscarDadosCliente","toc_descricao","ModalDefinirHorario","ModalEmail","exibirModalEmail","fecharModalEmail","dadosEmail","setDadosEmail","ModalEmpresaFilial","ModalEmpresaFilialBusca","relNovo","setRelNovo","rel","Nome","QuantidadeColuna","JsonRelatorio","ModalEndereco","exibirModalEndereco","fecharModalEndereco","exibirPais","produtorRural","selectPaginado","setIsEstrangeiro","cid_nome","listarTpEndereco","listarPais","pseId","tpeId","pse_codigobacen","alterarStatusEstrangeiro","ModalGerarComissao","formGerarComissao","ModalExibirAcaoUsuario","aco_descricao","ModalGerarRemessa","ModalInstrucaoRemessa","listaInstrucao","setListaInstrucao","formInstrucao","instrucao","isp_id","isp_descricao","ModalInutilizacaoNfe","solicitarInutilizacaoNumeracao","inutilizacao","nroInicial","nroFinal","nNFFin","qtdNumero","ModalListaPreco","nomeLista","verificaListaPrecoExistente","ModalManifestoDestinatario","confirmLoading","retornaDescricaoManifestoDestinatario","ModalNacionalidade","dadosNacionalidade","exibirModalNacionalidade","fecharModalNacionalidade","nacionalidade","setListaNacionalidade","ModalNcm","InfoCheque","chq_serie","ModalOcorrencia","movimentacaoCheque","setMovimentacaoCheque","motivoDevolucao","setMotivoDevolucao","chq_id","och_id","och_data","och_status","cmc_id","och_observacao","cc","motivo","cmc_descricao","ModalOcupacao","listaOcupacoes","exibirModalOcupacao","fecharModalOcupacao","cbo_id","cbo","dadosOcupacoes","cbo_descricao","poc_principal","setDadosOcupacoes","ocup","ModalOrgaoSubjacente","listaOrgaoSubjacente","exibirModalOrgaoSubjacente","fecharModalOrgaoSubjacente","pop_cep","pop_cidade","pop_ativo","pop_email","pop_observacao","pop_latitude","pop_longitude","pop_numero","pop_localreferencia","pop_complemento","pop_bairro","pop_endereco","pop_telefone","setListaOrgaoSubjacente","ModalOutroContato","listaOutrosContatos","exibirModalOutroContato","fecharModalOutroContato","dadosOutrosContatos","listarTpOutroContato","listaTpOutroContato","setDadosOutrosContatos","toc","ModalPessoaAutorizada","listaPessoasAutorizadas","exibirModalPessoaAutorizada","fecharModalPessoaAutorizada","listasGrauParentesco","setListasGrauParentesco","dadosPessoasAutorizadas","g","grp_id","grp_descricao","pesAuto","pea_id","pea_ativo","setDadosPessoasAutorizadas","pef_id","pessoafisicas","ModalPlano","inativo","setGratis","setMei","inicial","setInicial","avancado","setAvancado","completo","setCompleto","premium","setPremium","backgroundColor","ModalProdutoCondicional","dadosCondicional","setDadosCondicional","ven_nome","vci_quantidade","vci_devolvido","vci_valorun","ModalTelefone","listarTpTelefone","listaTpTelefone","psc_ativo","psc","ModalTributacaoIcms","listaOrigemDestino","listaCst","setListaCst","listaCsosn","setListaCsosn","listarUfDestino","setListarUfDestino","setRegimeTrib","estadoOrigem","setEstadoOrigem","mostrarCsoSn","setMostrarCsoSn","mostrarCstIcms","setMostrarCstIcms","mostrarDiferimentoIcms","setMostrarDiferimentoIcms","mostrarAlicotaIcms","setMostrarAlicotaIcms","mostrarReducaoBC","setMostrarReducaoBC","validarCst","codigoCst","iod_percicms","iod_percicmsreducaobc","iod_percdiferimentoicms","rt","codigoCso","validarCsosn","calculaAliquotaEquivalente","calculaPercentualReducao","_percicms","_aliquotaEquivalente","_calc","_percreducao","aliquotaEquivalente","percicms","percicmsreducaobc","percdiferimentoicms","iod_id","iod_uforigem","iod_ufdestino","cst_descricao","cso_descricao","ModalVeiculo","exibirModalVeiculo","fecharModalVeiculo","ModalCancelamentoNfe","_cStat","ModalReenviarSefaz","_link","ModalDevolucao","abrirManutencao","ModalEnvioNFeEmail","dest","enderecosDestinatarios","enderecoEmail","adicionarEmail","emailLista","excluirEmail","ModalAjudaRejeicaoNfe","activeOpen","setActiveOpen","CustomerServiceOutlined","comandosEnviarImp","etiqueta","qtdComandos","comando","met_comando","indiceEtiqueta","met_quantidadecaracteresdescricaoproduto","imprimirImpressoraPadrao","montarEtiquetaImpressora","ModalImprimirEtiquetas","listaModeloPadrao","setListaModeloPadrao","listaModeloEtiqueta","setListaModeloEtiqueta","buscarListaPreco","listarItensNota","imprimirEtiqueta","tpEtiqueta","imprimirEtiquetaImp","descricaoModelo","onChangeTipo","ModalGradeOrdemCompra","pedidoItem","pedidoFormaPgto","carregarItensPedido","formataCpf","formataCnpj","pes_nomecliente","pes_nometransportador","pes_nomevendedor","ped_observacao","totFrete","retornaFrete","retornaValorTotal","ModalDevolucaoCondicional","formDados","vci_quantidadeDevolvida","vci_id","devolvidoTotal","oit_qtde","oit_valorunitario","valorFinal","setValorFinal","orf_valortotal","orf_percentualdesconto","orf_percentualacrescimo","rowExpandable","ModalDetalheOrcamento","orcamento","setOrcamento","orc_observacao","datavalidade","orc_valoroutros","ModalGradeProduto","origem","dadosValidacao","dadosRetorno","setDadosRetorno","ehPercentual","setEhPercentual","dadosFiltrados","setDadosFiltrados","alterarQuantidade","calcularAcres","calcularDesc","filtrados","percDesc","valorDesc","valorAcresc","valorRet","percAcresc","ModalSenhaLiberacao","iconRender","EyeTwoTone","EyeInvisibleOutlined","ModalListarParcelas","alterarEstado","parcelaAlt","prc","nft_id","salvarParcela","estornaParcela","ModalEditarVencimentoParcela","validarValor","ModalImportarElementosFormulario","exibirModalImportarElementos","fecharModalImportarElementos","listaElementosSelecionados","setListaElementosSelecionados","listaParametros","setListaParametros","filtrosRel","setFiltrosRel","codRel","setCodRel","listarParametros","listaParametrosAtz","par","rpj_tipoelemento","listaParametrosTemp","listaElementos","selecionaElementos","rpj_id","importarElementos","ImportOutlined","ModalImportarElementosCamposAdicionais","cap_label","ModalPersonalizacaoFormulario","exibirModalPersonalizacao","fecharModalPersonalizacao","meta","ModalPersonalizacaoFormularioFiltros","finish","ModalEditarValoresParcela","calcularValorReceber","verificarValorReceber","FormBuilder","defineWidget","Rate","Slider","TimePicker","Upload","ModalBandeiraCartao","listaBandeiras","setListaBandeiras","bandeiraSelecionada","setBandeiraSelecionada","modalCancelar","abrirTipoParcelamento","bnd_logo","marginTop","ModalEditarPDV","dadosPdvTemp","ModalManutencaoNota","mostarCsoSn","notaTransferencia","exibePerc","setExibePerc","estadoOrig","setEstadoOrig","estadoDest","setEstadoDest","listaEst","estadoDestino","tribPisCofins","ModalContaCorrente","linhaPintada","setLinhaPintada","searchTerm","setSearchTerm","searchResults","setSearchResults","results","selecionarContaCorrente","ModalTaxasCartaoCredito","ModalAntecipacaoClienteFornecedor","formAnterior","exibirModalAntecipacaoClienteFornecedor","fecharModalAntecipacaoClienteFornecedor","dadosAntecipacao","listaAntecipacao","setListaAntecipacao","setValorAtecipacao","totalAntecipacao","anm_valor","valorRestante","saldoAUtilizar","selecionarAntecipacoes","ModalDevolucaoSubstituicaoTributaria","validar","ModalListaProduto","exibirModalListaProduto","fecharModalListaProduto","ModalDetalhesOrdemCompra","ocp_faltareceber","atributoTemp","orc_formapagamento","ModalEstornoNfe","textoEstorno","ModalParcelasPendentes","ModalAliquotaSimplesNacional","aposSalvar","ModalItemInventario","ModalGrade","ModalConfirmacaoTransferencia","conferiTodos","setConferiTodos","usarLeitor","setUsarLeitor","codBarrasInput","marcarItem","produtoConferido","itensNotaFiscal","idSerie","elipse","ModalEditarItemDevolucao","ModalEditarNotaFiscalEntrada","ModalEditarCFOP","ModalAntecipacaoDevolucao","setSelecionarContaCorrente","ModalContrato","confirmacaoLeitura","ModalCheque","vemDaNota","quantidadeCheque","valorTotalCheque","ModalRetornaContaGerencial","listaContaGerencialTodas","setListaContaGerencialTodas","contaLista","dadosContaGerencial","ModalInutilizarNota","ExceptionOutlined","ModalProdutoGrade","setListaGrade","listaGradeBkp","setListaGradeBkp","dadosDaGrade","ModalMapa","ModalRetencao","fecharModalRetencao","ModalSelecaoClientesCat","formClientes","dadosLista","setDadosLista","cancelButtonProps","codCliente","ModalExibeImagem","ManutencaoCondicional","dadosEntrega","setDadosEntrega","setCliente","quantidadeTot","setQuantidadeTot","setValorTot","dadosSenha","setDadosSenha","recalcularTotais","modalParcelasAtraso","modalSenhaGerencial","totBaixado","dataEntrega","horaEntrega","minutoEntrega","horaagendada","vnc_imagemassinaturacliente","vendacondicionalitens","endPrincipal","endEntrega","switchEntregar","desfazerDevolucao","DrawerCondicional","eventEmitter","EventEmitter","fn","once","off","payload","Object","freeze","ModalDadosPecas","dadosPeca","setDadosPeca","setDadosTabela","listaDadosTab","createData","precoLista","percDescCli","valorLiquido","percIpi","valIpi","perMva","percIcms","valIcms","percRedBaseCalcST","baseCalcST","valST","precoFinal","codigoAlternativo","infAdicional","lineHeight","marginBottom","peso","row","sx","border","infoCliente","clienteCidade","clienteCep","clienteUF","setvalorTotalSt","rateios","reteioDesconto","recalcularImpostos","possuiIe","fisicaJuridica","nfi_valordescontorateado","_valorTotalDescontoItem","ret_percReducaoIcms","ret_percMva","ret_percReducaoIcmsST","nfi_valoripi","retornoIPI","ret_valorIpi","_numeroItem","_totalDesconto","_valorDesconto","percentualDescontoConcedido","ven_maximodesconto","ManutencaoNotaFiscal","abreModalSimplesNac","setAbreModalSimplesNac","setDadosVendedor","openModalEndereco","setOpenModalEndereco","formEndereco","openDrawerCliente","setOpenDrawerCliente","openValidaIE","setOpenValidaIE","setCodigoCliente","consumidorFinal","setconsumidorFinal","listaSubjacente","setListaSubjacente","popularDadosSimples","setarAdjacentes","adjacentes","setarEnderecos","ExclamationOutlined","setarTelefones","telefonePrincipal","setarEmails","emailPricipal","modalVerificaIEdestinatario","validarOperacao","interestadual","buscarDadosCliente","destinatario","pessoaorgaospublicos","limparCliente","ie","validarTransporte","reteioFrete","_totalFrete","_valorFrete","salvarNota","analisaFormaPagamento","pagamentoMaquininha","listaIdsIntegracao","pagamentoPayer","concluirVenda","verificarPagamentos","codificaBase64","tratarPedidoFaturado","AlterarSituacaoCondicional","incluirNota","subjacente","sub","pop_id","ntf_subjacente","pe","pop_nome","popularOperacaoFiscal","listaCliente","dadosVen","alterarVendedor","tratarDadosSubjacente","DrawerNFExtra","DevolucaoCondicional","formItemCondicional","setFormItemCondicional","riscarCampos","setRiscarCampos","checkedSwitch","setCheckedSwitch","dadosDevolucao","setDadosDevolucao","itemEncontrado","todosItensDevolvidos","lenght","percdes","editarQuantidadeDev","excluirItens","SelectPaginado","onBlurFunction","setarPrimeiroReg","setLista","registrosPorPagina","alterouPag","setAlterouPag","setCampoDescricao","setValor","primeiroReg","setPrimeiroReg","parametrosUrl","search","onPopupScroll","scrollTop","offsetHeight","scrollHeight","onPopUpScroll","onClear","SelecoesEmpresa","hash","reload","ModalProcessoLento","LancamentoTransferencia","setListaFiliais","listaContaCorrenteDestino","setListaContaCorrenteDestino","listaContaGerencialOrigem","setListaContaGerencialOrigem","listaContaGerencialAgrupadorOrigem","setListaContaGerencialAgrupadorOrigem","listaContaGerencialDestino","setListaContaGerencialDestino","listaContaGerencialAgrupadorDestino","setListaContaGerencialAgrupadorDestino","listarContaDestino","mcc_datahora","ctc_id_origem","ctgorigem","ctg_id_origem","ctgdestino","ctg_id_destino","ctcorigem","ctcdestino","ctc_id_destino","localdestino","acompanharLancamentos","setAcompanharLancamentos","listaContaGerencialPesquisa","setListaContaGerencialPesquisa","listaContaGerencialAgrupadorPesquisa","setListaContaGerencialAgrupadorPesquisa","saldoAtualConta","setSaldoAtualConta","saldoAnteriorConta","setSaldoAnteriorConta","buscarDadosContaGerencial","buscarSaldoConta","h","ctg_id_consulta","valor_consulta","caixa","totalPedido","setTotalPedido","seqKey","valorItemDesconto","editarProdutos","DrawerTransportadores","exibirDrawerTransportadores","fecharDrawerTransportadores","valorTotalPedido","formTransp","mostrarModalTransp","setMostrarModalTransp","buscarVeiculos","enderecoCliente","pdi_valoroutrasdespesas","transp","trn_valorfretefixo","trn_percentualfrete","retornaValorFrete","emiteTransferencia","editarValores","setEditarValores","valorJaPago","setValorJaPago","pagamentoTotal","setPagamentoTotal","valorRestantePgto","restante","ped_valorTotal","dadosCondicoesPagamento","calculaDesconto","percValor","ped_valorTotalDesc","recalcularTotalPedido","calculaAcrescimo","ped_valorTotalAcre","pedido","adicionarFormaPagamento","removerFormaPagamento","totalPagamento","ManutencaoPedidos","mostraBtnSalvar","dadosEnderecoLocal","setDadosEnderecoLocal","listaTelefone","setListaTelefone","abreModalEndereco","setAbreModalEndereco","abreModalEmail","setAbreModalEmail","formularioEmail","dadosFormasPagamento","setDadosFormasPagamento","setEmiteTransferencia","abrirDrawerVendedores","setAbrirDrawerVendedores","formVendedores","validaValorPago","pedidoitens","pedidoformapgtos","arrayDados","telefoneCliente","ped_valorfrete","ped_valorTotalitens","ped_valoroutrasdespesas","ped_responsavelpedido","pgto","pfp_id","pdi_id","carregarDadosCliente","dadosEmailCliente","retornarDadosCPFCNPJ","clienteSelecionado","carregarDadosItems","buscarDadosLocal","retornoEndereco","ope","campoKey","rulesFormItem","DrawerPedidos","setMostraBtnSalvar","ManutencaoMarca","ManutencaoGrupoProduto","ManutencaoSubGrupo","gru","ManutencaoVendedor","opcoesCriarUsuario","setOpcoesCriarUsuario","listaEstadoCivil","setListaEstadoCivil","listaUsuariosLocal","setListaUsuariosLocal","exibirOpcoes","setExibirOpcoes","criarUsuario","validarAbas","vendedorcampopersonalizados","vcp_valor","vcp_id","listaValidacoesVen","valida","adicionaEmail","listarVendedorCpf","usu","usuarioVinculado","regioesVenda","regioes","adicionarFuncionarioVendedor","modalAdicionarFuncionarioVendedor","campoId","emailUsuarioExistente","emailUsuarioDisponivel","validarEmail","EstCivil","controls","ManutencaoTransportador","fretePorConta","setFretePorConta","tipoTransporte","setTipoTransporte","setBaixadoRec","transportadorcampopersonalizados","tcp_id","tcp_valor","listarTransportadorCpfCnpj","pessoaAutorizada","transportadorveiculos","ManutencaoClientes","orgaoPublico","setOrgaoPublico","openModalCalcular","dadosRegimeTrib","setDadosRegimeTrib","setProdutorRural","cli_datainiciallimitecred","cli_datafinallimitecred","listaOrgaoPublico","clientecampopersonalizados","ccp_valor","cli_clientecontribuinteicms","pej_orgaop","pessoaautorizada","ccp_id","dissable","marginLeft","TabFaturamentoNovo","valorOrcamento","setValorOrcamento","orcamentoFormaPagamento","valoritens","valordesconto","valoracrescimo","valorPagamento","setOrcamentoFormaPagamento","adicionarLista","ManutencaoOrcamento","buscarDadosOrcamento","data_sincro","oit_desconto","oit_id","preencherDadosOrcamento","orf_id","orc_responsavelorcamento","orcamentoformapagamentos","orcamentoitens","Drawer","formOrcamento","TabEntrada","listaCstPisCofins","setListaCSTPisCofins","cstpispj","setcstpispj","cstcofinspj","setcstcofinspj","cstpispf","setcstpispf","cstcofinspf","setcstcofinspf","cpc_descricao","TabSaida","listaNaturezaEfd","setListaNaturezaEfd","naturezaReceita","setNaturezaReceita","cstcofins","setcofins","nat_id","nat_codigo","ManutencaoTributacaoPisCofins","DrawerTributacaoPisCofins","formTributacaoPisCofins","ManutencaoTributacaoIcms","setListaOrigemDestino","dadosOrigemDestino","setDadosOrigemDestino","iod_novo","iod","icmsorigemdestinos","DrawerTributacaoIcms","formTributacaoIcms","ImprimirImpEtiqueta","setDadosGrade","configCodBarra","persCodBarra","qtdParc","limparItens","popularDadosProduto","keyProd","buscarGrade","produtosIncluir","prodGrade","buscarDadosGradeModal","ServidorImpressao","menuConfig","carregandoServer","setCarregandoServer","listaImpressoras","setListaImpressoras","setAbrirManutencao","verificarConfiguracao","impressoraNaoFiscal","listarImpressoras","listarModeloEtiqueta","retImp","modeloEtiquetaImp","impressoraNFiscal","impEtiquetaUtilizar","downloadServidor","indicator","spin","padding","imp","padraoDYMO","salvarConfiguracoes","MehOutlined","verificarServidorNovamente","ItemFormulario","fnEditar","fnExcluir","TiposElementosFormulario","el","RetornaDescricaoElementoFormulario","widget","apiWeb","HeaderPage","openPerfil","setOpenPerfil","openBuscaGlobal","setOpenBuscaGlobal","openPaginaAbertas","setOpenPaginaAbertas","openModalModulos","setOpenModalModulos","openModalPesquisaGlobal","setOpenModalPesquisaGlobal","paginasAbertas","setPaginasAbertas","formularioPerfil","listaNotificacoes","setListaNotificacoes","contador","setContador","image","setImage","openServidor","setOpenServidor","dadosBusca","setDadosBusca","formularioServImp","openModalCliente","setOpenModalCliente","setCatalogo","openDrawerSinc","setOpenDrawerSinc","toggle","useFullScreen","showDrawerPerfil","onClosePerfil","onCloseServidor","useMemo","menuUsuario","Divider","SettingFilled","WechatFilled","LogoutOutlined","notificacoes","excluirNotificacoesDia","InfoCircleTwoTone","notif","listarNotificacoes","outrosConteudos","infoCliCatalogo","ExpandOutlined","arrow","BellFilled","UnorderedListOutlined","DrawerPaginasAbertas","exibirPagina","paginas","fecharPagina","zIndex","efetuarBuscaGlobal","PesquisaGlobal","openPesquisaGlobal","ModulosPage","Perfil","imagemAlterada","SincronizarCatalogo","LinkNav","patch","icone","MenuPage","listaMenu","setListaMenu","openKeys","setOpenKeys","rootKeys","CarregaMenu","pesquisarMenu","subMenu","Sider","breakpoint","collapsedWidth","defaultSelectedKeys","onOpenChange","latestOpenKey","elementRef","elementoPai","parentNode","firstChild","innerText","AtzBreadcrumb","SubMenu","onTitleClick","ordemMenu","itemMenu","validarPermissaoMenu","itm_id","BreadcrumbPage","listaTitulo","breadcrumb","htmlBreadcrumb","setHtmlBreadcrumb","MontaBreadcrumb","arrBreadcrumb","defaultActiveKey","SelectProduto","onSelectFunction","TabelaDados","footerTabela","headerTabela","setRegistrosPorPagina","listaTbDados","setListaTbDados","configPaginacao","onSelectAll","changeRows","setCondicaoSelecionarItem","configSelecionarRadio","setSelecionaRadio","ordem2","newValue","FiltroSearch","nameInput","FiltroOrdenacao","BotaoIncluirDados","desabilita","setDesabilita","PesquisaOrdenacao","BreadcrumbIncluirDados","BotaoAbrirChamado","PesquisaOrdenacaoData","setDataPesquisa","FiltroData","valueSlider","setValueSlider","TabDetalheItens","itensNF","percentualDesc","setPercentualDesc","retornarPercentual","TabDetalheIFormaPagamento","Print","imp_idintegracao","nfp_codigovalepresente","nfp_valortroco","TabDetalheTotalizadores","detalheNotaFiscal","setDetalheNotaFiscal","valortotalbcicms","valorbcicmsst","valorbcipi","valortotalicms","valortotalicmsst","valortotalipi","valortotaloutros","valorbcpis","valorbccofins","valortotalpis","valortotalcofins","TabNotaReferenciada","docsreferenciados","datadoc","dfr_chave","totaldoc","DetalheNotaFiscal","arrFinalidade","arrStatus","arrAmbiente","setverificadevolucao","verificadevolucao","ntf_ambiente","DetalhePedido","setPedido","ped_iedest","FormGW","listaInputHidden","validarCampoValido","elements","formItemHidden","querySelector","inputHidden","itemHidden","popularListaInputHidden","prototype","call","activeElement","verificarJaPossuiFocus","getFieldInstance","allValues","gravaLocalStorage","SelectAll","idValue","mostrarCodigoLabel","returnObject","usouFiltro","setUsouFiltro","filtroAnt","setFiltroAnt","multiplosFiltros","_nameValue","lf","SelectIncluir","onDeselect","onDropdownVisibleChange","onInputKeyDown","retornarDadosArray","isArray","rpj_linha","rpj_coluna","EditorFormulario","objElementoFormularioEdicao","formEditor","openModalPersonalizacao","setOpenModalPersonalizacao","openModalImportarElemento","setOpenModalImportarElemento","elementoEdicao","setElementoEdicao","optionsSelect","SortableItem","SortableElement","sortIndex","indiceElemento","rpj_options","editarElementoTela","excluirElemento","SortContainer","SortableContainer","onSortEnd","oldIndex","newIndex","arrayMove","shouldCancelStart","tagName","rpj_mensagemobrigatorio","errorFields","field","errors","normalize","tipoEl","cap_linha","cap_coluna","cap_obrigatorio","EditorFormularioCampos","marks","cap_options","somaColunaLinha","verificaNome","duration","FormularioDinamico","retornarLinhas","elementosDinamicos","setElementosDinamicos","elementoConvert","retornaElementos","camposDinamicos","lin","linhasFiltro","componente","itemFiltro","inputNumber","inputPreco","dataPicker","select","selectPaginacao","selectAll","checkbox","rpj_mensagemObrigatorio","rpj_placeholder","FiltroProduto","popularProduto","produtosSelec","vci_sequencia","adicionarItemCondicional","setarFocoProduto","filtroGrade","somenteValorPositivo","gravarTela","constante","dadosTela","limparTela","todos","DrawerNav","afterVisibleChange","jsonGeral","dadosCaminho","nomeForm","DrawerLancamentoTransferencia","DrawerManutencaoCaixa","listaPag","onClosePaginaAbertas","dadosGeral","pag","pagSelec","pagAbertas","excluirPagina","Tabela","nomeId","acrescDados","FormasPagamento","setFormaPagamento","multiplasFormasPagamento","setMultiplasFormasPagamento","ehValePresente","setEhValePresente","isNota","setIsNota","setDadosParcelas","executarParcelas","setExecutarParcelas","formaPagamentoAntecipacao","setFormaPagamentoAntecipacao","tipoContaCorrente","setTipoContaCorrente","abreModalAntecipacao","setAbreModalAntecipacao","setDadosAntecipacao","setValorRestante","desabilitaBtn","setDesabilitaBtn","semPagamento","setSemPagamento","verificarAntecipacoes","validarJaPossuiBoleto","indexPosicao","abrirModalCartao","formaPgtoAntecipacao","dadosIniciais","liberadoCredito","pagamentoCartao","codigoValePresente","descontoPadrao","incluirNovaFormaPagamento","ant","validacaoFormasPagamento","codVale","saldoVale","buscarValePresente","editarFormasPagamento","salvarFormaPagamento","cancelarAlteracoesFormaPagamento","dataVenc","ajustarDataParcelas","cancelaContaCorrente","FormasPagamentoRecebimento","InfoNotaNFe","InfoProdutoGrade","PageGrade","updateValue","property","TabTodas","TabFornecedor","TabFuncionario","PesquisaPedidos","PesquisaOrcamento","oit_qtditem","PesquisaCondicional","PesquisaContaReceber","PesquisaContaPagar","PesquisaTributacaoIcms","PesquisaTributacaoPisCofins","pesquisaTipo","conteudoExibir","setConteudoExibir","listaNota","setListaNota","listaPedido","setListaPedido","setListaOrcamento","listaCondicional","setListaCondicional","listaTributacaoIcms","listaContasPagar","setListaContasPagar","listaContasReceber","setListaContasReceber","totalRegistros","setTotalRegistros","montarTelas","telaPessoas","pessoas","telaNota","notafiscal","telaPedidos","pedidos","telaCondicional","vendacondicional","telaContasReceber","contasareceber","telaContasPagar","contasapagar","telaOrcamentos","orcamentos","telaProdutos","telaTributacaoIcms","tributacaoicms","telaTributacaoPisCofins","tributacaopiscofins","busca","efetuarBusca","speed","dots","slidesToShow","slidesToScroll","FiltroProdutoNfi","buscarProdutosCodBarra","setBuscarProdutosCodBarra","dadosCfop","setDadosCfop","abrirModalManutencaoNota","setAbrirModalManutencaoNota","dadosProdutoImpostos","setDadosProdutoImpostos","ocultaListaPreco","setOcultaListaPreco","listaSelectProd","setListaSelectProd","buscarDadosProdImpostos","listapreco","destinoOperacao","codigoProd","ufDest","inscEstadual","listaPrecoPar","objProd","informacaoAdicional","carregarSelectPaginados","listaPrecoTemp","listaPrecoCliente","ope_tipoprecoutilizar","produtoImposto","popularFormProduto","ncm_porcentagem","popularDadosContribuintes","incluirItemPedidoCondicional","onChangeValorUnitario","recalcularValorTotal","onClickBtnCancelar","perDesconto","validarDescontoMaximoVendedor","calculaTotalItemDescAcr","dadosImposto","popularItemNota","alterarItem","incluirItem","itemNota","valorSt","prodNota","dadosPreco","buscaPrecoListaPrecoSelecionada","carregarNcm","FiltroProdutoPdi","setAux","abrirModalListaProd","setAbrirModalListaProd","listaDadosProdModal","setListaDadosProdModal","liberadoParaIncluir","setLiberadoParaIncluir","produtoBuscaEan","setProdutoBuscaEan","buscarDadosProdutoPedido","prod_id","listaprecoItem","custoProd","lpc","dpr_precovenda","adicionarItemPedido","pdi_basecalculoicms","pdi_basecalculoicmsst","pdi_basecalculoipi","pdi_percentualicms","pdi_percentualicmsst","pdi_percentualipi","proId","prg","adicionarItemCodBarras","FiltroProdutoNtf","tributacaoIcms","setTributacaoIcms","classeProduto","buscarDadosProdutoNotaTransf","setarCfopCorrespondenteTributacaoICMS","adicionarItemNotaTransferencia","cfoCfop","valorCalculadoIPI","valorCalculadoIMS","ipi","diferimento","icmst","retornoDiferimento","nig_percicmsst","nig_valoricmsoperacao","nig_percicmsdiferimento","nig_valoricmsdiferimento","adicionarItemLeitorCodBarras","dadostributacao","resGrade","incluirProdutoExterno","prodSelecionado","itemDaLista","abrirEditarItem","salvarDadosGradeModal","FiltroProdutoOrcamento","numeroitem","EditarTabela","InputPhone","lazy","NovoValor","onKeyUp","maskOptions","appended","dynamicMasked","isCellPhone","unmaskedValue","compiledMasks","PhoneInput","LancamentoCheque","infoBanco","setInfoBanco","detalhesCheque","setDetalhesCheque","listaCheques","setListaCheques","emissor","setEmissor","valorPorExtenso","pessoa_nome","selecionarCliente","popularCheque","campoValor","campoExtenso","atualizaDetalhes","cpfcnpjemissor","rgieemissor","nomeemissor","emissorclientedesde","valorUn","validarDigito","valorCheques","chq_codigocompensacao","chq_c1","chq_c2","chq_c3","valorExtenso","chq_nomeemissor","chq_cpfcnpjemissor","chq_rgieemissor","chq_telefoneemissor","telefoneemissor","chq_emissorclientedesde","chq_observacao","chq_cmc7","radioemissocheque","buscaDadosEmissorCheque","AimOutlined","buscarBanco","SlideLogin","effect","autoplay","AberturaChamado","setFile","activeIndex","setActiveIndex","onchange","arquivos","before","dataTransfer","files","listaArq","arq","handleOnClickClose","browser","isOpera","isFirefox","isSafari","isIE","documentMode","isEdge","StyleMedia","isChrome","dadosTicket","screen","availWidth","availHeight","platform","windowsPlatforms","iosPlatforms","os","getOS","dados_console","anexos","tipoArquivo","popularAnexos","chamadoAberto","numeroProtocolo","html2canvas","Editar","Excluir","Duplicar","Adicionar","Imprimir","Explorar","Inutilizar","ImportarXML","NotaFiscalButton","EmitirNotaFiscal","CancelarEstorno","EmitirNotaFiscalTransferencia","LancamentoEntrada","LancamentoSaida","Download","GerarEfdIcmsIpi","enumStatus","listarPlanoLocal","voltarHome","renovarPlano","retornoMudancaPlano","PesquisaCamposPersonalizados","setCampoPerSelecionado","setTipoFiltroPersonalizado","setCondicao","camposPer","setCamposPer","campoPer","PesquisaAvancada","listaCondicao","setListaCondicao","listaCondicaoReq","setListaCondicaoReq","listaCampos","setListaCampos","setListaFiltros","ehBooleano","setEhBooleano","ehData","setEhData","listaCamposBooleano","listaCamposString","listaCamposData","adicionarFiltro","validarFiltrosPreenchidos","labelCampo","labelCondicao","validarFiltrar","booleano","camposKey","buscarCondicao","removerFiltroLista","BreadcrumbAbrirChamado","InputCep","InputCpfCnpj","InputPercentual","precisao","valorTemp","zeros","repeat","valueTemp","myInputRef","NumericInputDemo","styleForm","NotaFiscalEntradaButton","FiltroProdutoKit","listaItensTemp","produtoTemp","valor_unitario","produto_id","pkc_ativo","adicionarElemento","widgetProps","defaults","eval","tratarErro","editarElemento","tipoDeValidacao","botoesValidacao","valuesBotoes","objPermissao","validarPermmissao","acao","retornaAcao","permissao","Endereco","alterarPropriedadeEndereco","coluna","indexPrincipal","editEndereco","removerEndereco","OrgaoSubjacente","openModalOrgaoSubjacente","setOpenModalOrgaoSubjacente","alterarPropriedade","EditableCell","Email","openModalEmail","setOpenModalEmail","alterarPropriedadeEmail","removeEmail","pem_enviarcobranca","editEmail","Telefone","openModalTelefone","setOpenModalTelefone","tagPrincipal","tagsAtivo","editingKey","alterarPropriedadeTelefone","modalExcluirTelefone","removeTelefone","tag","psc_observacao","editaTelefone","Ocupacao","openModalOcupacao","setOpenModalOcupacao","modalExcluirOcupacao","poc_id","removeOcupacao","alterarPropriedadeOcupacao","editaOcupacao","Nacionalidade","tagsData","selectedTags","setSelectedTags","openModalNacionalidade","setOpenModalNacionalidade","pse_nacionalidade","excluirNacionalidade","pen_dataentradapais","pen_observacao","nextSelectedTags","editarNacionalidade","openModalOutroContato","setOpenModalOutroContato","modalExcluirOutroContato","removeOutroContato","alterarPropriedadeOutrosContatos","editaOutroContato","PessoasAutorizadas","openModalPessoaAutorizada","setOpenModalPessoaAutorizada","removePessoaAutorizada","alterarPropriedadePessoaAutorizada","editaPessoaAutorizada","Veiculos","openModalVeiculo","setOpenModalVeiculo","trv_ativo","alterarPropriedadeVeiculo","subtrairSomarDias","NovaData","setMinutes","getMinutes","setSeconds","getSeconds","isValid","DataInput","SelectPaginacao","totalReg","setTotalReg","trunc","InputPreco","aposVirgula","InputValor"],"mappings":"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","file":"static/js/main.76178e41.chunk.js","sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEM1RUQxNERGQjY3MTFFQkFGMkI5MzIzQjVCRjQwODMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEM1RUQxNEVGQjY3MTFFQkFGMkI5MzIzQjVCRjQwODMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowQzVFRDE0QkZCNjcxMUVCQUYyQjkzMjNCNUJGNDA4MyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowQzVFRDE0Q0ZCNjcxMUVCQUYyQjkzMjNCNUJGNDA4MyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoYBjOAAAAM+SURBVHjatFZbSBRRGP5mZm+6q6u76uIVVteF7aZGPSiZaJEPQlCRXai3ICiCCB+inuwhCSSCICKkHoPMQsKHMipDzDASLyhali0qVl7X3dVVd6Z/ctVZnbNa0Q8fZ9nzzf+d/ztn/jOcJEn436GJNHnuZbM8X0Y4RCggZBIEQpDwhdBCeEpouLN/zyIrD8eqhATKabhOyNrEYgcIV0jo0aZEKHk0DTWEE3/hzEPCGRLzM0VIIEounVD8D1vwWraYhGZZe3KPKfDhDcS+Lgi0Jt6eDdGxFaLFBk6rW8ssDuU5va4SquIoDaqe6uvvY/ybG8HgatVmox4Boxn6k+cpi+qyyqmaWvkHrzhFVWpMQ99HjA2GC8ghLy7a7wHn7mPZVhXKuyRCUco6RbruNohiuEChKw03ThVCKwiQRtwskaxQ3pU9OcJiBnw+aAQezmQLMm1m7HLYYE80/Z7btyMDz6emscg+BHLehmWRfObbynO4drwAqfHR6+bSrTHQBrhIIvlKuxxqjMOSG87UBFUBOeKMOpTEBxHLlnEo7VJtLykSWZVgZC4zyRyF7TR2SgvwcBpm21quRFRj9PAW5DpTEMlKg8WCIUSxKKJSZFD91bVhQGdFpAx3NdsgcUzKoFKkTY0hH9w+xDEzfBIsGIU+UotpU4rUs1gtXAKGedO6/73Qoo63b9TH6pUi8p0wqm4JhxrBhengqifzQREPtFvoAUMkgdFQ3iUR6jFzNFSy2N8XeNR95TDh9WHK50er24t3Q4GNqqgM5Q07unLnlJtkyYolk150Nvego2sAnkQehaV6CJyEfreI2qZnsCZbkbfbhaydmeAFXinwKpRP9T5JoOHtrMfvev+iHb3ddOEFV0/31VwTihwCDjzxkI+rz2nMRpSW5SODehpFL2EvVTEW6WZMbHrc3N7T8Tl13cup55Ft0qBpfF6lXetx9vKxVqroIAn8VE7xa7kyQWfQOe3ZaY3UZsPmRgKiugDx7OmJjePDE0VrBSJ+SMiRc6Ha6Zn2VY9PeopmJmdildaB9iAmPsZjjY9tijUbKzpuV/T/8dfK2si7eNMgBsUculuSeJ77QbZ0tN+6NLeZZ38JMADHSB3ZYeASkAAAAABJRU5ErkJggg==\"","import { drawerActions, manutencaoActions, listagemActions, tributacaoActions, listaTabelaDadosActions, parametrosEmpresaActions, selectPaginadoActions } from '../actions'\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case drawerActions.CHANGE:\r\n return {\r\n ...state,\r\n ui: action.data\r\n };\r\n\r\n case manutencaoActions.CHANGE:\r\n return {\r\n ...state,\r\n manutencao: action.data\r\n };\r\n\r\n case listagemActions.CHANGE:\r\n return {\r\n ...state,\r\n listagem: { ...state.listagem, ...action.data }\r\n };\r\n\r\n case tributacaoActions.CHANGE:\r\n return {\r\n ...state,\r\n tributacao: { ...state.tributacao, ...action.data }\r\n };\r\n case parametrosEmpresaActions.CHANGE:\r\n return {\r\n ...state,\r\n parametrosEmpresa: { ...state.parametrosEmpresa, ...action.data }\r\n };\r\n\r\n case selectPaginadoActions.CHANGE:\r\n return {\r\n ...state,\r\n listaSelectPaginacao: action.data\r\n };\r\n\r\n case listaTabelaDadosActions.CHANGE:\r\n return {\r\n ...state,\r\n listaTabelaDados: action.data\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Layout, Row, Col, Typography, Form, Input, Checkbox, Button, notification } from 'antd';\r\nimport { UnlockFilled, MailOutlined, SmileOutlined, SendOutlined, DesktopOutlined, EnvironmentOutlined, PhoneOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport { EsqueciSenha, SelecoesEmpresa } from \"./pages\";\r\nimport { login, setNomeUsuario, setIdUsuario, setEmailUsuario, getIdUsuario, setTelaAnterior, removerTelaAnt, removerLocal } from '../../services/auth';\r\n\r\nimport { ModulosPage, SlideLogin } from \"../../components\";\r\nimport { encodeBase64, parseToken } from '../../services/funcoes';\r\n\r\nconst FORMULARIO = {\r\n LOGIN: 1,\r\n SELECIONA_EMPRESA: 2,\r\n ESQUECI_SENHA: 3,\r\n}\r\n\r\nexport default function Login() {\r\n\r\n const [formularioExibir, setFormularioExibir] = useState(FORMULARIO.LOGIN);\r\n const [carregando, setCarregando] = useState(false);\r\n const [formulario] = Form.useForm();\r\n\r\n const onFinish = values => {\r\n setCarregando(true);\r\n values.senha = encodeBase64(values.senha);\r\n delete values.remember;\r\n api.post('Login/EfetuarLogin', values).then(res => {\r\n if (res.status === 200) {\r\n const token = res.data;\r\n let dadosUsuario = parseToken(res.data);\r\n setNomeUsuario(dadosUsuario.name);\r\n if (parseInt(getIdUsuario()) !== parseInt(dadosUsuario.UsuarioID)) {\r\n removerTelaAnt()\r\n }\r\n setIdUsuario(dadosUsuario.UsuarioID);\r\n setEmailUsuario(dadosUsuario.email);\r\n login(token);\r\n removerLocal();\r\n setFormularioExibir(FORMULARIO.SELECIONA_EMPRESA);\r\n }\r\n }).catch( err => {\r\n if (!!err) {\r\n if (!!err.response && !!err.response.data) {\r\n notification.error({ message: err.response.data || 'Falha ao efetuar o login' });\r\n } else {\r\n notification.error({ message: 'Falha ao efetuar o login', description: 'Verifique os dados informados e tente novamente.' });\r\n }\r\n } else {\r\n notification.error({ message: 'Falha ao efetuar o login', description: 'Verifique os dados informados e tente novamente.' });\r\n }\r\n }).finally(() => setCarregando(false));\r\n };\r\n\r\n const onFinishFailed = errorInfo => {\r\n console.log('Erro ao efetuar o login:', errorInfo);\r\n };\r\n\r\n useEffect(() => {\r\n localStorage.removeItem(\"@GestorWeb-Token\");\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Gestor\r\n \r\n \r\n \r\n Identifique abaixo suas credenciais para realizar o acesso.

\r\n
\r\n \r\n
\r\n {formularioExibir === FORMULARIO.LOGIN &&\r\n
\r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Salvar meus dados de login\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n {formularioExibir === FORMULARIO.SELECIONA_EMPRESA && }\r\n {formularioExibir === FORMULARIO.ESQUECI_SENHA && setFormularioExibir(FORMULARIO.LOGIN)} />}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n www.gestorweb.com.br | (55) 3535-4900\r\n \r\n \r\n | Três de Maio - RS - 98910-000\r\n \r\n \r\n \r\n \r\n Todos os direitos reservados - Gestor Web ®\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Layout, Row, Col, Form, Input, Button, notification, Typography } from 'antd';\r\nimport { UnlockFilled, SendOutlined, DesktopOutlined, PhoneOutlined, EnvironmentOutlined } from '@ant-design/icons';\r\n\r\nimport { SlideLogin } from \"../../components\";\r\nimport api from '../../services/api';\r\n\r\nexport default function RecuperarSenha() {\r\n const [usuarioEmail, setUsuarioEmail] = useState('');\r\n const [validaHash, setValidaHash] = useState(false);\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n let email = atob(window.location.href.split('usu=')[1]);\r\n setUsuarioEmail(email);\r\n verificarHashParaAlterarSenha();\r\n }, []);\r\n\r\n function verificarHashParaAlterarSenha() {\r\n api.get(`Usuario/VeriricarHashParaAlterarSenha/${atob(window.location.href.split('usu=')[1])}`).then(\r\n res => {\r\n if (res.data) {\r\n console.log(res.data)\r\n setValidaHash(true);\r\n } else {\r\n notification.warn({ description: 'Sua Senha Foi Alterada Recentemente, tente novamente mais tarde!', message: 'Aviso' });\r\n voltarLogin();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro.response);\r\n // if (erro.response.data.Message === \"Tempo para alterar a senha exgotado!\") {\r\n notification.warn({ description: \"Tempo limite de 30 minutos para alterar a senha exgotado! Tente novamente mais tarde!\", message: \"Aviso\" });\r\n voltarLogin();\r\n //}\r\n }\r\n );\r\n };\r\n\r\n function alterarSenha() {\r\n if (validaHash) {\r\n if (form.getFieldValue().usu_senha === form.getFieldValue().usu_confirmaSenha) {\r\n let dados = {\r\n novaSenha: btoa(form.getFieldValue().usu_senha),\r\n usu_email: usuarioEmail\r\n };\r\n api.put(`Usuario/AlterarSenha`, dados).then(\r\n res => {\r\n notification.success({ description: 'Sua Senha Foi Alterada Com Sucesso!', message: 'Aviso' });\r\n voltarLogin();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n } else {\r\n notification.warn({ description: 'As senhas informadas não conferem, favor verificar!', message: 'Aviso' })\r\n }\r\n } else {\r\n notification.warn({ description: 'Não foi possivel validar hash, Tempo esgotado, favor enviar novo pedido de recuperação de senha!', message: 'Aviso' })\r\n }\r\n };\r\n\r\n function voltarLogin() {\r\n setTimeout(() => { window.location = '/#/' }, 2000);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \"Gestor\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n ({\r\n validator(_, value) {\r\n if (!value || getFieldValue('usu_senha') === value) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(new Error('As senhas informadas não conferem!'));\r\n },\r\n }),]}>\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n www.gestorweb.com.br | (55) 3535-4900\r\n \r\n \r\n | Três de Maio - RS - 98910-000\r\n \r\n \r\n \r\n \r\n Copyright © Gestor Web 2022 - Todos os direitos reservados\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Layout, Row, Col, Form, Input, Button, Typography, Modal } from 'antd';\r\nimport { UnlockFilled, SendOutlined } from '@ant-design/icons';\r\n\r\nimport api from \"../../services/api\";\r\nimport { SlideLogin } from \"../../components\";\r\n\r\nexport default function AtivarConta() {\r\n const [dadosUsuario, setDadosUsuario] = useState({});\r\n const [senhaValida, setSenhaValida] = useState(false);\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n carregarUsuario();\r\n }, []);\r\n\r\n function carregarUsuario() {\r\n let url = window.location.href;\r\n let dadosUsuario = atob(url.substr(url.lastIndexOf('/') + 1)).split('|');\r\n api.get(`Usuario/RetornaUsuarioEmail?email=${dadosUsuario[0]}`).then(\r\n res => {\r\n if (!!res.data) {\r\n if (!!res.data.usu_ativo) {\r\n Modal.warning({\r\n title: 'Atenção!',\r\n content: 'Usuário já está ativo!',\r\n onOk() {\r\n voltarLogin();\r\n }\r\n });\r\n } else {\r\n setDadosUsuario(res.data)\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function ativarUsuario() {\r\n let dados = {};\r\n dados.usu_email = dadosUsuario.usu_email;\r\n dados.novaSenha = btoa(form.getFieldValue().usu_senha);\r\n api.put(`Usuario/AtivarUsuario`, dados).then(\r\n res => {\r\n Modal.success({\r\n title: 'Aviso!',\r\n content: 'Sua conta foi ativada com sucesso!',\r\n onOk() {\r\n voltarLogin();\r\n }\r\n });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarSenha() {\r\n let usu_senha = '';\r\n let usu_confirmaSenha = '';\r\n if (!!form.getFieldValue().usu_senha) {\r\n usu_senha = form.getFieldValue().usu_senha.trim();\r\n }\r\n if (!!form.getFieldValue().usu_confirmaSenha) {\r\n usu_confirmaSenha = form.getFieldValue().usu_confirmaSenha.trim();\r\n }\r\n\r\n form.setFieldsValue({ usu_senha: usu_senha, usu_confirmaSenha: usu_confirmaSenha });\r\n if (usu_senha.length >= 6 && usu_senha === usu_confirmaSenha) {\r\n let letrasMinusculas = /[a-z]+/.test(usu_senha);\r\n let letrasMaiusculas = /[A-Z]+/.test(usu_senha);\r\n let numeros = /[0-9]+/.test(usu_senha);\r\n if (letrasMinusculas && letrasMaiusculas && numeros) {\r\n setSenhaValida(true);\r\n } else {\r\n setSenhaValida(false);\r\n }\r\n } else {\r\n setSenhaValida(false);\r\n }\r\n };\r\n\r\n function voltarLogin() {\r\n setTimeout(() => {\r\n window.location = '/#/';\r\n }, 2000);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \"Gestor\r\n \r\n \r\n \r\n Olá {dadosUsuario.usu_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Antes de ativar sua conta, precisamos definir sua senha de acesso.
\r\n A senha deve atender os seguintes requisitos:

\r\n
\r\n \r\n \r\n 1. Mínimo de 6 caracteres;\r\n \r\n \r\n 2. Deve conter números e letras (maiúsculas e minúsculas);\r\n \r\n
\r\n \r\n \r\n \r\n } onChange={() => { validarSenha() }}/>\r\n \r\n \r\n \r\n \r\n } onChange={() => { validarSenha() }}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import React, { useState } from 'react';\r\nimport {Row, Button, Result,Form, Card, notification, Drawer, List} from 'antd';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport api from '../../services/api';\r\nimport { login } from '../../services/auth';\r\n\r\nimport iconEntidade from '../../assets/i-contato.png';\r\nexport default function AtivarNovoEmail() {\r\n const history = useHistory();\r\n const [form] = Form.useForm();\r\n const [ carregando, setCarregando ] = useState(false);\r\n const [ selecionarEntidade, setSelecionarEntidade ] = useState(false);\r\n const [ entidadeUsuario, setEntidadesUsuario ] = useState([]);\r\n \r\n const onFinish = values => {\r\n setCarregando(true);\r\n api.post('/auth', values).then(res => {\r\n if (res.status === 200) {\r\n const token = res.data.token;\r\n login(token);\r\n console.log('entidade logado');\r\n //history.push('/home');\r\n }\r\n }, err => {\r\n notification.error({ message: err.response.data.mensagem, description: 'Verifique os dados informados e tente novamente.' });\r\n }).finally(() => setCarregando(false));\r\n };\r\n\r\n const onFinishFailed = errorInfo => {\r\n console.log('Failed:', errorInfo);\r\n };\r\n\r\n function acessarEntidade(entidade) {\r\n setCarregando(true);\r\n api.post('/auth/entidade', { empresa_id: entidade.id }).then(res => {\r\n login(res.data.token);\r\n \r\n //history.push('/home');\r\n }, err => {\r\n notification.error({ message: 'Erro ao carregar os dados', description: err.response.data.mensagem });\r\n }).finally(() => setCarregando(false));\r\n }\r\n\r\n return (\r\n \r\n
\r\n







\r\n \r\n \r\n
\r\n ]}\r\n />,\r\n setSelecionarEntidade(false)} visible={selecionarEntidade}>\r\n (\r\n \r\n } onClick={() => acessarEntidade(item)}>\r\n \r\n

{item.nomefantasia}

\r\n \r\n ]}/>\r\n
\r\n
\r\n )} />\r\n
\r\n \r\n );\r\n \r\n}","import React from \"react\";\r\nimport { Col, Form, Input, notification, Row } from \"antd\";\r\nimport InputNumber from \"rc-input-number\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function ManutencaoEtiquetaServidor({ formulario, carregando, aoSalvar }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = record => {\r\n let operacao = 'Incluir';\r\n if (!!record.met_id) {\r\n operacao = 'AlterarAsync';\r\n }\r\n carregando(true);\r\n api.post(`ModeloEtiqueta/${operacao}`, record).then(\r\n res => {\r\n notification.success({ description: `Modelo ${operacao === 'Incluir' ? 'incluído' : 'editado'} com sucesso!`, message: `Aviso` });\r\n aoSalvar();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};","import React, { useState } from 'react';\r\nimport { Button, Col, Form, Modal, Row } from 'antd';\r\nimport { CloseOutlined, ExclamationCircleOutlined, MinusOutlined, SaveOutlined } from '@ant-design/icons';\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoEtiquetaServidor from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerEtiquetaServidor() {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [formulario] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados) {\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formulario.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-met_descricao' } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n }\r\n footer={\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }>\r\n { fecharDrawer() }} />\r\n
\r\n
\r\n );\r\n};","import React, { useEffect } from \"react\";\r\nimport { Col, notification, Row, Tag, Modal } from \"antd\";\r\nimport { DeleteOutlined, EditFilled, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport DrawerEtiquetaServidor from \"./drawer\";\r\nimport { listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, EditarTabela, Excluir, PesquisaOrdenacao, TabelaDados } from \"../../components\";\r\n\r\n\r\nexport default function EtiquetaServidor() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-met_descricao' } })\r\n }, []);\r\n\r\n function editarModelo(registro) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro } });\r\n };\r\n\r\n function modalExcluirModelo(registro) {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o modelo selecionado?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n removerModelo(registro);\r\n }\r\n });\r\n };\r\n\r\n function removerModelo(registro) {\r\n api.delete(`ModeloEtiqueta/ExcluirAsync?Id=${registro.met_id}`).then(\r\n res => {\r\n if (res.data) {\r\n notification.success({ description: 'Modelo removido com sucesso!' });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-met_descricao' } });\r\n } else {\r\n notification.warning({ description: 'Modelo não foi removido!' });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n \r\n {met_id}\r\n \r\n \r\n \r\n {met_descricao}\r\n \r\n \r\n Colunas {met_colunas}\r\n \r\n \r\n ),\r\n }, {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (registro) => (\r\n \r\n {/* \r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Upload, Button, notification, Form, Typography, Divider, Modal } from \"antd\";\r\n\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { getBase64, validarImportacao } from \"../../services/funcoes\";\r\nimport { CloudUploadOutlined } from \"@ant-design/icons\";\r\nimport { BreadcrumbPage } from \"../../components\";\r\nimport api from \"../../services/api\";\r\nimport { getEntidadeImp, setEntidadeImp } from \"../../services/auth\";\r\n\r\nexport default function ImportarPessoa() {\r\n const [arquivoBase64, setArquivoBase64] = useState(\"\");\r\n const [arquivo, setArquivo] = useState(null);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [entidade, setEntidade] = useState();\r\n const [carregando, setCarregando] = useState(false);\r\n const apiArquivo = window.location.href.indexOf('localhost') > -1 || window.location.href.indexOf('homologacao') > -1 ? 'http://homologacao.gestorweb.com.br/' : 'https://app.gestorweb.com.br/';\r\n\r\n const listaEntidades = {\r\n 0: 'Cliente',\r\n 1: 'Fornecedor',\r\n 2: 'Transportador',\r\n 3: 'Funcionario',\r\n 4: 'Vendedor',\r\n 5: 'Produto'\r\n };\r\n\r\n const listaDocumentosPadrao = {\r\n 0: 'ImportarCliente.xlsx',\r\n 1: 'ImportarFornecedores.xlsx',\r\n 2: 'ImportarTransportador.xlsx',\r\n 3: 'ImportarFuncionario.xlsx',\r\n 4: 'ImportarVendedores.xlsx',\r\n 5: 'ImportarProdutos.xlsx'\r\n };\r\n\r\n const props = {\r\n name: 'file',\r\n multiple: false,\r\n showUploadList: false,\r\n maxCount: 1,\r\n disabled: !!arquivo,\r\n beforeUpload(file) {\r\n if (file.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {\r\n notification.warning({ description: 'Favor informar uma planilha no formato XLSX!', message: 'Aviso' });\r\n return false;\r\n }\r\n getBase64(file).then(base64 => {\r\n setArquivoBase64(base64);\r\n setArquivo(file);\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!!!entidade) {\r\n setEntidade(getEntidadeImp());\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && (!!manutencao.dados.entidade || manutencao.dados.entidade === 0)) {\r\n setEntidade(manutencao.dados.entidade);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!entidade || entidade === 0) {\r\n setEntidadeImp(entidade);\r\n }\r\n }, [entidade])\r\n\r\n function importar() {\r\n setCarregando(true);\r\n api.post(`ImportarDados/Importar`, { entidade: { Value: listaEntidades[entidade] }, dados: { Value: arquivoBase64 } }).then(\r\n (res) => {\r\n if (!!res.data) {\r\n validarImportacao(res.data, listaEntidades[entidade]);\r\n } else {\r\n Modal.error({ title: `Não foi possivel importar a planilha de ${listaEntidades[entidade]}` });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n notification.warning({ description: erro.response.data.Message, message: 'Aviso' });\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n setCarregando(false);\r\n excluir();\r\n }\r\n );\r\n };\r\n\r\n function excluir() {\r\n setArquivoBase64(\"\");\r\n setArquivo(null);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {`Importar Importar dados do cadastro de {entidade === 3 ? 'Funcionário' : listaEntidades[entidade]}\r\n \r\n \r\n Importe aqui os dados a partir de uma planilha padrão para o GestorWeb\r\n \r\n \r\n \r\n \r\n {!!!arquivo &&
\r\n \r\n \r\n

\r\n \r\n

\r\n \r\n \r\n

Arraste a planilha aqui! (o arquivo deve estar no formato .xlsx)

\r\n \r\n \r\n \r\n \r\n
\r\n
}\r\n {!!arquivo &&
\r\n \r\n \r\n \r\n \r\n \r\n {arquivo.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
}\r\n
\r\n \r\n Clique aqui para realizar o download da planilha modelo para importar os dados.\r\n \r\n
\r\n
\r\n );\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, notification } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport { FormGW, InputPreco } from \"../../components\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ManutencaoAntecipacao({ formulario, carregando, aoSalvar }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = record => {\r\n record.acf_entradasaida = 2;\r\n carregando(true);\r\n api.post(`AntecipacaoClienteFornecedor/IncluirAntecipacao`, record).then(\r\n res => {\r\n notification.success({ description: \"Antecipação incluída com sucesso!\", message: \"Aviso\" })\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ({cf.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoAntecipacao from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerAntecipacao({ dataPesquisa }) {\r\n\r\n const [form] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados) {\r\n form.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '%2Bfpg_descricao' } });\r\n form.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { Row, Col, Form, Button, Collapse, Modal, notification, Tag, Radio } from 'antd';\r\nimport { ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, PrinterOutlined, DeleteOutlined, ExclamationCircleOutlined, CloseOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber, FormatDate } from \"../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from '../../actions';\r\nimport { TabelaDados, Excluir, Imprimir, Data, BreadcrumbIncluirDados, FiltroSearch } from '../../components';\r\nimport { linkApi } from '../../services/auth';\r\nimport DrawerAntecipacao from './drawer';\r\nimport ComboData from '../../components/comboData';\r\n\r\nexport default function AntecipacaoClienteForncedor() {\r\n\r\n const [open, setOpen] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [parametrosValePresente] = Form.useForm();\r\n const [dataPesquisa, setDataPesquisa] = useState(new Date().toLocaleDateString());\r\n const [dataAtual] = useState(new Date());\r\n\r\n useEffect(() => {\r\n let _tipoPessoa = !!!parametrosValePresente.getFieldsValue().tipoPessoa ? 2 : parametrosValePresente.getFieldsValue().tipoPessoa;\r\n parametrosValePresente.setFieldsValue({ DataFinal: moment(new Date()) });\r\n parametrosValePresente.setFieldsValue({ DataInicial: moment(parametrosValePresente.getFieldValue().dataPesquisa) });\r\n parametrosValePresente.setFieldsValue({ tipoPessoa: 2 });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '%2Bfpg_descricao' } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${moment(parametrosValePresente.getFieldValue().DataFinal).format('YYYY-MM-DD')}&dataInicial=${moment(parametrosValePresente.getFieldValue().DataInicial).format('YYYY-MM-DD')}&EntradaSaida=${_tipoPessoa}&filtro=` } })\r\n }, []);\r\n\r\n function aplicarFiltrosAvancados() {\r\n let filtros = '';\r\n filtros += `&SomenteAtivos=true`;\r\n filtros += `&EntradaSaida=${parametrosValePresente.getFieldValue().tipoPessoa}`\r\n filtros += `&dataInicial=${(!!!parametrosValePresente.getFieldValue().DataInicial ? moment(dataAtual).format(\"YYYY-MM-DD\") : moment(parametrosValePresente.getFieldValue().DataInicial).format('YYYY-MM-DD'))}`;\r\n filtros += `&dataFinal=${(!!!parametrosValePresente.getFieldValue().DataFinal ? moment(dataAtual).format(\"YYYY-MM-DD\") : moment(parametrosValePresente.getFieldValue().DataFinal).format('YYYY-MM-DD'))}`;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtros } });\r\n };\r\n\r\n const modalImprimir = (record) => {\r\n Modal.confirm({\r\n title: 'Imprimir',\r\n icon: ,\r\n content: `Confirmar impressao do vale ${record.acf_nomepresenteado} no valor de ${FormatNumber(record.acf_valor, true)}?`,\r\n okText: 'Imprimir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n imprimir(record);\r\n }\r\n });\r\n };\r\n\r\n function excluirVale(valePresente) {\r\n api.post(`AntecipacaoClienteFornecedor/ExcluirValePresente/${valePresente.acf_id}`).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n ).catch(\r\n (erro) => {\r\n notification.warning({ message: `Aviso!`, description: erro.response.data });\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '%2Bfpg_descricao' } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&SomenteAtivos=true&dataFinal=${moment(parametrosValePresente.getFieldValue().DataFinal).format('YYYY-MM-DD')}&dataInicial=${moment(parametrosValePresente.getFieldValue().DataInicial).format('YYYY-MM-DD')}&filtro=` } })\r\n }\r\n );\r\n };\r\n\r\n const modalExcluirVale = (ValePresente) => {\r\n let mensagem = (ValePresente.acf_valepresente ? `Deseja realmente excluir o Vale de R$ ${FormatNumber(ValePresente.acf_valor, true)} presenteado à ${ValePresente.acf_nomepresenteado} ?` : `Deseja realmente excluir a antecipação do cliente ${ValePresente.pes_nome} no valor de R$ ${FormatNumber(ValePresente.acf_valor, true)}?`)\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: mensagem,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirVale(ValePresente);\r\n }\r\n });\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const imprimir = ValePresente => {\r\n window.open(linkApi + 'AntecipacaoClienteFornecedor/GerarComprovante?idValePresente=' + ValePresente.acf_id, \"_blank\");\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n let filtros = '';\r\n filtros += `&SomenteAtivos=true`;\r\n filtros += `&EntradaSaida=${parametrosValePresente.getFieldValue().tipoPessoa}`\r\n filtros += `&dataInicial=${moment(parametrosValePresente.getFieldValue().dataPesquisa).format('YYYY-MM-DD')}`;\r\n filtros += `&dataFinal=${FormatDate(new Date().toLocaleDateString())}`;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtros } });\r\n parametrosValePresente.setFieldsValue({ DataFinal: moment(new Date()) });\r\n parametrosValePresente.setFieldsValue({ DataInicial: moment(parametrosValePresente.getFieldValue().dataPesquisa) });\r\n }} />\r\n \r\n \r\n \r\n aplicarFiltrosAvancados()}>\r\n Cliente\r\n Fornecedor\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n \r\n {pes_nome}\r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 100,\r\n render: ({ acf_datalancamento }) => (\r\n
\r\n {moment(acf_datalancamento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n render: ({ acf_valor }) => (\r\n
\r\n {FormatNumber(acf_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Utilizado (R$)',\r\n align: 'right',\r\n render: ({ valorUtilizado }) => (\r\n
\r\n {FormatNumber(valorUtilizado, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Saldo (R$)',\r\n align: 'right',\r\n render: ({ saldoAntecipacao }) => (\r\n
\r\n {FormatNumber(saldoAntecipacao, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record, dados) => (\r\n
\r\n \r\n \r\n } onClick={() => { modalImprimir(dados) }} />\r\n \r\n \r\n modalExcluirVale(dados)} icon={} />\r\n \r\n \r\n
\r\n ),\r\n }\r\n ]} />\r\n \r\n
\r\n
\r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Col, Row, Typography } from 'antd';\r\n\r\nimport { Planos } from \"../\";\r\nimport { BreadcrumbAbrirChamado } from \"../../components\";\r\n\r\nexport default function SemAcesso() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Seu plano atual não possui esta opção.\r\n \r\n \r\n \r\n \r\n Consulte nossos planos e faça um upgrade!\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, notification, InputNumber } from \"antd\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport api from \"../../services/api\";\r\n\r\nexport default function ManutencaoAliquotaSimples({ form, carregando, aoSalvar }) {\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = values => {\r\n let enderecoUrl = 'AliquotaSimplesNacional/';\r\n carregando(true);\r\n\r\n if (values.asn_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ description: 'Registro alterado com sucesso!', message: 'Aviso' });\r\n aoSalvar();\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n }\r\n );\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ description: 'Registro alterado com sucesso!', message: 'Aviso' });\r\n aoSalvar();\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n }\r\n );\r\n };\r\n };\r\n\r\n useEffect(() => {\r\n if (!!ui.showDrawer) {\r\n buscarDados();\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n function buscarDados() {\r\n let data = new Date();\r\n api.get(`AliquotaSimplesNacional/Listar?mes=${data.getMonth() + 1}&ano=${data.getFullYear()}`).then(\r\n res => {\r\n let dados = res.data.items[0];\r\n if (!!!dados) {\r\n\r\n let dataAtual = new Date();\r\n dados = { asn_mes: dataAtual.getMonth() + 1, asn_ano: dataAtual.getFullYear() };\r\n }\r\n form.setFieldsValue(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n};","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoAntecipacao from './manutencao';\r\nimport { drawerActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerAliquotaSimples({ dataPesquisa }) {\r\n\r\n const [form] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-asn_id' } });\r\n form.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col } from 'antd';\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from '../../actions';\r\nimport { TabelaDados, BreadcrumbPage, BotaoIncluirDados, BotaoAbrirChamado } from '../../components';\r\nimport DrawerAliquotaSimples from './drawer';\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function AliquotaSimples() {\r\n const [{ ui, listaTabelaDados }, dispatch] = useStateValue();\r\n const [possuiAliquotaMes, setPossuiAliquotaMes] = useState(true);\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-asn_id' } });\r\n }, []);\r\n\r\n function retornaMesExtenso(mes) {\r\n switch (mes) {\r\n case 1:\r\n return 'Janeiro';\r\n case 2:\r\n return 'Fevereiro';\r\n case 3:\r\n return 'Março';\r\n case 4:\r\n return 'Abril';\r\n case 5:\r\n return 'Março';\r\n case 6:\r\n return 'Junho';\r\n case 7:\r\n return 'Julho';\r\n case 8:\r\n return 'Agosto';\r\n case 9:\r\n return 'Setembro';\r\n case 10:\r\n return 'Outubro';\r\n case 11:\r\n return 'Novembro';\r\n case 12:\r\n return 'Dezembro';\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!!listaTabelaDados.itens && listaTabelaDados.itens.length > 0) {\r\n if (listaTabelaDados.itens[0].asn_mes !== (new Date().getMonth() + 1)) {\r\n setPossuiAliquotaMes(false);\r\n } else {\r\n setPossuiAliquotaMes(true);\r\n }\r\n } else {\r\n setPossuiAliquotaMes(false);\r\n }\r\n }, [listaTabelaDados.itens])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {possuiAliquotaMes ? 'ALTERAR' : 'INCLUIR'} {retornaMesExtenso(new Date().getMonth() + 1).toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {retornaMesExtenso(asn_mes)}\r\n
\r\n )\r\n }, {\r\n title: 'Ano',\r\n render: ({ asn_ano }) => (\r\n
\r\n {asn_ano}\r\n
\r\n )\r\n }, {\r\n title: 'Alíquota (%)',\r\n align: 'right',\r\n render: ({ asn_percaliquota }) => (\r\n
\r\n {FormatNumber(asn_percaliquota, true, false, 2)}\r\n
\r\n )\r\n }\r\n ]}\r\n />\r\n
\r\n \r\n
\r\n )\r\n};","import React, { useEffect } from 'react';\r\nimport { Route, Switch, HashRouter } from \"react-router-dom\";\r\nimport { Layout, Modal } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from \"../../state\";\r\nimport { MenuPage, HeaderPage } from \"../../components\";\r\nimport { getEmpresa, setNavegacao, setPermissoes, setStatusPlano } from '../../services/auth'\r\nimport { tributacaoActions, parametrosEmpresaActions } from \"../../actions\";\r\nimport {\r\n Login, Inicial, Dashboard, Clientes, ResumoCliente, Fornecedor, Transportador, Funcionario, Vendedor, TributacaoIcms, TributacaoPisCofins, NcmSubtituicaoTributaria,\r\n Marca, GrupoProduto, SubGrupo, Produto, GradeProduto, Preco, Etiqueta, ResumoProduto, RelatorioEtiqueta, ContaCorrente, ContaGerencial, OperacaoFiscal, OperacaoDebitoCredito,\r\n FormaPagamento, CondicaoPagamento, SerieFiscal, Historico, NotaFiscal, ImportarNotaFiscalEntrada, MonitoramentoNfe, NotaFiscalTransferencia, CartaCorrecaoNotaFiscal, InutilizacaoNfe, OrdemCompra,\r\n NotaFiscalDevolucao, Orcamento, StatusPedido, Pedidos, Condicional, ValePresente, Metas, Comissao, ConsultaComissao, ContaReceber, RecebimentoParcela, ContaPagar,\r\n PagamentoParcela, LancamentoCaixa, LancamentoCaixaManutencao, LancamentoCaixaTransferencia, FluxoCaixa, ConciliacaoCartoes, Cheque, Boleto, Remessa, RetornoBancario,\r\n RetornoBancarioLista, ArmazemEstoque, Estoque, EstoqueManutencao, Inventario, MatrizFilial, ConfiguracaoNfeNfce, GerenciarPdv, LimiteCreditoCliente, Contador, Plano,\r\n BandeiraCartaoEmpresa, CentroDistribuicao, Relatorios, AnaliseInadimplencia, PersonalizacaoRelatorios, FiltrosRelatorio, Usuario, GrupoUsuario, EfdIcmsIpi, Notificacao,\r\n ParametrosEmpresa, CamposPersonalizados, RelacionamentoFornecedorProduto, Restaurante, Hotel, ManutencaoProduto, VigenciaFiscal, TabelaRetencao, ParametrosLocal, ImportacaoNotaFiscalEntrada, AcaoUsuario, DownloadXml, KitComposicao\r\n} from \"../\";\r\nimport EtiquetaServidor from '../etiquetaServidor';\r\nimport ImportarPessoa from '../importarPessoa';\r\nimport AntecipacaoClienteForncedor from '../antecipacao';\r\nimport SemAcesso from '../semAcesso';\r\nimport AliquotaSimples from '../aliquotaSimplesNacional';\r\n\r\nexport default function Home() {\r\n\r\n const [{ tributacao, parametrosEmpresa }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n empresaUsuario();\r\n buscarParametros();\r\n resetarNav();\r\n buscarPermissoesUsuario();\r\n buscarStatusPlano();\r\n }, []);\r\n\r\n function empresaUsuario() {\r\n api.get('/Empresa/Buscar/' + parseInt(getEmpresa())).then(\r\n res => {\r\n if (res.status === 200) {\r\n dispatch({\r\n type: tributacaoActions.CHANGE,\r\n data: { empRegimeTributario: res.data.emp_regimetributario, empEnquadramentoFiscal: res.data.emp_enquadramentofiscal }\r\n });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.error(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarParametros() {\r\n api.get('/ParametroEmpresa/BuscarParametros').then(\r\n res => {\r\n if (res.status === 200) {\r\n dispatch({ type: parametrosEmpresaActions.CHANGE, data: { markupProduto: res.data.par_markupproduto, par_diastoleranciacobrancajuro: res.data.par_diastoleranciacobrancajuro, par_percjuromesparcelavencida: res.data.par_percjuromesparcelavencida } });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.error(erro);\r\n }\r\n );\r\n };\r\n\r\n function resetarNav() {\r\n if (!!!localStorage.getItem(\"@GestorWeb-Navegacao\")) {\r\n setNavegacao({ geral: {} });\r\n }\r\n };\r\n\r\n\r\n function buscarPermissoesUsuario() {\r\n api.get(`PermissaoUsuario/Listar`).then(\r\n (res) => {\r\n setPermissoes(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n if (erro.response.status === 426) {\r\n Modal.warn({\r\n title: erro.response.data,\r\n });\r\n window.location = '/Home#/semAcesso'\r\n } else {\r\n console.log(erro);\r\n }\r\n }\r\n );\r\n };\r\n\r\n function buscarStatusPlano() {\r\n api.get(`LocalPlano/VerificarStatusPlano`).then(\r\n res => {\r\n\r\n }\r\n ).catch(\r\n erro => {\r\n if (erro.response.status === 402) {\r\n setStatusPlano('VENCIDO');\r\n window.location = '/renovarPlano#'\r\n }\r\n }\r\n );\r\n };\r\n return (\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Alert, Calendar, Button } from \"antd\";\r\nimport { UserOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport { getNomeEmpresa, getNomeLocal, getNomeUsuario } from '../../services/auth';\r\n\r\nexport default function Inicial() {\r\n\r\n const [dataAtual, setDataAtual] = useState(new Date());\r\n\r\n useEffect(() => {\r\n\r\n setInterval(dataCalendar, 1000);\r\n }, []);\r\n\r\n function dataCalendar() {\r\n setDataAtual(new Date());\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dataAtual.getHours() > 12 ? 'Boa tarde!' : dataAtual.getHours() > 18 ? 'Boa Noite!' : ' Bom dia!'}\r\n \r\n \r\n {getNomeUsuario()}, \r\n \r\n \r\n você está acessado a empresa:\r\n \r\n \r\n {`${getNomeEmpresa()} / ${getNomeLocal()}`}.\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('DD')} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('MMM')}\r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('HH:mm')}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row, Spin, Table, Divider } from 'antd';\r\nimport { CartesianGrid, PieChart, Pie, Cell, XAxis, YAxis, Tooltip, ResponsiveContainer, Legend } from 'recharts';\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nconst colors = [\r\n '#0088FE', '#00C49F', '#FF8042', '#eb2f96', '#003c80', '#faad14', '#fa1414', '#9c00fe', '#14d0d9', '#5c5c5c'\r\n];\r\nconst numberFormatter = (item, casasDecimais = 2) => item.toLocaleString({ style: 'currency', currency: 'BRL' }, { minimumFractionDigits: casasDecimais, maximumFractionDigits: casasDecimais });\r\nconst dateFormatter = (item) => moment(item).format(\"DD/MM/YYYY\");\r\nconst dateFormatterMes = (item) => moment(item).format(\"DD/MM\");\r\nconst dateFormatterAnoMes = (item) => moment(item).format(\"MM/YYYY\");\r\n\r\nconst renderCustomizedLabelPie = ({ cx, cy, midAngle, innerRadius, outerRadius, percent }) => {\r\n let RADIAN = Math.PI / 180;\r\n let radius = innerRadius + (outerRadius - innerRadius) * 0.4;\r\n let x = cx + radius * Math.cos(-midAngle * RADIAN);\r\n let y = cy + radius * Math.sin(-midAngle * RADIAN);\r\n\r\n return (\r\n cx ? \"start\" : \"end\"}\r\n dominantBaseline=\"central\"\r\n >\r\n {(percent * 100).toFixed(0) >= 6 ? `${(percent * 100).toFixed(0)}%` : ''}\r\n \r\n );\r\n};\r\n\r\nexport const RenderChartPie = ({ resultSet, dataKey, nameKey }) => {\r\n\r\n if (!resultSet) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {resultSet.map((e, index) => (\r\n \r\n ))}\r\n \r\n \r\n numberFormatter(parseFloat(t))} />\r\n \r\n \r\n );\r\n};\r\n\r\nexport const TableRenderer = ({ dataSource, columns, carregando }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n );\r\n};\r\n\r\nexport const CartesianChart = ({ resultSet, children, ChartComponent, dataKey }) => (\r\n \r\n \r\n \r\n numberFormatter(v)} />\r\n \r\n {/**/}\r\n {children}\r\n numberFormatter(parseFloat(t))} labelFormatter={dateFormatter} />\r\n \r\n \r\n);\r\n\r\nexport const CartesianChartBar = ({ resultSet, children, ChartComponent, dataKey, legend, tickFormatter }) => (\r\n \r\n \r\n \r\n {!!dataKey ? : }\r\n numberFormatter(v)} />\r\n {children}\r\n numberFormatter(parseFloat(t))} labelFormatter={dateFormatterAnoMes}/>\r\n {legend && }\r\n \r\n \r\n);\r\n\r\nexport const ComponentSpin = ({ children, carregando }) => {\r\n if (carregando) {\r\n return \r\n {children}\r\n ;\r\n } else {\r\n return
\r\n {children}\r\n
;\r\n }\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Typography, Divider, Form, Select, Button } from 'antd';\r\nimport { ExclamationCircleOutlined, ArrowLeftOutlined } from \"@ant-design/icons\";\r\nimport { BarChart, Bar, LineChart, Line, LabelList } from 'recharts';\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { getEmpresa, getLocal } from '../../services/auth';\r\nimport { Data, BreadcrumbPage, BotaoAbrirChamado } from \"../../components\";\r\nimport { CartesianChart, CartesianChartBar, ComponentSpin, RenderChartPie, TableRenderer } from \"./funcoes\";\r\n\r\nconst numberFormatter = (item, casasDecimais = 2) => item.toLocaleString({ style: 'currency', currency: 'BRL' }, { minimumFractionDigits: casasDecimais, maximumFractionDigits: casasDecimais });\r\n\r\nexport default function VendaLiquida({ graficoSelecionado }) {\r\n const [formFiltros] = Form.useForm();\r\n const [vendaLiquidaDiaria, setVendaLiquidaDiaria] = useState([]);\r\n const [totalizadores, setTotalizadores] = useState({});\r\n const [pessoaFisicaJuridica, setPessoaFisicaJuridica] = useState([]);\r\n const [topVendedores, setTopVendedores] = useState([]);\r\n const [vendedores, setVendedores] = useState([]);\r\n const [vendaLiquidaCidades, setVendaLiquidaCidades] = useState([]);\r\n const [vendaLiquidaClientes, setVendaLiquidaClientes] = useState([]);\r\n const [listaLocaisUsuario, setListaLocaisUsuario] = useState([]);\r\n const [carregandoTotalizadores, setCarregandoTotalizadores] = useState(false);\r\n const [carregandoVendaDiaria, setCarregandoVendaDiaria] = useState(false);\r\n const [carregandoFisicaJuridica, setCarregandoFisicaJuridica] = useState(false);\r\n const [carregandoVendedor, setCarregandoVendedor] = useState(false);\r\n const [carregandoCliente, setCarregandoCliente] = useState(false);\r\n const [carregandoCidade, setCarregandoCidade] = useState(false);\r\n\r\n useEffect(() => {\r\n api.get(`/Local/ListarLocalUsuario?codigoEmpresa=${getEmpresa()}`).then(res => {\r\n if (res.status === 200) {\r\n setListaLocaisUsuario(res.data.items);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n let dataInicial = !!formFiltros.getFieldValue().dataInicial ? moment(formFiltros.getFieldValue().dataInicial).format('YYYY-MM-DD') : null;\r\n let dataFinal = !!formFiltros.getFieldValue().dataFinal ? moment(formFiltros.getFieldValue().dataFinal).format('YYYY-MM-DD') : null;\r\n let locais = !!formFiltros.getFieldValue().local ? formFiltros.getFieldValue().local.join(',') : '';\r\n\r\n let mesAnterior = moment(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30)).format(\"YYYY-MM-DD\");\r\n\r\n setCarregandoTotalizadores(true);\r\n setCarregandoVendaDiaria(true);\r\n setCarregandoFisicaJuridica(true);\r\n setCarregandoVendedor(true);\r\n setCarregandoCliente(true);\r\n setCarregandoCidade(true);\r\n api.get(`Dashboard/ListarVendaLiquidaDiaria?locais=${locais}&dataInicial=${mesAnterior}&dataFinal=${moment(new Date()).format(\"YYYY-MM-DD\")}`).then(\r\n (res) => {\r\n setVendaLiquidaDiaria(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoVendaDiaria(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarTotalizadoresVenda?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data && res.data.length > 0) {\r\n setTotalizadores(res.data[0]);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoTotalizadores(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarPessoaFisicaJuridica?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setPessoaFisicaJuridica(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoFisicaJuridica(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarVendedoresVendaLiquida?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setVendedores(res.data);\r\n setTopVendedores(res.data.slice(0, 10));\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoVendedor(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarVendaLiquidaCidades?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setVendaLiquidaCidades(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoCidade(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarVendaLiquidaClientes?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setVendaLiquidaClientes(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoCliente(false);\r\n });\r\n };\r\n\r\n const renderCustomizedLabelBar = (props) => {\r\n const { x, y, width, value } = props;\r\n\r\n return (\r\n \r\n 0 ? y - 10 : y + 10} fill={parseFloat(value) > 0 ? \"#0d49c3\" : \"red\"} textAnchor=\"middle\" dominantBaseline=\"middle\">\r\n {numberFormatter(parseFloat(value))}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Venda Venda Liquída \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Venda Líquida (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_vendaliquida ? totalizadores.vlr_vendaliquida : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Venda (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_total_venda ? totalizadores.vlr_total_venda : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Devolução de Venda (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_total_devvenda ? totalizadores.vlr_total_devvenda : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Venda Líquida por Dia - Últimos 30 dias\r\n \r\n <>\r\n {vendaLiquidaDiaria.length > 0 ? \r\n \r\n \r\n : \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Venda Líquida - Pessoa Física Jurídica\r\n \r\n
\r\n {pessoaFisicaJuridica.length > 0 ? : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Venda Líquida por Vendedor\r\n \r\n
\r\n (\r\n
\r\n {vendedor}\r\n
\r\n ),\r\n }, {\r\n title: 'Quant. Venda Líquida',\r\n align: 'right',\r\n render: ({ qtde_total }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_total), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Venda Líquida',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {numberFormatter(parseFloat(valor_total))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Top 10 Vendedores por Venda Líquida\r\n \r\n
\r\n {topVendedores.length > 0 ? \r\n \r\n \r\n \r\n \r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Venda Líquida por Cliente\r\n \r\n
\r\n (\r\n
\r\n {cliente}\r\n
\r\n ),\r\n }, {\r\n title: 'Quant. Venda Líquida',\r\n align: 'right',\r\n render: ({ qtde_total }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_total), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Venda Líquida',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {numberFormatter(parseFloat(valor_total))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Venda Líquida por Cidade UF\r\n \r\n
\r\n (\r\n
\r\n {cidade}\r\n
\r\n ),\r\n }, {\r\n title: 'UF',\r\n render: ({ uf }) => (\r\n
\r\n {uf}\r\n
\r\n ),\r\n }, {\r\n title: 'Quant. Venda Líquida',\r\n align: 'right',\r\n render: ({ qtde_total }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_total), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Venda Líquida',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {numberFormatter(parseFloat(valor_total))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Typography, Form, Divider, Select, Button } from 'antd';\r\nimport { ExclamationCircleOutlined, ArrowLeftOutlined } from \"@ant-design/icons\";\r\nimport { LineChart, Line } from 'recharts';\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { getEmpresa, getLocal } from '../../services/auth';\r\nimport { Data, BreadcrumbPage, BotaoAbrirChamado } from \"../../components\";\r\nimport { CartesianChart, ComponentSpin, RenderChartPie, TableRenderer } from './funcoes';\r\n\r\nconst numberFormatter = (item, casasDecimais = 2) => item.toLocaleString({ style: 'currency', currency: 'BRL' }, { minimumFractionDigits: casasDecimais, maximumFractionDigits: casasDecimais });\r\n\r\nexport default function CompraLiquida({ graficoSelecionado }) {\r\n const [formFiltros] = Form.useForm();\r\n const [compraLiquidaDiaria, setCompraLiquidaDiaria] = useState([]);\r\n const [totalizadores, setTotalizadores] = useState({});\r\n const [topFornecedores, setTopFornecedores] = useState([]);\r\n const [compraLiquidaCidades, setCompraLiquidaCidades] = useState([]);\r\n const [compraLiquidaFornecedor, setCompraLiquidaFornecedor] = useState([]);\r\n const [listaLocaisUsuario, setListaLocaisUsuario] = useState([]);\r\n const [carregandoTotalizadores, setCarregandoTotalizadores] = useState(false);\r\n const [carregandoCompraDiaria, setCarregandoCompraDiaria] = useState(false);\r\n const [carregandoFornecedor, setCarregandoFornecedor] = useState(false);\r\n const [carregandoCidade, setCarregandoCidade] = useState(false);\r\n\r\n useEffect(() => {\r\n api.get(`/Local/ListarLocalUsuario?codigoEmpresa=${getEmpresa()}`).then(res => {\r\n if (res.status === 200) {\r\n setListaLocaisUsuario(res.data.items);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n let dataInicial = !!formFiltros.getFieldValue().dataInicial ? moment(formFiltros.getFieldValue().dataInicial).format('YYYY-MM-DD') : null;\r\n let dataFinal = !!formFiltros.getFieldValue().dataFinal ? moment(formFiltros.getFieldValue().dataFinal).format('YYYY-MM-DD') : null;\r\n let locais = !!formFiltros.getFieldValue().local ? formFiltros.getFieldValue().local.join(',') : '';\r\n\r\n let mesAnterior = moment(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30)).format(\"YYYY-MM-DD\");\r\n\r\n setCarregandoTotalizadores(true);\r\n setCarregandoCompraDiaria(true);\r\n setCarregandoFornecedor(true);\r\n setCarregandoCidade(true);\r\n api.get(`Dashboard/ListarCompraLiquidaDiaria?locais=${locais}&dataInicial=${mesAnterior}&dataFinal=${moment(new Date()).format(\"YYYY-MM-DD\")}`).then(\r\n (res) => {\r\n setCompraLiquidaDiaria(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoCompraDiaria(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarTotalizadoresCompra?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data && res.data.length > 0) {\r\n setTotalizadores(res.data[0]);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoTotalizadores(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarFornecedoresCompraLiquida?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setCompraLiquidaFornecedor(res.data)\r\n setTopFornecedores(res.data.slice(0, 10));\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoFornecedor(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarCompraLiquidaCidades?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setCompraLiquidaCidades(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoCidade(false);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Compra Compra Líquida\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Compra Líquida (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_compraliquida ? totalizadores.vlr_compraliquida : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Compra (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_total_compra ? totalizadores.vlr_total_compra : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Devolução de Compra (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_total_devcompra ? totalizadores.vlr_total_devcompra : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Compra Líquida por Dia - Últimos 30 dias\r\n \r\n
\r\n {compraLiquidaDiaria.length > 0 ? \r\n \r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Top 10 Fornecedores por Valor - Compra Líquida\r\n \r\n
\r\n {topFornecedores.length > 0 ?\r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Compra Líquida por Fornecedor\r\n \r\n
\r\n (\r\n
\r\n {fornecedor}\r\n
\r\n ),\r\n }, {\r\n title: 'Quantidade Compra Líquida (R$)',\r\n align: 'right',\r\n render: ({ qtde_total }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_total), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Compra Líquida (R$)',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {numberFormatter(parseFloat(valor_total))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Compra Líquida por Cidade UF\r\n \r\n
\r\n (\r\n
\r\n {cidade}\r\n
\r\n ),\r\n }, {\r\n title: 'UF',\r\n render: ({ uf }) => (\r\n
\r\n {uf}\r\n
\r\n ),\r\n }, {\r\n title: 'Quantidade Compra Líquida (R$)',\r\n align: 'right',\r\n render: ({ qtde_total }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_total), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Compra Líquida (R$)',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {numberFormatter(parseFloat(valor_total))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Typography, Form, Divider, Select, Button } from 'antd';\r\nimport { ExclamationCircleOutlined, ArrowLeftOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { getEmpresa, getLocal } from '../../services/auth';\r\nimport { BreadcrumbPage, BotaoAbrirChamado, SelectPaginacao } from \"../../components\";\r\nimport { ComponentSpin, RenderChartPie, TableRenderer } from './funcoes';\r\n\r\nconst numberFormatter = (item, casasDecimais = 2) => item.toLocaleString({ style: 'currency', currency: 'BRL' }, { minimumFractionDigits: casasDecimais, maximumFractionDigits: casasDecimais });\r\n\r\nexport default function PosicaoEstoque({ graficoSelecionado }) {\r\n const [formFiltros] = Form.useForm();\r\n const [listaLocaisUsuario, setListaLocaisUsuario] = useState([]);\r\n const [totalizadores, setTotalizadores] = useState({});\r\n const [posicaoEstoqueMarca, setPosicaoEstoqueMarca] = useState([]);\r\n const [posicaoEstoqueGrupo, setPosicaoEstoqueGrupo] = useState([]);\r\n const [topGrupo, setTopGrupo] = useState([]);\r\n const [topMarca, setTopMarca] = useState([]);\r\n const [topProduto, setTopProduto] = useState([]);\r\n const [carregandoTotalizadores, setCarregandoTotalizadores] = useState(false);\r\n const [carregandoGrupo, setCarregandoGrupo] = useState(false);\r\n const [carregandoMarca, setCarregandoMarca] = useState(false);\r\n const [carregandoProduto, setCarregandoProduto] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n api.get(`/Local/ListarLocalUsuario?codigoEmpresa=${getEmpresa()}`).then(res => {\r\n if (res.status === 200) {\r\n setListaLocaisUsuario(res.data.items);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n let locais = !!formFiltros.getFieldValue().local ? formFiltros.getFieldValue().local.join(',') : '';\r\n let marcas = !!formFiltros.getFieldValue().mar_id ? formFiltros.getFieldValue().mar_id.join(',') : '';\r\n let grupos = !!formFiltros.getFieldValue().gru_id ? formFiltros.getFieldValue().gru_id.join(',') : '';\r\n let subgrupos = !!formFiltros.getFieldValue().sgp_id ? formFiltros.getFieldValue().sgp_id.join(',') : '';\r\n\r\n setCarregandoTotalizadores(true);\r\n setCarregandoGrupo(true);\r\n setCarregandoMarca(true);\r\n setCarregandoProduto(true);\r\n api.get(`Dashboard/ListarTotalizadoresEstoque?locais=${locais}&filtroMarca=${marcas}&filtroGrupo=${grupos}&filtroSubgrupo=${subgrupos}`).then(\r\n (res) => {\r\n if (!!res.data && res.data.length > 0) {\r\n setTotalizadores(res.data[0]);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoTotalizadores(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarEstoqueGrupo?locais=${locais}&filtroMarca=${marcas}&filtroGrupo=${grupos}&filtroSubgrupo=${subgrupos}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setTopGrupo(res.data.filter((x) => { return x.qtde_saldo_final >= 0 }).slice(0, 10));\r\n setPosicaoEstoqueGrupo(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoGrupo(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarEstoqueMarca?locais=${locais}&filtroMarca=${marcas}&filtroGrupo=${grupos}&filtroSubgrupo=${subgrupos}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setTopMarca(res.data.filter((x) => { return x.qtde_saldo_final >= 0 }).slice(0, 10));\r\n setPosicaoEstoqueMarca(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoMarca(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarEstoqueProduto?locais=${locais}&filtroMarca=${marcas}&filtroGrupo=${grupos}&filtroSubgrupo=${subgrupos}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setTopProduto(res.data.filter((x) => { return x.qtde_saldo_final >= 0 }).slice(0, 10));\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoProduto(false);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Posição Posição de Estoque\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total Custo Última Compra (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_custo_ultima_compra ? totalizadores.vlr_custo_ultima_compra : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total Custo Informado (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_custo_informado ? totalizadores.vlr_custo_informado : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total Custo Médio (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_custo_medio ? totalizadores.vlr_custo_medio : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n % Top 10 por Grupo e Quantidade de Estoque\r\n \r\n
\r\n {topGrupo.length > 0 ?\r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n % Top 10 por Marca e Quantidade de Estoque\r\n \r\n
\r\n {topMarca.length > 0 ?\r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n % Top 10 por Produto e Quantidade de Estoque\r\n \r\n
\r\n {topProduto.length > 0 ?\r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Posição de Estoque por Grupo\r\n \r\n
\r\n (\r\n
\r\n {grupo}\r\n
\r\n ),\r\n }, {\r\n title: 'Quant. Saldo Final (R$)',\r\n align: 'right',\r\n render: ({ qtde_saldo_final }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_saldo_final), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Custo Últ. Compra (R$)',\r\n align: 'right',\r\n render: ({ vlr_custo_ultima_compra }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_custo_ultima_compra))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Custo Informado (R$)',\r\n align: 'right',\r\n render: ({ vlr_custo_informado }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_custo_informado))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Custo Médio (R$)',\r\n align: 'right',\r\n render: ({ vlr_custo_medio }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_custo_medio))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Posição de Estoque por Marca\r\n \r\n
\r\n (\r\n
\r\n {marca}\r\n
\r\n ),\r\n }, {\r\n title: 'Quant. Saldo Final (R$)',\r\n align: 'right',\r\n render: ({ qtde_saldo_final }) => (\r\n
\r\n {numberFormatter(parseFloat(qtde_saldo_final), 3)}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Custo Últ. Compra (R$)',\r\n align: 'right',\r\n render: ({ vlr_custo_ultima_compra }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_custo_ultima_compra))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Custo Informado (R$)',\r\n align: 'right',\r\n render: ({ vlr_custo_informado }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_custo_informado))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Custo Médio (R$)',\r\n align: 'right',\r\n render: ({ vlr_custo_medio }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_custo_medio))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Typography, Form, Divider, Select, Button } from 'antd';\r\nimport { ExclamationCircleOutlined, ArrowLeftOutlined } from \"@ant-design/icons\";\r\nimport { LineChart, Line, BarChart, Bar, LabelList } from 'recharts';\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { getEmpresa, getLocal } from '../../services/auth';\r\nimport { Data, BreadcrumbPage, BotaoAbrirChamado } from '../../components';\r\nimport { CartesianChart, CartesianChartBar, RenderChartPie, TableRenderer, ComponentSpin } from './funcoes';\r\n\r\nconst numberFormatter = (item, casasDecimais = 2) => item.toLocaleString({ style: 'currency', currency: 'BRL' }, { minimumFractionDigits: casasDecimais, maximumFractionDigits: casasDecimais });\r\n\r\nexport default function ReceitasDespesas({ graficoSelecionado }) {\r\n const [formFiltros] = Form.useForm();\r\n const [listaLocaisUsuario, setListaLocaisUsuario] = useState([]);\r\n const [totalizadores, setTotalizadores] = useState({});\r\n const [receitaDespesaDiaria, setReceitaDespesaDiaria] = useState([]);\r\n const [resultadoPorTipoConta, setResultadoPorTipoConta] = useState([]);\r\n const [resultadoCategoria, setResultadoCategoria] = useState([]);\r\n const [resultadoContaGerencial, setResultadoContaGerencial] = useState([]);\r\n const [comparativo12Meses, setComparativo12Meses] = useState([]);\r\n const [carregandoTotalizadores, setCarregandoTotalizadores] = useState(false);\r\n const [carregandoRecDespDiaria, setCarregandoRecDespDiaria] = useState(false);\r\n const [carregandoTipoConta, setCarregandoTipoConta] = useState(false);\r\n const [carregandoCategoria, setCarregandoCategoria] = useState(false);\r\n const [carregandoContaGerencial, setCarregandoContaGerencial] = useState(false);\r\n const [carregandoRecDespAnual, setCarregandoRecDespAnual] = useState(false);\r\n\r\n useEffect(() => {\r\n api.get(`/Local/ListarLocalUsuario?codigoEmpresa=${getEmpresa()}`).then(res => {\r\n if (res.status === 200) {\r\n setListaLocaisUsuario(res.data.items);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n let dataInicial = !!formFiltros.getFieldValue().dataInicial ? moment(formFiltros.getFieldValue().dataInicial).format('YYYY-MM-DD') : null;\r\n let dataFinal = !!formFiltros.getFieldValue().dataFinal ? moment(formFiltros.getFieldValue().dataFinal).format('YYYY-MM-DD') : null;\r\n let tipoConta = !!formFiltros.getFieldValue().tipoConta ? formFiltros.getFieldValue().tipoConta.join(',') : '';\r\n\r\n let mesAtual = new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0);\r\n let ultimosDozeMeses = new Date(mesAtual.getFullYear(), mesAtual.getMonth() - 11, 1);\r\n let locais = !!formFiltros.getFieldValue().local ? formFiltros.getFieldValue().local.join(',') : '';\r\n let mesAnterior = moment(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30)).format(\"YYYY-MM-DD\");\r\n\r\n setCarregandoTotalizadores(true);\r\n setCarregandoRecDespDiaria(true);\r\n setCarregandoTipoConta(true);\r\n setCarregandoCategoria(true);\r\n setCarregandoContaGerencial(true);\r\n setCarregandoRecDespAnual(true);\r\n api.get(`Dashboard/ListarTotalizadoresRecDesp?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}&tipoConta=${tipoConta}`).then(\r\n (res) => {\r\n if (!!res.data && res.data.length > 0) {\r\n setTotalizadores(res.data[0]);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoTotalizadores(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarRecDespDiaria?locais=${locais}&dataInicial=${mesAnterior}&dataFinal=${dataFinal}&tipoConta=${tipoConta}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setReceitaDespesaDiaria(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoRecDespDiaria(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarResultadoTipoConta?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}&tipoConta=${tipoConta}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setResultadoPorTipoConta(res.data.filter((x) => { return x.vlr_resultado >= 0 }));\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoTipoConta(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarResultadoCategoria?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}&tipoConta=${tipoConta}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setResultadoCategoria(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoCategoria(false);\r\n });\r\n\r\n api.get(`Dashboard/ListarResultadoContaGerencial?locais=${locais}&dataInicial=${dataInicial}&dataFinal=${dataFinal}&tipoConta=${tipoConta}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setResultadoContaGerencial(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoContaGerencial(false);\r\n })\r\n\r\n api.get(`Dashboard/ListarRecDespAnual?locais=${locais}&dataInicial=${moment(ultimosDozeMeses).format(\"YYYY-MM-DD\")}&dataFinal=${moment(mesAtual).format(\"YYYY-MM-DD\")}&tipoConta=${tipoConta}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setComparativo12Meses(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(() => {\r\n setCarregandoRecDespAnual(false);\r\n })\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Receitas Receitas x Despesas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total Receita (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_total_receita ? totalizadores.vlr_total_receita : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total Despesa (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_total_despesa ? totalizadores.vlr_total_despesa : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Resultado (Receita-Despesa) (R$)\r\n \r\n \r\n {numberFormatter(!!totalizadores.vlr_resultado ? totalizadores.vlr_resultado : 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total Receita x Despesa por - Últimos 30 dias\r\n \r\n
\r\n {receitaDespesaDiaria.length > 0 ? \r\n \r\n \r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Resultado (Receita - Despesa) por Tipo de Conta\r\n \r\n
\r\n {resultadoPorTipoConta.length > 0 ?\r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Comparativo entre Receita e Despesa - Últimos 12 Meses\r\n \r\n
\r\n {comparativo12Meses.length > 0 ? moment(item).format(\"MM/YYYY\")} dataKey=\"periodo\" ChartComponent={BarChart}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n
\r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Receita x Despesa por Categoria Conta Gerencial\r\n \r\n
\r\n (\r\n
\r\n {categoria_conta_gerencial}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Total Receita (R$)',\r\n align: 'right',\r\n render: ({ vlr_total_receita }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_total_receita))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Total Despesa (R$)',\r\n align: 'right',\r\n render: ({ vlr_total_despesa }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_total_despesa))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Resultado (R$)',\r\n align: 'right',\r\n render: ({ vlr_resultado }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_resultado))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Receita x Despesa por Conta Gerencial\r\n \r\n
\r\n (\r\n
\r\n {conta_gerencial}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Total Receita (R$)',\r\n align: 'right',\r\n render: ({ vlr_total_receita }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_total_receita))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Total Despesa (R$)',\r\n align: 'right',\r\n render: ({ vlr_total_despesa }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_total_despesa))}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Resultado (R$)',\r\n align: 'right',\r\n render: ({ vlr_resultado }) => (\r\n
\r\n {numberFormatter(parseFloat(vlr_resultado))}\r\n
\r\n ),\r\n }]} />\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Typography } from 'antd';\r\n\r\nimport { BotaoAbrirChamado, BreadcrumbPage } from \"../../components\";\r\nimport { VendaLiquida, CompraLiquida, PosicaoEstoque, ReceitasDespesas } from \"./pages\";\r\n\r\nexport default function Dashboard() {\r\n const [graficoSelecionado, setGraficoSelecionado] = useState(null);\r\n\r\n useEffect(() => {\r\n setGraficoSelecionado(null);\r\n }, []);\r\n\r\n return (\r\n
\r\n {graficoSelecionado === null &&\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { setGraficoSelecionado(0) }}>\r\n \r\n \r\n Venda Líquida \r\n \r\n \r\n \r\n \r\n \r\n { setGraficoSelecionado(1) }}>\r\n \r\n \r\n Compra Líquida \r\n \r\n \r\n \r\n \r\n \r\n { setGraficoSelecionado(2) }}>\r\n \r\n \r\n Posição de Estoque \r\n \r\n \r\n \r\n \r\n \r\n { setGraficoSelecionado(3) }}>\r\n \r\n \r\n Receitas x Despesas \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {graficoSelecionado === 0 && }\r\n {graficoSelecionado === 1 && }\r\n {graficoSelecionado === 2 && }\r\n {graficoSelecionado === 3 && }\r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Form, Row, Col, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoClientes from './manutencao';\r\nimport { drawerActions, manutencaoActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerCliente({ editando }) {\r\n const nameForm = \"manutencaoCliente\"\r\n const [formCliente] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados && editando.editando) {\r\n formCliente.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formCliente.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n editando.setEditando(false);\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={() => { fecharDrawer() }}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Form, Button, Dropdown, Menu, Tag, Popover, Modal, Collapse, notification, Radio } from \"antd\";\r\nimport { EditOutlined, MoreOutlined, DeleteOutlined, PrinterOutlined, EyeFilled, ExclamationCircleOutlined, ArrowUpOutlined, ArrowDownOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport DrawerCliente from './drawer';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, MaskFormat } from \"../../ValueObjects\";\r\nimport { getEmpresa, getIdUsuario, getLocal } from \"../../services/auth\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, TabelaDados, Editar, Excluir, BreadcrumbPage, BotaoAbrirChamado, BotaoIncluirDados, PesquisaAvancada } from \"../../components\";\r\n\r\n\r\nexport default function Clientes() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [formPesquisaAvancada] = Form.useForm();\r\n const [open, setOpen] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n const [campoPerSelecionado, setCampoPerSelecionado] = useState({});\r\n const [tipoFiltroPersonalizado, setTipoFiltroPersonalizado] = useState(0);\r\n\r\n useEffect(() => {\r\n let _ativo = !!!formPesquisaAvancada.getFieldsValue().clienteAtivo ? 1 : formPesquisaAvancada.getFieldsValue().clienteAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${_ativo}`, filtro: '', ordem: '+pes_nome' } })\r\n formPesquisaAvancada.setFieldsValue({ clienteAtivo: 1 });\r\n }, []);\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const menuOutros = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function aplicarFiltrosAvancados() {\r\n let outrosFiltros = '';\r\n outrosFiltros += `&Ativo=${formPesquisaAvancada.getFieldsValue().clienteAtivo}`;\r\n let filtroPersonalizado = \"\"\r\n if (tipoFiltroPersonalizado == 1) {\r\n filtroPersonalizado = formPesquisaAvancada.getFieldsValue().filtroCampoAdicional\r\n } else if (tipoFiltroPersonalizado == 2) {\r\n filtroPersonalizado = formPesquisaAvancada.getFieldsValue()[campoPerSelecionado[0].cap_nomeelemento]\r\n }\r\n if (!!filtroPersonalizado || typeof filtroPersonalizado == 'boolean') {\r\n let filtros = { filtro_0: { cap_id: campoPerSelecionado[0].cap_id, cap_tipoelemento: campoPerSelecionado[0].cap_tipoelemento, condicao: formPesquisaAvancada.getFieldsValue().condicao, outrosFiltros: filtroPersonalizado } }\r\n outrosFiltros += `&filtroAdicional=${JSON.stringify(filtros)}`;\r\n }\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: outrosFiltros } });\r\n\r\n }\r\n\r\n function editarCliente(record) {\r\n setEditando(true);\r\n record.pef_datanascimento = moment(record.pef_datanascimento);\r\n record.pej_datafundacao = !!record.pej_datafundacao ? moment(record.pej_datafundacao) : null;\r\n record.cpfCnpj = !!record.pef_cpf ? record.pef_cpf : (!!record.pej_cnpj ? record.pej_cnpj : '');\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function excluirRegistro(cliente) {\r\n api.delete(`Cliente/Excluir/${cliente.cli_id}`).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: 'Cliente excluído com sucesso!' });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n }).catch(\r\n (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(cliente);\r\n })\r\n };\r\n\r\n function inativarRegistro(cliente) {\r\n api.put(`cliente/InativarCliente/${cliente.cli_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (cliente) => {\r\n console.log('cliente', cliente);\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o cliente ${cliente.cli_codigo}-${cliente.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(cliente);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (cliente) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o cliente!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o cliente ${cliente.cli_codigo}-${cliente.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(cliente);\r\n }\r\n });\r\n };\r\n\r\n function menuTable(cliente) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: cliente } });\r\n }}>\r\n Informações Detalhadas\r\n \r\n \r\n \r\n )\r\n }\r\n function download(dadosBase64, nomeArquivo) {\r\n //var dadosBase64 = \"LCwsLCwsLCwsLCwsLCwsLCwyNi8wNy8yMDIxLCwsCiwsLCwsLERFTU9OU1RSQUNBTyBWQVJFSk8sLCwsLCwsLCwsLCwsLAosLCwsLCwsLCwsLCwsLCwsLDExOjU0OjQ2LCwsCiwsLCwsLExvY2FsOiBMT0pBIE1BVFJJWiwsLCwsLCwsLCwsLCwsCiwsLCwsLCwsLCwsLCwsLCwsUMOhZ2luYTogMSBkZSAyLCwsCkNOUEo6ICwsMDMuNjgzLjE5NS8wMDAxLTAwLCwsLCwsLCwsSW5zY3Jpw6fDo28gRXN0LjosLDE0NzAwMzY2NzAsLFRlbGVmb25lOiwsLCwsKDU1KSAzNTM1LTQ5MDAKRW5kZXJlw6dvOiwsLCJBVi4gU0VOLiBBTEJFUlRPIFBBU1FVQUxJTkksIDM0NywgMiBBTkRBUiwgQ0VOVFJPLCBUUsOKUyBERSBNQUlPLVJTLCA5ODkxMDAwMCIsLCwsLCwsLCwsLCwsLCwsLApGaWx0cmFuZG8gcG9yOiAsLCwsLCwsLCwsLCwsLCwsLCwsLApURVNURSwsLCwsLCwsLCwsLCwsLCwsLCwsCiwsLCwsLCwsLCwsLCwsQ3VzdG8sLCwsUHJlw6dvIHZlbmRhLCwKLEPDs2RpZ28sLCwsRGVzY3Jpw6fDo28gUHJvZHV0bywsLCxVTSwsLENsYXNzZSBJQ01TLCwsLCwsLCwKLCwsLCwsLE5DTTogLDAwMDAwMDAwLCwsLCwsLCwsLCwsCiwxLCwsLFBST0RVVE8gREVNT05TVFJBQ0FPLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMTgsOTkiLAosLCwsLCwsTkNNOiAsMDIwMTEwMDAsLCwsLCwsLCwsLCwKLDMxLCwsLFBST0RVVE8gRkFCUklDQURPIENGT1AgNTEwMSwsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjE5LDkwIiwKLDM1LCwsLFBST0RVVE8gRkFCUklDQcOHw4NPIFBSw5NQUklBIFRFU1RFLCwsLCxVTixUUklCVVRBRE8gQ09NICwsLCIwLDAwIiwsLCwsIjI1LDAwIiwKLDM2LCwsLFBST0RVVE8gRkFCUklDQcOHw4NPIFBSw5NQUklBIFRFU1RFICwsLCwsVU4sVFJJQlVUQURPIENPTSAsLCwiMCwwMCIsLCwsLCIyMCwwMCIsCiwsLCwsLCxOQ006ICwxMjExMjEsLCwsLCwsLCwsLCwKLDQyLCwsLFByb2R1dG8gdGVzdGUgMSwsLCwsQ1gsVGVzdGUgVHJpYnV0YcOnw6NvIDEsLCwiMCwwMCIsLCwsLCIxMCwwMCIsCiw5OTk5OTksLCwsUHJvZHV0byB0ZXN0ZSAxLCwsLCxVTixUZXN0ZSBUcmlidXRhw6fDo28gMSwsLCIwLDAwIiwsLCwsIjEwLDAwIiwKLCwsLCwsLE5DTTogLDIyMDExMDAwLCwsLCwsLCwsLCwsCiw0NCwsLCxQcm9kdXRvIHRlc3RlIDIsLCwsLENYLFRlc3RlIFRyaWJ1dGHDp8OjbyAxLCwsIjAsMDAiLCwsLCwiMjAsMDAiLAosNDUsLCwsUHJvZHV0byB0ZXN0ZSAyLCwsLCxDWCxUZXN0ZSBUcmlidXRhw6fDo28gMSwsLCIwLDAwIiwsLCwsIjIwLDAwIiwKLDM0NDQ0NCwsLCxBR1VBIE1JTkVSQUwsLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwzOCIsLCwsLCIxOTk5OSw5OSIsCiwsLCwsLCxOQ006ICwyOTAzMTkxMCwsLCwsLCwsLCwsLAosMjcsLCwsTWFpcyB1bSBQcm9kdXRvIGRlIFRlc3RlcywsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjIyLDAwIiwKLCwsLCwsLE5DTTogLDI5MDMzOTExLCwsLCwsLCwsLCwsCiwyNiwsLCx0dGVzdGVlZSwsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjEwLDAwIiwKLDI4LCwsLFByb2R1dG8gdGVzdGUgMDAzLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMTAwLDAwIiwKLDMyLCwsLFByb2R1dG8gVGVzdGUgSW5jbHVzw6NvIE1hcmksLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwwMCIsLCwsLCIyMiw1MCIsCiwzOCwsLCxQcm9kdXRvIGNvbSBjYW1wbyBwZXJzb25hbGl6YWRvLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiOTAsMDIiLAosMzksLCwsVGVuaXMgTWFzY3VsaW5vLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiOSw5MCIsCiwsLCwsLCxOQ006ICwyOTA0OTkxMSwsLCwsLCwsLCwsLAosMTAsLCwsdGVzdGVzIDIsLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwwMCIsLCwsLCI3NSwwMCIsCiwxMSwsLCxjYWzDp2Egc3VwbGV4LCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMTksOTkiLAosMTIsLCwsdGVzdGUsLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwwMCIsLCwsLCIyNSwwMCIsCiwxMywsLCxDQU1JU0VUQSBNQVNDLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiOCw3OCIsCiwxNiwsLCxjYW1pc2V0YSBwb2xvLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjksMDAiLCwsLCwiMTksODAiLAosMTcsLCwsQ0hJTkVMTywsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjExLDAwIiwKLCwsLCwsLE5DTTogLDI5MDQ5OTEyLCwsLCwsLCwsLCwsCiwyLCwsLFRlbm5pcyBOaWtlLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMTkwLDAwIiwKLDcsLCwsUFJPRFVUTyBOT1ZPLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMjksOTAiLAosOCwsLCxQUk9EVVRPIFJPVVBBUywsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjksOTkiLAosMjMsLCwsVEVTVEUgUFJPRFVUTyAyNDUsLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwwMCIsLCwsLCIwLDAwIiwKLDI0LCwsLFRFU1RFIFBST0RVVE8gMjQ1LCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMTUsOTkiLAosLCwsLCwsTkNNOiAsMjkwNDk5MTYsLCwsLCwsLCwsLCwKLDE1LCwsLFBST0RVVE8gVEVTVEUsLCwsLFVOLFNVQlNUSVRVSURPIHRlc3RlLCwsIjAsMDAiLCwsLCwiMTksOTAiLAosLCwsLCwsTkNNOiAsMjkxNDc5MTEsLCwsLCwsLCwsLCwKLDQsLCwsQ0FMw4dBIEpFQU5TLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjI5LDYwIiwsLCwsIjI1LDk5IiwKLDksLCwsUHJvZHV0byBjb20gZ3JhZGUsLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMTcsMDAiLCwsLCwiMjIsNTAiLAosLCwsLCwsTkNNOiAsMzUwNjkxMjAsLCwsLCwsLCwsLCwKLDE4LCwsLFByb2R1dG8gdGVzdGUgVEhJQUdPLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjAsMDAiLCwsLCwiMjAsMDAiLAosLCwsLCwsTkNNOiAsMzkyNDkwMDAsLCwsLCwsLCwsLCwKLDExMSwsLCxQcm9kdXRvIFRlc3RlIFRoaWFnbywsLCwsUEMsVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjI0MiwwMCIsCiwsLCwsLCxOQ006ICwzOTI2OTA5MCwsLCwsLCwsLCwsLAosNDAsLCwsUHJvZHV0byBub3ZvIFRoaWFnbywsLCwsVU4sU1VCU1RJVFVJRE8gdGVzdGUsLCwiMCwwMCIsLCwsLCI0NCwwMCIsCiwsLCwsLCxOQ006ICw0ODIzNjkwMCwsLCwsLCwsLCwsLAosNSwsLCxYSUNBUkEgUFJPTU9DSU9OQUwsLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwwMCIsLCwsLCI0LDk5IiwKLCwsLCwsLE5DTTogLDU4MDcxMDAwLCwsLCwsLCwsLCwsCiwzLCwsLFRVTklDQSBGRU1FTklOQSwsLCwsUEMsVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjMwLDAwIiwKLCwsLCwsLE5DTTogLDYxMTIxMTAwLCwsLCwsLCwsLCwsCiw0MSwsLCxQUk9EVVRPIENPTSBHUkFERSwsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjEyLDkwIiwKLCwsLCwsLE5DTTogLDYxMTQyMDAwLCwsLCwsLCwsLCwsCiwyNSwsLCxUZXN0ZSBwcm9kdXRvIHRoaWFnbyAwOTExLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjEwMCwwMCIsLCwsLCIxMDAsMDAiLAosLCwsLCwsTkNNOiAsNjIwNzkxMDAsLCwsLCwsLCwsLCwKLDI5LCwsLENhbWlzYSB0ZXN0ZSwsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjM1LDAwIiwKLCwsLCwsLE5DTTogLDY4MDUxMDAwLCwsLCwsLCwsLCwsCiwyMSwsLCxCQUJBRE9SIDIxLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjQxLDkzIiwsLCwsIjIxLDAwIiwKLDIyLCwsLEJBQkFET1IgTk9WTywsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIxNCw0NCIsLCwsLCIzMywwMCIsCiwzMCwsLCxQUk9EVVRPIFBFUk1JVEUgQVBST1ZFSVRBTUVOVE8sLCwsLFVOLFRSSUJVVEFETyBDT00gLCwsIjAsMDAiLCwsLCwiOSw5OSIsCiwzMywsLCxCQUJBRE9SIDMzLCwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwsIjMsMDAiLCwsLCwiMTUwLDAwIiwKLCwsLCwsLE5DTTogLDc0MDcxMDEwLCwsLCwsLCwsLCwsCiw2LCwsLFBST0RVVE8gRU0gS0csLCwsLEtHLFRSSUJVVEFETyBDU09TTiAxMDIsLCwiMCwwMCIsLCwsLCIxNSwwMCIsCiwsLCwsLCxOQ006ICw4NDgzMzAyOSwsLCwsLCwsLCwsLAosMTQsLCwsQ0FNSVNFVEEgTUFTQywsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjE5LDgwIiwKLCwsLCwsLE5DTTogLDg1MTcxMTAwLCwsLCwsLCwsLCwsCiwzNywsLCxQcm9kdXRvIFVvVywsLCwsVU4sVFJJQlVUQURPIENTT1NOIDEwMiwsLCIwLDAwIiwsLCwsIjE5LDk5IiwKR2VyYWRvIFBvcjogLCwsLFF1YWxpZGFkZSBOZXdFUlAsLCwsLCwsLCwsLCxQw6FnaW5hOiAxIGRlIDIsLCwsCiwsLCwsLCwsLCxDdXN0bywsUHJlw6dvIHZlbmRhLAosQ8OzZGlnbywsRGVzY3Jpw6fDo28gUHJvZHV0bywsLFVNLCwsQ2xhc3NlIElDTVMsLCwsCiwsLCxOQ006ICw4OTAzOTEwMCwsLCwsLCwsCiwxOSwsVkVMQSwsLCxVTixUUklCVVRBRE8gQ1NPU04gMTAyLCwiMCwwMCIsLCwiMTEsMDAiCiwyMCwsVkVMQSBOT1ZBLCwsLFVOLFRSSUJVVEFETyBDU09TTiAxMDIsLCIwLDAwIiwsLCIxMywyMCIKR2VyYWRvIFBvcjogLCxRdWFsaWRhZGUgTmV3RVJQLCwsLCwsLCwsUMOhZ2luYTogMiBkZSAyLCwK\"\r\n\r\n const link = document.createElement('a');\r\n link.href = \"data:application/octet-stream;base64,\" + dadosBase64;\r\n link.download = nomeArquivo;\r\n link.click();\r\n }\r\n function imprimirCliente(record) {\r\n let parametros = [{ nome: \"empresaLogado\", valor: getEmpresa() }, { nome: \"localLogado\", valor: getLocal() }, { nome: \"usuarioLogado\", valor: getIdUsuario() }, { nome: 'codigoCliente', valor: record.cli_id }];\r\n\r\n let urlRel = {\r\n PathRelatorio: \"Cliente/FichaIndividual_001/FichaIndividual\",\r\n Parametros: JSON.stringify(parametros),\r\n Tipo: \"PDF\",\r\n NomeRelatorio: \"Ficha Individual de Cliente\"\r\n }\r\n\r\n api.post(`RelatorioJasper/RetornaDadosRelatorios`, urlRel).then(\r\n res => {\r\n if (urlRel.Tipo === 'PDF') {\r\n var byteCharacters = atob(res.data);\r\n var byteNumbers = new Array(byteCharacters.length);\r\n for (var i = 0; i < byteCharacters.length; i++) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n var file = new Blob([byteArray], { type: 'application/pdf;base64' });\r\n var fileURL = URL.createObjectURL(file);\r\n window.open(fileURL);\r\n } else {\r\n download(res.data, res.data.fileDownloadName);\r\n }\r\n }).catch(\r\n erro => {\r\n console.error(erro);\r\n alert('Erro ao gerar Relatório: ' + erro);\r\n }\r\n );\r\n };\r\n\r\n function pesquisaAvancada(expressao) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${formPesquisaAvancada.getFieldValue().clienteAtivo}&filtroAdicional=${btoa(expressao)}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${formPesquisaAvancada.getFieldValue().clienteAtivo}`, ordem: '+pes_nome' } })\r\n\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n aplicarFiltrosAvancados()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n { pesquisaAvancada(ret) }} funcaoLimpar={() => { limparFiltroPesquisa() }} telaFiltro={1} />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {cli_codigo}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Cliente',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nome Fantasia',\r\n render: ({ pej_nomefantasia, pef_apelido }) => (\r\n
\r\n {pej_nomefantasia ?? (pef_apelido ?? 'Não Informado')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 138,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro, pee_numero, bai_nome, cep_cep, cid_descricao, est_sigla }) => (\r\n
\r\n {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 95,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n editarCliente(record)} icon={} />\r\n \r\n \r\n { modalExcluirRegistro(record) }} icon={} />\r\n \r\n \r\n \r\n \r\n RG: {pef_rg}\r\n : null}\r\n {!!pej_inscricaoestadual ? \r\n IE: {pej_inscricaoestadual}\r\n : null}\r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Divider, Progress, Button, Table, Tag } from \"antd\";\r\nimport { CloseOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { ModalDetalhePedido, ModalProdutoCondicional, ModalDetalheOrcamento } from \"../../components/modals/\";\r\n\r\nexport default function TabEstatistica({ dadosCliente, dataInicial, dataFinal }) {\r\n\r\n const [openModalDetalhePedido, setOpenModalDetalhePedido] = useState(false);\r\n const [pedidoId, setPedidoId] = useState(null);\r\n const [openModalDetalheOrcamento, setOpenModalDetalheOrcamento] = useState(false);\r\n const [openModalProdutoCondicional, setOpenModalProdutoCondicional] = useState(false);\r\n const [totalParcAtraso, setTotalParcAtraso] = useState({});\r\n const [resumoFinanceiro, setResumoFinanceiro] = useState({});\r\n const [dadosCondicionais, setDadosCondicionais] = useState({});\r\n const [dadosCrediario, setDadosCrediario] = useState({});\r\n const [dadosPedido, setDadosPedido] = useState({});\r\n const [dadosPedidosAbertos, setDadosPedidosAbertos] = useState([]);\r\n const [limiteCredito, setLimiteCredito] = useState({});\r\n const [dadosOrcamento, setDadosOrcamento] = useState({});\r\n const [dadosCheque, setDadosCheque] = useState([]);\r\n const [valorPercentual, setValorPercentual] = useState(0);\r\n const [openCondicional, setOpenCondicional] = useState(false);\r\n const [openPedidos, setOpenPedidos] = useState(false);\r\n const [openOrcamento, setOpenOrcamento] = useState(false);\r\n const [dadosListaOrcamento, setDadosListaOrcamento] = useState([]);\r\n const [dadosCondicionaisAbertas, setDadosCondicionaisAbertas] = useState([]);\r\n const [dadosItensCondicional, setDadosItensCondicional] = useState({});\r\n const [orcamentoId, setOrcamentoId] = useState(null);\r\n\r\n const viewCondicional = () => {\r\n setOpenCondicional(!openCondicional)\r\n };\r\n\r\n const viewPedidos = () => {\r\n setOpenPedidos(!openPedidos);\r\n };\r\n\r\n const viewOrcamento = () => {\r\n setOpenOrcamento(!openOrcamento);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosCliente && isObjetoDiffVazio(dadosCliente)) {\r\n carregarDados();\r\n }\r\n }, [dadosCliente]);\r\n\r\n useEffect(() => {\r\n if (!!dadosCliente && isObjetoDiffVazio(dadosCliente)) {\r\n carregarDados();\r\n }\r\n }, [dataInicial]);\r\n\r\n useEffect(() => {\r\n if (!!dadosCliente && isObjetoDiffVazio(dadosCliente)) {\r\n carregarDados();\r\n }\r\n }, [dataFinal]);\r\n\r\n function carregarDados() {\r\n listarLimiteCredito();\r\n listarTotalParcelasEmAtraso();\r\n listarResumoFinanceiro();\r\n listarDadosCondicionais();\r\n listarDadosCondicionaisAbertas();\r\n listarDadosPedido();\r\n listarDadosPedidoAberto();\r\n listarDadosOrcamento();\r\n listarDadosListaOrcamento();\r\n listarDadosCheque();\r\n listarParcelasAReceber();\r\n };\r\n\r\n function listarLimiteCredito() {\r\n api.get(`Cliente/LimiteCreditoCMR?IdPessoa=${dadosCliente.pes_id}`).then(\r\n res => {\r\n let dados = res.data;\r\n let perc = parseFloat(((dados.vlr_ParcelasAbertas * 100) / dados.vlr_LimiteCredito).toFixed(2));\r\n if (perc > 100) {\r\n setValorPercentual(100);\r\n } else {\r\n setValorPercentual(perc);\r\n }\r\n setLimiteCredito(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarParcelasAReceber() {\r\n api.get(`ContasPagarReceber/CRMParcelasAReceber?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setDadosCrediario(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarTotalParcelasEmAtraso() {\r\n api.get(`Parcela/TotalParcelasEmAtraso?IdPessoa=${dadosCliente.pes_id}`).then(\r\n res => {\r\n setTotalParcAtraso(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarResumoFinanceiro() {\r\n api.get(`Pessoa/ResumoFinanceiroCRM?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setResumoFinanceiro(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarDadosCondicionais() {\r\n api.get(`VendaCondicional/RetornaDadosCondicionaisCRM?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setDadosCondicionais(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarDadosCondicionaisAbertas() {\r\n api.get(`VendaCondicional/RetornaDadosCondicionaisAberto?IdCliente=${dadosCliente.cli_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setDadosCondicionaisAbertas(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarDadosPedido() {\r\n api.get(`Pedido/RetornaDadosPedidoCRM?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setDadosPedido(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarDadosPedidoAberto() {\r\n api.get(`Pedido/RetornaDadosPedidosAberto?IdCliente=${dadosCliente.cli_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setDadosPedidosAbertos(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n // não implementado ainda no novo back end\r\n function listarDadosOrcamento() {\r\n // api.get(`Orcamento/RetornaDadosOrcamentoCRM?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n // res => {\r\n // setDadosOrcamento(res.data);\r\n // }\r\n // ).catch(\r\n // erro => {\r\n // console.log(erro);\r\n // }\r\n // );\r\n };\r\n\r\n function listarDadosListaOrcamento() {\r\n // api.get(`Orcamento/ListaOrcamentoCrmDTO?IdPessoa=${dadosCliente.cli_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n // res => {\r\n // setDadosListaOrcamento(res.data);\r\n // }\r\n // ).catch(\r\n // erro => {\r\n // console.log(erro);\r\n // }\r\n // );\r\n };\r\n\r\n function listarDadosCheque() {\r\n api.get(`Cheque/RetornaDadosChequeCRM?CodigoPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setDadosCheque(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function abrirModalItens(record) {\r\n setDadosItensCondicional(record)\r\n setOpenModalProdutoCondicional(true)\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n * Limite de Crédito Excedido. Valor Limite (R$):\r\n {isObjetoDiffVazio(limiteCredito) ? FormatNumber(limiteCredito.vlr_LimiteCredito, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!totalParcAtraso ? FormatNumber(totalParcAtraso.vlr_ParcelasEmAtraso, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Média de Atraso\r\n \r\n \r\n \r\n \r\n {isObjetoDiffVazio(dadosCrediario) ? dadosCrediario.mediaDiasAtraso : 0} dias\r\n \r\n \r\n \r\n \r\n Total de parcelas:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCrediario) ? dadosCrediario.total_Parcelas : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de parcelas em atraso:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCrediario) ? dadosCrediario.total_Parcelas_Atraso : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de parcelas adiantadas:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCrediario) ? dadosCrediario.total_Parcelas_Adiantadas : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Comprado\r\n \r\n \r\n \r\n \r\n {isObjetoDiffVazio(resumoFinanceiro) ? FormatNumber(resumoFinanceiro.vlr_TotalVendas, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n Valor compras a vista (R$):\r\n \r\n \r\n {isObjetoDiffVazio(resumoFinanceiro) ? FormatNumber(resumoFinanceiro.vlr_TotalVendasAVista, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor compras a prazo (R$):\r\n \r\n \r\n {isObjetoDiffVazio(resumoFinanceiro) ? FormatNumber(resumoFinanceiro.vlr_TotalVendasAPrazo, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor a receber (R$):\r\n \r\n \r\n {isObjetoDiffVazio(resumoFinanceiro) ? FormatNumber(resumoFinanceiro.vlr_ParcelasAReceber, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Percentual de Vendas das Condicionais:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCondicionais) ? dadosCondicionais.percentual_Vendas_Condicionais + '%' : '0%'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de Condicionais:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCondicionais) ? dadosCondicionais.qtde_Condicionais : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total de Compras (R$):\r\n \r\n \r\n {isObjetoDiffVazio(dadosCondicionais) ? FormatNumber(dadosCondicionais.vlr_Total_Condicionais, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Condicionais em Aberto:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Percentual de Vendas dos Pedidos:\r\n \r\n \r\n {isObjetoDiffVazio(dadosPedido) ? dadosPedido.percentual_Vendas_Pedidos + '%' : '0%'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de Pedidos:\r\n \r\n \r\n {isObjetoDiffVazio(dadosPedido) ? dadosPedido.qtde_Pedidos : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor total de compras (R$):\r\n \r\n \r\n {isObjetoDiffVazio(dadosPedido) ? FormatNumber(dadosPedido.vlr_Total_Pedidos, true) : FormatNumber(0, true)} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Pedidos em Aberto:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {openCondicional &&\r\n \r\n \r\n } onClick={() => viewCondicional(false)}> Fechar \r\n }>\r\n
(\r\n
\r\n Nº {vnc_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Lançamento',\r\n render: ({ vnc_datalancamento }) => (\r\n
\r\n {moment(vnc_datalancamento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Retorno',\r\n render: ({ vnc_prazoretorno }) => (\r\n
\r\n {moment(vnc_prazoretorno).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'center',\r\n render: ({ vnc_totalitens }, record) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ vnc_valortotal }) => (\r\n
\r\n {FormatNumber(vnc_valortotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n }\r\n {openPedidos &&\r\n \r\n \r\n } onClick={() => viewPedidos()}> Fechar \r\n }>\r\n
(\r\n
\r\n \r\n
\r\n \r\n {stp_descricao}\r\n \r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'Nº',\r\n align: 'left',\r\n render: ({ ped_numero }) => (\r\n
\r\n {ped_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Lançamento',\r\n align: 'center',\r\n render: ({ ped_datainclusao }) => (\r\n
\r\n {moment(ped_datainclusao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Entrega',\r\n align: 'center',\r\n render: ({ ped_dataprevisaoentrega }) => (\r\n
\r\n {moment(ped_dataprevisaoentrega).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'center',\r\n render: ({ ped_totalitens, ped_id }) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ pdi_valortotal }) => (\r\n
\r\n {FormatNumber(pdi_valortotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Percentual de Vendas dos Orçamentos:\r\n \r\n \r\n {isObjetoDiffVazio(dadosOrcamento) ? dadosOrcamento.percentual_Vendas_Orcamentos + '%' : '0%'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de Orçamentos:\r\n \r\n \r\n {isObjetoDiffVazio(dadosOrcamento) ? dadosOrcamento.qtde_Orcamentos : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total de Compras (R$):\r\n \r\n \r\n {isObjetoDiffVazio(dadosOrcamento) ? FormatNumber(dadosOrcamento.vlr_Total_Orcamentos, true) : FormatNumber(0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Orçamentos em Aberto:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Quantidade:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCheque) ? dadosCheque.qtde_Cheques : 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Status:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCheque) ? dadosCheque.statusCheques : 0}\r\n \r\n \r\n {false && \r\n \r\n Cheques de Terceiros:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCheque) ? dadosCheque.qtde_ChequesDepositados : 0}\r\n \r\n }\r\n {false && \r\n \r\n Voltaram:\r\n \r\n \r\n {isObjetoDiffVazio(dadosCheque) ? dadosCheque.qtde_ChequesDevolvidos : 0}\r\n \r\n }\r\n \r\n \r\n \r\n {openOrcamento &&\r\n \r\n \r\n } onClick={() => viewOrcamento(false)}> Fechar \r\n }>\r\n
(\r\n
\r\n {orc_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Lançamento',\r\n align: 'center',\r\n render: ({ orc_datainclusao }) => (\r\n
\r\n {moment(orc_datainclusao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Validade',\r\n align: 'center',\r\n render: ({ orc_datavalidade }) => (\r\n
\r\n {moment(orc_datavalidade).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'center',\r\n render: ({ oit_qtdtotalitens, orc_id }) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ oit_vlrtotalitens }) => (\r\n
\r\n {FormatNumber(oit_vlrtotalitens, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n }\r\n setOpenModalProdutoCondicional(false)} dadosItens={dadosItensCondicional} />\r\n setOpenModalDetalhePedido(false)} ped_id={pedidoId} />\r\n setOpenModalDetalheOrcamento(false)} orc_id={orcamentoId} />\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Table, Select, Form, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function TabUltimasCompras({ form, dadosCliente, dataInicial, dataFinal }) {\r\n\r\n const [dadosNotasFiscais, setDadosNotasFiscais] = useState([]);\r\n const [dadosItensNotas, setItensNotas] = useState([]);\r\n const [dadosGrupo, setDadosGrupo] = useState([]);\r\n\r\n useEffect(() => {\r\n form.setFieldsValue({ ordemNota: \"+ntf_dataemissao\" });\r\n if (!!dadosCliente && isObjetoDiffVazio(dadosCliente)) {\r\n carregarDados();\r\n }\r\n }, [dadosCliente]);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [dataInicial]);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [dataFinal]);\r\n\r\n function carregarDados() {\r\n listarNotasFiscais();\r\n listarItensNotas();\r\n listarTotaisGrupo();\r\n };\r\n\r\n function listarNotasFiscais(ordem = \"\") {\r\n api.get(`NotaFiscal/ListaNotasFiscaisClienteCRM?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}${!!ordem ? `&ordem=${ordem}` : ''}`).then(\r\n res => {\r\n setDadosNotasFiscais(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarItensNotas() {\r\n api.get(`NotaFiscal/ListaItensNotasClienteCRM?IdPessoa=${dadosCliente.pes_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n setItensNotas(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarTotaisGrupo() {\r\n api.get(`NotaFiscal/RetornaTotaisGruposCRM?IdPessoa=${dadosCliente.cli_id}&dataFinal=${moment(dataFinal).toISOString()}&dataInicial=${moment(dataInicial).toISOString()}`).then(\r\n res => {\r\n if (!!res.data) {\r\n let sequencia = 1;\r\n res.data.forEach((dados) => {\r\n dados.key = sequencia++;\r\n });\r\n setDadosGrupo(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function alterarOrdemDadosNota() {\r\n listarNotasFiscais(form.getFieldValue().ordemNota);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n
\r\n Nº: {ntf_numero}\r\n \r\n {ntf_docfiscal === false &&\r\n \r\n - DAV-LS\r\n \r\n }\r\n {mdf_id === '65' &&\r\n \r\n - CUPOM ELETRÔNICO\r\n \r\n }\r\n {mdf_id === '55' &&\r\n \r\n - NOTA FISCAL ELETRÔNICA\r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Data Emissão',\r\n width: 100,\r\n align: 'right',\r\n render: ({ ntf_dataemissao }) => (\r\n
\r\n {!!ntf_dataemissao ? moment(ntf_dataemissao).format('DD/MM/YYYY') : ''}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n render: ({ ntf_totalnota }) => (\r\n
\r\n {FormatNumber(ntf_totalnota, true)}\r\n
\r\n ),\r\n }\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desconto (R$)',\r\n width: 75,\r\n align: 'right',\r\n render: ({ nfi_valordesconto }) => (\r\n
\r\n {FormatNumber(nfi_valordesconto, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Frete (R$)',\r\n width: 75,\r\n align: 'right',\r\n render: ({ nfi_valorfrete }) => (\r\n
\r\n {FormatNumber(nfi_valorfrete, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n width: 75,\r\n fixed: 'right',\r\n render: ({ nfi_valortotalitem }) => (\r\n
\r\n {FormatNumber(nfi_valortotalitem, true)}\r\n
\r\n ),\r\n }\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {gru_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Total Grupo (R$)',\r\n align: 'right',\r\n render: ({ gru_valortotalgrupo }) => (\r\n
\r\n {FormatNumber(gru_valortotalgrupo, true)}\r\n
\r\n ),\r\n }\r\n ]} expandable={{\r\n expandedRowRender: ({ listaTotSubGrupo }) => {\r\n return (\r\n
(\r\n
\r\n {sgp_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Total Subgrupo (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ sgp_valortotalsubgrupo }) => (\r\n
\r\n {FormatNumber(sgp_valortotalsubgrupo, true)}\r\n
\r\n ),\r\n }\r\n ]} />\r\n )\r\n }\r\n }} expandIcon={({ record, expanded, onExpand }) => {\r\n return expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n );\r\n }} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Card, Typography, Divider, Tabs, Select, Button, Radio } from \"antd\";\r\nimport { EditOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatFone } from \"../../ValueObjects\";\r\nimport { TabEstatistica, TabUltimasCompras } from \"./tabPage\";\r\nimport { BreadcrumbAbrirChamado, Data, SelectPaginacao } from \"../../components\";\r\nimport { formatarCnpj, formatarCpf } from \"../../services/funcoes\";\r\n\r\nexport default function ResumoCliente() {\r\n\r\n const [openCliente, setOpenCliente] = useState(false);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [dadosCliente, setDadosCliente] = useState({});\r\n const [telefone, setTelefone] = useState({});\r\n const [email, setEmail] = useState({});\r\n const [endereco, setEndereco] = useState({});\r\n const [dataInicial, setDataIncial] = useState(new Date());\r\n const [dataFinal, setDataFinal] = useState(new Date());\r\n const [clienteId, setClienteId] = useState(null);\r\n\r\n const exibirOutrosClientes = () => {\r\n setOpenCliente(!openCliente);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n setClienteId(manutencao.dados.cli_id);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!!manutencao.dados && !!localStorage.getItem('@GestorWeb-clienteResumo')) {\r\n setClienteId(localStorage.getItem('@GestorWeb-clienteResumo'));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n carregarDatas();\r\n if (!!clienteId) {\r\n localStorage.setItem('@GestorWeb-clienteResumo', clienteId);\r\n listarCliente();\r\n }\r\n }, [clienteId]);\r\n\r\n function carregarDatas() {\r\n let data = new Date();\r\n let periodo = form.getFieldValue().periodoData;\r\n\r\n form.setFieldsValue({ dataFinal: moment(data) });\r\n setDataFinal(moment(data));\r\n switch (periodo) {\r\n case 1:\r\n data.setMonth(data.getMonth() - 12);\r\n break;\r\n case 2:\r\n data.setMonth(data.getMonth() - 6);\r\n break;\r\n case 3:\r\n data.setDate(data.getDate() - 30);\r\n break;\r\n default:\r\n data.setDate(data.getDate() - 30);\r\n break;\r\n }\r\n form.setFieldsValue({ dataInicial: moment(data) });\r\n setDataIncial(moment(data));\r\n };\r\n\r\n function listarCliente() {\r\n api.get(`Cliente/BuscarCliente/${clienteId}`).then(\r\n res => {\r\n setDadosCliente(res.data);\r\n setTelefone(res.data.telefones.filter(telefone => telefone.psc_principal)[0]);\r\n setEmail(res.data.emails.filter(email => email.pem_emailprincipal)[0]);\r\n setEndereco(res.data.enderecos.length > 0 ? res.data.enderecos.filter(endereco => endereco.pee_enderecoprincipal)[0] : res.data.enderecos[0]);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function alterarCliente() {\r\n let cli_id = form.getFieldValue().cli_id;\r\n setClienteId(cli_id);\r\n exibirOutrosClientes();\r\n form.setFieldsValue({ cli_id: null });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n { carregarDatas() }}>\r\n 1 Ano\r\n 6 Meses\r\n Últimos 30 dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n { setDataIncial(form.getFieldValue().dataInicial); }} />\r\n \r\n \r\n { setDataFinal(form.getFieldValue().dataFinal); }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n exibirOutrosClientes()} icon={openCliente ? : } />}>\r\n {!!openCliente &&\r\n \r\n \r\n \r\n alterarCliente()}\r\n conteudo={\r\n cli => (\r\n {cli.cli_codigo} - {cli.pes_nome})\r\n } />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {dadosCliente.pes_nome}\r\n \r\n \r\n \r\n \r\n \r\n Cliente desde: {!!dadosCliente.cli_datainclusao ? moment(dadosCliente.cli_datainclusao).format('DD/MM/YYYY') : 'Não informado'}\r\n \r\n \r\n Última atualização: {!!dadosCliente.cli_dataalteracao ? moment(dadosCliente.cli_dataalteracao).format('DD/MM/YYYY') : 'Não informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosCliente.pef_cpf &&\r\n \r\n CPF: {!!dadosCliente.pef_cpf ? formatarCpf(dadosCliente.pef_cpf) : 'Não informado'}\r\n \r\n }\r\n {!!dadosCliente.pej_cnpj &&\r\n \r\n CNPJ: {!!dadosCliente.pej_cnpj ? formatarCnpj(dadosCliente.pej_cnpj) : 'Não informado'}\r\n \r\n }\r\n \r\n Telefone: {!!telefone && FormatFone(telefone.psc_numero) ? FormatFone(telefone.psc_numero) : 'Não informado'}\r\n \r\n \r\n E-mail: {!!email && email.pem_email ? email.pem_email : 'Não informado'}\r\n \r\n \r\n Data de Nascimento: {!!dadosCliente.pef_datanascimento ? moment(dadosCliente.pef_datanascimento).format(\"DD/MM/YYYY\") : 'Não informado'}\r\n \r\n \r\n Endereço: {!!endereco ? `${endereco.log_logradouro}, ${endereco.pee_numero}, ${endereco.bai_nome}, ${endereco.cep_cep} - ${endereco.est_sigla}` : 'Não informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Tabs, Typography, Row, Col, Form, Divider, Input, Select, Radio, Checkbox, Switch, Tooltip, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { getEmpresa } from \"../../services/auth\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { Data, FormGW, FormularioDinamico, InputPreco, SelectPaginacao } from \"../../components\";\r\nimport { isObjetoDiffVazio, validarCnpj, validarCpf, consultaCNPJ, retornaSoNumeros } from \"../../services/funcoes\";\r\nimport { Endereco, Email, Telefone, Ocupacao, Nacionalidade, OutrosContatos } from '../pessoas/pages';\r\nimport { validarIE } from \"../../services/funcoesIE\";\r\nimport { trataRetornoFormularioDinamico, trataSetaDadosFormularioDinamico } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoFornecedor({ formulario, carregando, aoSalvar, editando }) {\r\n\r\n const [pessoaJuridica, setPessoaJuridica] = useState(false);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [dadosEstrangeiro, setDadosEstrangeiro] = useState(false);\r\n const [regimeTributario, setRegimeTributario] = useState([]);\r\n const [cpfCnpj, setCpfCnpj] = useState(\"\");\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n const [listaCidades, setListaCidades] = useState(false);\r\n const [filtroCdd, setFiltroCdd] = useState(null);\r\n const [desabilitarCfpCnpj, setDesabilitarCpfCnpj] = useState(false);\r\n const [mask, setMask] = useState(\"\");\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const switchEstrangeiro = () => {\r\n setDadosEstrangeiro(!dadosEstrangeiro)\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.for_id) {\r\n listaFornecedor(manutencao.dados.for_id);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.for_id && editando.editando) {\r\n let lista = [];\r\n if (!!manutencao.dados.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: manutencao.dados.pef_rguf });\r\n }\r\n if (!!manutencao.dados.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: manutencao.dados.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n }\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n useEffect(() => {\r\n setTimeout(\r\n () => {\r\n try {\r\n let element = document.getElementById(\"cpf\");\r\n if (element) {\r\n element.focus();\r\n }\r\n } catch (error) {\r\n console.log('error :>> ', error);\r\n }\r\n }, 500);\r\n if (!!manutencao.dados) {\r\n if (!!!manutencao.dados.cpfCnpj && !!!formulario.getFieldValue().cpfCnpj) {\r\n setDesabilitarCpfCnpj(false);\r\n } else {\r\n setDesabilitarCpfCnpj(true);\r\n }\r\n if (!!manutencao.dados.cpfCnpj) {\r\n if (manutencao.dados.cpfCnpj.length > 11) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n\r\n const salvarCamposAdicionais = (values) => {\r\n\r\n var camposAdicionais = [];\r\n elementosFormulario?.map((elemento) => {\r\n values = trataRetornoFormularioDinamico(values, elemento);\r\n let fornecedorcampopersonalizados = { ...manutencao.dados };\r\n let forDados = fornecedorcampopersonalizados.fornecedorcampopersonalizado?.filter(f => f.cap_id == elemento.cap_id)[0];\r\n if ((!!forDados ? forDados.fcp_valor : \"\") !== (!!values[elemento.cap_nomeelemento] ? values[elemento.cap_nomeelemento] : \"\")) {\r\n camposAdicionais.push({ fcp_id: !!forDados ? forDados.fcp_id : null, for_id: values.for_id, cap_id: elemento.cap_id, fcp_valor: values[elemento.cap_nomeelemento] });\r\n }\r\n });\r\n return camposAdicionais;\r\n }\r\n\r\n const salvarManutencao = valores => {\r\n if (!!valores.pej_emailpessoacontato) {\r\n if (!validarEmail(valores.pej_emailpessoacontato)) {\r\n notification.warning({ message: 'Aviso', description: 'E-mail do contado inválido' });\r\n return false;\r\n }\r\n }\r\n let dadosform = formulario.getFieldValue();\r\n valores = { ...valores, ...dadosform };\r\n valores.pessoatelefones = !!manutencao.dados.telefones && manutencao.dados.telefones.length > 0 ? manutencao.dados.telefones : [];\r\n valores.enderecos = !!manutencao.dados.enderecos && manutencao.dados.enderecos.length > 0 ? manutencao.dados.enderecos : [];\r\n valores.pessoaemails = !!manutencao.dados.emails && manutencao.dados.emails.length > 0 ? manutencao.dados.emails : [];\r\n valores.pessoasocupacoes = !!manutencao.dados.ocupacoes && manutencao.dados.ocupacoes.length > 0 ? manutencao.dados.ocupacoes : [];\r\n valores.pessoaoutrocontatos = !!manutencao.dados.pessoaoutrocontatos && manutencao.dados.pessoaoutrocontatos.length > 0 ? manutencao.dados.pessoaoutrocontatos : [];\r\n valores.pessoanacionalidades = !!manutencao.dados.listaNacionalidade && manutencao.dados.listaNacionalidade.length > 0 ? manutencao.dados.listaNacionalidade : [];\r\n valores.pes_fisicajuridica = pessoaJuridica ? 2 : (dadosEstrangeiro ? 3 : 1);\r\n\r\n if (!!valores.idEstrangeiro && dadosEstrangeiro) {\r\n valores.isEstrangeiro = true;\r\n valores.pes_estrangeiro = true;\r\n } else {\r\n valores.isEstrangeiro = false;\r\n valores.pes_estrangeiro = false;\r\n }\r\n\r\n if (!!valores.cpfCnpj) {\r\n if (valores.pes_fisicajuridica === 1) {\r\n valores.pef_cpf = valores.cpfCnpj.replace(/\\D/g, '');\r\n valores.pef_rguf = valores.enderecos?.filter((end) => (end.pee_enderecoprincipal === true))[0].est_sigla;\r\n } else {\r\n valores.pej_cnpj = valores.cpfCnpj.replace(/\\D/g, '');\r\n valores.pej_inscuf = valores.enderecos.length > 0 ? valores.enderecos.filter((end) => (end.pee_enderecoprincipal === true))[0].est_sigla : '';\r\n }\r\n }\r\n if (!!valores.pej_inscricaoestadual && !validarIE(valores.pej_inscricaoestadual, valores.pej_inscuf)) {\r\n notification.warning({ message: 'Aviso', description: 'Inscrição Estadual informada é inválida' });\r\n return false;\r\n } else if (!!!valores.pej_inscricaoestadual) {\r\n valores.pej_inscricaoestadual = \"\";\r\n }\r\n\r\n valores.for_valorfretegratis = parseFloat(valores.for_valorfretegratis);\r\n valores.for_codigobancoagencia = !!valores.for_codigobancoagencia ? valores.for_codigobancoagencia : '';\r\n valores.pef_apelido = !!valores.pef_apelido ? valores.pef_apelido : '';\r\n valores.for_regimetributariofiscal = !!valores.regimeTributario ? valores.regimeTributario : null;\r\n valores.for_observacao = !!valores.for_observacao ? valores.for_observacao : '';\r\n valores.fornecedorcampopersonalizados = salvarCamposAdicionais(valores);\r\n if (!!formulario.getFieldValue().regimeTributario) {\r\n valores.regimeTributario = {\r\n key: formulario.getFieldValue().regimeTributario,\r\n value: regimeTributario.filter(item => (item.key === formulario.getFieldValue().regimeTributario))[0].value\r\n }\r\n }\r\n\r\n carregando(true);\r\n\r\n if (!!valores.for_id) {\r\n api.put(`Fornecedor/Editar`, valores).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: `Fornecedor editado com sucesso!` });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n\r\n api.post(`Fornecedor/Incluir`, valores).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: `Fornecedor incluído com sucesso!` });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n };\r\n function carregarCidades(UfEstado) {\r\n if (!!UfEstado) {\r\n setListaCidades(true);\r\n setFiltroCdd(` &UfEstado=${UfEstado}`);\r\n }\r\n else {\r\n setListaCidades(false);\r\n }\r\n }\r\n\r\n function validarEmail(email) {\r\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n return reg.test(email);\r\n };\r\n\r\n\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?TipoEntidade=2&PageNumber=1&PageSize=1000&Order=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n setElementosFormulario(res.data.items);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n function carregaDadosCamposAdicionais() { //Campos Adicionais\r\n let camposPersonalizados = { ...manutencao.dados };\r\n camposPersonalizados?.fornecedorcampopersonalizado?.map(d => {\r\n let elemento = elementosFormulario.filter(f => f.cap_id === d.cap_id)[0];\r\n if (!!elemento)\r\n trataSetaDadosFormularioDinamico(formulario, elemento, d.fcp_valor);\r\n })\r\n }\r\n\r\n useEffect(() => { if (!!elementosFormulario && elementosFormulario.length > 0) carregaDadosCamposAdicionais(); }, [elementosFormulario]);\r\n useEffect(() => {\r\n if (manutencao?.dados?.fornecedorcampopersonalizado?.length > 0)\r\n carregaDadosCamposAdicionais();\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n popularDados();\r\n }, []);\r\n\r\n function popularDados() {\r\n listarRegimeTrib();\r\n carregaCamposPersonalizados();\r\n };\r\n\r\n function listarRegimeTrib() {\r\n api.get('Enum/Listar?nome=RegimeTributarioFiscal').then(\r\n (res) => {\r\n setRegimeTributario(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarCpfExiste(cpfCnpj) {\r\n api.get(`PessoaFisica/VerificarCpfExistente?cpf=${cpfCnpj}`).then(\r\n res => {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CPF informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarFornecedorCpfCnpj(cpfCnpj);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarCnpjExiste(cpfCnpj) {\r\n api.get(`PessoaJuridica/VerificarCnpjExistente?cnpj=${cpfCnpj}`).then(\r\n res => {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CNPJ informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarFornecedorCpfCnpj(cpfCnpj);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n } else {\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function listaFornecedor(for_id) {\r\n if (!!!for_id) {\r\n return;\r\n }\r\n api.get(`Fornecedor/BuscarFornecedor/${for_id}`).then(\r\n (res) => {\r\n let valores = res.data;\r\n if (res.data.pes_fisicajuridica === 2) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n valores.for_datainclusao = !!valores.for_datainclusao ? moment(valores.for_datainclusao) : null;\r\n valores.for_dataalteracao = !!valores.for_dataalteracao ? moment(valores.for_dataalteracao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.pej_datafundacao = !!valores.pej_datafundacao ? moment(valores.pej_datafundacao) : null;\r\n valores.id_rguf = valores.est_id;\r\n valores.regimeTributario = !!valores.for_regimetributariofiscal ? valores.for_regimetributariofiscal : null;\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n const receitaWS = (cpfCnpj) => {\r\n consultaCNPJ(cpfCnpj).then((retorno) => {\r\n let dados = retorno;\r\n if (dados.status === \"OK\" && dados.situacao === \"ATIVA\") {\r\n let dadosForm = {};\r\n\r\n if (dados.efr !== \"\") {\r\n dadosForm.pes_orgaopublico = true;\r\n }\r\n dadosForm.pes_nome = dados.nome;\r\n if (!!dados.abertura) {\r\n let dia = dados.abertura.substring(0, 2);\r\n let mes = dados.abertura.substring(3, 5);\r\n let ano = dados.abertura.substring(6, 10);\r\n dadosForm.pej_datafundacao = moment(new Date(ano, mes, dia));\r\n }\r\n dadosForm.pej_nomefantasia = dados.fantasia;\r\n\r\n\r\n let listaEnderecos = [];\r\n let tipoEndereco = {};\r\n tipoEndereco.pais = \"BRASIL\";\r\n tipoEndereco.pse_id = 33;\r\n tipoEndereco.tpe_id = 4;\r\n tipoEndereco.tpe_descricao = \"COMERCIAL\";\r\n tipoEndereco.pee_numero = dados.numero;\r\n tipoEndereco.pee_ativo = true;\r\n tipoEndereco.pee_enderecoprincipal = true;\r\n tipoEndereco.cep_cep = retornaSoNumeros(dados.cep);\r\n tipoEndereco.pee_complemento = dados.complemento;\r\n tipoEndereco.bai_nome = dados.bairro;\r\n tipoEndereco.log_logradouro = dados.logradouro;\r\n tipoEndereco.cid_descricao = dados.municipio;\r\n tipoEndereco.est_sigla = dados.uf;\r\n tipoEndereco.enderecoCompleto = tipoEndereco.log_logradouro + ', ' + tipoEndereco.pee_numero + ' - ' + tipoEndereco.bai_nome + ' - ' + tipoEndereco.pee_complemento + ' - ' + tipoEndereco.cep_cep + ' - ' + tipoEndereco.cid_descricao + ' - ' + tipoEndereco.uf;\r\n listaEnderecos.push(tipoEndereco);\r\n\r\n let listaTelefones = [];\r\n if (dados.telefone !== \"\") {\r\n let tpt = {};\r\n tpt.tpt_id = 1;\r\n tpt.tpt_descricao = \"COMERCIAL\";\r\n tpt.psc_ativo = true;\r\n tpt.psc_numero = retornaSoNumeros(dados.telefone).substring(0, 10);\r\n tpt.psc_principal = true;\r\n listaTelefones.push(tpt);\r\n }\r\n\r\n let listaEmails = [];\r\n if (dados.email !== \"\") {\r\n let email = {};\r\n email.pem_email = dados.email;\r\n email.pem_emailprincipal = true;\r\n email.pem_enviarboleto = false;\r\n email.pem_enviarcartacobranca = false;\r\n email.pem_enviarnfe = false;\r\n email.pem_enviarpromocao = false;\r\n email.pem_enviarvencparcela = false;\r\n email.pem_ativo = true;\r\n listaEmails.push(email);\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ telefones: listaTelefones }, ...{ emails: listaEmails }, ...{ enderecos: listaEnderecos } } } });\r\n formulario.setFieldsValue(dadosForm);\r\n\r\n }\r\n }, (erro) => {\r\n console.log('ERRO:', erro);\r\n });\r\n }\r\n\r\n function listarFornecedorCpfCnpj(cpfCnpj) {\r\n cpfCnpj = cpfCnpj.replaceAll('-', '').replaceAll('/', '').replaceAll('.', '');\r\n if (cpfCnpj === null || cpfCnpj === \"\") {\r\n return false;\r\n }\r\n api.get(`Fornecedor/BuscarFornecedorCpfCnpj/${cpfCnpj}`).then(\r\n (res) => {\r\n let valores = res.data;\r\n if (res.data.pes_fisicajuridica === 2) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n valores.for_ativo = true;\r\n valores.for_datainclusao = !!valores.for_datainclusao ? moment(valores.for_datainclusao) : null;\r\n valores.for_dataalteracao = !!valores.for_dataalteracao ? moment(valores.for_dataalteracao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.pej_datafundacao = !!valores.pej_datafundacao ? moment(valores.pej_datafundacao) : null;\r\n valores.id_rguf = valores.est_id;\r\n valores.regimeTributario = !!valores.for_regimetributariofiscal ? valores.for_regimetributariofiscal : 1;\r\n let lista = [];\r\n if (!!valores.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: valores.pef_rguf });\r\n }\r\n if (!!valores.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: valores.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n }\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n editando.setEditando(true);\r\n } else {\r\n if (cpfCnpj.length === 14) {\r\n setPessoaJuridica(true);\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n if (cpfCnpj.length === 14) {\r\n setPessoaJuridica(true);\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n );\r\n }\r\n\r\n function validarFisicoJuridico(event) {\r\n let valorCampo = event.currentTarget.value.replace(/\\D/g, '');\r\n if (valorCampo.length === 11) {\r\n if (!validarCpf(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CPF informado é inválido' });\r\n formulario.resetFields();\r\n return false;\r\n }\r\n } else if (valorCampo.length === 14) {\r\n if (!validarCnpj(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CNPJ informado é inválido' });\r\n formulario.resetFields();\r\n return false;\r\n }\r\n }\r\n setPessoaJuridica(valorCampo.length === 14);\r\n };\r\n\r\n function validarCpfCnpjExistente(cpfcnpj) {\r\n if (cpfcnpj.length === 14) {\r\n validarCnpjExiste(cpfcnpj);\r\n } else {\r\n validarCpfExiste(cpfcnpj);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fornecedor Estrangeiro\r\n \r\n \r\n }\r\n \r\n \r\n {!!dadosEstrangeiro === false &&\r\n \r\n \r\n { validarFisicoJuridico(valor); validarCpfCnpjExistente(valor.currentTarget.value.replace(/\\D/g, '')) }}\r\n onChange={(event, type) => {\r\n setCpfCnpj(event.target.value);\r\n setMask(type === \"CPF\");\r\n }} />\r\n \r\n \r\n }\r\n {!!dadosEstrangeiro &&\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {!pessoaJuridica &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!pessoaJuridica &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n carregarCidades(UfEstado)} onChangeFunction={(UfEstado) => carregarCidades(UfEstado)}\r\n conteudo={\r\n est => (\r\n {est.est_sigla} - {est.est_descricao})\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n ({cid.cid_id} - {cid.cid_descricao})\r\n } />\r\n \r\n \r\n \r\n }\r\n {!pessoaJuridica &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n {pessoaJuridica &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fornecedor Ativo? \r\n \r\n \r\n \r\n \r\n Produtor Rural \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \"Informações Informações Financeiras\r\n \r\n \r\n Adicione as informações financeiras aqui.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pessoaJuridica &&\r\n \r\n \r\n Baixado da Receita? \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!pessoaJuridica &&\r\n \r\n \r\n \r\n }\r\n {!!dadosEstrangeiro &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Campos Campos Adicionais\r\n \r\n \r\n Adicione abaixo as informações adicionais.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Form, Row, Col, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoFornecedor from './manutencao';\r\nimport { drawerActions, manutencaoActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerFornecedor({ editando }) {\r\n const nameForm = \"manutencaoFornecedor\"\r\n const [formFornecedor] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n\r\n if (!!manutencao.dados && editando.editando) {\r\n formFornecedor.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formFornecedor.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n editando.setEditando(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={() => { fecharDrawer() }}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal, Button, Menu, Dropdown, Form, Collapse, Radio } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, MoreOutlined, CloudUploadOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerFornecedor from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, MaskFormat } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, TabelaDados, Editar, Excluir, BreadcrumbPage, BotaoAbrirChamado, BotaoIncluirDados, PesquisaAvancada } from \"../../components\";\r\n\r\nexport default function Fornecedor() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [editando, setEditando] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n let _ativo = !!!form.getFieldsValue().fornecedorAtivo ? 1 : form.getFieldsValue().fornecedorAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${_ativo}`, ordem: '+pes_nome' } })\r\n form.setFieldsValue({ fornecedorAtivo: 1 });\r\n }, []);\r\n\r\n function editarFornecedor(record) {\r\n setEditando(true);\r\n record.pef_datanascimento = moment(record.pef_datanascimento);\r\n record.pej_datafundacao = !!record.pej_datafundacao ? moment(record.pej_datafundacao) : null;\r\n record.cpfCnpj = !!record.pef_cpf ? record.pef_cpf : (!!record.pej_cnpj ? record.pej_cnpj : '');\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n function modalExcluir(record) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Deseja realmente excluir o Fornecedor?`,\r\n okText: 'Excluir',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluir(record);\r\n }\r\n });\r\n }\r\n\r\n function excluir(record) {\r\n api.delete(`Fornecedor/Excluir/${record.for_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Aviso', description: 'Fornecedor excluído com sucesso!' });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n modalInativarRegistro(record);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().fornecedorAtivo}`, ordem: '+pes_nome' } });\r\n }\r\n )\r\n };\r\n\r\n const modalInativarRegistro = (record) => {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Não foi possível excluir o fornecedor ${record.pes_nome}. Deseja inativar este registro?`,\r\n okText: 'Inativar',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(record);\r\n }\r\n });\r\n };\r\n\r\n function inativarRegistro(record) {\r\n api.put(`Fornecedor/InativarFornecedor/${record.for_id}`).then(\r\n res => {\r\n notification.success({ description: 'Registros inativado com sucesso!', message: 'Aviso' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().fornecedorAtivo}`, ordem: '+pes_nome' } });\r\n }\r\n )\r\n };\r\n\r\n const menuOutros = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function retornoPesquisaAvancada(expressao) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().fornecedorAtivo}&filtroAdicional=${btoa(expressao)}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().fornecedorAtivo}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={form} telaFiltro={4} />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {for_codigo}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Fornecedor',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nome Fantasia',\r\n render: ({ pej_nomefantasia }) => (\r\n
\r\n {pej_nomefantasia || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 138,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro, pee_numero, bai_nome, cep_cep, cid_descricao, est_sigla }) => (\r\n
\r\n {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n editarFornecedor(record);\r\n }} icon={} />\r\n \r\n \r\n {\r\n modalExcluir(record)\r\n }} icon={} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandir={({ pej_nomefantasia, pef_rg, pej_inscricaoestadual, pem_email }) => {\r\n return (\r\n
\r\n \r\n {!!pej_nomefantasia ?
\r\n Nome Fantasia: {pej_nomefantasia}\r\n : null}\r\n {!!pef_rg && \r\n RG: {pef_rg || 'Não Informado'}\r\n }\r\n {!!pej_inscricaoestadual && \r\n IE: {pej_inscricaoestadual || 'Não Informado'}\r\n }\r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Form, Row, Col, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoTransportador from './manutencao';\r\nimport { drawerActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerTransportador({ editando }) {\r\n\r\n const [formTransportador] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados && editando.editando) {\r\n formTransportador.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formTransportador.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n editando.setEditando(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={() => { fecharDrawer() }}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Popover, Tag, notification, Modal, Menu, Button, Dropdown, Form, Collapse, Radio } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, CloudUploadOutlined, MoreOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerTransportador from \"./drawer\";\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, MaskFormat } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, TabelaDados, Editar, Excluir, BreadcrumbPage, BotaoAbrirChamado, BotaoIncluirDados, PesquisaAvancada } from \"../../components\";\r\n\r\nexport default function Transportadores() {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [editando, setEditando] = useState(false);\r\n const [form] = Form.useForm();\r\n const [open, setOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n let _ativo = !!!form.getFieldsValue().transportadorAtivo ? 1 : form.getFieldsValue().transportadorAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${_ativo}`, filtro: '', ordem: '+pes_nome' } })\r\n form.setFieldsValue({ transportadorAtivo: 1 });\r\n }, []);\r\n\r\n\r\n\r\n const menuOutros = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n\r\n\r\n function editarTransportador(valores) {\r\n setEditando(true);\r\n valores.pej_datafundacao = !!valores.pej_datafundacao ? moment(valores.pej_datafundacao) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.cpfCnpj = !!valores.pef_cpf ? valores.pef_cpf : valores.pej_cnpj;\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function modalExcluir(record) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Deseja realmente excluir o Transportador`,\r\n okText: 'Excluir',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluir(record);\r\n }\r\n });\r\n }\r\n\r\n function excluir(record) {\r\n api.delete(`Transportador/Excluir/${record.trn_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Aviso', description: 'Transportador excluído com sucesso!' });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n modalInativarRegistro(record);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${form.getFieldsValue().transportadorAtivo}`, ordem: '+pes_nome' } });\r\n }\r\n )\r\n };\r\n\r\n const modalInativarRegistro = (record) => {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Não foi possível excluir o transportador ${record.pes_nome}. Deseja inativar este registro?`,\r\n okText: 'Inativar',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(record);\r\n }\r\n });\r\n };\r\n\r\n function inativarRegistro(record) {\r\n api.put(`Transportador/InativarTransportador/${record.trn_id}`).then(\r\n res => {\r\n notification.success({ description: 'Registros inativado com sucesso!', message: 'Aviso' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${form.getFieldsValue().transportadorAtivo}`, ordem: '+pes_nome' } });\r\n }\r\n )\r\n };\r\n\r\n function retornoPesquisaAvancada(expressao) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${form.getFieldsValue().transportadorAtivo}&filtroAdicional=${btoa(expressao)}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${form.getFieldsValue().transportadorAtivo}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n { retornoPesquisaAvancada(ret) }} funcaoLimpar={() => { limparFiltroPesquisa() }} telaFiltro={1} />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {trn_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Transportador',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nome Fantasia',\r\n render: ({ pej_nomefantasia }) => (\r\n
\r\n {pej_nomefantasia || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 138,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro, pee_numero, bai_nome, cep_cep, cid_descricao, est_sigla }) => (\r\n
\r\n {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n editarTransportador(record);\r\n\r\n }} icon={} />\r\n \r\n \r\n {\r\n modalExcluir(record);\r\n }}\r\n icon={} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandir={({ pef_rg, pej_inscricaoestadual, pem_email }) => {\r\n return (\r\n
\r\n \r\n {!!pef_rg ?
\r\n RG: {pef_rg}\r\n : null}\r\n {!!pej_inscricaoestadual ? \r\n IE: {pej_inscricaoestadual}\r\n : null}\r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n\r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Tabs, Typography, Row, Col, Form, Divider, Input, Select, Radio, Checkbox, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\"\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { isObjetoDiffVazio, validarCpf } from \"../../services/funcoes\";\r\nimport { Data, FormGW, FormularioDinamico, InputCpfCnpj, InputPreco, SelectPaginacao } from \"../../components\";\r\nimport { Endereco, Email, Telefone, Ocupacao, Nacionalidade, OutrosContatos } from '../pessoas/pages';\r\nimport { trataRetornoFormularioDinamico, trataSetaDadosFormularioDinamico } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoFuncionario({ formulario, carregando, aoSalvar, editando }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [estadoCivil, setEstadoCivil] = useState([]);\r\n const [supervisor, setSupervisor] = useState([]);\r\n const [desabilitarCfpCnpj, setDesabilitarCpfCnpj] = useState(false);\r\n const [listaCidades, setListaCidades] = useState(false);\r\n const [filtroCdd, setFiltroCdd] = useState(null);\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n\r\n useEffect(() => { if (!!elementosFormulario && elementosFormulario.length > 0) carregaDadosCamposAdicionais(); }, [elementosFormulario]);\r\n useEffect(() => {\r\n if (manutencao?.dados?.funcionariocampopersonalizados?.length > 0)\r\n carregaDadosCamposAdicionais();\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n listarEstadoCivil();\r\n listarSupervisor();\r\n carregaCamposPersonalizados();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.fun_id && editando.editando) {\r\n let lista = [];\r\n if (!!manutencao.dados.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: manutencao.dados.pef_rguf });\r\n }\r\n if (!!manutencao.dados.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: manutencao.dados.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n editando.setEditando(false);\r\n }\r\n\r\n formulario.setFieldsValue(manutencao.dados);\r\n\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.fun_id)\r\n listaFuncionario(manutencao.dados.fun_id)\r\n }, []);\r\n\r\n useEffect(() => {\r\n setTimeout(\r\n () => {\r\n try {\r\n let element = document.getElementById(\"cpf\");\r\n if (element) {\r\n element.focus();\r\n }\r\n } catch (error) {\r\n console.log('error :>> ', error);\r\n }\r\n }, 500);\r\n if (!!manutencao.dados) {\r\n if (!!!manutencao.dados.pef_cpf && !!!formulario.getFieldValue().pef_cpf) {\r\n setDesabilitarCpfCnpj(false);\r\n } else {\r\n setDesabilitarCpfCnpj(true);\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function carregarCidades(UfEstado) {\r\n if (!!UfEstado) {\r\n setListaCidades(true);\r\n setFiltroCdd(` &UfEstado=${UfEstado}`);\r\n }\r\n else {\r\n setListaCidades(false);\r\n }\r\n }\r\n\r\n const salvarManutencao = valores => {\r\n valores.pessoaemails = !!manutencao.dados.emails && manutencao.dados.emails.length > 0 ? manutencao.dados.emails : [];\r\n valores.pessoasocupacoes = !!manutencao.dados.ocupacoes && manutencao.dados.ocupacoes.length > 0 ? manutencao.dados.ocupacoes : [];\r\n valores.pessoaoutrocontatos = !!manutencao.dados.pessoaoutrocontatos && manutencao.dados.pessoaoutrocontatos.length > 0 ? manutencao.dados.pessoaoutrocontatos : [];\r\n valores.pessoatelefones = !!manutencao.dados.telefones && manutencao.dados.telefones.length > 0 ? manutencao.dados.telefones : [];\r\n valores.enderecos = !!manutencao.dados.enderecos && manutencao.dados.enderecos.length > 0 ? manutencao.dados.enderecos : [];\r\n valores.pessoanacionalidades = !!manutencao.dados.nacionalidades && manutencao.dados.nacionalidades.length > 0 ? manutencao.dados.nacionalidades : [];\r\n if (!valores.enderecos || valores.enderecos.length === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'Nenhum endereço foi cadastrado!' });\r\n return false;\r\n } else if (!valores.pessoatelefones || valores.pessoatelefones.length === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'Nenhum número de telefone foi cadastrado!' });\r\n return false;\r\n }\r\n valores.estadocivil = estadoCivil.filter((ecv) => (ecv.ecv_id === valores.ecv_id))[0];\r\n valores.supervisor = {};\r\n if (!!valores.fun_supervisor) {\r\n valores.supervisor.fun_id = supervisor.filter((sup) => (sup.fun_id === valores.fun_supervisor))[0].fun_id;\r\n }\r\n valores.fun_datademissao = !!valores.fun_datademissao ? moment(valores.fun_datademissao) : null;\r\n valores.fun_dataadmissao = !!valores.fun_dataadmissao ? moment(valores.fun_dataadmissao) : null;\r\n valores.pef_cpf = valores.pef_cpf.replace(/\\D/g, '');\r\n valores.fun_valorcustohora = parseFloat(valores.fun_valorcustohora);\r\n valores.fun_valorcustomes = parseFloat(valores.fun_valorcustomes);\r\n valores.funcionariocampopersonalizados = salvarCamposAdicionais(valores);\r\n carregando(true);\r\n if (!!valores.fun_id) {\r\n api.put(`Funcionario/Editar`, valores).then(\r\n res => {\r\n notification.success({ message: 'Aviso!', description: `Funcionario editado com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n api.post(`Funcionario/Incluir`, valores).then(\r\n res => {\r\n notification.success({ message: 'Aviso!', description: `Funcionario incluído com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n\r\n };\r\n\r\n function carregaDadosCamposAdicionais() { //Campos Adicionais\r\n let camposPersonalizados = { ...manutencao.dados };\r\n camposPersonalizados?.funcionariocampopersonalizados?.map(d => {\r\n let elemento = elementosFormulario.filter(f => f.cap_id === d.cap_id)[0];\r\n if (!!elemento)\r\n trataSetaDadosFormularioDinamico(formulario, elemento, d.fcp_valor);\r\n })\r\n }\r\n\r\n const salvarCamposAdicionais = (values) => {\r\n var camposAdicionais = [];\r\n elementosFormulario?.map((elemento) => {\r\n values = trataRetornoFormularioDinamico(values, elemento);\r\n let funcionariocampopersonalizados = { ...manutencao.dados };\r\n let forDados = funcionariocampopersonalizados.funcionariocampopersonalizados?.filter(f => f.cap_id == elemento.cap_id)[0];\r\n if (!!values[elemento.cap_nomeelemento]) {\r\n camposAdicionais.push({ fcp_id: !!forDados ? forDados.fcp_id : null, fun_id: values.fun_id, cap_id: elemento.cap_id, fcp_valor: String(values[elemento.cap_nomeelemento]) });\r\n }\r\n });\r\n return camposAdicionais;\r\n }\r\n\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?entidade=3&PageNumber=1&PageSize=1000&Order=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n setElementosFormulario(res.data.items);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n function validarCpfExistente(cpf) {\r\n api.get(`PessoaFisica/VerificarCpfExistente?cpf=${cpf}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CPF informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarFuncionarioCpf(cpf);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n\r\n function verificarCpfValido(dado) {\r\n let valorCampo;\r\n if (!!dado.currentTarget) {\r\n valorCampo = dado.currentTarget.value.replace(/\\D/g, '');\r\n } else {\r\n valorCampo = dado;\r\n }\r\n if (!validarCpf(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CPF informado é inválido' });\r\n formulario.setFieldsValue({ pef_cpf: null });\r\n } else {\r\n validarCpfExistente(valorCampo)\r\n }\r\n }\r\n\r\n function listaFuncionario(fun_id) {\r\n if (!!!fun_id) {\r\n return;\r\n }\r\n api.get(`Funcionario/BuscarFuncionario/${fun_id}`).then(\r\n (res) => {\r\n let valores = res.data;\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n res.data.pef_rguf = res.data.pef_rguf == \"\" ? null : res.data.pef_rguf\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.fun_dataadmissao = !!valores.fun_dataadmissao ? moment(valores.fun_dataadmissao) : null;\r\n valores.fun_datademissao = !!valores.fun_datademissao ? moment(valores.fun_datademissao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarFuncionarioCpf(cpf) {\r\n api.get(`Funcionario/BuscarFuncionarioCpf/${cpf}`).then(\r\n res => {\r\n let valores = res.data;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.fun_dataadmissao = !!valores.fun_dataadmissao ? moment(valores.fun_dataadmissao) : null;\r\n valores.fun_datademissao = !!valores.fun_datademissao ? moment(valores.fun_datademissao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.fun_ativo = true;\r\n let lista = [];\r\n if (!!valores.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: valores.pef_rguf });\r\n }\r\n if (!!valores.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: valores.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n }\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function listarEstadoCivil() {\r\n api.get(`EstadoCivil/Listar`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setEstadoCivil(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function listarSupervisor() {\r\n api.get(`Funcionario/BuscarSupervisor`).then(\r\n res => {\r\n setSupervisor(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n { verificarCpfValido(pef_cpf) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n carregarCidades(UfEstado)} onChangeFunction={(UfEstado) => carregarCidades(UfEstado)}\r\n conteudo={\r\n est => (\r\n {est.est_sigla} - {est.est_descricao})\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n ({cid.cid_id} - {cid.cid_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Funcionário Ativo? \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \"Outras Outras Informações\r\n \r\n \r\n Outras Informações Relacionadas.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Campos Campos Adicionais\r\n \r\n \r\n Adicione abaixo as informações adicionais.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Form, Row, Col, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoFuncionario from './manutencao';\r\nimport { drawerActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerFuncionario({ editando }) {\r\n\r\n const [formFuncionario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados && editando.editando) {\r\n formFuncionario.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formFuncionario.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n editando.setEditando(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n { fecharDrawer() }}\r\n closeIcon={}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal, Button, Dropdown, Menu, Form, Collapse, Radio } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, MoreOutlined, CloudUploadOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerFuncionario from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, MaskFormat } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, PesquisaAvancadaPessoas, TabelaDados, Editar, Excluir, BotaoIncluirDados, BotaoAbrirChamado, BreadcrumbPage, PesquisaAvancada } from \"../../components\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport default function Funcionario() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [editando, setEditando] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n\r\n const menuOutros = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n useEffect(() => {\r\n let _ativo = !!!form.getFieldsValue().funcionarioAtivo ? 1 : form.getFieldsValue().funcionarioAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${_ativo}`, ordem: '+pes_nome' } })\r\n form.setFieldsValue({ funcionarioAtivo: 1 });\r\n }, []);\r\n\r\n function excluirRegistro(funcionario) {\r\n api.delete(`Funcionario/Excluir/${funcionario.fun_id}`).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: 'funcionario excluído com sucesso!' });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().funcionarioAtivo}`, filtro: '', ordem: '+pes_nome' } });\r\n }).catch(\r\n (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(funcionario);\r\n })\r\n };\r\n\r\n function inativarRegistro(funcionario) {\r\n api.put(`Funcionario/InativarFuncionario/${funcionario.fun_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().funcionarioAtivo}`, filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (funcionario) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o funcionario ${funcionario.fun_id}-${funcionario.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(funcionario);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (funcionario) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o funcionario!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o funcionario ${funcionario.fun_id}-${funcionario.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(funcionario);\r\n }\r\n });\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n function editarFuncionario(record) {\r\n setEditando(true);\r\n record.fun_dataadmissao = moment(record.fun_dataadmissao);\r\n record.fun_datademissao = moment(record.fun_datademissao);\r\n record.pef_rgdataexpedicao = moment(record.pef_rgdataexpedicao);\r\n record.pef_datanascimento = moment(record.pef_datanascimento);\r\n record.pef_dataalteracao = moment(record.pef_dataalteracao);\r\n record.pes_datainclusao = moment(record.pes_datainclusao);\r\n record.pes_dataalteracao = moment(record.pes_dataalteracao);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function retornoPesquisaAvancada(expressao) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().funcionarioAtivo}&filtroAdicional=${btoa(expressao)}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().funcionarioAtivo}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={form} telaFiltro={4} />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {fun_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Funcionário',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF',\r\n width: 138,\r\n render: ({ pef_cpf }) => (\r\n
\r\n {MaskFormat(pef_cpf, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro, pee_numero, bai_nome, cep_cep, cid_descricao, est_sigla }) => (\r\n
\r\n \r\n {!!log_logradouro ? log_logradouro : 'Não Informado'}\r\n {!!pee_numero ? (', ' + pee_numero) : ''}\r\n {!!bai_nome ? (', ' + bai_nome) : ''}\r\n {!!cep_cep ? ('- ' + cep_cep) : ''}\r\n {!!cid_descricao ? ('- ' + cid_descricao) : ''}\r\n {!!est_sigla ? ('- ' + est_sigla) : ''}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n editarFuncionario(record);\r\n }} icon={} />\r\n \r\n \r\n { modalExcluirRegistro(record) }} icon={} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]}\r\n expandir={({ pem_email, pef_rg }) => {\r\n return (\r\n \r\n {!!pef_rg ? \r\n RG: {pef_rg}\r\n : null}\r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Form, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoVendedor from './manutencao';\r\nimport { drawerActions, manutencaoActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerVendedor({ editando }) {\r\n const [formVendedor] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [pagina, setPagina] = useState(1);\r\n\r\n if (!!manutencao.dados && editando.editando) {\r\n formVendedor.setFieldsValue(manutencao.dados);\r\n }\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n formVendedor.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n setPagina(1);\r\n editando.setEditando(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n onCloseEdit={onClose}\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Tag, Popover, notification, Modal, Dropdown, Button, Menu, Form, Collapse, Radio } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, MoreOutlined, CloudUploadOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerVendedor from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, FormatarCPF } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, TabelaDados, Editar, Excluir, BotaoIncluirDados, BotaoAbrirChamado, BreadcrumbPage, PesquisaAvancada } from \"../../components\";\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function Vendedor() {\r\n\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [editando, setEditando] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n\r\n const menuOutros = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n useEffect(() => {\r\n let _ativo = !!!form.getFieldsValue().vendedorAtivo ? 1 : form.getFieldsValue().vendedorAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${_ativo}`, filtro: '', ordem: '+pes_nome' } })\r\n form.setFieldsValue({ vendedorAtivo: 1 });\r\n }, []);\r\n\r\n function editarVendedor(valores) {\r\n setEditando(true);\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.id_rguf = valores.pef_rguf\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function excluirRegistro(vendedor) {\r\n api.delete(`Vendedor/Excluir/${vendedor.ven_id}`).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: 'vendedor excluído com sucesso!' });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().vendedorAtivo}`, filtro: '', ordem: '+pes_nome' } });\r\n }).catch(\r\n (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(vendedor);\r\n })\r\n };\r\n\r\n function inativarRegistro(vendedor) {\r\n api.put(`Vendedor/InativarVendedor/${vendedor.ven_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().vendedorAtivo}`, filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (vendedor) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o vendedor ${vendedor.ven_id}-${vendedor.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(vendedor);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (vendedor) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o vendedor!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o vendedor ${vendedor.ven_id}-${vendedor.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(vendedor);\r\n }\r\n });\r\n };\r\n\r\n function retornoPesquisaAvancada(expressao) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().vendedorAtivo}&filtroAdicional=${btoa(expressao)}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&ativo=${form.getFieldValue().vendedorAtivo}`, ordem: '+pes_nome' } })\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={form} telaFiltro={6} />\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n (\r\n \r\n \r\n {ven_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Vendedor', key: 'pes_nome',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF',\r\n width: 138,\r\n render: ({ pef_cpf }) => (\r\n
\r\n {FormatarCPF(pef_cpf) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'RG',\r\n width: 120,\r\n render: ({ pef_rg }) => (\r\n
\r\n {pef_rg || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro, pee_numero, bai_nome, cep_cep, cid_descricao, est_sigla }) => (\r\n
\r\n {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n editarVendedor(record)} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluirRegistro(record)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]}\r\n expandir={({ pem_email }) => {\r\n return (\r\n
\r\n \r\n
\r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Popover, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, CloseCircleOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerTributacaoIcms from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function TributacaoIcms() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } }), []);\r\n\r\n function excluirRegistro(item) {\r\n setCarregando(true);\r\n api.delete(`tributacaoIcms/Excluir/${item.icm_id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Os dados do ICMS foram excluídos com sucesso!\" });\r\n dispatch({ type: listagemActions.CHANGE, data: { label: \"Nome Z - A\", ordem: '+icm_descricao' } })\r\n }).catch(err => {\r\n modalInativarConta(item);\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } });\r\n });\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarConta = (dados) => {\r\n Modal.confirm({\r\n title: `Não foi possível excluir a Tributação ICMS ${dados.icm_descricao}!`,\r\n icon: ,\r\n content: `Deve conter referências com outros registros!`,\r\n okText: 'Inativar Registro',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n console.log(dados);\r\n dados.inativar = 1;\r\n dados.icm_ativo = false;\r\n api.put(`tributacaoIcms/editar`, dados).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Tributação inativada com sucesso!\" });\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { label: \"Nome Z - A\", ordem: '+icm_descricao' } })\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } });\r\n });\r\n }\r\n });\r\n };\r\n\r\n const modalDuplicarDados = (dados) => {\r\n Modal.confirm({\r\n title: 'Duplicar?',\r\n icon: ,\r\n content: `Deseja duplicar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n dados.duplicar = true;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {icm_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Tributações do ICMS',\r\n render: ({ icm_descricao }) => (\r\n
\r\n {icm_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluir(record)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Tag, Popover, Divider, Modal, notification } from \"antd\";\r\nimport { EditOutlined, ExclamationCircleOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport DrawerTributacaoPisCofins from './drawer';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function TributacaoPisCofins() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function excluirRegistro(id) {\r\n setCarregando(true);\r\n api.delete(`TributacaoPisCofins/Excluir/${id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, erro => {\r\n modalInativarRegistro(id);\r\n })\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n const modalInativarRegistro = (id) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a Tributação Pis/Cofins. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(id);\r\n }\r\n });\r\n };\r\n\r\n function inativarRegistro(id) {\r\n api.put(`TributacaoPisCofins/Inativar/${id}`).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Tributação Pis/Cofins inativada com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pis_descricao' } });\r\n }\r\n )\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {pis_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Tributação do PIS e COFINS',\r\n render: ({ pis_descricao }) => (\r\n
\r\n \r\n
\r\n {pis_descricao}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n render: ({ nat_descricao }) => (\r\n
\r\n \r\n {nat_descricao}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n fixed: 'right',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n let item = { ...record };\r\n item.cpc_saidacstpis = { cpc_id: record.cpc_saidacstpis };\r\n item.cpc_saidacstcofins = { cpc_id: record.cpc_saidacstcofins };\r\n item.cpc_entradacstpispj = { cpc_id: record.cpc_entradacstpispj };\r\n item.cpc_entradacstpispf = { cpc_id: record.cpc_entradacstpispf };\r\n item.cpc_entradacstcofinspj = { cpc_id: record.cpc_entradacstcofinspj };\r\n item.cpc_entradacstcofinspf = { cpc_id: record.cpc_entradacstcofinspf };\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: item } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluir(record.pis_id)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n }\r\n expandir={(record) => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Tributação PIS\r\n \r\n \r\n \r\n \r\n CST Saída: {record.cpc_saidacstpis || 'Não Informado'} \r\n \r\n \r\n Perc.Redução BC: {record.pis_saidapercredbcpis || 'Não Informado'}\r\n \r\n \r\n Alíquota: {record.pis_saidapercpis || 'Não Informado'}\r\n \r\n \r\n \r\n CST Entrada Pessoa Física: {record.cpc_entradacstpispf || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbcpispf || 'Não Informado'} \r\n \r\n \r\n Alíquota: {record.pis_entradapercpispf || 'Não Informado'}\r\n \r\n \r\n \r\n CST Entrada Pessoa Jurídica: {record.cpc_entradacstpispj || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbcpispj || 'Não Informado'}\r\n \r\n \r\n Alíquota: {record.pis_entradapercpispj || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tributação COFINS\r\n \r\n \r\n \r\n \r\n CST Saída: {record.cpc_saidacstcofins || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_saidapercredbccofins || 'Não Informado'}\r\n \r\n \r\n Alíquota: {record.pis_saidaperccofins || 'Não Informado'}\r\n \r\n \r\n \r\n CST Entrada Pessoa Física: {record.cpc_entradacstcofinspf || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbccofinspf || 'Não Informado'} \r\n \r\n \r\n Alíquota: {record.pis_entradaperccofinspf || 'Não Informado'} \r\n \r\n \r\n \r\n CST Entrada Pessoa Jurídica: {record.cpc_entradacstcofinspj || 'Não Informado'} \r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbccofinspj || 'Não Informado'} \r\n \r\n \r\n Alíquota: {record.pis_entradaperccofinspj || 'Não Informado'} \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, notification, Table, Form, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { ModalNcm } from \"../../components/modals/\";\r\n\r\nexport default function TabDadosOrigemDestino({ formulario }) {\r\n\r\n const [formModal] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openModal, setOpenModal] = useState(false);\r\n const [listaNcm, setListaNcm] = useState([]);\r\n const [dadosNcm, setDadosNcm] = useState(null);\r\n\r\n const modalExcluir = (item, index) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n removerRegistro(item, index);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.mvaorigemdestinos) {\r\n setListaNcm(manutencao.dados.mvaorigemdestinos);\r\n }\r\n }, [manutencao.dados])\r\n\r\n function fecharModal() {\r\n setOpenModal(false);\r\n if (dadosNcm.mvaorigemdestinos) {\r\n let listTemp = [...dadosNcm.mvaorigemdestinos];\r\n setListaNcm(listTemp);\r\n }\r\n }\r\n\r\n function removerRegistro(item, index) {\r\n let listTemp = [...manutencao.dados.mvaorigemdestinos];\r\n if (index !== -1) {\r\n if (index > -1) {\r\n listTemp.splice(index, 1)\r\n }\r\n setListaNcm(listTemp);\r\n manutencao.dados.mvaorigemdestinos = listTemp\r\n }\r\n }\r\n function editarRegistro(item, index) {\r\n setOpenModal(true);\r\n setDadosNcm(manutencao.dados);\r\n formModal.setFieldsValue(item);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \"Dados Dados de Origem e Destino (OPCIONAL)\r\n \r\n \r\n Defina as Informações de Origem e Destino referente a Substituição Tributário.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {mva_uforigem}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Destino',\r\n align: 'center',\r\n width: 80,\r\n render: ({ mva_ufdestino }) => (\r\n
\r\n {mva_ufdestino}\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Redução da Base de Cálculo',\r\n align: 'center',\r\n render: ({ mva_percaliquotaicmsreducao }) => (\r\n
\r\n {mva_percaliquotaicmsreducao}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Alíquota ICMS ST',\r\n align: 'center',\r\n render: ({ mva_percaliquotaicms }) => (\r\n
\r\n {mva_percaliquotaicms}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'MVA',\r\n align: 'center',\r\n width: 100,\r\n render: ({ mva_percmva }) => (\r\n
\r\n {mva_percmva}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'MVA Ajustado',\r\n align: 'center',\r\n render: ({ mva_ajustado }) => (\r\n
\r\n {mva_ajustado}%\r\n
\r\n ),\r\n },\r\n {\r\n title: ' MVA Interestadual',\r\n align: 'center',\r\n render: ({ mva_simplesnacional }) => (\r\n
\r\n {mva_simplesnacional}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 75,\r\n render: (item, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({cip.cip_id} - {cip.cip_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n ({cip.cip_id} - {cip.cip_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoNcmSubtituicaoTributaria from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerNcmSubtituicaoTributaria() {\r\n\r\n const [formNCM] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null)\r\n formNCM.setFieldsValue(manutencao.dados);\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n function fecharDrawer() {\r\n formNCM.resetFields();\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ncm_id' } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n return (\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Button, Tag, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport DrawerNcmSubtituicaoTributaria from './drawer';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function NcmSubtituicaoTributaria() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { filtro: '', ordem: '+ncm_id' } }), []);\r\n\r\n function excluirNcm(record) {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(record);\r\n }\r\n });\r\n };\r\n\r\n function excluirRegistro(record) {\r\n api.delete(`Ncm/Excluir/${record.ncm_id}`).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do NCM foram salvos com sucesso!\" });\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ncm_id' } });\r\n });\r\n };\r\n\r\n function duplicarNcm(record) {\r\n record.ncm_id = null;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n {!!ncm_codigo.codigoNcm ? ncm_codigo.codigoNcm : ncm_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ ncm_descricao }) => (\r\n
\r\n {ncm_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 95,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true, editItem: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { excluirNcm(record) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } expandir={({ cip_entrada, cip_saida, ncm_percentual, ncm_extipi }) => {\r\n return (\r\n
\r\n \r\n
\r\n CST IPI para Entrada: {cip_entrada || 'Não Informado'}\r\n \r\n \r\n CST IPI para Saída: {cip_saida || 'Não Informado'}\r\n \r\n \r\n Alíquota do IPI: {ncm_percentual || 'Não Informado'}\r\n \r\n \r\n Exceção do IPI: {ncm_extipi || 'Não Informado'}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form, Drawer } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport ManutencaoMarca from './manutencao';\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerMarca({cadMarca, openDrawer, setOpenDrawer, retornoSalvar}) {\r\n\r\n const [formMarca] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null) {\r\n formMarca.setFieldsValue(manutencao.dados);\r\n }\r\n else {\r\n //formMarca.resetFields();\r\n formMarca.setFieldsValue({mar_ativa:true});\r\n }\r\n\r\n function salvandoDados(retorno) {\r\n if(!!retornoSalvar){\r\n retornoSalvar(retorno);\r\n } \r\n fecharDrawer();\r\n }\r\n\r\n function fecharDrawer() {\r\n formMarca.resetFields();\r\n if (!!openDrawer) {\r\n setOpenDrawer(false);\r\n }\r\n else {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n } \r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n onClose={() => onClose()}\r\n \r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport DrawerMarca from './drawer';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir, Duplicar } from \"../../components\";\r\n\r\nexport default function Marca() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+mar_nome' } }), []);\r\n\r\n function excluirRegistro(dados) {\r\n api.delete(`Marca/Excluir/${dados.mar_id}`).then(\r\n (res) => {\r\n notification.success({ message: `Sucesso!`, description: `Marca excluida com sucesso!` });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }).catch(\r\n (erro) => {\r\n modalInativarRegistro(dados);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+mar_nome' } });\r\n });\r\n }\r\n\r\n function inativarRegistro(dados) {\r\n dados.mar_ativa = false;\r\n api.put(`Marca/Editar`, dados).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Marca inativada com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+mar_nome' } });\r\n }\r\n )\r\n }\r\n\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a marca ${dados.mar_nome}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a Marca: ${dados.mar_nome}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalDuplicarDados = (dados) => {\r\n Modal.confirm({\r\n title: 'Duplicar?',\r\n icon: ,\r\n content: `Deseja duplicar a Marca: ${dados.mar_nome}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n duplicarDados(dados);\r\n }\r\n });\r\n };\r\n\r\n function duplicarDados(dados) {\r\n let valores = { ...dados };\r\n valores.mar_id = null;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {mar_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Marca',\r\n render: ({ mar_nome }) => (\r\n
\r\n {mar_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n } onClick={() => { modalDuplicarDados(dados) }} />\r\n \r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={}\r\n />\r\n \r\n \r\n } onClick={() => { modalExcluir(record) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n );\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form, Drawer } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, RetweetOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoGrupoProduto from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerGrupoProduto({openDrawerGrupo, setOpenDrawerGrupo, cadGrupo, retornoSalvar}) {\r\n\r\n const [formGrupoProduto] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null) {\r\n formGrupoProduto.setFieldsValue(manutencao.dados);\r\n }\r\n else {\r\n formGrupoProduto.setFieldsValue({gru_ativo:true});\r\n }\r\n\r\n function salvandoDados(retorno) {\r\n if(!!retornoSalvar){\r\n retornoSalvar(retorno);\r\n } \r\n fecharDrawer();\r\n }\r\n\r\n function fecharDrawer() {\r\n formGrupoProduto.resetFields();\r\n\r\n if(!!openDrawerGrupo) {\r\n setOpenDrawerGrupo(false);\r\n }\r\n else {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n }\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n \r\n return (\r\n\r\n }\r\n onClose={() => onClose()}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport DrawerGrupoProduto from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir, Duplicar } from \"../../components\";\r\n\r\nexport default function GrupoProduto() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome'}}), []);\r\n\r\n function excluirRegistro(id) {\r\n api.delete(`GrupoProduto/Excluir/${id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n }, erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } });\r\n });\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n }; \r\n\r\n const modalDuplicarDados = (dados) => {\r\n Modal.confirm({\r\n title: 'Duplicar?',\r\n icon: ,\r\n content: `Deseja duplicar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n dados.duplicar = true;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados }});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true }});\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {gru_id}\r\n \r\n \r\n ),\r\n },\r\n { \r\n title: 'Grupos de Produtos', \r\n render: ({gru_nome}) => (\r\n
\r\n {gru_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center', \r\n fixed: 'right',\r\n width: 95,\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n } onClick={() => {modalDuplicarDados(dados)}}/>\r\n \r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record }});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true }});\r\n }} icon={}/>\r\n \r\n \r\n } onClick={() => {modalExcluir(dados.gru_id)}} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n \r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form, Drawer } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport ManutencaoSubGrupo from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerSubGrupo({editando, openDrawerSubGp, setOpenDrawerSubGp, cadSubGp, retornoSalvar, gruId}) {\r\n\r\n const [ formSubGrupo ] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null ) {\r\n formSubGrupo.setFieldsValue(manutencao.dados);\r\n }\r\n else {\r\n formSubGrupo.setFieldsValue({sgb_ativo:true})\r\n }\r\n\r\n function salvandoDados(retorno) {\r\n if(!!retornoSalvar){\r\n retornoSalvar(retorno);\r\n }\r\n \r\n fecharDrawer();\r\n }\r\n function fecharDrawer() {\r\n formSubGrupo.resetFields();\r\n\r\n if(!!openDrawerSubGp){\r\n setOpenDrawerSubGp(false);\r\n }\r\n else {\r\n editando.setEditando(false);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+sgp_nome' } });\r\n }\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n onClose={() => onClose()}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Popover, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerSubGrupo from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function SubGrupo() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [editando, setEditando] = useState(false);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+sgp_nome' } }), []);\r\n\r\n function excluirRegistro(id) {\r\n api.delete(`SubGrupo/Excluir/${id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+sgp_nome' } });\r\n });\r\n }\r\n\r\n function editar(record) {\r\n setEditando(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n \r\n return (\r\n
\r\n \r\n \r\n\r\n
\r\n (\r\n \r\n \r\n {sgp_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Subgrupos de Produtos',\r\n render: ({ sgp_nome }) => (\r\n
\r\n {sgp_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Grupo',\r\n width: '50%',\r\n render: ({ grupo }) => (\r\n
\r\n {grupo?.gru_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n editar(record)\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { modalExcluir(record.sgp_id) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n\r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Input, Select, notification } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPercentual, InputPreco, SelectPaginacao, SelectPaginado } from \"../../components\";\r\nimport { selectPaginadoActions, manutencaoActions } from \"../../actions\";\r\nimport { getRegimeTributario } from \"../../services/auth\";\r\nimport { debounce } from \"@material-ui/core\";\r\n\r\nexport default function TabProdutoTributacao({ formulario }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [listaCest, setListaCest] = useState([]);\r\n const [regimeTrib, setRegimeTrib] = useState(parseInt(getRegimeTributario()));\r\n const [listaCstOrigem, setListaCstOrigem] = useState([]);\r\n const [hiddenFci, setHiddenFci] = useState(true);\r\n const [showGas, setShowGas] = useState(false);\r\n const [listaAnp, setlistaAnp] = useState([]);\r\n const [listaTipoProdutosSped, setListaTipoProdutoSped] = useState([]);\r\n const [listaNcm, setListaNcm] = useState([]);\r\n\r\n useEffect(() => carregarDados(), []);\r\n\r\n useEffect(() => {\r\n if (listaTipoProdutosSped.length > 0) {\r\n if (!!!formulario.getFieldValue().tpi_id) {\r\n formulario.setFieldsValue({ tpi_id: listaTipoProdutosSped[0].tpi_id });\r\n }\r\n }\r\n }, [listaTipoProdutosSped])\r\n\r\n function carregarDados() {\r\n if (!!manutencao.dados?.ncm_codigo) {\r\n api.get(`produto/BuscarCest?CodigoNcm=${manutencao.dados.ncm_codigo}`).then(res => {\r\n if (res.status === 200) setListaCest(res.data);\r\n }).catch((erro) => console.error(erro));\r\n }\r\n\r\n api.get(`CstOrigemMercadoria/ListarTodos`).then(res => {\r\n if (res.status === 200) {\r\n setListaCstOrigem(res.data);\r\n if (!!manutencao.dados?.orm_id) {\r\n let number = parseInt(manutencao.dados.orm_id)\r\n formulario.setFieldsValue({ orm_id: res.data[number].orm_id });\r\n } else {\r\n formulario.setFieldsValue({ orm_id: res.data[0].orm_id });\r\n }\r\n checkMarcadores();\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`tipoprodutosped/listar`).then(res => {\r\n if (!!formulario.getFieldValue().tpi_id && res.data.length > 0 && !res.data?.find((tp) => { return tp.tpi_id === formulario.getFieldValue().tpi_id })) {\r\n formulario.setFieldsValue({ tpi_id: null });\r\n }\r\n setListaTipoProdutoSped(res.data);\r\n\r\n }).catch((erro) => console.error(erro));\r\n\r\n let lista = [];\r\n if (!!manutencao.dados?.ncm_id)\r\n lista.push({ name: \"ncm_id\", campo: \"IdNcm\", value: manutencao.dados?.ncm_id });\r\n\r\n if (!!manutencao.dados?.icm_id)\r\n lista.push({ name: \"icm_id\", campo: \"Codigo\", value: manutencao.dados?.icm_id })\r\n\r\n if (!!manutencao.dados?.pis_id)\r\n lista.push({ name: \"pis_id\", campo: \"Id\", value: manutencao.dados?.pis_id });\r\n\r\n if (!!manutencao.dados?.anp_id) {\r\n lista.push({ name: \"anp_id\", campo: \"IdAnp\", value: manutencao.dados?.anp_id });\r\n if (manutencao.dados?.anp_codigo === 210203001)\r\n setShowGas(true);\r\n }\r\n if (!!manutencao.dados?.cbf_id && regimeTrib === 3)\r\n lista.push({ name: \"cbf_id\", campo: \"Id\", value: manutencao.dados?.cbf_id });\r\n\r\n if (lista.length > 0) {\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n };\r\n\r\n\r\n function checkMarcadores() {\r\n if (formulario.getFieldValue(['orm_id']) == 0 || formulario.getFieldValue(['orm_id']) == 4)\r\n setHiddenFci(true);\r\n else\r\n setHiddenFci(false);\r\n };\r\n function checkAnp(anp) {\r\n // conforme NT\r\n if (!!anp && anp.anp_codigo === 210203001) {\r\n formulario.setFieldsValue({ anp_codigo: anp.anp_codigo });\r\n setShowGas(true);\r\n }\r\n else {\r\n if (anp)\r\n formulario.setFieldsValue({ anp_codigo: anp.anp_codigo });\r\n else\r\n formulario.setFieldsValue({ anp_codigo: null });\r\n setShowGas(false);\r\n }\r\n };\r\n\r\n\r\n function buscarCest(ncm) {\r\n if (listaNcm.length > 0) {\r\n let _lista = [...listaNcm]\r\n if (!!formulario.getFieldValue().ncm_id) {\r\n let ncm = _lista.find(c => c.ncm_id == formulario.getFieldValue().ncm_id)\r\n formulario.setFieldsValue({ ncm_ativo: ncm.ncm_ativo });\r\n console.log(ncm);\r\n if (ncm.ncm_ativo === false)\r\n notification.warn({ message: 'Atenção', description: \"NCM está inativo na base de dados do SEFAZ! Certifique-se de que o NCM que você está usando está correto na aba Dados Tributários\" });\r\n }\r\n }\r\n if (!!ncm) {\r\n api.get(`produto/BuscarCest?IdNcm=${ncm}`).then(res => {\r\n if (res.status === 200) setListaCest(res.data);\r\n formulario.setFieldsValue({ cen_id: null });\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n\r\n const onFinish = values => {\r\n console.log('values trib', values);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Dados Dados Tributários\r\n \r\n \r\n Defina as Tributações do Produto.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaTipoProdutosSped.map((tp) => ({tp.tpi_id} - {tp.tpi_descricao} ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaCstOrigem.map((ori) => ({ori.orm_id} - {ori.orm_descricao}))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n buscarCest(ncm)} onChangeFunction={(ncm) => buscarCest(ncm)}\r\n conteudo={\r\n ncm => ({ncm.ncm_codigo.codigoNcm} - {ncm.ncm_descricao})}\r\n />\r\n \r\n \r\n prevValues.hiddenCest !== currentValues.hiddenCest}>\r\n {listaCest.length > 0 &&\r\n \r\n 0 ? [{ required: true, message: 'Selecione a Classificação do CEST' }] : null}>\r\n { return { label: `${cest.cet_id} - ${cest.cet_descricao}`, value: cest.cen_id } })}>\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ({icms.icm_id} - {icms.icm_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n ({pis.pis_id} - {pis.pis_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n checkAnp(listaAnp.find(l => l.anp_id == anp));\r\n }}\r\n onClearFunction={(anp) => checkAnp(anp)}\r\n placeholder=\"Selecione o Código ANP(Caso For combustível)\"\r\n conteudo={\r\n anp => ({anp.anp_codigo} - {anp.anp_descricao})\r\n }\r\n />\r\n \r\n \r\n {regimeTrib === 3 && \r\n \r\n ({v.cbf_codigo} - {v.cbf_descricao} )\r\n } />\r\n \r\n }\r\n {showGas && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Form, Tag, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { ModalListaPreco } from \"../../components/modals/\";\r\n\r\nexport default function TabListaPreco({ listaDePrecos, setListaDePrecos, listaPrecoExclusao }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [openModal, setOpenModal] = useState(false);\r\n\r\n const modalConfirmaExclusao = (record) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir a lista de preço ${record.ltp_id}-${record.ltp_nome} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n removeLista(record);\r\n }\r\n });\r\n };\r\n\r\n const removeLista = (record) => {\r\n let ltp_id = record.ltp_id;\r\n const newData = [...listaDePrecos];\r\n const index = newData.findIndex((item) => record.key === item.key);\r\n let listaExclusao = [...listaPrecoExclusao.listaPrecoExclusao];\r\n if (!!ltp_id){\r\n listaExclusao.push(newData.find(i => i.ltp_id === ltp_id));\r\n listaPrecoExclusao.setListaPrecoExclusao(listaExclusao);\r\n } \r\n newData.splice(index, 1);\r\n setListaDePrecos(newData.map((x, idx) => ({ key: idx, ...x })));\r\n };\r\n\r\n const editarLista = (record, indice) => {\r\n form.setFieldsValue(record);\r\n setOpenModal(true);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Demais Demais Listas de Preços Deste Produto\r\n \r\n Demais Listas de Preços deste Produto. \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{return !lista.ltp_principal})} columns={[\r\n {\r\n title: 'Código',\r\n width: 75,\r\n align: 'center',\r\n render: ({ ltp_id }) => (\r\n \r\n {ltp_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição da Lista de Preço',\r\n render: ({ ltp_nome }) => (\r\n {ltp_nome}\r\n ),\r\n },\r\n\r\n {\r\n title: 'Valor (R$)',\r\n editable: true,\r\n align: 'right',\r\n render: ({ lpi_valorvenda }) => (\r\n
\r\n {FormatNumber(lpi_valorvenda, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{x: 900}}/>\r\n \r\n \r\n setOpenModal(false)} />\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Checkbox, Select, Button, Tag, Popover, Table, Upload, Input, InputNumber, Modal, Collapse } from \"antd\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { PlusOutlined, AppstoreOutlined, FileImageOutlined, DeleteOutlined, DownloadOutlined, CheckOutlined, ExclamationCircleOutlined, SyncOutlined, SearchOutlined, EyeOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { arredonda, info, validarEan } from \"../../services/funcoes\";\r\n\r\nexport default function TabGrade({ gerarEANProduto, formulario, formGrade, listaDeGrades, setListaDeGrades }) {\r\n\r\n const [{ ui, manutencao, parametrosEmpresa }, dispatch] = useStateValue();\r\n const [listaModalidadesGrades, setModalidadesGrades] = useState([]);\r\n const [listaModalidadeItens, setListaModalidadeItens] = useState([]);\r\n const [criarGrade, setCriarGrade] = useState(false);\r\n const [openModalImgGrade, setOpenModalImgGrade] = useState(false);\r\n const [dadosImgGrade, setDadosImgGrade] = useState([]);\r\n const [detalhesModalImg, setDetalhesModalImg] = useState({});\r\n const [itensGradeSelecionados, setItensGradeSelecionados] = useState([]);\r\n const [modalidadesAdicionadas, setModalidadesAdicionadas] = useState([]);\r\n const [previewImage, setPreviewImage] = useState(\"\");\r\n const [previewVisible, setPreviewVisible] = useState(false);\r\n const inputPesquisa = React.createRef();\r\n const [open, setOpen] = useState(false);\r\n useEffect(() => carregarDados(), []);\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n useEffect(() => {\r\n if (open) {\r\n setTimeout(() => {\r\n if (!!inputPesquisa && !!inputPesquisa.current) {\r\n inputPesquisa.current.focus();\r\n }\r\n }, 200);\r\n }\r\n }, [open]);\r\n\r\n function carregarDados() {\r\n api.get(`ModalidadeGrade/ListarModalidade?PageSize=500`).then(res => {\r\n if (res.status === 200) setModalidadesGrades(res.data.items);\r\n }).catch((erro) => console.error(erro));\r\n };\r\n\r\n useEffect(() => {\r\n setItensGradeSelecionados([]);\r\n setModalidadesAdicionadas([]);\r\n }, [manutencao.dados]);\r\n\r\n function atualizarFormGrade(listaGrades = [...listaDeGrades]) {\r\n formGrade.resetFields();\r\n listaGrades.forEach((item, indice) => {\r\n item.key = indice + 1;\r\n formGrade.setFieldsValue({\r\n ['prg_ean' + item.key]: item.prg_ean,\r\n ['pre_custoultimacompra' + item.key]: (!!item.pre_custoultimacompra ? arredonda(item.pre_custoultimacompra, 2) : null),\r\n ['prg_markup' + item.key]: (!!item.prg_markup ? arredonda(item.prg_markup, 2) : null),\r\n ['lpi_valorvenda' + item.key]: (!!item.lpi_valorvenda ? arredonda(item.lpi_valorvenda, 2) : null),\r\n ['prg_codigoetiqueta' + item.key]: item.prg_codigoetiqueta\r\n });\r\n });\r\n setListaDeGrades(listaGrades);\r\n };\r\n\r\n function buscarModalidadeItem(modalidade) {\r\n if (modalidade) {\r\n api.get(`ModalidadeGrade/BuscarModalidade/${modalidade}`).then(res => {\r\n if (res.status === 200) {\r\n setListaModalidadeItens(res.data.map((x, idx) => ({ filtrado: true, checked: false, ...x })));\r\n }\r\n }).catch((error) => console.error(error));\r\n } else {\r\n setListaModalidadeItens([]);\r\n }\r\n setItensGradeSelecionados([]);\r\n };\r\n\r\n function abrirModalImgGrade(record) {\r\n let detalhesModal = {};\r\n let dadosImg = [];\r\n detalhesModal.descricao = '';\r\n detalhesModal.key = record.key;\r\n record.modalidadesgrade.forEach((atributo, indice) => {\r\n detalhesModal.descricao += atributo.mgp_descricao + (indice + 1 === record.modalidadesgrade.length ? '' : ' / ');\r\n });\r\n setDetalhesModalImg(detalhesModal);\r\n if (record.imagens.length === 0) {\r\n setDadosImgGrade(dadosImg);\r\n } else {\r\n record.imagens.forEach((img, indice) => {\r\n dadosImg.push({ uid: indice + 1, url: (!!img.url ? img.url : img.conteudoImagem), principal: img.principal });\r\n if (indice + 1 === record.imagens.length) {\r\n setDadosImgGrade(dadosImg);\r\n }\r\n });\r\n }\r\n setOpenModalImgGrade(true);\r\n };\r\n\r\n const onChange = ({ fileList: newFileList }) => {\r\n setDadosImgGrade(newFileList);\r\n };\r\n\r\n function getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n const handlePreview = async file => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await getBase64(file.originFileObj);\r\n }\r\n setPreviewImage(file.url || file.preview);\r\n setPreviewVisible(true);\r\n };\r\n\r\n function salvarDadosImgGrade() {\r\n let dadosGrade = [...listaDeGrades];\r\n let grade = dadosGrade.filter((item) => { return item.key === detalhesModalImg.key })[0];\r\n grade.imagens = [];\r\n if (dadosImgGrade.length === 0) {\r\n setListaDeGrades(dadosGrade);\r\n } else {\r\n dadosImgGrade.forEach((img, indice) => {\r\n let imgTemp = img;\r\n if (!(!!imgTemp.url)) {\r\n imgTemp.url = imgTemp.thumbUrl;\r\n }\r\n if (!(!!imgTemp.principal)) {\r\n imgTemp.principal = false;\r\n }\r\n grade.imagens.push(imgTemp);\r\n if (indice + 1 === dadosImgGrade.length) {\r\n setListaDeGrades(dadosGrade);\r\n }\r\n });\r\n }\r\n setOpenModalImgGrade(false);\r\n };\r\n\r\n function calcularValorVendaPorMarkup(key) {\r\n let valorVenda = retornaPrecoPorMarkup(formGrade.getFieldValue(['pre_custoultimacompra' + key]), formGrade.getFieldValue(['prg_markup' + key]));\r\n formGrade.setFieldsValue({ ['lpi_valorvenda' + key]: valorVenda });\r\n };\r\n\r\n function retornaPrecoPorMarkup(custo, markup) {\r\n if (parseFloat(custo) > 0 && parseFloat(markup) > 0) return (parseFloat(custo) * parseFloat(markup)).toFixed(2);\r\n else return null;\r\n };\r\n\r\n function recalcularMarkupDoProduto(key) {\r\n if (parseFloat(formGrade.getFieldValue(['pre_custoultimacompra' + key])) > 0 && parseFloat(formGrade.getFieldValue(['lpi_valorvenda' + key])) > 0) {\r\n let markupCalculado = (parseFloat(formGrade.getFieldValue(['lpi_valorvenda' + key])) / parseFloat(formGrade.getFieldValue(['pre_custoultimacompra' + key]))).toFixed(2);\r\n formGrade.setFieldsValue({ ['prg_markup' + key]: markupCalculado })\r\n } else {\r\n formGrade.setFieldsValue({ ['prg_markup' + key]: parametrosEmpresa.markupProduto });\r\n }\r\n };\r\n\r\n function verificaEanExiste(key) {\r\n let ean = formGrade.getFieldValue(['prg_ean' + key]);\r\n if (!!ean) {\r\n let produto = (!!formulario.getFieldValue('pro_id') ? `&IdProduto=${formulario.getFieldValue('pro_id')}` : '');\r\n api.get(`Produto/verificaEanExistente?CodigoEan=${ean}${produto}`).then(res => {\r\n if (res.status === 200) {\r\n if (!!res.data && res.data.existe == true) {\r\n info(\"Este EAN já existe em outro produto!\", \"EAN já informado!\");\r\n formGrade.setFieldsValue({ ['prg_ean' + key]: null });\r\n } else {\r\n for (let campo in formGrade.getFieldsValue()) {\r\n if (formGrade.getFieldsValue()[campo] === ean && campo !== ('prg_ean' + key)) {\r\n info(\"Este EAN já existe em outro produto!\", \"EAN já informado!\");\r\n formGrade.setFieldsValue({ ['prg_ean' + key]: null });\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n validaEanGrade();\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n function validaEanGrade() {\r\n let key = 0;\r\n for (let campo in listaDeGrades) {\r\n key++;\r\n let codEan = formGrade.getFieldValue(['prg_ean' + key]);\r\n if (codEan !== \"\") {\r\n if (codEan.startsWith(\"7\") && codEan.length === 13)\r\n formulario.setFieldsValue({ pro_eaninvalido: false });\r\n else {\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n break\r\n }\r\n }\r\n }\r\n }\r\n\r\n const modalExcluirGrade = (grade) => {\r\n Modal.confirm({\r\n title: 'Remover Grade do Produto?',\r\n icon: ,\r\n content: `Você deseja realmente remover esta grade do produto?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirGrade(grade);\r\n }\r\n });\r\n };\r\n\r\n function excluirGrade(grade) {\r\n if (!!grade.prg_id) {\r\n api.delete(`ProdutoGrade/ExcluirGrade/${grade.prg_id}`).then((res) => {\r\n if (res.data) {\r\n Modal.success({\r\n content: 'A Grade do produto foi removida com sucesso!',\r\n });\r\n atualizarGrade();\r\n } else {\r\n modalInativarGrade(grade.prg_id);\r\n }\r\n }, (erro) => {\r\n modalInativarGrade(grade.prg_id);\r\n });\r\n } else {\r\n let listaGrades = [...listaDeGrades];\r\n let index = listaGrades.findIndex(i => i.key === grade.key);\r\n listaGrades.splice(index, 1);\r\n listaGrades.map((item, indice) => {\r\n item.key = indice + 1;\r\n });\r\n setListaDeGrades(listaGrades);\r\n\r\n Modal.success({\r\n content: 'A Grade do produto foi removida com sucesso!',\r\n });\r\n atualizarFormGrade(listaGrades);\r\n }\r\n };\r\n\r\n const modalInativarGrade = (codigoGrade) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir a grade!',\r\n icon: ,\r\n content: `A Grade deve conter referências com outros registros!`,\r\n okText: 'Inativar registro',\r\n cancelText: 'Não fazer nada',\r\n centered: true,\r\n onOk() {\r\n ativarInativarItemGrade(codigoGrade, false);\r\n }\r\n });\r\n\r\n };\r\n\r\n function ativarInativarItemGrade(codigoGrade, status) {\r\n api.put(`ProdutoGrade/ativarInativar?codigoGrade=${codigoGrade}&status=${status}`).then(\r\n (res) => {\r\n Modal.success({\r\n content: `A Grade do produto foi ${status ? 'ativada' : 'inativada'} com sucesso!`,\r\n });\r\n validarGrade();\r\n atualizarGrade();\r\n }\r\n ).catch(\r\n (erro) => {\r\n error(`Não foi possivel ${status ? 'ativar' : 'inativar'} item da grade!`);\r\n }\r\n );\r\n };\r\n\r\n function validarGrade() {\r\n api.put(`ProdutoGrade/VerificarProdutoPossuiGradeAtiva?IdProduto=${formulario.getFieldsValue().pro_id}`).then(\r\n res => {\r\n formulario.setFieldsValue({ pro_ativo: res.data });\r\n if (res.data == false) {\r\n api.put(`produto/AtivarInativar?IdProduto=${formulario.getFieldsValue().pro_id}&Ativo=false`).then((res) => {\r\n })\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n\r\n function atualizarGrade() {\r\n api.get(`produto/ListarGrades?IdProduto=${formulario.getFieldsValue().pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n let lista = res.data;\r\n if (lista.length > 0) {\r\n lista.forEach((grade, index) => {\r\n grade.key = index + 1;\r\n });\r\n }\r\n setListaDeGrades(lista);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n };\r\n\r\n function adicionaGradeProduto() {\r\n if (itensGradeSelecionados.length > 0) {\r\n let listaTemp = [...modalidadesAdicionadas];\r\n let modalidade = listaModalidadesGrades.filter((item) => { return item.mgp_id === formGrade.getFieldValue('mgp_id') })[0];\r\n if (modalidadesAdicionadas.filter((modalidade) => { return modalidade.mgp_id === formGrade.getFieldValue('mgp_id') }).length > 0) {\r\n info(\"A Grade '\" + modalidade.mgp_descricao + \"' já está adicionada ao produto.\", \"Grade já adicionada!\");\r\n } else {\r\n let itens = [];\r\n listaModalidadeItens.map((item) => {\r\n if (itensGradeSelecionados.indexOf(item.mgp_id.toString()) >= 0) {\r\n itens.push(item);\r\n }\r\n });\r\n listaTemp.push({ mgp_id: modalidade.mgp_id, mgp_descricao: modalidade.mgp_descricao, itensGrade: itens });\r\n listaTemp.map((item, indice) => {\r\n item.key = indice + 1;\r\n });\r\n\r\n setModalidadesAdicionadas(listaTemp);\r\n formGrade.setFieldsValue({ mgp_id: undefined });\r\n }\r\n } else {\r\n info(\"Para adicionar a grade ao produto você deve selecionar ao menos um item de grade.\", \"Selecione ao menos um Item da Grade!\");\r\n }\r\n };\r\n\r\n function excluirModalidade(itemGrade) {\r\n Modal.confirm({\r\n title: 'Remover Grade do Produto?',\r\n icon: ,\r\n content: `Você deseja realmente remover a grade ${itemGrade.mgp_descricao} do produto?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let lista = [...modalidadesAdicionadas];\r\n let index = lista.findIndex(i => i.key === itemGrade.key);\r\n lista.splice(index, 1);\r\n lista.map((item, indice) => {\r\n item.key = indice + 1;\r\n });\r\n setModalidadesAdicionadas(lista);\r\n Modal.success({\r\n content: 'A Grade do produto foi removida com sucesso.',\r\n });\r\n }\r\n });\r\n };\r\n\r\n function gerarGrade() {\r\n let listaGrade = [];\r\n let modalidades = [...modalidadesAdicionadas];\r\n let totalModalidadesSelecionadas = modalidades.length;\r\n let posicaoGradeProduto;\r\n if (totalModalidadesSelecionadas > 1) {\r\n let primeiraModalidade = modalidades.shift();\r\n let totalOcorrencias = 0;\r\n modalidades.forEach((value, key) => {\r\n if (totalOcorrencias === 0) {\r\n totalOcorrencias = value.itensGrade.length;\r\n } else {\r\n totalOcorrencias = totalOcorrencias * value.itensGrade.length;\r\n }\r\n });\r\n totalOcorrencias = totalOcorrencias * primeiraModalidade.itensGrade.length;\r\n for (let i = 1; i <= totalOcorrencias; i++) {\r\n listaGrade.push({\r\n prg_ean: '',\r\n prg_codigoetiqueta: '',\r\n pre_custoultimacompra: formulario.getFieldValue().pre_custoultimacompra,\r\n prg_markup: parseFloat(formulario.getFieldValue().pro_markup),\r\n lpi_valorvenda: formulario.getFieldValue().lpi_valorvenda,\r\n pre_qtde: null,\r\n prg_ativa: true,\r\n modalidadesgrade: [],\r\n imagens: []\r\n });\r\n }\r\n posicaoGradeProduto = 0;\r\n for (let i = 0; i < primeiraModalidade.itensGrade.length; i++) {\r\n let itemModalidade = primeiraModalidade.itensGrade[i];\r\n for (let x = 0; x < (totalOcorrencias / primeiraModalidade.itensGrade.length); x++) {\r\n listaGrade[posicaoGradeProduto].modalidadesgrade.push(itemModalidade);\r\n posicaoGradeProduto++;\r\n }\r\n }\r\n let totalItensGradeAnterior = primeiraModalidade.itensGrade.length;\r\n let totalOcorrenciasGrade = 0;\r\n while (modalidades.length > 1) {\r\n let modalidadeDistribuicao = modalidades.shift();\r\n modalidades.forEach((value, key) => {\r\n if (totalOcorrenciasGrade == 0) {\r\n totalOcorrenciasGrade = value.itensGrade.length;\r\n } else {\r\n totalOcorrenciasGrade = totalOcorrenciasGrade * value.itensGrade.length;\r\n }\r\n });\r\n posicaoGradeProduto = 0;\r\n for (let z = 0; z < totalItensGradeAnterior; z++) {\r\n for (let i = 0; i < modalidadeDistribuicao.itensGrade.length; i++) {\r\n let itemModalidade = modalidadeDistribuicao.itensGrade[i];\r\n for (let x = 0; x < totalOcorrenciasGrade; x++) {\r\n listaGrade[posicaoGradeProduto].modalidadesgrade.push(itemModalidade);\r\n posicaoGradeProduto++;\r\n }\r\n }\r\n }\r\n totalItensGradeAnterior = modalidadeDistribuicao.itensGrade.length;\r\n }\r\n posicaoGradeProduto = 0;\r\n for (let i = 0; i < (totalOcorrencias / modalidades[0].itensGrade.length); i++) {\r\n modalidades[0].itensGrade.forEach((value, key) => {\r\n listaGrade[posicaoGradeProduto].modalidadesgrade.push(value);\r\n posicaoGradeProduto++;\r\n });\r\n }\r\n } else {\r\n modalidades[0].itensGrade.forEach((value, key) => {\r\n listaGrade.push({\r\n prg_ean: '',\r\n prg_codigoetiqueta: '',\r\n pre_custoultimacompra: formulario.getFieldValue().pre_custoultimacompra,\r\n prg_markup: parseFloat(formulario.getFieldValue().pro_markup),\r\n lpi_valorvenda: formulario.getFieldValue().lpi_valorvenda,\r\n pre_qtde: null,\r\n prg_ativa: true,\r\n modalidadesgrade: [value],\r\n imagens: []\r\n });\r\n });\r\n }\r\n\r\n listaDeGrades.forEach((item, indice) => {\r\n listaGrade.push(item);\r\n });\r\n listaGrade.map((item, indice) => {\r\n item.key = indice + 1;\r\n });\r\n setListaDeGrades(listaGrade);\r\n setCriarGrade(false);\r\n setModalidadesAdicionadas([]);\r\n setItensGradeSelecionados([]);\r\n atualizarFormGrade(listaGrade);\r\n };\r\n\r\n function adicionarItensSelecionados(selecionados) {\r\n let listaSel = [];\r\n let listaTemp = [...listaModalidadeItens];\r\n let filtrados = listaTemp.filter((item) => { return item.filtrado });\r\n filtrados.map((item) => {\r\n item.checked = selecionados.indexOf(item.mgp_id.toString()) >= 0;\r\n });\r\n listaTemp.map((item) => {\r\n if (item.checked) {\r\n listaSel.push(item.mgp_id.toString());\r\n }\r\n });\r\n setItensGradeSelecionados(listaSel);\r\n setListaModalidadeItens(listaTemp);\r\n };\r\n\r\n const autoTabProd = (event) => {\r\n if ((event.keyCode === 13 || event.keyCode === 9) || (!!event.which && (event.which === 13 || event.which === 9))) {\r\n if (!!event.target.form) {\r\n let elementos = event.target.form.querySelectorAll('[id^=\"prg_ean\"]');\r\n for (let key in elementos) {\r\n if (!!elementos[key].setAttribute && parseInt(key) >= 0) {\r\n elementos[key].setAttribute('index2', key);\r\n }\r\n }\r\n setTimeout(() => {\r\n let index = parseInt(event.target.getAttribute('index2'));\r\n if (!!elementos[index + 1]) {\r\n elementos[index + 1].focus();\r\n }\r\n }, 100);\r\n }\r\n }\r\n\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \"Dados Dados da Grade\r\n \r\n \r\n \r\n {!criarGrade && listaDeGrades.length === 0 &&\r\n \r\n \r\n O recurso de Grades permite o controle dos produtos que podem ser comercializados contendo atributos semelhantes e/ou variáveis. Através deste recurso no sistema, é possível realizar o controle das vendas e estoque levando em consideração características específicas dos produtos, possibilitando a distinção de um mesmo produto através de atributos como cor, tamanho, tipo, voltagem, etc.\r\n Para realizar a configuração dos possíveis atributos vá para a tela de \r\n \r\n Modalidades de Grade de Produtos.\r\n \r\n \r\n \r\n }\r\n {!criarGrade && listaDeGrades.length === 0 &&\r\n \r\n \r\n \r\n }\r\n {listaDeGrades.length > 0 &&\r\n \r\n \r\n {!criarGrade &&\r\n \r\n \r\n \r\n }\r\n {criarGrade &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n {criarGrade &&\r\n
\r\n \r\n
\r\n \r\n {\r\n buscarModalidadeItem(mod);\r\n }}\r\n options={listaModalidadesGrades.map((mod) => { return { label: `${mod.mgp_id} - ${mod.mgp_descricao}`, value: mod.mgp_id } })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (e.target.checked) {\r\n let lista = [];\r\n listaModalidadeItens.map(item => { lista.push(item.mgp_id.toString()) });\r\n setItensGradeSelecionados(lista);\r\n } else {\r\n setItensGradeSelecionados([]);\r\n }\r\n }} valuePropName=\"checked\"> Selecionar Todos \r\n \r\n \r\n \r\n prevValues.mgp_id !== currentValues.mgp_id}>\r\n {({ getFieldValue }) => {\r\n if (!!getFieldValue('mgp_id') && listaModalidadeItens.length > 0) return (\r\n \r\n \r\n \r\n } onClick={togglePesquisa}>Buscar\r\n }>\r\n \r\n {\r\n let value = e.target.value;\r\n let listaTemp = [...listaModalidadeItens];\r\n listaTemp.map((item) => {\r\n if (!!value) {\r\n item.filtrado = item.mgp_descricao.toLowerCase().indexOf(value.toLowerCase()) >= 0;\r\n } else {\r\n item.filtrado = true;\r\n }\r\n });\r\n setListaModalidadeItens(listaTemp);\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n { adicionarItensSelecionados(lista) }} value={itensGradeSelecionados} options={listaModalidadeItens.filter((item) => { return item.filtrado || !!!formGrade.getFieldValue().pesquisaGrade }).map((mod) => {\r\n return { label: `${mod.mgp_descricao}`, value: `${mod.mgp_id}` }\r\n })} />\r\n \r\n \r\n \r\n );\r\n if (!!getFieldValue('mgp_id') && listaModalidadeItens.length === 0) return (\r\n
\r\n \r\n
\r\n \r\n Não existem itens cadastrados para essa modalidade de grade!\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n para cadastrar itens para essa modalidade.\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n prevValues.mgp_id !== currentValues.mgp_id}>\r\n {({ getFieldValue }) => {\r\n if (!!getFieldValue('mgp_id') && listaModalidadeItens.length > 0) return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n }\r\n {modalidadesAdicionadas.length > 0 &&\r\n
\r\n \r\n
\r\n
\r\n
(\r\n \r\n {key}\r\n \r\n ),\r\n }, {\r\n render: ({ mgp_descricao }) => (\r\n {mgp_descricao}\r\n ),\r\n }, {\r\n render: ({ itensGrade }) => (\r\n itensGrade.map((item) => (\r\n \r\n {item.mgp_descricao}\r\n \r\n ))\r\n ),\r\n }, {\r\n title: '',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 40,\r\n fixed: 'right',\r\n render: (itemGrade) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Adicionar etiquetas automaticamente de acordo com as quantidades de estoque da grade ao salvar o produto?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {listaDeGrades.length > 0 && !criarGrade &&\r\n
\r\n
(\r\n \r\n \r\n {key}\r\n \r\n \r\n ),\r\n }, {\r\n title: 'Itens da Grade',\r\n width: 130,\r\n render: ({ modalidadesgrade }) => (\r\n modalidadesgrade.map((item) => (\r\n \r\n {item.mgp_descricao}\r\n \r\n ))\r\n ),\r\n }, {\r\n title: '',\r\n width: 100,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'EAN/GTIN',\r\n render: ({ prg_ean, key }) => (\r\n \r\n \r\n \r\n verificaEanExiste(key)} />\r\n \r\n \r\n \r\n \r\n Custo:\r\n \r\n \r\n calcularValorVendaPorMarkup(key)} placeholder=\"Informe o custo R$\" name={'pre_custoultimacompra' + key} />\r\n \r\n \r\n \r\n \r\n Markup:\r\n \r\n \r\n calcularValorVendaPorMarkup(key)} cifrao={false} placeholder=\"Informe o Markup R$\" name={'prg_markup' + key} />\r\n \r\n \r\n \r\n \r\n Valor Venda:\r\n \r\n \r\n recalcularMarkupDoProduto(key)} placeholder=\"Informe o valor R$\" name={'lpi_valorvenda' + key} />\r\n \r\n \r\n \r\n \r\n Cód. Etiqueta:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!formulario.getFieldValue('pro_id') &&\r\n \r\n \r\n Estoque:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n ),\r\n }, {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (grade) => (\r\n
\r\n \r\n
\r\n {grade.prg_ativa &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n setPreviewVisible(false)}\r\n >\r\n \"Imagem\r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Upload, Row, Col, Typography, Divider, Button, message, Modal } from \"antd\";\r\nimport { DownloadOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function TabImagem({ listaImagens, setListaImagens }) {\r\n\r\n const [previewImage, setPreviewImage] = useState('');\r\n const [previewVisible, setPreviewVisible] = useState(false);\r\n\r\n const onChange = ({ fileList: newFileList }) => {\r\n setListaImagens(newFileList);\r\n };\r\n\r\n const onPreview = async file => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await getBase64(file.originFileObj);\r\n }\r\n\r\n setPreviewImage(file.url || file.preview);\r\n setPreviewVisible(true);\r\n };\r\n\r\n function getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n function beforeUpload(file) {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\r\n if (!isJpgOrPng) {\r\n message.error('Você só pode fazer upload de arquivos JPG/PNG!');\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!isLt2M) {\r\n message.error('A imagem deve ter menos de 2 MB!');\r\n }\r\n return isJpgOrPng && isLt2M;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Imagens Imagens dos Produtos\r\n \r\n Adicione as imagens do produto aqui. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {listaImagens.length < 5 && 'Arraste a Imagem ou'}\r\n
\r\n \r\n \r\n \r\n \r\n setPreviewVisible(false)}\r\n >\r\n \"Imagem\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Tabs, Row, Col, Form, Input, Select, Checkbox, Switch, Tooltip, Button, Modal, notification, Alert } from \"antd\";\r\nimport { QuestionCircleOutlined, BarcodeOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions, selectPaginadoActions, drawerActions } from \"../../actions\";\r\nimport { calculaDigitoVerificadorEAN, isNotNullOrEmpty, validarCnpj, validarEan, ajustarTamanhoImagemBase64, resizeImageToMB } from \"../../services/funcoes\";\r\nimport { TabListaPreco, TabProdutoTributacao, TabGrade, TabImagem } from './tabPage';\r\nimport { FormGW, FormularioDinamico, InputPreco, SelectIncluir, SelectPaginacao } from \"../../components\";\r\nimport { trataRetornoFormularioDinamico, trataSetaDadosFormularioDinamico } from \"../../services/funcoes\";\r\nimport moment from \"moment\";\r\nimport DrawerMarca from \"../../pages/marca/drawer\";\r\nimport DrawerGrupoProduto from \"../../pages/grupoProdutos/drawer\";\r\nimport DrawerSubGrupo from \"../../pages/subGrupo/drawer\";\r\n\r\nexport default function ManutencaoProdutos({ formulario, nameForm, salvandoDados, aoSalvar, validarAoIniciar, editando }) {\r\n const [{ ui, manutencao, parametrosEmpresa }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [formGrade] = Form.useForm();\r\n const [listaDePrecos, setListaDePrecos] = useState([]);\r\n const [listaDeGrades, setListaDeGrades] = useState([]);\r\n const [listaImagens, setListaImagens] = useState([]);\r\n const [filtroGrupo, setFiltroGrupo] = useState(null);\r\n const [listaPrecoExclusao, setListaPrecoExclusao] = useState([]);\r\n const [produtoCamposPersonalizados, setProdutoCamposPersonalizados] = useState([]);\r\n const [listaUnidadeMedida, setListaUnidadeMedida] = useState([]);\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n const [possuiCusto, setPossuiCusto] = useState(false);\r\n const [openDrawerMarca, setOpenDrawerMarca] = useState(false);\r\n const [openDrawerGrupo, setOpenDrawerGrupo] = useState(false);\r\n const [openDrawerSubGp, setOpenDrawerSubGp] = useState(false);\r\n const [grupoSelect, setGrupoSelect] = useState([]);\r\n const [foundGroup, setFoundGroup] = useState([]);\r\n const [casaDecimaisUnd, setCasaDecimaisUnd] = useState(0);\r\n\r\n const trocaAbas = (pag) => {\r\n setAbaSelecionada(pag);\r\n };\r\n\r\n const listaValidacoes = [\r\n { nome: 'pro_descricao', obrigatorio: true, label: 'Descrição' },\r\n { nome: 'tpi_id', obrigatorio: true, label: 'Tipo de Produto - SPED' },\r\n { nome: 'ump_id', obrigatorio: true, label: 'Unidade de Medida' },\r\n { nome: 'orm_id', obrigatorio: true, label: 'Código Situação Tributária Origem' },\r\n { nome: 'ncm_id', obrigatorio: true, label: 'NCM - Nomenclatura Comum do Mercosul' },\r\n { nome: 'icm_id', obrigatorio: true, label: 'Classificação ICMS' }\r\n ];\r\n\r\n useEffect(() => { if (!!elementosFormulario && elementosFormulario.length) carregaDadosCamposAdicionais(); }, [elementosFormulario]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!editando.editando) {\r\n let lista = [];\r\n if (!!manutencao.dados?.mar_id) {\r\n lista.push({ name: \"mar_id\", campo: \"Codigo\", value: manutencao.dados.mar_id });\r\n }\r\n if (!!manutencao.dados?.gru_id) {\r\n lista.push({ name: \"gru_id\", campo: \"CodigoGrupo\", value: manutencao.dados.gru_id });\r\n }\r\n if (!!manutencao.dados?.sgp_id) {\r\n lista.push({ name: \"sgp_id\", campo: \"CodigoGrupo\", value: manutencao.dados.gru_id });\r\n }\r\n if (!!manutencao.dados?.ncm_id) {\r\n lista.push({ name: \"ncm_id\", campo: \"IdNcm\", value: manutencao.dados.ncm_id });\r\n }\r\n if (!!manutencao.dados?.icm_id) {\r\n lista.push({ name: \"icm_id\", campo: \"Codigo\", value: manutencao.dados.icm_id });\r\n }\r\n if (!!manutencao.dados?.pis_id) {\r\n lista.push({ name: \"pis_id\", campo: \"Id\", value: manutencao.dados.pis_id });\r\n }\r\n if (!!manutencao.dados?.anp_id) {\r\n lista.push({ name: \"anp_id\", campo: \"IdAnp\", value: manutencao.dados.anp_id });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!ui.showDrawer && !!validarAoIniciar && !!formulario.getFieldValue().pro_ean) {\r\n buscarEanExistente(formulario.getFieldValue().pro_ean);\r\n }\r\n }, [ui.showDrawer])\r\n\r\n useEffect(() => {\r\n if (listaUnidadeMedida.length > 0 && !formulario.getFieldValue().ump_id) {\r\n formulario.setFieldsValue({ ump_id: listaUnidadeMedida.find(un => un.ump_id === 'UN').ump_id });\r\n }\r\n if (listaUnidadeMedida.length > 0) {\r\n checkCasaDecimalUnidadeMedida();\r\n }\r\n }, [listaUnidadeMedida]);\r\n\r\n useEffect(() => {\r\n carregarListas();\r\n if (editando.editando) {\r\n carregarDados();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const found = grupoSelect.find(element => element.gru_id === formulario.getFieldValue(['gru_id']));\r\n\r\n if (!!found) {\r\n setFoundGroup(found);\r\n carregarSubGrupos(found.gru_id);\r\n }\r\n }, [formulario.getFieldValue(['gru_id'])]);\r\n\r\n async function carregarListas() {\r\n let unidade = await api.get(`unidademedida/listar?PageSize=100&PageNumber=1`);\r\n if (!!formulario.getFieldValue().ump_id && unidade.data?.items.length > 0 && !unidade.data?.items?.find((un) => { return un.ump_id === formulario.getFieldValue().ump_id })) {\r\n formulario.setFieldsValue({ ump_id: null });\r\n }\r\n setListaUnidadeMedida(unidade.data?.items);\r\n\r\n carregaCamposPersonalizados();\r\n }\r\n function checkCasaDecimalUnidadeMedida() {\r\n if (!!formulario.getFieldValue().emb_ump_id) {\r\n let und = listaUnidadeMedida.find(un => un.ump_id === formulario.getFieldValue().emb_ump_id);\r\n if (und) {\r\n setCasaDecimaisUnd(und.ump_casasdecimais);\r\n }\r\n else {\r\n setCasaDecimaisUnd(0);\r\n }\r\n } else {\r\n setCasaDecimaisUnd(0);\r\n }\r\n }\r\n\r\n function carregarSubGrupos(CodigoGrupo) {\r\n if (!!CodigoGrupo) {\r\n setFiltroGrupo(`&CodigoGrupo=${CodigoGrupo}`);\r\n let lista = [];\r\n if (!!formulario.getFieldValue().gru_id) {\r\n lista.push({ name: \"sgp_id\", campo: \"CodigoGrupo\", value: formulario.getFieldValue().gru_id });\r\n }\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }\r\n function validarForm(values, listaValidacoes) {\r\n let retorno = false;\r\n if (!!listaValidacoes) {\r\n let msgRetorno = [];\r\n listaValidacoes.forEach(\r\n (validacao) => {\r\n if (validacao.obrigatorio && (!!values[validacao.nome] === false && values[validacao.nome] !== 0)) {\r\n msgRetorno.push('O campo ' + validacao.label + ' é obrigatório!');\r\n }\r\n }\r\n );\r\n if (listaDeGrades.length > 0) {\r\n let gradeValida = true;\r\n listaDeGrades.forEach((grade) => {\r\n if (!!!formGrade.getFieldValue(['prg_ean' + grade.key])) {\r\n gradeValida = false;\r\n }\r\n });\r\n if (!gradeValida) {\r\n msgRetorno.push(\"Favor informar o EAN para a grade do produto!\");\r\n }\r\n }\r\n if (values.anp_codigo === 210203001) {\r\n let val = (parseFloat(values.prc_percglp) + parseFloat(values.prc_percglpnacional) + parseFloat(values.prc_percglpimportado));\r\n if ((parseFloat(values.prc_percglp) + parseFloat(values.prc_percglpnacional) + parseFloat(values.prc_percglpimportado)) !== 100)\r\n msgRetorno.push(\"Somatorio percentuais de GLP derivado do petroleo, GLGNn e GLGNi diferente de 100!\");\r\n }\r\n if (values.emb_ump_id && (values.pru_quantidade == null || values.pru_quantidade === 0)) {\r\n msgRetorno.push(\"Quantidade da embalagem deve ser informado quando existir unidade de medida(Embalagem)\");\r\n }\r\n if (values.ncm_ativo == false) {\r\n msgRetorno.push(\"NCM está inativo na base de dados do SEFAZ! Certifique-se de que o NCM que você está usando está correto na aba Dados Tributários\");\r\n }\r\n\r\n if (msgRetorno.length > 0) {\r\n notification.warning({ message: 'Aviso', description: msgRetorno.join('\\n') })\r\n } else {\r\n retorno = true;\r\n }\r\n\r\n }\r\n return retorno;\r\n };\r\n\r\n function salvarDadosCombustivel(dadosProd) {\r\n let dadosComb = {};\r\n if (dadosProd.anp_id && dadosProd.anp_codigo === 210203001) {// Gas\r\n dadosComb.prc_percgasnatural = dadosProd.prc_percgasnatural;\r\n dadosComb.prc_percglp = dadosProd.prc_percglp;\r\n dadosComb.prc_percglpnacional = dadosProd.prc_percglpnacional;\r\n dadosComb.prc_percglpimportado = dadosProd.prc_percglpimportado;\r\n dadosComb.prc_valorpartida = dadosProd.prc_valorpartida;\r\n dadosComb.prc_qtdetemperatura = dadosProd.prc_qtdetemperatura;\r\n return dadosComb;\r\n }\r\n return null;\r\n };\r\n function salvarProdutosUnidadeMedida(dadosProd) {\r\n let dadosUnidadeMedida = [];\r\n if (dadosProd.emb_ump_id) {\r\n dadosUnidadeMedida.push({ pru_id: dadosProd.pru_id, ump_id: dadosProd.emb_ump_id, pru_quantidade: dadosProd.pru_quantidade });\r\n return dadosUnidadeMedida;\r\n }\r\n return null;\r\n };\r\n\r\n\r\n async function salvarDados(values) {\r\n let dadosProd = {};\r\n dadosProd = { ...values, ...formulario.getFieldValue() };\r\n dadosProd.orm_id = (dadosProd.orm_id).toString();\r\n dadosProd.pro_kitcomposicao = !!dadosProd.pro_kitcomposicao ? dadosProd.pro_kitcomposicao : false;\r\n dadosProd.lpi_valorvenda = parseFloat(dadosProd.lpi_valorvenda);\r\n dadosProd.listaPreco = listaDePrecos.filter(l => l.ltp_principal == false);\r\n dadosProd.produtocampopersonalizados = salvarCamposAdicionais(formulario.getFieldValue());\r\n dadosProd.pre_qtdeestoqueinicial = parseFloat(dadosProd.pre_qtde)\r\n dadosProd.pro_markup = parseFloat(dadosProd.pro_markup)\r\n dadosProd.produtoGrade = popularGrade();\r\n dadosProd.ProdutoCombustivel = salvarDadosCombustivel(dadosProd);\r\n dadosProd.ProdutoUnidades = salvarProdutosUnidadeMedida(dadosProd);\r\n dadosProd.imagens = await popularImagens();\r\n if (validarForm(dadosProd, listaValidacoes)) {\r\n salvandoDados(true);\r\n if (dadosProd.pro_id) {\r\n editarManutencao(dadosProd);\r\n } else {\r\n incluirManutencao(dadosProd);\r\n }\r\n }\r\n };\r\n\r\n async function editarManutencao(dadosProd) {\r\n let retornoDrawer = [];\r\n api.put(`Produto/Editar`, dadosProd).then(\r\n res => {\r\n retornoDrawer = res.data;\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Produto foram salvos com sucesso!\" });\r\n aoSalvar(retornoDrawer);\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }).finally(\r\n () => {\r\n salvandoDados(false);\r\n }\r\n );\r\n }\r\n\r\n async function incluirManutencao(dadosProd) {\r\n let retornoDrawer = [];\r\n api.post(`Produto/Incluir`, dadosProd).then(\r\n res => {\r\n retornoDrawer = res.data;\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Produto foram salvos com sucesso!\" });\r\n aoSalvar(retornoDrawer);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n salvandoDados(false);\r\n }\r\n );\r\n }\r\n\r\n function salvandoDadosMarca(retorno) {\r\n let lista = [];\r\n\r\n if (retorno) {\r\n lista.push({ name: \"mar_id\", campo: \"Codigo\", value: retorno.mar_id });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }\r\n\r\n function salvandoDadosGrupo(retorno) {\r\n let lista = [];\r\n\r\n if (retorno) {\r\n lista.push({ name: \"gru_id\", campo: \"CodigoGrupo\", value: retorno });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }\r\n\r\n function salvandoDadosSubGrupo(retorno) {\r\n let lista = [];\r\n\r\n if (retorno) {\r\n lista.push({ name: \"sgp_id\", campo: \"Codigo\", value: retorno.sgp_id });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n\r\n }\r\n\r\n function popularGrade() {\r\n let dadosGrade = [...listaDeGrades];\r\n dadosGrade.forEach(\r\n (grade) => {\r\n grade.prg_ean = formGrade.getFieldValue(['prg_ean' + grade.key]);\r\n grade.prg_codigoetiqueta = formGrade.getFieldValue(['prg_codigoetiqueta' + grade.key]);\r\n grade.pre_custoultimacompra = !!parseFloat(formGrade.getFieldValue(['pre_custoultimacompra' + grade.key])) ? parseFloat(formGrade.getFieldValue(['pre_custoultimacompra' + grade.key])) : 0;\r\n grade.prg_markup = !!parseFloat(formGrade.getFieldValue(['prg_markup' + grade.key])) ? parseFloat(formGrade.getFieldValue(['prg_markup' + grade.key])) : 0;\r\n grade.prg_valorvenda = !!parseFloat(formGrade.getFieldValue(['lpi_valorvenda' + grade.key])) ? parseFloat(formGrade.getFieldValue(['lpi_valorvenda' + grade.key])) : 0;\r\n grade.pre_qtde = !!parseFloat(formGrade.getFieldValue(['pre_qtde' + grade.key])) ? parseFloat(formGrade.getFieldValue(['pre_qtde' + grade.key])) : 0;\r\n grade.prg_ativa = grade.prg_ativa;\r\n grade.imagens = popularImgGrade(grade.imagens);\r\n grade.modalidadeGrade = popularModalidades(grade.modalidadesgrade);\r\n }\r\n );\r\n return dadosGrade;\r\n };\r\n\r\n function popularImgGrade(imagens) {\r\n let imagensGrade = [];\r\n imagens.forEach(\r\n imgs => {\r\n let imagem = {};\r\n imagem.base64img = !!imgs.url ? imgs.url : imgs.thumbUrl;\r\n imagem.principal = imgs.principal;\r\n imagem.imagemComprimida = false;\r\n imagensGrade.push(imagem);\r\n }\r\n );\r\n return imagensGrade;\r\n };\r\n\r\n function popularModalidades(modalidadesgrade) {\r\n let modalidades = [];\r\n modalidadesgrade.forEach(\r\n atrib => {\r\n let mod = {\r\n mgp_id: atrib.mgp_id\r\n }\r\n modalidades.push(mod);\r\n }\r\n )\r\n return modalidades;\r\n };\r\n\r\n async function popularImagens() {\r\n let listaImg = [];\r\n let possuiPrincipal = false;\r\n let maxSize = 2 * 1024 * 1024;\r\n for (var img of listaImagens) {\r\n let imagem = {};\r\n if (img.size != null) {\r\n if ((img.size + 1) >= maxSize) {\r\n // 1200 equivale a resolução da imagem\r\n //imagem.base64img = await ajustarTamanhoImagemBase64((!!img.url ? img.url : img.thumbUrl), 1200, 1200, maxSize);\r\n //parametros para diminuir tamanho da imagem( imagem, tamanho em MB, dimensões)\r\n imagem.base64img = await resizeImageToMB((!!img.url ? img.url : img.thumbUrl), 2, 1200, 1200);\r\n imagem.imagemComprimida = false;\r\n //console.log('base64img:', imagem.base64img);\r\n imagem.principal = false;\r\n } else {\r\n imagem.base64img = !!img.url ? img.url : img.thumbUrl;\r\n imagem.imagemComprimida = false;\r\n imagem.principal = false;\r\n }\r\n } else {\r\n imagem.base64img = !!img.url ? img.url : img.thumbUrl;\r\n imagem.imagemComprimida = false;\r\n imagem.principal = false;\r\n }\r\n if (!!img.principal) {\r\n possuiPrincipal = true;\r\n imagem.principal = true;\r\n }\r\n listaImg.push(imagem);\r\n };\r\n if (!possuiPrincipal && listaImg.length > 0) {\r\n listaImg[0].principal = true;\r\n }\r\n return listaImg;\r\n };\r\n\r\n const salvarCamposAdicionais = (values) => {\r\n var camposAdicionais = [];\r\n elementosFormulario.map((elemento) => {\r\n values = trataRetornoFormularioDinamico(values, elemento);\r\n let proDados = produtoCamposPersonalizados.filter(f => f.cap_id == elemento.cap_id)[0];\r\n if (!!proDados && !!proDados.pcp_valor && !!proDados.pcp_id) {\r\n camposAdicionais.push({ pcp_id: proDados.pcp_id, pro_id: values.pro_id, cap_id: elemento.cap_id, pcp_valor: values[elemento.cap_nomeelemento] });\r\n } else if (!!values[elemento.cap_nomeelemento]) {\r\n if (!!Date.parse(values[elemento.cap_nomeelemento]) && typeof values[elemento.cap_nomeelemento] === \"object\") {\r\n camposAdicionais.push({ pcp_id: null, pro_id: values.pro_id, cap_id: elemento.cap_id, pcp_valor: moment(values[elemento.cap_nomeelemento]).format(\"YYYY/MM/DD\") });\r\n } else {\r\n camposAdicionais.push({ pcp_id: null, pro_id: values.pro_id, cap_id: elemento.cap_id, pcp_valor: values[elemento.cap_nomeelemento] });\r\n }\r\n }\r\n });\r\n return camposAdicionais;\r\n }\r\n\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?TipoEntidade=4&PageSize=500&Order=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n setElementosFormulario(res.data.items);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function carregaDadosCamposAdicionais() { //Campos Adicionais\r\n if (!!formulario.getFieldValue().pro_id) {\r\n api.get(`ProdutoCampoPersonalizado/Listar?IdProduto=${formulario.getFieldValue().pro_id}`).then(res => {\r\n if (res.status === 200 && !!res.data) {\r\n setProdutoCamposPersonalizados(res.data);\r\n res.data.map(d => {\r\n let elemento = elementosFormulario.filter(f => f.cap_id === d.cap_id)[0];\r\n trataSetaDadosFormularioDinamico(formulario, elemento, d.pcp_valor);\r\n })\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n async function carregarDados() {\r\n if (!!formulario.getFieldsValue().pro_id) {\r\n let listaPreco = await api.get(`ListaPreco/ListarListaPrecoProduto?idProduto=${formulario.getFieldsValue().pro_id}`);\r\n setListaDePrecos(listaPreco.data.map((x, idx) => ({ key: idx, ...x })));\r\n\r\n let listaGrades = await api.get(`produto/ListarGrades?IdProduto=${formulario.getFieldsValue().pro_id}`);\r\n if (listaGrades.status === 200) {\r\n let lista = listaGrades.data;\r\n if (lista.length > 0) {\r\n lista.forEach((item, indice) => {\r\n item.key = indice + 1;\r\n formGrade.setFieldsValue({\r\n ['prg_ean' + item.key]: item.prg_ean,\r\n ['pre_custoultimacompra' + item.key]: (!!item.pre_custoultimacompra ? item.pre_custoultimacompra.toFixed(2) : null),\r\n ['prg_markup' + item.key]: (!!item.prg_markup ? item.prg_markup.toFixed(2) : null),\r\n ['lpi_valorvenda' + item.key]: (!!item.lpi_valorvenda ? item.lpi_valorvenda.toFixed(2) : null),\r\n ['prg_codigoetiqueta' + item.key]: item.prg_codigoetiqueta\r\n });\r\n });\r\n }\r\n setListaDeGrades(lista);\r\n }\r\n\r\n let listaImagens = await api.get(`produto/ListarImagens?IdProduto=${formulario.getFieldsValue().pro_id}`);\r\n if (listaImagens.status === 200) {\r\n let lista = [];\r\n if (listaImagens.data.length > 0) {\r\n listaImagens.data.forEach((imagem, index) => {\r\n lista.push({ url: imagem.conteudoImagem, uid: index + 1, principal: imagem.principal });\r\n });\r\n setListaImagens(lista);\r\n }\r\n }\r\n\r\n let custoProduto = await api.get(`estoque/BuscarCustosProdutos?codigoProduto=${formulario.getFieldsValue().pro_id}`);\r\n formulario.setFieldsValue({ pre_custoultimacompra: custoProduto.data.pre_custoultimacompra });\r\n setPossuiCusto(!!custoProduto.data.pre_custoultimacompra);\r\n } else {\r\n setListaDePrecos([]);\r\n setListaImagens([]);\r\n setListaDeGrades([]);\r\n }\r\n\r\n recalcularMarkupDoProduto();\r\n carregaCamposPersonalizados();\r\n };\r\n\r\n function buscarEanExistente(event) {\r\n let codEan;\r\n if (!!event.currentTarget) {\r\n codEan = event.currentTarget.value;\r\n } else {\r\n codEan = event;\r\n }\r\n if (isNaN(codEan)) {\r\n return;\r\n }\r\n api.get(`Produto/VerificaEanExistente?CodigoEan=${codEan}`).then(\r\n res => {\r\n if (!!res.data && res.data.existe == true) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: 'Produto já cadastrado - deseja alterá-lo?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n buscarProdutosEan(res.data.pro_id);\r\n\r\n }, onCancel() {\r\n //aoSalvar();\r\n formulario.resetFields();\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro)\r\n }\r\n );\r\n };\r\n\r\n function buscarProdutosEan(IdProduto) {\r\n api.get(`produto/RetornaDadosProduto?ProdutoId=${IdProduto}`).then(\r\n res => {\r\n formulario.setFieldsValue(res.data);\r\n editando.setEditando(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: res.data } });\r\n carregarDados();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n var eanAnterior = null;\r\n function gerarEANProduto(campo) {\r\n let primeiroNumero = \"6\";\r\n let EAN;\r\n let digitoVerificador;\r\n eanAnterior = primeiroNumero;\r\n for (let i = 0; i <= 10; i++) {\r\n eanAnterior += Math.floor((Math.random() * 9) + 1).toString();\r\n }\r\n EAN = eanAnterior;\r\n EAN = EAN.substr(0, 12);\r\n EAN = (parseInt(EAN) + 1).toString();\r\n eanAnterior = EAN;\r\n digitoVerificador = calculaDigitoVerificadorEAN(EAN);\r\n EAN = EAN + \"\" + digitoVerificador;\r\n\r\n if (!!campo) {\r\n formGrade.setFieldsValue({ [campo]: EAN });\r\n } else {\r\n formulario.setFieldsValue({ pro_ean: EAN });\r\n }\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n };\r\n\r\n function validaTipoMercadoria(campo) {\r\n if (campo === \"pro_produto\" && formulario.getFieldsValue().pro_produto) {\r\n formulario.setFieldsValue({ pro_servico: false });\r\n formulario.setFieldsValue({ pro_materiaprima: false });\r\n } else if (campo === 'pro_servico' && formulario.getFieldsValue().pro_servico) {\r\n formulario.setFieldsValue({ pro_produto: false });\r\n formulario.setFieldsValue({ pro_materiaprima: false });\r\n } else if (campo === 'pro_materiaprima' && formulario.getFieldsValue().pro_materiaprima) {\r\n formulario.setFieldsValue({ pro_produto: false });\r\n formulario.setFieldsValue({ pro_servico: false });\r\n } else {\r\n formulario.setFieldsValue({ pro_produto: true });\r\n }\r\n };\r\n\r\n function calcularValorVendaPorMarkup() {\r\n let valorVenda = retornaPrecoPorMarkup(formulario.getFieldsValue().pre_custoultimacompra, formulario.getFieldsValue().pro_markup);\r\n formulario.setFieldsValue({ lpi_valorvenda: valorVenda });\r\n };\r\n\r\n function retornaPrecoPorMarkup(custo, markup) {\r\n if (parseFloat(custo) > 0 && parseFloat(markup) > 0) {\r\n return (parseFloat(custo) * parseFloat(markup)).toFixed(2);\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n function recalcularMarkupDoProduto() {\r\n if (parseFloat(formulario.getFieldsValue().pre_custoultimacompra) > 0 && parseFloat(formulario.getFieldsValue().lpi_valorvenda) > 0) {\r\n let markupCalculado = (parseFloat(formulario.getFieldsValue().lpi_valorvenda) / parseFloat(formulario.getFieldsValue().pre_custoultimacompra)).toFixed(2);\r\n formulario.setFieldsValue({ pro_markup: markupCalculado })\r\n } else {\r\n formulario.setFieldsValue({ pro_markup: parametrosEmpresa.markupProduto });\r\n }\r\n };\r\n\r\n function verificaCnpj(record) {\r\n record = record.currentTarget.value.replace(/\\D/g, '');\r\n if (!validarCnpj(record)) {\r\n notification.warning({ message: `Aviso!`, description: `O CNPJ informado é inválido!` })\r\n }\r\n }\r\n\r\n function onBlurProEan(event) {\r\n let codEan = \"\";\r\n if (!!event.currentTarget) {\r\n codEan = event.currentTarget.value;\r\n } else {\r\n codEan = event;\r\n }\r\n if (codEan !== \"\") {\r\n if (validarEan(codEan)) {\r\n buscarEanExistente(codEan);\r\n if (codEan.startsWith(\"7\") && codEan.length === 13)\r\n formulario.setFieldsValue({ pro_eaninvalido: false });\r\n else\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n\r\n } else {\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n notification.warning({ description: 'EAN informado fora dos padrões GTIN, verifique o EAN antes de continuar!', message: 'Aviso' });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n salvarDados(values)} >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código de Barras - EAN\r\n \r\n \r\n \r\n \r\n }>\r\n onBlurProEan(event)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n trocaAbas(tab)}>\r\n \r\n \r\n \r\n \r\n validaTipoMercadoria('pro_produto')}> Produto/Mercadoria? \r\n \r\n \r\n {/* \r\n \r\n validaTipoMercadoria('pro_servico')}> Serviço? \r\n \r\n */}\r\n {/* \r\n \r\n validaTipoMercadoria('pro_materiaprima')}> Matéria-Prima? \r\n \r\n */}\r\n \r\n \r\n Kit Composição? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código de Referência\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Código da Etiqueta\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenDrawerMarca(true)}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n carregarSubGrupos(IdGrupo)}\r\n onChangeFunction={(IdGrupo) => carregarSubGrupos(IdGrupo)}\r\n setListaDados={setGrupoSelect}\r\n funcaoIncluir={() => setOpenDrawerGrupo(true)}\r\n allowClear={true}\r\n />\r\n \r\n \r\n \r\n \r\n 0 && (() => setOpenDrawerSubGp(true))}\r\n allowClear={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {listaUnidadeMedida.map((um) => ({um.ump_id} - {um.ump_descricao}))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Unidade de Medida(Embalagem)\r\n \r\n \r\n \r\n \r\n }>\r\n checkCasaDecimalUnidadeMedida()}\r\n optionFilterProp=\"children\">\r\n {listaUnidadeMedida.map((um) => ({um.ump_id} - {um.ump_descricao}))}\r\n \r\n \r\n \r\n \r\n \r\n Qtde da Embalagem\r\n \r\n \r\n \r\n \r\n } name=\"pru_quantidade\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaDeGrades.length === 0 &&\r\n \r\n { calcularValorVendaPorMarkup() }} />\r\n \r\n }\r\n {listaDeGrades.length === 0 &&\r\n <>\r\n \r\n { calcularValorVendaPorMarkup() }} />\r\n \r\n \r\n {\r\n if (parseFloat(value) > 0) {\r\n return Promise.resolve();\r\n } else {\r\n return Promise.reject(new Error('Informe um valor de preço de venda!'))\r\n }\r\n }\r\n }]}\r\n placeholder=\"Informe a Margem de Lucro do Produto\" label=\"Preço de Venda (R$)\" name=\"lpi_valorvenda\" onChange={() => { recalcularMarkupDoProduto() }} />\r\n \r\n prevValues.pro_id !== currentValues.pro_id}>\r\n {({ getFieldValue }) => {\r\n if (!getFieldValue().pro_id && !getFieldValue().pre_qtde && !possuiCusto) return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Adicionar na Impressão de Etiquetas?\r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n }\r\n \r\n {listaDeGrades.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n Produto Ativo? \r\n \r\n \r\n \r\n \r\n Usa Balança? \r\n \r\n \r\n \r\n \r\n Não Gerar EAN em Documento Fiscal? \r\n \r\n \r\n \r\n \r\n Produto SEM escala relevante? \r\n \r\n \r\n \r\n \r\n Produto Fabricado? \r\n \r\n \r\n \r\n prevValues.pro_escalanaorelevante !== currentValues.pro_escalanaorelevante}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue().pro_escalanaorelevante === true) return (\r\n \r\n \r\n \r\n verificaCnpj(record)}\r\n />\r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoProdutos from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerProduto({ incluirMaisUm, editando }) {\r\n\r\n const nameForm = \"manutencaoProduto\"\r\n const [formProduto] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n //console.log(\"valores: \", formProduto.getFieldValue().anp_id);\r\n\r\n function verificarSalvar(produto) {\r\n Modal.confirm({\r\n title: 'Atenção',\r\n icon: ,\r\n content: 'Produto incluído com sucesso!',\r\n okText: 'Incluir mais um',\r\n cancelText: 'Ok',\r\n centered: true,\r\n onOk() {\r\n localStorage.removeItem(nameForm);\r\n formProduto.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pro_descricao' } });\r\n let dados = { pro_id: produto.pro_id };\r\n incluirMaisUm(dados);\r\n },\r\n onCancel() {\r\n fecharDrawer();\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pro_descricao' } });\r\n }\r\n });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n function fecharDrawer() {\r\n localStorage.removeItem(nameForm);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n editando.setEditando(false);\r\n formProduto.resetFields();\r\n };\r\n\r\n return (\r\n\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Form, Button, Collapse, Tag, Popover, Modal, Menu, Dropdown, notification, Input, Radio } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined, CloudUploadOutlined, MoreOutlined, CopyOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerProduto from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber } from '../../ValueObjects/';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, TabelaDados, Editar, Excluir, BreadcrumbPage, BotaoAbrirChamado, BotaoIncluirDados, PesquisaAvancada, InputPreco } from \"../../components\";\r\n\r\nexport default function Produto() {\r\n\r\n const [{ manutencao, listagem }, dispatch] = useStateValue();\r\n const [open, setOpen] = useState(false);\r\n const [formPesquisaAvancada] = Form.useForm();\r\n const [formPesquisaAdc] = Form.useForm();\r\n const [editando, setEditando] = useState(false);\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const menuOutros = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n useEffect(() => {\r\n let _ativo = !!!formPesquisaAvancada.getFieldsValue().produtoAtivo ? 1 : formPesquisaAvancada.getFieldsValue().produtoAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${_ativo}`, filtro: '', ordem: '+pro_descricao' } });\r\n formPesquisaAvancada.setFieldsValue({ produtoAtivo: 1 });\r\n }, [])\r\n\r\n function duplicarProduto(produto) {\r\n let dados = {};\r\n if (!!produto.pro_id) {\r\n api.get(`produto/RetornaDadosProduto?ProdutoId=${produto.pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n dados = res.data;\r\n dados.pro_id = null;\r\n dados.pro_descricao = '';\r\n api.get(`tributacaoIcms/BuscarTributacaoPorCodigoProduto?IdProduto=${produto.pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n dados.icm_id = res.data.icm_id;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n function incluirMaisUm(produto) {\r\n let dados = {};\r\n if (!!produto.pro_id) {\r\n api.get(`produto/RetornaDadosProduto?ProdutoId=${produto.pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n dados.pro_id = null;\r\n dados.pro_descricao = '';\r\n dados.gru_id = res.data.gru_id;\r\n dados.sgp_id = res.data.sgp_id;\r\n dados.mar_id = res.data.mar_id;\r\n dados.ncm_id = res.data.ncm_id;\r\n dados.orm_id = res.data.orm_id;\r\n dados.cen_id = res.data.cen_id;\r\n dados.pis_id = res.data.pis_id;\r\n dados.tpi_id = res.data.tpi_id;\r\n dados.ump_id = res.data.ump_id;\r\n dados.lpi_valorvenda = res.data.lpi_valorvenda;\r\n api.get(`tributacaoIcms/BuscarTributacaoPorCodigoProduto?IdProduto=${produto.pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n dados.icm_id = res.data.icm_id;\r\n setEditando(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n function showDrawer(produto) {\r\n let dados = {};\r\n if (!!produto.pro_id) {\r\n api.get(`produto/RetornaDadosProduto?ProdutoId=${produto.pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n dados = res.data;\r\n dados.orm_id = parseInt(dados.orm_id);\r\n // api.get(`tributacaoIcms/BuscarTributacaoPorCodigoProduto?IdProduto=${produto.pro_id}`).then(\r\n // res => {\r\n // if (res.status === 200) {\r\n // //dados.icm_id = res.data.icm_id;\r\n // }\r\n // }\r\n // ).catch(\r\n // (erro) => {\r\n // if (!!erro.response && !!erro.response.data && erro.response.data.Message) {\r\n // notification.error({ description: erro.response.data.Message, message: 'Aviso' });\r\n // } else {\r\n // console.error(erro);\r\n // }\r\n // }\r\n // ).finally(\r\n // () => {\r\n // dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n // dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n // }\r\n // );\r\n }\r\n }).catch((erro) => console.error(erro))\r\n .finally(\r\n () => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n );\r\n }\r\n };\r\n\r\n function aplicarFiltros() {\r\n let filtrosTela = popularFiltrosTela();\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtrosTela, filtro: (!!listagem.filtro ? listagem.filtro : '') } });\r\n }\r\n\r\n function excluirRegistro(produto) {\r\n api.delete(`produto/excluir/${produto.pro_id}`).then((res) => {\r\n if (res.data == true) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n } else {\r\n modalInativarProduto(produto);\r\n }\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarProduto(produto);\r\n })\r\n };\r\n\r\n function inativarProduto(produto) {\r\n api.put(`produto/AtivarInativar?IdProduto=${produto.pro_id}&Ativo=false`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pro_descricao' } });\r\n })\r\n };\r\n\r\n const modalExcluirProduto = (produto) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o produto ${produto.pro_codigo}-${produto.pro_descricao} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(produto);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarProduto = (produto) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o produto!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o produto ${produto.pro_codigo}-${produto.pro_descricao} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarProduto(produto);\r\n }\r\n });\r\n };\r\n\r\n function popularFiltrosTela() {\r\n let filtrosTela = '';\r\n filtrosTela += `&Ativo=${formPesquisaAvancada.getFieldsValue().produtoAtivo}`\r\n if (parseFloat(formPesquisaAdc.getFieldsValue().precoMinimo) > 0.00) filtrosTela += `&precoMinimo=${formPesquisaAdc.getFieldsValue().precoMinimo}`;\r\n if (parseFloat(formPesquisaAdc.getFieldsValue().precoMaximo) > 0.00) filtrosTela += `&precoMaximo=${formPesquisaAdc.getFieldsValue().precoMaximo}`;\r\n\r\n return filtrosTela;\r\n }\r\n\r\n function retornoPesquisaAvancada(expressao) {\r\n listagem.outrosFiltros = '';\r\n expressao = !!expressao ? expressao : '';\r\n let filtrosTela = popularFiltrosTela();\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: !!listagem.filtro ? listagem.filtro : '', outrosFiltros: `${filtrosTela}&filtroAdicional=${btoa(expressao)}`, ordem: '+pro_descricao' } })\r\n };\r\n\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', ordem: '+pro_descricao' } })\r\n };\r\n\r\n function onClickEditar(produto) {\r\n setEditando(true);\r\n showDrawer(produto);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={formPesquisaAvancada} telaFiltro={4} />\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={formPesquisaAvancada} telaFiltro={2} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {pro_codigo}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'EAN-13',\r\n align: 'center',\r\n width: 110,\r\n render: ({ pro_ean }) => (\r\n
\r\n {pro_ean}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição do Produto',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Preço (R$)',\r\n align: 'right',\r\n render: ({ precoVendaMinimo, precoVendaMaximo }) => (\r\n
\r\n {precoVendaMinimo === precoVendaMaximo &&\r\n {FormatNumber(precoVendaMinimo, true)}\r\n }\r\n {precoVendaMinimo !== precoVendaMaximo &&\r\n {FormatNumber(precoVendaMinimo, true)} até {FormatNumber(precoVendaMaximo, true)}\r\n }\r\n
\r\n ),\r\n },\r\n {\r\n width: 98,\r\n align: 'center',\r\n render: (produto) => (\r\n
\r\n { dispatch({ type: manutencaoActions.CHANGE, data: { dados: produto } }); }}>\r\n Mais Detalhes\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (produto) => (\r\n
\r\n \r\n
\r\n \r\n onClickEditar(produto)} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluirProduto(produto)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandir={({\r\n pro_observacao, pro_datainclusao, gru_nome, sgp_nome, orm_id, orm_descricao, ncm_codigo, pro_fci, ump_descricao, tpi_descricao, pis_descricao, nat_descricao, mar_nome, pro_ean\r\n }) => {\r\n return (\r\n
\r\n \r\n
\r\n Grupo: {gru_nome || 'Não Informado'}\r\n \r\n \r\n Subgrupo: {sgp_nome || 'Não Informado'}\r\n \r\n \r\n Marca: {mar_nome || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n NCM: {ncm_codigo || 'Não Informado'}\r\n \r\n \r\n CST Origem: {orm_id} - {orm_descricao}\r\n \r\n \r\n FCI: {pro_fci || 'Não Informado'}\r\n \r\n \r\n Unidade de Medida: {ump_descricao}\r\n \r\n \r\n Tipo de Produto para SPED: {tpi_descricao || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n Tributação Pis/Cofins: {pis_descricao || 'Não Informado'}\r\n \r\n \r\n Natureza da Receita Pis/Cofins: {nat_descricao || 'Não Informado'}\r\n \r\n \r\n Data Inclusão: {moment(pro_datainclusao).format(\"DD/MM/YYYY\")}\r\n \r\n \r\n {!!pro_observacao &&\r\n \r\n \r\n Observações: {pro_observacao}\r\n \r\n \r\n }\r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Button, Table, notification, Modal, Checkbox, Divider } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, CheckOutlined, ExclamationCircleOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { getEmpresa } from \"../../services/auth\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function TabItensGrade({ formulario, itensGrade, setItensGrade, atualizarDadosGrade }) {\r\n\r\n const [editandoRegistro, setEditandoRegistro] = useState(false);\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ descricaoItem: '' });\r\n setEditandoRegistro(false);\r\n }, [itensGrade]);\r\n\r\n function incluirItemGrade() {\r\n if (!!formulario.getFieldValue().descricaoItem) {\r\n if (itensGrade.filter((item) => { return item.mgp_descricao === formulario.getFieldValue().descricaoItem }).length > 0) {\r\n Modal.confirm({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: `Você já possui um item nessa modalidade de grade denominado ${formulario.getFieldValue().descricaoItem}. Deseja adicionar este novo item mesmo assim?`,\r\n okText: 'Sim, adicionar',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n adicionarItem();\r\n }\r\n });\r\n } else {\r\n adicionarItem();\r\n }\r\n }\r\n };\r\n\r\n function adicionarItem() {\r\n let itemAdd = {};\r\n itemAdd.emp_id = getEmpresa();\r\n itemAdd.mgp_descricao = formulario.getFieldValue().descricaoItem;\r\n itemAdd.mgp_imprimenaetiqueta = false;\r\n if (!!formulario.getFieldValue().mgp_id) {\r\n itemAdd.mgp_modalidade = formulario.getFieldValue().mgp_id;\r\n api.post(`ModalidadeGrade/Incluir`, JSON.stringify(itemAdd), { headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(res => {\r\n if (res.status === 200) {\r\n atualizarDadosGrade(formulario.getFieldValue().mgp_id);\r\n }\r\n }, erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n });\r\n } else {\r\n let itens = [...itensGrade];\r\n itemAdd.key = itens.length + 1;\r\n itens.push(itemAdd);\r\n setItensGrade(itens);\r\n }\r\n formulario.setFieldsValue({ descricaoItem: '' });\r\n };\r\n\r\n function editarRegistro(dados) {\r\n if (!!dados.key) {\r\n setEditandoRegistro(true);\r\n formulario.setFieldsValue({ descricaoItem: dados.mgp_descricao, keyItem: dados.key });\r\n }\r\n };\r\n\r\n function salvarItemGrade() {\r\n let itens = [...itensGrade];\r\n let itemEditar = itens.filter((item) => { return item.key === formulario.getFieldValue().keyItem })[0];\r\n itemEditar.mgp_descricao = formulario.getFieldValue().descricaoItem;\r\n\r\n /*if (!!formulario.getFieldValue().mgp_id) {\r\n api.post(`ModalidadeGrade/editar`, JSON.stringify(itemEditar), { headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(res => {\r\n if (res.status === 200) {\r\n atualizarDadosGrade(formulario.getFieldValue().mgp_id);\r\n }\r\n }, erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n });\r\n } else {*/\r\n setItensGrade(itens);\r\n //}\r\n };\r\n\r\n function excluirRegistro(dadosItem) {\r\n Modal.confirm({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: `Remover o item ${dadosItem.mgp_descricao} desta modalidade de grade?`,\r\n okText: 'Sim, quero remover',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let mgp_id = formulario.getFieldValue().mgp_id;\r\n if (!!mgp_id) {\r\n api.delete(`ModalidadeGrade/Excluir?IdModalidade=${dadosItem.mgp_id}`).then(res => {\r\n if (res.data) {\r\n atualizarDadosGrade(mgp_id);\r\n } else {\r\n error('É provável que o item que você esta tentando remover esteja relacionado a algum produto cadastrado no sistema.', 'Não foi possível excluir o item da modalidade de grade!');\r\n }\r\n }, erro => {\r\n error('É provável que o item que você esta tentando remover esteja relacionado a algum produto cadastrado no sistema.', 'Não foi possível excluir o item da modalidade de grade!');\r\n });\r\n } else {\r\n let itens = [...itensGrade];\r\n let index = itens.findIndex(i => i.key === dadosItem.key);\r\n itens.splice(index, 1);\r\n itens.map((item, indice) => {\r\n item.key = indice + 1;\r\n });\r\n setItensGrade(itens);\r\n }\r\n }\r\n });\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n };\r\n\r\n function selecionarItemGrade(key) {\r\n let itens = [...itensGrade];\r\n let itemEditar = itens.filter((item) => { return item.key === key })[0];\r\n itemEditar.mgp_imprimenaetiqueta = !itemEditar.mgp_imprimenaetiqueta;\r\n setItensGrade(itens);\r\n };\r\n\r\n function selecionarTodos(checked){\r\n let itens = [...itensGrade];\r\n itens.map((item) => { \r\n item.mgp_imprimenaetiqueta = (checked ? true : false);\r\n });\r\n setItensGrade(itens);\r\n };\r\n\r\n return (\r\n
\r\n {editandoRegistro &&\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!editandoRegistro &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
{return
{ selecionarTodos(event.target.checked) }} /> Imprime na Etiqueta?
},\r\n align: 'left',\r\n width: 150,\r\n render: ({ mgp_imprimenaetiqueta, key }) => (\r\n
\r\n { selecionarItemGrade(key) }} />\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n align: 'left',\r\n render: ({ mgp_descricao }) => (\r\n
\r\n {mgp_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Tabs, Button, notification } from \"antd\";\r\nimport { EyeOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport TabItensGrade from './tabItens';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { validaForm } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoGradeProduto({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [itensGrade, setItensGrade] = useState([]);\r\n\r\n const salvarManutencao = (values) => {\r\n if (validaForm(formulario, listaValidacoes)) {\r\n carregando(true);\r\n\r\n let dadosEnviar = {};\r\n dadosEnviar.mgp_id = (!!values.mgp_id ? values.mgp_id : null);\r\n dadosEnviar.grade = itensGrade;\r\n dadosEnviar.mgp_modalidade = (!!values.mgp_modalidade ? values.mgp_modalidade : null) ;\r\n dadosEnviar.mgp_descricao = values.mgp_descricao;\r\n dadosEnviar.mgp_imprimenaetiqueta = (!!values.mgp_imprimenaetiqueta ? values.mgp_imprimenaetiqueta : null);\r\n let enderecoUrl = 'ModalidadeGrade/';\r\n \r\n if (values.mgp_id ){\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, dadosEnviar).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Modalidade da Grade salva com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Atenção!', description: \"Não foi possivel incluir os dados desta Modalidade da Grade!\" });\r\n }).finally(() => {\r\n aoSalvar();\r\n carregando(false);\r\n atualizarPagina();\r\n });\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, dadosEnviar).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Modalidade da Grade salva com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Atenção!', description: \"Não foi possivel incluir os dados desta Modalidade da Grade!\" });\r\n }).finally(() => {\r\n aoSalvar();\r\n carregando(false);\r\n atualizarPagina();\r\n });\r\n };\r\n }\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+mgp_descricao' } });\r\n //listar();\r\n };\r\n\r\n const listaValidacoes = [\r\n { nome: 'mgp_descricao', obrigatorio: true, label: 'Descrição da Modalidade da Grade' }\r\n ];\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.mgp_id) {\r\n atualizarDadosGrade(manutencao.dados.mgp_id);\r\n setAbaSelecionada(\"1\");\r\n } else {\r\n setItensGrade([]);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function atualizarDadosGrade(mgp_id) {\r\n if (!!mgp_id) {\r\n api.get(`ModalidadeGrade/BuscarModalidade/${mgp_id}`).then(res => {\r\n if (res.status === 200) {\r\n let lista = res.data;\r\n lista.map((item, indice) => {\r\n item.key = indice + 1;\r\n });\r\n setItensGrade(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n return (\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoGradeProduto from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerGradeProduto () {\r\n\r\n const [formGradeProduto] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null) formGradeProduto.setFieldsValue(manutencao.dados);\r\n else {\r\n //formGradeProduto.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formGradeProduto.resetFields();\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerGradeProduto from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function GradeProduto() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+mgp_descricao' } }), []);\r\n\r\n function excluirRegistro(dados) {\r\n Modal.confirm({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: `Remover a modalidade de grade ${dados.mgp_descricao}?`,\r\n okText: 'Sim, quero remover',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.delete(`ModalidadeGrade/Excluir?IdModalidade=${dados.mgp_id}`).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: `Sucesso!`, description: `Modalidade Grade excluida com sucesso!` });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+mgp_descricao' } });\r\n } else {\r\n error('É provável que esta modalidade de grade possua um ou mais itens relacionados a algum produto cadastrado no sistema.', 'Não foi possível excluir esta modalidade de grade!');\r\n }\r\n }, erro => {\r\n error('É provável que esta modalidade de grade possua um ou mais itens relacionados a algum produto cadastrado no sistema.', 'Não foi possível excluir esta modalidade de grade!');\r\n });\r\n }\r\n });\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {mgp_id}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Modalidade de Grades',\r\n render: ({ mgp_descricao }) => (\r\n
\r\n {mgp_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n fixed: 'right',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { excluirRegistro(record) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Row, Col, Form, Select, Input, Button, Switch, Tag, Alert, Typography, Divider, Table, Modal, Tooltip, InputNumber } from \"antd\";\r\nimport { PlusOutlined, DownloadOutlined, BarcodeOutlined, SearchOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport CurrencyInput from 'react-currency-input';\r\n\r\nimport api from '../../services/api';\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { ModalGrade } from '../../components/modals';\r\nimport { InputPreco, SelectPaginacao, SelectPagination } from \"../../components\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\n\r\nexport default function TabItens({ formulario, listaItensExcluir, setListaItensExcluir, listaEditarItens, setListaEditarItens, setEditandoItens }) {\r\n\r\n const [formItens] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formImportItens] = Form.useForm();\r\n const [formTableItens] = Form.useForm();\r\n const [filtros, setFiltros] = useState([]);\r\n const [itemProduto, setItemProduto] = useState(false);\r\n const [importarProduto, setImportarProduto] = useState(false);\r\n const [editiItemId, setEditiItenId] = useState({});\r\n const [visibleModalGrade, setVisibleModalGrade] = useState(false);\r\n const [grades, setGrades] = useState([]);\r\n const [subgrupos, setSubgrupos] = useState(false);\r\n const [listaPrecoSelectd, setListaPrecoSelectd] = useState(null);\r\n const [itens, setItens] = useState(() => {\r\n if (formulario.getFieldValue('ltp_id')) {\r\n let list = formulario.getFieldValue('itens');\r\n return list ? list : [];\r\n }\r\n return []\r\n });\r\n const searchInput = useRef();\r\n const [productName, setProductName] = useState('');\r\n\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ itens: itens });\r\n }, [itens])\r\n\r\n const togglePesquisa = () => {\r\n setProductName('');\r\n setItemProduto(!itemProduto);\r\n };\r\n\r\n async function onPressEnterProCodigo(campo) {\r\n let codigoEan = campo.target.value.trim();\r\n let dadosRequisicao = await api.get(`Produto/ListaProdutoFiltro?filtro=${codigoEan}`);\r\n setProductName(dadosRequisicao.data.items[0].pro_descricao );\r\n \r\n let grade = dadosRequisicao.data.items[0].prg_id;\r\n if (dadosRequisicao.data.items[0].pro_usagrade) {\r\n let itenSelected = (await api.get(`Produto/RetornaDadosItem?ProdutoId=${dadosRequisicao.data.items[0].pro_id}`)).data;\r\n setGrades([]);\r\n api.get(`ProdutoGrade/RetornaGradesProduto?produtoId=${dadosRequisicao.data.items[0].pro_id}`).then((res) => {\r\n if (res.status === 200) {\r\n let array = [...res.data].filter(item => item.prg_id == grade);\r\n array = array.map((x) => ({ ...{ ...itenSelected, ...x }, lpi_valorvenda: x.prg_valorvenda, lpi_naocalculacomissao: false }));\r\n setGrades(array);\r\n setVisibleModalGrade(true);\r\n }\r\n }).catch((err) => {\r\n console.log('error ao buscar grades :>> ', err);\r\n });\r\n }\r\n else {\r\n onChangeProdutoFiltro(dadosRequisicao.data.items[0].pro_id, 2);\r\n formulario.setFieldsValue({ pro_id: dadosRequisicao.data.items[0].pro_id });\r\n }\r\n };\r\n\r\n async function onChangeProdutoFiltro(value, chamada) {\r\n let itenSelected = (await api.get(`Produto/RetornaDadosItem?ProdutoId=${value}`)).data;\r\n\r\n if (itenSelected.pro_usagrade) {\r\n setGrades([]);\r\n api.get(`ProdutoGrade/RetornaGradesProduto?produtoId=${value}`).then((result) => {\r\n if (result.status === 200) {\r\n let array = [...result.data];\r\n array = array.map((x) => ({ ...{ ...itenSelected, ...x }, lpi_valorvenda: x.prg_valorvenda, lpi_naocalculacomissao: false }));\r\n setGrades(array);\r\n setVisibleModalGrade(true);\r\n formItens.resetFields();\r\n }\r\n }).catch((err) => {\r\n console.log('error ao buscar grades :>> ', err);\r\n });\r\n } else\r\n api.get(`ListaPrecoItem/BuscaPrecoItem?CodigoListaPreco=${formulario.getFieldValue('ltp_id')}&CodigoProduto=${value}`).then((res) => {\r\n if (res.data) {\r\n formItens.setFieldsValue(res.data);\r\n } else {\r\n api.get(`ListaPrecoItem/BuscarPrecoPadraoItem?codigoProduto=${value}`).then((res) => {\r\n if (res.status === 200) {\r\n let valorVenda = 1;\r\n if (res.data)\r\n valorVenda = res.data;\r\n formItens.setFieldsValue({\r\n lpi_valorvenda: valorVenda,\r\n lpi_perccomissao: 0,\r\n lpi_naocalculacomissao: false\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n const onSaveGrades = () => {\r\n let array = [...itens];\r\n let verify = grades.filter(x => x.lpi_valorvenda !== null && parseFloat(x.lpi_valorvenda) !== 0);\r\n if (verify.length !== 0) {\r\n grades.forEach(element => {\r\n if (element.lpi_valorvenda !== null) {\r\n let index = array.findIndex(x => x.pro_id == element.pro_id && x.prg_ean == element.prg_ean);\r\n element.lpi_valorvenda = parseFloat(element.lpi_valorvenda.toString().replaceAll(`.`, ``).replaceAll(`,`, `.`));\r\n if (index !== -1) {\r\n array[index] = element;\r\n // console.log(\"editou ==>\")\r\n } else {\r\n array.push(element);\r\n }\r\n }\r\n });\r\n setItens(array);\r\n onCloseModal();\r\n } else {\r\n Modal.warning({\r\n title: 'Atenção',\r\n icon: ,\r\n content: `Existem itens da grade que não possuem valor informado, por favor verifique-os!`,\r\n okText: 'Ok',\r\n centered: true,\r\n });\r\n }\r\n }\r\n\r\n const getColumnSearchProps = dataIndex => ({\r\n filterDropdown: ({ setSelectedKeys, selectedKeys, clearFilters }) => (\r\n
\r\n \r\n
\r\n setSelectedKeys(e.target.value ? [e.target.value] : [])}\r\n onPressEnter={() => handleSearch(selectedKeys, dataIndex, clearFilters)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n filterIcon: filtered => ,\r\n onFilter: (value, record) =>\r\n record[dataIndex] ? record[dataIndex].toString().toLowerCase().includes(value.toLowerCase()) : '',\r\n onFilterDropdownVisibleChange: visible => {\r\n if (visible) {\r\n setTimeout(() => searchInput.current.focus());\r\n }\r\n },\r\n render: text => text\r\n });\r\n\r\n const handleSearch = (selectedKeys, dataIndex, clearFilters) => {\r\n let listaFiltros = [...filtros];\r\n let indice = listaFiltros.findIndex(f => f.campo === dataIndex);\r\n if (indice < 0) listaFiltros.push({ campo: dataIndex, valor: selectedKeys[0], clearFilters });\r\n else listaFiltros[indice].valor = selectedKeys[0];\r\n setFiltros(listaFiltros);\r\n };\r\n\r\n async function onFinishItens(values) {\r\n let produto = (await api.get(`Produto/RetornaDadosItem?ProdutoId=${formulario.getFieldValue().pro_id}`)).data;\r\n delete produto.lpi_valorvenda;\r\n delete values.produto;\r\n let array = [...itens];\r\n let index = array.findIndex(x => x.pro_id == produto.pro_id);\r\n values.pro_id = formulario.getFieldValue().pro_id;\r\n values.lpi_perccomissao = !!values.lpi_perccomissao ? values.lpi_perccomissao : 0;\r\n values.lpi_naocalculacomissao = !!values.lpi_naocalculacomissao ? values.lpi_naocalculacomissao : false;\r\n let obj = { ...produto, ...values };\r\n\r\n if (index !== -1) {\r\n array.splice(index, 1, { ...obj });\r\n setItens(array);\r\n } else\r\n setItens((prev) => ([...prev, { ...obj }]));\r\n\r\n formItens.resetFields();\r\n }\r\n\r\n function onDeleteItem(value) {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o item selecionado?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n deleteItem(value);\r\n }\r\n });\r\n }\r\n\r\n function deleteItem(value) {\r\n let array = [...itens];\r\n let index = array.indexOf(value);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n setItens(array);\r\n }\r\n let listaExcluir = [...listaItensExcluir];\r\n listaExcluir.push(value);\r\n setListaItensExcluir(listaExcluir);\r\n }\r\n\r\n const EditableCell = ({\r\n editing,\r\n dataIndex,\r\n title,\r\n inputType,\r\n record,\r\n index,\r\n children,\r\n required,\r\n ...restProps\r\n }) => {\r\n const inputNode = inputType === 'number' ? (\r\n \r\n ) : (\r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n );\r\n return (\r\n \r\n );\r\n };\r\n\r\n const editRow = (record) => {\r\n formTableItens.setFieldsValue({ ...record });\r\n setEditiItenId({ pro_id: record.pro_id, prg_ean: record.prg_ean });\r\n setEditandoItens(true);\r\n }\r\n\r\n const saveRow = async (data) => {\r\n try {\r\n const obj = await formTableItens.validateFields();\r\n if (typeof obj.lpi_valorvenda !== `number`) {\r\n obj.lpi_valorvenda = parseFloat(obj.lpi_valorvenda.toString().replaceAll(`.`, ``).replaceAll(`,`, `.`));\r\n }\r\n const array = [...itens];\r\n const index = array.findIndex(x => x === data);\r\n let reg = { ...array[index] };\r\n if (!!reg.lpi_id) {\r\n let listaEditarItensTemp = [...listaEditarItens];\r\n listaEditarItensTemp.push({ ...array[index], ...obj });\r\n setListaEditarItens(listaEditarItensTemp);\r\n }\r\n if (index !== -1) {\r\n array.splice(index, 1, { ...array[index], ...obj });\r\n setItens(array);\r\n }\r\n setEditiItenId({});\r\n setEditandoItens(false);\r\n } catch (error) {\r\n console.log('Valores inválidos ', error);\r\n }\r\n }\r\n const onCloseModal = () => setVisibleModalGrade(false);\r\n\r\n const cancelEdition = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: `Tem certeza que deseja cancelar?`,\r\n okText: 'OK',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n setEditandoItens(false);\r\n setEditiItenId({});\r\n }\r\n });\r\n }\r\n\r\n const isEditing = (record) => record.pro_id === editiItemId.pro_id && record.prg_ean === editiItemId.prg_ean;\r\n\r\n const columns = [\r\n {\r\n title: 'Código',\r\n width: 75,\r\n align: 'center',\r\n render: ({ pro_codigo }) => (\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Produto',\r\n ...getColumnSearchProps('produto'),\r\n render: ({ pro_descricao, pro_ean, prg_ean, descricaoGrade }) => (\r\n
\r\n \r\n
\r\n {pro_descricao}\r\n \r\n \r\n \r\n EAN: {pro_ean}\r\n \r\n \r\n \r\n {prg_ean && \r\n \r\n \r\n EAN Grade: {prg_ean}\r\n \r\n \r\n \r\n \r\n Grade: {descricaoGrade}\r\n \r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n title: 'Comissão',\r\n align: 'right',\r\n dataIndex: 'lpi_perccomissao',\r\n width: '25%',\r\n editable: true,\r\n render: text => {text}%\r\n },\r\n {\r\n title: 'Valor Item (R$)',\r\n dataIndex: 'lpi_valorvenda',\r\n width: '25%',\r\n align: 'right',\r\n required: true,\r\n editable: true,\r\n render: text => {FormatNumber(text, true)}\r\n },\r\n {\r\n title: 'Ações',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => {\r\n const editable = isEditing(record);\r\n return editable ? (\r\n
\r\n \r\n
\r\n saveRow(record)}\r\n icon={}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!importarProduto === false &&\r\n
\r\n
\r\n \r\n {itemProduto &&\r\n
\r\n \r\n { onPressEnterProCodigo(value) }}\r\n conteudo={\r\n pro => ({pro.pro_id} - {pro.pro_descricao})\r\n }\r\n />\r\n
\r\n {productName && (\r\n

Nome do Produto: {productName}

\r\n )}\r\n
\r\n
\r\n \r\n }\r\n {!itemProduto &&\r\n \r\n \r\n onChangeProdutoFiltro(value,1)}\r\n conteudo={\r\n pro => ({pro.pro_id} - {pro.pro_descricao})\r\n } />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n A lista abaixo está sendo filtrada por:\r\n \r\n {filtros.map((_filtro, indice) => (\r\n {\r\n filtros[indice].clearFilters();\r\n let _filtros = [...filtros];\r\n _filtros.splice(indice, 1);\r\n setFiltros(_filtros);\r\n }} className=\"m-l-5 text-uppercase\">\r\n {`${_filtro.valor}`}\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n {editing ? (\r\n \r\n {inputNode}\r\n \r\n ) : (\r\n children\r\n )}\r\n
\r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n {!!importarProduto === true &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n onChangeListaPreco(value)}\r\n showSearch={true}\r\n allowClear={true}\r\n conteudo={\r\n lp => ({lp.ltp_nome})\r\n } />\r\n \r\n \r\n \r\n {listaPrecoSelectd != null &&
\r\n \r\n
\r\n \r\n \"Filtrar Produtos\r\n \r\n \r\n Realize o filtro dos produtos da lista de preço selecionada para importar\r\n \r\n \r\n \r\n \r\n \r\n \r\n ({mar.mar_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n onChangeGrupo(value)}\r\n conteudo={\r\n gp => ({gp.gru_nome})\r\n }\r\n />\r\n \r\n \r\n {subgrupos &&\r\n \r\n \r\n ({sgp.sgp_nome})\r\n }\r\n />\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Total de produtos à importar: 0\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Tag, Button, Table, Modal, Divider, Select } from \"antd\";\r\nimport { DeleteOutlined, PlusOutlined, ExclamationCircleOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\n\r\nimport { SelectPagination } from \"../../components\";\r\nimport { FormatFone, MaskFormat } from \"../../ValueObjects\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function TabCliente({ formulario }) {\r\n\r\n const [form] = Form.useForm();\r\n const [clientes, setClientes] = useState(() => {\r\n if (formulario.getFieldValue('ltp_id')) {\r\n let list = formulario.getFieldValue('clientes');\r\n return list ? list : [];\r\n }\r\n return []\r\n });\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ clientes: clientes });\r\n }, [clientes])\r\n\r\n async function onAddClienteList() {\r\n let cliente = (await api.get(`Cliente/BuscarCliente/${formulario.getFieldValue().cli_id}`)).data;\r\n cliente.ltp_id = formulario.getFieldValue('ltp_id');\r\n let array = [...clientes];\r\n let index = array.findIndex(x => x.cli_id == cliente.cli_id);\r\n if (index === -1)\r\n setClientes((prev) => ([...prev, { ...cliente }]));\r\n\r\n form.resetFields();\r\n }\r\n\r\n function onDelete(value) {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o cliente selecionado?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n deleteCliente(value);\r\n }\r\n })\r\n }\r\n\r\n const deleteCliente = (value) => {\r\n let array = [...clientes];\r\n let index = array.findIndex(x => x.cli_id == value.cli_id);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n setClientes(array);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n ({c.cli_id} - {c.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n \r\n {cli_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Nome',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n )\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 138,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n Endereço: {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n \r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n \r\n )\r\n }} expandIcon={({ record, expanded, onExpand }) => {\r\n return expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n );\r\n }} columnWidth={30} dataSource={clientes} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Modal, Tag, Button, Table, Divider, Select } from \"antd\";\r\nimport { DeleteOutlined, PlusOutlined, ExclamationCircleOutlined, } from \"@ant-design/icons\";\r\n\r\nimport { SelectPagination } from \"../../components\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function TabVendedor({ formulario }) {\r\n\r\n const [form] = Form.useForm();\r\n const [vendedores, setVendedores] = useState(() => {\r\n if (formulario.getFieldValue('ltp_id')) {\r\n let list = formulario.getFieldValue('vendedores');\r\n return list ? list : [];\r\n }\r\n return []\r\n });\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ vendedores: vendedores });\r\n }, [vendedores])\r\n\r\n async function onAddVendedorList() {\r\n let array = [...vendedores];\r\n let dadosVendedor = (await api.get(`Vendedor/RetornaVendedor?idVendedor=${formulario.getFieldValue().ven_id}`)).data;\r\n array.push(dadosVendedor);\r\n let key = 0;\r\n array.forEach(item => {\r\n item.key = key++;\r\n });\r\n setVendedores(array);\r\n form.resetFields();\r\n }\r\n\r\n function onDelete(value) {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o vendedor selecionado?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n deleteVendedor(value);\r\n }\r\n })\r\n }\r\n\r\n const deleteVendedor = (value) => {\r\n let array = [...vendedores];\r\n let index = array.findIndex(x => x.ven_id == value.ven_id);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n setVendedores(array);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n ({v.ven_id} - {v.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {ven_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Nome',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, Tabs, Alert, Button, Modal, notification } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, CheckCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { Data, FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { compararDatas, isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { TabItens, TabCliente, TabVendedor } from \"./tabPage\";\r\n\r\nexport default function ManutencaoPreco({ formulario, carregando, setExibeButtons, setCarregando, aoSalvar, onCancel }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [somenteCabecalho, setSomenteCabecalho] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [exibeItens, setExibeItens] = useState(false);\r\n const [dadosSalvos, setDadosSalvos] = useState({});\r\n const [listaItensExcluir, setListaItensExcluir] = useState([]);\r\n const [listaEditarItens, setListaEditarItens] = useState([]);\r\n const [editandoItens, setEditandoItens] = useState(false)\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n if (!!manutencao.dados) {\r\n setExibeButtons(true);\r\n setExibeItens(true);\r\n manutencao.dados.listaEmpresa = (manutencao.dados.loc_id === null);\r\n if (manutencao.dados.loc_id === null)\r\n formulario.setFieldsValue({ ltp_somenteestelocal: false });\r\n else\r\n formulario.setFieldsValue({ ltp_somenteestelocal: true });\r\n formulario.setFieldsValue(manutencao.dados);\r\n setListaEditarItens([]);\r\n setListaItensExcluir([]);\r\n } else {\r\n setExibeButtons(false);\r\n setExibeItens(false);\r\n formulario.setFieldsValue({\r\n ltp_ativa: true,\r\n listaEmpresa: true,\r\n ltp_somenteestelocal: false,\r\n ltp_consideradescontopgto: false,\r\n ltp_principal: false\r\n });\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n\r\n function modalInserirItem() {\r\n Modal.confirm({\r\n title: 'Lista de Preço Adicionada com sucesso!',\r\n icon: ,\r\n content: 'Deseja adicionar os itens na lista de preço?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk() {\r\n setExibeItens(true);\r\n setExibeButtons(true);\r\n return false;\r\n },\r\n onCancel() {\r\n aoSalvar();\r\n }\r\n })\r\n }\r\n\r\n const salvar = () => {\r\n if (editandoItens) {\r\n notification.warning({ description: \"Favor finalizar as alterações dos itens antes de salvar\", message: \"Aviso\" });\r\n return;\r\n }\r\n let values = isObjetoDiffVazio(dadosSalvos) ? dadosSalvos : formulario.getFieldsValue();\r\n values.listaItemsExcluir = listaItensExcluir;\r\n values.listaEditarItens = listaEditarItens;\r\n if ((!!values.listaItemsExcluir && values.listaItemsExcluir.length > 0) || (!!values.listaEditarItens && values.listaEditarItens.length > 0)) {\r\n values.listaprecoitens = [];\r\n } else {\r\n values.listaprecoitens = formulario.getFieldsValue().itens;\r\n }\r\n values.listaprecoclientes = values.clientes;\r\n values.listaprecovendedores = values.vendedores;\r\n if (!!values.ltp_datainicial && values.ltp_datafinal) {\r\n if (compararDatas(values.ltp_datainicial, values.ltp_datafinal, '>')) {\r\n notification.warning({ message: `Aviso!`, description: `Data Final não pode ser menor que a data Inicial!` })\r\n return false;\r\n }\r\n }\r\n\r\n setCarregando(true);\r\n if (!!values.ltp_id) {\r\n editarLista(values);\r\n } else {\r\n incluirLista(values);\r\n }\r\n };\r\n\r\n function editarLista(values) {\r\n api.put(`ListaPreco/EditarAsync`, values).then(\r\n res => {\r\n setDadosSalvos(res.data);\r\n aoSalvar();\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n notification.success({ message: `Os dados da Lista de Preço foram editados com sucesso!` });\r\n setCarregando(false);\r\n });\r\n }\r\n\r\n function incluirLista(values) {\r\n api.post(`ListaPreco/IncluirAsync`, values).then(\r\n res => {\r\n setDadosSalvos(res.data);\r\n modalInserirItem();\r\n aoSalvar();\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n notification.success({ message: `Os dados da Lista de Preço foram incluídos com sucesso!` });\r\n setCarregando(false);\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Lista de preço disponível apenas para esta filial \r\n \r\n \r\n \r\n \r\n Considerar os descontos na condição de pagamento \r\n \r\n \r\n \r\n \r\n Lista Principal \r\n \r\n \r\n \r\n \r\n Lista a Ativa \r\n \r\n \r\n \r\n \r\n prev.listaEmpresa !== current.listaEmpresa}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue(\"listaEmpresa\"))\r\n return (\r\n \r\n \r\n \r\n );\r\n else \r\n return (\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n {!exibeItens &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {exibeItens &&\r\n \r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport ManutencaoPreco from './manutencao';\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from \"../../components\";\r\nimport { drawerActions, manutencaoActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerPreco() {\r\n\r\n const [formPreco] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [exibeButtons, setExibeButtons] = useState(false);\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ltp_id' } })\r\n formPreco.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n destroyOnClose={true}\r\n footer={exibeButtons &&\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Form, Input, Select, Table, Button, Modal, Card, Radio, InputNumber, Tag, Divider, notification } from \"antd\";\r\nimport { CloseOutlined, PlusOutlined, RedoOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { info } from \"../../services/funcoes\";\r\nimport { InputPreco, SelectPaginacao, SelectPaginado } from \"../../components\";\r\nimport { listagemActions, selectPaginadoActions } from \"../../actions\";\r\nimport { getEmpresa } from \"../../services/auth\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function AtualizarPreco({ formulario, carregando, aoSalvar }) {\r\n\r\n const [listaItens, setListaItens] = useState([]);\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [quantidadeEncontrados, setQuantidadeImportar] = useState(0);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawerExtra) {\r\n if (!!formulario.getFieldValue('itens')) {\r\n setListaItens(formulario.getFieldValue('itens'));\r\n } else {\r\n setListaItens([]);\r\n }\r\n buscarQuantidadeProdutos();\r\n if (!formulario.getFieldValue().tipoAtualizacaoPreco) {\r\n formulario.setFieldsValue({ tipoAtualizacaoPreco: 0 });\r\n }\r\n }\r\n }, [ui.showDrawerExtra]);\r\n\r\n function buscarQuantidadeProdutos() {\r\n let filtros = '';\r\n if (!!formulario.getFieldValue().mar_id) {\r\n filtros += `&idMarca=${formulario.getFieldValue().mar_id}`;\r\n }\r\n if (!!formulario.getFieldValue().gru_id) {\r\n filtros += `&idGrupo=${formulario.getFieldValue().gru_id}`;\r\n }\r\n if (!!formulario.getFieldValue().sgp_id) {\r\n filtros += `&idSubGrupo=${formulario.getFieldValue().sgp_id}`;\r\n }\r\n api.get(`ListaPreco/QuantidadeProdutosImportar?idListaOrigem=${formulario.getFieldValue().ltp_id}${filtros}`).then(res => {\r\n if (res.status === 200) {\r\n setQuantidadeImportar(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n };\r\n\r\n function limparFiltros() {\r\n formulario.setFieldsValue({ mar_id: null, gru_id: null, sgp_id: null });\r\n };\r\n\r\n function popularDadosSubGrupo(codigoGrupo) {\r\n let lista = [];\r\n lista.push({ name: \"sgp_id\", campo: \"CodigoGrupo\", value: codigoGrupo });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n };\r\n\r\n function atualizarPrecos(values) {\r\n if (parseFloat(values.reajustarValor) > 0) {\r\n let valuesEnviar = {};\r\n valuesEnviar.filtrosAdicional = null;//não implementado\r\n valuesEnviar.gru_id = !!values.gru_id ? values.gru_id : null;\r\n valuesEnviar.ltp_id = values.ltp_id;\r\n valuesEnviar.mar_id = !!values.mar_id ? values.mar_id : null;\r\n valuesEnviar.spg_id = !!values.sgp_id ? values.sgp_id : null;\r\n valuesEnviar.tipoAtualizacaoPreco = values.tipoAtualizacaoPreco;\r\n\r\n if (valuesEnviar.tipoAtualizacaoPreco === 2 || valuesEnviar.tipoAtualizacaoPreco === 4) {\r\n valuesEnviar.reajustarValor = parseFloat(values.reajustarValor) / 100;\r\n } else {\r\n valuesEnviar.reajustarValor = parseFloat(values.reajustarValor);\r\n }\r\n\r\n Modal.confirm({\r\n title: 'Confirmar atualização de preços?',\r\n icon: ,\r\n content: '',\r\n okText: 'Sim, atualizar preços',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.post('ListaPreco/AtualizarPrecosProdutos', valuesEnviar).then(res => {\r\n if (res.status === 200) {\r\n Modal.success({\r\n title: 'Preços atualizados com sucesso!',\r\n content: `Os preços dos ${listaItens.length} produtos localizados da lista ${formulario.getFieldValue().ltp_nome} foram atualizados com sucesso!`,\r\n });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ltp_id' } });\r\n aoSalvar();\r\n }\r\n }, err => {\r\n Modal.error({\r\n title: 'Atenção!',\r\n content: (\r\n
\r\n

Ocorreu um erro ao tentar realizar o reajuste de preços!

\r\n
\r\n ),\r\n });\r\n });\r\n }\r\n });\r\n } else {\r\n info('Você deve informar o valor ou percentual para realizar o reajuste de preços!');\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Atualização Atualização de Preços de Produtos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Lista de Preços: {formulario.getFieldValue().ltp_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Para realizar a atualização dos preços configure os filtros abaixo:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {marca.mar_nome}\r\n )} onClearFunction={() => { formulario.setFieldsValue({ \"mar_id\": null }) }} />\r\n \r\n \r\n \r\n \r\n popularDadosSubGrupo(value)}\r\n conteudo={\r\n (grupo) => (\r\n {grupo.gru_nome}\r\n )} onClearFunction={() => { formulario.setFieldsValue({ \"gru_id\": null }) }} />\r\n \r\n \r\n \r\n \r\n (\r\n {subGrupo.sgp_nome}\r\n )} onClearFunction={() => { formulario.setFieldsValue({ \"sgp_id\": null }) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Definir um novo valor especifico para os produtos nesta lista de preços\r\n
\r\n Aumentar o preço de venda atual, aplicando um aumento fixo em reais (R$)\r\n
\r\n Aumentar o preço de venda atual, aplicando um aumento percentual sobre o valor de venda atual (%)\r\n
\r\n Diminuir o preço de venda atual, aplicando uma redução fixa em reais (R$)\r\n
\r\n Diminuir o preço de venda atual, aplicando uma redução percentual sobre o valor de venda atual (%)\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Produtos Encontrados\r\n \r\n \r\n \r\n \r\n \r\n \r\n {quantidadeEncontrados}\r\n \r\n \r\n \r\n \r\n \r\n prevValues.tipoAtualizacaoPreco !== currentValues.tipoAtualizacaoPreco}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('tipoAtualizacaoPreco') === 0) return (\r\n \r\n );\r\n if (getFieldValue('tipoAtualizacaoPreco') === 1) return (\r\n \r\n );\r\n if (getFieldValue('tipoAtualizacaoPreco') === 3) return (\r\n \r\n );\r\n else return (\r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')} />\r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Item (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ lpi_valorvenda }) => (\r\n
\r\n {FormatNumber(lpi_valorvenda, true)}\r\n
\r\n ),\r\n }\r\n ]\r\n } expandedRowRender={({ pro_ean, descricaoGrade }) => {\r\n return (\r\n
\r\n \r\n
\r\n Código de Barras (EAN): {pro_ean}\r\n \r\n \r\n Grade: {descricaoGrade}\r\n \r\n \r\n \r\n )\r\n }} expandIconColumnIndex={-1} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { DrawerNav } from \"../../components\";\r\nimport AtualizarPreco from './atualizarPreco';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerAtualizarPreco() {\r\n\r\n const [formAtualizar] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) formAtualizar.setFieldsValue(manutencao.dados);\r\n else {\r\n //formAtualizar.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: false } });\r\n formAtualizar.resetFields();\r\n\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Collapse, Tag, Popover } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, EditOutlined, SyncOutlined, PrinterOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatDate } from '../../ValueObjects';\r\nimport { DrawerPreco, DrawerAtualizarPreco } from \"./drawerPage\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacaoData, TabelaDados, Editar, Imprimir, Data, PesquisaAvancada } from \"../../components\";\r\n\r\nexport default function Preco() {\r\n\r\n const [open, setOpen] = useState(false);\r\n const [loadingEdit, setLoadingEdit] = useState(false);\r\n const [itemEdit, setItemEdit] = useState(null);\r\n const [dataAtual] = useState(new Date());\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formulario] = Form.useForm();\r\n const [clientes, setClientes] = useState([]);\r\n const [vendedores, setVendedores] = useState([]);\r\n const [formPesquisaAvancada] = Form.useForm();\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ltp_id' } });\r\n formulario.setFieldsValue({ dataInicial: moment(new Date()), dataFinal: moment(new Date()) });\r\n\r\n api.get('Cliente/Listar?filtro=&ordem=%2Bpes_nome').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setClientes(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n api.get('Vendedor/ListarVendedor').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setVendedores(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, []);\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const loadDada = async (data) => {\r\n setItemEdit(data.ltp_id);\r\n if (!!data.ltp_datafinal) {\r\n data.ltp_datafinal = !!data.ltp_datafinal ? moment(data.ltp_datafinal) : null;\r\n }\r\n if (!!data.ltp_datainicial) {\r\n data.ltp_datainicial = !!data.ltp_datainicial ? moment(data.ltp_datainicial) : null;\r\n }\r\n if (data.loc_id == null) {\r\n data.ltp_todaempresa = true;\r\n }\r\n setLoadingEdit(true);\r\n data.itens = await getList(`ListaPrecoItem/ListarItens?codigoLista=${data.ltp_id}`);\r\n data.clientes = await getList(`ListaPrecoCliente/ListarTodos?CodigoLista=${data.ltp_id}`);\r\n data.vendedores = await getList(`ListaPrecoVendedor/ListarTodos?codigoLista=${data.ltp_id}`);\r\n setLoadingEdit(false);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: data } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n\r\n const openAtualizarPrecos = async (data) => {\r\n data.itens = await getList(`ListaPrecoItem/ListarItens?codigoLista=${data.ltp_id}`);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: data } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: true } });\r\n }\r\n\r\n const getList = async (url) => {\r\n return await api.get(url).then((result) => {\r\n if (result.status === 200)\r\n return result.data;\r\n return [];\r\n }).catch((err) => {\r\n console.log('err request :>> ', err);\r\n return [];\r\n });\r\n };\r\n\r\n function aplicarFiltros() {\r\n let dataInicial = (!!formulario.getFieldValue().dataInicial ? FormatDate(formulario.getFieldValue().dataInicial._d.toLocaleDateString()) : moment(formulario.getFieldValue().dataPesquisa).format('YYYY-MM-DD'));\r\n let dataFinal = (!!formulario.getFieldValue().dataFinal ? FormatDate(formulario.getFieldValue().dataFinal._d.toLocaleDateString()) : FormatDate(dataAtual.toLocaleDateString()));\r\n let cliente = (!!formulario.getFieldValue().cli_id ? `&idCliente=${formulario.getFieldValue().cli_id}` : '');\r\n let vendedor = (!!formulario.getFieldValue().ven_id ? `&idVendedor=${formulario.getFieldValue().ven_id}` : '');\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ltp_id', outrosFiltros: `&dataFinal=${dataFinal}&dataInicial=${dataInicial}${cliente}${vendedor}` } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${FormatDate(dataAtual.toLocaleDateString())}&dataInicial=${moment(formulario.getFieldValue().dataPesquisa).format('YYYY-MM-DD')}` } });\r\n }} />\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n {\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {ltp_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ ltp_nome }) => (\r\n
\r\n {ltp_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Padrão?',\r\n width: 100,\r\n align: 'center',\r\n render: ({ ltp_principal }) => (\r\n
\r\n {ltp_principal ? 'SIM' : 'NÃO'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Inicial',\r\n align: 'center',\r\n width: 100,\r\n render: ({ ltp_datainicial }) => (\r\n
\r\n {(ltp_datainicial ? moment(ltp_datainicial).format(\"DD/MM/YYYY\") : '')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Final',\r\n align: 'center',\r\n width: 100,\r\n render: ({ ltp_datafinal }) => (\r\n
\r\n {(ltp_datafinal ? moment(ltp_datafinal).format(\"DD/MM/YYYY\") : '')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n fixed: 'right',\r\n align: 'center',\r\n width: 158,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n } loading={record.ltp_id === itemEdit ? loadingEdit : false} onClick={() => {\r\n loadDada(record)\r\n }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Form, Select, Input, Button, Table, Tag, Modal, notification, Switch, InputNumber, Card, Checkbox, Tooltip } from \"antd\";\r\nimport { BarcodeOutlined, CloseOutlined, CopyOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined, PlusOutlined, PrinterOutlined, SearchOutlined, TableOutlined } from \"@ant-design/icons\";\r\nimport jsreports from \"jsreports/jsreports-all\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { drawerActions } from \"../../actions\";\r\nimport { getEmpresa } from \"../../services/auth\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { FormGW, SelectProduto } from \"../../components\";\r\nimport { ModalProdutoGrade } from \"../../components/modals\"\r\nimport { isNotNullOrEmpty, isObjetoDiffVazio, retornaSoNumeros, validaForm } from \"../../services/funcoes\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ImprimirEtiqueta({ formulario }) {\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [listaPreco, setListaPreco] = useState([]);\r\n const [listaItens, setListaItens] = useState([]);\r\n const [dadosAdicionais, setDadosAdicionais] = useState(false);\r\n const [dadosEmpresa, setDadosEmpresa] = useState({});\r\n const [multiplosReg, setMultiplosReg] = useState(false);\r\n const [listaSubGrupo, setListaSubGrupo] = useState([]);\r\n const [dadosProduto, setDadosProduto] = useState({});\r\n const [filtroProd, setFiltroProd] = useState(\"\");\r\n const [atualizarListaProd, setAtualizarListaProd] = useState(false);\r\n const [consultaProduto, setConsultaProduto] = useState(true);\r\n const [recordEditando, setRecordEditando] = useState({});\r\n const [possuiGrade, setPossuiGrade] = useState(false);\r\n const [abrirModalGrade, setAbrirModalGrade] = useState(false);\r\n const codBarras = useRef();\r\n const squemaEtiquetaProduto = [\r\n {\r\n nome: 'Codigo_Empresa',\r\n tipo: 'number'\r\n },\r\n {\r\n nome: 'Empresa',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Produto',\r\n tipo: 'number'\r\n },\r\n {\r\n nome: 'Produto',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Grade',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Marca',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Preco',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Ean',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Etiqueta',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Referencia',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Observacao',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Quantidade_Parcela',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Valor_Parcelado',\r\n tipo: 'string'\r\n }\r\n ];\r\n\r\n const listaValidacao = [\r\n { nome: 'modelo', obrigatorio: true, label: 'Modelo de Etiqueta' }\r\n ];\r\n\r\n const modalExcluirItem = (record) => {\r\n Modal.confirm({\r\n title: 'Remover?',\r\n icon: ,\r\n content: `Deseja realmente remover o item selecionado?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n removerItem(record);\r\n }\r\n });\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setConsultaProduto(!consultaProduto);\r\n };\r\n\r\n useEffect(() => {\r\n buscarListaPreco();\r\n buscarDadosEmpresa();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!recordEditando && isObjetoDiffVazio(recordEditando)) {\r\n let dados = listaSelectPaginacao?.itens?.filter((item) => item.pro_id === recordEditando.pro_id && ((!!recordEditando.prg_id && recordEditando.prg_id === item.prg_id) || !!!recordEditando.prg_id))[0];\r\n if (!!dados) {\r\n prepararDadosEditar(recordEditando, dados);\r\n }\r\n setRecordEditando({});\r\n }\r\n }, [listaSelectPaginacao.itens]);\r\n\r\n\r\n function buscarListaPreco() {\r\n api.get('ListaPreco/ListarTodasListaPreco').then(\r\n res => {\r\n setListaPreco(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarDadosEmpresa() {\r\n api.get(`Empresa/Buscar/${getEmpresa()}`).then(\r\n res => {\r\n setDadosEmpresa(res.data)\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarSubGrupo(grupo) {\r\n api.get(`SubGrupo/ListarSemPaginacao?&Ativo=true&CodigoGrupo=${grupo}`).then(\r\n res => {\r\n setListaSubGrupo(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n async function popularDadosProdutonew(key, editando = false) {\r\n if (!isNotNullOrEmpty(key)) {\r\n setAtualizarListaProd(true);\r\n return;\r\n }\r\n let prod = {};\r\n if (!editando) {\r\n prod = listaSelectPaginacao?.itens?.filter(item => key === item.key)[0];\r\n } else {\r\n prod = listaItens.filter(item => item.key === key)[0];\r\n if (!!!prod || !isObjetoDiffVazio(prod)) {\r\n prod = listaSelectPaginacao?.itens?.filter(item => key === item.key)[0];\r\n prod = listaItens.filter(item => item.pro_id === prod.pro_id && item.prg_id === prod.prg_id)[0];\r\n }\r\n }\r\n formulario.setFieldsValue({ ltp_id: null });\r\n let listaPrecosProduto = await api.get(`ListaPreco/ListarListaPrecoProduto?idProduto=${prod.pro_id}${!!prod.prg_id ? '&idProdutoGrade=' + prod.prg_id : ''}`);\r\n let listaPadraoProduto = await api.get(`ListaPreco/ListarListaPrecoProduto?idProduto=${prod.pro_id}${!!prod.prg_id ? '&idProdutoGrade=' + prod.prg_id : ''}`);\r\n if (!!prod.prg_id) {\r\n setPossuiGrade(true);\r\n }\r\n let idx = 0;\r\n listaPrecosProduto.data.forEach(item => item.key = idx++);\r\n setListaPreco(listaPrecosProduto.data);\r\n setDadosProduto(prod);\r\n setRecordEditando({});\r\n formulario.setFieldsValue({ ltp_id: listaPadraoProduto.data[0].ltp_id });\r\n };\r\n\r\n function adicionarItem(lstPreco = listaPreco, prod = dadosProduto) {\r\n let dados = [...listaItens];\r\n let obj = {};\r\n let editando = true;\r\n if (!multiplosReg) {\r\n obj = dados.find((item) => (prod.pro_id === item.pro_id && prod.prg_id === item.prg_id));\r\n if (!!!obj) {\r\n obj = prod;\r\n obj.sequencia = !!dados.length > 0 ? dados[dados.length - 1].sequencia + 1 : 1;\r\n editando = false;\r\n } else {\r\n setAtualizarListaProd(true);\r\n setFiltroProd(\"\");\r\n }\r\n obj.quantidade = parseInt(formulario.getFieldValue().quantidade);\r\n if (!!lstPreco && lstPreco.length > 0) {\r\n obj.lpi_valorvenda = lstPreco.filter((preco) => (preco.ltp_id === formulario.getFieldValue().ltp_id))[0].lpi_valorvenda;\r\n obj.observacao = formulario.getFieldValue().observacao;\r\n obj.pro_ean = !!obj.pro_ean ? obj.pro_ean : obj.prg_ean;\r\n if (parseFloat(obj.lpi_valorvenda) > 0) {\r\n if (!editando) {\r\n dados.push(obj);\r\n }\r\n setListaItens(dados);\r\n setPossuiGrade(false);\r\n limparCampos();\r\n } else {\r\n notification.warning({ description: 'Tabela de preço sem valor para o produto atual', message: 'Aviso' });\r\n return false;\r\n }\r\n }\r\n } else {\r\n let filtros = '';\r\n filtros += !!formulario.getFieldValue().ltp_id ? `&listaPrecoId=${formulario.getFieldValue().ltp_id}` : '';\r\n filtros += !!formulario.getFieldValue().pro_id ? `&produtoId=${formulario.getFieldValue().pro_id}` : '';\r\n filtros += !!formulario.getFieldValue().mar_id ? `&marcaId=${formulario.getFieldValue().mar_id}` : '';\r\n filtros += !!formulario.getFieldValue().gru_id ? `&grupoId=${formulario.getFieldValue().gru_id}` : '';\r\n filtros += !!formulario.getFieldValue().sgp_id ? `&subGrupoId=${formulario.getFieldValue().sgp_id}` : '';\r\n api.get(`RelatorioModeloEtiqueta/DadosEtiquetaProduto?${filtros}`).then(\r\n res => {\r\n let qtd = 0;\r\n res.data.forEach((item) => {\r\n if (parseFloat(item.listaPrecoProduto) > 0) {\r\n item.sequencia = !!dados.length > 0 ? dados[dados.length - 1].sequencia + 1 : 1;\r\n item.quantidade = 1;\r\n item.lpi_valorvenda = item.listaPrecoProduto;\r\n item.observacao = formulario.getFieldValue().observacao;\r\n qtd++;\r\n dados.push(item);\r\n }\r\n });\r\n if (qtd === 0) {\r\n notification.warning({ description: 'Produtos sem preço de venda', message: 'Aviso' });\r\n return false;\r\n }\r\n setListaItens(dados);\r\n setPossuiGrade(false);\r\n limparCampos()\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n };\r\n\r\n function editarItem(record) {\r\n setFiltroProd(record.pro_ean);\r\n let dados = listaSelectPaginacao?.itens?.filter((item) => item.pro_id === recordEditando.pro_id && ((!!recordEditando.prg_id && recordEditando.prg_id === item.prg_id) || !!!recordEditando.prg_id))[0];\r\n if (!!!dados || !isObjetoDiffVazio(dados)) {\r\n setRecordEditando(record);\r\n } else {\r\n prepararDadosEditar(record, dados);\r\n }\r\n };\r\n\r\n function prepararDadosEditar(record, dados) {\r\n formulario.setFieldsValue({ pro_id: dados.key, prg_id: record.prg_id, quantidade: record.quantidade, observacao: record.observacao });\r\n setMultiplosReg(false);\r\n popularDadosProdutonew(dados.key, true);\r\n };\r\n\r\n function removerItem(record) {\r\n let dados = listaItens.filter((item) => item.pro_id !== record.pro_id || (item.pro_id === record.pro_id && item.prg_id !== record.prg_id));\r\n setListaItens(dados);\r\n };\r\n\r\n function limparCampos() {\r\n formulario.setFieldsValue({ pro_id: null, pro_codigo: null, quantidade: null, ltp_id: null, observacao: '', mar_id: null, gru_id: null, sgp_id: null });\r\n };\r\n\r\n\r\n function imprimir() {\r\n\r\n let idModelo = formulario.getFieldValue().modelo;\r\n api.get(`RelatorioModeloEtiqueta/Listar?id=${idModelo}`).then(\r\n res => {\r\n montarEtiqueta(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarFormulario() {\r\n if (validaForm(formulario, listaValidacao)) {\r\n imprimir();\r\n }\r\n }\r\n\r\n function retornaObjeto(listaObj) {\r\n var objRetorno = {};\r\n for (var i = 0; i < listaObj.length; i++) {\r\n for (var attrname in listaObj[i]) {\r\n objRetorno[attrname] = listaObj[i][attrname];\r\n }\r\n }\r\n return objRetorno;\r\n }\r\n\r\n function montarEtiqueta(dadosRel) {\r\n let qtd = dadosRel.quantidadeColuna;\r\n let qtdTot = 0;\r\n let campos = [];\r\n let dadosCampos = [];\r\n let listaDadosImpressora = [];\r\n let dadosImpressora = {\r\n id: \"etiqueta\",\r\n name: \"etiqueta\",\r\n };\r\n listaItens.forEach((itens) => {\r\n qtdTot += itens.quantidade;\r\n });\r\n squemaEtiquetaProduto.forEach((squema) => {\r\n for (let i = 1; i <= qtd; i++) {\r\n campos.push({ name: `${squema.nome}_Coluna_${i}`, type: squema.tipo })\r\n }\r\n });\r\n let numeroColuna = 1;\r\n let dadosAux = [];\r\n listaItens.forEach((produto) => {\r\n for (let idx = 1; idx <= produto.quantidade; idx++) {\r\n let valorParcelado = 0;\r\n let quantidadeParcela = '';\r\n if (dadosAdicionais) {\r\n let qtdParcelas = !!formulario.getFieldValue().numeroParcelas ? formulario.getFieldValue().numeroParcelas : 1;\r\n if (!!formulario.getFieldValue().possuiEntrada) {\r\n quantidadeParcela = `${qtdParcelas}x(1+${qtdParcelas - 1})`;\r\n } else {\r\n quantidadeParcela = qtdParcelas + 'x';\r\n }\r\n\r\n valorParcelado = FormatNumber(produto.lpi_valorvenda / qtdParcelas, true);\r\n }\r\n dadosAux.push({\r\n ['Codigo_Empresa_Coluna_' + numeroColuna]: getEmpresa(),\r\n ['Empresa_Coluna_' + numeroColuna]: dadosEmpresa.emp_nomefantasia,\r\n ['Codigo_Produto_Coluna_' + numeroColuna]: produto.pro_codigo,\r\n ['Produto_Coluna_' + numeroColuna]: produto.pro_descricao,\r\n ['Grade_Coluna_' + numeroColuna]: produto.descricaograde,\r\n ['Marca_Coluna_' + numeroColuna]: produto.mar_nome,\r\n ['Preco_Coluna_' + numeroColuna]: FormatNumber(produto.lpi_valorvenda, true),\r\n ['Ean_Coluna_' + numeroColuna]: produto.pro_ean,\r\n ['Codigo_Etiqueta_Coluna_' + numeroColuna]: produto.pro_codigoetiqueta,\r\n ['Codigo_Referencia_Coluna_' + numeroColuna]: produto.pro_referencia,\r\n ['Observacao_Coluna_' + numeroColuna]: produto.observacao,\r\n ['Quantidade_Parcela_Coluna_' + numeroColuna]: quantidadeParcela,\r\n ['Valor_Parcelado_Coluna_' + numeroColuna]: valorParcelado\r\n });\r\n\r\n if (numeroColuna === qtd || (qtdTot < qtd && qtdTot === numeroColuna)) {\r\n if (qtdTot < qtd) {\r\n numeroColuna++;\r\n for (let idx = numeroColuna; idx <= qtd; idx++) {\r\n dadosAux.push(retornaEtiquetaEmBranco(idx));\r\n }\r\n }\r\n dadosCampos.push(retornaObjeto(dadosAux));\r\n qtdTot = qtdTot - qtd;\r\n dadosAux = [];\r\n numeroColuna = 1;\r\n } else {\r\n numeroColuna++;\r\n }\r\n }\r\n });\r\n dadosImpressora.data = dadosCampos;\r\n dadosImpressora.schema = {\r\n fields: campos\r\n };\r\n\r\n listaDadosImpressora.push(dadosImpressora);\r\n jsreports.export({\r\n report_def: JSON.parse(dadosRel.jsonRelatorio),\r\n datasets: listaDadosImpressora,\r\n format: 'pdf',\r\n outputHandler: function (dados) {\r\n window.open(URL.createObjectURL(dados), '_blank');\r\n }\r\n })\r\n };\r\n\r\n function retornaEtiquetaEmBranco(numeroColuna) {\r\n return {\r\n ['Codigo_Empresa_Coluna_' + numeroColuna]: null,\r\n ['Empresa_Coluna_' + numeroColuna]: '',\r\n ['Codigo_Produto_Coluna_' + numeroColuna]: null,\r\n ['Produto_Coluna_' + numeroColuna]: '',\r\n ['Grade_Coluna_' + numeroColuna]: '',\r\n ['Marca_Coluna_' + numeroColuna]: '',\r\n ['Preco_Coluna_' + numeroColuna]: null,\r\n ['Ean_Coluna_' + numeroColuna]: '',\r\n ['Codigo_Etiqueta_Coluna_' + numeroColuna]: null,\r\n ['Codigo_Referencia_Coluna_' + numeroColuna]: '',\r\n ['Observacao_Coluna_' + numeroColuna]: '',\r\n ['Quantidade_Parcela_Coluna_' + numeroColuna]: null,\r\n ['Valor_Parcelado_Coluna_' + numeroColuna]: null\r\n }\r\n };\r\n\r\n function limparItens() {\r\n setListaItens([]);\r\n };\r\n\r\n async function buscarProdutoCodBarra(event) {\r\n let dados = [...listaItens];\r\n let codigoBarras = event.target.value;\r\n let res = await api.get(`Produto/ListaProdutoComGradeFiltro?Filtro=${codigoBarras}`);\r\n codBarras.current.focus();\r\n if (!!res.data && res.data.items.length > 0) {\r\n let prod = res.data.items[0];\r\n let obj = dados.filter((item) => item.pro_id === prod.pro_id && ((!!prod.prg_id && prod.prg_id === item.prg_id) || !!!prod.prg_id))[0];\r\n let qtd = 1;\r\n if (!!obj && isObjetoDiffVazio(obj)) {\r\n qtd = obj.quantidade + 1;\r\n }\r\n setDadosProduto(prod);\r\n \r\n let listaPrecosProduto = await api.get(`ListaPreco/ListarListaPrecoProduto?idProduto=${prod.pro_id}&idProdutoGrade=${prod.prg_id}`);\r\n let listaPadraoProduto = await api.get(`ListaPreco/ListaPrecoPadraoProduto?idProduto=${prod.pro_id}&idProdutoGrade=${prod.prg_id}`);\r\n let idx = 0;\r\n listaPrecosProduto.data.forEach(item => item.key = idx++);\r\n setListaPreco(listaPrecosProduto.data);\r\n formulario.setFieldsValue({ ltp_id: listaPadraoProduto.data[0].ltp_id, quantidade: qtd });\r\n adicionarItem(listaPrecosProduto.data, prod);\r\n }\r\n \r\n };\r\n\r\n function exibirTodasGrades() {\r\n setAbrirModalGrade(true);\r\n };\r\n\r\n function aoFecharModalGrade(dados) {\r\n if (!!dados && dados.length > 0) {\r\n adicionarItensGrade(dados);\r\n }\r\n setAbrirModalGrade(false);\r\n };\r\n\r\n function adicionarItensGrade(listaGrade) {\r\n let dados = [...listaItens];\r\n let obj = {};\r\n if (!!!listaGrade || listaGrade.length === 0) {\r\n return false;\r\n }\r\n listaGrade.forEach((grade, indice) => {\r\n obj = dados.find((item) => (grade.pro_id === item.pro_id && grade.prg_id === item.prg_id));\r\n if (!!!obj) {\r\n obj = grade;\r\n obj.sequencia = !!dados.length > 0 ? dados[dados.length - 1].sequencia + 1 : 1;\r\n obj.observacao = \"\";\r\n obj.pro_ean = !!obj.prg_ean ? obj.prg_ean : obj.pro_ean;\r\n }\r\n obj.quantidade = parseInt(grade.quantidade);\r\n dados.push(obj);\r\n\r\n if (indice === listaGrade.length - 1) {\r\n setListaItens(dados);\r\n setPossuiGrade(false);\r\n limparCampos();\r\n }\r\n });\r\n\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n { adicionarItem() }}>\r\n \r\n \r\n \r\n (\r\n {modelo.nome}\r\n )} />\r\n \r\n \r\n \r\n {!multiplosReg &&\r\n \r\n {!!consultaProduto && \r\n \r\n { popularDadosProdutonew(formulario.getFieldValue().pro_id) }} ordem={\"pro_id\"} filtroPesq={filtroProd} atualizaComponente={atualizarListaProd} />\r\n \r\n \r\n }\r\n {!!!consultaProduto && \r\n \r\n {\r\n buscarProdutoCodBarra(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {!multiplosReg &&\r\n \r\n \r\n {!!consultaProduto && possuiGrade && \r\n \r\n }\r\n {!!consultaProduto &&\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n {multiplosReg &&
\r\n \r\n
\r\n \r\n (\r\n {listaPre.ltp_nome}\r\n )} />\r\n \r\n \r\n \r\n \r\n ({marca.mar_nome})} />\r\n \r\n \r\n \r\n \r\n ({grupo.gru_nome})} onChangeFunction={(rec) => { buscarSubGrupo(rec) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {listaItens.length > 0 &&
(\r\n
\r\n \r\n
\r\n \r\n {sequencia}\r\n \r\n \r\n \r\n {pro_codigo} - {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {pro_ean}\r\n \r\n {!!descricaograde && \r\n Grade: {descricaograde}\r\n }\r\n \r\n \r\n )\r\n }, {\r\n title: 'Valor Unit. (R$)',\r\n align: 'right',\r\n width: 150,\r\n render: ({ lpi_valorvenda }) => (\r\n
\r\n {FormatNumber(lpi_valorvenda, true)}\r\n
\r\n )\r\n }, {\r\n title: 'Quant. Etiqueta',\r\n width: 120,\r\n align: 'center',\r\n render: ({ quantidade }) => (\r\n
\r\n {quantidade}\r\n
\r\n )\r\n }, {\r\n title: 'Ações',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n { setDadosAdicionais(!dadosAdicionais) }} />\r\n \r\n \r\n \r\n {dadosAdicionais && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Possui Entrada?\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { aoFecharModalGrade(dados) }} />\r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Form } from \"antd\";\r\nimport { MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\nimport ImprimirEtiqueta from './manutencao';\r\nimport { DrawerNav } from '../../components';\r\n\r\nexport default function DrawerImprimirEtiqueta() {\r\n\r\n const [formImprimirEtiqueta] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formImprimirEtiqueta.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n return (\r\n\r\n }\r\n fecharDrawer={() => {\r\n formImprimirEtiqueta.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }}\r\n >\r\n \r\n \r\n\r\n )\r\n}","import React, { useState } from 'react';\r\nimport { Form } from \"antd\";\r\nimport { MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions } from '../../actions';\r\nimport ServidorImpressao from './servidorImpressao';\r\n\r\nexport default function DrawerServidorImpressao({ servidor }) {\r\n\r\n const [formImprimirEtiqueta] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (!!manutencao.dados) formImprimirEtiqueta.setFieldsValue(manutencao.dados);\r\n else {\r\n //formImprimirEtiqueta.resetFields();\r\n }\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formImprimirEtiqueta.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: false } });\r\n }\r\n\r\n return (\r\n\r\n }\r\n fecharDrawerExtra={() => {\r\n formImprimirEtiqueta.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: false } });\r\n }}>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Button, Card, notification } from \"antd\";\r\nimport { PrinterOutlined } from \"@ant-design/icons\";\r\n\r\nimport \"./index.less\";\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions } from '../../actions';\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado } from \"../../components\";\r\nimport { DrawerImprimirEtiqueta, DrawerServidorImpressao } from './drawerPages';\r\nimport { carregarConfiguracoes, ServidorImpressoraOnline } from \"../../services/servidorImpressora\";\r\n\r\nexport default function Etiqueta() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [servidorOn, setServidorOn] = useState(true);\r\n \r\n useEffect(() => {\r\n verificarServidor();\r\n }, []);\r\n\r\n async function verificarServidor() {\r\n let servidorOn = await ServidorImpressoraOnline();\r\n if (servidorOn.online) {\r\n let conf = await carregarConfiguracoes();\r\n if (!!conf) {\r\n if (!!!conf.impressoraEtiqueta || !isObjetoDiffVazio(conf.impressoraEtiqueta)) {\r\n notification.warn({ description: 'Você deve configurar a impressora de etiquetas a ser utilizada nesse computador!', message: 'Aviso' });\r\n //setServidorOn(false);\r\n } else if (!!!conf.modeloEtiqueta || !isObjetoDiffVazio(conf.modeloEtiqueta)) {\r\n notification.warn({ description: 'Você deve configurar o modelo de etiquetas padrão a ser utilizado nesse computador!', message: 'Aviso' });\r\n //setServidorOn(false);\r\n }\r\n\r\n }\r\n } else {\r\n notification.warn({ description: 'O Servidor de impressão não esta em execução nesse computador, para utilizar impressoras de etiquetas verifique as configurações!', message: 'Aviso' });\r\n setServidorOn(false);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Selecione a impressora que deseja imprimir as etiquetas.\r\n \r\n \r\n \r\n \r\n \r\n
{\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }}>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
{\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: true } });\r\n }}>\r\n } size=\"large\" type=\"primary\">\r\n Servidor de Impressão\r\n \r\n }>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Card, Typography, Select, Button, Radio, Table, Tag, Divider } from \"antd\";\r\nimport { EditOutlined, CloseOutlined, ArrowUpOutlined, ArrowDownOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { isNotNullOrEmpty } from \"../../services/funcoes\";\r\nimport { FormatDate, FormatNumber } from \"../../ValueObjects\";\r\nimport { BreadcrumbAbrirChamado, Data } from \"../../components\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ResumoProduto() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaProdutos, setListaProdutos] = useState([]);\r\n const [openProduto, setOpenProduto] = useState(false);\r\n const [dadosProduto, setDadosProduto] = useState({});\r\n const [dadosUltimaVenda, setDadosUltimaVenda] = useState({});\r\n const [dadosUltimaCompra, setDadosUltimaCompra] = useState({});\r\n const [dadosUltimosCustos, setDadosUltimosCustos] = useState({});\r\n const [listaNotasVenda, setListaNotasVenda] = useState([]);\r\n const [listaNotasCompra, setListaNotasCompra] = useState([]);\r\n const [dadosCondicionais, setDadosCondicionais] = useState([]);\r\n const [listaOrdemCompra, setListaOrdemCompra] = useState([]);\r\n const [listaPedidos, setListaPedidos] = useState([]);\r\n const [listaMovimentacoes, setListaMovimentacoes] = useState([]);\r\n const [listaPreco, setListaPreco] = useState([]);\r\n const [dadosEstoque, setDadosEstoque] = useState([]);\r\n const [formulario] = Form.useForm();\r\n\r\n const alterarProduto = () => {\r\n setOpenProduto(!openProduto);\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Produto/ListaProdutoFiltro?filtro=&ordem=%2Bpro_descricao`).then(res => {\r\n if (res.status === 200) {\r\n setListaProdutos(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }, []);\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ periodo: 2 });\r\n montarFiltro(false);\r\n if (!!manutencao.dados && !!manutencao.dados.pro_id) {\r\n setDadosProduto(manutencao.dados);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (JSON.stringify(dadosProduto) !== '{}' && !!dadosProduto.pro_id) {\r\n listarDados(dadosProduto);\r\n }\r\n }, [dadosProduto]);\r\n\r\n function onChangeProId(value) {\r\n api.get(`Produto/RetornaDadosProduto?ProdutoId=${value}`).then(\r\n res => {\r\n if (!!res.data) {\r\n setDadosProduto(res.data);\r\n }\r\n }\r\n ).catch(\r\n err => {\r\n console.log(err);\r\n }\r\n );\r\n };\r\n\r\n function listarDados(produto = dadosProduto) {\r\n let dataInicial;\r\n let dataFinal;\r\n if (!!!formulario.getFieldValue().dataInicial || !!!formulario.getFieldValue().dataFinal) {\r\n let dataInicial = retornaDataInicial();\r\n\r\n dataInicial = FormatDate(moment(dataInicial).toDate().toLocaleDateString());\r\n dataFinal = FormatDate(moment(new Date()).toDate().toLocaleDateString());\r\n } else {\r\n dataInicial = FormatDate(formulario.getFieldValue().dataInicial.toDate().toLocaleDateString());\r\n dataFinal = FormatDate(formulario.getFieldValue().dataFinal.toDate().toLocaleDateString());\r\n }\r\n if (JSON.stringify(produto) !== '{}') {\r\n api.get(`NotaFiscal/RetornaDadosUltimaCompraVendaCRM?IdProduto=${produto.pro_id}&tiponota=0`).then(res => {\r\n if (res.status === 200 && !!res.data) {\r\n setDadosUltimaVenda(res.data);\r\n } else {\r\n setDadosUltimaVenda({});\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`NotaFiscal/RetornaDadosUltimaCompraVendaCRM?IdProduto=${produto.pro_id}&tiponota=1`).then(res => {\r\n if (res.status === 200 && !!res.data) {\r\n setDadosUltimaCompra(res.data);\r\n } else {\r\n setDadosUltimaCompra({});\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`Produto/BuscarUltimoCustoProduto?idProduto=${produto.pro_id}`).then(res => {\r\n if (res.status === 200 && !!res.data) {\r\n setDadosUltimosCustos(res.data);\r\n } else {\r\n setDadosUltimosCustos({});\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`ListaPreco/ListarListaPrecoProduto?idProduto=${produto.pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n setListaPreco(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`Estoque/Listar?CodProduto=${produto.pro_id}&TipoLista=5`).then(res => {\r\n if (res.status === 200) {\r\n setDadosEstoque(res.data.items);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`NotaFiscal/RetornaDadosCompraVendaCRMProduto?idProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}&tiponota=0`).then(res => {\r\n if (res.status === 200) {\r\n setListaNotasVenda(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get(`NotaFiscal/RetornaDadosCompraVendaCRMProduto?idProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}&tiponota=1`).then(res => {\r\n if (res.status === 200) {\r\n setListaNotasCompra(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get(`VendaCondicional/RetornaDadosCondicionaisCRMProduto?idProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}`).then(res => {\r\n if (res.status === 200) {\r\n setDadosCondicionais(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get(`VendaCondicional/RetornaDadosCondicionaisCRMProduto?idProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}`).then(res => {\r\n if (res.status === 200) {\r\n setDadosCondicionais(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get(`OrdemCompra/RetornaDadosOrdemCompraCRMProduto?idProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}`).then(res => {\r\n if (res.status === 200) {\r\n setListaOrdemCompra(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get(`Pedido/RetornaDadosPedidoCRMProduto?IdProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}`).then(res => {\r\n if (res.status === 200) {\r\n console.log(res.data)\r\n setListaPedidos(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get(`Estoque/RetornaDadosMovimentacaoEstoqueCRMProduto?CodigoProduto=${produto.pro_id}&dataFinal=${dataFinal}&dataInicial=${dataInicial}`).then(res => {\r\n if (res.status === 200) {\r\n res.data.map((movimento) => {\r\n movimento.key = movimento.codigoMovimento;\r\n });\r\n setListaMovimentacoes(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n function filtrarProduto(pro_id) {\r\n api.get(`Produto/RetornaDadosProduto?ProdutoId=${pro_id}`).then(res => {\r\n if (res.status === 200) {\r\n setDadosProduto(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n };\r\n\r\n function montarFiltro(listar = true) {\r\n let dataInicial = retornaDataInicial();\r\n\r\n formulario.setFieldsValue({ dataInicial: moment(dataInicial), dataFinal: moment(new Date()) });\r\n\r\n if (listar) {\r\n listarDados();\r\n }\r\n };\r\n\r\n function retornaDataInicial() {\r\n let periodo = isNotNullOrEmpty(formulario.getFieldValue().periodo) ? formulario.getFieldValue().periodo : 2;\r\n\r\n let dataInicial = new Date();\r\n switch (periodo) {\r\n case 0:\r\n dataInicial = new Date(new Date().getFullYear() - 1, new Date().getMonth(), new Date().getDate());\r\n break;\r\n case 1:\r\n dataInicial = new Date(new Date().getFullYear(), new Date().getMonth() - 6, new Date().getDate());\r\n break;\r\n case 2:\r\n dataInicial = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30);\r\n break;\r\n };\r\n return dataInicial;\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n { montarFiltro() }}>\r\n 1 Ano\r\n 6 Meses\r\n Últimos 30 dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n { listarDados() }} label=\"Data Inicial\" name=\"dataInicial\" />\r\n \r\n \r\n { listarDados() }} label=\"Data Final\" name=\"dataFinal\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n alterarProduto()} icon={openProduto ? : } />\r\n }>\r\n {!!openProduto === true &&\r\n \r\n \r\n \r\n onChangeProId(cod)} conteudo={\r\n pro => ({pro.pro_id} - {pro.pro_descricao}\r\n {(!!pro.pro_ean ?
EAN/GTIN: {pro.pro_ean}
: \"\")}\r\n {(!!pro.descricaograde ?
Grade: {pro.descricaograde}
: \"\")}\r\n {(!!pro.pro_codigoetiqueta ?
Cód. Etiqueta: {pro.pro_codigoetiqueta}
: \"\")}\r\n
)\r\n }\r\n />\r\n
\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {!!dadosProduto && !!dadosProduto.pro_descricao ? dadosProduto.pro_descricao : 'Não localizado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
(\r\n
\r\n {loc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Preço (R$)',\r\n align: 'right',\r\n render: ({ precoVendaMinimo, precoVendaMaximo }) => (\r\n
\r\n {parseFloat(precoVendaMaximo) > parseFloat(precoVendaMinimo) ?
\r\n {FormatNumber(precoVendaMinimo, true)} \r\n até {FormatNumber(precoVendaMaximo, true)} \r\n
:
\r\n {FormatNumber(precoVendaMinimo, true)} \r\n
}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Estoque',\r\n align: 'center',\r\n width: 120,\r\n render: ({ pre_qtde }) => (\r\n
\r\n {pre_qtde}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Pedido',\r\n align: 'center',\r\n width: 120,\r\n render: ({ pre_qtdePedido }) => (\r\n
\r\n {pre_qtdePedido}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Condicional',\r\n align: 'center',\r\n width: 120,\r\n render: ({ pre_qtdeCondicional }) => (\r\n
\r\n {pre_qtdeCondicional}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Previsão',\r\n align: 'center',\r\n width: 120,\r\n render: ({ pre_qtde, pre_qtdePedido, pre_qtdeCondicional }) => (\r\n
\r\n {parseFloat(pre_qtde) - parseFloat(pre_qtdePedido) - parseFloat(pre_qtdeCondicional)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nº Nota\r\n \r\n \r\n {!!dadosUltimaVenda.ntf_numero ? dadosUltimaVenda.ntf_numero : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Data\r\n \r\n \r\n {!!dadosUltimaVenda.ntf_dataemissao ? moment(dadosUltimaVenda.ntf_dataemissao).format(\"DD/MM/YYYY\") : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Qtde\r\n \r\n \r\n {!!dadosUltimaVenda.nfi_qtde ? dadosUltimaVenda.nfi_qtde : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n {FormatNumber(!!dadosUltimaVenda.totalItem ? dadosUltimaVenda.totalItem : 0, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nº Nota\r\n \r\n \r\n {!!dadosUltimaCompra.ntf_numero ? dadosUltimaCompra.ntf_numero : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Data\r\n \r\n \r\n {!!dadosUltimaCompra.ntf_dataemissao ? moment(dadosUltimaCompra.ntf_dataemissao).format(\"DD/MM/YYYY\") : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Qtde\r\n \r\n \r\n {!!dadosUltimaCompra.nfi_qtde ? dadosUltimaCompra.nfi_qtde : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n {FormatNumber(!!dadosUltimaCompra.totalItem ? dadosUltimaCompra.totalItem : 0, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Última Compra (R$)\r\n \r\n \r\n {FormatNumber(!!dadosUltimosCustos.pre_custoultimacompra ? dadosUltimosCustos.pre_custoultimacompra : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Custo Médio (R$)\r\n \r\n \r\n {FormatNumber(!!dadosUltimosCustos.pre_valorcustomedio ? dadosUltimosCustos.pre_valorcustomedio : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Com ICMS (R$)\r\n \r\n \r\n {FormatNumber(!!dadosUltimosCustos.pre_custocomicms ? dadosUltimosCustos.pre_custocomicms : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Sem ICMS (R$)\r\n \r\n \r\n {FormatNumber(!!dadosUltimosCustos.pre_custosemicms ? dadosUltimosCustos.pre_custosemicms : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Informado (R$)\r\n \r\n \r\n {FormatNumber(!!dadosUltimosCustos.pre_valorcustoinformado ? dadosUltimosCustos.pre_valorcustoinformado : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n {numeroNota}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Cliente',\r\n render: ({ pessoaNome }) => (\r\n
\r\n {pessoaNome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 95,\r\n render: ({ dataEmissao }) => (\r\n
\r\n {moment(dataEmissao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ valorTotal }) => (\r\n
\r\n {FormatNumber(valorTotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n {numeroNota}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Fornecedor',\r\n render: ({ pessoaNome }) => (\r\n
\r\n {pessoaNome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 95,\r\n render: ({ dataEmissao }) => (\r\n
\r\n {moment(dataEmissao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ valorTotal }) => (\r\n
\r\n {FormatNumber(valorTotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n {codigoCondicional}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Cliente',\r\n render: ({ nomeCliente }) => (\r\n
\r\n {nomeCliente}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 95,\r\n render: ({ dataCondicional }) => (\r\n
\r\n {moment(dataCondicional).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ valorTotal }) => (\r\n
\r\n {FormatNumber(valorTotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n {codigoOrdemCompra}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Fornecedor',\r\n render: ({ nomeFornecedor }) => (\r\n
\r\n {nomeFornecedor}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 95,\r\n render: ({ dataOrdemCompra }) => (\r\n
\r\n {moment(dataOrdemCompra).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ valorTotal }) => (\r\n
\r\n {FormatNumber(valorTotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n {numeroPedido}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Cliente/Fornecedor',\r\n render: ({ pessoaNome }) => (\r\n
\r\n {pessoaNome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 95,\r\n render: ({ dataPedido }) => (\r\n
\r\n {moment(dataPedido).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ valorTotal }) => (\r\n
\r\n {FormatNumber(valorTotal, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n {codigoMovimento}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº Nota',\r\n width: 150,\r\n render: ({ numeroNota }) => (\r\n
\r\n {numeroNota}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Cliente',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 95,\r\n render: ({ dataPosicao }) => (\r\n
\r\n {moment(dataPosicao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n render: ({ vlrTotalItem }) => (\r\n
\r\n {FormatNumber(vlrTotalItem, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Status',\r\n align: 'right',\r\n render: ({ tipoRegistro }) => (\r\n
\r\n {tipoRegistro}\r\n
\r\n ),\r\n },\r\n ]} expandedRowRender={({ ope_descricao, quantidade, vlrUnitario, vlrCustoUltimaCompra }) => {\r\n return (\r\n
\r\n \r\n
\r\n Operação: {ope_descricao}\r\n \r\n \r\n Quant.: {quantidade}\r\n \r\n \r\n Valor Unitário (R$): {FormatNumber(vlrUnitario, true)} \r\n \r\n \r\n Custo Atual (R$): {FormatNumber(vlrCustoUltimaCompra, true)}\r\n \r\n \r\n \r\n )\r\n }} expandIcon={({ record, expanded, onExpand }) => {\r\n return expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n );\r\n }} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} columnWidth={30} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {ltp_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ lpi_valorvenda }) => (\r\n
\r\n {FormatNumber(lpi_valorvenda, true)}\r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Form, Row, Col, Input, Button, notification } from \"antd\";\r\nimport { EditOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\nimport jsreports from \"jsreports/jsreports-all\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { delay } from \"../../services/funcoes\";\r\nimport { listagemActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoRelatorioEtiqueta({ formulario, carregando, aoSalvar, exibeModelo }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n definirDadosPadrao();\r\n }, []);\r\n\r\n const squemaEtiquetaProduto = [\r\n {\r\n nome: 'Codigo_Empresa',\r\n tipo: 'number'\r\n },\r\n {\r\n nome: 'Empresa',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Produto',\r\n tipo: 'number'\r\n },\r\n {\r\n nome: 'Produto',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Grade',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Marca',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Preco',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Ean',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Etiqueta',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Referencia',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Observacao',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Quantidade_Parcela',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Valor_Parcelado',\r\n tipo: 'string'\r\n }\r\n ];\r\n\r\n const salvarManutencao = (record) => {\r\n record.jsonRelatorio = JSON.stringify(record.jsonRelatorio)\r\n carregando(true);\r\n if (!!record.id) {\r\n api.put(`RelatorioModeloEtiqueta/Editar`, record).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Etiqueta foram salvos com sucesso!\" });\r\n aoSalvar(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: ' ', filtro: ' ', ordem: 'Nome' } })\r\n }\r\n );\r\n } else {\r\n api.post(`RelatorioModeloEtiqueta/Incluir`, record).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Etiqueta foram salvos com sucesso!\" });\r\n aoSalvar(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: ' ', filtro: ' ', ordem: 'Nome' } })\r\n }\r\n );\r\n }\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n api.get(`RelatorioModeloEtiqueta/Listar?id=${manutencao.dados.id}`).then(\r\n res => {\r\n formulario.setFieldsValue(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function definirDadosPadrao() {\r\n let json = { \"title\": \"Relatório\", \"id\": \"rtpRelatorioEtiqueta\", \"default_format\": \"html\", \"version\": \"1.4.122\", \"page\": { \"units\": \"mm\", \"paper_size\": { \"name\": \"A4\", \"inches\": [\"8.5\", \"11.69\"], \"mm\": [\"210\", \"297\"], \"id\": \"a4\" }, \"margins\": { \"top\": 0, \"left\": 0, \"right\": 0, \"bottom\": 0 } }, \"filters\": [], \"inputs\": [], \"header\": { \"visible\": false, \"height\": 27, \"elements\": [] }, \"body\": { \"data_source\": \"etiqueta\", \"show_detail\": true, \"height\": 16.897356568410437, \"elements\": [], \"sublevels\": [], \"column_count\": 1, \"pivot_enabled\": false, \"pivot_column_left\": 84.5, \"pivot_column_right\": 105.50000000000001, \"pivot_area_right\": 137, \"visible\": \"\", \"shrinkToFit\": false, \"order_detail_by\": \"\" }, \"footer\": { \"visible\": false, \"height\": 6, \"elements\": [] }, \"page_header\": { \"visible\": false, \"elements\": [], \"height\": 54.39344262295082 }, \"page_footer\": { \"visible\": false, \"elements\": [], \"height\": 5.0000034679066045 }, \"type\": \"hierarchical\", \"defaultFont\": { \"name\": \"Arial\", \"css\": \"Arial, \\\"Helvetica Neue\\\", Helvetica, sans-serif\" }, \"defaultFontSize\": 8 };\r\n formulario.setFieldsValue({ jsonRelatorio: json });\r\n }\r\n\r\n function imprimirEtiqueta(modelo) {\r\n if (!!!formulario.getFieldValue().jsonRelatorio) {\r\n api.get(`RelatorioModeloEtiqueta/Listar?id=${formulario.getFieldValue().id}`).then(\r\n res => {\r\n exibeModelo(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n } else {\r\n exibeModelo(formulario.getFieldValue());\r\n }\r\n };\r\n\r\n function abrirMontarRelatorio() {\r\n let data_sources = [];\r\n let dataSource = {\r\n id: 'etiqueta',\r\n name: 'Etiqueta',\r\n data: []\r\n }\r\n let atributosSquema = [];\r\n squemaEtiquetaProduto.forEach((squema) => {\r\n for (let i = 1; i <= formulario.getFieldValue().quantidadeColuna; i++) {\r\n atributosSquema.push({ name: squema.nome + \"_Coluna_\" + i, type: squema.tipo });\r\n }\r\n });\r\n\r\n dataSource.schema = {\r\n fields: atributosSquema\r\n }\r\n\r\n data_sources.push(dataSource);\r\n\r\n let designer = new jsreports.Designer({\r\n data_sources: data_sources,\r\n report_def: formulario.getFieldValue().jsonRelatorio\r\n\r\n });\r\n let outPutReport = document.getElementsByClassName('report-output');\r\n\r\n delay(function () {\r\n designer.on(\"save\", function (reportdef) {\r\n let reportDef = JSON.parse(reportdef);\r\n if (!!reportDef.body.data_source) {\r\n formulario.setFieldsValue({ jsonRelatorio: reportDef });\r\n jsreports.render({\r\n report_def: (formulario.getFieldValue().jsonRelatorio),\r\n target: outPutReport,\r\n datasets: data_sources,\r\n showToolbar: false\r\n });\r\n } else {\r\n notification.warn({ description: 'Data Source não foi selecionado!', message: 'Aviso' });\r\n }\r\n }, 100);\r\n })\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\nimport ManutencaoRelatorioEtiqueta from './manutencao';\r\nimport { DrawerNav } from '../../components';\r\n\r\nexport default function DrawerRelatorioEtiqueta({ exibeModelo }) {\r\n\r\n const [formularioEtiquetas] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (!!manutencao.dados) {\r\n formularioEtiquetas.setFieldsValue(manutencao.dados);\r\n } else {\r\n formularioEtiquetas.resetFields();\r\n }\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formularioEtiquetas.resetFields();\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from 'react';\r\nimport { Row, Col, Button } from \"antd\";\r\nimport { EditOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { TabelaDados } from \"../../components\";\r\nimport DrawerRelatorioEtiqueta from './drawer';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\n\r\nexport default function TabModeloFixo({ exibeModelo }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: ' ', filtro: ' ', ordem: 'Nome' } })\r\n }, []);\r\n\r\n function imprimirEtiqueta(modelo) {\r\n if (!!!modelo.jsonRelatorio) {\r\n api.get(`RelatorioModeloEtiqueta/Listar?id=${modelo.id}`).then(\r\n res => {\r\n exibeModelo(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n } else {\r\n exibeModelo(modelo);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n { return campo.emp_id === null && campo.loc_id === null }} colunas={\r\n [\r\n {\r\n title: 'Modelo',\r\n render: ({ nome }) => (\r\n
\r\n {nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n return (\r\n
\r\n
\r\n { return campo.emp_id !== null }} colunas={\r\n [\r\n {\r\n title: 'Modelo',\r\n render: ({ nome }) => (\r\n
\r\n {nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Input, InputNumber } from \"antd\";\r\n\r\nexport default function TabAgenciaBancaria() {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Dados Dados da Agência Bancária\r\n \r\n \r\n Informe os dados da Agência Bancária\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}`}\r\n parser={value => value.replace('', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Input } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { InputCep } from \"../../components\";\r\n\r\nexport default function TabEndereco({ formulario }) {\r\n\r\n const verificaCep = () => {\r\n if (!!formulario.getFieldValue(\"ctc_cepagencia\")) {\r\n api.get(`Cidade/BuscaCidadeCep?cep=${formulario.getFieldValue(\"ctc_cepagencia\").match(/\\d+/g).join('')}`).then(res => {\r\n if (res.status === 200) {\r\n formulario.setFieldsValue({ ctc_cidadeagencia: res.data.length > 0 ? res.data[0].cid_descricao : '' })\r\n formulario.setFieldsValue({ ctc_ufagencia: res.data.length > 0 ? res.data[0].est_sigla : '' })\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Endereço\" Endereço\r\n \r\n \r\n Defina o Endereço da Agência\r\n \r\n \r\n \r\n \r\n \r\n verificaCep()} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Input } from \"antd\";\r\n\r\nimport { InputPhone } from \"../../components\";\r\n\r\nexport default function TabGerente() {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Dados Dados do Gerente\r\n \r\n Informe os Dados do Gerente \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Tabs, Row, Col, Form, Input, Select, Checkbox, notification, Button, Table } from \"antd\";\r\nimport { PlusOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { info } from \"../../services/funcoes\";\r\nimport { listagemActions, selectPaginadoActions } from \"../../actions\";\r\nimport { Data, FormGW, InputPreco, SelectPaginado } from \"../../components\";\r\nimport { TabAgenciaBancaria, TabEndereco, TabGerente } from './tabPage';\r\nexport default function ManutencaoContaCorrente({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [listaTipoContaCorrente, setListaTipoContaCorrente] = useState([]);\r\n const [listaUsuarios, setListaUsuarios] = useState([]);\r\n const [contaBancaria, setContaBancaria] = useState(false);\r\n const [listaUsuariosPermitidos, setListaUsuariosPermitidos] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const onFinishFailed = errorInfo => {\r\n console.log('Failed:', errorInfo);\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`TipoContaCorrente/Listar`).then(res => {\r\n setListaTipoContaCorrente(res.data);\r\n });\r\n api.get(`Usuario/RetornaUsuariosLocal?PageSize=500`).then(res => {\r\n setListaUsuarios(res.data.items);\r\n });\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?Ativo=true&CodReceitaDespesa=1`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n })\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && manutencao.dados.ctc_id > 0 && ui.showDrawer) {\r\n api.get(`ContaCorrente/UsuariosPermissaoSaldo?idContaCorrente=${manutencao.dados.ctc_id}`).then(res => {\r\n setListaUsuariosPermitidos(res.data);\r\n if (res.data.length > 0) {\r\n formulario.setFieldsValue({ limitarSaldoUsuarios: true });\r\n }\r\n });\r\n\r\n let lista = [];\r\n if (!!manutencao.dados.ban_id) {\r\n lista.push({ name: \"ban_id\", campo: \"CodigoBanco\", value: manutencao.dados.ban_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n formulario.setFieldsValue(manutencao.dados);\r\n\r\n setContaBancaria(manutencao.dados.tcc_id === 2);\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n function adicionarUsuario() {\r\n let usu_id = formulario.getFieldValue().usu_id;\r\n let lista = [...listaUsuariosPermitidos];\r\n if (listaUsuariosPermitidos.length > 0 && listaUsuariosPermitidos.filter(usuario => { return usuario.usu_id === usu_id }).length > 0) {\r\n info(\"Este usuário já foi adicionado!\");\r\n return;\r\n } else {\r\n var user = listaUsuarios.find(usuario => { return usuario.usu_id === usu_id })\r\n lista.push(user);\r\n }\r\n setListaUsuariosPermitidos(lista);\r\n };\r\n\r\n function excluirRegistro(id) {\r\n let lista = [...listaUsuariosPermitidos];\r\n let index = lista.findIndex(i => i.key === id);\r\n lista.splice(index, 1);\r\n setListaUsuariosPermitidos(lista);\r\n }\r\n\r\n function salvarManutencao(valores) {\r\n let values = { ...manutencao.dados, ...valores };\r\n let idRetorno;\r\n values.contacorrenteusuarios = listaUsuariosPermitidos;\r\n values.ban_id = !!values.ban_id ? values.ban_id.toString() : '';\r\n values.ctc_saldoinicial = values.ctc_saldoinicial > 0 ? values.ctc_saldoinicial : 0;\r\n values.ctc_operacao = values.ctc_operacaoconta;\r\n values.contacorrentelocal = true;\r\n values.ctc_unidadeatendimento = values.ctc_unidadeatendimento == \"\" ? null : values.ctc_unidadeatendimento\r\n if (!!values.ctc_fonegerente) {\r\n values.ctc_fonegerente = values.ctc_fonegerente.replace(/\\D/g, '');\r\n }\r\n carregando(true);\r\n if (!!values.ctc_id) {\r\n editarManutencao(values, idRetorno);\r\n } else {\r\n incluirManutencao(values, idRetorno);\r\n }\r\n\r\n };\r\n\r\n function editarManutencao(values, idRetorno) {\r\n api.put(`ContaCorrente/Editar`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Conta Corrente foram salvos com sucesso!\" });\r\n idRetorno = res.data.ctc_id;\r\n\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '' } });\r\n carregando(false);\r\n aoSalvar(idRetorno);\r\n });\r\n }\r\n\r\n function incluirManutencao(values, idRetorno) {\r\n api.post(`ContaCorrente/Incluir`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Conta Corrente foram salvos com sucesso!\" });\r\n idRetorno = res.data.ctc_id;\r\n\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '' } });\r\n carregando(false);\r\n aoSalvar(idRetorno);\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n prevValues.tcc_id !== currentValues.tcc_id}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue(['tcc_id']) === 2)\r\n return (\r\n \r\n \r\n ({ban.ban_id} - {ban.ban_descricao})\r\n } />\r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n 0)}>\r\n \r\n \r\n prevValues.ctc_saldoinicial !== currentValues.ctc_saldoinicial}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue(['ctc_saldoinicial']) > 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n prevValues.ctc_saldoinicial !== currentValues.ctc_saldoinicial}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue(['ctc_saldoinicial']) > 0)\r\n return (\r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0))}>\r\n \r\n Conta Corrente Ativa?\r\n \r\n \r\n \r\n \r\n Limitar visualização do saldo por usuários/grupo de usuários?\r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.limitarSaldoUsuarios !== currentValues.limitarSaldoUsuarios}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue(['limitarSaldoUsuarios']) === true)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n {!!listaUsuariosPermitidos && listaUsuariosPermitidos.length > 0 &&\r\n
\r\n
(\r\n
\r\n Usuário: {usu_nome}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 42,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, Tag, Popover, Menu, Dropdown, notification, Modal, Radio, Form } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, MoreOutlined, ExclamationCircleOutlined, CloseCircleOutlined, FileSearchOutlined, ArrowLeftOutlined, ArrowRightOutlined, RetweetOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { Link } from \"react-router-dom\";\r\nimport DrawerContaCorrente from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, DrawerLancamentoTransferencia, DrawerManutencaoCaixa, Excluir, Editar, LancamentoEntrada, LancamentoSaida, LancamentoTransferencia } from \"../../components\";\r\n\r\nexport default function ContaCorrente() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [formPesquisa] = Form.useForm();\r\n\r\n useEffect(() => {\r\n let _ativo = !!!formPesquisa.getFieldsValue().statusAtivo ? 1 : formPesquisa.getFieldsValue().statusAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${_ativo}`, filtro: '', ordem: '+ctc_descricao' } });\r\n formPesquisa.setFieldsValue({ statusAtivo: 1 });\r\n }, [])\r\n\r\n\r\n const modalInativarConta = (dados) => {\r\n Modal.confirm({\r\n title: `Não foi possível excluir a Conta Corrente ${dados.ctc_descricao}!`,\r\n icon: ,\r\n content: `Deve conter referências com outros registros!`,\r\n okText: 'Inativar Registro',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n api.put(`ContaCorrente/InativarContaCorrente?idContaCorrente=${dados.ctc_id}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${formPesquisa.getFieldsValue().statusAtivo}`, ordem: '+ctc_descricao' } })\r\n notification.success({ message: 'Operação concluída', description: \"Conta inativada com sucesso!\" });\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a Conta Corrente: ${dados.ctc_id}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n function aplicarFiltros() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${formPesquisa.getFieldsValue().statusAtivo}`, ordem: '+ctc_descricao' } });\r\n }\r\n\r\n function abrirLancamentoEntradaSaida(operacao, record) {\r\n record.operacao = operacao;\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerManutencaoCaixa: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n };\r\n\r\n function abrirLancamentoTransferencia(record) {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerTransferencia: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n };\r\n\r\n function abrirLancamentoCaixa(record) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record.ctc_id } });\r\n }\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n \r\n abrirLancamentoCaixa(record)}> Consultar Movimentação\r\n \r\n \r\n } onClick={() => abrirLancamentoEntradaSaida(\"2\", record)}> Lançamento de Entrada\r\n \r\n \r\n } onClick={() => abrirLancamentoEntradaSaida(\"1\", record)}> Lançamento de Saída\r\n \r\n \r\n } onClick={() => {\r\n abrirLancamentoTransferencia(record);\r\n }}> Lançamento de Transferência\r\n \r\n \r\n )\r\n };\r\n\r\n function excluirRegistro(dados) {\r\n Modal.confirm({\r\n title: 'Deseja deletar esta conta corrente?',\r\n icon: ,\r\n onOk() {\r\n setCarregando(true);\r\n api.post(`ContaCorrente/Excluir?codigoContaCorrente=${dados.ctc_id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Os dados da Conta Corrente foram excluídos com sucesso!\" });\r\n }, err => {\r\n modalInativarConta(dados);\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${formPesquisa.getFieldsValue().statusAtivo}`,ordem: '+ctc_descricao' } });\r\n });\r\n }\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n aplicarFiltros()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {ctc_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ ctc_descricao }) => (\r\n
\r\n {ctc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Tipo de Conta',\r\n render: ({ tcc_descricao }) => (\r\n
\r\n {tcc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Agência',\r\n width: 120,\r\n render: ({ ctc_numeroagencia }) => (\r\n
\r\n {(!!ctc_numeroagencia) ? (ctc_numeroagencia) : 'Não Informada'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Conta Bancária',\r\n width: 150,\r\n render: ({ ctc_numeroconta }) => (\r\n
\r\n {(!!ctc_numeroconta) ? (ctc_numeroconta) : 'Não Informada'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Abertura',\r\n align: 'center',\r\n width: 120,\r\n render: ({ ctc_datasaldoinicial }) => (\r\n
\r\n {(!!ctc_datasaldoinicial) ? moment(ctc_datasaldoinicial).format('DD/MM/YYYY') : 'Não Informada'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Saldo Atual (R$)',\r\n align: 'right',\r\n render: ({ saldo }) => (\r\n
\r\n {(!!saldo) ? FormatNumber(saldo, true) : ''}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n {/* \r\n excluirRegistro(record)} icon={}/>\r\n */}\r\n \r\n } onClick={() => modalExcluir(record)} />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \"Configura Configuração da Conta Gerencial - (OPCIONAL)\r\n \r\n \r\n Adicione a(s) configuração(ões) da Conta Gerencial aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {cgc_descricaoTipo} - {cgc_descricaocontadestino}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} pagination={false} dataSource={listaConfigContaGerencial} scroll={{x: 900}}/>\r\n \r\n setOpenModalContaGerencial(false)} listaConfigContaGerencial={listaConfigContaGerencial}/>\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Tabs, Row, Col, Form, Input, Select, Checkbox, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { TabConfigConta } from './tabPage.js';\r\nimport { listagemActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoContaGerencial({ formulario, carregando, aoSalvar }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [listarCategoriaCG, setListarCategoriaCG] = useState([]);\r\n const [listarContaDRE, setListarContaDRE] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaConfigContaGerencial, setListaConfigContaGerencial] = useState([]);\r\n\r\n useEffect(() => {\r\n api.get(`CategoriaContaGerencial/Listar`).then(res => {\r\n setListarCategoriaCG(res.data.items);\r\n });\r\n api.get(`Dre/ListarTodas`).then(res => {\r\n setListarContaDRE(res.data);\r\n })\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.conta) {\r\n let index = 1;\r\n let dados = manutencao.dados.conta;\r\n dados.map((item) => {\r\n item.key = index;\r\n index++;\r\n });\r\n setListaConfigContaGerencial(dados);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function salvarContaGerencial(values) {\r\n values.conta = listaConfigContaGerencial;\r\n carregando(true);\r\n if (!!values.ctg_id) {\r\n editarManutencao(values);\r\n } else {\r\n incluirManutencao(values);\r\n }\r\n };\r\n\r\n function editarManutencao(values) {\r\n api.put(`ContaGerencial/Editar`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Conta Gerencial foram salvos com sucesso!\" });\r\n\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '' } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n function incluirManutencao(values) {\r\n api.post(`ContaGerencial/Incluir`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Conta Gerencial foram salvos com sucesso!\" });\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '' } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoContaGerencial from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerContaGerencial({ filtrarConta, formPesquisa }) {\r\n\r\n const [formContaGerencial] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formContaGerencial.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formContaGerencial.resetFields();\r\n formContaGerencial.setFieldsValue({ ctg_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n formContaGerencial.resetFields();\r\n filtrarConta(formPesquisa.getFieldValue().pesquisa);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button, Table, Collapse, notification, Modal, Popover, Tag, Input, Divider } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, PlusOutlined, ArrowUpOutlined, ArrowDownOutlined, MinusOutlined, ExclamationCircleOutlined, PrinterOutlined, CloseCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerContaGerencial from './drawer';\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, Adicionar, Excluir, Imprimir } from \"../../components\";\r\n\r\nexport default function ContaGerencial() {\r\n\r\n const [formPesquisa] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n\r\n // useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '' } }), []);\r\n\r\n useEffect(() => {\r\n filtrarConta('');\r\n }, [])\r\n\r\n function excluirRegistro(dados) {\r\n Modal.confirm({\r\n title: 'Deseja deletar esta conta gerencial?',\r\n icon: ,\r\n onOk() {\r\n setCarregando(true);\r\n api.post(`ContaGerencial/Excluir?idContaGerencial=${dados.ctg_id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Os dados da Conta Gerencial foram excluídos com sucesso!\" });\r\n }, err => {\r\n modalInativarConta(dados);\r\n }).finally(() =>{\r\n filtrarConta(formPesquisa.getFieldValue().pesquisa);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const modalInativarConta = (dados) => {\r\n Modal.confirm({\r\n title: `Não foi possível excluir a Conta Gerencial ${dados.ctg_descricao}!`,\r\n icon: ,\r\n content: `Deve conter referências com outros registros!`,\r\n okText: 'Inativar Registro',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n api.post(`ContaGerencial/AtivarInativar?idConta=${dados.ctg_id}`).then(\r\n res => {\r\n if (res.status === 200){\r\n filtrarConta(formPesquisa.getFieldValue().pesquisa);\r\n notification.success({ message: 'Operação concluída', description: \"Conta inativada com sucesso!\" });\r\n } \r\n });\r\n }\r\n });\r\n };\r\n\r\n function filtrarConta(filtro){\r\n if (!(!!filtro)){\r\n filtro = '';\r\n }else{\r\n\r\n }\r\n api.get(`ContaGerencial/ListarTodos?filtro=${filtro}`).then(res => {\r\n let index = 0;\r\n res.data.map((item) => {\r\n item.contasGerenciais.map(conta => {\r\n conta.key = index;\r\n index++; \r\n });\r\n });\r\n setListaContaGerencial(res.data);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n filtrarConta(valor) } allowClear/>\r\n \r\n \r\n \r\n \r\n
\r\n isActive ? : }>\r\n {listaContaGerencial.map(conta => (\r\n \r\n
(\r\n \r\n \r\n {ctg_descricao}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'right',\r\n width: 98,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n }/>\r\n \r\n \r\n \r\n } onClick={() => excluirRegistro(record.dados)} /> \r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandable={{\r\n expandedRowRender: ({dre_descricao}) => \r\n
\r\n \r\n
\r\n DRE: {dre_descricao || 'Não Informado'}\r\n \r\n \r\n ,\r\n expandIcon: ({ expanded, onExpand, record }) =>\r\n expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n )\r\n }} dataSource={conta.contasGerenciais} columnWidth={30}\r\n />\r\n \r\n \r\n \r\n } size=\"middle\" onClick={() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true}});\r\n }}>\r\n Adicionar\r\n \r\n \r\n \r\n\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Button, Divider, Tag, Form, Table, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { ModalCfop } from \"../../components/modals/\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function ManutencaoOperacaoFiscal({ listaCfop, setListaCfop }) {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [formulario] = Form.useForm();\r\n const [listaDestinoOperacao, setListaDestinoOperacao] = useState([]);\r\n const [listaCategoriaOperacao, setListaCategoriaOperacao] = useState([]);\r\n\r\n const selecionarOpcao = (checked, key) => {\r\n let listaTemp = [...listaCfop];\r\n listaTemp.filter(item => { return item.key === key })[0].opc_ativo = checked;\r\n\r\n setListaCfop(listaTemp);\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=DestinoOperacao`).then(res => {\r\n setListaDestinoOperacao(res.data);\r\n });\r\n api.get(`Enum/Listar?nome=Categoria`).then(res => {\r\n setListaCategoriaOperacao(res.data);\r\n });\r\n\r\n }, []);\r\n\r\n function adicionarCfop(values) {\r\n let listaTemp = [...listaCfop];\r\n if (!!values.key) {\r\n let index = listaTemp.findIndex(i => i.key === values.key);\r\n listaTemp.splice(index, 1);\r\n } else {\r\n values.key = listaTemp.length + 1;\r\n }\r\n values.opc_ativo = true;\r\n listaTemp.push(values);\r\n setListaCfop(listaTemp);\r\n setOpenModal(false);\r\n };\r\n\r\n function excluirRegistro(id) {\r\n Modal.confirm({\r\n title: 'Deseja deletar este registro?',\r\n icon: ,\r\n onOk() {\r\n let lista = [...listaCfop];\r\n let index = lista.findIndex(i => i.key === id);\r\n lista.splice(index, 1);\r\n setListaCfop(lista);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Código Código Fiscal de Operação - CFOP\r\n \r\n \r\n Adicione os CFOPs relacionados aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n
\r\n {cfo_cfop} - {cfo_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Destino',\r\n align: 'center',\r\n width: 75,\r\n render: ({ opc_destinooperacao }) => (\r\n
\r\n {listaDestinoOperacao.filter(x => x.key === opc_destinooperacao)[0]?.value}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Categoria',\r\n align: 'center',\r\n width: 75,\r\n render: ({ opc_categoria }) => (\r\n
\r\n {listaCategoriaOperacao.filter(x => x.key === opc_categoria)[0]?.value}\r\n
\r\n )\r\n },\r\n {\r\n title: '',\r\n align: 'center',\r\n width: 65,\r\n render: ({ opc_ativo, key }) => (\r\n
\r\n selecionarOpcao(checked, key)}\r\n >\r\n {opc_ativo ? 'Ativo' : 'Inativo'}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, Select, Tooltip, Tabs, Typography, notification, Divider, Button } from \"antd\";\r\nimport { QuestionCircleOutlined, PlusOutlined } from \"@ant-design/icons\";\r\n\r\nimport TabCfop from \"./tabCfop\";\r\nimport api from \"../../services/api\";\r\nimport { FormGW, SelectPaginacao } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions, selectPaginadoActions } from \"../../actions\";\r\nimport DrawerContaGerencial from './drawerContaGerencial';\r\n\r\nexport default function ManutencaoOperacaoFiscal({ formulario, carregando, aoSalvar }) {\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [hiddenFlagsCompra, setHiddenFlagsCompra] = useState(true);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaCfop, setListaCfop] = useState([]);\r\n const [listaIndicadorPresenca, setListaIndicadorPresenca] = useState([]);\r\n const [listaNaturezaOperacao, setListaNaturezaOperacao] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [listaTipoPreco, setListaTipoPreco] = useState([]);\r\n const [listaTributacaoPisCofins, setListaTributacaoPisCofins] = useState([]);\r\n const [listaTributacaoIcms, setListaTributacaoIcms] = useState([]);\r\n const [openDrawerContaGerencial, setOpenDrawerContaGerencial] = useState(false);\r\n const [codigoContaGerencial, setCodigoContaGerencial] = useState(null);\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=IndicadorPresenca`).then(res => {\r\n setListaIndicadorPresenca(res.data);\r\n });\r\n api.get(`TipoOperacao/Listar?filtro=`).then(res => {\r\n setListaNaturezaOperacao(res.data);\r\n });\r\n carregarContasGerenciais();\r\n api.get(`Enum/Listar?nome=TipoPrecoUtilizar`).then(res => {\r\n setListaTipoPreco(res.data);\r\n });\r\n api.get(`TributacaoPisCofins/ListarAtivos`).then(res => {\r\n setListaTributacaoPisCofins(res.data);\r\n });\r\n api.get(`TributacaoIcms/Listar`).then(res => {\r\n setListaTributacaoIcms(res.data.items);\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados?.cfop) {\r\n let key = 0;\r\n manutencao.dados.cfop.forEach(\r\n (item) => {\r\n item.key = key++;\r\n }\r\n )\r\n setListaCfop(manutencao.dados.cfop);\r\n if (manutencao.dados.tip_id == 2)\r\n setHiddenFlagsCompra(false);\r\n }\r\n }, [manutencao.dados])\r\n\r\n useEffect(() => {\r\n if (!!codigoContaGerencial) {\r\n carregarContasGerenciais();\r\n }\r\n }, [codigoContaGerencial]);\r\n\r\n function carregarContasGerenciais() {\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n }).finally(\r\n formulario.setFieldsValue({ ctg_id: codigoContaGerencial })\r\n );\r\n }\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ope_descricao' } });\r\n };\r\n\r\n function salvarOperacaoFiscal(values) {\r\n if (!!listaCfop && listaCfop.length > 0) {\r\n values.operacaocfops = listaCfop;\r\n } else {\r\n notification.warning({ message: `Aviso!`, description: `É Obrigatório informar pelo menos um CFOP na operação` })\r\n return false;\r\n }\r\n values.ope_calculacomissao = false;\r\n values.ope_alteracontagerencial = false;\r\n carregando(true);\r\n\r\n if (!!values.ope_id) {\r\n editarManutencao(values);\r\n } else {\r\n incluirManutencao(values);\r\n };\r\n };\r\n\r\n function editarManutencao(values) {\r\n api.put(`OperacaoFiscal/Editar`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Operação Fiscal foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n function incluirManutencao(values) {\r\n api.post(`OperacaoFiscal/Incluir`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Operação Fiscal foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n function checkMarcadores() {\r\n if (formulario.getFieldValue(['tip_id']) == 2)\r\n setHiddenFlagsCompra(false);\r\n else\r\n setHiddenFlagsCompra(true);\r\n };\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n Selecione o Tipo de Imposto a Calcular\r\n \r\n \r\n \r\n \r\n \r\n \r\n ICMS?\r\n \r\n \r\n \r\n \r\n IPI?\r\n \r\n \r\n \r\n \r\n ICMS ST?\r\n \r\n \r\n \r\n \r\n PIS/COFINS?\r\n \r\n \r\n \r\n \r\n ISSQN?\r\n \r\n \r\n \r\n \r\n Retenção?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tipo Preço\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Código Tributação para PIS/COFINS\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Código Tributação para ICMS\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n (\r\n {item.icm_descricao}\r\n )} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({v.cbf_codigo} - {v.cbf_descricao} )\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoOperacaoFiscal from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerOperacaoFiscal() {\r\n\r\n const [formOperacaoFiscal] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n formOperacaoFiscal.setFieldsValue(manutencao.dados);\r\n }\r\n }, [manutencao.dados])\r\n\r\n function fecharDrawer() {\r\n formOperacaoFiscal.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, CloseCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport DrawerOperacaoFiscal from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, Editar, Excluir, PesquisaOrdenacao, TabelaDados } from \"../../components\";\r\n\r\nexport default function OperacaoFiscal() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a Opecação Fiscal ${dados.ope_descricao}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a Operação Fiscal: ${dados.ope_descricao}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n function excluirRegistro(dados) {\r\n api.delete(`OperacaoFiscal/Excluir/${dados.ope_id}`).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ope_descricao' } });\r\n }).catch(\r\n (erro) => {\r\n modalInativarRegistro(dados);\r\n }\r\n );\r\n }\r\n\r\n function inativarRegistro(dados) {\r\n api.put(`OperacaoFiscal/Inativar?id=${dados.ope_id}`).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Operação Fiscal inativada com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ope_descricao' } });\r\n }\r\n )\r\n }\r\n\r\n function editarRegistro(record) {\r\n console.log(record);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {ope_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Operação Fiscal',\r\n render: ({ ope_descricao }) => (\r\n
\r\n {ope_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n editarRegistro(record);\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluir(record)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } expandir={(record) => {\r\n return (\r\n record.cfop.map(item => (\r\n \r\n \r\n Cfop: {item.cfo_cfop} - {item.cfo_descricao}\r\n \r\n \r\n ))\r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Select, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoOperacaoDebitoCredito({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao ,ui}, dispatch] = useStateValue();\r\n const [listaTipoImposto, setlistaTipoImposto] = useState([]);\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=TipoNotaDebitoCredito`).then(res => {\r\n setlistaTipoImposto(res.data);\r\n })\r\n }, []);\r\n \r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.odc_id) {\r\n let lista = [];\r\n if (!!manutencao.dados.cfo_cfop) {\r\n lista.push({ name: \"cfo_cfop\", campo: \"Cfop\", value: manutencao.dados.cfo_cfop });\r\n } \r\n if (!!manutencao.dados.taj_id) {\r\n lista.push({ name: \"taj_id\", campo: \"Id\", value: manutencao.dados.taj_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n const salvarOperacaoDebitoCredito = (values) => {\r\n values.odc_cfop = values.cfo_cfop;\r\n carregando(true);\r\n if (values.odc_id) {\r\n api.put(`operacaoDebitoCredito/Alterar` , values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Operação Fiscal foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n } else {\r\n api.post(`operacaoDebitoCredito/Incluir`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Operação Fiscal foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n };\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+odc_id' } });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({c.cfo_cfop} - {c.cfo_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({t.taj_codigoajuste} - {t.taj_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoOperacaoDebitoCredito from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerOperacaoDebitoCredito() {\r\n\r\n const [formOperacaoDebitoCredito] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null) formOperacaoDebitoCredito.setFieldsValue(manutencao.dados);\r\n else {\r\n //formOperacaoDebitoCredito.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formOperacaoDebitoCredito.resetFields();\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não', \r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerOperacaoDebitoCredito from './drawer';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Excluir, Imprimir, Editar } from \"../../components\";\r\n\r\nexport default function OperacaoDebitoCredito() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+odc_descricao'}}), []);\r\n\r\n function excluirRegistro(dados){\r\n setCarregando(true);\r\n api.delete(`OperacaoDebitoCredito/Excluir?id=${dados.odc_id}`).then(\r\n (res) => {\r\n notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" }); \r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n },(erro) => {\r\n notification.error({ message: 'Atenção', description: \"Não foi possível excluír o registro!\" }); \r\n //modalInativarRegistro(dados)\r\n }\r\n ).finally(() => {dispatch({ type: listagemActions.CHANGE, data: { ordem: '+odc_descricao'}})\r\n }\r\n );\r\n };\r\n\r\n function inativarRegistro(dados) {\r\n dados.mar_ativa = false;\r\n api.put(`operacaoDebitoCredito/Alterar`, dados).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Operação inativada com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+odc_descricao' } });\r\n }\r\n )\r\n }\r\n\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a marca ${dados.odc_descricao}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a operação: ${dados.odc_descricao}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n {odc_id}\r\n \r\n ),\r\n },\r\n { \r\n title: 'Operações para Nota Fiscal de Ajuste', \r\n render: ({odc_descricao}) => (\r\n
\r\n {odc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95, \r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record }});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true }});\r\n }} icon={}/>\r\n \r\n \r\n } onClick={() => modalExcluir(dados)}/>\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n \r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Table } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\n\r\nexport default function TabCondicaoPagamento({ listaCondPag }) {\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [condicaoPagamento, setCondicaoPagamento] = useState([]);\r\n\r\n useEffect(() => {\r\n popularCondicao();\r\n }, []);\r\n\r\n function popularCondicao() {\r\n api.get('CondicaoPagamento/Ativos?PageSize=500').then(\r\n res => {\r\n let sequencia = 0;\r\n res.data.items.forEach((cond) => {\r\n cond.key = sequencia;\r\n sequencia++;\r\n })\r\n setCondicaoPagamento(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n const configSelecionarItem =\r\n {\r\n selectedRowKeys,\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n setSelectedRowKeys(selectedRowKeys);\r\n popularCondicaoPgto(selectedRowKeys, selectedRows);\r\n }\r\n };\r\n\r\n function popularCondicaoPgto(key, rows) {\r\n listaCondPag.setListaCondPag(rows);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!listaCondPag.listaCondPag.length > 0) {\r\n let listIndex = [];\r\n condicaoPagamento.forEach((condPgto, index, array) => {\r\n listaCondPag.listaCondPag.forEach((condPag) => {\r\n if (condPgto.cpg_id === condPag.cpg_id) {\r\n listIndex.push(index);\r\n }\r\n });\r\n });\r\n setSelectedRowKeys(listIndex);\r\n }\r\n }, [condicaoPagamento]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Condições Condições de Pagamento\r\n \r\n \r\n Defina as condições de pagamento. Pode ser selecionadas uma ou mais na tabela abaixo.\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {cpg_descricao}\r\n
\r\n ),\r\n },\r\n ]\r\n } locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input, Select, InputNumber } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { getEmpresa } from \"../../services/auth\";\r\n\r\nexport default function TabBoleto({ formulario, dadosBoleto }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaJuroMora, setListaJuroMora] = useState([]);\r\n const [listaRegistro, setListaRegistro] = useState([]);\r\n const [listaFormaEmissao, setListaFormaEmissao] = useState([]);\r\n const [listaTipoAceite, setListaTipoAceite] = useState([]);\r\n const [listaCodigoProtesto, setListaCodigoProtesto] = useState([]);\r\n const [listaDistribuicao, setListaDistribuicao] = useState([]);\r\n const [listaCodigoMulta, setListaCodigoMulta] = useState([]);\r\n const [listaCodigoBaixa, setListaCodigoBaixa] = useState([]);\r\n const [listaConvenio, setListaConvenio] = useState([]);\r\n const [listaCarteira, setListaCarteira] = useState([]);\r\n const [listaPadraoArq, setListaPadraoArq] = useState([]);\r\n const [contemProtesto, setContemProtesto] = useState(true);\r\n const [ehBaixa, setEhBaixa] = useState(true);\r\n const [modeloImpressao, setModeloImpressao] = useState([]);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n async function carregarDados() {\r\n let _banco = \"\";\r\n if (!!manutencao.dados && !!manutencao.dados.ban_id) {\r\n _banco = manutencao.dados.ban_id;\r\n }\r\n let jurosMora = await api.get('Enum/Listar?nome=BoletoTipoJuroMora');\r\n setListaJuroMora(jurosMora.data);\r\n let BoletoRegistro = await api.get('Enum/Listar?nome=BoletoRegistro');\r\n setListaRegistro(BoletoRegistro.data);\r\n let boletoFormaEmissao = await api.get('Enum/Listar?nome=BoletoFormaEmissao');\r\n setListaFormaEmissao(boletoFormaEmissao.data);\r\n let boletoTipoAceite = await api.get('Enum/Listar?nome=BoletoTipoAceite');\r\n setListaTipoAceite(boletoTipoAceite.data);\r\n let boletoDistribuicao = await api.get('Enum/Listar?nome=BoletoDistribuicao');\r\n setListaDistribuicao(boletoDistribuicao.data)\r\n let boletoCodigoMulta = await api.get('Enum/Listar?nome=BoletoCodigoMulta');\r\n setListaCodigoMulta(boletoCodigoMulta.data);\r\n let boletoCodigoProtesto = await api.get('Enum/Listar?nome=BoletoCodigoProtesto');\r\n setListaCodigoProtesto(boletoCodigoProtesto.data);\r\n let boletoCodigoBaixa = await api.get('Enum/Listar?nome=BoletoCodigoBaixa');\r\n setListaCodigoBaixa(boletoCodigoBaixa.data);\r\n let boletoConvenio = await api.get(`BoletoConvenio/Listar?CodigoBanco=${_banco}&PageSize=500&filtro=`);\r\n setListaConvenio(boletoConvenio.data.items);\r\n let boletoCarteira = await api.get(`BoletoCarteira/Listar?filtro=&CodigoBanco=${_banco}&PageSize=500&Order=%2Bcrt_descricao`);\r\n setListaCarteira(boletoCarteira.data.items);\r\n let padraoArquivoRemessa = await api.get('Enum/Listar?nome=PadraoArquivoRemessa');\r\n setListaPadraoArq(padraoArquivoRemessa.data);\r\n let modeloImpresaoBoleto = await api.get('Enum/Listar?nome=BoletoModeloImpressao');\r\n setModeloImpressao(modeloImpresaoBoleto.data);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!listaPadraoArq && listaPadraoArq.length > 0) {\r\n popularDadosBoleto();\r\n }\r\n }, [listaPadraoArq]);\r\n\r\n function popularDadosBoleto() {\r\n if (!!formulario.getFieldValue()) {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n if (!!formulario.getFieldValue().crt_id) {\r\n let crt_id = parseInt(formulario.getFieldValue().crt_id);\r\n dados.crt_id = listaCarteira.filter((carteira) => (carteira.crt_id === crt_id))[0];\r\n }\r\n if (!!formulario.getFieldValue().dbl_tipojuromora) {\r\n let dbl_tipojuromora = parseInt(formulario.getFieldValue().dbl_tipojuromora);\r\n dados.dbl_tipojuromora = listaJuroMora.filter((juroMora) => (juroMora.key === dbl_tipojuromora))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_formatonossonumero) {\r\n let dbl_formatonossonumero = parseInt(formulario.getFieldValue().dbl_formatonossonumero);\r\n dados.dbl_formatonossonumero = listaConvenio.filter((listaConvenio) => (listaConvenio.cvn_id === dbl_formatonossonumero))[0];\r\n }\r\n if (!!formulario.getFieldValue().dbl_formaemissao) {\r\n let dbl_formaemissao = parseInt(formulario.getFieldValue().dbl_formaemissao);\r\n dados.dbl_formaemissao = listaFormaEmissao.filter((formaEmissao) => (formaEmissao.key === dbl_formaemissao))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_aceite) {\r\n let dbl_aceite = formulario.getFieldValue().dbl_aceite;\r\n dados.dbl_aceite = listaTipoAceite.filter((tipoAceite) => (tipoAceite.key === dbl_aceite))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_distribuicao) {\r\n let dbl_distribuicao = parseInt(formulario.getFieldValue().dbl_distribuicao);\r\n dados.dbl_distribuicao = listaDistribuicao.filter((distribuicao) => (distribuicao.key === dbl_distribuicao))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_codigoprotesto) {\r\n let dbl_codigoprotesto = parseInt(formulario.getFieldValue().dbl_codigoprotesto);\r\n if (!!dbl_codigoprotesto && dbl_codigoprotesto !== 3) {\r\n setContemProtesto(true);\r\n } else {\r\n setContemProtesto(false);\r\n }\r\n dados.dbl_codigoprotesto = listaCodigoProtesto.filter((codigoProtesto) => (codigoProtesto.key === dbl_codigoprotesto))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_codigomulta) {\r\n let dbl_codigomulta = parseInt(formulario.getFieldValue().dbl_codigomulta);\r\n dados.dbl_codigomulta = listaCodigoMulta.filter((codigoMulta) => (codigoMulta.key === dbl_codigomulta))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_codigobaixa) {\r\n let dbl_codigobaixa = parseInt(formulario.getFieldValue().dbl_codigobaixa);\r\n if (!!dbl_codigobaixa && dbl_codigobaixa !== 2) {\r\n setEhBaixa(true);\r\n } else {\r\n setEhBaixa(false);\r\n }\r\n dados.dbl_codigobaixa = listaCodigoBaixa.filter((codigoBaixa) => (codigoBaixa.key === dbl_codigobaixa))[0].key;\r\n }\r\n if (!!formulario.getFieldValue().dbl_padraoarquivoremessa) {\r\n let dbl_padraoarquivoremessa = parseInt(formulario.getFieldValue().dbl_padraoarquivoremessa);\r\n dados.dbl_padraoarquivoremessa = listaPadraoArq.filter((padraoArq) => (padraoArq.key === dbl_padraoarquivoremessa))[0].key;\r\n }\r\n if (JSON.stringify(dados) !== \"{}\") {\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n }\r\n\r\n };\r\n\r\n function popularDadosCarteira() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let crt_id = parseInt(formulario.getFieldValue().crt_id);\r\n if (crt_id) {\r\n dados.crt_id = listaCarteira.filter((carteira) => (carteira.crt_id === crt_id))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularJurosMora() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_tipojuromora = parseInt(formulario.getFieldValue().dbl_tipojuromora);\r\n if (dbl_tipojuromora) {\r\n dados.dbl_tipojuromora = listaJuroMora.filter((juroMora) => (juroMora.key === dbl_tipojuromora))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularFormatoNossoNum() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_formatonossonumero = parseInt(formulario.getFieldValue().dbl_formatonossonumero);\r\n if (dbl_formatonossonumero) {\r\n dados.dbl_formatonossonumero = listaConvenio.filter((listaConvenio) => (listaConvenio.cvn_id === dbl_formatonossonumero))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularFormaEmissao() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_formaemissao = parseInt(formulario.getFieldValue().dbl_formaemissao);\r\n if (dbl_formaemissao) {\r\n dados.dbl_formaemissao = listaFormaEmissao.filter((formaEmissao) => (formaEmissao.key === dbl_formaemissao))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularIdentificacaoTitulo() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_aceite = formulario.getFieldValue().dbl_aceite;\r\n if (dbl_aceite) {\r\n dados.dbl_aceite = listaTipoAceite.filter((tipoAceite) => (tipoAceite.key === dbl_aceite))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularFormaDistribuicao() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_distribuicao = parseInt(formulario.getFieldValue().dbl_distribuicao);\r\n if (dbl_distribuicao) {\r\n dados.dbl_distribuicao = listaDistribuicao.filter((distribuicao) => (distribuicao.key === dbl_distribuicao))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularProtestoTitulo() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_codigoprotesto = parseInt(formulario.getFieldValue().dbl_codigoprotesto);\r\n if (dbl_codigoprotesto) {\r\n if (!!dbl_codigoprotesto && dbl_codigoprotesto !== 3) {\r\n setContemProtesto(true);\r\n } else {\r\n setContemProtesto(false);\r\n }\r\n dados.dbl_codigoprotesto = listaCodigoProtesto.filter((codigoProtesto) => (codigoProtesto.key === dbl_codigoprotesto))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularMultaTitulo() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_codigomulta = parseInt(formulario.getFieldValue().dbl_codigomulta);\r\n if (dbl_codigomulta) {\r\n dados.dbl_codigomulta = listaCodigoMulta.filter((codigoMulta) => (codigoMulta.key === dbl_codigomulta))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularBaixaDevTitulo() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_codigobaixa = parseInt(formulario.getFieldValue().dbl_codigobaixa);\r\n if (dbl_codigobaixa) {\r\n if (!!dbl_codigobaixa && dbl_codigobaixa !== 2) {\r\n setEhBaixa(true);\r\n } else {\r\n setEhBaixa(false);\r\n }\r\n dados.dbl_codigobaixa = listaCodigoBaixa.filter((codigoBaixa) => (codigoBaixa.key === dbl_codigobaixa))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n function popularPadraoArquivoRemessa() {\r\n let dados = { ...dadosBoleto.dadosBoleto };\r\n let dbl_padraoarquivoremessa = parseInt(formulario.getFieldValue().dbl_padraoarquivoremessa);\r\n if (dbl_padraoarquivoremessa) {\r\n dados.dbl_padraoarquivoremessa = listaPadraoArq.filter((padraoArq) => (padraoArq.key === dbl_padraoarquivoremessa))[0].key;\r\n dadosBoleto.setDadosBoleto(dados);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Boleto\" Boleto\r\n \r\n \r\n Informe abaixo os dados para que seja possível emitir boletos.\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.dbl_tipojuromora !== currentValues.dbl_tipojuromora}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('dbl_tipojuromora') === 1) return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n if (getFieldValue('dbl_tipojuromora') === 2) return (\r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {contemProtesto &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {contemProtesto &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.dbl_codigomulta !== currentValues.dbl_codigomulta}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('dbl_codigomulta') === 1) return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n if (getFieldValue('dbl_codigomulta') === 2) return (\r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ehBaixa &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Select, Checkbox, Tooltip, Tabs, notification } from \"antd\";\r\nimport { QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport CurrencyInput from 'react-currency-input';\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormGW, SelectPaginacao } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { TabCondicaoPagamento, TabBoleto } from \"./tabPage\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoFormaPagamento({ formulario, carregando, aoSalvar }) {\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [tipoPagamento, setTipoPagamento] = useState([]);\r\n const [tipoIntegracao, setTipoIntegracao] = useState([]);\r\n const [funcaoTef, setFuncaoTef] = useState([]);\r\n const [tpFuncao, setTpIntegracao] = useState(0);\r\n const [showItegracao, setShowItegracao] = useState(false);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [contaCorrente, setContaCorrente] = useState([]);\r\n const [listaCondPag, setListaCondPag] = useState([]);\r\n const [isBoleto, setIsBoleto] = useState(false);\r\n const [isCarne, setIsCarne] = useState(false);\r\n const [isValePresente, setIsValePresente] = useState(false);\r\n const [mostrarCondicao, setMostarCondicao] = useState(false);\r\n const [dadosBoleto, setDadosBoleto] = useState({});\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.fpg_id) {\r\n let lista = [];\r\n if (!!manutencao.dados.ctc_id) {\r\n lista.push({ name: \"ctc_id\", campo: \"Filtro\", value: manutencao.dados.ctc_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n const salvarManutencao = values => {\r\n let retorno;\r\n carregando(true);\r\n var dados = {};\r\n dados.ctc_id = formulario.getFieldValue().ctc_id;\r\n dados.fpg_id = formulario.getFieldValue().fpg_id;\r\n dados.fpg_descricao = formulario.getFieldValue().fpg_descricao;\r\n dados.fpg_ativo = formulario.getFieldValue().fpg_ativo;\r\n dados.fpg_emiteboleto = formulario.getFieldValue().fpg_emiteboleto;\r\n dados.fpg_tipopagamento = formulario.getFieldValue().fpg_tipopagamento;\r\n dados.fpg_imprimecarne = formulario.getFieldValue().fpg_imprimecarne;\r\n dados.fpg_padraosistema = formulario.getFieldValue().fpg_padraosistema;\r\n dados.fpg_tipointegracao = formulario.getFieldValue().fpg_tipointegracao;\r\n dados.fpg_codigofuncaotef = !!formulario.getFieldValue().fpg_codigofuncaotef ? formulario.getFieldValue().fpg_codigofuncaotef :0;\r\n dados.fpg_descontopadrao = !!formulario.getFieldValue().fpg_descontopadrao ? calcPercent(formulario.getFieldValue().fpg_descontopadrao) : null;\r\n dados.formacondicaopagamentos = listaCondPag.length > 0 ? listaCondPag : [];\r\n dados.definicaoboleto = {};\r\n if (isBoleto) {\r\n dados.definicaoboleto.dbl_id = formulario.getFieldValue().dbl_id;\r\n dados.definicaoboleto.dbl_boletosfaltantes = 1;//parseInt(valores.dbl_boletosfaltantes); VERIFICAR\r\n dados.definicaoboleto.dbl_codigomulta = !!formulario.getFieldValue().dbl_codigomulta ? parseInt(formulario.getFieldValue().dbl_codigomulta) : null;\r\n dados.definicaoboleto.dbl_tipojuromora = !!formulario.getFieldValue().dbl_tipojuromora ? parseInt(formulario.getFieldValue().dbl_tipojuromora) : 0;\r\n dados.definicaoboleto.dbl_percjuromora = !!formulario.getFieldValue().dbl_percjuromora ? calcPercent(formulario.getFieldValue().dbl_percjuromora) : null;\r\n dados.definicaoboleto.dbl_formatonossonumero = !!formulario.getFieldValue().dbl_formatonossonumero ? parseInt(formulario.getFieldValue().dbl_formatonossonumero) : null;\r\n dados.definicaoboleto.dbl_diasaplicarmulta = !!formulario.getFieldValue().dbl_diasaplicarmulta ? parseInt(formulario.getFieldValue().dbl_diasaplicarmulta) : null;\r\n dados.definicaoboleto.dbl_codigobaixa = !!formulario.getFieldValue().dbl_codigobaixa ? parseInt(formulario.getFieldValue().dbl_codigobaixa) : null;\r\n dados.definicaoboleto.dbl_modeloimpressao = !!formulario.getFieldValue().dbl_modeloimpressao ? parseInt(formulario.getFieldValue().dbl_modeloimpressao) : 1;\r\n dados.definicaoboleto.dbl_formaemissao = !!formulario.getFieldValue().dbl_formaemissao ? parseInt(formulario.getFieldValue().dbl_formaemissao) : 1;\r\n dados.definicaoboleto.dbl_distribuicao = !!formulario.getFieldValue().dbl_distribuicao ? parseInt(formulario.getFieldValue().dbl_distribuicao) : 1;\r\n dados.definicaoboleto.dbl_codigoprotesto = !!formulario.getFieldValue().dbl_codigoprotesto ? parseInt(formulario.getFieldValue().dbl_codigoprotesto) : 1;\r\n dados.definicaoboleto.dbl_diasbaixa = !!formulario.getFieldValue().dbl_diasbaixa ? parseInt(formulario.getFieldValue().dbl_diasbaixa) : null;\r\n dados.definicaoboleto.dbl_diasparaprotestar = !!formulario.getFieldValue().dbl_diasparaprotestar ? parseInt(formulario.getFieldValue().dbl_diasparaprotestar) : null;\r\n dados.definicaoboleto.dbl_valorminimoprotesto = !!formulario.getFieldValue().dbl_valorminimoprotesto ? parseFloat(formulario.getFieldValue().dbl_valorminimoprotesto) : null;\r\n dados.definicaoboleto.dbl_valormulta = parseFloat(formulario.getFieldValue().dbl_valormulta);\r\n dados.definicaoboleto.dbl_aceite = formulario.getFieldValue().dbl_aceite;\r\n dados.definicaoboleto.dbl_padraoarquivoremessa = formulario.getFieldValue().dbl_padraoarquivoremessa;\r\n dados.definicaoboleto.crt_id = formulario.getFieldValue().crt_id;\r\n dados.definicaoboleto.dbl_nomearquivoremessa = formulario.getFieldValue().dbl_nomearquivoremessa;\r\n dados.definicaoboleto.dbl_padraoarquivoremessa = formulario.getFieldValue().dbl_padraoarquivoremessa;\r\n dados.definicaoboleto.dbl_extensaoarquivoremessa = formulario.getFieldValue().dbl_extensaoarquivoremessa;\r\n dados.definicaoboleto.dbl_nossonumeroinicial = !!formulario.getFieldValue().dbl_nossonumeroinicial ? formulario.getFieldValue().dbl_nossonumeroinicial : '';\r\n dados.definicaoboleto.dbl_nossonumerofinal = !!formulario.getFieldValue().dbl_nossonumerofinal ? formulario.getFieldValue().dbl_nossonumerofinal : '';\r\n dados.definicaoboleto.dbl_numeroconvenio = !!formulario.getFieldValue().dbl_numeroconvenio ? formulario.getFieldValue().dbl_numeroconvenio : '';\r\n dados.definicaoboleto.dbl_numerocontrato = !!formulario.getFieldValue().dbl_numerocontrato ? formulario.getFieldValue().dbl_numerocontrato : '';\r\n dados.definicaoboleto.dbl_msglocalpagamento = !!formulario.getFieldValue().dbl_msglocalpagamento ? formulario.getFieldValue().dbl_msglocalpagamento : '';\r\n dados.definicaoboleto.dbl_mensagem1 = !!formulario.getFieldValue().dbl_mensagem1 ? formulario.getFieldValue().dbl_mensagem1 : '';\r\n dados.definicaoboleto.dbl_mensagem2 = !!formulario.getFieldValue().dbl_mensagem2 ? formulario.getFieldValue().dbl_mensagem2 : '';\r\n dados.definicaoboleto.dbl_mensagem3 = !!formulario.getFieldValue().dbl_mensagem3 ? formulario.getFieldValue().dbl_mensagem3 : '';\r\n dados.definicaoboleto.dbl_mensagemmora = !!formulario.getFieldValue().dbl_mensagemmora ? formulario.getFieldValue().dbl_mensagemmora : '';\r\n }\r\n\r\n let enderecoUrl = 'FormaPagamento/';\r\n if (dados.fpg_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, dados).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ description: `Forma de Pagamento editada com sucesso!`, message: 'Sucesso' });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n resetarConstantes();\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n enderecoUrl += `Incluir`;\r\n api.post(enderecoUrl, dados).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ description: `Forma de Pagamento adicionada com sucesso!`, message: 'Sucesso' });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n resetarConstantes();\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados) {\r\n resetarConstantes();\r\n if (manutencao.dados.fpg_emiteboleto || manutencao.dados.fpg_tipopagamento === 15) {\r\n setIsBoleto(true);\r\n carregarBoleto();\r\n }\r\n if (manutencao.dados.fpg_tipopagamento === 5) {\r\n setIsCarne(true);\r\n } else {\r\n setIsCarne(false);\r\n }\r\n if (manutencao.dados.fpg_tipopagamento !== 1 && manutencao.dados.fpg_tipopagamento !== 2 && manutencao.dados.fpg_tipopagamento !== 12) {\r\n setMostarCondicao(true);\r\n carregarCondicoes();\r\n } else if (manutencao.dados.fpg_tipopagamento === 12) {\r\n setIsValePresente(true);\r\n }\r\n if (manutencao.dados.fpg_tipopagamento == 3 || manutencao.dados.fpg_tipopagamento == 4 || manutencao.dados.fpg_tipopagamento == 17) {\r\n setShowItegracao(true)\r\n setTpIntegracao(manutencao.dados.fpg_tipointegracao);\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n function carregarDados() {\r\n popularFormas();\r\n };\r\n\r\n function popularFormas() {\r\n api.get('Enum/Listar?nome=FormaDePagamento').then(\r\n res => {\r\n setTipoPagamento(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n api.get('Enum/Listar?nome=IntegracaoPagamentos').then(\r\n res => {\r\n setTipoIntegracao(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n api.get('Enum/Listar?nome=TabelaCodigoFuncaoSitef').then(\r\n res => {\r\n setFuncaoTef(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function resetarConstantes() {\r\n setDadosBoleto([]);\r\n setListaCondPag([]);\r\n setAbaSelecionada(\"1\");\r\n };\r\n function alterarTpIntegracao(tpIntegracao) {\r\n setTpIntegracao(tpIntegracao);\r\n };\r\n function alterarTpPagamento(tpPagamento) {\r\n tpPagamento = parseInt(tpPagamento);\r\n\r\n if (tpPagamento === 15) {\r\n setIsBoleto(true);\r\n } else {\r\n setIsBoleto(false);\r\n }\r\n if (tpPagamento === 5) {\r\n setIsCarne(true);\r\n } else {\r\n setIsCarne(false);\r\n }\r\n\r\n if (tpPagamento === 12) {\r\n setIsValePresente(true);\r\n } else {\r\n setIsValePresente(false);\r\n }\r\n\r\n if (!!tpPagamento && tpPagamento !== 1 && tpPagamento !== 2 && tpPagamento !== 12) {\r\n setMostarCondicao(true);\r\n } else {\r\n setMostarCondicao(false);\r\n }\r\n if (tpPagamento == 3 || tpPagamento == 4 || tpPagamento == 17) {\r\n setShowItegracao(true)\r\n }\r\n };\r\n\r\n function carregarBoleto() {\r\n if (!!manutencao.dados.fpg_id) {\r\n api.get(`DefinicaoBoleto/Listar?codigoFormaPagamento=${manutencao.dados.fpg_id}`).then(\r\n res => {\r\n setDadosBoleto(res.data);\r\n formulario.setFieldsValue(res.data);\r\n if (!!manutencao.dados.dadosBoleto) {\r\n manutencao.dados.dadosBoleto = res.data;\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n function carregarCondicoes() {\r\n if (!!manutencao.dados.fpg_id) {\r\n api.get(`FormaPagamento/ListarCondicaoPgtoRelacionadas?CodigoFormaPagamento=${manutencao.dados.fpg_id}`).then(\r\n res => {\r\n setListaCondPag(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n };\r\n\r\n const calcPercent = value => {\r\n let result = 0;\r\n if (value) {\r\n value = value.toString();\r\n if (value.includes(\"%\"))\r\n result = (parseFloat(value.toString().replace(\".\", \"\").replace(\",\", \".\").replace(\"%\", \"\")) / 100);\r\n else\r\n result = (value / 100);\r\n }\r\n return result;\r\n }\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Forma de Pagamento Ativa\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isValePresente && \r\n \r\n ({cta.ctc_id} - {cta.ctc_descricao})\r\n }\r\n />\r\n \r\n }\r\n {!isValePresente &&\r\n \r\n prevValues.fpg_descontopadrao !== currentValues.fpg_descontopadrao}>\r\n {({ getFieldValue, setFieldsValue }) => {\r\n let value = getFieldValue(\"fpg_descontopadrao\");\r\n if (value && value !== \"\") {\r\n value = value.toString();\r\n if (value.includes(\"%\")) {\r\n value = value.replace(\".\", \"\").replace(\",\", \".\").replace(\"%\", \"\");\r\n if (parseFloat(value) > 100) {\r\n setFieldsValue({ fpg_descontopadrao: 100 });\r\n }\r\n }\r\n }\r\n return \r\n Desconto Padrão Aplicado\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n }}\r\n \r\n \r\n }\r\n {showItegracao && \r\n \r\n \r\n \r\n }\r\n {showItegracao && tpFuncao == 3 && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {isCarne && \r\n \r\n Imprime Carnê?\r\n \r\n }\r\n \r\n \r\n {mostrarCondicao && \r\n \r\n }\r\n {isBoleto && \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoFormaPagamento from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerFormaPagamento() {\r\n\r\n const [formFormaPagamento] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados === null) {\r\n formFormaPagamento.setFieldsValue({ fpg_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n formFormaPagamento.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+fpg_descricao' } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","export default function roundValue(num, places = 2) {\r\n if (!(\"\" + num).includes(\"e\")) {\r\n return +(Math.round(num + \"e+\" + places) + \"e-\" + places);\r\n } else {\r\n let arr = (\"\" + num).split(\"e\");\r\n let sig = \"\"\r\n if (+arr[1] + places > 0) {\r\n sig = \"+\";\r\n }\r\n\r\n return +(Math.round(+arr[0] + \"e\" + sig + (+arr[1] + places)) + \"e-\" + places);\r\n }\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerFormaPagamento from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\nimport roundValue from '../../ValueObjects/roundValue';\r\n\r\nexport default function FormaPagamento() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+fpg_descricao' } }), []);\r\n\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a forma de pagamento ${dados.fpg_descricao}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n function excluirRegistro(dados) {\r\n api.delete(`FormaPagamento/Excluir/${dados.fpg_id}`).then(\r\n (res) => {\r\n notification.success({ message: `Sucesso!`, description: `Forma de Pagamento excluida com sucesso!` });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }).catch(\r\n (erro) => {\r\n modalInativarRegistro(dados);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+fpg_descricao' } });\r\n });\r\n }\r\n\r\n const modalExcluirCondicao = forma => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Excluir a forma de Pagamento ${forma.fpg_descricao} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(forma);\r\n }\r\n });\r\n };\r\n function inativarRegistro(dados) {\r\n dados.fpg_ativo = false;\r\n api.put(`FormaPagamento/Editar`, dados).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Forma de Pagamento inativada com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+fpg_descricao' } });\r\n }\r\n )\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {fpg_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Forma de Pagamento',\r\n render: ({ fpg_descricao, fpg_principal }) => (\r\n
\r\n \r\n
\r\n \r\n Principal\r\n \r\n \r\n \r\n {fpg_descricao}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Conta Corrente',\r\n render: ({ ctc_descricao }) => (\r\n
\r\n {(!!ctc_descricao) ? (ctc_descricao) : 'Não Informada'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desconto Padrão',\r\n align: 'right',\r\n render: ({ fpg_descontopadrao }) => (\r\n
\r\n {roundValue(fpg_descontopadrao * 100)}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n record.dadosBoleto = {};\r\n record.fpg_descontopadrao = (record.fpg_descontopadrao && record.fpg_descontopadrao > 0) ? (record.fpg_descontopadrao * 100) : 0;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { modalExcluirCondicao(record) }}/>\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Table } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function TabFormaPagamento({ formasPagamento }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n\r\n useEffect(() => {\r\n carregarFormasPgto();\r\n }, []);\r\n\r\n function carregarFormasPgto() {\r\n api.get(`FormaPagamento/ListarAtivos?PageSize=200`).then(\r\n res => {\r\n if (!!res.data.items) {\r\n let index = 0;\r\n let dados = [...res.data.items];\r\n dados.sort((a, b) => (\r\n (a.fpg_descricao.charAt(0) + a.fpg_descricao.charAt(1) > b.fpg_descricao.charAt(0) + b.fpg_descricao.charAt(1)) ? 1 :\r\n ((b.fpg_descricao.charAt(0) + b.fpg_descricao.charAt(1)) > (a.fpg_descricao.charAt(0) + a.fpg_descricao.charAt(1))) ? -1 : 0\r\n ))\r\n dados.forEach(dados => {\r\n dados.key = index;\r\n index++;\r\n });\r\n setListaFormaPagamento(dados);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n useEffect(() => {\r\n if (formasPagamento.listaFormasPagamento.length > 0 && listaFormaPagamento.length > 0) {\r\n let listIndex = [];\r\n listaFormaPagamento.forEach((listaForma, index, array) => {\r\n formasPagamento.listaFormasPagamento.forEach((forma) => {\r\n if (forma.fpg_id === listaForma.fpg_id) {\r\n listIndex.push(index);\r\n }\r\n });\r\n });\r\n setSelectedRowKeys(listIndex);\r\n }\r\n }, [formasPagamento.listaFormasPagamento, listaFormaPagamento]);\r\n\r\n function popularFormasPgtoSelect(keys, linhas) {\r\n formasPagamento.setListaFormasPagamento(linhas);\r\n };\r\n\r\n const configSelecionarItem =\r\n {\r\n selectedRowKeys,\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n setSelectedRowKeys(selectedRowKeys);\r\n popularFormasPgtoSelect(selectedRowKeys, selectedRows);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Forma Forma de Pagamento\r\n \r\n \r\n Defina as formas de pagamento. Pode ser selecionadas uma ou mais formas de pagamento na tabela abaixo.\r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {fpg_descricao}\r\n
\r\n ),\r\n },\r\n ]\r\n }\r\n rowSelection={configSelecionarItem}\r\n />\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, Button, Typography, Divider, InputNumber } from \"antd\";\r\nimport { RedoOutlined, PlusOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function TabParcelas({ formulario, listaParcelas }) {\r\n\r\n useEffect(() => {\r\n if (listaParcelas.parcelas.length > 0) {\r\n let parcelas = [...listaParcelas.parcelas];\r\n parcelas.forEach(\r\n (parcela) => {\r\n formulario.setFieldsValue({ ['perc' + parcela.pcl_numeroparcela]: parcela.pcl_percparcela });\r\n formulario.setFieldsValue({ ['dias' + parcela.pcl_numeroparcela]: parcela.pcl_numerodias });\r\n }\r\n );\r\n }\r\n }, [listaParcelas.parcelas]);\r\n\r\n\r\n function criarParcelas() {\r\n let qtdParcelas = parseInt(formulario.getFieldValue().pcl_numeroparcela);\r\n let dias = parseInt(formulario.getFieldValue().pcl_numerodias);\r\n let nDiasParcelas = 0;\r\n let somaPercentual = 0;\r\n let resto = 0;\r\n let nUltimaParcela = qtdParcelas - 1;\r\n let percParcela = (100 / qtdParcelas).toFixed(2);\r\n let dadosParcelamento = [];\r\n for (let i = 0; i < qtdParcelas; i++) {\r\n dadosParcelamento.push({\r\n pcl_numeroparcela: i + 1,\r\n pcl_numerodias: nDiasParcelas,\r\n pcl_percparcela: parseFloat(percParcela)\r\n });\r\n nDiasParcelas += dias;\r\n somaPercentual += parseFloat(percParcela);\r\n }\r\n resto = (100 - somaPercentual).toFixed(2);\r\n if (resto != 0) {\r\n resto = parseFloat(resto);\r\n dadosParcelamento[nUltimaParcela].pcl_percparcela = parseFloat((dadosParcelamento[nUltimaParcela].pcl_percparcela + resto).toFixed(2));\r\n }\r\n listaParcelas.setParcelas(dadosParcelamento);\r\n };\r\n\r\n function reorganizarParcelas() {\r\n listaParcelas.setParcelas([]);\r\n };\r\n\r\n function alterarParcela(campo, name) {\r\n let dados = [...listaParcelas.parcelas];\r\n let valor = parseFloat(formulario.getFieldValue()[name]);\r\n let posicao = parseInt(name.replace(campo, '').trim()) - 1;\r\n if (campo === 'dias') {\r\n dados[posicao].pcl_numerodias = valor;\r\n for (let i = posicao + 1; i < listaParcelas.parcelas.length; i++) {\r\n valor += parseInt(formulario.getFieldValue().pcl_numerodias);\r\n dados[i].pcl_numerodias = valor;\r\n }\r\n } else {\r\n if (valor > 100) {\r\n valor = 100;\r\n }\r\n let valorPerc = (100 - valor) / (dados.length - 1);\r\n let valorInteiro = valorPerc.toFixed(2).split('.');\r\n valorInteiro = parseInt(valorInteiro);\r\n let percValorInt = valorInteiro * (dados.length - 1) + valor;\r\n for (let i = 0; i < dados.length; i++) {\r\n if (posicao != i) {\r\n dados[i].pcl_percparcela = valorInteiro;\r\n } else {\r\n dados[i].pcl_percparcela = valor;\r\n }\r\n }\r\n let sobra = 100 - percValorInt;\r\n if (posicao === 0) {\r\n dados[1].pcl_percparcela += sobra;\r\n } else {\r\n dados[0].pcl_percparcela += sobra;\r\n }\r\n }\r\n listaParcelas.setParcelas(dados);\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Parcelas\" Parcelas\r\n \r\n Defina o número de parcelas e a quantidade de dias que as mesmas terão de intervalo. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaParcelas.parcelas.map(parcela => (\r\n \r\n \r\n \r\n \r\n Parcela - {parcela.pcl_numeroparcela}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { alterarParcela('dias', 'dias' + parcela.pcl_numeroparcela) }}\r\n />\r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n onChange={() => { alterarParcela('perc', 'perc' + parcela.pcl_numeroparcela) }}\r\n parser={value => value.replace('%', '')} />\r\n \r\n \r\n \r\n \r\n ))}\r\n {listaParcelas.parcelas.length > 0 && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, Tooltip, Tabs, notification } from \"antd\";\r\nimport { QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport CurrencyInput from 'react-currency-input';\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { TabFormaPagamento, TabParcelas } from \"./tabPage\";\r\n\r\n\r\nexport default function ManutencaoCondicaoPagamento({ formulario, carregando, aoSalvar }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [exibeParcelas, setExibeParcelas] = useState(false);\r\n const [listaFormasPagamento, setListaFormasPagamento] = useState([]);\r\n const [parcelas, setParcelas] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaDadosForma, setListaDadoForma] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!!formulario.getFieldValue().cpg_id) {\r\n let dados = manutencao.dados;\r\n dados.cpg_descontopadrao = (dados.cpg_descontopadrao && dados.cpg_descontopadrao > 0) ? (dados.cpg_descontopadrao * 100) : 0;\r\n dados.cpg_percentualjuros = (dados.cpg_percentualjuros && dados.cpg_percentualjuros > 0) ? (dados.cpg_percentualjuros * 100) : 0;\r\n formulario.setFieldsValue(dados);\r\n carregarDadosCondicao();\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n buscarDadosFormasPgto();\r\n }, []);\r\n\r\n const salvarManutencao = async valores => {\r\n let dados = {};\r\n let retorno;\r\n carregando(true);\r\n if (!(await validarCondicaoCrediario(valores))) {\r\n return;\r\n }\r\n\r\n dados.cpg_ativo = valores.cpg_ativo;\r\n dados.cpg_descontopadrao = !!valores.cpg_descontopadrao ? calcPercent(valores.cpg_descontopadrao) : null;\r\n dados.cpg_descricao = valores.cpg_descricao;\r\n dados.cpg_id = valores.cpg_id;\r\n dados.cpg_percentualjuros = !!valores.cpg_percentualjuros ? calcPercent(valores.cpg_percentualjuros) : null;\r\n dados.formacondicaopagamentos = listaFormasPagamento;\r\n dados.mostraParcela = valores.mostraParcela;\r\n dados.parcelamentos = parcelas;\r\n\r\n let enderecoUrl = 'CondicaoPagamento/';\r\n if (dados.cpg_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, dados).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ description: `Condição de Pagamento editada com sucesso!`, message: 'Sucesso' });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n carregando(false);\r\n console.log(err);\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+cpg_descricao' } });\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n enderecoUrl += `Incluir`;\r\n api.post(enderecoUrl, dados).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ description: `Condição de Pagamento adicionada com sucesso!`, message: 'Sucesso' });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n carregando(false);\r\n console.log(err);\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+cpg_descricao' } });\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n };\r\n\r\n const calcPercent = value => {\r\n let result = 0;\r\n if (value) {\r\n value = value.toString();\r\n if (value.includes(\"%\"))\r\n result = (parseFloat(value.toString().replace(\".\", \"\").replace(\",\", \".\").replace(\"%\", \"\")) / 100);\r\n else\r\n result = (value / 100);\r\n }\r\n return result;\r\n };\r\n\r\n async function validarCondicaoCrediario(valores) {\r\n let lista = [...listaFormasPagamento];\r\n for (let forma of lista) {\r\n let formaPgto = listaDadosForma.find(f => f.fpg_id === forma.fpg_id);\r\n if (!!formaPgto && formaPgto.fpg_tipopagamento == 5 && parcelas.length <= 0) {\r\n notification.warning({ description: \"Condição com forma de pagamento do tipo crediario deve possuir parcelas!\", message: \"Aviso\" });\r\n carregando(false);\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n function buscarDadosFormasPgto() {\r\n api.get('FormaPagamento/Listar?filtro=&apenasAtivos=true&PageSize=200').then(\r\n (res) => {\r\n if (!!res.data) {\r\n setListaDadoForma(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n\r\n function defineParcelas() {\r\n setExibeParcelas(!exibeParcelas);\r\n };\r\n\r\n function carregarDadosCondicao() {\r\n let cpg_id = formulario.getFieldValue().cpg_id;\r\n api.get(`CondicaoPagamento/ListarParcelamento?codigoCondicaoPagamento=${cpg_id}`).then(\r\n res => {\r\n if (res.data.length > 0) {\r\n formulario.setFieldsValue({ mostraParcela: true });\r\n defineParcelas();\r\n res.data.sort((a, b) => (a.pcl_numeroparcela > b.pcl_numeroparcela) ? 1 : ((b.pcl_numeroparcela > a.pcl_numeroparcela) ? -1 : 0));\r\n setParcelas(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n api.get(`CondicaoPagamento/ListarFormaPagamentoRelacionadas?codigoCondicaoPagamento=${cpg_id}`).then(\r\n res => {\r\n setListaFormasPagamento(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n prevValues.cpg_descontopadrao !== currentValues.cpg_descontopadrao}>\r\n {({ getFieldValue, setFieldsValue }) => {\r\n let value = getFieldValue(\"cpg_descontopadrao\");\r\n if (value && value !== \"\") {\r\n value = value.toString();\r\n if (value.includes(\"%\")) {\r\n value = value.replace(\".\", \"\").replace(\",\", \".\").replace(\"%\", \"\");\r\n if (parseFloat(value) > 100) {\r\n setFieldsValue({ cpg_descontopadrao: 100 });\r\n }\r\n }\r\n }\r\n return \r\n Desconto Padrão Aplicado\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n }}\r\n \r\n \r\n \r\n prevValues.cpg_percentualjuros !== currentValues.cpg_percentualjuros}>\r\n {({ getFieldValue, setFieldsValue }) => {\r\n let value = getFieldValue(\"cpg_percentualjuros\");\r\n if (value && value !== \"\") {\r\n value = value.toString();\r\n if (value.includes(\"%\")) {\r\n value = value.replace(\".\", \"\").replace(\",\", \".\").replace(\"%\", \"\");\r\n if (parseFloat(value) > 100) {\r\n setFieldsValue({ cpg_percentualjuros: 100 });\r\n }\r\n }\r\n }\r\n return \r\n Percentual de Juros Aplicado\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n }}\r\n \r\n \r\n \r\n \r\n { defineParcelas() }}>Definir Parcelas\r\n \r\n \r\n \r\n \r\n Condição de Pagamento Ativa?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibeParcelas && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoCondicaoPagamento from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerCentroDistribuicao() {\r\n\r\n const [formCondicaoPagamento] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formCondicaoPagamento.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formCondicaoPagamento.resetFields();\r\n formCondicaoPagamento.setFieldsValue({ cpg_ativo: true });\r\n };\r\n\r\n function fecharDrawer() {\r\n formCondicaoPagamento.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+cpg_descricao' } });\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Popover, Modal, notification } from \"antd\";\r\nimport { EditOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerCondicaoPagamento from './drawer';\r\nimport roundValue from '../../ValueObjects/roundValue';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function CondicaoPagamento() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+cpg_descricao' } });\r\n }, []);\r\n\r\n function excluirCondicao(condicao) {\r\n api.post(`CondicaoPagamento/Excluir/${condicao.cpg_id}`).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: 'Condição de pagamento inativada com sucesso!' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+cpg_descricao' } });\r\n }\r\n );\r\n\r\n };\r\n\r\n const modalExcluirCondicao = condicao => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Excluir a Condição de Pagamento ${condicao.cpg_descricao} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirCondicao(condicao);\r\n }\r\n });\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {cpg_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Condição de Pagamento',\r\n render: ({ cpg_descricao }) => (\r\n
\r\n {cpg_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desconto Padrão',\r\n align: 'right',\r\n render: ({ cpg_descontopadrao }) => (\r\n
\r\n {roundValue(cpg_descontopadrao * 100)}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Percentual Juros',\r\n align: 'right',\r\n render: ({ cpg_percentualjuros }) => (\r\n
\r\n {roundValue(cpg_percentualjuros * 100)}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n {/* \r\n {\r\n modalExcluirCondicao(record);\r\n }} icon={} />\r\n */}\r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Checkbox, Input, Select, notification, Radio } from \"antd\";\r\n\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n//import { listagemActions, manutencaoActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoSerieFiscal({ formulario, carregando, aoSalvar }) {\r\n\r\n const [listaModelo, setListaModelo] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [bloquearCampos, setBloquearCampos] = useState(false);\r\n\r\n useEffect(() => {\r\n api.get(`ModeloDocumentoFiscal/ListarTodos`).then(res => {\r\n setListaModelo(res.data);\r\n })\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (!!manutencao && isObjetoDiffVazio(manutencao.dados)) {\r\n setBloquearCampos(true);\r\n } else {\r\n setBloquearCampos(false);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ser_serie' } });\r\n };\r\n\r\n function salvarManutencao(values) {\r\n carregando(true);\r\n if (values.ser_id) {\r\n editarSerie(values);\r\n } else {\r\n incluirSerie(values);\r\n };\r\n }\r\n\r\n function incluirSerie(values) {\r\n api.post(`SerieFiscal/Incluir`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Série Fiscal foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n function editarSerie(values) {\r\n api.put(`SerieFiscal/Editar`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Série Fiscal foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Emissão Própria\r\n Emissão Terceiros\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Saída\r\n Entrada\r\n Extra-Caixa\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoHistorico from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerHistorico() {\r\n\r\n const [formHistorico] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null){\r\n formHistorico.setFieldsValue(manutencao.dados);\r\n }\r\n else {\r\n formHistorico.setFieldsValue({his_ativo:true});\r\n }\r\n\r\n function fecharDrawer() {\r\n formHistorico.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerHistorico from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir, Duplicar } from \"../../components\";\r\n\r\nexport default function Historico() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+his_descricao' } }), []);\r\n\r\n function excluirRegistro(dados) {\r\n api.delete(`Historico/Excluir/${dados.his_id}`).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }).catch(\r\n (erro) => {\r\n modalInativarRegistro(dados);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+his_descricao' } });\r\n });\r\n }\r\n\r\n function inativarRegistro(dados) {\r\n dados.his_ativo = false;\r\n api.put(`Historico/Editar`,dados).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Status inativado com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+his_descricao' } });\r\n }\r\n )\r\n }\r\n\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a Status ${dados.his_descricao}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a Status: ${dados.his_id} - ${dados.his_descricao}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalDuplicarDados = (dados) => {\r\n Modal.confirm({\r\n title: 'Duplicar?',\r\n icon: ,\r\n content: `Deseja duplicar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n dados.duplicar = true;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados }});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true }});\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {his_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Histórico',\r\n render: ({ his_descricao }) => (\r\n
\r\n {his_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95, \r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n } onClick={() => {modalDuplicarDados(dados)}}/>\r\n \r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => {modalExcluir(dados)}}/>\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined, FileDoneOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoNotaFiscal from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerNotaFiscal({ drawerExtra = { showDrawerExtra: false }}) {\r\n\r\n const [formNotaFiscal] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [salvarRascunho, setSalvarRascunho] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formNotaFiscal.resetFields();\r\n setTagPages(0);\r\n setProximaPag(null);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n if (!!drawerExtra.showDrawerExtra) {\r\n drawerExtra.setShowDrawerExtra(false)\r\n }\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Form, Table, Tag, Checkbox, Input, Modal } from \"antd\";\r\nimport { PlusOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { info } from \"../../services/funcoes\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalEditarItemDevolucao, ModalEditarCFOP } from \"../../components/modals/\";\r\nimport { calculoICMS, calculoICMSST, calculoIPI } from \"../../services/calculaImposto\";\r\n\r\nexport default function TabItens({ listaNotaDevolucao, adicionarNotas, dadosNfe }) {\r\n\r\n const [form] = Form.useForm();\r\n const [openModalEditarItemDevolucao, setOpenModalEditarItemDevolucao] = useState(false);\r\n const [openModalEditarCFOP, setOpenModalEditarCFOP] = useState(false);\r\n const [itemEditar, setItemEditar] = useState({});\r\n const [listaCFOP, setListaCFOP] = useState([]);\r\n\r\n function removeNotaFiscal(ntf_id) {\r\n Modal.confirm({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: 'Remover a Nota Fiscal Selecionada?',\r\n okText: 'Sim, quero remover',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let indice = lista.findIndex(nota => nota.ntf_id === ntf_id);\r\n lista.splice(indice, 1);\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n listarCFOP();\r\n }, []);\r\n\r\n function listarCFOP() {\r\n api.get(`Cfop/ListarCFOPDevolucao?tipoOperacao=${dadosNfe.dadosNfeDevolucao.ntf_tipooperacao}&ufDest=${dadosNfe.dadosNfeDevolucao.ntf_ufdest}&ufOrigem=${dadosNfe.dadosNfeDevolucao.ntf_ufdest}`).then(\r\n res => {\r\n setListaCFOP(res.data);\r\n }\r\n ).catch(\r\n erro => { console.log(erro); }\r\n );\r\n };\r\n\r\n function selecionarTodos(checked, ntf_id) {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === ntf_id });\r\n nota.checked = checked;\r\n nota.itens.forEach((item) => {\r\n item.checked = checked;\r\n });\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n };\r\n\r\n function selecionarItem(nfi_id, ntf_id) {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === ntf_id });\r\n let item = nota.itens.find((item) => { return item.nfi_id === nfi_id });\r\n item.checked = !item.checked;\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n };\r\n\r\n function excluirMarcados(ntf_id) {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === ntf_id });\r\n nota.itens = nota.itens.filter((item) => { return !item.checked });\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n };\r\n\r\n function excluirItem(ntf_id, nfi_id) {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === ntf_id });\r\n nota.itens = nota.itens.filter((item) => { return item.nfi_id !== nfi_id });\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n };\r\n\r\n async function salvarItemNota() {\r\n let quantidade = parseFloat(form.getFieldValue().nfi_qtde);\r\n if (itemEditar.qtdeOriginal < quantidade) {\r\n info(`Quantidade informada maior que quantidade disponível para devolução (${itemEditar.qtdeOriginal})!`);\r\n return;\r\n }\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === itemEditar.ntf_id });\r\n let item = nota.itens.find((item) => { return item.nfi_id === itemEditar.nfi_id });\r\n item.qtdeRestante = quantidade;\r\n\r\n if (!!item.nfi_valorseguro) {\r\n item.valorSeguroRateio = (parseFloat(item.nfi_valorseguro) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.nfi_valorfrete) {\r\n item.valorFreteRateio = (parseFloat(item.nfi_valorfrete) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.nfi_valoroutros) {\r\n item.valorOutrosRateio = (parseFloat(item.nfi_valoroutros) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.nfi_valordesconto) {\r\n item.valorDescontoRateio = (parseFloat(item.nfi_valordesconto) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n\r\n if (!!item.bcIcms) {\r\n item.nig_valorbc = (parseFloat(item.bcIcms) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.valorIcms) {\r\n item.nig_valoricms = (parseFloat(item.valorIcms) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.bcIcmsSt) {\r\n item.nig_valorbcst = (parseFloat(item.bcIcmsSt) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.valorIcmsSt) {\r\n item.nig_valoricmsst = (parseFloat(item.valorIcmsSt) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.bcIpi) {\r\n item.npi_valorbcipi = (parseFloat(item.bcIpi) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n if (!!item.valorIpi) {\r\n item.npi_valoripi = (parseFloat(item.valorIpi) / itemEditar.nfi_qtde) * quantidade;\r\n }\r\n\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n setOpenModalEditarItemDevolucao(false);\r\n };\r\n\r\n function pesquisarItem(value, ntf_id) {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === ntf_id });\r\n nota.filtro = value;\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n };\r\n\r\n function selecionarCFOP(cfo_cfop) {\r\n if (!!cfo_cfop) {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let nota = lista.find((nota) => { return nota.ntf_id === itemEditar.ntf_id });\r\n let item = nota.itens.find((item) => { return item.nfi_id === itemEditar.nfi_id });\r\n item.nfi_cfop = cfo_cfop;\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n setOpenModalEditarCFOP(false);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Itens Itens das Notas Fiscais Referenciadas\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n {ntf_numero}\r\n \r\n \r\n \r\n ),\r\n }, {\r\n title: 'Outras Informações',\r\n render: ({ ser_serie, ntf_dataemissao, ntf_chavenfe }) => (\r\n
\r\n \r\n
\r\n Série: {(!!ser_serie ? ser_serie : '')}\r\n \r\n \r\n Emissão: {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n {!(!!ntf_chavenfe) && \r\n NF-e não gerada\r\n }\r\n {!!ntf_chavenfe && \r\n NF-e: {ntf_chavenfe}\r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total',\r\n width: 220,\r\n render: ({ totalNfe }) => (\r\n
\r\n \r\n
\r\n Total da Nota\r\n \r\n \r\n \r\n \r\n {FormatNumber(totalNfe, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 75,\r\n render: ({ ntf_id }) => (\r\n
\r\n \r\n
\r\n \r\n selecionarTodos(e.target.checked, ntf_id)}>Selecionar Todos\r\n \r\n \r\n \r\n pesquisarItem(value, ntf_id)} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{ return item.pro_descricao.toUpperCase().indexOf((filtro.trim()).toUpperCase()) >= 0 || item.pro_codigo.toString().indexOf((filtro.trim()).toUpperCase()) >= 0 }) : itens} columns={[\r\n {\r\n title: 'Itens da Nota',\r\n width: 300,\r\n render: ({ checked, pro_codigo, pro_descricao, nfi_ean, grade, nfi_id }) => (\r\n
\r\n \r\n
\r\n { selecionarItem(nfi_id, ntf_id) }} />\r\n \r\n \r\n \r\n {pro_codigo}\r\n \r\n \r\n \r\n {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {nfi_ean}\r\n \r\n \r\n Grade: {grade}\r\n \r\n \r\n \r\n ),\r\n }, {\r\n title: 'CFOP',\r\n width: 50,\r\n align: 'center',\r\n render: (record) => (\r\n \r\n ),\r\n }, {\r\n title: 'CST/CSOSN',//`${record.nis_csosn ? 'CSOSN' : 'CST'}`,\r\n align: 'center',\r\n width: 40,\r\n render: ({ nig_origemmercadoria, nig_cst, nis_origemmercadoria, nis_csosn }) => (\r\n
\r\n
\r\n {nis_csosn ? nis_origemmercadoria + nis_csosn : nig_origemmercadoria + nig_cst}\r\n \r\n \r\n ),\r\n }, {\r\n title: 'Qtde',\r\n width: 70,\r\n align: 'right',\r\n render: ({ qtdeRestante, nfi_unidademedida }) => (\r\n
\r\n {FormatNumber(qtdeRestante, true, false, 3)} {nfi_unidademedida}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Unit.(R$)',\r\n width: 80,\r\n align: 'right',\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Desc.(R$)',\r\n width: 70,\r\n align: 'right',\r\n render: ({ valorDescontoRateio }) => (\r\n
\r\n {FormatNumber(valorDescontoRateio, true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Frete.(R$)',\r\n width: 70,\r\n align: 'right',\r\n render: ({ nfi_valorfrete }) => (\r\n
\r\n {FormatNumber(nfi_valorfrete, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Total(R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ nfi_valorunitario, qtdeRestante, valorDescontoRateio }) => (\r\n
\r\n {FormatNumber((nfi_valorunitario * qtdeRestante) - valorDescontoRateio, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} pagination={false} scroll={{ x: 900 }} />\r\n \r\n \r\n ,\r\n defaultExpandAllRows: true,\r\n expandIconColumnIndex: -1\r\n }} />\r\n \r\n \r\n \r\n { selecionarCFOP(cfo_cfop) }} fecharModal={() => setOpenModalEditarCFOP(false)} listaCFOP={{ listaCFOP, setListaCFOP }} />\r\n { salvarItemNota() }} cancelar={() => setOpenModalEditarItemDevolucao(false)} itemEditar={itemEditar} />\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Card, Form, Typography, Input, Divider } from \"antd\";\r\n\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { validarNumeros } from \"../../services/funcoes\";\r\n\r\nexport default function TabResumo({ form, listaNotaDevolucao, resumoNota }) {\r\n\r\n useEffect(() => {\r\n let formulario = form.getFieldValue();\r\n let resumo = {\r\n valorProduto: 0,\r\n valorFrete: 0,\r\n valorOutros: 0,\r\n valorSeguro: 0,\r\n valorBaseICMS: 0,\r\n valorICMS: 0,\r\n valorBaseST: 0,\r\n valorICMSST: 0,\r\n valorBaseIPI: 0,\r\n valorIPI: 0,\r\n valorDesconto: 0,\r\n valorTotalNotaFiscal: 0\r\n };\r\n\r\n listaNotaDevolucao.listaNotaDevolucao.forEach((nota) => {\r\n nota.itens.forEach((item) => {\r\n resumo.valorProduto += (item.nfi_valorunitario * item.qtdeRestante) || 0;\r\n resumo.valorFrete += (item.valorFreteRateio) || 0;\r\n resumo.valorOutros += (item.valorOutrosRateio) || 0;\r\n resumo.valorSeguro += (item.valorSeguroRateio) || 0;\r\n resumo.valorDesconto += (item.valorDescontoRateio) || 0;\r\n resumo.valorBaseICMS += (item.nig_valorbc) || 0;\r\n resumo.valorICMS += (item.nig_valoricms) || 0;\r\n resumo.valorBaseST += (item.nig_valorbcst) || 0;\r\n resumo.valorICMSST += (item.nig_valoricmsst) || 0;\r\n resumo.valorBaseIPI += (item.npi_valorbcipi) || 0;\r\n resumo.valorIPI += (item.npi_valoripi) || 0;\r\n });\r\n \r\n });\r\n resumo.valorFrete += validarNumeros(formulario.valorFrete);\r\n resumo.valorSeguro += validarNumeros(formulario.valorSeguro);\r\n resumo.valorTotalNotaFiscal = resumo.valorProduto + resumo.valorOutros + resumo.valorIPI + resumo.valorICMSST - resumo.valorDesconto + resumo.valorFrete + resumo.valorSeguro; \r\n\r\n resumoNota.setResumoNota(resumo);\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Resumo da Nota Fiscal\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorProduto, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorFrete, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorSeguro, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorOutros, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorDesconto, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorBaseIPI, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorIPI, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorBaseICMS, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorICMS, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorBaseST, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorICMSST, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota\r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorTotalNotaFiscal, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Tag, Table, Modal } from \"antd\";\r\nimport { PlusOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\n\r\nexport default function TabNotasFiscais({ listaNotaDevolucao, retornaDescricaoStatus, adicionarNotas }) {\r\n\r\n function removeNotaFiscal(ntf_id){\r\n Modal.confirm({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: 'Remover a Nota Fiscal Selecionada?',\r\n okText: 'Sim, quero remover',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let lista = [...listaNotaDevolucao.listaNotaDevolucao];\r\n let indice = lista.findIndex(nota => nota.ntf_id === ntf_id);\r\n lista.splice(indice, 1);\r\n listaNotaDevolucao.setListaNotaDevolucao(lista);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Notas Notas Fiscais Referenciadas\r\n \r\n Referencie todas as notas que deseja devolver para o mesmo destinatário aqui! \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n \r\n {retornaDescricaoStatus(ntf_status)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {ntf_numero}\r\n \r\n \r\n \r\n ),\r\n }, {\r\n title: 'Outras Informações',\r\n render: ({ tip_descricao, ser_serie, ntf_dataemissao, ntf_finalidadeNfe, ntf_chavenfe, pes_nome }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n \r\n \r\n Série: {(!!ser_serie > 0 ? ser_serie : '')}\r\n \r\n \r\n Emissão: {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n Nota de: {tip_descricao}\r\n \r\n \r\n Finalidade: {ntf_finalidadeNfe}\r\n \r\n {!(!!ntf_chavenfe) && \r\n NF-e não gerada\r\n }\r\n {!!ntf_chavenfe && \r\n NF-e: {ntf_chavenfe}\r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n width: 220,\r\n render: ({ totalNfe }) => (\r\n
\r\n {FormatNumber(totalNfe, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: ({ntf_id}) => (\r\n
\r\n \r\n
\r\n \r\n {ambiente === 2 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({op.ope_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n {!!dadosNfe.dadosNfeDevolucao.pes_id &&\r\n \r\n \r\n
{dadosNfe.dadosNfeDevolucao.ntf_nomedest}
\r\n
\r\n \r\n }\r\n {!!!dadosNfe.dadosNfeDevolucao.pes_id &&\r\n \r\n \r\n {\r\n validarFisicoJuridico(valor); listarClienteCpfCnpj(valor.currentTarget.value.replace(/\\D/g, ''));\r\n }}\r\n />\r\n \r\n \r\n }\r\n {!!!dadosNfe.dadosNfeDevolucao.pes_id &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(!!!dadosNfe.dadosNfeDevolucao.pes_id && pages.tagPages === 0 && !possuiCliente) &&\r\n <>\r\n \r\n \r\n \r\n \r\n {!isEstrangeiro && \r\n verificaCep(cep.target.value)} onPressEnter={(cep) => verificaCep(cep.target.value)} />\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({tipoEnd.pse_nome})\r\n }\r\n />\r\n {/* \r\n {listaPais.map(pais => (\r\n {pais.pse_nome}\r\n ))}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(!!!dadosNfe.dadosNfeDevolucao.pes_id && pages.tagPages === 0 && !possuiCliente) &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({tipoEnd.tpe_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n ({tp.tpt_descricao})\r\n } />\r\n \r\n */}\r\n \r\n }\r\n {(!!!dadosNfe.dadosNfeDevolucao.pes_id && pages.tagPages === 0 && !possuiCliente) &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n \r\n }\r\n {pages.tagPages === 1 &&\r\n \r\n }\r\n {pages.tagPages === 2 &&\r\n \r\n }\r\n {pages.tagPages === 3 &&\r\n \r\n }\r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n \"Notas Notas Fiscais\r\n \r\n \r\n \r\n \r\n \r\n listarNotasReferenciadas(value)} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {ntf_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Status',\r\n align: 'center',\r\n width: 100,\r\n render: ({ ntf_status }) => (\r\n
\r\n \r\n \r\n {retornaDescricaoStatus(ntf_status)}\r\n \r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Outras Informações',\r\n render: ({ ntf_tipooperacao, ser_serie, ntf_dataemissao, ntf_finalidade, ntf_chavenfe, ntf_nomedest }) => (\r\n
\r\n \r\n
\r\n {ntf_nomedest}\r\n \r\n \r\n \r\n \r\n Série: {(!!ser_serie ? ser_serie : '')}\r\n \r\n \r\n Emissão: {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n Nota de: {ntf_tipooperacao === 0 ? 'Entrada' : 'Saída'}\r\n \r\n \r\n Finalidade: {listaFinalidadeNota[ntf_finalidade - 1].value}\r\n \r\n {!(!!ntf_chavenfe) && \r\n NF-e não gerada\r\n }\r\n {!!ntf_chavenfe && \r\n NF-e: {ntf_chavenfe}\r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n width: 220,\r\n align: 'right',\r\n render: ({ valortotalnota }) => (\r\n
\r\n {FormatNumber(valortotalnota, true)}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 35,\r\n render: ({ checked, key }) => (\r\n
\r\n \r\n
\r\n { selecionarNota(key) }} />\r\n \r\n \r\n \r\n ),\r\n }\r\n ]} scroll={{ x: 900 }} />\r\n \r\n \r\n \r\n \r\n }\r\n { setOpenDevolucaoSubstituicaoTributaria(false) }} aoSalvar={(dadosNotaDevSt) => { setOpenDevolucaoSubstituicaoTributaria(false); salvarNotaAjuste(dadosNotaDevSt) }} dadosNfe={dadosNfe} serieFiscal={serieFiscal} dadosNotaDevSt={dadosNotaDevSt} />\r\n { formulario.setFieldsValue({ antecipacaoEstorno: 1 }); setOpenModalAntecipacao(false) }} aoSalvar={() => { setOpenModalAntecipacao(false); salvarNotaDevolucao() }} />\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, RightOutlined, LeftOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from \"../../components\";\r\nimport NotaDevolucao from '../notaFiscalDevolucao/index';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerDevolucao({ dadosNfeDevolucao }) {\r\n\r\n const [formDevolucao] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [tagPages, setTagPages] = useState(null);\r\n const [adicionarNotas, setAdicionarNotas] = useState(false);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n\r\n function fecharDrawer() {\r\n formDevolucao.resetFields();\r\n setProximaPag(null);\r\n setTagPages(0);\r\n setAdicionarNotas(false);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerDevolucao: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Select, Input, Alert, Tooltip, notification, Modal } from \"antd\";\r\nimport { QuestionCircleOutlined, CheckCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { Data, InputPreco, SelectPaginacao } from \"../../components\";\r\nimport { novaAbaNavegador } from \"../../services/funcoes\";\r\nimport { getEmpresa, getLocal } from \"../../services/auth\";\r\nimport { MaskFormat } from '../../ValueObjects/index';\r\n\r\nexport default function NotaFiscalDebitoCredito({ formulario, carregando, aoSalvar }) {\r\n\r\n const [ambiente, setAmbiente] = useState([]);\r\n const [operacao, setOperacao] = useState([]);\r\n const [serieFiscal, setSerieFiscal] = useState([]);\r\n const [listaPessoas, setListaPessoas] = useState([]);\r\n const [exibeDestinatario, setExibeDestinatario] = useState(false);\r\n const [dadosContribuinte, setDadosContribuinte] = useState({});\r\n const [editando, setEditando] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = (values) => {\r\n values.ntf_numero = !!values.ntf_numero ? values.ntf_numero : dadosContribuinte.ntf_numero;\r\n values.ntf_status = 1;\r\n values.baseCalculo = !!values.baseCalculo ? values.baseCalculo : 0;\r\n values.valorDebitoCredito = !!values.valorDebitoCredito ? values.valorDebitoCredito : 0;\r\n values.emitirNfe = true;\r\n values.dadosContribuinte = dadosContribuinte;\r\n values.dadosDestinatario = listaPessoas.find((pes) => { return pes.pes_id === values.pes_id });\r\n values.operacao = operacao.filter((odc) => odc.odc_id === values.odc_id)[0];\r\n\r\n carregando(true);\r\n if (values.ntf_id) {\r\n api.put('/NotaFiscalDebitoCredito/Alterar', values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados foram salvos com sucesso!\" });\r\n if (res.data.ntf_status === 1 && !!res.data.ntf_chavenfe) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${res.data.ntf_chavenfe}`);\r\n }\r\n }\r\n }, erro => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.warning({\r\n content: erro.response.data.Message,\r\n title: 'Aviso',\r\n onOk: () => {\r\n aoSalvar();\r\n }\r\n })\r\n }\r\n console.log(erro);\r\n // notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n api.post('/NotaFiscalDebitoCredito/Incluir', values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados foram salvos com sucesso!\" });\r\n if (res.data.ntf_status === 1 && !!res.data.ntf_chavenfe) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${res.data.ntf_chavenfe}`);\r\n }\r\n }).catch(\r\n erro => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.warning({\r\n content: erro.response.data.Message,\r\n title: 'Aviso',\r\n onOk: () => {\r\n aoSalvar();\r\n }\r\n })\r\n }\r\n console.log(erro);\r\n // notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Nfe/VerificarAmbiente?codigoLocal=${getLocal()}`).then(retornoAmbiente => {\r\n if (!!retornoAmbiente.data) {\r\n setAmbiente(retornoAmbiente.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n\r\n api.get(`OperacaoDebitoCredito/Listar`).then(res => {\r\n if (res.status === 200) {\r\n setOperacao(res.data.items);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`SerieFiscal/Listar?EmitenteDocumento=0&CodigoModeloDocFiscal=55&SomenteAtivos=true`).then(res => {\r\n if (res.status === 200) {\r\n setSerieFiscal(res.data.items);\r\n if (res.data.items.length === 1) {\r\n formulario.setFieldsValue({ ser_id: res.data.items[0].ser_id });\r\n }\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n // api.get(`Pessoa/ListarPessoasAtivas`).then(\r\n // res => {\r\n // if (res.status === 200) {\r\n // setListaPessoas(res.data.items);\r\n // }\r\n // }).catch((erro) => console.error(erro));\r\n\r\n api.get(`dadosContribuinte/Buscar`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosContribuinte(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawerExtra && operacao.length > 0) {\r\n verificarOperacao();\r\n if (!!formulario.getFieldValue().pes_id) {\r\n verificarPessoaContribuinte(formulario.getFieldValue().pes_id);\r\n }\r\n }\r\n if (!!manutencao.dados) {\r\n setEditando(true);\r\n formulario.setFieldsValue(manutencao.dados);\r\n } else {\r\n formulario.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }, [ui.showDrawerExtra, operacao]);\r\n\r\n function verificarOperacao() {\r\n if (!!formulario.getFieldValue().odc_id) {\r\n let odc = operacao.find((odc) => { return odc.odc_id === formulario.getFieldValue().odc_id });\r\n if (odc.cfo_cfop > 5000) {\r\n setExibeDestinatario(true);\r\n }\r\n } else {\r\n setExibeDestinatario(false);\r\n }\r\n };\r\n\r\n function verificarPessoaContribuinte(id) {\r\n if (!!id && !listaPessoas.find((pes) => { return pes.pes_id === id }).pej_inscricaoestadual) {\r\n formulario.setFieldsValue({ pes_id: null });\r\n notification.error({ message: 'Destinatário inválido para este tipo de operação', description: \"Não é possível emitir NF-e de Débito ou Crédito de ICMS para não Contribuinte de ICMS - Verifique no cadastro do destinatário a informação da Inscrição Estadual!\" });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {ambiente === 2 &&\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {!!editando && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibeDestinatario &&\r\n \r\n \r\n {\r\n verificarPessoaContribuinte(dados)\r\n }} conteudo={\r\n pc => ({pc.pes_id} - {pc.pes_nome}
\r\n {(!!pc.pej_cnpj ? `CNPJ.: ${MaskFormat(pc.pej_cnpj, '', true)}` : !!pc.pef_cpf ? `CPF.: ${MaskFormat(pc.pef_cpf, '', true)}` : '')}
\r\n {(!!pc.pej_inscricaoestadual ? ` IE.: ${pc.pej_inscricaoestadual}` : '')}\r\n
)\r\n } />\r\n
\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from \"../../components\";\r\nimport NotaFiscalDebitoCredito from './debitoCredito';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerDebitoCredito() {\r\n\r\n const [formDebitoCredito] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (manutencao.dados !== null) {\r\n formDebitoCredito.setFieldsValue(manutencao.dados);\r\n } else {\r\n ///formNotaFiscal.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formDebitoCredito.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: false } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n return (\r\n\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React from 'react';\r\nimport { Modal } from \"antd\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { manutencaoActions } from '../../actions';\r\nimport { DetalheNotaFiscal } from \"../../components\";\r\n\r\nexport default function ModalDetalheNotaFiscal({ exibirModal, fecharModal, dadosModal }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const onClose = () => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n fecharModal();\r\n };\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n\r\n )\r\n}","import { Col, Divider, Form, Input, Row, Select, Typography, notification } from 'antd';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { InputCep, InputCpfCnpj, SelectIncluir, SelectPaginacao } from '../../components';\r\nimport { MaskFormat } from '../../ValueObjects';\r\nimport { useStateValue } from '../../state';\r\nimport api from '../../services/api';\r\nimport { selectPaginadoActions } from '../../actions';\r\nimport { ModalTelefone } from '../../components/modals';\r\n\r\nexport default function FornecedorNFE({ form, dadosEndereco, setDadosFornecedor }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [openDrawerFornecedor, setOpenDrawerFornecedor] = useState(false);\r\n const [listaEndereco, setListaEndereco] = useState([]);\r\n const [listaEmail, setListaEmail] = useState([]);\r\n const [dadosTelefone, setDadosTelefone] = useState([]);\r\n const [abreModalTelefone, setAbreModalTelefone] = useState(false);\r\n const [pessoaFisica, setPessoaFisica] = useState(1);\r\n const [formularioTelefone] = Form.useForm();\r\n\r\n useEffect(() => {\r\n if (listaEndereco?.length > 0 && !!form.getFieldValue().ntf_endereco) {\r\n buscarDadosEndereco(form.getFieldValue().ntf_endereco);\r\n }\r\n }, [listaEndereco]);\r\n\r\n\r\n async function buscarDadosFornecedor(registro) {\r\n if (registro) {\r\n\r\n let fornecedor = (await api.get(`Fornecedor/BuscarFornecedor/${registro}`)).data;\r\n if (fornecedor) {\r\n\r\n if (fornecedor.pef_produtorrural) {\r\n form.setFieldsValue({ 'pej_inscricaoestadual': fornecedor?.endereco[0].pie_inscricaoestadual });\r\n } else {\r\n form.setFieldsValue({ 'pej_inscricaoestadual': fornecedor.pej_inscricaoestadual });\r\n }\r\n let enderecoP = fornecedor.enderecos?.find(e => e.pee_enderecoprincipal);\r\n if (!!enderecoP) {\r\n form.setFieldsValue({ 'ntf_endereco': enderecoP.pee_id });\r\n }\r\n let telefoneP = fornecedor.telefones?.find(t => t.psc_principal);\r\n if (!!telefoneP) {\r\n form.setFieldsValue({ 'telefoneDestinatario': telefoneP.psc_id });\r\n }\r\n let emailP = fornecedor.emails?.find(e => e.pem_emailprincipal);\r\n if (!!emailP) {\r\n form.setFieldsValue({ 'ntf_emaildestinatario': emailP.pem_id })\r\n }\r\n setDadosTelefone(fornecedor.telefones);\r\n setListaEndereco(fornecedor.enderecos);\r\n setListaEmail(fornecedor.emails);\r\n setarCpfCnpj(fornecedor);\r\n setDadosFornecedor(fornecedor);\r\n }\r\n }\r\n }\r\n\r\n function buscarDadosEndereco(pee_id) {\r\n let end = listaEndereco.filter((end) => (end.pee_id === pee_id))[0];\r\n if (!!end) {\r\n form.setFieldsValue({ pse_id: end.pse_id });\r\n if (end.pse_id) {\r\n let lista = [];\r\n lista.push({ name: \"pse_id\", campo: \"pse_id\", value: end.pse_id });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n if (end.pie_inscricaoestadual) {\r\n form.setFieldsValue({ 'pej_inscricaoestadual': end.pie_inscricaoestadual });\r\n }\r\n form.setFieldsValue({ cep_cep: end.cep_cep });\r\n buscarCep(end.cep_cep);\r\n dadosEndereco(end);\r\n form.setFieldsValue({ bai_nome: end.bai_nome });\r\n form.setFieldsValue({ pee_numero: end.pee_numero });\r\n form.setFieldsValue({ pee_complemento: end.pee_complemento });\r\n }\r\n }\r\n\r\n function buscarCep(cep) {\r\n fetch(`https://viacep.com.br/ws/${cep.replace(`-`, ``)}/json/`)\r\n .then(\r\n res => res.json()\r\n ).then(\r\n result => {\r\n form.setFieldsValue({ cidade: `${result.localidade} / ${result.uf}` });\r\n },\r\n erro => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n );\r\n };\r\n\r\n function adicionarTelefone() {\r\n if (!!form.getFieldValue().pes_id) {\r\n setAbreModalTelefone(true);\r\n } else {\r\n notification.warning({ message: 'Aviso', description: \"Favor informar um cliente!\" });\r\n }\r\n };\r\n\r\n function onCloseModalTelefone() {\r\n setAbreModalTelefone(false);\r\n };\r\n\r\n function setarCpfCnpj(registro) {\r\n let cpfCnpj = '';\r\n if (registro.pes_fisicajuridica > 0) {\r\n setPessoaFisica(registro.pes_fisicajuridica)\r\n if (registro.pes_fisicajuridica === 1) {\r\n cpfCnpj = registro.pef_cpf;\r\n } else if (registro.pes_fisicajuridica === 2) {\r\n cpfCnpj = registro.pej_cnpj;\r\n } else if (registro.pes_fisicajuridica === 3) {\r\n cpfCnpj = registro.pes_idestrangeiro;\r\n }\r\n form.setFieldsValue({ ntf_cpfcnpj: cpfCnpj });\r\n } else {\r\n notification.warn(\"Fornecedor informado com cadastro de pessoa física/jurídica/estrangeira incorreto!\");\r\n form.setFieldsValue({ for_id: null });\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n setOpenDrawerFornecedor(true)}\r\n nameValue=\"for_id\" allowClear={true} onChangeFunction={(dados) => {\r\n buscarDadosFornecedor(dados)\r\n }} conteudo={\r\n pc => ({pc.for_codigo} - {pc.pes_nome}
\r\n {(!!pc.pej_cnpj ? `CNPJ.: ${MaskFormat(pc.pej_cnpj, '', true)}` : !!pc.pef_cpf ? `CPF.: ${MaskFormat(pc.pef_cpf, '', true)}` : '')}\r\n
)\r\n } />\r\n
\r\n \r\n \r\n {pessoaFisica === 1 &&\r\n \r\n }\r\n {pessoaFisica === 2 &&\r\n \r\n }\r\n {pessoaFisica === 3 &&\r\n \r\n } \r\n \r\n { adicionarTelefone() }}\r\n campoDescricao={'psc_numero'}\r\n campoValue={'psc_id'}\r\n campokey={'psc_id'}\r\n placeHolder={'Selecione o Telefone'}\r\n labelFormItem={'Telefone'}\r\n nameFormItem={'telefoneDestinatario'} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Endereço\" Endereço\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({pse.pse_nome})\r\n } />\r\n \r\n \r\n \r\n { buscarCep(event.currentTarget.value) }} />\r\n \r\n \r\n \r\n \r\n Não sei o CEP\r\n \r\n \r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { onCloseModalTelefone() }} />\r\n\r\n \r\n );\r\n}","import { ExclamationCircleOutlined } from '@ant-design/icons';\r\nimport { Card, Col, Divider, Form, InputNumber, Modal, Row, Typography } from 'antd';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { FormasPagamento, InputPreco } from '../../components';\r\nimport { validarNumeros } from '../../services/funcoes';\r\nimport { useStateValue } from '../../state';\r\n\r\nexport default function FaturamentoNFE({ form, dadosItens, dadosOperacao }) {\r\n const [valorNota, setValorNota] = useState(0);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState(!!manutencao.dados && !!manutencao.dados.faturamento && manutencao.dados.faturamento.length > 0 ? manutencao.dados.faturamento : [])\r\n const [controlModal, setControlModal] = useState(false);\r\n useEffect(() => {\r\n calcularFaturamento();\r\n }, [manutencao.dados])\r\n\r\n function calcularFaturamento() {\r\n let formulario = form.getFieldValue();\r\n let subTotal = 0;\r\n dadosItens.forEach((item) => {\r\n subTotal += item.total;\r\n });\r\n form.setFieldsValue({ subTotalNotaFiscal: subTotal });\r\n form.setFieldsValue({ valorFrete: validarNumeros(formulario.valorFrete) });\r\n form.setFieldsValue({ valorSeguro: validarNumeros(formulario.valorSeguro) });\r\n\r\n setValorNota(parseFloat(subTotal) + parseFloat(formulario.valorFrete) + parseFloat(formulario.valorSeguro) + parseFloat(formulario.valorOutrasDespesas));\r\n };\r\n\r\n useEffect(() => {\r\n recalcularTotal();\r\n }, [valorNota]);\r\n\r\n function calcularDesconto(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorDesconto);\r\n let perc = validarNumeros(formulario.percentualDesconto);\r\n let tot = parseFloat(valorNota);\r\n let result = 0;\r\n\r\n if (listaFormaPagamento.length > 0 && !!!controlModal) {\r\n setControlModal(true);\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: 'Tem certeza que deseja adicionar desconto? As formas de pagamento terão que ser incluídas novamente.',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n setListaFormaPagamento([]);\r\n },\r\n onCancel() {\r\n form.setFieldsValue({ valorDesconto: 0, percentualDesconto: 0, valorTotal: listaFormaPagamento[0].pfp_valor });\r\n }\r\n });\r\n }\r\n\r\n\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorDesconto: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualDesconto: result.toFixed(2) });\r\n }\r\n\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function calcularAcrescimo(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorAcrescimo);\r\n let perc = validarNumeros(formulario.percentualAcrescimo);\r\n let tot = (!!valorNota ? parseFloat(valorNota) : 0);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorAcrescimo: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualAcrescimo: result.toFixed(2) });\r\n }\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function recalcularTotal() {\r\n let formulario = form.getFieldValue();\r\n let valor = 0;\r\n if (!!formulario) {\r\n valor = valorNota - validarNumeros(formulario.valorDesconto) + validarNumeros(formulario.valorAcrescimo);\r\n form.setFieldsValue({ valorTotal: valor.toFixed(2) });\r\n let valorPago = 0;\r\n if (!!manutencao.dados && !!manutencao.dados.faturamento) {\r\n manutencao.dados.faturamento.forEach((dadosFat) => {\r\n valorPago += parseFloat(dadosFat.pfp_valor);\r\n if (listaFormaPagamento.length == 0 || form.getFieldValue().valorDesconto > 0);\r\n {\r\n valorPago = 0;\r\n }\r\n });\r\n }\r\n form.setFieldsValue({ pfp_valor: (valor - valorPago).toFixed(2) });\r\n }\r\n };\r\n\r\n function vendedorDescMaxFinal() {\r\n let totalDesconto = 0;\r\n let totalValorDescontoItens = 0;\r\n dadosItens.forEach((itens) => {\r\n totalValorDescontoItens += parseFloat(itens.nfi_valordesconto);\r\n });\r\n let percentualDescontoConcedido = parseFloat(((totalValorDescontoItens * 100) / parseFloat(form.getFieldsValue().subTotalNotaFiscal)).toFixed(2));\r\n totalDesconto = percentualDescontoConcedido + parseFloat(form.getFieldValue().percentualDesconto);\r\n\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Totais da Nota Fiscal\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onBlur={() => { vendedorDescMaxFinal(); }}\r\n onChange={() => { calcularDesconto('PERC'); }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { vendedorDescMaxFinal(); }} onChange={() => { calcularDesconto('VALOR'); }} />\r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calcularAcrescimo('PERC') }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { calcularAcrescimo('VALOR') }} />\r\n \r\n \r\n \r\n \r\n IPI (R$): 0,00\r\n \r\n \r\n \r\n \r\n Substituição Tributária (R$): 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota (R$)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { Card, Col, Divider, Form, Input, InputNumber, Row, Typography } from 'antd';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { InputPreco } from '../../components';\r\n\r\n\r\nexport default function ResumoNFE({ form, itensNota }) {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Resumo da Nota Fiscal\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n disabled\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n disabled\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n IPI: R$ 0,00\r\n \r\n \r\n \r\n \r\n Substituição Tributária (R$): 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de Itens da Nota: {itensNota.length}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { FiltroProdutoNfi } from '../../components';\r\nimport { useStateValue } from '../../state';\r\nimport { Button, Col, Modal, Row, Table, Tag } from 'antd';\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { DeleteOutlined, EditOutlined, ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\n\r\nexport default function ItensNFE({ form, dadosItens, dadosEndereco, dadosOperacao, carregarPagina }) {\r\n const [quantidadeItens, setQuantidadeItens] = useState(0);\r\n const [valorTotal, setValorTotal] = useState(0);\r\n const [editando, setEditando] = useState(false);\r\n const [dadosEditando, setDadosEditando] = useState({});\r\n\r\n useEffect(() => {\r\n if (dadosItens.dadosItens.length > 0) {\r\n let total = 0;\r\n setQuantidadeItens(dadosItens.dadosItens.length);\r\n dadosItens.dadosItens.forEach((item) => {\r\n total += parseFloat(item.total);\r\n });\r\n setValorTotal(total);\r\n } else {\r\n setQuantidadeItens(0);\r\n setValorTotal(0);\r\n }\r\n }, [dadosItens.dadosItens]);\r\n\r\n function editarItemNota(registro) {\r\n setDadosEditando(registro);\r\n setEditando(true);\r\n };\r\n\r\n function removerItemNota(record, indice) {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: 'Deseja remover o item da nota?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let dadosTemp = [...dadosItens.dadosItens];\r\n let dadosRet = dadosTemp.filter((item) => item.nfi_numeroitem !== record.nfi_numeroitem);\r\n dadosItens.setDadosItens(dadosRet);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {!!dadosItens.dadosItens && dadosItens.dadosItens.length > 0 &&
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {nfi_ean}\r\n \r\n \r\n Grade: {grade}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'CFOP',\r\n align: 'center',\r\n width: 30,\r\n render: ({ nfi_cfop }) => (\r\n
\r\n {nfi_cfop}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 40,\r\n align: 'center',\r\n render: ({ nfi_qtde }) => (\r\n
\r\n {FormatNumber(nfi_qtde, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 50,\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desc.',\r\n align: 'center',\r\n width: 40,\r\n render: ({ percdesc }) => (\r\n
\r\n {percdesc}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Acres.',\r\n align: 'center',\r\n width: 40,\r\n render: ({ percacresc }) => (\r\n
\r\n {percacresc}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 60,\r\n render: ({ total }) => (\r\n
\r\n {FormatNumber(total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 40,\r\n fixed: 'right',\r\n render: (record, e, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n ICMS Base de Cálculo: {nig_valorbc}\r\n \r\n \r\n Alíquota: {nig_percicms}\r\n \r\n \r\n Valor (R$): {nig_valoricms}\r\n \r\n \r\n \r\n \r\n IPI Base de Cálculo: {npi_valorbcipi}\r\n \r\n \r\n Alíquota: {npi_percaliquotaipi}\r\n \r\n \r\n Valor (R$): {npi_valoripi}\r\n \r\n \r\n \r\n \r\n ICMS ST Base de Cálculo: {nig_valorbcst}\r\n \r\n \r\n Alíquota: {nig_percmvast}\r\n \r\n \r\n Valor (R$): {nig_valoricmsst}\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }} />}\r\n \r\n
\r\n \r\n
\r\n Quantidade Itens:\r\n \r\n \r\n {quantidadeItens}\r\n \r\n \r\n \r\n \r\n Valor Total dos Itens (R$):\r\n \r\n \r\n {FormatNumber(valorTotal, true)}\r\n \r\n \r\n \r\n \r\n )\r\n}","import { Col, Form, Radio, Row, Select, Tabs, notification } from 'antd';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { SelectPaginacao } from '../../components';\r\nimport { TabValores, TabVeiculo, TabVolumes } from '../tabNotaFiscal';\r\nimport api from '../../services/api';\r\n\r\n\r\nexport default function TransportadorNFE({ form, veiculos, dadosTransp }) {\r\n \r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [mostrarTransportador, setMostrarTransportador] = useState(true);\r\n const [possuiTransportador, setPossuiTransportador] = useState(false);\r\n const [listaTransportadores, setListaTransportadores] = useState([]);\r\n const [dadosVeiculos, setDadosVeiculos] = useState({});\r\n\r\n useEffect(() => {\r\n buscarTransportadores();\r\n if (!!form.getFieldValue().trv_id && !!form.getFieldValue().trn_id) {\r\n setPossuiTransportador(true);\r\n }\r\n if (form.getFieldValue().ntf_modalidadefrete === 9) {\r\n setMostrarTransportador(false);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue().trn_id) {\r\n buscarDadosTransp(form.getFieldValue().trn_id);\r\n }\r\n }, [listaTransportadores]);\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue().trv_id) {\r\n popularDadosVeiculo(form.getFieldValue().trv_id);\r\n }\r\n }, [veiculos.listaVeiculos]);\r\n\r\n function alterarFrete(event) {\r\n if (event.target.value === 9) {\r\n form.setFieldsValue({ trn_id: null });\r\n form.setFieldsValue({ trv_id: null });\r\n form.setFieldsValue({ valorFrete: null });\r\n form.setFieldsValue({ valorSeguro: null });\r\n form.setFieldsValue({ trv_placa: null });\r\n form.setFieldsValue({ trv_uf: null });\r\n form.setFieldsValue({ trv_rntc: null });\r\n form.setFieldsValue({ trv_modelo: null });\r\n form.setFieldsValue({ trv_marca: null });\r\n form.setFieldsValue({ trv_observacao: null });\r\n form.setFieldsValue({ nvl_qtdevolumes: null });\r\n form.setFieldsValue({ nvl_especievolume: null });\r\n form.setFieldsValue({ nvl_numeracaovolume: null });\r\n form.setFieldsValue({ nvl_marcavolume: null });\r\n form.setFieldsValue({ nvl_pesoliquido: null });\r\n form.setFieldsValue({ nvl_pesobruto: null });\r\n setDadosVeiculos({});\r\n setMostrarTransportador(false);\r\n } else {\r\n setMostrarTransportador(true);\r\n }\r\n };\r\n\r\n function buscarTransportadores() {\r\n api.get('Transportador/ListarTodos?filtro=').then(\r\n (res) => {\r\n setListaTransportadores(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n async function buscarDadosTransp(trn_id) {\r\n if (!!trn_id) {\r\n await api.get(`Transportador/BuscarTransportador/${trn_id}`).then(\r\n res => {\r\n if (res.status === 200){\r\n dadosTransp.setDadosTransp(res.data);\r\n veiculos.setListaVeiculos(res.data.veiculos);\r\n setPossuiTransportador(true);\r\n }\r\n }\r\n ).catch( error => {\r\n console.log(error);\r\n notification.warning({message: 'Aviso!', description: 'Erro ao buscar dados do transportador!'});\r\n })\r\n } else {\r\n setPossuiTransportador(false);\r\n }\r\n };\r\n\r\n function popularDadosVeiculo(trv_id) {\r\n let veiculo = veiculos.listaVeiculos.filter((veiculo) => (veiculo.trv_id === trv_id))[0];\r\n setDadosVeiculos(veiculo);\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n { alterarFrete(dados) }}>\r\n 0 - Contratação do Frete por conta do Remetente (CIF)\r\n 1 - Contratação do Frete por conta do Destinatário (FOB)\r\n 2 - Contratação do Frete por conta de Terceiros\r\n 3 - Transporte Próprio por conta do Remetente\r\n 4 - Transporte Próprio por conta do Destinatário\r\n 9 - Sem Frete\r\n \r\n \r\n \r\n \r\n {mostrarTransportador && \r\n \r\n \r\n buscarDadosTransp(dados)} conteudo={\r\n tp => ({tp.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(possuiTransportador && mostrarTransportador) &&
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
}\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Data, FormGW, SelectPaginacao, SelectPaginado } from '../../components';\r\nimport { Col, Form, Input, Row, Select, Spin, Steps, notification } from 'antd';\r\nimport { useStateValue } from '../../state';\r\nimport moment from 'moment';\r\nimport api from '../../services/api';\r\nimport FornecedorNFE from './fornecedorNFE';\r\nimport FaturamentoNFE from './faturamentoNFE';\r\nimport ResumoNFE from './resumoNFE';\r\nimport { novaAbaNavegador, validaForm, validarNumeros } from '../../services/funcoes';\r\nimport ItensNFE from './itensNFE';\r\nimport TransportadorNFE from './transportadorNFE';\r\nimport { manutencaoActions } from '../../actions';\r\nimport NotasBlocoNFE from './notasBlocoNFE';\r\n\r\n\r\nexport default function NFEntrada({ form, showDrawer, carregando, aoSalvar, pages, proximaPag }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [editando, setEditando] = useState(false);\r\n const [carregarPagina, setCarregarPagina] = useState(false);\r\n const [listaSerie, setListaSerie] = useState([]);\r\n const [dadosItens, setDadosItens] = useState([]);\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [dadosEndereco, setDadosEndereco] = useState({});\r\n const [operacaoFiscal, setOperacaoFiscal] = useState({});\r\n const [dadosFornecedor, setDadosFornecedor] = useState({});\r\n const [listaVeiculos, setListaVeiculos] = useState([]);\r\n const [dadosTransp, setDadosTransp] = useState({});\r\n const listaValidacoesForn = [\r\n { nome: 'ope_id', obrigatorio: true, label: 'Operação Fiscal' },\r\n { nome: 'for_id', obrigatorio: true, label: 'Fornecedor' }\r\n ];\r\n const pagamentosCodigos = {\r\n dinheiro: 1,\r\n cheque: 2,\r\n cartaoCredito: 3,\r\n cartaoDebito: 4,\r\n crediarioLoja: 5,\r\n valeAlimentacao: 6,\r\n valeRefeicao: 7,\r\n valeCombustivel: 9,\r\n antecipacao: 12,\r\n valePresente: 12,\r\n boleto: 15,\r\n depositoBancario: 16,\r\n pix: 17,\r\n transfBancaria: 18,\r\n semPagamento: 90,\r\n outro: 99\r\n };\r\n\r\n const popularOperacaoFiscal = (id) => {\r\n if (!!id) {\r\n api.get(`OperacaoFiscal/Buscar/${id}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setOperacaoFiscal(res.data);\r\n form.setFieldsValue({ ntf_indicadorpresenca: res.data.ope_indicadorpresenca });\r\n }\r\n }\r\n ).catch(\r\n error => { console.log(error); }\r\n )\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (showDrawer) {\r\n carregarDados();\r\n if (!!manutencao.dados && !!manutencao.dados.ntf_id) {\r\n form.setFieldsValue(manutencao.dados);\r\n setEditando(true);\r\n } else {\r\n setEditando(false);\r\n }\r\n if (!!!form.getFieldValue().ntf_dataemissao) {\r\n form.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }\r\n }, [showDrawer]);\r\n\r\n useEffect(() => {\r\n if (!!proximaPag.proximaPag || proximaPag.proximaPag === 0) {\r\n validarTrocaPg(proximaPag.proximaPag);\r\n }\r\n }, [proximaPag.proximaPag]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.faturamento) {\r\n setListaFormaPagamento(manutencao.dados.faturamento);\r\n }\r\n\r\n if (!!manutencao.dados.formaPgto && !!!manutencao.dados.faturamento) {\r\n manutencao.dados.formaPgto.forEach((formas) => {\r\n formas.pfp_valor = parseFloat(formas.nfp_valor);\r\n });\r\n let dadosFormaPgto = [...manutencao.dados.formaPgto];\r\n dadosFormaPgto = manutencao.dados.formaPgto.filter((dados) => dados.fpg_tipopagamento !== pagamentosCodigos.crediarioLoja && !dados.fpg_quitacaoantecipacao);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ faturamento: dadosFormaPgto } } } });\r\n }\r\n /*if (!!manutencao.dados.pes_id && (!!!manutencao.dados.destinatario || (manutencao.dados.destinatario.pes_id !== manutencao.dados.pes_id))) {\r\n let lista = [];\r\n lista.push({ name: \"pes_id\", campo: \"Filtro\", value: manutencao.dados.pes_id });\r\n lista.push({ name: \"ope_id\", campo: \"CodigoOperacao\", value: manutencao.dados.ope_id });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n buscarDadosCliente(manutencao.dados.pes_id);\r\n popularOperacaoFiscal(manutencao.dados.ope_id);\r\n }*/\r\n if (!!manutencao.dados && !!manutencao.dados.itensNf) {\r\n if (!!manutencao.dados.itensNf[0].ntf_id) {\r\n calcularFrete(manutencao.dados.itensNf);\r\n }\r\n if (dadosItens.length === 0) {\r\n setDadosItens(manutencao.dados.itensNf);\r\n }\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n async function carregarDados() {\r\n setCarregarPagina(true);\r\n let listaSerie = await api.get('SerieFiscal/Listar?EmitenteDocumento=0&CodigoModeloDocFiscal=55&SomenteAtivos=true');\r\n let serie = [];\r\n if (listaSerie.status === 200) {\r\n serie = listaSerie.data.items;\r\n setListaSerie(serie);\r\n if (serie.length > 0) {\r\n form.setFieldsValue({ ser_id: serie[0].ser_id });\r\n }\r\n }\r\n setCarregarPagina(false);\r\n }\r\n\r\n async function validarTrocaPg(pagina) {\r\n let paginaAtual = pages.tagPages;\r\n let listaValidacoes = [];\r\n switch (paginaAtual) {\r\n case 0:\r\n listaValidacoes = listaValidacoesForn;\r\n if (!await validarFornecedor()) {\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n break;\r\n case 1:\r\n if (paginaAtual < pagina) {\r\n if (!!dadosItens && dadosItens.length === 0) {\r\n notification.warning({ message: 'Aviso', description: 'Nota Fiscal deve ter ao menos 1 item!' });\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n break;\r\n\r\n case 3:\r\n if (paginaAtual < pagina) {\r\n listaValidacoes = [];\r\n let validaFaturamento = await validarFaturamento();\r\n if (validaFaturamento === false && listaFormaPagamento.length === 0) {\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n break;\r\n }\r\n if (validaForm(form, listaValidacoes)) {\r\n pages.setTagPages(pagina);\r\n } else {\r\n proximaPag.setProximaPag(paginaAtual);\r\n }\r\n };\r\n\r\n async function validarFaturamento() {\r\n let formulario = form.getFieldsValue();\r\n let retorno = true;\r\n let valorTotal = 0;\r\n let operacao = operacaoFiscal;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach(forma => {\r\n valorTotal += parseFloat(forma.pfp_valor);\r\n if (forma.editando == true) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor salvar as alterações em andamento nas parcelas(forma pagamento) para continuar!' });\r\n }\r\n });\r\n if (parseFloat(formulario.valorTotal) === 0) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso!', description: 'Valor da Nota Inválido!' });\r\n } else {\r\n if ((validarNumeros(formulario.valorTotal) == !parseFloat(valorTotal.toFixed(2))) || operacao.tip_id == !5) {\r\n notification.warning({ message: 'Aviso', description: 'Valor informado nas formas de pagamento é menor que o valor total da nota!' });\r\n }\r\n }\r\n } else {\r\n if (!!formulario.fpg_id) {\r\n let formaPagamento = (await api.get(`FormaPagamento/Get?id=${formulario.fpg_id}`)).data;\r\n if (!listaFormaPagamento.cpg_id) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n else if (formaPagamento.fpg_tipoavistaaprazo === 1) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n } else {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n }\r\n return retorno;\r\n }\r\n\r\n async function validarFornecedor() {\r\n return true;\r\n }\r\n\r\n async function ValidarNota(dados) {\r\n dados = await popularDados();\r\n dados.gerarBoleto = false;\r\n dados.ntf_ufdest = dados.notaFiscalDestinatario?.ntf_ufdest;\r\n dados.notaFiscalFaturamento.forEach((formasPgto) => {\r\n if (formasPgto.fpg_tipopagamento === pagamentosCodigos.boleto) {\r\n dados.gerarBoleto = true;\r\n }\r\n });\r\n dados.ntf_modalidadefrete = !!dados.notaFiscalTransportadora ? dados.notaFiscalTransportadora.ntf_modalidadefrete : 9;\r\n if (!!form.getFieldValue().ntf_id) {\r\n dados.ntf_id = form.getFieldValue().ntf_id;\r\n } else {\r\n dados.ntf_dhsaient = moment(new Date());\r\n }\r\n SalvarNota(dados);\r\n }\r\n\r\n async function popularDados() {\r\n let valores = form.getFieldsValue();\r\n let dados = form.getFieldValue();\r\n valores.ntf_docfiscal = !!dados.ser_id;\r\n valores.notafiscalitens = popularDadosItens(dados);\r\n valores.notaFiscalFaturamento = preencherDadosFaturamento(dados);\r\n valores.notaFiscalDestinatario = await preencherDadosDestinatario(dados);\r\n valores.notaFiscalTransportadora = preencherDadosTransportadores(dados);\r\n valores.tipooperacao = operacaoFiscal;\r\n valores.serieFiscal = preencherDadosSerieFiscal(dados);\r\n return valores;\r\n };\r\n\r\n function popularDadosItens(dados) {\r\n let valorFrete = dados.valorFrete;\r\n let valorSeguro = dados.valorSeguro;\r\n let qtdTotalItens = 0;\r\n let freteUn = 0;\r\n let seguroUn = 0;\r\n dadosItens.forEach((itens) => {\r\n qtdTotalItens += itens.nfi_qtde;\r\n itens.nfi_numeropedidocompra = !!itens.nfi_numeropedidocompra ? itens.nfi_numeropedidocompra.toString() : '';\r\n });\r\n freteUn = valorFrete / qtdTotalItens;\r\n seguroUn = valorSeguro / qtdTotalItens;\r\n dadosItens.forEach((itens) => {\r\n itens.nfi_valorfrete = freteUn * dados.nfi_qtde;\r\n itens.nfi_valorseguro = seguroUn * dados.nfi_qtde;\r\n });\r\n return dadosItens;\r\n };\r\n\r\n function preencherDadosFaturamento() {\r\n let dadosForma = [];\r\n let recebimentoCartao = !!manutencao.dados.recebimentoCartao ? manutencao.dados.recebimentoCartao[0] : null;\r\n listaFormaPagamento.forEach(forma => {\r\n let aux = { ...forma };\r\n aux.fpg_id = forma.fpg_id;\r\n aux.cpg_id = forma.cpg_id;\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.cheque && !!manutencao.dados.dadosModalCheque) {\r\n aux.ctc_id = manutencao.dados.dadosModalCheque.contaCorrente;\r\n aux.cheques = manutencao.dados.dadosModalCheque.cheques;\r\n }\r\n aux.nfp_valor = parseFloat(forma.pfp_valor);\r\n aux.bce_id = !!recebimentoCartao ? recebimentoCartao.bce_id : null;\r\n aux.rcc_nsu = !!recebimentoCartao ? recebimentoCartao.rcc_nsu : null;\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.antecipacao) {\r\n aux.antecipacoes = forma.formaPagamento.antecipacoes;\r\n } else {\r\n aux.antecipacoes = [];\r\n }\r\n dadosForma.push(aux);\r\n });\r\n return dadosForma;\r\n };\r\n\r\n async function preencherDadosDestinatario(form) {\r\n let dadosDestinatario = {};\r\n let enderecoDest = dadosEndereco;\r\n let telefoneDest = dadosFornecedor.telefones?.filter(pt => pt.psc_id === form.telefoneDestinatario)[0];\r\n let emailDest = dadosFornecedor.emails?.filter(pem => pem.pem_id === form.ntf_emaildestinatario)[0];\r\n // dadosDestinatario.pes_id = dadosFornecedord.pes_id;\r\n dadosDestinatario.pes_fisicajuridica = dadosFornecedor.pes_fisicajuridica;\r\n dadosDestinatario.ntf_nomedest = dadosFornecedor.pes_nome;\r\n dadosDestinatario.ntf_cnpjcpfdest = (!!dadosFornecedor.pej_cnpj ? dadosFornecedor.pej_cnpj : dadosFornecedor.pef_cpf);\r\n dadosDestinatario.ntf_iedest = form.pej_inscricaoestadual;\r\n dadosDestinatario.ntf_idestrangeirodest = dadosFornecedor.pes_idestrangeiro;\r\n dadosDestinatario.ntf_logradourodest = enderecoDest?.log_logradouro;\r\n dadosDestinatario.ntf_numeroenderecodest = enderecoDest?.pee_numero;\r\n dadosDestinatario.ntf_complementodest = enderecoDest?.complemento;\r\n dadosDestinatario.ntf_bairrodest = enderecoDest?.bai_nome;\r\n dadosDestinatario.ntf_cepdest = enderecoDest?.cep_cep;\r\n dadosDestinatario.ntf_ufdest = enderecoDest?.est_sigla;\r\n dadosDestinatario.ntf_telefonedest = telefoneDest?.psc_numero ?? '';\r\n dadosDestinatario.ntf_emaildest = emailDest?.pem_email ?? null;\r\n return dadosDestinatario;\r\n };\r\n\r\n function preencherDadosTransportadores(form) {\r\n let dadosTransportador = {};\r\n let veiculoTransp = listaVeiculos.filter((veiculo) => (veiculo.trv_id = form.trv_id))[0];\r\n dadosTransportador.ntf_modalidadefrete = form.ntf_modalidadefrete;\r\n dadosTransportador.trn_id = !!dadosTransp && !!dadosTransp.trn_id ? dadosTransp.trn_id : null;\r\n dadosTransportador.trv_id = !!veiculoTransp ? veiculoTransp.trv_id : null;\r\n dadosTransportador.trv_observacao = !!veiculoTransp ? veiculoTransp.trv_observacao : null;\r\n dadosTransportador.trv_placa = !!veiculoTransp ? veiculoTransp.trv_placa : null;\r\n dadosTransportador.trv_uf = !!veiculoTransp ? veiculoTransp.trv_uf : null;\r\n dadosTransportador.trv_marca = !!veiculoTransp ? veiculoTransp.trv_marca : null;\r\n dadosTransportador.trv_modelo = !!veiculoTransp ? veiculoTransp.trv_modelo : null;\r\n dadosTransportador.trv_rntc = !!veiculoTransp ? veiculoTransp.trv_rntc : null;\r\n dadosTransportador.nvl_pesoliquido = form.nvl_pesoliquido;\r\n dadosTransportador.nvl_qtdevolumes = form.nvl_qtdevolumes;\r\n dadosTransportador.nvl_pesobruto = form.nvl_pesobruto;\r\n dadosTransportador.nvl_especievolume = form.nvl_especievolume;\r\n dadosTransportador.nvl_marcavolume = form.nvl_marcavolume;\r\n return dadosTransportador;\r\n };\r\n function preencherDadosSerieFiscal(dados) {\r\n let dadosSerieFiscal = listaSerie.filter((item) => (item.ser_id === dados.ser_id))[0];\r\n return dadosSerieFiscal;\r\n }\r\n\r\n async function SalvarNota(dados) {\r\n carregando(true);\r\n let res;\r\n let editando = false;\r\n /*\r\n if (!!dados.ntf_id) {\r\n res = await api.put(\"NotaFiscal/Editar\", dados);\r\n } else {\r\n res = await api.post(\"NotaFiscal/Incluir\", dados);\r\n }\r\n if (res.status == 200) {\r\n notification.success({ message: 'Sucesso', description: `Nota ${editando ? 'editada' : 'incluída'} com sucesso!` });\r\n\r\n if (res.data.ntf_status === 1 && !!res.data.ntf_chavenfe && !!res.data.ntf_docfiscal) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${res.data.ntf_chavenfe}`);\r\n }\r\n }*/\r\n carregando(false);\r\n }\r\n\r\n function calcularFrete() {\r\n let valorFrete = 0;\r\n manutencao.dados.itensNf.forEach((item) => {\r\n if (!!item.ped_id) {\r\n valorFrete += parseFloat(!!item.pdi_valorfrete ? item.pdi_valorfrete : 0);\r\n } else {\r\n valorFrete += parseFloat(!!item.nfi_valorfrete ? item.nfi_valorfrete : 0);\r\n }\r\n });\r\n form.setFieldsValue({ valorFrete: valorFrete });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {!!editando &&
\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n popularOperacaoFiscal(idOperacao)} conteudo={\r\n op => ({op.ope_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n proximaPag.setProximaPag(e);\r\n }} current={pages.tagPages}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n \r\n }\r\n {/* {pages.tagPages === 1 &&\r\n \r\n } */}\r\n {pages.tagPages === 2 &&\r\n \r\n }\r\n {pages.tagPages === 3 &&\r\n \r\n }\r\n {pages.tagPages === 4 &&\r\n \r\n }\r\n {pages.tagPages === 5 &&\r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, RightOutlined, LeftOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from \"../../components\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\nimport NFEntrada from '../notaFiscalEntrada/manutencao';\r\n\r\nexport default function DrawerEntrada({ showDrawer }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [formEntrada] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [adicionarNotas, setAdicionarNotas] = useState(false);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n\r\n function fecharDrawer() {\r\n formEntrada.resetFields();\r\n setTagPages(0);\r\n setProximaPag(null);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n showDrawer.setShowNFEntrada(false);\r\n\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Collapse, Tag, Dropdown, Menu, Popover, Modal, notification, Input } from \"antd\";\r\nimport {\r\n ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, EditOutlined, DeleteOutlined, CloseOutlined, PrinterOutlined, FileTextOutlined, DollarOutlined,\r\n TagOutlined, UndoOutlined, CloudUploadOutlined, MoreOutlined, SendOutlined, EyeOutlined, ExclamationCircleOutlined, StopOutlined, PlusOutlined, FileDoneOutlined\r\n} from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerNotaFiscal from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerDevolucao from './drawerDevolucao';\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport DrawerDebitoCredito from './drawerDebitoCredito';\r\nimport ModalDetalheNotaFiscal from \"./modalDetalheNotaFiscal\";\r\nimport { getEmpresa, getIdUsuario, getLocal } from \"../../services/auth\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { imprimirRelatorioJasper, novaAbaNavegador } from \"../../services/funcoes\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado, ComboData, TabelaDados, Inutilizar, ImportarXML, EmitirNotaFiscal, EmitirNotaFiscalDebito, EmitirNotaFiscalTransferencia, CancelarEstorno, Editar, Imprimir, Data, EmitirNotaFiscalEntada } from \"../../components\";\r\nimport { ModalImprimirEtiquetas, ModalDevolucao, ModalAjudaRejeicaoNfe, ModalEnvioNFeEmail, ModalCancelamentoNfe, ModalCartaCorrecaoNotaFiscal, ModalEstornoNfe, ModalInutilizarNota, ModalReenviarSefaz } from \"../../components/modals/\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport DrawerEntrada from \"./drawerEntrada\";\r\n\r\nexport default function NotaFiscal() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [formParam] = Form.useForm();\r\n const [openModalCartaCorrecao, setOpenModalCartaCorrecao] = useState(false);\r\n const [openModalExcluir, setOpenModalExcluir] = useState(false);\r\n const [openModalDevolucao, setOpenModalDevolucao] = useState(false);\r\n const [openModalEnvioNFeEmail, setOpenModalEnvioNFeEmail] = useState(false);\r\n const [openModalAjudaRejeicaoNfe, setOpenModalAjudaRejeicaoNfe] = useState(false);\r\n const [openModalCancelarEstornar, setOpenModalCancelarEstornar] = useState(false);\r\n const [openModalImprimirEtiquetas, setOpenModalImprimirEtiquetas] = useState(false);\r\n const [listaStatusNota, setListaStatusNota] = useState([]);\r\n const [listaFinalidadeNota, setListaFinalidadeNota] = useState([]);\r\n const [listaTipoNota, setListaTipoNota] = useState([]);\r\n const [open, setOpen] = useState(false);\r\n const [condicaoPagamento, setCondicaoPagamento] = useState([]);\r\n const [dadosNota, setDadosNota] = useState({});\r\n const [openModalEstorno, setOpenModalEstorno] = useState(false);\r\n const [openModalDetalhes, setOpenModalDetalhes] = useState(false);\r\n const [dadosDetalhesNota, setDadosDetalhesNota] = useState({});\r\n const [dadosNfeDevolucao, setDadosNfeDevolucao] = useState([]);\r\n const [dadosNfeEtiqueta, setDadosNfeEtiqueta] = useState({});\r\n const [exibirModalInutilizar, setExibirModalInutilizar] = useState(false);\r\n const [openModalReenviarSefaz, setModalReenviarSefaz] = useState(false);\r\n const [showNFEntrada, setShowNFEntrada] = useState(false);\r\n\r\n function menuEmitir() {\r\n return (\r\n \r\n \r\n {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true, editItem: false } });\r\n }} icon={}>\r\n Emitir Nota Fiscal\r\n \r\n \r\n \r\n \r\n {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: true } });\r\n }} icon={}>\r\n Emitir Nota Fiscal de Débito e Crédito\r\n \r\n \r\n \r\n }>\r\n \r\n Emitir Nota Fiscal de Transferência\r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function menuOutros() {\r\n return (\r\n \r\n \r\n }>\r\n Inutilizar Numeração de Nota Fiscal \r\n \r\n \r\n \r\n }>\r\n Importar XML \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const abrirEnvioEmail = (record) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } })\r\n setOpenModalEnvioNFeEmail(true);\r\n }\r\n\r\n useEffect(() => {\r\n form.setFieldsValue({ dataFinal: moment(new Date()) });\r\n form.setFieldsValue({ dataInicial: moment(form.getFieldValue().dataPesquisa) });\r\n filtrosAvancados();\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao'} });\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n retornaFinalidadeNota();\r\n retornaStatusNF();\r\n retornaTipoNota();\r\n };\r\n\r\n function retornaFinalidadeNota() {\r\n api.get('Enum/Listar?nome=FinalidadeNfe').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaFinalidadeNota(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function retornaStatusNF() {\r\n api.get('Enum/Listar?nome=StatusNFe').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaStatusNota(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function retornaTipoNota() {\r\n api.get('Enum/Listar?nome=TipoNota').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaTipoNota(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function retornaCondicaoPagamento(fpg_id) {\r\n api.get(`CondicaoPagamento/Listar?filtro=&codigoFormaPagamento=${fpg_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setCondicaoPagamento(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function abrirCartaCorrecao(record) {\r\n setDadosNota(record);\r\n setOpenModalCartaCorrecao(true);\r\n };\r\n\r\n function abrirCancelarNota(record) {\r\n api.get(`NotaFiscal/VerificarTempoEmissao?IdNotaFiscal=${record.ntf_id}`).then(\r\n res => {\r\n if (record.ntf_docfiscal) {\r\n if (!!res.data.terminouPrazoCancelamento) {\r\n api.get(`NotaFiscalDevolucao/VerificaDevolucaoTotal?IdNotaFiscal=${record.ntf_id}`).then(\r\n (res) => {\r\n if (!res.data) {\r\n record.horas = res.data.horas;\r\n record.dias = res.data.dias;\r\n setDadosNota(record);\r\n setOpenModalEstorno(true);\r\n } else {\r\n Modal.warning({\r\n title: \"Esta Nota Fiscal já foi totalmente extornada.\",\r\n });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n } else {\r\n setDadosNota(record);\r\n setOpenModalCancelarEstornar(true);\r\n }\r\n } else {\r\n setDadosNota(record);\r\n setOpenModalCancelarEstornar(true);\r\n }\r\n }\r\n )\r\n };\r\n\r\n\r\n function abrirExcluirNota(record) {\r\n setDadosNota(record);\r\n setOpenModalExcluir(true);\r\n };\r\n\r\n function recarregarLista() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao'} });\r\n };\r\n\r\n function removerNotaDigitacao(record) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Excluir a Nota Fiscal ${record.ntf_numero}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk() {\r\n excluirNota(record);\r\n },\r\n onCancel() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao'} });\r\n },\r\n })\r\n };\r\n\r\n function excluirNota(record) {\r\n api.post(`NotaFiscal/Excluir?notaFiscalId=${record.ntf_id}`).then(\r\n res => {\r\n notification.success({ message: 'Nota Fiscal Excluida Com Sucesso!' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao' } });\r\n }\r\n )\r\n };\r\n\r\n function imprimirDanfe(dados) {\r\n if (dados.ntf_status == 1 && !!dados.ntf_chavenfe && !!dados.ntf_docfiscal) {\r\n if (dados.mdf_id == \"55\") {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${dados.ntf_chavenfe}`)\r\n } else if (dados.mdf_id == \"65\") {\r\n notification.warning({ description: `Para reimprimir um cupom eletrônico acesso o módulo de PDV, va até a listagem de vendas e solicite a reimpressão do mesmo`, message: `Não é possível gerar um DANFe a partir de uma NFC-e (Cupom Fiscal Eletrônico)` })\r\n } else {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${dados.ntf_chavenfe}`);\r\n }\r\n }\r\n\r\n };\r\n\r\n function modalExcluirNotaCompra(dados) {\r\n Modal.confirm({\r\n title: 'Atenção',\r\n icon: ,\r\n content: `Está ação irá Excluir a Nota Fiscal de Entrada Nº ${dados.ntf_numero}, deseja realmente realizada excluir a nota fiscal?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk() {\r\n excluirNotaCompra(dados);\r\n },\r\n onCancel() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao' } });\r\n },\r\n })\r\n };\r\n\r\n function excluirNotaCompra(dados) {\r\n api.delete(`NotaFiscal/ExcluirNotaEntrada/${dados.ntf_id}`).then(\r\n res => {\r\n notification.success({ description: \"Registro excluído com sucesso!\", message: \"Aviso\" });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao' } });\r\n }\r\n ).catch(\r\n erro => {\r\n notification.error({ message: 'Não foi possivel excluir a Nota Fiscal !' });\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n \r\n function imprimirBoleto(record) {\r\n if(!!record.ntf_id){\r\n novaAbaNavegador(`Boleto/ImprimirBoletos/${record.ntf_id}`);\r\n }\r\n };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n {((record.ntf_status == 0 || record.ntf_status == 4) && record.ntf_finalidade != 4 && record.ntf_nroinutilizadosefaz == false) &&\r\n \r\n } onClick={() => {\r\n editarNota(record)\r\n }}> Editar\r\n \r\n }\r\n {(record.ntf_status === 4 || record.ntf_status === 0) && record.ntf_docfiscal === true &&\r\n \r\n }\r\n {record.ntf_status === 0 && record.ntf_docfiscal === false && \r\n \r\n }\r\n {(record.ntf_status === 1 && (record.ser_emitentedocumento === 0 || !!!record.ntf_docfiscal)) && \r\n } onClick={() => abrirCancelarNota(record)}>\r\n Cancelar/Estornar\r\n \r\n }\r\n {(record.ntf_status === 4 || record.ntf_status === 0) && record.ntf_docfiscal === true && \r\n \r\n }\r\n {record.ntf_status === 1 && record.ntf_docfiscal === true && record.ntf_tiponota === 1 && \r\n \r\n }\r\n {record.ntf_status === 1 && record.ntf_docfiscal === true && record.ser_emitentedocumento === 0 && \r\n \r\n }\r\n {(record.ntf_status === 1 && record.ntf_finalidade != 4) && \r\n \r\n }\r\n {record.ntf_status === 1 && record.ntf_docfiscal === true && \r\n \r\n }\r\n {(record.ntf_status === 1 && record.ntf_tiponota == 1) && \r\n \r\n }\r\n {record.ntf_status === 1 && (record.ntf_tiponota === 1 || record.ntf_tiponota === 2) && record.ser_emitentedocumento === 1 && \r\n \r\n }\r\n {/*Foi colocado para imprimir dentro da visualização, forma de pagamento um botão para impressão de boletos*/}\r\n {/* {record.formasPgto[0].fpg_emiteboleto === true && record.formasPgto[0].fpg_emiteboleto !== null &&\r\n \r\n } onClick={() => {\r\n imprimirBoleto(record)\r\n }}> Imprimir Boleto\r\n \r\n } */}\r\n \r\n )\r\n };\r\n\r\n function abrirNotaDevolucao(dadosNotaFiscalDevolucao) {\r\n if (!!dadosNotaFiscalDevolucao.ntf_id) {\r\n api.get(`NotaFiscalDevolucao/VerificaDevolucaoTotal?IdNotaFiscal=${dadosNotaFiscalDevolucao.ntf_id}`).then(\r\n (res) => {\r\n if (!res.data) {\r\n api.get(`NotaFiscalDevolucao/ListarNotaFiscalDevolucao?IdNotaFiscal=${dadosNotaFiscalDevolucao.ntf_id}`).then(\r\n res => {\r\n if (!!res.data) {\r\n res.data.itensNf?.forEach((item) => {\r\n item.valorDescontoRateio = (parseFloat(item.nfi_valordesconto) / item.nfi_qtde) * item.qtdeRestante;\r\n })\r\n setDadosNfeDevolucao(res.data);\r\n if (res.data.for_regimetributariofiscal === null && res.data.cli_regimetributariofiscal === null && res.data.pes_fisicajuridica === 2) {\r\n setOpenModalDevolucao(true);\r\n } else {\r\n abrirDrawerDevolucao(res.data);\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n } else {\r\n Modal.warning({\r\n title: \"Esta Nota Fiscal já foi totalmente devolvida.\",\r\n });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n };\r\n\r\n function inutilizarNota(dados) {\r\n setDadosNota(dados);\r\n setExibirModalInutilizar(true);\r\n };\r\n\r\n function autorizarNota(record) {\r\n setDadosNota(record);\r\n setModalReenviarSefaz(true);\r\n };\r\n\r\n function fecharModalInutilizar() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_dataemissao' } });\r\n setExibirModalInutilizar(false);\r\n }\r\n\r\n function abrirDrawerDevolucao(dados) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerDevolucao: true } });\r\n };\r\n\r\n async function visualizarNota(dados) {\r\n let retorno = [];\r\n let vendedor = [];\r\n if (!!dados.ntf_id) {\r\n retorno = await api.get(`NotaFiscal/ListarNotaFiscal?IdNotaFiscal=${dados.ntf_id}`);\r\n if (retorno.status === 200) {\r\n retorno = retorno.data;\r\n if (!!retorno.ven_id) {\r\n vendedor = await api.get(`Vendedor/RetornaVendedor?idVendedor=${retorno.ven_id}`);\r\n if (vendedor.status === 200) {\r\n retorno.nomeVendedor = vendedor.data.pes_nome;\r\n }\r\n }\r\n retorno.itensNf.forEach((item) => {\r\n let totalItemSemDesconto = parseFloat((item.nfi_qtde * item.nfi_valorunitario)).toFixed(2);\r\n item.perc_desconto = parseFloat((item.nfi_valordesconto / (totalItemSemDesconto)) * 100).toFixed(2);\r\n let valorDesconto = item.nfi_valordesconto;\r\n item.valor_item_desconto = parseFloat(totalItemSemDesconto - valorDesconto).toFixed(2);\r\n });\r\n setDadosDetalhesNota(retorno);\r\n setOpenModalDetalhes(true);\r\n }\r\n }\r\n };\r\n\r\n function menuTableOutros(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function imprimirDAVLS(registro) {\r\n Modal.confirm({\r\n title: 'Deseja imprimir em impressora não fiscal?',\r\n icon: ,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n novaAbaNavegador(`NotaFiscal/Imprimir?id=${registro.ntf_id}`);\r\n },\r\n onCancel() {\r\n imprimirRelatorioJasper(20, { idNotaFiscal: registro.ntf_id });\r\n }\r\n });\r\n };\r\n\r\n function retornaDescricaoStatus(ntf_status) {\r\n if (!!listaStatusNota) {\r\n let status = listaStatusNota.filter((statusNota) => (statusNota.key === ntf_status))[0];\r\n return !!status ? status.value : \"\";\r\n }\r\n };\r\n\r\n function editarNota(record) {\r\n if (record.ntf_tiponota === 3) {\r\n let dados = { ...record };\r\n dados.ntf_dataemissao = moment(dados.ntf_dataemissao);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerExtra: true } });\r\n } else {\r\n api.get(`NotaFiscal/ListarNotaFiscal?IdNotaFiscal=${record.ntf_id}`).then(\r\n res => {\r\n let dados = res.data;\r\n dados.ntf_dataemissao = moment(dados.ntf_dataemissao);\r\n dados.ntf_datainclusao = moment(dados.ntf_datainclusao);\r\n dados.ntf_dhsaient = moment(dados.ntf_dhsaient);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: res.data } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n function filtrosAvancados(value) {\r\n let sql = \"\";\r\n sql += !!formParam.getFieldValue().finalidade ? `&Finalidade=${formParam.getFieldValue().finalidade}` : \"\";\r\n sql += !!formParam.getFieldValue().status ? `&StatusNFe=${formParam.getFieldValue().status}` : \"\";\r\n sql += !!formParam.getFieldValue().tipoNota ? `&Tipo=${formParam.getFieldValue().tipoNota}` : \"\";\r\n sql += !!form.getFieldValue().modeloNota ? `&ModeloNota=${form.getFieldValue().modeloNota}` : \"\";\r\n sql += !!form.getFieldValue().condicaoPagamento ? `&CondicoesPagamento=${form.getFieldValue().condicaoPagamento}` : \"\";\r\n sql += !!form.getFieldValue().formaPagamento ? `&FormasPagamento=${form.getFieldValue().formaPagamento}` : \"\";\r\n sql += !!form.getFieldValue().operacaoFiscal ? `&OperacoesFiscais=${form.getFieldValue().operacaoFiscal}` : \"\";\r\n sql += !!form.getFieldValue().vendedor ? `&Vendedores=${form.getFieldValue().vendedor}` : \"\";\r\n sql += !!form.getFieldValue().dataInicial ? `&DataInicial=${moment(form.getFieldValue().dataInicial).format('YYYY-MM-DD')}` : `&dataInicial=${moment(new Date()).format('YYYY-MM-DD')}`;\r\n sql += !!form.getFieldValue().dataFinal ? `&DataFinal=${moment(form.getFieldValue().dataFinal).format('YYYY-MM-DD')}` : `&dataFinal=${moment(new Date).format('YYYY-MM-DD')}`;\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: `${!!value ? value : !!formParam.getFieldValue().filtroPor ? formParam.getFieldValue().filtroPor : ''}${sql}`, pagina: 1 } });\r\n };\r\n\r\n function visualizarDanfe(notaFiscal) {\r\n if (notaFiscal.ntf_modelo === '00') {\r\n imprimirRelatorioNaoFiscal(notaFiscal);\r\n } else {\r\n if (notaFiscal.ntf_status === 1)\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${notaFiscal.ntf_chavenfe}`);\r\n else\r\n notification.error({ message: 'Nota Fiscal ainda não foi aprovada na Sefaz!' });\r\n }\r\n };\r\n\r\n function consultaSefaz(chave) {\r\n window.open(`https://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConsulta=resumo&tipoConteudo=7PhJ+gAVw2g=&nfe=${chave}`, '_blank');\r\n };\r\n\r\n function imprimirRelatorioNaoFiscal(notaFiscal) {\r\n imprimirRelatorioJasper(20, { idNotaFiscal: notaFiscal.ntf_id });\r\n };\r\n\r\n function exportarXML(chaveNFe) {\r\n api.get(`NotaFiscal/ExportarXml?chaveNfe=${chaveNFe}`).then(\r\n res => {\r\n let linkOculto = document.createElement('a');\r\n linkOculto.href = 'data:text/xml,' + encodeURIComponent(atob(res.data));\r\n linkOculto.download = 'nfe' + chaveNFe + '.xml';\r\n document.body.appendChild(linkOculto);\r\n linkOculto.click();\r\n linkOculto.remove();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n const abrirImprimirEtiqueta = (record) => {\r\n setDadosNfeEtiqueta(record);\r\n setOpenModalImprimirEtiquetas(true);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n filtrosAvancados(valor)} allowClear />\r\n \r\n \r\n \r\n {\r\n form.setFieldsValue({ DataFinal: moment(new Date()) });\r\n form.setFieldsValue({ DataInicial: moment(form.getFieldValue().dataPesquisa) });\r\n form.setFieldsValue({ dataFinal: moment(new Date()) });\r\n form.setFieldsValue({ dataInicial: moment(form.getFieldValue().dataPesquisa) });\r\n filtrosAvancados();\r\n }} />\r\n \r\n \r\n \r\n filtrosAvancados()}\r\n mode=\"multiple\"\r\n placeholder=\"Tipo Nota\"\r\n >\r\n {listaTipoNota.map((tpNota) => (\r\n {tpNota.value}\r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n filtrosAvancados()}\r\n mode=\"multiple\"\r\n placeholder=\"Status Nota\"\r\n >\r\n {listaStatusNota.map((statusNota) => (\r\n {statusNota.value}\r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n filtrosAvancados()}\r\n >\r\n {listaFinalidadeNota.map((finalidade) => (\r\n {finalidade.value} \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n filtrosAvancados()} conteudo={\r\n pv => ({pv.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n filtrosAvancados()} conteudo={\r\n op => ({op.ope_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n { form.setFieldsValue({ condicaoPagamento: null }); retornaCondicaoPagamento(dados); filtrosAvancados() }}\r\n conteudo={\r\n fp => ({fp.fpg_descricao})} />\r\n \r\n \r\n \r\n \r\n filtrosAvancados()}\r\n >\r\n {condicaoPagamento.map((condPagamento) => (\r\n {condPagamento.cpg_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n filtrosAvancados()} />\r\n \r\n \r\n \r\n filtrosAvancados()}>\r\n NF-e\r\n NFC-e\r\n D.A.V\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {ntf_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 220,\r\n render: ({ ntf_status, tip_descricao }) => (\r\n
\r\n \r\n
\r\n \r\n \r\n {retornaDescricaoStatus(ntf_status)}\r\n \r\n \r\n \r\n \r\n \r\n {tip_descricao}\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Cliente',\r\n render: ({ ntf_nomedest }) => (\r\n
\r\n \r\n
\r\n {ntf_nomedest}\r\n \r\n {!!ntf_nomedest === false && \r\n Consumidor Final\r\n }\r\n\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Emissão',\r\n width: 140,\r\n render: ({ ntf_dataemissao }) => (\r\n
\r\n {moment(ntf_dataemissao).format('DD/MM/YYYY HH:mm')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Modelo',\r\n width: 80,\r\n align: 'center',\r\n render: ({ mdf_id, ser_serie }) => (\r\n
\r\n \r\n
\r\n {mdf_id}\r\n \r\n \r\n -\r\n \r\n \r\n {ser_serie}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n width: 200,\r\n render: ({ valor_total }) => (\r\n
\r\n {FormatNumber(valor_total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {mdf_descricao}\r\n \r\n \r\n \r\n \r\n Chave:\r\n \r\n {!!ntf_chavenfe === false && \r\n NF-e não gerada\r\n }\r\n {!!ntf_chavenfe && \r\n { visualizarDanfe({ ntf_chavenfe: ntf_chavenfe, ntf_modelo: ntf_modelo, ntf_id: ntf_id, ntf_status: ntf_status }) }}>Clique para visualizar o Danfe}>\r\n {ntf_chavenfe}\r\n \r\n }\r\n {ntf_status === 1 && ntf_modelo === \"55\" && \r\n { consultaSefaz(ntf_chavenfe) }} target=\"_blank\">\r\n Consultar Sefaz\r\n \r\n }\r\n \r\n \r\n\r\n \r\n Série: {(!!ntf_serie > 0 ? ntf_serie : 'Não Informada')}\r\n \r\n \r\n Finalidade: {(ntf_finalidade === 1) ? 'NF-e Normal' : (ntf_finalidade === 2) ? 'NF-e Complementar' : (ntf_finalidade === 3) ? 'NF-e de Ajuste' : (ntf_finalidade === 4) ? 'Devolução' : ''}\r\n \r\n {!!vendedor ? \r\n Vendedor: {vendedor}\r\n : null}\r\n \r\n \r\n \r\n Forma de Pagamento:\r\n \r\n \r\n {formasPgto.map((formas) => (\r\n <>\r\n \r\n {formas.fpg_descricao}{(!!formas.cpg_descricao) ? ' - ' + formas.cpg_descricao : '' + ' -'}\r\n \r\n \r\n R$ {FormatNumber(formas.nfp_valor, true)}\r\n \r\n \r\n ))}\r\n \r\n \r\n {(ntf_status == 3 || ntf_status == 4) && \r\n \r\n Rejeição: {ntf_cstat}{!!(ntf_xmotivo) ? (', ' + ntf_xmotivo) : ''}\r\n \r\n \r\n }\r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n { setOpenModalDetalhes(false) }} dadosModal={dadosDetalhesNota} />\r\n\r\n { setOpenModalImprimirEtiquetas(false); recarregarLista(); }} dadosNota={dadosNfeEtiqueta} />\r\n { setOpenModalAjudaRejeicaoNfe(false); recarregarLista(); }} />\r\n { setOpenModalCartaCorrecao(false); recarregarLista() }} />\r\n { setOpenModalDevolucao(false); if (openDrawerDevolucao) { abrirDrawerDevolucao(dadosNfeDevolucao) } }} />\r\n { setOpenModalEnvioNFeEmail(false); recarregarLista(); }} />\r\n { setOpenModalEstorno(false); recarregarLista(); }} />\r\n { setOpenModalExcluir(false); recarregarLista(); }} />\r\n { setOpenModalCancelarEstornar(false); recarregarLista() }} />\r\n { setExibirModalInutilizar(false); recarregarLista() }} />\r\n { setModalReenviarSefaz(false); recarregarLista() }} />\r\n \r\n );\r\n}","\r\n// const dataBase = openDatabase(\"NotaEntradaXML\", \"1.0\", \"Teste Web SQL Database\", 200000);\r\n\r\n\r\nexport function criarBanco(nomeTabela, campos = [], version) {\r\n const request = indexedDB.open(\"NotaEntradaXML\", version);\r\n\r\n request.onupgradeneeded = function(event) {\r\n const db = event.target.result;\r\n const objectStore = db.createObjectStore(nomeTabela, { keyPath: 'id', autoIncrement: true });\r\n let i = 0;\r\n campos.forEach(campo => {\r\n \r\n if(version !== 1){\r\n if(i > 0) return;\r\n campo.forEach(campo => {\r\n \r\n objectStore.createIndex(campo.nome, campo.nome, { unique: !!campo.unico });\r\n })\r\n }\r\n else {\r\n \r\n objectStore.createIndex(campo.nome, campo.nome, { unique: !!campo.unico });\r\n }\r\n i++;\r\n });\r\n };\r\n\r\n request.onsuccess = function(event) {\r\n const db = event.target.result;\r\n db.close();\r\n };\r\n\r\n request.onerror = function(event) {\r\n console.log('Erro ao abrir o banco de dados:', event.target.error);\r\n };\r\n}\r\n\r\nexport async function excluirBancoDados(callback) { \r\n const tempDBName = \"NotaEntradaXML\";\r\n const request = indexedDB.deleteDatabase(tempDBName);\r\n\r\n request.onsuccess = function() {\r\n if (!!callback) {\r\n callback();\r\n }\r\n };\r\n\r\n request.onerror = function(event) {\r\n console.log(\"Erro ao excluir o banco de dados:\", event.target.error);\r\n };\r\n}\r\n\r\nexport async function incluirBanco(nomeTabela, dados = [], version) {\r\n return new Promise((resolve, reject) => {\r\n const request = indexedDB.open(\"NotaEntradaXML\", version);\r\n\r\n request.onsuccess = function(event) {\r\n \r\n const db = event.target.result;\r\n const transaction = db.transaction([nomeTabela], 'readwrite');\r\n const objectStore = transaction.objectStore(nomeTabela);\r\n\r\n dados.forEach(dado => {\r\n if (!dado.unico) {\r\n const addObjectRequest = objectStore.add(dado);\r\n addObjectRequest.onerror = function(event) {\r\n console.log(\"Erro ao inserir dados: \" + event.target.error);\r\n };\r\n }\r\n });\r\n\r\n transaction.oncomplete = function() {\r\n db.close();\r\n resolve(); // Resolva a Promise após a inclusão dos dados\r\n };\r\n\r\n transaction.onerror = function(event) {\r\n reject(new Error(\"Erro ao iniciar transação: \" + event.target.error));\r\n };\r\n };\r\n\r\n request.onerror = function(event) {\r\n reject(new Error(\"Erro ao abrir o banco de dados: \" + event.target.error));\r\n };\r\n });\r\n}\r\n\r\n\r\nexport function buscarDadosBanco(nomeTabela, campos = [], condicao, retorno = () => { }, callback) {\r\n if (!validarNomeTabela(nomeTabela)) return;\r\n\r\n const request = indexedDB.open(\"BancoTeste1\", 1.0);\r\n \r\n request.onsuccess = function(event) {\r\n const db = event.target.value;\r\n const transaction = db.transaction([nomeTabela], \"readonly\");\r\n const objectStore = transaction.objectStore(nomeTabela);\r\n\r\n let index;\r\n\r\n if(!!condicao && condicao.campo) {\r\n index = objectStore.index(condicao.campo);\r\n }\r\n\r\n const getRequest = index ? index.get(condicao.valor) : objectStore.getAll();\r\n\r\n getRequest.onsuccess = function(event) {\r\n const result = event.target.value;\r\n console.log(\"Busca concluída com sucesso!\");\r\n if (retorno) {\r\n retorno(result);\r\n }\r\n if(callback) {\r\n callback();\r\n }\r\n db.close();\r\n };\r\n\r\n getRequest.onerror = function(event) {\r\n console.log(\"Erro ao buscar dados: \", event.target.error);\r\n };\r\n };\r\n}\r\n\r\nexport function buscarDadosTabela(retorno = [], tabela, callback, version) {\r\n const request = indexedDB.open(\"NotaEntradaXML\", version);\r\n \r\n request.onsuccess = function(event) {\r\n \r\n const db = event.target.result;\r\n const transaction = db.transaction([tabela], 'readonly');\r\n const objectStore = transaction.objectStore(tabela);\r\n const getRequest = objectStore.getAll();\r\n\r\n getRequest.onsuccess = function(event) {\r\n const result = event.target.result;\r\n if(retorno) {\r\n \r\n retorno.push(result);\r\n }\r\n if (callback) {\r\n callback();\r\n }\r\n db.close();\r\n }\r\n getRequest.onerror = function(event) {\r\n console.log(\"Erro ao buscar dados: \", event.target.error);\r\n }\r\n }\r\n request.onerror = function(event) {\r\n console.log(\"Erro: \", event.target.error);\r\n }\r\n}\r\n\r\nexport function editarDadosBanco(nomeTabela, alteracao = [], condicao, callback) {\r\n const request = indexedDB.open(\"NotaEntradaXML\", 1.0);\r\n \r\n request.onsuccess = function(event) {\r\n const db = event.target.result;\r\n const transaction = db.transaction([nomeTabela], \"readwrite\");\r\n const objectStore = transaction.objectStore(nomeTabela);\r\n\r\n const getRequest = objectStore.get(condicao.valor);\r\n\r\n getRequest.onsuccess = function(event) {\r\n const data = event.target.result;\r\n alteracao.forEach(campo => {\r\n data[campo.campo] = campo.valor;\r\n });\r\n\r\n const updateRequest = objectStore.put(data);\r\n\r\n updateRequest.onsuccess = function(event) {\r\n if(!!callback) {\r\n callback();\r\n }\r\n };\r\n updateRequest.onerror = function(event) {\r\n console.log(\"Erro ao editar dados: \", event.target.error);\r\n }\r\n }\r\n getRequest.onerror = function(event) {\r\n console.log(\"Erro ao buscar dados: \", event.target.error);\r\n }\r\n }\r\n request.onerror = function(event) {\r\n console.log(\"Erro ao abrir banco: \", event.target.error);\r\n }\r\n}\r\n\r\nexport function excluirDadosBanco(nomeTabela, condicao, callback) {\r\n const request = indexedDB.open(\"NotaEntradaXML\", 1);\r\n \r\n request.onsuccess = function(event) {\r\n const db = event.target.result;\r\n const transaction = db.transaction([nomeTabela], \"readwrite\");\r\n const objectStore = transaction.objectStore(nomeTabela);\r\n const deleteRequest = objectStore.delete(condicao.valor);\r\n\r\n deleteRequest.onsuccess = function(event) {\r\n if(callback) {\r\n callback();\r\n }\r\n }\r\n deleteRequest.onerror = function(event) {\r\n console.log(\"Erro ao excluir dados: \", event.target.error);\r\n }\r\n }\r\n request.onerror = function(event) {\r\n console.log(\"Erro ao abrir banco: \", event.target.error);\r\n }\r\n}\r\n\r\n// \r\n\r\nfunction validarNomeTabela(nomeTabela) {\r\n let retorno = false;\r\n if (!!nomeTabela) {\r\n retorno = true;\r\n } else {\r\n console.log(`Nome da tabela não informada!`);\r\n }\r\n return retorno;\r\n};\r\n\r\nfunction validarCondicao(condicao) {\r\n let retorno = false;\r\n if (!!condicao && !!condicao.campo && !!condicao.valor) {\r\n retorno = true;\r\n } else {\r\n console.log(`Condições não informadas!`);\r\n }\r\n return retorno;\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Modal, Descriptions, Table, InputNumber } from \"antd\";\r\n\r\nimport formatNumber from \"../../../ValueObjects/formatNumber\";\r\n\r\nexport default function ModalSelecionarGrade({ dadosProduto = {}, exibirModal, onCloseModal }) {\r\n const [form] = Form.useForm();\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [gradesSelecionadas, setGradesSelecionadas] = useState([]);\r\n\r\n const functionRowSelection = {\r\n selectedRowKeys,\r\n onChange: (keys, selectedRows) => {\r\n setSelectedRowKeys(keys);\r\n setGradesSelecionadas(selectedRows);\r\n },\r\n };\r\n\r\n const functionOnOK = record => {\r\n onCloseModal(gradesSelecionadas);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n Código: {dadosProduto.pro_codigo}\r\n \r\n \r\n Produto: {dadosProduto.pro_descricao}\r\n \r\n \r\n
(\r\n
\r\n {descricaoGrade}\r\n
\r\n )\r\n }, {\r\n title: \"EAN\",\r\n render: ({ prg_ean }) => (\r\n
\r\n {prg_ean}\r\n
\r\n )\r\n }, {\r\n title: \"Valor (R$)\",\r\n align: \"right\",\r\n render: ({ pre_custoultimacompra }) => (\r\n
\r\n {formatNumber(pre_custoultimacompra, true, false)}\r\n
\r\n )\r\n }\r\n ]}\r\n dataSource={!!dadosProduto.grades ? dadosProduto.grades : []}\r\n />\r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Typography, Divider, Select, Descriptions } from \"antd\";\r\nimport moment from 'moment';\r\n\r\nimport SelectPaginado from '../../components/selectPaginado';\r\nimport { Data, InputPreco } from \"../../components\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { formatarCnpj, formatarCpf, isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function TabNotaFiscal({ form, dadosNota, dadosRemetente }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n if (isObjetoDiffVazio(dadosNota)) {\r\n form.setFieldsValue(dadosNota);\r\n form.setFieldsValue({ ntf_dataentrada: moment(new Date()) });\r\n }\r\n }, [dadosNota]);\r\n\r\n useEffect(() => {\r\n if (!!dadosRemetente?.for_id) {\r\n let lista = [];\r\n\r\n if (!!dadosRemetente?.for_id)\r\n lista.push({ name: \"orc_id\", campo: \"IdFornecedor\", value: dadosRemetente?.for_id });\r\n\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n\r\n }\r\n }, [dadosRemetente])\r\n \r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n ({op.ope_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n ({oc.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n Data Emissão: {moment(dadosNota.find(obj => obj.nome === 'ntf_dataemissao')?.valor).format('DD/MM/YYYY')}\r\n \r\n \r\n Chave NF-e: {dadosNota.find(obj => obj.nome === 'ntf_chavenfe')?.valor}\r\n \r\n \r\n Nº da Nota: {dadosNota.find(obj => obj.nome === 'ntf_numero')?.valor}\r\n \r\n \r\n Série: {dadosNota.find(obj => obj.nome === 'ser_numero')?.valor}\r\n \r\n \r\n \r\n \r\n \r\n \"Fornecedor\" Fornecedor\r\n \r\n \r\n \r\n \r\n \r\n \r\n Nome: {dadosRemetente?.[0]?.find(obj => obj.nome === 'pes_nome')?.valor}\r\n \r\n \r\n CPF/CNPJ: {(!!dadosRemetente?.[0]?.find(obj => obj.nome === 'cnpjcpf') && dadosRemetente?.[0]?.find(obj => obj.nome === 'cnpjcpf')?.valor.length > 11 ? \r\n formatarCnpj(dadosRemetente?.[0]?.find(obj => obj.nome === 'cnpjcpf')) : formatarCpf(dadosNota.find(obj => obj.nome === 'cnpjcpf')?.valor))}\r\n \r\n \r\n Inscrição Estadual: {dadosRemetente?.[0]?.find(obj => obj.nome === 'pej_inscricaoestadual')?.valor}\r\n \r\n \r\n Endereço: {dadosRemetente?.[0]?.find(obj => obj.nome === 'log_logradouro')?.valor}, {dadosRemetente?.[0]?.find(obj => obj.nome === 'pee_numero')?.valor},\r\n {dadosRemetente?.[0]?.find(obj => obj.nome === 'bai_bairro')?.valor}, {dadosRemetente?.[0]?.find(obj => obj.nome === 'cid_descricao')?.valor} - \r\n {dadosRemetente?.[0]?.find(obj => obj.nome === 'est_sigla')?.valor}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Impostos\" Impostos\r\n \r\n \r\n \r\n \r\n \r\n \r\n Base de Cálculo ICMS: {dadosNota.find(objeto => objeto.nome === 'vBaseCalculoIcms')?.valor}\r\n \r\n \r\n Valor ICMS (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorIcms')?.valor, true)}\r\n \r\n \r\n Base de Cálculo ICMSST: {dadosNota.find(objeto => objeto.nome === 'vBaseCalculoIcmsSt')?.valor}\r\n \r\n \r\n Valor ICMS-ST (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorIcmsSt')?.valor, true)}\r\n \r\n \r\n Valor PIS (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorPis')?.valor, true)}\r\n \r\n \r\n Valor COFINS (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorCofins')?.valor, true)}\r\n \r\n \r\n Valor IPI (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorIpi')?.valor, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Totais Totais da Nota\r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total dos Produtos (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorTotalProdutos')?.valor, true)}\r\n \r\n \r\n Valor do Frete (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorFrete')?.valor, true)}\r\n \r\n \r\n Valor do Seguro (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorTotalProdutos')?.valor, true)}\r\n \r\n \r\n Descontos (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vDesconto')?.valor, true)}\r\n \r\n \r\n Outras Despesas (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vOutrasDespesas')?.valor, true)}\r\n \r\n \r\n Valor Total da NF-e (R$): {FormatNumber(dadosNota.find(objeto => objeto.nome === 'vValorTotalNfe')?.valor, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Informações Informações Fora da Nota\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoProdutos from '../produto/manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerProduto({ callback, editando }) {\r\n\r\n const [formProduto] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => {\r\n if (manutencao.dados !== null && !!editando.editando) {\r\n formProduto.setFieldsValue(manutencao.dados)\r\n } else {\r\n formProduto.setFieldsValue({ pro_id: null, pro_ativo: true, pro_produto: true });\r\n }\r\n }, [])\r\n\r\n function fecharDrawer(retornoDrawer) {\r\n if (!!callback) {\r\n callback(!!retornoDrawer ? retornoDrawer : {});\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n formProduto.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Typography, Divider, InputNumber, Table, Select, Tag, Dropdown, Menu, Button, Input, notification, Modal } from \"antd\";\r\nimport { MoreOutlined, PrinterOutlined, DeleteOutlined, PlusOutlined, DiffOutlined, EditOutlined, SaveOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport DrawerProduto from \"./drawerProduto\";\r\nimport { InputPreco, SelectProduto } from \"../../components\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport ModalSelecionarGrade from \"../../components/modals/modalSelecionarGrade\";\r\nimport { isNotNullOrEmpty, isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function TabItens({ dadosRemetente, dadosItens }) {\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [listaProduto, setListaProduto] = useState([]);\r\n const [listaProdutosSistema, setListaProdutosSistema] = useState([]);\r\n const [exibirDesmembrar, setExibirDesmembrar] = useState([]);\r\n const [produtos, setProdutos] = useState([]);\r\n const [form] = Form.useForm();\r\n const [keyProdutoCadastrado, setKeyProdutoCadastrado] = useState(null);\r\n const [atualizarProduto, setAtualizarProduto] = useState(false);\r\n const [aguardandoPopular, setAguardandoPopular] = useState(false);\r\n const [filtroProd, setFiltroProd] = useState(\"\");\r\n const [exibirModalSelecGrade, setExibirModalSelecGrade] = useState(false);\r\n const [dadosModalGrade, setDadosModalGrade] = useState({});\r\n const [editando, setEditando] = useState(true);\r\n\r\n async function onCloseModalGrade(record) {\r\n let itens = [...listaProdutosSistema];\r\n let produto = dadosModalGrade;\r\n let item = {};\r\n for (let i = 0; i < record.length; i++) {\r\n item = record[i];\r\n let dados = {};\r\n dados.key = i;\r\n dados.nfi_custoinformado = item.pre_custoultimacompra;\r\n dados.prg_id = item.prg_id;\r\n dados.nfi_qtde = record.qtdeItem;\r\n dados.seqPai = keyProdutoCadastrado;\r\n dados.pro_codigo = produto.pro_codigo;\r\n dados.pro_id = produto.pro_id;\r\n dados.pro_descricao = produto.pro_descricao;\r\n dados.ump_descricao = produto.ump_descricao;\r\n dados.ump_casasdecimais = 2;\r\n dados.descricaoGrade = item.descricaoGrade;\r\n itens.push(dados);\r\n await vincularProdutoNota({ pro_id: produto.pro_id, pro_descricao: produto.pro_descricao, prg_id: item.prg_id });\r\n };\r\n setListaProdutosSistema(itens);\r\n setExibirModalSelecGrade(false);\r\n };\r\n\r\n const configSelecionarItem =\r\n {\r\n selectedRowKeys,\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n setSelectedRowKeys(selectedRowKeys);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setProdutos(dadosItens.dadosItens);\r\n buscarProdutosNotaEntrada();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!produtos && produtos.length > 0 && !isNotNullOrEmpty(produtos[0].key)) {\r\n let id = 0;\r\n let dados = [...produtos];\r\n let auxExibirCamp = [];\r\n let listaItemSis = [];\r\n dados.forEach((produto) => {\r\n produto.key = id;\r\n let dadosItensSistema = produto.dadosItensSistema.length ? JSON.parse(produto.dadosItensSistema) : [];\r\n if (dadosItensSistema.length > 0) {\r\n let itemSis = dadosItensSistema;\r\n let seq = 0;\r\n itemSis.forEach(item => {\r\n item.seqPai = id;\r\n item.key = seq;\r\n item.ativarDisabled = true;\r\n item.nfi_custoinformado = produto.xValorUnitarioProduto / itemSis.length;\r\n seq++;\r\n listaItemSis.push(item);\r\n });\r\n auxExibirCamp.push({ key: id, exibir: true });\r\n form.setFieldsValue({ [`qtdItem${id}`]: itemSis.length });\r\n form.setFieldsValue({ [`valorUnitario${id}`]: produto.xValorUnitarioProduto / itemSis.length });\r\n } else {\r\n auxExibirCamp.push({ key: id, exibir: false });\r\n\r\n }\r\n id++;\r\n });\r\n setListaProdutosSistema(listaItemSis)\r\n setExibirDesmembrar(auxExibirCamp);\r\n setProdutos(dados);\r\n\r\n }\r\n }, [produtos]);\r\n\r\n useEffect(() => {\r\n if (!!listaProdutosSistema && listaProdutosSistema.length > 0) {\r\n setAtualizarProduto(true);\r\n let produtosSistema = [...listaProdutosSistema];\r\n let dados = [...produtos];\r\n let linhasSeleq = [];\r\n limparItensSistemas(dados, (dados) => {\r\n produtosSistema.forEach((item) => {\r\n let prod = dados.find(prod => prod.key === item.seqPai);\r\n if (!!prod) {\r\n if (linhasSeleq.indexOf(item.seqPai) === -1) {\r\n linhasSeleq.push(item.seqPai);\r\n }\r\n prod.dadosItensSistema.push(item);\r\n\r\n exibirDesmembrar.filter((exibir) => (exibir.key === item.seqPai))[0].exibir = true;\r\n }\r\n });\r\n setProdutos(dados);\r\n setSelectedRowKeys(linhasSeleq);\r\n buscarSobra(produtosSistema[produtosSistema.length - 1].seqPai);\r\n });\r\n } else {\r\n exibirDesmembrar.forEach((exibindo) => {\r\n if (exibindo.exibir) {\r\n buscarSobra(exibindo.key);\r\n }\r\n });\r\n }\r\n }, [listaProdutosSistema]);\r\n\r\n useEffect(() => {\r\n if (!!aguardandoPopular && !!listaSelectPaginacao?.itens) {\r\n let dados = listaSelectPaginacao?.itens;\r\n let itens = [...listaProdutosSistema];\r\n let ultimorProd = itens[itens.length - 1].pro_id;\r\n let prod = dados.filter((item) => (item.pro_id === ultimorProd))[0];\r\n if (!!prod) {\r\n form.setFieldsValue({ [`produtoCodigoUN${keyProdutoCadastrado}`]: prod.key });\r\n setKeyProdutoCadastrado(null);\r\n setAguardandoPopular(false);\r\n }\r\n setFiltroProd(\"\");\r\n setAtualizarProduto(true);\r\n }\r\n }, [listaSelectPaginacao]);\r\n\r\n function limparItensSistemas(dados, callback) {\r\n dados.forEach((itemXml) => {\r\n itemXml.dadosItensSistema = [];\r\n });\r\n\r\n if (!!callback) {\r\n callback(dados)\r\n }\r\n };\r\n\r\n function exibirDesmembrarItem(record) {\r\n let dados = [...exibirDesmembrar];\r\n let itens = [...listaProdutosSistema];\r\n let dadosProdSis = itens.filter((item) => item.seqPai !== record.key);\r\n let reg = dados.find(item => item.key === record.key);\r\n reg.exibir = !reg.exibir;\r\n if (reg.exibir) {\r\n form.setFieldsValue({ [`produtoCodigoUN${record.key}`]: null });\r\n form.setFieldsValue({ [`codigogradeUN${record.key}`]: null });\r\n }\r\n form.setFieldsValue({ [`nfi_qtde_desmembrado${record.key}`]: record.xQuantidade });\r\n form.setFieldsValue({ [`nfi_custoinformado${record.key}`]: record.xValorTotalProduto });\r\n\r\n setExibirDesmembrar(dados);\r\n setListaProdutosSistema(dadosProdSis);\r\n };\r\n\r\n function adicionarControleQtd(qtd, key) {\r\n let dados = [...produtos];\r\n let registroItem = dados.filter((item) => item.key === key)[0];\r\n let valorUni = 0;\r\n if (qtd > 0) {\r\n valorUni = registroItem.xValorTotalProduto / qtd;\r\n form.setFieldsValue({ [`valorUnitario${key}`]: parseFloat(valorUni.toFixed(6)) });\r\n }\r\n };\r\n\r\n function abrirCadastroProduto(record) {\r\n let dadosProd = {};\r\n let dadosProdutoXml = {};\r\n if (!!!record.xEan || isNaN(record.xEan)) {\r\n dadosProdutoXml = produtos.filter((prod) => prod.cProd === record.cProd)[0];\r\n } else {\r\n dadosProdutoXml = produtos.filter((prod) => prod.xEan === record.xEan)[0];\r\n }\r\n dadosProd.pro_descricao = dadosProdutoXml.xProd;\r\n if (dadosProdutoXml.xEan !== 'SEM GTIN') {\r\n dadosProd.pro_ean = dadosProdutoXml.xEan;\r\n } else {\r\n dadosProd.pro_ean = null;\r\n }\r\n dadosProd.orm_id = !!dadosProdutoXml.xOrigem ? dadosProdutoXml.xOrigem + \"\" : \"0\";\r\n dadosProd.orm = dadosProdutoXml.xOrigem;\r\n dadosProd.ncm_id = dadosProdutoXml.ncm_id;\r\n dadosProd.ump_id = dadosProdutoXml.xUnidadeMedida;\r\n dadosProd.ump = dadosProdutoXml.xUnidadeMedida;\r\n dadosProd.pre_custoultimacompra = dadosProdutoXml.xValorUnitarioProduto;\r\n dadosProd.pro_servico = false;\r\n dadosProd.pro_kitcomposicao = false;\r\n dadosProd.pro_materiaprima = false;\r\n dadosProd.pro_ativo = true;\r\n dadosProd.pro_referencia = \"\";\r\n dadosProd.pro_modelo = \"\";\r\n dadosProd.pro_observacao = \"\";\r\n dadosProd.icm_id = null;\r\n dadosProd.pro_usabalanca = false;\r\n dadosProd.gru_id = null;\r\n dadosProd.sgp_id = null;\r\n dadosProd.mar_id = null;\r\n dadosProd.tpi_id = \"00\";\r\n dadosProd.listaPreco = [];\r\n dadosProd.tpi = { tpi_id: \"00\", tpi_descricao: \"Mercadorias para Revenda\" };\r\n dadosProd.csv_id = null;\r\n dadosProd.pis_id = null;\r\n if (!!dadosProdutoXml.nfs_valorissqn) {\r\n dadosProd.pro_servico = true;\r\n dadosProd.pro_produto = false;\r\n } else {\r\n dadosProd.pro_produto = true;\r\n }\r\n setEditando(true);\r\n setKeyProdutoCadastrado(record.key);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosProd } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function buscarProdutosNotaEntrada() {\r\n api.get(`Produto/ListaProdutoFiltroNfEntrada?filtro=&ordem=%2Bpro_descricao`).then(\r\n res => {\r\n let dados = [...res.data.items];\r\n let seq = 0;\r\n dados.forEach((item) => {\r\n item.seqAuxiliar = seq;\r\n seq++;\r\n });\r\n setListaProduto(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarGradeProdutoUnico(key, cProd, keyLista) {\r\n if (!!listaSelectPaginacao?.itens) {\r\n let dados = [...listaSelectPaginacao?.itens];\r\n let item = dados.filter((item) => item.key === key)[0];\r\n buscarGradeProduto(item, cProd, keyLista);\r\n }\r\n };\r\n\r\n function buscarGradeProduto(item, cProd, keyLista) {\r\n let itens = [...produtos];\r\n if (!!item) {\r\n api.get(`ProdutoGrade/RetornaGradesProduto?produtoId=${item.pro_id}`).then(\r\n res => {\r\n let dadoAlt = itens.find((produto) => (produto.cProd === cProd));\r\n dadoAlt.listaGrade = res.data;\r\n setProdutos(itens);\r\n if (!!exibirDesmembrar && exibirDesmembrar.filter(item => { return item.key === keyLista })[0] && exibirDesmembrar.filter(item => { return item.key === keyLista })[0].exibir) {\r\n form.setFieldsValue({ [`codigograde${keyLista}`]: item.prg_id });\r\n } else {\r\n form.setFieldsValue({ [`codigogradeUN${keyLista}`]: item.prg_id });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n }\r\n )\r\n }\r\n };\r\n\r\n function popularQuantidade(valor, key) {\r\n let itens = [...produtos];\r\n itens.find((produto) => (produto.key === key));\r\n itens.nfi_qtde = valor;\r\n };\r\n\r\n function popularCustoInformado(valor, key) {\r\n let itens = [...produtos];\r\n itens.find((produto) => (produto.key === key));\r\n itens.nfi_custoinformado = valor;\r\n };\r\n\r\n function incluirProdutoItem(key) {\r\n let itens = [...listaProdutosSistema];\r\n let dados = {};\r\n let qtde = form.getFieldValue()[`nfi_qtde_desmembrado${key}`];\r\n let custo = form.getFieldValue()[`nfi_custoinformado${key}`];\r\n let cprod = form.getFieldValue()[`produtoCodigo${key}`];\r\n let grade = form.getFieldValue()[`codigograde${key}`];\r\n if (!(qtde > 0 && custo > 0)) {\r\n notification.warning({ description: \"Favor informar o valor e a quantidade do item\", message: \"Aviso\" });\r\n return;\r\n }\r\n\r\n let dadosProduto = listaSelectPaginacao?.itens.filter((prod) => (prod.key === cprod))[0];\r\n validarValorTot(custo, qtde, key, () => {\r\n if (!!!dadosProduto || !isObjetoDiffVazio(dadosProduto)) {\r\n return;\r\n }\r\n let dadosItem = itens.find(produtoSis => (produtoSis.pro_id === dadosProduto.pro_id && produtoSis.prg_id === grade && produtoSis.seqPai === key));\r\n if (!!dadosItem) {\r\n notification.warning({ description: 'Lista já possuí o produto informado!', message: 'Aviso' });\r\n } else {\r\n dados.key = !!itens && itens.length > 0 ? itens[itens.length - 1].key + 1 : 1;\r\n dados.nfi_custoinformado = custo;\r\n dados.prg_id = !!grade ? grade : null;\r\n dados.nfi_qtde = qtde;\r\n dados.seqPai = key;\r\n dados.pro_id = dadosProduto.pro_id;\r\n dados.pro_codigo = dadosProduto.pro_codigo;\r\n dados.descricaoGrade = dadosProduto.descricaograde;\r\n dados.pro_descricao = dadosProduto.pro_descricao;\r\n dados.ump_descricao = dadosProduto.ump_id;\r\n dados.ump_casasdecimais = 2;\r\n dados.ativarDisabled = true;\r\n dados.qtdeAnterior = qtde;\r\n itens.push(dados);\r\n setListaProdutosSistema(itens);\r\n form.setFieldsValue({ [`produtoCodigo${key}`]: null, [`codigograde${key}`]: null, [`nfi_custoinformado${key}`]: 0 });\r\n }\r\n });\r\n };\r\n\r\n function modalExcluir(record) {\r\n Modal.confirm({\r\n title: \"Excluir?\",\r\n content: `Deseja excluir o item ${record.pro_descricao} da nota?`,\r\n okText: `Excluir`,\r\n cancelText: `Não`,\r\n okType: \"danger\",\r\n centered: true,\r\n onOk() {\r\n excluirItem(record)\r\n }\r\n })\r\n };\r\n\r\n function excluirItem(record) {\r\n let itens = [...listaProdutosSistema];\r\n let dados = itens.filter(produto => (produto.seqPai !== record.seqPai || (produto.seqPai === record.seqPai && produto.key !== record.key)));\r\n setListaProdutosSistema(dados);\r\n excluirItemSistemaXml(record);\r\n buscarSobra(record.seqPai, dados);\r\n };\r\n\r\n function excluirItemSistemaXml(record) {\r\n api.delete(`FornecedorProduto/Excluir/${record.fpr_id}`).then(\r\n res => {\r\n notification.success({ description: 'Item removido com sucesso!', message: \"Aviso\" });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function salvarUnidadeMedida(record, key) {\r\n let itens = [...produtos];\r\n let dados = itens.find(produto => (produto.key === key));\r\n dados.unidadeMedida = record.target.value;\r\n setProdutos(itens);\r\n };\r\n\r\n function calcularCustoRest(event, key) {\r\n let itens = [...produtos];\r\n let qtd = parseInt(event.currentTarget.value);\r\n if (qtd > 0) {\r\n let valorRestante = buscarSobra(key);\r\n let valor = valorRestante / qtd;\r\n form.setFieldsValue({ [`nfi_custoinformado${key}`]: parseFloat(valor.toFixed(6)) });\r\n }\r\n };\r\n\r\n function buscarSobra(key, listaProd = []) {\r\n let itensXml = [...produtos];\r\n let itensSistema = [];\r\n if (listaProd.length > 0) {\r\n itensSistema = [...listaProd];\r\n } else {\r\n itensSistema = [...listaProdutosSistema];\r\n }\r\n let valor = 0;\r\n let valorRetorno = 0;\r\n let dadosItem = itensSistema.filter((item) => (item.seqPai === key));\r\n let dadosProduto = itensXml.find((item) => (item.key === key));\r\n\r\n if (!!dadosProduto) {\r\n if (!!dadosItem) {\r\n dadosItem.forEach((item) => {\r\n valor += parseFloat((parseFloat(item.nfi_custoinformado) * parseFloat(item.nfi_qtde)).toFixed(3));\r\n });\r\n } else {\r\n valor = parseFloat(form.getFieldValue()[`nfi_custoinformado${key}`]);\r\n }\r\n valorRetorno = parseFloat((dadosProduto.xValorTotalProduto - parseFloat(valor.toFixed(2))).toFixed(3));\r\n form.setFieldsValue({ [`nfi_custoinformado${key}`]: valorRetorno });\r\n }\r\n\r\n return valorRetorno;\r\n };\r\n\r\n function validarValorTot(custo, qtd, key, callback) {\r\n let itens = [...listaProdutosSistema];\r\n let itemXml = produtos.filter((prod) => prod.key === key)[0];\r\n let valorItens = 0;\r\n let qtdItens = 0;\r\n let qtdTotal = parseInt(form.getFieldValue()[`qtdItem${key}`]);\r\n itens.forEach(item => {\r\n if (item.seqPai === key) {\r\n valorItens += parseFloat(item.nfi_custoinformado) * parseInt(item.nfi_qtde);\r\n qtdItens += parseInt(item.nfi_qtde);\r\n }\r\n });\r\n valorItens += (parseFloat(qtd) * parseFloat(custo));\r\n\r\n if (!!itemXml) {\r\n if (parseFloat(parseFloat(qtd) * parseFloat(custo)).toFixed(2) > parseFloat(itemXml.xValorTotalProduto)) {\r\n notification.warning({ message: 'Aviso', description: 'Valor informado maior que o valor total do item!' });\r\n form.setFieldsValue({ [`nfi_custoinformado${key}`]: parseFloat(itemXml.xValorTotalProduto) / parseFloat(qtd) })\r\n } else if (parseFloat(valorItens).toFixed(2) > parseFloat(itemXml.xValorTotalProduto)) {\r\n notification.warning({ message: 'Aviso', description: 'A soma dos valores ultrapassa o valor total do item!' });\r\n } else if (parseInt(qtd) + qtdItens > qtdTotal) {\r\n notification.warning({ message: 'Aviso', description: 'Quantidade informada maior que quantidade total do item!' });\r\n } else {\r\n if (!!callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n };\r\n\r\n function adicionarProdutoUnico(key, record) {\r\n let itens = [...listaProdutosSistema];\r\n let cprod = form.getFieldValue()[`produtoCodigoUN${key}`];\r\n let qtde = parseFloat(form.getFieldValue()[`qtdItem${key}`]);\r\n let custo = parseFloat(form.getFieldValue()[`valorUnitario${key}`]);\r\n let valorTotal = parseFloat(produtos.filter((prod) => prod.key === key)[0].xValorTotalProduto);\r\n let unMedida = form.getFieldValue()[`unidadeMedida${key}`];\r\n if (!!!listaSelectPaginacao.itens) {\r\n setAtualizarProduto(true);\r\n }\r\n if (parseFloat((qtde * custo).toFixed(2)) > valorTotal) {\r\n notification.warning({ message: 'Aviso', description: 'Valor informado maior que o valor total do item!' });\r\n form.setFieldsValue({ [`valorUnitario${key}`]: parseFloat(valorTotal / qtde) });\r\n form.resetFields([`produtoCodigoUN${key}`, `codigogradeUN${key}`]);\r\n return;\r\n }\r\n itens = itens.filter((item) => item.seqPai !== key);\r\n if (!!cprod || cprod === 0) {\r\n let dados = {};\r\n let dadosProduto = listaSelectPaginacao?.itens.filter((prod) => (prod.key === cprod))[0];\r\n if (!!!dadosProduto) {\r\n return;\r\n }\r\n dados.key = 1;\r\n dados.pro_codigo = dadosProduto.pro_codigo;\r\n dados.nfi_custoinformado = custo;\r\n dados.prg_id = !!dadosProduto.prg_id ? dadosProduto.prg_id : null;\r\n dados.nfi_qtde = qtde;\r\n dados.seqPai = key;\r\n dados.pro_id = dadosProduto.pro_id;\r\n dados.pro_descricao = dadosProduto.pro_descricao;\r\n dados.descricaoGrade = dadosProduto.descricaograde;\r\n dados.ump_descricao = unMedida;\r\n dados.ump_casasdecimais = 6;\r\n dados.ativarDisabled = true;\r\n dados.qtdeAnterior = qtde;\r\n itens.push(dados);\r\n setListaProdutosSistema(itens);\r\n form.setFieldsValue({ [`produtoCodigo${key}`]: null, [`codigograde${key}`]: null, [`nfi_custoinformado${key}`]: 0 });\r\n form.resetFields([`produtoCodigo${key}`, `codigograde${key}`, `nfi_custoinformado${key}`]);\r\n }\r\n };\r\n\r\n function adicionarGradeProdutoUnico(valor, key) {\r\n let dados = [...listaProdutosSistema];\r\n let itens = dados.find((item) => (item.seqPai === key));\r\n if (!!itens) {\r\n itens.prg_id = valor;\r\n }\r\n setListaProdutosSistema(dados);\r\n };\r\n\r\n async function aoFecharDrawerProduto(produto) {\r\n if (!!produto && !!produto.pro_id) {\r\n let itens = [...listaProdutosSistema];\r\n setAtualizarProduto(true);\r\n let dados = {};\r\n dados.key = 1;\r\n dados.nfi_custoinformado = form.getFieldValue()[`valorUnitario${keyProdutoCadastrado}`];\r\n dados.prg_id = null;\r\n dados.nfi_qtde = form.getFieldValue()[`qtdItem${keyProdutoCadastrado}`];\r\n dados.seqPai = keyProdutoCadastrado;\r\n dados.pro_codigo = produto.pro_codigo;\r\n dados.pro_id = produto.pro_id;\r\n dados.pro_descricao = produto.pro_descricao;\r\n dados.ump_descricao = produto.ump_id;\r\n dados.ump_casasdecimais = 2;\r\n dados.ativarDisabled = true;\r\n if (!!produto.produtogrades && produto.produtogrades.length > 0) {\r\n let grades = await api.get(`ProdutoGrade/RetornaGradesProduto?produtoId=${produto.pro_id}`)\r\n dados.grades = [...grades.data];\r\n let seq = 0;\r\n dados.grades.forEach((grade) => { grade.key = seq++; grade.qtdeItem = 1 });\r\n setDadosModalGrade(dados);\r\n setExibirModalSelecGrade(true);\r\n } else {\r\n // da forma abaixo não estava vinculando o item na nota.\r\n // const itensTemp = itens.map((item) =>\r\n // item.pro_id == produto.pro_id ? { ...item, ...dados } : item\r\n // );\r\n let itemExiste = itens.filter((obj) => (obj.pro_id === produto.pro_id));\r\n if(itemExiste.length == 0)\r\n itens.push(dados);\r\n\r\n vincularProdutoNota(produto);\r\n setAguardandoPopular(true);\r\n setFiltroProd(produto.pro_codigo);\r\n setListaProdutosSistema(itens);\r\n }\r\n }\r\n };\r\n\r\n async function vincularProdutoNota(produto) {\r\n let produtoXml = produtos.filter((pro) => pro.key === keyProdutoCadastrado)[0];\r\n let dados = {};\r\n dados.for_id = dadosRemetente[0].find(obj => obj.nome === 'for_id')?.valor;\r\n dados.pro_id = produto.pro_id;\r\n dados.fpr_codigo = produtoXml.cProd;\r\n dados.fpr_descricao = produtoXml.xProd;\r\n dados.prg_id = produto.prg_id;\r\n await api.post(`FornecedorProduto/Incluir`, dados);\r\n };\r\n\r\n function validarValorItem(key) {\r\n let dados = [...produtos];\r\n let produto = dados.find((obj) => (obj.key === key));\r\n let valor = parseFloat(form.getFieldValue()[`valorUnitario${key}`]);\r\n let qtd = parseFloat(form.getFieldValue()[`qtdItem${key}`]);\r\n let valorTotal = parseFloat((valor * qtd).toFixed(2));\r\n if (produto.xValorTotalProduto < valorTotal) {\r\n notification.warn({ description: 'Valor informado é maior que o total!', message: 'Aviso' });\r\n form.setFieldsValue({ [`valorUnitario${key}`]: parseFloat((produto.xValorTotalProduto / qtd).toFixed(3)) });\r\n }\r\n };\r\n\r\n function modalEditar(record) {\r\n let prod = [...produtos];\r\n let itens = [...listaProdutosSistema];\r\n let produtoSelecionado = itens.find((p) => { return p.seqPai === record.seqPai && p.pro_id === record.pro_id && p.prg_id === record.prg_id });\r\n let itensProduto = itens.filter((prod) => { return prod.seqPai === record.seqPai })\r\n\r\n let valorItemSelecionado = parseFloat(form.getFieldValue()[`valorUnitario${record.seqPai}`]);// produtoSelecionado.qtdeAnterior > 0 ? (parseFloat(produtoSelecionado.nfi_custoinformado) * parseFloat(produtoSelecionado.qtdeAnterior)) : \r\n //(parseFloat(produtoSelecionado.nfi_custoinformado) * parseFloat(produtoSelecionado.nfi_qtde));\r\n let qtdTotal = parseInt(form.getFieldValue()[`qtdItem${record.seqPai}`]);\r\n let qtdItens = 0;\r\n itensProduto.forEach((it) => {\r\n qtdItens += parseInt(it.nfi_qtde);\r\n });\r\n\r\n\r\n if (!produtoSelecionado.ativarDisabled) {\r\n if (!(record.nfi_qtde > 0)) {\r\n notification.warning({ description: \"Favor informar a quantidade do item!\", message: \"Aviso\" });\r\n return;\r\n } else\r\n if (qtdItens > qtdTotal) {\r\n notification.warning({ message: 'Aviso', description: 'Quantidade informada maior que quantidade total do item!' });\r\n return;\r\n } else {\r\n produtoSelecionado.ativarDisabled = true;\r\n produtoSelecionado.nfi_custoinformado = valorItemSelecionado//parseFloat(valorItemSelecionado) / parseFloat(produtoSelecionado.nfi_qtde);\r\n produtoSelecionado.qtdeAnterior = produtoSelecionado.nfi_qtde;\r\n setProdutos(prod);\r\n }\r\n } else {\r\n\r\n produtoSelecionado.ativarDisabled = false;\r\n setProdutos(prod);\r\n }\r\n buscarSobra(record.seqPai);\r\n };\r\n\r\n function alterarQtde(e, record) {\r\n let itens = [...listaProdutosSistema];\r\n let dados = itens.find(p => (p.seqPai === record.seqPai && p.pro_id === record.pro_id && p.prg_id === record.prg_id));\r\n dados.nfi_qtde = e.target.value;\r\n setListaProdutosSistema(itens);\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Itens Itens da Nota\r\n \r\n \r\n \r\n \r\n \r\n ({mar.mar_nome}\r\n )} />\r\n \r\n \r\n \r\n \r\n
{\r\n return {\r\n onMouseLeave: event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n },\r\n onMouseEnter: event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n },\r\n };\r\n }} columns={[\r\n {\r\n title: 'Itens NF-e',\r\n render: ({ cProd, xProd, xEan, key, xQuantidade, xUnidadeMedida, xValorUnitarioProduto, listaGrade, ativarDisabled }) => (\r\n
\r\n \r\n
\r\n \r\n {cProd}\r\n \r\n \r\n \r\n {xProd}\r\n \r\n \r\n {xEan}\r\n \r\n \r\n \r\n \r\n Quant. para controle de estoque:\r\n \r\n \r\n \r\n { adicionarControleQtd(record, key) }} />\r\n \r\n \r\n \r\n \r\n { salvarUnidadeMedida(record, key); }} />\r\n \r\n {/* ({um.ump_id} - {um.ump_descricao}\r\n )\r\n }\r\n /> */}\r\n \r\n \r\n { validarValorItem(key) }} />\r\n \r\n \r\n \r\n {!!exibirDesmembrar && exibirDesmembrar.filter(item => { return item.key === key })[0]\r\n && !exibirDesmembrar.filter(item => { return item.key === key })[0].exibir &&\r\n \r\n \r\n \r\n \r\n { buscarGradeProdutoUnico(record, cProd, key); adicionarProdutoUnico(key); }} ordem={'pro_id'} detalhes={true} />\r\n \r\n \r\n {!!listaGrade && listaGrade.length > 0 ?\r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n \r\n }\r\n {!!exibirDesmembrar && exibirDesmembrar.filter(item => { return item.key === key })[0]\r\n && exibirDesmembrar.filter(item => { return item.key === key })[0].exibir && \r\n \r\n \r\n \r\n { calcularCustoRest(dados, key) })} onChange={(dado) => { popularQuantidade(dado, key) }} />\r\n \r\n \r\n \r\n { popularCustoInformado(dado, key) }} />\r\n \r\n \r\n \r\n { buscarGradeProdutoUnico(record, cProd, key); adicionarProdutoUnico(key); }} ordem={'pro_id'} detalhes={true} />\r\n \r\n \r\n {!!listaGrade && listaGrade.length > 0 ?\r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n \r\n
\r\n {!!exibirDesmembrar && exibirDesmembrar.filter(item => { return item.key === key })[0]\r\n && exibirDesmembrar.filter(item => { return item.key === key })[0].exibir &&\r\n !!listaProdutosSistema && listaProdutosSistema.filter((record) => { return record.seqPai === key }).length > 0 &&
(\r\n \r\n {pro_codigo}\r\n \r\n )\r\n }, {\r\n title: 'Produto',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n )\r\n }, {\r\n title: 'Grade',\r\n render: ({ descricaoGrade }) => (\r\n
\r\n {descricaoGrade}\r\n
\r\n )\r\n }, {\r\n title: 'Custo Informado (R$)',\r\n align: 'right',\r\n render: ({ nfi_custoinformado }) => (\r\n\r\n
\r\n {FormatNumber(nfi_custoinformado, true, false, 6)}\r\n
\r\n\r\n )\r\n }, {\r\n title: 'Quant.',\r\n align: 'center',\r\n render: ({ nfi_qtde, ativarDisabled }, record) => (\r\n alterarQtde(e, record)} disabled={ativarDisabled} placeholder=\"\" />\r\n\r\n )\r\n }, {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 - Contratação do Frete por conta do Remetente (CIF)\r\n 1 - Contratação do Frete por conta do Destinatário (FOB)\r\n 2 - Contratação do Frete por conta de Terceiros\r\n 3 - Transporte Próprio por conta do Remetente\r\n 4 - Transporte Próprio por conta do Destinatário\r\n 9 - Sem Frete\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Dados Dados Transportador\r\n \r\n \r\n \r\n \r\n \r\n \r\n Nome: {!!dadosTransporte ? dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'pes_nome')?.valor : ''}\r\n \r\n \r\n CPF/CNPJ: {!!dadosTransporte ? !!dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'cnpjcpf') && \r\n dadosTransporte?.[0]?.find(obj => obj.nome === 'cnpjcpf')?.valor.length > 11 ? \r\n formatarCnpj(dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'cnpjcpf')?.valor) : \r\n formatarCpf(dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'cnpjcpf')?.valor) : \"\"}\r\n \r\n \r\n Inscrição Estadual: {!!dadosTransporte ? dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'pej_inscricaoestadual')?.valor : ''}\r\n \r\n \r\n Endereço: {!!dadosTransporte ? dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'log_logradouro')?.valor : \"\"}\r\n \r\n \r\n Município: {!!dadosTransporte ? dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'cid_descricao')?.valor : \"\"}\r\n \r\n \r\n UF: {!!dadosTransporte ? dadosTransporte.dadosTransporte?.[0]?.find(obj => obj.nome === 'est_sigla')?.valor : \"\"}\r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n \r\n \"Retenção Retenção ICMS\r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor do Serviço: valorServico\r\n \r\n \r\n Base Cálculo Retenção: valorBCRetencao\r\n \r\n \r\n Alíquota: picmsRetido\r\n \r\n \r\n ICMS Retido: valorIcmsRetido\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Veículo\" Veículo\r\n \r\n \r\n \r\n \r\n \r\n \r\n Placa Veículo: placaVeiculo\r\n \r\n \r\n UF Veículo: ufVeiculo\r\n \r\n \r\n Placa Reboque: placaReboque\r\n \r\n \r\n UF Reboque: ufReboque\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Volumes\" Volumes\r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n
\r\n Numeração: {nVol}\r\n \r\n \r\n Quantidade: {qVol}\r\n \r\n \r\n Espécie: {esp}\r\n \r\n \r\n Marca: {marca}\r\n \r\n \r\n \r\n \r\n Peso Líquido: {pesoL}\r\n \r\n \r\n Peso Bruto: {qVpesoBol}\r\n \r\n \r\n Visualizar Lacres: {nLacre} \r\n \r\n \r\n \r\n Número Fatura: {objFaturamento[0]?.numeroFatura}\r\n \r\n \r\n Valor Original (R$): {FormatNumber(objFaturamento[0]?.nfp_valor, true)}\r\n \r\n \r\n Desconto (R$): {FormatNumber(objFaturamento[0]?.vDesconto, true)}\r\n \r\n \r\n Valor Líquido (R$): {FormatNumber(objFaturamento[0]?.nfp_valor, true)}\r\n \r\n \r\n Forma de pagamento: {objFaturamento[0]?.tipoavistaaprazo}\r\n \r\n \r\n Tipo de pagamento: {objFaturamento[0]?.tipopagamento}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
adicionarFormaDePagamento()}>\r\n \r\n
\r\n \r\n { buscarCondicaoPagamento(record) }}\r\n conteudo={\r\n formas => ({formas.fpg_descricao})\r\n } />\r\n \r\n \r\n \r\n
\r\n {!semCondicaoPagamento &&\r\n \r\n \r\n \r\n\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {parcelasGeradas.length > 0 &&\r\n
\r\n \r\n Parcelas Geradas\r\n \r\n \r\n
(\r\n \r\n {prc_numeroparcela} - {parcelasGeradas.length}\r\n \r\n )\r\n },\r\n {\r\n title: 'Vencimento',\r\n align: 'center',\r\n width: 110,\r\n shouldCellUpdate: (() => { return renderizar }),\r\n render: ({ prc_datavencimento, prc_numeroparcela }, record, idx) => (\r\n
\r\n {editandoParcela ? ajustarDatasParcelas(record, idx)} /> : {moment(prc_datavencimento).format('DD/MM/YYYY')}}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Valor Parcela(R$)',\r\n align: 'right',\r\n shouldCellUpdate: (() => { { return renderizar } }),\r\n render: ({ prc_valor, prc_numeroparcela }) => (\r\n
\r\n {editandoParcela ? onChangevalorParcela(prc_numeroparcela)} disabled={prc_numeroparcela === parcelasGeradas.length} /> : {FormatNumber(prc_valor, true)}}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: () => (\r\n \r\n \r\n {!editandoParcela ? \r\n
\r\n
(\r\n
\r\n {fpg_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Condição de Pagamento',\r\n render: ({ cpg_descricao }) => (\r\n
\r\n {cpg_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ nfp_valor }) => (\r\n
\r\n {FormatNumber(nfp_valor, true)}\r\n
\r\n ),\r\n },\r\n\r\n {\r\n title: 'Operações',\r\n align: 'right',\r\n render: ({ }, record, idx) => (\r\n
\r\n
\r\n )\r\n }\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n { onCloseModalContaCorrente() }} fecharModalContaCorrente={() => { setAbreModalContaCorrente(false); }} listaContaCorrente={{ listaContaCorrente, setListaContaCorrente }} contaCorrente={{ contaCorrente, setContaCorrente }} />\r\n { setOpenModalEditarNotaFiscalEntrada(false) }} />\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, Form, Modal, notification, Row, Tabs } from \"antd\";\r\nimport { TabNotaFiscal, TabItens, TabTransporte, TabFaturamento } from \"./tabPage\";\r\nimport moment from \"moment\";\r\nimport { getNomeUsuario, getIdUsuario, getEmpresa, getLocal } from '../../services/auth';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { CloseOutlined, SaveOutlined } from \"@ant-design/icons\";\r\nimport { isNotNullOrEmpty, isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function ImportacaoNotaFiscalEntrada({ form, exibir, fechar }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [dadosNota, setDadosNota] = useState([]);\r\n const [dadosItens, setDadosItens] = useState([]);\r\n const [dadosFaturamento, setDadosFaturamento] = useState([]);\r\n const [faturamentoDados, setFaturamentoDados] = useState([]);\r\n const [dadosRemetente, setDadosRemetente] = useState([])\r\n const [dadosTransporte, setDadosTransporte] = useState([]);\r\n const [correlacaoCFOP, setCorrelacaoCFOP] = useState([]);\r\n const [indicadorPagamento, setIndicadorPagamento] = useState([]);\r\n const [desabilitaBotao, setDesabilitaBotao] = useState(true);\r\n const [keys, setKeys] = useState([0]);\r\n const [carregando, setCarregando] = useState(false);\r\n const [listapreco, setListareco] = useState([]);\r\n\r\n const salvarNota = (valores) => {\r\n validarDados(() => {\r\n setCarregando(true);\r\n let dados = {};\r\n let find = dadosNota.find(objeto => objeto.nome === 'xmlBase64');\r\n let findXml = dadosNota.find(objeto => objeto.nome === 'xml');\r\n dados.xml = !!find ? atob(find.valor) : findXml.valor;\r\n dados.ntf_numero = dadosNota.find(objeto => objeto.nome === 'ntf_numero')?.valor;\r\n dados.ntf_dataemissao = moment(dadosNota.find(objeto => objeto.nome === 'ntf_dataemissao')?.valor);\r\n dados.ntf_chavenfe = dadosNota.find(objeto => objeto.nome === 'ntf_chavenfe')?.valor;\r\n dados.ntf_modalidadefrete = dadosNota.find(objeto => objeto.nome === 'ntf_modalidadefrete')?.valor;\r\n dados.ntf_finalidade = dadosNota.find(objeto => objeto.nome === 'ntf_finalidade')?.valor;\r\n dados.ser_numero = dadosNota.find(objeto => objeto.nome === 'ser_numero')?.valor;\r\n dados.mdf_id = dadosNota.find(objeto => objeto.nome === 'mdf_id')?.valor;\r\n dados.vDesconto = parseFloat(dadosNota.find(objeto => objeto.nome === 'vDesconto')?.valor);\r\n dados.vOutrasDespesas = parseFloat(dadosNota.find(objeto => objeto.nome === 'vOutrasDespesas')?.valor);\r\n dados.vValorFrete = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorFrete')?.valor);\r\n dados.vValorSeguro = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorSeguro')?.valor);\r\n dados.vValorTotalNfe = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorTotalNfe')?.valor);\r\n dados.vValorTotalProdutos = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorTotalProdutos')?.valor);\r\n dados.vBaseCalculoIcms = parseFloat(dadosNota.find(objeto => objeto.nome === 'vBaseCalculoIcms')?.valor);\r\n dados.vValorIcms = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorIcms')?.valor);\r\n dados.vValorIpi = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorIpi')?.valor);\r\n dados.vBaseCalculoIcmsSt = parseFloat(dadosNota.find(objeto => objeto.nome === 'vBaseCalculoIcmsSt')?.valor);\r\n dados.vValorIcmsSt = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorIcmsSt')?.valor);\r\n dados.vValorCofins = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorCofins')?.valor);\r\n dados.vValorPis = parseFloat(dadosNota.find(objeto => objeto.nome === 'vValorPis')?.valor);\r\n dados.ope_id = valores.ope_id;\r\n dados.ntf_datainclusao = moment(new Date());\r\n dados.valorFreteForaNota = parseFloat(valores.freteForaNota);\r\n dados.valorICMSSTForaNota = parseFloat(valores.icmsstForaNota);\r\n dados.valorOutrasDespesasForaNota = parseFloat(valores.outrasDespesasForaNota);\r\n dados.dadosRemetente = popularDadosRemetente();\r\n dados.dadosFaturamento = popularDadosFaturamento(); \r\n dados.dadosTransportador = popularDadosTransportador();\r\n dados.dadosItens = dadosItens;\r\n dados.mar_id = form.getFieldsValue().mar_id ?? null;\r\n //listaPreco(dadosItens);\r\n incluirDadosNota(dados);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (exibir && !!manutencao.dados) {\r\n if (!!manutencao.dados.notaEntrada) {\r\n setDadosNota(manutencao.dados.notaEntrada);\r\n }\r\n if (!!manutencao.dados.dadosItens) {\r\n let i = 0;\r\n let itens = [];\r\n while (i < manutencao.dados.dadosItens.length) {\r\n // manutencao.dados.dadosItens.i = i;\r\n itens.push(manutencao.dados.dadosItens[i]);\r\n i++;\r\n }\r\n const itensOrd = itens.map(subvetor => { const objeto = {}; subvetor.forEach(item => { objeto[item.nome] = item.valor;}); return objeto;});\r\n setDadosItens(itensOrd);\r\n }\r\n if (!!manutencao.dados.dadosFaturamento) {\r\n let i = 0;\r\n let itens = [];\r\n while (i < manutencao.dados.dadosFaturamento.length) {\r\n itens.push(manutencao.dados.dadosFaturamento);\r\n i++;\r\n }\r\n itens.forEach((item) => {\r\n item.formaPagamento = [];\r\n item.condicaoPagamento = [];\r\n if (item.nfp_valor == null) item.nfp_valor = 0;\r\n });\r\n let keys = [];\r\n for (const [i, fat] of itens.entries()) {\r\n fat.key = i;\r\n fat.id = i;\r\n keys.push(i);\r\n }\r\n setKeys(keys);\r\n setDadosFaturamento(itens);\r\n }\r\n if (!!manutencao.dados.dadosRemetente) {\r\n setDadosRemetente(manutencao.dados.dadosRemetente);\r\n }\r\n if (!!manutencao.dados.dadosTransportador) {\r\n setDadosTransporte(manutencao.dados.dadosTransportador);\r\n }\r\n }\r\n }, [exibir]);\r\n\r\n useEffect(() => {\r\n buscarCorrelacaoCFOP();\r\n buscarIndicadorPagamento();\r\n }, []);\r\n\r\n function incluirDadosNota(dados) {\r\n api.post(`NotaFiscalEntrada/IncluirNotaEntrada`, dados).then(\r\n res => {\r\n notification.success({ description: 'Nota importada com sucesso!', message: 'Aviso' });\r\n setTimeout(() => { window.location = \"/Home#/monitoramentoNfe\"; }, 1000);\r\n }\r\n ).catch(\r\n erro => {\r\n setCarregando(false);\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.error({ content: erro.response.data.Message, title: 'Aviso' });\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n setCarregando(false);\r\n }\r\n );\r\n };\r\n\r\n function editarValorVenda(precoLista) {\r\n api.put(`ListaPrecoItem/EditarAsync`, precoLista).then( \r\n res => {\r\n notification.success({ description: 'Valor Venda Ajustado com sucesso!', message: 'Aviso' });\r\n setTimeout(() => { window.location = \"/Home#/monitoramentoNfe\"; }, 1000);\r\n }\r\n ).catch(\r\n erro => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.error({ content: erro.response.data.Message, title: 'Aviso' });\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n }\r\n );\r\n };\r\n\r\n async function buscaLista(item){\r\n let filtro = (!!item.pro_id ? `&idProduto=${item.pro_id}` : '');\r\n filtro += (!!item.prg_id ? `&idProdutoGrade=${item.prg_id}` : '');\r\n filtro += (`&verificaLocal=true&principal=true`);\r\n let lista = (await api.get(`ListaPreco/ListarListaPrecoProduto?filtro=${filtro}`)).data;\r\n return lista[0];\r\n }\r\n\r\n async function listaPreco(dadosItens){\r\n let ListaPrecoItem = [...listapreco];\r\n for ( var item of dadosItens){\r\n let idProduto = item.dadosItensSistema[0].pro_id;\r\n let idProdutoGrade = item.dadosItensSistema[0].prg_id;\r\n let lista = await buscaLista(item.dadosItensSistema[0]);\r\n let precoLista = {};\r\n precoLista.lpi_id = lista.lpi_id;\r\n precoLista.ltp_id = lista.ltp_id;\r\n precoLista.pro_id = idProduto;\r\n precoLista.prg_id = idProdutoGrade;\r\n precoLista.lpi_valorvenda = parseFloat(item.dadosItensSistema[0].valorVenda);\r\n precoLista.lpi_valorvendaanterior = lista.lpi_valorvenda;\r\n precoLista.lpi_perccomissao = lista.lpi_perccomissao;\r\n precoLista.lpi_naocalculacomissao =lista.lpi_naocalculacomissao;\r\n ListaPrecoItem.push(precoLista);\r\n editarValorVenda(precoLista);\r\n }\r\n }\r\n\r\n function validarDados(callback) {\r\n if (faturamentoDados.length === 0) {\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher a forma de pagamento!' });\r\n } else {\r\n let valorTotal = 0;\r\n faturamentoDados.forEach(item => {\r\n valorTotal += parseFloat(item.nfp_valor);\r\n })\r\n if (valorTotal != dadosFaturamento[0][0]?.find(obj => obj.nome === 'nfp_valor')?.valor) {\r\n notification.warning({ message: 'Aviso', description: 'Valor informado diferente do total da nota!' });\r\n return false;\r\n }\r\n validarItens(null,\r\n () => {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n function popularDadosRemetente() {\r\n let dadosRem = {};\r\n dadosRem.for_id = dadosRemetente[0].find(obj => obj.nome === 'for_id')?.valor;\r\n dadosRem.cnpjCpf = dadosRemetente[0].find(obj => obj.nome === 'cnpjcpf')?.valor;\r\n dadosRem.for_regimetributariofiscal = dadosRemetente[0].find(obj => obj.nome === 'for_regimetributariofiscal')?.valor;\r\n dadosRem.pej_inscricaoestadual = dadosRemetente[0].find(obj => obj.nome === 'pej_inscricaoestadual')?.valor;\r\n dadosRem.pes_nome = dadosRemetente[0].find(obj => obj.nome === 'pse_nome')?.valor;\r\n dadosRem.psc_numero = !!dadosRemetente[0].find(obj => obj.nome === 'psc_numero') ? dadosRemetente.find(obj => obj.nome === 'psc_numero')?.valor : null;\r\n dadosRem.pej_nomefantasia = dadosRemetente[0].find(obj => obj.nome === 'pej_nomefantasia')?.valor;\r\n dadosRem.cep_cep = dadosRemetente[0].find(obj => obj.nome === 'cep_cep')?.valor;\r\n dadosRem.log_logradouro = dadosRemetente[0].find(obj => obj.nome === 'log_logradouro')?.valor;\r\n dadosRem.bai_bairro = dadosRemetente[0].find(obj => obj.nome === 'bai_bairro')?.valor;\r\n dadosRem.pee_numero = dadosRemetente[0].find(obj => obj.nome === 'pee_numero')?.valor;\r\n dadosRem.pee_complemento = dadosRemetente[0].find(obj => obj.nome === 'pee_complemento')?.valor;\r\n dadosRem.cid_descricao = dadosRemetente[0].find(obj => obj.nome === 'cid_descricao')?.valor;\r\n dadosRem.est_sigla = dadosRemetente[0].find(obj => obj.nome === 'est_sigla')?.valor;\r\n dadosRem.pes_nome = dadosRemetente[0].find(obj => obj.nome === 'pes_nome')?.valor;\r\n return dadosRem;\r\n };\r\n\r\n function popularDadosFaturamento() {\r\n let dadosFat = [];\r\n faturamentoDados.forEach((faturamento) => {\r\n let dados = {};\r\n dados.numeroFatura = faturamento.numeroFatura;\r\n dados.fpg_id = faturamento.fpg_id;\r\n dados.cpg_id = faturamento.cpg_id;\r\n dados.ctc_id = faturamento.ctc_id;\r\n dados.nfp_valor = parseFloat(faturamento.nfp_valor);\r\n if (dados.nfp_valor == null) {\r\n dados.nfp_valor = 0;\r\n }\r\n dados.parcelas = popularParcelas(faturamento);\r\n dados.antecipacoes = popularAntecipacoes(faturamento);\r\n dadosFat.push(dados);\r\n });\r\n return dadosFat;\r\n };\r\n\r\n function popularParcelas(faturamento) {\r\n let dadosParcelas = [];\r\n if (!!faturamento.parcelas && faturamento.parcelas.length > 0) {\r\n faturamento.parcelas.forEach((parcela) => {\r\n let dados = {};\r\n dados.prc_numeroparcela = parcela.prc_numeroparcela;\r\n dados.prc_datavencimento = moment(parcela.prc_datavencimento);\r\n dados.prc_numeroduplicata = parcela.prc_numeroDuplicata;\r\n dados.prc_valor = parseFloat(parcela.prc_valor);\r\n dadosParcelas.push(dados);\r\n })\r\n }\r\n return dadosParcelas;\r\n };\r\n\r\n function popularAntecipacoes(faturamento) {\r\n let dadosAntecipacoes = [];\r\n /*let dados = {};\r\n dados.acf_id = 0;\r\n dados.valorUtilizado = parseFloat(0);*/\r\n return dadosAntecipacoes;\r\n };\r\n\r\n function popularDadosTransportador() {\r\n let dados = {};\r\n if (isObjetoDiffVazio(dadosTransporte)) {\r\n dados.cnpjCpf = dadosTransporte?.[0]?.find(obj => obj.nome === 'cnpjcpf')?.valor;\r\n dados.pes_nome = dadosTransporte?.[0]?.find(obj => obj.nome === 'pes_nome')?.valor;\r\n dados.est_sigla = dadosTransporte?.[0]?.find(obj => obj.nome === 'est_sigla')?.valor;\r\n dados.pej_inscricaoestadual = dadosTransporte?.[0]?.find(obj => obj.nome === 'pej_inscricaoestadual')?.valor;\r\n dados.log_logradouro = dadosTransporte?.[0]?.find(obj => obj.nome === 'log_logradouro')?.valor;\r\n dados.cid_descricao = dadosTransporte?.[0]?.find(obj => obj.nome === 'cid_descricao')?.valor;\r\n }\r\n return dados;\r\n };\r\n\r\n function buscarCorrelacaoCFOP() {\r\n api.get(`CorrelacaoCFOP/CorrelacaoCFOP?cfop=5101&tipoCorrelacao=1&tipoNota=1`).then(\r\n res => {\r\n setCorrelacaoCFOP(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function buscarIndicadorPagamento() {\r\n api.get(`Enum/Listar?nome=IndicadorPagamento`).then(\r\n res => {\r\n setIndicadorPagamento(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarItens(tab, callback) {\r\n let valido = true;\r\n dadosItens.forEach((item, indice, lista) => {\r\n if (!!item.dadosItensSistema && item.dadosItensSistema.length > 0 && valido) {\r\n let valor = 0;\r\n if (typeof item.dadosItensSistema !== 'object') {\r\n item.dadosItensSistema = JSON.parse(item.dadosItensSistema);\r\n }\r\n item.dadosItensSistema.forEach((itemSis, idx, array) => {\r\n valor += parseFloat(itemSis.nfi_custoinformado) * parseFloat(itemSis.nfi_qtde);\r\n if (idx === array.length - 1) {\r\n // faz o teste do null pq tem algumas notas que vem com o valor 0.\r\n if (item.xValorUnitarioProduto === null) {\r\n item.xValorUnitarioProduto = parseFloat(0);\r\n item.xValorTotalProduto = parseFloat(0);\r\n }\r\n // if (item.xValorUnitarioProduto !== 0 && item.xValorTotalProduto !== parseFloat(valor.toFixed(2))) {\r\n // valido = false;\r\n // notification.warning({ message: 'Aviso', description: \"Item nº: \" + item.nItem + \" - \" + item.cProd + \" - \" + item.xProd + \" com valor incorreto!\" });\r\n // }\r\n }\r\n });\r\n } else if (item.dadosItensSistema.length === 0 || !isNotNullOrEmpty(item.dadosItensSistema.length)) {\r\n valido = false;\r\n notification.warning({ message: 'Aviso', description: \"Item nº: \" + item.nItem + \" - \" + item.cProd + \" - \" + item.xProd + \" não informado!\" });\r\n }\r\n if (indice === lista.length - 1) {\r\n if (valido && !!callback) {\r\n callback(tab);\r\n }\r\n }\r\n });\r\n };\r\n\r\n function validarAba(tab) {\r\n if (parseInt(abaSelecionada) === 1) {\r\n if (!!form.getFieldValue().ope_id) {\r\n setAbaSelecionada(tab);\r\n } else {\r\n notification.warning({ description: 'Favor informar uma operação fiscal', message: 'Aviso' });\r\n }\r\n } else if (parseInt(abaSelecionada) === 2) {\r\n validarItens(tab, () => {\r\n setAbaSelecionada(tab);\r\n });\r\n } else {\r\n setAbaSelecionada(tab);\r\n }\r\n if (parseInt(tab) !== 4) {\r\n setDesabilitaBotao(true);\r\n } else {\r\n setDesabilitaBotao(false);\r\n }\r\n\r\n };\r\n\r\n function cancelarOperacao() {\r\n setAbaSelecionada(\"1\");\r\n setDadosNota([]);\r\n setDadosItens([]);\r\n setDadosFaturamento([]);\r\n setDadosRemetente([]);\r\n setDadosTransporte([]);\r\n setDesabilitaBotao(true);\r\n fechar();\r\n };\r\n\r\n return (\r\n
\r\n {exibir &&
\r\n validarAba(tab)} className=\"p-b-75\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Upload, Button, notification, Form } from \"antd\";\r\nimport { CloudUploadOutlined } from \"@ant-design/icons\";\r\n\r\nimport { BreadcrumbPage, BotaoAbrirChamado } from \"../../components\";\r\nimport { getBase64 } from \"../../services/funcoes\";\r\nimport api from \"../../services/api\";\r\nimport { buscarDadosBanco, buscarDadosTabela, buscarDadosTotal, criarBanco, excluirBancoDados, incluirBanco } from \"../../services/webSql\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { useStateValue } from \"../../state\";\r\nimport ModalSelecionarGrade from \"../../components/modals/modalSelecionarGrade\";\r\nimport ImportacaoNotaFiscalEntrada from \"../importacaoNotaFiscalEntrada\";\r\n\r\nexport default function ImportarNotaFiscalEntrada() {\r\n const [arquivoBase64, setArquivoBase64] = useState(\"\");\r\n const [arquivo, setArquivo] = useState(null);\r\n const [formNotaEntrada] = Form.useForm();\r\n const [openNota, setOpenNota] = useState(false);\r\n const [carregando, setCarregando] = useState(false);\r\n const [versionDB, setVersionDB] = useState(1);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const props = {\r\n name: 'file',\r\n multiple: false,\r\n showUploadList: false,\r\n maxCount: 1,\r\n disabled: !!arquivo,\r\n beforeUpload(file) {\r\n getBase64(file).then(base64 => {\r\n setArquivoBase64(base64.split('base64,')[1]);\r\n setArquivo(file);\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n let chave = localStorage.getItem('@GestorWeb-ChaveImportar');\r\n if (!!chave) {\r\n carregarNota(chave);\r\n }\r\n }, []);\r\n\r\n function carregarNota(chave) {\r\n setCarregando(true);\r\n api.post(`NotaFiscalEntrada/CarregarNfe?ChaveNfe=${chave}`).then(\r\n res => {\r\n console.log(\"NEE\", res);\r\n let dados = { ...res.data };\r\n let dadosNota = [];\r\n incluirDadosNota(dados, dadosNota);\r\n localStorage.removeItem('@GestorWeb-ChaveImportar');\r\n }\r\n ).catch(\r\n erro => {\r\n setCarregando(false);\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarNotaFiscal() {\r\n /* ValidarNfe*/\r\n setCarregando(true);\r\n api.post(`NotaFiscalEntrada/ValidarXML`, JSON.stringify(arquivoBase64), { headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(\r\n res => {\r\n let dados = { ...res.data };\r\n let dadosNota = [];\r\n dadosNota.push({ nome: 'xmlBase64', valor: arquivoBase64 });\r\n incluirDadosNota(dados, dadosNota);\r\n }\r\n ).catch(\r\n erro => {\r\n setCarregando(false);\r\n notification.error({ description: erro.response.data, message: 'Aviso' });\r\n removerNota();\r\n }\r\n );\r\n };\r\n\r\n async function incluirDadosNota(dados, dadosNota) {\r\n let dadosItens = [];\r\n let dadosCamposItens = [];\r\n let dadosFaturamento = [];\r\n let dadosFat = [];\r\n let dadosTransp = [];\r\n let dadosTransportador = [];\r\n let dadosRem = [];\r\n let dadosRemetente = [];\r\n for (let key in dados) {\r\n if (typeof dados[key] !== 'object') {\r\n dadosNota.push({ nome: key, valor: dados[key] });\r\n } else if (key === 'dadosItens') {\r\n dados.dadosItens.forEach((item) => {\r\n for (let keyItens in item) {\r\n if (!!!item[keyItens]) {\r\n dadosCamposItens.push({ nome: keyItens, unico: false, valor: null });\r\n } else if (typeof item[keyItens] === 'object') {\r\n dadosCamposItens.push({ nome: keyItens, unico: false, valor: JSON.stringify(item[keyItens]) });\r\n } else {\r\n dadosCamposItens.push({ nome: keyItens, unico: false, valor: item[keyItens] });\r\n }\r\n }\r\n dadosItens.push(dadosCamposItens);\r\n dadosCamposItens = [];\r\n });\r\n } else if (key === 'dadosFaturamento') {\r\n dados.dadosFaturamento.forEach((fat) => {\r\n for (let keyFat in fat) {\r\n if (!!!fat[keyFat]) {\r\n if (keyFat === \"nfp_valor\") {\r\n dadosFat.push({ nome: keyFat, unico: false, valor: 0 });\r\n } else {\r\n dadosFat.push({ nome: keyFat, unico: false, valor: null });\r\n }\r\n } else if (typeof fat[keyFat] === 'object') {\r\n dadosFat.push({ nome: keyFat, unico: false, valor: JSON.stringify(fat[keyFat]) });\r\n } else {\r\n dadosFat.push({ nome: keyFat, unico: false, valor: fat[keyFat] });\r\n }\r\n }\r\n dadosFaturamento.push(dadosFat);\r\n dadosFat = [];\r\n });\r\n } else if (key === 'dadosRemetente') {\r\n for (let keyRem in dados.dadosRemetente) {\r\n if (!!!dados.dadosRemetente[keyRem]) {\r\n dadosRem.push({ nome: keyRem, unico: false, valor: null });\r\n } else if (typeof dados.dadosRemetente[keyRem] === 'object') {\r\n dadosRem.push({ nome: keyRem, unico: false, valor: JSON.stringify(dados.dadosRemetente[keyRem]) });\r\n } else {\r\n dadosRem.push({ nome: keyRem, unico: false, valor: dados.dadosRemetente[keyRem] });\r\n }\r\n }\r\n dadosRemetente.push(dadosRem);\r\n dadosRem = [];\r\n } else if (key === 'dadosTransportador') {\r\n for (let keyTransp in dados.dadosTransportador) {\r\n if (!!!dados.dadosTransportador[keyTransp]) {\r\n dadosTransp.push({ nome: keyTransp, unico: false, valor: null });\r\n } else if (typeof dados.dadosTransportador[keyTransp] === 'object') {\r\n dadosTransp.push({ nome: keyTransp, unico: false, valor: JSON.stringify(dados.dadosTransportador[keyTransp]) });\r\n } else {\r\n dadosTransp.push({ nome: keyTransp, unico: false, valor: dados.dadosTransportador[keyTransp] });\r\n }\r\n }\r\n dadosTransportador.push(dadosTransp);\r\n dadosTransp = [];\r\n }\r\n }\r\n let retorno = [];\r\n excluirBancoDados(() => {\r\n criarBancoWeb('notaEntrada', 1, dadosNota, () => {\r\n criarBancoWeb('dadosItens', 2, dadosItens, () => {\r\n criarBancoWeb('dadosFaturamento', 3, dadosFaturamento, () => {\r\n criarBancoWeb('dadosRemetente', 4, dadosRemetente, () => {\r\n criarBancoWeb('dadosTransportador', 5, dadosTransportador, () => {\r\n buscarDadosTabela(retorno, 'notaEntrada', () => {\r\n buscarDadosTabela(retorno, 'dadosItens', () => {\r\n buscarDadosTabela(retorno, 'dadosFaturamento', () => {\r\n buscarDadosTabela(retorno, 'dadosRemetente', () => {\r\n buscarDadosTabela(retorno, 'dadosTransportador', () => {\r\n setCarregando(false);\r\n const vetorSeparado = {\r\n notaEntrada: retorno[0],\r\n dadosItens: retorno[1],\r\n dadosFaturamento: retorno[2],\r\n dadosRemetente: retorno[3],\r\n dadosTransportador: retorno[4]\r\n };\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: vetorSeparado } });\r\n setOpenNota(true);\r\n }, 5);\r\n }, 5);\r\n }, 5);\r\n }, 5);\r\n }, 5);\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n };\r\n\r\n\r\n function removerNota() {\r\n setArquivoBase64(\"\");\r\n setArquivo(null);\r\n excluirBancoDados();\r\n };\r\n\r\n async function criarBancoWeb(nomeBanco, version, campos, callback) {\r\n\r\n await criarBanco(nomeBanco, campos, version);\r\n await incluirBanco(nomeBanco, campos, version);\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!openNota &&
\r\n \r\n {!!!arquivo &&
\r\n \r\n
\r\n

\r\n \r\n

\r\n \r\n \r\n

Arraste o xml aqui! (o arquivo deve estar no formato .xml)

\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!!arquivo &&
\r\n \r\n
\r\n \r\n \r\n \r\n {arquivo.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n { setOpenNota(false) }} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tooltip, Form, Input, Select, Button, Collapse, Typography, Tag, Dropdown, Menu, Alert, notification, Modal, InputNumber } from \"antd\";\r\nimport { DownloadOutlined, CloseOutlined, QuestionCircleOutlined, ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, FileProtectOutlined, ExclamationCircleOutlined, MoreOutlined, CheckOutlined, ReloadOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { getLocal } from \"../../services/auth\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormatNumber, MaskFormat } from \"../../ValueObjects\";\r\nimport { ModalManifestoDestinatario } from \"../../components/modals/\";\r\nimport { BreadcrumbAbrirChamado, TabelaDados, Data } from \"../../components\";\r\nimport { retornaSoNumeros } from \"../../services/funcoes\";\r\n\r\nexport default function MonitoramentoNfe() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [open, setOpen] = useState(false);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [ambiente, setAmbiente] = useState(null);\r\n const [cnpj, setCnpj] = useState(null);\r\n const [tipoNfe, setTipoNfe] = useState([]);\r\n const [situacaoNfe, setSituacaoNfe] = useState([]);\r\n const [dadosNota, setDadosNota] = useState([]);\r\n const [formulario] = Form.useForm();\r\n const dataAtual = new Date();\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const menuTable = (record) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const menuOpcoes = () => (\r\n \r\n \r\n \r\n \r\n \r\n Importar XML \r\n \r\n \r\n );\r\n\r\n useEffect(() => {\r\n limparFiltros();\r\n }, []);\r\n\r\n function verificarLocal() {\r\n api.get(`Local/BuscarLocal`).then(function (local) {\r\n if (local.status === 200) {\r\n setCnpj(local.data.loc_cnpj.numero);\r\n }\r\n });\r\n };\r\n function limparFiltros() {\r\n formulario.setFieldsValue({ dataEmissao: moment(new Date(dataAtual.getFullYear(), dataAtual.getMonth() - 1, 1)), dataMaxEmissao: moment(new Date()), nsuEspecifico: \"\" });\r\n\r\n listarTipoNfe();\r\n listarSituacaoNfe();\r\n verificarAmbiente();\r\n verificarLocal();\r\n listarNotas();\r\n };\r\n function verificarAmbiente() {\r\n api.get(`Nfe/VerificarAmbiente?codigoLocal=${getLocal()}`).then(function (retornoAmbiente) {\r\n if (retornoAmbiente.status === 200) {\r\n setAmbiente(retornoAmbiente.data.lcn_ambienteemissao);\r\n formulario.setFieldsValue({ nsuUltimo: retornoAmbiente.data.lcn_monitoramentonsuproducao });\r\n }\r\n });\r\n };\r\n\r\n const verificarNotas = () => {\r\n api.get(`Nfe/Monitoramento`).then(res => {\r\n if (res.status === 200) {\r\n if (res.data.retorno.cStat === 138) {\r\n notification.success({ description: res.data.retorno.xMotivo, message: `Operação Realizada com Sucesso!` });\r\n } else {\r\n notification.error({ description: res.data.retorno.xMotivo, message: `SEFAZ Informa !` });\r\n }\r\n listarNotas();\r\n }\r\n }).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarTipoNfe() {\r\n api.get(`Enum/Listar?nome=TipoNFe`).then(function (res) {\r\n if (res.status === 200) {\r\n setTipoNfe(res.data);\r\n let tipoNf = [];\r\n res.data.forEach((item) => {\r\n tipoNf.push(item.key.toString());\r\n });\r\n formulario.setFieldsValue({ tipoNf: tipoNf });\r\n }\r\n });\r\n };\r\n\r\n function listarSituacaoNfe() {\r\n api.get(`Enum/Listar?nome=SituacaoNfe`).then(function (res) {\r\n if (res.status === 200) {\r\n setSituacaoNfe(res.data);\r\n let situacaoNf = [];\r\n res.data.forEach((item) => {\r\n situacaoNf.push(item.key.toString());\r\n });\r\n formulario.setFieldsValue({ situacaoNf: situacaoNf });\r\n }\r\n });\r\n };\r\n\r\n function listarNotas() {\r\n if (!!formulario.getFieldValue().pesquisa) {\r\n let modelo = \"\";\r\n let chaveAcesso = retornaSoNumeros(formulario.getFieldValue().pesquisa);\r\n if (chaveAcesso.length === 44)\r\n modelo = chaveAcesso.substring(20, 22);\r\n if (modelo !== \"55\")\r\n notification.error({ description: \"Chave de acesso não é de um documento fiscal modelo 55 NF-e!\", message: \"Atenção!\" })\r\n }\r\n let filtros = `&SituacaoNf=${(!!formulario.getFieldValue().situacaoNf ? formulario.getFieldValue().situacaoNf.join(',') : '')}\r\n &Tipodocumento=${(!!formulario.getFieldValue().tipoNf ? formulario.getFieldValue().tipoNf.join(',') : '')}`;\r\n filtros += (!!formulario.getFieldValue().pesquisa ? `&Filtro=${formulario.getFieldValue().pesquisa}` : '');\r\n filtros += (!!formulario.getFieldValue().nsuEspecifico ? `&NsuEspecifico=${formulario.getFieldValue().nsuEspecifico}` : '');\r\n filtros += (!!formulario.getFieldValue().dataEmissao ? `&DataEmissao=${formulario.getFieldValue().dataEmissao.format('YYYY-MM-DD')}` : '');\r\n filtros += (!!formulario.getFieldValue().dataMaxEmissao ? `&DataMaxEmissao=${formulario.getFieldValue().dataMaxEmissao.format('YYYY-MM-DD')}` : '');\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-nfd_datahoraemissao', outrosFiltros: filtros } });\r\n };\r\n\r\n\r\n function importarNfe(notaFiscal) {\r\n if (notaFiscal.nfd_manifestodestinatario === 0 || notaFiscal.nfd_manifestodestinatario === 1) {\r\n importarNotaFiscalEletronica(notaFiscal.nfd_chavenfe);\r\n } else {\r\n Modal.confirm({\r\n title: `Atenção!`,\r\n icon: ,\r\n content: `Esta nota fiscal não possui nenhuma manifestação de destinatário realizada. Para realizar o download da NF-e a manifestação é obrigatória. Deseja realizar a CIÊNCIA DA EMISSÃO automaticamente e continuar com o processo de importar a nota selecionada?`,\r\n okText: 'Sim, realizar manifestação e importar!',\r\n cancelText: 'Não, cancelar operação.',\r\n width: 550,\r\n onOk() {\r\n api.post(`NotaFiscal/ManifestarNfe?TipoManifesto=0&ChaveNfe=${notaFiscal.nfd_chavenfe}&justificativa=`).then(\r\n (res) => {\r\n if (res.data.retorno.cStat === 128) {\r\n if (res.data.retorno.retEvento[0].infEvento.cStat === 128 || res.data.retorno.retEvento[0].infEvento.cStat === 135) {\r\n importarNotaFiscalEletronica(notaFiscal.nfd_chavenfe);\r\n }\r\n else {\r\n notification.error({ description: res.data.retorno.retEvento[0].infEvento.xMotivo, message: `Erro na Manifestação!` });\r\n }\r\n } else {\r\n notification.error({ description: res.data.retorno.xMotivo, message: `Erro na Manifestação!` });\r\n }\r\n }\r\n ).catch(() => {\r\n notification.error({ description: 'A manifestação de CIÊNCIA DA EMISSÃO não foi realizada. Desta forma a NF-e não pode ser importada para o sistema.', message: `Erro na Manifestação!` });\r\n });\r\n },\r\n onCancel() {\r\n notification.error({ description: 'O download da nota fiscal não foi realizado, a NF-e não foi importada para o sistema.', message: `Operação Cancelada!` });\r\n }\r\n });\r\n }\r\n };\r\n function fecharModal() {\r\n setOpenModal(false);\r\n listarNotas();\r\n }\r\n function importarNotaFiscalEletronica(chaveNfe) {\r\n api.post(`Nfe/DownloadNFe?ChaveNfe=${chaveNfe}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n localStorage.setItem('@GestorWeb-ChaveImportar', chaveNfe);\r\n window.location = \"/Home#/importarNotaFiscalEntrada\";\r\n }\r\n }\r\n ).catch((erro) => {\r\n notification.error({ description: `SEFAZ Informa: Serviço indisponível no momento (${erro.response.data.Message}), Tente novamente mais tarde!`, message: `Download do arquivo XML da NF- e` });\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n {ambiente === 2 &&\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n \r\n Pesquisar por\r\n \r\n \r\n \r\n \r\n }>\r\n listarNotas()} placeholder=\"Nº da Nota Fiscal / Chave de Acesso da NF-e / Emissor\" allowClear />\r\n \r\n \r\n \r\n menuOpcoes()} trigger={['click']}>\r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n {tipoNfe.map((item) => (\r\n {item.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {situacaoNfe.map((item) => (\r\n {item.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n NOTAS FISCAIS EMITIDAS CONTRA MEU CNPJ - {MaskFormat(cnpj, 'Não Informado', true)}.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ao configurar sua empresa como emissora de Notas Fiscais Eletrônicas, o GestorWeb realiza um monitoramento diário automaticamente \r\n de todas as notas emitidas contra sua empresa. Este monitoramento é realizado de forma automatica todos os dias às 05:45h. Para realizar uma verificação agora,\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {nfd_numeronf}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Status',\r\n width: 100,\r\n align: 'center',\r\n render: ({ nfd_situacaonfe }) => (\r\n
\r\n \r\n \r\n {!!situacaoNfe[nfd_situacaonfe] ? situacaoNfe[nfd_situacaonfe].value : ''}\r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Emitente',\r\n render: ({ nfd_nomeemissor }) => (\r\n
\r\n {nfd_nomeemissor}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 140,\r\n render: ({ nfd_cpfcnpjemissor }) => (\r\n
\r\n {MaskFormat(nfd_cpfcnpjemissor, '', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Emissão',\r\n width: 140,\r\n render: ({ nfd_datahoraemissao }) => (\r\n
\r\n {moment(nfd_datahoraemissao).format('DD/MM/YYYY HH:mm:ss')}\r\n
\r\n ),\r\n },\r\n {\r\n render: ({ nfd_manifestodestinatario }) => (\r\n \r\n
\r\n {nfd_manifestodestinatario === 0 &&\r\n \r\n Ciência da Emissão\r\n \r\n }\r\n {nfd_manifestodestinatario === 1 &&\r\n \r\n Confirmação da Operação\r\n \r\n }\r\n {nfd_manifestodestinatario === 2 &&\r\n \r\n Operação não Realizada\r\n \r\n }\r\n {nfd_manifestodestinatario === 3 &&\r\n \r\n Desconhecimento da Operação\r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n fixed: 'right',\r\n align: 'right',\r\n render: ({ nfd_valortotal }) => (\r\n
\r\n {FormatNumber(nfd_valortotal, true, false)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n {record.nfd_situacaonfe === 1 &&\r\n \r\n
\r\n menuTable(record)} trigger={['click']}>\r\n \r\n Série: {nfd_serienf}\r\n \r\n \r\n Modelo: {nfd_modelodocumento}\r\n \r\n \r\n Tipo de Nota: {tipoNfe[nfd_tipodocumento].value}\r\n \r\n \r\n Chave da NF-e: {nfd_chavenfe}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n fecharModal()} dadosNota={dadosNota} />\r\n \r\n );\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Menu, Dropdown, Typography, Popover, Table, Divider, notification } from \"antd\";\r\nimport { MoreOutlined, PrinterOutlined, CloseOutlined, FileTextOutlined, EditOutlined, ExclamationCircleOutlined, DeleteOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { Editar, TabelaDados } from \"../../components\";\r\nimport { novaAbaNavegador } from \"../../services/funcoes\";\r\nimport { drawerActions, manutencaoActions, listagemActions, selectPaginadoActions } from \"../../actions\";\r\nimport { ModalCancelamentoNfe, ModalCartaCorrecaoNotaFiscal, ModalReenviarSefaz, ModalInutilizarNota } from \"../../components/modals\";\r\n\r\nexport default function TabNotaFiscalEmitida({ retornaDescricaoStatus, carregarDados }) {\r\n\r\n const [openModalCancelar, setOpenModalCancelar] = useState(false);\r\n const [openModalCartaCorrecao, setOpenModalCartaCorrecao] = useState(false);\r\n const [dadosNota, setDadosNota] = useState({});\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [exibirModalInutilizar, setExibirModalInutilizar] = useState(false);\r\n const [openModalExcluir, setOpenModalExcluir] = useState(false);\r\n const [openModalReenviarSefaz, setModalReenviarSefaz] = useState(false);\r\n\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n {/*Não tem opção de editar no permissão de acesso.\r\n \r\n {(record.ntf_status === 0 || record.ntf_status === 4) && record.ntf_nroinutilizadosefaz == false && record.ntf_tiponota === 2 &&\r\n \r\n } onClick={() => {\r\n editarNota(record)\r\n }}> Editar \r\n \r\n } */}\r\n {(record.ntf_status === 4 || record.ntf_status === 0) && record.ntf_modelo == '55' &&\r\n \r\n }\r\n {(record.ntf_status === 4 || record.ntf_status === 0) && record.ntf_modelo == '55' &&\r\n \r\n }\r\n {record.ntf_status === 1 && record.ntf_modelo == '55' && record.ntf_tiponota === 1 &&\r\n \r\n \r\n }\r\n {record.ntf_status === 1 &&\r\n \r\n \r\n \r\n }\r\n {record.ntf_status === 1 &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n function abrirExcluirNota(record) {\r\n setDadosNota(record);\r\n setOpenModalExcluir(true);\r\n };\r\n\r\n function inutilizarNota(record) {\r\n setDadosNota(record);\r\n setExibirModalInutilizar(true)\r\n };\r\n function autorizarNota(record) {\r\n setDadosNota(record);\r\n setModalReenviarSefaz(true);\r\n };\r\n\r\n\r\n function fecharModalInutilizar() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n setExibirModalInutilizar(false);\r\n }\r\n\r\n function editarNota(record) {\r\n setDadosNota(record);\r\n if (record.ntf_id) {\r\n api.get(`NotaFiscalTransferencia/dadosNotaFiscal?codigoNotaFiscal=${record.ntf_id}`).then(retornaNota => {\r\n if (retornaNota.status === 200) {\r\n retornaNota.data[0].ntf_dataemissao = moment(retornaNota.data[0].ntf_dataemissao);\r\n retornaNota.data[0].loc_id = retornaNota.data[0].localDestino;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: retornaNota.data[0] } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n function abrirCancelarNota(record) {\r\n setDadosNota(record);\r\n setOpenModalCancelar(true);\r\n };\r\n\r\n function abrirCartaCorrecao(record) {\r\n setDadosNota(record);\r\n setOpenModalCartaCorrecao(true);\r\n };\r\n\r\n return (\r\n
\r\n (\r\n
\r\n \r\n {ntf_numero}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Status',\r\n width: 100,\r\n align: 'center',\r\n render: ({ ntf_status }) => (\r\n
\r\n \r\n \r\n {retornaDescricaoStatus(ntf_status)}\r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n width: 750,\r\n title: 'Transferências Emitidas',\r\n render: ({ ntf_status, ntf_nomedest, ser_serie, ntf_dataemissao, ntf_chavenfe, ntf_cstat, ntf_xmotivo }) => (\r\n
\r\n \r\n
\r\n \r\n {ntf_nomedest}\r\n \r\n \r\n \r\n Série: {ser_serie}\r\n \r\n \r\n Emissão: {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n {!(!!ntf_chavenfe) ?\r\n \r\n NF-e não gerada\r\n :\r\n \r\n NF-e:\r\n \r\n {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${ntf_chavenfe}`);\r\n }} target=\"_blank\">\r\n {ntf_chavenfe}\r\n \r\n \r\n \r\n }\r\n {(ntf_status == 3 || ntf_status == 4) &&\r\n \r\n Rejeição: {ntf_cstat}{!!(ntf_xmotivo) ? (', ' + ntf_xmotivo) : ''}\r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total da Nota (R$)',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {FormatNumber(valor_total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n function abrirModalConfirmacao(record) {\r\n setDadosNota(record);\r\n setOpenModalConfirmacao(true);\r\n };\r\n\r\n return (\r\n
\r\n (\r\n
\r\n \r\n {ntf_numero}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Status',\r\n width: 100,\r\n align: 'center',\r\n render: ({ statusTransferencia }) => (\r\n
\r\n \r\n {statusTransferencia === 0 ? 'Pendente' : 'Transferido'} \r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Transferências Emitidas',\r\n render: (record ,{ ntf_nomedest, ser_serie, ntf_dataemissao, ntf_chavenfe }) => (\r\n
\r\n \r\n
\r\n \r\n {ntf_nomedest}\r\n \r\n \r\n \r\n Série: {ser_serie}\r\n \r\n \r\n Emissão: {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n {!(!!ntf_chavenfe) ?\r\n \r\n NF-e não gerada\r\n :\r\n \r\n NF-e:\r\n { imprimir(record) }}>Clique para visualizar o Danfe}>\r\n {ntf_chavenfe}\r\n \r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Total da Nota (R$)',\r\n align: 'right',\r\n render: ({ valor_total }) => (\r\n
\r\n {FormatNumber(valor_total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n \r\n \r\n {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {nfi_ean}\r\n \r\n {!!grade && \r\n Grade: {grade}\r\n }\r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'CFOP',\r\n align: 'center',\r\n render: ({ nfi_cfop }) => (\r\n
\r\n {nfi_cfop}\r\n
\r\n ),\r\n },\r\n {\r\n align: 'center',\r\n title: `${dadosContribuinte.emp_regimetributario === 1 ? 'CSOSN' : 'CST'}`,\r\n render: ({ cst_id, cso_id }) => (\r\n
\r\n \r\n {dadosContribuinte.emp_regimetributario !== 1 ?\r\n
\r\n {cst_id}\r\n \r\n : \r\n {cso_id}\r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Quant.',\r\n align: 'center',\r\n render: ({ nfi_qtde }) => (\r\n
\r\n {nfi_qtde}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Unit. (R$)',\r\n align: 'right',\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Total (R$)',\r\n align: 'right',\r\n render: ({ total }) => (\r\n
\r\n {FormatNumber(total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n ICMS Base de Cálculo: {nig_valorbc}\r\n \r\n \r\n Alíquota: {nig_percicms}\r\n \r\n \r\n Valor (R$): {nig_valoricms}\r\n \r\n \r\n \r\n \r\n IPI Base de Cálculo: {npi_valorbcipi}\r\n \r\n \r\n Alíquota: {npi_percaliquotaipi}\r\n \r\n \r\n Valor (R$): {npi_valoripi}\r\n \r\n \r\n \r\n \r\n ICMS ST Base de Cálculo: {nig_valorbcst}\r\n \r\n \r\n Alíquota: {nig_percmvast}\r\n \r\n \r\n Valor (R$): {nig_valoricmsst}\r\n \r\n \r\n \r\n )\r\n }} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n }\r\n \r\n
\r\n \r\n
\r\n Quantidade:\r\n \r\n \r\n {quantidade}\r\n \r\n \r\n \r\n \r\n Valor Total dos Itens (R$):\r\n \r\n \r\n {FormatNumber(valorTotal, true)}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Card, Form, Typography, Input, Divider } from \"antd\";\r\n\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { validarNumeros } from \"../../services/funcoes\";\r\n\r\nexport default function TabResumoTransferencia({ form, dadosItens, resumoNota }) {\r\n\r\n useEffect(() => {\r\n let formulario = form.getFieldValue();\r\n let resumo = {\r\n valorProduto: 0,\r\n valorFrete: 0,\r\n valorOutros: 0,\r\n valorSeguro: 0,\r\n valorBaseICMS: 0,\r\n valorICMS: 0,\r\n valorBaseST: 0,\r\n valorICMSST: 0,\r\n valorBaseIPI: 0,\r\n valorIPI: 0,\r\n valorBaseICMSST: 0\r\n };\r\n\r\n dadosItens.dadosItens.forEach((item) => {\r\n resumo.valorProduto += (item.nfi_valorunitario * item.nfi_qtde) || 0;\r\n resumo.valorFrete += (item.nfi_valorfrete) || 0;\r\n resumo.valorOutros += (item.nfi_valoroutros) || 0;\r\n resumo.valorSeguro += (item.nfi_valorseguro) || 0;\r\n resumo.valorBaseICMS += (item.nig_valorbc) || 0;\r\n resumo.valorICMS += (item.nig_valoricms) || 0;\r\n resumo.valorBaseST += (item.nig_valorbcst) || 0;\r\n resumo.valorICMSST += (item.nig_valoricmsst) || 0;\r\n resumo.valorBaseIPI += (item.npi_valorbcipi) || 0;\r\n resumo.valorIPI += (item.npi_valoripi) || 0;\r\n });\r\n resumo.valorFrete = validarNumeros(formulario.valorFrete);\r\n resumo.valorSeguro = validarNumeros(formulario.valorSeguro);\r\n resumo.valorTotalNotaFiscal = resumo.valorProduto + resumo.valorFrete + resumo.valorOutros + resumo.valorSeguro + resumo.valorIPI + resumo.valorICMSST; \r\n\r\n let dadosItensTemp = [...dadosItens.dadosItens];\r\n let freteRateado = resumo.valorFrete / dadosItensTemp.length;\r\n let seguroRateado = resumo.valorSeguro / dadosItensTemp.length;\r\n \r\n for (var i = 0; i < dadosItensTemp.length; i++) {\r\n dadosItensTemp[i].nfi_valorfrete = freteRateado;\r\n dadosItensTemp[i].nfi_valorseguro = seguroRateado;\r\n }\r\n dadosItens.setDadosItens(dadosItensTemp);\r\n resumoNota.setResumoNota(resumo);\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Resumo da Nota Fiscal de Transferência\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorProduto, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorFrete, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorSeguro, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorOutros, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorBaseIPI, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorIPI, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorBaseICMS, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorICMS, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorBaseST, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorICMSST, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota (R$)\r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(resumoNota.resumoNota.valorTotalNotaFiscal, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Form, Select, Steps, Alert, Input, notification, Tooltip } from \"antd\";\r\nimport { QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { Data, FormGW } from '../../components';\r\nimport { useStateValue } from '../../state';\r\nimport { getEmpresa, getLocal } from '../../services/auth';\r\nimport { MaskFormat } from '../../ValueObjects';\r\nimport { TabTransporte } from '../tabNotaFiscal/index';\r\nimport { TabItemTransferencia, TabResumoTransferencia } from './tabPage';\r\nimport { novaAbaNavegador, validarDadosObj, validaForm } from '../../services/funcoes';\r\n\r\nexport default function ManutencaoNotaFiscalTransferencia({ formulario, carregando, aoSalvar, pages, proximaPag, limparDados, abrirDrawer }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [serieFiscal, setSerieFiscal] = useState([]);\r\n const [tipoPreco, setTipoPreco] = useState([]);\r\n const [ambiente, setAmbiente] = useState([]);\r\n const [filiaisEmpresa, setFiliaisEmpresa] = useState([]);\r\n const [parametrosEmpresa, setParametrosEmpresa] = useState([]);\r\n const [dadosContribuinte, setDadosContribuinte] = useState([]);\r\n const [dadosEndereco, setDadosEndereco] = useState({});\r\n const [dadosNfeTransferencia, setDadosNfeTransferencia] = useState({});\r\n const [listaVeiculos, setListaVeiculos] = useState([]);\r\n const [dadosTransp, setDadosTransp] = useState({});\r\n const [resumoNota, setResumoNota] = useState({});\r\n const [dadosItens, setDadosItens] = useState([]);\r\n const listaValidacoesDest = [\r\n { nome: 'loc_id', obrigatorio: true, label: 'Destinatário' },\r\n { nome: 'ser_id', obrigatorio: true, label: 'Série Fiscal' },\r\n { nome: 'ntf_dataemissao', obrigatorio: true, label: 'Data de Emissão' },\r\n { nome: 'custo', obrigatorio: true, label: 'Preço' }\r\n ];\r\n\r\n const listaValidacoesTransp = [\r\n { nome: 'ntf_modalidadefrete', obrigatorio: true, label: 'Modalidade do Frete' }\r\n ];\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n carregarDados();\r\n if (!(!!formulario.getFieldValue().ntf_dataemissao)) {\r\n formulario.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n useEffect(() => {\r\n if (abrirDrawer && !!manutencao.dados && !!manutencao.dados.itensNf) {\r\n let itens = manutencao.dados.itensNf;\r\n let pdi_valorfrete = 0;\r\n itens.forEach((item) => {\r\n pdi_valorfrete += parseFloat(!!item.pdi_valorfrete ? item.pdi_valorfrete : 0);\r\n });\r\n setDadosItens(itens);\r\n carregarDados();\r\n formulario.setFieldsValue(manutencao.dados);\r\n formulario.setFieldsValue({ valorFrete: pdi_valorfrete });\r\n if (!(!!formulario.getFieldValue().ntf_dataemissao)) {\r\n formulario.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!proximaPag.proximaPag || proximaPag.proximaPag === 0) {\r\n validarTrocaPg(proximaPag.proximaPag);\r\n }\r\n }, [proximaPag.proximaPag]);\r\n\r\n function salvarNota(values) {\r\n let operacao = 'Incluir';\r\n\r\n if (!!values.ntf_id) {\r\n operacao = 'Editar';\r\n }\r\n let dados = popularDados();\r\n carregando(true);\r\n api.post(`NotaFiscalTransferencia/${operacao}`, dados).then(\r\n (retornoNF) => {\r\n if (retornoNF.status === 200) {\r\n if (operacao === 'Incluir') {\r\n if (retornoNF.data.ntf_status === 1 && !!retornoNF.data.ntf_chavenfe && !!retornoNF.data.ser_id) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${retornoNF.data.ntf_chavenfe}`);\r\n } else if (retornoNF.data.ntf_status === 1 && !!retornoNF.data.ntf_chavenfe) {\r\n }\r\n }\r\n notification.success({ message: 'Sucesso', description: `Nota ${operacao === 'Incluir' ? 'Incluída' : 'Editada'} com sucesso!` });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n if (!!erro.response && !!erro.response.data) {\r\n notification.error({ description: erro.response.data, message: `Aviso` });\r\n } else {\r\n notification.error({ description: 'Não foi possível salvar os dados da nota de transferência!', message: `Aviso` });\r\n }\r\n }\r\n ).finally(() => {\r\n carregando(false);\r\n setDadosItens([]);\r\n aoSalvar();\r\n });\r\n };\r\n\r\n function validarTrocaPg(proxPagina) {\r\n let paginaAtual = pages.tagPages;\r\n let listaValidacoes = [];\r\n\r\n if (paginaAtual < proxPagina) {\r\n switch (paginaAtual) {\r\n case 0:\r\n listaValidacoes = listaValidacoesDest;\r\n break;\r\n case 1:\r\n if (dadosItens.length === 0) {\r\n notification.warning({ message: 'Aviso', description: `É necessário informar um item na nota fiscal!` });\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n listaValidacoes = listaValidacoesTransp;\r\n break;\r\n }\r\n if (validaForm(formulario, listaValidacoes)) {\r\n pages.setTagPages(proxPagina);\r\n } else {\r\n proximaPag.setProximaPag(paginaAtual);\r\n }\r\n } else {\r\n pages.setTagPages(proxPagina);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (limparDados.limparDados) {\r\n pages.setTagPages(0);\r\n setDadosItens([]);\r\n setResumoNota({});\r\n limparDados.setLimparDados(false);\r\n }\r\n }, [limparDados.limparDados]);\r\n\r\n function popularDados() {\r\n let valores = formulario.getFieldsValue();\r\n let dados = formulario.getFieldValue();\r\n valores.dadosDestinatario = preencherDadosDestinatario(dados);\r\n valores.serieFiscal = serieFiscal.filter((serie) => { return serie.ser_id === dados.ser_id })[0];\r\n valores.dadosContribuinte = dadosContribuinte;\r\n valores.listaItemNotaFiscal = dadosItens;\r\n valores.custo = tipoPreco.filter((custo) => { return custo.key === dados.custo })[0];\r\n valores.par_69 = parametrosEmpresa.par_69;\r\n valores.transporte = preencherDadosTransportadores(dados);\r\n valores.ntf_modalidadefrete = valores.transporte.ntf_modalidadefrete;\r\n valores.resumo = resumoNota;\r\n valores.emp_id = getEmpresa();\r\n valores.ser_id = valores.serieFiscal.ser_id;\r\n valores.ser_numero = valores.serieFiscal.ser_numero;\r\n return valores;\r\n };\r\n\r\n function preencherDadosDestinatario(dados) {\r\n let dadosDestinatario = {\r\n loc_id: dados.loc_id\r\n }\r\n return dadosDestinatario;\r\n };\r\n\r\n function preencherDadosTransportadores(dados) {\r\n let dadosTransporte = {};\r\n dadosTransporte.trn_id = !!dadosTransp.trn_id ? dadosTransp.trn_id : null;\r\n dadosTransporte.trn_id = dados.trn_id;\r\n dadosTransporte.trv_marca = dados.trv_marca;\r\n dadosTransporte.trv_modelo = dados.trv_modelo;\r\n dadosTransporte.trv_placa = dados.trv_placa;\r\n dadosTransporte.trv_rntc = dados.trv_rntc;\r\n dadosTransporte.trv_uf = dados.trv_uf;\r\n dadosTransporte.trv_observacao = dados.trv_observacao\r\n dadosTransporte.nvl_especievolume = dados.nvl_especievolume;\r\n dadosTransporte.nvl_marcavolume = dados.nvl_marcavolume;\r\n dadosTransporte.nvl_numeracaovolume = !!dados.nvl_numeracaovolume ? dados.nvl_numeracaovolume.toString() : \"\";\r\n dadosTransporte.nvl_pesobruto = dados.nvl_pesobruto;\r\n dadosTransporte.nvl_pesoliquido = dados.nvl_pesoliquido;\r\n dadosTransporte.nvl_qtdevolumes = dados.nvl_qtdevolumes\r\n dadosTransporte.ntf_modalidadefrete = dados.ntf_modalidadefrete;\r\n return dadosTransporte;\r\n };\r\n\r\n async function carregarDados() {\r\n let retornoSerie = await api.get(`SerieFiscal/Listar?CodigoModeloDocFiscal=55&EmitenteDocumento=0`);\r\n if (retornoSerie.status === 200) {\r\n setSerieFiscal(retornoSerie.data.items);\r\n\r\n if (retornoSerie.data.items.length === 1) {\r\n formulario.setFieldsValue({ ser_id: retornoSerie.data.items[0].ser_id });\r\n }\r\n }\r\n\r\n let retornoTipoPreco = await api.get(`Enum/Listar?nome=TipoPrecoUtilizar`);\r\n if (retornoTipoPreco.status === 200) {\r\n retornoTipoPreco.data = retornoTipoPreco.data.filter((item) => { return item.key > 0 });\r\n setTipoPreco(retornoTipoPreco.data);\r\n }\r\n\r\n let retornoAmbiente = await api.get(`Nfe/VerificarAmbiente?codigoLocal=${getLocal()}`);\r\n if (retornoAmbiente.status === 200) {\r\n setAmbiente(retornoAmbiente.data);\r\n }\r\n\r\n let retornoFiliais = await api.get(`Local/ListarLocalUsuario?codigoEmpresa=${getEmpresa()}`);\r\n if (retornoFiliais.status === 200) {\r\n setFiliaisEmpresa(retornoFiliais.data.items.filter((item) => { return item.loc_id !== parseInt(getLocal()) }));\r\n }\r\n\r\n let retornoParametrosEmp = await api.get('ParametroEmpresa/BuscarParametros');\r\n if (retornoParametrosEmp.status === 200) {\r\n let dados = {};\r\n dados.par_69 = retornoParametrosEmp.data.par_69;\r\n if (!!retornoParametrosEmp.data.par_custopadraonftransferencia || !!formulario.getFieldValue().custo) {\r\n let custo = retornoTipoPreco.data.filter((custo) => { return custo.key === !!formulario.getFieldValue().custo ? formulario.getFieldValue().custo : retornoParametrosEmp.data.par_custopadraonftransferencia });\r\n if (custo.length > 0) {\r\n dados.custo = custo[0];\r\n if (!(!!formulario.getFieldValue().custo)) {\r\n formulario.setFieldsValue({ custo: custo[0].key });\r\n }\r\n }\r\n }\r\n setParametrosEmpresa(retornoParametrosEmp.data);\r\n setDadosNfeTransferencia(dados);\r\n }\r\n let retornoDadosContribuinte = await api.get(`dadosContribuinte/Buscar`);\r\n setDadosContribuinte(retornoDadosContribuinte.data);\r\n\r\n if (!!formulario.getFieldValue().ntf_id && dadosItens.length === 0 && (!!manutencao.dados && manutencao.dados.listaItemNotaFiscal.length > 0)) {\r\n let itens = manutencao.dados.listaItemNotaFiscal;\r\n itens.forEach((item) => {\r\n if (!!item.icm_id) {\r\n item.icm_id = { icm_id: item.icm_id, icm_descricao: item.icm_descricao }\r\n }\r\n });\r\n setDadosItens(itens);\r\n };\r\n };\r\n\r\n useEffect(() => {\r\n if (filiaisEmpresa.length > 0 && !!formulario.getFieldValue().loc_id) {\r\n buscarEnderecoLocal(formulario.getFieldValue().loc_id);\r\n }\r\n }, [filiaisEmpresa]);\r\n\r\n function buscarEnderecoLocal(loc_id) {\r\n if (!!loc_id) {\r\n let lcd_id = filiaisEmpresa.filter((filial) => { return filial.loc_id === loc_id })[0].lcd_id;\r\n api.get(`LogradouroCidade/BuscarLogradouroCidade?codigoLogradouroCidade=${lcd_id}&estrangeiro=0`).then(res => {\r\n if (res.status === 200) {\r\n setDadosEndereco(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n };\r\n\r\n function alterarCusto(e) {\r\n if (!!e) {\r\n let custo = tipoPreco.find((custo) => { return custo.key === e });\r\n if (!!custo) {\r\n let dados = { ...dadosNfeTransferencia };\r\n dados.custo = custo;\r\n setDadosNfeTransferencia(dados);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {ambiente === 2 &&\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (pagina >= pages.tagPages) {\r\n return;\r\n }\r\n pages.setTagPages(pagina);\r\n }} current={pages.tagPages}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {pages.tagPages === 1 &&\r\n \r\n }\r\n {pages.tagPages === 2 &&\r\n \r\n }\r\n {pages.tagPages === 3 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form, notification } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { validaForm } from '../../services/funcoes';\r\nimport ManutencaoNotaFiscalTransferencia from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerNotaFiscalTransferencia({ carregarDados }) {\r\n\r\n const [formNotaFiscalTransferencia] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [tagPages, setTagPages] = useState(null);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [carregando, setCarregando] = useState(false);\r\n const [limparDados, setLimparDados] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formNotaFiscalTransferencia.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formNotaFiscalTransferencia.resetFields();\r\n setProximaPag(null);\r\n setTagPages(0);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n carregarDados();\r\n setLimparDados(true);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Tabs, Form, Select, Button, Collapse, Input } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, CloseOutlined, SearchOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from '../../services/api';\r\nimport DrawerNotaFiscalTransferencia from './drawer';\r\nimport { BreadcrumbIncluirDados, Data, ComboData } from \"../../components\";\r\nimport { TabNotaFiscalEmitida, TabNotaFiscalRecebida } from './tabPage';\r\nimport { listagemActions, selectPaginadoActions } from \"../../actions\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function NotaFiscalTransferencia() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formPesquisa] = Form.useForm();\r\n const [formulario] = Form.useForm();\r\n const [statusNfe, setStatusNfe] = useState([]);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [open, setOpen] = useState(false);\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=StatusNFe`).then(res => {\r\n if (res.status === 200) {\r\n setStatusNfe(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n formPesquisa.setFieldsValue({ dataFinal: moment(new Date()) });\r\n formPesquisa.setFieldsValue({ dataInicial: moment(formPesquisa.getFieldValue().dataPesquisa) });\r\n }, []);\r\n\r\n function alternarTab(aba) {\r\n setAbaSelecionada(aba);\r\n carregarDados(null, null, aba);\r\n };\r\n function aplicarFiltrosAvancados() {\r\n let dataInicial = !!formPesquisa.getFieldsValue().dataInicial ? moment(formPesquisa.getFieldValue().dataInicial).format('YYYY-MM-DD') : moment(new Date()).format('YYYY-MM-DD');\r\n let dataFinal = !!formPesquisa.getFieldValue().dataFinal ? moment(formPesquisa.getFieldValue().dataFinal).format('YYYY-MM-DD') : moment(new Date()).format('YYYY-MM-DD');\r\n carregarDados(dataInicial, dataFinal);\r\n };\r\n\r\n function retornaDescricaoStatus(ntf_status) {\r\n if (!!statusNfe) {\r\n return statusNfe.filter((statusNota) => (\r\n statusNota.key === ntf_status\r\n ))[0].value;\r\n }\r\n };\r\n\r\n function carregarDados(dataInicial, dataFinal, aba) {\r\n dataFinal = !!dataFinal ? dataFinal : moment(new Date()).format('YYYY-MM-DD');\r\n dataInicial = !!dataInicial ? dataInicial : !!formPesquisa.getFieldValue().dataPesquisa ? moment(formPesquisa.getFieldValue().dataPesquisa).format('YYYY-MM-DD') : moment(new Date()).format('YYYY-MM-DD');\r\n let filtros = `&situacao=0,1`;\r\n filtros += !!formulario.getFieldValue().pesquisa ? `&filtro=${formulario.getFieldValue().pesquisa}` : '';\r\n filtros += `&status=${(!!formulario.getFieldValue().situacaoNotaTransferencia ? formulario.getFieldValue().situacaoNotaTransferencia.join(',') : '0,1,2,3,4,5')}`;\r\n if (!!aba) {\r\n if (aba === \"1\") {\r\n filtros += '&tipoNFTransferencia=1';\r\n } else {\r\n filtros += '&tipoNFTransferencia=0';\r\n }\r\n } else {\r\n if (abaSelecionada === \"1\") {\r\n filtros += '&tipoNFTransferencia=1';\r\n } else {\r\n filtros += '&tipoNFTransferencia=0';\r\n }\r\n }\r\n filtros += `&dataFinal=${dataFinal}&dataInicial=${dataInicial}`;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `${filtros}`, ordem: '-NotaFiscal.ntf_dataemissao' } })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n { carregarDados() }} allowClear />\r\n \r\n \r\n \r\n {\r\n formPesquisa.setFieldsValue({ dataFinal: moment(new Date()) });\r\n formPesquisa.setFieldsValue({ dataInicial: moment(formPesquisa.getFieldValue().dataPesquisa) });\r\n carregarDados(moment(formPesquisa.getFieldValue().dataInicial).format('YYYY-MM-DD'), moment(formPesquisa.getFieldValue().dataFinal).format('YYYY-MM-DD'));\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n alternarTab(tab);\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button, Tag, Table, Input } from \"antd\";\r\nimport { PlusOutlined, PrinterFilled, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { novaAbaNavegador } from \"../../services/funcoes\";\r\nimport { ModalCartaCorrecaoNotaFiscal } from \"../../components/modals/\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado, Imprimir, TabelaDados } from \"../../components\";\r\nimport { listagemActions } from \"../../actions\";\r\n\r\nexport default function CartaCorrecaoNotaFiscal() {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dadosNota, setDadosNota] = useState({})\r\n const [abrirModal, setAbrirModal] = useState(false);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: \"-ntf_dataemissao\" } });\r\n };\r\n\r\n function incluirNovo(record) {\r\n record.textoCorrecao = \"\";\r\n record.pes_nome = record.ntf_nomedest;\r\n record.ntf_cnpjcpfdest = record.ntf_cpfcnpj;\r\n record.ntf_modelo = record.mdf_descricao;\r\n record.nfd_modelodocumento = !!record.mdf_id ? record.mdf_id : record.mdf_descricao;\r\n record.IdNotaFiscal = record.ntf_id;\r\n setDadosNota(record);\r\n setAbrirModal(true);\r\n };\r\n\r\n function imprimirCartaoCorrecao(correcao) {\r\n novaAbaNavegador(`Danfe/GerarCce?chaveNFe=${correcao.evt_chavenfe}&sequenciaEvento=${correcao.evt_sequencia}`);\r\n };\r\n\r\n function aoSalvar() {\r\n setAbrirModal(false);\r\n carregarDados();\r\n };\r\n\r\n function filtrarLista(valor) {\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: valor, pagina: 1, ordem: \"-ntf_dataemissao\" } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n filtrarLista(valor)} allowClear />\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {ntf_numero}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Correções Emitidas',\r\n render: ({ ntf_nomedest, ntf_chavenfe }) => (\r\n
\r\n \r\n
\r\n {ntf_nomedest}\r\n \r\n \r\n Chave NF-e: {ntf_chavenfe}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Série',\r\n width: 100,\r\n render: ({ ser_serie }) => (\r\n
\r\n {ser_serie}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Emissão',\r\n width: 90,\r\n render: ({ ntf_dataemissao }) => (\r\n
\r\n {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total da Nota (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ valor_total }) => (\r\n
\r\n {FormatNumber(valor_total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } expandir={({ correcoes }) => {\r\n return (\r\n
\r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n Sequência: {correcao.evt_sequencia}\r\n \r\n \r\n Correção realizada: {correcao.evt_texto}\r\n \r\n \r\n Data Envio: {moment(correcao.evt_dataEnvio).format('DD/MM/YYYY')}\r\n \r\n \r\n Protocolo: {correcao.evt_protocolo}\r\n \r\n \r\n Processamento: {moment(correcao.evt_dataprocessamento).format('DD/MM/YYYY HH:mm:ss')}\r\n \r\n \r\n \r\n )\r\n }, {\r\n align: 'right',\r\n width: 45,\r\n render: (correcao) => (\r\n
\r\n \r\n
\r\n } onClick={() => { imprimirCartaoCorrecao(correcao) }} />\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n ]} />\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n aoSalvar()} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Typography, Collapse, Checkbox, Badge, Tag, Form, Input, Modal, Spin } from \"antd\";\r\nimport { PlusOutlined, CheckOutlined, CloseOutlined, ExclamationCircleOutlined, ArrowLeftOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { ModalInutilizacaoNfe } from \"../../components/modals/\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado } from \"../../components\";\r\n\r\nexport default function InutilizacaoNfe() {\r\n\r\n const [listaStatusNota, setListaStatusNota] = useState([]);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [listaNfRejeitada, setListaNfRejeitada] = useState([]);\r\n const [listaNfEmDititacaMais30Dias, setListaNfEmDititacaMais30Dias] = useState([]);\r\n const [listaNfEmDititacaMenos30Dias, setListaNfEmDititacaMenos30Dias] = useState([]);\r\n const [qtdeNumerosInutilizar, setQtdeNumerosInutilizar] = useState(0);\r\n const [qtdeInutilizados, setQtdeInutilizados] = useState(0);\r\n const [retornoInutilizacao, setRetornoInutilizacao] = useState([]);\r\n const [formulario] = Form.useForm();\r\n const etapas = {\r\n solicitacao: 1,\r\n processando: 2,\r\n retorno: 3\r\n };\r\n const [etapaAtual, setEtapaAtual] = useState(1);\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ justificativaInutilizacao: 'Solicitada a inutilização dos números de NF-e da respectiva série fiscal pois a numeração não foi utilizada por motivo de rejeição de NF-e ou falha no processo de emissão do sistema.' });\r\n retornaStatusNF();\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n let data30Dias = new Date();\r\n data30Dias.setDate(data30Dias.getDate() - 30);\r\n api.get(`NotaFiscal/GetNotaPorStatus?StatusNFe=4`).then((res) => {\r\n if (res.status === 200) {\r\n setListaNfRejeitada(res.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response);\r\n });\r\n\r\n api.get(`NotaFiscal/GetNotaPorStatus?StatusNFe=0&dataFinal=${moment(data30Dias).toISOString()}`).then((dadosMais30) => {\r\n if (dadosMais30.status === 200) {\r\n setListaNfEmDititacaMais30Dias(dadosMais30.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response);\r\n });\r\n\r\n api.get(`NotaFiscal/GetNotaPorStatus?StatusNFe=0,4&dataInicial=${moment(data30Dias).toISOString()}`).then((dadosMenos30) => {\r\n if (dadosMenos30.status === 200) {\r\n setListaNfEmDititacaMenos30Dias(dadosMenos30.data.map((dados, idx) => ({ key: idx, ...dados })));\r\n }\r\n }).catch((err) => {\r\n console.log(err.response);\r\n });\r\n };\r\n\r\n function retornaDescricaoStatus(ntf_status) {\r\n if (!!listaStatusNota) {\r\n let status = listaStatusNota.filter((statusNota) => (statusNota.key === ntf_status))[0];\r\n return !!status ? status.value : \"\";\r\n }\r\n };\r\n function retornaStatusNF() {\r\n api.get('Enum/Listar?nome=StatusNFe').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaStatusNota(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n function solicitarInutilizacaoNfePendentes(values) {\r\n let listaInutilizacao = [];\r\n let quantidadeNumerosInutilizar = listaNfEmDititacaMenos30Dias.length;\r\n listaNfEmDititacaMenos30Dias.forEach((obj) => {\r\n if (obj.checked) {\r\n listaInutilizacao.unshift({\r\n ser_id: obj.ser_id,\r\n numeroInicial: obj.ntf_numero,\r\n numeroFinal: obj.ntf_numero,\r\n justificativa: values.justificativaInutilizacao\r\n });\r\n quantidadeNumerosInutilizar++;\r\n }\r\n });\r\n\r\n if (listaInutilizacao.length > 0) {\r\n Modal.confirm({\r\n title: 'Solicitar a inutilização dos números de NF-e/NFC-e?',\r\n icon: ,\r\n content: '',\r\n okText: 'Sim, Solicitar Inutilização',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n setQtdeNumerosInutilizar(listaInutilizacao.length);\r\n setEtapaAtual(etapas.processando);\r\n let quantidadeInutilizados = 0;\r\n api.post(`NotaFiscal/InutilizarListaPorFaixa`, listaInutilizacao).then((dados) => {\r\n if (dados.status === 200) {\r\n dados.data.forEach((item) => {\r\n if (item.retorno.cStat === 102 || item.retorno.cStat === 206) {\r\n quantidadeInutilizados++;\r\n }\r\n });\r\n setQtdeInutilizados(quantidadeInutilizados);\r\n setRetornoInutilizacao(dados.data);\r\n setEtapaAtual(etapas.retorno);\r\n } else {\r\n setEtapaAtual(etapas.solicitacao);\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Não foi possível realizar a inutilização.
\r\n
\r\n
{JSON.stringify(dados.data)}
\r\n \r\n ),\r\n });\r\n }\r\n }, err => {\r\n setEtapaAtual(etapas.solicitacao);\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Não foi possível realizar a inutilização.
\r\n
\r\n
{err.message}
\r\n \r\n ),\r\n });\r\n }).finally(() => {\r\n carregarDados();\r\n });\r\n }\r\n });\r\n } else {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: 'Não existem registros de números de NF que devem ser inutilizados e/ou você não selecionou nenhum número de NF em digitação para solicitar a inutilização!',\r\n });\r\n }\r\n }\r\n\r\n const genExtraCheckbox = () => (\r\n
{\r\n event.stopPropagation();\r\n }}>\r\n \r\n
\r\n \r\n selecionarTodos(e.target.checked)} />\r\n \r\n \r\n \r\n Notas em Digitação e Rejeitadas lançadas a menos de 30 dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const genExtra = () => (\r\n
{\r\n event.stopPropagation();\r\n }}>\r\n \r\n
\r\n Notas em digitação lançadas a mais de 30 dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const genExtraRejeitadas = () => (\r\n
{\r\n event.stopPropagation();\r\n }}>\r\n \r\n
\r\n Notas Rejeitadas\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n function selecionarTodos(checked) {\r\n let lista = [...listaNfEmDititacaMenos30Dias];\r\n lista.forEach((item) => {\r\n item.checked = checked;\r\n });\r\n setListaNfEmDititacaMenos30Dias(lista);\r\n };\r\n\r\n function selecionarNota(nota) {\r\n let lista = [...listaNfEmDititacaMenos30Dias];\r\n let itemEditar = lista.filter((item) => { return item.key === nota.key })[0];\r\n itemEditar.checked = !itemEditar.checked;\r\n setListaNfEmDititacaMenos30Dias(lista);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {etapaAtual === etapas.solicitacao &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {etapaAtual === etapas.solicitacao &&\r\n \r\n \r\n \r\n A inutilização de número de NF-e/NFC-e tem a finalidade de permitir que o emissor comunique à Sefaz, até o décimo dia do mês subsequente os números de NF-e/NFC-e que não serão utilizados em razão de ter ocorrido uma quebra de sequência da numeração da NF-e/NFC-e. A inutilização de número só é possível caso a numeração ainda não tenha nenhum vinculo fiscal, ou seja, a numeração não pode estar associada a um Documento Fiscal autorizado, cancelado ou denegado.\r\n

\r\n Abaixo estão listadas todas as notas desta filial que não possuem vinculo fiscal e devem ser inutilizadas, notas rejeitadas ou em digitação lançadas a mais de 30 dias serão inutilizadas, notas em digitação lançadas a menos de 30 dias deverão ser selecionadas para incluir na solicitação de inutilização.\r\n
\r\n \r\n \r\n }\r\n {etapaAtual === etapas.processando &&\r\n
\r\n \r\n \r\n \r\n \r\n Processando solicitação de inutilização...\r\n \r\n \r\n Esta operação pode demorar um pouco, por favor aguarde.\r\n \r\n
\r\n }\r\n {etapaAtual === etapas.solicitacao &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {listaNfEmDititacaMenos30Dias.map((nota) => (\r\n
\r\n \r\n
\r\n (selecionarNota(nota))} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {retornaDescricaoStatus(nota.ntf_status)}\r\n \r\n \r\n \r\n \r\n {nota.mdf_id === '55' ? 'NF-e' : 'NFC-e'}\r\n \r\n \r\n \r\n \r\n Número: {nota.ntf_numero}\r\n \r\n \r\n Série: {nota.ser_numero} - {nota.ser_serie}\r\n \r\n \r\n Data/Hora de registro no sistema: {moment(nota.ntf_datainclusao).format('DD/MM/YYYY')} às {moment(nota.ntf_datainclusao).format('HH:mm')}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {listaNfEmDititacaMais30Dias.map((nota) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Em Digitação\r\n \r\n \r\n \r\n {nota.mdf_id === '55' ? 'NF-e' : 'NFC-e'}\r\n \r\n \r\n \r\n \r\n Número: {nota.ntf_numero}\r\n \r\n \r\n Série: {nota.ser_numero} - {nota.ser_serie}\r\n \r\n \r\n Data/Hora de registro no sistema: {moment(nota.ntf_datainclusao).format('DD/MM/YYYY')} às {moment(nota.ntf_datainclusao).format('HH:mm')}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {listaNfRejeitada.map((nota) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Rejeitada\r\n \r\n \r\n \r\n {nota.mdf_id === '55' ? 'NF-e' : 'NFC-e'}\r\n \r\n \r\n \r\n \r\n Número: {nota.ntf_numero}\r\n \r\n \r\n Série: {nota.ser_numero} - {nota.ser_serie}\r\n \r\n \r\n Data/Hora de registro no sistema: {moment(nota.ntf_datainclusao).format('DD/MM/YYYY')} às {moment(nota.ntf_datainclusao).format('HH:mm')}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {etapaAtual === etapas.retorno &&\r\n
\r\n \r\n \r\n \r\n \r\n Resultado da Solicitação de Inutilização\r\n \r\n \r\n
\r\n Solicitações de Inutilização:\r\n {qtdeNumerosInutilizar}\r\n \r\n \r\n \r\n \r\n Inutilizações realizadas com sucesso:\r\n {qtdeInutilizados}\r\n \r\n \r\n
\r\n {retornoInutilizacao.map((item) => (\r\n
\r\n \r\n
\r\n {item.retorno.xMotivo}\r\n \r\n \r\n {item.retorno.infInut.mod === '55' ? 'NF-e' : 'NFC-e'}\r\n \r\n \r\n Número: {item.retorno.infInut.nNFIni}\r\n \r\n \r\n Série: {item.retorno.infInut.serie}\r\n \r\n \r\n Protocolo: {item.retorno.infInut.nProt}\r\n \r\n \r\n Data/Hora de registro no sistema: {moment(item.retorno.infInut.dhRecbto).format('DD/MM/YYYY')} às {moment(item.retorno.infInut.dhRecbto).format('HH:mm')}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n }\r\n setOpenModal(false)} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Input, InputNumber, Descriptions, Card, Tooltip, message, notification } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { InputPreco, SelectProduto } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function FiltroProdutoOrc({ dadosTabela, form, btnEditando, itemEditando, }) {\r\n const [desabilitarProd_id, setDesabilitarProd_id] = useState(false);\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const [dadosDetalhes, setDadosDetalhes] = useState({});\r\n const [consultaProduto, setConsultaProduto] = useState(false);\r\n const [dadosProduto, setDadosProduto] = useState({});\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [listaProdutos, setListaProdutos] = useState([]);\r\n const refProd = useRef();\r\n\r\n const togglePesquisa = () => {\r\n setConsultaProduto(!consultaProduto);\r\n setExibirDetalhes(false);\r\n limparCampos();\r\n };\r\n\r\n useEffect(() => {\r\n if (consultaProduto && !!refProd && !!refProd.current) {\r\n refProd.current.focus();\r\n }\r\n }, [consultaProduto]);\r\n\r\n\r\n useEffect(() => {\r\n if (btnEditando.editando && isObjetoDiffVazio(itemEditando)) {\r\n editandoItem(itemEditando);\r\n setExibirDetalhes(true);\r\n }\r\n }, [btnEditando])\r\n\r\n\r\n function editandoItem(dadosEditando) {\r\n let dadosTemp = {};\r\n let dados = dadosEditando;\r\n setDesabilitarProd_id(true);\r\n form.setFieldsValue({\r\n pro_id: dados.pro_id,\r\n prg_id: dados.prg_id,\r\n pro_ean: dados.pro_ean,\r\n pro_descricao: dados.pro_descricao,\r\n ocp_quantidade: dados.ocp_quantidade,\r\n ocp_valorun: dados.ocp_valorun,\r\n });\r\n alterarValorTotal();\r\n dadosTemp = {\r\n pro_id: dadosEditando.pro_id,\r\n prg_id: dadosEditando.prg_id,\r\n pro_descricao: dadosEditando.pro_descricao,\r\n pro_codigo: dadosEditando.pro_codigo,\r\n pro_ean: dadosEditando.pro_ean,\r\n };\r\n setDadosDetalhes(dadosTemp);\r\n }\r\n\r\n function alterarValorTotal() {\r\n let total = 0;\r\n total = form.getFieldValue().ocp_quantidade * form.getFieldValue().ocp_valorun;\r\n form.setFieldsValue({ valorTotalItem: total.toFixed(2) });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.pro_id) {\r\n form.setFieldsValue({ pro_id: manutencao.dados.pro_id, ocp_quantidade: 1, });\r\n onChangeProID(manutencao.dados.pro_id);\r\n\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function popularLista(listaDados) {\r\n listaDados.sort((a, b) => b.key - a.key);\r\n dadosTabela.setItensOrdemCompra(listaDados);\r\n limparCampos();\r\n };\r\n\r\n\r\n function validarItem(dados) {\r\n if (dados.ocp_quantidade === 0 || !!!dados.ocp_quantidade) {\r\n notification.warning({ message: 'Aviso!', description: 'Quantidade do Item Inválida!' });\r\n return false;\r\n }\r\n if (parseFloat(dados.ocp_valorun) === 0 || parseFloat(dados.ocp_valorun) === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'Valor do Item Inválido!' });\r\n return false\r\n }\r\n return true;\r\n }\r\n\r\n\r\n function adicionarItem(item = {}) {\r\n let dadosTemp = [...dadosTabela.itensOrdemCompra];\r\n let dadosFormulario = form.getFieldValue();\r\n let dados = {};\r\n if (consultaProduto) {\r\n dados = { ...item };\r\n dados.key = retornaSequencial(dadosTemp);\r\n adicionarItemOrdemCompra(dados, () => { dadosTemp.push(dados); });\r\n popularLista(dadosTemp);\r\n limparCampos()\r\n }\r\n else {\r\n if (!!validarItem(dadosFormulario)) {\r\n if (dadosTemp.find(campo => campo.pro_id === form.getFieldValue().pro_id\r\n && ((!!form.getFieldValue().prg_id && form.getFieldValue().prg_id === campo.prg_id) || !form.getFieldValue().prg_id))) {\r\n if (!!form.getFieldValue().prg_id) {\r\n dados = dadosTemp.find(campo => campo.prg_id === form.getFieldValue().prg_id);\r\n } else {\r\n dados = dadosTemp.find(campo => campo.pro_id === form.getFieldValue().pro_id);\r\n }\r\n adicionarItemOrdemCompra(dados);\r\n } else {\r\n dados = { ...dadosProduto };\r\n dados.key = retornaSequencial(dadosTemp);\r\n adicionarItemOrdemCompra(dados, () => { dadosTemp.push(dados); });\r\n }\r\n popularLista(dadosTemp);\r\n limparCampos()\r\n }\r\n }\r\n if (!!btnEditando && btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n }\r\n };\r\n\r\n function retornaSequencial(lista) {\r\n return lista.length > 0 ? lista[0].key + 1 : 0;\r\n };\r\n\r\n function adicionarItemOrdemCompra(dadosItem, callback) {\r\n\r\n let formulario = form.getFieldValue();\r\n dadosItem.ocp_quantidade = !!formulario.ocp_quantidade ? formulario.ocp_quantidade : 1;\r\n dadosItem.ocp_valorun = parseFloat(!!formulario.ocp_valorun ? formulario.ocp_valorun : dadosItem.ocp_valorun);\r\n dadosItem.grade = dadosItem.descricaograde;\r\n dadosItem.ocp_valortotal = parseFloat(dadosItem.ocp_valorun * dadosItem.ocp_quantidade);\r\n if (!!callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function cancelar() {\r\n limparCampos();\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ pro_id: null, pro_codigo: null });\r\n setDadosProduto({})\r\n setExibirDetalhes(false);\r\n setDadosDetalhes({});\r\n if (btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n }\r\n };\r\n\r\n async function buscarProdutoCodBarra(campo) {\r\n let dadosProduto = {};\r\n let codigoEan = campo.target.value.trim();\r\n let dados = await api.get(`Produto/ListaProdutoCodigo?filtro=${codigoEan}`);\r\n if (!!dados.data && dados.data.length > 0) {\r\n dadosProduto = dados.data[0];\r\n if (!!refProd && !!refProd.current) {\r\n refProd.current.focus();\r\n }\r\n }\r\n let unidade = await api.get(`Produto/BuscaUnidadeMedidaProduto?IdProduto=${dadosProduto.pro_id}`);\r\n let valor = 0;\r\n if (dadosProduto.prg_id != null) {\r\n valor = (await api.get(`Produto/BuscarCustoProduto?IdProduto=${dadosProduto.pro_id}&tipoCusto=2&codigoProdutoGrade=${dadosProduto.prg_id}`)).data;\r\n } else {\r\n valor = (await api.get(`Produto/BuscarCustoProduto?IdProduto=${dadosProduto.pro_id}&tipoCusto=2`)).data;\r\n }\r\n let custoProduto = valor;\r\n dadosProduto.ump_casasdecimais = 0;\r\n dadosProduto.ocp_quantidade = (dadosProduto.ocp_quantidade) ? dadosProduto.ocp_quantidade : 1;\r\n dadosProduto.ocp_valorun = (!!custoProduto) ? custoProduto : 0;\r\n dadosProduto.ocp_valortotal = parseFloat(dadosProduto.ocp_valorun * dadosProduto.ocp_quantidade);\r\n if (!!unidade.data) {\r\n dadosProduto.ump_casasdecimais = unidade.data[0].ump_casasdecimais;\r\n }\r\n setDadosProduto(dadosProduto);\r\n if (!!dados.data && dados.data.length > 0) {\r\n adicionarItem(dadosProduto);\r\n }\r\n };\r\n\r\n async function onChangeProID(pro_id) {\r\n let dadosProduto = listaProdutos.filter(pro => pro.key === pro_id)[0];\r\n let unidade = await api.get(`Produto/BuscaUnidadeMedidaProduto?IdProduto=${dadosProduto.pro_id}`);\r\n let valor = 0;\r\n if (dadosProduto.prg_id != null) {\r\n valor = (await api.get(`Produto/BuscarCustoProduto?IdProduto=${dadosProduto.pro_id}&tipoCusto=2&codigoProdutoGrade=${dadosProduto.prg_id}`)).data;\r\n } else {\r\n valor = (await api.get(`Produto/BuscarCustoProduto?IdProduto=${dadosProduto.pro_id}&tipoCusto=2`)).data;\r\n }\r\n let custoProduto = valor;\r\n dadosProduto.ump_casasdecimais = 0;\r\n dadosProduto.ocp_quantidade = (dadosProduto.ocp_quantidade) ? dadosProduto.ocp_quantidade : 1;\r\n dadosProduto.ocp_valorun = (!!custoProduto) ? custoProduto : 0;\r\n dadosProduto.ocp_valortotal = parseFloat(dadosProduto.ocp_valorun * dadosProduto.ocp_quantidade)\r\n\r\n if (!!unidade.data) {\r\n dadosProduto.ump_casasdecimais = unidade.data[0].ump_casasdecimais;\r\n }\r\n setDadosProduto(dadosProduto);\r\n form.setFieldsValue({ ocp_quantidade: dadosProduto.ocp_quantidade ?? 1, ocp_valorun: dadosProduto.ocp_valorun, valorTotalItem: dadosProduto.ocp_valortotal });\r\n\r\n setExibirDetalhes(true);\r\n let dadosTemp = {};\r\n dadosTemp.prg_id = dadosProduto.prg_id;\r\n dadosTemp.pro_descricao = `${dadosProduto.pro_descricao} ${!!dadosProduto.descricaograde ? \"-\" : \"\"} ${dadosProduto.descricaograde}`;\r\n dadosTemp.pro_codigo = dadosProduto.pro_codigo;\r\n dadosTemp.pro_ean = !!dadosProduto.prg_ean ? dadosProduto.prg_ean : dadosProduto.pro_ean;\r\n dadosTemp.ump_id = dadosProduto.ump_id;\r\n setDadosDetalhes(dadosTemp);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!!consultaProduto === false &&\r\n
\r\n \r\n { onChangeProID(dados) }} ordem={\"pro_descricao\"} setListaDados={setListaProdutos} />\r\n \r\n \r\n }\r\n {!!consultaProduto &&\r\n \r\n \r\n {\r\n buscarProdutoCodBarra(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {exibirDetalhes &&\r\n
\r\n \r\n
\r\n Produto: {dadosDetalhes.pro_descricao}\r\n \r\n \r\n Código Interno: {dadosDetalhes.pro_codigo}\r\n \r\n \r\n Código de Barras: {dadosDetalhes.pro_ean}\r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Select, Divider, Button, Typography, Table, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { Data, FormGW, InputPreco, SelectPaginacao } from \"../../components\";\r\nimport { ModalGradeOrdemCompra } from \"../../components/modals/\";\r\nimport FiltroProdutoOrc from \"../../components/filtroProdutoOrc\";\r\nimport { getIdUsuario } from \"../../services/auth\";\r\nimport SelectPaginado from '../../components/selectPaginado';\r\n\r\nexport default function ManutencaoOrdemCompra({ formulario, carregando, aoSalvar, transportador }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [openModalGradeOrdemCompra, setOpenModalGradeOrdemCompra] = useState(false);\r\n const [itensOrdemCompra, setItensOrdemCompra] = useState([]);\r\n const [totalizadores, setTotalizadores] = useState({});\r\n const [pagina, setPagina] = useState(1);\r\n const [regPagina, setRegPagina] = useState(10);\r\n const [editando, setEditando] = useState(false);\r\n const [dadosEditando, setDadosEditando] = useState({});\r\n \r\n\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n carregarDados();\r\n if (!(!!formulario.getFieldValue().orc_datainclusao)) {\r\n formulario.setFieldsValue({ orc_datainclusao: moment(new Date()) });\r\n }\r\n if (!!manutencao.dados) {\r\n let lista = [];\r\n if (!!manutencao.dados.for_id) {\r\n lista.push({ name: \"for_id\", campo: \"FornecedorId\", value: manutencao.dados.for_id });\r\n }\r\n if (!!manutencao.dados.trn_id) {\r\n lista.push({ name: \"trn_id\", campo: \"IdTrasnportador\", value: manutencao.dados.trn_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n manutencao.dados.orc_dataconclusao = moment(manutencao.dados.orc_dataconclusao);\r\n manutencao.dados.orc_prazomaximo = moment(manutencao.dados.orc_prazomaximo);\r\n manutencao.dados.orc_datainclusao = moment(manutencao.dados.orc_datainclusao);\r\n if (!!manutencao.dados.orc_id && itensOrdemCompra.length === 0) {\r\n buscarItensOrdemCompra(manutencao.dados.orc_id);\r\n }\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [manutencao.dados])\r\n\r\n useEffect(() => {\r\n let dados = {};\r\n dados.total = 0;\r\n dados.quantidade = 0;\r\n if (itensOrdemCompra.length > 0) {\r\n itensOrdemCompra.forEach((item) => {\r\n dados.total += parseFloat(item.ocp_valorun * item.ocp_quantidade);\r\n dados.quantidade += item.ocp_quantidade;\r\n });\r\n }\r\n formulario.setFieldsValue({ orc_valortotal: parseFloat(dados.total).toFixed(2) });\r\n dados.total += parseFloat(!!formulario.getFieldValue().orc_valorfrete ? formulario.getFieldValue().orc_valorfrete : 0);\r\n setTotalizadores(dados);\r\n }, [itensOrdemCompra]);\r\n\r\n async function salvarManutencao(values) {\r\n\r\n if (itensOrdemCompra.length > 0) {\r\n carregando(true);\r\n values.ordemcompraitens = itensOrdemCompra;\r\n values.orc_valorfrete = parseFloat(values.orc_valorfrete);\r\n if (!(!!values.orc_id)) {\r\n values.orc_status = 0;\r\n }\r\n\r\n if (typeof values.orc_id == 'undefined') delete values.orc_id;\r\n values.usu_id = getIdUsuario();\r\n\r\n try {\r\n var res = values.orc_id ? await api.put('OrdemCompra/Editar', values) : await api.post('OrdemCompra/Incluir', values);\r\n if (res.status == 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Ordem de Compra foram salvos com sucesso!\" });\r\n }\r\n } catch (error) {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(error.response) });\r\n } finally {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n\r\n } else {\r\n notification.warning({ message: 'Aviso!', description: 'É necessário informar pelo menos um item!' });\r\n }\r\n };\r\n\r\n function carregarDados() {\r\n\r\n if (!!formulario.getFieldValue().orc_id) {\r\n api.get(`OrdemCompraItem/ListarItensOrdemCompra?codigoOrdemCompra=${formulario.getFieldValue().orc_id}`).then(\r\n (res) => {\r\n let itens = res.data;\r\n itens.forEach((item, indice) => {\r\n if (!!item.prg_id) {\r\n item.grade = {\r\n prg_id: item.prg_id,\r\n grade: item.mgp_descricao,\r\n mgp_descricao: item.mgp_descricao,\r\n prg_ean: item.prg_ean,\r\n prg_codigoetiqueta: item.prg_codigoetiqueta,\r\n prg_valorvenda: item.lpi_valorvenda,\r\n }\r\n }\r\n if (indice + 1 === itens.length) {\r\n setItensOrdemCompra(itens);\r\n }\r\n });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n };\r\n\r\n function buscarItensOrdemCompra(orc_id) {\r\n api.get(`OrdemCompraItem/ListarItensOrdemCompra?codigoOrdemCompra=${orc_id}`).then(\r\n res => {\r\n setItensOrdemCompra(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n function atualizarValorTotalOC() {\r\n let dados = { ...totalizadores };\r\n dados.total = parseFloat(!!formulario.getFieldValue().orc_valortotal ? formulario.getFieldValue().orc_valortotal : 0) + parseFloat(!!formulario.getFieldValue().orc_valorfrete ? formulario.getFieldValue().orc_valorfrete : 0);\r\n setTotalizadores(dados);\r\n };\r\n\r\n function editarItem(registro) {\r\n setDadosEditando(registro);\r\n setEditando(true);\r\n //dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro } });\r\n };\r\n\r\n function removerItem(item) {\r\n let dadosTemp = [...itensOrdemCompra];\r\n dadosTemp = dadosTemp.filter((dados) => dados !== item);\r\n setItensOrdemCompra(dadosTemp);\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({trn.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Produtos\" Produtos\r\n \r\n \r\n Adicione o(s) produto(s) para este ordem de compra aqui.\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {itensOrdemCompra.length > 0 &&\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pro_descricao}\r\n \r\n \r\n \r\n \r\n Grade: {!!mgp_descricao ? mgp_descricao : (!!grade ? grade : 'Não Possui')} \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Quantidade',\r\n align: 'center',\r\n width: 85,\r\n render: ({ ocp_quantidade }) => (\r\n
\r\n {ocp_quantidade}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Unitário (R$)',\r\n align: 'right',\r\n width: 150,\r\n render: ({ ocp_valorun }) => (\r\n
\r\n {FormatNumber(ocp_valorun || 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Quantidade de Itens: {totalizadores.quantidade}\r\n \r\n \r\n {itensOrdemCompra.length > 0 &&\r\n \r\n \r\n { atualizarValorTotalOC() }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(totalizadores.total, true)}\r\n \r\n \r\n \r\n }\r\n setOpenModalGradeOrdemCompra(false)} />\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoOrdemCompra from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerOrdemCompra({ carregarDados, alteraData, fornecedor, transportador }) {\r\n\r\n const [formOrdemCompra] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formOrdemCompra.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } }); \r\n alteraData();\r\n carregarDados();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n {fecharDrawer()}}\r\n visible={ui.showDrawer}\r\n closeIcon={}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Typography, Row, Col, Form, Divider, InputNumber, Card } from \"antd\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { validarNumeros } from \"../../services/funcoes\";\r\nimport { FormasPagamentoRecebimento, InputPreco } from \"../../components\";\r\n\r\nexport default function TabFaturamento({ form, dadosItens, dadosOperacao }) {\r\n\r\n const [valorNota, setValorNota] = useState(0);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n useEffect(() => {\r\n calcularFaturamento();\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n recalcularTotal();\r\n }, [valorNota]);\r\n\r\n function calcularFaturamento() {\r\n let formulario = form.getFieldValue();\r\n let subTotal = 0;\r\n dadosItens.forEach((item) => {\r\n subTotal += item.valorTotalDesconto;\r\n });\r\n form.setFieldsValue({ subTotalNotaFiscal: parseFloat(subTotal).toFixed(2)});\r\n\r\n setValorNota(parseFloat(subTotal) + validarNumeros(formulario.orc_valorfrete) + validarNumeros(formulario.orc_valorseguro) + validarNumeros(formulario.valorOutrasDespesas));\r\n\r\n recalcularTotal();\r\n };\r\n\r\n function calcularDesconto(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorDesconto);\r\n let perc = validarNumeros(formulario.percentualDesconto);\r\n let tot = parseFloat(valorNota);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorDesconto: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualDesconto: result.toFixed(2) });\r\n }\r\n\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function calcularDesconto(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorDesconto);\r\n let perc = validarNumeros(formulario.percentualDesconto);\r\n let tot = parseFloat(valorNota);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorDesconto: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualDesconto: result.toFixed(2) });\r\n }\r\n\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function calcularAcrescimo(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorAcrescimo);\r\n let perc = validarNumeros(formulario.percentualAcrescimo);\r\n let tot = (!!valorNota ? parseFloat(valorNota) : 0);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorAcrescimo: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualAcrescimo: result.toFixed(2) });\r\n }\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function recalcularTotal() {\r\n let formulario = form.getFieldValue();\r\n let valor = 0;\r\n if (!!formulario) {\r\n valor = valorNota - validarNumeros(formulario.valorDesconto) + validarNumeros(formulario.valorAcrescimo);\r\n form.setFieldsValue({ valorTotal: valor.toFixed(2) });\r\n let valorPago = 0; \r\n if (!!manutencao.dados && !!manutencao.dados.faturamento) {\r\n manutencao.dados.faturamento.forEach((dadosFat) => {\r\n valorPago += parseFloat(dadosFat.pfp_valor);\r\n });\r\n }\r\n form.setFieldsValue({ pfp_valor: (valor - valorPago).toFixed(2) });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Totais\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n calcularFaturamento()}\r\n className=\"text-right\" />\r\n \r\n \r\n calcularFaturamento()}\r\n className=\"text-right\" />\r\n \r\n \r\n calcularFaturamento()}\r\n className=\"text-right\" />\r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calcularDesconto('PERC'); }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { calcularDesconto('VALOR'); }} />\r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calcularAcrescimo('PERC') }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { calcularAcrescimo('VALOR') }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota (R$)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, InputNumber, Tag, Table, Switch } from \"antd\";\r\n\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function TabItens({ form, dadosItens }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [totalizador, setTotalizador] = useState({});\r\n\r\n useEffect(() => {\r\n if (ui.showDrawerExtra) {\r\n ratearDescontoFrete();\r\n }\r\n }, [ui.showDrawerExtra]);\r\n\r\n function ratearDescontoFrete(item = [...dadosItens.dadosItens]) {\r\n\r\n var itensSemQuantidade = 0;\r\n var somaTotalOrdem = 0;\r\n let vlrTotalRecebendo = 0;\r\n let vlrTotalDesconto = 0;\r\n let somaRateio = 0;\r\n let resto = 0;\r\n let QtdeTotalRecebendo = 0;\r\n let frete = dadosItens.frete ?? 0;\r\n let totalSemDesc = 0;\r\n let valorTotal = 0;\r\n let percentualDesconto = (parseFloat(form.getFieldValue().percentualDesconto) / 100);\r\n\r\n item.forEach((itens) => {\r\n var valorTotalItem = itens.ocp_quantidade * itens.ocp_valorun;\r\n somaTotalOrdem += valorTotalItem;\r\n });\r\n\r\n item.forEach(itens => {\r\n var valorFrete = 0;\r\n var qtdrecebendo = form.getFieldValue(`ocp_qtdrecebendo${itens.key}`) ?? 0;\r\n var maximoItens = itens.ocp_quantidade - itens.ocp_quantidaderecebida;\r\n\r\n if (qtdrecebendo <= maximoItens) {\r\n itens.ocp_qtdrecebendo = qtdrecebendo;\r\n } else {\r\n itens.ocp_qtdrecebendo = maximoItens;\r\n }\r\n if (itens.max == true) {\r\n itens.ocp_qtdrecebendo = maximoItens;\r\n itens.qtdrecebendo = maximoItens;\r\n form.setFieldsValue({ [`ocp_qtdrecebendo${itens.key}`]: itens.qtdrecebendo })\r\n }\r\n\r\n itens.valorTotalDesconto = 0;\r\n itens.ocp_frete = 0;\r\n itens.ocp_desconto = 0;\r\n itens.desconto = 0;\r\n\r\n var totalItemRecebendo = qtdrecebendo * itens.ocp_valorun;\r\n var desconto = totalItemRecebendo * (!!percentualDesconto ? percentualDesconto : 0);\r\n\r\n itens.valorTotalDesconto = totalItemRecebendo;\r\n itens.desconto = desconto;\r\n itens.frete = valorFrete;\r\n vlrTotalDesconto = desconto;\r\n vlrTotalRecebendo += totalItemRecebendo;\r\n totalSemDesc += totalItemRecebendo;\r\n\r\n itensSemQuantidade++;\r\n });\r\n\r\n vlrTotalRecebendo = parseFloat(vlrTotalRecebendo.toFixed(2));\r\n totalSemDesc = parseFloat(totalSemDesc.toFixed(2));\r\n QtdeTotalRecebendo = item.length;\r\n\r\n var itensSemQuantidade = (item.length - itensSemQuantidade) < 0 ? true : false;\r\n\r\n if (somaRateio > 0 && itensSemQuantidade) {\r\n resto = parseFloat(vlrTotalRecebendo) - somaRateio;\r\n if (resto !== 0) {\r\n item[item.length - 1].valorTotalDesconto += resto;\r\n }\r\n }\r\n\r\n form.setFieldsValue({ orc_valortotal: vlrTotalRecebendo, totalSemDesc: totalSemDesc, frete: frete, QtdeTotalRecebendo: QtdeTotalRecebendo });\r\n setTotalizador({ valorTotal: vlrTotalRecebendo, totalSemDesc: totalSemDesc, totalDesconto: vlrTotalDesconto, QtdeTotalRecebendo: QtdeTotalRecebendo });\r\n dadosItens.setDadosItens(totalSemDesc);\r\n dadosItens.setDadosItens(valorTotal);\r\n dadosItens.setDadosItens(item);\r\n return item;\r\n };\r\n\r\n\r\n function switchReceber() {\r\n let valorTotal = 0;\r\n let qtdeTotalRecebendo = 0;\r\n let dados = [...dadosItens.dadosItens];\r\n dados.forEach(item => {\r\n item.max = true;\r\n item.ocp_qtdrecebendo = item.ocp_quantidade - item.ocp_quantidaderecebida;\r\n item.valorTotalDesconto = item.ocp_qtdrecebendo * item.ocp_valorun;\r\n form.setFieldsValue({ [`ocp_qtdrecebendo${item.key}`]: item.ocp_qtdrecebendo })\r\n if (item.ocp_qtdrecebendo > 0)\r\n qtdeTotalRecebendo++;\r\n\r\n valorTotal += item.valorTotalDesconto;\r\n })\r\n dadosItens.setDadosItens(dados);\r\n setTotalizador({ valorTotal: valorTotal, QtdeTotalRecebendo: qtdeTotalRecebendo });\r\n };\r\n\r\n\r\n function alteraQuantidadeItemRecebido(item, key) {\r\n\r\n let valorTotal = 0;\r\n let qtdrecebendo = form.getFieldValue(`ocp_qtdrecebendo${key}`)\r\n let dados = [...dadosItens.dadosItens];\r\n let i = dados.find(i => i.key == item.key)\r\n i.ocp_qtdrecebendo = qtdrecebendo\r\n i.valorTotalDesconto = i.ocp_qtdrecebendo * i.ocp_valorun;\r\n dadosItens.setDadosItens(dados);\r\n let itens = dadosItens.dadosItens.filter(r => r.ocp_qtdrecebendo > 0)\r\n itens.forEach(i =>{\r\n valorTotal += i.valorTotalDesconto;\r\n }) \r\n setTotalizador({ valorTotal: valorTotal, QtdeTotalRecebendo: itens.length });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {\r\n switchReceber(item, item.key)}\r\n /> Receber Todos os Itens?\r\n }\r\n\r\n
\r\n
\r\n {\r\n !!dadosItens.dadosItens && dadosItens.dadosItens.length > 0 &&\r\n
(\r\n
\r\n \r\n
\r\n \r\n {key} \r\n \r\n {pro_id} - {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {ean}\r\n \r\n \r\n Grade: {grade}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'Qtde. Solic.',\r\n width: 20,\r\n align: 'center',\r\n render: ({ ocp_quantidade }) => (\r\n
\r\n {ocp_quantidade?.toFixed(0)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Recebido',\r\n align: 'center',\r\n width: 20,\r\n render: ({ ocp_quantidaderecebida }) => (\r\n
\r\n {ocp_quantidaderecebida}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde. Receber',\r\n align: 'center',\r\n width: 20,\r\n render: (item) => (\r\n
\r\n \r\n alteraQuantidadeItemRecebido(item, item.key)}\r\n className=\"w-60\" />\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 20,\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 40,\r\n render: ({ valorTotalDesconto }) => (\r\n
\r\n {FormatNumber(valorTotalDesconto, true)}\r\n
\r\n ),\r\n }\r\n ]} dataSource={dadosItens.dadosItens}\r\n\r\n scroll={{ x: 900 }} />\r\n }\r\n \r\n
\r\n \r\n
\r\n Quantidade Itens:\r\n \r\n \r\n {totalizador.QtdeTotalRecebendo}\r\n \r\n \r\n \r\n \r\n Valor Total dos Itens (R$):\r\n \r\n \r\n {FormatNumber(totalizador.valorTotal, true)}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Card, Form, Typography, Input, Divider, InputNumber } from \"antd\";\r\nimport { InputPreco } from \"../../components\";\r\n\r\nexport default function TabResumo({ form, dadosItens }) {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Resumo\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n disabled\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n disabled\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n IPI: R$ 0,00\r\n \r\n \r\n \r\n \r\n Substituição Tributária (R$): 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de Itens: {dadosItens.length} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor Total\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Steps, Select, Modal, notification, Spin } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from \"../../state\";\r\nimport { TabFaturamento, TabItens, TabResumo } from './tabPage';\r\nimport { Data, FormGW, SelectPaginacao } from '../../components';\r\nimport { manutencaoActions, selectPaginadoActions } from '../../actions';\r\nimport { validaForm, validarNumeros } from '../../services/funcoes';\r\nimport SelectPaginado from '../../components/selectPaginado';\r\n\r\nexport default function ManutencaoRecebimentoOrdemCompra({ carregarDados, form, carregando, aoSalvar, pages, proximaPag, alteraData }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosContribuinte, setDadosContribuinte] = useState({});\r\n const [dadosItens, setDadosItens] = useState([]);\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [listaItens, setListaItens] = useState([]);\r\n const [dadosVendedor, setDadosVendedor] = useState({});\r\n const [permiteValidar, setPermiteValidar] = useState(true);\r\n const [formasPagamento, setFormasPagamento] = useState([]);\r\n const [operacaoFiscal, setOperacaoFiscal] = useState({});\r\n const [carregarPagina, setCarregarPagina] = useState(false);\r\n const [frete, setFrete] = useState(0);\r\n const [editando, setEditando] = useState(false);\r\n\r\n const listaValidacoesDest = [\r\n { nome: 'ntf_dataemissao', obrigatorio: true, label: 'Data Lançamento' },\r\n { nome: 'ope_id', obrigatorio: true, label: 'Operação' }\r\n ];\r\n\r\n const pagamentosCodigos = {\r\n dinheiro: 1,\r\n cheque: 2,\r\n cartaoCredito: 3,\r\n cartaoDebito: 4,\r\n crediarioLoja: 5,\r\n valeAlimentacao: 6,\r\n valeRefeicao: 7,\r\n valeCombustivel: 9,\r\n antecipacao: 12,\r\n valePresente: 12,\r\n boleto: 15,\r\n depositoBancario: 16,\r\n pix: 17,\r\n transfBancaria: 18,\r\n semPagamento: 90,\r\n outro: 99\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n carregarDados();\r\n if (!!manutencao.dados && !!manutencao.dados.ntf_id) {\r\n form.setFieldsValue(manutencao.dados);\r\n setEditando(true);\r\n } else {\r\n setEditando(false);\r\n }\r\n if (!!!form.getFieldValue().ntf_dataemissao) {\r\n form.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n\r\n useEffect(() => {\r\n if (!!ui.showDrawerExtra) {\r\n carregarDados();\r\n buscarItensOrdemCompra();\r\n form.setFieldsValue(manutencao.dados);\r\n if (!!!form.getFieldValue().ntf_dataemissao) {\r\n form.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n if (!!manutencao.dados) {\r\n let lista = [];\r\n if (!!manutencao.dados.recebimento.for_id) {\r\n lista.push({ name: \"for_id\", campo: \"FornecedorId\", value: manutencao.dados.recebimento.for_id });\r\n }\r\n if (!!manutencao.dados.recebimento.trn_id) {\r\n lista.push({ name: \"trn_id\", campo: \"IdTrasnportador\", value: manutencao.dados.recebimento.trn_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n form.setFieldsValue(manutencao.dados);\r\n }\r\n }\r\n }, [ui.showDrawerExtra]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.faturamento) {\r\n setListaFormaPagamento(manutencao.dados.faturamento);\r\n }\r\n if (!!manutencao.dados.formaPgto && !!!manutencao.dados.antecipacao) {\r\n manutencao.dados.formaPgto.forEach((forma) => {\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.crediarioLoja && forma.fpg_quitacaoantecipacao) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ antecipacao: [{ valorAntecipacao: forma.nfp_valor }] } } } });\r\n }\r\n });\r\n }\r\n if (!!manutencao.dados.formaPgto && !!!manutencao.dados.faturamento) {\r\n manutencao.dados.formaPgto.forEach((formas) => {\r\n formas.pfp_valor = parseFloat(formas.nfp_valor);\r\n });\r\n let dadosFormaPgto = [...manutencao.dados.formaPgto];\r\n dadosFormaPgto = manutencao.dados.formaPgto.filter((dados) => dados.fpg_tipopagamento !== pagamentosCodigos.crediarioLoja && !dados.fpg_quitacaoantecipacao);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ faturamento: dadosFormaPgto } } } });\r\n }\r\n\r\n\r\n if (!!manutencao.dados && !!manutencao.dados.dadosItens) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ faturamento: listaItens } } } });\r\n setListaItens(manutencao.dados.Itens);\r\n setDadosItens(manutencao.dados.dadosItens);\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n if ((!!proximaPag.proximaPag || proximaPag.proximaPag === 0) && permiteValidar) {\r\n validarTrocaPg(proximaPag.proximaPag);\r\n } else {\r\n setPermiteValidar(true);\r\n }\r\n }, [proximaPag.proximaPag]);\r\n\r\n\r\n\r\n async function carregarDados() {\r\n setCarregarPagina(true);\r\n buscarItensOrdemCompra();\r\n\r\n let listaFormaPagamento = await api.get('FormaPagamento/Listar?Recebimento=2,3,4');\r\n if (listaFormaPagamento.status === 200) {\r\n setFormasPagamento(listaFormaPagamento.data);\r\n }\r\n let listaDadosContribuinte = await api.get('dadosContribuinte/Buscar');\r\n setCarregarPagina(false);\r\n if (listaDadosContribuinte.status === 200) {\r\n if (!!listaDadosContribuinte.data) {\r\n setDadosContribuinte(listaDadosContribuinte.data);\r\n } else {\r\n Modal.warning({\r\n title: 'Dados Contribuinte não parâmetrizados!',\r\n content: 'Favor parametrizar os dados do contribuinte'\r\n });\r\n aoSalvar();\r\n }\r\n }\r\n };\r\n\r\n function validarTrocaPg(pagina) {\r\n let paginaAtual = pages.tagPages;\r\n let listaValidacoes = [];\r\n switch (paginaAtual) {\r\n case 0:\r\n listaValidacoes = listaValidacoesDest;\r\n if (paginaAtual < pagina) {\r\n var recebendo = dadosItens.map(function (e) { return e.ocp_qtdrecebendo });\r\n var verifica = recebendo.reduce(function (verifica, i) {\r\n return verifica + i;\r\n });\r\n if (!!dadosItens && verifica === 0) {\r\n notification.warning({ message: 'Aviso', description: 'Nota Fiscal deve ter ao menos 1 item!' });\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n break;\r\n case 1:\r\n if (paginaAtual < pagina) {\r\n listaValidacoes = [];\r\n if (!validarFaturamento()) {\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n break;\r\n }\r\n if (validaForm(form, listaValidacoes)) {\r\n pages.setTagPages(pagina);\r\n } else {\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n }\r\n };\r\n\r\n function validarFaturamento() {\r\n let formulario = form.getFieldsValue();\r\n let retorno = true;\r\n let valorTotal = 0;\r\n let operacao = operacaoFiscal;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach(forma => {\r\n valorTotal += parseFloat(forma.pfp_valor);\r\n if (forma.editando == true) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor salvar as alterações em andamento nas parcelas(forma pagamento) para continuar!' });\r\n }\r\n });\r\n if (parseFloat(formulario.valorTotal) === 0) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso!', description: 'Valor da Nota Inválido!' });\r\n } else {\r\n if ((validarNumeros(formulario.valorTotal) == !parseFloat(valorTotal.toFixed(2))) || operacao.tip_id == !5) {\r\n notification.warning({ message: 'Aviso', description: 'Valor informado nas formas de pagamento é menor que o valor total da nota!' });\r\n }\r\n }\r\n } else {\r\n if (!!formulario.fpg_id) {\r\n let formaPagamento = formasPagamento.filter((forma) => (forma.fpg_id === formulario.fpg_id))[0];\r\n if (formaPagamento.fpg_tipoavistaaprazo === 1) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n } else {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n }\r\n return retorno;\r\n };\r\n\r\n function popularDadosItens() {\r\n let ordemcompraitens = [];\r\n dadosItens.forEach(itens => {\r\n let aux = { ...itens };\r\n aux.ocp_quantidaderecebidaanteriormente = itens.ocp_quantidaderecebida;\r\n aux.ocp_desconto = !!itens.ocp_desconto ? itens.ocp_desconto : form.getFieldValue().valorDesconto;\r\n aux.ocp_valortotal = form.getFieldValue().valorTotal;\r\n aux.ocp_quantidaderecebida = (itens.ocp_qtdrecebendo);\r\n aux.nfi_valorseguro = form.getFieldValue().valorSeguro;\r\n aux.nfi_valoroutros = form.getFieldValue().valorOutrasDespesas;\r\n ordemcompraitens.push(aux);\r\n })\r\n return ordemcompraitens;\r\n };\r\n\r\n function preencherDadosFaturamento() {\r\n let dadosForma = [];\r\n listaFormaPagamento.forEach(forma => {\r\n let aux = { ...forma };\r\n aux.fpg_id = forma.fpg_id;\r\n aux.cpg_id = forma.cpg_id;\r\n aux.nfp_valor = parseFloat(forma.pfp_valor);\r\n dadosForma.push(aux);\r\n });\r\n return dadosForma;\r\n };\r\n\r\n function buscarItensOrdemCompra(orc_id) {\r\n\r\n api.get(`OrdemCompraItem/ListarItensOrdemCompra?codigoOrdemCompra=${form.getFieldValue().orc_id}`).then(\r\n res => {\r\n let key = 1;\r\n res.data.forEach((itens) => {\r\n if (itens.pro_id != null) {\r\n itens.key = key++;\r\n itens.ean = !!itens.pro_ean ? itens.pro_ean : itens.prg_ean;\r\n itens.grade = itens.mgp_descricao;\r\n itens.ocp_qtdrecebendo = 0;\r\n itens.ocp_quantidade = itens.ocp_quantidade;\r\n itens.nfi_valorunitario = itens.ocp_valorun;\r\n itens.total = itens.ocp_valorun * itens.ocp_quantidade;\r\n itens.ocp_quantidaderecebida = !!itens.ocp_quantidaderecebida ? itens.ocp_quantidaderecebida : 0;\r\n itens.valorTotalDesconto = (itens.ocp_qtdrecebendo * itens.ocp_valorun);\r\n itens.ocp_frete = itens.ocp_frete;\r\n if (itens.ocp_qtdrecebendo === 0) {\r\n itens.bloquear = true;\r\n } else {\r\n itens.bloquear = false;\r\n }\r\n setDadosItens(itens);\r\n }\r\n });\r\n setDadosItens(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n };\r\n\r\n async function salvarDados(values) {\r\n console.log(\"values\", values);\r\n carregando(true);\r\n let dados = {};\r\n dados = { ...values };\r\n dados.orc_id = form.getFieldValue().orc_id;\r\n dados.for_id = form.getFieldValue().for_id;\r\n dados.orc_valorfrete = values.orc_valorfrete;\r\n dados.orc_valordesconto = values.valorDesconto;\r\n dados.orc_valoracrescimo = !!values.valorAcrescimo ? values.valorAcrescimo : form.getFieldValue().valorAcrescimo;\r\n dados.orc_valorseguro = !!values.orc_valorseguro ? values.orc_valorseguro : form.getFieldValue().orc_valorseguro;\r\n dados.ntf_numero = !!values.ntf_numero ? parseInt(values.ntf_numero) : form.getFieldValue().orc_id;\r\n dados.faturamento = preencherDadosFaturamento(values);\r\n dados.ordemcompraitens = popularDadosItens(dadosItens);\r\n\r\n try {\r\n var res = await api.post('OrdemCompra/Receber', dados);\r\n if (res.status == 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Ordem de Compra recebida com sucesso!\" });\r\n }\r\n } catch (error) {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(error.response) });\r\n } finally {\r\n carregando(false);\r\n aoSalvar();\r\n alteraData();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {!!editando &&
\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ({ser.ser_serie})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({op.ope_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n (\r\n {forn.for_id} - {forn.pes_nome}\r\n {(!!forn.pej_cnpj ?
CNPJ: {forn.pej_cnpj}
: \"\")}\r\n
)\r\n }\r\n />\r\n
\r\n {/* \r\n ({forn.pes_nome})\r\n } />\r\n */}\r\n \r\n \r\n \r\n ({trn.pes_nome})\r\n } />\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n {\r\n proximaPag.setProximaPag(e);\r\n }} current={pages.tagPages}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n \r\n }\r\n {pages.tagPages === 1 &&\r\n \r\n }\r\n {pages.tagPages === 2 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoRecebimentoOrdemCompra from './manutencaoRecebimento';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n//import FormasPagamentoRecebimento from '../../components';\r\n\r\nexport default function DrawerRecebimento({ carregarDados, alteraData, fornecedor, transportador, showDrawerExtra, setShowDrawerExtra }) {\r\n\r\n const [formRecebimentoOrdemCompra] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados && manutencao.dados.recebimento !== null) {\r\n formRecebimentoOrdemCompra.setFieldsValue(manutencao.dados.recebimento);\r\n }\r\n\r\n function fecharDrawer() { \r\n setTagPages(0);\r\n setProximaPag(null);\r\n formRecebimentoOrdemCompra.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } }); \r\n alteraData();\r\n carregarDados();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n formRecebimentoOrdemCompra.resetFields();\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n fecharDrawer={() => {fecharDrawer()}}\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Collapse, Tag, Dropdown, Menu, Divider, Modal, notification } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, EditOutlined, MoreOutlined, PrinterOutlined, EyeOutlined, UploadOutlined, CloseOutlined, SyncOutlined, SearchOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerOrdemCompra from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerRecebimento from './drawerRecebimento';\r\nimport { imprimirRelatorioJasper } from \"../../services/funcoes\";\r\nimport { FormatNumber, FormatDate } from \"../../ValueObjects\";\r\nimport { ModalDetalhesOrdemCompra } from \"../../components/modals\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaData, TabelaDados, Editar, Imprimir, Data, PesquisaOrdenacaoData } from \"../../components\";\r\nimport ComboData from \"../../components/comboData\";\r\n\r\nexport default function OrdemCompra() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dataPesquisa, setDataPesquisa] = useState(new Date().toLocaleDateString());\r\n const [listaStatus, setListaStatus] = useState([]);\r\n const [listaFornecedor, setListaFornecedor] = useState([]);\r\n const [listaTransportador, setListaTransportador] = useState([]);\r\n const [open, setOpen] = useState(false);\r\n const [openModalDetalhes, setOpenModalDetalhes] = useState(false);\r\n const [dadosOrdemCompra, setDadosOrdemCompra] = useState({});\r\n const [form] = Form.useForm();\r\n const [formParam] = Form.useForm();\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [dataPesquisa]);\r\n\r\n function carregarDados() {\r\n let sql = \"\";\r\n sql += !!form.getFieldValue().dataInicial ? `&dataInicial=${form.getFieldValue().dataInicial.format('YYYY-MM-DD')}` : \"\";\r\n sql += !!form.getFieldValue().dataFinal ? `&dataFinal=${form.getFieldValue().dataFinal.format('YYYY-MM-DD')}` : \"\";\r\n sql += !!form.getFieldValue().for_id ? `&IdFornecedor=${form.getFieldValue().for_id}` : '';\r\n sql += !!form.getFieldValue().trn_id ? `&IdTransportador=${form.getFieldValue().trn_id}` : '';\r\n sql += !!form.getFieldValue().status ? `&status=${form.getFieldValue().status.join(',')}` : '&status=0,1,2,3';\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-orc_datainclusao', outrosFiltros: sql } });\r\n\r\n api.get('Enum/Listar?nome=StatusOrdemCompra').then(\r\n (res) => {\r\n setListaStatus(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n api.get('Fornecedor/Listar?Order=+pes_nome').then(\r\n (res) => {\r\n setListaFornecedor(res.data.items);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n api.get('Transportador/ListarTransportador?Order=+pes_nome').then(\r\n (res) => {\r\n setListaTransportador(res.data.items);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n form.setFieldsValue({ dataFinal: moment(new Date()), dataInicial: moment(form.getFieldValue().dataPesquisa) });\r\n };\r\n\r\n function aplicarFiltrosAvancados() {\r\n form.setFieldsValue({ dataFinal: moment(new Date()) });\r\n form.setFieldsValue({ dataInicial: moment(form.getFieldValue().dataPesquisa) });\r\n carregarDados();\r\n };\r\n\r\n function cancelarOrdem(orc_id) {\r\n Modal.confirm({\r\n title: 'Deseja Cancelar essa Ordem de Compra?',\r\n icon: ,\r\n onOk() {\r\n api.delete(`OrdemCompra/CancelarOrdemCompra?IdOrdemCompra=${orc_id}`).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Ordem de Compra cancelada com sucesso!\" });\r\n carregarDados();\r\n alteraData();\r\n }\r\n }, err => {\r\n notification.error({ message: 'Aviso!', description: \"Não foi possível cancelar a ordem de compra!\" });\r\n });\r\n }\r\n });\r\n };\r\n\r\n function cancelarOrdemRecebida(orc_id) {\r\n Modal.confirm({\r\n title: 'Deseja Cancelar essa Ordem de Compra? (Essa Ordem de Compra já foi recebida!)',\r\n icon: ,\r\n onOk() {\r\n api.delete(`OrdemCompra/CancelarOrdemCompra?IdOrdemCompra=${orc_id}`).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Ordem de Compra cancelada com sucesso!\" });\r\n carregarDados();\r\n alteraData();\r\n }\r\n }, err => {\r\n notification.error({ message: 'Aviso!', description: \"Não foi possível cancelar a ordem de compra!\" });\r\n });\r\n }\r\n });\r\n };\r\n\r\n function abrirDetalhesOrdemCompra(dados) {\r\n setDadosOrdemCompra(dados);\r\n setOpenModalDetalhes(true);\r\n };\r\n\r\n function imprimirOrdemCompra(record) {\r\n imprimirRelatorioJasper(47, { IdOrdemCompra: record.orc_id });\r\n };\r\n\r\n function menuTable(dados) {\r\n\r\n return (\r\n \r\n {dados.orc_status === 0 &&\r\n \r\n \r\n \r\n }\r\n {(dados.orc_status === 0 || dados.orc_status === 1 || dados.orc_status === 4) &&\r\n \r\n \r\n \r\n }\r\n \r\n } onClick={() => imprimirOrdemCompra(dados)}> Imprimir \r\n \r\n {\r\n \r\n \r\n \r\n }\r\n {(dados.orc_status === 1 || dados.orc_status === 2) &&\r\n \r\n \r\n \r\n }\r\n {(dados.orc_status === 1 || dados.orc_status === 2) &&\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n }\r\n\r\n function reabrirOrdemCompra(orc_id) {\r\n Modal.confirm({\r\n title: 'Deseja Reabrir essa Ordem de Compra? (Essa Ordem de Compra já foi recebida!)',\r\n icon: ,\r\n async onOk() {\r\n await api.put(`OrdemCompra/ReabrirOrdemCompraRecebida?IdOrdemCompra=${orc_id}`).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Ordem de compra reaberta com sucesso!\" });\r\n carregarDados();\r\n alteraData();\r\n }\r\n }, err => {\r\n notification.error({ message: 'Aviso!', description: \"Não foi possível reabrir a ordem de compra!\" });\r\n });\r\n }\r\n });\r\n };\r\n\r\n function retornaDescricaoStatus(orc_status) {\r\n if (!!listaStatus) {\r\n return listaStatus.filter((status) => (\r\n status.key === orc_status\r\n ))[0].value;\r\n }\r\n };\r\n\r\n function editarOrdemCompra(record) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n\r\n function alteraData() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${FormatDate(new Date().toLocaleDateString())}&dataInicial=${moment(form.getFieldValue().dataPesquisa).format('YYYY-MM-DD')}` } });\r\n form.setFieldsValue({ dataFinal: moment(new Date()) });\r\n form.setFieldsValue({ dataInicial: moment(form.getFieldValue().dataPesquisa) });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n
\r\n \r\n {retornaDescricaoStatus(orc_status)} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {orc_id}\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ nomeFornecedor, orc_nropedido, orc_atendente, orc_valortotal, orc_datainclusao, orc_prazomaximo, orc_dataconclusao, nomeTransportador, orc_valorfrete, orc_valordesconto }) => (\r\n
\r\n \r\n
\r\n {nomeFornecedor}\r\n \r\n \r\n \r\n \r\n Nº Pedido: {orc_nropedido || 'Não Informado'}\r\n \r\n \r\n Atendente: {orc_atendente || 'Não Informado'}\r\n \r\n \r\n Transportador: {nomeTransportador || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n Lançamento: {moment(orc_datainclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n Prazo: {moment(orc_prazomaximo).format('DD/MM/YYYY')}\r\n \r\n \r\n Conclusão:\r\n {!!orc_dataconclusao ? moment(orc_dataconclusao).format('DD/MM/YYYY') : 'Não'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total itens (R$): {FormatNumber(orc_valortotal, true, false)}\r\n \r\n \r\n Frete (R$): {FormatNumber(!!orc_valorfrete ? orc_valorfrete : 0, true, false)}\r\n \r\n \r\n Desconto (R$): {FormatNumber(!!orc_valordesconto ? orc_valordesconto : 0, true, false)}\r\n \r\n \r\n Total (R$): {FormatNumber(orc_valortotal + orc_valorfrete - orc_valordesconto, true, false)}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n\r\n \r\n {(record.orc_status === 0) &&
\r\n {\r\n editarOrdemCompra(record);\r\n }} icon={} />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n }> Imprimir \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {orc_numero}\r\n \r\n
\r\n )\r\n },\r\n {\r\n title: \"\",\r\n render: ({ pes_nome, pef_cpf, pej_cnpj, pes_telefone, orc_datainclusao, orc_datavalidade, qtditem }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n CPF/CNPJ: {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n \r\n \r\n Telefone: {!!pes_telefone ? (FormatFone(pes_telefone)) : 'Não Informado'}\r\n \r\n \r\n \r\n \r\n Emissão: {moment(orc_datainclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n Entrega: {moment(orc_datavalidade).format('DD/MM/YYYY')}\r\n \r\n \r\n Quant.: {!!qtditem ? qtditem : 0}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Total do Orçamento (R$)\",\r\n align: 'right',\r\n width: 180,\r\n render: ({ orc_valortotal }) => (\r\n
\r\n {FormatNumber(orc_valortotal, true)}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Permite emissão da NF-e?\r\n \r\n \r\n \r\n \r\n Permite edição do Pedido?\r\n \r\n \r\n \r\n \r\n \r\n \r\n Concluir pedido neste Status?\r\n \r\n \r\n \r\n \r\n Cancelar pedido neste Status?\r\n \r\n \r\n \r\n \r\n Status Ativo?\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoStatusPedido from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerStatusPedido() {\r\n\r\n const [formStatusPedido] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (manutencao.dados !== null) formStatusPedido.setFieldsValue(manutencao.dados);\r\n else {\r\n formStatusPedido.setFieldsValue({mar_ativa:true});\r\n }\r\n\r\n const [ carregando, setCarregando ] = useState(false);\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n formStatusPedido.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Button, Tag, Popover, notification, Modal, Radio, Form } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerStatusPedido from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, BotaoAbrirChamado, BotaoIncluirDados, BreadcrumbPage } from \"../../components\";\r\n\r\nexport default function StatusPedido() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formPesquisa] = Form.useForm();\r\n\r\n useEffect(() => {\r\n let _ativo = !!!formPesquisa.getFieldsValue().statusAtivo ? 1 : formPesquisa.getFieldsValue().statusAtivo;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${_ativo}`, filtro: '', ordem: '+stp_descricao' } });\r\n formPesquisa.setFieldsValue({ statusAtivo: 1 });\r\n }, [])\r\n\r\n function aplicarFiltros() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${formPesquisa.getFieldsValue().statusAtivo}`, ordem: '+stp_descricao' } });\r\n }\r\n\r\n function excluirRegistro(dados) {\r\n api.delete(`StatusPedido/Excluir/${dados.stp_id}`).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }).catch(\r\n (erro) => {\r\n modalInativarRegistro(dados);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${formPesquisa.getFieldsValue().statusAtivo}`, ordem: '+stp_descricao' } });\r\n });\r\n }\r\n\r\n function inativarRegistro(dados) {\r\n dados.stp_ativo = false;\r\n api.put(`StatusPedido/Editar`, dados).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Status inativado com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&Ativo=${formPesquisa.getFieldsValue().statusAtivo}`, ordem: '+stp_descricao' } });\r\n }\r\n )\r\n }\r\n\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir a Status ${dados.stp_descricao}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a Status: ${dados.stp_id} - ${dados.stp_descricao}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n function duplicarStatus(record) {\r\n let valores = { ...record };\r\n valores.stp_id = null;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function editarStatus(record) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n aplicarFiltros()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {stp_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Status',\r\n render: ({ stp_descricao }) => (\r\n
\r\n {stp_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 95,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Status para Pedido Cancelado?: {(stp_pedidocancelado) ? 'Sim' : 'Não'}\r\n \r\n \r\n Status para Pedido Concluído?: {(stp_pedidoconcluido) ? 'Sim' : 'Não'}\r\n \r\n \r\n Permite Editar Pedido?: {(stp_permiteeditarpedido) ? 'Sim' : 'Não'}\r\n \r\n \r\n Permite Emitir NF-e?: {(stp_permiteemissaonf) ? 'Sim' : 'Não'}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React from 'react';\r\nimport { Modal } from \"antd\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { manutencaoActions } from '../../actions';\r\nimport { DetalhePedido } from \"../../components\";\r\n\r\nexport default function ModalDetalhePedido({ exibirModal, fecharModal, dadosModal }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const onClose = () => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n fecharModal();\r\n };\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport ManutencaoNotaFiscal from '../notaFiscal/manutencao';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerNF({ showDrawerExtra, setShowDrawerExtra, dadosNFE }) {\r\n\r\n const [formNotaFiscal] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [formulario] = Form.useForm();\r\n\r\n useEffect(() => {\r\n if (!!dadosNFE) {\r\n formulario.setFieldsValue(dadosNFE);\r\n }\r\n }, [dadosNFE])\r\n\r\n \r\n function fecharDrawer() {\r\n formNotaFiscal.resetFields();\r\n setTagPages(0);\r\n setProximaPag(null);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '%2Bped_datainclusao' } });\r\n setShowDrawerExtra(false)\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport ManutencaoNotaFiscalTransferencia from '../notaFiscalTransferencia/manutencao';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerTransferencia({ abrirDrawer, fecharDrawer, dadosPedido }) {\r\n\r\n const [formNotaFiscal] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [limparDados, setLimparDados] = useState(false);\r\n const [formulario] = Form.useForm();\r\n\r\n function fechar() {\r\n formNotaFiscal.resetFields();\r\n setTagPages(0);\r\n setProximaPag(null);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '%2Bped_datainclusao' } });\r\n fecharDrawer(false)\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n setLimparDados(true);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fechar();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Collapse, Tag, Dropdown, Menu, notification, Modal } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, EditOutlined, CloseOutlined, ExclamationCircleOutlined, PrinterOutlined, MoreOutlined, EyeOutlined, CopyOutlined, DollarOutlined, FileDoneOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport ModalDetalhePedido from \"./modalDetalhePedido\";\r\nimport { getIdUsuario, setIdUsuario } from \"../../services/auth\";\r\nimport { imprimirRelatorioJasper } from \"../../services/funcoes\";\r\nimport { FormatNumber, MaskFormat, FormatFone } from \"../../ValueObjects\";\r\nimport { DrawerNF, DrawerPedidos, DrawerTransferencia } from './drawerPage';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacaoData, TabelaDados, Imprimir, Data, PesquisaAvancada } from \"../../components\";\r\n\r\nexport default function Pedidos() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [open, setOpen] = useState(false);\r\n const [clientes, setClientes] = useState([]);\r\n const [openModalDetalhePedido, setOpenModalDetalhePedido] = useState(false);\r\n const [dadosDetalhesPedido, setDadosDetalhesPedido] = useState({});\r\n const [formPedidos] = Form.useForm();\r\n const [idPedido, setIdPedido] = useState(0);\r\n const [status, setStatus] = useState([]);\r\n const [showDrawerExtra, setShowDrawerExtra] = useState(false);\r\n const [drawerTransferencia, setDrawerTransferencia] = useState(false);\r\n const [dadosPedido, setDadosPedido] = useState({});\r\n\r\n useEffect(() => {\r\n carregarStatus()\r\n formPedidos.setFieldsValue({ ativoPedido: [\"1\"] });\r\n carregarClientes()\r\n }, []);\r\n\r\n function carregarPrimeiraVez() {\r\n let ativo = 2;//Toodos\r\n if (formPedidos.getFieldValue().ativoPedido.length == 1) {\r\n if (formPedidos.getFieldValue().ativoPedido.find(e => e === \"0\"))\r\n ativo = 0;\r\n if (formPedidos.getFieldValue().ativoPedido.find(e => e === \"1\"))\r\n ativo = 1;\r\n }\r\n let filtro = `&Ativo=${ativo}`;\r\n let status = !!formPedidos.getFieldValue().status ? formPedidos.getFieldValue().status : '';\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ped_datainclusao', outrosFiltros: `&dataFinal=${moment(new Date).format('YYYY-MM-DD')}&dataInicial=${moment(formPedidos.getFieldValue().dataPesquisa).format(\"YYYY-MM-DD\")}&filtro=&status=${status}` + filtro } })\r\n formPedidos.setFieldsValue({ dataFinal: moment(new Date) });\r\n formPedidos.setFieldsValue({ dataInicial: moment(formPedidos.getFieldValue().dataPesquisa) });\r\n };\r\n\r\n function carregarStatus() {\r\n let key = 0;\r\n api.get(`StatusPedido/Listar`).then(\r\n res => {\r\n let listaStatus = []\r\n res.data.items.forEach(item => {\r\n item.key = key++;\r\n listaStatus.push(item.stp_id);\r\n });\r\n setStatus(res.data.items);\r\n formPedidos.setFieldsValue({ status: listaStatus });\r\n carregarPrimeiraVez();\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n function carregarClientes() {\r\n api.get(`Cliente/Listar?filtro=`).then(\r\n (res) => {\r\n let key = 0;\r\n res.data.items.forEach(\r\n item => {\r\n item.key = key++;\r\n }\r\n )\r\n setClientes(res.data.items);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function editarPedido(record) {\r\n record.ped_datainclusao = moment(record.ped_datainclusao);\r\n record.ped_dataprevisaoentrega = moment(record.ped_dataprevisaoentrega);\r\n record.ped_datavalidade = moment(record.ped_datavalidade);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n };\r\n\r\n const modalConfirm = (record) => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Tem certeza que deseja cancelar esse pedido?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n cancelarPedido(record);\r\n }\r\n });\r\n }\r\n\r\n function cancelarPedido(record) {\r\n api.post(`Pedido/CancelarPedido?IdPedido=${record.ped_id}`).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Pedido cancelado com sucesso!\" });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ped_datainclusao' } });\r\n }\r\n );\r\n };\r\n\r\n async function emitirNf(record) {\r\n let itensPedido = await api.get(`PedidoItem/ListarItensPedido?codigoPedido=${record.ped_id}`);\r\n record.itensNf = itensPedido.data;\r\n record.ped_datavalidade = moment(record.ped_datavalidade);\r\n record.ped_dataprevisaoentrega = moment(record.ped_dataprevisaoentrega);\r\n record.ped_datainclusao = moment(record.ped_datainclusao);\r\n record.ntf_modalidadefrete = record.ped_modalidadefrete;\r\n record.itensNf.forEach((item) => {\r\n item.nfi_valorunitario = item.pdi_valorunitario;\r\n item.nfi_qtde = item.pdi_quantidade;\r\n item.nfi_valordesconto = item.pdi_valordesconto;\r\n item.nfi_valoroutros = item.pdi_valoracrescimo;\r\n item.nfi_ean = !!item.prg_ean ? item.prg_ean : item.pro_ean;\r\n item.total = (item.pdi_valorunitario * item.pdi_quantidade) - item.pdi_valordesconto + item.pdi_valoracrescimo;\r\n item.percdesc = !!item.nfi_valordesconto ? (item.nfi_valordesconto * 100) / item.total : 0;\r\n item.percacresc = !!item.nfi_valoroutros ? (item.nfi_valoroutros * 100) / item.total : 0;\r\n item.nfi_numeropedidocompra = record.ped_numero;\r\n });\r\n record.faturamento = record.formaPgto;\r\n setDadosPedido(record);\r\n setShowDrawerExtra(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n };\r\n\r\n async function emitirTransferencia(record) {\r\n let itensPedido = await api.get(`PedidoItem/ListarItensPedido?codigoPedido=${record.ped_id}`);\r\n record.itensNf = itensPedido.data;\r\n record.loc_id = record.loc_id_transferencia;\r\n record.custo = record.ped_precoutilizado;\r\n record.ped_datavalidade = moment(record.ped_datavalidade);\r\n record.ped_dataprevisaoentrega = moment(record.ped_dataprevisaoentrega);\r\n record.ped_datainclusao = moment(record.ped_datainclusao);\r\n record.ntf_modalidadefrete = record.ped_modalidadefrete;\r\n record.itensNf.forEach((item) => {\r\n item.nfi_valorunitario = item.pdi_valorunitario;\r\n item.nfi_qtde = item.pdi_quantidade;\r\n item.nfi_valordesconto = item.pdi_valordesconto;\r\n item.nfi_valoroutros = item.pdi_valoracrescimo;\r\n item.nfi_ean = item.pro_ean;\r\n item.total = item.pdi_valorunitario * item.pdi_quantidade;\r\n item.percdesc = !!item.nfi_valordesconto ? (item.nfi_valordesconto * 100) / item.total : 0;\r\n item.percacresc = !!item.nfi_valoroutros ? (item.nfi_valoroutros * 100) / item.total : 0;\r\n item.nfi_numeropedidocompra = record.ped_numero;\r\n });\r\n record.faturamento = record.formaPgto;\r\n setDadosPedido(record);\r\n setDrawerTransferencia(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n };\r\n\r\n async function visualizarPedido(record) {\r\n let itensPedido = await api.get(`PedidoItem/ListarItensPedido?codigoPedido=${record.ped_id}`);\r\n record.itensNf = itensPedido.data;\r\n setDadosDetalhesPedido(record);\r\n setOpenModalDetalhePedido(true);\r\n };\r\n\r\n function imprimirPedido(record) {\r\n imprimirRelatorioJasper(29, { idPedido: record.ped_id });\r\n };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n {(record.ped_ativo === true && record.stp_pedidoconcluido === false && record.stp_permiteemissaonf === true && !!!record.loc_id_transferencia) &&\r\n \r\n \r\n \r\n }\r\n {(record.ped_ativo === true && record.stp_permiteeditarpedido === true) &&\r\n \r\n \r\n \r\n }\r\n {(record.ped_ativo === true && record.stp_pedidoconcluido === false && record.stp_permiteemissaonf === true && !!record.loc_id_transferencia) &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n } onClick={() => imprimirPedido(record)}> Imprimir \r\n \r\n \r\n )\r\n };\r\n\r\n async function duplicarPedido(record) {\r\n let pedidoDuplicar = { ...record }\r\n pedidoDuplicar.ped_datainclusao = moment(new Date());\r\n pedidoDuplicar.ped_dataprevisaoentrega = moment(pedidoDuplicar.ped_dataprevisaoentrega);\r\n pedidoDuplicar.ped_datavalidade = moment(pedidoDuplicar.ped_datavalidade);\r\n pedidoDuplicar.ped_id_duplicar = pedidoDuplicar.ped_id;\r\n pedidoDuplicar.ped_id = null;\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: pedidoDuplicar } });\r\n };\r\n\r\n function retornoPesquisaAvancada(expressao) {\r\n let dados = formPedidos.getFieldValue();\r\n let filtro = '';\r\n let dataInicial = dados.dataInicial;\r\n let dataFinal = dados.dataFinal;\r\n let status = dados.status;\r\n let ativo = 2;//Toodos\r\n if (dados.ativoPedido.length == 1) {\r\n if (dados.ativoPedido.find(e => e === \"0\"))\r\n ativo = 0;\r\n if (dados.ativoPedido.find(e => e === \"1\"))\r\n ativo = 1;\r\n }\r\n\r\n filtro += '&dataInicial=' + (!!dataInicial ? moment(dataInicial).format('YYYY-MM-DD') : moment(dados.dataPesquisa).format(\"YYYY-MM-DD\"));\r\n filtro += '&dataFinal=' + (!!dataFinal ? moment(dataFinal).format('YYYY-MM-DD') : moment(new Date).format('YYYY-MM-DD'));\r\n filtro += (!!status ? `&status=${status}` : '');\r\n filtro += (!!ativo ? `&Ativo=${ativo}` : '');\r\n filtro += !!expressao ? `&filtroAdicional=${btoa(expressao)}` : '';\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ped_datainclusao', outrosFiltros: filtro } });\r\n };\r\n\r\n function limparFiltroPesquisa() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: ``, ordem: '+ped_datainclusao' } })\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n {\r\n let filtro = '';\r\n let ativo = 2;//Toodos\r\n if (!!formPedidos.getFieldValue().ativoPedido) {\r\n if (formPedidos.getFieldValue().ativoPedido.length == 1) {\r\n if (formPedidos.getFieldValue().ativoPedido.find(e => e === \"0\"))\r\n ativo = 0;\r\n if (formPedidos.getFieldValue().ativoPedido.find(e => e === \"1\"))\r\n ativo = 1;\r\n }\r\n }\r\n filtro += `&Ativo=${ativo}`;\r\n let status = !!formPedidos.getFieldValue().status ? formPedidos.getFieldValue().status : '';\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${moment(new Date).format('YYYY-MM-DD')}&dataInicial=${moment(formPedidos.getFieldValue().dataPesquisa).format(\"YYYY-MM-DD\")}&filtro=&status=${status}` + filtro } })\r\n formPedidos.setFieldsValue({ dataFinal: moment(new Date) });\r\n formPedidos.setFieldsValue({ dataInicial: moment(formPedidos.getFieldValue().dataPesquisa) });\r\n }} />\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n {status.map(stp => (\r\n {stp.stp_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={formPedidos} telaFiltro={9} retornarSempre={true} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n
\r\n \r\n {stp_descricao}\r\n \r\n \r\n \r\n \r\n \r\n {ped_numero}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Informações\",\r\n render: ({ loc_id_transferencia, loc_descricao, pes_nome, pef_cpf, pej_cnpj, pes_telefone, pes_endereco, pes_nroestabelecimento, pes_bairro, pes_cep, pes_cidade, pes_uf, ped_datainclusao, ped_dataprevisaoentrega, pdi_qtditem, ped_ativo }) => (\r\n
\r\n \r\n
\r\n {!!loc_id_transferencia ? loc_descricao : pes_nome}\r\n \r\n \r\n CPF/CNPJ: {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n \r\n \r\n Telefone: {FormatFone(pes_telefone) || 'Não Informado'}\r\n \r\n \r\n \r\n {!ped_ativo && \r\n Cancelado\r\n }\r\n \r\n Emissão: {moment(ped_datainclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n Entrega: {moment(ped_dataprevisaoentrega).format('DD/MM/YYYY')}\r\n \r\n \r\n Quant. de Itens: {pdi_qtditem}\r\n \r\n \r\n Endereço: {pes_endereco}, {pes_nroestabelecimento}, {pes_bairro}, {pes_cep}, {pes_cidade}-{pes_uf}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Total (R$)\",\r\n align: 'right',\r\n width: 180,\r\n render: ({ ped_valortotal }) => (\r\n
\r\n {FormatNumber(ped_valortotal, true)}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function descricaoSituacao(codigo) {\r\n if (codigo >= 0 && !!situacaoVenda[codigo]) {\r\n return situacaoVenda[codigo].value;\r\n }\r\n return '';\r\n };\r\n\r\n function deletarCondicional(registro) {\r\n api.put(`VendaCondicional/Excluir/${registro.vnc_id}`).then(\r\n (res) => {\r\n notification.success({ message: `Sucesso!`, description: `Venda Condicional estornada com sucesso!` })\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n });\r\n };\r\n\r\n async function editarCondicional(registro) {\r\n registro.vnc_datalancamento = moment(registro.vnc_datalancamento);\r\n registro.vnc_prazoretorno = moment(registro.vnc_prazoretorno);\r\n registro.vnc_entregaagendada = moment(registro.vnc_entregaagendada);\r\n let dadosTemp = await api.get(`VendaCondicionalItem/Listar?IdVendaCondicional=${registro.vnc_id}`);\r\n if (dadosTemp.status === 200) {\r\n registro.itens = dadosTemp.data;\r\n }\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro } });\r\n }\r\n\r\n const modalExcluirCondicional = (condicional) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a condicional do cliente ${condicional.cli_nome} contendo ${condicional.vnc_totalitens} itens com valor total de R$ ${!!condicional.vnc_valortotal ? condicional.vnc_valortotal : '0,00'} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n deletarCondicional(condicional);\r\n }\r\n });\r\n };\r\n\r\n function abrirModalItens(record) {\r\n setDados(record);\r\n setOpenModalProdutoCondicional(true);\r\n }\r\n\r\n function abrirModalContatos(record) {\r\n setPessoaId(record);\r\n setOpenModalContatoCliente(true);\r\n }\r\n function retornaCorSituacao(codigo) {\r\n let cor = \"\";\r\n switch (codigo) {\r\n case 0:\r\n cor = \"processing\";\r\n break;\r\n case 1:\r\n cor = \"green\";\r\n break;\r\n case 2:\r\n cor = \"#87d068\";\r\n break;\r\n case 3:\r\n cor = \"orange\";\r\n break;\r\n case 4:\r\n cor = \"red\";\r\n break;\r\n }\r\n return cor;\r\n };\r\n\r\n function alterarCondicionalEntregue(dados, valor) {\r\n let situacao = dados.vnc_situacao;\r\n if (valor === true) {\r\n situacao = 1;\r\n } else {\r\n situacao = 0;\r\n }\r\n api.post('VendaCondicional/EditarSituacaoCondicional',\r\n JSON.stringify({ vnc_id: dados.vnc_id, vnc_situacao: situacao }),\r\n { headers: { 'Content-Type': 'application/json;charset=utf-8' } }\r\n ).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n });\r\n };\r\n\r\n return (\r\n
\r\n { return campo.vnc_levarparacliente === true }} colunas={\r\n [\r\n {\r\n title: 'Situação',\r\n width: 140,\r\n align: 'center',\r\n render: ({ vnc_situacao }) => (\r\n
\r\n \r\n {(descricaoSituacao(vnc_situacao))}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº',\r\n width: 85,\r\n align: 'center',\r\n render: ({ vnc_numero }) => (\r\n
\r\n {vnc_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ cli_nome }) => (\r\n
\r\n {cli_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 110,\r\n render: ({ vnc_telefonecliente, pes_id }) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Lançamento',\r\n width: 135,\r\n render: ({ vnc_datalancamento }) => (\r\n
\r\n {moment(vnc_datalancamento).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Retorno',\r\n width: 135,\r\n render: ({ vnc_prazoretorno }) => (\r\n
\r\n {moment(vnc_prazoretorno).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'right',\r\n width: 100,\r\n render: ({ vnc_totalitens }, record) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n width: 150,\r\n render: ({ vnc_valortotal }) => (\r\n
\r\n {FormatNumber(vnc_valortotal, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, registro) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Entregar em: {record.vnc_enderecoentrega}\r\n \r\n \r\n Melhor Horário para Entrega: {moment(record.vnc_entregaagendada).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n \r\n \r\n { alterarCondicionalEntregue(record, valor) }} /> Condicional Entregue?\r\n \r\n \r\n )\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n setOpenModalProdutoCondicional(false)} dadosItens={dados} />\r\n setOpenModalContatoCliente(false)} />\r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Dropdown, Menu, Modal, notification } from \"antd\";\r\nimport { DollarCircleOutlined, DeleteOutlined, MoreOutlined, PrinterOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerCondicional from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerDevolucao from './drawerDevolucao';\r\nimport { FormatFone, FormatNumber } from \"../../ValueObjects\";\r\nimport { TabelaDados, EditarTabela, Excluir, Imprimir } from '../../components';\r\nimport { listagemActions, manutencaoActions, drawerActions } from '../../actions';\r\nimport { ModalProdutoCondicional, ModalContatoCliente } from \"../../components/modals/\";\r\nimport DrawerNFExtra from \"./drawerNFExtra\";\r\n\r\nexport default function TabCondicionalRetirada({ situacaoVenda, dataPesquisa, imprimirCondicional }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [exibirDrawerDevolucao, setExibirDrawerDevolucao] = useState(false);\r\n const [openModalContatoCliente, setOpenModalContatoCliente] = useState(false);\r\n const [openModalProdutoCondicional, setOpenModalProdutoCondicional] = useState(false);\r\n const [exibirDrawerNota, setExibirDrawerNota] = useState(false);\r\n const [dados, setDados] = useState({});\r\n const [pessoaId, setPessoaId] = useState();\r\n\r\n function menuTable(registro) {\r\n return (\r\n \r\n \r\n \r\n \r\n } onClick={() => imprimirCondicional(registro)}> Imprimir \r\n \r\n );\r\n };\r\n\r\n function descricaoSituacao(codigo) {\r\n if (codigo >= 0 && !!situacaoVenda[codigo]) {\r\n return situacaoVenda[codigo].value;\r\n }\r\n return \"\";\r\n };\r\n\r\n function retornaCorSituacao(codigo) {\r\n let cor = \"\";\r\n switch (codigo) {\r\n case 0:\r\n cor = \"processing\";\r\n break;\r\n case 1:\r\n cor = \"green\";\r\n break;\r\n case 2:\r\n cor = \"#87d068\";\r\n break;\r\n case 3:\r\n cor = \"orange\";\r\n break;\r\n case 4:\r\n cor = \"red\";\r\n break;\r\n }\r\n return cor;\r\n };\r\n\r\n function deletarCondicional(registro) {\r\n api.put(`VendaCondicional/Excluir/${registro.vnc_id}`).then(\r\n (res) => {\r\n notification.success({ message: `Sucesso!`, description: `Venda Condicional estornada com sucesso!` })\r\n }\r\n ).catch((erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n });\r\n };\r\n\r\n const modalExcluirCondicional = (condicional) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente estornar a condicional do cliente ${condicional.cli_nome} contendo ${condicional.vnc_totalitens} itens com valor total de R$ ${!!condicional.vnc_valortotal ? condicional.vnc_valortotal : '0,00'} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n deletarCondicional(condicional);\r\n }\r\n });\r\n };\r\n\r\n function abrirModalItens(record) {\r\n setDados(record);\r\n setOpenModalProdutoCondicional(true);\r\n }\r\n function abrirModalContatos(record) {\r\n setPessoaId(record);\r\n setOpenModalContatoCliente(true);\r\n }\r\n\r\n async function editarCondicional(registro) {\r\n registro.vnc_datalancamento = moment(registro.vnc_datalancamento);\r\n registro.vnc_prazoretorno = moment(registro.vnc_prazoretorno);\r\n let dadosTemp = await api.get(`VendaCondicionalItem/Listar?IdVendaCondicional=${registro.vnc_id}`);\r\n registro.itens = dadosTemp.data;\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro } });\r\n };\r\n\r\n\r\n return (\r\n
\r\n { return campo.vnc_levarparacliente === false }} colunas={\r\n [\r\n {\r\n title: 'Situação',\r\n width: 140,\r\n align: 'center',\r\n render: ({ vnc_situacao }) => (\r\n
\r\n \r\n {descricaoSituacao(vnc_situacao)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº',\r\n width: 100,\r\n align: 'center',\r\n render: ({ vnc_numero }) => (\r\n
\r\n {vnc_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ cli_nome }) => (\r\n
\r\n {cli_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 110,\r\n render: ({ vnc_telefonecliente, pes_id }) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Lançamento',\r\n width: 135,\r\n render: ({ vnc_datalancamento }) => (\r\n
\r\n {moment(vnc_datalancamento).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Retorno',\r\n width: 135,\r\n render: ({ vnc_prazoretorno }) => (\r\n
\r\n {moment(vnc_prazoretorno).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'center',\r\n width: 100,\r\n render: ({ vnc_totalitens }, record) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n width: 150,\r\n render: ({ vnc_valortotal }) => (\r\n
\r\n {FormatNumber(vnc_valortotal, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, registro) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${FormatDate(dataAtual.toLocaleDateString())}&dataInicial=${moment(formParametrosAvancados.getFieldValue().dataPesquisa).format('YYYY-MM-DD')}` } });\r\n formParametrosAvancados.setFieldsValue({ dataFinal: moment(dataAtual) });\r\n formParametrosAvancados.setFieldsValue({ dataInicial: moment(formParametrosAvancados.getFieldValue().dataPesquisa) });\r\n }} />\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {situacaoVenda.map(situacao => (\r\n {situacao.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada(dados)} funcaoLimpar={() => { limparFiltroPesquisa() }} form={formParametrosAvancados} telaFiltro={8} retornarSempre={true} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, notification, Table, Button, Tag, Modal } from \"antd\";\r\nimport { EditOutlined } from \"@material-ui/icons\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport { isObjetoDiffVazio, novaAbaNavegador } from \"../../services/funcoes\";\r\nimport { FormGW, InputPreco, Data } from \"../../components\";\r\nimport { FormatDate, FormatNumber } from \"../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from '../../actions';\r\nimport { ModalBandeiraCartao, ModalContaCorrente, ModalParcelasPendentes, ModalSenhaLiberacao, ModalCheque, ModalRetornaContaGerencial } from \"../../components/modals\";\r\n\r\nexport default function ManutencaoValePresente({ formulario, carregando, aoSalvar, formParametrosValePresente }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaCompradores, setListaCompradores] = useState([]);\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [listaCondPagamento, setListaCondPagamento] = useState([]);\r\n const [dataAtual] = useState(new Date());\r\n const [ehCheque, setEhCheque] = useState(false);\r\n const [dadosCheque, setDadosCheque] = useState([]);\r\n const [exibirModalCheque, setExibirModalCheque] = useState(false);\r\n const [abreModalContaCorrente, setAbreModalContaCorrente] = useState(false);\r\n const [contaCorrente, setContaCorrente] = useState({});\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [openModalCartao, setOpenModalCartao] = useState(false);\r\n const [dadosVale, setDadosVale] = useState({});\r\n const [abreModalLiberacao, setAbreModalLiberacao] = useState(false);\r\n const [parcelasPessoasAtraso, setParcelasPessoasAtraso] = useState([]);\r\n const [abreModalParcPendentes, setAbreModalParcPendentes] = useState(false);\r\n const [editandoParcelas, setEditandoParcelas] = useState(false);\r\n const [semCondicao, setSemCondicao] = useState(false);\r\n const [dadosEmpresa, setDadosEmpresa] = useState({});\r\n const [openModalContaGerencial, setOpenModalContaGerencial] = useState(false);\r\n const descricaoContaGerencial = \"A Conta Gerencial ainda não foi informada e para lançamentos de Vale Presente é obrigatória. A informação será exigida uma única vez, ficando disponível nos parametros do sistema.\"\r\n\r\n const tipoFormaPagamento = {\r\n dinheiro: 1,\r\n cheque: 2,\r\n cartaoCredito: 3,\r\n cartaoDebito: 4,\r\n creditoLoja: 5,\r\n valeAlimentacao: 10,\r\n valeRefeicao: 11,\r\n valePresente: 12,\r\n valeCombustivel: 13,\r\n outro: 99\r\n };\r\n\r\n const onCloseModalLiberacao = () => {\r\n inserirDadosCrediario(dadosVale.formaPagamento[0]);\r\n setAbreModalLiberacao(false);\r\n };\r\n\r\n const onCloseModalCheque = () => {\r\n setExibirModalCheque(false);\r\n };\r\n\r\n const fecharModalCartao = () => {\r\n setOpenModalCartao(false);\r\n };\r\n const fecharModalOKCartao = () => {\r\n setOpenModalCartao(false);\r\n };\r\n\r\n const onCloseModalParcPendentes = () => {\r\n limparFormaPagamento();\r\n setAbreModalParcPendentes(false);\r\n };\r\n const onCloseCreditoBloqueado = () => {\r\n limparFormaPagamento();\r\n setAbreModalLiberacao(false);\r\n }\r\n\r\n const onCloseModalParcPendentesOk = () => {\r\n setAbreModalParcPendentes(false);\r\n inserirDadosCrediario(dadosVale.formaPagamento[0]);\r\n };\r\n\r\n const onCloseModalContaGerencial = (values) => {\r\n if (!!values && isObjetoDiffVazio(values) && values.listaContas) {\r\n let dadosObj = {};\r\n dadosObj.par_id = dadosEmpresa.par_id;\r\n dadosObj.emp_id = parseInt(values.emp_id);\r\n dadosObj.par_contagerencialvalepresente = values.cgc_contagerencialdestino;\r\n dadosObj.par_contagervalepresenteprazo = values.cgc_contagerencialdestino2;\r\n api.post(`ParametrosEmpresa/ManutencaoParametrosEmpresa`, dadosObj).then(\r\n res => {\r\n notification.success({ description: 'Conta gerencial parametrizada com sucesso!', message: 'Avisos' })\r\n setOpenModalContaGerencial(false);\r\n buscarParametrosEmp();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n } else {\r\n setOpenModalContaGerencial(false);\r\n }\r\n\r\n };\r\n\r\n function limparFormaPagamento() {\r\n formulario.setFieldsValue({ cpg_id: null, fpg_id: null });\r\n let dadosVal = { ...dadosVale };\r\n dadosVal.parcelas = [];\r\n dadosVal.formaPagamento = [];\r\n setDadosVale(dadosVal);\r\n carregarDados();\r\n console.log(\"Limpar\", dadosVal);\r\n }\r\n\r\n const salvarManutencao = (values) => {\r\n validarVale(() => {\r\n if (dadosVale.formaPagamento[0].fpg_tipoavistaaprazo === 0) {\r\n values.ctg_id = !!dadosEmpresa.par_contagerencialvalepresente ? dadosEmpresa.par_contagerencialvalepresente : null;\r\n } else {\r\n values.ctg_id = !!dadosEmpresa.par_contagervalepresenteprazo ? dadosEmpresa.par_contagervalepresenteprazo : null;\r\n }\r\n\r\n switch (dadosVale.formaPagamento[0].fpg_tipopagamento) {\r\n case tipoFormaPagamento.cheque:\r\n values.lancouCheque = false\r\n values.ctc_id = !!dadosVale.contaCorrente && !!dadosVale.contaCorrente.ctc_id ? dadosVale.contaCorrente.ctc_id : dadosVale.formaPagamento.ctc_id;\r\n values.cheques = dadosVale.cheques;\r\n break;\r\n case tipoFormaPagamento.cartaoDebito, tipoFormaPagamento.cartaoCredito:\r\n let recebimentoCartao = {};\r\n break;\r\n case tipoFormaPagamento.creditoLoja:\r\n if (dadosVale.parcelas.length == 0) {\r\n notification.warning({ description: 'Parcelas não informadas!', message: 'Aviso' });\r\n }\r\n if (editandoParcelas) {\r\n dadosVale.parcelas.forEach((parc) => {\r\n parc.prc_datavencimento = moment(formulario.getFieldValue()[`dataVencimento${parc.prc_numeroparcela}`]);\r\n parc.dataVencimento = moment(formulario.getFieldValue()[`dataVencimento${parc.prc_numeroparcela}`]);\r\n parc.valorParcela = parseFloat(formulario.getFieldValue()[`valorParcela${parc.prc_numeroparcela}`]);\r\n parc.prc_valor = parseFloat(formulario.getFieldValue()[`valorParcela${parc.prc_numeroparcela}`]);\r\n parc.cpr_numeroparcelas = parc.prc_numeroparcela;\r\n });\r\n }\r\n break;\r\n case tipoFormaPagamento.dinheiro:\r\n values.ctc_id = !!dadosVale.contaCorrente && !!dadosVale.contaCorrente.ctc_id ? dadosVale.contaCorrente.ctc_id : dadosVale.formaPagamento.ctc_id;\r\n break;\r\n }\r\n\r\n values.faturamento = dadosVale.formaPagamento;\r\n values.acf_datalancamento = moment(values.acf_datalancamento);\r\n values.acf_valor = parseFloat(values.acf_valor);\r\n values.acf_valepresente = true;\r\n values.acf_entradasaida = 2;\r\n carregando(true);\r\n api.post(`AntecipacaoClienteFornecedor/IncluirValePresente`, values).then(\r\n res => {\r\n notification.success({ message: `Operação Concluída`, description: `Vale presente salvo com sucesso!` });\r\n if (res.data?.acf_id) {\r\n novaAbaNavegador(`AntecipacaoClienteFornecedor/GerarComprovante/${res.data.acf_id}`);\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({\r\n message: `Erro ao processar a requisição!`, description: !!error.response.data.Message ? error.response.data.Message : ''\r\n });\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: `acf_datalancamento` } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${FormatDate(dataAtual.toLocaleDateString())}&dataInicial=${FormatDate(formParametrosValePresente.dataPesquisa)}&filtro=&mostrarValeQuitado=${formParametrosValePresente.formParametrosValePresente.getFieldValue().valesQuitados}` } });\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n )\r\n });\r\n };\r\n\r\n const expandedRowRender = record => {\r\n return
(\r\n {pcl_numeroparcela}\r\n ),\r\n }, {\r\n title: 'Data Pagamento',\r\n render: ({ dataVencimento, pcl_numeroparcela }) => (\r\n
\r\n {editandoParcelas ? : moment(dataVencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ valorParcela, pcl_numeroparcela }) => (\r\n
\r\n {editandoParcelas ? { onChangeValorParc(pcl_numeroparcela) }} /> : {FormatNumber(valorParcela, true)}}\r\n
\r\n\r\n ),\r\n }\r\n ]} dataSource={record.parcelas} pagination={false} />\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.dadosModalCheque && !!manutencao.dados.dadosModalCheque.cheques) {\r\n incluirCheque(manutencao.dados.dadosModalCheque);\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n buscarParametrosEmp();\r\n }, []);\r\n\r\n useEffect(() => {\r\n let formaPgto = !!dadosVale.formaPagamento ? dadosVale.formaPagamento[dadosVale.formaPagamento.length - 1] : null;\r\n if (((!!formaPgto && formaPgto.cpg_id) || semCondicao) && !openModalCartao) {\r\n if (formaPgto.fpg_tipopagamento === tipoFormaPagamento.cartaoCredito || formaPgto.fpg_tipopagamento === tipoFormaPagamento.cartaoDebito) {\r\n abrirModalCartao(dadosVale);\r\n } else if (formaPgto.fpg_tipopagamento === tipoFormaPagamento.creditoLoja && (!!!formaPgto.parcelas || formaPgto.parcelas.length === 0)) {\r\n verificarRestricoesCredito(false, () => {\r\n inserirDadosCrediario(formaPgto);\r\n });\r\n\r\n }\r\n }\r\n }, [dadosVale]);\r\n\r\n function carregarDados() {\r\n if (!!!formulario.getFieldValue().acf_datalancamento) {\r\n formulario.setFieldsValue({ acf_datalancamento: moment(new Date()) });\r\n }\r\n api.get(`FormaPagamento/Listar?filtro=&apenasAtivos=true&Order=%2Bfpg_descricao&PageSize=500`).then(\r\n (res) => {\r\n let dados = [];\r\n res.data.items.forEach((fpg) => {\r\n //Demais formas não implementadas\r\n if (fpg.fpg_tipopagamento === tipoFormaPagamento.dinheiro || fpg.fpg_tipopagamento === tipoFormaPagamento.cheque || fpg.fpg_tipopagamento === tipoFormaPagamento.creditoLoja) {\r\n dados.push(fpg);\r\n }\r\n });\r\n setListaFormaPagamento(dados);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarCondicao(fpg_id) {\r\n api.get(`CondicaoPagamento/Listar?codigoFormaPagamento=${fpg_id}&PageSize=500`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaCondPagamento(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarParametrosEmp() {\r\n api.get(`ParametroEmpresa/BuscarParametros`).then(\r\n res => {\r\n setDadosEmpresa(res.data);\r\n if (!!!res.data.par_contagerencialvalepresente || !!!res.data.par_contagervalepresenteprazo && (!!!manutencao.dados || (!!manutencao.dados && !!!manutencao.dados.acf_id))) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: 'Conta gerencial não parametrizada para vale presente, deseja parametrizar as mesmas?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let obj = {};\r\n obj.cgc_contagerencialdestino = res.data.par_contagerencialvalepresente;\r\n obj.cgc_contagerencialdestino2 = res.data.par_contagervalepresenteprazo;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ dadosEmpresa: obj } } } });\r\n setOpenModalContaGerencial(true);\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function onChangeFormaPagamento(fpg_id) {\r\n if (fpg_id) {\r\n let dados = { ...dadosVale };\r\n let formaPagamento = [];\r\n let faturamento = listaFormaPagamento.filter((forma) => (forma.fpg_id === formulario.getFieldValue().fpg_id))[0];\r\n let cliente = listaCompradores.filter((compradores) => compradores.pes_id === formulario.getFieldValue().pes_id)[0];\r\n formulario.setFieldsValue({ cpg_id: null });\r\n if (faturamento.fpg_tipopagamento === tipoFormaPagamento.creditoLoja) {\r\n if (!!cliente && cliente.cli_vendasomenteavista) {\r\n formulario.setFieldsValue({ fpg_id: null });\r\n notification.warn({ description: 'Venda a prazo não autorizada!', message: 'Aviso' });\r\n return false;\r\n }\r\n }\r\n faturamento.parcelas = [];\r\n faturamento.cheques = [];\r\n faturamento.valor = parseFloat(formulario.getFieldValue().acf_valor);\r\n formaPagamento.push(faturamento);\r\n dados.formaPagamento = formaPagamento;\r\n if (faturamento.fpg_tipopagamento !== tipoFormaPagamento.cheque) {\r\n if (faturamento.fpg_tipopagamento === tipoFormaPagamento.dinheiro || faturamento.fpg_tipopagamento === tipoFormaPagamento.valePresente) {\r\n setSemCondicao(true);\r\n validarContaCorrente(dados);\r\n } else {\r\n listarCondicao(fpg_id);\r\n setSemCondicao(false);\r\n }\r\n setEhCheque(false);\r\n formulario.setFieldsValue({ numeroCheques: null });\r\n } else {\r\n setEhCheque(true);\r\n setSemCondicao(true);\r\n }\r\n setDadosVale(dados);\r\n } else {\r\n limparFormaPagamento();\r\n }\r\n };\r\n\r\n function onChangeCondicao(cpg_id) {\r\n let dados = { ...dadosVale };\r\n let dadosFormaPagamento = dados.formaPagamento.find((forma) => forma.fpg_id === formulario.getFieldValue().fpg_id);\r\n dadosFormaPagamento.cpg_id = cpg_id;\r\n if (parseFloat(formulario.getFieldValue().acf_valor) !== 0) {\r\n validarContaCorrente(dados, () => {\r\n setDadosVale(dados);\r\n });\r\n } else {\r\n formulario.setFieldsValue({ cpg_id: null });\r\n notification.warning({ description: 'Favor informar o valor do vale', message: 'Aviso' });\r\n }\r\n };\r\n\r\n function validarContaCorrente(dados, callback) {\r\n let formaPgto = dados.formaPagamento[dados.formaPagamento.length - 1];\r\n if ((!!!formaPgto.ctc_id && (!!!dados.contaCorrente || (!!dados.contaCorrente && !!!dados.contaCorrente.ctc_id)))\r\n && (formaPgto.fpg_tipopagamento === tipoFormaPagamento.cheque || formaPgto.fpg_tipopagamento === tipoFormaPagamento.dinheiro\r\n || formaPgto.fpg_tipopagamento === tipoFormaPagamento.depositoBancario || formaPgto.fpg_tipopagamento === tipoFormaPagamento.pix\r\n || formaPgto.fpg_tipopagamento === tipoFormaPagamento.transfBancaria)) {\r\n setAbreModalContaCorrente(true);\r\n } else {\r\n if (!!callback) {\r\n callback();\r\n }\r\n }\r\n\r\n\r\n };\r\n\r\n function validarVale(callback) {\r\n let dados = { ...dadosVale };\r\n dados.formaPagamento.forEach((faturamento) => {\r\n if (faturamento.fpg_tipopagamento === tipoFormaPagamento.creditoLoja && !!!formulario.getFieldValue().pes_id) {\r\n notification.warning({ description: 'Para venda a prazo é obrigatório informar o comprador!', message: 'Aviso' });\r\n return;\r\n }\r\n if (faturamento.fpg_tipopagamento === tipoFormaPagamento.cheque) {\r\n\r\n }\r\n });\r\n if (!(parseFloat(formulario.getFieldValue().acf_valor) > 0)) {\r\n notification.warning({ description: 'Favor informar o valor do vale', message: 'Aviso' });\r\n return;\r\n }\r\n\r\n if (!!callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function pagamentoCartao(dados, dadosCartao) {\r\n let dataAtual = new Date();\r\n let dadosVal = { ...dadosVale };\r\n let recebimentoCartao = [];\r\n let retorno = {};\r\n if (dadosCartao.tipoParcelamento === 0) {//Estabelecimento\r\n let numeroDias = !!dados.credito ? dadosCartao.bandeira.bce_nrodiasrecebimentocredito : dadosCartao.bandeira.bce_nrodiasrecebimentodebito;\r\n dadosVal.parcelas.forEach((parcela) => {\r\n retorno.tipoParcelamento = dadosCartao.tipoParcelamento;\r\n retorno.bce_id = dadosCartao.bandeira.bce_id;\r\n retorno.rcc_parcelarecebimento = parcela.pcl_numeroparcela;\r\n retorno.rcc_valor = parcela.prc_valor;\r\n retorno.rcc_nsu = dadosCartao.nsu;\r\n retorno.rcc_previsaorecebimento = new Date(dataAtual.setDate(dataAtual.getDate() + numeroDias));\r\n recebimentoCartao.push(retorno);\r\n });\r\n } else {\r\n retorno.tipoParcelamento = dadosCartao.tipoParcelamento;\r\n retorno.bce_id = dadosCartao.bandeira.bce_id;\r\n retorno.rcc_parcelarecebimento = 1;\r\n retorno.rcc_valor = formulario.getFieldValue().acf_valor;\r\n retorno.rcc_nsu = dadosCartao.nsu;\r\n retorno.rcc_previsaorecebimento = new Date(dataAtual.setDate(dataAtual.getDate() + parseInt(dadosCartao.bandeira.bce_nrodiasrecebimentocredito)));\r\n recebimentoCartao.push(retorno);\r\n }\r\n if (dadosVal.formaPagamento.fpg_tipopagamento === tipoFormaPagamento.cartaoDebito) {\r\n dadosVal.parcelas.forEach(parcela => {\r\n parcela.pcl_numerodias = dadosCartao.bandeira.bce_nrodiasrecebimentodebito;\r\n let dataVencimento = new Date(dataAtual.setDate(dataAtual.getDate() + parseInt(parcela.pcl_numerodias)));\r\n parcela.dataPagamento = dataVencimento;\r\n parcela.prc_datavencimento = moment(dataVencimento);\r\n parcela.dataVencimento = moment(dataVencimento);\r\n });\r\n }\r\n\r\n dadosVal.recebimentoCartao = recebimentoCartao;\r\n setDadosVale(dadosVal);\r\n };\r\n\r\n function incluirCheque(dados) {\r\n let dadosVal = { ...dadosVale };\r\n dadosVal.formaPagamento[dadosVal.formaPagamento.length - 1].cheques = dados.cheques;\r\n dadosVal.formaPagamento[dadosVal.formaPagamento.length - 1].ctc_id = dados.contaCorrente;\r\n setDadosVale(dadosVal);\r\n };\r\n\r\n function onCloseModalContaCorrente() {\r\n let dados = { ...dadosVale };\r\n dados.formaPagamento[dados.formaPagamento.length - 1].ctc_id = contaCorrente.ctc_id;\r\n dados.contaCorrente = { ctc_id: contaCorrente.ctc_id, ctc_descricao: contaCorrente.ctc_descricao };\r\n setDadosVale(dados);\r\n setAbreModalContaCorrente(false);\r\n };\r\n\r\n function abrirModalCheque() {\r\n if (!!formulario.getFieldValue().numeroCheques && parseFloat(formulario.getFieldValue().numeroCheques) > 0) {\r\n if (!!formulario.getFieldValue().acf_valor && parseFloat(formulario.getFieldValue().acf_valor) > 0) {\r\n let dados = {\r\n numeroCheques: formulario.getFieldValue().numeroCheques,\r\n pfp_valor: formulario.getFieldValue().acf_valor\r\n };\r\n setDadosCheque(dados);\r\n setExibirModalCheque(true);\r\n } else {\r\n notification.warning({ description: 'Favor informar o valor do vale!', message: 'Aviso' })\r\n }\r\n } else {\r\n notification.warning({ description: 'Favor informar o número de cheques!', message: 'Aviso' })\r\n }\r\n };\r\n\r\n function abrirModalCartao(dados) {\r\n if (dados.formaPagamento.fpg_tipopagamento === tipoFormaPagamento.cartaoCredito) {\r\n popularParcelas(dados, () => {\r\n setOpenModalCartao(true);\r\n });\r\n } else if (dados.formaPagamento.fpg_tipopagamento === tipoFormaPagamento.cartaoDebito) {\r\n popularParcelasDebito(dados, () => {\r\n setOpenModalCartao(true);\r\n });\r\n }\r\n };\r\n\r\n function popularParcelas(dados, callback) {\r\n api.get(`CondicaoPagamento/ListarParcelamento?codigoCondicaoPagamento=${dados.cpg_id}`).then(\r\n res => {\r\n if (!!res.data && res.data.length > 0) {\r\n let resto = 0;\r\n let somaParcelas = 0;\r\n let listaParcelas = [];\r\n res.data.forEach((parcela) => {\r\n let dataAtual = new Date();\r\n let parc = {};\r\n let dataVencimento = new Date(dataAtual.setDate(dataAtual.getDate() + parcela.pcl_numerodias));\r\n parc.fpg_id = dados.fpg_id;\r\n parc.fpg_descricao = dados.fpg_descricao;\r\n parc.fpg_tipopagamento = dados.fpg_tipopagamento;\r\n parc.cpg_id = dados.cpg_id;\r\n parc.pcl_numerodias = parcela.pcl_numerodias;\r\n parc.pcl_percparcela = parcela.pcl_percparcela;\r\n parc.pcl_numeroparcela = parcela.pcl_numeroparcela;\r\n parc.prc_numeroparcela = parcela.pcl_numeroparcela;\r\n parc.dataPagamento = dataVencimento;\r\n parc.prc_datavencimento = moment(dataVencimento);\r\n parc.dataVencimento = moment(dataVencimento);\r\n let valorParcela = ((parcela.pcl_percparcela / 100) * parseFloat(formulario.getFieldValue().acf_valor)).toFixed(2);\r\n parc.valorParcela = parseFloat(valorParcela);\r\n parc.prc_valor = parseFloat(valorParcela);\r\n somaParcelas += parc.valorParcela;\r\n listaParcelas.push(parc);\r\n });\r\n somaParcelas = somaParcelas.toFixed(2);\r\n somaParcelas = parseFloat(somaParcelas);\r\n resto = parseFloat(formulario.getFieldValue().acf_valor) - somaParcelas;\r\n if (resto != 0) {\r\n let numeroUltimaParcela = res.data.length - 1;\r\n let valParcela = listaParcelas[numeroUltimaParcela].valorParcela;\r\n let totalParcela = (valParcela + resto).toFixed(2);\r\n totalParcela = parseFloat(totalParcela);\r\n listaParcelas[numeroUltimaParcela].prc_valor = totalParcela;\r\n listaParcelas[numeroUltimaParcela].valorParcela = totalParcela;\r\n }\r\n dados.parcelas = listaParcelas;\r\n if (dados.fpg_tipopagamento !== tipoFormaPagamento.creditoLoja) {\r\n let creditoDebito = dados.fpg_tipopagamento === tipoFormaPagamento.cartaoCredito;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ... { credito: creditoDebito } } } });\r\n }\r\n let dadosVal = { ...dadosVale };\r\n dadosVal.parcelas = listaParcelas;\r\n dadosVal.formaPagamento[dadosVal.formaPagamento.length - 1] = dados;\r\n setDadosVale(dadosVal);\r\n }\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function popularParcelasDebito(dados, callback) {\r\n let listaParcelas = [];\r\n let parc = {};\r\n parc.fpg_id = dados.formaPagamento.fpg_id;\r\n parc.fpg_descricao = dados.formaPagamento.fpg_descricao;\r\n parc.fpg_tipopagamento = dados.formaPagamento.fpg_tipopagamento;\r\n parc.cpg_id = dados.condicao.cpg_id;\r\n parc.pcl_percparcela = 100;\r\n parc.pcl_numeroparcela = 1;\r\n parc.prc_numeroparcela = 1;\r\n let valorParcela = ((parc.pcl_percparcela / 100) * parseFloat(formulario.getFieldValue().acf_valor)).toFixed(2);\r\n parc.valorParcela = parseFloat(valorParcela);\r\n parc.prc_valor = parseFloat(valorParcela);\r\n listaParcelas.push(parc);\r\n dados.parcelas = listaParcelas;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ... { credito: false } } } });\r\n setDadosVale(dados);\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function popularValor() {\r\n let dados = { ...dadosVale };\r\n dados.valor = formulario.getFieldValue().acf_valor;\r\n setDadosVale(dados);\r\n if (!!formulario.getFieldValue().numeroCheques && parseFloat(formulario.getFieldValue().numeroCheques) > 0 && ehCheque) {\r\n abrirModalCheque();\r\n }\r\n };\r\n\r\n function editarFormasPagamento() {\r\n setEditandoParcelas(true);\r\n dadosVale.parcelas.forEach((parc) => {\r\n formulario.setFieldsValue({ [`valorParcela${parc.pcl_numeroparcela}`]: parc.pfp_valor });\r\n });\r\n };\r\n\r\n function verificarRestricoesCredito(liberado, callback) {\r\n let parcelasAtraso = [];\r\n let dadosVal = { ...dadosVale };\r\n let limiteCreditoDisp = {};\r\n if (liberado) {\r\n callback();\r\n } else if (parseInt(dadosVal.formaPagamento[0].fpg_tipopagamento) === tipoFormaPagamento.creditoLoja) {\r\n if (!!!formulario.getFieldValue().pes_id) {\r\n notification.warning({ description: 'Favor informar o comprador do vale presente!', message: 'Aviso' });\r\n }\r\n api.get(`Parcela/ListarParcelasClientesEmAtrazo?IdPessoa=${formulario.getFieldValue().pes_id}&pageSize=500`).then(\r\n parcelasPessoa => {\r\n let dados = [...parcelasPessoa.data.items];\r\n api.get(`Cliente/LimiteCreditoDisponivel/${formulario.getFieldValue().pes_id}`).then(\r\n limiteCredito => {\r\n parcelasAtraso = parcelasPessoa.data.items;\r\n limiteCreditoDisp = limiteCredito.data;\r\n dados.forEach((parcelas) => { parcelas.limiteCredito = limiteCreditoDisp.valorTotal });\r\n setParcelasPessoasAtraso(dados);\r\n if (!!!parcelasAtraso) {\r\n notification.warning({ description: 'Não foi possível verificar as parcelas em atraso deste cliente. É recomendável que você fale com seu supervisor/gerente antes de prosseguir com a venda!', message: 'Aviso' });\r\n } else if (parcelasAtraso.length > 0) {\r\n setAbreModalParcPendentes(true);\r\n } else if (!!!limiteCreditoDisp) {\r\n notification.warning({ description: 'Não foi possível verificar o limite de crédito disponível para realizar a venda no crediário. É recomendável que você fale com seu supervisor/gerente antes de prosseguir com a venda!', message: 'Aviso' });\r\n } else if (limiteCreditoDisp.valorTotal !== 0 && limiteCreditoDisp.valorTotal < parseFloat(dadosVal.valor)) {\r\n Modal.confirm({\r\n title: `Aviso`,\r\n icon: ,\r\n content: `O limite de crédito ainda disponível para compras à prazo deste cliente é: ${parseFloat(limiteCreditoDisp.valorTotal).toFixed(2).toString()}. Para continuar com a venda à prazo você deve solicitar autorização da operação com seu supervisor/gerente.`,\r\n okText: 'Solicitar Autorização',\r\n cancelText: 'OK',\r\n onOk() {\r\n setAbreModalLiberacao(true);\r\n }\r\n });\r\n } else {\r\n callback();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n } else {\r\n callback();\r\n }\r\n };\r\n\r\n function inserirDadosCrediario(formaPgto) {\r\n popularParcelas(formaPgto, () => { });\r\n };\r\n\r\n function onChangeValorParc(numeroParc) {\r\n let valorJaUtilizado = 0;\r\n let valorRestante = 0;\r\n let valorRestanteTot = 0;\r\n let valorParcelas = 0;\r\n let valorTotal = parseFloat(formulario.getFieldValue().acf_valor);\r\n let dados = formulario.getFieldValue();\r\n let qtdTotParcelas = dadosVale.parcelas.length;\r\n if (numeroParc === qtdTotParcelas) {\r\n return;\r\n }\r\n for (let i = 1; i <= numeroParc; i++) {\r\n valorJaUtilizado += parseFloat(dados[`valorParcela${i}`]);\r\n }\r\n valorRestante = valorTotal - valorJaUtilizado;\r\n valorParcelas = parseFloat((valorRestante / (qtdTotParcelas - numeroParc)).toFixed(2));\r\n for (let i = qtdTotParcelas; i > numeroParc; i--) {\r\n valorRestanteTot += valorParcelas;\r\n formulario.setFieldsValue({ [`valorParcela${i}`]: valorParcelas });\r\n }\r\n let valorSobra = valorTotal - (valorJaUtilizado + valorRestanteTot);\r\n formulario.setFieldsValue({ [`valorParcela${qtdTotParcelas}`]: parseFloat((valorParcelas + valorSobra).toFixed(2)) });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { popularValor() }} />\r\n \r\n \r\n \r\n ({com.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ehCheque && \r\n \r\n { abrirModalCheque() }}>\r\n \r\n }\r\n {!ehCheque && !semCondicao && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!!dadosVale.parcelas && dadosVale.parcelas.length > 0 &&
(\r\n
\r\n \r\n {!!condicao && !!condicao.cpg_descricao ? formaPagamento.fpg_descricao + ' / ' + condicao.cpg_descricao : formaPagamento.fpg_descricao}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ valor }) => (\r\n
\r\n {FormatNumber(valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Total dos Pagamentos (R$): \r\n \r\n \r\n \r\n {FormatNumber(dadosVale.valor, true)}\r\n \r\n \r\n \r\n \r\n )\r\n }} dataSource={[dadosVale]}\r\n />}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { onCloseModalContaCorrente() }} fecharModalContaCorrente={() => { setAbreModalContaCorrente(false); }} contaCorrente={{ contaCorrente, setContaCorrente }} listaContaCorrente={{ listaContaCorrente, setListaContaCorrente }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoValePresente from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerValePresente(formParametrosValePresente, dataPesquisa) {\r\n\r\n const [formValePresente] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n\r\n if (manutencao.dados !== null) { formValePresente.setFieldsValue(manutencao.dados); }\r\n else {\r\n //formValePresente.resetFields();\r\n formValePresente.setFieldsValue({ icm_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n formValePresente.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { Row, Col, Form, Button, Collapse, Checkbox, Modal, notification } from 'antd';\r\nimport { ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, PrinterOutlined, DeleteOutlined, ExclamationCircleOutlined, CloseOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerValePresente from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { linkApi } from '../../services/auth';\r\nimport { FormatNumber, FormatDate } from \"../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from '../../actions';\r\nimport { BreadcrumbIncluirDados, ComboData, TabelaDados, Excluir, Imprimir, Data, FiltroSearch } from '../../components';\r\n\r\nexport default function ValePresente() {\r\n\r\n const [open, setOpen] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [parametrosValePresente] = Form.useForm();\r\n const [dataPesquisa, setDataPesquisa] = useState(new Date().toLocaleDateString());\r\n const [dataAtual] = useState(new Date());\r\n const [valesQuitados, setValesQuitados] = useState(false);\r\n\r\n useEffect(() => {\r\n aplicarFiltrosAvancados();\r\n }, [valesQuitados]);\r\n\r\n function aplicarFiltrosAvancados() {\r\n let filtros = '';\r\n filtros += `&SomenteAtivos=true`;\r\n filtros += `&dataInicial=${(!!!parametrosValePresente.getFieldValue().dataPesquisa ? moment(dataAtual).format(\"YYYY-MM-DD\") : !!parametrosValePresente.getFieldValue().DataInicial ? moment(parametrosValePresente.getFieldValue().DataInicial).format('YYYY-MM-DD') : moment(parametrosValePresente.getFieldValue().DataPesquisa).format('YYYY-MM-DD'))}`;\r\n filtros += `&dataFinal=${(!!!parametrosValePresente.getFieldValue().DataFinal ? moment(dataAtual).format(\"YYYY-MM-DD\") : moment(parametrosValePresente.getFieldValue().DataFinal).format('YYYY-MM-DD'))}`;\r\n filtros += `&filtro=&mostrarValeQuitado=${(!!parametrosValePresente.getFieldValue().valesQuitados ? parametrosValePresente.getFieldValue().valesQuitados : false)}`;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtros, ordem: 'acf_datalancamento' } });\r\n };\r\n\r\n const modalImprimir = (record) => {\r\n Modal.confirm({\r\n title: 'Imprimir',\r\n icon: ,\r\n content: `Confirmar impressão do vale ${record.acf_nomepresenteado} no valor de ${FormatNumber(record.acf_valor, true)}?`,\r\n okText: 'Imprimir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n imprimir(record);\r\n }\r\n });\r\n };\r\n\r\n function excluirVale(valePresente) {\r\n api.post(`AntecipacaoClienteFornecedor/ExcluirValePresente/${valePresente.acf_id}`).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n notification.success({ message: 'Vale presente excluida com Sucesso!' });\r\n }\r\n ).catch(\r\n (erro) => {\r\n notification.warning({ message: `Aviso!`, description: erro.response.data });\r\n //notification.warning({ message: `Aviso!`, description: `Não foi possivel excluir, deve conter referências com outros registros!` });\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: 'acf_datalancamento' } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&SomenteAtivos=true&dataFinal=${FormatDate(dataAtual.toLocaleDateString())}&dataInicial=${FormatDate(dataPesquisa)}&filtro=&mostrarValeQuitado=${parametrosValePresente.getFieldValue().valesQuitados}` } })\r\n }\r\n );\r\n };\r\n\r\n const modalExcluirVale = (ValePresente) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o Vale de R$ ${ValePresente.acf_valor} presenteado à ${ValePresente.acf_nomepresenteado} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirVale(ValePresente);\r\n }\r\n });\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const imprimir = ValePresente => {\r\n window.open(linkApi + 'AntecipacaoClienteFornecedor/GerarComprovante/' + ValePresente.acf_id, \"_blank\");\r\n };\r\n\r\n useEffect(() => {\r\n parametrosValePresente.setFieldsValue({ DataFinal: moment(dataAtual) });\r\n parametrosValePresente.setFieldsValue({ DataInicial: moment(parametrosValePresente.getFieldValue().dataPesquisa) });\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n parametrosValePresente.setFieldsValue({ DataFinal: moment(dataAtual) });\r\n parametrosValePresente.setFieldsValue({ DataInicial: moment(parametrosValePresente.getFieldValue().dataPesquisa) });\r\n aplicarFiltrosAvancados();\r\n }} />\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n { setValesQuitados(value) }}> Mostrar Vales Quitados? \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n
\r\n {acf_codigovalepresente}\r\n \r\n \r\n -\r\n \r\n \r\n {acf_nomepresenteado}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 40,\r\n render: ({ acf_datalancamento }) => (\r\n
\r\n {moment(acf_datalancamento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n width: 50,\r\n align: 'right',\r\n render: ({ acf_valor }) => (\r\n
\r\n {FormatNumber(acf_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Utilizado (R$)',\r\n width: 50,\r\n align: 'right',\r\n render: ({ valorUtilizado }) => (\r\n
\r\n {FormatNumber(valorUtilizado, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Saldo (R$)',\r\n width: 50,\r\n align: 'right',\r\n render: ({ saldoAntecipacao }) => (\r\n
\r\n {FormatNumber(saldoAntecipacao, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'right',\r\n fixed: 'right',\r\n width: 30,\r\n render: (dados) => (\r\n
\r\n \r\n
\r\n } onClick={() => { modalImprimir(dados) }} />\r\n \r\n \r\n modalExcluirVale(dados)} icon={} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from 'react';\r\nimport { Form, Row, Col, Input, notification, Tag, Alert } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { compararDatas } from '../../services/funcoes';\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { Data, FormGW, InputPreco, TabelaDados } from \"../../components\";\r\n\r\nexport default function ManutencaoMetas({ formulario, carregando, aoSalvar, editando }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n\r\n function salvarMeta(values) {\r\n if (!values.mtv_id) {\r\n if (manutencao.dados.length == 0) {\r\n notification.error({ message: 'Atenção', description: \"Não foi selecionado nenhum vendedor!\" });\r\n return;\r\n } values.listaVendedoresMetas = manutencao.dados;\r\n }\r\n carregando(true);\r\n if (!!values.mtv_id) {\r\n api.put(`MetaVenda/EditarAsync`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da meta foram editados com sucesso!\" });\r\n }\r\n ).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n api.post(`MetaVenda/IncluirAsync`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da meta foram incluídos com sucesso!\" });\r\n }\r\n ).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n };\r\n\r\n function listarMsgVendedorComMeta(valor) {\r\n if (valor > 0) {\r\n return \r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n function populaVendedoresSel(keys, linhas) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: linhas } });\r\n };\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (compararDatas(formulario.getFieldValue().mtv_datainicial, formulario.getFieldValue().mtv_datafinal, '<=')) {\r\n return Promise.resolve();\r\n } else {\r\n formulario.setFieldsValue({ mtv_datafinal: null });\r\n return Promise.reject(notification.warning({ description: 'Data final deve ser maior que a data inicial!' }));\r\n }\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport ManutencaoMetas from './manutencao';\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\nimport { FormatDate } from '../../ValueObjects';\r\nimport moment from 'moment';\r\n\r\nexport default function DrawerMetas() {\r\n\r\n const [formManutencao, setFormManutencao] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (!!manutencao.dados && !editando) {\r\n if (!!manutencao.dados.mtv_id)\r\n setEditando(true);\r\n\r\n formManutencao.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formManutencao.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formManutencao.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome', outrosFiltros: `&dataInicial=${FormatDate(moment(new Date()).toDate().toLocaleDateString())}` } });\r\n setEditando(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Tag, Progress, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport DrawerMetas from './drawer';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber, FormatDate } from '../../ValueObjects/';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { TabelaDados, Editar, Excluir, Data, BotaoAbrirChamado, BotaoIncluirDados, BreadcrumbPage, FiltroOrdenacao, FiltroSearch } from \"../../components\";\r\n\r\nexport default function Metas() {\r\n\r\n const [parametrosMetasVendas] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n\r\n useEffect(() => {\r\n parametrosMetasVendas.setFieldsValue({ dataInicial: moment(new Date()) });\r\n let data = !!parametrosMetasVendas.getFieldValue().dataInicial ? `&dataInicial=${FormatDate(parametrosMetasVendas.getFieldValue().dataInicial.toDate().toLocaleDateString())}` : null;\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome', outrosFiltros: data } });\r\n carregarDados();\r\n }, []);\r\n\r\n function excluirMeta(metaVenda) {\r\n api.delete(`MetaVenda/ExcluirAsync/${metaVenda.mtv_id}`).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n notification.warning({ message: 'Aviso!', description: 'Erro ao excluir a meta!' });\r\n }\r\n ).finally(\r\n () => {\r\n let data = !!parametrosMetasVendas.getFieldValue().dataInicial ? `&dataInicial=${FormatDate(parametrosMetasVendas.getFieldValue().dataInicial.toDate().toLocaleDateString())}` : null;\r\n dispatch({ type: listagemActions.CHANGE, data: { pageNumber: '1', ordem: '+pes_nome', outrosFiltros: data } });\r\n }\r\n );\r\n };\r\n\r\n const modalExcluirMeta = (metaVenda) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a meta de R$ ${metaVenda.mtv_valor} para o vendedor ${metaVenda.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirMeta(metaVenda);\r\n }\r\n });\r\n };\r\n\r\n function calculaPorcentagem(valor, vendido) {\r\n return (vendido * 100) / valor\r\n };\r\n\r\n function carregarDados() {\r\n if (!!parametrosMetasVendas.getFieldsValue().dataInicial) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataInicial=${FormatDate(parametrosMetasVendas.getFieldValue().dataInicial.toDate().toLocaleDateString())}` } });\r\n }\r\n };\r\n function showDrawerEdit(record) {\r\n record.mtv_datainicial = moment(record.mtv_datainicial);\r\n record.mtv_datafinal = moment(record.mtv_datafinal);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n { carregarDados(value) }} name=\"dataInicial\" label=\"Data Inicial\" />\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {ven_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Vendedor',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Metas',\r\n align: 'center',\r\n children: [\r\n {\r\n title: 'Meta (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ mtv_valor }) => (\r\n
\r\n {FormatNumber(mtv_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vendido (R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ mtv_totalvendido }) => (\r\n
\r\n {FormatNumber(mtv_totalvendido, true)}\r\n
\r\n ),\r\n },\r\n {\r\n render: ({ mtv_valor, mtv_totalvendido }) => (\r\n
\r\n `${parseFloat(percent.toFixed(2))}%`} />\r\n
\r\n ),\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Datas',\r\n align: 'center',\r\n children: [\r\n {\r\n title: 'Inicial',\r\n align: 'center',\r\n width: 120,\r\n render: ({ mtv_datainicial }) => (\r\n
\r\n {moment(mtv_datainicial).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Final',\r\n align: 'center',\r\n width: 120,\r\n render: ({ mtv_datafinal }) => (\r\n
\r\n {moment(mtv_datafinal).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n { showDrawerEdit(record) }} icon={} />\r\n \r\n \r\n { modalExcluirMeta(record) }} icon={} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Form, Row, Col, InputNumber, Tag, Alert, Radio, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormGW, TabelaDados } from \"../../components\";\r\n\r\nexport default function ManutencaoComissao({ formulario, carregando, aoSalvar, editar }) {\r\n\r\n const [formComissao] = Form.useForm();\r\n const [dados, setDados] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [vendedorSelec, setVendedorSelec] = useState([]);\r\n\r\n function possuiComissao(registro) {\r\n let retorno = false;\r\n if ((!!registro.ven_perccomissaoaprazo && registro.ven_perccomissaoaprazo > 0) ||\r\n (!!registro.ven_perccomissaoavista && registro.ven_perccomissaoavista > 0)) {\r\n retorno = true;\r\n }\r\n return retorno;\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+loc_id' } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `` } });\r\n formulario.setFieldsValue({ ven_formacalculocomissao: 1 });\r\n }, []);\r\n\r\n function popularVendedoresSelec(keys, linhas) {\r\n setVendedorSelec(linhas);\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+loc_id' } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `` } });\r\n };\r\n\r\n function salvarDados(dados) {\r\n if ((!!vendedorSelec && vendedorSelec.length > 0) || editar) {\r\n let dadosTemp = {};\r\n dadosTemp.ven_formacalculocomissao = !!dados.ven_formacalculocomissao ? dados.ven_formacalculocomissao : \"\";\r\n dadosTemp.ven_formulacomissao = !!dados.ven_formulacomissao ? dados.ven_formulacomissao : \"\";\r\n dadosTemp.ven_perccomissaoaprazo = dados.ven_perccomissaoaprazo;\r\n dadosTemp.ven_perccomissaoavista = dados.ven_perccomissaoavista;\r\n dadosTemp.vendedores = vendedorSelec;\r\n if (editar) {\r\n dadosTemp.vendedores.push({ ven_id: dados.ven_id });\r\n }\r\n carregando(true);\r\n api.put('Comissao/EditarComissao', dadosTemp).then(\r\n res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados de comissão foram salvos com sucesso!\" });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n notification.warning({ message: 'Vendedores não selecionados', description: \"Favor selecionar ao menos um vendedor!\" });\r\n }\r\n };\r\n\r\n function retornaFormula(valor) {\r\n let retorno = \"\";\r\n\r\n if (valor === 1) {\r\n retorno = \"Recebimento\";\r\n } else if (valor === 2) {\r\n retorno = \"Faturamento\";\r\n } else {\r\n retorno = \"\";\r\n }\r\n return retorno;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')} />\r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!editar && (\r\n \r\n {ven_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Vendedores',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Percentual %',\r\n align: 'center',\r\n colSpan: 3,\r\n children: [\r\n {\r\n title: 'à Vista',\r\n align: 'center',\r\n render: ({ ven_perccomissaoavista }) => (\r\n
\r\n {((ven_perccomissaoavista > 0) ? {ven_perccomissaoavista}% : '')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'à Prazo',\r\n align: 'center',\r\n render: ({ ven_perccomissaoaprazo }) => (\r\n
\r\n {((ven_perccomissaoaprazo > 0) ? {ven_perccomissaoaprazo} % : '')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Atenção',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n render: (record) => (\r\n
\r\n {!possuiComissao(record) && }\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: '',\r\n align: 'center',\r\n render: ({ ven_formacalculocomissao }) => (\r\n
\r\n {retornaFormula(ven_formacalculocomissao)}\r\n
\r\n ),\r\n },\r\n ]\r\n } parametrosSelecionarItens={\r\n {\r\n tipo: \"change\",\r\n funcao: popularVendedoresSelec\r\n }\r\n } />}\r\n
\r\n \r\n );\r\n\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoComissao from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerComissao({editar}) {\r\n\r\n const [formManutencao, setFormManutencao] = Form.useForm();\r\n const [ carregando, setCarregando ] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n if (manutencao.dados !== null) {\r\n formManutencao.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formManutencao.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formManutencao.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n destroyOnClose\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Form, Tag } from \"antd\";\r\nimport { EditOutlined } from \"@ant-design/icons\";\r\n\r\nimport DrawerComissao from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BotaoIncluirDados, BotaoAbrirChamado, BreadcrumbPage, FiltroSearch, TabelaDados, Editar } from \"../../components\";\r\n\r\nexport default function Comissao() {\r\n\r\n const [openManutencao, setOpenManutencao] = useState(false);\r\n const [registroManutencao, setRegistroManutencao] = useState({});\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [editar, setEditar] = useState(false);\r\n\r\n const showDrawer = () => {\r\n setEditar(false);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+loc_id' } });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `` } });\r\n }, []);\r\n\r\n function editarComissao(registro) {\r\n setEditar(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n showDrawer({})}>\r\n DEFINIR COMISSÃO\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {ven_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Comissões',\r\n render: ({ pes_nome}) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Comissão %',\r\n align: 'center',\r\n children: [\r\n {\r\n title: 'à Vista',\r\n align: 'center',\r\n width: '20%',\r\n render: ({ ven_perccomissaoavista }) => (\r\n
\r\n {ven_perccomissaoavista}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'à Prazo',\r\n align: 'center',\r\n width: '20%',\r\n render: ({ ven_perccomissaoaprazo }) => (\r\n
\r\n {ven_perccomissaoaprazo}%\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n editarComissao(record)} icon={} />\r\n \r\n
\r\n ),\r\n },\r\n ]\r\n } />\r\n
\r\n setOpenManutencao(false)} editar={editar} />\r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Form, Select, Button, Table, Collapse, Divider } from \"antd\";\r\nimport { SearchOutlined, ArrowUpOutlined, ArrowDownOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { ModalGerarComissao } from \"../../components/modals/\";\r\nimport { FormatDate, FormatNumber } from \"../../ValueObjects\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado, BotaoIncluirDados, Data } from \"../../components\";\r\nimport { isNotNullOrEmpty } from '../../services/funcoes';\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ConsultaComissao() {\r\n const [openModal, setOpenModal] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formConsultaComissao] = Form.useForm();\r\n const [dados, setDados] = useState([]);\r\n const [detalhesDados, setDetalhesDados] = useState([]);\r\n const [painelAtivo, setPainelAtivo] = useState([]);\r\n const [dadosModal, setDadosModal] = useState([]);\r\n\r\n\r\n function efetuarPesquisa() {\r\n let filtro = '';\r\n filtro += (!!formConsultaComissao.getFieldValue().dataFinal ? '&dataFinal=' + FormatDate(formConsultaComissao.getFieldValue().dataFinal.toDate().toLocaleDateString()) : '&dataFinal=')\r\n filtro += (!!formConsultaComissao.getFieldValue().dataInicial ? '&dataInicial=' + FormatDate(formConsultaComissao.getFieldValue().dataInicial.toDate().toLocaleDateString()) : '&dataInicial=');\r\n filtro += (!!formConsultaComissao.getFieldValue().ven_id ? '&vendedores=' + formConsultaComissao.getFieldValue().ven_id : '&vendedores=');\r\n api.get(`Comissao/ConsultarComissao?` + filtro).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDados(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (dados.length > 0) {\r\n let indice = 0;\r\n dados.forEach((vendedor) => {\r\n vendedor.comissaoVendedores.forEach((comissao) => {\r\n comissao.indice = indice;\r\n indice++;\r\n })\r\n })\r\n }\r\n }, [dados])\r\n\r\n function retornaDescTipo(tipo) {\r\n let retorno = '';\r\n if (!!tipo || tipo === 0) {\r\n switch (tipo) {\r\n case 0:\r\n retorno = 'Vendas à Vista';\r\n break;\r\n case 1:\r\n retorno = 'Recebimentos Parcelas';\r\n\r\n break;\r\n case 3:\r\n retorno = 'Devoluções';\r\n break;\r\n }\r\n }\r\n return retorno;\r\n };\r\n\r\n function buscarDadosDetalhados(indice, ven_id) {\r\n if (isNotNullOrEmpty(indice)) {\r\n let comissaoVendedores = dados.find(vendedor => { return vendedor.ven_id === ven_id })?.comissaoVendedores;\r\n let tipo = comissaoVendedores.find(com => { return com.indice === parseInt(indice) })?.fpg_tipoavistaaprazo;\r\n setPainelAtivo(indice);\r\n let filtro = '';\r\n filtro += '&IdVendedor=' + ven_id;\r\n filtro += (!!formConsultaComissao.getFieldValue().dataFinal ? '&dataFinal=' + FormatDate(formConsultaComissao.getFieldValue().dataFinal.toDate().toLocaleDateString()) : '&dataFinal=')\r\n filtro += (!!formConsultaComissao.getFieldValue().dataInicial ? '&dataInicial=' + FormatDate(formConsultaComissao.getFieldValue().dataInicial.toDate().toLocaleDateString()) : '&dataInicial=');\r\n switch (tipo) {\r\n case 1:\r\n api.get(`Comissao/ListaComissaoAprazo?` + filtro).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDetalhesDados(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n break;\r\n case 0:\r\n api.get(`Comissao/ListaComissaoAvista?` + filtro).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDetalhesDados(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n break;\r\n case 3:\r\n api.get(`Comissao/ListaComissaoDevolucao?` + filtro).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDetalhesDados(res.data.dados);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n } else {\r\n setPainelAtivo(\"\");\r\n }\r\n };\r\n\r\n function abrirModalComissao() {\r\n setOpenModal(true);\r\n let dadosTemp = [];\r\n dadosTemp.dataInicial = formConsultaComissao.getFieldValue().dataInicial;\r\n dadosTemp.dataFinal = formConsultaComissao.getFieldValue().dataFinal;\r\n setDadosModal(dadosTemp);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n abrirModalComissao({})}>\r\n GERAR COMISSÃO\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n ({ven.ven_id} - {ven.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {dados.length > 0 && \r\n
\r\n Vendedor\r\n \r\n \r\n Total de Vendas (R$)\r\n \r\n \r\n Percentual de Comissão\r\n \r\n \r\n Total de Comissão (R$)\r\n \r\n }\r\n {dados.map((vendedor) => (\r\n
\r\n \r\n
\r\n {vendedor.pes_nome}\r\n \r\n \r\n {FormatNumber(vendedor.valorTotalVenda, true)}\r\n \r\n \r\n \r\n {FormatNumber(vendedor.valorTotalComissao, true)}\r\n \r\n \r\n (buscarDadosDetalhados(indice, vendedor.ven_id))}\r\n expandIcon={({ isActive }) => isActive ? : }>\r\n {vendedor.comissaoVendedores.map((comissao) => (\r\n \r\n \r\n {retornaDescTipo(comissao.fpg_tipoavistaaprazo)}\r\n \r\n \r\n {FormatNumber(comissao.com_basecalculo, true)}\r\n \r\n \r\n {comissao.com_percentual} %\r\n \r\n \r\n {FormatNumber(comissao.com_valor, true)}\r\n \r\n \r\n } key={comissao.indice}>\r\n \r\n \r\n
(\r\n
\r\n \r\n {ser_serie || 'Não Informada'} / {ntf_numero || 'Não Informado'} / {prc_numeroparcela || 'Não Informada'}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Data',\r\n render: ({ ntf_dataemissao }) => (\r\n
\r\n \r\n {(moment(ntf_dataemissao).format('DD/MM/YYYY'))}\r\n \r\n
\r\n )\r\n }, {\r\n title: 'Base de Cálculo (R$)',\r\n align: 'right',\r\n render: ({ mcc_valor, valorTotalNota }) => (\r\n
\r\n \r\n {FormatNumber((!!mcc_valor ? mcc_valor : valorTotalNota), true)}\r\n \r\n
\r\n )\r\n }, {\r\n title: 'Valor Comissão (R$)',\r\n align: 'right',\r\n render: ({ valorComissao }) => (\r\n
\r\n \r\n {FormatNumber(valorComissao, true)}\r\n \r\n
\r\n )\r\n }\r\n ]} dataSource={detalhesDados} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n ))}\r\n \r\n setOpenModal(false)} dadosModal={dadosModal} />\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, notification, InputNumber, Table, Button, Modal } from \"antd\";\r\nimport { EditOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { Data, FormGW, InputPreco } from \"../../components\";\r\nimport { imprimirRelatorioJasper } from \"../../services/funcoes\";\r\nimport { ModalEditarVencimentoParcela } from '../../components/modals/';\r\nimport SelectPaginado from '../../components/selectPaginado';\r\n\r\nexport default function ManutencaoContaReceber({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const { Option } = Select;\r\n const [openIntevaloDias, setOpenIntevaloDias] = useState(false);\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [dadosContasReceber, setDadosContasReceber] = useState([]);\r\n const [openModalEditarParcela, setOpenModalEditarParcela] = useState(false);\r\n const [dadosLinhaEditar, setDadosLinhaEditar] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n\r\n const salvarManutencao = (values) => {\r\n values.parcelas = dadosContasReceber.parcelas;\r\n values.cpr_intervalodias = dadosContasReceber.cpr_intervalodias;\r\n values.cpr_numerodocumento = !!values.cpr_numerodocumento ? values.cpr_numerodocumento.toString() : \"\";\r\n \r\n if (!(!!values.valortotal) || values.valortotal === 0) {\r\n notification.warn({ message: 'Aviso!', description: 'Informe um valor total do documento!' });\r\n return false;\r\n }\r\n carregando(true);\r\n api.post('/contasPagarReceber/IncluirContasReceber', values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Conta a receber incluída com sucesso!\" });\r\n modalImprimir(res.data);\r\n }\r\n ).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }\r\n ).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } })\r\n aoSalvar();\r\n carregando(false);\r\n });\r\n };\r\n\r\n const modalImprimir = (record) => {\r\n Modal.confirm({\r\n title: 'Imprimir?',\r\n icon: ,\r\n content: 'Deseja imprimir a duplicata?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n imprimirRelatorioJasper(37, { IdContaPagarReceber: record.cpr_id });\r\n }\r\n });\r\n };\r\n\r\n function gerarParcelas() {\r\n let dados = [];\r\n let parcelas = {};\r\n dados.parcelas = [];\r\n let qtdDias = 0;\r\n let somaDasParcelas = 0;\r\n let dataVencimento = moment(formulario.getFieldValue().cpr_datavencimento);\r\n let valorTotal = parseFloat(formulario.getFieldValue().valortotal);\r\n let quantidadeParcelas = formulario.getFieldValue().cpr_numeroparcelas;\r\n let periodo = formulario.getFieldValue().cpr_periodicidade;\r\n let primeiroPagamento = moment(formulario.getFieldValue().cpr_dataprimeiropagamento);\r\n let divisao = 0;\r\n let intervaloDias = formulario.getFieldValue().cpr_intervalodias;\r\n if (!!valorTotal && !!quantidadeParcelas && ((quantidadeParcelas === 1 && !!dataVencimento) || (quantidadeParcelas > 1 && !!primeiroPagamento && !!periodo && ((periodo === 4 && !!intervaloDias) || periodo !== 4)))) {\r\n divisao = parseFloat((valorTotal / quantidadeParcelas).toFixed(2));\r\n if (quantidadeParcelas > 1) {\r\n if (!!periodo && !!primeiroPagamento) {\r\n if (periodo === 1) {\r\n qtdDias = 7;\r\n dados.cpr_intervalodias = qtdDias;\r\n } else if (periodo === 2) {\r\n qtdDias = 15;\r\n dados.cpr_intervalodias = qtdDias;\r\n } else if (periodo === 3) {\r\n qtdDias = 30;\r\n dados.cpr_intervalodias = qtdDias;\r\n } else {\r\n qtdDias = intervaloDias;\r\n dados.cpr_intervalodias = qtdDias;\r\n }\r\n }\r\n for (var i = 0; i < quantidadeParcelas; i++) {\r\n parcelas = {};\r\n parcelas.prc_numeroparcela = i + 1;\r\n parcelas.prc_valor = divisao;\r\n\r\n if (!!primeiroPagamento) {\r\n var outraData = new Date(primeiroPagamento);\r\n outraData.setDate((outraData.getDate()) + (i * qtdDias));\r\n parcelas.prc_datavencimento = moment(outraData);\r\n } else {\r\n parcelas.prc_datavencimento = dataVencimento;\r\n }\r\n dados.parcelas.push(parcelas);\r\n if (i !== 0)\r\n somaDasParcelas += parseFloat(divisao.toFixed(2));\r\n }\r\n if (somaDasParcelas > 0)\r\n dados.parcelas[0].prc_numeroparcela = 1;\r\n dados.parcelas[0].prc_valor = parseFloat((valorTotal - somaDasParcelas).toFixed(2));\r\n } else {\r\n parcelas = {};\r\n dados.cpr_periodicidade = null;\r\n dados.prc_periodicidade = null;\r\n dados.cpr_dataprimeiropagamento = dataVencimento;\r\n parcelas.prc_datavencimento = dataVencimento;\r\n parcelas.prc_numeroparcela = 1;\r\n parcelas.prc_valor = parseFloat(valorTotal).toFixed(2);\r\n dados.parcelas.push(parcelas);\r\n }\r\n setDadosContasReceber(dados);\r\n } else {\r\n setDadosContasReceber([]);\r\n }\r\n };\r\n\r\n function mostrarIntervaloDias(value, option) {\r\n gerarParcelas();\r\n if (option.value === 4) setOpenIntevaloDias(true);\r\n else setOpenIntevaloDias(false);\r\n };\r\n\r\n function editarDataVencimentoParcela(linha) {\r\n setDadosLinhaEditar(linha);\r\n setOpenModalEditarParcela(true);\r\n };\r\n\r\n function carregarListas() {\r\n api.get(`contaCorrente/listar?filtro=&ordem=+ctc_descricao`).then(res => {\r\n let key = 0;\r\n res.data.items.forEach((item) => { item.key = key++ }\r\n )\r\n setListaContaCorrente(res.data.items);\r\n })\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?Ativo=true&CodReceitaDespesa=2`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ cpr_datainclusao: moment(new Date()), cpr_periodicidade: 3, cpr_numeroparcelas: 1 });\r\n carregarListas();\r\n gerarParcelas();\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n ({pc.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaContaCorrente.map((item) => (\r\n {item.ctc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n gerarParcelas()} label=\"Valor Total do Documento (R$)\" name=\"valortotal\" rules={[{ required: true }]} />\r\n \r\n \r\n \r\n gerarParcelas()} step={1}\r\n min={1}\r\n placeholder=\"Informe o Número de Parcelas\"\r\n />\r\n \r\n \r\n prevValues.cpr_numeroparcelas !== currentValues.cpr_numeroparcelas}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('cpr_numeroparcelas') === 1) return (\r\n <>\r\n \r\n gerarParcelas()} label=\"Data Vencimento\" name=\"cpr_datavencimento\" rules={[{ required: true, message: 'Informe a data de vencimento' }]} />\r\n \r\n \r\n );\r\n if (getFieldValue('cpr_numeroparcelas') > 1) return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n gerarParcelas()} label=\"Data Primeiro Vencimento\" name=\"cpr_dataprimeiropagamento\" rules={[{ required: true, message: 'Informe a data do primeiro vencimento' }]} />\r\n \r\n {openIntevaloDias === true &&\r\n \r\n \r\n gerarParcelas()} placeholder=\"Informe o intervalo de dias\" />\r\n \r\n \r\n }\r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosContasReceber.parcelas && dadosContasReceber.parcelas.length > 1 &&\r\n
\r\n
(\r\n
\r\n {prc_numeroparcela}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Vencimento',\r\n align: 'center',\r\n width: 98,\r\n render: ({ prc_datavencimento }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n title: 'Ações',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Collapse, Tag, Popover, Modal, notification } from 'antd';\r\nimport { ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, EyeOutlined, DeleteOutlined, ExclamationCircleOutlined, CheckCircleOutlined, CloseOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerContaReceber from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber, FormatDate } from '../../ValueObjects';\r\nimport { ModalListarParcelas } from \"../../components/modals/\";\r\nimport { imprimirRelatorioJasper } from \"../../services/funcoes\";\r\nimport { listagemActions, manutencaoActions, drawerActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, TabelaDados, ComboData, Data, FiltroSearch } from \"../../components\";\r\n\r\nexport default function ContaReceber() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openPesquisaAvancada, setOpenPesquisaAvancada] = useState(false);\r\n const [dataPesquisa, setDataPesquisa] = useState(new Date().toLocaleDateString());\r\n const [dataAtual] = useState(new Date());\r\n const [parametrosContasReceber] = Form.useForm();\r\n const [listaStatusParcela, setListaStatusParcela] = useState([]);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [parcelas, setParcelas] = useState([]);\r\n\r\n const togglePesquisa = () => {\r\n setOpenPesquisaAvancada(!openPesquisaAvancada);\r\n };\r\n\r\n const modalNovaConta = (item) => {\r\n Modal.confirm({\r\n title: 'Conta estornada com sucesso!',\r\n icon: ,\r\n content: `Deseja criar uma nova conta com base nesta conta estornada?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.get(`ContasPagarReceber/Buscar/${item.cpr_id}`).then(\r\n res => {\r\n let dadosTemp = res.data;\r\n dadosTemp.valortotal = 0;\r\n dadosTemp.cpr_datainclusao = moment(res.data.cpr_datainclusao);\r\n dadosTemp.cpr_dataprimeiropagamento = moment(res.data.cpr_dataprimeiropagamento);\r\n res.data.parcelas.forEach(parcela => {\r\n dadosTemp.valortotal += parcela.prc_valor;\r\n });\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosTemp } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n });\r\n }\r\n });\r\n };\r\n\r\n async function modalEstornar(item) {\r\n if (!!item.ntf_id) {\r\n Modal.warning({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Parcela ligada a Nota Fiscal: ${item.ntf_id}, realizar a devolução ou o cancelamento!`,\r\n centered: true\r\n });\r\n return false;\r\n } else {\r\n Modal.confirm({\r\n title: 'Estornar Parcela',\r\n icon: ,\r\n content: `Deseja estornar a conta de ${item.pes_nome} no valor de ${FormatNumber(item.prc_valor, true)}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.post(`ContasPagarReceber/CancelarContaPagarReceber?ContaPagarReceberId=${item.cpr_id}`).then(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } })\r\n modalNovaConta(item);\r\n }).catch(\r\n err => {\r\n Modal.warning({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: !!err && !!err.response && !!err.response.data && !!err.response.data.Message ? err.response.data.Message : 'Erro ao efetuar o estorno da parcela!',\r\n centered: true\r\n });\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=StatusParcela`).then(res => {\r\n setListaStatusParcela(res.data);\r\n });\r\n parametrosContasReceber.setFieldsValue({ dataInicial: moment(new Date()), dataFinal: moment(new Date()) });\r\n }, []);\r\n\r\n useEffect(() => {\r\n carregarLista();\r\n }, [dataPesquisa]);\r\n\r\n function carregarLista() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&tipoMovimentacao=1&dataInicial=${FormatDate(dataPesquisa)}&dataFinal=${FormatDate(dataAtual.toLocaleDateString())}`, ordem: '+pes_nome' } });\r\n }\r\n\r\n function aplicarFiltrosAvancados() {\r\n let filtros = '&tipoMovimentacao=1';\r\n filtros += `&dataInicial=${(!!parametrosContasReceber.getFieldValue().dataInicial ? moment(parametrosContasReceber.getFieldValue().dataInicial).format('YYYY-MM-DD') : FormatDate(dataAtual))}`;\r\n filtros += `&dataFinal=${(parametrosContasReceber.getFieldValue().dataFinal === undefined ? FormatDate(dataAtual) : FormatDate(parametrosContasReceber.getFieldValue().dataFinal._d.toLocaleDateString()))}`;\r\n filtros += `&statusParcela=${(!!parametrosContasReceber.getFieldValue().statusParcela ? parametrosContasReceber.getFieldValue().statusParcela.join(',') : '0,1,2,3')}`;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtros } });\r\n };\r\n\r\n function retornarStatus(prc_status) {\r\n if (prc_status === 0) {\r\n return 'Pendente'\r\n } else if (prc_status === 1) {\r\n return 'Rcto. Parcial'\r\n } else if (prc_status === 2) {\r\n return 'Liquidada'\r\n } else if (prc_status === 3) {\r\n return 'Reparcelada'\r\n }\r\n };\r\n\r\n function buscarParcelas(dados) {\r\n if (!!dados.cpr_id) {\r\n api.get(`Parcela/ListarParcelas?IdContaPagarReceber=${dados.cpr_id}&Estornado=false&PagarOuReceber=1&PageSize=100&Order=+prc_numeroparcela`).then(res => {\r\n setParcelas(res.data.items);\r\n setOpenModal(true);\r\n }).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso!', description: 'Erro ao pesquisar as parcelas!' });\r\n }\r\n );\r\n }\r\n };\r\n\r\n function imprimirContaReceber(record) {\r\n imprimirRelatorioJasper(37, { IdContaPagarReceber: record.cpr_id });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n parametrosContasReceber.setFieldsValue({ dataFinal: moment(new Date()) });\r\n parametrosContasReceber.setFieldsValue({ dataInicial: moment(parametrosContasReceber.getFieldValue().dataPesquisa) });\r\n aplicarFiltrosAvancados();\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {openPesquisaAvancada ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n {\r\n if (prc_status === 0 || prc_status === 1 || prc_status === 3) {\r\n return 'Parcela Pendente'\r\n } else if (prc_status === 2) {\r\n return 'Parcela Liquidada'\r\n }\r\n }} placement=\"right\">\r\n \r\n {retornarStatus(prc_status)}\r\n \r\n \r\n ),\r\n }, {\r\n title: 'Nº Doc.',\r\n width: 80,\r\n align: 'center',\r\n render: ({ cpr_numerodocumento }) => (\r\n \r\n {cpr_numerodocumento}\r\n \r\n ),\r\n }, {\r\n title: 'Cliente',\r\n width: 330,\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n }, {\r\n title: 'Vencimento',\r\n width: 80,\r\n align: 'center',\r\n render: ({ prc_datavencimento }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Observação',\r\n width: 300,\r\n render: ({ cpr_observacao }) => (\r\n
\r\n {cpr_observacao}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n width: 200,\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: ({ prc_status }, record, dados) => (\r\n
\r\n \r\n
\r\n \r\n \r\n {(prc_status === 0 || prc_status === 1 || prc_status === 3) && \r\n Obs.: {cpr_descricao || ``}\r\n \r\n \r\n Nota N°: {ntf_numero || 'Não Informado'}\r\n \r\n \r\n Parcela N°: {prc_numeroparcela || 'Não Informado'}\r\n \r\n \r\n Saldo Devedor (R$): {FormatNumber(saldo, true)}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n setOpenModal(false)} parcelas={parcelas} setParcelas={setParcelas} />\r\n \r\n\r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Tag, InputNumber, Typography, Row, Col, Table, Form, Button, Modal, notification, Tooltip } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, FormOutlined, EditOutlined, CheckOutlined, DeleteOutlined, ReloadOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { Data, InputPreco } from \"../../components\";\r\nimport { diferencaDatas, info } from \"../../services/funcoes\";\r\n\r\nexport default function ReparcelamentoParcelas({ aoSalvar, carregando, listaParcelas, totalizadores, formulario, dadosCliente, parcelasGeradas }) {\r\n\r\n const [dadosReparcelamento, setDadosReparcelamento] = useState({});\r\n const [listaParcelasReparcelar, setListaParcelasReparcelar] = useState(listaParcelas);\r\n const [descontoItem, setDescontoItem] = useState(false);\r\n const [paginaParcAntigas, setPaginaParcAntigas] = useState(1);\r\n const [paginaParcGeradas, setPaginaParcGeradas] = useState(1);\r\n const [nroRegistrosParcAntigas, setNroRegistrosParcAntigas] = useState(10);\r\n const [nroRegistrosParcGeradas, setNroRegistrosParcGeradas] = useState(100);\r\n\r\n function reparcelar(values) {\r\n carregando(true);\r\n values = { ...dadosReparcelamento };\r\n values.parcelas = parcelasGeradas.parcelasGeradas;\r\n values.parcelasQuitadas = listaParcelasReparcelar;\r\n values.pes_id = dadosCliente.pes_id;\r\n\r\n api.post('/Reparcelamento/Incluir', values).then(res => {\r\n if (res.data) {\r\n Modal.success({\r\n content: 'Reparcelamento realizado com sucesso!',\r\n });\r\n }\r\n }, err => {\r\n info('Não foi possivel realizar o reparcelamento!');\r\n }).finally(() => {\r\n aoSalvar();\r\n carregando(false);\r\n });\r\n };\r\n\r\n function zerarJuros() {\r\n let listaTemp = [...listaParcelasReparcelar];\r\n let listaTotalizadores = { ...totalizadores.listaTotalizadoresReparcelar };\r\n listaTotalizadores.valorAReceber = 0;\r\n listaTemp.forEach(item => {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n item.valorJuros = 0;\r\n if (parseFloat(item.valorDesconto) > valorTotal) {\r\n item.valorDesconto = valorTotal;\r\n }\r\n item.valorAReceber = parseFloat((valorTotal - parseFloat(item.valorDesconto) + parseFloat(item.valorJuros) + parseFloat(item.valorAcrescimo)).toFixed(2));\r\n item.valorPago = item.valorAReceber;\r\n item.prc_valor = item.valorAReceber;\r\n listaTotalizadores.valorTotalJuros = 0;\r\n listaTotalizadores.valorAReceber += item.valorAReceber;\r\n });\r\n setListaParcelasReparcelar(listaTemp);\r\n totalizadores.setListaTotalizadoresReparcelar(listaTotalizadores);\r\n\r\n };\r\n function gerarParcelas() {\r\n if (!!formulario.getFieldValue().numeroParcelas) {\r\n let valorParcela = parseFloat((parseFloat(totalizadores.listaTotalizadoresReparcelar.valorAReceber) / formulario.getFieldValue().numeroParcelas).toFixed(2));\r\n let novaData = new Date();\r\n let dataInclusao = new Date();\r\n let somaDasParcelas = 0;\r\n let parcelarGeradas = [];\r\n let dados = {};\r\n dados.cpr_descricao = 'Reparcelamento de Parcelas';\r\n dados.ntf_id = null;\r\n dados.cpr_numerodocumento = '';\r\n dados.cpr_numeroparcelas = formulario.getFieldValue().numeroParcelas;\r\n dados.cpr_pagarreceber = 1;\r\n dados.cpr_observacao = '';\r\n dados.prc_periodicidade = null;\r\n dados.cpr_intervalodias = null;\r\n dados.cpr_datainclusao = dataInclusao;\r\n dados.cpr_contaestornadarelacionada = null;\r\n dados.pessoaAutorizadaId = null;\r\n dados.contaGerencial = { ctg_id: null };\r\n dados.contaCorrente = { ctc_id: null };\r\n setDadosReparcelamento(dados);\r\n\r\n for (let i = 0; i < formulario.getFieldValue().numeroParcelas; i++) {\r\n novaData.setDate(novaData.getDate() + 30);\r\n if (i !== 0) {\r\n somaDasParcelas += valorParcela;\r\n }\r\n let parcela = {\r\n cpr_datainclusao: dataInclusao,\r\n cpr_id: null,//não pode ser nulo...\r\n cpr_numerodocumento: null,\r\n cpr_numeroparcelas: formulario.getFieldValue().numeroParcelas,\r\n loc_id: null,\r\n mcc_datapagamento: null,\r\n ntf_id: null,\r\n prc_codigobarras: null,//criar no momento de incluir o registro no banco\r\n prc_datavencimento: novaData,\r\n prc_estornado: false,\r\n prc_id: null,\r\n prc_numeroparcela: i + 1,\r\n statusParcela: null,\r\n prc_valor: valorParcela,\r\n valorParcela: valorParcela,\r\n valorDesconto: 0,\r\n valorTotalJuros: 0,\r\n ctg_id: null,\r\n ctc_id: null,\r\n bol_id: null,\r\n fpg_id: null,\r\n cpg_id: null\r\n }\r\n novaData = new Date(parcela.prc_datavencimento);\r\n parcelarGeradas.push(parcela);\r\n }\r\n if (somaDasParcelas > 0) {\r\n parcelarGeradas[0].prc_valor = parseFloat((parseFloat(totalizadores.listaTotalizadoresReparcelar.valorAReceber) - somaDasParcelas).toFixed(2));\r\n parcelarGeradas[0].valorParcela = parcelarGeradas[0].prc_valor;\r\n }\r\n parcelasGeradas.setParcelasGeradas(parcelarGeradas);\r\n }\r\n };\r\n\r\n async function ajustaDatasParcelas(record, idx) {\r\n let listaTemp = [...parcelasGeradas.parcelasGeradas];\r\n if (listaTemp[idx - 1] != null) {\r\n if (diferencaDatas(listaTemp[idx - 1].prc_datavencimento, new Date(formulario.getFieldValue(`prc_datavencimento${idx + 1}`))) > 30) {\r\n notification.warning({ message: 'Aviso!', description: 'Data das parcelas maior do que um mês!' });\r\n formulario.setFieldsValue({ [`prc_datavencimento${idx + 1}`]: listaTemp[idx].prc_datavencimento });\r\n return false;\r\n }\r\n }\r\n listaTemp[idx].prc_datavencimento = moment(new Date(formulario.getFieldValue(`prc_datavencimento${idx + 1}`)));\r\n for (let i = idx; i < listaTemp.length; i++) {\r\n if (listaTemp[i + 1] != null) {\r\n let dataVencimento = moment(new Date(new Date(formulario.getFieldValue(`prc_datavencimento${i + 1}`)).setDate(new Date(formulario.getFieldValue(`prc_datavencimento${i + 1}`)).getDate() + 30)));\r\n formulario.setFieldsValue({ [`prc_datavencimento${i + 2}`]: dataVencimento });\r\n listaTemp[i + 1].prc_datavencimento = moment(new Date(new Date(listaTemp[i].prc_datavencimento).setDate(new Date(listaTemp[i].prc_datavencimento).getDate() + 30)));\r\n }\r\n }\r\n parcelasGeradas.setParcelasGeradas(listaTemp);\r\n }\r\n\r\n function onBlurValorParc(record) {\r\n let valorJaUtilizado = 0;\r\n let valorRestante = 0;\r\n let valorRestanteTot = 0;\r\n let valorParcelas = 0;\r\n let qtdTotParcelas = parcelasGeradas.parcelasGeradas.length;\r\n let valorTotal = parseFloat(totalizadores.listaTotalizadoresReparcelar.valorAReceber);\r\n let dados = formulario.getFieldsValue();\r\n for (let i = 1; i <= record; i++) {\r\n valorJaUtilizado += parseFloat(dados[`valorParcela${i}`]);\r\n }\r\n valorRestante = valorTotal - valorJaUtilizado;\r\n valorParcelas = parseFloat((valorRestante / (qtdTotParcelas - record)).toFixed(2));\r\n for (let i = qtdTotParcelas; i > record; i--) {\r\n valorRestanteTot += valorParcelas;\r\n formulario.setFieldsValue({ [`valorParcela${i}`]: valorParcelas });\r\n }\r\n let listaTemp = [...parcelasGeradas.parcelasGeradas];\r\n for (let a = 0; a < qtdTotParcelas; a++) {\r\n listaTemp[a].valorParcela = formulario.getFieldValue(`valorParcela${a + 1}`);\r\n }\r\n let valorSobra = valorTotal - (valorJaUtilizado + valorRestanteTot);\r\n formulario.setFieldsValue({ [`valorParcela${qtdTotParcelas}`]: parseFloat((valorParcelas + valorSobra).toFixed(2)) });\r\n recalcularTotal(listaTemp);\r\n };\r\n\r\n function recalcularTotal(listaTemp) {\r\n listaTemp.forEach((parc) => {\r\n parc.prc_valor = parseFloat(parc.valorParcela) + parseFloat(parc.valorTotalJuros);\r\n });\r\n parcelasGeradas.setParcelasGeradas(listaTemp);\r\n };\r\n\r\n function onBlurValorJuros(parcela) {\r\n let listaTemp = [...parcelasGeradas.parcelasGeradas];\r\n let linha = listaTemp.filter((parc) => { return parc.prc_numeroparcela === parcela })[0];\r\n linha.valorTotalJuros = parseFloat(formulario.getFieldValue(`valorJuros${parcela}`));\r\n recalcularTotal(listaTemp);\r\n };\r\n\r\n useEffect(() => {\r\n let listaTotalizadores = { ...totalizadores.listaTotalizadoresReparcelar };\r\n if (!!parcelasGeradas && !!parcelasGeradas.parcelasGeradas && parcelasGeradas.parcelasGeradas.length > 0) {\r\n let totalJuros = 0;\r\n let valorAReceber = 0;\r\n for (const parc of parcelasGeradas.parcelasGeradas) {\r\n totalJuros += parc.valorTotalJuros;\r\n valorAReceber += parseFloat(parc.valorParcela);\r\n formulario.setFieldsValue({\r\n [`valorParcela${parc.prc_numeroparcela}`]: parc.valorParcela,\r\n [`valorJuros${parc.prc_numeroparcela}`]: parc.valorTotalJuros,\r\n [`prc_datavencimento${parc.prc_numeroparcela}`]: parc.prc_datavencimento\r\n });\r\n }\r\n listaTotalizadores.valorTotalJuros = totalJuros;\r\n listaTotalizadores.valorAReceber = valorAReceber;\r\n totalizadores.setListaTotalizadoresReparcelar(listaTotalizadores);\r\n formulario.setFieldsValue({ valorJuros: parseFloat(totalJuros.toFixed(2)) });\r\n } else {\r\n listaTotalizadores.valorTotalJuros = 0;\r\n totalizadores.setListaTotalizadoresReparcelar(listaTotalizadores);\r\n }\r\n }, [parcelasGeradas.parcelasGeradas]);\r\n\r\n function rateioJuros() {\r\n let valorJuros = parseFloat(formulario.getFieldValue(\"valorJuros\")) > 0 ? parseFloat(formulario.getFieldValue(\"valorJuros\")) : 0;\r\n let valorTotal = parseFloat(totalizadores.listaTotalizadoresReparcelar.valorAReceber);\r\n\r\n let listaTemp = [...parcelasGeradas.parcelasGeradas];\r\n let sobraJuros = 0;\r\n\r\n for (const [idx, item] of listaTemp.entries()) {\r\n let percentualJuros = (item.valorParcela * 100) / valorTotal;\r\n let juros = (valorJuros * percentualJuros) / 100;\r\n sobraJuros += juros - parseFloat(juros.toFixed(2));\r\n item.valorTotalJuros = parseFloat((parseFloat(juros.toFixed(2)) + (idx === listaTemp.length - 1 ? sobraJuros : 0)).toFixed(2));\r\n formulario.setFieldsValue({ [`valorJuros${item.prc_numeroparcela}`]: item.valorTotalJuros });\r\n item.prc_valor = item.valorParcela + item.valorTotalJuros;\r\n }\r\n parcelasGeradas.setParcelasGeradas(listaTemp);\r\n };\r\n\r\n function calcularJuros() {\r\n let percentual = parseFloat(formulario.getFieldValue(\"percentualJuros\"));\r\n let valorTotal = parseFloat(totalizadores.listaTotalizadoresReparcelar.valorAReceber);\r\n let valorJuros = (valorTotal * percentual) / 100;\r\n formulario.setFieldsValue({ valorJuros: valorJuros });\r\n rateioJuros();\r\n };\r\n\r\n return (\r\n
\r\n \r\n Parcelas Vencidas\r\n \r\n
\r\n
(\r\n \r\n {prc_numeroparcela} - {cpr_numeroparcelas}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Vencimento',\r\n width: 130,\r\n align: 'center',\r\n render: ({ prc_datavencimento, vencida }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Parcela (R$)',\r\n align: 'right',\r\n render: ({ valorOriginal }) => (\r\n
\r\n \r\n {FormatNumber(!!valorOriginal ? valorOriginal : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Valor Recebido Parcela (R$)',\r\n align: 'right',\r\n render: ({ valorQuitado }) => (\r\n
\r\n \r\n {FormatNumber(!!valorQuitado ? valorQuitado : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: () => {\r\n return (\r\n
\r\n \r\n
Juros\r\n \r\n \r\n \r\n Cód. Barras: {prc_codigobarras || 'Não Informado'}\r\n \r\n \r\n Nº Documento: {cpr_numerodocumento || 'Não Informado'}\r\n \r\n \r\n ,\r\n expandIcon: ({ expanded, onExpand, record }) =>\r\n expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n )\r\n }} columnWidth={30}\r\n pagination={{\r\n current: paginaParcAntigas,\r\n pageSize: nroRegistrosParcAntigas,\r\n total: listaParcelasReparcelar.length,\r\n onChange: (pg) => setPaginaParcAntigas(pg),\r\n onShowSizeChange: (current, page) => setNroRegistrosParcAntigas(page)\r\n }} />\r\n \r\n
\r\n {parcelasGeradas.parcelasGeradas.length === 0 &&\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n prevValues.numeroParcelas !== currentValues.numeroParcelas}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('numeroParcelas') > 0) return (\r\n \r\n );\r\n else return (\r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n }\r\n {parcelasGeradas.parcelasGeradas.length > 0 &&\r\n
\r\n \r\n
\r\n \r\n Parcelas Geradas\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n \r\n {prc_numeroparcela} - {cpr_numeroparcelas}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Vencimento',\r\n width: 130,\r\n render: ({ prc_numeroparcela }, record, idx) => (\r\n
\r\n ajustaDatasParcelas(record, idx)} onPressEnter={() => ajustaDatasParcelas(record, idx)} />\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Juros (R$)',\r\n width: 130,\r\n align: 'right',\r\n render: ({ prc_numeroparcela }) => (\r\n
\r\n onBlurValorJuros(prc_numeroparcela)} />\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Parcela (R$)',\r\n align: 'right',\r\n width: 130,\r\n render: ({ prc_numeroparcela }) => (\r\n
\r\n onBlurValorParc(prc_numeroparcela)} disabled={prc_numeroparcela === parcelasGeradas.parcelasGeradas.length} />\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Total (R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ prc_valor }) => (\r\n
\r\n {{FormatNumber(prc_valor, true)}}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 10,\r\n render: ({ }) => (\r\n
\r\n
\r\n ),\r\n }\r\n ]\r\n } columnWidth={30}\r\n scroll={{ x: 900, y: 200 }}\r\n pagination={{\r\n current: paginaParcGeradas,\r\n pageSize: nroRegistrosParcGeradas,\r\n total: parcelasGeradas.parcelasGeradas.length,\r\n onChange: (pg) => setPaginaParcGeradas(pg),\r\n onShowSizeChange: (current, page) => setNroRegistrosParcGeradas(page)\r\n }} />\r\n \r\n \r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Juros\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!descontoItem &&\r\n \r\n { rateioJuros() }} />\r\n \r\n }\r\n {descontoItem &&\r\n \r\n { calcularJuros() }} />\r\n \r\n }\r\n \r\n \r\n {(!!totalizadores.listaTotalizadoresReparcelar.valorDesconto && totalizadores.listaTotalizadoresReparcelar.valorDesconto !== 0) &&\r\n \r\n \r\n \r\n Valor Descontos (R$):\r\n \r\n \r\n \r\n {FormatNumber(totalizadores.listaTotalizadoresReparcelar.valorDesconto, true)}\r\n \r\n \r\n \r\n \r\n }\r\n {(!!totalizadores.listaTotalizadoresReparcelar.valorAReceber && totalizadores.listaTotalizadoresReparcelar.valorAReceber !== 0) &&\r\n \r\n \r\n \r\n Valor à Receber (R$):\r\n \r\n \r\n {FormatNumber(parseFloat(totalizadores.listaTotalizadoresReparcelar.valorTotalJuros) + parseFloat(totalizadores.listaTotalizadoresReparcelar.valorAReceber), true)}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Drawer, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions } from '../../actions';\r\nimport ReparcelamentoParcelas from './reparcelamentoParcelas';\r\n\r\nexport default function DrawerReparcelamento({ listaParcelasReparcelar, totalizadores, dadosCliente, buscarParcelasPessoa }) {\r\n\r\n const [formReparcelamento] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [parcelasGeradas, setParcelasGeradas] = useState([]);\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formReparcelamento.resetFields();\r\n setParcelasGeradas([]);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n useEffect(() => {\r\n setParcelasGeradas([]);\r\n formReparcelamento.resetFields();\r\n }, [listaParcelasReparcelar]);\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n { fecharDrawer(); buscarParcelasPessoa(); }} listaParcelas={listaParcelasReparcelar} totalizadores={totalizadores} dadosCliente={dadosCliente} parcelasGeradas={{ parcelasGeradas, setParcelasGeradas }} />\r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, Menu, Checkbox, Form, Dropdown, Table } from \"antd\";\r\nimport { ArrowLeftOutlined, FileDoneOutlined, EyeOutlined, DollarCircleOutlined, MoreOutlined, DollarOutlined, SyncOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport DrawerReparcelamento from './drawerReparcelamento';\r\nimport DrawerDetalheNotaFiscal from './drawerDetalheNotaFiscal';\r\n\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport { compararDatas, diferencaDatas } from \"../../services/funcoes\";\r\nimport ModalDetalheNotaFiscal from \"../notaFiscal/modalDetalheNotaFiscal\";\r\n\r\nexport default function ListaParcelasCliente({ selectedRowKeys, setSelectedRowKeys, selecionados, setListaParcelasCliente, receberSelecionados, listaParcelasReceber, setDadosCliente, dadosCliente }) {\r\n const [{ manutencao, parametrosEmpresa }, dispatch] = useStateValue();\r\n const [listaParcelas, setListaParcelas] = useState([]);\r\n const [listaParcelasReparcelar, setListaParcelasReparcelar] = useState([]);\r\n const [listaTotalizadoresReparcelar, setListaTotalizadoresReparcelar] = useState({});\r\n const [openModalDetalhes, setOpenModalDetalhes] = useState(false);\r\n const [dadosModalNota, setDadosModalNota] = useState({});\r\n const [dadosDetalhesNota, setDadosDetalhesNota] = useState({});\r\n\r\n const rowSelection = {\r\n selectedRowKeys,\r\n onChange: (key, selectedRow) => {\r\n somarParcelas(key);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n buscarParcelasPessoa();\r\n }, []);\r\n\r\n function somarParcelas(keys) {\r\n let totais = [];\r\n totais.quantidade = keys.length;\r\n totais.valorOriginal = 0;\r\n totais.juros = 0;\r\n totais.total = 0;\r\n\r\n keys.forEach((key) => {\r\n let parcela = listaParcelas.filter((item) => { return item.key === key })[0];\r\n totais.valorOriginal += parcela.valorOriginal;\r\n totais.juros += parcela.valorJuros;\r\n totais.total += parcela.valorPagoRecebido;\r\n });\r\n selecionados.setTotalSelecionados(totais);\r\n setSelectedRowKeys(keys);\r\n };\r\n async function visualizarNota(dados) {\r\n let retorno = [];\r\n let vendedor = [];\r\n if (!!dados.ntf_id) {\r\n retorno = await api.get(`NotaFiscal/ListarNotaFiscal?IdNotaFiscal=${dados.ntf_id}`);\r\n if (retorno.status === 200) {\r\n retorno = retorno.data;\r\n if (!!retorno.ven_id) {\r\n vendedor = await api.get(`Vendedor/RetornaVendedor?idVendedor=${retorno.ven_id}`);\r\n if (vendedor.status === 200) {\r\n retorno.nomeVendedor = vendedor.data.pes_nome;\r\n }\r\n }\r\n retorno.itensNf.forEach((item) => {\r\n let totalItemSemDesconto = parseFloat((item.nfi_qtde * item.nfi_valorunitario)).toFixed(2);\r\n item.perc_desconto = parseFloat((item.nfi_valordesconto / (totalItemSemDesconto)) * 100).toFixed(2);\r\n let valorDesconto = item.nfi_valordesconto;\r\n item.valor_item_desconto = parseFloat(totalItemSemDesconto - valorDesconto).toFixed(2);\r\n });\r\n setDadosDetalhesNota(retorno);\r\n setOpenModalDetalhes(true);\r\n }\r\n }\r\n };\r\n\r\n function buscarParcelasPessoa() {\r\n if (!!dadosCliente.pes_id) {\r\n api.get(`Parcela/ListarParcelas?PagarOuReceber=1&IdPessoa=${dadosCliente.pes_id}&StatusParcela=0,1&Estornado=false&PageSize=1000&Order=prc_datavencimento`).then(res => {\r\n listarParcelas(res);\r\n })\r\n }\r\n };\r\n\r\n function selecionarVencidas(e) {\r\n let keys = [];\r\n if (e.target.checked) {\r\n listaParcelas.map((item) => {\r\n if (compararDatas(item.prc_datavencimento, null, '<')) {\r\n keys.push(item.key);\r\n }\r\n });\r\n }\r\n somarParcelas(keys);\r\n };\r\n\r\n function listarParcelas(dados) {\r\n let totalReceber = 0;\r\n let parcelasReceber = [];\r\n let keys = [];\r\n\r\n let items = dados.data.items;\r\n\r\n if (listaParcelasReceber.length > 0) {\r\n listaParcelasReceber.map((parcela) => {\r\n keys.push(parcela.key);\r\n });\r\n setSelectedRowKeys(keys);\r\n }\r\n items.forEach((item) => {\r\n let valorReceber;\r\n item.vencida = compararDatas(item.prc_datavencimento, new Date(), '<');\r\n item.numeroDiasVencida = 0;\r\n item.valorJuros = 0;\r\n item.key = item.cpr_id.toString().concat(item.prc_id);\r\n item.zerouJuros = false;\r\n if (item.vencida) {\r\n item.numeroDiasVencida = diferencaDatas(item.prc_datavencimento);\r\n if (!(!!parametrosEmpresa.par_diastoleranciacobrancajuro)) {\r\n valorReceber = parseFloat((item.prc_valor - item.valorQuitado).toFixed(2));\r\n item.valorJuros = parseFloat((((valorReceber * (parametrosEmpresa.par_percjuromesparcelavencida / 30)) / 100) * item.numeroDiasVencida).toFixed(2));\r\n } else if (item.numeroDiasVencida > parametrosEmpresa.par_diastoleranciacobrancajuro) {\r\n valorReceber = parseFloat((item.prc_valor - item.valorQuitado).toFixed(2));\r\n item.valorJuros = parseFloat((((valorReceber * (parametrosEmpresa.par_percjuromesparcelavencida / 30)) / 100) * item.numeroDiasVencida).toFixed(2));\r\n }\r\n }\r\n item.valorOriginal = parseFloat(item.prc_valor);\r\n item.prc_valor = parseFloat((item.prc_valor - item.valorQuitado + item.valorJuros).toFixed(2));\r\n item.valorPagoRecebido = parseFloat(item.prc_valor);\r\n item.valorDesconto = 0.00;\r\n item.valorAcrescimo = 0;\r\n item.valorAReceber = item.prc_valor;\r\n totalReceber += parseFloat((item.valorPagoRecebido).toFixed(2));\r\n parcelasReceber.push(item);\r\n });\r\n parcelasReceber.totalReceber = totalReceber;\r\n\r\n setListaParcelas(parcelasReceber);\r\n setListaParcelasReparcelar([]);\r\n setListaTotalizadoresReparcelar({});\r\n };\r\n\r\n function menuTable(dados) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function reparcelarSelecionados(listaParcelas, selectedRowKeys) {\r\n let listaTemp = [];\r\n\r\n listaParcelas.map(parcela => {\r\n if (selectedRowKeys.indexOf(parcela.key) >= 0) {\r\n listaTemp.push(parcela);\r\n }\r\n });\r\n\r\n let lista = {};\r\n lista.valorTotalJuros = 0;\r\n lista.valorDesconto = 0;\r\n lista.valorAReceber = 0;\r\n if (listaTemp.length > 0) {\r\n listaTemp.map(item => {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n lista.valorDesconto += parseFloat(item.valorDesconto);\r\n lista.valorAReceber += parseFloat(valorTotal - parseFloat(item.valorDesconto) + parseFloat(item.valorJuros));\r\n });\r\n }\r\n lista.valorDesconto = parseFloat(lista.valorDesconto.toFixed(2));\r\n lista.valorAReceber = parseFloat(lista.valorAReceber.toFixed(2));\r\n setListaTotalizadoresReparcelar(lista);\r\n\r\n setListaParcelasReparcelar(listaTemp);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerReparcelamento: true } })\r\n };\r\n\r\n async function showDrawerExtra(dados) {\r\n let retorno = [];\r\n let vendedor = [];\r\n if (!!dados.ntf_id) {\r\n retorno = await api.get(`NotaFiscal/ListarNotaFiscal?IdNotaFiscal=${dados.ntf_id}`);\r\n if (retorno.status === 200) {\r\n retorno = retorno.data;\r\n if (!!retorno.ven_id) {\r\n vendedor = await api.get(`Vendedor/RetornaVendedor?idVendedor=${retorno.ven_id}`);\r\n if (vendedor.status === 200) {\r\n retorno.nomeVendedor = vendedor.data.pes_nome;\r\n }\r\n }\r\n retorno.itensNf.forEach((item) => {\r\n let totalItemSemDesconto = parseFloat((item.nfi_qtde * item.nfi_valorunitario)).toFixed(2);\r\n item.perc_desconto = parseFloat((item.nfi_valordesconto / (totalItemSemDesconto)) * 100).toFixed(2);\r\n let valorDesconto = item.nfi_valordesconto;\r\n item.valor_item_desconto = parseFloat(totalItemSemDesconto - valorDesconto).toFixed(2);\r\n });\r\n\r\n setDadosModalNota(retorno);\r\n setOpenModalDetalhes(true);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Parcelas em Aberto do cliente
\r\n {dadosCliente.pes_nome}\r\n \r\n \r\n
\r\n Total à receber do cliente
\r\n {FormatNumber(!!listaParcelas.totalReceber ? listaParcelas.totalReceber : 0, true)}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecionar Vencidas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {cpr_numerodocumento || '--'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº Parcela',\r\n align: 'left',\r\n width: 75,\r\n render: ({ prc_numeroparcela }) => (\r\n
\r\n {prc_numeroparcela}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Emissão',\r\n render: ({ cpr_datainclusao }) => (\r\n
\r\n {moment(cpr_datainclusao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Vencimento',\r\n render: ({ prc_datavencimento, vencida }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Original (R$)',\r\n align: 'right',\r\n render: ({ valorOriginal }) => (\r\n
\r\n \r\n {FormatNumber(!!valorOriginal ? valorOriginal : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Juros (R$)',\r\n align: 'right',\r\n render: ({ valorJuros }) => (\r\n
\r\n 0 ? 'c-red' : ''}>\r\n {FormatNumber(!!valorJuros ? valorJuros : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Recebido (R$)',\r\n align: 'right',\r\n render: ({ valorQuitado }) => (\r\n
\r\n \r\n {FormatNumber(!!valorQuitado ? valorQuitado : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'A Receber (R$)',\r\n align: 'right',\r\n render: ({ valorPagoRecebido }) => (\r\n
\r\n \r\n {FormatNumber(!!valorPagoRecebido ? valorPagoRecebido : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n ),\r\n }\r\n ]\r\n } rowSelection={rowSelection} scroll={{ x: 900 }} />\r\n \r\n
\r\n \r\n
\r\n Quantidade: \r\n {!!selecionados.totalSelecionados.quantidade ? selecionados.totalSelecionados.quantidade : 0}\r\n \r\n \r\n Original (R$): \r\n {FormatNumber(!!selecionados.totalSelecionados.valorOriginal ? selecionados.totalSelecionados.valorOriginal : 0, true)}\r\n \r\n \r\n Juros (R$): \r\n {FormatNumber(!!selecionados.totalSelecionados.juros ? selecionados.totalSelecionados.juros : 0, true)}\r\n \r\n \r\n Total (R$): \r\n {FormatNumber(!!selecionados.totalSelecionados.total ? selecionados.totalSelecionados.total : 0, true)}\r\n \r\n \r\n \r\n { setOpenModalDetalhes(false) }} dadosModal={dadosDetalhesNota} />\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, Input, Form, Select, Tag, Modal, Table, notification, Tooltip } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, ArrowRightOutlined, DeleteOutlined, ExclamationCircleOutlined, EditOutlined, CloseOutlined, SaveOutlined, ArrowUpOutlined, ArrowDownOutlined, CheckCircleOutlined, ReloadOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { getCnpjEmpresa, getLocal } from \"../../services/auth\";\r\nimport ListaParcelasCliente from './listaParcelasCliente';\r\nimport { listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { FormatFone, MaskFormat, FormatNumber } from '../../ValueObjects/';\r\nimport { ModalEditarValoresParcela, ModalBandeiraCartao } from \"../../components/modals\";\r\nimport { compararDatas, diferencaDatas, info, isObjetoDiffVazio, novaAbaNavegador, removerCarcaterEspecial } from \"../../services/funcoes\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado, FiltroSearch, TabelaDados, InputPreco, Editar, Excluir, Data } from \"../../components\";\r\n\r\nimport { ModalCheque } from \"../../components/modals\";\r\nimport apiPayer from \"../../services/apiPayer\";\r\n\r\nexport default function RecebimentoParcela() {\r\n\r\n const [{ manutencao, parametrosEmpresa }, dispatch] = useStateValue();\r\n const [pesquisaCodBarras, setPesquisaCodBarras] = useState(true);\r\n const [listaParcelasCliente, setListaParcelasCliente] = useState(false);\r\n const [listaParcelasReceber, setListaParcelasReceber] = useState([]);\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [listaCondicaoPagamento, setListaCondicaoPagamento] = useState([]);\r\n const [openModalEditarParcela, setOpenModalEditarParcela] = useState(false);\r\n const [openModalCheque, setOpenModalCheque] = useState(false);\r\n const [openModalBandeiraCartao, setOpenModalBandeiraCartao] = useState(false);\r\n const [dadosLinhaEditar, setDadosLinhaEditar] = useState([]);\r\n const [listaTotalizadores, setListaTotalizadores] = useState({});\r\n const [dadosCliente, setDadosCliente] = useState({});\r\n const [totalSelecionados, setTotalSelecionados] = useState([]);\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [formulario] = Form.useForm();\r\n const [alterarValorPago, setAlterarValorPago] = useState(true);\r\n const [carregando, setCarregando] = useState(false);\r\n const [pagina, setPagina] = useState(1);\r\n const [nroRegistros, setNroRegistros] = useState(5);\r\n const [valoresPagamento, setValoresPagamento] = useState();\r\n\r\n const { Option } = Select;\r\n\r\n let modalInstance = null;\r\n\r\n const tipoFormaPagamento = {\r\n fpDinheiro: 1,\r\n fpCheque: 2,\r\n fpCartaoCredito: 3,\r\n fpCartaoDebito: 4,\r\n fpCreditoLoja: 5,\r\n fpValeAlimentacao: 10,\r\n fpValeRefeicao: 11,\r\n fpValePresente: 12,\r\n fpValeCombustivel: 13,\r\n fpOutro: 99,\r\n fpDeposito: 16,\r\n fpPix: 17,\r\n fpTransferencia: 18\r\n };\r\n\r\n const statusPagamentoIntegraPagto = {\r\n Aprovada: 1,\r\n Rejeitada: 2,\r\n Pendente: 3,\r\n Cancelada: 4,\r\n Abortada: 5,\r\n Finalizada: 6,\r\n NaoAutorizada: 7,\r\n }\r\n\r\n const tipoFormaPagExistente = [\r\n tipoFormaPagamento.fpDinheiro,\r\n tipoFormaPagamento.fpCheque,\r\n tipoFormaPagamento.fpCartaoCredito,\r\n tipoFormaPagamento.fpCartaoDebito,\r\n tipoFormaPagamento.fpDeposito,\r\n tipoFormaPagamento.fpPix,\r\n tipoFormaPagamento.fpTransferencia\r\n ];\r\n\r\n const tipoParcelamentoCartao = {\r\n estabelecimento: 0,\r\n comprador: 1\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n\r\n api.get(`contaCorrente/ListarAtivos?filtro=&Order=+ctc_descricao&PageSize=1000`).then(res => {\r\n setListaContaCorrente(res.data.items);\r\n });\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?CodReceitaDespesa=2&filtro=`).then(res => {\r\n if (res.status === 200) {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n }\r\n });\r\n api.get(`FormaPagamento/Listar?PageNumber=1&PageSize=1000`).then(res => {\r\n if (res.status === 200) {\r\n setListaFormaPagamento(res.data.items);\r\n }\r\n });\r\n if (!!!formulario.getFieldValue().dataPagamentoRecebimento) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date()) });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!!formulario.getFieldValue().dataPagamentoRecebimento) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date()) });\r\n }\r\n let lista = {};\r\n lista.valorTotal = 0;\r\n lista.valorTotalParcelas = 0;\r\n lista.valorTotalJuros = 0;\r\n lista.valorDesconto = 0;\r\n lista.valorAcrescimo = 0;\r\n lista.valorAReceber = 0;\r\n let valorRecebido = 0;\r\n if (listaParcelasReceber.length > 0) {\r\n listaParcelasReceber.map(item => {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n lista.valorTotalParcelas += parseFloat(item.valorOriginal);\r\n lista.valorTotalJuros += parseFloat(item.valorJuros);\r\n lista.valorDesconto += parseFloat(item.valorDesconto);\r\n lista.valorAcrescimo += parseFloat(item.valorAcrescimo > 0 ? item.valorAcrescimo : 0);\r\n lista.valorTotal += valorTotal;\r\n lista.valorAReceber += parseFloat((valorTotal - parseFloat(item.valorDesconto) + parseFloat(item.valorAcrescimo) + parseFloat(item.valorJuros)).toFixed(2));\r\n valorRecebido += parseFloat(item.valorAReceber);\r\n });\r\n if (alterarValorPago) {\r\n formulario.setFieldsValue({ valorPago: parseFloat(valorRecebido).toFixed(2) });\r\n }\r\n formulario.setFieldsValue({ valorAcrescimo: parseFloat(lista.valorAcrescimo.toFixed(2)), valorDesconto: parseFloat(lista.valorDesconto.toFixed(2)) });\r\n calcularSobra(lista);\r\n }\r\n }, [listaParcelasReceber]);\r\n\r\n function calcularSobra(lista = { ...listaTotalizadores }) {\r\n let sobra = parseFloat((parseFloat(!!formulario.getFieldValue(\"valorPago\") ? formulario.getFieldValue(\"valorPago\") : 0) - parseFloat(lista.valorAReceber)).toFixed(2));\r\n lista.restanteReceber = 0;\r\n lista.troco = 0;\r\n if (sobra < 0) {\r\n lista.restanteReceber = parseFloat((sobra * -1).toFixed(2));\r\n } else {\r\n lista.troco = parseFloat(sobra);\r\n }\r\n setAlterarValorPago(true);\r\n setListaTotalizadores(lista);\r\n };\r\n\r\n function calcularRecebimentoParcial() {\r\n let valorRecebido = parseFloat(formulario.getFieldValue(\"valorPago\"));\r\n\r\n if (valorRecebido > 0) {\r\n let listaTemp = [...listaParcelasReceber];\r\n for (const item of listaTemp) {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n if (item.vencida && !item.zerouJuros) {\r\n if (!(!!parametrosEmpresa.par_diastoleranciacobrancajuro)) {\r\n item.valorJuros = parseFloat((((valorTotal * (parametrosEmpresa.par_percjuromesparcelavencida / 30)) / 100) * item.numeroDiasVencida).toFixed(2));\r\n } else if (item.numeroDiasVencida > parametrosEmpresa.par_diastoleranciacobrancajuro) {\r\n item.valorJuros = parseFloat((((valorTotal * (parametrosEmpresa.par_percjuromesparcelavencida / 30)) / 100) * item.numeroDiasVencida).toFixed(2));\r\n }\r\n }\r\n let valorParcela = parseFloat((valorTotal - parseFloat(item.valorDesconto) + parseFloat(item.valorAcrescimo) + parseFloat(item.valorJuros)).toFixed(2));\r\n if (valorRecebido >= valorParcela) {\r\n item.valorAReceber = valorParcela;\r\n } else {\r\n let _perc = (parseFloat(valorRecebido).toFixed(2) / valorParcela);\r\n item.valorJuros = parseFloat(item.valorJuros * _perc).toFixed(2);\r\n item.valorAReceber = parseFloat(valorRecebido).toFixed(2);\r\n }\r\n item.prc_valor = item.valorAReceber;\r\n item.valorPagoRecebido = item.valorAReceber;\r\n valorRecebido -= item.valorAReceber;\r\n }\r\n setAlterarValorPago(false);\r\n\r\n setListaParcelasReceber(listaTemp);\r\n } else {\r\n calcularSobra();\r\n }\r\n };\r\n\r\n function rateioDesconto() {\r\n let valorDesconto = parseFloat(formulario.getFieldValue(\"valorDesconto\")) > 0 ? parseFloat(formulario.getFieldValue(\"valorDesconto\")) : 0;\r\n\r\n let valorTotalSemDesconto = (parseFloat(listaTotalizadores.valorTotal) + parseFloat(listaTotalizadores.valorTotalJuros) + parseFloat(listaTotalizadores.valorAcrescimo));\r\n if (valorDesconto > 0 && valorDesconto > valorTotalSemDesconto) {\r\n formulario.setFieldsValue({ valorDesconto: valorTotalSemDesconto });\r\n valorDesconto = valorTotalSemDesconto;\r\n }\r\n\r\n let listaTemp = [...listaParcelasReceber];\r\n let sobraDesconto = 0;\r\n\r\n for (const [idx, item] of listaTemp.entries()) {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n let valorParcela = parseFloat((valorTotal + parseFloat(item.valorAcrescimo) + parseFloat(item.valorJuros)).toFixed(2));\r\n\r\n //calcular percentual do total \r\n let percentualDesconto = (valorParcela * 100) / valorTotalSemDesconto;\r\n let desconto = (valorDesconto * percentualDesconto) / 100;\r\n sobraDesconto += desconto - parseFloat(desconto.toFixed(2));\r\n\r\n item.valorDesconto = parseFloat((parseFloat(desconto.toFixed(2)) + (idx === listaTemp.length - 1 ? sobraDesconto : 0)).toFixed(2));\r\n item.valorAReceber = valorParcela - item.valorDesconto;\r\n item.prc_valor = item.valorAReceber;\r\n item.valorPagoRecebido = item.valorAReceber;\r\n }\r\n setAlterarValorPago(true);\r\n\r\n setListaParcelasReceber(listaTemp);\r\n };\r\n\r\n function rateioAcrescimo() {\r\n let valorAcrescimo = parseFloat(formulario.getFieldValue(\"valorAcrescimo\")) > 0 ? parseFloat(formulario.getFieldValue(\"valorAcrescimo\")) : 0;\r\n\r\n let valorTotalSemAcrescimo = (parseFloat(listaTotalizadores.valorTotal) + parseFloat(listaTotalizadores.valorTotalJuros) - parseFloat(listaTotalizadores.valorDesconto));\r\n\r\n let listaTemp = [...listaParcelasReceber];\r\n let sobraAcrescimo = 0;\r\n\r\n for (const [idx, item] of listaTemp.entries()) {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n let valorParcela = parseFloat((valorTotal + parseFloat(item.valorJuros - parseFloat(item.valorDesconto))).toFixed(2));\r\n //calcular percentual do total \r\n let percentualAcrescimo = (valorParcela * 100) / valorTotalSemAcrescimo;\r\n let acrescimo = (valorAcrescimo * percentualAcrescimo) / 100;\r\n sobraAcrescimo += acrescimo - parseFloat(acrescimo.toFixed(2));\r\n\r\n item.valorAcrescimo = parseFloat((parseFloat(acrescimo.toFixed(2)) + (idx === listaTemp.length - 1 ? sobraAcrescimo : 0)).toFixed(2));\r\n item.valorAReceber = valorParcela + item.valorAcrescimo;\r\n item.prc_valor = item.valorAReceber;\r\n item.valorPagoRecebido = item.valorAReceber;\r\n }\r\n setAlterarValorPago(true);\r\n\r\n setListaParcelasReceber(listaTemp);\r\n };\r\n\r\n function buscarCondicaoPagamento(valor) {\r\n api.get(`CondicaoPagamento/Listar?codigoFormaPagamento=${valor}&PageNumber=1&PageSize=1000`).then(res => {\r\n setListaCondicaoPagamento(res.data.items);\r\n });\r\n formulario.setFieldsValue({ cpg_id: null });\r\n };\r\n\r\n function buscarCodBarras(valor) {\r\n api.get(`Parcela/ListarParcelas?CodigoBarras=${valor}&PagarOuReceber=1`).then(res => {\r\n if (res.data.items.length > 0) {\r\n let listaTemp = [...listaParcelasReceber];\r\n let retornoParcela = res.data.items[0];\r\n\r\n if (listaParcelasReceber.filter(item => { return item.prc_codigobarras === retornoParcela.prc_codigobarras }).length > 0) {\r\n info(\"A parcela já esta adicionada na lista para pagamento!\");\r\n } else {\r\n if (retornoParcela.prc_status !== 2 && !retornoParcela.prc_estornado) {\r\n if (!(!!dadosCliente.pes_id)) {\r\n // metodo ListaClienteCodigo parametro codigoCliente\r\n setDadosCliente({ pes_id: retornoParcela.pes_id, pes_nome: retornoParcela.pes_nome });\r\n }\r\n\r\n if (retornoParcela.pes_id === (!!dadosCliente.pes_id ? dadosCliente.pes_id : retornoParcela.pes_id)) {\r\n let valorReceber;\r\n retornoParcela.key = retornoParcela.cpr_id.toString().concat(retornoParcela.prc_id);\r\n retornoParcela.vencida = compararDatas(retornoParcela.prc_datavencimento, null, '<');\r\n retornoParcela.numeroDiasVencida = 0;\r\n retornoParcela.valorJuros = 0;\r\n retornoParcela.zerarJuros = false;\r\n if (retornoParcela.vencida) {\r\n retornoParcela.numeroDiasVencida = diferencaDatas(retornoParcela.prc_datavencimento);\r\n if (!(!!parametrosEmpresa.par_diastoleranciacobrancajuro)) {\r\n valorReceber = parseFloat((retornoParcela.prc_valor - retornoParcela.valorQuitado).toFixed(2));\r\n retornoParcela.valorJuros = parseFloat((((valorReceber * (parametrosEmpresa.par_percjuromesparcelavencida / 30)) / 100) * retornoParcela.numeroDiasVencida).toFixed(2));\r\n } else if (retornoParcela.numeroDiasVencida > parametrosEmpresa.par_diastoleranciacobrancajuro) {\r\n valorReceber = parseFloat((retornoParcela.prc_valor - retornoParcela.valorQuitado).toFixed(2));\r\n retornoParcela.valorJuros = parseFloat((((valorReceber * (parametrosEmpresa.par_percjuromesparcelavencida / 30)) / 100) * retornoParcela.numeroDiasVencida).toFixed(2));\r\n }\r\n }\r\n retornoParcela.valorOriginal = parseFloat(retornoParcela.prc_valor);\r\n retornoParcela.prc_valor = parseFloat((retornoParcela.prc_valor - retornoParcela.valorQuitado + retornoParcela.valorJuros).toFixed(2));\r\n retornoParcela.valorPagoRecebido = parseFloat(retornoParcela.prc_valor);\r\n retornoParcela.valorDesconto = 0.00;\r\n retornoParcela.valorAcrescimo = 0;\r\n retornoParcela.valorAReceber = retornoParcela.prc_valor;\r\n listaTemp.push(retornoParcela);\r\n setListaParcelasReceber(listaTemp);\r\n } else {\r\n info(`Parcela não é do cliente ${dadosCliente.pes_nome}!`);\r\n }\r\n } else {\r\n if (retornoParcela.prc_status === 2) {\r\n info(\"Esta Parcela já foi totalmente liquidada!\");\r\n }\r\n if (retornoParcela.prc_estornado === 1) {\r\n info(\"A Parcela foi estornada!\");\r\n }\r\n }\r\n }\r\n } else {\r\n info(\"Parcela não encontrada!\");\r\n }\r\n });\r\n };\r\n\r\n function excluirRegistro(dados) {\r\n Modal.confirm({\r\n title: `Remover da lista a parcela Nº ${dados.prc_numeroparcela} no valor de ${FormatNumber(!!dados.prc_valor ? dados.prc_valor : 0, true)}?`,\r\n icon: ,\r\n onOk() {\r\n let listaTemp = [...listaParcelasReceber];\r\n let index = listaTemp.findIndex(item => item.prc_codigobarras === dados.prc_codigobarras);\r\n listaTemp.splice(index, 1);\r\n if (listaTemp.length === 0) {\r\n setDadosCliente([]);\r\n }\r\n setListaParcelasReceber(listaTemp);\r\n }\r\n });\r\n };\r\n\r\n function salvarDadosModal(values) {\r\n let listaTemp = [...listaParcelasReceber];\r\n let linha = listaTemp.filter((item) => { return item.prc_codigobarras === dadosLinhaEditar.prc_codigobarras })[0];\r\n linha.valorJuros = parseFloat(values.valorJuros);\r\n linha.valorDesconto = parseFloat(values.valorDesconto);\r\n linha.valorAcrescimo = parseFloat(values.valorAcrescimo);\r\n linha.valorPagoRecebido = parseFloat(values.valorPago);\r\n linha.valorAReceber = parseFloat(values.valorPago);\r\n linha.valorParcela = linha.valorAReceber;\r\n setListaParcelasReceber(listaTemp);\r\n };\r\n\r\n function editarParcela(linha) {\r\n setDadosLinhaEditar(linha);\r\n setOpenModalEditarParcela(true);\r\n };\r\n\r\n function receberSelecionados(listaParcelas, selectedRowKeys) {\r\n let listaTemp = [...listaParcelasReceber];\r\n listaParcelas.map(parcela => {\r\n if (selectedRowKeys.indexOf(parcela.key) >= 0 && listaTemp.filter((item) => { return item.key === parcela.key }).length === 0) {\r\n listaTemp.push(parcela);\r\n }\r\n });\r\n setListaParcelasReceber(listaTemp);\r\n setPesquisaCodBarras(true);\r\n setListaParcelasCliente(false);\r\n };\r\n\r\n async function verificarFormaPagamento(values) {\r\n let formaPagamentoSelecionada = (await api.get(`FormaPagamento/Get?id=${values.fpg_id}`)).data;\r\n formaPagamentoSelecionada.pfp_valor = values.valorPago;\r\n formaPagamentoSelecionada.cpg_id = values.cpg_id;\r\n formaPagamentoSelecionada.ctc_id = values.ctc_id;\r\n formaPagamentoSelecionada.ctg_id = values.ctg_id;\r\n switch (formaPagamentoSelecionada.fpg_tipopagamento) {\r\n case tipoFormaPagamento.fpDinheiro:\r\n case tipoFormaPagamento.fpPix:\r\n case tipoFormaPagamento.fpTransferencia:\r\n case tipoFormaPagamento.fpDeposito:\r\n efetuarRecebimento(formaPagamentoSelecionada, null);\r\n break;\r\n case tipoFormaPagamento.fpCheque:\r\n setValoresPagamento(values);\r\n setOpenModalCheque(true);\r\n break;\r\n case tipoFormaPagamento.fpCartaoDebito:\r\n formaPagamentoSelecionada.credito = false;\r\n formaPagamentoSelecionada.parcelascartao = await calcularParcelasCartao(values);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: values } });\r\n if (formaPagamentoSelecionada.fpg_tipointegracao == null) {\r\n setOpenModalBandeiraCartao(true);\r\n } else {\r\n verificaIntegracaoPagamento(formaPagamentoSelecionada);\r\n }\r\n break;\r\n case tipoFormaPagamento.fpCartaoCredito:\r\n formaPagamentoSelecionada.credito = true;\r\n formaPagamentoSelecionada.parcelascartao = await calcularParcelasCartao(values);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: values } });\r\n if (formaPagamentoSelecionada.fpg_tipointegracao == null) {\r\n setOpenModalBandeiraCartao(true);\r\n } else {\r\n verificaIntegracaoPagamento(formaPagamentoSelecionada);\r\n }\r\n break;\r\n };\r\n };\r\n\r\n async function calcularParcelasCartao(values) {\r\n let definicaoParcelamento = [];\r\n let parcelas = [];\r\n let somaParcelas = 0;\r\n let resto = 0;\r\n let numeroUltimaParcela;\r\n if (!!values.cpg_id) {\r\n definicaoParcelamento = (await api.get(`CondicaoPagamento/listarParcelamento?codigoCondicaoPagamento=${values.cpg_id}`)).data;\r\n if (definicaoParcelamento.length > 0) {\r\n definicaoParcelamento.forEach((parcela, indice) => {\r\n let valorParcela = 0;\r\n valorParcela = ((parcela.pcl_percparcela / 100) * (values.valorPago)).toFixed(2);\r\n parcelas.push({\r\n prc_numeroparcela: indice + 1,\r\n prc_valor: parseFloat(valorParcela),\r\n });\r\n somaParcelas += parseFloat(valorParcela);\r\n });\r\n resto = (values.valorPago - parseFloat(somaParcelas)).toFixed(2);\r\n resto = parseFloat(resto);\r\n }\r\n\r\n if (resto !== 0) {\r\n numeroUltimaParcela = 0;\r\n if (definicaoParcelamento.length > 0) {\r\n numeroUltimaParcela = definicaoParcelamento.length - 1;\r\n } else {\r\n numeroUltimaParcela = 1;\r\n }\r\n let valParcela = parseFloat(parcelas[numeroUltimaParcela].prc_valor);\r\n let totalParcela = parseFloat((valParcela + resto).toFixed(2));\r\n parcelas[numeroUltimaParcela].prc_valor = parseFloat(totalParcela);\r\n }\r\n return parcelas;\r\n }\r\n };\r\n\r\n async function verificaIntegracaoPagamento(values) {\r\n let dadosIntegracaoPos = {};\r\n let cnpjEmpresa = getCnpjEmpresa();\r\n if (values.fpg_tipointegracao != null) {\r\n if (values.fpg_tipointegracao == 1) {// vero\r\n let tipopgto = 0;\r\n let metodopgto = 0;\r\n let submetodopgto = 0;\r\n switch (values.fpg_tipopagamento) {\r\n case tipoFormaPagamento.fpCartaoCredito:\r\n tipopgto = 2;\r\n metodopgto = 1;\r\n submetodopgto = 4;\r\n if (values.parcelascartao?.length == 1) {\r\n submetodopgto = 1\r\n }\r\n break;\r\n case tipoFormaPagamento.fpCartaoDebito:\r\n tipopgto = 3;\r\n metodopgto = 1;\r\n submetodopgto = 3;\r\n if (values.parcelascartao?.length == 1) {\r\n submetodopgto = 1\r\n }\r\n break;\r\n case tipoFormaPagamento.fpPix:\r\n tipopgto = 1;\r\n metodopgto = 3;\r\n submetodopgto = 1\r\n break;\r\n }\r\n dadosIntegracaoPos = {\r\n imp_cnpjlocal: cnpjEmpresa,\r\n imp_valor: values.pfp_valor,\r\n imp_tipopgto: tipopgto,\r\n imp_metodopgto: metodopgto,\r\n imp_submetodopgto: submetodopgto,\r\n imp_qtdeparcelas: values.parcelascartao?.length ?? 0,\r\n }\r\n if (!isObjetoDiffVazio(values.integrapgto)) {\r\n values.integrapgtook = false;\r\n values.integrapgto = await criaRegistroIntegraPagto(dadosIntegracaoPos);\r\n }\r\n values.imp_id = values.integrapgto.imp_id;\r\n } else if (values.fpg_tipointegracao == 2) {//payer\r\n let _paymentType = \"\";\r\n let _paymentMethodSubType = \"\";\r\n let _installments = \"\";\r\n let _paymentMethod = \"\";\r\n let _command = \"payment\"\r\n\r\n if (values.fpg_tipopagamento === tipoFormaPagamento.fpCartaoCredito) {\r\n _paymentMethod = \"Card\";\r\n _paymentType = \"Credit\";\r\n _paymentMethodSubType = \"Financed_no_Fees\";\r\n\r\n if (values.parcelascartao?.length == 1) {\r\n _paymentMethodSubType = \"Full_Payment\";\r\n } else {\r\n _installments = (values.parcelascartao?.length).toString();\r\n }\r\n }\r\n if (values.fpg_tipopagamento === tipoFormaPagamento.fpCartaoDebito) {\r\n if (values.parcelascartao?.length > 1) {\r\n _paymentMethodSubType = \"Financed_Debit\";\r\n _installments = (values.parcelascartao?.length).toString();\r\n } else {\r\n _paymentMethodSubType = \"Full_Payment\";\r\n }\r\n _paymentMethod = \"Card\";\r\n _paymentType = \"Debit\"\r\n }\r\n if (values.fpg_tipopagamento === tipoFormaPagamento.fpPix) {\r\n _paymentType = \"Cash\";\r\n _paymentMethod = \"Pix\";\r\n }\r\n\r\n dadosIntegracaoPos = {\r\n command: _command,\r\n value: parseFloat(values.pfp_valor),\r\n paymentMethod: _paymentMethod,\r\n paymentType: _paymentType,\r\n paymentMethodSubType: _paymentMethodSubType,\r\n installments: _installments\r\n };\r\n if (!isObjetoDiffVazio(values.integrapgto)) {\r\n values.integrapgtook = false;\r\n let retorno = await apiPayer.post('Client/Request', dadosIntegracaoPos);\r\n }\r\n }\r\n modalAguardandoPagamento(values);\r\n }\r\n }\r\n\r\n async function criaRegistroIntegraPagto(dadosIntegracaoPos) {\r\n let retorno;\r\n try {\r\n retorno = (await api.post(`IntegraPagto/Incluir`, dadosIntegracaoPos)).data;\r\n } catch (error) {\r\n notification.warning({ description: 'Erro ao mandar o pagamento para a máquina!', message: 'Aviso!' });\r\n console.log(error);\r\n return false;\r\n }\r\n return retorno;\r\n }\r\n\r\n function modalAguardandoPagamento(values) {\r\n if (modalInstance !== null) {\r\n modalInstance.destroy();\r\n }\r\n modalInstance = Modal.confirm({\r\n title: 'Aviso',\r\n content: 'Aguardando Pagamento!',\r\n okText: 'Pagamento Efetuado',\r\n cancelText: 'Cancelar Pagamento',\r\n\r\n onOk: () => {\r\n verificarPagamentoMaquina(values);\r\n },\r\n onCancel: () => {\r\n cancelarPagamentoMaquina(values);\r\n }\r\n });\r\n }\r\n\r\n async function verificarPagamentoMaquina(values) {\r\n if (values.fpg_tipopagamento === tipoFormaPagamento.fpCartaoCredito || values.fpg_tipopagamento === tipoFormaPagamento.fpCartaoDebito || values.fpg_tipopagamento === tipoFormaPagamento.fpPix) {\r\n if (values.fpg_tipointegracao != null && values?.integrapgtook == false && values.fpg_tipointegracao == 1) {\r\n let retorno = (await api.get(`IntegraPagto/Buscar/${values.integrapgto.imp_id}`)).data;\r\n if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.Pendente) {\r\n if (modalInstance !== null) {\r\n modalInstance.destroy();\r\n }\r\n modalAguardandoPagamento(values);\r\n } else if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.Aprovada) {\r\n values.integrapgtook = true;\r\n values.integrapgto = retorno;\r\n values.rcc_nsu = retorno.imp_autorizacao;\r\n } else if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.NaoAutorizada) {\r\n notification.warning({ description: 'Pagamento não Autorizado!', message: 'Aviso!' });\r\n } else if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.Cancelada) {\r\n notification.warning({ description: 'Pagamento Cancelado!', message: 'Aviso!' });\r\n }\r\n }\r\n if (values.fpg_tipointegracao != null && values.integrapgtook == false && values.fpg_tipointegracao == 2) {\r\n let retorno = (await apiPayer.get('Client/Response')).data;\r\n if (retorno.statusTransaction == \"PENDING\") {\r\n return;\r\n } else if (retorno.statusTransaction == \"APPROVED\") {\r\n let ret = (await api.post(`IntegraPagto/IncluirPayer`, retorno)).data;\r\n values.integrapgtook = true;\r\n values.integrapgto = ret;\r\n values.rcc_nsu = ret.authorizerId;\r\n values.imp_id = ret.imp_id;\r\n } else if (retorno.statusTransaction == \"UNAUTHORIZED\") {\r\n notification.warning({ description: 'Pagamento não Autorizado, verifique no Checkout Payer e tente novamente!', message: 'Aviso!' });\r\n return;\r\n //analisaFormaPagamento(docfiscal);\r\n } else if (retorno.statusTransaction == \"ABORTED\") {\r\n notification.warning({ description: 'Pagamento Cancelado!', message: 'Aviso!' });\r\n }\r\n }\r\n }\r\n await verificaTodosPagamentos(values);\r\n }\r\n\r\n async function cancelarPagamentoMaquina(values) {\r\n let retorno = (await api.put(`IntegraPagto/CancelarPagamento?Id=${values.integrapgto?.imp_id}`)).data;\r\n if (retorno) {\r\n values.integrapgtook = false;\r\n values.integrapgto = null;\r\n } else {\r\n notification.warning({ description: 'Erro ao efetuar o cancelamento!', message: 'Aviso!' });\r\n modalAguardandoPagamento(values)\r\n }\r\n }\r\n\r\n async function verificaTodosPagamentos(values) {\r\n let finalizarVenda = true;\r\n if (values.fpg_tipopagamento === tipoFormaPagamento.fpCartaoCredito || values.fpg_tipopagamento === tipoFormaPagamento.fpCartaoDebito || values.fpg_tipopagamento === tipoFormaPagamento.fpPix) {\r\n if (values.fpg_tipointegracao != null && values.integrapgtook == false) {\r\n finalizarVenda = false;\r\n }\r\n }\r\n if (finalizarVenda == true) {\r\n efetuarRecebimento(values);\r\n } else {\r\n modalAguardandoPagamento(values);\r\n }\r\n }\r\n\r\n const modalParcelaLiquidada = () => (\r\n Modal.confirm({\r\n title: 'Parcelas liquidadas com sucesso!',\r\n icon: ,\r\n content: 'Deseja continuar na tela com parcelas do cliente ou realizar uma nova pesquisa?',\r\n okText: 'Continuar',\r\n cancelText: 'Nova Pesquisa',\r\n centered: true,\r\n onOk() {\r\n setListaParcelasCliente(true);\r\n setPesquisaCodBarras(false);\r\n setListaParcelasReceber([]);\r\n setListaTotalizadores({});\r\n formulario.resetFields();\r\n },\r\n onCancel() {\r\n limparListas();\r\n }\r\n }));\r\n\r\n function efetuarRecebimento(values, dadosCartao) {\r\n var diasTolerancia = 30;\r\n if (formulario.getFieldValue().dataPagamentoRecebimento) {\r\n if (formulario.getFieldValue().dataPagamentoRecebimento > new Date()) {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() + 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n return;\r\n }\r\n } else {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() - 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n return;\r\n }\r\n }\r\n values.dataPagamentoRecebimento = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('YYYY-MM-DD HH:mm:ss');\r\n } else {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date()).format('YYYY-MM-DD HH:mm:ss') });\r\n }\r\n let dataAtual = new Date();\r\n var recebimento = valoresPagamento ??\r\n {\r\n ctg_id: values.ctg_id,\r\n ctc_id: values.ctc_id,\r\n fpg_id: values.fpg_id,\r\n cpg_id: values.cpg_id,\r\n };\r\n recebimento.dataPagamentoRecebimento = formulario.getFieldValue().dataPagamentoRecebimento;\r\n let valorTot = values.valorPago ?? values.pfp_valor;\r\n recebimento.valorTotalPagoRecebido = parseFloat(valorTot);\r\n recebimento.valorTotalParcelas = parseFloat(listaTotalizadores.valorTotalParcelas.toFixed(2));\r\n recebimento.valorTotalDesconto = parseFloat(listaTotalizadores.valorDesconto.toFixed(2));\r\n recebimento.valorTotalJuros = parseFloat(listaTotalizadores.valorTotalJuros.toFixed(2));\r\n recebimento.valorTotalAcrescimo = parseFloat(listaTotalizadores.valorAcrescimo.toFixed(2));\r\n recebimento.pes_id = dadosCliente.pes_id;\r\n recebimento.cpr_pagarreceber = 1;\r\n\r\n let pagamento = {\r\n fpg_id: recebimento.fpg_id,\r\n ctc_id: recebimento.ctc_id,\r\n cpg_id: recebimento.cpg_id,\r\n bce_id: dadosCartao == null ? null : dadosCartao.bandeira.bce_id,\r\n rcc_nsu: dadosCartao == null ? null : dadosCartao.nsu,\r\n valorFormaPgto: parseFloat(recebimento.valorTotalPagoRecebido),\r\n valorDescontoFormaPgto: parseFloat(formulario.getFieldValue('valorDesconto')),\r\n valorJurosFormaPgto: parseFloat(formulario.getFieldValue('valorAcrescimo')) + listaTotalizadores.valorTotalJuros,\r\n cheques: values.cheques,\r\n imp_id: values?.imp_id ?? null\r\n };\r\n recebimento.formaPgto = [pagamento];\r\n recebimento.parcelasQuitadas = [...listaParcelasReceber];\r\n\r\n if (!!dadosCartao) {\r\n let recebimentoCartao = [];\r\n let parcelas = values.parcelasCartao;\r\n if (values.credito) {\r\n if (dadosCartao.tipoParcelamento === tipoParcelamentoCartao.estabelecimento) {\r\n let numeroDias = parseInt(dadosCartao.bandeira.bce_nrodiasrecebimentocredito);\r\n parcelas.forEach((parcela) => {\r\n recebimentoCartao.push({\r\n tipoParcelamento: tipoParcelamentoCartao.estabelecimento,\r\n bce_id: dadosCartao.bandeira.bce_id,\r\n rcc_parcelarecebimento: parcela.prc_numeroparcela,\r\n rcc_valor: parcela.prc_valor,\r\n rcc_nsu: dadosCartao.nsu,\r\n rcc_previsaorecebimento: new Date(dataAtual.setDate(dataAtual.getDate() + numeroDias))\r\n });\r\n })\r\n } else {\r\n dataAtual = new Date();\r\n recebimentoCartao.push({\r\n tipoParcelamento: tipoParcelamentoCartao.comprador,\r\n bce_id: dadosCartao.bandeira.bce_id,\r\n rcc_parcelarecebimento: 1,\r\n rcc_valor: values.valorPago,\r\n rcc_nsu: dadosCartao.nsu,\r\n rcc_previsaorecebimento: new Date(dataAtual.setDate(dataAtual.getDate() + parseInt(dadosCartao.bandeira.bce_nrodiasrecebimentocredito)))\r\n });\r\n }\r\n } else {\r\n dataAtual = new Date();\r\n recebimentoCartao.push({\r\n tipoParcelamento: null,\r\n bce_id: dadosCartao.bandeira.bce_id,\r\n rcc_parcelarecebimento: 1,\r\n rcc_valor: values.valorPago,\r\n rcc_nsu: dadosCartao.nsu,\r\n rcc_previsaorecebimento: new Date(dataAtual.setDate(dataAtual.getDate() + parseInt(dadosCartao.bandeira.bce_nrodiasrecebimentodebito)))\r\n });\r\n }\r\n values.recebimentoCartao = recebimentoCartao;\r\n }\r\n setCarregando(true);\r\n api.post('/ContasPagarReceber/RecebimentoParcelas', recebimento).then(\r\n (res) => {\r\n if (res.data) {\r\n let dadosParcelas = [];\r\n recebimento.parcelasQuitadas.forEach((parcela) => {\r\n if (parcela.valorPagoRecebido > 0) {\r\n dadosParcelas.push({\r\n prc_id: parcela.prc_id,\r\n loc_id: getLocal(),\r\n pes_id: dadosCliente.pes_id,\r\n usu_nome: removerCarcaterEspecial(localStorage.getItem(\"@GestorWeb-NomeUsuario\")),\r\n fpg_id: values.fpg_id,\r\n cpg_id: values.cpg_id\r\n });\r\n }\r\n });\r\n let dadosReceber = btoa(JSON.stringify(dadosParcelas));\r\n novaAbaNavegador(`ContasPagarReceber/ImprimirComprovantePagamento?hashParcelas=${dadosReceber}`);\r\n modalParcelaLiquidada();\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n notification.warning({ message: `Aviso!`, description: `Não foi possivel liquidar parcelas!` });\r\n }\r\n ).finally(() => {\r\n setCarregando(false);\r\n });\r\n }\r\n\r\n function limparListas() {\r\n setListaParcelasCliente(true);\r\n setPesquisaCodBarras(false);\r\n setListaTotalizadores({});\r\n setSelectedRowKeys([]);\r\n setTotalSelecionados([]);\r\n setListaParcelasReceber([]);\r\n formulario.resetFields();\r\n\r\n };\r\n\r\n function zerarJuros() {\r\n let listaTemp = [...listaParcelasReceber];\r\n listaTemp.forEach(item => {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n item.valorJuros = 0;\r\n if (parseFloat(item.valorDesconto) > valorTotal) {\r\n item.valorDesconto = valorTotal;\r\n }\r\n item.zerarJuros = true;\r\n item.valorAReceber = parseFloat((valorTotal - parseFloat(item.valorDesconto) + parseFloat(item.valorJuros) + parseFloat(item.valorAcrescimo)).toFixed(2));\r\n item.valorPagoRecebido = item.valorAReceber;\r\n item.prc_valor = item.valorAReceber;\r\n });\r\n setListaParcelasReceber(listaTemp);\r\n };\r\n\r\n function validaIntervaloData() {\r\n var diasTolerancia = 30;\r\n if (formulario.getFieldValue().dataPagamentoRecebimento) {\r\n if (formulario.getFieldValue().dataPagamentoRecebimento > new Date()) {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() + 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n }\r\n } else {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() - 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {pesquisaCodBarras && !listaParcelasCliente &&\r\n
\r\n
\r\n \r\n
\r\n \r\n } placeholder=\"Informe o Código de Barras\" onSearch={valor => {\r\n if (!!valor) buscarCodBarras(valor)\r\n }} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!pesquisaCodBarras && !listaParcelasCliente &&\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n }, {\r\n title: 'CPF/CNPJ',\r\n width: 140,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, '', true) : MaskFormat(pej_cnpj, '', true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Telefone',\r\n width: 125,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n
\r\n ),\r\n },\r\n ]\r\n } />\r\n
\r\n \r\n }\r\n {pesquisaCodBarras && !listaParcelasCliente && listaParcelasReceber.length > 0 &&\r\n
\r\n
\r\n
(\r\n
\r\n {cpr_numerodocumento || '--'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº Parcela',\r\n align: 'left',\r\n width: 75,\r\n render: ({ prc_numeroparcela }) => (\r\n
\r\n {prc_numeroparcela}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Emissão',\r\n render: ({ cpr_datainclusao }) => (\r\n
\r\n {moment(cpr_datainclusao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Vencimento',\r\n render: ({ prc_datavencimento, vencida }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor Original (R$)',\r\n align: 'right',\r\n render: ({ valorOriginal }) => (\r\n
\r\n \r\n {FormatNumber(!!valorOriginal ? valorOriginal : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: () => {\r\n return (\r\n
\r\n \r\n
Juros\r\n \r\n \r\n \r\n editarParcela(record)} icon={} />\r\n \r\n \r\n { excluirRegistro(record) }} icon={} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } expandable={{\r\n expandedRowRender: ({ prc_codigobarras, cpr_numerodocumento }) =>\r\n
\r\n \r\n
\r\n Cód. Barras: {prc_codigobarras || 'Não Informado'}\r\n \r\n \r\n Nº Documento: {cpr_numerodocumento || 'Não Informado'}\r\n \r\n \r\n ,\r\n expandIcon: ({ expanded, onExpand, record }) =>\r\n expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n )\r\n }} scroll={{ x: 900 }}\r\n columnWidth={30}\r\n pagination={{\r\n current: pagina,\r\n pageSize: nroRegistros,\r\n total: listaParcelasReceber.length,\r\n onChange: (pg) => setPagina(pg),\r\n onShowSizeChange: (current, page) => setNroRegistros(page)\r\n }} />\r\n \r\n
\r\n \r\n
\r\n validaIntervaloData()} />\r\n \r\n \r\n \r\n {\r\n return { label: item.cpg_descricao, value: item.cpg_id, key: item.cpg_id }\r\n })} filterOption={(input, option) => option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0} placeholder=\"Selecione a Condição de Pagamento...\" />\r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n {listaContaGerencialAgrupador.map(item => (\r\n \r\n {listaContaGerencial.filter((conta) => { return conta.ctc_id === item.ctc_id }).map(conta => (\r\n {conta.ctg_descricao}\r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n calcularRecebimentoParcial()} onPressEnter={() => calcularRecebimentoParcial()} name={'valorPago'} label={'Valor Recebido (R$)'} />\r\n \r\n \r\n \r\n {(!!listaTotalizadores.valorTotalParcelas && listaTotalizadores.valorTotalParcelas !== 0) &&\r\n \r\n \r\n \r\n Valor Parcelas (R$):\r\n \r\n \r\n {FormatNumber(listaTotalizadores.valorTotalParcelas, true)}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n Acréscimos (R$):\r\n \r\n \r\n { rateioAcrescimo() }} />\r\n \r\n \r\n \r\n \r\n Descontos (R$):\r\n \r\n \r\n { rateioDesconto() }} />\r\n \r\n \r\n \r\n {(!!listaTotalizadores.valorTotalJuros && listaTotalizadores.valorTotalJuros !== 0) &&\r\n \r\n \r\n \r\n Valor Juros (R$):\r\n \r\n \r\n {FormatNumber(listaTotalizadores.valorTotalJuros, true)}\r\n \r\n \r\n \r\n }\r\n {(!!listaTotalizadores.valorAReceber && listaTotalizadores.valorAReceber !== 0) &&\r\n \r\n \r\n \r\n Valor à Receber (R$):\r\n \r\n \r\n {FormatNumber(listaTotalizadores.valorAReceber, true)}\r\n \r\n \r\n \r\n }\r\n {(!!listaTotalizadores.troco && listaTotalizadores.troco !== 0) &&\r\n \r\n \r\n \r\n Troco (R$):\r\n \r\n \r\n {FormatNumber(listaTotalizadores.troco, true)}\r\n \r\n \r\n \r\n }\r\n {(!!listaTotalizadores.restanteReceber && listaTotalizadores.restanteReceber !== 0) &&\r\n \r\n \r\n \r\n Restante a Receber (R$):\r\n \r\n \r\n {FormatNumber(listaTotalizadores.restanteReceber, true)}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {listaParcelasCliente &&\r\n \r\n }\r\n\r\n setOpenModalEditarParcela(false)} dadosLinha={dadosLinhaEditar} salvarDadosModal={salvarDadosModal} />\r\n setOpenModalBandeiraCartao(false)} retornoModal={efetuarRecebimento} />\r\n setOpenModalCheque(false)} dadosCheque={{ numeroCheques: 1, pfp_valor: listaTotalizadores.valorAReceber, cli_id: dadosCliente.cli_id }} funcaoSalvar={efetuarRecebimento} />\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, notification, InputNumber, Table, Button } from \"antd\";\r\nimport { EditOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { Data, FormGW, InputPreco } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalEditarVencimentoParcela } from '../../components/modals/';\r\nimport SelectPaginado from '../../components/selectPaginado';\r\n\r\nexport default function ManutencaoContaPagar({ formulario, carregando, aoSalvar }) {\r\n\r\n const { Option } = Select;\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dadosContasPagar, setDadosContasPagar] = useState([]);\r\n const [openModalEditarParcela, setOpenModalEditarParcela] = useState(false);\r\n const [dadosLinhaEditar, setDadosLinhaEditar] = useState([]);\r\n const [openIntevaloDias, setOpenIntevaloDias] = useState(false);\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n\r\n const salvarManutencao = (values) => {\r\n if (parseFloat(values.valortotal) <= 0) {\r\n notification.error({ message: 'Atenção!', description: 'Valor Total do Documento precisa ser maior que 0!' });\r\n return;\r\n }\r\n carregando(true);\r\n values.parcelas = dadosContasPagar.parcelas;\r\n values.cpr_numerodocumento = !!values.cpr_numerodocumento ? values.cpr_numerodocumento.toString() : \"\";\r\n\r\n api.post('/contasPagarReceber/IncluirContasPagar', values).then(res => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Conta a pagar incluída com sucesso!\" });\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } })\r\n aoSalvar();\r\n carregando(false);\r\n });\r\n };\r\n\r\n function gerarParcelas() {\r\n let dados = [];\r\n let parcelas = {};\r\n dados.parcelas = [];\r\n let qtdDias = 0;\r\n let somaDasParcelas = 0;\r\n let dataVencimento = formulario.getFieldValue().cpr_datavencimento;\r\n let valorTotal = parseFloat(formulario.getFieldValue().valortotal);\r\n let quantidadeParcelas = formulario.getFieldValue().cpr_numeroparcelas;\r\n let periodo = formulario.getFieldValue().cpr_periodicidade;\r\n let primeiroPagamento = formulario.getFieldValue().cpr_dataprimeiropagamento;\r\n let divisao = 0;\r\n let intervaloDias = formulario.getFieldValue().cpr_intervalodias;\r\n if (!!valorTotal && !!quantidadeParcelas && ((quantidadeParcelas === 1 && !!dataVencimento) || (quantidadeParcelas > 1 && !!primeiroPagamento && !!periodo && ((periodo === 4 && !!intervaloDias) || periodo !== 4)))) {\r\n divisao = parseFloat((valorTotal / quantidadeParcelas).toFixed(2));\r\n if (quantidadeParcelas > 1) {\r\n if (!!periodo && !!primeiroPagamento) {\r\n if (periodo === 1) {\r\n qtdDias = 7;\r\n dados.cpr_intervalodias = qtdDias;\r\n } else if (periodo === 2) {\r\n qtdDias = 15;\r\n dados.cpr_intervalodias = qtdDias;\r\n } else if (periodo === 3) {\r\n qtdDias = 30;\r\n dados.cpr_intervalodias = qtdDias;\r\n } else {\r\n qtdDias = intervaloDias;\r\n dados.cpr_intervalodias = qtdDias;\r\n }\r\n }\r\n for (var i = 0; i < quantidadeParcelas; i++) {\r\n parcelas = {};\r\n parcelas.prc_numeroparcela = i + 1;\r\n parcelas.prc_valor = divisao;\r\n\r\n if (!!primeiroPagamento) {\r\n var outraData = new Date(primeiroPagamento);\r\n outraData.setDate((outraData.getDate()) + (i * qtdDias));\r\n parcelas.prc_datavencimento = outraData;\r\n } else {\r\n parcelas.prc_datavencimento = dataVencimento;\r\n }\r\n dados.parcelas.push(parcelas);\r\n if (i !== 0)\r\n somaDasParcelas += parseFloat(divisao.toFixed(2));\r\n }\r\n if (somaDasParcelas > 0)\r\n dados.parcelas[0].prc_numeroparcela = 1;\r\n dados.parcelas[0].prc_valor = parseFloat((valorTotal - somaDasParcelas).toFixed(2));\r\n } else {\r\n parcelas = {};\r\n dados.cpr_periodicidade = null;\r\n dados.prc_periodicidade = null;\r\n dados.cpr_dataprimeiropagamento = dataVencimento;\r\n parcelas.prc_datavencimento = dataVencimento;\r\n parcelas.prc_numeroparcela = 1;\r\n parcelas.prc_valor = parseFloat(valorTotal.toFixed(2));\r\n dados.parcelas.push(parcelas);\r\n }\r\n setDadosContasPagar(dados);\r\n } else {\r\n setDadosContasPagar([]);\r\n }\r\n };\r\n\r\n function mostrarIntervaloDias(value, option) {\r\n gerarParcelas();\r\n if (option.value === '3') setOpenIntevaloDias(true);\r\n else setOpenIntevaloDias(false);\r\n };\r\n\r\n function editarDataVencimentoParcela(linha) {\r\n setDadosLinhaEditar(linha);\r\n setOpenModalEditarParcela(true);\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`contaCorrente/listar?filtro=&ordem=+ctc_descricao`).then(res => {\r\n setListaContaCorrente(res.data.items);\r\n })\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?Ativo=true&CodReceitaDespesa=1`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n })\r\n formulario.setFieldsValue({ cpr_datainclusao: moment(new Date()), cpr_periodicidade: 3, cpr_numeroparcelas: 1 });\r\n gerarParcelas();\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n ({pc.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaContaGerencialAgrupador.map(item => (\r\n \r\n {listaContaGerencial.filter((conta) => { return conta.ctc_id === item.ctc_id }).map(conta => (\r\n {conta.ctg_descricao}\r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n gerarParcelas()} rules={[{ required: true }]} />\r\n \r\n \r\n \r\n gerarParcelas()}\r\n step={1}\r\n min={1}\r\n placeholder=\"Informe o Número de Parcelas\"\r\n />\r\n \r\n \r\n <>\r\n prevValues.cpr_numeroparcelas !== currentValues.cpr_numeroparcelas}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('cpr_numeroparcelas') === 1) return (\r\n \r\n gerarParcelas()} label=\"Data Vencimento\" name=\"cpr_datavencimento\" rules={[{ required: true, message: 'Informe a data de vencimento' }]} />\r\n \r\n );\r\n if (getFieldValue('cpr_numeroparcelas') > 1) return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n gerarParcelas()} label=\"Data Primeiro Vencimento\" name=\"cpr_dataprimeiropagamento\" rules={[{ required: true, message: 'Informe a data do primeiro vencimento' }]} />\r\n \r\n {openIntevaloDias === true &&\r\n \r\n \r\n gerarParcelas()} placeholder=\"Informe o intervalo de dias\" />\r\n \r\n \r\n }\r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosContasPagar.parcelas && dadosContasPagar.parcelas.length > 1 &&\r\n
\r\n
(\r\n
\r\n Parcela: {prc_numeroparcela}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Vencimento',\r\n align: 'center',\r\n width: 98,\r\n render: ({ prc_datavencimento }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n title: 'Ações',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Collapse, Tag, Popover, Modal, notification } from 'antd';\r\nimport { ArrowDownOutlined, ArrowUpOutlined, SearchOutlined, DeleteOutlined, EyeOutlined, CheckCircleOutlined, ExclamationCircleOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerContaPagar from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatDate, FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalListarParcelas } from \"../../components/modals/\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, TabelaDados, Data, FiltroSearch, ComboData } from \"../../components\";\r\n\r\nexport default function ContaPagar() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openPesquisaAvancada, setOpenPesquisaAvancada] = useState(false);\r\n const [dataPesquisa, setDataPesquisa] = useState(new Date().toLocaleDateString());\r\n const [dataAtual] = useState(new Date());\r\n const [parametrosContasPagar] = Form.useForm();\r\n const [listaStatusParcela, setListaStatusParcela] = useState([]);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [parcelas, setParcelas] = useState([]);\r\n\r\n const togglePesquisa = () => {\r\n setOpenPesquisaAvancada(!openPesquisaAvancada);\r\n };\r\n\r\n const modalNovaConta = (item) => {\r\n Modal.confirm({\r\n title: 'Conta estornada com sucesso!',\r\n icon: ,\r\n content: `Deseja criar uma nova conta com base nesta conta estornada?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.get(`ContasPagarReceber/Buscar/${item.cpr_id}`).then(\r\n res => {\r\n let dadosTemp = res.data;\r\n dadosTemp.valortotal = 0;\r\n dadosTemp.cpr_datainclusao = moment(res.data.cpr_datainclusao);\r\n dadosTemp.cpr_dataprimeiropagamento = moment(res.data.cpr_dataprimeiropagamento);\r\n res.data.parcelas.forEach(parcela => {\r\n dadosTemp.valortotal += parcela.prc_valor;\r\n });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosTemp } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n\r\n }\r\n );\r\n },\r\n onCancel() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n }\r\n });\r\n };\r\n\r\n const modalEstornar = (item) => {\r\n Modal.confirm({\r\n title: 'Estornar Parcela',\r\n icon: ,\r\n content: `Deseja estornar a conta de ${item.pes_nome} no valor de ${FormatNumber(item.prc_valor, true)}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.post(`ContasPagarReceber/CancelarContaPagarReceber?ContaPagarReceberId=${item.cpr_id}`).then(\r\n res => {\r\n if (res.data.cpr_estornado === true) {\r\n modalNovaConta(item);\r\n } else {\r\n Modal.success({\r\n title: 'Não foi possivel estornar a Conta!',\r\n icon: ,\r\n content: `Existe pagamentos referentes a esta conta`,\r\n okText: 'OK'\r\n })\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n notification.warn({ message: 'Aviso!', description: !!error.response.data ? error.response.data : 'Não foi possivel estonar a conta!' })\r\n }\r\n )\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=StatusParcela`).then(res => {\r\n setListaStatusParcela(res.data);\r\n });\r\n parametrosContasPagar.setFieldsValue({ dataInicial: moment(new Date()), dataFinal: moment(new Date()) });\r\n }, []);\r\n\r\n useEffect(() => {\r\n carregarLista();\r\n }, [dataPesquisa]);\r\n\r\n function carregarLista() {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&tipoMovimentacao=0&dataInicial=${FormatDate(dataPesquisa)}&dataFinal=${FormatDate(dataAtual.toLocaleDateString())}&statusParcela=0,1,2,3`, ordem: '+pes_nome' } });\r\n }\r\n\r\n function aplicarFiltrosAvancados() {\r\n let filtros = '&tipoMovimentacao=0';\r\n filtros += `&dataInicial=${(!!parametrosContasPagar.getFieldValue().dataInicial ? moment(parametrosContasPagar.getFieldValue().dataInicial).format('YYYY-MM-DD') : FormatDate(dataAtual))}`;\r\n filtros += `&dataFinal=${(!!parametrosContasPagar.getFieldValue().dataFinal ? moment(parametrosContasPagar.getFieldValue().dataFinal).format('YYYY-MM-DD') : FormatDate(dataAtual))}`;\r\n filtros += `&statusParcela=${(!!parametrosContasPagar.getFieldValue().statusParcela ? parametrosContasPagar.getFieldValue().statusParcela.join(',') : '0,1,2,3')}`;\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtros } });\r\n };\r\n\r\n function retornarStatus(prc_status) {\r\n if (prc_status === 0) {\r\n return 'Pendente'\r\n } else if (prc_status === 1) {\r\n return 'Rcto. Parcial'\r\n } else if (prc_status === 2) {\r\n return 'Liquidada'\r\n } else if (prc_status === 3) {\r\n return 'Reparcelada'\r\n }\r\n };\r\n\r\n function buscarParcelas(dados) {\r\n if (!!dados.cpr_id) {\r\n setOpenModal(true);\r\n api.get(`Parcela/ListarParcelas?IdContaPagarReceber=${dados.cpr_id}&Estornado=false&PagarOuReceber=0&PageSize=100&Order=+prc_numeroparcela`).then(res => {\r\n res.data.items.forEach(parc => { parc.editando = false });\r\n setParcelas(res.data.items);\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n parametrosContasPagar.setFieldsValue({ dataFinal: moment(new Date()) });\r\n parametrosContasPagar.setFieldsValue({ dataInicial: moment(parametrosContasPagar.getFieldValue().dataPesquisa) });\r\n aplicarFiltrosAvancados();\r\n }} />\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {openPesquisaAvancada ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n {\r\n if (prc_status === 0 || prc_status === 1 || prc_status === 3) {\r\n return 'Parcela Pendente'\r\n } else if (prc_status === 2) {\r\n return 'Parcela Liquidada'\r\n }\r\n }} placement=\"right\">\r\n \r\n {retornarStatus(prc_status)}\r\n \r\n \r\n ),\r\n }, {\r\n title: 'Nº Doc.',\r\n width: 80,\r\n align: 'center',\r\n render: ({ cpr_numerodocumento }) => (\r\n \r\n {cpr_numerodocumento || `N/D`}\r\n \r\n ),\r\n }, {\r\n title: 'Fornecedor',\r\n width: 330,\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n }, {\r\n title: 'Vencimento',\r\n width: 80,\r\n render: ({ prc_datavencimento }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n }, {\r\n title: 'Observação',\r\n width: 300,\r\n render: ({ cpr_observacao }) => (\r\n
\r\n {cpr_observacao}\r\n
\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Obs.: {cpr_descricao || ``}\r\n \r\n \r\n Nota Nº: {ntf_numero || `Não Informado`}\r\n \r\n \r\n Parcela Nº: {prc_numeroparcela || `Não Informado`}\r\n \r\n \r\n Saldo Devedor (R$): {FormatNumber(saldo, true)}\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n setOpenModal(false)} parcelas={parcelas} setParcelas={setParcelas} />\r\n \r\n );\r\n}\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, Select, Form, Table, Input, Tag, Modal, notification } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, ExclamationCircleOutlined, BarcodeOutlined, EditOutlined } from \"@ant-design/icons\";\r\n\r\nimport moment from 'moment';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { InputPreco, Data } from \"../../components\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { compararDatas, diferencaDatas, info } from \"../../services/funcoes\";\r\nimport { ModalEditarValoresParcela } from \"../../components/modals\";\r\n\r\nexport default function ManutencaoPagamento({ formulario, totalizadores, calcularPagamentoParcial, listaParcelasPagar, carregando, aoSalvar, dadosFornecedor }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [openModalEditarParcela, setOpenModalEditarParcela] = useState(false);\r\n const [dadosLinhaEditar, setDadosLinhaEditar] = useState([]);\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [listaCondicaoPagamento, setListaCondicaoPagamento] = useState([]);\r\n const [exibirCondicaoPag, setExibirCondicaoPag] = useState(false);\r\n const inputRef = React.createRef();\r\n\r\n useEffect(() => {\r\n api.get(`contaCorrente/ListarAtivos?filtro=&Order=+ctc_descricao&PageSize=1000`).then(res => {\r\n setListaContaCorrente(res.data.items);\r\n });\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?CodReceitaDespesa=1&filtro=`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n });\r\n api.get(`FormaPagamento/Listar?filtro=&PageNumber=1&PageSize=1000`).then(res => {\r\n let forma = res.data.items.filter(forma => forma.fpg_tipopagamento === tipoFormaPagamento.fpPix || forma.fpg_tipopagamento === tipoFormaPagamento.fpDinheiro || forma.fpg_tipopagamento === tipoFormaPagamento.fpCheque);\r\n setListaFormaPagamento(forma);\r\n });\r\n if (!!!formulario.getFieldValue().dataPagamentoRecebimento) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date()) });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!inputRef.current) {\r\n inputRef.current.focus();\r\n };\r\n }, [inputRef]);\r\n\r\n function salvarDadosModal(values) {\r\n let listaTemp = [...listaParcelasPagar.listaParcelasPagar];\r\n let linha = listaTemp.filter((item) => { return item.prc_id === dadosLinhaEditar.prc_id })[0];\r\n linha.valorJuros = parseFloat(values.valorJuros);\r\n linha.valorDesconto = parseFloat(values.valorDesconto);\r\n linha.valorAcrescimo = parseFloat(values.valorAcrescimo);\r\n linha.valorPagoRecebido = parseFloat(values.valorPago);\r\n linha.valorAReceber = parseFloat(values.valorPago);\r\n linha.valorParcela = linha.valorAReceber;\r\n linha.valorPago = parseFloat(values.valorPago);\r\n listaParcelasPagar.setListaParcelasPagar(listaTemp);\r\n };\r\n\r\n const tipoFormaPagamento = {\r\n fpDinheiro: 1,\r\n fpCheque: 2,\r\n fpCartaoCredito: 3,\r\n fpCartaoDebito: 4,\r\n fpCreditoLoja: 5,\r\n fpValeAlimentacao: 10,\r\n fpValeRefeicao: 11,\r\n fpValePresente: 12,\r\n fpValeCombustivel: 13,\r\n fpPix: 17,\r\n fpOutro: 99\r\n };\r\n\r\n function editarParcela(linha) {\r\n setDadosLinhaEditar(linha);\r\n setOpenModalEditarParcela(true);\r\n };\r\n\r\n async function buscarCondicaoPagamento(valor) {\r\n if (!!valor) {\r\n let formaPagamento = (await api.get(`FormaPagamento/Get?id=${valor}`)).data;\r\n if (formaPagamento.fpg_tipopagamento !== tipoFormaPagamento.fpDinheiro && formaPagamento.fpg_tipopagamento !== tipoFormaPagamento.fpPix) {\r\n setExibirCondicaoPag(true);\r\n setListaCondicaoPagamento(formaPagamento.formacondicaopagamentos);\r\n } else {\r\n setExibirCondicaoPag(false);\r\n }\r\n } else {\r\n setExibirCondicaoPag(false);\r\n }\r\n formulario.setFieldsValue({ cpg_id: null });\r\n };\r\n\r\n function efetuarPagamento(values) {\r\n if (!(!!values)) {\r\n values = manutencao.dados;\r\n }\r\n values.valorTotalPagoRecebido = parseFloat(values.valorPago);\r\n if (!!!values.valorTotalPagoRecebido) {\r\n notification.warning({ message: `Aviso!`, description: `Favor informar o campo Valor Pago!` });\r\n return;\r\n }\r\n var diasTolerancia = 30;\r\n if (formulario.getFieldValue().dataPagamentoRecebimento) {\r\n if (formulario.getFieldValue().dataPagamentoRecebimento > new Date()) {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() + 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n return;\r\n }\r\n } else {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() - 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n return;\r\n }\r\n }\r\n } else {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date()) });\r\n }\r\n values.cpr_pagarreceber = 0;\r\n values.dataPagamentoRecebimento = formulario.getFieldValue().dataPagamentoRecebimento;\r\n values.valorTotalParcelas = parseFloat(totalizadores.listaTotalizadores.valorAPagar.toFixed(2));\r\n values.valorTotalAcrescimo = parseFloat(totalizadores.listaTotalizadores.valorAcrescimo.toFixed(2));\r\n values.valorTotalDesconto = totalizadores.listaTotalizadores.valorDesconto;\r\n values.valorTotalJuros = totalizadores.listaTotalizadores.valorTotalJuros;\r\n values.cpg_id = (!!values.cpg_id ? values.cpg_id : null);\r\n values.parcelasQuitadas = listaParcelasPagar.listaParcelasPagar;\r\n values.pes_id = dadosFornecedor.pes_id;\r\n values.parcelasQuitadas.forEach((item) => {\r\n item.valorParcela = item.prc_valor;\r\n item.valorPagoRecebido = item.valorPago;\r\n item.valorAcrescimo = item.valorAcrescimo;\r\n item.valorJuros = item.valorJuros;\r\n });\r\n\r\n values.formaPgto = [\r\n { fpg_id: values.fpg_id, cpg_id: values.cpg_id, ctc_id: values.ctc_id, valorFormaPgto: values.valorTotalPagoRecebido, valorDescontoFormaPgto: 0, valorJurosFormaPgto: 0 }\r\n ];\r\n\r\n carregando(true);\r\n api.post('/ContasPagarReceber/PagamentoParcelas', values).then(res => {\r\n notification.success({ message: 'Aviso!', description: 'Parcelas liquidadas com sucesso!' });\r\n aoSalvar();\r\n }).catch(\r\n (erro) => {\r\n notification.warning({ message: `Aviso!`, description: `Não foi possivel liquidar parcelas!` });\r\n }\r\n ).finally(() => {\r\n carregando(false);\r\n });\r\n };\r\n\r\n function excluirRegistro(dados) {\r\n Modal.confirm({\r\n title: `Remover da lista a parcela Nº ${dados.prc_numeroparcela} no valor de ${FormatNumber(!!dados.prc_valor ? dados.prc_valor : 0, true)}?`,\r\n icon: ,\r\n onOk() {\r\n let listaTemp = [...listaParcelasPagar.listaParcelasPagar];\r\n let index = listaTemp.findIndex(item => item.prc_codigobarras === dados.prc_codigobarras);\r\n listaTemp.splice(index, 1);\r\n listaParcelasPagar.setListaParcelasPagar(listaTemp);\r\n }\r\n });\r\n };\r\n\r\n function buscarCodBarras(valor) {\r\n api.get(`Parcela/ListarParcelas?CodigoBarras=${valor}&PagarOuReceber=0`).then(res => {\r\n if (res.data.items.length > 0) {\r\n let listaTemp = [...listaParcelasPagar.listaParcelasPagar];\r\n let retornoParcela = res.data.items[0];\r\n\r\n if (listaTemp.filter(item => { return item.prc_codigobarras === retornoParcela.prc_codigobarras }).length > 0) {\r\n info(\"A parcela já esta adicionada na lista para pagamento!\");\r\n } else {\r\n if (retornoParcela.prc_status !== 2 && !retornoParcela.prc_estornado) {\r\n if (retornoParcela.pes_id === (!!dadosFornecedor.pes_id ? dadosFornecedor.pes_id : retornoParcela.pes_id)) {\r\n let valorReceber;\r\n retornoParcela.key = retornoParcela.cpr_id.toString().concat(retornoParcela.prc_id);\r\n retornoParcela.vencida = compararDatas(retornoParcela.prc_datavencimento, null, '<');\r\n retornoParcela.numeroDiasVencida = 0;\r\n retornoParcela.valorJuros = 0;\r\n retornoParcela.valorOriginal = parseFloat(retornoParcela.prc_valor);\r\n retornoParcela.prc_valor = parseFloat((retornoParcela.prc_valor - retornoParcela.valorQuitado + retornoParcela.valorJuros).toFixed(2));\r\n retornoParcela.valorPago = parseFloat(retornoParcela.prc_valor);\r\n retornoParcela.valorDesconto = 0.00;\r\n retornoParcela.valorAcrescimo = 0;\r\n retornoParcela.valorAReceber = retornoParcela.prc_valor;\r\n listaTemp.push(retornoParcela);\r\n listaParcelasPagar.setListaParcelasPagar(listaTemp);\r\n } else {\r\n info(`Parcela não é do cliente ${dadosFornecedor.pes_nome}!`);\r\n }\r\n } else {\r\n if (retornoParcela.prc_status === 2) {\r\n info(\"Esta Parcela já foi totalmente liquidada!\");\r\n }\r\n if (retornoParcela.prc_estornado === 1) {\r\n info(\"A Parcela foi estornada!\");\r\n }\r\n }\r\n }\r\n } else {\r\n info(\"Parcela não encontrada!\");\r\n }\r\n });\r\n };\r\n\r\n function rateioDesconto() {\r\n let valorDesconto = parseFloat(formulario.getFieldValue(\"valorDesconto\")) > 0 ? parseFloat(formulario.getFieldValue(\"valorDesconto\")) : 0;\r\n\r\n let valorTotalSemDesconto = (parseFloat(totalizadores.listaTotalizadores.valorTotal) + parseFloat(totalizadores.listaTotalizadores.valorTotalJuros) + parseFloat(totalizadores.listaTotalizadores.valorAcrescimo));\r\n if (valorDesconto > 0 && valorDesconto > valorTotalSemDesconto) {\r\n formulario.setFieldsValue({ valorDesconto: valorTotalSemDesconto });\r\n valorDesconto = valorTotalSemDesconto;\r\n }\r\n\r\n let listaTemp = [...listaParcelasPagar.listaParcelasPagar];\r\n let sobraDesconto = 0;\r\n\r\n for (const [idx, item] of listaTemp.entries()) {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n let valorParcela = parseFloat((valorTotal + parseFloat(item.valorAcrescimo) + parseFloat(item.valorJuros)).toFixed(2));\r\n\r\n //calcular percentual do total \r\n let percentualDesconto = (valorParcela * 100) / valorTotalSemDesconto;\r\n let desconto = (valorDesconto * percentualDesconto) / 100;\r\n sobraDesconto += desconto - parseFloat(desconto.toFixed(2));\r\n\r\n item.valorDesconto = parseFloat((parseFloat(desconto.toFixed(2)) + (idx === listaTemp.length - 1 ? sobraDesconto : 0)).toFixed(2));\r\n item.prc_valor = valorParcela - item.valorDesconto;\r\n item.valorPago = item.prc_valor;\r\n }\r\n\r\n listaParcelasPagar.setListaParcelasPagar(listaTemp);\r\n };\r\n\r\n function rateioAcrescimo() {\r\n let valorAcrescimo = parseFloat(formulario.getFieldValue(\"valorAcrescimo\")) > 0 ? parseFloat(formulario.getFieldValue(\"valorAcrescimo\")) : 0;\r\n\r\n let valorTotalSemAcrescimo = (parseFloat(totalizadores.listaTotalizadores.valorTotal) + parseFloat(totalizadores.listaTotalizadores.valorTotalJuros) - parseFloat(totalizadores.listaTotalizadores.valorDesconto));\r\n\r\n let listaTemp = [...listaParcelasPagar.listaParcelasPagar];\r\n let sobraAcrescimo = 0;\r\n\r\n for (const [idx, item] of listaTemp.entries()) {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n let valorParcela = parseFloat((valorTotal + parseFloat(item.valorJuros - parseFloat(item.valorDesconto))).toFixed(2));\r\n //calcular percentual do total \r\n let percentualAcrescimo = (valorParcela * 100) / valorTotalSemAcrescimo;\r\n let acrescimo = (valorAcrescimo * percentualAcrescimo) / 100;\r\n sobraAcrescimo += acrescimo - parseFloat(acrescimo.toFixed(2));\r\n\r\n item.valorAcrescimo = parseFloat((parseFloat(acrescimo.toFixed(2)) + (idx === listaTemp.length - 1 ? sobraAcrescimo : 0)).toFixed(2));\r\n item.prc_valor = valorParcela + item.valorAcrescimo;\r\n item.valorPago = item.prc_valor;\r\n }\r\n\r\n listaParcelasPagar.setListaParcelasPagar(listaTemp);\r\n };\r\n\r\n function validaIntervaloData() {\r\n var diasTolerancia = 30;\r\n if (formulario.getFieldValue().dataPagamentoRecebimento) {\r\n if (formulario.getFieldValue().dataPagamentoRecebimento > new Date()) {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() + 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n }\r\n } else {\r\n if (diferencaDatas(formulario.getFieldValue().dataPagamentoRecebimento) > diasTolerancia) {\r\n formulario.setFieldsValue({ dataPagamentoRecebimento: moment(new Date(new Date().setDate(new Date().getDate() - 30))) });\r\n let dataFormatada = moment(formulario.getFieldValue().dataPagamentoRecebimento).format('DD/MM/YYYY')\r\n info(`Data Movimento informada maior que tolerância de ${diasTolerancia} dias, Data Máxima ${dataFormatada}`);\r\n }\r\n }\r\n }\r\n }\r\n \r\n function windowHeight() {\r\n if(window.innerHeight > 800) {\r\n return 388;\r\n }\r\n else if (window.innerHeight < 800 && window.innerHeight > 740){\r\n return 288;\r\n }\r\n else {\r\n return 228;\r\n }\r\n \r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n } placeholder=\"Informe o Código de Barras\" onSearch={valor => {\r\n if (!!valor) buscarCodBarras(valor)\r\n }} allowClear />\r\n \r\n \r\n \r\n \r\n {listaParcelasPagar.listaParcelasPagar.length > 0 &&
\r\n
(\r\n \r\n {prc_numeroparcela} - {cpr_numeroparcelas}\r\n \r\n ),\r\n }, {\r\n title: 'Fornecedor',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vencimento',\r\n width: 85,\r\n render: ({ prc_datavencimento }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Par. (R$)',\r\n align: 'right',\r\n width: 75,\r\n render: ({ valorOriginal }) => (\r\n
\r\n \r\n {FormatNumber(!!valorOriginal ? valorOriginal : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Juros (R$)',\r\n align: 'right',\r\n width: 75,\r\n render: ({ valorJuros }) => (\r\n
\r\n \r\n {FormatNumber(!!valorJuros ? valorJuros : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desc. (R$)',\r\n align: 'right',\r\n width: 75,\r\n render: ({ valorDesconto }) => (\r\n
\r\n \r\n {FormatNumber(!!valorDesconto ? valorDesconto : 0, true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Acrésc. (R$)',\r\n align: 'right',\r\n width: 75,\r\n render: ({ valorAcrescimo }) => (\r\n
\r\n \r\n {FormatNumber(!!valorAcrescimo ? valorAcrescimo : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Pago (R$)',\r\n align: 'right',\r\n width: 75,\r\n render: ({ valorQuitado }) => (\r\n
\r\n \r\n {FormatNumber((!!valorQuitado ? valorQuitado : 0), true)}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'A Pagar (R$)',\r\n align: 'right',\r\n width: 115,\r\n render: ({ valorPago }) => (\r\n
\r\n \r\n {FormatNumber(!!valorPago ? valorPago : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n title: 'Ações',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Cód. Barras: {prc_codigobarras || 'Não Informado'}\r\n \r\n \r\n Nº Documento: {cpr_numerodocumento || 'Não Informado'}\r\n \r\n \r\n ,\r\n expandIcon: ({ expanded, onExpand, record }) =>\r\n expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n )\r\n }} scroll={{ x: 900, y: windowHeight()}} columnWidth={30} \r\n />\r\n
\r\n
\r\n \r\n
\r\n validaIntervaloData()} />\r\n \r\n \r\n \r\n {\r\n return { label: item.cpg_descricao, value: item.cpg_id, key: item.cpg_id }\r\n })} filterOption={(input, option) => option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0} placeholder=\"Selecione a Condição de Pagamento...\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {listaContaGerencialAgrupador.map(item => (\r\n \r\n {listaContaGerencial.filter((conta) => { return conta.ctc_id === item.ctc_id }).map(conta => (\r\n {conta.ctg_descricao}\r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n calcularPagamentoParcial()} onPressEnter={() => calcularPagamentoParcial()} name={'valorPago'} label={'Valor Pago (R$)'} />\r\n \r\n \r\n \r\n
\r\n \r\n {(!!totalizadores.listaTotalizadores.valorTotalParcelas && totalizadores.listaTotalizadores.valorTotalParcelas !== 0) &&\r\n
\r\n \r\n \r\n Valor Parcelas (R$):\r\n \r\n \r\n \r\n {FormatNumber(totalizadores.listaTotalizadores.valorTotalParcelas, true)}\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n Acréscimos (R$):\r\n \r\n \r\n { rateioAcrescimo() }} />\r\n \r\n \r\n \r\n \r\n Descontos (R$):\r\n \r\n \r\n { rateioDesconto() }} />\r\n \r\n \r\n \r\n {(!!totalizadores.listaTotalizadores.valorTotalJuros && totalizadores.listaTotalizadores.valorTotalJuros !== 0) &&\r\n \r\n \r\n \r\n Valor Juros (R$):\r\n \r\n \r\n \r\n {FormatNumber(totalizadores.listaTotalizadores.valorTotalJuros, true)}\r\n \r\n \r\n \r\n \r\n }\r\n {(!!totalizadores.listaTotalizadores.valorAPagar && totalizadores.listaTotalizadores.valorAPagar !== 0) &&\r\n \r\n \r\n \r\n Valor à Pagar (R$):\r\n \r\n \r\n {FormatNumber(totalizadores.listaTotalizadores.valorAPagar, true)}\r\n \r\n \r\n \r\n }\r\n {(!!totalizadores.listaTotalizadores.troco && totalizadores.listaTotalizadores.troco !== 0) &&\r\n \r\n \r\n \r\n Troco (R$):\r\n \r\n \r\n {FormatNumber(totalizadores.listaTotalizadores.troco, true)}\r\n \r\n \r\n \r\n }\r\n {(!!totalizadores.listaTotalizadores.restantePagar && totalizadores.listaTotalizadores.restantePagar !== 0) &&\r\n \r\n \r\n \r\n Restante a Pagar (R$):\r\n \r\n \r\n {FormatNumber(totalizadores.listaTotalizadores.restantePagar, true)}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n setOpenModalEditarParcela(false)} dadosLinha={dadosLinhaEditar} salvarDadosModal={salvarDadosModal} />\r\n \r\n )\r\n}","import React, { useState } from 'react';\r\nimport { Button, Col, Drawer, Form, Modal, Row } from \"antd\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions } from '../../actions';\r\nimport ManutencaoPagamento from './pagamento';\r\nimport { InputPreco } from \"../../components\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { CloseOutlined, ExclamationCircleOutlined, SaveOutlined } from '@ant-design/icons';\r\n\r\nexport default function DrawerPagamento({ formulario, calcularPagamentoParcial, listaParcelasPagar, totalizadores, limparListas, dadosFornecedor }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n limparListas();\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n { dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } }) }}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, Menu, Input, Form, Table, Checkbox, Dropdown } from \"antd\";\r\nimport { SearchOutlined, EyeOutlined, ArrowLeftOutlined, ArrowRightOutlined, FileDoneOutlined, DollarOutlined, MoreOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport DrawerPagamento from './drawerPagamento';\r\nimport { compararDatas, info } from \"../../services/funcoes\";\r\nimport { drawerActions, listagemActions } from \"../../actions\";\r\nimport DrawerDetalheNotaFiscal from \"./drawerDetalheNotaFiscal\";\r\nimport { FormatFone, MaskFormat, FormatNumber } from '../../ValueObjects';\r\nimport { BreadcrumbPage, BotaoAbrirChamado, TabelaDados, Data } from \"../../components\";\r\nimport ModalDetalheNotaFiscal from \"../notaFiscal/modalDetalheNotaFiscal\";\r\n\r\nexport default function PagamentoParcela() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaParcelasFornecedor, setListaParcelasFornecedor] = useState(false);\r\n const [listaParcelasPagar, setListaParcelasPagar] = useState([]);\r\n const [dadosFornecedor, setDadosFornecedor] = useState({});\r\n const [listaTotalizadores, setListaTotalizadores] = useState({});\r\n const [formulario] = Form.useForm();\r\n const [alterarValorPago, setAlterarValorPago] = useState(true);\r\n const [formParametros] = Form.useForm();\r\n const [listaParcelas, setListaParcelas] = useState([]);\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [openModalDetalhes, setOpenModalDetalhes] = useState(false);\r\n const [dadosModalNota, setDadosModalNota] = useState({});\r\n const [dadosDetalhesNota, setDadosDetalhesNota] = useState({});\r\n function selecionarParcelas(keys) {\r\n setSelectedRowKeys(keys);\r\n };\r\n\r\n const rowSelection = {\r\n selectedRowKeys,\r\n onChange: selecionarParcelas,\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosFornecedor.pes_id) {\r\n api.get(`Parcela/ListarParcelas?PagarOuReceber=0&IdPessoa=${dadosFornecedor.pes_id}&StatusParcela=0,1&Estornado=false&PageSize=1000&Order=prc_datavencimento`).then(res => {\r\n listarParcelas(res.data.items);\r\n });\r\n }\r\n }, [dadosFornecedor]);\r\n\r\n function listarParcelas(dados) {\r\n let parcelasPagar = [];\r\n let keys = [];\r\n\r\n if (listaParcelasPagar.length > 0) {\r\n listaParcelasPagar.map((parcela) => {\r\n keys.push(parcela.key);\r\n });\r\n setSelectedRowKeys(keys);\r\n }\r\n\r\n dados.forEach((item) => {\r\n item.key = item.cpr_id.toString().concat(item.prc_id);\r\n item.vencida = compararDatas(item.prc_datavencimento, null, '<');\r\n item.valorOriginal = parseFloat(item.prc_valor);\r\n item.valorDesconto = 0.00;\r\n item.valorJuros = 0.00;\r\n item.valorAcrescimo = 0.00;\r\n item.prc_valor = parseFloat((item.prc_valor - item.valorQuitado).toFixed(2));\r\n item.valorPago = parseFloat(item.prc_valor);\r\n parcelasPagar.push(item);\r\n });\r\n setListaParcelas(parcelasPagar);\r\n };\r\n\r\n function selecionarVencidas(e) {\r\n let keys = [];\r\n if (e.target.checked) {\r\n listaParcelas.map((item) => {\r\n if (compararDatas(item.prc_datavencimento, null, \"<\")) {\r\n keys.push(item.key);\r\n }\r\n });\r\n }\r\n setSelectedRowKeys(keys);\r\n };\r\n\r\n function menuTable(dados) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n async function visualizarNota(dados) {\r\n let retorno = [];\r\n let vendedor = [];\r\n if (!!dados.ntf_id) {\r\n retorno = await api.get(`NotaFiscal/ListarNotaFiscal?IdNotaFiscal=${dados.ntf_id}`);\r\n if (retorno.status === 200) {\r\n retorno = retorno.data;\r\n if (!!retorno.ven_id) {\r\n vendedor = await api.get(`Vendedor/RetornaVendedor?idVendedor=${retorno.ven_id}`);\r\n if (vendedor.status === 200) {\r\n retorno.nomeVendedor = vendedor.data.pes_nome;\r\n }\r\n }\r\n retorno.itensNf.forEach((item) => {\r\n let totalItemSemDesconto = parseFloat((item.nfi_qtde * item.nfi_valorunitario)).toFixed(2);\r\n item.perc_desconto = parseFloat((item.nfi_valordesconto / (totalItemSemDesconto)) * 100).toFixed(2);\r\n let valorDesconto = item.nfi_valordesconto;\r\n item.valor_item_desconto = parseFloat(totalItemSemDesconto - valorDesconto).toFixed(2);\r\n });\r\n setDadosDetalhesNota(retorno);\r\n setOpenModalDetalhes(true);\r\n }\r\n }\r\n };\r\n\r\n\r\n async function showDrawerExtra(dados) {\r\n let retorno = [];\r\n let vendedor = [];\r\n if (!!dados.ntf_id) {\r\n retorno = await api.get(`NotaFiscal/ListarNotaFiscal?IdNotaFiscal=${dados.ntf_id}`);\r\n if (retorno.status === 200) {\r\n retorno = retorno.data;\r\n if (!!retorno.ven_id) {\r\n vendedor = await api.get(`Vendedor/listarVendedorCodigo?codigoVendedor=${retorno.ven_id}`);\r\n if (vendedor.status === 200) {\r\n retorno.nomeVendedor = vendedor.data.pes_nome;\r\n }\r\n }\r\n retorno.itensNf.forEach((item) => {\r\n let totalItemSemDesconto = parseFloat((item.nfi_qtde * item.nfi_valorunitario)).toFixed(2);\r\n item.perc_desconto = parseFloat((item.nfi_valordesconto / (totalItemSemDesconto)) * 100).toFixed(2);\r\n let valorDesconto = item.nfi_valordesconto;\r\n item.valor_item_desconto = parseFloat(totalItemSemDesconto - valorDesconto).toFixed(2);\r\n });\r\n\r\n setDadosModalNota(retorno);\r\n setOpenModalDetalhes(true);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n let lista = {};\r\n lista.valorTotal = 0;\r\n lista.valorTotalParcelas = 0;\r\n lista.valorTotalJuros = 0;\r\n lista.valorDesconto = 0;\r\n lista.valorAPagar = 0;\r\n lista.valorAcrescimo = 0;\r\n let valorRecebido = 0;\r\n if (listaParcelasPagar.length > 0) {\r\n listaParcelasPagar.map(item => {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n lista.valorTotalParcelas += parseFloat(item.valorOriginal);\r\n lista.valorTotalJuros += parseFloat(item.valorJuros);\r\n lista.valorDesconto += parseFloat(item.valorDesconto);\r\n lista.valorAcrescimo += parseFloat(item.valorAcrescimo > 0 ? item.valorAcrescimo : 0);\r\n lista.valorTotal += valorTotal;\r\n lista.valorAPagar += parseFloat((valorTotal + parseFloat(item.valorAcrescimo) + parseFloat(item.valorJuros) - parseFloat(item.valorDesconto)).toFixed(2))\r\n valorRecebido += parseFloat(!!item.valorPago ? item.valorPago : 0);\r\n });\r\n if (alterarValorPago) {\r\n formulario.setFieldsValue({ valorPago: parseFloat((valorRecebido).toFixed(2)) });\r\n }\r\n formulario.setFieldsValue({ valorAcrescimo: parseFloat(lista.valorAcrescimo.toFixed(2)), valorDesconto: parseFloat(lista.valorDesconto.toFixed(2)) });\r\n calcularSobra(lista);\r\n }\r\n }, [listaParcelasPagar]);\r\n\r\n function calcularSobra(lista = { ...listaTotalizadores }) {\r\n let sobra = parseFloat((parseFloat(!!formulario.getFieldValue(\"valorPago\") ? formulario.getFieldValue(\"valorPago\") : 0) - parseFloat(lista.valorAPagar)).toFixed(2));\r\n lista.restantePagar = 0;\r\n lista.troco = 0;\r\n if (sobra < 0) {\r\n lista.restantePagar = (parseFloat(sobra) * -1).toFixed(2);\r\n } else {\r\n lista.troco = parseFloat(sobra);\r\n }\r\n setAlterarValorPago(true);\r\n setListaTotalizadores(lista);\r\n };\r\n\r\n function calcularPagamentoParcial() {\r\n let valorInformado = parseFloat(formulario.getFieldValue(\"valorPago\"));\r\n if (valorInformado > 0) {\r\n let listaTemp = [...listaParcelasPagar];\r\n for (const item of listaTemp) {\r\n let valorTotal = parseFloat((!!item.valorOriginal ? item.valorOriginal : 0)) - parseFloat((!!item.valorQuitado ? item.valorQuitado : 0));\r\n let valorParcela = parseFloat((valorTotal - parseFloat(item.valorDesconto) + parseFloat(item.valorJuros) + parseFloat(item.valorAcrescimo)).toFixed(2));\r\n if (valorInformado > valorParcela) {\r\n item.prc_valor = valorParcela;\r\n item.valorPago = valorParcela;\r\n } else {\r\n item.prc_valor = valorInformado;\r\n item.valorPago = valorInformado;\r\n }\r\n valorInformado -= item.prc_valor;\r\n }\r\n setAlterarValorPago(false);\r\n\r\n setListaParcelasPagar(listaTemp);\r\n } else {\r\n calcularSobra();\r\n }\r\n };\r\n\r\n function pagarSelecionados(listaParcelas, selectedRowKeys) {\r\n if (selectedRowKeys.length === 0) {\r\n info(\"Selecione uma parcela!\");\r\n return;\r\n }\r\n let listaTemp = [...listaParcelasPagar];\r\n\r\n listaParcelas.map(parcela => {\r\n if (selectedRowKeys.indexOf(parcela.key) >= 0 && listaTemp.filter((item) => { return item.key === parcela.key }).length === 0) {\r\n listaTemp.push(parcela);\r\n }\r\n });\r\n\r\n setListaParcelasPagar(listaTemp);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function limparListas() {\r\n setListaParcelasFornecedor(false);\r\n setDadosFornecedor({});\r\n setSelectedRowKeys([]);\r\n setListaParcelasPagar([]);\r\n setListaTotalizadores({});\r\n formulario.resetFields();\r\n };\r\n\r\n function filtrarPeriodo() {\r\n let valor = formParametros.getFieldValue().pesquisa;\r\n if (!!formParametros.getFieldValue().dataInicial && !!formParametros.getFieldValue().dataFinal) {\r\n let dataInicial = moment(formParametros.getFieldValue().dataInicial).format('YYYY-MM-DD');\r\n let dataFinal = moment(formParametros.getFieldValue().dataFinal).format('YYYY-MM-DD');\r\n api.get(`Parcela/ListarParcelas?filtro=${!!valor ? valor : ''}&Estornado=false&DataInicial=${dataInicial}&DataFinal=${dataFinal}&PagarOuReceber=0&StatusParcela=0,1&PageSize=1000&Order=prc_datavencimento`).then(res => {\r\n listarParcelas(res.data.items);\r\n });\r\n setListaParcelasFornecedor(true);\r\n setDadosFornecedor({});\r\n }\r\n };\r\n\r\n function filtrarFornecedor() {\r\n let valor = formParametros.getFieldValue().pesquisa;\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: '', outrosFiltros: `&Filtro=${valor}` } });\r\n setListaParcelasFornecedor(false);\r\n\r\n if (!!formParametros.getFieldValue().dataInicial && !!formParametros.getFieldValue().dataFinal) {\r\n filtrarPeriodo();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!listaParcelasFornecedor &&\r\n
\r\n (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n }, {\r\n title: 'CPF/CNPJ',\r\n width: 140,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, '', true) : MaskFormat(pej_cnpj, '', true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Telefone',\r\n width: 125,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero)}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n
\r\n ),\r\n },\r\n ]\r\n } />\r\n
\r\n }\r\n {listaParcelasFornecedor &&\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Parcelas em Aberto do Fornecedor
\r\n {dadosFornecedor.pes_nome || \"VÁRIOS\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Selecionar Vencidas\r\n \r\n
(\r\n
\r\n {cpr_numerodocumento || '--'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº Parcela',\r\n align: 'left',\r\n width: 80,\r\n render: ({ prc_numeroparcela }) => (\r\n
\r\n {prc_numeroparcela}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Fornecedor',\r\n width: 330,\r\n align: 'left',\r\n render: ({ pes_nome }) => (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Emissão',\r\n width: 85,\r\n render: ({ cpr_datainclusao }) => (\r\n
\r\n {moment(cpr_datainclusao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vencimento',\r\n width: 80,\r\n render: ({ prc_datavencimento, vencida }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Original (R$)',\r\n align: 'right',\r\n render: ({ valorOriginal }) => (\r\n
\r\n \r\n {FormatNumber(!!valorOriginal ? valorOriginal : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Pago (R$)',\r\n align: 'right',\r\n render: ({ valorQuitado }) => (\r\n
\r\n \r\n {FormatNumber(!!valorQuitado ? valorQuitado : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. A Pagar (R$)',\r\n align: 'right',\r\n render: ({ valorPago }) => (\r\n
\r\n \r\n {FormatNumber(!!valorPago ? valorPago : 0, true)}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n \r\n
\r\n ),\r\n }]\r\n } rowSelection={rowSelection} scroll={{ x: 900 }} />\r\n \r\n { setOpenModalDetalhes(false) }} dadosModal={dadosDetalhesNota} />\r\n {/* { setOpenModalDetalhes(false) }} dadosDrawer={dadosModalNota} /> */}\r\n \r\n }\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Form, Select, Collapse, Input, Checkbox, Table, Modal, Divider, Popover, Tag } from 'antd';\r\nimport { CloseOutlined, ArrowDownOutlined, ArrowLeftOutlined, ArrowRightOutlined, ArrowUpOutlined, CheckOutlined, DeleteOutlined, RetweetOutlined, SearchOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { ModalSenhaLiberacao } from \"../../components/modals\";\r\nimport { FormatNumber, FormatDate } from '../../ValueObjects/';\r\nimport { manutencaoActions, drawerActions } from \"../../actions\";\r\nimport { info, isObjetoDiffVazio } from '../../services/funcoes';\r\nimport { BreadcrumbPage, BotaoAbrirChamado, DrawerLancamentoTransferencia, DrawerManutencaoCaixa, InputPreco, Excluir, LancamentoEntrada, LancamentoSaida, LancamentoTransferencia, Data } from \"../../components\";\r\nimport { linkApi } from '../../services/auth';\r\nimport SelectPaginado from '../../components/selectPaginado';\r\n\r\nexport default function LancamentoCaixa() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openPesquisaAvancada, setOpenPesquisaAvancada] = useState(false);\r\n const [listaContaCorrenteSaldo, setListaContaCorrenteSaldo] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [listaPessoas, setListaPessoas] = useState([]);\r\n const [entradaSaida, setEntradaSaida] = useState(\"\");\r\n const [tipoMovimentacaoFinanceira, setTipoMovimentacaoFinanceira] = useState([]);\r\n const [listaCaixa, setListaCaixa] = useState([]);\r\n const [infoContas, setInfoContas] = useState({});\r\n const [openModalSenha, setOpenModalSenha] = useState(false);\r\n const [dadosLancamentoEstornar, setDadosLancamentoEstornar] = useState({});\r\n const [formulario] = Form.useForm();\r\n const [consuMovimentacao, setConsuMovimentacao] = useState(null);\r\n const [inputPesquisa, setInputPesquisa] = useState('');\r\n const [ carregando, setCarregando ] = useState(false);\r\n\r\n const togglePesquisa = () => {\r\n setOpenPesquisaAvancada(!openPesquisaAvancada);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!listaContaCorrenteSaldo && listaContaCorrenteSaldo.length === 0) {\r\n setConsuMovimentacao(manutencao.dados);\r\n }\r\n }, [manutencao.dados, listaContaCorrenteSaldo]);\r\n\r\n useEffect(() => {\r\n if (!!consuMovimentacao) {\r\n listarCaixa(true, false, consuMovimentacao);\r\n }\r\n }, [consuMovimentacao]);\r\n\r\n useEffect(() => {\r\n listarCaixa(true);\r\n\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=&CodReceitaDespesa=${entradaSaida}`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n });\r\n\r\n api.get(`Pessoa/ListarPessoasAtivas?filtro=&ordem=+pes_nome`).then(res => {\r\n setListaPessoas(res.data);\r\n });\r\n\r\n api.get(`Enum/Listar?nome=TipoMovimentacaoFinanceira`).then(res => {\r\n setTipoMovimentacaoFinanceira(res.data);\r\n });\r\n\r\n formulario.setFieldsValue({ dataInicial: moment(new Date()), dataFinal: moment(new Date()) });\r\n }, []);\r\n\r\n async function listarCaixa(marcarTodos = false, pesquisaAvancada = false, ctc_id = null) {\r\n setCarregando(true)\r\n let contas = '';\r\n let info = {};\r\n let idContas = [];\r\n let contasSelecionadas = [];\r\n console.log(formulario.getFieldValue().filtro);\r\n /* Irá buscar a lista de contas selecionadas */\r\n if (!marcarTodos) {\r\n listaContaCorrenteSaldo.forEach((conta) => {\r\n if (conta.marcado) {\r\n contasSelecionadas.push(conta.ctc_id);\r\n }\r\n });\r\n }\r\n if (!!ctc_id) {\r\n contasSelecionadas.push(ctc_id);\r\n }\r\n\r\n let contaCorrente = await api.get(`ContaCorrente/ListarSaldoContaCorrente?tipoLancamento=1`);\r\n contaCorrente = contaCorrente.data;\r\n contaCorrente.forEach((conta) => {\r\n if (contasSelecionadas.includes(conta.ctc_id)) {\r\n conta.marcado = true;\r\n idContas.push(conta.ctc_id);\r\n }\r\n if (contasSelecionadas.length === 0) {\r\n idContas.push(conta.ctc_id);\r\n }\r\n if (marcarTodos) {\r\n conta.marcado = true;\r\n }\r\n });\r\n\r\n if (idContas.length > 1) {\r\n info.contaAtiva = 'Várias';\r\n } else {\r\n info.contaAtiva = contaCorrente.filter((conta) => { return conta.ctc_id === idContas[0] })[0].ctc_descricao;\r\n }\r\n contas = idContas.join(',');\r\n if (pesquisaAvancada && !!formulario.getFieldValue().reprocessarCaixa && formulario.getFieldValue().reprocessarCaixa) {\r\n await api.get(`ContaCorrente/reprocessarSaldoContaCorrentes?dataInicial=${FormatDate(!!formulario.getFieldValue().dataInicial ? formulario.getFieldValue().dataInicial.toDate().toLocaleDateString() : new Date().toLocaleDateString())}&contas=${contas}`).then(\r\n (retorno) => {\r\n if (retorno.data) {\r\n formulario.setFieldsValue({ reprocessarCaixa: false });\r\n listarCaixa(false, true);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n } else {\r\n setListaContaCorrenteSaldo(contaCorrente);\r\n let url = `MovimentoContaCorrente/ListarMovimentacao?IdsContaCorrente=${contas}\r\n &DataFinal=${FormatDate(!!formulario.getFieldValue().dataFinal ? formulario.getFieldValue().dataFinal.toDate().toLocaleDateString() : new Date().toLocaleDateString())}\r\n &DataInicial=${FormatDate(!!formulario.getFieldValue().dataInicial ? formulario.getFieldValue().dataInicial.toDate().toLocaleDateString() : new Date().toLocaleDateString())}\r\n &Filtro=${(!!formulario.getFieldValue().filtro ? formulario.getFieldValue().filtro : '')}\r\n &mostrarEstornados=${(!!formulario.getFieldValue().exibirEstornados ? formulario.getFieldValue().exibirEstornados : false)}\r\n &nroRegistros=1&ordem=-mcc_dataHora&pagina=1\r\n &TipoMovimentacao=${(!!formulario.getFieldValue().tipoMovimentacao ? formulario.getFieldValue().tipoMovimentacao.join(',') : '1,2,3')}\r\n &FiltroValorInicial=${(!!formulario.getFieldValue().lc_valor_final && formulario.getFieldValue().lc_valor_final > 0 ? formulario.getFieldValue().lc_valor_final : '')}\r\n &FiltroValorFinal=${(!!formulario.getFieldValue().lc_valor_inicial && formulario.getFieldValue().lc_valor_inicial > 0 ? formulario.getFieldValue().lc_valor_inicial : '')}`;\r\n\r\n if (!!formulario.getFieldValue().pes_id) {\r\n url += `&IdPessoa=${formulario.getFieldValue().pes_id}`;\r\n }\r\n if (!!formulario.getFieldValue().ctg_id) {\r\n url += `&IdContaGerencial=${formulario.getFieldValue().ctg_id}`;\r\n }\r\n\r\n let retorno = await api.get(url);\r\n let listaCaixaContas = (retorno.data.contas.length > 0 ? retorno.data.contas : []);\r\n let movimento = [];\r\n info.saldoAtual = retorno.data.saldoAtual\r\n\r\n for (const conta of listaCaixaContas) {\r\n let valormcc = conta.saldoAnterior;\r\n movimento = reverse(conta.movimento);\r\n movimento.forEach(\r\n (mov) => {\r\n if(mov.mcc_movimentoestornado == null){\r\n if (mov.mcc_entradasaida === 1) {\r\n valormcc -= parseFloat(mov.mcc_valor);\r\n } else if (mov.mcc_entradasaida === 2) {\r\n valormcc += parseFloat(mov.mcc_valor);\r\n }\r\n mov.valormcc = valormcc;\r\n }\r\n mov.key = mov.mcc_id;\r\n });\r\n conta.saldoAtual = conta.saldoAtual;\r\n conta.movimento = reverse(movimento);\r\n }\r\n\r\n setInfoContas(info);\r\n setListaCaixa(listaCaixaContas);\r\n if (pesquisaAvancada) {\r\n formulario.setFieldsValue({ lc_valor_inicial: null, lc_valor_final: null, pes_id: null, lc_complemento: null, exibirEstornados: false, reprocessarCaixa: false });\r\n }\r\n }\r\n setCarregando(false);\r\n };\r\n\r\n function modalEstornar(record, event) {\r\n let dados = event.movimento[record];\r\n if (!!dados) {\r\n Modal.confirm({\r\n title: 'Estornar Parcela',\r\n icon: ,\r\n content: `Deseja realmente estornar o valor de ${FormatNumber(dados.mcc_valor, true)} referente ao lançamento na conta ${dados.ctc_descricao}?`,\r\n okText: 'Sim, quero estornar',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n setDadosLancamentoEstornar(dados);\r\n setOpenModalSenha(true);\r\n }\r\n });\r\n }\r\n };\r\n\r\n function retornoModalSenha(dados) {\r\n if (dados) {\r\n if (!!dadosLancamentoEstornar.mcc_id) {\r\n api.post(`MovimentoContaCorrente/EstornarLancamento?IdLancamento=${dadosLancamentoEstornar.mcc_id}`).then((retornoExclusao) => {\r\n if (!!retornoExclusao.data) {\r\n\r\n if (!!retornoExclusao.data.prc_id) {\r\n Modal.success({\r\n content: 'Lançamento estornado com sucesso!',\r\n });\r\n } else if (!!retornoExclusao.data.ntf_id) {\r\n info('Este movimento foi gerado a partir de uma Venda, para estornar este movimento é necessário CANCELAR a venda.', 'Operação de Estorno não foi executada!');\r\n } else if (!(!!retornoExclusao.data.mcc_estornado)) {\r\n info('Operação de Estorno não foi executada!');\r\n }\r\n listarCaixa();\r\n }\r\n });\r\n } else {\r\n info('Operação de Estorno não foi executada!');\r\n }\r\n } else {\r\n info('Operação de Estorno foi cancelada!');\r\n }\r\n };\r\n\r\n function reverse(lista) {\r\n let retorno = [];\r\n\r\n for (let i = lista.length - 1; i >= 0; i--) {\r\n retorno.push(lista[i])\r\n }\r\n return retorno;\r\n };\r\n\r\n function abrirLancamentoEntradaSaida(operacao) {\r\n setEntradaSaida(operacao);\r\n let dados = {};\r\n dados.operacao = operacao;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerManutencaoCaixa: true } });\r\n };\r\n\r\n function selecionarConta(contaSelecionada) {\r\n let listaContaCorrente = [...listaContaCorrenteSaldo];\r\n let conta = listaContaCorrente.filter((item) => { return item.ctc_id === contaSelecionada.ctc_id })[0];\r\n conta.marcado = (!!conta.marcado ? !conta.marcado : true);\r\n\r\n setListaContaCorrenteSaldo(listaContaCorrente);\r\n listarCaixa();\r\n };\r\n\r\n function marcarTodos() {\r\n let listaContaCorrente = [...listaContaCorrenteSaldo];\r\n listaContaCorrente.forEach((conta) => {\r\n conta.marcado = !conta.marcado;\r\n });\r\n\r\n setListaContaCorrenteSaldo(listaContaCorrente);\r\n listarCaixa();\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n } size=\"middle\" onClick={() => {\r\n abrirLancamentoEntradaSaida(\"2\");\r\n }}>\r\n Entradas\r\n \r\n
\r\n \r\n \r\n
\r\n } size=\"middle\" onClick={() => {\r\n abrirLancamentoEntradaSaida(\"1\");\r\n }}>\r\n Saídas\r\n \r\n
\r\n \r\n \r\n
\r\n } size=\"middle\" onClick={() => {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerTransferencia: true } });\r\n }}>\r\n Transferência\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { listarCaixa() }} />\r\n \r\n \r\n { listarCaixa() }} />\r\n \r\n \r\n \r\n { listarCaixa() }} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {openPesquisaAvancada ? : } Realizar uma pesquisa avançada\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({p.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reprocessar Caixa?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Saldo Atual (R$): {FormatNumber(infoContas.saldoAtual, true)}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n marcarTodos()} />\r\n
\r\n
\r\n Contas \r\n \r\n \r\n \r\n \r\n {\r\n setInputPesquisa(e.target.value);\r\n }} />\r\n \r\n \r\n \r\n {listaContaCorrenteSaldo.filter((item) => { return !!!inputPesquisa || (item.ctc_descricao.toLowerCase().indexOf(inputPesquisa.toLowerCase()) >= 0 || item.ctc_id.toString().indexOf(inputPesquisa) >= 0) }).map(conta => (\r\n selecionarConta(conta)} span={24}>\r\n
\r\n {conta.marcado ? : ''}\r\n
\r\n \r\n \r\n {conta.ctc_descricao}\r\n \r\n \r\n {FormatNumber(conta.saldo, true)}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Data\r\n \r\n \r\n Conta Gerencial\r\n \r\n \r\n Entrada (R$)\r\n \r\n \r\n Saída (R$)\r\n \r\n \r\n Saldo (R$)\r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {ctc_descricao}\r\n \r\n \r\n \r\n \r\n {FormatNumber(entrada, true)}\r\n \r\n \r\n {FormatNumber(saida, true)}\r\n \r\n \r\n {(saldoAtual < 0) ? {FormatNumber(saldoAtual, true)} : {FormatNumber(saldoAtual, true)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {movimento.map((mov, record) => (\r\n
\r\n \r\n
\r\n
\r\n {moment(mov.mcc_dataHora).format('DD/MM/YYYY HH:mm:ss')}\r\n
\r\n \r\n \r\n
\r\n {mov.mcc_estornado || !!mov.mcc_movimentoestornado ? \r\n {(!!mov.mcc_transferencia ? \"Transferência / \" : \"\" + (!!mov.ctg_descricao ? mov.ctg_descricao : '-'))}\r\n : \r\n {(!!mov.mcc_transferencia ? \"Transferência / \" : \"\" + (!!mov.ctg_descricao ? mov.ctg_descricao : '-'))}\r\n }\r\n {!!mov.pes_nome ?\r\n
\r\n Pessoa: {mov.mcc_estornado || !!mov.mcc_movimentoestornado ? {mov.pes_nome} : {mov.pes_nome}}\r\n
\r\n : null}\r\n
\r\n \r\n \r\n
\r\n {mov.mcc_estornado || !!mov.mcc_movimentoestornado ? {(mov.mcc_entradasaida === 2) ? FormatNumber(!!mov.mcc_valor ? mov.mcc_valor : 0, true) : '-'}\r\n : {(mov.mcc_entradasaida === 2) ? FormatNumber(!!mov.mcc_valor ? mov.mcc_valor : 0, true) : '-'}}\r\n
\r\n \r\n \r\n
\r\n {mov.mcc_estornado || !!mov.mcc_movimentoestornado ? {(mov.mcc_entradasaida === 1) ? FormatNumber(!!mov.mcc_valor ? mov.mcc_valor : 0, true) : '-'}\r\n : {(mov.mcc_entradasaida === 1) ? FormatNumber(!!mov.mcc_valor ? mov.mcc_valor : 0, true) : '-'}}\r\n
\r\n \r\n \r\n
\r\n {(mov.valormcc < 0) ?\r\n {mov.mcc_estornado || !!mov.mcc_movimentoestornado ? {FormatNumber(mov.valormcc, true)} : {FormatNumber(mov.valormcc, true)}} :\r\n {mov.mcc_estornado || !!mov.mcc_movimentoestornado ? {FormatNumber(mov.valormcc, true)} : {FormatNumber(mov.valormcc, true)}}\r\n }\r\n
\r\n \r\n \r\n \r\n modalEstornar(record, event)} icon={} />\r\n \r\n \r\n \r\n \r\n {(!!mov.loc_descricao || !!mov.mcc_complemento || !!mov.mcc_numerodocumento || !!mov.mcc_valorjuros || !!mov.mcc_valormulta || !!mov.mcc_valordesconto) &&\r\n \r\n \r\n {!!mov.loc_descricao ?\r\n
\r\n \r\n {mov.loc_descricao}\r\n \r\n
\r\n : null}\r\n \r\n \r\n {!!mov.mcc_complemento ?\r\n
\r\n Compl.: {mov.mcc_complemento}\r\n
\r\n : null}\r\n \r\n \r\n {!!mov.mcc_numerodocumento ?\r\n
\r\n Nº Doc.: {mov.mcc_numerodocumento}\r\n
\r\n : null}\r\n \r\n \r\n {!!mov.mcc_valorjuros ?\r\n
\r\n Juros (R$): {FormatNumber(!!mov.mcc_valorjuros ? mov.mcc_valorjuros : 0, true)}\r\n
\r\n : null}\r\n \r\n \r\n {!!mov.mcc_valormulta ?\r\n
\r\n Multa (R$): {FormatNumber(!!mov.mcc_valormulta ? mov.mcc_valormulta : 0, true)}\r\n
\r\n : null}\r\n \r\n \r\n {!!mov.mcc_valordesconto ?\r\n
\r\n Descontos (R$): {FormatNumber(!!mov.mcc_valordesconto ? mov.mcc_valordesconto : 0, true)}\r\n
\r\n : null}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n Saldo Anterior (R$):\r\n \r\n \r\n \r\n {FormatNumber(!!saldoAnterior ? saldoAnterior : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n ]} dataSource={listaCaixa} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n { setOpenModalSenha(false); retornoModalSenha(retorno) }} />\r\n \r\n \r\n \r\n \r\n )\r\n}","import React from 'react';\r\nimport { Col, Divider, Row } from 'antd';\r\nimport { FormatNumber } from '../../../ValueObjects';\r\n\r\nexport default function FluxoCaixaDiarioLocalAnalitico({ valoresProvisionados, tabelaFluxoCaixa, saldos }) {\r\n\r\n return (\r\n
\r\n {tabelaFluxoCaixa.map((fluxoLocal) => {\r\n return (\r\n
\r\n
\r\n Local: Loja Matriz\r\n
\r\n {fluxoLocal.listaFluxoSaldos.map((item) => (\r\n \r\n
\r\n
{item.nomeContaCorrente}: {FormatNumber(item.saldoInicial < 0 ? item.saldoInicial * -1 : item.saldoInicial, true, false)}
\r\n \r\n \r\n
{item.nomeContaCorrente}: {FormatNumber(item.saldo < 0 ? item.saldo * -1 : item.saldo, true, false)}
\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n
SALDO INICIAL: {FormatNumber(saldos.saldoInicial < 0 ? saldos.saldoInicial * -1 : saldos.saldoInicial, true, false)}
\r\n \r\n \r\n
SALDO FINAL: {FormatNumber(saldos.saldoFinal < 0 ? saldos.saldoFinal * -1 : saldos.saldoFinal, true, false)}
\r\n \r\n \r\n\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
DATA\r\n ENTRADA\r\n SAÍDA\r\n \r\n
\r\n {fluxoLocal.listaFluxoItens.map((item) => (\r\n \r\n
{item.dataPgtoVencimento}\r\n {FormatNumber(item.valor_RealizadoEntrada, true, false)}\r\n {FormatNumber(item.valor_RealizadoSaida, true, false)}\r\n \r\n ))}\r\n \r\n TOTAL DO PERÍODO\r\n {FormatNumber(saldos.totalCreditoRealizado, true, false)}\r\n {FormatNumber(saldos.totalDebitoRealizado, true, false)}\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
DATA\r\n \r\n \r\n ENTRADA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n \r\n SAÍDA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n {fluxoLocal.listaFluxoItens.map((item) => (\r\n \r\n
{item.dataPgtoVencimento}\r\n \r\n \r\n {FormatNumber(item.valor_ProvisaoReceber, true, false)}\r\n {FormatNumber(item.valor_RealizadoEntrada, true, false)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(item.valor_ProvisaoPagar, true, false)}\r\n {FormatNumber(item.valor_RealizadoSaida, true, false)}\r\n \r\n \r\n \r\n ))}\r\n \r\n TOTAL DO PERÍODO\r\n \r\n \r\n {FormatNumber(saldos.totalCreditoPrevisto, true, false)}\r\n {FormatNumber(saldos.totalCreditoRealizado, true, false)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(saldos.totalDebitoPrevisto, true, false)}\r\n {FormatNumber(saldos.totalDebitoRealizado, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\nimport moment from 'moment';\r\nimport { FormatNumber } from '../../../ValueObjects';\r\n\r\nexport default function FluxoCaixaDiarioSintetico({ valoresProvisionados, tabelaFluxoCaixa, saldos }) {\r\n\r\n\r\n return (\r\n
\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
FLUXO DE CAIXA DE {moment(saldos.dataInicial).format('DD/MM/YYYY')} A {moment(saldos.dataFinal).format('DD/MM/YYYY')}\r\n SALDO INICIAL\r\n ENTRADA\r\n SAÍDA\r\n SALDO FINAL\r\n \r\n
\r\n {tabelaFluxoCaixa.map((fluxoLocal) => {\r\n return (\r\n \r\n
{fluxoLocal.nomeLocal}\r\n {FormatNumber(fluxoLocal.valor_SaldoInicial, true, false)}\r\n {FormatNumber(fluxoLocal.valor_RealizadoEntrada, true, false)}\r\n {FormatNumber(fluxoLocal.valor_RealizadoSaida, true, false)}\r\n {FormatNumber(fluxoLocal.valor_SaldoFinal, true, false)}\r\n \r\n )\r\n })}\r\n \r\n TOTAL DO PERÍODO\r\n {FormatNumber(saldos.saldoInicial < 0 ? saldos.saldoInicial * -1 : saldos.saldoInicial, true, false)}\r\n {FormatNumber(saldos.totalCreditoRealizado, true, false)}\r\n {FormatNumber(saldos.totalDebitoRealizado, true, false)}\r\n {FormatNumber(saldos.saldoFinal < 0 ? saldos.saldoFinal * -1 : saldos.saldoFinal, true, false)}\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
FLUXO DE CAIXA DE {moment(saldos.dataInicial).format('DD/MM/YYYY')} A {moment(saldos.dataFinal).format('DD/MM/YYYY')}\r\n SALDO INICIAL\r\n \r\n \r\n ENTRADA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n \r\n SAÍDA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n SALDO FINAL\r\n \r\n
\r\n {tabelaFluxoCaixa.map((fluxoLocal) => {\r\n return (\r\n \r\n
{fluxoLocal.nomeLocal}\r\n {FormatNumber(fluxoLocal.valor_SaldoInicial, true, false)}\r\n \r\n \r\n {FormatNumber(fluxoLocal.valor_ProvisaoReceber, true, false)}\r\n {FormatNumber(fluxoLocal.valor_RealizadoEntrada, true, false)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(fluxoLocal.valor_ProvisaoPagar, true, false)}\r\n {FormatNumber(fluxoLocal.valor_RealizadoSaida, true, false)}\r\n \r\n \r\n {FormatNumber(fluxoLocal.valor_SaldoFinal, true, false)}\r\n \r\n )\r\n })}\r\n \r\n TOTAL DO PERÍODO\r\n {FormatNumber(saldos.saldoInicial < 0 ? saldos.saldoInicial * -1 : saldos.saldoInicial, true, false)}\r\n \r\n \r\n {FormatNumber(saldos.totalCreditoPrevisto, true, false)}\r\n {FormatNumber(saldos.totalCreditoRealizado, true, false)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(saldos.totalDebitoPrevisto, true, false)}\r\n {FormatNumber(saldos.totalDebitoRealizado, true, false)}\r\n \r\n \r\n {FormatNumber(saldos.saldoFinal < 0 ? saldos.saldoFinal * -1 : saldos.saldoFinal, true, false)}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaSemanalAnalitico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n 04/09/2020 A 05/09/2020\r\n 06/09/2020 A 12/09/2020\r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n 26.477,56\r\n 28.072,17\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE ENTRADAS\r\n 26.477,56\r\n 28.072,17\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE SAÍDAS\r\n 26.477,56\r\n 28.072,17\r\n \r\n \r\n SALDO FINAL\r\n 26.477,56\r\n 28.072,17\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n \r\n \r\n 04/09/2020 A 05/09/2020\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n \r\n 06/09/2020 A 12/09/2020\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n 28.072,17\r\n 28.072,17\r\n \r\n \r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE ENTRADAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n 28.072,17\r\n 28.072,17\r\n \r\n \r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE SAÍDAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n 28.072,17\r\n 28.072,17\r\n \r\n \r\n \r\n \r\n SALDO FINAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n 28.072,17\r\n 28.072,17\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaMensalAnalitico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n OUTUBRO/2020\r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n 26.477,56\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n \r\n \r\n TOTAL DE ENTRADAS\r\n 26.477,56\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n \r\n \r\n TOTAL DE SAÍDAS\r\n 26.477,56\r\n \r\n \r\n SALDO FINAL\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n \r\n \r\n OUTUBRO/2020\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE ENTRADAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE SAÍDAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n SALDO FINAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Divider, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaMensalLocalSintetico({valoresProvisionados}) {\r\n return (\r\n
\r\n
\r\n Local: Loja Matriz\r\n
\r\n \r\n
\r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n \r\n \r\n \r\n
SALDO INICIAL: 100,00
\r\n \r\n \r\n
SALDO FINAL: 100,00
\r\n \r\n \r\n\r\n {valoresProvisionados && \r\n
\r\n \r\n
DATA\r\n \r\n \r\n ENTRADA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n \r\n SAÍDA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n \r\n
OUTUBRO/2020\r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n NOVEMBRO/2020\r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n TOTAL DO PERÍODO\r\n \r\n \r\n 2.000,00\r\n 2.000,00\r\n \r\n \r\n \r\n \r\n 2.000,00\r\n 2.000,00\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {!valoresProvisionados &&\r\n
\r\n \r\n
DATA\r\n ENTRADA\r\n SAÍDA\r\n \r\n
\r\n \r\n
OUTUBRO/2020\r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n NOVEMBRO/2020\r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n TOTAL DO PERÍODO\r\n 2.000,00\r\n 2.000,00\r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaAnualAnalitico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n 2020\r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n 26.477,56\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n \r\n \r\n TOTAL DE ENTRADAS\r\n 26.477,56\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n \r\n \r\n TOTAL DE SAÍDAS\r\n 26.477,56\r\n \r\n \r\n SALDO FINAL\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n \r\n \r\n 2020\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE ENTRADAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE SAÍDAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n SALDO FINAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Divider, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaAnualLocalSintetico({valoresProvisionados}) {\r\n return (\r\n
\r\n
\r\n Local: Loja Matriz\r\n
\r\n \r\n
\r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n \r\n \r\n \r\n
SALDO INICIAL: 100,00
\r\n \r\n \r\n
SALDO FINAL: 100,00
\r\n \r\n \r\n\r\n {valoresProvisionados && \r\n
\r\n \r\n
DATA\r\n \r\n \r\n ENTRADA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n \r\n SAÍDA\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n \r\n
01/01/2019 à 31/12/2019\r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n 01/01/2020 à 31/12/2020\r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n \r\n \r\n TOTAL DO PERÍODO\r\n \r\n \r\n 2.000,00\r\n 2.000,00\r\n \r\n \r\n \r\n \r\n 2.000,00\r\n 2.000,00\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {!valoresProvisionados &&\r\n
\r\n \r\n
DATA\r\n ENTRADA\r\n SAÍDA\r\n \r\n
\r\n \r\n
01/01/2019 à 31/12/2019\r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n 01/01/2020 à 31/12/2020\r\n 1.000,00\r\n 1.000,00\r\n \r\n \r\n TOTAL DO PERÍODO\r\n 2.000,00\r\n 2.000,00\r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaMensalGerencialAnalitico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n OUTUBRO/2020\r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n 26.477,56\r\n \r\n \r\n RECEITAS DIRETAS\r\n -\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n -\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n \r\n \r\n SALDO FINAL\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
CONTA GERENCIAL\r\n \r\n \r\n OUTUBRO/2020\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n \r\n
\r\n \r\n
SALDO INICIAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n RECEITAS DIRETAS\r\n \r\n \r\n -\r\n -\r\n \r\n \r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE RECEITAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n CUSTOS\r\n \r\n \r\n -\r\n -\r\n \r\n \r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n \r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE DESPESAS\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n SALDO FINAL\r\n \r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaAnualGerencialAnalitico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
\r\n CONTA GERENCIAL\r\n \r\n \r\n OUTUBRO/2020\r\n \r\n \r\n
\r\n \r\n
\r\n SALDO INICIAL\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n RECEITAS DIRETAS\r\n \r\n -\r\n \r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n \r\n \r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE RECEITAS\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n CUSTOS\r\n \r\n -\r\n \r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n \r\n \r\n 0,00\r\n \r\n \r\n \r\n \r\n TOTAL DE DESPESAS\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n SALDO FINAL\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
\r\n CONTA GERENCIAL\r\n \r\n \r\n \r\n \r\n OUTUBRO/2020\r\n \r\n \r\n \r\n \r\n PREVISTO\r\n \r\n \r\n REALIZADO\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n SALDO INICIAL\r\n \r\n \r\n \r\n \r\n 26.477,56\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n \r\n RECEITAS DIRETAS\r\n \r\n \r\n \r\n -\r\n -\r\n \r\n \r\n \r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n \r\n \r\n \r\n \r\n 0,00\r\n \r\n \r\n 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DE RECEITAS\r\n \r\n \r\n \r\n \r\n 26.477,56\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n CUSTOS\r\n \r\n \r\n -\r\n -\r\n \r\n \r\n \r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n \r\n \r\n \r\n \r\n 0,00\r\n \r\n \r\n 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DE DESPESAS\r\n \r\n \r\n \r\n \r\n 26.477,56\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n \r\n SALDO FINAL\r\n \r\n \r\n \r\n \r\n 26.477,56\r\n \r\n \r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row, Divider } from 'antd';\r\n\r\nexport default function FluxoCaixaMensalGerencialSintetico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n
\r\n Local: Loja Matriz\r\n
\r\n \r\n
\r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n \r\n \r\n \r\n
SALDO INICIAL: 100,00
\r\n \r\n \r\n
SALDO FINAL: 100,00
\r\n \r\n \r\n\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
Fluxo de Caixa de NOVEMBRO/2020 a OUTUBRO/2020\r\n VALOR (R$)\r\n \r\n
\r\n \r\n
RECEITAS DIRETAS\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n \r\n \r\n SALDO DO PERÍODO\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
Fluxo de Caixa de NOVEMBRO/2020 a OUTUBRO/2020\r\n PREVISTO\r\n REALIZADO\r\n \r\n
\r\n \r\n
RECEITAS DIRETAS\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n SALDO DO PERÍODO\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row, Divider } from 'antd';\r\n\r\nexport default function FluxoCaixaAnualGerencialSintetico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n
\r\n Local: Loja Matriz\r\n
\r\n \r\n
\r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n \r\n \r\n \r\n
SALDO INICIAL: 100,00
\r\n \r\n \r\n
SALDO FINAL: 100,00
\r\n \r\n \r\n\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
Fluxo de Caixa de 2019 a 2020\r\n VALOR (R$)\r\n \r\n
\r\n \r\n
RECEITAS DIRETAS\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n \r\n \r\n SALDO DO PERÍODO\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
Fluxo de Caixa de 2019 a 2020\r\n PREVISTO\r\n REALIZADO\r\n \r\n
\r\n \r\n
RECEITAS DIRETAS\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n SALDO DO PERÍODO\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row } from 'antd';\r\n\r\nexport default function FluxoCaixaDiarioGerencialAnalitico({valoresProvisionados}) {\r\n\r\n return (\r\n
\r\n {!valoresProvisionados &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n
CONTA GERENCIAL\r\n \r\n
\r\n
SALDO INICIAL\r\n \r\n
\r\n
RECEITAS DIRETAS\r\n \r\n
\r\n
Clientes - Revenda de Mercadoria\r\n \r\n
\r\n
TOTAL DE ENTRADAS\r\n \r\n
\r\n
OUTRAS DESPESAS\r\n \r\n
\r\n
Compras de Mercadorias para Revenda\r\n \r\n
\r\n
TOTAL DE SAÍDAS\r\n \r\n
\r\n
SALDO FINAL\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
04/09/2020 A 05/09/2020\r\n \r\n
\r\n
26.477,56\r\n \r\n
\r\n
-\r\n \r\n
\r\n
0,00\r\n \r\n
\r\n
26.477,56\r\n \r\n
\r\n
-\r\n \r\n
\r\n
0,00\r\n \r\n
\r\n
26.477,56\r\n \r\n
\r\n
26.477,56\r\n \r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n
CONTA GERENCIAL\r\n \r\n
\r\n
SALDO INICIAL\r\n \r\n
\r\n
RECEITAS DIRETAS\r\n \r\n
\r\n
Clientes - Revenda de Mercadoria\r\n \r\n
\r\n
TOTAL DE ENTRADAS\r\n \r\n
\r\n
OUTRAS DESPESAS\r\n \r\n
\r\n
Compras de Mercadorias para Revenda\r\n \r\n
\r\n
TOTAL DE SAÍDAS\r\n \r\n
\r\n
SALDO FINAL\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
04/09/2020 A 05/09/2020\r\n \r\n \r\n PREVISTO\r\n REALIZADO\r\n \r\n \r\n
\r\n
\r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n -\r\n -\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n -\r\n -\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n 0,00\r\n 0,00\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Col, Row, Divider } from 'antd';\r\n\r\nexport default function FluxoCaixaDiarioGerencialSintetico({valoresProvisionados}) {\r\n return (\r\n
\r\n
\r\n Local: Loja Matriz\r\n
\r\n \r\n
\r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n
Caixa 1: 100,00
\r\n
Caixa 2: 200,00
\r\n \r\n \r\n \r\n \r\n \r\n
SALDO INICIAL: 100,00
\r\n \r\n \r\n
SALDO FINAL: 100,00
\r\n \r\n \r\n\r\n {!valoresProvisionados &&\r\n
\r\n \r\n
Fluxo de Caixa de 13/10/2020 a 13/10/2020\r\n VALOR (R$)\r\n \r\n
\r\n \r\n
RECEITAS DIRETAS\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n \r\n \r\n SALDO DO PERÍODO\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n {valoresProvisionados &&\r\n
\r\n \r\n
Fluxo de Caixa de 13/10/2020 a 13/10/2020\r\n PREVISTO\r\n REALIZADO\r\n \r\n
\r\n \r\n
RECEITAS DIRETAS\r\n \r\n \r\n Clientes - Revenda de Mercadoria\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE RECEITAS\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n CUSTOS\r\n \r\n \r\n Compras de Mercadorias para Revenda\r\n 0,00\r\n 0,00\r\n \r\n \r\n TOTAL DE DESPESAS\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n SALDO DO PERÍODO\r\n 26.477,56\r\n 26.477,56\r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Col, Form, Row, Select, Checkbox, Button, DatePicker } from 'antd';\r\nimport { SearchOutlined } from '@ant-design/icons';\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { BreadcrumbPage, BotaoAbrirChamado, Data } from '../../components';\r\nimport {\r\n FluxoCaixaDiarioLocalAnalitico, FluxoCaixaDiarioLocalSintetico, FluxoCaixaSemanalLocalAnalitico, FluxoCaixaMensalLocalAnalitico, FluxoCaixaAnualLocalAnalitico,\r\n FluxoCaixaMensalGerencialAnalitico, FluxoCaixaAnualGerencialAnalitico, FluxoCaixaMensalGerencialSintetico, FluxoCaixaAnualGerencialSintetico, FluxoCaixaDiarioGerencialAnalitico,\r\n FluxoCaixaDiarioGerencialSintetico, FluxoCaixaAnualLocalSintetico, FluxoCaixaMensalLocalSintetico\r\n} from './pages';\r\n\r\nexport default function FluxoCaixa() {\r\n\r\n const [formFluxoCaixa] = Form.useForm();\r\n const [tipoFluxoCaixa, setTipoFluxoCaixa] = useState(\"\");\r\n const [valoresProvisionados, setValoresProvisionados] = useState(false);\r\n const [periodo, setPeriodo] = useState([]);\r\n const [organizacao, setOrganizacao] = useState([]);\r\n const [formaApresentacao, setFormaApresentacao] = useState([]);\r\n const [tabelaFluxoCaixa, setTabelaFluxoCaixa] = useState([]);\r\n const [saldos, setSaldos] = useState({});\r\n\r\n function verificarFluxo() {\r\n let tipo = \"\";\r\n let fluxoPeriodo = formFluxoCaixa.getFieldValue('flx_periodo');\r\n let fluxoOrganizacao = formFluxoCaixa.getFieldValue('flx_organizacao');\r\n let fluxoApresentacao = formFluxoCaixa.getFieldValue('flx_apresentacao');\r\n\r\n if (fluxoPeriodo === 1 && fluxoOrganizacao === 1 && fluxoApresentacao === 1) {\r\n tipo = \"diarioLocalAnalitico\";\r\n api.get(`FluxoCaixa/ListarDiarioLocal?fluxoCaixaPeriodo=${fluxoPeriodo}&fluxoCaixaapresentacao=${fluxoApresentacao}&fluxoCaixaorganizacao=${fluxoOrganizacao}&fluxoCaixaDataInicial=${moment(formFluxoCaixa.getFieldValue().flx_dataInicial).toISOString()}&fluxoCaixaDataFinal=${moment(formFluxoCaixa.getFieldValue().flx_dataFinal).toISOString()}`).then(\r\n res => {\r\n if (!!res.data) {\r\n let totais = {};\r\n totais.saldoInicial = 0;\r\n totais.saldoFinal = 0;\r\n totais.totalDebitoRealizado = 0;\r\n totais.totalDebitoPrevisto = 0;\r\n totais.totalCreditoRealizado = 0;\r\n totais.totalCreditoPrevisto = 0;\r\n setTabelaFluxoCaixa(res.data);\r\n res.data[0].listaFluxoSaldos.forEach((saldo) => {\r\n totais.saldoInicial += (!!saldo ? saldo.saldoInicial : 0);\r\n totais.saldoFinal += (!!saldo ? saldo.saldo : 0);\r\n });\r\n res.data[0].listaFluxoItens.forEach((item) => {\r\n totais.totalDebitoRealizado += item.valor_RealizadoSaida;\r\n totais.totalDebitoPrevisto += item.valor_ProvisaoPagar;\r\n totais.totalCreditoRealizado += item.valor_RealizadoEntrada;\r\n totais.totalCreditoPrevisto += item.valor_ProvisaoReceber;\r\n });\r\n setSaldos(totais);\r\n }\r\n }\r\n ).catch(err => {\r\n console.log(err);\r\n });\r\n } else if (fluxoPeriodo === 1 && fluxoOrganizacao === 1 && fluxoApresentacao === 2) {\r\n tipo = \"diarioLocalSintetico\";\r\n api.get(`FluxoCaixa/ListaDiarioLocalSintetico?fluxoCaixaDataInicial=${moment(formFluxoCaixa.getFieldValue().flx_dataInicial).toISOString()}&fluxoCaixaDataFinal=${moment(formFluxoCaixa.getFieldValue().flx_dataFinal).toISOString()}`).then(\r\n res => {\r\n if (!!res.data) {\r\n let totais = {};\r\n totais.dataInicial = formFluxoCaixa.getFieldValue().flx_dataInicial;\r\n totais.dataFinal = formFluxoCaixa.getFieldValue().flx_dataFinal;\r\n totais.totalDebitoRealizado = 0;\r\n totais.totalDebitoPrevisto = 0;\r\n totais.totalCreditoRealizado = 0;\r\n totais.totalCreditoPrevisto = 0;\r\n totais.saldoInicial = 0;\r\n totais.saldoFinal = 0;\r\n res.data.forEach((item) => {\r\n totais.saldoInicial += !!item.valor_SaldoInicial ? parseFloat(item.valor_SaldoInicial) : 0;\r\n totais.saldoFinal += !!item.valor_SaldoFinal ? parseFloat(item.valor_SaldoFinal) : 0;\r\n totais.totalDebitoRealizado += !!item.valor_RealizadoSaida ? parseFloat(item.valor_RealizadoSaida) : 0;\r\n totais.totalDebitoPrevisto += !!item.valor_ProvisaoPagar ? parseFloat(item.valor_ProvisaoPagar) : 0;\r\n totais.totalCreditoRealizado += !!item.valor_RealizadoEntrada ? parseFloat(item.valor_RealizadoEntrada) : 0;\r\n totais.totalCreditoPrevisto += !!item.valor_ProvisaoReceber ? parseFloat(item.valor_ProvisaoReceber) : 0;\r\n });\r\n setSaldos(totais);\r\n setTabelaFluxoCaixa(res.data);\r\n }\r\n }\r\n ).catch(err => {\r\n console.log(err);\r\n });\r\n } else if (fluxoPeriodo === 2 && fluxoOrganizacao === 1 && fluxoApresentacao === 1) {\r\n tipo = \"semanalLocalAnalitico\";\r\n } else if (fluxoPeriodo === 3 && fluxoOrganizacao === 1 && fluxoApresentacao === 1) {\r\n tipo = \"quinzenalLocalAnalitico\";\r\n } else if (fluxoPeriodo === 4 && fluxoOrganizacao === 1 && fluxoApresentacao === 1) {\r\n tipo = \"mensalLocalAnalitico\";\r\n } else if (fluxoPeriodo === 4 && fluxoOrganizacao === 1 && fluxoApresentacao === 2) {\r\n tipo = \"mensalLocalSintetico\";\r\n } else if (fluxoPeriodo === 5 && fluxoOrganizacao === 1 && fluxoApresentacao === 1) {\r\n tipo = \"anualLocalAnalitico\";\r\n } else if (fluxoPeriodo === 4 && fluxoOrganizacao === 3 && fluxoApresentacao === 1) {\r\n tipo = \"mensalGerencialAnalitico\";\r\n } else if (fluxoPeriodo === 5 && fluxoOrganizacao === 3 && fluxoApresentacao === 1) {\r\n tipo = \"anualGerencialAnalitico\";\r\n } else if (fluxoPeriodo === 4 && fluxoOrganizacao === 3 && fluxoApresentacao === 2) {\r\n tipo = \"mensalGerencialSintetico\";\r\n } else if (fluxoPeriodo === 5 && fluxoOrganizacao === 3 && fluxoApresentacao === 2) {\r\n tipo = \"anualGerencialSintetico\";\r\n } else if (fluxoPeriodo === 1 && fluxoOrganizacao === 3 && fluxoApresentacao === 1) {\r\n tipo = \"diarioGerencialAnalitico\";\r\n } else if (fluxoPeriodo === 1 && fluxoOrganizacao === 3 && fluxoApresentacao === 2) {\r\n tipo = \"diarioGerencialSintetico\";\r\n } else if (fluxoPeriodo === 5 && fluxoOrganizacao === 1 && fluxoApresentacao === 2) {\r\n tipo = \"anualLocalSintetico\";\r\n }\r\n setTipoFluxoCaixa(tipo);\r\n }\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=FluxoCaixaPeriodo`).then(res => {\r\n setPeriodo(res.data);\r\n });\r\n api.get(`Enum/Listar?nome=FluxoCaixaFormaApresentacao`).then(res => {\r\n setFormaApresentacao(res.data);\r\n });\r\n api.get(`Enum/Listar?nome=FluxoCaixaOrganizacao`).then(res => {\r\n setOrganizacao(res.data);\r\n });\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n prevValues.flx_periodo !== currentValues.flx_periodo}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('flx_periodo') === 1) return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (getFieldValue('flx_periodo') === 2) return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (getFieldValue('flx_periodo') === 3) return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.flx_periodo !== currentValues.flx_periodo || prevValues.flx_organizacao !== currentValues.flx_organizacao}>\r\n {({ getFieldValue }) => {\r\n if (((getFieldValue('flx_periodo') === 1 || getFieldValue('flx_periodo') === 3) && getFieldValue('flx_organizacao') === 1) && getFieldValue('flx_organizacao') === 1) return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n setValoresProvisionados(event.target.checked)}>\r\n Mostrar Coluna de Valores Provisionados?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {tipoFluxoCaixa === \"diarioLocalAnalitico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"diarioLocalSintetico\" &&\r\n \r\n }\r\n {(tipoFluxoCaixa === \"semanalLocalAnalitico\" || tipoFluxoCaixa === \"quinzenalLocalAnalitico\") &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"mensalLocalAnalitico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"mensalLocalSintetico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"anualLocalAnalitico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"anualLocalSintetico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"mensalGerencialAnalitico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"anualGerencialAnalitico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"mensalGerencialSintetico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"anualGerencialSintetico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"diarioGerencialAnalitico\" &&\r\n \r\n }\r\n {tipoFluxoCaixa === \"diarioGerencialSintetico\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Button, Radio, Collapse, Card, Typography, Tag, InputNumber, Table, Modal, Select } from \"antd\";\r\nimport { SaveOutlined, CloseOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { linkApi } from \"../../services/auth\";\r\nimport { FormatDate, FormatNumber } from '../../ValueObjects/';\r\nimport { BreadcrumbPage, BotaoAbrirChamado, Data } from \"../../components\";\r\n\r\nexport default function ConciliacaoCartoes() {\r\n\r\n const [listaMovimentacao, setListaMovimentacao] = useState([]);\r\n const [formulario] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [listaContaGerencialTaxas, setListaContaGerencialTaxas] = useState([]);\r\n const [listaContaGerencialAgrupadorTaxas, setListaContaGerencialAgrupadorTaxas] = useState([]);\r\n\r\n const toggleDetalhes = (bnd_id, fpg_tipopagamento) => {\r\n let listaTemp = [...listaMovimentacao];\r\n let mov = listaTemp.filter((item) => { return item.bnd_id === bnd_id && item.fpg_tipopagamento === fpg_tipopagamento })[0];\r\n mov.openDetalhes = !mov.openDetalhes;\r\n setListaMovimentacao(listaTemp);\r\n };\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ dataInicial: moment(new Date()), dataFinal: moment(new Date()) });\r\n listarContaGerencial();\r\n listarMovimentacao();\r\n }, []);\r\n\r\n function listarContaGerencial() {\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?CodReceitaDespesa=2`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n })\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?CodReceitaDespesa=1`).then(res => {\r\n setListaContaGerencialAgrupadorTaxas(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencialTaxas(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n })\r\n }\r\n function listarMovimentacao() {\r\n let filtro = `dataFinal=${FormatDate(!!formulario.getFieldValue().dataFinal ? formulario.getFieldValue().dataFinal.toDate().toLocaleDateString() : new Date().toLocaleDateString())}\r\n &dataInicial=${FormatDate(!!formulario.getFieldValue().dataInicial ? formulario.getFieldValue().dataInicial.toDate().toLocaleDateString() : new Date().toLocaleDateString())}\r\n ${(formulario.getFieldValue().tipo !== 1 ? `&tipoMovimentacao=${formulario.getFieldValue().tipo}` : '')}`;\r\n setListaMovimentacao([]);\r\n api.get(`ConciliacaoCartao/ListarMovimentacao?${filtro}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let dadosMovimentacao = res.data;\r\n for (var i = 0; i < dadosMovimentacao.length; i++) {\r\n let lancamentos = dadosMovimentacao[i].conciliacaoCartaoDetalhamento;\r\n let taxas = dadosMovimentacao[i].dadosTaxaCartaoCreditoParcela;\r\n dadosMovimentacao[i].totaltaxas = 0;\r\n dadosMovimentacao[i].totalBruto = 0;\r\n dadosMovimentacao[i].auxTotaltaxas = 0;\r\n dadosMovimentacao[i].auxTotalBruto = 0;\r\n\r\n lancamentos.forEach((item) => {\r\n item.key = item.rcc_id;\r\n });\r\n // usando reduce\r\n dadosMovimentacao[i].totalBruto = lancamentos.reduce((prevVal, elem) => {\r\n //usando filter\r\n if (taxas.length > 0) {\r\n let taxa = taxas.filter((tax, index, taxas) => {\r\n return (tax.tcp_parcelaminima <= elem.numeroParcelas && tax.tcp_parcelamaxima >= elem.numeroParcelas);\r\n });\r\n if (taxa.length > 0) {\r\n dadosMovimentacao[i].totaltaxas += parseFloat((elem.rcc_valor * taxa[0].tcp_taxa).toFixed(2));\r\n }\r\n } else {\r\n if (dadosMovimentacao[i].fpg_tipopagamento === 4) {\r\n dadosMovimentacao[i].totaltaxas += parseFloat((elem.rcc_valor * dadosMovimentacao[i].bce_taxapadraodebito).toFixed(2));\r\n } else {\r\n dadosMovimentacao[i].totaltaxas += parseFloat((elem.rcc_valor * dadosMovimentacao[i].bce_taxapadraocredito).toFixed(2));\r\n }\r\n }\r\n return prevVal + elem.rcc_valor;\r\n }, 0);\r\n\r\n dadosMovimentacao[i].bce_taxapadraodebito = parseFloat((dadosMovimentacao[i].bce_taxapadraodebito * 100).toFixed(2));\r\n dadosMovimentacao[i].bce_taxapadraocredito = parseFloat((dadosMovimentacao[i].bce_taxapadraocredito * 100).toFixed(2));\r\n dadosMovimentacao[i].openDetalhes = false;\r\n }\r\n setListaMovimentacao(dadosMovimentacao);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function calcularTaxaCartao(e, bnd_id, fpg_tipopagamento) {\r\n let value = e.target.value.replace('%', '').replace(',', '.');\r\n value = (value > 100 ? 100 : value);\r\n let listaTemp = [...listaMovimentacao];\r\n let mov = listaTemp.filter((item) => { return item.bnd_id === bnd_id && item.fpg_tipopagamento === fpg_tipopagamento })[0];\r\n\r\n if (mov.fpg_tipopagamento === 4) {\r\n mov.totaltaxas = parseFloat((mov.totalBruto * (parseFloat(value) / 100)).toFixed(2));\r\n mov.auxTotaltaxas = parseFloat((mov.auxTotalBruto * (parseFloat(value) / 100)).toFixed(2));\r\n } else if (mov.fpg_tipopagamento === 3) {\r\n mov.totaltaxas = parseFloat((mov.totalBruto * (parseFloat(value) / 100)).toFixed(2));\r\n mov.auxTotaltaxas = parseFloat((mov.auxTotalBruto * (parseFloat(value) / 100)).toFixed(2));\r\n }\r\n\r\n setListaMovimentacao(listaTemp);\r\n };\r\n\r\n function marcarDesmarcarTodos(selectedRowKeys, bnd_id, fpg_tipopagamento) {\r\n let listaTemp = [...listaMovimentacao];\r\n let dados = listaTemp.filter((item) => { return item.bnd_id === bnd_id && item.fpg_tipopagamento === fpg_tipopagamento })[0];\r\n let lancamentos = dados.conciliacaoCartaoDetalhamento;\r\n let taxas = dados.dadosTaxaCartaoCreditoParcela;\r\n dados.auxTotaltaxas = 0;\r\n dados.auxTotalBruto = 0;\r\n dados.auxTotalBruto = lancamentos.reduce((prevVal, elem) => {\r\n let somaTotal = 0;\r\n if ((selectedRowKeys === null && elem.marcado === true) || (selectedRowKeys !== null && selectedRowKeys.indexOf(elem.rcc_id) >= 0)) {\r\n if (taxas.length > 0) {\r\n let taxa = taxas.filter((tax, index, taxas) => {\r\n return (tax.tcp_parcelaminima <= elem.numeroParcelas && tax.tcp_parcelamaxima >= elem.numeroParcelas);\r\n });\r\n if (taxa.length > 0) {\r\n dados.auxTotaltaxas += parseFloat((elem.rcc_valor * taxa[0].tcp_taxa).toFixed(2));\r\n }\r\n } else {\r\n if (dados.fpg_tipopagamento === 4) {\r\n dados.auxTotaltaxas += parseFloat((elem.rcc_valor * (parseFloat(dados.bce_taxapadraodebito) / 100)).toFixed(2));\r\n } else {\r\n dados.auxTotaltaxas += parseFloat((elem.rcc_valor * (parseFloat(dados.bce_taxapadraocredito) / 100)).toFixed(2));\r\n }\r\n }\r\n elem.marcado = true;\r\n somaTotal += parseFloat((elem.rcc_valor).toFixed(2));\r\n } else {\r\n elem.marcado = false;\r\n }\r\n return prevVal + somaTotal;\r\n }, 0);\r\n setListaMovimentacao(listaTemp);\r\n };\r\n\r\n function efetuarConciliacao() {\r\n let dadosEnviar = {};\r\n let listaMov = [];\r\n\r\n dadosEnviar.ctg_id = formulario.getFieldValue().ctg_id;\r\n dadosEnviar.ctg_id_taxas = formulario.getFieldValue().ctg_id_taxas;\r\n dadosEnviar.observacao = !!formulario.getFieldValue().observacao ? formulario.getFieldValue().observacao : \"\";\r\n let listaComMovimentacao = listaMovimentacao.filter((tax, index, movimentacao) => {\r\n return (tax.auxTotalBruto > 0);\r\n });\r\n let indice = 0;\r\n for (let i = 0; i < listaComMovimentacao.length; i++) {\r\n let dados = {};\r\n dados.hcc_totalbrutodebito = 0;\r\n dados.hcc_taxadebito = 0;\r\n dados.hcc_totalliquidodebito = 0;\r\n dados.hcc_totalbrutocredito = 0;\r\n dados.hcc_taxacredito = 0;\r\n dados.hcc_totalliquidocredito = 0;\r\n if (listaComMovimentacao[i].fpg_tipopagamento === 4) {\r\n dados.hcc_totalbrutodebito = parseFloat(listaComMovimentacao[i].auxTotalBruto.toFixed(2));\r\n dados.hcc_taxadebito = parseFloat(listaComMovimentacao[i].auxTotaltaxas.toFixed(2));\r\n dados.hcc_totalliquidodebito = parseFloat((dados.hcc_totalbrutodebito - dados.hcc_taxadebito).toFixed(2));\r\n } else {\r\n dados.hcc_totalbrutocredito = parseFloat(listaComMovimentacao[i].auxTotalBruto.toFixed(2));\r\n dados.hcc_taxacredito = parseFloat(listaComMovimentacao[i].auxTotaltaxas.toFixed(2));\r\n dados.hcc_totalliquidocredito = parseFloat((dados.hcc_totalbrutocredito - dados.hcc_taxacredito).toFixed(2));\r\n }\r\n dados.bce_id = listaComMovimentacao[i].bce_id;\r\n dados.ctc_id = listaComMovimentacao[i].ctc_id;\r\n dados.bnd_id = listaComMovimentacao[i].bnd_id;\r\n let lista = listaComMovimentacao[i].conciliacaoCartaoDetalhamento;\r\n dados.conciliacaoCartaoDetalhamento = lista.filter((mov, index, lista) => {\r\n return (mov.marcado === true);\r\n });\r\n if (i > 0) {\r\n let listDados = listaMov.filter((list, index, listaMov) => {\r\n return (listaComMovimentacao[i].bce_id === list.bce_id && listaComMovimentacao[i].bnd_id === list.bnd_id);\r\n });\r\n if (listDados.length > 0) {\r\n let listaA = listaMov[listDados[0].indice].conciliacaoCartaoDetalhamento\r\n let listaConcatenada = listaA.concat(dados.conciliacaoCartaoDetalhamento);\r\n delete listaMov[listDados[0].indice].conciliacaoCartaoDetalhamento;\r\n listaMov[listDados[0].indice].conciliacaoCartaoDetalhamento = listaConcatenada;\r\n\r\n if (listaComMovimentacao[i].fpg_tipopagamento === 4) {\r\n listaMov[listDados[0].indice].hcc_totalbrutodebito = parseFloat(listaComMovimentacao[i].auxTotalBruto.toFixed(2));\r\n listaMov[listDados[0].indice].hcc_taxadebito = parseFloat(listaComMovimentacao[i].auxTotaltaxas.toFixed(2));\r\n listaMov[listDados[0].indice].hcc_totalliquidodebito = parseFloat((dados.hcc_totalbrutodebito - dados.hcc_taxadebito).toFixed(2));\r\n } else {\r\n listaMov[listDados[0].indice].hcc_totalbrutocredito = parseFloat(listaComMovimentacao[i].auxTotalBruto.toFixed(2));\r\n listaMov[listDados[0].indice].hcc_taxacredito = parseFloat(listaComMovimentacao[i].auxTotaltaxas.toFixed(2));\r\n listaMov[listDados[0].indice].hcc_totalliquidocredito = parseFloat((dados.hcc_totalbrutocredito - dados.hcc_taxacredito).toFixed(2));\r\n }\r\n } else {\r\n dados.indice = indice;\r\n listaMov.push(dados);\r\n indice++;\r\n }\r\n } else {\r\n dados.indice = indice;\r\n listaMov.push(dados);\r\n indice++;\r\n }\r\n }\r\n dadosEnviar.HistoricoConciliacaoCartao = listaMov;\r\n setCarregando(false);\r\n if (!dadosEnviar.ctg_id_taxas || !dadosEnviar.ctg_id) {\r\n error(\"Não foi possível realizar a conciliação de cartões, Favor selecionar uma conta Gerencial!\");\r\n }\r\n else if (dadosEnviar.HistoricoConciliacaoCartao == []) {\r\n error(\"Não foi possível realizar a conciliação de cartões, Favor selecionar os registros a serem conciliados e tente novamente!\");\r\n } else {\r\n setCarregando(true);\r\n api.post(`ConciliacaoCartao/efetuarConciliacao`, JSON.stringify(dadosEnviar), { headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(\r\n (retorno) => {\r\n if (retorno) {\r\n Modal.success({\r\n content: 'Conciliação de cartões efetivada com sucesso!',\r\n });\r\n } else {\r\n error('Não foi possível realizar a conciliação de cartões!');\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n error(erro.response.data.Message, \"Não foi possível realizar a conciliação de cartões!\");\r\n }\r\n ).finally(() => {\r\n formulario.resetFields();\r\n formulario.setFieldsValue({ dataInicial: moment(new Date()), dataFinal: moment(new Date()) });\r\n listarMovimentacao();\r\n setCarregando(false);\r\n });\r\n }\r\n };\r\n\r\n function calculaValores(bnd_id, fpg_tipopagamento, valor, dadosTaxa) {\r\n let listaTemp = [...listaMovimentacao];\r\n let dados = listaTemp.filter((item) => { return item.bnd_id === bnd_id && item.fpg_tipopagamento === fpg_tipopagamento })[0];\r\n let lancamentos = dados.conciliacaoCartaoDetalhamento;\r\n let taxas = dados.dadosTaxaCartaoCreditoParcela;\r\n dados.totaltaxas = 0;\r\n dados.totalBruto = 0;\r\n\r\n let taxaAlterar = taxas.filter((taxa) => {\r\n return (taxa.tcp_parcelaminima === dadosTaxa.tcp_parcelaminima && taxa.tcp_parcelamaxima === dadosTaxa.tcp_parcelamaxima);\r\n });\r\n if (taxaAlterar.length > 0) {\r\n taxaAlterar[0].tcp_taxa = parseFloat(valor) / 100;\r\n }\r\n\r\n dados.totalBruto = lancamentos.reduce((prevVal, elem) => {\r\n if (taxas.length > 0) {\r\n let taxa = taxas.filter((taxa, index, taxas) => {\r\n return (taxa.tcp_parcelaminima <= elem.numeroParcelas && taxa.tcp_parcelamaxima >= elem.numeroParcelas);\r\n });\r\n if (taxa.length > 0) {\r\n dados.totaltaxas += parseFloat((elem.rcc_valor * taxa[0].tcp_taxa).toFixed(2));\r\n }\r\n } else {\r\n if (dados.fpg_tipopagamento === 4) {\r\n dados.totaltaxas += parseFloat((elem.rcc_valor * (parseFloat(dados.bce_taxapadraodebito) / 100)).toFixed(2));\r\n } else {\r\n dados.totaltaxas += parseFloat((elem.rcc_valor * (parseFloat(dados.bce_taxapadraocredito) / 100)).toFixed(2));\r\n }\r\n }\r\n return parseFloat((prevVal + elem.rcc_valor).toFixed(2));\r\n }, 0);\r\n setListaMovimentacao(listaTemp);\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaMovimentacao.map((item) => (\r\n
\r\n \r\n \r\n
\r\n
\r\n \"Visa\"\r\n
\r\n \r\n \r\n \r\n \r\n {item.fpg_tipopagamento === 3 ? \"Crédito\" : \"Débito\"} \r\n \r\n \r\n \r\n \r\n \r\n {item.bce_nomecredenciadora}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.ban_descricao} {item.ban_id} - {item.ban_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Agência: {item.ctc_numeroagencia}\r\n \r\n \r\n \r\n \r\n Conta: {item.ctc_numeroconta}\r\n \r\n \r\n \r\n \r\n \r\n {item.dadosTaxaCartaoCreditoParcela.length === 0 &&\r\n \r\n {item.fpg_tipopagamento === 3 && { calcularTaxaCartao(e, item.bnd_id, item.fpg_tipopagamento) }}\r\n formatter={value => `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />}\r\n {item.fpg_tipopagamento === 4 && { calcularTaxaCartao(e, item.bnd_id, item.fpg_tipopagamento) }}\r\n formatter={value => `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />}\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Total Bruto (R$): {FormatNumber(item.totalBruto, true, false)}\r\n \r\n \r\n \r\n \r\n Taxas (R$): {FormatNumber(item.totaltaxas, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Total Líquido (R$):
\r\n {FormatNumber(item.totalBruto - item.totaltaxas, true, false)}\r\n
\r\n
\r\n \r\n \r\n \r\n {item.dadosTaxaCartaoCreditoParcela.map((taxa) => (\r\n \r\n \r\n Modalidade\r\n Taxa\r\n \r\n \r\n \r\n Parcelado: {taxa.tcp_parcelaminima} a {taxa.tcp_parcelamaxima} vezes\r\n \r\n \r\n {\r\n calculaValores(item.bnd_id, item.fpg_tipopagamento, e.target.value.replace('%', '').replace(',', '.'), taxa);\r\n marcarDesmarcarTodos(null, item.bnd_id, item.fpg_tipopagamento);\r\n }}\r\n formatter={value => `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n
(\r\n
\r\n {moment(rcc_datalancamento).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Previsão de Recebimento',\r\n width: 158,\r\n render: ({ rcc_previsaorecebimento }) => (\r\n
\r\n {moment(rcc_previsaorecebimento).format(\"DD/MM/YYYY\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Série',\r\n render: ({ ser_serie }) => (\r\n
\r\n {ser_serie || '-'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Doc. Fiscal',\r\n render: ({ ntf_numero }) => (\r\n
\r\n {ntf_numero || '-'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Parcela',\r\n width: 65,\r\n align: 'center',\r\n render: ({ rcc_parcelarecebimento, numeroParcelas }) => (\r\n
\r\n {rcc_parcelarecebimento}\r\n {item.fpg_tipopagamento === 3 && /{numeroParcelas}}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'NSU',\r\n render: ({ rcc_nsu }) => (\r\n
\r\n {rcc_nsu || '-'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ rcc_valor }) => (\r\n
\r\n {FormatNumber(rcc_valor, true)}\r\n
\r\n ),\r\n },\r\n ]\r\n } rowSelection={{\r\n onChange: (selectedRowKeys) => marcarDesmarcarTodos(selectedRowKeys, item.bnd_id, item.fpg_tipopagamento)\r\n }} scroll={{ x: 900 }} />\r\n {!!item.auxTotalBruto &&\r\n
\r\n \r\n
\r\n \r\n \r\n Total Bruto (R$):\r\n \r\n \r\n {FormatNumber(item.auxTotalBruto, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Tarifas (R$):\r\n \r\n \r\n {FormatNumber(item.auxTotaltaxas, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Total Líquido (R$):\r\n \r\n \r\n {FormatNumber(item.auxTotalBruto - item.auxTotaltaxas, true)}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Modal } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { LancamentoCheque } from \"../../components\";\r\n\r\nexport default function ManutencaoCheque({ form, carregando, aoSalvar }) {\r\n\r\n const salvarManutencao = (values) => {\r\n carregando(true);\r\n api.post(`Cheque/Incluir?IdContaCorrente=${values.ctc_id}`, values.cheques).then(\r\n (retorno) => {\r\n if (retorno) {\r\n Modal.success({\r\n content: 'Cheque incluído com sucesso!',\r\n });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n error(erro.response.data.Message, \"Não foi possível incluir o cheque!\");\r\n }\r\n ).finally(() => {\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n };\r\n\r\n return (\r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Form, Row, Col, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport ManutencaoCheque from './manutencao';\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerCheque() {\r\n\r\n const [formCheque] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) formCheque.setFieldsValue(manutencao.dados);\r\n else {\r\n //formCheque.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formCheque.resetFields();\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-chq_dataemissao' } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport moment from 'moment';\r\nimport { Row, Col, Form, Select, Button, Dropdown, Menu } from \"antd\";\r\nimport { MoreOutlined, CheckOutlined, FileDoneOutlined, SyncOutlined, BankOutlined, SendOutlined, UserSwitchOutlined, TeamOutlined } from \"@ant-design/icons\";\r\n\r\nimport DrawerCheque from './drawer';\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport { linkApi } from \"../../services/auth\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalOcorrenciaCheque } from \"../../components/modals/\";\r\nimport { BreadcrumbIncluirDados, FiltroSearch, FiltroOrdenacao, TabelaDados } from \"../../components\";\r\n\r\nexport default function Cheque() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const [openModalOcorrencia, setOpenModalOcorrencia] = useState(false);\r\n const [statusCheque, setStatusCheque] = useState([]);\r\n const [dadosCheque, setDadosCheque] = useState({});\r\n const [ocorrencia, setOcorrencia] = useState(null);\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-chq_dataemissao' } });\r\n\r\n api.get(`Enum/Listar?nome=StatusCheque`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setStatusCheque(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, []);\r\n\r\n function menuTable(dados) {\r\n return (\r\n \r\n {dados.chq_status !== 0 &&\r\n < Menu.Item key=\"1\">\r\n \r\n \r\n }\r\n {dados.chq_status === 0 &&\r\n \r\n \r\n \r\n }\r\n {(dados.chq_status === 1 || dados.chq_status === 7) &&\r\n \r\n \r\n \r\n }\r\n {(dados.chq_status === 1 || dados.chq_status === 7) &&\r\n \r\n \r\n \r\n }\r\n {(dados.chq_status === 6) &&\r\n \r\n \r\n \r\n }\r\n {(dados.chq_status === 0 || dados.chq_status === 6) &&\r\n \r\n \r\n \r\n }\r\n {(dados.chq_status === 0 || dados.chq_status === 6) &&\r\n \r\n \r\n \r\n }\r\n {(dados.chq_status === 0) &&\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n };\r\n\r\n function filtrarStatusCheque(status) {\r\n if (typeof status != 'undefined') dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&status=${status}` } });\r\n else dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '' } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {chq_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Banco',\r\n render: ({ ban_id, ban_descricao, chq_agencia, chq_contacorrente, banco }) => (\r\n
\r\n \r\n
\r\n {banco.ban_descricao}{ban_id} - {banco.ban_descricao}\r\n \r\n \r\n \r\n \r\n Agência: {chq_agencia}\r\n \r\n \r\n Conta: {chq_contacorrente}\r\n \r\n \r\n \r\n ),\r\n }, {\r\n render: ({ chq_status, pessoa }) => (\r\n
\r\n \r\n
\r\n Cheque Recebido de: {pessoa.pes_nome}\r\n \r\n \r\n {statusCheque.length > 0 &&\r\n \r\n \r\n Situação: {statusCheque[chq_status].value}\r\n \r\n \r\n }\r\n \r\n ),\r\n }, {\r\n title: 'Data',\r\n width: 150,\r\n render: ({ chq_dataemissao, chq_bompara }) => (\r\n
\r\n \r\n
\r\n Emitido em: {moment(chq_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n {!!chq_bompara &&\r\n \r\n \r\n Bom para: {moment(chq_bompara).format('DD/MM/YYYY')}\r\n \r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ chq_valor }) => (\r\n
\r\n {FormatNumber(chq_valor, true, false)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n formulario.setFieldsValue({ DataFinal: moment(new Date()) });\r\n formulario.setFieldsValue({ DataInicial: moment(formulario.getFieldValue().dataPesquisa) });\r\n formulario.setFieldsValue({ dataFinal: moment(new Date()) });\r\n formulario.setFieldsValue({ dataInicial: moment(formulario.getFieldValue().dataPesquisa) });\r\n aplicarFiltrosAvancados();\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {openPesquisaAvancada ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { formulario.setFieldsValue({ ClienteId: null }); buscarClientes(dados); aplicarFiltrosAvancados() }}\r\n conteudo={\r\n cliente => ({cliente.pes_nome})} />\r\n \r\n \r\n \r\n \r\n { formulario.setFieldsValue({ ClienteId: null }); buscarBancos(dados); aplicarFiltrosAvancados() }}\r\n conteudo={\r\n banco => ( {banco.banc_id - banco.ban_descricao})} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {ban_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Informações',\r\n render: ({ pes_nome, ser_serie, ntf_numero, prc_numeroparcela }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n \r\n \r\n Nº Doc.: {ntf_numero}\r\n \r\n \r\n Parcela: {prc_numeroparcela}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Data Emissão',\r\n align: 'center',\r\n render: ({ bol_dataemissao }) => (\r\n
\r\n {moment(bol_dataemissao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Vencimento',\r\n align: 'center',\r\n render: ({ bol_datavencimento }) => (\r\n
\r\n {moment(bol_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ bol_valor }) => (\r\n
\r\n {FormatNumber(bol_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n width: 65,\r\n align: 'center',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n } onClick={() => imprimirBoleto(record)}>Imprimir\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Select, Button, Table, Checkbox, notification } from \"antd\";\r\nimport { InfoCircleOutlined, RedoOutlined, InfoOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { Data, FormGW } from \"../../components\";\r\nimport { linkApi } from \"../../services/auth\";\r\nimport { FormatDate, FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalGerarRemessa, ModalInstrucaoRemessa } from \"../../components/modals/\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ManutencaoRemessa({ formulario, carregando, aoSalvar }) {\r\n\r\n const [openModalInstrucaoRemessa, setOpenModalInstrucaoRemessa] = useState(false);\r\n const [openModalGerarRemessa, setOpenModalGerarRemessa] = useState(false);\r\n const [listaBancos, setListaBancos] = useState([]);\r\n const [listaParcelas, setListaParcelas] = useState([]);\r\n const [parcelaEditar, setParcelaEditar] = useState(null);\r\n const [dadosSelecionados, setDadosSelecionados] = useState({});\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ dataEmissao: moment(new Date()) });\r\n // api.get(`Banco/Listar?filtro=&ordem=%2Bban_descricao`).then((res) => {\r\n // if (res.status === 200) {\r\n // setListaBancos(res.data.items);\r\n // }\r\n // }).catch(err => {\r\n // console.log(err);\r\n // });\r\n }, []);\r\n\r\n function listarParcelas() {\r\n let emissao = !!formulario.getFieldValue().dataEmissao ? moment(formulario.getFieldValue().dataEmissao._d.toLocaleDateString()).format('YYYY-MM-DD') : moment(new Date().toLocaleDateString()).format('YYYY-MM-DD');\r\n let filtro = \"filtro=\";\r\n filtro = !!formulario.getFieldValue().ban_id ? `&CodigoBanco=${formulario.getFieldValue().ban_id}` : \"\";\r\n filtro = `&DataInicial=${emissao}&DataFinal=${emissao}`\r\n api.get(`Boleto/Listar?${filtro}`).then((res) => {\r\n if (res.status === 200) {\r\n setListaParcelas(res.data);\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function selecionarItem(parcela) {\r\n let parcelas = [...listaParcelas];\r\n let itemEditar = parcelas.find((item) => { return item.prc_id === parcela });\r\n itemEditar.selecionado = !itemEditar.selecionado;\r\n setListaParcelas(parcelas);\r\n };\r\n\r\n function selecionarTodos(checked) {\r\n let parcelas = [...listaParcelas];\r\n parcelas.map((item) => {\r\n item.selecionado = (checked ? true : false);\r\n });\r\n setListaParcelas(parcelas);\r\n };\r\n\r\n function salvarInstrucao(isp_codigo) {\r\n let parcelas = [...listaParcelas];\r\n if (!!parcelaEditar) {\r\n parcelas.find((parcela) => parcela.prc_id === parcelaEditar).isp_codigo = isp_codigo;\r\n setListaParcelas(parcelas);\r\n } else {\r\n parcelas.forEach((parcela, indice) => {\r\n parcela.isp_codigo = isp_codigo;\r\n if (indice === parcelas.length - 1) {\r\n setListaParcelas(parcelas);\r\n }\r\n });\r\n }\r\n setOpenModalInstrucaoRemessa(false);\r\n };\r\n\r\n function gerarRemessa() {\r\n if (listaParcelas.filter((parcela) => { return parcela.selecionado }).length === 0) {\r\n notification.warning({ message: 'Aviso', description: 'É preciso selecionar pelo menos uma parcela!' });\r\n return;\r\n }\r\n\r\n if (!!formulario.getFieldValue().ban_id) {\r\n let dados = {};\r\n dados.ban_id = formulario.getFieldValue().ban_id;\r\n dados.ban_descricao = listaBancos.find((banco) => (banco.ban_id === formulario.getFieldValue().ban_id)).ban_descricao;\r\n dados.rem_qtdeboletos = 0;\r\n dados.rem_valortotal = 0;\r\n listaParcelas.forEach((parcela) => {\r\n parcela.nomearquivo = '';\r\n parcela.extensaoArquivo = '';\r\n if (parcela.selecionado) {\r\n dados.rem_qtdeboletos++;\r\n dados.rem_valortotal += parcela.prc_valor;\r\n }\r\n });\r\n setDadosSelecionados(dados);\r\n setOpenModalGerarRemessa(true);\r\n }\r\n };\r\n\r\n function downloadArquivo() {\r\n let dados = listaParcelas.filter((parcela) => { return parcela.selecionado });\r\n\r\n api.post(`RemessaBoleto/GerarRemessa`, dados).then((retornoRemessa) => {\r\n if (!!retornoRemessa) {\r\n var filename = retornoRemessa.headers['x-filename'];\r\n var contentType = retornoRemessa.headers['content-type'];\r\n\r\n try {\r\n var blob = new Blob([retornoRemessa.data], { type: contentType });\r\n\r\n //verifica se o usuário usa IE\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n\r\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) {\r\n window.navigator.msSaveBlob(blob, filename);\r\n } else //se for outro navegador, return 0\r\n {\r\n //Cria a url para o blob\r\n var url = window.URL.createObjectURL(blob);\r\n var linkElement = document.createElement('a');\r\n linkElement.setAttribute('href', url);\r\n linkElement.setAttribute(\"download\", filename);\r\n\r\n //Força o download\r\n var clickEvent = new MouseEvent(\"click\", {\r\n \"view\": window,\r\n \"bubbles\": true,\r\n \"cancelable\": false\r\n });\r\n linkElement.dispatchEvent(clickEvent);\r\n setOpenModalGerarRemessa(false);\r\n aoSalvar();\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n \r\n function buscarBancos(ban_id) {\r\n api.get(`Banco/Listar?Filtro=${ban_id}&ordem=%2Bban_descricao`).then((res) => {\r\n if (res.status === 200) {\r\n setListaBancos(res.data);\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n \r\n return (\r\n
\r\n \r\n \r\n {/*
\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n { formulario.setFieldsValue({ ban_id: null }); buscarBancos(dados); listarParcelas();}} conteudo={\r\n ban => ({ban.ban_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{ return
{ selecionarTodos(event.target.checked) }} />
},\r\n align: 'center',\r\n width: 45,\r\n render: ({ prc_id, selecionado }) => (\r\n
\r\n { selecionarItem(prc_id) }} />\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Informações',\r\n render: ({ pes_nome, ser_serie, ntf_numero, prc_numeroparcela }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n \r\n \r\n Série: {ser_serie}\r\n \r\n \r\n Nº Doc.: {ntf_numero}\r\n \r\n \r\n Parcela: {prc_numeroparcela}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n render: ({ prc_datavencimento, ban_id, ban_descricao }) => (\r\n
\r\n \r\n
\r\n {ban_descricao}\r\n \r\n \r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Collapse, Button, Select, Tag } from \"antd\";\r\nimport { PrinterOutlined, DownloadOutlined, ArrowUpOutlined, ArrowDownOutlined, SearchOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerRemessa from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { linkApi } from \"../../services/auth\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { BreadcrumbIncluirDados, TabelaDados, Imprimir, Download, Data, FiltroSearch, ComboData } from \"../../components\";\r\n\r\nexport default function Remessa() {\r\n\r\n const [open, setOpen] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [clientes, setClientes] = useState([]);\r\n const [formulario] = Form.useForm();\r\n\r\n useEffect(() => {\r\n api.get(`Cliente/Listar?filtro=&ordem=%2brem_id`).then(\r\n res => {\r\n setClientes(res.data.items);\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n formulario.setFieldsValue({ dataFinal: moment(new Date()), dataInicial: moment(formulario.getFieldValue().dataPesquisa) });\r\n }, [])\r\n\r\n const togglePesquisa = () => {\r\n setOpen(!open);\r\n };\r\n\r\n function listarRemessas() {\r\n let cliente = !!formulario.getFieldValue().codigoCliente ? formulario.getFieldValue().codigoCliente : 0;\r\n let notaFiscal = !!formulario.getFieldValue().notaFiscal ? formulario.getFieldValue().notaFiscal : 0;\r\n let dataInicial = !!formulario.getFieldValue().dataInicial ? moment(formulario.getFieldValue().dataInicial).format('YYYY-MM-DD') : moment(new Date()).format('YYYY-MM-DD');\r\n let dataFinal = !!formulario.getFieldValue().dataFinal ? moment(formulario.getFieldValue().dataFinal).format('YYYY-MM-DD') : moment(new Date()).format('YYYY-MM-DD');\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataInicial=${dataInicial}&dataFinal=${dataFinal}&codigoCliente=${cliente}&codigoNota=${notaFiscal}`, ordem: '%2Brem_id' } });\r\n }\r\n\r\n function downloadArquivo(dados) {\r\n dados.extensaoArquivo = '';\r\n\r\n api.post(`RemessaBoleto/DownloadArquivo`, dados).then((retornoRemessa) => {\r\n if (!!retornoRemessa) {\r\n var filename = retornoRemessa.headers['x-filename'];\r\n var contentType = retornoRemessa.headers['content-type'];\r\n\r\n try {\r\n var blob = new Blob([retornoRemessa.data], { type: contentType });\r\n\r\n //verifica se o usuário usa IE\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n\r\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) {\r\n window.navigator.msSaveBlob(blob, filename);\r\n } else //se for outro navegador, return 0\r\n {\r\n //Cria a url para o blob\r\n var url = window.URL.createObjectURL(blob);\r\n var linkElement = document.createElement('a');\r\n linkElement.setAttribute('href', url);\r\n linkElement.setAttribute(\"download\", filename);\r\n\r\n //Força o download\r\n var clickEvent = new MouseEvent(\"click\", {\r\n \"view\": window,\r\n \"bubbles\": true,\r\n \"cancelable\": false\r\n });\r\n linkElement.dispatchEvent(clickEvent);\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n formulario.setFieldsValue({ dataFinal: moment(new Date()) });\r\n formulario.setFieldsValue({ dataInicial: moment(formulario.getFieldValue().dataPesquisa) });\r\n listarRemessas();\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {rem_id}\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n render: ({ usu_id, ban_id, ban_descricao }) => (\r\n
\r\n \r\n
\r\n {ban_descricao}\r\n \r\n \r\n Usuário {usu_id}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 105,\r\n render: ({ rem_datageracao }) => (\r\n
\r\n {moment(rem_datageracao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n\r\n {\r\n title: 'Quant.',\r\n align: 'center',\r\n width: 75,\r\n render: ({ rem_qtdeboletos }) => (\r\n
\r\n {rem_qtdeboletos}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ rem_valortotal }) => (\r\n
\r\n {FormatNumber(rem_valortotal, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (dados) => (\r\n
\r\n \r\n
\r\n } />\r\n \r\n \r\n } onClick={() => downloadArquivo(dados)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Upload, Button, message } from \"antd\";\r\nimport { CloudUploadOutlined, UploadOutlined, ArrowRightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { BreadcrumbAbrirChamado } from \"../../components\";\r\n\r\nexport default function RetornoBancario() {\r\n\r\n const props = {\r\n onChange(info) {\r\n const { status } = info.file;\r\n if (status !== 'uploading') {\r\n console.log(info.file, info.fileList);\r\n }\r\n if (status === 'done') {\r\n message.success(`${info.file.name} carregado com sucesso.`);\r\n } else if (status === 'error') {\r\n message.error(`${info.file.name} o upload deste arquivo falhou.`);\r\n }\r\n },\r\n defaultFileList: [\r\n {\r\n uid: '1',\r\n name: 'gestao_e_modulos.pdf',\r\n status: 'done',\r\n },\r\n {\r\n uid: '2',\r\n name: 'gestao.pdf',\r\n status: 'done',\r\n },\r\n {\r\n uid: '3',\r\n name: 'modulos.pdf',\r\n status: 'done',\r\n },\r\n ]\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n Arraste o Arquivo de Retorno aqui!\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n \r\n}","\r\nimport React, { useState } from \"react\";\r\nimport { Row, Col, Form, Input, Button, Dropdown, Menu, Badge } from \"antd\";\r\nimport { DownOutlined } from \"@ant-design/icons\";\r\n\r\nimport { BreadcrumbAbrirChamado, TabelaDados } from \"../../components\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\n\r\nexport default function RetornoBancarioLista() {\r\n\r\n const [ carregando, setCarregando ] = useState(false);\r\n\r\n function menu() {\r\n return (\r\n \r\n \r\n Liquidada \r\n \r\n \r\n Erros \r\n \r\n \r\n Todos \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n
\r\n \"Banco\r\n \r\n \r\n {ctc_numeroconta}\r\n \r\n \r\n \r\n \r\n {pes_nome}\r\n \r\n \r\n \r\n ),\r\n },\r\n { \r\n title: 'Motivo', \r\n render: ({bol_motivo}) => (\r\n
\r\n {bol_motivo}\r\n
\r\n ),\r\n },\r\n { \r\n title: 'Valor (R$)', \r\n align: 'right',\r\n fixed: 'right',\r\n render: ({prc_valor}) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n ]\r\n } expandir={({ ser_serie, bol_numero, prc_numeroparcela }) => {\r\n return (\r\n
\r\n \r\n
\r\n Série: {ser_serie} \r\n \r\n \r\n Nº Doc.: {bol_numero} \r\n \r\n \r\n Parcela: {prc_numeroparcela} \r\n \r\n \r\n \r\n )\r\n }} /> \r\n \r\n \r\n );\r\n \r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Table, Input, Checkbox, Tag, Button, Modal, notification, Divider } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, PlusOutlined, ExclamationCircleOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormGW, Editar, Excluir } from \"../../components\";\r\nimport { getEmpresa, getLocal } from \"../../services/auth\";\r\n\r\nexport default function ManutencaoArmazemEstoque({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaSetor, setListaSetor] = useState([]);\r\n const [exibirAlterarSetor, setExibirAlterarSetor] = useState(false);\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const selecionarOpcao = (record, checked) => {\r\n let setores = [...listaSetor];\r\n setores.filter((setor => (record === setor)))[0].ses_ativo = checked;\r\n setListaSetor(setores);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n buscarSetores();\r\n }\r\n }, [manutencao.dados]);\r\n\r\n //#region alterações setor\r\n\r\n function buscarSetores() {\r\n api.get(`SetorEstoque/ListarPorArmazem?aes_id=${manutencao.dados.aes_id}&codigoLocal=${getLocal()}`).then(\r\n res => {\r\n if (manutencao.dados?.duplicar) {\r\n res.data.forEach(\r\n item => {\r\n item.aes_id = 0;\r\n item.ses_id = 0;\r\n }\r\n );\r\n }\r\n setListaSetor(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n if (manutencao.dados.duplicar) {\r\n formulario.setFieldsValue({ aes_id: 0 });\r\n }\r\n }\r\n )\r\n };\r\n\r\n function incluirSetor() {\r\n let setores = [...listaSetor];\r\n let setor = formulario.getFieldValue().ses_descricaoItem;\r\n if (!!setor) {\r\n let obj = {};\r\n obj.ses_id = 0;\r\n obj.aes_id = formulario.getFieldValue().aes_id;\r\n obj.ses_descricao = setor;\r\n obj.ses_ativo = true;\r\n setores.push(obj);\r\n setListaSetor(setores);\r\n formulario.setFieldsValue({ ses_descricaoItem: null });\r\n } else {\r\n notification.warning({ message: 'Aviso!', description: 'Informe a descrição do setor' });\r\n return false;\r\n }\r\n };\r\n\r\n function editarSetor(record) {\r\n formulario.setFieldsValue({ ses_id: record.ses_id });\r\n formulario.setFieldsValue({ ses_descricaoItem: record.ses_descricao });\r\n setExibirAlterarSetor(true);\r\n };\r\n\r\n function alterarSetor() {\r\n let setores = [...listaSetor];\r\n setores.filter((setor) => (setor.ses_id === formulario.getFieldValue().ses_id))[0].ses_descricao = formulario.getFieldValue().ses_descricaoItem;\r\n setListaSetor(setores);\r\n cancelarAlteracaoSetor();\r\n };\r\n\r\n function cancelarAlteracaoSetor() {\r\n formulario.setFieldsValue({ id: null });\r\n formulario.setFieldsValue({ ses_descricaoItem: null });\r\n setExibirAlterarSetor(false);\r\n };\r\n\r\n //#endregion\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+aes_descricao' } });\r\n };\r\n\r\n function excluirRegistro(dados) {\r\n let setores = [...listaSetor];\r\n setores = setores.filter((setor) => (setor !== dados));\r\n setListaSetor(setores);\r\n };\r\n\r\n function salvarManutencao(values) {\r\n values.setorestoques = listaSetor;\r\n values.emp_id = getEmpresa();\r\n values.loc_id = getLocal();\r\n\r\n carregando(true);\r\n if (values.aes_id) {\r\n editar(values);\r\n } else {\r\n incluir(values);\r\n };\r\n }\r\n\r\n function editar(values) {\r\n api.put(`ArmazemEstoque/Editar`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Armazém de Estoque foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n function incluir(values) {\r\n api.post(`ArmazemEstoque/Incluir`, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Armazém de Estoque foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!exibirAlterarSetor && \r\n \r\n \r\n \r\n }\r\n {exibirAlterarSetor &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n Armazém Ativo?\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} dataSource={listaSetor} columns={\r\n [\r\n {\r\n title: 'Descrição do setor',\r\n render: ({ ses_descricao }) => (\r\n
\r\n {ses_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n align: 'center',\r\n render: (record) => (\r\n selecionarOpcao(record, checked)}\r\n >\r\n Ativo\r\n \r\n\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n render: (dados) => (\r\n
\r\n \r\n
\r\n } onClick={() => { editarSetor(dados) }} />\r\n \r\n \r\n } onClick={() => { modalExcluir(dados) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n );\r\n\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Form, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoArmazemEstoque from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerArmazemEstoque() {\r\n\r\n const [formArmazemEstoque] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (!!manutencao.dados){\r\n formArmazemEstoque.setFieldsValue(manutencao.dados);\r\n }\r\n \r\n function fecharDrawer() {\r\n formArmazemEstoque.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport DrawerArmazemEstoque from './drawer';\r\nimport { getEmpresa, getLocal } from \"../../services/auth\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir, Duplicar } from \"../../components\";\r\n\r\nexport default function ArmazemEstoque() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n const modalDuplicarDados = (dados) => {\r\n Modal.confirm({\r\n title: 'Duplicar?',\r\n icon: ,\r\n content: `Deseja duplicar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n dados.duplicar = true;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+aes_descricao' } })\r\n }, []);\r\n\r\n function excluirRegistro(dados) {\r\n api.delete(`ArmazemEstoque/Excluir/${dados.aes_id}`).then(\r\n res => {\r\n notification.success({ description: `Armazém de Estoque excluido com sucesso!`, message: 'Sucesso' });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+aes_descricao' } });\r\n }\r\n ).catch(\r\n erro => {\r\n Modal.confirm({\r\n title: `Não foi possível excluir o Armazém de Estoque ${dados.aes_descricao}`,\r\n icon: ,\r\n content: `Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.put(`ArmazemEstoque/Inativar/${dados.aes_id}`).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: 'Armazém de Estoque inativado com sucesso!' });\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n notification.warning({ message: 'Aviso!', description: 'Não foi possivel inativar o Armazém de Estoque' });\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+aes_descricao' } });\r\n }\r\n );\r\n }\r\n });\r\n }\r\n )\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {aes_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Armazém de Estoque',\r\n render: ({ aes_descricao }) => (\r\n
\r\n {aes_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n } onClick={() => { modalDuplicarDados(dados) }} />\r\n \r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { modalExcluir(dados) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandir={({ aes_endereco, aes_numero, aes_bairro }) => {\r\n return (\r\n
\r\n \r\n
\r\n Endereço: {aes_endereco || 'Não Informado'}{(!!aes_numero) ? (', ' + aes_numero) : ''}{!!(aes_bairro) ? (', ' + aes_bairro) : ''}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Table } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { drawerActions } from \"../../actions\";\r\nimport {FormatNumber} from '../../ValueObjects';\r\n\r\nexport default function GradeEstoque({ dadosGrade }) {\r\n const [itensGrade, setItensGrade] = useState([]);\r\n const [itensProduto, setItensProduto] = useState({});\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n\r\n useEffect(() => {\r\n if (!!dadosGrade.pro_id) {\r\n carregarDados();\r\n }\r\n }, [dadosGrade])\r\n\r\n function carregarDados() {\r\n setItensProduto(dadosGrade);\r\n api.get(`Estoque/ListaEstoqueGradesProdutos?CodigoProduto=${dadosGrade.pro_id}`).then(\r\n res => {\r\n let key = 0;\r\n res.data.forEach((produtoGrade) => {\r\n produtoGrade.key = key;\r\n key++;\r\n });\r\n setItensGrade(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n function onClose() {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerGradeEstoque: false } });\r\n }\r\n return (\r\n
\r\n Produto/Mercadoria: {itensProduto.pro_codigo} - {itensProduto.pro_descricao}\r\n
\r\n
( \r\n \r\n \r\n \r\n {ean}\r\n \r\n \r\n {atributos.map(atrib => (\r\n \r\n {atrib.mgp_descricao}\r\n \r\n ))}\r\n \r\n ),\r\n }, {\r\n title: 'Preço (R$)',\r\n align: 'right',\r\n render: ({ precoVenda }) => (\r\n
\r\n {FormatNumber(precoVenda, true)}\r\n
\r\n ),\r\n }, {\r\n title: 'Estoque',\r\n align: 'center',\r\n render: ({ qtdEstoque }) => (\r\n
\r\n {qtdEstoque}\r\n
\r\n )\r\n }, {\r\n title: 'Pedido',\r\n align: 'center',\r\n render: ({ qtdPedido }) => (\r\n
\r\n {qtdPedido}\r\n
\r\n )\r\n }, {\r\n title: 'Condicional',\r\n align: 'center',\r\n render: ({ qtdCondicional }) => (\r\n
\r\n {qtdCondicional}\r\n
\r\n )\r\n }, {\r\n title: 'Previsão',\r\n align: 'center',\r\n render: ({ qtdPrevisao }) => (\r\n
\r\n \r\n {qtdPrevisao}\r\n \r\n
\r\n )\r\n } \r\n ]} dataSource={itensGrade} />\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Row, Col, Typography, Input, Button, Tag, Table } from \"antd\";\r\nimport { SearchOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\n\r\nexport default function OutrasFiliais() {\r\n\r\n const searchInput = useRef();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [filtros, setFiltros] = useState([]);\r\n const [dadosEstoque, setDadosEstoque] = useState([]);\r\n const [dadosEstoqueGeral, setDadosEstoqueGeral] = useState([]);\r\n const [pagina, setPagina] = useState(1);\r\n const [registrosPorPagina, setRegistrosPorPagina] = useState(10);\r\n useEffect(() => {\r\n let items = [];\r\n dadosEstoqueGeral.filter(\r\n (estoque, index) => {\r\n\r\n let retorno = true;\r\n filtros.forEach((filtro, index, array) => {\r\n if (!(estoque[filtro.campo].toLowerCase().indexOf(filtro.valor.toLowerCase()) > -1) && filtro.valor !== '') {\r\n retorno = false;\r\n }\r\n if (index === array.length - 1 && retorno) {\r\n items.push(estoque)\r\n }\r\n\r\n })\r\n if (index === dadosEstoque.length - 1) {\r\n if (items.length > 0 || filtros.length > 0) {\r\n setDadosEstoque(items);\r\n } else {\r\n setDadosEstoque(dadosEstoqueGeral);\r\n }\r\n } else {\r\n setDadosEstoque(dadosEstoqueGeral);\r\n }\r\n }\r\n );\r\n }, [filtros]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n buscarDadosEstoque();\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function buscarDadosEstoque() {\r\n api.get(`Estoque/Listar?CodProduto=${manutencao.dados.pro_id}&TipoLista=2`).then(\r\n res => {\r\n if (res.status === 200) {\r\n let sequencia = 1;\r\n res.data.items.forEach(item => {\r\n item.indice = sequencia;\r\n sequencia++;\r\n });\r\n setDadosEstoqueGeral(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosEstoqueGeral && dadosEstoqueGeral.length > 0) {\r\n setDadosEstoque(dadosEstoqueGeral);\r\n }\r\n }, [dadosEstoqueGeral]);\r\n\r\n const getColumnSearchProps = dataIndex => ({\r\n filterDropdown: ({ setSelectedKeys, selectedKeys, clearFilters }) => (\r\n
\r\n \r\n
\r\n setSelectedKeys(e.target.value ? [e.target.value] : [])}\r\n onPressEnter={() => handleSearch(selectedKeys, dataIndex, clearFilters)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n filterIcon: filtered => ,\r\n onFilter: (value, record) =>\r\n record[dataIndex] ? record[dataIndex].toString().toLowerCase().includes(value.toLowerCase()) : '',\r\n onFilterDropdownVisibleChange: visible => {\r\n if (visible) {\r\n setTimeout(() => searchInput.current.focus());\r\n }\r\n },\r\n render: text => text\r\n });\r\n\r\n const handleSearch = (selectedKeys, dataIndex, clearFilters) => {\r\n let listaFiltros = [...filtros];\r\n let indice = listaFiltros.findIndex(f => f.campo === dataIndex);\r\n if (indice < 0) {\r\n listaFiltros.push({ campo: dataIndex, valor: selectedKeys[0], clearFilters });\r\n } else {\r\n listaFiltros[indice].valor = selectedKeys[0];\r\n }\r\n setFiltros(listaFiltros);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n A lista abaixo está sendo filtrada por:\r\n \r\n \r\n \r\n {filtros.map((_filtro, indice) => (\r\n {\r\n filtros[indice].clearFilters();\r\n let _filtros = [...filtros];\r\n _filtros.splice(indice, 1);\r\n setFiltros(_filtros);\r\n }}>\r\n {`${_filtro.valor}`}\r\n \r\n ))}\r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n {loc_codigo}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Produto',\r\n ...getColumnSearchProps('loc_descricao'),\r\n render: ({ loc_descricao }) => (\r\n
\r\n {loc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Quantidade',\r\n align: 'center',\r\n width: 120,\r\n render: ({ pre_qtde }) => (\r\n
\r\n {pre_qtde}\r\n
\r\n ),\r\n },\r\n ]} dataSource={dadosEstoque} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Row, Col, Typography, Input, Button, Tag, Table } from \"antd\";\r\nimport { SearchOutlined } from \"@ant-design/icons\";\r\n\r\nimport { TabelaDados } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function Armazem({ idProduto }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const searchInput = useRef();\r\n const [listaArmazens, setListaArmazens] = useState([]);\r\n const [filtros, setFiltros] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!!idProduto)\r\n carregarDados(idProduto);\r\n }, [idProduto])\r\n\r\n useEffect(() => {\r\n console.log('Busca do Servidor com os Filtros: ', filtros);\r\n }, [filtros])\r\n\r\n function carregarDados(id) {\r\n api.get(`ArmazemEstoque/ListarArmazensProduto?idProduto=${id}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setListaArmazens(res.data);\r\n }\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n O Produto está nos seguintes armazéns:\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {aes_descricao}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Quantidade',\r\n align: 'center',\r\n width: 150,\r\n render: ({ pre_qtde }) => (\r\n
\r\n {pre_qtde}\r\n
\r\n ),\r\n }\r\n ]}\r\n dataSource={listaArmazens}\r\n />\r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Select, Button, Tag, Drawer, Modal, Input, Checkbox } from \"antd\";\r\nimport { HomeOutlined, EyeOutlined, ArrowLeftOutlined, HddOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport GradeEstoque from \"./gradeEstoque\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { OutrasFiliais, Armazem } from \"./pages\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { listaTabelaDadosActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BotaoAbrirChamado, BreadcrumbPage, SelectPaginacao, TabelaDados } from \"../../components\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function Estoque() {\r\n\r\n const [{ listaTabelaDados }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n const [openOutras, setOpenOutras] = useState(false);\r\n const [openArmazem, setOpenArmazem] = useState(false);\r\n const [consultaGeral, setConsultaGeral] = useState(false);\r\n const [listaMarca, setListaMarca] = useState([]);\r\n const [listaGrupo, setListaGrupo] = useState([]);\r\n const [listaSubGrupo, setListaSubGrupo] = useState([]);\r\n const [idProduto, setIdProduto] = useState(null);\r\n const [dadosProdutoGrade, setDadosProdutoGrade] = useState({});\r\n const [openGradeProduto, setOpenGradeProduto] = useState(false);\r\n const [carregando, setCarregando] = useState(false);\r\n const showDrawerOutras = record => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n setOpenOutras(true);\r\n };\r\n\r\n const onCloseOutras = () => {\r\n setOpenOutras(false);\r\n };\r\n\r\n function showDrawerArmazem(id) {\r\n setIdProduto(id);\r\n setOpenArmazem(true);\r\n };\r\n\r\n const onCloseArmazem = () => {\r\n setOpenArmazem(false);\r\n };\r\n\r\n const onCloseGrade = () => {\r\n setOpenGradeProduto(false);\r\n }\r\n\r\n function carregarDados() {\r\n popularDadosMarca();\r\n popularDadosGrupo();\r\n };\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: form.getFieldValue().ordem } });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!listaTabelaDados.itens && isObjetoDiffVazio(listaTabelaDados.itens)) {\r\n setCarregando(false);\r\n dispatch({ type: listaTabelaDadosActions.CHANGE, data: { itens: null } })\r\n }\r\n }, [listaTabelaDados.itens]);\r\n\r\n function popularDadosMarca() {\r\n api.get('Marca/Listar?Ativa=true&order=+mar_nome').then(\r\n res => {\r\n setListaMarca(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function popularDadosGrupo() {\r\n api.get(`GrupoProduto/Listar?filtro&order=+gru_nome`).then(\r\n res => {\r\n setListaGrupo(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function popularDadosSubGrupo(gru_id) {\r\n api.get(`SubGrupo/Listar?CodigoGrupo=${gru_id}&ordem=+sgp_nome`).then(\r\n res => {\r\n setListaSubGrupo(res.data.items);\r\n form.setFieldsValue({ sgp_id: null });\r\n consultar();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function consultaTodosProd() {\r\n setConsultaGeral(true);\r\n consultar(true);\r\n };\r\n\r\n\r\n function filtro(tpLista = 1) {\r\n let grupo = !!form.getFieldValue().gru_id ? \"&CodGrupo=\" + form.getFieldValue().gru_id : '';\r\n let marca = !!form.getFieldValue().mar_id ? \"&CodMarca=\" + form.getFieldValue().mar_id : '';\r\n let produto = !!form.getFieldValue().pro_id ? \"&CodProduto=\" + form.getFieldValue().pro_id : '';\r\n let subGrupo = !!form.getFieldValue().sgp_id ? \"&CodSubGrupo=\" + form.getFieldValue().sgp_id : '';\r\n let filtroDesc = !!form.getFieldValue().filtro ? \"&filtro=\" + form.getFieldValue().filtro : '';\r\n let filtroTpEstoque = !!form.getFieldValue().tpEstoque ? \"&TpEstoque=\" + form.getFieldValue().tpEstoque : '';\r\n let ativo = !!form.getFieldValue().ativo ? \"&Ativo=\" + form.getFieldValue().ativo : '';\r\n let fil = `${filtroDesc + grupo + marca + produto + subGrupo + filtroTpEstoque + ativo + \"&TipoLista=\" + tpLista }`;\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: fil, filtro: '', ordem: '+pro_descricao' } });\r\n }\r\n\r\n function consultar() {\r\n filtro();\r\n };\r\n\r\n function buscarProduto() {\r\n filtro(3);\r\n };\r\n\r\n function listarGrades(record) {\r\n setDadosProdutoGrade(record);\r\n setOpenGradeProduto(true);\r\n };\r\n\r\n function pesqProdutoUnico() {\r\n setConsultaGeral(false);\r\n };\r\n\r\n function onChangeOrdem(val) {\r\n if (consultaGeral) {\r\n consultar(val);\r\n } else {\r\n buscarProduto();\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: form.getFieldValue().ordem } });\r\n }\r\n\r\n //onChangeAtivos\r\n function onChangeAtivos(val) {\r\n if (consultaGeral) {\r\n consultar(val);\r\n } else {\r\n buscarProduto();\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: form.getFieldValue().ordem } });\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n
\r\n
\r\n \r\n
\r\n {!consultaGeral &&\r\n \r\n { buscarProduto(value) }}\r\n conteudo={\r\n pro => (\r\n {pro.pro_codigo} - {pro.pro_descricao}
\r\n {!!pro.pro_ean ? 'EAN/GTIN:' + pro.pro_ean : ''}\r\n {!!pro.pro_ean && !!pro.prg_id ?
: ''}\r\n {!!pro.prg_id ? 'Grade: ' + pro.descricaograde : ''}\r\n
)\r\n } />\r\n
}\r\n {consultaGeral && \r\n { consultar() }} />\r\n }\r\n \r\n {consultaGeral && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n consultar()}>\r\n Todos\r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n {!!!consultaGeral &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!!consultaGeral &&\r\n <>\r\n \r\n \r\n { consultar() }}\r\n conteudo={mar => (\r\n {mar.mar_nome}\r\n )} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n
\r\n (\r\n
\r\n \r\n {pro_codigo}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Produto',\r\n width: 400,\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'EAN',\r\n width: 100,\r\n render: ({ pro_ean, possuiGrade }, record) => (\r\n
\r\n \r\n
\r\n {pro_ean || 'Não Informado'}\r\n \r\n \r\n {!!possuiGrade ?\r\n : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Preço (R$)',\r\n align: 'right',\r\n width: 90,\r\n render: ({ precoVendaMinimo, precoVendaMaximo }) => (\r\n
\r\n {parseFloat(precoVendaMaximo) > parseFloat(precoVendaMinimo) ?
\r\n {FormatNumber(precoVendaMinimo, true)} \r\n até {FormatNumber(precoVendaMaximo, true)} \r\n
:
\r\n {FormatNumber(precoVendaMinimo, true)} \r\n
}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Estoque',\r\n align: 'center',\r\n width: 100,\r\n render: ({ pre_qtde }) => (\r\n
\r\n {pre_qtde}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Pedido',\r\n align: 'center',\r\n width: 100,\r\n render: ({ pre_qtdePedido }) => (\r\n
\r\n {pre_qtdePedido}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Condicional',\r\n align: 'center',\r\n width: 100,\r\n render: ({ pre_qtdeCondicional }) => (\r\n
\r\n {pre_qtdeCondicional}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Previsão',\r\n align: 'center',\r\n width: 100,\r\n render: ({ pre_qtde, pre_qtdePedido, pre_qtdeCondicional }) => (\r\n
\r\n {parseFloat(pre_qtde) - parseFloat(pre_qtdePedido) - parseFloat(pre_qtdeCondicional)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {moment(formulario.getFieldValue().pre_dataposicao).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!itemProduto &&\r\n \r\n \r\n validarProduto(valor)} detalhes={true} placeholder=\"Selecione o Produto\" name=\"pro_id\" form={formulario} ordem={\"pro_descricao\"} /> \r\n \r\n \r\n }\r\n {!!!itemProduto &&\r\n \r\n \r\n onChangeProCodigo()} />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {ehFracionado ? : }\r\n \r\n \r\n }\r\n {!!formulario.getFieldValue().customedio &&\r\n \r\n { popularCustoMedioGrade() }} />\r\n \r\n }\r\n {!!formulario.getFieldValue().custocomicms &&\r\n \r\n { popularCustoComIcmsGrade() }} />\r\n \r\n }\r\n {!!formulario.getFieldValue().custosemicms &&\r\n \r\n { popularCustoSemIcmsGrade() }} />\r\n \r\n }\r\n {!!formulario.getFieldValue().custoultimacompra &&\r\n \r\n { popularCustoUltimaCompraGrade() }} />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {grade.possuiGrade &&
(\r\n
\r\n \r\n
\r\n \r\n {ean}\r\n \r\n \r\n {atributos.map(atr => (\r\n \r\n {atr.mgp_descricao}\r\n \r\n ))}\r\n \r\n \r\n\r\n )\r\n },\r\n !!formulario.getFieldValue().customedio ? custoMedio :
,\r\n !!formulario.getFieldValue().custocomicms ? custoComIcms :
,\r\n !!formulario.getFieldValue().custosemicms ? custoSemIcms :
,\r\n !!formulario.getFieldValue().custoultimacompra ? custoUltimaCompra :
,\r\n {\r\n title: 'Quantidade',\r\n width: 100,\r\n render: ({ prg_id, qtdEstoque }) => (\r\n \r\n \r\n \r\n )\r\n }]} dataSource={itensGrade.itensGrade} scroll={{ x: 900 }} />}\r\n \r\n }\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Typography, Checkbox, Button, notification, Modal, Input } from \"antd\";\r\nimport { ArrowRightOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment, { min } from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { Data, FormGW } from \"../../components\";\r\nimport { getLocal } from \"../../services/auth\";\r\nimport CustosInventario from './custosInventario';\r\n\r\nexport default function ManutencaoEstoqueInventario({ formulario, carregando, aoSalvar, exibirCustos, setExibirCustos }) {\r\n\r\n const [itensGrade, setItensGrade] = useState([]);\r\n const [possuiGrade, setPossuiGrade] = useState(false);\r\n const [listaProduto, setListaProduto] = useState([]);\r\n const [dataHora, setDataHora] = useState([]);\r\n\r\n useEffect(() => {\r\n carregarData();\r\n }, []);\r\n\r\n function carregarData() {\r\n let dataAtual = moment(new Date());\r\n formulario.setFieldsValue({ pre_dataposicao: dataAtual });\r\n let hora = dataAtual.hours();\r\n let minuto = dataAtual.minutes();\r\n if (hora < 10) hora = '0' + hora;\r\n if (minuto < 10) minuto = '0' + minuto;\r\n formulario.setFieldsValue({ pre_hora: hora + ':' + minuto });\r\n let teste = formulario.getFieldValue().pre_hora;\r\n setDataHora(hora + ':' + minuto);\r\n };\r\n\r\n function modalConfirmacao(values) {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Caso já existam registros com data posterior a data ${moment(formulario.getFieldValue().pre_dataposicao).format('DD/MM/YYYY')} eles serão excluídos, deseja continuar?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n salvarManutencao(values);\r\n }\r\n });\r\n };\r\n\r\n function changeExibirCustos() {\r\n if (!!formulario.getFieldValue().customedio || !!formulario.getFieldValue().custocomicms\r\n || !!formulario.getFieldValue().custosemicms || !!formulario.getFieldValue().custoultimacompra) {\r\n if (!!formulario.getFieldValue().pre_dataposicao) {\r\n setExibirCustos(!exibirCustos);\r\n } else {\r\n notification.warning({ description: `Informe a data da posição do inventário`, message: 'Aviso' })\r\n }\r\n } else {\r\n notification.warning({ description: 'Selecione pelo menos um custo para ser informado no inventário!', message: 'Aviso' })\r\n }\r\n };\r\n\r\n function validarValoresInformados(valores) {\r\n let retorno = true;\r\n let campos = [];\r\n if (!!formulario.getFieldValue().customedio && !!!valores.pre_valorcustomedio) {\r\n retorno = false;\r\n campos.push(\"Custo Médio\");\r\n }\r\n if (!!formulario.getFieldValue().custocomicms && !!!valores.pre_custocomicms) {\r\n retorno = false;\r\n campos.push(\"Custo com Icms\");\r\n }\r\n if (!!formulario.getFieldValue().custosemicms && !!!valores.pre_custosemicms) {\r\n retorno = false;\r\n campos.push(\"Custo sem Icms\");\r\n }\r\n if (!!formulario.getFieldValue().custoultimacompra && !!!valores.pre_custoultimacompra) {\r\n retorno = false;\r\n campos.push(\"Custo Ultima Compra\");\r\n }\r\n if (!retorno) {\r\n notification.error({ description: `Os campos: ${campos.join(\",\")} devem possuir valores maiores do que R$ 0,00`, message: \"Aviso\" });\r\n }\r\n return retorno;\r\n };\r\n\r\n function salvarManutencao(valores) {\r\n valores.pro_id = formulario.getFieldValue().pro_id;\r\n let teste = formulario.getFieldValue().pre_hora;\r\n let dados = {};\r\n let dadosItens = {};\r\n let listaInventario = [];\r\n let dataHoraPosicao = moment(formulario.getFieldValue().pre_dataposicao);\r\n let horas = '00';\r\n let minutos = '00';\r\n if (!!moment(formulario.getFieldValue().pre_hora) || !!moment(dataHora) ) {\r\n horas = (!!formulario.getFieldValue().pre_hora ? formulario.getFieldValue().pre_hora : dataHora).substring(0, 2);\r\n minutos = (!!formulario.getFieldValue().pre_hora ? formulario.getFieldValue().pre_hora : dataHora).substring(3, 5);\r\n }\r\n dataHoraPosicao.set(\"hour\", parseInt(horas)); // Setando a hora\r\n dataHoraPosicao.set(\"minute\", parseInt(minutos)); // Setando os minutos\r\n \r\n valores.pre_dataposicao = dataHoraPosicao;\r\n\r\n if (!!valores.pro_id) {\r\n carregando(true);\r\n let form = formulario.getFieldValue();\r\n if (!validarValoresInformados(valores)) {\r\n carregando(false);\r\n return;\r\n }\r\n if (itensGrade.length > 0) {\r\n itensGrade.forEach((item) => {\r\n dadosItens = {};\r\n dadosItens.pre_valorcustomedio = !!form[item.prg_id + 'gradeCustoMedio'] ? parseFloat(form[item.prg_id + 'gradeCustoMedio']) : null;\r\n dadosItens.pre_custocomicms = !!form[item.prg_id + 'gradeCustoComIcms'] ? parseFloat(form[item.prg_id + 'gradeCustoComIcms']) : null;\r\n dadosItens.pre_custosemicms = !!form[item.prg_id + 'gradeCustoSemIcms'] ? parseFloat(form[item.prg_id + 'gradeCustoSemIcms']) : null;\r\n dadosItens.pre_custoultimacompra = !!form[item.prg_id + 'gradeCustoUltimaCompra'] ? parseFloat(form[item.prg_id + 'gradeCustoUltimaCompra']) : null;\r\n dadosItens.pre_qtde = form[item.prg_id + 'pre_qtde'];\r\n dadosItens.pre_dataposicao = valores.pre_dataposicao;\r\n dadosItens.pre_justificativa = valores.pre_justificativa;\r\n dadosItens.pro_id = valores.pro_id;\r\n dadosItens.prg_id = item.prg_id;\r\n dadosItens.loc_id = parseInt(getLocal());\r\n listaInventario.push(dadosItens);\r\n });\r\n } else {\r\n dadosItens.pre_custocomicms = !!form.pre_custocomicms ? parseFloat(form.pre_custocomicms) : null;\r\n dadosItens.pre_valorcustomedio = !!form.pre_valorcustomedio ? parseFloat(form.pre_valorcustomedio) : null;\r\n dadosItens.pre_custosemicms = !!form.pre_custosemicms ? parseFloat(form.pre_custosemicms) : null;\r\n dadosItens.pre_custoultimacompra = !!form.pre_custoultimacompra ? parseFloat(form.pre_custoultimacompra) : null;\r\n dadosItens.pre_dataposicao = valores.pre_dataposicao;\r\n dadosItens.pre_justificativa = valores.pre_justificativa;\r\n dadosItens.pro_id = valores.pro_id;\r\n dadosItens.prg_id = valores.prg_id;\r\n dadosItens.pre_qtde = valores.pre_qtde;\r\n listaInventario.push(dadosItens);\r\n }\r\n dados.manutencaoInventario = listaInventario;\r\n console.log(\"dados\", dados);\r\n api.post(`Inventario/ManutencaoInventario`, dados).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: 'Inventário adicionado com sucesso!' });\r\n }\r\n ).catch(\r\n erro => {\r\n carregando(false);\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n formulario.resetFields();\r\n carregando(false);\r\n setPossuiGrade(false);\r\n setItensGrade([]);\r\n setExibirCustos(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n notification.warning({ description: 'Favor preencher o formulario!', message: 'Aviso' });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!!!exibirCustos &&
\r\n \r\n
\r\n \r\n Utilize este processo para registrar alterações no estoque de algum produto, isto é, alterar a quantidade já existente e que não condiz com o estoque real.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Custo Médio \r\n \r\n \r\n \r\n \r\n Custo Com ICMS \r\n \r\n \r\n \r\n \r\n Custo Sem ICMS \r\n \r\n \r\n \r\n \r\n Custo Última Compra \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions } from '../../actions';\r\nimport ManutencaoEstoqueInventario from './manutencao';\r\n\r\nexport default function DrawerEstoque() {\r\n\r\n const [formEstoqueInventario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [exibirCustos, setExibirCustos] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formEstoqueInventario.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formEstoqueInventario.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formEstoqueInventario.resetFields();\r\n setExibirCustos(false);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={() => { fecharDrawer() }}\r\n footer={\r\n
\r\n {!exibirCustos &&\r\n \r\n
\r\n \r\n \r\n }\r\n {exibirCustos &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Button, Tag, InputNumber, Tooltip } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined } from \"@ant-design/icons\";\r\nimport { FormGW, InputPreco, SelectProduto } from \"../../components\";\r\n\r\nimport DrawerEstoque from './drawer';\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions } from '../../actions';\r\nimport { BreadcrumbPage, BotaoAbrirChamado, TabelaDados, BotaoIncluirDados } from \"../../components\";\r\n\r\nexport default function EstoqueManutencao() {\r\n\r\n const [{ listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [formulario] = Form.useForm();\r\n const [filtroProd, setFiltroProd] = useState('');\r\n const [itemProduto, setItemProduto] = useState(true);\r\n const [listaProduto, setListaProduto] = useState([]);\r\n const [form] = Form.useForm();\r\n const [listaSelect, setListaSelect] = useState([]);\r\n const [atualizarListaProd, setAtualizarListaProd] = useState(false);\r\n\r\n const togglePesquisa = () => {\r\n setItemProduto(!itemProduto);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!filtroProd) {\r\n setFiltroProd('');\r\n setAtualizarListaProd(true);\r\n }\r\n }, [filtroProd]);\r\n\r\n useEffect(() => {\r\n buscarProduto();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (listaSelectPaginacao?.itens.length > 0) {\r\n setListaSelect(listaSelectPaginacao.itens);\r\n }\r\n }, [listaSelectPaginacao?.itens]);\r\n\r\n function buscarProduto() {\r\n api.get(`Produto/ListaProdutoFiltro?&ordem=+pro_descricao`).then(\r\n res => {\r\n let sequencia = 1;\r\n res.data.items.forEach((produto) => {\r\n produto.index = sequencia;\r\n sequencia++;\r\n });\r\n setListaProduto(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function pesquisarInventario() {\r\n let dados = [...listaSelect];\r\n let key = formulario.getFieldValue().pro;\r\n let codProd = \"\";\r\n if (!!key || key == 0) {\r\n let pro = dados.find((item) => item.key === key);\r\n codProd = `&CodigoProduto=${pro.pro_id}`;\r\n }\r\n\r\n let mes = !!form.getFieldValue().inv_mes ? `&mes=${form.getFieldValue().inv_mes}` : ``;\r\n let ano = !!form.getFieldValue().inv_ano ? `&ano=${form.getFieldValue().inv_ano}` : ``;\r\n let parametro = `${mes}${ano}${codProd}`\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: parametro } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '%2Bpro_descricao' } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } }); }}>\r\n LANÇAMENTO\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!itemProduto &&\r\n \r\n\r\n \r\n { pesquisarInventario(dados) }}\r\n filtroPesq={filtroProd} atualizaComponente={atualizarListaProd} />\r\n \r\n \r\n }\r\n {!!itemProduto === false &&\r\n \r\n \r\n { pesquisarInventario() }} />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Inventário',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'EAN',\r\n width: 180,\r\n render: ({ pro_ean }) => (\r\n
\r\n {pro_ean || '-'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Mês',\r\n width: 80,\r\n align: 'center',\r\n render: ({ mes }) => (\r\n
\r\n {mes}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ano',\r\n width: 80,\r\n align: 'center',\r\n render: ({ ano }) => (\r\n
\r\n {ano}\r\n
\r\n )\r\n },\r\n {\r\n width: 100,\r\n align: 'center',\r\n title: 'Quantidade',\r\n render: ({ pre_qtde }) => (\r\n
\r\n {pre_qtde || '-'}\r\n
\r\n )\r\n },\r\n ]} />\r\n
\r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Table, Tag } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nexport default function Log({ dadosItens }) {\r\n\r\n return (\r\n
\r\n
(\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Produto',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde',\r\n align: 'center',\r\n render: ({ iic_quantidade }) => (\r\n
\r\n {iic_quantidade}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data/Hora',\r\n align: 'center',\r\n render: ({ iic_datahora }) => (\r\n
\r\n {moment(iic_datahora).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Usuário',\r\n render: ({ usu_nome }) => (\r\n
\r\n {usu_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Grade',\r\n render: ({ grade }) => (\r\n
\r\n {grade}\r\n
\r\n ),\r\n },\r\n ]} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Input, Modal, notification, Form, Table } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { ModalItemInventario } from \"../../components/modals\";\r\nimport { TabelaDados } from \"../../components\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { useStateValue } from '../../state';\r\n\r\n\r\nexport default function Itens({ form, dadosItens, TipoCodigoProduto, onCloseModalItem }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [abrirModalItem, setAbrirModalItem] = useState();\r\n const [dadosRegistro, setDadosRegistro] = useState({});\r\n const [listaItem, setListaItem] = useState([]);\r\n\r\n const onCloseModal = () => {\r\n setAbrirModalItem(false);\r\n onCloseModalItem();\r\n };\r\n const [situacao] = useState({\r\n 0: 'Falta',\r\n 1: 'Ok',\r\n 2: 'Sobra'\r\n });\r\n\r\n const verificaSituacao = record => {\r\n let retorno = 0;\r\n if (record.ivi_estoqueanterior > record.ivi_estoqueatual) {\r\n retorno = 0;\r\n } else if (record.ivi_estoqueanterior === record.ivi_estoqueatual) {\r\n retorno = 1;\r\n } else if (record.ivi_estoqueanterior < record.ivi_estoqueatual) {\r\n retorno = 2;\r\n }\r\n return retorno;\r\n };\r\n const filtroItens = valor => {\r\n api.get(`Inventario/ListarItens?InventarioId=${form.getFieldValue().inv_id}&Filtro=${valor}&PageSize=100&Order=-ivi_id&PageNumber=1`).then(\r\n\r\n res => {\r\n res.data.items.forEach(item => {\r\n item.situacao_id = verificaSituacao(item);\r\n item.situacao = situacao[verificaSituacao(item)];\r\n });\r\n setListaItem(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n // let itens = [...dadosItens.listaDadosItens];\r\n // itens = itens.filter(dados => {\r\n // return (dados.grade.toLowerCase().indexOf(valor) > -1 || dados.pro_descricao.toLowerCase().indexOf(valor) > -1 || dados.pro_codigo.toString().indexOf(valor) > -1);\r\n // });\r\n // setListaItem(itens);\r\n };\r\n\r\n // useEffect(() => {\r\n // let sql = \"\";\r\n // sql += !!form.getFieldValue().inv_id ? `&InventarioId=${form.getFieldValue().inv_id}` : \"\";\r\n // dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: sql, ordem: '-ivi_id' } });\r\n // }, []);\r\n\r\n useEffect(() => {\r\n if (!!dadosItens.listaDadosItens) {\r\n setListaItem(dadosItens.listaDadosItens);\r\n if (!!form.getFieldValue().pesquisa) {\r\n filtroItens(form.getFieldValue().pesquisa);\r\n }\r\n }\r\n }, [dadosItens.listaDadosItens]);\r\n\r\n function excluirItem(dados) {\r\n Modal.confirm({\r\n title: `Remover produto ${dados.pro_descricao}?`,\r\n icon: ,\r\n onOk() {\r\n api.delete(`Inventario/RemoverItem/${dados.ivi_id}`).then(\r\n res => {\r\n notification.success({ description: 'Item do inventário excluído com sucesso!', message: 'Aviso!' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n onCloseModalItem();\r\n }\r\n )\r\n }\r\n });\r\n };\r\n return (\r\n
\r\n \r\n
\r\n \r\n { filtroItens(valor) }} allowClear />\r\n \r\n \r\n \r\n
\r\n
(\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Produto',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Grade',\r\n render: ({ grade }) => (\r\n
\r\n {grade || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde. Anterior',\r\n align: 'center',\r\n width: 110,\r\n render: ({ ivi_estoqueanterior }) => (\r\n
\r\n {ivi_estoqueanterior}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde. Atual',\r\n align: 'center',\r\n width: 110,\r\n render: ({ ivi_estoqueatual }) => (\r\n
\r\n {ivi_estoqueatual}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Situação',\r\n align: 'center',\r\n width: 100,\r\n render: ({ situacao_id, situacao }) => (\r\n \r\n {situacao}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Inventário Nº: {!!inventario.inv_numero ? inventario.inv_numero : null}\r\n \r\n \r\n Iniciado em: {moment(dataAtual).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n \r\n \r\n Responsável: {inventario.usu_nome}\r\n \r\n \r\n \r\n \r\n \r\n { setValorFracionado(!valorFracionado); }}>\r\n Qtde Fracionada \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!produtoPorEAN &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { adicionarItem(valor) }} />\r\n \r\n \r\n \r\n \r\n { adicionarItemQuantidade() }}\r\n min={0}\r\n precision={valorFracionado ? 3 : 0} />\r\n \r\n \r\n \r\n }\r\n {produtoPorEAN &&\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { config.somLeituraItem = !config.somLeituraItem }}>\r\n Registrar um Item \r\n \r\n \r\n \r\n { config.somErroLeituraItem = !config.somErroLeituraItem }}>\r\n Ocorrer Erro ao Registrar um Item \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \"Totalizadores\" Totalizadores\r\n \r\n Abaixo encontra-se os Totalizadores do seu estoque. \r\n \r\n \r\n \r\n \r\n \r\n {inventario.qtdeEstoque}\r\n \r\n \r\n \r\n \r\n {inventario.qtdeEstoqueAnterior}\r\n \r\n \r\n \r\n \r\n {inventario.qtdeFalta}\r\n \r\n \r\n \r\n \r\n {inventario.qtdeSobra}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Log\r\n \r\n \r\n Itens\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!listaItem === false &&\r\n \r\n \r\n \r\n }\r\n {!!listaItem &&\r\n \r\n \r\n \r\n }\r\n \r\n { setExibirSenha(false); finalizarInventario(dados); }} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { DrawerNav } from '../../components';\r\nimport { useStateValue } from '../../state';\r\nimport ManutencaoInventario from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerInventario() {\r\n\r\n const [formInventario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [permiteSalvar, setPermiteSalvar] = useState(false);\r\n\r\n if (!!manutencao.dados) {\r\n formInventario.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n formInventario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-inv_numero' } });\r\n setPermiteSalvar(false);\r\n setCarregando(false);\r\n };\r\n\r\n const onClose = () => {\r\n fecharDrawer();\r\n\r\n // removido pq o inventario vai salvando a cada item lançado \r\n // Modal.confirm({\r\n // title: 'Cancelar?',\r\n // icon: ,\r\n // content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n // okText: 'Sim',\r\n // cancelText: 'Não',\r\n // centered: true,\r\n // onOk() {\r\n // fecharDrawer();\r\n // }\r\n // });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button, notification, Modal, Input, Tag, Dropdown, Menu } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, SearchOutlined, ExclamationCircleOutlined, PlusOutlined, SaveOutlined, CloseOutlined, MoreOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from '../../services/api';\r\nimport DrawerInventario from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\nimport { imprimirRelatorioJasper } from \"../../services/funcoes\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbPage, BotaoAbrirChamado, TabelaDados, Data } from \"../../components\";\r\n\r\nexport default function Inventario() {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [formulario] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [desabilitarBtnNovo, setDesabilitarBtnNovo] = useState(false);\r\n const [openModalInventario, setOpenModalInventario] = useState(false);\r\n const [dadosInventario, setDadosInventario] = useState({});\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-inv_numero' } });\r\n }, []);\r\n\r\n useEffect(() => {\r\n setDesabilitarBtnNovo(validarPermissaoTela(0));\r\n }, []);\r\n\r\n function abrirInventario() {\r\n api.post(`Inventario/Incluir`).then(\r\n res => {\r\n setDadosInventario(res.data);\r\n setOpenModalInventario(true);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n const modalExcluirInventario = dados => {\r\n Modal.confirm({\r\n title: 'Aviso: deseja excluir este inventario?',\r\n icon: ,\r\n content: `Ao realizar a exclusão de um inventário em andamento você irá remover todos os itens e log de contagem associados. Deseja realmente realizar a exclusão?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirInventario(dados);\r\n }\r\n });\r\n\r\n };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function carregarProdInventario(dados) {\r\n setCarregando(true);\r\n let item = {};\r\n item.InventarioId = dados.inv_id;\r\n api.post(`Inventario/CarregarProdutosInventario`, item).then(\r\n res => {\r\n formulario.setFieldsValue({ inv_id: dados.inv_id });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { inv_id: dados.inv_id } } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true, editItem: false } });\r\n setCarregando(false);\r\n setOpenModalInventario(false);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n setCarregando(false);\r\n }\r\n );\r\n };\r\n\r\n function excluirInventario(dados) {\r\n api.delete(`Inventario/Excluir/${dados.inv_id}`).then(\r\n res => {\r\n notification.success({ description: 'Inventário excluído do sistema.', message: 'Aviso' });\r\n }\r\n ).catch(\r\n erro => {\r\n if (!!erro.response.data.Message) {\r\n notification.warning({ description: erro.response.data.Message, message: 'Aviso' });\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-inv_numero' } });\r\n }\r\n );\r\n };\r\n\r\n function pesquisar() {\r\n let sql = \"\";\r\n if (!!formulario.getFieldValue().dataIncFinal && !!formulario.getFieldValue().dataIncInicial && !!formulario.getFieldValue().inventarioPesq) {\r\n sql += `&dataConclusao=${moment(formulario.getFieldValue().dataIncFinal).format('YYYY-MM-DD')}&dataInclusao=${moment(formulario.getFieldValue().dataIncInicial).format('YYYY-MM-DD')}&filtro=${formulario.getFieldValue().inventarioPesq}`\r\n }\r\n if (!!formulario.getFieldValue().inventarioPesq) {\r\n sql += `&filtro=${formulario.getFieldValue().inventarioPesq}`\r\n }\r\n if (!!formulario.getFieldValue().dataIncFinal) {\r\n sql += `&dataConclusao=${moment(formulario.getFieldValue().dataIncFinal).format('YYYY-MM-DD')}`\r\n }\r\n if (!!formulario.getFieldValue().dataIncInicial) {\r\n sql += `&dataInclusao=${moment(formulario.getFieldValue().dataIncInicial).format('YYYY-MM-DD')}`\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: sql, ordem: '-inv_numero' } });\r\n };\r\n\r\n function imprimirInventario(inv_id) {\r\n\r\n imprimirRelatorioJasper(32, { inventarioId: inv_id })\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n pesquisar(valor)} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {inv_numero}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Responsável',\r\n render: ({ usu_nome }) => (\r\n
\r\n {usu_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Incluído em',\r\n width: 100,\r\n render: ({ inv_datainclusao }) => (\r\n
\r\n {moment(inv_datainclusao).format(\"DD/MM/YYYY\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Situação',\r\n render: ({ inv_conclusao }) => (\r\n
\r\n {!!inv_conclusao ? ` Inventário conluído em: ${moment(inv_conclusao).format('DD/MM/YYYY HH:mm:ss')}` : 'Inventário em contagem'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Estoque',\r\n align: 'center',\r\n children: [\r\n {\r\n title: 'Atual',\r\n align: 'center',\r\n width: 110,\r\n render: ({ qtdeEstoque }) => (\r\n
\r\n {qtdeEstoque}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Anterior',\r\n align: 'center',\r\n width: 110,\r\n render: ({ qtdeEstoqueAnterior }) => (\r\n
\r\n {qtdeEstoqueAnterior}\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'center',\r\n children: [\r\n {\r\n title: 'Com Sobra',\r\n align: 'center',\r\n width: 110,\r\n render: ({ qtdeSobra }) => (\r\n
\r\n {qtdeSobra}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Com Falta',\r\n align: 'center',\r\n width: 110,\r\n render: ({ qtdeFalta }) => (\r\n
\r\n {qtdeFalta}\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record, { inv_conclusao }) => (\r\n
\r\n \r\n {!!inv_conclusao === false &&
\r\n \r\n \r\n \r\n O Inventário {dadosInventario.inv_numero} foi iniciado, deseja pré-carregar seu cadastro de produtos com a quantidade atual em estoque?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input, Checkbox, Upload, message } from \"antd\";\r\nimport { LoadingOutlined, PlusOutlined } from '@ant-design/icons';\r\n\r\nexport default function TabFilial({ imageUrl, setImageUrl }) {\r\n\r\n const [loading, setLoading] = useState(false);\r\n\r\n function getBase64(img, callback) {\r\n const reader = new FileReader();\r\n reader.addEventListener('load', () => callback(reader.result));\r\n reader.readAsDataURL(img);\r\n }\r\n\r\n function beforeUpload(file) {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\r\n if (!isJpgOrPng) {\r\n message.error('Você só pode fazer upload de arquivos JPG/PNG!');\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!isLt2M) {\r\n message.error('A imagem deve ter menos de 2 MB!');\r\n }\r\n return isJpgOrPng && isLt2M;\r\n }\r\n\r\n const handleChange = (info) => {\r\n if (info.file.status === 'uploading') {\r\n setLoading(true);\r\n return;\r\n }\r\n getBase64(info.file.originFileObj, (imageUrl) => {\r\n setLoading(false);\r\n setImageUrl(imageUrl);\r\n });\r\n };\r\n\r\n const uploadButton = (\r\n
\r\n {loading ? : }\r\n
Enviar Imagem
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Filial\" Filial\r\n \r\n \r\n Adicione as informações referente a Filial.\r\n \r\n \r\n \r\n \r\n \r\n setImageUrl(null)}\r\n maxCount={1}\r\n >\r\n {imageUrl ?\r\n \"avatar\"\r\n : uploadButton}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Filial Ativa?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input } from \"antd\";\r\nimport { InputCep } from \"../../components\";\r\n\r\nexport default function TabEndereco({ verificaCep }) {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Endereço\" Endereço\r\n \r\n \r\n Adicione abaixo as informações referente ao endereço.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Não sei o CEP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input, Select, InputNumber, Checkbox } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { Data, InputPhone, InputCpfCnpj } from \"../../components\";\r\n\r\nexport default function TabOutrasInformacoes() {\r\n\r\n const [exigibilidadeIssqn, setExigibilidadeIssqn] = useState([]);\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=ExigibilidadeIssqn`).then(res => {\r\n if (res.status === 200) {\r\n setExigibilidadeIssqn(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Outras Outras Informações\r\n \r\n \r\n Adicione abaixo as informações para realizar o cadastro com sucesso.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Incentivo Fiscal ISSQN?\r\n \r\n \r\n \r\n \r\n Substituto Tributário?\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input, notification } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function TabSenhaGerencial() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [possuiSenha, setPossuiSenha] = useState(true);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && isObjetoDiffVazio(manutencao.dados)) {\r\n if (!!manutencao.dados.loc_senhagerencial) {\r\n setPossuiSenha(true);\r\n } else {\r\n setPossuiSenha(false);\r\n }\r\n } else {\r\n setPossuiSenha(false);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function ValidarSenhaGerencial(value) {\r\n if (!!value && !!manutencao.dados.loc_id) {\r\n api.get(`Local/ValidarSenhaGerencial?LocalId=` + manutencao.dados.loc_id + `&SenhaGerencial=` + value).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n if (res.data == false)\r\n notification.error({ message: 'Atenção', description: \"Senha atual e nova senha não conferem!\" });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n notification.error({ message: 'Atenção', description: \"Não foi possível validar a senha gerencial!\" });\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Senha Senha Gerencial\r\n \r\n \r\n A Senha Gerencial é utilizada no Gestor Web para ser utilizada pelos gerentes e supervisores para liberar descontos acima do limite definido, vendas a prazo para clientes com limite de crétido abaixo do necessário, dentre outras operações.\r\n \r\n \r\n \r\n \r\n {possuiSenha && \r\n \r\n { ValidarSenhaGerencial(event.currentTarget.value); }} />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Tabs, Input, Select, Checkbox, Modal, notification } from \"antd\";\r\nimport { ConsoleSqlOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { Data, FormGW, InputCpfCnpj } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { consultaCNPJ, isObjetoDiffVazio, validaForm } from \"../../services/funcoes\";\r\nimport { validarIE } from \"../../services/funcoesIE\";\r\nimport { TabFilial, TabEndereco, TabOutrasInformacoes, TabSenhaGerencial } from \"./tabPage\";\r\nimport { drawerActions, manutencaoActions, listagemActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoMatrizFilial({ formulario, carregando, aoSalvar, fechar }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [tipoContribuinte, setTipoContribuinte] = useState([]);\r\n const [regimeTributarioFiscal, setRegimeTributarioFiscal] = useState([]);\r\n const [imageUrl, setImageUrl] = useState(null);\r\n const [desabilitaCNPJ, setDesabilitaCNPJ] = useState(false);\r\n\r\n const salvarManutencao = () => {\r\n if (validaForm(formulario, listaValidacoes)) {\r\n carregando(true);\r\n verificaMatriz();\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n formulario.setFieldsValue(manutencao.dados);\r\n if (!!manutencao.dados?.loc_cnpj?.numero && !!manutencao.dados.loc_id) {\r\n if (!!manutencao.dados.loc_inscricaoestadual.numeroInscricaoEstadual) {\r\n formulario.setFieldsValue({ loc_inscricaoestadual: manutencao.dados.loc_inscricaoestadual.numeroInscricaoEstadual })\r\n } else {\r\n formulario.setFieldsValue({ loc_inscricaoestadual: '' })\r\n }\r\n if (!!manutencao.dados.loc_cnpj.numero) {\r\n formulario.setFieldsValue({ loc_cnpj: manutencao.dados.loc_cnpj.numero })\r\n }\r\n if (!!manutencao.dados.loc_cpfresponsavel && manutencao.dados.loc_cpfresponsavel.numero) {\r\n formulario.setFieldsValue({ loc_cpfresponsavel: manutencao.dados.loc_cpfresponsavel.numero })\r\n } else {\r\n formulario.setFieldsValue({ loc_cpfresponsavel: '' })\r\n }\r\n formulario.setFieldsValue({ loc_email: manutencao.dados.loc_email.endereco })\r\n formulario.setFieldsValue({ log_logradouro: manutencao.dados.logradouroCidade.logradouro.log_logradouro })\r\n formulario.setFieldsValue({ log_id: manutencao.dados.logradouroCidade.log_id })\r\n formulario.setFieldsValue({ cid_id: manutencao.dados.logradouroCidade.cidade.cid_id })\r\n formulario.setFieldsValue({ est_id: manutencao.dados.logradouroCidade.cidade.estado.est_id })\r\n formulario.setFieldsValue({ est_sigla: manutencao.dados.logradouroCidade.cidade.estado.est_sigla })\r\n formulario.setFieldsValue({ cid_descricao: manutencao.dados.logradouroCidade.cidade.cid_descricao })\r\n formulario.setFieldsValue({ bai_nome: manutencao.dados.logradouroCidade.bairro.bai_nome })\r\n formulario.setFieldsValue({ bai_id: manutencao.dados.logradouroCidade.bairro.bai_id })\r\n formulario.setFieldsValue({ cep_cep: manutencao.dados.logradouroCidade.cep.cep_cep })\r\n formulario.setFieldsValue({ cep_id: manutencao.dados.logradouroCidade.cep.cep_id })\r\n setDesabilitaCNPJ(true);\r\n if (!!manutencao.dados.loc_logo) setImageUrl(\"data:image/jpeg;base64,\" + manutencao.dados.loc_logo);\r\n else setImageUrl(null);\r\n }\r\n verificaCep();\r\n } else {\r\n formulario.setFieldsValue({ loc_ativo: true })\r\n setDesabilitaCNPJ(false);\r\n }\r\n\r\n api.get(`dadosContribuinte/Buscar`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n formulario.setFieldsValue({ emp_regimetributario: res.data.emp_regimetributario })\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, [manutencao.dados, ui.showDrawer])\r\n\r\n function verificaMatriz() {\r\n if (formulario.getFieldValue().loc_matriz) {\r\n api.get(`Local/BuscarLocalCnpj/${formulario.getFieldValue().loc_cnpj}`).then(retornoFilial => {\r\n if (retornoFilial.data.length > 0) {\r\n for (var i = 0; i < retornoFilial.data.length; i++) {\r\n if (retornoFilial.data[i].loc_cnpj.numero !== formulario.getFieldValue().loc_cnpj) {\r\n modalAlterarMatriz();\r\n } else {\r\n salvarFilial();\r\n }\r\n }\r\n } else {\r\n salvarFilial(true);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n } else {\r\n salvarFilial();\r\n }\r\n };\r\n\r\n const modalAlterarMatriz = () => {\r\n Modal.confirm({\r\n title: 'Alterar Matriz',\r\n icon: ,\r\n content: 'Esta empresa já possui um local definido como Matriz, deseja alterar para este local?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n salvarFilial(true);\r\n },\r\n onCancel() {\r\n salvarFilial();\r\n }\r\n });\r\n };\r\n\r\n function salvarFilial(matriz = false) {\r\n let values = { ...formulario.getFieldValue() };\r\n values.loc_inscricaoestadual = !!values.loc_inscricaoestadual ? values.loc_inscricaoestadual : '';\r\n values.loc_inscricaoestadual_ufestado = !!values.est_sigla ? values.est_sigla : '';\r\n if (!!values.loc_inscricaoestadual && !validarIE(values.loc_inscricaoestadual, values.loc_inscricaoestadual_ufestado)) {\r\n notification.warning({ message: 'Aviso', description: 'Inscrição Estadual informada é inválida' });\r\n return false;\r\n }\r\n values.alteraMatriz = matriz;\r\n var logo = (imageUrl == null ? \"\" : imageUrl);\r\n if (!!logo)\r\n values.loc_logo = (logo.split(\",\", 2)[1]);\r\n if (!(!!values.loc_centrodistribuicao)) {\r\n values.loc_centrodistribuicao = false;\r\n }\r\n\r\n if (!!values.loc_senhagerencial) {\r\n if (values.novaSenhaGerencial === '') {\r\n delete values.novaSenhaGerencial;\r\n }\r\n if (values.senhaGerencialAtual === '') {\r\n delete values.senhaGerencialAtual;\r\n }\r\n }\r\n\r\n let enderecoUrl = 'local/';\r\n if (values.loc_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Local foram salvos com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Local foram salvos com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n };\r\n };\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: 'loc_descricao' } });\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n }\r\n\r\n const listaValidacoes = [\r\n { nome: 'loc_cnpj', obrigatorio: true, label: 'CNPJ' },\r\n { nome: 'loc_tipocontribuinte', obrigatorio: true, label: 'Tipo de Contribuinte' },\r\n { nome: 'emp_regimetributario', obrigatorio: true, label: 'Regime Tributário Fiscal' },\r\n { nome: 'loc_descricao', obrigatorio: true, label: 'Nome da Filial' },\r\n { nome: 'cep_cep', obrigatorio: true, label: 'CEP' },\r\n { nome: 'log_logradouro', obrigatorio: true, label: 'Endereço' },\r\n //{ nome: 'pee_numero', obrigatorio: true, label: 'Número' },\r\n { nome: 'bai_nome', obrigatorio: true, label: 'Bairro' },\r\n { nome: 'loc_telefone', obrigatorio: true, label: 'Telefone' }\r\n ];\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=TipoContribuinte`).then(res => {\r\n if (res.status === 200) {\r\n setTipoContribuinte(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`Enum/Listar?nome=RegimeTributarioFiscal`).then(res => {\r\n if (res.status === 200) {\r\n setRegimeTributarioFiscal(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n }, []);\r\n\r\n function pesquisaInformacoesCep() {\r\n if (!!formulario.getFieldValue().loc_cep) {\r\n let cep = formulario.getFieldValue().loc_cep.replace('-', '');\r\n api.get(`Cidade/ListarCidadeCep?cep=${cep}`).then(retornoCep => {\r\n if (!!retornoCep.data[0]) {\r\n formulario.setFieldsValue({\r\n cid_id: retornoCep.data[0].cid_id,\r\n cep: retornoCep.data[0],\r\n loc_cep: retornoCep.data[0].cep_cep,\r\n cid_descricao: retornoCep.data[0].cid_descricao + \" / \" + retornoCep.data[0].est_sigla,\r\n siglaEstado: retornoCep.data[0].est_sigla\r\n });\r\n } else {\r\n pesquisaCepPostmon(cep, false);\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }\r\n };\r\n\r\n function pesquisaCepPostmon(cep, possuiCep) {\r\n fetch(`https://api.postmon.com.br/v1/cep/${cep}`).then(\r\n res => res.json()\r\n ).then(\r\n retornoCep => {\r\n if (!possuiCep) {\r\n formulario.setFieldsValue({\r\n cep: {},\r\n loc_cep: retornoCep.cep,\r\n cid_descricao: retornoCep.cidade,\r\n siglaEstado: retornoCep.estado\r\n });\r\n }\r\n }, erro => {\r\n Modal.warning({\r\n content: `Cep (${cep}) não encontrado!`,\r\n });\r\n formulario.setFieldsValue({\r\n loc_cep: '',\r\n cid_descricao: ''\r\n });\r\n }\r\n );\r\n };\r\n\r\n function verificarLocal() {\r\n if (!!formulario.getFieldValue().loc_cnpj) {\r\n let cnpj = formulario.getFieldValue().loc_cnpj.replace(/\\D/g, '');\r\n api.get(`Local/BuscarLocalCnpj/${cnpj}`).then(retornoCnpjLocal => {\r\n if (!!retornoCnpjLocal.data) {\r\n Modal.warning({\r\n title: 'Aviso!',\r\n content: \"CNPJ já cadastrado!\",\r\n onOk() {\r\n formulario.setFieldsValue({ loc_cnpj: null });\r\n }\r\n });\r\n } else {\r\n consultaCNPJ(cnpj).then((retorno) => {\r\n if (retorno.status === \"ERROR\") {\r\n api.get(`Empresa/BuscarEmpresa?cnpj=${cnpj}`).then(retornoCnpj => {\r\n if (retornoCnpj.data.length > 0) {\r\n formulario.setFieldsValue({\r\n loc_inscricaoestadual: retornoCnpj.data[0].pej_inscricaoestadual,\r\n loc_telefone: retornoCnpj.data[0].psc_numero,\r\n loc_descricao: retornoCnpj.data[0].pes_nome,\r\n loc_nomefantasia: retornoCnpj.data[0].pej_nomefantasia,\r\n loc_cep: retornoCnpj.data[0].cep_cep,\r\n cidade: retornoCnpj.data[0].cid_descricao + \" / \" + retornoCnpj.data[0].est_sigla,\r\n loc_numeroestabelecimento: retornoCnpj.data[0].pee_numero,\r\n bai_nome: retornoCnpj.data[0].bai_nome,\r\n loc_complemento: retornoCnpj.data[0].pee_complemento\r\n });\r\n pesquisaInformacoesCep();\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n } else {\r\n formulario.setFieldsValue({\r\n loc_inscricaoestadual: \"\",\r\n loc_telefone: retorno.telefone.replaceAll('(', '').replaceAll(')', '').replaceAll(' ', '').replaceAll('-', ''),\r\n loc_descricao: retorno.nome,\r\n loc_nomefantasia: retorno.fantasia,\r\n loc_cep: retorno.cep.replace('.', '').replace('-', ''),\r\n cidade: retorno.municipio + \" / \" + retorno.uf,\r\n loc_numeroestabelecimento: retorno.numero,\r\n bai_nome: retorno.bairro,\r\n loc_complemento: retorno.complemento,\r\n endereco: retorno.logradouro\r\n });\r\n pesquisaInformacoesCep();\r\n }\r\n }, (erro) => {\r\n console.log('ERRO:', erro);\r\n });\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }\r\n };\r\n\r\n const verificaCep = (cep) => {\r\n if (!!cep || !!formulario.getFieldValue().loc_cep) {\r\n cep = !!cep ? cep : formulario.getFieldValue().loc_cep;\r\n cep = cep.replace('-', '');\r\n api.get(`Cidade/BuscaCidadeCep?cep=${cep}`).then(\r\n res => {\r\n if (!!res.data) {\r\n formulario.setFieldsValue({ cid_descricao: `${res.data[0].cid_descricao} / ${res.data[0].est_sigla}`, est_sigla: res.data[0].est_sigla, cep_id: res.data.cep_id });\r\n } else {\r\n fetch(`https://viacep.com.br/ws/${cep.replace(`-`, ``)}/json/`)\r\n .then(\r\n res => res.json()\r\n ).then(\r\n result => {\r\n formulario.setFieldsValue({ cid_descricao: `${result.localidade} / ${result.uf}`, est_sigla: result.uf });\r\n }).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n );\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n )\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return { label: item.value, value: item.key, key: item.key }\r\n })} filterOption={(input, option) => option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0} placeholder=\"Selecione o Regime Tributário Fiscal\" disabled={true} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Matriz?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoMatrizFilial from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerMatrizFilial({ listarFiliais }) {\r\n\r\n const [formMatrizFilial] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formMatrizFilial.resetFields();\r\n setCarregando(false);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n { fecharDrawer();}} fechar={fecharDrawer} />\r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Popover, Form } from \"antd\";\r\nimport { EditOutlined, } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerMatrizFilial from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { info } from \"../../services/funcoes\";\r\nimport { MaskFormat, FormatFone } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { Editar, TabelaDados, BreadcrumbIncluirDados, PesquisaOrdenacao } from \"../../components\";\r\n\r\nexport default function MatrizFilial() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n function mascaraIE(iscricaoEstadual, uf) {\r\n if(iscricaoEstadual.toUpperCase() == \"ISENTO\"){\r\n return 'ISENTO';\r\n }\r\n if (uf === 'AC') {\r\n return MaskFormat(iscricaoEstadual, '00.000.000/000-00');\r\n } else if (uf === 'AM' || uf === 'GO' || uf === 'RN') {\r\n return MaskFormat(iscricaoEstadual, '00.000.000-0');\r\n } else if (uf === 'BA') {\r\n return MaskFormat(iscricaoEstadual, '000000-00');\r\n } else if (uf === 'CE' || uf === 'PB' || uf === 'RR') {\r\n return MaskFormat(iscricaoEstadual, '00000000-0');\r\n } else if (uf === 'DF') {\r\n return MaskFormat(iscricaoEstadual, '00000000000-00');\r\n } else if (uf === 'MT') {\r\n return MaskFormat(iscricaoEstadual, '0000000000-0');\r\n } else if (uf === 'MG') {\r\n return MaskFormat(iscricaoEstadual, '000.000.000-0000');\r\n } else if (uf === 'PA') {\r\n return MaskFormat(iscricaoEstadual, '00-000000-0');\r\n } else if (uf === 'PR') {\r\n return MaskFormat(iscricaoEstadual, '00000000-00');\r\n } else if (uf === 'PE') {\r\n return MaskFormat(iscricaoEstadual, '00.0.000.0000000-0');\r\n } else if (uf === 'RJ') {\r\n return MaskFormat(iscricaoEstadual, '00.000.00-0');\r\n } else if (uf === 'RS') {\r\n return MaskFormat(iscricaoEstadual, '000/0000000');\r\n } else if (uf === 'RO') {\r\n return MaskFormat(iscricaoEstadual, '000.00000-0');\r\n } else if (uf === 'SC') {\r\n return MaskFormat(iscricaoEstadual, '000.000.000');\r\n } else if (uf === 'SP') {\r\n return MaskFormat(iscricaoEstadual, '000.000.000.000');\r\n } else if (uf === 'SE') {\r\n return MaskFormat(iscricaoEstadual, '000000000-0');\r\n } else {\r\n return iscricaoEstadual;\r\n }\r\n };\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: 'loc_descricao' } }), []);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {loc_codigo}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Filial',\r\n width: '30%',\r\n render: ({ loc_matriz, loc_ativo, loc_descricao }) => (\r\n
\r\n \r\n
\r\n \r\n \r\n {loc_matriz ? 'Matriz' : 'Filial'}\r\n \r\n \r\n \r\n \r\n {loc_descricao}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CNPJ',\r\n render: ({ loc_cnpj }) => (\r\n
\r\n {MaskFormat(loc_cnpj.numero, '', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'I.E',\r\n render: ({ loc_inscricaoestadual }) => (\r\n
\r\n {(!!loc_inscricaoestadual.numeroInscricaoEstadual) ? (mascaraIE(loc_inscricaoestadual.numeroInscricaoEstadual, loc_inscricaoestadual.ufEstado)) : 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'I.M',\r\n render: ({ loc_inscricaomunicipal }) => (\r\n
\r\n {(!!loc_inscricaomunicipal) ? (loc_inscricaomunicipal) : 'Não Informada'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n render: ({ loc_telefone }) => (\r\n
\r\n {(!!loc_telefone) ? FormatFone(loc_telefone) : 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={}\r\n />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandir={({ loc_numeroestabelecimento, loc_email, loc_telefone, logradouroCidade }) => {\r\n return (\r\n
\r\n \r\n
\r\n Endereco : {logradouroCidade.logradouro.log_logradouro} {loc_numeroestabelecimento}, {logradouroCidade.bairro.bai_nome}, {logradouroCidade.cidade.cid_descricao}-{logradouroCidade.cidade.estado.est_sigla}\r\n \r\n \r\n Email: {loc_email.endereco}\r\n \r\n \r\n Telefone: {loc_telefone}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Typography, Input, Button, Radio, Divider, message, notification, Modal } from \"antd\";\r\nimport { CloseOutlined, CloudUploadOutlined, ContainerOutlined, SaveOutlined, UploadOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport Dragger from \"antd/lib/upload/Dragger\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { getLocal } from \"../../services/auth\";\r\nimport { getBase64 } from \"../../services/funcoes\";\r\nimport { BreadcrumbAbrirChamado } from \"../../components\";\r\n\r\nexport default function ConfiguracaoNfeNfce() {\r\n const [formulario] = Form.useForm();\r\n const [config, setConfig] = useState({});\r\n const [exibeMotivoContingencia, setExibeMotivoContingencia] = useState(false);\r\n const [certificadoValido, setCertificadoValido] = useState(false);\r\n const [ambienteEmissao, setAmbienteEmissao] = useState(1);\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!formulario.getFieldValue().lcn_ambienteemissao) {\r\n setAmbienteEmissao(parseInt(formulario.getFieldValue().lcn_ambienteemissao));\r\n }\r\n }, [formulario])\r\n\r\n const props = {\r\n name: 'file',\r\n multiple: false,\r\n action: 'https://run.mocky.io/v3/5a5b65da-4254-49fe-bf4b-4af381baa484',\r\n //action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76',\r\n headers: {\r\n authorization: 'authorization-text',\r\n },\r\n onChange(info) {\r\n if (info.file.status !== 'uploading') {\r\n console.log(info.file, info.fileList);\r\n }\r\n if (info.file.status === 'done') {\r\n getBase64(info.file.originFileObj).then(\r\n base64 => {\r\n let dados = { ...config };\r\n dados.conteudo = base64;\r\n dados.nome = info.file.name;\r\n dados.loc_id = getLocal();\r\n setConfig(dados);\r\n message.success(`${info.file.name} file uploaded successfully`);\r\n }\r\n );\r\n } else if (info.file.status === 'error') {\r\n message.error(`${info.file.name} file upload failed.`);\r\n }\r\n },\r\n };\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n window.location = '/Home#/'\r\n }\r\n });\r\n };\r\n const salvarConf = valores => {\r\n let dados = { ...valores, ...config };\r\n if (!(!!!config.conteudo) && certificadoValido == false) {\r\n notification.warning({ description: \"Certificado ou senha informada invalido!\", message: \"Aviso\" });\r\n } else {\r\n\r\n let enderecoUrl = 'LocalConfigNfe/';\r\n if (dados.lcn_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, dados).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Configuração do envio de NF-e salvos com sucesso!\" });\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }).finally(\r\n () => {\r\n });\r\n } else {\r\n enderecoUrl += `Incluir`;\r\n api.post(enderecoUrl, dados).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Configuração do envio de NF-e salvos com sucesso!\" });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n function carregarDados() {\r\n api.get(`LocalConfigNfe/Listar`).then(\r\n res => {\r\n if (!!res.data) {\r\n let dados = { ...config };\r\n dados.lcn_validadecertificado = res.data.lcn_validadecertificado;\r\n setAmbienteEmissao(res.data.lcn_ambienteemissao);\r\n setConfig(dados);\r\n formulario.setFieldsValue(res.data);\r\n } else {\r\n let conf = {};\r\n conf.lcn_ambienteemissao = 2;\r\n conf.lcn_tipoemissao = 1;\r\n setAmbienteEmissao(conf.lcn_ambienteemissao);\r\n\r\n formulario.setFieldsValue(conf);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarCertificado() {\r\n if (!!config && JSON.stringify(config) !== '{}') {\r\n let dados = { ...config, ...formulario.getFieldValue() };\r\n api.post(`LocalConfigNfe/RetornaValidadeCertificado`, dados).then(\r\n res => {\r\n if (res.data.validaCnpj) {\r\n setCertificadoValido(true);\r\n dados = { ...config, ...formulario.getFieldValue() };\r\n dados.lcn_validadecertificado = res.data.dataValidade;\r\n setConfig(dados);\r\n } else {\r\n notification.warning({ description: \"CNPJ do certificado não é compativel com o CNPJ do local !\", message: \"Aviso\" });\r\n }\r\n console.log(\"RES\", res.data);\r\n }\r\n\r\n ).catch(\r\n erro => {\r\n notification.warning({ description: \"A senha especificada não está correta.\", message: \"Aviso\" });\r\n }\r\n );\r\n }\r\n };\r\n\r\n const exibeContingencia = tipoEmissao => {\r\n tipoEmissao = tipoEmissao.target.value;\r\n if (tipoEmissao > 1) {\r\n setExibeMotivoContingencia(true);\r\n } else {\r\n setExibeMotivoContingencia(false);\r\n }\r\n };\r\n\r\n function trocarAmbiente(event) {\r\n setAmbienteEmissao(event.target.value);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n { trocarAmbiente(value) }}>\r\n Produção\r\n Homologação\r\n \r\n \r\n \r\n {ambienteEmissao === 1 && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {ambienteEmissao === 2 && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (exibeContingencia(value))}>\r\n Emissão Normal\r\n Contingência FS-IA\r\n Contingência SCAN\r\n Contingência EPEC\r\n Contingência FS-DA\r\n Contingência SVC-AN\r\n Contingência SVC-RS\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Informe Informe os dados do certificado a ser utilizado\r\n \r\n * Caso nenhum certificado seja informado, será utilizado o certificado da Matriz como Padrão! \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {!!!config.conteudo &&
\r\n \r\n
\r\n

\r\n \r\n \r\n

Arraste o certificado digital aqui!

\r\n \r\n \r\n

(o arquivo deve estar no formato .pfx, modelo A1)

\r\n \r\n \r\n \r\n \r\n \r\n {!!config.lcn_validadecertificado &&\r\n Certificado Válido até: {moment(config.lcn_validadecertificado).format('DD/MM/YYYY')}\r\n }\r\n \r\n \r\n }\r\n {!!config.conteudo &&
\r\n \r\n
\r\n

\r\n \r\n \r\n

{config.nome}

\r\n \r\n \r\n {!!config.lcn_validadecertificado &&\r\n Certificado Válido até: {moment(config.lcn_validadecertificado).format('DD/MM/YYYY')}\r\n }\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n { validarCertificado() }} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { SelectPaginacao } from '../../components';\r\nimport { Form, Row, Col, Input, Button, Tooltip, Select, notification, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, QuestionCircleOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { BreadcrumbAbrirChamado } from \"../../components\";\r\n\r\nexport default function ParametrosLocal() {\r\n const [formulario] = Form.useForm();\r\n const [controleAvisoEstoque, setControleAvisoEstoque] = useState([]);\r\n const [tipoTef, setTipoTef] = useState([]);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n\r\n api.get('Enum/Listar?nome=ControleEstoque').then(res => {\r\n if (res.status === 200) {\r\n setControleAvisoEstoque(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n api.get('Enum/Listar?nome=TipoTEF').then(res => {\r\n if (res.status === 200) {\r\n setTipoTef(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }, []);\r\n\r\n\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n window.location = '/Home#/'\r\n }\r\n });\r\n };\r\n const salvarConf = valores => {\r\n let dados = { ...valores };\r\n\r\n api.put('ParametroLocal/Editar', dados).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Configuração do envio de NF-e salvos com sucesso!\" });\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }).finally(\r\n () => {\r\n });\r\n };\r\n\r\n function carregarDados() {\r\n api.get(`ParametroLocal/BuscarParametros`).then(\r\n res => {\r\n if (!!res.data) {\r\n formulario.setFieldsValue(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n % Máximo Desconto\r\n \r\n \r\n \r\n \r\n } placeholder=\"Informe o % desconto máximo \" name=\"par_maximodesconto\" cifrao={false}>\r\n \r\n \r\n \r\n Markup Loccal\r\n \r\n \r\n \r\n \r\n } placeholder=\"Informe o Markup Padrão\" name=\"par_markupproduto\" cifrao={false}>\r\n \r\n \r\n \r\n ({op.ope_id} - {op.ope_descricao}
\r\n
)\r\n } />\r\n
\r\n \r\n \r\n \r\n Aviso Estoque Insuficiente\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Tipo TEF\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect ,useState} from \"react\";\r\nimport { Row, Col, Button, Dropdown, Menu, Form, Select } from \"antd\";\r\n\r\nimport { listagemActions } from \"../../actions\";\r\nimport { useStateValue } from '../../state';\r\nimport { ModalExibirAcaoUsuario } from \"../../components/modals/\";\r\nimport { FormatDate } from '../../ValueObjects/';\r\nimport { TabelaDados, FiltroOrdenacao, BreadcrumbPage, BotaoAbrirChamado, FiltroSearch, Data } from \"../../components\";\r\nimport { EyeOutlined } from \"@ant-design/icons\";\r\nimport SelectPaginado from '../../components/selectPaginado';\r\nimport moment from \"moment\";\r\n\r\nexport default function AcaoUsuario() {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [dadosModal, setDadosModal] = useState([]);\r\n const [{ }, dispatch] = useStateValue();\r\n const [formulario] = Form.useForm();\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ DataInicial: moment(new Date()) });\r\n formulario.setFieldsValue({ DataFinal: moment(new Date()) });\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '-aco_datahora' } })\r\n }, []);\r\n\r\n function carregarDados() {\r\n let data = `&DataInicial=${FormatDate(formulario.getFieldValue().DataInicial.toDate().toLocaleDateString())}\r\n &DataFinal=${FormatDate(formulario.getFieldValue().DataFinal.toDate().toLocaleDateString())}`\r\n if (formulario.getFieldValue().loc_id)\r\n data += `&CodigoLocal=${formulario.getFieldValue().loc_id}`\r\n if (formulario.getFieldValue().usu_id)\r\n data += `&CodigoUsuario=${formulario.getFieldValue().usu_id}`\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: data } });\r\n };\r\n\r\n function menuTableOutros(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n async function visualizar(dados) {\r\n setOpenModal(true);\r\n setDadosModal(dados);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n carregarDados()}\r\n conteudo={\r\n l => ({l.loc_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n carregarDados()}\r\n conteudo={\r\n u => ({u.usu_nome})\r\n } />\r\n \r\n \r\n \r\n { carregarDados(value) }} name=\"DataInicial\" label=\"Data Inicial\" />\r\n \r\n \r\n { carregarDados(value) }} name=\"DataFinal\" label=\"Data Inicial\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n (\r\n
\r\n {moment(aco_datahora).format('DD-MM-YYYY HH:mm:ss')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Tipo Ação',\r\n width: 12,\r\n render: ({ aco_tipoacao }) => (\r\n
\r\n
\r\n {aco_tipoacao}\r\n
\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Usuário',\r\n width: 20,\r\n render: ({ usu_nome }) => (\r\n
\r\n
\r\n {usu_nome}\r\n
\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Titulo',\r\n width: 50,\r\n render: ({ aco_titulo }) => (\r\n
\r\n {aco_titulo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 5,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {pdv_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Nº do Caixa',\r\n width: 105,\r\n align: 'center',\r\n render: ({ pdv_numerocaixa }) => (\r\n
\r\n {(!!pdv_numerocaixa) ? (pdv_numerocaixa) : 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Computador',\r\n render: ({ pdv_nomecomputador }) => (\r\n
\r\n {(!!pdv_nomecomputador) ? (pdv_nomecomputador) : '--'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Nº Registro',\r\n render: ({ pdv_registro }) => (\r\n
\r\n {pdv_registro}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 145,\r\n render: ({ pdv_dataregistro }) => (\r\n
\r\n {moment(pdv_dataregistro).format('DD/MM/YYYY HH:mm:ss')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'PDV Ativo?',\r\n align: 'center',\r\n width: 78,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n ativarDesativarPDV(record)} />\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n IP: {pdv_ipredelocal}\r\n \r\n \r\n Série Fiscal: {(!!ser_id) ? (ser_id) : 'Não Informado'}\r\n \r\n \r\n Registrado por: {usu_nome}\r\n \r\n\r\n \r\n E-mail: {usu_email}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n { onCloseModalSerie() }} dadosPdv={dadosPdv} setDadosPdv={setDadosPdv} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Select, Input, Table, Button, Typography, Divider, InputNumber, Modal } from \"antd\";\r\nimport { DeleteOutlined, EditOutlined, PlusOutlined, ExclamationCircleOutlined, CloseOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function TabRespostas({ formulario, respostas }) {\r\n\r\n const [formResposta] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaSomaSubtrai, setListaSomaSubtrai] = useState([]);\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=SomaSubtrai`).then(res => {\r\n if (!!res) {\r\n setListaSomaSubtrai(res.data);\r\n }\r\n });\r\n }, []);\r\n\r\n function editarRegistro(item) {\r\n let itemTemp = { ...item };\r\n if (typeof itemTemp.rlc_somasubtrai === 'object') {\r\n itemTemp.rlc_somasubtrai = itemTemp.rlc_somasubtrai.key;\r\n }\r\n formResposta.setFieldsValue(itemTemp);\r\n }\r\n\r\n function removerRegistro(registro) {\r\n let lista = [...respostas.respostasLimiteCredito];\r\n let index = lista.findIndex(item => item === registro);\r\n\r\n if (index !== -1) {\r\n lista.splice(index, 1);\r\n if (lista.length > 0) {\r\n lista.map((item, indice) => {\r\n if (item.rlc_ordem > registro.rlc_ordem) {\r\n item.rlc_ordem = (item.rlc_ordem !== 1 ? (item.rlc_ordem - 1) : item.rlc_ordem);\r\n }\r\n\r\n if ((indice + 1) === lista.length) {\r\n respostas.setRespostasLimiteCredito(lista);\r\n }\r\n });\r\n } else {\r\n respostas.setRespostasLimiteCredito(lista);\r\n }\r\n }\r\n }\r\n\r\n const adicionarResposta = (values) => {\r\n let listaTemp = [...respostas.respostasLimiteCredito];\r\n if (!!values.rlc_id)\r\n {\r\n let itemEditar = listaTemp.find((item) => (item.rlc_id === values.rlc_id));\r\n itemEditar.rlc_percentual = values.rlc_percentual;\r\n itemEditar.rlc_resposta = values.rlc_resposta;\r\n itemEditar.rlc_somasubtrai = values.rlc_somasubtrai;\r\n }else{\r\n values.rlc_somasubtrai = values.rlc_somasubtrai;\r\n values.rlc_ordem = listaTemp.length + 1;\r\n listaTemp.push(values);\r\n }\r\n respostas.setRespostasLimiteCredito(listaTemp);\r\n formResposta.resetFields();\r\n };\r\n\r\n const modalExcluir = (item) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n removerRegistro(item);\r\n }\r\n });\r\n };\r\n\r\n function alterarOrdem(ordemAtual, ordemNova){\r\n let listaTemp = [...respostas.respostasLimiteCredito];\r\n let itemAtual = listaTemp.find(item => item.rlc_ordem === ordemAtual);\r\n let itemEditar = listaTemp.find(item => item.rlc_ordem === ordemNova);\r\n itemAtual.rlc_ordem = ordemNova;\r\n itemEditar.rlc_ordem = ordemAtual;\r\n\r\n listaTemp.sort(function (x, y){\r\n return x.rlc_ordem - y.rlc_ordem;\r\n });\r\n \r\n respostas.setRespostasLimiteCredito(listaTemp);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \"Informações Respostas\r\n \r\n \r\n Adicione a resposta aqui.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n \r\n {rlc_ordem !== 1 &&\r\n \r\n \r\n \r\n }\r\n {rlc_ordem !== respostas.respostasLimiteCredito.length &&\r\n \r\n \r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n title: 'Ordem',\r\n width: 75,\r\n align: 'center',\r\n render: ({ rlc_ordem }) => (\r\n
\r\n {rlc_ordem}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Resposta',\r\n render: ({ rlc_resposta }) => (\r\n
\r\n {rlc_resposta}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Soma / Subtrai ',\r\n align: 'right',\r\n render: ({ rlc_somasubtrai, rlc_percentual }) => (\r\n
\r\n { (typeof rlc_somasubtrai === 'number')\r\n ?\r\n {listaSomaSubtrai.filter((item) => (item.key === rlc_somasubtrai)).length > 0 ? listaSomaSubtrai.filter((item) => (item.key === rlc_somasubtrai))[0].value : ''} - {rlc_percentual}%\r\n :\r\n {rlc_somasubtrai.value} - {rlc_percentual}%\r\n }\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (item) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Tabs, Input, Select, notification, Button } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport TabRespostas from './tabRespostas';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { getEmpresa } from \"../../services/auth\";\r\nimport { validaForm } from \"../../services/funcoes\";\r\nimport { ArrowRightOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ManutencaoLimiteCreditoCliente({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [listaTipoResposta, setListaTipoResposta] = useState([]);\r\n const [showRespostas, setShowRespostas] = useState(false);\r\n const [respostasLimiteCredito, setRespostasLimiteCredito] = useState([]);\r\n\r\n useEffect(() => {\r\n setAbaSelecionada(\"1\");\r\n carregarListaTipoResposta();\r\n }, [manutencao.dados])\r\n\r\n function carregarListaTipoResposta() {\r\n api.get(`Enum/Listar?nome=TipoResposta`).then(res => {\r\n if (!!res) {\r\n setListaTipoResposta(res.data);\r\n }\r\n });\r\n\r\n if (!!manutencao.dados) {\r\n tipoResposta(manutencao.dados.qlc_tiporesposta);\r\n setRespostasLimiteCredito(manutencao.dados.respostalimitecreditos.sort((a, b) => a.rlc_ordem - b.rlc_ordem));\r\n } else {\r\n tipoResposta(1);\r\n }\r\n };\r\n\r\n const salvarManutencao = (values) => {\r\n if (respostasLimiteCredito.length === 0 && values.qlc_tiporesposta === 2) {\r\n notification.warning({ message: 'Aviso', description: 'É preciso adicionar pelo menos uma resposta!' });\r\n return;\r\n }\r\n if (validaForm(formulario, listaValidacoes)) {\r\n values.qlc_tiporesposta = listaTipoResposta.find((item) => (item.key === values.qlc_tiporesposta)).key;\r\n values.respostalimitecreditos = respostasLimiteCredito;\r\n\r\n if (!!values.qlc_id) {\r\n editarLimiteCredito(values);\r\n } else {\r\n incluirLimiteCredito(values);\r\n }\r\n }\r\n };\r\n\r\n function incluirLimiteCredito(values) {\r\n carregando(true);\r\n api.post(`QuestaoLimiteCredito/Incluir`, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados foram salvos com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+qlc_ordem', outrosFiltros: `&codigoEmpresa=${getEmpresa()}` } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n function editarLimiteCredito(values) {\r\n carregando(true);\r\n api.put(`QuestaoLimiteCredito/Editar`, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados foram salvos com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+qlc_ordem', outrosFiltros: `&codigoEmpresa=${getEmpresa()}` } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n const listaValidacoes = [\r\n { nome: 'qlc_questao', obrigatorio: true, label: 'Pergunta' },\r\n { nome: 'qlc_tiporesposta', obrigatorio: true, label: 'Tipo de Resposta' }\r\n ];\r\n\r\n const tipoResposta = (value) => {\r\n if (value === 2) {\r\n setShowRespostas(true);\r\n } else {\r\n setShowRespostas(false);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n verificaCep(record)} />\r\n \r\n \r\n \r\n Não sei o CEP \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Card, Button, Form, Input, notification, Alert } from \"antd\";\r\nimport { ArrowLeftOutlined, CheckOutlined, EyeOutlined, ShoppingOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { getEmailUsuario } from \"../../services/auth\";\r\nimport { ModalPlano } from \"../../components/modals/\";\r\nimport { compararDatas ,encodeBase64} from \"../../services/funcoes\";\r\n\r\nexport default function Planos() {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [recursosPlano, setRecursosPlano] = useState([]);\r\n const [alterarPlano, setAlterarPlano] = useState(false);\r\n const [listaPlanos, setListaPlanos] = useState([]);\r\n const [planoAtual, setPlanoAtual] = useState({});\r\n const [planoSelecionado, setPlanoSelecionado] = useState({});\r\n const [formAlterarPlano] = Form.useForm();\r\n const [comparaPlano, setComparaPlano] = useState(null);\r\n\r\n useEffect(() => {\r\n listarPlanos();\r\n }, []);\r\n\r\n async function listarPlanos() {\r\n let lista = [];\r\n try {\r\n var planoUsuario = await api.get(`LocalPlano/VerificarStatusPlano`);\r\n setPlanoAtual({ pla_nome: planoUsuario.data.plano.pla_nome, pla_valor: planoUsuario.data.plano.pla_valor, lcp_id: planoUsuario.data.lcp_id, validade: planoUsuario.data.lcp_validadeplano });\r\n\r\n var retornoPlanos = await api.get(`Plano/ListarPlanosAtivos`);\r\n retornoPlanos.data.items.forEach((listaPlano) => {\r\n let plano = listaPlano;\r\n plano.planoUsuario = false;\r\n if (plano.pla_id === planoUsuario.data.plano.pla_id) {\r\n plano.planoUsuario = true;\r\n };\r\n if (plano.pla_nivel >= planoUsuario.data.plano.pla_nivel) {\r\n lista.push(plano);\r\n }\r\n });\r\n lista.forEach((item) => {\r\n item.diferenciais = JSON.parse(item.pla_diferenciais);\r\n });\r\n lista = lista.reverse();\r\n setListaPlanos(lista);\r\n\r\n } catch (erro) {\r\n console.log(erro);\r\n };\r\n };\r\n\r\n async function confirmarMudancaPlano(values) {\r\n try {\r\n var senhaValida = await api.get(`Usuario/ValidaSenhaAtual?email=${getEmailUsuario()}&senha=${encodeBase64(values.senhaUsuario)}`);\r\n if (senhaValida.data != \"\") {\r\n var retornoMudancaPlano = await api.put(`LocalPlano/MudarLocalPlanoUsuario?novoPlano=${planoSelecionado.pla_id}`);\r\n if (retornoMudancaPlano.status == 200) {\r\n notification.success({ message: 'Seu plano foi alterado com sucesso', description: `Bem-vindo ao plano ${planoSelecionado.pla_nome}` });\r\n setAlterarPlano(false);\r\n listarPlanos();\r\n formAlterarPlano.resetFields();\r\n } else {\r\n notification.warning({ message: 'Não foi possível mudar o plano', description: 'Tente mais tarde. Se o problema persistir contate o suporte do Gestor Web.' });\r\n }\r\n } else {\r\n notification.error({ message: 'Senha inválida!', description: 'Verifique a senha informada.' });\r\n }\r\n } catch (erro) {\r\n notification.error({ message: 'Não foi possível mudar o plano', description: 'Tente mais tarde. Se o problema persistir contate o suporte do Gestor Web.' });\r\n };\r\n };\r\n\r\n return (\r\n\r\n
\r\n {!alterarPlano &&\r\n
\r\n \r\n {compararDatas(planoAtual.validade, null, \"<\") &&\r\n
\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Você possui o Plano:\r\n \r\n \r\n \r\n
\r\n \r\n {planoAtual.pla_nome}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n \r\n \r\n {FormatNumber(planoAtual.pla_valor, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {listaPlanos.map((plano) => (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {plano.pla_nome}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n \r\n \r\n {FormatNumber(plano.pla_valor, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Por CNPJ\r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n setOpenModal(false)} recursosPlano={recursosPlano} />\r\n \r\n }\r\n {alterarPlano &&\r\n
\r\n
\r\n \r\n
\r\n \r\n Para confirmar a mudança de plano é necessário informar sua senha.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n );\r\n}","import React from \"react\";\r\n\r\nimport Planos from \"./planos\";\r\nimport { BreadcrumbAbrirChamado } from \"../../components\";\r\n\r\nexport default function Plano() {\r\n\r\n return (\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, Select, Typography, Divider, InputNumber, Radio, Table, Modal, notification } from \"antd\";\r\nimport { DeleteOutlined, PlusOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { getLocal, linkApi } from \"../../services/auth\";\r\nimport { FormGW, Adicionar, Excluir, InputCpfCnpj, InputPercentual } from \"../../components\";\r\nimport { consultaCNPJ, info, validaForm } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoBandeiraCartaoEmpresa({ formulario, carregando, aoSalvar }) {\r\n\r\n const [value, setValue] = useState(1);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [contaCorrente, setContaCorrente] = useState([]);\r\n const [dadosCartao, setDadosCartao] = useState([]);\r\n const [listaTaxasCartao, setListaTaxasCartao] = useState([]);\r\n const [formularioTaxas] = Form.useForm();\r\n\r\n const listaValidacoes = [\r\n { nome: 'bce_cnpjcredenciadora', obrigatorio: true, label: 'CNPJ da Credenciadora' },\r\n { nome: 'ctc_id', obrigatorio: true, label: 'Conta Bancária para Recebimento' }\r\n ];\r\n\r\n useEffect(() => {\r\n api.get(`ContaCorrente/AtivosTipoConta?tipoConta=2&ordem=+ctc_descricao`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setContaCorrente(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (manutencao.dados !== null) {\r\n if (manutencao.dados.taxasCartaoCreditoParcelados.length > 0) {\r\n setValue(2);\r\n let indice = 1;\r\n manutencao.dados.taxasCartaoCreditoParcelados.map((taxa) => {\r\n taxa.key = indice++;\r\n });\r\n setListaTaxasCartao(manutencao.dados.taxasCartaoCreditoParcelados);\r\n } else {\r\n setValue(1);\r\n setListaTaxasCartao([]);\r\n }\r\n if (manutencao.dados.bce_id === null) {\r\n formulario.setFieldsValue({ bce_ativo: true });\r\n }\r\n if (manutencao.dados.ctc_id !== null && contaCorrente.filter((conta) => { return conta.ctc_id === manutencao.dados.ctc_id }).length === 0) {\r\n formulario.setFieldsValue({ ctc_id: manutencao.dados.ctc_descricao });\r\n }\r\n setDadosCartao(manutencao.dados);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function buscarDadosCNPJ(event) {\r\n let cnpj = event.target.value;\r\n consultaCNPJ(cnpj).then(\r\n res => {\r\n formulario.setFieldsValue({ bce_nomecredenciadora: res.nome });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function adicionarTaxa(values) {\r\n let listaTemp = [...listaTaxasCartao];\r\n if (values.tcp_taxa > 0) {\r\n values.tcp_taxa = parseFloat(values.tcp_taxa) / 100;\r\n values.key = listaTemp.length + 1;\r\n listaTemp.push(values);\r\n setListaTaxasCartao(listaTemp);\r\n } else {\r\n info('Informe a Taxa!');\r\n }\r\n };\r\n\r\n function excluirTaxa(id) {\r\n let lista = [...listaTaxasCartao];\r\n let index = lista.findIndex(i => i.key === id);\r\n lista.splice(index, 1);\r\n setListaTaxasCartao(lista);\r\n };\r\n\r\n function salvarManutencao(values) {\r\n if (validaForm(formulario, listaValidacoes)) {\r\n\r\n if (isNaN(values.ctc_id) && !!dadosCartao.ctc_id) {\r\n values.ctc_id = dadosCartao.ctc_id;\r\n values.ctc_descricao = dadosCartao.ctc_descricao;\r\n } else {\r\n values.ctc_id = parseInt(values.ctc_id);\r\n values.ctc_descricao = contaCorrente.filter((conta) => { return conta.ctc_id === values.ctc_id })[0].ctc_descricao;\r\n }\r\n\r\n if (!!values.bce_taxapadraocredito) {\r\n values.bce_taxapadraocredito = parseFloat(parseFloat(values.bce_taxapadraocredito) / 100);\r\n }\r\n if (!!values.bce_taxapadraodebito) {\r\n values.bce_taxapadraodebito = parseFloat(parseFloat(values.bce_taxapadraodebito) / 100);\r\n }\r\n\r\n values.ban_id = dadosCartao.ban_id;\r\n values.ban_descricao = dadosCartao.ban_descricao;\r\n values.bnd_id = dadosCartao.bnd_id;\r\n values.bnd_nome = dadosCartao.bnd_nome;\r\n values.ctc_digitoverificadoragencia = dadosCartao.ctc_digitoverificadoragencia;\r\n values.ctc_digitoverificadorconta = dadosCartao.ctc_digitoverificadorconta;\r\n values.ctc_numeroagencia = dadosCartao.ctc_numeroagencia;\r\n values.ctc_numeroconta = dadosCartao.ctc_numeroconta;\r\n values.ctc_numeroconta = dadosCartao.ctc_numeroconta;\r\n values.loc_id = getLocal();\r\n values.taxasCartaoCreditoParcelados = (value === 2 ? listaTaxasCartao : []);\r\n\r\n carregando(true);\r\n if (!!values.bce_id) {\r\n editar(values);\r\n } else {\r\n incluir(values);\r\n }\r\n }\r\n };\r\n\r\n function editar(values) {\r\n api.put(`BandeiraCartaoEmpresa/Editar`, values).then(res => {\r\n notification.success({ message: 'Operação concluída!', description: 'Bandeira de Cartão de Crédito salva com sucesso!' });\r\n }).catch(error => {\r\n console.log(error);\r\n notification.warning({ message: 'Aviso!', description: error.response.data.Message });\r\n }).finally(() => {\r\n carregando(false);\r\n setDadosCartao([]);\r\n setListaTaxasCartao([]);\r\n aoSalvar();\r\n })\r\n }\r\n\r\n function incluir(values) {\r\n api.post(`BandeiraCartaoEmpresa/Incluir`, values).then(res => {\r\n notification.success({ message: 'Operação concluída!', description: 'Bandeira de Cartão de Crédito salva com sucesso!' });\r\n }).catch(error => {\r\n console.log(error);\r\n notification.warning({ message: 'Aviso!', description: error.response.data.Message });\r\n }).finally(() => {\r\n carregando(false);\r\n setDadosCartao([]);\r\n setListaTaxasCartao([]);\r\n aoSalvar();\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {dadosCartao.bnd_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { buscarDadosCNPJ(value) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Ativo?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Cartão Cartão de Débito\r\n \r\n \r\n Informações referente a Cartão de Débito.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Cartão Cartão de Crédito\r\n \r\n \r\n Informações referente a Cartão de Crédito.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {value === 1 &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n setValue(e.target.value)} value={value}>\r\n \r\n Taxa Única\r\n \r\n \r\n Taxa Variável por Parcelas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {value === 2 &&\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } block onClick={() => { formularioTaxas.submit() }}> Adicionar \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n De {tcp_parcelaminima} parcela(s)\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Parcela Máxima',\r\n render: ({ tcp_parcelamaxima }) => (\r\n
\r\n Até {tcp_parcelamaxima} parcela(s)\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Taxa %',\r\n align: 'right',\r\n render: ({ tcp_taxa }) => (\r\n
\r\n {FormatNumber(parseFloat(tcp_taxa) * 100, true, false)}%\r\n
\r\n ),\r\n }, {\r\n title: 'Ações',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n align: 'center',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n excluirTaxa(record.key)} icon={} />\r\n \r\n \r\n \r\n ),\r\n }\r\n ]\r\n } scroll={{ x: 900 }} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n }\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoBandeiraCartaoEmpresa from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerBandeiraCartaoEmpresa({consultar}) {\r\n\r\n const [formBandeiraCartao] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formBandeiraCartao.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formBandeiraCartao.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formBandeiraCartao.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n consultar();\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Button, Divider, Typography, Card, Tooltip, Modal } from \"antd\";\r\nimport { QuestionCircleOutlined, EditOutlined, SettingOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { linkApi } from \"../../services/auth\";\r\nimport DrawerBandeiraCartaoEmpresa from './drawer';\r\nimport { FormatNumber, MaskFormat } from \"../../ValueObjects\";\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport { ModalTaxasCartaoCredito } from \"../../components/modals/\";\r\nimport { BreadcrumbAbrirChamado, Editar } from \"../../components\";\r\n\r\nexport default function BandeiraCartaoEmpresa() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [bandeirasCartao, setBandeirasCartao] = useState([]);\r\n const [openModalTaxas, setOpenModalTaxas] = useState(false);\r\n const [dadosTaxaCartao, setDadosTaxaCartao] = useState({});\r\n const [formPesquisa] = Form.useForm();\r\n\r\n useEffect(() => {\r\n consultar();\r\n }, []);\r\n\r\n function consultar() {\r\n let filtro = '';\r\n if (!!formPesquisa.getFieldValue().pesquisa) {\r\n filtro = formPesquisa.getFieldValue().pesquisa;\r\n }\r\n\r\n api.get(`BandeiraCartao/Listar?filtro=${filtro}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setBandeirasCartao(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function ativarBandeiraCartaoEmpresa(cartao) {\r\n cartao.bce_ativo = true;\r\n api.put(`BandeiraCartaoEmpresa/Editar`, cartao).then(res => {\r\n if (res.status === 200) {\r\n Modal.success({\r\n content: 'Bandeira de Cartão de Crédito ativada com sucesso!',\r\n });\r\n }\r\n }, erro => {\r\n Modal.error({\r\n title: \"Não foi possivel ativar a Bandeira de Cartão de Crédito!\",\r\n content: (\r\n
\r\n

{erro.response.data.Message}

\r\n
\r\n )\r\n });\r\n }).finally(() => {\r\n consultar();\r\n });\r\n };\r\n\r\n function abrirModalTaxas(cartao) {\r\n setDadosTaxaCartao(cartao);\r\n setOpenModalTaxas(true);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n Selecione abaixo uma das bandeiras de cartão de crédito.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Pesquisar por\r\n \r\n \r\n \r\n \r\n }>\r\n { consultar() }} placeholder=\"Cartão de crédito, Credenciadora...\" allowClear />\r\n \r\n \r\n \r\n \r\n {bandeirasCartao.map((cartao) => (\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {cartao.bnd_nome}\r\n \r\n {cartao.bce_id !== null && cartao.bce_ativo &&\r\n
\r\n } onClick={() => {\r\n let dados = { ...cartao };\r\n dados.bce_taxapadraocredito = (parseFloat(dados.bce_taxapadraocredito) * 100).toFixed(2);\r\n dados.bce_taxapadraodebito = (parseFloat(dados.bce_taxapadraodebito) * 100).toFixed(2);\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }}>\r\n Editar\r\n \r\n
\r\n }\r\n \r\n \r\n {cartao.bce_id !== null && cartao.bce_ativo &&\r\n
\r\n
\r\n \r\n
\r\n \r\n Credenciadora: {!!cartao.bce_nomecredenciadora ? cartao.bce_nomecredenciadora : 'Não Informada'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n CNPJ da Credenciadora: {MaskFormat(cartao.bce_cnpjcredenciadora, '', true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Banco: {cartao.ban_descricao}\r\n {cartao.ban_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ag.: {cartao.ctc_numeroagencia}\r\n \r\n \r\n \r\n \r\n Conta: {cartao.ctc_numeroconta}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Débito (R$):\r\n \r\n \r\n
\r\n \r\n {FormatNumber((parseFloat(cartao.bce_taxapadraodebito) * 100), true, false)}%\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {cartao.bce_nrodiasrecebimentodebito} dias\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Crédito (R$):\r\n \r\n {cartao.taxasCartaoCreditoParcelados.length > 0 &&\r\n abrirModalTaxas(cartao)}>\r\n
\r\n Ver Taxas\r\n
\r\n \r\n }{cartao.taxasCartaoCreditoParcelados.length === 0 &&\r\n \r\n
\r\n {FormatNumber((parseFloat(cartao.bce_taxapadraocredito) * 100), true, false)}% \r\n
\r\n \r\n }\r\n \r\n
\r\n \r\n {cartao.bce_nrodiasrecebimentocredito} dias\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {cartao.bce_id === null &&\r\n
\r\n \r\n
\r\n
\r\n \r\n Não configurado!\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n {cartao.bce_id !== null && !cartao.bce_ativo &&\r\n
\r\n \r\n
\r\n
\r\n \r\n Bandeira de Cartão INATIVA.\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setOpenModalTaxas(false);\r\n setDadosTaxaCartao({});\r\n }} dadosTaxaCartao={dadosTaxaCartao}/>\r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input, notification } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { InputCep } from \"../../components\";\r\n\r\nexport default function TabEndereco({ formulario }) {\r\n\r\n const [cidade, setCidade] = useState(null);\r\n const verificaCep = (cep) => {\r\n if (!!cep || !!formulario.getFieldValue().cep_cep) {\r\n cep = !!cep ? cep : formulario.getFieldValue().cep_cep;\r\n api.get(`Cidade/BuscaCidadeCep?cep=${cep}`).then(\r\n res => {\r\n if (!!res.data) {\r\n setCidade(res.data[0]);\r\n formulario.setFieldsValue({ cid_descricao: `${res.data[0].cid_descricao} / ${res.data[0].est_sigla}`, est_sigla: res.data[0].est_sigla, cep_id: res.data.cep_id });\r\n } else {\r\n fetch(`https://viacep.com.br/ws/${cep.replace(`-`, ``)}/json/`)\r\n .then(\r\n res => res.json()\r\n ).then(\r\n result => {\r\n setCidade(result);\r\n formulario.setFieldsValue({ cid_descricao: `${result.localidade} / ${result.uf}`, est_sigla: result.uf });\r\n }).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n );\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n )\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Endereço\" Endereço\r\n \r\n \r\n Adicione abaixo as informações referente ao endereço.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Não sei o CEP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Row, Col, Typography, Divider, Form, Input } from \"antd\";\r\nimport { InputCpfCnpj, InputPhone } from \"../../components\";\r\n\r\nexport default function TabResponsavel({ formulario }) {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Outras Outras Informações\r\n \r\n \r\n Adicione abaixo as informações para realizar o cadastro com sucesso.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Tabs, Input, Checkbox, notification } from \"antd\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { TabEndereco, TabResponsavel } from \"./tabPage\";\r\nimport { validaForm, validarCpf } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoCentroDistribuicao({ formulario, carregando, aoSalvar, listar }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [filialInexistente, setFilialInexistente] = useState(false);\r\n const [centroCadastrado, setCentroCadastrado] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const listaValidacoes = [\r\n { nome: 'loc_cnpj', obrigatorio: true, label: 'CNPJ' },\r\n { nome: 'loc_descricao', obrigatorio: true, label: 'Nome do Centro de Distribuição' },\r\n { nome: 'cep_cep', obrigatorio: true, label: 'CEP' },\r\n { nome: 'log_logradouro', obrigatorio: true, label: 'Endereço' },\r\n { nome: 'loc_numeroestabelecimento', obrigatorio: true, label: 'Número' },\r\n { nome: 'bai_nome', obrigatorio: true, label: 'Bairro' },\r\n { nome: 'loc_email', obrigatorio: true, label: 'E-mail' },\r\n { nome: 'loc_cpfresponsavel', obrigatorio: true, label: 'CPF do Responsável' }\r\n ];\r\n\r\n const salvarManutencao = () => {\r\n if (filialInexistente) {\r\n notification.warn({ message: 'Atenção!', description: \"Nenhuma Filial com esse CNPJ, O centro de distribuição deve pertencer a uma filial!\" });\r\n return false;\r\n }\r\n if (centroCadastrado) {\r\n notification.warn({ message: 'Atenção!', description: \"Já existe um Centro de Distribuição com esse CNPJ!\" });\r\n return false;\r\n }\r\n\r\n let values = formulario.getFieldValue();\r\n\r\n if (!!values.loc_cpfresponsavel && !validarCpf(values.loc_cpfresponsavel)) {\r\n notification.warn({ message: 'Atenção!', description: \"CPF do responsável informado não é valido!\" });\r\n return false;\r\n }\r\n\r\n if (validaForm(formulario, listaValidacoes)) {\r\n carregando(true);\r\n let enderecoUrl = 'CentroDistribuicao/';\r\n if (values.loc_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Filial foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Atenção!', description: \"Não foi possivel incluir os dados desta filial!\" });\r\n }).finally(() => {\r\n aoSalvar();\r\n carregando(false);\r\n atualizarPagina();\r\n });\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Filial foram salvos com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Atenção!', description: \"Não foi possivel incluir os dados desta filial!\" });\r\n }).finally(() => {\r\n aoSalvar();\r\n carregando(false);\r\n atualizarPagina();\r\n });\r\n };\r\n };\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+loc_descricao' } });\r\n listar();\r\n };\r\n\r\n function buscarDadosFilial(e) {\r\n let cnpj = e.target.value.replaceAll('.', '').replaceAll('/', '').replaceAll('-', '');\r\n if (cnpj.length === 14) {\r\n api.get(`CentroDistribuicao/VerificarCentroExistente?cnpjLocal=${cnpj}`).then(\r\n (centroExiste) => {\r\n if (!centroExiste.data) {\r\n api.get(`Local/BuscarLocalCnpj/${cnpj}`).then(\r\n (retorno) => {\r\n let dados = retorno.data;\r\n if (!!dados) {\r\n let dadosCentroDistribuicao = {\r\n loc_cnpj: dados.loc_cnpj.numero,\r\n loc_codigo: dados.loc_codigo,\r\n loc_descricao: dados.loc_descricao,\r\n loc_numeroestabelecimento: dados.loc_numeroestabelecimento,\r\n loc_complemento: dados.loc_complemento,\r\n loc_pontoreferencia: dados.loc_pontoreferencia,\r\n loc_email: dados.loc_email.endereco,\r\n loc_telefone: dados.loc_telefone,\r\n loc_responsavelestabelecimento: dados.loc_responsavelestabelecimento,\r\n loc_cpfresponsavel: dados.loc_cpfresponsavel.numero,\r\n loc_tipocontribuinte: dados.loc_tipocontribuinte\r\n };\r\n formulario.setFieldsValue(dadosCentroDistribuicao);\r\n setFilialInexistente(false);\r\n setCentroCadastrado(false);\r\n } else {\r\n if (!!!formulario.getFieldValue().loc_id) {\r\n setFilialInexistente(true);\r\n setCentroCadastrado(false);\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n } else {\r\n if (!!!formulario.getFieldValue().loc_id) {\r\n setFilialInexistente(false);\r\n setCentroCadastrado(true);\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n buscarDadosFilial(e)}\r\n />\r\n \r\n {!!filialInexistente && * Sem filiais com esse CNPJ}\r\n {!!centroCadastrado && * Já Existe um Centro de Distribuição com esse CNPJ}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Centro de Distribuição Ativo?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveFilled, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoCentroDistribuicao from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerCentroDistribuicao({listar}) {\r\n\r\n const [formCentroDistribuicao] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) formCentroDistribuicao.setFieldsValue(manutencao.dados);\r\n else {\r\n formCentroDistribuicao.setFieldsValue({ loc_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n formCentroDistribuicao.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Popover, Form, Table, Select, Input, notification } from \"antd\";\r\nimport { EditOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport DrawerCentroDistribuicao from './drawer';\r\nimport { MaskFormat, FormatFone } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, Editar, TabelaDados, PesquisaOrdenacao } from \"../../components\";\r\nimport { getEmpresa, setEmpresa, setLocal, setNomeLocal } from \"../../services/auth\";\r\n\r\nexport default function CentroDistribuicao() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formPesquisa] = Form.useForm();\r\n\r\n function editarCentro(record) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true, editItem: true } });\r\n };\r\n\r\n function listar(filtro = null, ordem = null) {\r\n if (!!formPesquisa.getFieldValue().filtro) {\r\n filtro = formPesquisa.getFieldValue().filtro;\r\n }\r\n if (!!formPesquisa.getFieldValue().ordem) {\r\n ordem = formPesquisa.getFieldValue().ordem;\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { campoFiltro: 'Filtro', filtro: filtro, ordem: ordem } });\r\n };\r\n\r\n async function acessarCentroDistribuicao(centro) {\r\n let codigoEmpresa = getEmpresa();\r\n if (codigoEmpresa) {\r\n let listaLocaisUsuario = await api.get(`/Local/ListarLocalUsuario?codigoEmpresa=${codigoEmpresa}`);\r\n if (!!listaLocaisUsuario.data.items && listaLocaisUsuario.data.items.length > 0) {\r\n let local = listaLocaisUsuario.data.items.find((item) => { return item.loc_id === centro.loc_id });\r\n if (!!local) {\r\n setEmpresa(codigoEmpresa);\r\n setLocal(local.loc_id);\r\n setNomeLocal(local.loc_descricao);\r\n window.location = \"/Home\";\r\n } else {\r\n notification.warning({ message: 'Aviso!', description: 'Você não possui acesso a esta filial!' });\r\n }\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {loc_codigo}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Centro de Distribuição',\r\n render: ({ loc_descricao }) => (\r\n
\r\n {loc_descricao || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CNPJ',\r\n render: ({ loc_cnpj }) => (\r\n
\r\n {MaskFormat(loc_cnpj, '', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n render: ({ loc_telefone }) => (\r\n
\r\n {(!!loc_telefone) ? FormatFone(loc_telefone) : 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n editarCentro(record)} icon={} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n ]} expandir={\r\n (record) => {\r\n return (\r\n
\r\n \r\n
\r\n Endereço: {record.log_logradouro || 'Não Informado'}{(!!record.loc_numeroestabelecimento) ? (', ' + record.loc_numeroestabelecimento) : ''} {!!(record.cid_descricao) ? ('- ' + record.cid_descricao) : ''}\r\n {!!(record.est_sigla) ? ('/ ' + record.est_sigla) : ''}\r\n \r\n \r\n E-mail: {(!!record.loc_email) ? (record.loc_email) : 'Não Informado'}\r\n \r\n \r\n Responsável: {(!!record.loc_responsavelestabelecimento) ? (record.loc_responsavelestabelecimento) : 'Não Informado'}\r\n \r\n \r\n \r\n )\r\n }\r\n } scroll={{ x: 900 }} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Form, Row, Col, Select, Button, Input } from \"antd\";\r\nimport { PrinterOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { BreadcrumbAbrirChamado, TabelaDados } from \"../../components\";\r\n\r\nexport default function Relatorios() {\r\n\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [grupos, setGrupos] = useState([]);\r\n const [formulario] = Form.useForm();\r\n\r\n useEffect(() => {\r\n api.get(`RelatorioJasper/ListarGruposRelatorio`).then(res => {\r\n if (res.status === 200) {\r\n setGrupos(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }, []);\r\n\r\n function filtroGrupo(val) {\r\n if (val) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&MostrarList=true&Sistema=1&CodigoGrupo=${val}` } })\r\n }\r\n else {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&MostrarList=true&Sistema=1` } })\r\n }\r\n }\r\n\r\n function visualizarRelatorio(dados) {\r\n\r\n };\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '&MostrarList=true&Sistema=1', filtro: '', ordem: '+rel_nome' } }), []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: valor } })} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {rel_nome}\r\n
\r\n )\r\n },\r\n {\r\n title: \"Descrição do Relatório\",\r\n render: ({ rel_descricao }) => (\r\n
\r\n {rel_descricao}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n localStorage.setItem(\"@GestorWeb-FiltrosRelatorio\", JSON.stringify({ id: record.rel_id, nomeArquivo: record.rel_nomearquivo, nomeRelatorio: record.rel_nome, retorno: \"/relatorios\" }))\r\n }}>\r\n \r\n }\r\n />\r\n \r\n \r\n\r\n );\r\n\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Checkbox, Input, Form, Tabs, notification, Select } from 'antd';\r\nimport { ArrowRightOutlined, UploadOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from '../../actions';\r\nimport { EditorFormularioRelatorio, FormGW } from '../../components';\r\n\r\nexport default function Formularios({ formulario, carregando, aoSalvar, grupos }) {\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n const [aoUpload, setAoUpload] = useState(false);\r\n const [sistema, setSistema] = useState([]);\r\n\r\n function atribuiNomeRelatorio(nomeRel) {\r\n //formulario.setFieldsValue({ rel_nomearquivo: nomeRel.replace(' ','_')})\r\n }\r\n\r\n useEffect(() => {\r\n let sis = sistema.filter((s) => { return s.key === formulario.getFieldValue().rel_sistema });\r\n if (sis.length > 0) {\r\n if (!(!!formulario.getFieldValue().rel_sistema)) {\r\n formulario.setFieldsValue({ rel_sistema: sis[0].key });\r\n }\r\n }\r\n }, [sistema]);\r\n\r\n function carregarEnumSistema() {\r\n api.get(`Enum/Listar?nome=Sistema`).then(\r\n res => {\r\n if (res.status === 200) {\r\n res.data = res.data.filter((item) => { return item.key > 0 });\r\n setSistema(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => console.error(erro)\r\n );\r\n };\r\n\r\n function carregarDados() {\r\n carregando(false)\r\n if (!!formulario.getFieldValue().rel_id) {\r\n console.log(formulario.getFieldValue().rel_id);\r\n api.get(`RelatorioJasper/BuscarRelatorio/${formulario.getFieldValue().rel_id}`).then(\r\n res => {\r\n console.log(\"BuscarRelatorio\", res.data)\r\n setElementosFormulario(!!res.data.relatorioParametro ? res.data.relatorioParametro : []);\r\n }).catch(\r\n erro =>\r\n console.error(erro)\r\n );\r\n\r\n } else {\r\n setElementosFormulario([]);\r\n }\r\n\r\n carregarEnumSistema();\r\n }\r\n\r\n const salvarManutencao = values => {\r\n carregando(true);\r\n aoSalvar();\r\n values.rel_nomearquivo = values.rel_nomearquivo.replace(/[\\\\\"]/g, \"/\");\r\n let elementosOrdem = []\r\n elementosFormulario.map((elemento, indice) => {\r\n if (elemento.rpj_ordem != indice) {\r\n elemento.rpj_ordem = indice\r\n !!elemento.status == false ? elemento.status = 2 : elemento.status = elemento.status\r\n }\r\n elementosOrdem.push(elemento)\r\n })\r\n values.RelatorioParametro = elementosOrdem;\r\n console.log({ values });\r\n let url = 'Incluir'\r\n if (!!values.rel_id) {\r\n url = 'Editar';\r\n api.put(`RelatorioJasper/${url}`, values).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: `Relatório Jasper ${url === 'Incluir' ? 'incluído' : 'editado'} com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n notification.error({ message: 'Erro ao Gravar Relatório Jasper.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: listagem.ordem } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n } else {\r\n api.post(`RelatorioJasper/${url}`, values).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: `Relatório Jasper ${url === 'Incluir' ? 'incluído' : 'editado'} com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n notification.error({ message: 'Erro ao Gravar Relatório Jasper.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: listagem.ordem } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n };\r\n\r\n function uploadRelatorio() {\r\n setAoUpload(true)\r\n let arquivoRel = formulario.getFieldValue().rel_nomearquivo;\r\n let sistema = formulario.getFieldValue().rel_sistema;\r\n api.post(`RelatorioJasper/UploadRelatorios?SalvarEm=${arquivoRel}&sistema=${sistema}`).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: `Upload do Relatório para o servidor realizado com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n notification.error({ message: 'Aviso', description: 'Erro ao Atualizar Relatório.\\n' + erro })\r\n }\r\n ).finally(\r\n () => {\r\n setAoUpload(false)\r\n\r\n });\r\n }\r\n\r\n useEffect(() => carregarDados(), [!!formulario.getFieldValue().rel_id]);\r\n useEffect(() => console.log({ grupos }), []);\r\n\r\n return (\r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {grupos.map((grupo) => (\r\n {grupo.grj_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {sistema.map((sis) => (\r\n {sis.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Mostrar na Lista de Impressão?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React,{ useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nimport Formularios from './manutencao';\r\nimport { DrawerNav } from '../../components';\r\n\r\nexport default function DrawerPersonalizacao({grupos}) {\r\n\r\n const [ formFormulario ] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n const idRel = 0\r\n \r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n formFormulario.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() =>{\r\n if (manutencao.dados !== null) {\r\n formFormulario.setFieldsValue(manutencao.dados);\r\n console.log(\"manutenção\",manutencao.dados);\r\n } else {\r\n formFormulario.resetFields();\r\n }\r\n },[!!manutencao.dados])\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Form, Button, Tag, Popconfirm, notification, Select } from 'antd';\r\nimport { EditOutlined, DeleteOutlined, PrinterOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerPersonalizacao from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados } from \"../../components\";\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function PersonalizacaoRelatorios({ }) {\r\n\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [grupos, setGrupos] = useState([]);\r\n const [listaSistema, setSistema] = useState([]);\r\n const [formPesquisaAvancada] = Form.useForm();\r\n\r\n\r\n function editarFormRelatorio(valores) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function excluirRegistro(record) {\r\n api.delete(`RelatorioJasper/Excluir/${record.rel_id}`).then(\r\n (res) => {\r\n notification.success({ message: `Sucesso!`, description: `Relatório Jasper excluído com sucesso!` })\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao excluir Telatório!');\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+rel_nome' } });\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n api.get('Enum/Listar?nome=Sistema').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setSistema(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`RelatorioJasper/ListarGruposRelatorio`).then(res => {\r\n if (res.status === 200) {\r\n setGrupos(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }, []);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+rel_nome' } }), []);\r\n\r\n\r\n function retornoPesquisaAvancada() {\r\n var filtrosTela = ``;\r\n if (formPesquisaAvancada.getFieldsValue().grupo) filtrosTela += `&CodigoGrupo=${formPesquisaAvancada.getFieldsValue().grupo}`;\r\n if (formPesquisaAvancada.getFieldsValue().sistema) filtrosTela += `&Sistema=${formPesquisaAvancada.getFieldsValue().sistema}`;\r\n if (filtrosTela) dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: filtrosTela, filtro: '', ordem: '+rel_nome' } })\r\n else dispatch({ type: listagemActions.CHANGE, data: { filtro: '', outrosFiltros: '', ordem: '+rel_nome' } })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}\r\n placeholder=\"Selecionar Relatórios por Grupo\"\r\n allowClear\r\n showSearch\r\n optionFilterProp=\"children\"\r\n >\r\n {grupos.map((grupo) => (\r\n {grupo.grj_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n retornoPesquisaAvancada()}\r\n placeholder=\"Sistema\"\r\n allowClear\r\n >\r\n {listaSistema.map((s) => (\r\n {s.value}\r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {rel_id}\r\n \r\n )\r\n },\r\n {\r\n title: 'Nome Relatório',\r\n width: '20%',\r\n render: ({ rel_nome }) => (\r\n
\r\n {rel_nome}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ rel_descricao }) => (\r\n
\r\n {rel_descricao}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Disponível',\r\n render: ({ rel_nomearquivo }) => (\r\n
\r\n {rel_nomearquivo}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 100,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n //dispatch({ type: manutencaoActions.CHANGE, data: { dados: produto } });\r\n localStorage.setItem(\"@GestorWeb-FiltrosRelatorio\", JSON.stringify({ id: record.rel_id, nomeArquivo: record.rel_nomearquivo, nomeRelatorio: record.rel_nome, retorno: \"/personalizacaoRelatorios\" }))\r\n }}>\r\n \r\n \r\n excluirRegistro(record)} okText=\"Sim\" cancelText=\"Não\">\r\n \r\n \r\n \"Título {tituloRelatorio}\r\n \r\n \r\n Filtre os dados abaixo para gerar o relatório.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.tipoRelatorio !== currentValues.tipoRelatorio}>\r\n {({ getFieldValue }) => {\r\n let elemento = getFieldValue('tipoRelatorio');\r\n if (elemento !== 'PDF' && !!elemento)\r\n return (\r\n setimprimirSomenteCorpo(value.target.checked)}>Imprimir somente corpo do Relatório\r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, Divider } from \"antd\";\r\nimport { StopOutlined, SaveOutlined, CheckOutlined, DeleteFilled } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { ModalDefinirHorario } from \"../../components/modals\";\r\nimport { DataUsage } from \"@material-ui/icons\";\r\n\r\nexport default function TabHorariosAcessoUsuario({ formulario }) {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [idDay, setIdDay] = useState(null);\r\n const [listHorarios, setListHorarios] = useState(\r\n [{\r\n id: 0,\r\n name: 'Domingo',\r\n disabled: false,\r\n description: 'Domingo',\r\n day: []\r\n }, {\r\n id: 1,\r\n name: 'Segunda',\r\n disabled: false,\r\n description: 'Segunda-feira',\r\n day: []\r\n }, {\r\n id: 2,\r\n name: 'Terca',\r\n disabled: false,\r\n description: 'Terça-feira',\r\n day: []\r\n }, {\r\n id: 3,\r\n name: 'Quarta',\r\n disabled: false,\r\n description: 'Quarta-feira',\r\n day: []\r\n }, {\r\n id: 4,\r\n name: 'Quinta',\r\n disabled: false,\r\n description: 'Quinta-feira',\r\n day: []\r\n }, {\r\n id: 5,\r\n name: 'Sexta',\r\n disabled: false,\r\n description: 'Sexta-feira',\r\n day: []\r\n }, {\r\n id: 6,\r\n name: 'Sabado',\r\n disabled: false,\r\n description: 'Sábado',\r\n day: []\r\n },]);\r\n\r\n useEffect(() => {\r\n carregarListaHorariosAcesso();\r\n }, [])\r\n\r\n const carregarListaHorariosAcesso = async () => {\r\n if (!!formulario.getFieldValue('usu_id')) {\r\n var res = await api.get(`Usuario/ListaHorariosAcesso?codigoUsuario=${formulario.getFieldValue('usu_id')}`);\r\n if (res.status === 200) {\r\n let array = [...listHorarios];\r\n res.data.forEach(element => {\r\n if (element.uac_dia > -1) {\r\n array[element.uac_dia].disabled = element.uac_bloqueado;\r\n array[element.uac_dia].day.push({\r\n uac_id: element.uac_id,\r\n bloqueado: element.uac_bloqueado,\r\n horaInicial: element.uac_horainicial != null ? moment(element.uac_horainicial) : null,\r\n horaFinal: element.uac_horafinal != null ? moment(element.uac_horafinal) : null\r\n });\r\n }\r\n });\r\n setListHorarios(array);\r\n transformList(array, false);\r\n }\r\n }\r\n }\r\n\r\n const setDataModal = (id) => {\r\n setIdDay(id);\r\n setOpenModal(true);\r\n }\r\n\r\n const onChangeHorario = (id, disabled = false, desbloquear = false, horaInicial = null, horaFinal = null,) => {\r\n\r\n let array = [...listHorarios];\r\n\r\n array[id].disabled = disabled;\r\n\r\n if (desbloquear) {\r\n array[id].day = []\r\n } else {\r\n array[id].day.push(\r\n {\r\n horaInicial: horaInicial != null ? horaInicial : \"\",\r\n horaFinal: horaFinal != null ? horaFinal : \"\",\r\n bloqueado: disabled\r\n });\r\n }\r\n\r\n setListHorarios(array);\r\n transformList(array, true);\r\n }\r\n\r\n const deleteHorario = (id, key) => {\r\n let array = [...listHorarios];\r\n array[id].day.splice(key, 1);\r\n setListHorarios(array);\r\n transformList(array, true);\r\n }\r\n\r\n const transformList = (array, change) => {\r\n let usuarioacessos = [];\r\n\r\n array.forEach(e => {\r\n e.day.forEach(d => {\r\n var obj = {\r\n uac_dia: e.id,\r\n usu_id: formulario.getFieldValue('usu_id'),\r\n uac_horainicial: new Date(d.horaInicial),\r\n uac_horafinal: new Date(d.horaFinal),\r\n uac_bloqueado: d.bloqueado\r\n };\r\n\r\n if (d.uac_id != null || typeof d.uac_id != 'undefined' || d.uac_id != \"\") obj.uac_id = d.uac_id;\r\n\r\n usuarioacessos.push(obj);\r\n })\r\n })\r\n formulario.setFieldsValue({ usuarioacessos: usuarioacessos, mudarAcesso: change });\r\n }\r\n\r\n return (\r\n
\r\n \r\n {listHorarios.map(({ id, description, disabled, day }, idx) => (\r\n
\r\n \r\n \r\n {description}\r\n \r\n \r\n \r\n {!disabled && \r\n {day.map((x, idx) => (\r\n \r\n \r\n \r\n {moment(x.horaInicial).format(\"HH:mm\")} até {moment(x.horaFinal).format(\"HH:mm\")}\r\n \r\n \r\n }\r\n type=\"link\"\r\n onClick={() => deleteHorario(id, idx)} />\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {disabled && \r\n \r\n

Bloqueado

\r\n \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n setOpenModal(false)} />\r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Tag, Divider, Button, Table, notification } from \"antd\";\r\nimport { CheckOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\n\r\nexport default function TabPermissoesUsuario({ formulario }) {\r\n\r\n const [load, setLoad] = useState(false);\r\n const [listPermissoes, setListPermissoes] = useState([]);\r\n const [pagina, setPagina] = useState(1);\r\n const [nroRegistros, setNroRegistros] = useState(10);\r\n const [ordem, setOrdem] = useState('loc_id');\r\n\r\n useEffect(() => { loadPermissoes() }, [pagina, nroRegistros]);\r\n\r\n async function loadPermissoes() {\r\n setLoad(true);\r\n\r\n var _listaPermissoesPagina = await api.get(`PermissaoUsuario/ListarPermissoesPaginas`);\r\n if (_listaPermissoesPagina.status === 200) {\r\n const list = _listaPermissoesPagina.data;\r\n let userId = formulario.getFieldValue('usu_id');\r\n if (userId) {\r\n try {\r\n var _listarPersmissoesMongo = await api.get(`PermissaoUsuario/Listar?idUser=${userId}`);\r\n if (_listarPersmissoesMongo.status === 200) {\r\n let dataAcess = _listarPersmissoesMongo.data;\r\n for (let i in list) {\r\n let idx = dataAcess.findIndex(x => x.pru_nome === list[i].pagina);\r\n if (idx > -1) {\r\n let obj = JSON.parse(dataAcess[idx].pru_permissoes);\r\n let { api, sistema } = obj[0];\r\n var permissoes = list[i].permissoes;\r\n let acessoModulo = false;\r\n if (typeof api != \"undefined\" && sistema != \"undefined\") {\r\n var permissoesApi = api[0].metodos;\r\n permissoes.forEach(e => {\r\n var indexMetodo = permissoesApi.findIndex(pm => pm.nome == e.metodo);\r\n e.acesso = permissoesApi[indexMetodo].acesso;\r\n if (!acessoModulo) acessoModulo = permissoesApi[indexMetodo].acesso ? true : false;\r\n });\r\n } else {\r\n var acessoPermissoesMongo = obj;\r\n permissoes.forEach(e => {\r\n var indexMetodo = acessoPermissoesMongo.findIndex(pm => pm.metodo == e.metodo);\r\n e.acesso = acessoPermissoesMongo[indexMetodo].acesso;\r\n if (!acessoModulo) acessoModulo = acessoPermissoesMongo[indexMetodo].acesso ? true : false;\r\n });\r\n }\r\n if (acessoModulo) {\r\n list[i].acesso = true\r\n }\r\n }\r\n }\r\n setListPermissoes(list.map((x, idx) => ({ key: idx, ...x })));\r\n }\r\n } catch (error) {\r\n const array = list.map((x, idx) => ({ key: idx, ...x }));\r\n setListPermissoes(array);\r\n setLoad(false)\r\n }\r\n } else {\r\n const array = list.map((x, idx) => ({ key: idx, ...x }));\r\n setListPermissoes(array);\r\n }\r\n }\r\n setLoad(false)\r\n }\r\n\r\n const handleChangeBloqueioPagina = (key, metodo = null) => {\r\n let array = [...listPermissoes];\r\n let index = array.findIndex(x => x.key == key);\r\n if (index > -1) {\r\n if (metodo != null) {\r\n let idx = array[index].permissoes.findIndex(x => x.metodo == metodo);\r\n if (idx > -1)\r\n array[index].permissoes[idx].acesso = !array[index].permissoes[idx].acesso;\r\n }\r\n else {\r\n array[index].acesso = !array[index].acesso;\r\n for (let y in array[index].permissoes)\r\n array[index].permissoes[y].acesso = array[index].acesso;\r\n }\r\n setListPermissoes(array);\r\n formulario.setFieldsValue({ listaPermissoesPaginas: array });\r\n }\r\n }\r\n\r\n const handleChangeBloqueioAll = (option, list = null) => {\r\n\r\n let array = (list != null) ? list : [...listPermissoes];\r\n for (let i in array) {\r\n array[i].acesso = option;\r\n for (let y in array[i].permissoes) {\r\n array[i].permissoes[y].acesso = option;\r\n }\r\n }\r\n setListPermissoes(array);\r\n formulario.setFieldsValue({ listaPermissoesPaginas: array });\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n handleChangeBloqueioPagina(record.key)}\r\n >\r\n {(!!acesso) ? 'Liberado' : 'Bloqueado'}\r\n \r\n \r\n \r\n {pagina}\r\n \r\n \r\n {acesso &&\r\n
\r\n \r\n \r\n {permissoes.map((item, idx) =>\r\n
\r\n \r\n \r\n {item.metodo}\r\n \r\n \r\n handleChangeBloqueioPagina(record.key, item.metodo)}>\r\n {(item.acesso) ? 'Sim' : 'Não'}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n }\r\n \r\n ),\r\n },\r\n ]}\r\n dataSource={listPermissoes} scroll={{ x: 900 }}\r\n />\r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Tag, Table, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { MaskFormat } from '../../ValueObjects';\r\n\r\nexport default function TabFiliaisUsuario({ formulario }) {\r\n\r\n const [load, setLoad] = useState(false);\r\n const [locais, setLocais] = useState({});\r\n const [pagina, setPagina] = useState(1);\r\n const [nroRegistros, setNroRegistros] = useState(10);\r\n const [pageRows, setPageRows] = useState([]);\r\n const [ordem, setOrdem] = useState('loc_id');\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [validaLocId, setValidaLocId] = useState(true);\r\n const [outrosLocId, setOutrosLocId] = useState([]);\r\n\r\n useEffect(() => {\r\n //if (formulario.getFieldValue('usu_id') != undefined)\r\n loadLocais()\r\n }, [pagina, nroRegistros, formulario.getFieldValue('usu_id')]);\r\n\r\n async function loadLocais() {\r\n var keys = []\r\n setSelectedRowKeys([]);\r\n setLoad(true);\r\n var itens = [];\r\n\r\n try {\r\n var resListar = await api.get(`Local/Listar?PageNumber=${pagina}&PageSize=${nroRegistros}&Order=${ordem}`)\r\n\r\n if (resListar.status === 200) {\r\n\r\n resListar.data.items.map(i => {\r\n itens.push(i.loc_id)\r\n });\r\n setPageRows(itens);\r\n\r\n resListar.data.items = await resListar.data.items.map((x) => ({ key: x.loc_id, ...x }));\r\n formulario.setFieldsValue({usuarioslocais: resListar.data.items});\r\n setLocais({dados: resListar.data.items, totalItens: resListar.data.totalItems})\r\n \r\n }\r\n var usu_id = formulario.getFieldValue('usu_id');\r\n if (typeof usu_id != 'undefined') {\r\n var resLocais = await api.get(`Local/LocaisSelecionadosUsuario?idUser=${usu_id}`)\r\n\r\n if (resLocais.status === 200) {\r\n resLocais.data.items = await resLocais.data.map((x) => ({ key: x.loc_id, ...x }));\r\n let locaisSelecionados = resLocais.data.items;\r\n locaisSelecionados.forEach(e => {\r\n keys.push(e.key);\r\n });\r\n setSelectedRowKeys(keys);\r\n formulario.setFieldsValue({locaisselecionados: locaisSelecionados});\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error.response)\r\n } finally {\r\n setLoad(false)\r\n }\r\n };\r\n\r\n const rowSelection = {\r\n selectedRowKeys,\r\n onChange: (keys, selectedRows) => {\r\n var others = [];\r\n\r\n if (keys.length == 0) {\r\n return notification.info({description: \"Ao menos uma filial deve permanecer selecionada. Para desativar o usuário desmarque a opção \\\"Usuário Ativo?\\\".\"})\r\n }\r\n\r\n if (validaLocId) {\r\n var is = false;\r\n var justOutCheck = [];\r\n pageRows.forEach(p => {\r\n for (var i = 0; i < keys.length; i++) {\r\n is = p == keys[i] ? true : false;\r\n if (is) break;\r\n }\r\n if (!is) justOutCheck.push(p);\r\n is = false;\r\n });\r\n\r\n var selected = selectedRowKeys;\r\n var sel_page = keys;\r\n\r\n is = false;\r\n selected.forEach(s => {\r\n for (var i = 0; i < sel_page.length; i++) {\r\n is = s == sel_page[i] ? true : false;\r\n if (is) break;\r\n }\r\n if (!is) others.push(s);\r\n var is = false;\r\n })\r\n\r\n justOutCheck.forEach(o => {\r\n for (var i = 0; i < others.length; i++) {\r\n if (others[i] == o) others.pop(o);\r\n }\r\n })\r\n setValidaLocId(false);\r\n setOutrosLocId(others);\r\n }\r\n\r\n var include = others.concat(keys);\r\n let list = include.map(x => ({ loc_id: x }));\r\n\r\n if (!others.length > 0) others = outrosLocId;\r\n \r\n setSelectedRowKeys(keys);\r\n\r\n formulario.setFieldsValue({ locaisselecionados: list });\r\n },\r\n };\r\n\r\n return (\r\n
\r\n (\r\n \r\n {loc_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Filial',\r\n render: ({ loc_descricao }) => (\r\n {loc_descricao}\r\n ),\r\n },\r\n {\r\n title: 'CNPJ',\r\n render: ({ loc_cnpj: { numero } }) => (\r\n {MaskFormat(numero, \"00.000.000/0000-00\")}\r\n ),\r\n\r\n },\r\n ]}\r\n pagination={{\r\n current: pagina,\r\n pageSize: nroRegistros,\r\n total: locais.totalItens,\r\n onChange: (pg) => setPagina(pg),\r\n onShowSizeChange: (current, page) => setNroRegistros(page)\r\n }} scroll={{ x: 900 }} />\r\n
\r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Upload, Checkbox, Tabs, notification, Modal } from \"antd\";\r\nimport { LoadingOutlined, PlusOutlined } from '@ant-design/icons';\r\nimport ImgCrop from 'antd-img-crop';\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { TabFiliaisUsuario, TabPermissoesUsuario, TabHorariosAcessoUsuario } from \"./tabPage\";\r\n\r\nimport { getEmpresa, getIdUsuario } from '../../services/auth'\r\n\r\nexport default function ManutencaoUsuario({ formulario, carregando, aoSalvar }) {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [imageUrl, setImageUrl] = useState(null);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [userId, setUserId] = useState(null);\r\n const [fileList, setFileList] = useState([]);\r\n const [array, setArray] = useState([]);\r\n const [emailAtual, setEmailAtual] = useState(formulario.getFieldValue('usu_email'));\r\n\r\n useEffect(() => {\r\n carregarAvatar();\r\n getPermissoesDefault();\r\n formulario.setFieldsValue({ usu_email: emailAtual });\r\n }, []);\r\n\r\n const getBase64 = async (img, callback) => {\r\n const reader = new FileReader();\r\n reader.addEventListener('load', () => callback(reader.result));\r\n reader.readAsDataURL(img);\r\n }\r\n\r\n const beforeUpload = async (file) => {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\r\n if (!isJpgOrPng) {\r\n notification.error('Você só pode fazer upload de arquivos JPG/PNG!');\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!isLt2M) {\r\n notification.error('A imagem deve ter menos de 2 MB!');\r\n }\r\n return isJpgOrPng && isLt2M;\r\n }\r\n\r\n const setImageComponent = (img_avatar) => {\r\n if (formulario.getFieldValue('usu_id')) {\r\n setUserId(formulario.getFieldValue('usu_id'));\r\n let img = [\r\n {\r\n uid: '-1',\r\n name: 'image.png',\r\n status: 'done',\r\n url: img_avatar,\r\n },\r\n ];\r\n\r\n setFileList(img);\r\n }\r\n };\r\n\r\n const carregarAvatar = async () => {\r\n if (!!formulario.getFieldValue('usu_email')) {\r\n await api.get(`Usuario/Avatar?email=${formulario.getFieldValue('usu_email')}`).then(\r\n res => {\r\n if (res.data.length > 100) {\r\n var caminho_avatar = `data:image/png;base64,${res.data}`;\r\n setImageComponent(caminho_avatar);\r\n setImageUrl(caminho_avatar);\r\n } else {\r\n let img = [\r\n {\r\n uid: res.data,\r\n name: 'image.png',\r\n status: 'done'\r\n },\r\n ];\r\n\r\n setFileList(img);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro)\r\n }\r\n )\r\n }\r\n };\r\n\r\n const getPermissoesDefault = async () => {\r\n let permissaoDefault;\r\n await api.get(`PermissaoUsuario/ListarPermissoesPaginas`).then(\r\n res => {\r\n permissaoDefault = res.data.map(\r\n (x, idx) =>\r\n ({ key: idx, ...x })\r\n );\r\n permissaoDefault.forEach(e => {\r\n e.acesso = true;\r\n e.permissoes.forEach(p => {\r\n p.acesso = true;\r\n });\r\n });\r\n setArray(permissaoDefault);\r\n }).catch(\r\n (err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n function salvarManutencao(values) {\r\n carregando(true);\r\n values.usu_sac = false;\r\n values.usu_suporte = false;\r\n var usuarios_locais = [];\r\n if (typeof values.locaisselecionados == 'undefined') {\r\n Modal.warning({\r\n title: \"Verifique os Locais de acesso!\",\r\n content: \"Não foi selecionado local de acesso para o usuário!\",\r\n });\r\n carregando(false);\r\n return;\r\n }\r\n values.locaisselecionados.forEach(l => {\r\n usuarios_locais.push({ usu_id: getIdUsuario(), loc_id: l.loc_id })\r\n })\r\n delete values.locaisselecionados;\r\n values.usuarioslocais = usuarios_locais;\r\n\r\n\r\n if (!values.listaPermissoesPaginas && !values.usu_id) {\r\n values.listaPermissoesPaginas = array;\r\n }\r\n\r\n if (typeof values.usuarioacessos != 'undefined') {\r\n values.usuarioacessos.map(item => {\r\n item.emp_id = getEmpresa();\r\n })\r\n }\r\n\r\n //tratamento senha\r\n if (values.usu_senha == \"\" || values.usu_confirmaSenha == \"\" || values.usu_senha != values.usu_confirmaSenha) {\r\n delete values.usu_senha;\r\n delete values.usu_confirmaSenha;\r\n }\r\n\r\n //tratmento do avatar\r\n if ((imageUrl != null) && (fileList != '')) {\r\n values.avatar = { data: imageUrl, type: fileList[0].type };\r\n } else {\r\n delete values.usu_avatar;\r\n }\r\n if (!!values.usu_id) {\r\n editar(values);\r\n } else {\r\n incluir(values);\r\n }\r\n carregando(false);\r\n }\r\n \r\n function incluir(values) {\r\n //tratamento dos campos\r\n api.post(`Usuario/Incluir`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Usuário foram salvos com sucesso, um e-mail foi enviado para a definição de senha!\" });\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n notification.error({ message: 'Aviso!', description: 'Problema ao incluir Usuario!' });\r\n }).finally(() => {\r\n formulario.resetFields();\r\n aoSalvar();\r\n })\r\n }\r\n \r\n function editar(values) {\r\n api.put(`Usuario/Editar`, values).then(\r\n res => {\r\n notification.success({ message: 'Sucesso!', description: 'Usuário alterado com Sucesso' });\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n notification.error({ message: 'Aviso!', description: 'Problema ao editar Usuário!' });\r\n }).finally(() => {\r\n formulario.resetFields();\r\n aoSalvar();\r\n })\r\n }\r\n const handleChange = (info) => {\r\n if (info.file.status === 'uploading') {\r\n setLoading(true);\r\n }\r\n if (info.file.status !== 'removed') {\r\n getBase64(info.file.originFileObj, (base64) => {\r\n setLoading(false);\r\n setImageUrl(base64);\r\n });\r\n }\r\n if (info.file.status === 'removed')\r\n setImageUrl(null);\r\n\r\n setFileList(info.fileList);\r\n };\r\n\r\n const onBlurVerificaEmail = async () => {\r\n var usuario;\r\n setEmailAtual(formulario.getFieldValue('usuEmail'));\r\n let emailNovo = formulario.getFieldValue('usu_email');\r\n let idUsuario = formulario.getFieldValue('usu_id');\r\n try {\r\n if (typeof idUsuario != 'undefined' & idUsuario != 0) usuario = `&idUsuario=${idUsuario}`;\r\n var result = await api.get(`Usuario/ValidarEmailEmpresa?email=${emailNovo}`);\r\n if (result.status == 200) {\r\n if (result.data) {\r\n formulario.setFieldsValue(result.data)\r\n carregarAvatar();\r\n }\r\n }\r\n } catch (err) {\r\n console.log('err :>> ', err);\r\n };\r\n }\r\n\r\n const uploadButton = (\r\n
\r\n {loading ? : }\r\n
\r\n {loading ? 'Carregando...' : 'Selecionar Imagem'}\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n setImageUrl(null)}\r\n maxCount={1}\r\n >\r\n {fileList.length == 0 && uploadButton}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {userId != null &&\r\n \r\n \r\n ({\r\n validator(_, value) {\r\n if (!value)\r\n return Promise.resolve();\r\n\r\n const regexNumber = /[0-9]/;\r\n const regexLetrasMaiuscula = /[A-Z]/;\r\n const regexLetrasMinuscula = /[a-z]/;\r\n\r\n if (regexNumber.test(value) === false) {\r\n return Promise.reject(new Error('A senha deve conter números!'));\r\n } else if (regexLetrasMaiuscula.test(value) === false) {\r\n return Promise.reject(new Error('A senha deve conter letras maiúsculas!'));\r\n } else if (regexLetrasMinuscula.test(value) === false) {\r\n return Promise.reject(new Error('A senha deve conter letras minúscula!'));\r\n } else if (value.length < 6) {\r\n return Promise.reject(new Error('A senha deve conter no mínimo 6 caracteres!'));\r\n } else if ((value == \" \") || (value == \"\")) {\r\n return Promise.reject(new Error('A senha não pode ser vazia'));\r\n }\r\n else\r\n return Promise.resolve();\r\n },\r\n }),\r\n ]}\r\n label=\"Nova Senha\"\r\n name=\"usu_senha\">\r\n \r\n \r\n \r\n \r\n ({\r\n required: getFieldValue('usu_confirmaSenha'),\r\n message: 'Informe a confirmação de sua senha!',\r\n }),\r\n ({ getFieldValue }) => ({\r\n validator(_, value) {\r\n if (!value || getFieldValue('usu_senha') === value) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(new Error('As senhas informadas não conferem!'));\r\n },\r\n\r\n })\r\n ]}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Este usuário irá possuir privilégios de administrador no sistema?\r\n \r\n \r\n \r\n \r\n Este usuário irá possuir acesso apenas no PDV?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport ManutencaoUsuario from './manutencao';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, manutencaoActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerUsuario() {\r\n\r\n const [formUsuario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (manutencao.dados !== null) {\r\n formUsuario.setFieldsValue(manutencao.dados, {usu_sac: false, usu_suporte: false});\r\n }\r\n else {\r\n formUsuario.setFieldsValue({ usu_ativo: false, usu_usuariopdv: false, usu_admin: false, usu_sac: false, usu_suporte: false, listaFiliais: [] });\r\n }\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formUsuario.resetFields();\r\n \r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+usu_nome' } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n });\r\n };\r\n\r\n return (\r\n { fecharDrawer() }}\r\n closeIcon={}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, Modal, notification } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, PrinterOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport DrawerUsuario from './drawer';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir, Imprimir } from \"../../components\";\r\n\r\nexport default function Usuario() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+usu_nome' } }), []);\r\n\r\n const loadData = (record) => {\r\n record.usuEmail = record.usu_email;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o usuário: ${dados.usu_nome}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n const modalInativarRegistro = (dados) => {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: `Não foi possível excluir usuário ${dados.usu_nome}. Deseja inativar este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(dados);\r\n }\r\n });\r\n };\r\n function inativarRegistro(dados) {\r\n api.put(`Usuario/Inativar/${dados.usu_id}`).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Usuario(a) inativado(a) com sucesso!` })\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+usu_nome' } });\r\n }\r\n )\r\n }\r\n function excluirRegistro(dados) {\r\n api.delete(`Usuario/Excluir/${dados.usu_id}`).then((res) => {\r\n if (res.data == false) {\r\n modalInativarRegistro(dados);\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (err) => {\r\n console.error(err);\r\n // let description = err.response.hasOwnProperty('data') ? err.response.data : JSON.stringify(err.response);\r\n // notification.error({ message: 'Erro ao processar a requisição.', description: description });\r\n modalInativarRegistro(dados);\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+usu_nome' } });\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {usu_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Usuário',\r\n render: ({ usu_nome }) => (\r\n
\r\n {usu_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'E-mail',\r\n render: ({ usu_email }) => (\r\n
\r\n {usu_email}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Inclusão',\r\n render: ({ usu_datainclusao }) => (\r\n
\r\n {(usu_datainclusao ? moment(usu_datainclusao).format(\"DD/MM/YYYY\") : '')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n {/*
\r\n }/>\r\n */}\r\n \r\n loadData(record)} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluir(dados)} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Button, Divider } from \"antd\";\r\nimport { StopOutlined, SaveOutlined, CheckOutlined, DeleteFilled } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport { ModalDefinirHorario } from \"../../components/modals/\";\r\n\r\nexport default function TabHorariosAcessoGrupo({ listHorarios, transformList }) {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [idDay, setIdDay] = useState(null);\r\n\r\n const setDataModal = (id) => {\r\n setIdDay(id);\r\n setOpenModal(true);\r\n }\r\n\r\n const onChangeHorario = (id, disabled = false, horaInicial = null, horaFinal = null) => {\r\n let array = [...listHorarios.listHorarios];\r\n array[id].disabled = disabled;\r\n if (horaInicial != null && horaFinal != null)\r\n array[id].day.push(\r\n {\r\n horaInicial: horaInicial != null ? horaInicial : null,\r\n horaFinal: horaFinal != null ? horaFinal : null,\r\n bloqueado: disabled,\r\n });\r\n listHorarios.setListHorarios(array);\r\n transformList(array);\r\n }\r\n\r\n const deleteHorario = (id, key) => {\r\n let array = [...listHorarios.listHorarios];\r\n array[id].day.splice(key, 1);\r\n listHorarios.setListHorarios(array);\r\n transformList(array);\r\n }\r\n\r\n return (\r\n
\r\n \r\n {listHorarios.listHorarios.map(({ id, description, disabled, day }, idx) => (\r\n
\r\n \r\n \r\n {description}\r\n \r\n \r\n \r\n {!disabled && \r\n {day.map((x, idx) => (\r\n\r\n \r\n \r\n \r\n {moment(x.horaInicial).format(\"HH:mm\")} até {moment(x.horaFinal).format(\"HH:mm\")}\r\n \r\n \r\n }\r\n type=\"link\"\r\n onClick={() => deleteHorario(id, idx)} />\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {disabled && \r\n \r\n

Bloqueado

\r\n \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n setOpenModal(false)} />\r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Row, Col, Tag, Divider, Button, Table } from \"antd\";\r\nimport { CheckOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function TabPermissoesGrupo({ listPermissoes, load, handleChangeBloqueioAll }) {\r\n\r\n const handleChangeBloqueioPagina = (key, metodo = null) => {\r\n let array = [...listPermissoes.listPermissoes];\r\n let index = array.findIndex(x => x.key == key);\r\n if (index > -1) {\r\n if (metodo != null) {\r\n let idx = array[index].permissoes.findIndex(x => x.metodo == metodo);\r\n if (idx > -1)\r\n array[index].permissoes[idx].acesso = !array[index].permissoes[idx].acesso;\r\n }\r\n else {\r\n array[index].acesso = !array[index].acesso;\r\n for (let y in array[index].permissoes)\r\n array[index].permissoes[y].acesso = array[index].acesso;\r\n }\r\n listPermissoes.setListPermissoes(array);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n
\r\n handleChangeBloqueioPagina(record.key)}\r\n >\r\n {(!!acesso) ? 'Liberado' : 'Bloqueado'}\r\n \r\n \r\n \r\n {pagina}\r\n \r\n \r\n {acesso &&\r\n
\r\n \r\n \r\n {permissoes.map((item, idx) =>\r\n
\r\n \r\n \r\n {item.metodo}\r\n \r\n \r\n handleChangeBloqueioPagina(record.key, item.metodo)}>\r\n {(item.acesso) ? 'Sim' : 'Não'}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n }\r\n \r\n ),\r\n },\r\n ]}\r\n dataSource={listPermissoes.listPermissoes}\r\n />\r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Button, Typography, Divider, Card, Modal } from \"antd\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { linkApi } from \"../../services/auth\";\r\nimport { ModalAdicionarUsuario } from \"../../components/modals/\";\r\n\r\nexport default function TabUsuarioGrupo({ formulario, usuarios }) {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n\r\n function incluirRemoverUsuario(user, incluir, mensagem = '') {\r\n let lista = [...usuarios.usuarios];\r\n let indice = usuarios.usuarios.findIndex((element) => {\r\n return element.usu_email === user.usu_email;\r\n });\r\n lista[indice].incluido = incluir;\r\n\r\n formulario.setFieldsValue({ usuarios: lista.filter((user) => { return user.incluido }) });\r\n usuarios.setUsuarios(lista);\r\n if (!!mensagem){\r\n Modal.success({\r\n content: mensagem,\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Usuário Informações Usuário do Grupo\r\n \r\n \r\n Adicione um novo usuário.\r\n \r\n \r\n \r\n {/* \r\n \r\n
\r\n
\r\n \r\n */}\r\n
\r\n \r\n {usuarios.usuarios.filter((user) => { return !user.usu_email.includes('@newerp.com.br') }).map((item) => (\r\n
\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {!item.incluido &&\r\n \r\n \r\n \r\n }\r\n {item.incluido &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n setOpenModal(false)} incluirRemoverUsuario={incluirRemoverUsuario}/>\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Checkbox, Tabs, notification } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { TabUsuarioGrupo, TabHorariosAcessoGrupo, TabPermissoesGrupo } from \"./tabPage\";\r\n\r\nexport default function ManutencaoGrupoUsuario({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [usuarios, setUsuarios] = useState([]);\r\n const [listPermissoes, setListPermissoes] = useState([]);\r\n const [load, setLoad] = useState(false);\r\n const [telaDuplicar, setTelaDuplicar] = useState(false);\r\n const [listHorarios, setListHorarios] = useState(\r\n [{\r\n id: 0,\r\n name: 'dom',\r\n disabled: false,\r\n description: 'Domingo',\r\n day: []\r\n }, {\r\n id: 1,\r\n name: 'seg',\r\n disabled: false,\r\n description: 'Segunda-feira',\r\n day: []\r\n }, {\r\n id: 2,\r\n name: 'ter',\r\n disabled: false,\r\n description: 'Terça-feira',\r\n day: []\r\n }, {\r\n id: 3,\r\n name: 'qua',\r\n disabled: false,\r\n description: 'Quarta-feira',\r\n day: []\r\n }, {\r\n id: 4,\r\n name: 'qui',\r\n disabled: false,\r\n description: 'Quinta-feira',\r\n day: []\r\n }, {\r\n id: 5,\r\n name: 'sex',\r\n disabled: false,\r\n description: 'Sexta-feira',\r\n day: []\r\n }, {\r\n id: 6,\r\n name: 'sab',\r\n disabled: false,\r\n description: 'Sábado',\r\n day: []\r\n },]);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n carregarUsuarios();\r\n loadPermissoes();\r\n carregarHorariosAcesso();\r\n if (!!manutencao.dados && manutencao.dados.duplicar) {\r\n setTelaDuplicar(true);\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n useEffect(() => {\r\n if (telaDuplicar) {\r\n formulario.setFieldsValue({ gru_ativo: true, gru_nome: null, gru_descricao: null });\r\n }\r\n }, [telaDuplicar]);\r\n\r\n function loadPermissoes() {\r\n setLoad(true);\r\n api.get(`PermissaoUsuario/ListarPermissoesPaginas`).then(res => {\r\n if (res.status === 200) {\r\n const list = res.data;\r\n let gru_id = formulario.getFieldValue('gru_id');\r\n if (gru_id) {\r\n api.get(`PermissaoGrupo/Listar?codigoGrupoUsuario=${gru_id}`).then((result) => {\r\n if (result.status === 200) {\r\n let dataAcess = result.data;\r\n for (let i in list) {\r\n let idx = dataAcess.findIndex(x => x.prg_nome === list[i].pagina);\r\n if (idx > -1) {\r\n let obj = JSON.parse(dataAcess[idx].prg_permissoes);\r\n if (!!obj) {\r\n let { api, sistema } = obj[0];\r\n if (api.length > 0 && sistema.length > 0 && sistema[0].acesso) {\r\n list[i].acesso = sistema[0].acesso;\r\n if (api[0].controller)\r\n list[i].permissoes = sistema[0].elementos.map((x) => ({ controller: api[0].controller, ...x }));\r\n }\r\n }\r\n }\r\n }\r\n setListPermissoes(list.map((x, idx) => ({ key: idx, ...x })));\r\n }\r\n }).catch((err) => {\r\n console.log(err.response)\r\n }).finally(() => setLoad(false));\r\n } else {\r\n const array = list.map((x, idx) => ({ key: idx, ...x }));\r\n handleChangeBloqueioAll(true, array);\r\n setLoad(false)\r\n }\r\n\r\n }\r\n }, err => {\r\n console.log(err.response)\r\n setLoad(false)\r\n });\r\n }\r\n\r\n const handleChangeBloqueioAll = (option, list = null) => {\r\n let array = (list != null) ? list : [...listPermissoes];\r\n for (let i in array) {\r\n array[i].acesso = option;\r\n for (let y in array[i].permissoes) {\r\n array[i].permissoes[y].acesso = option;\r\n }\r\n }\r\n setListPermissoes(array);\r\n };\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ listaPermissoesPaginas: listPermissoes });\r\n }, [listPermissoes]);\r\n\r\n async function carregarUsuarios() {\r\n let usuariosEmpresa = await api.get(`Usuario/ListarUsuarioAcessos?Ativo=true&PageSize=500&filtro=`);\r\n if (usuariosEmpresa.status === 200 && usuariosEmpresa.data.items.length > 0) {\r\n const list = usuariosEmpresa.data.items;\r\n let usuariosGrupo = [];\r\n let gru_id = formulario.getFieldValue('gru_id');\r\n if (gru_id) {\r\n let listaUsuarios = await api.get(`Usuario/ListarUsuariosGrupo?IdGrupo=${gru_id}`);\r\n if (listaUsuarios.status === 200 && listaUsuarios.data.length > 0) {\r\n listaUsuarios.data.forEach((value) => {\r\n let indice = list.findIndex((element) => {\r\n return element.usu_email === value.usu_email;\r\n });\r\n if (indice >= 0) {\r\n list[indice].incluido = true;\r\n usuariosGrupo.push(list[indice]);\r\n }\r\n });\r\n }\r\n }\r\n setUsuarios(list.map((x, idx) => ({ key: idx, ...x })));\r\n formulario.setFieldsValue({ usuarios: usuariosGrupo });\r\n }\r\n };\r\n\r\n function carregarHorariosAcesso() {\r\n if (formulario.getFieldValue('gru_id')) {\r\n api.get(`GrupoUsuario/ListarHorariosAcessoGrupo?IdGrupo=${formulario.getFieldValue('gru_id')}`).then((result) => {\r\n if (result.status === 200) {\r\n let array = [...listHorarios];\r\n result.data.forEach(element => {\r\n array[element.uac_dia].disabled = element.uac_bloqueado;\r\n if (!element.uac_bloqueado) {\r\n array[element.uac_dia].day.push({\r\n bloqueado: element.uac_bloqueado,\r\n horaInicial: element.uac_horainicial != null ? moment(element.uac_horainicial) : null,\r\n horaFinal: element.uac_horafinal != null ? moment(element.uac_horafinal) : null\r\n });\r\n }\r\n });\r\n setListHorarios(array)\r\n transformList(array);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response);\r\n });\r\n }\r\n };\r\n\r\n const transformList = (array) => {\r\n let obj = {};\r\n for (let i in array) {\r\n if (array[i].disabled)\r\n obj[array[i].name] = [{ horaInicial: null, horaFinal: null, bloqueado: true }];\r\n else\r\n obj[array[i].name] = array[i].day.length > 0 ? array[i].day.map((x) => (\r\n {\r\n horaInicial: new Date(x.horaInicial),\r\n horaFinal: new Date(x.horaFinal),\r\n bloqueado: x.bloqueado\r\n })) : [];\r\n\r\n }\r\n formulario.setFieldsValue({ listaDefinicaoHorario: { ...obj } });\r\n }\r\n\r\n function salvarManutencao(values) {\r\n values.usuariogrupousuarios = values.usuarios;\r\n carregando(true);\r\n if (!!values.gru_id) {\r\n editar(values);\r\n } else {\r\n incluir(values);\r\n }\r\n }\r\n \r\n function incluir(values) {\r\n //tratamento dos campos\r\n api.post(`GrupoUsuario/Incluir`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: `Grupo de Usuários ${values.duplicar ? 'duplicado' : 'salvo'} com sucesso!` });\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n notification.error({ message: 'Aviso!', description: 'Problema ao incluir Grupo de Usuários!' });\r\n }).finally(() => {\r\n formulario.resetFields();\r\n aoSalvar();\r\n carregando(false);\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } });\r\n })\r\n }\r\n \r\n function editar(values) {\r\n api.put(`GrupoUsuario/Editar`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: `Grupo de Usuários ${values.duplicar ? 'duplicado' : 'salvo'} com sucesso!` });\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n notification.error({ message: 'Aviso!', description: 'Problema ao editar Grupo de Usuários!' });\r\n }).finally(() => {\r\n formulario.resetFields();\r\n aoSalvar();\r\n carregando(false);\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } });\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Grupo Ativo?\r\n \r\n \r\n \r\n \r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoGrupoUsuario from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerUsuario() {\r\n\r\n const [formGrupoUsuario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (manutencao.dados !== null) {\r\n formGrupoUsuario.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formGrupoUsuario.resetFields();\r\n formGrupoUsuario.setFieldsValue({ mar_ativa: true });\r\n }\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n function fecharDrawer() {\r\n formGrupoUsuario.resetFields();\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Button, Dropdown, Menu, Tag, Popover, notification, Modal} from \"antd\";\r\nimport { EditOutlined, MoreOutlined, DeleteOutlined, PrinterOutlined, CopyOutlined, ToTopOutlined, CloseCircleOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport DrawerGrupoUsuario from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir, Duplicar, Exportar, Imprimir } from \"../../components\";\r\n\r\nexport default function GrupoUsuario() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } }), []);\r\n\r\n function menuTable(dados) {\r\n return (\r\n \r\n \r\n } onClick={() => abrirManutencaoDuplicar(dados)}> Duplicar \r\n \r\n \r\n }> Exportar \r\n \r\n \r\n }> Imprimir \r\n \r\n \r\n )\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Excluir o grupo de usuários ${dados.gru_nome}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n function abrirManutencaoDuplicar(dados){\r\n let dadosDuplicar = {...dados};\r\n dadosDuplicar.duplicar = true;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosDuplicar } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function excluirRegistro(dados) {\r\n api.post(`GrupoUsuario/Excluir?grupoUsuarioId=${dados.gru_id}`).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Grupo de usuários excluído com sucesso!\" });\r\n }\r\n }, (err) => {\r\n modalInativarGrupo(dados);\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } });\r\n });\r\n }\r\n\r\n const modalInativarGrupo = (dados) => {\r\n Modal.confirm({\r\n title: `Não foi possível excluir o grupo de usuários ${dados.gru_nome}!`,\r\n icon: ,\r\n content: `Deve conter referências com outros registros!`,\r\n okText: 'Inativar Registro',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n dados.gru_ativo = false;\r\n dados.usuarios = [];\r\n dados.usuarios = [];\r\n api.post(`GrupoUsuario/Editar`, dados).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Grupo de Usuários inativado com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } });\r\n });\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {gru_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Grupos de Usuários',\r\n render: ({ gru_nome }) => (\r\n
\r\n {gru_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => modalExcluir(dados)} />\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Gerar Bloco K? \r\n \r\n \r\n \r\n \r\n Gerar registro C170 para todos os modelos de documentos? \r\n \r\n \r\n \r\n \r\n Gerar registro 0150 para documentos modelo 65? \r\n \r\n \r\n \r\n \r\n Gerar registro C176 para vendas interestaduais? \r\n \r\n \r\n \r\n \r\n Empresa optante pela dispensa da informação das NFC-es - IN 48/20? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } size=\"large\" htmlType=\"submit\">\r\n Salvar\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Modal } from \"antd\";\r\nimport { CheckOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { BreadcrumbAbrirChamado, TabelaDados } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\nexport default function Notificacao() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n function excluirNotificacao(record) {\r\n api.delete(`Notificacao/Excluir/${record.id}`).then(\r\n res => {\r\n console.log(`Notificações excluidas com sucesso!`);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+not_datahora' } });\r\n }\r\n )\r\n }\r\n\r\n const modalExcluirNotificacao = (record) => {\r\n Modal.confirm({\r\n Title: 'Aviso',\r\n icon: ,\r\n content: 'Deseja excluir essa notificação?',\r\n okText: 'Excluir',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirNotificacao(record);\r\n }\r\n });\r\n };\r\n\r\n function excluirTodasNotificacao() {\r\n Modal.confirm({\r\n Title: 'Aviso',\r\n icon: ,\r\n content: 'Deseja excluir todas as notificações?',\r\n okText: 'Excluir',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.delete(`Notificacao/ExcluirTodos`).then(\r\n res => {\r\n console.log(`Notificacões excluidas com sucesso!`);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+not_datahora' } });\r\n }\r\n )\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n dispatch({type: listagemActions.CHANGE, data:{ordem: '-not_datahora'}});\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n
\r\n (\r\n
\r\n {moment(not_datahora).format('DD/MM/YYYY HH:mm:ss')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Notificações',\r\n render: ({ not_descricao }) => (\r\n
\r\n {not_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: excluirTodasNotificacao()} />,\r\n width: 45,\r\n align: 'center',\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n modalExcluirNotificacao(record)} className=\"p-8\" />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n\r\n } />\r\n\r\n \r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Select, Checkbox, InputNumber } from \"antd\";\r\n\r\nexport default function TabPdv({ impressaoComprovantes, listaContaGerencial, listaContaGerencialAgrupador }) {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Comandar emissão de NFC-e Manualmente?\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Tabs, Select, Checkbox, Tooltip, Input, Upload, message, InputNumber, Button, Modal } from \"antd\";\r\nimport { QuestionCircleOutlined, CloseOutlined, SaveOutlined, LoadingOutlined, PlusOutlined } from \"@ant-design/icons\";\r\nimport ImgCrop from \"antd-img-crop\";\r\n\r\nimport TabPdv from './tabPdv';\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { parametrosEmpresaActions } from \"../../actions\";\r\nimport { getEmpresa, linkApi } from \"../../services/auth\";\r\nimport { isNotNullOrEmpty } from \"../../services/funcoes\";\r\n\r\nexport default function ParametrosEmpresa() {\r\n\r\n const [{ manutencao, parametrosEmpresa }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [carregando, setCarregando] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [listaImagens, setListaImagens] = useState([]);\r\n const [imageUrl, setImageUrl] = useState(null);\r\n const [formulario] = Form.useForm();\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [custo, setCusto] = useState([]);\r\n const [tipoMarkup, setTipoMarkup] = useState([]);\r\n const [impressaoComprovantes, setImpressaoComprovantes] = useState([]);\r\n const [regimeTributarioFiscal, setRegimeTributarioFiscal] = useState([]);\r\n const [enquadramentoFiscal, setEnquadramentoFiscal] = useState([]);\r\n\r\n const onChange = (info) => {\r\n if (info.file.status === 'uploading') {\r\n setLoading(true);\r\n }\r\n if (info.file.status !== 'removed') {\r\n getBase64(info.file.originFileObj, (imageUrl) => {\r\n setLoading(false);\r\n setImageUrl(imageUrl);\r\n });\r\n }\r\n if (info.file.status === 'removed') {\r\n setImageUrl(null);\r\n }\r\n\r\n setListaImagens(info.fileList);\r\n };\r\n\r\n function getBase64(img, callback) {\r\n const reader = new FileReader();\r\n reader.addEventListener('load', () => callback(reader.result));\r\n reader.readAsDataURL(img);\r\n }\r\n\r\n function beforeUpload(file) {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\r\n if (!isJpgOrPng) {\r\n message.error('Você só pode fazer upload de arquivos JPG/PNG!');\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!isLt2M) {\r\n message.error('A imagem deve ter menos de 2 MB!');\r\n }\r\n return isJpgOrPng && isLt2M;\r\n }\r\n\r\n const uploadButton = (\r\n
\r\n {loading ? : }\r\n
{loading ? 'Carregando...' : 'Selecionar Imagem'}
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n api.get(`Empresa/Buscar/${getEmpresa()}`).then(retornoEmpresa => {\r\n formulario.setFieldsValue({\r\n emp_nomefantasia: retornoEmpresa.data.emp_nomefantasia,\r\n emp_razaosocial: retornoEmpresa.data.emp_razaosocial,\r\n emp_regimetributario: retornoEmpresa.data.emp_regimetributario,\r\n emp_enquadramentofiscal: retornoEmpresa.data.emp_enquadramentofiscal\r\n });\r\n let url = `${linkApi}Empresa/RetornaLogo?id=${getEmpresa()}`;\r\n setImageUrl(retornoEmpresa.data.emp_logo);\r\n setListaImagens([{ url: url, uid: 1 }]);\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get('ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=&').then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get('Enum/Listar?nome=TipoPrecoUtilizar').then(res => {\r\n if (res.status === 200) {\r\n setCusto(res.data.filter((item) => { return item.key > 0; }));\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get('Enum/Listar?nome=TipoMarkup').then(res => {\r\n if (res.status === 200) {\r\n setTipoMarkup(res.data.filter((item) => { return item.key > 0; }));\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n\r\n api.get('Enum/Listar?nome=ImpressaoComprovantes').then(res => {\r\n if (res.status === 200) {\r\n setImpressaoComprovantes(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get('/ParametroEmpresa/BuscarParametros').then(res => {\r\n if (res.status === 200) {\r\n dispatch({ type: parametrosEmpresaActions.CHANGE, data: res.data });\r\n formulario.setFieldsValue(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`Enum/Listar?nome=RegimeTributarioFiscal`).then(res => {\r\n if (res.status === 200) {\r\n setRegimeTributarioFiscal(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n\r\n api.get(`Enum/Listar?nome=EnquadramentoFiscal`).then(res => {\r\n if (res.status === 200) {\r\n setEnquadramentoFiscal(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }, []);\r\n\r\n function salvarParametros() {\r\n let dadosParametrosEmpresa = formulario.getFieldValue();\r\n dadosParametrosEmpresa.par_contagerencialsangriapdv = !!dadosParametrosEmpresa.par_contagerencialsangriapdv ? dadosParametrosEmpresa.par_contagerencialsangriapdv : null;\r\n dadosParametrosEmpresa.par_contagerencialsuprimentopdv = !!dadosParametrosEmpresa.par_contagerencialsuprimentopdv ? dadosParametrosEmpresa.par_contagerencialsuprimentopdv : null;\r\n dadosParametrosEmpresa.par_contagerencialvalepresente = isNotNullOrEmpty(dadosParametrosEmpresa.par_contagerencialvalepresente) ? dadosParametrosEmpresa.par_contagerencialvalepresente : null;\r\n dadosParametrosEmpresa.par_contagervalepresenteprazo = isNotNullOrEmpty(dadosParametrosEmpresa.par_contagervalepresenteprazo) ? dadosParametrosEmpresa.par_contagervalepresenteprazo : null;\r\n dadosParametrosEmpresa.par_ctg_recebimentoparcela = isNotNullOrEmpty(dadosParametrosEmpresa.par_ctg_recebimentoparcela) ? dadosParametrosEmpresa.par_ctg_recebimentoparcela : null;\r\n dadosParametrosEmpresa.par_viasimpressaonfce = !!dadosParametrosEmpresa.par_viasimpressaonfce ? dadosParametrosEmpresa.par_viasimpressaonfce : 1;\r\n dadosParametrosEmpresa.par_impressaodavls = isNotNullOrEmpty(dadosParametrosEmpresa.par_impressaodavls) ? dadosParametrosEmpresa.par_impressaodavls : null;\r\n dadosParametrosEmpresa.par_impressaonfce = isNotNullOrEmpty(dadosParametrosEmpresa.par_impressaonfce) ? dadosParametrosEmpresa.par_impressaonfce : null;\r\n dadosParametrosEmpresa.par_impressaocondicional = isNotNullOrEmpty(dadosParametrosEmpresa.par_impressaocondicional) ? dadosParametrosEmpresa.par_impressaocondicional : null;\r\n dadosParametrosEmpresa.par_impressaorecbtoparcela = isNotNullOrEmpty(dadosParametrosEmpresa.par_impressaorecbtoparcela) ? dadosParametrosEmpresa.par_impressaorecbtoparcela : null;\r\n dadosParametrosEmpresa.par_custopadraonftransferencia = isNotNullOrEmpty(dadosParametrosEmpresa.par_custopadraonftransferencia) ? dadosParametrosEmpresa.par_custopadraonftransferencia : null;\r\n dadosParametrosEmpresa.ope_id = isNotNullOrEmpty(dadosParametrosEmpresa.ope_id) ? dadosParametrosEmpresa.ope_id : null;\r\n dadosParametrosEmpresa.par_impressaocarne = isNotNullOrEmpty(dadosParametrosEmpresa.par_impressaocarne) ? dadosParametrosEmpresa.par_impressaocarne : null;\r\n dadosParametrosEmpresa.par_viasimpressaocarne = !!dadosParametrosEmpresa.par_viasimpressaocarne ? dadosParametrosEmpresa.par_viasimpressaocarne : 1;\r\n dadosParametrosEmpresa.emp_id = getEmpresa();\r\n dadosParametrosEmpresa.emp_logo = imageUrl;\r\n\r\n setCarregando(true);\r\n api.put(\"ParametroEmpresa/Editar\", dadosParametrosEmpresa).then(res => {\r\n if (res.status === 200) {\r\n Modal.success({\r\n title: 'Parametros da empresa atualizados',\r\n content: 'As definições dos parâmetros do Gestor ERP para sua empresa foram atualizados com sucesso!',\r\n onOk() {\r\n onOk();\r\n }\r\n });\r\n } else {\r\n Modal.error({\r\n title: 'Não foi possivel salvar os parâmetros.',\r\n onOk() {\r\n onOk();\r\n }\r\n });\r\n }\r\n }, erro => {\r\n Modal.error({\r\n title: 'Não foi possivel salvar os parâmetros.',\r\n content: erro.message,\r\n onOk() {\r\n onOk();\r\n }\r\n });\r\n }).finally(() => {\r\n atualizarParametrosEmpresa();\r\n setCarregando(false);\r\n });\r\n };\r\n\r\n function onOk() {\r\n window.history.back();\r\n };\r\n\r\n function atualizarParametrosEmpresa() {\r\n api.get('/ParametroEmpresa/BuscarParametros').then(res => {\r\n if (res.status === 200) {\r\n dispatch({ type: parametrosEmpresaActions.CHANGE, data: res.data });\r\n }\r\n }).catch((erro) => console.error(erro));\r\n };\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaImagens.length === 0 && uploadButton}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Conta Gerencial Recebimento\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Usar Limite de Crédito? \r\n \r\n \r\n \r\n \r\n % da Renda Limite de Crédito\r\n \r\n \r\n \r\n \r\n } placeholder=\"Informe o Percentual do Limite de Crédito\" name=\"par_percentuallimitecredito\" cifrao={false}>\r\n \r\n \r\n \r\n Markup Padrão\r\n \r\n \r\n \r\n \r\n } placeholder=\"Informe o Markup Padrão (R$)\" name=\"par_markupproduto\" cifrao={false}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nº Dias Tolerância\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Nº Dias Tolerância\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n % Juros\r\n \r\n \r\n \r\n \r\n }>\r\n `${value} %`}\r\n decimalSeparator={','}\r\n />\r\n \r\n \r\n \r\n \r\n Valor Multa\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Custo Padrão\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n Imprimir Desconto em cada Item do Cupom Fiscal? \r\n \r\n \r\n \r\n \r\n Usa Promissória? \r\n \r\n {/* \r\n \r\n \r\n Validar Estoque? \r\n \r\n */}\r\n \r\n \r\n Calcular preço de venda automático pelas notas de compra? \r\n \r\n \r\n prevValues.par_calculaprecovenda !== currentValues.par_calculaprecovenda}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue().par_calculaprecovenda) return (\r\n \r\n \r\n Markup Definido em :\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n prevValues.par_usanotapromissoria !== currentValues.par_usanotapromissoria}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue().par_usanotapromissoria) return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Form, Select, Layout, Card, notification } from \"antd\";\r\nimport { CheckOutlined, PrinterFilled } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { formatarCnpj } from \"../../services/funcoes\";\r\nimport { getEmpresa, getNomeEmpresa } from \"../../services/auth\";\r\nimport { Data } from \"../../components\";\r\n\r\nexport default function AnaliseInadimplenciaCliente() {\r\n const [form] = Form.useForm();\r\n const [listaIndice, setListaIndice] = useState([]);\r\n const [listaLocais, setListaLocais] = useState([]);\r\n const [logoEmpresa, setLogoEmpresa] = useState(\"\");\r\n const [listaDadosInadimplencia, setListaDadosInadimplencia] = useState([]);\r\n const [tiposPagamento, setTiposPagamento] = useState([])\r\n const [indiceSelecionado, setIndiceSelecionado] = useState(0);\r\n const [totalizadores, setTotalizadores] = useState({});\r\n const [imprimir, setImprimir] = useState(false);\r\n const [mostrarScroll, setMostrarScroll] = useState(false)\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => {\r\n carregarDadosIndice();\r\n carregarDadosLocal();\r\n BuscarParametrosEmpresa();\r\n popularTipoCobranca();\r\n setarFuncaoTamanho();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!listaLocais && listaLocais.length > 0) {\r\n carregarLocaisPadroes();\r\n }\r\n }, [listaLocais]);\r\n\r\n useEffect(() => {\r\n if (!!tiposPagamento && tiposPagamento.length > 0) {\r\n popularLabelTpPag();\r\n }\r\n }, [tiposPagamento]);\r\n\r\n useEffect(() => {\r\n if (!!window.outerHeight) {\r\n if (window.outerHeight < 800) {\r\n setMostrarScroll(true);\r\n } else {\r\n setMostrarScroll(false);\r\n }\r\n }\r\n }, [window]);\r\n\r\n function carregarDadosIndice() {\r\n let indices = [];\r\n let numeroIndice = 30;\r\n for (let i = 0; i < 6; i++) {\r\n indices.push({ key: i, label: `Indice +${numeroIndice} dias.`, value: numeroIndice });\r\n numeroIndice += 30;\r\n }\r\n setListaIndice(indices);\r\n };\r\n\r\n function carregarDadosLocal() {\r\n api.get(`Local/ListarLocalUsuario?CodigoEmpresa=${getEmpresa()}`).then(\r\n res => {\r\n setListaLocais(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function carregarLocaisPadroes() {\r\n let locais = []\r\n listaLocais.forEach((local) => {\r\n locais.push(local.loc_id);\r\n });\r\n form.setFieldsValue({ loc_id: locais });\r\n };\r\n\r\n function BuscarParametrosEmpresa() {\r\n api.get(`Empresa/Buscar/${getEmpresa()}`).then(\r\n res => {\r\n setLogoEmpresa(res.data.emp_logo);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function popularTipoCobranca() {\r\n let listaTpCobranca = [];\r\n listaTpCobranca.push({ id: 1, value: 'Cheques' });\r\n listaTpCobranca.push({ id: 2, value: 'Crediario' });\r\n setTiposPagamento(listaTpCobranca);\r\n };\r\n\r\n function popularLabelTpPag() {\r\n let formTiposCobranca = form.getFieldValue().tiposCobranca;\r\n let retorno = []\r\n tiposPagamento.forEach(\r\n (tpCobranca) => {\r\n if (formTiposCobranca.indexOf(tpCobranca.id) > -1) {\r\n retorno.push(tpCobranca.value);\r\n }\r\n }\r\n );\r\n form.setFieldsValue({ tipoCobrancaLabel: retorno.join(', ') });\r\n };\r\n\r\n function setarFuncaoTamanho() {\r\n window.addEventListener(\"resize\", () => {\r\n if (!!window.outerHeight) {\r\n if (window.outerHeight < 800 && listaDadosInadimplencia.length > 1) {\r\n setMostrarScroll(true);\r\n } else {\r\n setMostrarScroll(false);\r\n }\r\n }\r\n });\r\n };\r\n\r\n async function buscarDadosInadimplencia() {\r\n if (!!!form.getFieldValue().dataAnalise) {\r\n notification.warning({ description: 'Favor informe uma data para análise!', message: 'Aviso' });\r\n return false;\r\n }\r\n let formTiposCobranca = form.getFieldValue().tiposCobranca;\r\n let dadosCrediario = [];\r\n let dadosCheques = [];\r\n let listaDados = [];\r\n let dadosTabela = [];\r\n let obj = {};\r\n let localAtual = 0;\r\n\r\n setCarregando(true);\r\n\r\n if (formTiposCobranca.indexOf(1) > -1) {\r\n let reqCheques = await api.get(`AnaliseInadimplenciaClientes/ListarCheques?filiais=${form.getFieldValue().loc_id.join(',')}&dataBase=${moment(form.getFieldValue().dataAnalise).format(\"YYYY-MM-DD\")}`);\r\n if (reqCheques.status === 200) {\r\n dadosCheques = reqCheques.data;\r\n }\r\n }\r\n\r\n if (formTiposCobranca.indexOf(2) > -1) {\r\n let reqCrediario = await api.get(`AnaliseInadimplenciaClientes/ListarCrediario?filiais=${form.getFieldValue().loc_id.join(',')}&dataBase=${moment(form.getFieldValue().dataAnalise).format(\"YYYY-MM-DD\")}`);\r\n if (reqCrediario.status === 200) {\r\n dadosCrediario = reqCrediario.data;\r\n }\r\n }\r\n\r\n if (dadosCheques.length > 0) {\r\n listaDados.push(dadosCheques);\r\n }\r\n\r\n if (dadosCrediario.length > 0) {\r\n listaDados.push(dadosCrediario);\r\n }\r\n\r\n listaDados = dadosCheques.concat(dadosCrediario);\r\n //localAtual = parseInt(listaDados[0].codigoLocal);\r\n limparVariaveis(obj);\r\n\r\n listaDados.forEach((dados, idx, array) => {\r\n obj.codigoLocal = dados.codigoLocal;\r\n obj.nomeLocal = dados.nomeLocal;\r\n obj.cnpjLocal = dados.cnpjLocal;\r\n obj.vlr_AVencer += parseFloat(dados.vlr_AVencer);\r\n obj.vlr_Ate30dias += parseFloat(dados.vlr_Ate30dias);\r\n obj.vlr_Ate60dias += parseFloat(dados.vlr_Ate60dias);\r\n obj.vlr_Ate90dias += parseFloat(dados.vlr_Ate90dias);\r\n obj.vlr_Ate120dias += parseFloat(dados.vlr_Ate120dias);\r\n obj.vlr_Ate150dias += parseFloat(dados.vlr_Ate150dias);\r\n obj.vlr_Ate180dias += parseFloat(dados.vlr_Ate180dias);\r\n obj.vlr_Acima180dias += parseFloat(dados.vlr_Acima180dias);\r\n obj.vlr_Vencidos += parseFloat(dados.vlr_Vencidos);\r\n obj.vlr_Total += parseFloat(dados.vlr_Total);\r\n obj.vlr_Indicador_Acima30dias += parseFloat(dados.vlr_Indicador_Acima30dias);\r\n obj.vlr_Indicador_Acima60dias += parseFloat(dados.vlr_Indicador_Acima60dias);\r\n obj.vlr_Indicador_Acima90dias += parseFloat(dados.vlr_Indicador_Acima90dias);\r\n obj.vlr_Indicador_Acima120dias += parseFloat(dados.vlr_Indicador_Acima120dias);\r\n obj.vlr_Indicador_Acima150dias += parseFloat(dados.vlr_Indicador_Acima150dias);\r\n obj.vlr_Indicador_Acima180dias += parseFloat(dados.vlr_Indicador_Acima180dias);\r\n\r\n if (localAtual !== parseInt(dados.codigoLocal)) {\r\n localAtual = parseInt(dados.codigoLocal);\r\n dadosTabela.push({ ...obj });\r\n limparVariaveis(obj);\r\n } else if (idx === array.length - 1) {\r\n dadosTabela.push(obj);\r\n }\r\n });\r\n setCarregando(false);\r\n setListaDadosInadimplencia(dadosTabela);\r\n calcularTotal(dadosTabela);\r\n };\r\n\r\n function limparVariaveis(obj) {\r\n obj.vlr_AVencer = 0;\r\n obj.vlr_Ate30dias = 0;\r\n obj.vlr_Ate60dias = 0;\r\n obj.vlr_Ate90dias = 0;\r\n obj.vlr_Ate120dias = 0;\r\n obj.vlr_Ate150dias = 0;\r\n obj.vlr_Ate180dias = 0;\r\n obj.vlr_Acima180dias = 0;\r\n obj.vlr_Vencidos = 0;\r\n obj.vlr_Total = 0;\r\n obj.vlr_Indicador_Acima30dias = 0;\r\n obj.vlr_Indicador_Acima60dias = 0;\r\n obj.vlr_Indicador_Acima90dias = 0;\r\n obj.vlr_Indicador_Acima120dias = 0;\r\n obj.vlr_Indicador_Acima150dias = 0;\r\n obj.vlr_Indicador_Acima180dias = 0;\r\n };\r\n\r\n function calcularTotal(dadosTabela) {\r\n let objTotalizador = {};\r\n objTotalizador.vlr_AVencer = 0;\r\n objTotalizador.vlr_Ate30dias = 0;\r\n objTotalizador.vlr_Ate60dias = 0;\r\n objTotalizador.vlr_Ate90dias = 0;\r\n objTotalizador.vlr_Ate120dias = 0;\r\n objTotalizador.vlr_Ate150dias = 0;\r\n objTotalizador.vlr_Ate180dias = 0;\r\n objTotalizador.vlr_Acima180dias = 0;\r\n objTotalizador.vlr_Vencidos = 0;\r\n objTotalizador.vlr_Total = 0;\r\n objTotalizador.vlr_Indicador_Acima30dias = 0;\r\n objTotalizador.vlr_Indicador_Acima60dias = 0;\r\n objTotalizador.vlr_Indicador_Acima90dias = 0;\r\n objTotalizador.vlr_Indicador_Acima120dias = 0;\r\n objTotalizador.vlr_Indicador_Acima150dias = 0;\r\n objTotalizador.vlr_Indicador_Acima180dias = 0;\r\n\r\n dadosTabela.forEach((dados => {\r\n objTotalizador.vlr_AVencer += dados.vlr_AVencer;\r\n objTotalizador.vlr_Ate30dias += dados.vlr_Ate30dias;\r\n objTotalizador.vlr_Ate60dias += dados.vlr_Ate60dias;\r\n objTotalizador.vlr_Ate90dias += dados.vlr_Ate90dias;\r\n objTotalizador.vlr_Ate120dias += dados.vlr_Ate120dias;\r\n objTotalizador.vlr_Ate150dias += dados.vlr_Ate150dias;\r\n objTotalizador.vlr_Ate180dias += dados.vlr_Ate180dias;\r\n objTotalizador.vlr_Acima180dias += dados.vlr_Acima180dias;\r\n objTotalizador.vlr_Vencidos += dados.vlr_Vencidos;\r\n objTotalizador.vlr_Total += dados.vlr_Total;\r\n objTotalizador.vlr_Indicador_Acima30dias += dados.vlr_Indicador_Acima30dias;\r\n objTotalizador.vlr_Indicador_Acima60dias += dados.vlr_Indicador_Acima60dias;\r\n objTotalizador.vlr_Indicador_Acima90dias += dados.vlr_Indicador_Acima90dias;\r\n objTotalizador.vlr_Indicador_Acima120dias += dados.vlr_Indicador_Acima120dias;\r\n objTotalizador.vlr_Indicador_Acima150dias += dados.vlr_Indicador_Acima150dias;\r\n objTotalizador.vlr_Indicador_Acima180dias += dados.vlr_Indicador_Acima180dias;\r\n }));\r\n\r\n setTotalizadores(objTotalizador);\r\n };\r\n\r\n function impressao() {\r\n setImprimir(true);\r\n window.print();\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!imprimir &&\r\n \r\n \r\n
\r\n \"Gestor\r\n \r\n \r\n Análise de Inadimplência de Clientes\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {!imprimir &&
\r\n \r\n
\r\n \r\n \r\n {listaLocais.map(local => (\r\n {local.loc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { popularLabelTpPag() }}\r\n mode=\"multiple\">\r\n {tiposPagamento.map((tpPag) => (\r\n {tpPag.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {listaDadosInadimplencia.length > 0 &&\r\n
\r\n \r\n \r\n
\r\n \"Logo\"\r\n \r\n \r\n \r\n \r\n {getNomeEmpresa()}\r\n \r\n \r\n \r\n \r\n Data base da análise: {moment(form.getFieldValue().dataAnalise).format(\"DD/MM/YYYY\")}\r\n \r\n \r\n \r\n \r\n Tipos de cobrança: {form.getFieldValue().tipoCobrancaLabel}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Data: {moment(new Date()).format(\"DD/MM/YYYY\")}\r\n \r\n \r\n \r\n \r\n Hora: {moment(new Date()).format(\"HH:mm:ss\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n A Vencer\r\n \r\n \r\n Até 30 dias\r\n \r\n \r\n Até 60 dias\r\n \r\n \r\n Até 90 dias\r\n \r\n \r\n Até 120 dias\r\n \r\n \r\n Até 150 dias\r\n \r\n \r\n Até 180 dias\r\n \r\n \r\n Mais de 180 dias\r\n \r\n \r\n Vencidos\r\n \r\n \r\n Total\r\n \r\n {indiceSelecionado === 0 &&\r\n \r\n Indice (+30)\r\n \r\n }\r\n {indiceSelecionado === 1 &&\r\n \r\n Indice (+60)\r\n \r\n }\r\n {indiceSelecionado === 2 &&\r\n \r\n Indice (+90)\r\n \r\n }\r\n {indiceSelecionado === 3 &&\r\n \r\n Indice (+120)\r\n \r\n }\r\n {indiceSelecionado === 4 &&\r\n \r\n Indice (+150)\r\n \r\n }\r\n {indiceSelecionado === 5 &&\r\n \r\n Indice (+180)\r\n \r\n }\r\n \r\n {listaDadosInadimplencia.map((dados) => (\r\n
\r\n \r\n
\r\n {getNomeEmpresa()} / {dados.nomeLocal} \r\n \r\n \r\n CNPJ: {formatarCnpj(dados.cnpjLocal)}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {FormatNumber(dados.vlr_AVencer, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Ate30dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Ate60dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Ate90dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Ate120dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Ate150dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Ate180dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Acima180dias, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Vencidos, 2)}\r\n \r\n \r\n {FormatNumber(dados.vlr_Total, 2)}\r\n \r\n {indiceSelecionado === 0 &&\r\n \r\n {FormatNumber(dados.vlr_Indicador_Acima30dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 1 &&\r\n \r\n {FormatNumber(dados.vlr_Indicador_Acima60dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 2 &&\r\n \r\n {FormatNumber(dados.vlr_Indicador_Acima90dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 3 &&\r\n \r\n {FormatNumber(dados.vlr_Indicador_Acima120dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 4 &&\r\n \r\n {FormatNumber(dados.vlr_Indicador_Acima150dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 5 &&\r\n \r\n {FormatNumber(dados.vlr_Indicador_Acima180dias, 2)}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n % {(((dados.vlr_AVencer * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Ate30dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Ate60dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Ate90dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Ate120dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Ate150dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Ate180dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Acima180dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n % {(((dados.vlr_Vencidos * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n \r\n \r\n {indiceSelecionado === 0 &&\r\n \r\n % {(((dados.vlr_Indicador_Acima30dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n }\r\n {indiceSelecionado === 1 &&\r\n \r\n % {(((dados.vlr_Indicador_Acima60dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n }\r\n {indiceSelecionado === 2 &&\r\n \r\n % {(((dados.vlr_Indicador_Acima90dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n }\r\n {indiceSelecionado === 3 &&\r\n \r\n % {(((dados.vlr_Indicador_Acima120dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n }\r\n {indiceSelecionado === 4 &&\r\n \r\n % {(((dados.vlr_Indicador_Acima150dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n }\r\n {indiceSelecionado === 5 &&\r\n \r\n % {(((dados.vlr_Indicador_Acima180dias * 100) / (dados.vlr_Total > 0 ? dados.vlr_Total : 1)).toFixed(2)).replaceAll(\".\", \",\")}\r\n }\r\n \r\n \r\n\r\n \r\n ))}\r\n \r\n \r\n Totais (R$):\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_AVencer, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Ate30dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Ate60dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Ate90dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Ate120dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Ate150dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Ate180dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Acima180dias, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Vencidos, 2)}\r\n \r\n \r\n {FormatNumber(totalizadores.vlr_Total, 2)}\r\n \r\n {indiceSelecionado === 0 &&\r\n \r\n {FormatNumber(totalizadores.vlr_Indicador_Acima30dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 1 &&\r\n \r\n {FormatNumber(totalizadores.vlr_Indicador_Acima60dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 2 &&\r\n \r\n {FormatNumber(totalizadores.vlr_Indicador_Acima90dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 3 &&\r\n \r\n {FormatNumber(totalizadores.vlr_Indicador_Acima120dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 4 &&\r\n \r\n {FormatNumber(totalizadores.vlr_Indicador_Acima150dias, 2)}\r\n \r\n }\r\n {indiceSelecionado === 5 &&\r\n \r\n {FormatNumber(totalizadores.vlr_Indicador_Acima180dias, 2)}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n )\r\n};","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Layout, Row, Col, Typography, Divider, Radio, Form, Card, Tag, Input, Select, Button, Modal } from \"antd\";\r\nimport { RocketOutlined, ArrowRightOutlined, ShoppingOutlined, EyeOutlined, ArrowLeftOutlined } from \"@ant-design/icons\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\n\r\nimport { ModalContrato, ModalPlano } from \"../../components/modals/\";\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { consultaCNPJ, removerCarcaterEspecial, textoAleatorio, validaForm } from \"../../services/funcoes\";\r\nimport { linkApi } from \"../../services/auth\";\r\nimport { InputCep, InputCpfCnpj, InputPhone } from \"../../components\";\r\n\r\nexport default function NovaEmpresa() {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [listaPlanos, setListaPlanos] = useState([]);\r\n const [recursosPlano, setRecursosPlano] = useState([]);\r\n const [formulario] = Form.useForm();\r\n const [periodoAssinatura, setPeriodoAssinatura] = useState(1);\r\n const [planoSelecionado, setPlanoSelecionado] = useState({});\r\n const [testeGratuito, setTesteGratuito] = useState(false);\r\n const [urlContrato, setUrlContrato] = useState('');\r\n const [dadosNovaEmpresa, setDadosNovaEmpresa] = useState({});\r\n const [informacoes, setInformacoes] = useState({});\r\n const [openModalContrato, setOpenModalContrato] = useState(false);\r\n const [codigoSegurancaContrato, setCodigoSegurancaContrato] = useState('');\r\n const TEST_SITE_KEY = \"6LeoNSQcAAAAANE1sxJTZvTYWXi9rzrNH_LuWf9e\";\r\n const [captcha, setCaptcha] = useState('');\r\n const reCaptchaRef = React.createRef();\r\n const inputEmail = useRef();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n const dadosLocalAtivacao = {\r\n loc_id: 10086,\r\n emp_id: 1022,\r\n pla_id: 1\r\n };\r\n\r\n const formasPagamento = {\r\n cartaoCredito: 1,\r\n boleto: 2\r\n };\r\n\r\n const [dadosContrato, setDadosContrato] = useState({\r\n codigoSegurancaContrato: '',\r\n formaPagamento: formasPagamento.boleto,\r\n diaPagamento: 10,\r\n emailEnvioCobranca: '',\r\n periodoAssinatura: 1,\r\n cartaoCredito: {\r\n numero: '',\r\n nome: '',\r\n mesValidade: '',\r\n anoValidade: '',\r\n cvv: '',\r\n dadosTitular: {\r\n cpfCnpj: '',\r\n endereco: {\r\n cep: '',\r\n cidade: '',\r\n uf: '',\r\n logradouro: '',\r\n bairro: '',\r\n numero: '',\r\n complemento: ''\r\n }\r\n }\r\n },\r\n planoId: null\r\n });\r\n\r\n const handleChange = (value) => {\r\n if (value !== null) {\r\n setCaptcha(value);\r\n } else {\r\n setCaptcha('');\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Plano/ListarPlanosAtivos`).then(retornoPlanos => {\r\n let lista = retornoPlanos.data.items.reverse();\r\n lista.forEach((item) => {\r\n item.diferenciais = JSON.parse(item.pla_diferenciais);\r\n });\r\n setListaPlanos(lista);\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }, []);\r\n\r\n function selecionarPlano(plano, teste) {\r\n setPlanoSelecionado(plano);\r\n setTesteGratuito(teste);\r\n setTimeout(() => inputEmail.current.focus(), [500]);\r\n };\r\n\r\n function pesquisaEmail() {\r\n if (!!formulario.getFieldsValue().usu_email) {\r\n api.get(`Usuario/RetornaUsuarioEmail?email=${formulario.getFieldsValue().usu_email}`).then(retornoPesquisaEmail => {\r\n if (!!retornoPesquisaEmail.data) {\r\n formulario.setFieldsValue({ usu_nome: retornoPesquisaEmail.data.usu_nome, usu_email: retornoPesquisaEmail.data.usu_email, usu_id: retornoPesquisaEmail.data.usu_id });\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }\r\n };\r\n\r\n function pesquisaCNPJ() {\r\n if (!!formulario.getFieldsValue().loc_cnpj) {\r\n let cnpj = formulario.getFieldsValue().loc_cnpj.replaceAll('.', '').replaceAll('-', '').replaceAll('/', '');\r\n api.get(`Local/BuscarLocalCnpj/${cnpj}`).then(\r\n retornoCnpjLocal => {\r\n if (!!retornoCnpjLocal.data || retornoCnpjLocal !== \"\") {\r\n consultaCNPJ(formulario.getFieldsValue().loc_cnpj).then((retorno) => {\r\n if (retorno.status === \"ERROR\") {\r\n api.get(`Empresa/BuscarDadosNovaEmpresa?cnpj=${formulario.getFieldsValue().loc_cnpj}`).then(retornoCnpj => {\r\n if (!!retornoCnpj.data) {\r\n formulario.setFieldsValue({\r\n loc_inscricaoestadual: retornoCnpj.data.pej_inscricaoestadual,\r\n loc_telefone: retornoCnpj.data.psc_numero,\r\n emp_razaosocial: retornoCnpj.data.pes_nome,\r\n emp_nomefantasia: retornoCnpj.data.pej_nomefantasia,\r\n cep_cep: retornoCnpj.data.cep_cep,\r\n log_logradouro: retornoCnpj.data.log_logradouro,\r\n cidade: retornoCnpj.data.cid_descricao + \" / \" + retornoCnpj.data.est_sigla,\r\n loc_numeroestabelecimento: retornoCnpj.data.pee_numero,\r\n bai_nome: retornoCnpj.data.bai_nome,\r\n loc_complemento: retornoCnpj.data.pee_complemento\r\n });\r\n pesquisaInformacoesCep();\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n } else {\r\n formulario.setFieldsValue({\r\n loc_inscricaoestadual: \"\",\r\n loc_telefone: retorno.telefone.replaceAll('(', '').replaceAll(')', '').replaceAll(' ', '').replaceAll('-', ''),\r\n emp_razaosocial: retorno.nome,\r\n emp_nomefantasia: retorno.fantasia,\r\n cep_cep: retorno.cep.replace('.', '').replace('-', ''),\r\n cidade: retorno.municipio + \" / \" + retorno.uf,\r\n loc_numeroestabelecimento: retorno.numero,\r\n bai_nome: retorno.bairro,\r\n loc_complemento: retorno.complemento,\r\n log_logradouro: retorno.logradouro\r\n });\r\n pesquisaInformacoesCep();\r\n }\r\n }, (erro) => {\r\n console.log('ERRO:', erro);\r\n });\r\n } else {\r\n Modal.warning({\r\n title: 'Você já é nosso cliente!',\r\n content: \"Caso não lembre sua senha utilize a opção de 'Esqueci a Senha'\",\r\n onOk() {\r\n window.location = \"/\";\r\n }\r\n });\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }\r\n };\r\n\r\n function pesquisaInformacoesCep() {\r\n if (!!formulario.getFieldValue().cep_cep) {\r\n let cep = formulario.getFieldValue().cep_cep.replace('-', '');\r\n api.get(`Cidade/BuscaCidadeCep?cep=${cep}`).then(retornoCep => {\r\n if (!!retornoCep.data[0]) {\r\n formulario.setFieldsValue({\r\n cid_id: retornoCep.data[0].cid_id,\r\n cep: retornoCep.data[0],\r\n cep_cep: retornoCep.data[0].cep_cep,\r\n cidade: retornoCep.data[0].cid_descricao + \" / \" + retornoCep.data[0].est_sigla,\r\n siglaEstado: retornoCep.data[0].est_sigla\r\n });\r\n } else {\r\n pesquisaCepPostmon(cep, false);\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }\r\n };\r\n\r\n function pesquisaCepPostmon(cep, possuiCep) {\r\n fetch(`https://api.postmon.com.br/v1/cep/${cep}`).then(\r\n res => res.json()\r\n ).then(\r\n retornoCep => {\r\n if (!possuiCep) {\r\n formulario.setFieldsValue({\r\n cep: {},\r\n cep_cep: retornoCep.cep,\r\n cidade: retornoCep.cidade,\r\n siglaEstado: retornoCep.estado\r\n });\r\n }\r\n }, erro => {\r\n Modal.warning({\r\n content: `Cep (${cep}) não encontrado!`,\r\n });\r\n formulario.setFieldsValue({\r\n cep_cep: '',\r\n cidade: ''\r\n });\r\n }\r\n );\r\n };\r\n\r\n function salvar(values) {\r\n if (!(!!values.loc_inscricaoestadual)) {\r\n values.loc_inscricaoestadual = \"ISENTO\";\r\n }\r\n let novaEmpresa = {};\r\n novaEmpresa.usu_email = values.usu_email;\r\n novaEmpresa.usu_nome = values.usu_nome;\r\n novaEmpresa.usu_id = values.usu_id;\r\n novaEmpresa.loc_cnpj = values.loc_cnpj.replaceAll('.', '').replaceAll('/', '').replaceAll('-', '');\r\n novaEmpresa.loc_inscricaoestadual = values.loc_inscricaoestadual;\r\n novaEmpresa.loc_telefone = values.loc_telefone.replaceAll('(', '').replaceAll(')', '').replaceAll('-', '').replaceAll(' ', '');\r\n novaEmpresa.emp_razaosocial = values.emp_razaosocial;\r\n novaEmpresa.emp_nomefantasia = values.emp_nomefantasia;\r\n novaEmpresa.cep_cep = values.cep_cep;\r\n novaEmpresa.est_sigla = values.cep.est_sigla;\r\n novaEmpresa.cid_descricao = values.cep.cid_descricao;\r\n novaEmpresa.log_logradouro = values.log_logradouro;\r\n novaEmpresa.logradouro = values.endereco;\r\n novaEmpresa.bai_nome = values.bai_nome;\r\n novaEmpresa.loc_numeroestabelecimento = values.loc_numeroestabelecimento;\r\n novaEmpresa.loc_complemento = values.loc_complemento;\r\n novaEmpresa.emp_regimetributario = values.emp_regimetributario;\r\n novaEmpresa.enquadramentoFiscal = 3;\r\n novaEmpresa.loc_tipoContribuinte = values.loc_tipoContribuinte;\r\n novaEmpresa.loc_cpfresponsavel = values.loc_cpfresponsavel.replaceAll('.', '').replaceAll('-', '');\r\n novaEmpresa.planoSelecionado = {};\r\n novaEmpresa.planoSelecionado.plano = planoSelecionado;\r\n novaEmpresa.pla_id = planoSelecionado.pla_id;\r\n novaEmpresa.pla_numeropdvs = planoSelecionado.pla_numeropdvs;\r\n novaEmpresa.planoSelecionado.testeGratuito = testeGratuito;\r\n setDadosNovaEmpresa(novaEmpresa);\r\n setCarregando(true);\r\n if (testeGratuito) {\r\n let dados = { ...dadosContrato };\r\n dados.codigoSegurancaContrato = textoAleatorio(4);\r\n dados.periodoAssinatura = periodoAssinatura;\r\n setCodigoSegurancaContrato(dados.codigoSegurancaContrato);\r\n setUrlContrato(`${linkApi}Contrato/gerar?codigoaceite=${dados.codigoSegurancaContrato}&localid=${dadosLocalAtivacao.loc_id}&planoId=${planoSelecionado.pla_id}&periodoAssinatura=${periodoAssinatura}&cnpj=${values.loc_cnpj}`);\r\n setDadosContrato(dados);\r\n setOpenModalContrato(true);\r\n } else {\r\n cadastrarEmpresa(novaEmpresa);\r\n }\r\n };\r\n\r\n function cadastrarEmpresa(novaEmpresa = dadosNovaEmpresa) {\r\n novaEmpresa.captcha = captcha;\r\n api.post(`Empresa/Incluir`, novaEmpresa).then((retornoNovaEmpresa) => {\r\n if (retornoNovaEmpresa.status === 200) {\r\n let informacoes = {};\r\n informacoes.nome = novaEmpresa.usu_nome;\r\n informacoes.email = novaEmpresa.usu_email;\r\n informacoes.chave = retornoNovaEmpresa.data.chave;\r\n informacoes.loc_id = retornoNovaEmpresa.data.loc_id;\r\n informacoes.emp_id = retornoNovaEmpresa.data.emp_id;\r\n informacoes.lcp_id = retornoNovaEmpresa.data.lcp_id;\r\n informacoes.pla_id = planoSelecionado.pla_id;\r\n informacoes.periodoAssinatura = periodoAssinatura;\r\n setInformacoes(informacoes);\r\n\r\n if (testeGratuito) {\r\n api.post(`EnviaEmail/EnviaEmailAtivacaoEmpresa`, informacoes).then((retornoEmail) => {\r\n if (!!retornoEmail) {\r\n Modal.success({\r\n title: 'Quase tudo pronto!',\r\n content: `Acesse o e-mail cadastrado (${novaEmpresa.usu_email}) para ativar sua conta e definir sua senha de acesso.`,\r\n onOk() {\r\n window.location = \"/\";\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n let dados = { ...dadosContrato };\r\n dados.codigoSegurancaContrato = textoAleatorio(4);\r\n dados.periodoAssinatura = periodoAssinatura;\r\n setCodigoSegurancaContrato(dados.codigoSegurancaContrato);\r\n setUrlContrato(`${linkApi}Contrato/Gerar?codigoAceitacao=${dados.codigoSegurancaContrato}&localId=${informacoes.loc_id}&planoId=${informacoes.pla_id}&periodoAssinatura=${periodoAssinatura}&cnpj=${novaEmpresa.loc_cnpj}`);\r\n dados.emailEnvioCobranca = informacoes.email;\r\n dados.planoId = informacoes.pla_id;\r\n setDadosContrato(dados);\r\n setOpenModalContrato(true);\r\n }\r\n }\r\n }).catch(err => {\r\n Modal.error({\r\n title: 'Não foi possível incluir a empresa!',\r\n content: (\r\n
{err.response.data.Message}
\r\n ),\r\n onOk() {\r\n setOpenModalContrato(false);\r\n }\r\n });\r\n }).finally(() => {\r\n setCarregando(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!openModalContrato) {\r\n setCarregando(false);\r\n }\r\n }, [openModalContrato]);\r\n\r\n function assinarContrato(periodoTeste = false) {\r\n dadosContrato.periodoTeste = periodoTeste;\r\n dadosContrato.localId = informacoes.loc_id;\r\n api.post(`Assinatura/AssinarPlano`, dadosContrato).then(\r\n (retornoAssinatura) => {\r\n if (retornoAssinatura.status === 200) {\r\n api.post(`EnviaEmail/EnviaEmailAtivacaoEmpresa`, informacoes).then(\r\n (retornoEmail) => {\r\n if (retornoEmail.status === 200) {\r\n Modal.success({\r\n title: 'Quase tudo pronto!',\r\n content: `Acesse o e-mail cadastrado ('${informacoes.email}') para ativar sua conta e definir sua senha de acesso.`,\r\n onOk() {\r\n window.location = \"/\";\r\n }\r\n });\r\n } else {\r\n console.log('Erro envio Email:', retornoEmail)\r\n }\r\n }).catch(\r\n err => {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Não foi enviar e-mail de ativação!
\r\n \r\n ),\r\n });\r\n }\r\n );\r\n } else {\r\n console.log('Erro EnviaEmailAtivacaoEmpresa:', retornoAssinatura)\r\n Modal.success({\r\n title: 'Assinatura realizada com sucesso!',\r\n onOk() {\r\n window.location = \"/\";\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n err => {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Não foi possível realizar a assinatura!
\r\n \r\n ),\r\n });\r\n }\r\n );\r\n };\r\n\r\n function validarRazaoSocial() {\r\n let razao = formulario.getFieldValue().emp_razaosocial;\r\n razao = removerCarcaterEspecial(razao);\r\n formulario.setFieldsValue({ emp_razaosocial: razao });\r\n };\r\n\r\n function fecharModalContrato() {\r\n assinarContrato(true);\r\n setOpenModalContrato(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n \"Gestor\r\n \r\n \r\n \r\n \r\n {JSON.stringify(planoSelecionado) === \"{}\" &&\r\n
\r\n \r\n
\r\n \r\n \"Planos\" Planos\r\n \r\n Abaixo selecione o plano mais adequado às necessidades de sua empresa. \r\n \r\n \r\n \r\n \r\n Selecione o Período da Assinatura\r\n \r\n \r\n \r\n { setPeriodoAssinatura(e.target.value) }} size=\"large\" optionType=\"button\" buttonStyle=\"solid\" defaultValue={1} options={[{ label: 'Mensal', value: 1 }, { label: 'Anual (-10%)', value: 2 }]} />\r\n \r\n \r\n \r\n
\r\n \r\n {listaPlanos.map((plano) => (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {plano.pla_nome}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n \r\n \r\n {periodoAssinatura === 1 ? FormatNumber(plano.pla_valor, true, false) : FormatNumber(((plano.pla_valor - (plano.pla_valor * 0.1)) * 12), true, false)}\r\n \r\n \r\n \r\n {periodoAssinatura === 1 ? 'ao Mês' : 'ao Ano'} | Por CNPJ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n setOpenModal(false)} recursosPlano={recursosPlano} />\r\n \r\n }\r\n {JSON.stringify(planoSelecionado) !== \"{}\" &&\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Você escolheu o Plano:\r\n \r\n \r\n \r\n
\r\n \r\n {planoSelecionado.pla_nome}\r\n \r\n
\r\n \r\n \r\n {testeGratuito && \r\n \r\n \r\n Teste gratuito de 15 dias\r\n \r\n \r\n }\r\n \r\n \r\n \r\n R$\r\n \r\n \r\n \r\n \r\n {periodoAssinatura === 1 ? FormatNumber(planoSelecionado.pla_valor, true, false) : FormatNumber(((planoSelecionado.pla_valor - (planoSelecionado.pla_valor * 0.1)) * 12), true, false)}\r\n \r\n \r\n \r\n {periodoAssinatura === 1 ? 'ao Mês' : 'ao Ano'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \"Usuário\" Usuário\r\n \r\n Informe abaixo os dados do Usuário. \r\n \r\n \r\n \r\n \r\n \r\n pesquisaEmail()} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \"Empresa\" Empresa\r\n \r\n Informe abaixo os dados do Empresa. \r\n \r\n \r\n \r\n \r\n pesquisaCNPJ()} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { validarRazaoSocial() }} />\r\n \r\n \r\n \r\n \r\n < Input placeholder=\"Informe a Nome Fantasia\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n * No momento estamos atendento apenas empresas do Simples Nacional.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n pesquisaInformacoesCep('', true)} />\r\n \r\n \r\n \r\n \r\n Não sei o CEP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { pesquisaBairro() }} */ />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \"Cobrança/Faturamento\" Cobrança/Faturamento\r\n \r\n Informações referente a cobrança e faturamento de sua assinatura. \r\n \r\n \r\n \r\n \r\n {testeGratuito ?\r\n \r\n Não existe cobrança para o periodo de testes de 15 dias.\r\n

Se você assinar o plano após o período de teste, a cobrança será via Boleto Bancário com vencimento dia 10 de cada mês.

\r\n :\r\n \r\n Cobrança via Boleto Bancário com vencimento dia 10 de cada mês.\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {testeGratuito ? :\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n fecharModalContrato()} urlContrato={urlContrato} testeGratuito={testeGratuito} cadastrarEmpresa={cadastrarEmpresa} assinarContrato={assinarContrato} codigoSeguranca={codigoSegurancaContrato} />\r\n
\r\n \r\n \r\n
\r\n comercial.gestor@abase.com.br \r\n \r\n \r\n (55) 3535-4900\r\n \r\n \r\n www.gestorweb.com.br \r\n \r\n \r\n Copyright © Gestor Web\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Layout, Row, Col, Form, Input, Button, Typography, Modal } from 'antd';\r\nimport { UnlockFilled, SendOutlined } from '@ant-design/icons';\r\n\r\nimport { SlideLogin } from \"../../components\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function AtivarUsuarioPlano() {\r\n const [dadosUsuario, setDadosUsuario] = useState({});\r\n const [senhaValida, setSenhaValida] = useState(false);\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n carregarUsuario();\r\n }, []);\r\n\r\n function carregarUsuario() {\r\n let url = window.location.href;\r\n let dadosUsuario = atob(url.substr(url.lastIndexOf('/') + 1)).split('|');\r\n api.get(`Usuario/RetornaUsuarioEmail?email=${dadosUsuario[0]}`).then(\r\n res => {\r\n if (!!res.data) {\r\n if (!!res.data.usu_ativo) {\r\n ativarEmpresaLocal();\r\n Modal.warning({\r\n title: 'Atenção!',\r\n content: 'Usuário já está ativo! caso não lembre sua senha clique em \"Esqueci minha senha\"',\r\n onOk() {\r\n voltarLogin();\r\n }\r\n });\r\n } else {\r\n setDadosUsuario(res.data)\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n function ativarEmpresaLocal() {\r\n let url = window.location.href;\r\n let dadosUsuario = atob(url.substr(url.lastIndexOf('/') + 1)).split('|');\r\n let dados = {\r\n email: dadosUsuario[0],\r\n senha: null\r\n };\r\n api.post(`Empresa/AtivarNovaEmpresa`, dados).then(\r\n res => {\r\n console.log(res);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n function ativarUsuario() {\r\n let url = window.location.href;\r\n let dadosUsuario = atob(url.substr(url.lastIndexOf('/') + 1)).split('|');\r\n \r\n let dados = {\r\n email: dadosUsuario[0],\r\n senha: btoa(form.getFieldValue().usu_senha)\r\n };\r\n api.post(`Empresa/AtivarNovaEmpresa`, dados).then(\r\n res => {\r\n Modal.success({\r\n title: 'Aviso!',\r\n content: 'Sua conta foi ativada com sucesso!',\r\n onOk() {\r\n voltarLogin();\r\n }\r\n });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function validarSenha() {\r\n let usu_senha = '';\r\n let usu_confirmaSenha = '';\r\n if (!!form.getFieldValue().usu_senha) {\r\n usu_senha = form.getFieldValue().usu_senha.trim();\r\n }\r\n if (!!form.getFieldValue().usu_confirmaSenha) {\r\n usu_confirmaSenha = form.getFieldValue().usu_confirmaSenha.trim();\r\n }\r\n\r\n form.setFieldsValue({ usu_senha: usu_senha, usu_confirmaSenha: usu_confirmaSenha });\r\n if (usu_senha.length >= 6 && usu_senha === usu_confirmaSenha) {\r\n let letrasMinusculas = /[a-z]+/.test(usu_senha);\r\n let letrasMaiusculas = /[A-Z]+/.test(usu_senha);\r\n let numeros = /[0-9]+/.test(usu_senha);\r\n if (letrasMinusculas && letrasMaiusculas && numeros) {\r\n setSenhaValida(true);\r\n } else {\r\n setSenhaValida(false);\r\n }\r\n } else {\r\n setSenhaValida(false);\r\n }\r\n };\r\n\r\n function voltarLogin() {\r\n window.location = '/';\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Gestor\r\n \r\n \r\n \r\n Olá {dadosUsuario.usu_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Antes de ativar sua conta, precisamos definir sua senha de acesso.
\r\n A senha deve atender os seguintes requisitos:

\r\n
\r\n \r\n \r\n 1. Mínimo de 6 caracteres;\r\n \r\n \r\n 2. Deve conter números e letras (maiúsculas e minúsculas);\r\n \r\n \r\n \r\n \r\n \r\n } onChange={() => { validarSenha() }} />\r\n \r\n \r\n \r\n \r\n } onChange={() => { validarSenha() }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { notification } from 'antd';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from '../../actions';\r\nimport { EditorCamposPersonalizados, FormGW } from '../../components';\r\n\r\nexport default function CamposPersonalizados({formulario, carregando, aoSalvar, tipoEntidade}) {\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [ elementosFormulario, setElementosFormulario ] = useState([]);\r\n\r\n const salvarManutencao = values => {\r\n carregando(true);\r\n console.log(\"valores Salvar: \"+{values});\r\n let elementosOrdem=[]\r\n elementosFormulario.map((elemento, indice) =>{\r\n if (elemento.cap_ordem != (indice+1)){\r\n elemento.cap_ordem = (indice+1)\r\n !!elemento.status==false?elemento.status = 1 : elemento.status = elemento.status\r\n }\r\n elemento.cap_tipoentidade = tipoEntidade;\r\n elementosOrdem.push(elemento)\r\n })\r\n console.log({elementosOrdem});\r\n api.post(`CamposPersonalizados/Salvar`, elementosOrdem).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: `Campos Personalizados Salvos com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro.response.status);\r\n notification.error({ message: 'Erro ao Gravar Campos Personalizados.', description: JSON.stringify(erro.response.status == 500?`Campo personalizado possui vínculo com outra informação! `:erro.response) \r\n });\r\n carregando(false);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: listagem.ordem } });\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n };\r\n\r\n useEffect(() => setElementosFormulario(manutencao.dados),[!!manutencao.dados]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}","import React,{ useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nimport Manutencao from './manutencao';\r\nimport { DrawerNav } from '../../components';\r\n\r\nexport default function DrawerPersonalizacao({tipoEntidade, carregaCamposPersonalizados}) {\r\n\r\n const [ formFormulario ] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n const [ entidade, setEntidade ] = useState(\"\");\r\n const idRel = 0\r\n \r\n \r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n formFormulario.resetFields();\r\n carregaCamposPersonalizados();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() =>{\r\n console.log({tipoEntidade});\r\n switch (tipoEntidade) {\r\n case \"1\": \r\n setEntidade(\"Cliente\");\r\n break;\r\n case \"2\": \r\n setEntidade(\"Fornecedor\");\r\n break;\r\n default: \r\n setEntidade(\"Outros\");\r\n };\r\n },[]);\r\n\r\n useEffect(() =>{\r\n if (manutencao.dados !== null) {\r\n formFormulario.setFieldsValue(manutencao.dados);\r\n console.log(\"manutenção\",manutencao.dados);\r\n } else {\r\n formFormulario.resetFields();\r\n }\r\n },[!!manutencao.dados])\r\n\r\n return (\r\n\r\n }\r\n destroyOnClose\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Row, Col, Button, Tag, Table, Tabs, Divider } from 'antd';\r\nimport { EditOutlined, ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport DrawerPersonalizacao from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbAbrirChamado } from \"../../components\";\r\n\r\nexport default function CamposPersonalizados() {\r\n const [ abaSelecionada, setAbaSelecionada ] = useState(\"1\");\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [ camposPersonalizados, setCamposPersonalizados ] = useState([]);\r\n\r\n function editarCamposPersonalizados(valores) {\r\n var camposPersonalizadosTemp = [];\r\n valores.map((data, idx) => {\r\n delete(data.key);\r\n data.key = idx;\r\n data.status = 2;\r\n camposPersonalizadosTemp.push(data)\r\n });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: camposPersonalizadosTemp } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?PageNumber=1&PageSize=1000&Order=+cap_ordem`).then(res => {\r\n console.log(res);\r\n if (res.status === 200) {\r\n var camposPersonalizadosTemp = [];\r\n res.data.items.map((data, idx) => {\r\n data.key = idx;\r\n data.status = 2;\r\n camposPersonalizadosTemp.push(data)\r\n });\r\n setCamposPersonalizados(camposPersonalizadosTemp);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n const ListaCamposPersonalizados = (dataSource) => {\r\n return (\r\n
\r\n
(\r\n \r\n {cap_ordem}\r\n \r\n )\r\n },\r\n {\r\n title: 'Nome Elemento',\r\n render: ({cap_nomeelemento}) => (\r\n
\r\n {cap_nomeelemento}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Tipo Elemento',\r\n render: ({cap_tipoelemento}) => (\r\n
\r\n {cap_tipoelemento}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Obrigatorio',\r\n align: 'right',\r\n width: 80,\r\n render: ({cap_mensagemobrigatorio}) => (\r\n
\r\n {cap_mensagemobrigatorio ? \"SIM\":\"NÃO\"}\r\n
\r\n )\r\n },\r\n \r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n useEffect(() => carregaCamposPersonalizados() , []);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n {ListaCamposPersonalizados(camposPersonalizados.filter(f => f.cap_tipoentidade == 1 ))}\r\n \r\n \r\n {ListaCamposPersonalizados(camposPersonalizados.filter(f => f.cap_tipoentidade == 2 ))}\r\n \r\n \r\n {ListaCamposPersonalizados(camposPersonalizados.filter(f => f.cap_tipoentidade == 3 ))}\r\n \r\n \r\n {ListaCamposPersonalizados(camposPersonalizados.filter(f => f.cap_tipoentidade == 4 ))}\r\n \r\n \r\n {ListaCamposPersonalizados(camposPersonalizados.filter(f => f.cap_tipoentidade == 5 ))}\r\n \r\n \r\n {ListaCamposPersonalizados(camposPersonalizados.filter(f => f.cap_tipoentidade == 6 ))}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Planos } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\n\r\n\r\n\r\nexport default function RenovarPlano() {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n \r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button, Card, Input, Select, notification } from \"antd\";\r\nimport { CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormGW, SelectProduto } from \"../../components\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoFornecedorProduto({ form, carregando, aoSalvar, editando }) {\r\n const [{ ui, manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [editandoRegistro, setEditandoRegistro] = useState(false);\r\n const [filtroProd, setFiltroProd] = useState('')\r\n\r\n const salvarManutencao = values => {\r\n let retornoDrawer = []\r\n let enderecoUrl = 'FornecedorProduto/';\r\n let listaProdutos = [...listaSelectPaginacao?.itens];\r\n let produto = listaProdutos.filter((pro) => pro.key === form.getFieldValue().pro_id)[0];\r\n if (!!!produto && !isObjetoDiffVazio(produto)) {\r\n return;\r\n }\r\n values.pro_id = produto.pro_id;\r\n values.prg_id = produto.prg_id;\r\n if (!!values.fpr_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(\r\n res => {\r\n retornoDrawer = res.data;\r\n notification.success({ message: 'Operação concluída', description: \"Os dados foram salvos com sucesso!\" });\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }).finally(\r\n () => {\r\n aoSalvar(retornoDrawer);\r\n });\r\n } else {\r\n enderecoUrl += `Incluir`;\r\n\r\n api.post(enderecoUrl, values).then(\r\n res => {\r\n retornoDrawer = res.data;\r\n notification.success({ message: 'Operação concluída', description: \"Os dados foram salvos com sucesso!\" });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n aoSalvar(retornoDrawer);\r\n }\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && isObjetoDiffVazio(manutencao.dados)) {\r\n let lista = [];\r\n if (!!manutencao.dados.for_id) {\r\n lista.push({ name: \"for_id\", campo: \"FornecedorId\", value: manutencao.dados.for_id });\r\n }\r\n if (!!manutencao.dados.pro_id) {\r\n if (!!manutencao.dados.prg_id) {\r\n lista.push({ name: \"pro_id\", campo: \"IdGrade\", value: manutencao.dados.prg_id });\r\n } else {\r\n lista.push({ name: \"pro_id\", campo: \"IdProduto\", value: manutencao.dados.pro_id });\r\n }\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n function editarRegistro() {\r\n setEditandoRegistro(true);\r\n };\r\n\r\n function buscarProdutoFornecedor() {\r\n let listaProdutos = [...listaSelectPaginacao?.itens];\r\n let produto = listaProdutos.filter((pro) => pro.key === form.getFieldValue().pro_id)[0];\r\n if (!!!produto && !isObjetoDiffVazio(produto)) {\r\n return;\r\n }\r\n let forId = form.getFieldValue().for_id;\r\n let parametro = \"\";\r\n if (!!produto && isObjetoDiffVazio(produto) && !!produto.prg_id) parametro = \"&GradeId=\" + produto.prg_id;\r\n api.get(`FornecedorProduto/Listar?FornecedorId=${forId}&ProdutoId=${produto.pro_id}` + parametro).then(\r\n res => {\r\n if (res.data.items.length > 0) {\r\n let dados = res.data.items[0];\r\n form.setFieldsValue({ fpr_id: dados.fpr_id, fpr_codigo: dados.fpr_codigo, fpr_descricao: dados.fpr_descricao });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n \r\n {!editandoRegistro &&\r\n \r\n
\r\n \r\n { buscarProdutoFornecedor() }} conteudo={\r\n forn => ({forn.for_codigo} - {forn.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n { buscarProdutoFornecedor() }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {editandoRegistro &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Form, Row, Col, Button, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoFornecedorProduto from './manutencao';\r\nimport { drawerActions, listagemActions } from '../../actions';\r\n\r\nexport default function DrawerFornecedorProduto() {\r\n const [formFornecedorProduto] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [edit, setEdit] = useState(false);\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados && !edit) {\r\n if (!!manutencao.dados.for_id) {\r\n setEdit(true);\r\n }\r\n formFornecedorProduto.setFieldsValue(manutencao.dados);\r\n } else {\r\n formFornecedorProduto.setFieldsValue({ cli_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n formFornecedorProduto.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n setEdit(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n fecharDrawer={() => { fecharDrawer() }}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, notification, Modal } from \"antd\";\r\nimport { DeleteOutlined, EditOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport DrawerFornecedorProduto from './drawer';\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { PesquisaOrdenacao, TabelaDados, BreadcrumbAbrirChamado, Editar, Excluir } from \"../../components\";\r\n\r\nexport default function RelacionamentoFornecedorProduto() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', ordem: '+pes_nome' } })\r\n }, []);\r\n\r\n function editarRegistro(record) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function modalExcluirRegistro(record) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: 'Deseja realmente excluir este registro?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(record);\r\n }\r\n });\r\n };\r\n\r\n function excluirRegistro(record) {\r\n api.delete(`fornecedorProduto/Excluir/${record.fpr_id}`).then(\r\n res => {\r\n notification.success({ description: 'Registro excluído com sucesso!', message: 'Aviso' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pes_nome' } });\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Produto',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Cód. Prod./Fornec.',\r\n width: 150,\r\n align: 'center',\r\n render: ({fpr_codigo }) => (\r\n
\r\n {fpr_codigo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Fornecedor',\r\n render: ({for_codigo, pes_nome }) => (\r\n
\r\n {for_codigo}-{pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Último Custo (R$)',\r\n align: 'right',\r\n width: 150,\r\n render: ({ ultimocusto }) => (\r\n
\r\n {FormatNumber(ultimocusto, true)}\r\n
\r\n ),\r\n }, {\r\n\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n } onClick={() => {\r\n editarRegistro(record);\r\n }}/>\r\n \r\n \r\n } onClick={() => {\r\n modalExcluirRegistro(record)\r\n }}/>\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Select } from \"antd\";\r\nimport api from \"../../services/api\";\r\nimport { InputCep } from \"../../components\";\r\n\r\nexport default function TabEndereco({ formulario, listaTipoEndereco, cidade, setCidade, listaPais }) {\r\n\r\n const [openDropdown, setOpenDropdown] = useState(false);\r\n\r\n function verificaCep(cep) {\r\n if (!!cep) {\r\n api.get(`Cidade/ListarCidadeCep?Cep=${cep.match(/\\d+/g).join('')}`).then(\r\n res => {\r\n formulario.setFieldsValue({ cid_descricao: res.data.length > 0 ? res.data[0].cid_descricao : '' });\r\n setCidade(res.data[0]);\r\n formulario.setFieldsValue({ est_sigla: res.data.length > 0 ? res.data[0].est_sigla : '' });\r\n }\r\n )\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n {listaPais.map(pais => (\r\n {pais.pse_nome}\r\n ))}\r\n \r\n \r\n \r\n \r\n verificaCep(cep.target.value)} onPressEnter={(cep) => verificaCep(cep.target.value)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { setOpenDropdown(true) }}\r\n onBlur={() => setOpenDropdown(false)}\r\n onSelect={() => setOpenDropdown(false)}\r\n allowClear\r\n showSearch\r\n open={openDropdown}\r\n optionFilterProp=\"children\"\r\n placeholder=\"Informe o Tipo de Endereço\">\r\n {listaTipoEndereco.map((te) => (\r\n {te.tpe_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n MAPA\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Checkbox, Input, Select, Slider, notification, Tabs, Typography, Divider } from \"antd\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\n\r\nimport api from \"../../services/api\";\r\nimport TabEndereco from './tabEndereco';\r\nimport { useStateValue } from '../../state';\r\nimport { InputPreco, InputPhone, SelectPaginado } from \"../../components\";\r\n\r\nexport default function ManutencaoRestaurante({ formulario, aoSalvar, carregando }) {\r\n\r\n const valueMaximo = 10;\r\n const inputRef = React.createRef();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [listaTipoRestaurante, setListaTipoRestaurante] = useState([]);\r\n const [valorPreferencia, setValorPreferencia] = useState(0);\r\n const [valuePreferenciaSlider, setValuePreferenciaSlider] = useState(0);\r\n const [listaTiposEndereco, setListaTiposEndereco] = useState([]);\r\n const [tiposContatos, setTiposContatos] = useState([]);\r\n const [cidade, setCidade] = useState({});\r\n const [desabilitarCfpCnpj, setDesabilitarCpfCnpj] = useState(false);\r\n const [listaPais, setListaPais] = useState([]);\r\n const handleChange = (value) => {\r\n setValorPreferencia(value);\r\n setValuePreferenciaSlider(value);\r\n };\r\n\r\n function carregarDados() {\r\n api.get('Enum/Listar?nome=TipoRestaurante').then(\r\n res => {\r\n setListaTipoRestaurante(res.data);\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n });\r\n api.get(`TipoEndereco/Listar`).then(\r\n res => {\r\n setListaTiposEndereco(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n api.get(`TipoOutroContato/Listar`).then(\r\n res => {\r\n setTiposContatos(res.data);\r\n }\r\n ).catch(\r\n (erro) => console.error(erro)\r\n );\r\n api.get(`Pais/Listar`).then(\r\n res => {\r\n setListaPais(res.data);\r\n }\r\n ).catch(\r\n (erro) => console.error(erro)\r\n );\r\n }\r\n\r\n function salvarManutencao(values) {\r\n let operacao = !!values.res_id ? 'Editar' : 'Incluir';\r\n let coordenadas = !!values.coordenadas ? values.coordenadas.split(',') : ['', ''];\r\n let enderecoTemp = {\r\n cep_cep: values.cep_cep,\r\n cid_descricao: values.cid_descricao,\r\n est_sigla: values.est_sigla,\r\n log_logradouro: values.log_logradouro,\r\n pee_complemento: values.pee_complemento,\r\n pee_localreferencia: values.pee_localreferencia,\r\n pee_numero: values.pee_numero,\r\n tpe_id: values.tpe_id,\r\n bai_nome: values.bai_nome,\r\n pee_enderecoprincipal: true,\r\n pee_latitude: coordenadas[0],\r\n pee_longitude: coordenadas[1]\r\n }\r\n let telefoneTemp = {\r\n psc_numero: values.psc_numero,\r\n tpt_id: values.tpt_id,\r\n psc_ramal: values.psc_ramal\r\n\r\n }\r\n let emailTemp = {\r\n pem_email: values.pem_email,\r\n pem_emailprincipal: true,\r\n pem_ativo: true\r\n }\r\n let outroContato = {\r\n toc_id: 3,\r\n out_ativo: true,\r\n out_descricao: values.res_site\r\n }\r\n values.OutrosContatos = !!values.res_site ? [outroContato] : [];\r\n values.Emails = !!values.pem_email ? [emailTemp] : [];\r\n values.Enderecos = [enderecoTemp];\r\n values.Telefones = [telefoneTemp];\r\n values.cpfCnpj = values.cpfCnpj.replaceAll('-', '').replaceAll('/', '').replaceAll('.', '');\r\n values.pes_fisicajuridica = values.cpfCnpj.length <= 11 ? 1 : 2;\r\n values.res_notaavaliacao = valuePreferenciaSlider;\r\n values.pej_databaixasefaz = !!values.pej_databaixasefaz ? values.pej_databaixasefaz : null;\r\n values.pej_baixadoreceita = !!values.pej_baixadoreceita ? values.pej_baixadoreceita : false;\r\n if (!!values.cpfCnpj) {\r\n if (values.pes_fisicajuridica === 1) {\r\n values.pef_cpf = values.cpfCnpj.replace(/\\D/g, '');\r\n values.pef_rguf = values.Enderecos.filter((end) => (end.pee_enderecoprincipal === true))[0].est_sigla;\r\n } else {\r\n values.pej_cnpj = values.cpfCnpj.replace(/\\D/g, '');\r\n values.pej_inscuf = values.Enderecos.filter((end) => (end.pee_enderecoprincipal === true))[0].est_sigla;\r\n }\r\n }\r\n carregando(true);\r\n api.post(`Restaurante/${operacao}`, values).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Restaurante ${operacao === 'Editar' ? 'editado' : 'incluido'} com sucesso!` });\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: `Aviso!`, description: `Erro ao ${operacao === 'Editar' ? 'editar' : 'incluir'} o Restaurante` });\r\n }\r\n ).finally(() => {\r\n aoSalvar();\r\n })\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n setDesabilitarCpfCnpj(!!manutencao.dados && !!manutencao.dados.cpfCnpj ? true : false);\r\n setValorPreferencia(!!manutencao.dados && !!manutencao.dados.res_notaavaliacao ? manutencao.dados.res_notaavaliacao : 0);\r\n setValuePreferenciaSlider(!!manutencao.dados && !!manutencao.dados.res_notaavaliacao ? manutencao.dados.res_notaavaliacao : 0);\r\n manutencao.dados.res_site = manutencao.dados.out_descricao;\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [manutencao.dados])\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [])\r\n\r\n return (\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaTipoRestaurante.map((tr) => (\r\n {tr.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Almoço \r\n \r\n \r\n \r\n \r\n Jantar \r\n \r\n \r\n \r\n \r\n Café da Manhã \r\n \r\n \r\n \r\n \r\n Ativo \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Telefone(s)\" Telefone(s)\r\n \r\n \r\n Adicione o(s) telefone(s) do cliente aqui.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({tp.tpt_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoRestaurante from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerRestaurante() {\r\n\r\n const [ formularioRestaurante ] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null) {\r\n formularioRestaurante.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+res_id' } });\r\n setCarregando(false);\r\n formularioRestaurante.resetFields();\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Button, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CheckOutlined, CloseOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport DrawerRestaurante from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, FormatNumber } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, Editar, PesquisaOrdenacao, TabelaDados } from \"../../components\";\r\n\r\nexport default function Restaurante() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaTiposRestaurante, setListaTiposRestaurantes] = useState([]);\r\n\r\n function excluirRegistro(record) {\r\n api.post(`Restaurante/Excluir?codigoRestaurante=${record.res_id}`).then(\r\n (res) => {\r\n notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n }).catch((erro) => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+res_id' } });\r\n });\r\n }\r\n\r\n function carregarDados() {\r\n api.get('Enum/Listar?nome=TipoRestaurante').then(\r\n res => {\r\n setListaTiposRestaurantes(res.data);\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n function editarRestaurante(record) {\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n record.cpfCnpj = !!record.pef_cpf ? record.pef_cpf : record.pej_cnpj;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n }\r\n\r\n function modalExcluir(record) {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(record);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+res_id' } })\r\n carregarDados();\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 105,\r\n render: ({ psc_numero }) => (\r\n
\r\n {psc_numero}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro }) => (\r\n
\r\n {log_logradouro || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Preferência',\r\n align: 'center',\r\n render: ({ res_notaavaliacao }) => (\r\n
\r\n {res_notaavaliacao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Buffet Livre (R$)',\r\n align: 'right',\r\n render: ({ res_preco_buffetlivre }) => (\r\n
\r\n {FormatNumber(!!res_preco_buffetlivre ? res_preco_buffetlivre : 0, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor por KG (R$)',\r\n align: 'right',\r\n render: ({ res_preco_kg }) => (\r\n
\r\n {FormatNumber(!!res_preco_kg ? res_preco_kg : 0, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Tipo',\r\n render: ({ res_tipo }) => (\r\n
\r\n {res_tipo ? listaTiposRestaurante.filter(res => (res.res_tipo = res_tipo))[0].value : 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Café da Manhã',\r\n align: 'center',\r\n width: 105,\r\n render: ({ res_cafemanha }) => (\r\n
\r\n {!!res_cafemanha ? : }\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Almoço',\r\n align: 'center',\r\n width: 58,\r\n render: ({ res_almoco }) => (\r\n
\r\n {!!res_almoco ? : }\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Jantar',\r\n align: 'center',\r\n width: 55,\r\n render: ({ res_janta }) => (\r\n
\r\n {!!res_janta ? : }\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n width: 65,\r\n align: 'center',\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {listaPaises.map((lp) => (\r\n {lp.pse_nome}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaTipoEndereco.map((lte) => (\r\n {lte.tpe_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n MAPA\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Checkbox, Input, Select, Slider, notification, Tabs, Typography, Divider } from \"antd\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\n\r\nimport api from \"../../services/api\";\r\nimport TabEndereco from './tabEndereco';\r\nimport { useStateValue } from '../../state';\r\nimport { InputPhone, InputPreco, SelectPaginado } from \"../../components\";\r\n\r\nexport default function ManutencaoHotel({ formulario, aoSalvar, carregando }) {\r\n\r\n const valueMaximo = 10;\r\n const inputRef = React.createRef();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [valorPreferencia, setValorPreferencia] = useState(0);\r\n const [valuePreferenciaSlider, setValuePreferenciaSlider] = useState(0);\r\n const [listaTipoHotel, setListaTipoHotel] = useState([]);\r\n const [listaTipoEndereco, setListaTipoEndereco] = useState([]);\r\n const [listaPais, setListaPais] = useState([]);\r\n\r\n const handleChange = (value) => {\r\n setValorPreferencia(value);\r\n setValuePreferenciaSlider(value);\r\n };\r\n\r\n function salvarManutencao(values) {\r\n let operacao = !!values.hot_id ? 'Editar' : 'Incluir';\r\n let coordenadas = !!values.coordenadas ? values.coordenadas.split(',') : ['', ''];\r\n let enderecoTemp = {\r\n cep_cep: values.cep_cep,\r\n cid_descricao: values.cid_descricao,\r\n est_sigla: values.est_sigla,\r\n log_logradouro: values.log_logradouro,\r\n pee_complemento: values.pee_complemento,\r\n pee_localreferencia: values.pee_localreferencia,\r\n pee_numero: values.pee_numero,\r\n tpe_id: values.tpe_id,\r\n bai_nome: values.bai_nome,\r\n pee_enderecoprincipal: true,\r\n pee_latitude: coordenadas[0],\r\n pee_longitude: coordenadas[1]\r\n }\r\n let telefoneTemp = {\r\n psc_numero: values.psc_numero,\r\n tpt_id: values.tpt_id,\r\n psc_ramal: values.psc_ramal\r\n\r\n }\r\n let emailTemp = {\r\n pem_email: values.pem_email,\r\n pem_emailprincipal: true,\r\n pem_ativo: true\r\n }\r\n let outroContato = {\r\n toc_id: 3,\r\n out_ativo: true,\r\n out_descricao: values.out_descricao\r\n }\r\n values.OutrosContatos = !!values.out_descricao ? [outroContato] : [];\r\n values.Emails = !!values.pem_email ? [emailTemp] : [];\r\n values.Enderecos = [enderecoTemp];\r\n values.Telefones = [telefoneTemp];\r\n values.hot_nota_avaliacao = valuePreferenciaSlider;\r\n\r\n\r\n api.post(`Hotel/${operacao}`, values).then(res => {\r\n notification.success({ message: 'Sucesso!', description: `Hotel ${operacao === 'Editar' ? 'editado' : 'incluido'} com sucesso!` });\r\n }).catch(\r\n error => {\r\n notification.warn({ message: 'Aviso!', description: `Erro ao ${operacao === 'Editar' ? 'editar' : 'incluir'} o hotel!` });\r\n console.log(error);\r\n }\r\n ).finally(() => {\r\n aoSalvar();\r\n })\r\n }\r\n\r\n function carregarDados() {\r\n api.get('Enum/Listar?nome=TipoHotel').then(\r\n res => {\r\n setListaTipoHotel(res.data);\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n });\r\n api.get(`TipoEndereco/Listar`).then(\r\n res => {\r\n setListaTipoEndereco(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n api.get(`Pais/Listar`).then(\r\n res => {\r\n setListaPais(res.data);\r\n }\r\n ).catch(\r\n (erro) => console.error(erro)\r\n );\r\n }\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n manutencao.dados.coordenadas = !!manutencao.dados.pee_latitude && !!manutencao.dados.pee_longitude ? manutencao.dados.pee_latitude + ',' + manutencao.dados.pee_longitude : '';\r\n formulario.setFieldsValue(manutencao.dados);\r\n setValorPreferencia(!!manutencao.dados.hot_nota_avaliacao ? manutencao.dados.hot_nota_avaliacao : 0);\r\n setValuePreferenciaSlider(!!manutencao.dados.hot_nota_avaliacao ? manutencao.dados.hot_nota_avaliacao : 0);\r\n }\r\n }, [manutencao.dados])\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [])\r\n\r\n return (\r\n
\r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaTipoHotel.map((th) => (\r\n {th.value}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Ativo \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Telefone(s)\" Telefone(s)\r\n \r\n \r\n Adicione o(s) telefone(s) do cliente aqui.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({tp.tpt_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport ManutencaoHotel from './manutencao';\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerHotel() {\r\n\r\n const [formularioHotel] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n if (manutencao.dados !== null) {\r\n formularioHotel.setFieldsValue(manutencao.dados);\r\n }\r\n else {\r\n formularioHotel.setFieldsValue({ id: null });\r\n }\r\n\r\n function fecharDrawer() {\r\n formularioHotel.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { ordem: '+id' } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button, notification, Modal, Input } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, EnvironmentOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport DrawerHotel from \"./drawer\";\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { ModalMapa } from \"../../components/modals\";\r\nimport { FormatFone, FormatNumber } from \"../../ValueObjects\";\r\nimport { drawerActions, manutencaoActions, listagemActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados } from \"../../components\";\r\n\r\nexport default function Hotel() {\r\n\r\n const [formHotel] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openModalMapa, setOpenModalMapa] = useState(false);\r\n \r\n function excluirRegistro(id) {\r\n api.delete(`/Hotel/${id}`).then((res) => {\r\n notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n }).catch(erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+Descricao' } })\r\n });\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+hot_id' } });\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Tipo',\r\n width: 115,\r\n render: ({ hot_tipo }) => (\r\n
\r\n {hot_tipo === 1 ? 'Hotel' : (hot_tipo === 2 ? 'Airbnb' : 'Não Informado')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 110,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ log_logradouro, bai_nome, cid_descricao, pee_numero, est_sigla }) => (\r\n
\r\n {log_logradouro + `, ${pee_numero}` + `, ${bai_nome}` + `, ${cid_descricao}` + `, ${est_sigla}`}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Standard (R$)',\r\n align: 'right',\r\n width: 130,\r\n render: ({ hot_preco_standard }) => (\r\n
\r\n {FormatNumber(!!hot_preco_standard ? hot_preco_standard : 0, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Duplo (R$)',\r\n align: 'right',\r\n width: 130,\r\n render: ({ hot_preco_duplo }) => (\r\n
\r\n {FormatNumber(!!hot_preco_duplo ? hot_preco_duplo : 0, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Triplo (R$)',\r\n align: 'right',\r\n width: 130,\r\n render: ({ hot_preco_triplo }) => (\r\n
\r\n {FormatNumber(!!hot_preco_triplo ? hot_preco_triplo : 0, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n width: 95,\r\n align: 'center',\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n setarFormulario(id)}\r\n conteudo={\r\n mar => ({mar.mar_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Marca Ativa\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Button, Checkbox, Col, Divider, Form, Input, Modal, notification, Row, Select, Table, Tag, Tooltip } from \"antd\";\r\nimport { BotaoAbrirChamado, BreadcrumbPage } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport api from \"../../services/api\";\r\nimport { QuestionCircleOutlined, ExclamationCircleOutlined, SaveOutlined, SearchOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ManutencaoProduto() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [carregandoGerar, setCarregandoGerar] = useState(false);\r\n const [considerarVigencia, setConsiderarVigencia] = useState(true);\r\n const [marcado, setMarcado] = useState(true);\r\n const [listaCest, setListaCest] = useState([]);\r\n const [listaCestAlterar, setListaCestAlterar] = useState([]);\r\n const [dadosProdutos, setDadosProdutos] = useState([]);\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n const [form] = Form.useForm();\r\n const [formAlterar] = Form.useForm();\r\n\r\n function buscarCest(ncm, cestAlterar = false) {\r\n if (!!ncm) {\r\n api.get(`produto/BuscarCest?IdNcm=${ncm}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (cestAlterar) {\r\n setListaCestAlterar(res.data);\r\n formAlterar.setFieldsValue({ cen_id: null });\r\n } else {\r\n setListaCest(res.data);\r\n form.setFieldsValue({ cen_id: null });\r\n }\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n } else {\r\n if (cestAlterar) {\r\n setListaCestAlterar([]);\r\n formAlterar.setFieldsValue({ cen_id: null });\r\n } else {\r\n setListaCest([]);\r\n form.setFieldsValue({ cen_id: null });\r\n }\r\n }\r\n };\r\n\r\n function buscarProdutos() {\r\n if (!form.getFieldsValue().filtro && !form.getFieldsValue().filtroNcm && !form.getFieldsValue().filtroCest && !form.getFieldsValue().ncm_id\r\n && !form.getFieldsValue().cen_id && !form.getFieldsValue().icm_id && !form.getFieldsValue().SomenteNcmInativos && !form.getFieldsValue().EANInvalidos) {\r\n notification.warning({ message: 'Aviso!', description: 'É necessário informar pelo menos um filtro!' });\r\n return;\r\n }\r\n\r\n let outrosFiltros = `&filtro=${!!form.getFieldsValue().filtro ? form.getFieldsValue().filtro : ''}`;\r\n outrosFiltros += `&Ncm=${!!form.getFieldsValue().filtroNcm ? form.getFieldsValue().filtroNcm : ''}`;\r\n outrosFiltros += `&Cest=${!!form.getFieldsValue().filtroCest ? form.getFieldsValue().filtroCest : ''}`;\r\n outrosFiltros += `&SomenteNcmInativos=${form.getFieldsValue().SomenteNcmInativos}`;\r\n outrosFiltros += `&EANInvalidos=${form.getFieldsValue().EANInvalidos}`;\r\n if (form.getFieldsValue().ncm_id) outrosFiltros += `&IdNcm=${form.getFieldsValue().ncm_id}`;\r\n if (form.getFieldsValue().cen_id) outrosFiltros += `&IdCest=${form.getFieldsValue().cen_id}`;\r\n if (form.getFieldsValue().icm_id) outrosFiltros += `&IdIcms=${form.getFieldsValue().icm_id}`;\r\n\r\n setCarregando(true);\r\n api.get(`Produto/ListaProdutoManutencao?ordem=+pro_descricao${outrosFiltros}`).then(res => {\r\n if (res.status === 200) {\r\n let keys = [];\r\n res.data.map((item, idx) => {\r\n item.key = idx;\r\n keys.push(item.key);\r\n })\r\n setSelectedRowKeys(keys);\r\n setMarcado(true);\r\n setDadosProdutos(res.data.map((item, idx) => ({ key: idx, ...item })));\r\n }\r\n }, err => {\r\n console.log(err.response);\r\n }).finally(() => setCarregando(false));\r\n }\r\n\r\n function marcarDesmarcarTodos(e) {\r\n let keys = [];\r\n if (e.target.checked) {\r\n for (const item of dadosProdutos) {\r\n keys.push(item.key);\r\n }\r\n }\r\n setMarcado(e.target.checked);\r\n setSelectedRowKeys(keys);\r\n }\r\n\r\n const rowSelection = {\r\n selectedRowKeys,\r\n hideSelectAll: true,\r\n onChange: (keys, selectedRows) => {\r\n setSelectedRowKeys(keys);\r\n },\r\n };\r\n\r\n function confirmarIcms(values) {\r\n Modal.confirm({\r\n title: 'Deseja continuar?',\r\n icon: ,\r\n content: 'Essa operação irá alterar o ICMS dos itens selecionados! Após confirmar, não poderá ser desfeito!',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n gerarManutencao(values);\r\n }\r\n });\r\n };\r\n\r\n function confirmar(values) {\r\n Modal.confirm({\r\n title: 'Deseja continuar?',\r\n icon: ,\r\n content: 'Essa operação irá alterar os itens selecionados! Após confirmar, não poderá ser desfeito!',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n gerarManutencao(values);\r\n }\r\n });\r\n };\r\n\r\n function validarManutencao(values) {\r\n if (selectedRowKeys.length === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'É necessário selecionar pelo menos um item!' });\r\n return;\r\n }\r\n if (!!values.pro_eaninvalido) {\r\n gerarManutencao(values);\r\n } else {\r\n if (!values.icm_id && !values.ncm_id) {\r\n notification.warning({ message: 'Aviso!', description: 'Favor informar o NCM ou ICMS que deseja alterar!' });\r\n return;\r\n }\r\n if (considerarVigencia && !!values.icm_id && !values.vig_id) {\r\n notification.warning({ message: 'Aviso!', description: 'Favor informar a vigência!' });\r\n return;\r\n }\r\n if (considerarVigencia && !!values.icm_id) {\r\n gerarManutencao(values);\r\n } else {\r\n confirmar(values);\r\n }\r\n }\r\n };\r\n\r\n function gerarManutencao(values) {\r\n let dados = {};\r\n dados.produtos = [];\r\n for (const item of dadosProdutos) {\r\n if (selectedRowKeys.indexOf(item.key) >= 0) {\r\n dados.produtos.push({ pro_id: item.pro_id, icm_id: item.icm_id });\r\n }\r\n }\r\n dados.ncm_id = !!values.ncm_id ? values.ncm_id : null;\r\n dados.cen_id = !!values.cen_id ? values.cen_id : null;\r\n dados.vig_id = !!values.vig_id ? values.vig_id : null;\r\n dados.icm_id = !!values.icm_id ? values.icm_id : null;\r\n dados.pro_eaninvalido = !!values.pro_eaninvalido ? values.pro_eaninvalido : null;\r\n setCarregandoGerar(true);\r\n api.post(`Produto/ManutencaoProduto`, dados).then(res => {\r\n if (res.data) {\r\n notification.success({ message: 'Aviso!', description: 'Manutenção realizada com sucesso!' });\r\n form.setFieldsValue({ produtos: [] });\r\n setSelectedRowKeys([]);\r\n } else {\r\n notification.error({ message: 'Aviso!', description: 'Não foi possível realizar a manutenção dos produtos selecionados!' });\r\n }\r\n }, err => {\r\n console.log(err.response);\r\n }).finally(() => {\r\n buscarProdutos();\r\n setCarregandoGerar(false);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({icm.icm_id} - {icm.icm_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n { buscarCest(ncm) }} conteudo={\r\n ncm => ({ncm.ncm_codigo.codigoNcm} - {ncm.ncm_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Somente NCM inativos?\r\n \r\n \r\n \r\n \r\n \r\n \r\n Somente EAN Inválidos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Marcar/Desmarcar Todos\r\n \r\n \r\n (\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'EAN',\r\n align: 'center',\r\n width: 90,\r\n render: ({ pro_ean }) => (\r\n {pro_ean}\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ pro_descricao }) => (\r\n {pro_descricao}\r\n ),\r\n },\r\n {\r\n title: 'ICMS',\r\n render: ({ icm_id, icm_descricao }) => (\r\n {icm_id} - {icm_descricao}\r\n ),\r\n },\r\n {\r\n title: 'NCM',\r\n render: ({ ncm_codigo }) => (\r\n {ncm_codigo}\r\n ),\r\n },\r\n {\r\n title: 'CEST',\r\n render: ({ cet_id }) => (\r\n {!!cet_id ? cet_id : '-'}\r\n ),\r\n }\r\n ]} scroll={{ x: 900, size:20 }} />\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n ({icm.icm_id} - {icm.icm_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n { setConsiderarVigencia(e.target.checked) }}>Considerar Vigência\r\n \r\n \r\n {considerarVigencia && \r\n \r\n ({vig.vig_id} - {vig.vig_descricao})\r\n }\r\n />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n { buscarCest(ncm) }} conteudo={\r\n ncm => ({ncm.ncm_codigo.codigoNcm} - {ncm.ncm_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Marcar EAN Inválidos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { Data, FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport moment from \"moment\";\r\n\r\nexport default function ManutencaoVigencia({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = (values) => {\r\n carregando(true);\r\n let enderecoUrl = 'VigenciaFiscal/';\r\n\r\n if (values.vig_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Vigência Fiscal salvos com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Vigência Fiscal salvos com sucesso!\" });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n };\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vig_id' } });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoVigencia from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\nimport moment from 'moment';\r\n\r\nexport default function DrawerVigencia() {\r\n\r\n const [form] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n \r\n if (manutencao.dados !== null) {\r\n form.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n function fecharDrawer() {\r\n form.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal, Form } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport DrawerVigencia from './drawer';\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, TabelaDados, Editar, Excluir, FiltroSearch } from \"../../components\";\r\nimport moment from 'moment';\r\n\r\nexport default function VigenciaFiscal() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vig_id' } }), []);\r\n\r\n function excluirRegistro(id) {\r\n api.delete(`VigenciaFiscal/Excluir/${id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }).catch((erro) => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vig_id' } });\r\n });\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {vig_id}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ vig_descricao }) => (\r\n
\r\n {vig_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Inicial',\r\n render: ({ vig_datainicial }) => (\r\n
\r\n {moment(vig_datainicial).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 95,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {\r\n let dados = { ...record };\r\n dados.vig_datainicial = moment(dados.vig_datainicial);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { modalExcluir(record.vig_id) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Tabs, Row, Col, Form, Input, Select, Checkbox, Switch, Tooltip, Button, Modal, notification, Alert } from \"antd\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport InputNumber from \"rc-input-number\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { FormGW } from \"../../components\";\r\nimport { ModalRetencao } from \"../../components/modals\";\r\n\r\nexport default function ManutencaoRetencao({ formulario, carregando, aoSalvar }) {\r\n\r\n const [formModal] = Form.useForm();\r\n const [dadosTipoRetencao, setDadosTipoRetencao] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openModal, setOpenModal] = useState(false);\r\n\r\n useEffect(() => {\r\n buscarTipoRetencao();\r\n }, []);\r\n\r\n function buscarTipoRetencao() {\r\n api.get(`Enum/Listar?nome=TipoRetencao`).then(\r\n res => {\r\n setDadosTipoRetencao(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+tar_id' } });\r\n };\r\n\r\n const salvarManutencao = (values) => {\r\n carregando(true);\r\n values.tar_descontamovimentacaofinanceira = values.tar_descontamovimentacaofinanceira || false;\r\n values.tar_descontatotalnota = values.tar_descontatotalnota || false;\r\n let enderecoUrl = 'TabelaRetencao/';\r\n if (values.tar_id) {\r\n enderecoUrl += 'Editar'; \r\n api.put(enderecoUrl, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados na tabela de retenção foram editados com sucesso!\" });\r\n aoSalvar();\r\n atualizarPagina();\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n } else {\r\n enderecoUrl += 'Incluir'; \r\n api.post(enderecoUrl, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados na tabela de retenção foram salvos com sucesso!\" });\r\n aoSalvar();\r\n atualizarPagina();\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+tar_id' } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Desconta total da nota?\r\n \r\n \r\n \r\n \r\n Desconta movimentação financeira?\r\n \r\n \r\n setOpenModal(false)} formulario={formModal} />\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\nimport ManutencaoRetencao from './manutencao';\r\n\r\nexport default function DrawerRetencao() {\r\n const [formulario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (!!manutencao.dados)\r\n {\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n function fecharDrawer() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Popover, notification, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CopyOutlined, CloseCircleOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { BreadcrumbIncluirDados, PesquisaOrdenacao, TabelaDados, Editar, Excluir } from \"../../components\";\r\nimport DrawerRetencao from \"./drawer\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\n\r\nexport default function TabelaRetencao() {\r\n\r\n const [dadosTipoRetencao, setDadosTipoRetencao] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n buscarTipoRetencao();\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+tar_descricao' } });\r\n }, []);\r\n\r\n function buscarTipoRetencao() {\r\n api.get(`Enum/Listar?nome=TipoRetencao`).then(\r\n res => {\r\n let objeto = {};\r\n for (let item of res.data) {\r\n objeto[item.key] = item.value;\r\n }\r\n setDadosTipoRetencao(objeto);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n function excluirRegistro(tabRetencao) {\r\n api.delete(`TabelaRetencao/Excluir?id=${tabRetencao.tar_id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Os dados foram excluídos com sucesso!\" });\r\n dispatch({ type: listagemActions.CHANGE, data: { label: \"Nome A - Z\", ordem: '+tar_descricao' } })\r\n }).catch(err => {\r\n console.error(err);\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+tar_descricao' } });\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n \r\n {tar_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ tar_descricao }) => (\r\n
\r\n {tar_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Percentual',\r\n render: ({ tar_percentuaretencao }) => (\r\n
\r\n {FormatNumber(tar_percentuaretencao, true)} %\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Tipo Imposto',\r\n render: ({ tar_tiporetencao }) => (\r\n
\r\n {dadosTipoRetencao[tar_tiporetencao] || '-'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desconta total da nota?',\r\n render: ({ tar_descontatotalnota }) => (\r\n
\r\n {tar_descontatotalnota ? 'Sim' : 'Não'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desconta total da movimentação financeira?',\r\n render: ({ tar_descontamovimentacaofinanceira }) => (\r\n
\r\n {tar_descontamovimentacaofinanceira ? 'Sim' : 'Não'}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n {/*
\r\n \r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } }); \r\n }} icon={} />\r\n \r\n \r\n } onClick={() => { modalExcluir(record)}} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n );\r\n\r\n}","import axios from 'axios';\r\nimport { getToken, logout, getEmpresa, getLocal, linkApi, linkApiGestor } from './auth';\r\nconst apiErp = axios.create({ baseURL: linkApiGestor });\r\n\r\napiErp.interceptors.request.use(async config => {\r\n const token = getToken();\r\n const empresa = getEmpresa();\r\n const local = getLocal();\r\n //config.headers.ApiKey =\"as123\";\r\n if (token) config.headers.Authorization = `Bearer ${token}`;\r\n if (empresa) config.headers.codigoempresa = empresa;\r\n if (local) config.headers.codigolocal = local;\r\n\r\n return config;\r\n});\r\n\r\napiErp.interceptors.response.use(function (response) {\r\n return response;\r\n}, function (error) {\r\n if (error.response.status === 401) {\r\n logout();\r\n }\r\n return Promise.reject(error);\r\n});\r\n\r\nexport default apiErp;\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Form, Select, notification } from 'antd';\r\n\r\nimport api from '../../services/api';\r\nimport { getEmpresa, getNomeEmpresa, getTelaAnterior, login, setEmpresa, setLocal, setNomeEmpresa, setNomeLocal, setRegimeTributario, setStatusFilial } from '../../services/auth';\r\nimport { selectPaginadoActions } from '../../actions';\r\nimport { useStateValue } from '../../state';\r\nimport { SelectPaginacao } from '../../components';\r\nimport apiErp from '../../services/apiErp';\r\n\r\nexport default function SelecoesEmpresaCat({ veioDaHome = false, exibirModal = false }) {\r\n const [codigoEmpresa, setCodigoEmpresa] = useState(null);\r\n const [codigoLocal, setCodigoLocal] = useState(null);\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n\r\n const [formLogin] = Form.useForm();\r\n const acessar = values => {\r\n buscarTela();\r\n };\r\n\r\n useEffect(() => {\r\n if (!!formLogin.getFieldValue()?.emp_id) {\r\n carregarLocais(formLogin.getFieldValue()?.emp_id);\r\n setCodigoEmpresa(formLogin.getFieldValue()?.emp_id);\r\n }\r\n\r\n }, [formLogin.getFieldValue().emp_id]);\r\n\r\n useEffect(() => {\r\n if (!!listaSelectPaginacao?.itens && !veioDaHome) {\r\n validaLocalUnico();\r\n }\r\n }, [listaSelectPaginacao]);\r\n\r\n useEffect(() => {\r\n if (!!codigoLocal) {\r\n carregarDadosEmpresa();\r\n }\r\n }, [codigoLocal]);\r\n\r\n useEffect(() => {\r\n if (!!veioDaHome) {\r\n buscarEmpresaUnica();\r\n }\r\n }, [exibirModal]);\r\n\r\n function buscarEmpresaUnica() {\r\n let lista = [];\r\n let codigo = getEmpresa();\r\n lista.push({ name: \"emp_id\", campo: \"idEmpresa\", value: codigo });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n setCodigoEmpresa(codigo);\r\n }\r\n async function carregarDadosEmpresa() {\r\n let values = {};\r\n values.emp_id = codigoEmpresa;\r\n values.loc_id = codigoLocal;\r\n const listaEmpresa = (await api.get(`Empresa/Buscar/${codigoEmpresa}`)).data;\r\n await api.post('Local/GerarTokenLogin', values).then(res => {\r\n if (res.status === 200) {\r\n login(res.data);\r\n setEmpresa(codigoEmpresa);\r\n setLocal(codigoLocal);\r\n setNomeEmpresa(listaEmpresa.emp_razaosocial);\r\n setRegimeTributario(listaEmpresa.emp_regimetributario);\r\n api.get(`Local/GetLocalById/${codigoLocal}`).then(\r\n res => {\r\n if (!!res.data) {\r\n let listaLocal = res.data;\r\n setNomeLocal(listaLocal.loc_descricao);\r\n setStatusFilial(listaLocal.loc_ativo);\r\n buscarTela();\r\n }\r\n }\r\n )\r\n }\r\n }).catch(err => {\r\n if (!!err && !!err.response && !!err.response.data) {\r\n notification.error({ message: err.response.data || 'Falha ao efetuar o login' });\r\n } else {\r\n notification.error({ message: 'Falha ao efetuar o login', description: 'Verifique os dados informados e tente novamente.' });\r\n }\r\n });\r\n }\r\n\r\n function carregarLocais(codEmpresa) {\r\n let lista = [];\r\n lista.push({ name: \"filial\", campo: \"codigoEmpresa\", value: codEmpresa });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n\r\n function buscarTela() {\r\n window.location = \"/catalogo\";\r\n };\r\n\r\n function validaLocalUnico() {\r\n if (listaSelectPaginacao?.itens?.length === 1) {\r\n setCodigoLocal(listaSelectPaginacao?.itens[0].loc_id);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n setCodigoEmpresa(value);\r\n }} order=\"emp_razaosocial\"\r\n conteudo={\r\n e => ({e.emp_nomefantasia}
Razao Social: {e.emp_razaosocial}
)\r\n } />\r\n
\r\n \r\n \r\n {formLogin.getFieldValue()?.emp_id && \r\n \r\n \r\n setCodigoLocal(valor)} conteudo={Local => (\r\n {Local.loc_descricao}{!Local.loc_ativo ? ' (INATIVO)' : ''}\r\n )} />\r\n \r\n \r\n }\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Form, Input, Button, notification } from 'antd';\r\nimport { MailOutlined, ArrowLeftOutlined, SendOutlined } from '@ant-design/icons';\r\nimport api from '../../services/api';\r\n\r\nexport default function EsqueciSenha({ onAcessar, formulario }) {\r\n\r\n\r\n function enviarEmailRecuperarSenha() {\r\n let emailUsuario = formulario.getFieldValue().email;\r\n if (!!emailUsuario) {\r\n api.put(`Usuario/EnviarEmailRecuperarSenha/${emailUsuario}`).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Enviamos um E-mail para você com as instruções para recuperar sua senha!\" })\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: `AVISO!`, description: `Usuário não encontrado!` });\r\n }\r\n )\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Layout, Row, Col, Typography, Form, Input, Checkbox, Button, notification } from 'antd';\r\nimport { UnlockFilled, MailOutlined, SmileOutlined, SendOutlined, DesktopOutlined, EnvironmentOutlined, PhoneOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport { EsqueciSenha, SelecoesEmpresaCat } from \"./pages\";\r\nimport { login, setNomeUsuario, setIdUsuario, setEmailUsuario, getIdUsuario, setTelaAnterior, removerTelaAnt, removerLocal } from '../../services/auth';\r\n\r\nimport { ModulosPage, SlideLogin } from \"../../components\";\r\nimport { encodeBase64, parseToken } from '../../services/funcoes';\r\n\r\nconst FORMULARIO = {\r\n LOGIN: 1,\r\n SELECIONA_EMPRESA: 2,\r\n ESQUECI_SENHA: 3,\r\n}\r\n\r\nexport default function LoginCatalogo() {\r\n\r\n const [formularioExibir, setFormularioExibir] = useState(FORMULARIO.LOGIN);\r\n const [carregando, setCarregando] = useState(false);\r\n const [formulario] = Form.useForm();\r\n\r\n const onFinish = values => {\r\n setCarregando(true);\r\n values.senha = encodeBase64(values.senha);\r\n delete values.remember;\r\n api.post('Login/EfetuarLogin', values).then(res => {\r\n if (res.status === 200) {\r\n const token = res.data;\r\n let dadosUsuario = parseToken(res.data);\r\n setNomeUsuario(dadosUsuario.name);\r\n if (parseInt(getIdUsuario()) !== parseInt(dadosUsuario.UsuarioID)) {\r\n removerTelaAnt()\r\n }\r\n setIdUsuario(dadosUsuario.UsuarioID);\r\n setEmailUsuario(dadosUsuario.email);\r\n login(token);\r\n removerLocal();\r\n setFormularioExibir(FORMULARIO.SELECIONA_EMPRESA);\r\n }\r\n }).catch(err => {\r\n if (!!err) {\r\n if (!!err.response && !!err.response.data) {\r\n notification.error({ message: err.response.data || 'Falha ao efetuar o login' });\r\n } else {\r\n notification.error({ message: 'Falha ao efetuar o login', description: 'Verifique os dados informados e tente novamente.' });\r\n }\r\n } else {\r\n notification.error({ message: 'Falha ao efetuar o login', description: 'Verifique os dados informados e tente novamente.' });\r\n }\r\n }).finally(() => setCarregando(false));\r\n };\r\n\r\n const onFinishFailed = errorInfo => {\r\n console.log('Erro ao efetuar o login:', errorInfo);\r\n };\r\n\r\n useEffect(() => {\r\n //localStorage.removeItem(\"@GestorWeb-Token\");\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Gestor\r\n \r\n \r\n \r\n Identifique abaixo suas credenciais para realizar o acesso.

\r\n
\r\n \r\n \r\n {formularioExibir === FORMULARIO.LOGIN &&\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Salvar meus dados de login\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {formularioExibir === FORMULARIO.SELECIONA_EMPRESA && }\r\n {formularioExibir === FORMULARIO.ESQUECI_SENHA && setFormularioExibir(FORMULARIO.LOGIN)} />}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n www.gestorweb.com.br | (55) 3535-4900\r\n \r\n \r\n | Três de Maio - RS - 98910-000\r\n \r\n \r\n \r\n \r\n Todos os direitos reservados - Gestor Web ®\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { UserOutlined } from '@ant-design/icons';\r\nimport { Calendar, Col, Row } from 'antd';\r\nimport moment from 'moment';\r\nimport React, { useEffect, useState } from 'react';\r\n\r\nimport { getClienteCat, getNomeEmpresa, getNomeLocal, getNomeUsuario } from '../../services/auth';\r\nimport { ModalSelecaoClientesCat } from '../../components/modals';\r\n\r\nexport default function InicialCatalogo() {\r\n const [dataAtual, setDataAtual] = useState(new Date());\r\n const [exibirModal, setExibirModal] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n setExibirModal(false);\r\n }\r\n\r\n useEffect(() => {\r\n verificarCliente();\r\n setInterval(dataCalendar, 1000);\r\n }, []);\r\n\r\n function verificarCliente() {\r\n let cliente = getClienteCat();\r\n if (!!!cliente) {\r\n setExibirModal(true);\r\n }\r\n }\r\n\r\n function dataCalendar() {\r\n setDataAtual(new Date());\r\n };\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dataAtual.getHours() > 12 ? 'Boa tarde!' : dataAtual.getHours() > 18 ? 'Boa Noite!' : ' Bom dia!'}\r\n \r\n \r\n {getNomeUsuario()},\r\n \r\n \r\n você está acessado a empresa:\r\n \r\n \r\n {`${getNomeEmpresa()} / ${getNomeLocal()}`}.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {moment(dataAtual).format('DD')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('MMM')}\r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {moment(dataAtual).format('HH:mm')}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { Button, Col, Collapse, Dropdown, Form, Row } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { BotaoAbrirChamado, BreadcrumbPage, PesquisaAvancada, PesquisaOrdenacao } from \"../../components\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined } from \"@ant-design/icons\";\r\nexport default function CatAcessosExterno() {\r\n const [formPesquisaAvancada] = Form.useForm();\r\n const [open, setOpen] = useState(false);\r\n\r\n const togglePesquisa = () => {\r\n\r\n }\r\n\r\n function aplicarFiltrosAvancados() {\r\n\r\n }\r\n\r\n function pesquisaAvancada() {\r\n\r\n }\r\n\r\n function limparFiltroPesquisa() {\r\n\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {open ? : } Realizar pesquisa avançada\r\n \r\n }>\r\n { pesquisaAvancada(ret) }} funcaoLimpar={() => { limparFiltroPesquisa() }} telaFiltro={1} />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { InfoCircleOutlined, LeftCircleOutlined, PictureOutlined, RightCircleOutlined } from '@ant-design/icons';\r\nimport { Button, Col, Row, Table, Tooltip } from 'antd';\r\nimport { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch';\r\n\r\nimport { linkApiGestor } from '../../services/auth';\r\nimport { useStateValue } from '../../state';\r\nimport api from \"../../services/api\";\r\nimport { func } from 'prop-types';\r\nimport { isObjetoDiffVazio } from '../../services/funcoes';\r\nimport { ModalExibeImagem } from '../../components/modals';\r\nimport ModaDadosPecas from '../../components/modals/modalDadosPeca';\r\n\r\nexport default function ConsultaPecas({ grupoAtual, catalogoExterno }) {\r\n const [listaPecas, setListaPecas] = useState([]);\r\n const [pecaSelecionada, setPecaSelecionada] = useState(null);\r\n const [imagemAmpliada, setImagemAmpliada] = useState({});\r\n const [openImg, setOpenImg] = useState(false);\r\n \r\n const [opeModalInfo, setOpenModalInfo] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!!grupoAtual && isObjetoDiffVazio(grupoAtual)) {\r\n if(!!catalogoExterno) {\r\n buscarPecasGrupoCatalogo(grupoAtual);\r\n } else {\r\n buscarPecas(grupoAtual);\r\n }\r\n }\r\n }, [grupoAtual]);\r\n\r\n function buscarPecas(grupo) {\r\n api.get(`Cat007/BuscarPecasGrupo?Empresa=1&CodCatalogo=${grupo.codcatalogo}&CodGrupo=${grupo.codigo}`).then(\r\n res => {\r\n if (res.data) {\r\n setListaPecas(res.data);\r\n }\r\n }\r\n ).catch(\r\n err => {\r\n console.log(err);\r\n }\r\n )\r\n }\r\n\r\n function buscarPecasGrupoCatalogo(grupo) {\r\n api.get(`Cat002/ListaPecasGrupoCatalogo?Empresa=1&CodCatalogo=${grupo.codcatalogo}&CodGrupo=${grupo.codigo}`).then(\r\n res => {\r\n if (res.data) {\r\n setListaPecas(res.data);\r\n }\r\n }\r\n ).catch(\r\n err => {\r\n console.log(err);\r\n }\r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Grupo: {grupoAtual.codigo} - {grupoAtual.descricao}\r\n
\r\n
(\r\n
\r\n {codpeca}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n width: 420,\r\n render: ({ descpeca }) => (\r\n {descpeca}\r\n ),\r\n },\r\n {\r\n title: 'Item',\r\n width: 60,\r\n render: ({ numeropeca }) => (\r\n
\r\n {numeropeca}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde',\r\n width: 60,\r\n render: ({ quantidade }) => (\r\n
\r\n {quantidade}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Obs',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: ({ observacoes }) => (\r\n \r\n {observacoes}\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n fixed: 'right',\r\n width: 30,\r\n render: ({ codpeca, descpeca }) => (\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n fixed: 'right',\r\n width: 30,\r\n render: ({ codpeca }) => (\r\n \r\n ),\r\n },\r\n ]\r\n } dataSource={listaPecas} pagination={false}\r\n footer={() => Total de Peças: {listaPecas.length}}\r\n rowClassName={(record, index) => record.codpeca === grupoAtual.codpeca ? 'blue' : record.produzido === 1 ? 'green' : record.controle === 1 ? 'yellow' : ''}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \"test\"\r\n \r\n \r\n
\r\n
\r\n \r\n { setOpenModalInfo(false); }} />\r\n { setOpenImg(false); }} />\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Button, Col, Drawer, Row, Table, Tooltip } from 'antd';\r\nimport { CloseOutlined, InfoCircleOutlined, LeftCircleOutlined, PictureOutlined, RightCircleOutlined } from '@ant-design/icons';\r\n\r\n\r\nimport ConsultaPecas from './consultaPecas';\r\nimport { useStateValue } from '../../state';\r\nimport api from '../../services/api';\r\nimport { isObjetoDiffVazio } from '../../services/funcoes';\r\n\r\n\r\nexport default function DrawerConsulta({ exibirDrawer, onCloseDrawer, catalogoExterno}) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [grupoAtual, setGrupoAtual] = useState({});\r\n const [disabledAnt, setDisabledAnt] = useState(false);\r\n const [disabledPro, setDisabledPro] = useState(false);\r\n const [exibir, setExibir] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && exibirDrawer) {\r\n let dados = { ...manutencao.dados };\r\n //setGrupoAtual(dados);\r\n buscarGrupo(dados.codgrupo, dados.codcatalogo, dados.codpeca);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (isObjetoDiffVazio(grupoAtual)) {\r\n validarGrupo();\r\n }\r\n }, [grupoAtual]);\r\n\r\n const onClose = () => {\r\n onCloseDrawer();\r\n setExibir(false);\r\n };\r\n\r\n function onProximo() {\r\n let codProximo = grupoAtual.proximo;\r\n let codCatalogo = grupoAtual.codcatalogo;\r\n buscarGrupo(codProximo, codCatalogo);\r\n }\r\n\r\n function onAnterior() {\r\n let codAnterior = grupoAtual.anterior;\r\n let codCatalogo = grupoAtual.codcatalogo;\r\n buscarGrupo(codAnterior, codCatalogo);\r\n }\r\n\r\n function validarGrupo() {\r\n if (!!!grupoAtual.proximo) {\r\n setDisabledPro(true);\r\n } else {\r\n setDisabledAnt(false);\r\n }\r\n if (!!!grupoAtual.anterior) {\r\n setDisabledAnt(true);\r\n } else {\r\n setDisabledAnt(false);\r\n }\r\n }\r\n\r\n function buscarGrupo(codGrupo, codCatalogo, codPeca) {\r\n api.get(`Cat004/BuscarGrupoAntProx?codGrupo=${codGrupo}&codCatalogo=${codCatalogo}`).then(\r\n res => {\r\n let grupos = { ...res.data };\r\n if (!!codPeca) {\r\n grupos.codpeca = codPeca;\r\n }\r\n setGrupoAtual(grupos);\r\n setExibir(true)\r\n }\r\n ).catch(ex => console.log(ex));\r\n }\r\n\r\n return (\r\n Catálogo: {grupoAtual?.desccatalogo} } id=\"GruposCatalogo\"\r\n width=\"90%\"\r\n visible={exibir}\r\n onClose={onClose}\r\n extra={\r\n }\r\n footer={\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { CloseOutlined, FileImageOutlined, FileSearchOutlined } from '@ant-design/icons';\r\nimport { Button, Col, Drawer, Image, Radio, Row, Space, Table } from 'antd';\r\nimport { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch';\r\nimport api from '../../services/api';\r\nimport { linkApiGestor } from '../../services/auth';\r\nimport DrawerConsulta from '../catPecasExterno/drawerConsulta';\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { useStateValue } from '../../state';\r\n\r\n\r\n\r\nexport default function DrawerGrupo( { codCatalogo, codLinha, exibirDrawer, fecharDrawer, nomeCatalogo, nomeLinha } ) {\r\n const [ carregando, setCarregando ] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [listaGrupoCatalogo, setListaGrupoCatalogo] = useState([]);\r\n const [listaGrupo, setListaGrupo] = useState([]);\r\n const [valueGrupo, setValueGrupo] = useState(0);\r\n const [valueSubGrupo, setValueSubGrupo] = useState('');\r\n const [foto, setFoto] = useState(false);\r\n const [listaSubGrupo, setListaSubGrupo] = useState([]);\r\n const [rowSelectionn, setRowSelectionn] = useState([]);\r\n const [rowSelectionnGrup, setRowSelectionnGrup] = useState([]);\r\n const [openDrawer, setOpenDrawer] = useState(false);\r\n\r\n useEffect(() => \r\n {\r\n if(codCatalogo != \"\")\r\n {\r\n carregaSubGrupos();\r\n }\r\n }, [codCatalogo]);\r\n\r\n useEffect(() => \r\n {\r\n if(codCatalogo != \"\" && valueGrupo > 0)\r\n {\r\n setListaGrupo([]);\r\n carregaGrupos();\r\n \r\n }\r\n }, [valueGrupo]);\r\n\r\n function carregaSubGrupos() {\r\n api.get(`Cat006/getSubGrupos?empresa=1&codCatalogo=${codCatalogo}`).then(res => {\r\n if(res.status === 200) {\r\n let dados = res.data.map((x) => ({ key: x.codGrupo, ...x}))\r\n setListaSubGrupo(dados);\r\n if(dados.length > 0){\r\n setValueGrupo(dados[0].numGrupo);\r\n setRowSelectionn(dados[0].codGrupo);\r\n }\r\n }\r\n }, err => {\r\n console.log(err.response);\r\n\r\n });\r\n }\r\n \r\n function carregaGrupos() {\r\n api.get(`Cat004/getGrupos?empresa=1&numGrupo=${valueGrupo}`).then(res => {\r\n if(res.status === 200) {\r\n let dados = res.data.map((x) => ({ key: x.codGrupo, ...x}))\r\n setListaGrupo(dados);\r\n if(dados.length > 0){\r\n setRowSelectionnGrup(dados[0].codGrupo);\r\n }\r\n setFoto(true);\r\n }\r\n }, err => {\r\n console.log(err.response);\r\n\r\n });\r\n }\r\n\r\n const rowSelection = {\r\n type: \"radio\",\r\n selectedRowKeys: [rowSelectionn],\r\n onSelect: (record, selected, selectedRows) => {\r\n funcoesAoSelecionar(record); \r\n }\r\n }\r\n\r\n const rowSelectionGrup= {\r\n type: \"radio\",\r\n selectedRowKeys: [rowSelectionnGrup],\r\n onSelect: (record, selected, selectedRows) => {\r\n funcoesAoSelecionarGrup(record); \r\n }\r\n }\r\n\r\n function funcoesAoSelecionar (record) {\r\n setValueGrupo(record.numGrupo);\r\n setRowSelectionn(record.codGrupo)\r\n }\r\n \r\n function funcoesAoSelecionarGrup (record) {\r\n setValueSubGrupo(record.numGrupo);\r\n setRowSelectionnGrup(record.codGrupo);\r\n }\r\n\r\n const onCloseDrawer = () => {\r\n setOpenDrawer(false);\r\n };\r\n\r\n const onClose = () => {\r\n setFoto('');\r\n fecharDrawer();\r\n setListaGrupo([]);\r\n setListaSubGrupo([]);\r\n setValueGrupo(0);\r\n };\r\n \r\n return (\r\n Linha: {codLinha} - {nomeLinha} Catálogo: {codCatalogo} - {nomeCatalogo} } \r\n width=\"100%\" visible={exibirDrawer} onClose={onClose} extra={\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n
\r\n
(\r\n
\r\n {codGrupo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição do SubGrupo',\r\n fixed: 'left',\r\n render: ({descricao}) => (\r\n
\r\n {descricao}\r\n
\r\n ),\r\n },\r\n ]\r\n }\r\n rowSelection={rowSelection}\r\n pagination={false}\r\n scroll={{ y: window.innerHeight }}\r\n dataSource={listaSubGrupo}\r\n />\r\n \r\n \r\n {!!foto &&\r\n \r\n \r\n \r\n \"catalogo\" \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
(\r\n
\r\n {codGrupo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição do Grupo',\r\n fixed: 'left',\r\n render: ({descGrupo}) => (\r\n
\r\n {descGrupo}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n align: 'left',\r\n width: 130,\r\n render: ({ codGrupo, descGrupo }) => (\r\n \r\n ),\r\n },\r\n ]\r\n }\r\n pagination={false}\r\n rowSelection={rowSelectionGrup}\r\n scroll={{ y: window.innerHeight }}\r\n dataSource={listaGrupo}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { Col, Form, Row, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { BotaoAbrirChamado, BreadcrumbPage, FiltroSearch, TabelaDados } from \"../../components\";\r\nimport { GroupOutlined} from \"@ant-design/icons\";\r\nimport { useStateValue } from \"../../state\";\r\nimport api from \"../../services/api\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport DrawerGrupo from \"./listaGrupoSubgrupo\";\r\n\r\nexport default function CatalogosExterno() {\r\n const [formPesquisaAvancada] = Form.useForm();\r\n const [open, setOpen] = useState(false);\r\n const [codCatalago,setCodCatalago] = useState(\"\");\r\n const [nomeCatalago,setNomeCatalago] = useState(\"\");\r\n const [codLinha,setCodLinha] = useState(\"\");\r\n const [nomeLinha,setNomeLinha] = useState(\"\");\r\n const [openGrupo, setOpenGrupo] = useState(false);\r\n const [listaLinha, setListaLista] = useState([]);\r\n const [linhaSelecionada, setLinhaSelecionada] = useState(0);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n function handleChange(value) {\r\n setLinhaSelecionada(value)\r\n }\r\n \r\n const showDrawer = () => {\r\n setOpenGrupo(true);\r\n }\r\n\r\n const closeDrawer = () => {\r\n setOpenGrupo(false);\r\n }\r\n\r\n useEffect(() => {\r\n if(linhaSelecionada !== \"\") {\r\n carregaCatalogos();\r\n }\r\n },[linhaSelecionada]);\r\n\r\n function carregaCatalogos()\r\n {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&empresa=1&codLinha=${linhaSelecionada}` } });\r\n }\r\n\r\n useEffect(() => carregaLinha(),[]);\r\n\r\n function carregaLinha()\r\n {\r\n api.get(`Cat005/GetAll?empresa=1`).then(res => {\r\n if (res.status === 200) {\r\n setListaLista(res.data.map((x) => ({ key: x.key, ...x })));\r\n }\r\n }, err => {\r\n console.log(err.response);\r\n });\r\n }\r\n\r\n function aplicarFiltrosAvancados(){}\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {codigo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n fixed: 'left',\r\n render: ({ descricao }) => (\r\n
\r\n {descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Catálogo',\r\n fixed: 'left',\r\n width: 100,\r\n render: ({ codcatalogo }) => (\r\n
\r\n {codcatalogo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição Catálogo',\r\n fixed: 'left',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: ({ desccatalogo }) => (\r\n \r\n {desccatalogo}\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n align: 'left',\r\n width: 130,\r\n render: ({ codcatalogo, codigo, descricao, desccatalogo, codpeca }) => (\r\n \r\n ),\r\n },\r\n ]}\r\n dataSource={listaGrupo}\r\n pagination={false}\r\n\r\n />\r\n }\r\n \r\n setOpenModal(false)} />\r\n \r\n );\r\n}","import { Button, Col, Form, Row, Select, notification } from \"antd\";\r\nimport { BotaoAbrirChamado, BreadcrumbPage, Data } from \"../../components\";\r\nimport { useEffect, useState } from \"react\";\r\nimport api from \"../../services/api\";\r\nimport { DownloadOutlined } from \"@ant-design/icons\";\r\nimport { getEmpresa, getLocal, getNomeEmpresa, getToken, linkApi } from \"../../services/auth\";\r\nimport moment from \"moment\";\r\n\r\nexport default function DownloadXml() {\r\n const [formulario] = Form.useForm();\r\n const [serie, setSerie] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [])\r\n\r\n function carregarDados() {\r\n api.get('SerieFiscal/Listar?EmitenteDocumento=0&CodigoModeloDocFiscal=55&SomenteAtivos=true').then(\r\n res => {\r\n setSerie(res.data?.items);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n function download() {\r\n let form = formulario.getFieldsValue();\r\n if (!!!form.dataInicial || !!!form.dataFinal) {\r\n return notification.warning({ message: \"Aviso!\", description: \"Filtros de datas não preenchidos!\" });\r\n }\r\n let req = {\r\n emp_id: getEmpresa(),\r\n dataInicial: moment(form.dataInicial).format('YYYY-MM-DD'),\r\n dataFinal: moment(form.dataFinal).format('YYYY-MM-DD'),\r\n locais: [getLocal()],\r\n }\r\n\r\n\r\n if (!!form.modeloNota) req.modeloNota = [form.modeloNota];\r\n if (!!form.serieFiscal) req.serieFiscal = [form.serieFiscal];\r\n\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + getToken()\r\n }\r\n\r\n fetch(`${linkApi}Contador/DownloadLoteXmlNfe`, { headers, ...{ method: 'POST', body: JSON.stringify(req) } })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response.blob();\r\n })\r\n .then(\r\n res => {\r\n let nomeEmpresa = getNomeEmpresa();\r\n let filename = \"ArquivosXML-\" + nomeEmpresa.replaceAll(\" \", \"_\") + \".zip\";\r\n let objectUrl = URL.createObjectURL(res);\r\n let link = document.createElement('a');\r\n link.href = objectUrl;\r\n link.download = filename;\r\n link.click();\r\n window.URL.revokeObjectURL(link.href);\r\n notification.success({ description: \"Download realizado com sucesso!\", message: 'Aviso!' });\r\n }\r\n ).catch(\r\n erro => {\r\n let msg = !!erro && !!erro.message ? erro.message : \"Não foi possível realizar o download!\";\r\n notification.warning({ description: msg, message: 'Aviso!' });\r\n }\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n NF-e\r\n NFC-e\r\n \r\n \r\n \r\n \r\n \r\n \r\n {serie.map((ser) => (\r\n {ser.ser_serie}\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { Button, Col, Form, Input, Modal, Row, Select, Table, Tag, Tooltip, Typography, notification, Checkbox, InputNumber } from \"antd\";\r\nimport { FiltroProdutoKit, FormGW, InputPreco, SelectProduto } from \"../../components\";\r\nimport { BarcodeOutlined, CheckOutlined, CloseOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined, PlusOutlined, QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport { calculaDigitoVerificadorEAN, validarEan } from \"../../services/funcoes\";\r\nimport api from \"../../services/api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function ManutencaoKitComposicao({ formulario, salvandoDados, aoSalvar, editando }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const [listaUnidadeMedida, setListaUnidadeMedida] = useState([]);\r\n const [listaItems, setListaItems] = useState([]);\r\n const [controlButton, setControlButton] = useState(true);\r\n\r\n const [formGrade] = Form.useForm();\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados?.pro_id) {\r\n carregarItensProdutoKit(manutencao.dados?.pro_id);\r\n }\r\n carregarListas();\r\n }, [])\r\n\r\n function carregarItensProdutoKit(pro_id, soAtivos = true) {\r\n api.get(`ProdutoKitComposicao/ListarItens?idProduto=${pro_id}&soAtivos=${soAtivos}`).then(\r\n res => {\r\n res.data?.items?.forEach(item => {\r\n item.editando = false;\r\n })\r\n setListaItems(res.data?.items)\r\n let dadosTemp = { ...manutencao.dados }\r\n dadosTemp.preco_total_kit = parseFloat(res.data?.items?.reduce((total, item) => total + parseFloat(item.qtde_item * item.pkc_valorunitario), 0));\r\n formulario.setFieldsValue(dadosTemp);\r\n\r\n }\r\n ).catch(\r\n error => console.log(error)\r\n )\r\n }\r\n\r\n async function salvarDados(values) {\r\n let dadosPost = { ...values };\r\n dadosPost.lpi_valorvenda = parseFloat(values.preco_total_kit).toFixed(2);\r\n dadosPost.listaProdutosKit = listaItems\r\n\r\n if (!dadosPost.pro_id) {\r\n salvarManutencao(dadosPost);\r\n } else {\r\n editarManutencao(dadosPost);\r\n }\r\n }\r\n\r\n function salvarManutencao(dadosPost) {\r\n salvandoDados(true);\r\n api.post(`ProdutoKitComposicao/Incluir`, dadosPost).then(\r\n res => {\r\n\r\n notification.success({ message: 'Sucesso!', description: 'Kit Composição inserido com sucesso!' });\r\n }\r\n ).catch(\r\n error => {\r\n notification.warn({ message: 'Aviso!', description: 'Não foi possivel inserir o Kit!' });\r\n }\r\n ).finally(() => {\r\n salvandoDados(false);\r\n setListaItems([]);\r\n aoSalvar();\r\n })\r\n }\r\n\r\n function editarManutencao(dadosPost) {\r\n salvandoDados(true);\r\n api.put(`ProdutoKitComposicao/Editar`, dadosPost).then(\r\n res => {\r\n notification.success({ message: 'Sucesso!', description: 'Kit Composição inserido com sucesso!' });\r\n }\r\n ).catch(\r\n error => {\r\n notification.warn({ message: 'Aviso!', description: 'Não foi possivel inserir o Kit!' });\r\n }\r\n ).finally(() => {\r\n salvandoDados(false);\r\n setListaItems([]);\r\n aoSalvar();\r\n })\r\n }\r\n\r\n async function carregarListas() {\r\n let unidade = await api.get(`unidademedida/listar?PageSize=100&PageNumber=1`);\r\n if (!!formulario.getFieldValue().ump_id && unidade.data?.items.length > 0 && !unidade.data?.items?.find((un) => { return un.ump_id === formulario.getFieldValue().ump_id })) {\r\n formulario.setFieldsValue({ ump_id: null });\r\n\r\n }\r\n setListaUnidadeMedida(unidade.data?.items);\r\n }\r\n\r\n useEffect(() => {\r\n if (listaUnidadeMedida.length > 0 && !formulario.getFieldValue().ump_id) {\r\n formulario.setFieldsValue({ ump_id: listaUnidadeMedida.find(un => un.ump_id === 'UN').ump_id });\r\n }\r\n }, [listaUnidadeMedida]);\r\n\r\n useEffect(() => {\r\n if (listaItems.length > 0) {\r\n formulario.setFieldsValue({ preco_total_kit: parseFloat(listaItems?.reduce((total, item) => total + parseFloat(item.qtde_item * item.pkc_valorunitario), 0)).toFixed(2) });\r\n }\r\n }, [listaItems])\r\n\r\n\r\n function onBlurProEan(event) {\r\n let codEan = \"\";\r\n if (!!event.currentTarget) {\r\n codEan = event.currentTarget.value;\r\n } else {\r\n codEan = event;\r\n }\r\n if (codEan !== \"\") {\r\n if (validarEan(codEan)) {\r\n buscarEanExistente(codEan);\r\n if (codEan.startsWith(\"7\") && codEan.length === 13)\r\n formulario.setFieldsValue({ pro_eaninvalido: false });\r\n else\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n } else {\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n notification.warning({ description: 'EAN informado fora dos padrões GTIN, verifique o EAN antes de continuar!', message: 'Aviso' });\r\n }\r\n }\r\n }\r\n\r\n function buscarEanExistente(event) {\r\n let codEan;\r\n if (!!event.currentTarget) {\r\n codEan = event.currentTarget.value;\r\n } else {\r\n codEan = event;\r\n }\r\n if (isNaN(codEan)) {\r\n return;\r\n }\r\n api.get(`Produto/VerificaEanExistente?CodigoEan=${codEan}`).then(\r\n res => {\r\n if (!!res.data && res.data.existe == true) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: 'Produto já cadastrado - deseja alterá-lo?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n buscarProdutosEan(res.data.pro_id);\r\n }, onCancel() {\r\n formulario.resetFields();\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro)\r\n }\r\n );\r\n }\r\n\r\n function buscarProdutosEan(IdProduto) {\r\n api.get(`produto/RetornaDadosProduto?ProdutoId=${IdProduto}`).then(\r\n res => {\r\n formulario.setFieldsValue(res.data);\r\n editando.setEditando(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: res.data } });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function gerarEANProduto(campo) {\r\n let eanAnterior = null;\r\n\r\n let primeiroNumero = \"6\";\r\n let EAN;\r\n let digitoVerificador;\r\n eanAnterior = primeiroNumero;\r\n for (let i = 0; i <= 10; i++) {\r\n eanAnterior += Math.floor((Math.random() * 9) + 1).toString();\r\n }\r\n EAN = eanAnterior;\r\n EAN = EAN.substring(0, 12);\r\n EAN = (parseInt(EAN) + 1).toString();\r\n eanAnterior = EAN;\r\n digitoVerificador = calculaDigitoVerificadorEAN(EAN);\r\n EAN = EAN + \"\" + digitoVerificador;\r\n\r\n if (!!campo) {\r\n formGrade.setFieldsValue({ [campo]: EAN });\r\n } else {\r\n formulario.setFieldsValue({ pro_ean: EAN });\r\n }\r\n formulario.setFieldsValue({ pro_eaninvalido: true });\r\n }\r\n\r\n function calcularValorVendaPorMarkup() {\r\n let valorItens = listaItems?.reduce((total, item) => total + parseFloat(item.qtde_item * item.pkc_valorunitario), 0);\r\n let valorProdutoKit = formulario.getFieldsValue().preco_total_kit;\r\n let porc_desconto = ((valorProdutoKit * 100) / valorItens).toFixed(6);\r\n let listaItemsTemp = [...listaItems];\r\n // Ordenar a lista primeiro por qtde_item (em ordem decrescente) e depois por pkc_valorunitario (em ordem crescente)\r\n listaItemsTemp.sort((a, b) => {\r\n if (a.qtde_item !== b.qtde_item) {\r\n return b.qtde_item - a.qtde_item;\r\n } else {\r\n return a.pkc_valorunitario - b.pkc_valorunitario;\r\n }\r\n });\r\n let count = 0;\r\n let somaValor = 0;\r\n listaItemsTemp.forEach((item) => {\r\n count++;\r\n if (listaItemsTemp.length !== count) {\r\n item.pkc_valorunitario = parseFloat(((item.pkc_valorunitario * porc_desconto)) / 100).toFixed(2);\r\n somaValor += parseFloat((item.pkc_valorunitario * item.qtde_item).toFixed(2));\r\n }\r\n else {\r\n if (item.qtde_item === 1) {\r\n let diferenca = parseFloat(valorProdutoKit - somaValor).toFixed(2);\r\n item.pkc_valorunitario = diferenca;\r\n } else {\r\n item.pkc_valorunitario = parseFloat(((item.pkc_valorunitario * porc_desconto)) / 100).toFixed(2);\r\n somaValor += parseFloat((item.pkc_valorunitario * item.qtde_item).toFixed(2));\r\n }\r\n }\r\n })\r\n setListaItems(listaItemsTemp);\r\n };\r\n\r\n const editarItem = (index) => {\r\n let listaTemp = [...listaItems];\r\n let item = listaTemp[index];\r\n listaTemp[index].editando = true;\r\n setListaItems(listaTemp);\r\n formulario.setFieldsValue({ [`pkc_valorunitario`]: item.pkc_valorunitario });\r\n formulario.setFieldsValue({ [\"pkc_qtde_item\"]: item.qtde_item });\r\n setControlButton(true);\r\n }\r\n\r\n const saveEdition = (index) => {\r\n let listaTemp = [...listaItems];\r\n let item = listaTemp[index];\r\n let qtdeItem = formulario.getFieldValue().pkc_qtde_item;\r\n let pkcValorUnitario = formulario.getFieldsValue().pkc_valorunitario;\r\n\r\n let novoValorTotal = qtdeItem * pkcValorUnitario;\r\n\r\n listaTemp[index] = {\r\n ...item,\r\n qtde_item: qtdeItem,\r\n pkc_valorunitario: pkcValorUnitario\r\n };\r\n\r\n listaTemp[index].editando = false;\r\n\r\n setListaItems(listaTemp);\r\n\r\n };\r\n\r\n const cancelEdition = (index) => {\r\n let listaTemp = [...listaItems];\r\n listaTemp[index].editando = false;\r\n setListaItems(listaTemp);\r\n }\r\n\r\n function excluirItem(record, index) {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: 'Deseja remover o item do kit?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarItem(record, index)\r\n }\r\n });\r\n }\r\n\r\n async function inativarItem(record, index) {\r\n if (!!record.pkc_id) {\r\n let retorno = await api.put(`ProdutoKitComposicao/AtivarInativarItem`, record);\r\n if (!retorno) {\r\n notification.warning({ description: 'Aviso!', message: 'Não foi possivel inativar o item' });\r\n return;\r\n }\r\n notification.success({ description: 'Sucesso!', description: 'Item inativado com sucesso!' });\r\n }\r\n let listaTemp = [...listaItems];\r\n listaTemp.splice(index, 1);\r\n setListaItems(listaTemp)\r\n }\r\n\r\n function ativarItem(record) {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: 'Deseja reativar o item do kit?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n ativarItem(record)\r\n }\r\n });\r\n }\r\n\r\n function ativarItem(record) {\r\n api.put(`ProdutoKitComposicao/AtivarInativarItem`, record).then(\r\n res => {\r\n if (res.data) {\r\n notification.success({ message: 'Sucesso!', description: 'Item ativo novamente!' });\r\n carregarItensProdutoKit(manutencao.dados?.pro_id, formulario.getFieldsValue()?.listar_inativos)\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n notification.warning({ message: 'Aviso!', description: 'Não foi possivel ativar o Item!' });\r\n }\r\n )\r\n }\r\n\r\n function myFunction(index) {\r\n let listaTemp = [...listaItems];\r\n let item = listaTemp[index];\r\n let qtdeItem = formulario.getFieldValue().pkc_qtde_item;\r\n let pkcValorUnitario = formulario.getFieldValue().pkc_valorunitario;\r\n\r\n if (qtdeItem !== item.qtde_item || pkcValorUnitario !== item.pkc_valorunitario) {\r\n setControlButton(false);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n salvarDados(values)}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código de Barras - EAN\r\n \r\n \r\n \r\n \r\n }>\r\n onBlurProEan(event)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaUnidadeMedida.map((um) => ({um.ump_id} - {um.ump_descricao}))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n {pro_codigo}\r\n )\r\n },\r\n {\r\n title: 'Descrição',\r\n align: 'left',\r\n render: ({ pro_descricao }) => (\r\n {pro_descricao}\r\n )\r\n },\r\n {\r\n title: 'Qtde',\r\n width: 75,\r\n align: 'center',\r\n render: ({ qtde_item, editando }, record, index) => (\r\n
\r\n \r\n {editando ?\r\n myFunction(index)}\r\n /> : {FormatNumber(qtde_item, true)}\r\n }\r\n \r\n
\r\n )\r\n },\r\n {\r\n title: 'Vlr Tabela',\r\n width: 100,\r\n align: 'right',\r\n render: ({ lpi_valorvenda }) => (\r\n R$ {parseFloat(lpi_valorvenda).toFixed(2)}\r\n )\r\n },\r\n {\r\n title: 'Vlr Unitário',\r\n width: 100,\r\n align: 'right',\r\n render: ({ pkc_valorunitario, editando }, record, index) => (\r\n
\r\n {editando ?\r\n myFunction(index)}\r\n /> : R$ {parseFloat(pkc_valorunitario).toFixed(2)}\r\n }\r\n
\r\n )\r\n },\r\n {\r\n title: 'Vlr Total',\r\n width: 100,\r\n align: 'right',\r\n render: ({ pkc_valorunitario, qtde_item }) => (\r\n R$ {FormatNumber(parseFloat(qtde_item * pkc_valorunitario).toFixed(2))}\r\n )\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: ({ editando }, record, index) => {\r\n return
\r\n \r\n
\r\n {editando ?\r\n saveEdition(index)}\r\n icon={}\r\n /> :\r\n editarItem(index)}\r\n icon={}\r\n />\r\n }\r\n \r\n \r\n {editando ? \r\n carregarItensProdutoKit(manutencao.dados?.pro_id, !formulario.getFieldsValue().listar_inativos)}>\r\n Listar Itens Inativos \r\n \r\n \r\n \r\n calcularValorVendaPorMarkup()} />\r\n \r\n \r\n \r\n \r\n \r\n Valor Total dos Itens: R$ {parseFloat(listaItems?.reduce((total, item) => total + parseFloat(item.qtde_item * item.pkc_valorunitario), 0)).toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { useState } from \"react\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { Button, Col, Drawer, Form, Modal, Row } from \"antd\";\r\nimport { CheckOutlined, CloseOutlined, ExclamationCircleOutlined, MinusOutlined, SaveOutlined } from \"@ant-design/icons\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport ManutencaoKitComposicao from \"./manutencao\";\r\n\r\nexport default function DrawerKitComposicao({ editando, setFechouCadastro, fechouCadastro }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [formKitComp] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n function fecharDrawer() {\r\n formKitComp.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pro_descricao' } });\r\n setFechouCadastro(!fechouCadastro);\r\n }\r\n\r\n return (\r\n }\r\n onClose={() => onClose()}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n );\r\n}","import { Col, Form, Modal, Popover, Row, Table, Tag, notification } from \"antd\";\r\nimport { BotaoAbrirChamado, BotaoIncluirDados, BreadcrumbIncluirDados, BreadcrumbPage, Duplicar, Editar, Excluir, PesquisaOrdenacao, TabelaDados, FiltroProdutoKit } from \"../../components\";\r\nimport { CopyOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport DrawerKitComposicao from \"./drawer\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport api from \"../../services/api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Item from \"antd/lib/list/Item\";\r\nimport { func } from \"prop-types\";\r\n\r\nexport default function KitComposicao({ formulario }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaKits, setListaKits] = useState([]);\r\n const [attList, setAttList] = useState(false);\r\n const [fechouCadastro, setFechouCadastro] = useState(false)\r\n\r\n useEffect (() => {\r\n carregarListaKit();\r\n }, [ , attList, fechouCadastro]);\r\n\r\n async function carregarListaKit () {\r\n try {\r\n const response = await api.get(`ProdutoKitComposicao/ListarTodos?pageNumber=1&PageSize=20`);\r\n setListaKits(response.data?.items);\r\n } catch (error) {\r\n console.error(\"Erro ao carregar lista de kits:\", error);\r\n }\r\n };\r\n \r\n const modalExcluir = (dados, index) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o kit ${dados.pro_descricao}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n inativarKit(dados, index);\r\n }\r\n });\r\n };\r\n\r\n const inativarKit = async (dados, index) => {\r\n if (!!dados.pro_codigo) {\r\n let retorno = await api.put(`produto/AtivarInativar?IdProduto=${dados.pro_id}&Ativo=false`);\r\n if (!retorno) {\r\n notification.warning({ description: 'Aviso!', message: 'Não foi possível inativar o kit' });\r\n return;\r\n }\r\n notification.success({ description: 'Sucesso!', message: 'Kit inativado com sucesso!' });\r\n setAttList(true);\r\n }\r\n let listaTemp = [...listaKits];\r\n listaTemp.splice(index, 1);\r\n setListaKits(listaTemp)\r\n };\r\n console.log(listaKits)\r\n return (\r\n
\r\n \r\n \r\n
\r\n
(\r\n \r\n \r\n {pro_codigo}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'EAN-13',\r\n align: 'center',\r\n width: 110,\r\n render: ({ pro_ean }) => (\r\n
\r\n {pro_ean}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Preço (R$)',\r\n align: 'right',\r\n render: ({ precoVendaMinimo, precoVendaMaximo }) => (\r\n
\r\n {precoVendaMinimo === precoVendaMaximo &&\r\n {FormatNumber(precoVendaMinimo, true)}\r\n }\r\n {precoVendaMinimo !== precoVendaMaximo &&\r\n {FormatNumber(precoVendaMinimo, true)} até {FormatNumber(precoVendaMaximo, true)}\r\n }\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 95,\r\n fixed: 'right',\r\n render: (record, dados) => (\r\n
\r\n \r\n
\r\n {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }} icon={}\r\n />\r\n \r\n \r\n } onClick={() => { modalExcluir(record) }} />\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} />\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { Route, Switch, HashRouter } from \"react-router-dom\";\r\nimport { Layout } from 'antd';\r\nimport { HeaderPage, MenuPage } from '../../components';\r\nimport InicialCatalogo from '../InicialCatalogo';\r\nimport CatPecasExterno from '../catPecasExterno';\r\nimport CatalogosExterno from '../catalogosExterno';\r\nimport CatAcessosExterno from '../catAcessosExterno';\r\n\r\n\r\nexport default function HomeCatalogo() {\r\n\r\n\r\n return (\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
);\r\n}","\r\nimport React, { useState } from 'react';\r\nimport { ConfigProvider } from 'antd';\r\nimport { BrowserRouter as Router, Switch, Route, Redirect } from \"react-router-dom\";\r\nimport Circle from '@uiw/react-color-circle';\r\nimport ptBR from 'antd/lib/locale/pt_BR';\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\n\r\nimport \"./App.less\";\r\nimport { StateProvider } from './state';\r\nimport { reducer } from './state/reducer';\r\nimport { isAuthenticated } from './services/auth';\r\nimport { Login, AtivarNovoEmail, Home, RecuperarSenha, AtivarConta, AnaliseInadimplenciaCliente, NovaEmpresa, AtivarUsuarioPlano, RenovarPlano, Testes, LoginCatalogo } from \"./pages\";\r\nimport HomeCatalogo from './pages/homeCatalogo';\r\n\r\nconst PrivateRoute = ({ component: Component, ...rest }) => (\r\n \r\n isAuthenticated() ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n);\r\n\r\nfunction App() {\r\n\r\n moment.locale('pt-br');\r\n\r\n const initialState = {\r\n userConfig: { size: 'small' },\r\n ui: { showDrawer: false, showDrawerExtra: false },\r\n manutencao: { dados: null },\r\n listaSelectPaginacao: { itens: [] },\r\n listaTabelaDados: { itens: [] },\r\n listagem: { filtro: '', ordem: '', outrosFiltros: '' },\r\n tributacao: { empRegimeTributario: null, empEnquadramentoFiscal: null },\r\n parametrosEmpresa: { markupProduto: null, par_percjuromesparcelavencida: '', par_diastoleranciacobrancajuro: '' }\r\n };\r\n\r\n const FormSizeDemo = () => {\r\n\r\n const [componentSize, setComponentSize] = useState('small');\r\n\r\n const [color, setColor] = useState({\r\n primaryColor: '#0053a6',\r\n });\r\n\r\n function onColorChange(nextColor) {\r\n const mergedNextColor = {\r\n ...color,\r\n ...nextColor,\r\n };\r\n setColor(mergedNextColor);\r\n ConfigProvider.config({\r\n theme: mergedNextColor,\r\n });\r\n\r\n }\r\n\r\n return (\r\n \r\n {\r\n onColorChange({\r\n primaryColor: hex,\r\n });\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n}\r\n\r\nexport default App;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker === null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType !== null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.less';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","export default function formatNumber(valor, lista = false, cifrao = true,casasDecimais = 2) {\r\n if (!!valor) {\r\n let negativo = false;\r\n if (lista) {\r\n valor = valor.toString().replaceAll(',', '.');\r\n valor = parseFloat(valor).toFixed(casasDecimais);\r\n }\r\n if (valor < 0) {\r\n negativo = true;\r\n }\r\n valor = valor.toString().replace(/\\D/g, \"\");\r\n valor = valor.toString().replace(new RegExp(`(\\\\d)(\\\\d{${casasDecimais+6}})$`), \"$1.$2\");\r\n valor = valor.toString().replace(new RegExp(`(\\\\d)(\\\\d{${casasDecimais+3}})$`), \"$1.$2\");\r\n valor = valor.toString().replace(new RegExp(`(\\\\d)(\\\\d{${casasDecimais}})$`), \"$1,$2\");\r\n if (negativo) {\r\n valor = '-' + valor;\r\n }\r\n if (cifrao) {\r\n return `${valor}`;\r\n } else {\r\n return valor;\r\n }\r\n } else {\r\n //console.log('problema no formatNumber, valor não é valido');\r\n if (cifrao) {\r\n return '0,00';\r\n } else {\r\n return '0,00';\r\n }\r\n\r\n }\r\n}","export default function maskFormat(data, text, cpfCnpj = false) {\r\n if (!data) {\r\n return;\r\n }\r\n\r\n // if (cpfCnpj) {\r\n // if (data.toString().length > 11) {\r\n // text = '00.000.000/0000-00';\r\n // } else {\r\n // text = '000.000.000-00';\r\n // }\r\n // }\r\n\r\n if (cpfCnpj) {\r\n if (data.length > 11) {\r\n text = '00.000.000/0000-00';\r\n } else {\r\n text = '000.000.000-00';\r\n }\r\n } \r\n\r\n let onlyNumbers = data.replace(/[^0-9]/g, '');\r\n if (onlyNumbers === '') {\r\n return;\r\n } else {\r\n let result = '';\r\n let format = text.split('');\r\n let numbers = onlyNumbers.split('');\r\n let item = '';\r\n let index = 0;\r\n for (var i in numbers) {\r\n let num = numbers[i];\r\n if (!!format[index]) {\r\n let caracter = format[index];\r\n while (caracter !== '0') {\r\n item = item + caracter;\r\n index++;\r\n caracter = format[index];\r\n }\r\n item = item + num;\r\n index++;\r\n } else {\r\n return;\r\n }\r\n result = item.replace('*', ' ');\r\n if (format.length === result.length) {\r\n return result;\r\n }\r\n }\r\n }\r\n};","export default function formatDate(data) {\r\n if (data === '' || data === undefined)\r\n return;\r\n\r\n return data.split('/').reverse().join('-');;\r\n}","export default function formatFone(valor) {\r\n let retorno = '';\r\n if (!!valor) {\r\n valor = valor.toString();\r\n if (valor.length >= 8) {\r\n switch (valor.length) {\r\n case 8:\r\n retorno = valor.slice(0, 4) + '-' + valor.slice(4, 8);\r\n break;\r\n case 9:\r\n retorno = valor.slice(0, 1) + ' ' + valor.slice(1, 5) + '-' + valor.slice(5, 9);\r\n break;\r\n case 10:\r\n retorno = '(' + valor.slice(0, 2) + ') ' + valor.slice(2, 6) + '-' + valor.slice(6, 10);\r\n break;\r\n case 11:\r\n retorno = '(' + valor.slice(0, 2) + ') ' + valor.slice(2, 3) + ' ' + valor.slice(3, 7) + '-' + valor.slice(7, 11);\r\n break;\r\n }\r\n }\r\n }\r\n return retorno;\r\n}","export default function FormatarCPF(cpf) {\r\n let valor = '';\r\n if (!!cpf && cpf !== '') {\r\n valor = cpf.slice(0, 3) + '.' + cpf.slice(3, 6) + '.' + cpf.slice(6, 9) + '-' + cpf.slice(9, 11);\r\n }\r\n return valor;\r\n}","import api from \"./api\";\r\n\r\nexport async function ServidorImpressoraOnline() {\r\n let req;\r\n try {\r\n req = await api.get(`http://localhost:3001/online`);\r\n } catch {\r\n req = { data: { online: false } };\r\n }\r\n return req.data;\r\n}\r\n\r\nexport async function impressorasInstaladas() {\r\n let req;\r\n try {\r\n req = await api.get(`http://localhost:3001/impressao/printers`);\r\n } catch {\r\n req = { data: null };\r\n }\r\n return req.data;\r\n}\r\n\r\nexport async function carregarConfiguracoes() {\r\n let req;\r\n try {\r\n req = await api.get(`http://localhost:3001/configuracao`);\r\n } catch {\r\n req = { data: null };\r\n }\r\n return req.data;\r\n}\r\n\r\nexport async function impressoraEtiqueta() {\r\n let req = await api.get(`http://localhost:3001/configuracao/ImpressoraEtiqueta`);\r\n return req.data;\r\n}\r\n\r\nexport async function impressoraNaoFiscal() {\r\n let req = await api.get(`http://localhost:3001/configuracao/ImpressoraNaoFiscal`);\r\n return req.data;\r\n}\r\n\r\nexport async function modeloEtiqueta() {\r\n let req = await api.get(`http://localhost:3001/configuracao/ModeloEtiqueta`);\r\n return req.data;\r\n}\r\n\r\nexport async function configurarImpressoraEtiqueta(impressoraEtiqueta) {\r\n let impressora = {\r\n impressora: impressoraEtiqueta\r\n };\r\n let req = await api.post(`http://localhost:3001/configuracao/ImpressoraEtiqueta`, JSON.stringify(impressora), { headers: { 'Content-type': 'application/json;charset=utf-8' } });\r\n return req.data;\r\n}\r\n\r\nexport async function configurarModeloEtiqueta(etiqueta) {\r\n let dados = {\r\n modeloEtiqueta: etiqueta\r\n };\r\n let req = await api.post(`http://localhost:3001/configuracao/ModeloEtiqueta`, JSON.stringify(dados), { headers: { 'Content-type': 'application/json;charset=utf-8' } });\r\n return req.data;\r\n}\r\n\r\nexport async function salvarConfiguracoes(configuracoes) {\r\n let req = await api.post(`http://localhost:3001/configuracao/ModeloEtiqueta`, JSON.stringify(configuracoes), { headers: { 'Content-type': 'application/json;charset=utf-8' } });\r\n return req.data;\r\n}\r\n\r\nexport async function imprimirRawBase64(nomeImpressora, conteudo) {\r\n let dados = {\r\n impressora: nomeImpressora,\r\n texto: btoa(conteudo)\r\n };\r\n\r\n let urlImpressao = 'http://localhost:3001/naofiscal/imprimirRAWB64';\r\n if (nomeImpressora.toLowerCase().includes('dymo')) urlImpressao = 'http://localhost:3001/naofiscal/imprimeEtiquetaDymo';\r\n\r\n let req = await api.post(urlImpressao, JSON.stringify(dados), { headers: { 'Content-type': 'application/json;charset=utf-8' } });\r\n return req.data;\r\n}\r\n\r\nexport async function imprimirEtiquetaDymo(nomeImpressora, conteudo) {\r\n let dados = {\r\n impressora: nomeImpressora,\r\n texto: btoa(unescape(encodeURIComponent(conteudo)))\r\n };\r\n\r\n let req = await api.post(`http://localhost:3001/naofiscal/imprimeEtiquetaDymo`, JSON.stringify(dados), { headers: { 'Content-type': 'application/json;charset=utf-8' } });\r\n return req.data;\r\n}\r\n\r\nexport async function enviaComandoImpressoraNaoFiscal(nomeImpressora, comando, dados) {\r\n let dadosEnviar = {\r\n impressora: nomeImpressora\r\n };\r\n\r\n if (!!dados) {\r\n dadosEnviar = { ...dadosEnviar, ...dados };\r\n }\r\n\r\n let req = await api.post(`http://localhost:3001/naofiscal/${comando}`, JSON.stringify(dadosEnviar), { headers: { 'Content-type': 'application/json;charset=utf-8' } });\r\n return req.data;\r\n}\r\n\r\n","import React, {createContext, useContext, useReducer} from 'react';\r\nexport const StateContext = createContext();\r\nexport const StateProvider = ({reducer, initialState, children}) =>(\r\n \r\n {children}\r\n \r\n);\r\nexport const useStateValue = () => useContext(StateContext);","import api from '../services/api';\r\nimport { notification } from \"antd\";\r\nimport { getRegimeTributario } from \"../services/auth\";\r\n\r\nexport const calculoIPI = (baseIPI, aliquotaIPI, valorFrete, valorOutrasDespesas) => {\r\n return new Promise(resolve => {\r\n if (!!baseIPI && !!aliquotaIPI) {\r\n if (valorFrete < 0) {\r\n resolve({ error: \"Valor do frete não pode ser negativo\" });\r\n }\r\n if (valorOutrasDespesas < 0) {\r\n resolve({ error: \"Valor do outras despesas acessórias não pode ser negativo\" });\r\n }\r\n\r\n let baseCalculo = (baseIPI + valorFrete + valorOutrasDespesas).toFixed(2);\r\n let valorIpi = ((baseCalculo * aliquotaIPI) / 100).toFixed(2);\r\n\r\n resolve({ baseIPI: parseFloat(baseCalculo), valorIPI: parseFloat(valorIpi) });\r\n } else {\r\n if (!(!!baseIPI)) {\r\n resolve({ error: \"A base de cálculo do IPI não foi informada!\" });\r\n }\r\n if (!(!!aliquotaIPI)) {\r\n resolve({ error: \"A alíquota do IPI não foi informada!\" });\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport const calculoICMSST = (valorItem, quantidade, valorFrete, valorDespesas, valorIPI, valorDesconto, valorAcrescimo, reducaoICMS, aliquotaICMS, reducaoICMSST, mva, aliquotaICMSST, ufDestino, ufOrigem, regimeTributario, mvaAjustado, retornoCalcIcms) => {\r\n return new Promise(resolve => {\r\n let valorICMS = 0;\r\n let resultadoBaseICMSST = 0;\r\n let resultadoICMSST = 0;\r\n if (!!valorItem && !!mva && !!aliquotaICMSST && !!quantidade) {\r\n if (valorFrete < 0) {\r\n resolve({ error: \"Valor do frete não pode ser negativo\" });\r\n }\r\n if (valorDespesas < 0) {\r\n resolve({ error: \"Valor das despesas não pode ser negativo\" });\r\n }\r\n if (valorIPI < 0) {\r\n resolve({ error: \"Valor do IPI não pode ser negativo\" });\r\n }\r\n if (valorDesconto < 0) {\r\n resolve({ error: \"Valor do desconto não pode ser negativo\" });\r\n }\r\n if (reducaoICMS < 0) {\r\n resolve({ error: \"Valor do desconto não pode ser negativo\" });\r\n }\r\n if (valorItem < 0) {\r\n resolve({ error: \"Valor do item não pode ser negativo\" });\r\n }\r\n if (aliquotaICMS < 0) {\r\n resolve({ error: \"A alíquota do ICMS não pode ser negativa\" });\r\n }\r\n if (aliquotaICMSST < 0) {\r\n resolve({ error: \"A alíquota do ICMS ST não pode ser negativa\" });\r\n }\r\n if (mva < 0) {\r\n resolve({ error: \"O MVA não pode ser negativo\" });\r\n }\r\n if (reducaoICMSST < 0) {\r\n resolve({ error: \"O percentual de redução do MVA não pode ser negativo\" });\r\n }\r\n\r\n if (!!retornoCalcIcms) {\r\n if (!(!!retornoCalcIcms.ICMS)) {\r\n valorICMS = 0;\r\n } else {\r\n valorICMS = retornoCalcIcms.ICMS;\r\n }\r\n if (aliquotaICMSST > aliquotaICMS && ufOrigem !== ufDestino && regimeTributario === 3) {\r\n if (mvaAjustado === 0) {\r\n mvaAjustado = ((((1 + (mva / 100)) * ((100 - aliquotaICMS) / 100)) / ((100 - aliquotaICMSST) / 100) - 1) * 100);\r\n }\r\n resultadoBaseICMSST = ((((valorItem * quantidade) + valorFrete + valorDespesas + valorAcrescimo + parseFloat(valorIPI)) * (1 + (mvaAjustado / 100))) - ((valorItem + valorFrete + valorDespesas + parseFloat(valorIPI)) * reducaoICMSST / 100)).toFixed(2);\r\n resultadoICMSST = ((((resultadoBaseICMSST * aliquotaICMSST / 100) - valorICMS))).toFixed(2);\r\n\r\n } else {\r\n resultadoBaseICMSST = ((((valorItem * quantidade) + valorFrete + valorDespesas + valorAcrescimo + parseFloat(valorIPI)) * (1 + (mva / 100))) - ((valorItem + valorFrete + valorDespesas + parseFloat(valorIPI)) * reducaoICMSST / 100)).toFixed(2);\r\n resultadoICMSST = ((((resultadoBaseICMSST * aliquotaICMSST / 100) - valorICMS))).toFixed(2);\r\n\r\n }\r\n resolve({ baseICMSST: parseFloat(resultadoBaseICMSST), ICMSST: parseFloat(resultadoICMSST) });\r\n } else {\r\n calculoICMS(valorItem, quantidade, valorFrete, valorDespesas, valorIPI, valorDesconto, valorAcrescimo, reducaoICMS, aliquotaICMS).then(function (icms) {\r\n if (!(!!icms.ICMS)) {\r\n valorICMS = 0;\r\n } else {\r\n valorICMS = icms.ICMS;\r\n }\r\n if (aliquotaICMSST > aliquotaICMS && ufOrigem !== ufDestino && regimeTributario === 3) {\r\n if (mvaAjustado === 0) {\r\n mvaAjustado = ((((1 + (mva / 100)) * ((100 - aliquotaICMS) / 100)) / ((100 - aliquotaICMSST) / 100) - 1) * 100);\r\n }\r\n resultadoBaseICMSST = ((((valorItem * quantidade) + valorFrete + valorDespesas + valorAcrescimo + parseFloat(valorIPI)) * (1 + (mvaAjustado / 100))) - ((valorItem + valorFrete + valorDespesas + parseFloat(valorIPI)) * reducaoICMSST / 100)).toFixed(2);\r\n resultadoICMSST = ((((resultadoBaseICMSST * aliquotaICMSST / 100) - valorICMS))).toFixed(2);\r\n\r\n } else {\r\n resultadoBaseICMSST = ((((valorItem * quantidade) + valorFrete + valorDespesas + valorAcrescimo + parseFloat(valorIPI)) * (1 + (mva / 100))) - ((valorItem + valorFrete + valorDespesas + parseFloat(valorIPI)) * reducaoICMSST / 100)).toFixed(2);\r\n resultadoICMSST = ((((resultadoBaseICMSST * aliquotaICMSST / 100) - valorICMS))).toFixed(2);\r\n\r\n }\r\n resolve({ baseICMSST: parseFloat(resultadoBaseICMSST), ICMSST: parseFloat(resultadoICMSST) });\r\n });\r\n }\r\n } else {\r\n if (!(!!valorItem)) {\r\n resolve({ error: \"O valor do item não foi informado\" });\r\n }\r\n if (!(!!quantidade)) {\r\n resolve({ error: \"A quantidade do item não foi informado\" });\r\n }\r\n\r\n if (!(!!aliquotaICMSST)) {\r\n resolve({ error: \"A alíquota do ICMS não foi informada\" });\r\n }\r\n\r\n if (!(!!mva)) {\r\n resolve({ error: \"O MVA não foi informado\" });\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport const calculoICMS = (valorItem, quantidadeItem, valorFrete, valorDespesas, valorIPI, valorDesconto, valorAcrescimo, reducaoICMS, aliquotaICMS) => {\r\n return new Promise(resolve => {\r\n if (!!valorItem && !!aliquotaICMS) {\r\n if (valorFrete < 0) {\r\n resolve({ error: \"Valor do frete não pode ser negativo\" });\r\n }\r\n if (valorDespesas < 0) {\r\n resolve({ error: \"Valor das despesas não pode ser negativo\" });\r\n }\r\n if (valorIPI < 0) {\r\n resolve({ error: \"Valor do IPI não pode ser negativo\" });\r\n }\r\n if (valorDesconto < 0) {\r\n resolve({ error: \"Valor do desconto não pode ser negativo\" });\r\n }\r\n if (reducaoICMS < 0) {\r\n resolve({ error: \"Valor do desconto não pode ser negativo\" });\r\n }\r\n if (valorItem < 0) {\r\n resolve({ error: \"Valor do item não pode ser negativo\" });\r\n }\r\n if (quantidadeItem <= 0) {\r\n resolve({ error: \"A quantidade do item não pode ser igual a zero\" });\r\n }\r\n if (aliquotaICMS < 0) {\r\n resolve({ error: \"A alíquota não pode ser negativa\" });\r\n }\r\n\r\n let resultadoBaseICMS = ((((valorItem * quantidadeItem) + valorFrete + valorDespesas + valorAcrescimo + parseFloat(valorIPI) - valorDesconto) * parseFloat(100 - reducaoICMS)) / 100).toFixed(2);\r\n let resultadoICMS = (((((valorItem * quantidadeItem) + valorFrete + valorDespesas + valorAcrescimo + parseFloat(valorIPI) - valorDesconto) * (100 - reducaoICMS) / 100) * aliquotaICMS) / 100).toFixed(2);\r\n\r\n resolve({ baseICMS: parseFloat(resultadoBaseICMS), ICMS: parseFloat(resultadoICMS) });\r\n } else {\r\n if (!(!!valorItem)) {\r\n resolve({ error: \"O valor do item não foi informado\" });\r\n }\r\n\r\n if (quantidadeItem == 0) {\r\n resolve({ error: \"A quantidade do item não foi informada\" });\r\n }\r\n\r\n if (!(!!aliquotaICMS)) {\r\n resolve({ error: \"A alíquota do ICMS não foi informada\" });\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport const calculoICMSDiferido = (valorICMSOperacao, percentualICMSDiferido) => {\r\n return new Promise(resolve => {\r\n if (!!valorICMSOperacao && !!percentualICMSDiferido) {\r\n if (valorICMSOperacao < 0) {\r\n resolve({ error: \"Valor do ICMS operação não pode ser negativo\" });\r\n }\r\n if (percentualICMSDiferido < 0) {\r\n resolve({ error: \"Valor do percentual do diferimento não pode ser negativo\" });\r\n }\r\n\r\n var resultadoICMSDiferido = ((valorICMSOperacao * parseFloat(percentualICMSDiferido)) / 100).toFixed(2);\r\n var resultadoICMSDevido = (valorICMSOperacao - resultadoICMSDiferido).toFixed(2);\r\n\r\n resolve({ valorICMSDiferido: parseFloat(resultadoICMSDiferido), ICMSDevido: parseFloat(resultadoICMSDevido) });\r\n } else {\r\n if (!(!!valorICMSOperacao)) {\r\n resolve({ error: \"O valor do ICMS operação não foi informado\" });\r\n }\r\n\r\n if (!(!!percentualICMSDiferido)) {\r\n resolve({ error: \"O percentual do ICMS diferido não foi informado\" });\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport const CalcularImpostoItem = (origemProduto, cst, csosn, ufOrigem, ufDestino, quantidadeItem, valorUnitario, valorFrete, valorOutros, valorDesconto, aliquotaIcms, percDiferimento,\r\n percReducaoIcms, aliquotaIcmsSt, percMva, percReducaoIcmsST, percMvaAjustado, aliquotaIpi, tipoPessoa, eConsumidorFinal, destinatarioTemIE,\r\n indicadorPresenca = 0, eProdutorRural = false, eOrgaoPublico = false) => {\r\n return new Promise(resolve => {\r\n var values = {\r\n orm_id: origemProduto,\r\n cso_id: csosn,\r\n cst_id: cst,\r\n uf_origem: ufOrigem,\r\n uf_destino: ufDestino,\r\n quantidade: quantidadeItem,\r\n vlr_unitario: valorUnitario,\r\n vlr_frete: valorFrete,\r\n vlr_outros: valorOutros,\r\n vlr_descontos: valorDesconto,\r\n aliquotaIcms: aliquotaIcms,\r\n percDiferimento: percDiferimento,\r\n percReducaoIcms: percReducaoIcms,\r\n aliquotaIcmsSt: aliquotaIcmsSt,\r\n percReducaoIcmsST: percReducaoIcmsST,\r\n percMva: percMva,\r\n percMvaAjustado: percMvaAjustado,\r\n aliquotaIpi: aliquotaIpi,\r\n emp_regimetributario: parseInt(getRegimeTributario()),\r\n ope_indicadorpresenca: indicadorPresenca,\r\n tipoPessoa: tipoPessoa,\r\n eConsumidorFinal: eConsumidorFinal,\r\n eOrgaoPublico: eOrgaoPublico,\r\n eProdutorRural: eProdutorRural,\r\n destinatarioTemIE: destinatarioTemIE\r\n };\r\n\r\n api.post(`CalculaImpostos/CalcularImpostoItem`, values).then(res => {\r\n if (res.status === 200) {\r\n resolve(res.data);\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n\r\n }\r\n );\r\n });\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Table, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, ArrowUpOutlined, ArrowDownOutlined } from \"@ant-design/icons\";\r\n\r\nimport { FiltroProdutoNfi } from \"../../components\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function TabItens({ form, dadosItens, dadosEndereco, dadosOperacao, dadosContribuinte, dadosVendedor, carregarPagina }) {\r\n\r\n const [quantidadeItens, setQuantidadeItens] = useState(0);\r\n const [valorTotal, setValorTotal] = useState(0);\r\n const [editando, setEditando] = useState(false);\r\n const [dadosEditando, setDadosEditando] = useState({});\r\n\r\n useEffect(() => {\r\n if (dadosItens.dadosItens.length > 0) {\r\n let total = 0;\r\n let totalSt = 0;\r\n setQuantidadeItens(dadosItens.dadosItens.length);\r\n dadosItens.dadosItens.forEach((item) => {\r\n total += parseFloat(item.total);\r\n totalSt += parseFloat(item.nfi_valoricmsst);\r\n });\r\n form.setFieldsValue({ valorTotalSt: totalSt });\r\n setValorTotal(total);\r\n } else {\r\n setQuantidadeItens(0);\r\n setValorTotal(0);\r\n }\r\n }, [dadosItens.dadosItens]);\r\n\r\n function editarItemNota(registro) {\r\n console.log(\"Clicou no Editar:\", registro);\r\n setDadosEditando(registro);\r\n setEditando(true);\r\n };\r\n\r\n function removerItemNota(record, indice) {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: 'Deseja remover o item da nota?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let dadosTemp = [...dadosItens.dadosItens];\r\n let dadosRet = dadosTemp.filter((item) => item.nfi_numeroitem !== record.nfi_numeroitem);\r\n dadosItens.setDadosItens(dadosRet);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {!!dadosItens.dadosItens && dadosItens.dadosItens.length > 0 &&\r\n (\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {nfi_ean}\r\n \r\n \r\n Grade: {grade}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'CFOP',\r\n align: 'center',\r\n width: '4%',\r\n fixed: 'left',\r\n render: ({ nfi_cfop }) => (\r\n
\r\n {nfi_cfop}\r\n
\r\n ),\r\n },\r\n {\r\n title: `${dadosContribuinte.emp_regimetributario === 1 ? 'CSOSN' : 'CST'}`,\r\n align: 'center',\r\n width: '5%',\r\n fixed: 'left',\r\n render: ({ cst_id, cso_id }) => (\r\n
\r\n
\r\n {dadosContribuinte.emp_regimetributario === 1 ? cso_id : cst_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: '7%',\r\n align: 'right',\r\n fixed: 'left',\r\n render: ({ nfi_qtde }) => (\r\n
\r\n {FormatNumber(nfi_qtde, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: '8%',\r\n fixed: 'left',\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desc.',\r\n align: 'right',\r\n width: '5%',\r\n render: ({ percdesc }) => (\r\n
\r\n {percdesc}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Acres.',\r\n align: 'right',\r\n width: '5%',\r\n render: ({ percacresc }) => (\r\n
\r\n {percacresc}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Frete',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ nfi_valorfrete }) => (\r\n
\r\n {FormatNumber(nfi_valorfrete, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Bc. Icms',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ impostos }) => (\r\n
\r\n {FormatNumber(impostos?.retornoICMS?.ret_baseIcms, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: '% Icms',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ impostos }) => (\r\n
\r\n {FormatNumber(impostos?.retornoICMS?.ret_aliquotaIcms, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Icms',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ impostos }) => (\r\n
\r\n {FormatNumber(impostos?.retornoICMS?.ret_valorIcms, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Bc. ST',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ impostos }) => (\r\n
\r\n {FormatNumber(impostos?.retornoICMSST?.ret_baseIcmsSt, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: '% ST',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ impostos }) => (\r\n
\r\n {FormatNumber(impostos?.retornoICMSST?.ret_aliquotaIcmsSt, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr ST',\r\n align: 'right',\r\n width: '6%',\r\n render: ({ impostos }) => (\r\n
\r\n {FormatNumber(impostos?.retornoICMSST?.ret_valorIcmsSt, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: '8%',\r\n fixed: 'right',\r\n render: ({ total }) => (\r\n
\r\n {FormatNumber(total, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: '6%',\r\n fixed: 'right',\r\n render: (record, e, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n // Bc. Icms: {impostos.retornoICMS.ret_baseIcms}\r\n // \r\n // \r\n // Alq. Icms: {impostos.retornoICMS.ret_aliquotaIcms}%\r\n // \r\n // \r\n // Vlr. Icms: {impostos.retornoICMS.ret_valorIcms}\r\n // \r\n // \r\n // \r\n // Bc. Icms ST: {impostos.retornoICMSST.ret_baseIcmsSt}\r\n // \r\n // \r\n // Alq. ST: {impostos.retornoICMSST.ret_aliquotaIcmsSt}%\r\n // \r\n // \r\n // Vlr. ST: {impostos.retornoICMSST.ret_valorIcmsSt}\r\n // \r\n // \r\n // \r\n // Bc. Ipi: {impostos.retornoIPI.ret_baseIpi}\r\n // \r\n // \r\n // Alq. Ipi: {impostos.retornoIPI.ret_aliquotaIpi}%\r\n // \r\n // \r\n // Vlr. Ipi: {impostos.retornoIPI.ret_valorIpi}\r\n // \r\n // \r\n // ,\r\n // expandIcon: ({ expanded, onExpand, record }) =>\r\n // expanded ? (\r\n // onExpand(record, e)} />\r\n // ) : (\r\n // onExpand(record, e)} />\r\n // )\r\n // }}\r\n scroll={{\r\n x: 1500,\r\n y: 300,\r\n }} />}\r\n \r\n
\r\n \r\n
\r\n Quantidade Itens:\r\n \r\n \r\n {quantidadeItens}\r\n \r\n \r\n \r\n \r\n Valor Total dos Itens (R$):\r\n \r\n \r\n {FormatNumber(valorTotal, true)}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Tabs, Radio, Select, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { TabVeiculo, TabVolumes, TabValores } from './index';\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function TabTransporte({ form, veiculos, dadosTransp }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [mostrarTransportador, setMostrarTransportador] = useState(true);\r\n const [possuiTransportador, setPossuiTransportador] = useState(false);\r\n const [listaTransportadores, setListaTransportadores] = useState([]);\r\n const [dadosVeiculos, setDadosVeiculos] = useState({});\r\n\r\n useEffect(() => {\r\n buscarTransportadores();\r\n if (!!form.getFieldValue().trv_id && !!form.getFieldValue().trn_id) {\r\n setPossuiTransportador(true);\r\n }\r\n if (form.getFieldValue().ntf_modalidadefrete === 9) {\r\n setMostrarTransportador(false);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue().trn_id) {\r\n buscarDadosTransp(form.getFieldValue().trn_id);\r\n }\r\n }, [listaTransportadores]);\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue().trv_id) {\r\n popularDadosVeiculo(form.getFieldValue().trv_id);\r\n }\r\n }, [veiculos.listaVeiculos]);\r\n\r\n function alterarFrete(event) {\r\n if (event.target.value === 9) {\r\n form.setFieldsValue({ trn_id: null });\r\n form.setFieldsValue({ trv_id: null });\r\n form.setFieldsValue({ valorFrete: null });\r\n form.setFieldsValue({ valorSeguro: null });\r\n form.setFieldsValue({ trv_placa: null });\r\n form.setFieldsValue({ trv_uf: null });\r\n form.setFieldsValue({ trv_rntc: null });\r\n form.setFieldsValue({ trv_modelo: null });\r\n form.setFieldsValue({ trv_marca: null });\r\n form.setFieldsValue({ trv_observacao: null });\r\n form.setFieldsValue({ nvl_qtdevolumes: null });\r\n form.setFieldsValue({ nvl_especievolume: null });\r\n form.setFieldsValue({ nvl_numeracaovolume: null });\r\n form.setFieldsValue({ nvl_marcavolume: null });\r\n form.setFieldsValue({ nvl_pesoliquido: null });\r\n form.setFieldsValue({ nvl_pesobruto: null });\r\n setDadosVeiculos({});\r\n setMostrarTransportador(false);\r\n } else {\r\n setMostrarTransportador(true);\r\n }\r\n };\r\n\r\n function buscarTransportadores() {\r\n api.get('Transportador/ListarTodos?filtro=').then(\r\n (res) => {\r\n setListaTransportadores(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n async function buscarDadosTransp(trn_id) {\r\n if (!!trn_id) {\r\n await api.get(`Transportador/BuscarTransportador/${trn_id}`).then(\r\n res => {\r\n if (res.status === 200){\r\n dadosTransp.setDadosTransp(res.data);\r\n veiculos.setListaVeiculos(res.data.veiculos);\r\n setPossuiTransportador(true);\r\n }\r\n }\r\n ).catch( error => {\r\n console.log(error);\r\n notification.warning({message: 'Aviso!', description: 'Erro ao buscar dados do transportador!'});\r\n })\r\n } else {\r\n setPossuiTransportador(false);\r\n }\r\n };\r\n\r\n function popularDadosVeiculo(trv_id) {\r\n let veiculo = veiculos.listaVeiculos.filter((veiculo) => (veiculo.trv_id === trv_id))[0];\r\n setDadosVeiculos(veiculo);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n { alterarFrete(dados) }}>\r\n 0 - Contratação do Frete por conta do Remetente (CIF)\r\n 1 - Contratação do Frete por conta do Destinatário (FOB)\r\n 2 - Contratação do Frete por conta de Terceiros\r\n 3 - Transporte Próprio por conta do Remetente\r\n 4 - Transporte Próprio por conta do Destinatário\r\n 9 - Sem Frete\r\n \r\n \r\n \r\n \r\n {mostrarTransportador && \r\n \r\n \r\n buscarDadosTransp(dados)} conteudo={\r\n tp => ({tp.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(possuiTransportador && mostrarTransportador) &&
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
}\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Typography, Row, Col, Form, Divider, Input } from \"antd\";\r\n\r\nexport default function TabVeiculo({ form, dadosVeiculos }) {\r\n\r\n useEffect(() => {\r\n if (!!dadosVeiculos) {\r\n form.setFieldsValue({ trv_placa: dadosVeiculos.trv_placa });\r\n form.setFieldsValue({ trv_uf: dadosVeiculos.trv_uf });\r\n form.setFieldsValue({ trv_rntc: dadosVeiculos.trv_rntc });\r\n form.setFieldsValue({ trv_modelo: dadosVeiculos.trv_modelo });\r\n form.setFieldsValue({ trv_marca: dadosVeiculos.trv_marca });\r\n form.setFieldsValue({ trv_observacao: dadosVeiculos.trv_observacao });\r\n }\r\n }, [dadosVeiculos]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Veículo\" Veículo\r\n \r\n Informe abaixo os dados do Veículo utilizado para o transporte. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Typography, Row, Col, Form, Divider, InputNumber, Input } from \"antd\";\r\n\r\nexport default function TabVolumes() {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Volumes Volumes Transportados\r\n \r\n Informe os volumes transportados. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ` ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n parser={value => value.replace(/\\$\\s?|(,*)/g, '')}\r\n />\r\n \r\n \r\n \r\n \r\n ` ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n parser={value => value.replace(/\\$\\s?|(,*)/g, '')}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Typography, Row, Col, Divider } from \"antd\";\r\n\r\nimport { InputPreco } from \"../../components\";\r\n\r\nexport default function TabValores() {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Valores\" Valores\r\n \r\n Informe os valores do transporte. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { Modal, notification, Row } from \"antd\";\r\nimport { func } from \"prop-types\";\r\nimport { getEmpresa, getIdUsuario, getLocal, getToken, linkApi } from \"./auth\";\r\nimport moment from 'moment';\r\nimport api from \"./api\";\r\n\r\nexport const calculaDigitoVerificadorEAN = (numeroEan) => {\r\n var multiplicador = [1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3];\r\n var somaEAN = 0;\r\n var divisao = 0;\r\n var divisaoArredondada = 0;\r\n var resultado = 0;\r\n var digitoVerificador;\r\n var Ean = numeroEan.toString();\r\n for (var i = 0; i < 12; i++) {\r\n somaEAN += Ean[i] * multiplicador[i];\r\n };\r\n\r\n divisao = somaEAN / 10;\r\n divisaoArredondada = Math.floor(divisao) + 1;\r\n resultado = divisaoArredondada * 10;\r\n digitoVerificador = resultado - somaEAN;\r\n if (digitoVerificador > 9) {\r\n digitoVerificador = 0;\r\n }\r\n return digitoVerificador;\r\n};\r\n\r\nexport const validaForm = (formulario, listaValidacoes) => {\r\n let retorno = false;\r\n if (!!formulario && !!listaValidacoes) {\r\n let formObj = formulario.getFieldValue();\r\n let msgRetorno = [];\r\n listaValidacoes.forEach((validacao) => {\r\n if (validacao.obrigatorio && (!!formObj[validacao.nome] === false && formObj[validacao.nome] !== 0)) {\r\n msgRetorno.push('O campo ' + validacao.label + ' é obrigatório!');\r\n }\r\n });\r\n if (msgRetorno.length > 0) {\r\n msgRetorno.forEach((msg) =>\r\n notification.warning({ message: 'Aviso', description: msg })\r\n );\r\n } else {\r\n retorno = true;\r\n }\r\n }\r\n return retorno;\r\n};\r\n\r\nexport const encodeBase64 = (data) => {\r\n return Buffer.from(data).toString('base64');\r\n}\r\n\r\nexport const decodeBase64 = (data, type = 'ascii') => {\r\n return Buffer.from(data, 'base64').toString(type);;\r\n}\r\n\r\nexport const parseToken = (token) => {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(decodeBase64(base64).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n\r\n return JSON.parse(jsonPayload);\r\n};\r\n\r\nexport function diferencaDatas(dataInicial, dataFinal = new Date()) {\r\n var d1 = new Date(dataInicial).getTime();\r\n var d2 = new Date(dataFinal).getTime();\r\n var df = Math.abs(d1 - d2);\r\n return Math.round(df / (24 * 60 * 60 * 1000));\r\n};\r\n\r\nexport function compararDatas(dataInicial, dataFinal, operacao = '>=') {\r\n dataFinal = (!!dataFinal) ? dataFinal : new Date();\r\n dataInicial = new Date(dataInicial);\r\n dataFinal = new Date(dataFinal);\r\n dataInicial.setHours(0, 0, 0, 0);\r\n dataFinal.setHours(0, 0, 0, 0);\r\n dataInicial = dataInicial.getTime();\r\n dataFinal = dataFinal.getTime();\r\n let validacao = false;\r\n switch (operacao) {\r\n case '=':\r\n validacao = dataInicial === dataFinal;\r\n break;\r\n case '>':\r\n validacao = dataInicial > dataFinal;\r\n break;\r\n case '<':\r\n validacao = dataInicial < dataFinal;\r\n break;\r\n case '>=':\r\n validacao = dataInicial >= dataFinal;\r\n break;\r\n case '<=':\r\n validacao = dataInicial <= dataFinal;\r\n break;\r\n }\r\n\r\n return validacao;\r\n};\r\nexport const isDate = (date) => {\r\n const _regExp = new RegExp('^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?$');\r\n return _regExp.test(date);\r\n};\r\n\r\nexport function validarNumeros(valor) {\r\n let numero = 0;\r\n\r\n if (!!valor && !isNaN(parseFloat(valor))) {\r\n numero = parseFloat(valor);\r\n }\r\n return numero;\r\n};\r\n\r\nexport function validarDadosObj(dados) {\r\n let retorno = {};\r\n let valido = false;\r\n if (!!dados) {\r\n for (let key in dados) {\r\n if (!!dados[key]) {\r\n valido = true;\r\n }\r\n }\r\n if (valido) {\r\n retorno = dados;\r\n }\r\n }\r\n return retorno;\r\n};\r\n\r\nexport function validarCpf(cpf) {\r\n if (cpf !== '') {\r\n cpf = cpf.replace(/[^\\d]+/g, '');\r\n\r\n if (cpf.length !== 11 ||\r\n cpf === \"00000000000\" ||\r\n cpf === \"11111111111\" ||\r\n cpf === \"22222222222\" ||\r\n cpf === \"33333333333\" ||\r\n cpf === \"44444444444\" ||\r\n cpf === \"55555555555\" ||\r\n cpf === \"66666666666\" ||\r\n cpf === \"77777777777\" ||\r\n cpf === \"88888888888\" ||\r\n cpf === \"99999999999\") {\r\n return false;\r\n }\r\n\r\n let add = 0;\r\n let i;\r\n for (i = 0; i < 9; i++)\r\n add += parseInt(cpf.charAt(i)) * (10 - i);\r\n let rev = 11 - (add % 11);\r\n if (rev === 10 || rev === 11)\r\n rev = 0;\r\n if (rev !== parseInt(cpf.charAt(9))) {\r\n return false;\r\n }\r\n\r\n add = 0;\r\n for (i = 0; i < 10; i++)\r\n add += parseInt(cpf.charAt(i)) * (11 - i);\r\n rev = 11 - (add % 11);\r\n if (rev === 10 || rev === 11)\r\n rev = 0;\r\n if (rev !== parseInt(cpf.charAt(10))) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n};\r\n\r\nexport function validarCnpj(cnpj) {\r\n if (cnpj !== '') {\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n\r\n if (cnpj.length !== 14) {\r\n return false;\r\n }\r\n\r\n // Elimina CNPJs invalidos conhecidos\r\n if (cnpj === \"00000000000000\" ||\r\n cnpj === \"11111111111111\" ||\r\n cnpj === \"22222222222222\" ||\r\n cnpj === \"33333333333333\" ||\r\n cnpj === \"44444444444444\" ||\r\n cnpj === \"55555555555555\" ||\r\n cnpj === \"66666666666666\" ||\r\n cnpj === \"77777777777777\" ||\r\n cnpj === \"88888888888888\" ||\r\n cnpj === \"99999999999999\") {\r\n return false;\r\n }\r\n\r\n // Valida DVs\r\n var tamanho = cnpj.length - 2\r\n var numeros = cnpj.substring(0, tamanho);\r\n var digitos = cnpj.substring(tamanho);\r\n var soma = 0;\r\n var pos = tamanho - 7;\r\n var i;\r\n for (i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2)\r\n pos = 9;\r\n }\r\n\r\n var resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\r\n if (resultado != digitos.charAt(0)) {\r\n return false;\r\n }\r\n\r\n tamanho = tamanho + 1;\r\n numeros = cnpj.substring(0, tamanho);\r\n soma = 0;\r\n pos = tamanho - 7;\r\n for (i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2)\r\n pos = 9;\r\n }\r\n\r\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\r\n if (resultado != digitos.charAt(1)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n};\r\n\r\nexport function formatarCpf(cpf) {\r\n let valor = '';\r\n if (!!cpf && cpf !== '') {\r\n valor = cpf.slice(0, 3) + '.' + cpf.slice(3, 6) + '.' + cpf.slice(6, 9) + '-' + cpf.slice(9, 11);\r\n }\r\n return valor;\r\n};\r\n\r\nexport function formatarCnpj(cnpj) {\r\n let valor = '';\r\n if (!!cnpj && cnpj != '') {\r\n valor = cnpj.valor.slice(0, 2) + '.' + cnpj.valor.slice(2, 5) + '.' + cnpj.valor.slice(5, 8) + '/' + cnpj.valor.slice(8, 12) + '-' + cnpj.valor.slice(12, 15);\r\n }\r\n return valor;\r\n};\r\n\r\nexport const getBase64 = file => {\r\n return new Promise(resolve => {\r\n let baseURL = \"\";\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = () => {\r\n baseURL = reader.result;\r\n resolve(baseURL);\r\n };\r\n });\r\n};\r\n\r\nexport function novaAbaNavegador(caminho) {\r\n return window.open(linkApi + caminho, '_blank');\r\n};\r\n\r\nexport function isObjetoDiffVazio(obj = {}) {\r\n let valido = false;\r\n\r\n if (typeof obj === 'object') {\r\n if (!!obj && JSON.stringify(obj) !== '{}') {\r\n valido = true;\r\n }\r\n }\r\n return valido;\r\n};\r\n\r\nexport function retornaValorPorExtenso(valor) {\r\n\r\n var ex = [\r\n [\"zero\", \"um\", \"dois\", \"três\", \"quatro\", \"cinco\", \"seis\", \"sete\", \"oito\", \"nove\", \"dez\", \"onze\", \"doze\", \"treze\", \"quatorze\", \"quinze\", \"dezesseis\", \"dezessete\", \"dezoito\", \"dezenove\"],\r\n [\"dez\", \"vinte\", \"trinta\", \"quarenta\", \"cinquenta\", \"sessenta\", \"setenta\", \"oitenta\", \"noventa\"],\r\n [\"cem\", \"cento\", \"duzentos\", \"trezentos\", \"quatrocentos\", \"quinhentos\", \"seiscentos\", \"setecentos\", \"oitocentos\", \"novecentos\"],\r\n [\"mil\", \"milhão\", \"bilhão\", \"trilhão\", \"quadrilhão\", \"quintilhão\", \"sextilhão\", \"setilhão\", \"octilhão\", \"nonilhão\", \"decilhão\", \"undecilhão\", \"dodecilhão\", \"tredecilhão\", \"quatrodecilhão\", \"quindecilhão\", \"sedecilhão\", \"septendecilhão\", \"octencilhão\", \"nonencilhão\"]\r\n ];\r\n valor = valor.toString().replace('.', ',');\r\n var a, n, v, i, n = valor.toString().replace(valor ? /[^,\\d]/g : /\\D/g, \"\").split(\",\"), e = \" e \", $ = \"real\", d = \"centavo\", sl;\r\n for (var f = n.length - 1, l, j = -1, r = [], s = [], t = \"\"; ++j <= f; s = []) {\r\n j && (n[j] = ((\".\" + n[j]) * 1).toFixed(2).slice(2));\r\n if (!(a = (v = n[j]).slice((l = v.length) % 3).match(/\\d{3}/g), v = l % 3 ? [v.slice(0, l % 3)] : [], v = a ? v.concat(a) : v).length) continue;\r\n for (a = -1, l = v.length; ++a < l; t = \"\") {\r\n if (!(i = v[a] * 1)) continue;\r\n i % 100 < 20 && (t += ex[0][i % 100]) ||\r\n i % 100 + 1 && (t += ex[1][(i % 100 / 10 >> 0) - 1] + (i % 10 ? e + ex[0][i % 10] : \"\"));\r\n s.push((i < 100 ? t : !(i % 100) ? ex[2][i == 100 ? 0 : i / 100 >> 0] : (ex[2][i / 100 >> 0] + e + t)) +\r\n ((t = l - a - 2) > -1 ? \" \" + (i > 1 && t > 0 ? ex[3][t].replace(\"?o\", \"?es\") : ex[3][t]) : \"\"));\r\n }\r\n a = ((sl = s.length) > 1 ? (a = s.pop(), s.join(\" \") + e + a) : s.join(\"\") || ((!j && (n[j + 1] * 1 > 0) || r.length) ? \"\" : ex[0][0]));\r\n a && r.push(a + (valor ? (\" \" + (v.join(\"\") * 1 > 1 ? j ? d + \"s\" : (/0{6,}$/.test(n[0]) ? \"de \" : \"\") + $.replace(\"l\", \"is\") : j ? d : $)) : \"\"));\r\n }\r\n return r.join(e);\r\n};\r\n\r\nexport function info(mensagem, titulo = null) {\r\n Modal.info({\r\n title: (!!titulo ? titulo : 'Atenção!'),\r\n content: (\r\n
\r\n

\r\n {mensagem}\r\n

\r\n
\r\n ),\r\n });\r\n};\r\n\r\nexport function substituirCaracterEspecial(str) {\r\n str = str.replace('ç', 'c');\r\n str = str.replace('Ç', 'C');\r\n str = str.replace('á', 'a');\r\n str = str.replace('Á', 'A');\r\n str = str.replace('À', 'A');\r\n str = str.replace('à', 'a');\r\n str = str.replace('É', 'E');\r\n str = str.replace('é', 'e');\r\n str = str.replace('ó', 'o');\r\n str = str.replace('Ó', 'o');\r\n str = str.replace('í', 'i');\r\n str = str.replace('Í', 'i');\r\n str = str.replace('ñ', 'n');\r\n str = str.replace('Ñ', 'n');\r\n str = str.replace('ã', 'a');\r\n str = str.replace('Ã', 'A');\r\n str = str.replace('õ', 'o');\r\n str = str.replace('Õ', 'O');\r\n str = str.replace('ú', 'u');\r\n str = str.replace('Ú', 'U');\r\n str = str.replace('â', 'a');\r\n str = str.replace('Â', 'A');\r\n str = str.replace('ê', 'e');\r\n str = str.replace('Ê', 'E');\r\n str = str.replace('ô', 'o');\r\n str = str.replace('Ô', 'O');\r\n return str;\r\n\r\n};\r\n\r\nexport function retornaObjeto(listaObj) {\r\n var objRetorno = {};\r\n for (var i = 0; i < listaObj.length; i++) {\r\n for (var attrname in listaObj[i]) {\r\n objRetorno[attrname] = listaObj[i][attrname];\r\n }\r\n }\r\n return objRetorno;\r\n}\r\n\r\nexport var delay = (function () {\r\n var timer = 0;\r\n return function (callback, ms) {\r\n clearTimeout(timer);\r\n timer = setTimeout(callback, ms);\r\n };\r\n})();\r\n\r\n\r\nexport function textoAleatorio(tamanho) {\r\n var aleatorio = '';\r\n if (!!tamanho) {\r\n var letras = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n for (var i = 0; i < tamanho; i++) {\r\n var rnum = Math.floor(Math.random() * letras.length);\r\n aleatorio += letras.substring(rnum, rnum + 1);\r\n }\r\n }\r\n return aleatorio;\r\n};\r\n\r\nexport async function consultaCNPJ(cnpj) {\r\n cnpj = cnpj.replace(/\\D/g, '');\r\n\r\n return jsonp(`https://www.receitaws.com.br/v1/cnpj/${encodeURI(cnpj)}`, 60000)\r\n .then((json) => {\r\n if (json['status'] === 'ERROR') {\r\n return Promise.reject(json['message']);\r\n } else {\r\n return Promise.resolve(json);\r\n }\r\n });\r\n};\r\n\r\nexport function jsonp(url, timeout) {\r\n const func = 'jsonp_' + Math.random().toString(36).substr(2, 5);\r\n\r\n return new Promise(function (resolve, reject) {\r\n let script = document.createElement('script');\r\n\r\n let timer = setTimeout(() => {\r\n reject('Tempo limite atingido');\r\n document.body.removeChild(script);\r\n }, timeout);\r\n\r\n window[func] = (json) => {\r\n clearTimeout(timer);\r\n resolve(json);\r\n document.body.removeChild(script);\r\n delete window[func];\r\n };\r\n script.src = url + '?callback=' + encodeURI(func);\r\n document.body.appendChild(script);\r\n });\r\n};\r\n\r\nexport const retornaSoNumeros = (valor) => {\r\n return valor.replace(/\\D/g, \"\");\r\n};\r\n\r\nexport const retornaSoLetras = (valor) => {\r\n return valor.replace(/[^a-zA-Z]/g, '');\r\n};\r\n\r\nexport const trataRetornoFormularioDinamico = (values, elemento) => {\r\n if (!!Date.parse(values[elemento.cap_nomeelemento]) && typeof values[elemento.cap_nomeelemento] === \"object\" && values[elemento.cap_nomeelemento].toString().length > 30) {\r\n values[elemento.cap_nomeelemento] = moment(values[elemento.cap_nomeelemento])\r\n } else if (typeof values[elemento.cap_nomeelemento] === \"object\") {\r\n values[elemento.cap_nomeelemento] = values[elemento.cap_nomeelemento]?.join(',')\r\n }\r\n return values;\r\n};\r\n\r\nexport const trataSetaDadosFormularioDinamico = (formulario, elemento, valor) => {\r\n switch (elemento.cap_tipoelemento) {\r\n case 'dataPicker':\r\n valor = moment(valor, \"YYYY/MM/DD\");\r\n break;\r\n case 'checkbox':\r\n valor = JSON.parse(valor);\r\n break;\r\n };\r\n formulario.setFieldsValue({ [elemento.cap_nomeelemento]: valor });\r\n return true;\r\n};\r\n\r\nexport const parseBool = valor => {\r\n switch (valor) {\r\n case true:\r\n case \"true\":\r\n case 1:\r\n case \"1\":\r\n case \"on\":\r\n case \"yes\":\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\nexport const arredonda = (valor, casasDec = 2, retorno) => {\r\n if (typeof valor === 'number') {\r\n valor = valor.toFixed(casasDec);\r\n } else if (typeof valor === 'string') {\r\n valor = parseFloat(valor).toFixed(casasDec);\r\n } else {\r\n console.log('Valor informado não identificado! Favor informar um valor valido (Number,String)');\r\n return '';\r\n }\r\n if (retorno === 'number') {\r\n valor = parseFloat(valor);\r\n }\r\n\r\n return valor;\r\n};\r\n\r\nexport const removerCarcaterEspecial = (valor) => {\r\n valor = valor?.replaceAll(/[^a-zA-Z 0-9]+/g, '');\r\n return valor;\r\n};\r\n\r\nexport const validarImportacao = (dados, entidade) => {\r\n if (dados.possuiErro) {\r\n Modal.error({\r\n title: `${entidade} não importado, favor verificar a planilha!`,\r\n content: (\r\n <>\r\n {!!dados.campo && Coluna: {dados.campo}.}\r\n Linha: {dados.linha}.\r\n {dados.mensagem}\r\n ),\r\n });\r\n } else {\r\n notification.success({ description: `${entidade} importado com sucesso!`, message: 'Aviso' });\r\n }\r\n\r\n};\r\n\r\nexport const imprimirRelatorioJasper = (idRelatorio, parametros = {}) => {\r\n api.get(`RelatorioJasper/BuscarRelatorio/${idRelatorio}`).then(\r\n res => {\r\n let dadosRel = res.data;\r\n let filtro = [];\r\n let params = [\r\n { \"nome\": \"empresaLogado\", \"valor\": getEmpresa() },\r\n { \"nome\": \"localLogado\", \"valor\": getLocal() },\r\n { \"nome\": \"usuarioLogado\", \"valor\": getIdUsuario() }\r\n ];\r\n dadosRel.relatorioParametro.forEach((param) => {\r\n if (!!!parametros[param.rpj_nomeelemento]) {\r\n if (!!param.rpj_obrigatorio) {\r\n notification.warn({ message: \"Parâmetro não preenchido!\", description: `O parâmetro ${param.rpj_label} não foi preenchido!` });\r\n return;\r\n }\r\n } else {\r\n params.push({ \"nome\": param.rpj_nomeelemento, \"valor\": parametros[param.rpj_nomeelemento] });\r\n filtro.push(`${param.rpj_label}: ${parametros[param.rpj_nomeelemento]}`);\r\n }\r\n });\r\n params.push({ \"nome\": \"filtros\", \"valor\": filtro.join(', ') });\r\n let dados = {};\r\n dados.pathRelatorio = dadosRel.rel_nomearquivo;\r\n dados.parametros = JSON.stringify(params).replaceAll(\"\\\"\", \"'\");\r\n dados.tipo = \"PDF\";\r\n dados.nomeRelatorio = dadosRel.rel_descricao;\r\n api.post(`RelatorioJasper/RetornaDadosRelatorios`, dados).then(\r\n res => {\r\n let byteCharacters = decodeBase64(res.data, 'latin1');\r\n let byteNumbers = new Array(byteCharacters.length);\r\n for (let i = 0; i < byteCharacters.length; i++) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n let byteArray = new Uint8Array(byteNumbers);\r\n let file = new Blob([byteArray], { type: 'application/pdf;base64' });\r\n let fileURL = URL.createObjectURL(file);\r\n window.open(fileURL);\r\n }\r\n ).catch(\r\n erro => {\r\n console.error(erro);\r\n }\r\n );\r\n }\r\n ).catch(\r\n erro =>\r\n console.error(erro)\r\n );\r\n};\r\n\r\nexport const isNotNullOrEmpty = (registro) => {\r\n let retorno = false;\r\n if (!!registro || registro === 0) {\r\n retorno = true;\r\n }\r\n return retorno;\r\n};\r\n\r\nexport function calculaValorProporcional(valorUnitario,valorRatear,valorTotal) {\r\n if (valorUnitario > 0 && valorRatear > 0 && valorTotal > 0){\r\n return parseFloat(((valorUnitario * valorRatear) / valorTotal).toFixed(2));\r\n }\r\n return 0;\r\n};\r\n\r\nexport function validarEan(eanCodigo) {\r\n if (!!eanCodigo) {\r\n let fator = 3;\r\n let sum = 0;\r\n let cc = 0;\r\n let ca = 0;\r\n let numlen = eanCodigo.length;\r\n let index = 0;\r\n if (numlen == 13) {\r\n for (index = numlen; index > 0; --index) {\r\n if (index != 13) {\r\n sum = sum + eanCodigo.substring(index - 1, index) * fator;\r\n fator = 4 - fator;\r\n }\r\n }\r\n cc = ((1000 - sum) % 10);\r\n ca = eanCodigo.substring(12);\r\n if (cc == ca) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n if (numlen == 14) {\r\n for (index = eanCodigo.length; index > 0; --index) {\r\n if (index != 14) {\r\n sum = sum + eanCodigo.substring(index - 1, index) * fator;\r\n fator = 4 - fator;\r\n }\r\n }\r\n cc = ((1000 - sum) % 10);\r\n ca = eanCodigo.substring(13);\r\n if (cc == ca) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n if (numlen == 8) {\r\n for (index = eanCodigo.length; index > 0; --index) {\r\n if (index != 8) {\r\n sum = sum + eanCodigo.substring(index - 1, index) * fator;\r\n fator = 4 - fator;\r\n }\r\n }\r\n cc = ((1000 - sum) % 10);\r\n ca = eanCodigo.substring(7);\r\n if (cc == ca) {\r\n return true\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n if (((numlen != 8) && (numlen != 13) && (numlen != 14) && (numlen != 0))) {\r\n return false;\r\n }\r\n } else {\r\n return true;\r\n }\r\n\r\n \r\n};\r\n\r\n// ajustar tamanho e resolução de imagem base64, base64 string da imagem, width e height é a resolução da imagem, e por fim o tamanho maximo da imagem.\r\nexport async function ajustarTamanhoImagemBase64(base64String, maxWidth, maxHeight, maxSizeInBytes) {\r\n const img = new Image();\r\n img.src = base64String;\r\n await new Promise((resolve, reject) => {\r\n img.onload = () => {\r\n let width = img.width;\r\n let height = img.height;\r\n if (width > height) {\r\n if (width > maxWidth) {\r\n height *= maxWidth / width;\r\n width = maxWidth;\r\n }\r\n } else {\r\n if (height > maxHeight) {\r\n width *= maxHeight / height;\r\n height = maxHeight;\r\n }\r\n }\r\n const canvas = document.createElement('canvas');\r\n canvas.width = 1200;\r\n canvas.height = 1200;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(img, 1200, 1200, width, height);\r\n canvas.toBlob((blob) => {\r\n resolve(blob);\r\n }, 'image/jpeg', 1); // Qualidade da compressão (0.8 neste exemplo)\r\n };\r\n img.onerror = reject;\r\n });\r\n // Verifica o tamanho do blob\r\n const blob = await fetch(base64String).then((res) => res.blob());\r\n if (blob.size <= maxSizeInBytes) {\r\n return base64String; // Retorna se o tamanho já está dentro do limite\r\n }\r\n // Se o tamanho ainda for maior que o limite, reduz a qualidade da imagem\r\n const newQuality = 0.8; // Reduz a qualidade para alcançar o tamanho desejado\r\n //const newQuality = 0.6; // Reduz a qualidade para alcançar o tamanho desejado\r\n const compressedBase64 = await new Promise((resolve) => {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = img.width;\r\n canvas.height = img.height;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(img, 1200, 1200);\r\n canvas.toBlob((blob) => resolve(URL.createObjectURL(blob)), 'image/jpeg', newQuality);\r\n });\r\n return compressedBase64;\r\n}\r\n\r\n// Função para redimensionar e limitar o tamanho de uma imagem base64 em MB\r\nexport function resizeImageToMB(base64String, maxSizeInMB, maxWidth, maxHeight) {\r\n return new Promise((resolve, reject) => {\r\n const maxFileSize = maxSizeInMB * 1024 * 1024; // Tamanho máximo em bytes\r\n const imageQuality = 0.9; // Qualidade da imagem após compressão (0.7 é um valor de exemplo)\r\n let img = new Image();\r\n img.src = base64String;\r\n img.onload = function () {\r\n let canvas = document.createElement('canvas');\r\n let ctx = canvas.getContext('2d');\r\n const width = maxWidth;\r\n const height = maxHeight;\r\n canvas.width = width;\r\n canvas.height = height;\r\n ctx.drawImage(img, 0, 0, width, height);\r\n let compressedBase64 = canvas.toDataURL('image/jpeg', imageQuality);\r\n const base64FileSize = (compressedBase64.length * 0.75); // Calcula o tamanho em bytes\r\n if (base64FileSize > maxFileSize) {\r\n const scaleRatio = Math.sqrt(maxFileSize / base64FileSize);\r\n const scaledWidth = width * scaleRatio;\r\n const scaledHeight = height * scaleRatio;\r\n canvas.width = scaledWidth;\r\n canvas.height = scaledHeight;\r\n ctx.drawImage(img, 0, 0, scaledWidth, scaledHeight);\r\n compressedBase64 = canvas.toDataURL('image/jpeg', imageQuality);\r\n }\r\n resolve(compressedBase64); // Retorna a imagem redimensionada e limitada em MB como base64\r\n };\r\n img.onerror = function (error) {\r\n reject(error);\r\n };\r\n });\r\n }","export default __webpack_public_path__ + \"static/media/i-financeiro.04bd26bb.png\";","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Drawer } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined } from '@ant-design/icons';\r\nimport ManutencaoVendedor from '../../pages/vendedor/manutencao';\r\n\r\nexport default function DrawerVendedores({ form, exibirDrawerVendedores, fecharDrawerVendedores }) {\r\n const [carregando, setCarregando] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n const [pagina, setPagina] = useState(1);\r\n\r\n return (\r\n {\r\n form.resetFields();\r\n setPagina(1);\r\n fecharDrawerVendedores();\r\n }}\r\n onOk={() => form.submit()}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n );\r\n};","import { retornaSoLetras, retornaSoNumeros } from \"./funcoes\";\r\n\r\nexport const validarIE = (numeroInscricaoEstadual, ufEstado) => {\r\n let retornaIEValido = false;\r\n if(numeroInscricaoEstadual.toUpperCase() == \"ISENTO\"){\r\n return true;\r\n }\r\n if (!!numeroInscricaoEstadual && !!ufEstado) {\r\n switch (ufEstado) {\r\n case \"RS\":\r\n retornaIEValido = (ValidarInscricaoEstadualRS(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"SC\":\r\n retornaIEValido = (ValidarInscricaoEstadualSC(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"PR\":\r\n retornaIEValido = (ValidarInscricaoEstadualPR(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"SP\":\r\n retornaIEValido = (ValidarInscricaoEstadualSP(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"MG\":\r\n retornaIEValido = (ValidarInscricaoEstadualMG(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"RJ\":\r\n retornaIEValido = (ValidarInscricaoEstadualRJ(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"ES\":\r\n retornaIEValido = (ValidarInscricaoEstadualES(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"BA\":\r\n retornaIEValido = (ValidarInscricaoEstadualBA(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"SE\":\r\n retornaIEValido = (ValidarInscricaoEstadualSE(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"AL\":\r\n retornaIEValido = (ValidarInscricaoEstadualAL(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"PE\":\r\n retornaIEValido = (ValidarInscricaoEstadualPE(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"PB\":\r\n retornaIEValido = (ValidarInscricaoEstadualPB(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"RN\":\r\n retornaIEValido = (ValidarInscricaoEstadualRN(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"PI\":\r\n retornaIEValido = (ValidarInscricaoEstadualPI(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"MA\":\r\n retornaIEValido = (ValidarInscricaoEstadualMA(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"CE\":\r\n retornaIEValido = (ValidarInscricaoEstadualCE(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"GO\":\r\n retornaIEValido = (ValidarInscricaoEstadualGO(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"TO\":\r\n retornaIEValido = (ValidarInscricaoEstadualTO(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"MT\":\r\n retornaIEValido = (ValidarInscricaoEstadualMT(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"MS\":\r\n retornaIEValido = (ValidarInscricaoEstadualMS(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"DF\":\r\n retornaIEValido = (ValidarInscricaoEstadualDF(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"AM\":\r\n retornaIEValido = (ValidarInscricaoEstadualAM(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"AC\":\r\n retornaIEValido = (ValidarInscricaoEstadualAC(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"PA\":\r\n retornaIEValido = (ValidarInscricaoEstadualPA(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"RO\":\r\n retornaIEValido = (ValidarInscricaoEstadualRO(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"RR\":\r\n retornaIEValido = (ValidarInscricaoEstadualRR(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n case \"AP\":\r\n retornaIEValido = (ValidarInscricaoEstadualAP(numeroInscricaoEstadual)) ? true : false;\r\n return retornaIEValido;\r\n default:\r\n }\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\nexport const ValidarInscricaoEstadualRS = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n\r\n let pesosMultiplicador = [2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 10) {\r\n return false;\r\n }\r\n\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 9);\r\n let somaIE = 0;\r\n for (let i = 0; i < 9; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualSC = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n\r\n let resto = somaIE % 11;\r\n\r\n let digitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualPR = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 10) {\r\n return false;\r\n }\r\n let pesosMultiplicadorPrimeiro = [3, 2, 7, 6, 5, 4, 3, 2];\r\n let pesosMultiplicadorSegundo = [4, 3, 2, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let resto = somaIE % 11;\r\n let primeiroDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n\r\n somaIE = 0;\r\n resto = 0;\r\n let inscricaoEstadualComPrimeiroDigitoVerificador = inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador;\r\n for (let i = 0; i < 9; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigitoVerificador[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n resto = somaIE % 11;\r\n let segundoDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador + \"\" + segundoDigitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualSP = (numeroInscricao) => {\r\n let nNumero = numeroInscricao.substr(0, 1);\r\n let numeroInscricao_ = numeroInscricao;\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n\r\n if (numeroInscricao.length !== 12) {\r\n return false;\r\n }\r\n\r\n if (nNumero == \"P\") {\r\n\r\n let pesosMultiplicador = [1, 3, 4, 5, 6, 7, 8, 10];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = (resto > 9) ? 0 : resto;\r\n\r\n return numeroInscricao_ == (\"P\" + inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador + \"\" + numeroInscricao.substr(9, 3)) ? true : false;\r\n } else {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n let pesosMultiplicadorPrimeiro = [1, 3, 4, 5, 6, 7, 8, 10];\r\n let pesosMultiplicadorSegundo = [3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < inscricaoEstadualSemDigitoVerificador.length; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n\r\n let resto = somaIE % 11;\r\n let primeiroDigitoVerificador = (resto > 9) ? 0 : resto;\r\n let inscricaoEstadualComPrimeiroDigitoVerificador = inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador + \"\" + numeroInscricao.substr(9, 2);\r\n somaIE = 0;\r\n resto = 0;\r\n for (let i = 0; i < 11; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigitoVerificador[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n\r\n resto = somaIE % 11;\r\n let segundoDigitoVerificador = (resto > 9) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador + \"\" + numeroInscricao.substr(9, 2) + \"\" + segundoDigitoVerificador)) ? true : false;\r\n }\r\n};\r\n\r\nexport const ValidarInscricaoEstadualMG = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length > 13 && numeroInscricao.length < 11) {\r\n return false;\r\n }\r\n\r\n numeroInscricao = numeroInscricao.padStart(13, '0');\r\n let pesosMultiplicadorPrimeiro = [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2];\r\n let pesosMultiplicadorSegundo = [3, 2, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 3) + \"0\" + numeroInscricao.substr(3, 8);\r\n let somaIE = 0;\r\n let listaDigitosValorMultiplicacao = [];\r\n for (let i = 0; i < 12; i++) {\r\n let valorMultiplicacao = inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n listaDigitosValorMultiplicacao.push(valorMultiplicacao);\r\n }\r\n for (let x = 0; x < listaDigitosValorMultiplicacao.length; x++) {\r\n let numero = listaDigitosValorMultiplicacao[x].toString();\r\n if (numero.length > 1) {\r\n let valor1 = numero.substr(0, 1);\r\n let valor2 = numero.substr(1, 1);\r\n numero = parseInt(valor1) + parseInt(valor2);\r\n }\r\n somaIE += parseInt(numero);\r\n }\r\n let primeiraDezenaExata = 0;\r\n\r\n if (somaIE % 10 != 0) {\r\n let somaIEString = somaIE.toString();\r\n primeiraDezenaExata = somaIEString.substr(0, 1);\r\n primeiraDezenaExata = parseInt(primeiraDezenaExata) + 1;\r\n primeiraDezenaExata = primeiraDezenaExata.toString() + 0;\r\n primeiraDezenaExata = parseInt(primeiraDezenaExata);\r\n } else {\r\n primeiraDezenaExata = somaIE;\r\n }\r\n\r\n primeiraDezenaExata = (somaIE < 10) ? 10 : primeiraDezenaExata;\r\n\r\n let primeiroDigitoVerificador = primeiraDezenaExata - somaIE;\r\n\r\n somaIE = 0;\r\n let inscricaoEstadualComPrimeiroDigitoVerificador = numeroInscricao.substr(0, 11) + \"\" + primeiroDigitoVerificador;\r\n for (let i = 0; i < 12; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigitoVerificador[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n let segundoDigitoVerificador = resto;\r\n\r\n return (numeroInscricao == (numeroInscricao.substr(0, 11) + \"\" + primeiroDigitoVerificador + \"\" + segundoDigitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualRJ = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 8) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [2, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 7);\r\n let somaIE = 0;\r\n for (let i = 0; i < 7; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (resto <= 1) ? 0 : (11 - resto);\r\n let digitoVerificador = resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualES = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (resto <= 1) ? 0 : (11 - resto);\r\n let digitoVerificador = resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualBA = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n\r\n if (numeroInscricao.length !== 8 && numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n\r\n if (numeroInscricao.length == 8) {\r\n\r\n let pesosMultiplicadorPrimeiro = [7, 6, 5, 4, 3, 2];\r\n let pesosMultiplicadorSegundo = [8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 6);\r\n let somaIE = 0;\r\n for (let i = 0; i < 6; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let primeiroDigitoVerificador = 0;\r\n let resto = 0;\r\n if (numeroInscricao.substr(0, 1) == \"6\" || numeroInscricao.substr(0, 1) == \"7\" || numeroInscricao.substr(0, 1) == \"9\") {\r\n resto = somaIE % 11;\r\n resto = (11 - resto);\r\n primeiroDigitoVerificador = (resto == 0 || resto == 1) ? 0 : resto;\r\n } else {\r\n resto = somaIE % 10;\r\n resto = (10 - resto);\r\n primeiroDigitoVerificador = (resto == 0) ? 0 : resto;\r\n }\r\n\r\n let inscricaoEstadualComPrimeiroDigitoVerificador = inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador;\r\n somaIE = 0;\r\n resto = 0;\r\n for (let i = 0; i < 7; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigitoVerificador[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n let segundoDigitoVerificador = 0;\r\n if (numeroInscricao.substr(0, 1) == \"6\" || numeroInscricao.substr(0, 1) == \"7\" || numeroInscricao.substr(0, 1) == \"9\") {\r\n resto = somaIE % 11;\r\n segundoDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n } else {\r\n resto = somaIE % 10;\r\n segundoDigitoVerificador = (resto == 0) ? 0 : (10 - resto);\r\n }\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + segundoDigitoVerificador + \"\" + primeiroDigitoVerificador)) ? true : false;\r\n } else {\r\n let pesosMultiplicadorSegundo = [8, 7, 6, 5, 4, 3, 2];\r\n let pesosMultiplicadorPrimeiro = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 7);\r\n let somaIE = 0;\r\n for (let i = 0; i < 7; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n let segundoDigitoVerificador = 0;\r\n let resto = 0;\r\n if (numeroInscricao.substr(1, 1) == \"6\" || numeroInscricao.substr(1, 1) == \"7\" || numeroInscricao.substr(1, 1) == \"9\") {\r\n resto = somaIE % 11;\r\n segundoDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n } else {\r\n resto = somaIE % 10;\r\n segundoDigitoVerificador = (resto == 0) ? 0 : (10 - resto);\r\n }\r\n\r\n let inscricaoEstadualComSegundoDigitoVerificador = inscricaoEstadualSemDigitoVerificador + \"\" + segundoDigitoVerificador;\r\n somaIE = 0;\r\n resto = 0;\r\n for (let i = 0; i <= 7; i++) {\r\n somaIE += inscricaoEstadualComSegundoDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let primeiroDigitoVerificador = 0;\r\n if (numeroInscricao.substr(1, 1) == \"6\" || numeroInscricao.substr(1, 1) == \"7\" || numeroInscricao.substr(1, 1) == \"9\") {\r\n resto = somaIE % 11;\r\n primeiroDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n }\r\n else {\r\n resto = somaIE % 10;\r\n primeiroDigitoVerificador = (resto == 0) ? 0 : (10 - resto);\r\n }\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador + \"\" + segundoDigitoVerificador)) ? true : false;\r\n\r\n }\r\n};\r\n\r\nexport const ValidarInscricaoEstadualSE = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualAL = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualPE = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9 && numeroInscricao.length !== 14) {\r\n return false;\r\n }\r\n\r\n if (numeroInscricao.length == 9) {\r\n let pesosMultiplicadorPrimeiro = [8, 7, 6, 5, 4, 3, 2];\r\n let pesosMultiplicadorSegundo = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 7);\r\n let somaIE = 0;\r\n for (let i = 0; i < 7; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let resto = somaIE % 11;\r\n let primeiroDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n\r\n let inscricaoEstadualComPrimeiroDigitoVerificador = inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador;\r\n somaIE = 0;\r\n resto = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigitoVerificador[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n resto = somaIE % 11;\r\n let segundoDigitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador + \"\" + segundoDigitoVerificador)) ? true : false;\r\n } else {\r\n\r\n let pesosMultiplicadorPrimeiro = [5, 4, 3, 2, 1, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 13);\r\n let somaIE = 0;\r\n for (let i = 0; i < 13; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let primeiroDigitoVerificador = (resto > 9) ? (10 - resto) : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador)) ? true : false;\r\n }\r\n};\r\n\r\nexport const ValidarInscricaoEstadualPB = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualRN = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9 && numeroInscricao.length !== 10) {\r\n return false;\r\n }\r\n\r\n if (numeroInscricao.length == 9) {\r\n\r\n let pesosMultiplicadorPrimeiro = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let resto = (somaIE * 10) % 11;\r\n let primeiroDigitoVerificador = (resto == 10) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador)) ? true : false;\r\n } else {\r\n let pesosMultiplicadorPrimeiro = [10, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 9);\r\n let somaIE = 0;\r\n for (let i = 0; i < 9; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n let resto = (somaIE * 10) % 11;\r\n let primeiroDigitoVerificador = (resto == 10) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + primeiroDigitoVerificador)) ? true : false;\r\n }\r\n};\r\n\r\nexport const ValidarInscricaoEstadualPI = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualMA = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = (resto == 0 || resto == 1) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualCE = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualGO = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = 0;\r\n if (inscricaoEstadualSemDigitoVerificador == \"11094402\" && (resto == 0 || resto == 1)) {\r\n digitoVerificador = parseInt(numeroInscricao.substr(8, 1));\r\n } else if (resto == 0) {\r\n digitoVerificador = 0;\r\n } else if (resto == 1 && (parseInt(inscricaoEstadualSemDigitoVerificador) >= 10103105 && parseInt(inscricaoEstadualSemDigitoVerificador) <= 10119997)) {\r\n digitoVerificador = 1;\r\n } else if (resto == 1 && (parseInt(inscricaoEstadualSemDigitoVerificador) < 10103105 || parseInt(inscricaoEstadualSemDigitoVerificador) > 10119997)) {\r\n digitoVerificador = 0;\r\n } else {\r\n digitoVerificador = (11 - resto);\r\n }\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualTO = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 11 && numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador;\r\n if (numeroInscricao.length === 11) {\r\n inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 2) + \"\" + numeroInscricao.substr(4, 6);\r\n } else {\r\n inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n }\r\n\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = (resto < 2) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (numeroInscricao.substr(0, (numeroInscricao.length - 1)) + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualMT = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length < 9) {\r\n return false;\r\n }\r\n\r\n while (numeroInscricao.length < 11) {\r\n numeroInscricao = \"0\" + numeroInscricao;\r\n }\r\n\r\n if (numeroInscricao.length !== 11) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 10);\r\n let somaIE = 0;\r\n for (let i = 0; i < 10; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = (resto == 1 || resto == 0) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualMS = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = (resto == 0) ? 0 : ((11 - resto) > 9) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualDF = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 13) {\r\n return false;\r\n }\r\n let pesosMultiplicadorPrimeiro = [4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let pesosMultiplicadorSegundo = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 11);\r\n let somaIE = 0;\r\n for (let i = 0; i < 11; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificadorPrimeiro = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n somaIE = 0;\r\n resto = 0;\r\n let inscricaoEstadualComPrimeiroDigito = inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificadorPrimeiro;\r\n\r\n for (let i = 0; i < 12; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigito[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificadorSegundo = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificadorPrimeiro + \"\" + digitoVerificadorSegundo)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualAM = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = (somaIE < 11) ? somaIE : somaIE % 11;\r\n let digitoVerificador = (resto <= 1) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualAC = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 13) {\r\n return false;\r\n }\r\n let pesosMultiplicadorPrimeiro = [4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let pesosMultiplicadorSegundo = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 11);\r\n let somaIE = 0;\r\n for (let i = 0; i < 11; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicadorPrimeiro[i];\r\n }\r\n\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificadorPrimeiro = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n somaIE = 0;\r\n resto = 0;\r\n let inscricaoEstadualComPrimeiroDigito = inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificadorPrimeiro;\r\n\r\n for (let i = 0; i < 12; i++) {\r\n somaIE += inscricaoEstadualComPrimeiroDigito[i] * pesosMultiplicadorSegundo[i];\r\n }\r\n resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificadorSegundo = (resto == 10 || resto == 11) ? 0 : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificadorPrimeiro + \"\" + digitoVerificadorSegundo)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualPA = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n let digitoVerificador = (resto == 1 || resto == 0) ? 0 : (11 - resto);\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualRO = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 14) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 13);\r\n let somaIE = 0;\r\n for (let i = 0; i < 13; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10 || resto == 11) ? (resto - 10) : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualRR = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [1, 2, 3, 4, 5, 6, 7, 8];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let resto = somaIE % 9;\r\n let digitoVerificador = resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};\r\n\r\nexport const ValidarInscricaoEstadualAP = (numeroInscricao) => {\r\n let apenasNumeros = (retornaSoLetras(numeroInscricao) == \"\") ? true : false;\r\n if (!apenasNumeros) {\r\n return false;\r\n }\r\n numeroInscricao = retornaSoNumeros(numeroInscricao);\r\n if (numeroInscricao.length !== 9) {\r\n return false;\r\n }\r\n let pesosMultiplicador = [9, 8, 7, 6, 5, 4, 3, 2];\r\n let inscricaoEstadualSemDigitoVerificador = numeroInscricao.substr(0, 8);\r\n let somaIE = 0;\r\n for (let i = 0; i < 8; i++) {\r\n somaIE += inscricaoEstadualSemDigitoVerificador[i] * pesosMultiplicador[i];\r\n }\r\n let valorAcrescentadoNaSoma;\r\n let digitoVerificadorPadrao;\r\n if (inscricaoEstadualSemDigitoVerificador >= '03000001' && inscricaoEstadualSemDigitoVerificador <= '03017000') {\r\n valorAcrescentadoNaSoma = 5;\r\n digitoVerificadorPadrao = 0;\r\n } else {\r\n if (inscricaoEstadualSemDigitoVerificador >= '03017001' && inscricaoEstadualSemDigitoVerificador <= '03019022') {\r\n valorAcrescentadoNaSoma = 9;\r\n digitoVerificadorPadrao = 1;\r\n } else {\r\n valorAcrescentadoNaSoma = 0;\r\n digitoVerificadorPadrao = 0;\r\n }\r\n }\r\n let resto = (valorAcrescentadoNaSoma + somaIE) % 11;\r\n resto = (11 - resto);\r\n let digitoVerificador = (resto == 10) ? 0 : (resto == 11) ? digitoVerificadorPadrao : resto;\r\n\r\n return (numeroInscricao == (inscricaoEstadualSemDigitoVerificador + \"\" + digitoVerificador)) ? true : false;\r\n};","export const TOKEN_KEY = \"@GestorWeb-Token\";\r\nexport const EMPRESA_KEY = \"@GestorWeb-Empresa\";\r\nexport const LOCAL_KEY = \"@GestorWeb-Local\";\r\nexport const NOMEEMPRESA_KEY = \"@GestorWeb-NomeEmpresa\";\r\nexport const NOMELOCAL_KEY = \"@GestorWeb-NomeLocal\";\r\nexport const REGIMETRIBUTARIO_KEY = \"@GestorWeb-RegimeTributario\";\r\nexport const NOMEUSUARIO_KEY = \"@GestorWeb-NomeUsuario\";\r\nexport const IDUSUARIO_KEY = \"@GestorWeb-IdUsuario\";\r\nexport const EMAILUSUARIO_KEY = \"@GestorWeb-EmailUsuario\";\r\nexport const TELA_KEY = \"@GestorWeb-Tela\";\r\nexport const NAVEGACAO_KEY = \"@GestorWeb-Navegacao\";\r\nexport const PERMISSOES_KEY = \"@GestorWeb-Permissoes\";\r\nexport const BREADCRUMB_KEY = \"@GestorWeb-Breadcrumb\";\r\nexport const FILTROSRELATORIO_KEY = \"@GestorWeb-FiltrosRelatorio\";\r\nexport const STATUSPLANO_KEY = \"@GestorWeb-StatusPlano\";\r\nexport const TELAANTERIRO_KEY = \"@GestorWeb-TelaAnterior\";\r\nexport const ENTIDADE_KEY = \"@GestorWeb-Entidade\";\r\nexport const STATUSFILIAL_KEY = \"@GestorWeb-StatusFilial\";\r\nexport const DADOS_INTEGRA_KEY = \"@GestorWeb-DadosIntegra\";\r\nexport const CNPJ_EMPRESA_KEY = \"@GestorWeb-CnpjEmpresa\";\r\nexport const CLIENTECAT_KEY = \"@CatalogoWeb-Cliente\";\r\nexport const NOMECLIENTECAT_KEY = \"@CatalogoWeb-NomeCliente\";\r\nexport const linkApi = process.env.REACT_APP_PUBLIC_URL || (window.location.href.indexOf('localhost') > -1 ? 'https://localhost:7205/' : window.location.href.indexOf('hom') > -1 ? 'http://apihom.gestorweb.com.br/' : 'https://api.gestorweb.com.br/');\r\nexport const linkApiGestor = window.location.href.indexOf('localhost') > -1 ? \"https://localhost:7298/\" : window.location.href.indexOf('hom') > -1 ? \"https://apihomgestor.gestorweb.com.br/\" : \"\";\r\nexport const isAuthenticated = () => localStorage.getItem(TOKEN_KEY) !== null;\r\nexport const getToken = () => localStorage.getItem(TOKEN_KEY);\r\nexport const getEmpresa = () => localStorage.getItem(EMPRESA_KEY);\r\nexport const getCnpjEmpresa = () => localStorage.getItem(CNPJ_EMPRESA_KEY);\r\nexport const getLocal = () => localStorage.getItem(LOCAL_KEY);\r\nexport const getNomeEmpresa = () => localStorage.getItem(NOMEEMPRESA_KEY);\r\nexport const getNomeLocal = () => localStorage.getItem(NOMELOCAL_KEY);\r\nexport const getRegimeTributario = () => localStorage.getItem(REGIMETRIBUTARIO_KEY);\r\nexport const getNomeUsuario = () => localStorage.getItem(NOMEUSUARIO_KEY);\r\nexport const getIdUsuario = () => localStorage.getItem(IDUSUARIO_KEY);\r\nexport const getEmailUsuario = () => localStorage.getItem(EMAILUSUARIO_KEY);\r\nexport const getTela = () => localStorage.getItem(TELA_KEY);\r\nexport const getBreadcrumb = () => localStorage.getItem(BREADCRUMB_KEY);\r\nexport const getNavegacao = () => decodeURIComponent(localStorage.getItem(NAVEGACAO_KEY));\r\nexport const getPermissao = () => decodeURIComponent(localStorage.getItem(PERMISSOES_KEY));\r\nexport const getStatusPlano = () => localStorage.getItem(STATUSPLANO_KEY);\r\nexport const getStatusFilial = () => atob(localStorage.getItem(STATUSFILIAL_KEY)) === 'true';\r\nexport const getTelaAnterior = () => localStorage.getItem(TELAANTERIRO_KEY);\r\nexport const getEntidadeImp = () => localStorage.getItem(ENTIDADE_KEY);\r\nexport const getDadosIntegra = () => localStorage.getItem(DADOS_INTEGRA_KEY);\r\nexport const getClienteCat = () => localStorage.getItem(CLIENTECAT_KEY);\r\nexport const getNomeClienteCat = () => localStorage.getItem(NOMECLIENTECAT_KEY);\r\nexport const login = token => {\r\n localStorage.setItem(TOKEN_KEY, token);\r\n};\r\nexport const setEmpresa = empresa => {\r\n localStorage.setItem(EMPRESA_KEY, empresa);\r\n};\r\nexport const setLocal = local => {\r\n localStorage.setItem(LOCAL_KEY, local);\r\n};\r\nexport const removerLocal = () => {\r\n localStorage.removeItem(LOCAL_KEY);\r\n};\r\nexport const setNomeEmpresa = nomeEmpresa => {\r\n localStorage.setItem(NOMEEMPRESA_KEY, nomeEmpresa);\r\n};\r\nexport const setNomeLocal = nomeLocal => {\r\n localStorage.setItem(NOMELOCAL_KEY, nomeLocal);\r\n};\r\nexport const setRegimeTributario = regimeTributario => {\r\n localStorage.setItem(REGIMETRIBUTARIO_KEY, regimeTributario);\r\n};\r\nexport const setNomeUsuario = nomeUsuario => {\r\n localStorage.setItem(NOMEUSUARIO_KEY, nomeUsuario);\r\n};\r\nexport const setIdUsuario = idUsuario => {\r\n localStorage.setItem(IDUSUARIO_KEY, idUsuario);\r\n};\r\nexport const setEmailUsuario = emailUsuario => {\r\n localStorage.setItem(EMAILUSUARIO_KEY, emailUsuario);\r\n};\r\nexport const setTela = tela => {\r\n localStorage.setItem(TELA_KEY, tela);\r\n};\r\nexport const setNavegacao = nav => {\r\n localStorage.setItem(NAVEGACAO_KEY, encodeURIComponent(JSON.stringify(nav)));\r\n};\r\nexport const setPermissoes = perm => {\r\n localStorage.setItem(PERMISSOES_KEY, encodeURIComponent(JSON.stringify(perm)));\r\n};\r\nexport const setStatusPlano = stp => {\r\n localStorage.setItem(STATUSPLANO_KEY, stp);\r\n};\r\nexport const setTelaAnterior = tela => {\r\n localStorage.setItem(TELAANTERIRO_KEY, tela);\r\n};\r\nexport const setEntidadeImp = entidade => {\r\n localStorage.setItem(ENTIDADE_KEY, entidade);\r\n};\r\nexport const removerTelaAnt = () => {\r\n localStorage.removeItem(TELAANTERIRO_KEY);\r\n}\r\nexport const setStatusFilial = ativo => {\r\n localStorage.setItem(STATUSFILIAL_KEY, btoa(ativo));\r\n};\r\nexport const setDadosIntegra = dados => {\r\n localStorage.setItem(DADOS_INTEGRA_KEY, dados);\r\n}\r\nexport const setCnpjEmpresa = cnpj => {\r\n localStorage.setItem(CNPJ_EMPRESA_KEY, cnpj);\r\n}\r\nexport const setClienteCatalogo = cli => {\r\n localStorage.setItem(CLIENTECAT_KEY, cli);\r\n};\r\nexport const setNomeClienteCatalogo = cli => {\r\n localStorage.setItem(NOMECLIENTECAT_KEY, cli);\r\n};\r\nexport const logout = () => {\r\n localStorage.removeItem(TOKEN_KEY);\r\n localStorage.removeItem(EMPRESA_KEY);\r\n localStorage.removeItem(CNPJ_EMPRESA_KEY);\r\n localStorage.removeItem(LOCAL_KEY);\r\n localStorage.removeItem(NOMEEMPRESA_KEY);\r\n localStorage.removeItem(NOMELOCAL_KEY);\r\n localStorage.removeItem(REGIMETRIBUTARIO_KEY);\r\n localStorage.removeItem(NOMEUSUARIO_KEY);\r\n localStorage.removeItem(IDUSUARIO_KEY);\r\n localStorage.removeItem(EMAILUSUARIO_KEY);\r\n localStorage.removeItem(TELA_KEY);\r\n localStorage.removeItem(NAVEGACAO_KEY);\r\n localStorage.removeItem(PERMISSOES_KEY);\r\n localStorage.removeItem(BREADCRUMB_KEY);\r\n localStorage.removeItem(FILTROSRELATORIO_KEY);\r\n localStorage.removeItem(STATUSPLANO_KEY);\r\n localStorage.removeItem(TELAANTERIRO_KEY);\r\n localStorage.removeItem(ENTIDADE_KEY);\r\n localStorage.removeItem(STATUSFILIAL_KEY);\r\n localStorage.removeItem(DADOS_INTEGRA_KEY);\r\n if (window.location.pathname !== '/') window.location = '/';\r\n localStorage.removeItem(CLIENTECAT_KEY);\r\n localStorage.removeItem(NOMECLIENTECAT_KEY);\r\n if (window.location.pathname !== '/') {\r\n if (window.location.href.indexOf('catalogo') > -1) {\r\n window.location = '/login-cliente';\r\n } else {\r\n window.location = '/';\r\n }\r\n }\r\n};\r\n\r\nexport const getUserInfo = () => {\r\n let token = localStorage.getItem(TOKEN_KEY);\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n\r\n return JSON.parse(jsonPayload);\r\n}\r\n\r\nexport const removeDadosNota = () => {\r\n localStorage.removeItem(DADOS_INTEGRA_KEY);\r\n}","export default __webpack_public_path__ + \"static/media/i-produto.4cf7c7e7.png\";","export default __webpack_public_path__ + \"static/media/i-grade.dd751ba6.png\";","export default __webpack_public_path__ + \"static/media/logoGestor.c5a22032.png\";","import React, { useEffect } from 'react';\r\nimport { Select, Form } from \"antd\";\r\n\r\nexport default function ComboData({ form, eventoAoAlterar }) {\r\n const opcoes = [\r\n { label: 'Dia Atual', value: 0 },\r\n { label: 'Mês Atual', value: 1 },\r\n { label: 'Últimos 3 dias', value: 2 },\r\n { label: 'Últimos 7 dias', value: 3 },\r\n { label: 'Últimos 15 dias', value: 4 },\r\n { label: 'Últimos 30 dias', value: 5 },\r\n { label: 'Últimos 60 dias', value: 6 }\r\n ];\r\n\r\n class Data extends React.Component {\r\n onChange = e => {\r\n const value = e;\r\n let data = this.value;\r\n switch (value) {\r\n case 0:\r\n data = new Date();\r\n break;\r\n case 1:\r\n data = new Date(new Date().setDate(1));\r\n break;\r\n case 2:\r\n data = new Date(new Date().setDate((new Date().getDate() - 3)));\r\n break;\r\n case 3:\r\n data = new Date(new Date().setDate((new Date().getDate() - 7)));\r\n break;\r\n case 4:\r\n data = new Date(new Date().setDate((new Date().getDate() - 15)));\r\n break;\r\n case 5:\r\n data = new Date(new Date().setDate((new Date().getDate() - 30)));\r\n break;\r\n case 6:\r\n data = new Date(new Date().setDate((new Date().getDate() - 60)));\r\n break;\r\n }\r\n\r\n if (!!form) {\r\n form.setFieldsValue({ 'dataPesquisa': data });\r\n }\r\n if (!!eventoAoAlterar) {\r\n eventoAoAlterar();\r\n }\r\n this.props.onChange(value);\r\n }\r\n\r\n render() {\r\n const { value } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n class InputDemoDate extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { value: 0 };\r\n }\r\n onChange = value => {\r\n this.setState({ value });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n form.setFieldsValue({ 'dataPesquisa': new Date() });\r\n }, []);\r\n\r\n return (\r\n \r\n\r\n )\r\n};","import React, { useState } from \"react\";\r\nimport { Row, Col, Form, Input, Typography, Modal, Button } from \"antd\";\r\nimport { CloseOutlined, ExclamationCircleOutlined, SaveOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { getEmpresa } from \"../../../services/auth\";\r\n\r\nexport default function ModalAdicionarUsuario({ exibirModal, fecharModal, incluirRemoverUsuario }) {\r\n\r\n const [listaLocais, setListaLocais] = useState([]);\r\n const [form] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Realmente deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n form.resetFields();\r\n setListaLocais([]);\r\n }\r\n });\r\n };\r\n\r\n function verificarEmail() {\r\n if (!!form.getFieldValue('usu_email')) {\r\n api.get(`Usuario/Usuario?email=${form.getFieldValue('usu_email')}`).then((retornoEmail) => {\r\n if (!!retornoEmail.data) {\r\n incluirRemoverUsuario({ usu_email: retornoEmail.data.usu_email.endereco }, true, 'Usuário vinculado ao grupo com sucesso!');\r\n fecharModal();\r\n form.resetFields();\r\n setListaLocais([]);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response);\r\n });\r\n }\r\n };\r\n\r\n function listarLocais() {\r\n if (!!form.getFieldValue('usu_email') && !!form.getFieldValue('usu_nome')) {\r\n api.get(`Usuario/ListarLocais?codigoEmpresa=${getEmpresa()}`).then((lista) => {\r\n if (!!lista.data) {\r\n let filiais = [];\r\n lista.data.forEach((local, indice) => {\r\n local.selected = false;\r\n filiais.push(local);\r\n if (indice + 1 === lista.data.length) {\r\n setListaLocais(filiais);\r\n }\r\n });\r\n }\r\n }).catch((err) => {\r\n console.log(err.response);\r\n });\r\n } else {\r\n setListaLocais([]);\r\n }\r\n };\r\n\r\n function selecionarLocal(id) {\r\n let lista = [...listaLocais];\r\n let indice = listaLocais.findIndex((local) => {\r\n return local.loc_id === id;\r\n });\r\n if (indice >= 0) {\r\n lista[indice].selected = !lista[indice].selected;\r\n }\r\n setListaLocais(lista);\r\n };\r\n\r\n function selecionarTodos(checked) {\r\n let lista = [...listaLocais];\r\n lista.forEach((local) => {\r\n local.selected = checked;\r\n });\r\n setListaLocais(lista);\r\n };\r\n \r\n function incluirUsuario(values){\r\n //values.usu_ativo = true;\r\n /*\r\n NÃO IMPLEMENTADO\r\n api.post(`Usuario/Incluir?email=${values.usu_email}&nome=${values.usu_nome}`).then((retornoUsuario) => {\r\n if (!!retornoUsuario.data) {\r\n let informacoesUsuario = {\r\n id: retornoUsuario.data,\r\n nome: values.usu_nome,\r\n email: values.usu_email,\r\n chave: (values.usu_email + \"|\" + values.usu_nome)\r\n }\r\n\r\n }\r\n }, err => {\r\n console.log(err);\r\n });*/\r\n };\r\n\r\n return (\r\n\r\n 0 ?\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null\r\n }\r\n width={720}\r\n maskClosable={false}\r\n >\r\n \r\n \r\n \r\n \r\n Adicione um novo usuário.\r\n \r\n \r\n \r\n \r\n { verificarEmail() }} />\r\n \r\n \r\n \r\n \r\n { listarLocais() }} />\r\n \r\n \r\n \r\n {/*listaLocais.length > 0 &&\r\n
{ selecionarTodos(e.target.checked) }} />,\r\n align: 'center',\r\n render: ({ selected, loc_id }) => (\r\n { selecionarLocal(loc_id) }} />\r\n ),\r\n },\r\n {\r\n title: 'Filial',\r\n align: 'left',\r\n render: ({ loc_id, loc_descricao }) => (\r\n
\r\n {loc_id} - {loc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CNPJ',\r\n render: ({ loc_cnpj }) => (\r\n
\r\n {loc_cnpj.numero}\r\n
\r\n ),\r\n },\r\n ]\r\n } />\r\n */}\r\n \r\n \r\n\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Form, InputNumber, Select, Button, Tag, Radio, Card, Modal, notification, Input } from \"antd\";\r\nimport { ArrowRightOutlined, ArrowLeftOutlined, ExclamationCircleOutlined, CalculatorOutlined, CloseOutlined, HighlightOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport TextArea from \"rc-textarea\";\r\n\r\nexport default function ModalCalcularLimite({ formulario, exibirModal, setOpenModalCalcular }) {\r\n\r\n const [step, setStep] = useState(0);\r\n const [estadoCivil, setEstadoCivil] = useState([]);\r\n const [mostraRendaConj, setmostraRendaConj] = useState(false);\r\n const [valorsimulado, setvalorsimulado] = useState();\r\n const [listaQuestoes, setListaQuestoes] = useState([]);\r\n const [parametrosEmpresa, setParametrosEmpresa] = useState({});\r\n const [form] = Form.useForm();\r\n const [dadosResposta, setDadosResposta] = useState([]);\r\n const [valores, setValores] = useState({});\r\n\r\n useEffect(() => {\r\n listarEstadoCivil();\r\n buscarQuestoes();\r\n buscarParametrosEmpresa()\r\n }, []);\r\n\r\n /*\r\n const onNext = () => onChange(step + 1);\r\n const onPrevious = () => onChange(step - 1);\r\n const onChange = (nextStep) => {\r\n setStep(nextStep < 0 ? 0 : nextStep > 2 ? 2 : nextStep);\r\n };*/\r\n\r\n function showRendaConjunta(ecv_id) {\r\n if (ecv_id === 2) {\r\n setmostraRendaConj(true);\r\n } else {\r\n setmostraRendaConj(false);\r\n }\r\n }\r\n\r\n function listarEstadoCivil() {\r\n api.get(`EstadoCivil/Listar`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setEstadoCivil(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n function buscarQuestoes() {\r\n api.get(`QuestaoLimiteCredito/Listar`).then(\r\n res => {\r\n setListaQuestoes(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n\r\n function buscarParametrosEmpresa() {\r\n api.get(`ParametroEmpresa/BuscarParametros`).then(\r\n res => {\r\n setParametrosEmpresa(res.data);\r\n }\r\n ).catch(\r\n erro => { console.log(erro); }\r\n )\r\n }\r\n\r\n function adicionarResposta(registro, pergunta) {\r\n let respostas = [...dadosResposta];\r\n let id = registro.target.value;\r\n let dadoPergunta = { ...pergunta };\r\n if (dadoPergunta.qlc_tiporesposta === 2) {\r\n dadoPergunta.respostalimitecreditos = pergunta.respostalimitecreditos.filter(respostas => (respostas.rlc_id === id))[0];\r\n } else {\r\n dadoPergunta.respostalimitecreditos = id;\r\n }\r\n let respEditar = respostas.find((resp) => resp.qlc_id === pergunta.qlc_id);\r\n if (respEditar) {\r\n if (respEditar.qlc_tiporesposta === 2) {\r\n respEditar.respostalimitecreditos = pergunta.respostalimitecreditos.filter(respostas => (respostas.rlc_id === id))[0];\r\n } else {\r\n respEditar.respostalimitecreditos = id;\r\n }\r\n } else {\r\n respostas.push(dadoPergunta);\r\n }\r\n setDadosResposta(respostas);\r\n\r\n\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosResposta && dadosResposta.length > 0) {\r\n calculoSimulado()\r\n }\r\n }, [dadosResposta]);\r\n\r\n function calculoSimulado() {\r\n let dados = {\r\n pef_renda: (!!form.getFieldValue().pef_renda ? parseFloat(form.getFieldValue().pef_renda) : 0.0),\r\n pef_rendaconjuge: (!!form.getFieldValue().pef_rendaconjuge ? parseFloat(form.getFieldValue().pef_rendaconjuge) : 0.0),\r\n questionario: dadosResposta\r\n }\r\n let porcentagemBase = ((!!parametrosEmpresa.par_percentuallimitecredito) ? parametrosEmpresa.par_percentuallimitecredito : 30) / 100;\r\n let vlrbase = 0;\r\n let vlrsim = 0.0;\r\n if (!!dadosResposta && dadosResposta.length > 0) {\r\n let porcentagem = 0.0;\r\n dadosResposta.forEach((questao) => {\r\n if (questao.qlc_tiporesposta == 2) {\r\n if (questao.respostalimitecreditos.rlc_somasubtrai == 1) {\r\n porcentagem += (questao.respostalimitecreditos.rlc_percentual / 100);\r\n } else {\r\n porcentagem -= (questao.respostalimitecreditos.rlc_percentual / 100);\r\n }\r\n }\r\n });\r\n\r\n if (!!dados.pef_rendaconjuge) {\r\n vlrbase = (dados.pef_renda + dados.pef_rendaconjuge) * porcentagemBase;\r\n vlrsim = vlrbase * porcentagem;\r\n vlrsim = (porcentagem !== 0) ? vlrbase + (vlrbase * porcentagem) : vlrbase;\r\n } else {\r\n vlrbase = dados.pef_renda * porcentagemBase;\r\n vlrsim = (porcentagem !== 0) ? vlrbase + (vlrbase * porcentagem) : vlrbase;\r\n }\r\n }\r\n\r\n setvalorsimulado(vlrsim);\r\n setValores(dados);\r\n };\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Realmente deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n setOpenModalCalcular(false);\r\n formulario.setFieldsValue({ pef_renda: null, ecv_id: null, pef_rendaconjuge: null });\r\n setDadosResposta({});\r\n setStep(0);\r\n }\r\n });\r\n };\r\n\r\n function salvarLimite() {\r\n let dados = { ...valores };\r\n let pergunta = {};\r\n let resposta = {};\r\n dados.questionario.forEach((q) => {\r\n pergunta.qlc_tiporesposta = q.qlc_tiporesposta;\r\n resposta.rlc_somasubtrai = q.respostalimitecreditos.rlc_somasubtrai;\r\n resposta.rlc_percentual = q.respostalimitecreditos.rlc_percentual;\r\n q.pergunta = pergunta;\r\n q.resposta = resposta;\r\n });\r\n setCarregando(true);\r\n api.post(`AnaliseCredito/GerarLimite`, dados).then(\r\n res => {\r\n formulario.setFieldsValue({ cli_valorlimitecredito: res.data });\r\n // notification.success({ message: 'Operação concluída', description: \"Limite de Crédito foi gerado!\" });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n\r\n formulario.setFieldsValue({ pef_renda: null, ecv_id: null, pef_rendaconjuge: null });\r\n setDadosResposta({});\r\n setStep(0);\r\n setOpenModalCalcular(false);\r\n setCarregando(false);\r\n }\r\n );\r\n };\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n calculoSimulado()} rules={[{ required: true, message: 'Informe a Renda.' }]}>\r\n `R$ ${value}`}\r\n parser={value => value.replace('R$ ', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {mostraRendaConj &&\r\n \r\n `R$ ${value}`}\r\n parser={value => value.replace('R$ ', '')}\r\n />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {`${step + 1} / ${listaQuestoes.length}`}\r\n \r\n }\r\n >\r\n
\r\n \r\n
\r\n {listaQuestoes.map((questoes, idx) => {\r\n {\r\n return step === idx ?\r\n \r\n {questoes.qlc_tiporesposta === 2 &&\r\n { adicionarResposta(registro, questoes) }}>\r\n {questoes.respostalimitecreditos.map((resposta => (\r\n {resposta.rlc_resposta}\r\n )))}\r\n \r\n }\r\n {questoes.qlc_tiporesposta === 1 &&\r\n { adicionarResposta(registro, questoes) }} rows={4} />\r\n }\r\n : null\r\n }\r\n })}\r\n \r\n \r\n \r\n \r\n {step !== 0 &&\r\n \r\n }\r\n \r\n \r\n {step !== listaQuestoes.length - 1 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Simulação (R$): {FormatNumber(valorsimulado, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Typography, Form, Input, Checkbox, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../../services/api\";\r\nimport { novaAbaNavegador } from \"../../../services/funcoes\";\r\nimport { MaskFormat, FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalCartaCorrecaoNotaFiscal({ dadosNota = {}, exibirModal, fecharModal }) {\r\n const [form] = Form.useForm();\r\n const [exibeCondicoes, setExibeCondicoes] = useState(true);\r\n const retornoProcessamento = {\r\n cancelamentoNfeHomologado: 101,\r\n eventoRegistradoEVinculadoANfe: 135\r\n }\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const salvarDados = record => {\r\n let dados = { ...dadosNota };\r\n\r\n dados.textoCorrecao = form.getFieldValue().textoCorrecao;\r\n if (!!dados.textoCorrecao) {\r\n if (dados.textoCorrecao.length >= 15) {\r\n api.post('NotaFiscal/EmitirCartaCorrecao', dados).then(\r\n res => {\r\n if (!!res.data) {\r\n let mensagemCancelamento = res.data.retorno.retEvento[0].infEvento.cStat + \"-\" + res.data.retorno.retEvento[0].infEvento.xMotivo;\r\n if (res.data.retorno.retEvento[0].infEvento.cStat == retornoProcessamento.eventoRegistradoEVinculadoANfe) {\r\n if (!!res.data.retorno.retEvento[0].infEvento.chNFe) {\r\n novaAbaNavegador(`Danfe/GerarCce?chaveNFe=${res.data.retorno.retEvento[0].infEvento.chNFe}&sequenciaEvento=${res.data.retorno.retEvento[0].infEvento.nSeqEvento}`);\r\n }\r\n notification.success({ description: mensagemCancelamento, message: `Carta de correção eletrônica referente a NF-e Nº: ${dadosNota.ntf_numero} vinculada com sucesso !` });\r\n } else {\r\n notification.warning({ description: mensagemCancelamento, message: `Não foi possível vincular a carta de correção eletrônica da NF-e Nº: ${dadosNota.ntf_numero}, verefique os erros ocorridos!` });\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n fecharModal();\r\n }\r\n );\r\n } else {\r\n notification.warning({ description: 'O tamanho mínimo da carta de correção é de 15 caracteres', message: 'Aviso' });\r\n }\r\n } else {\r\n notification.warning({ description: 'O tamanho mínimo da carta de correção é de 15 caracteres', message: 'Aviso' });\r\n }\r\n };\r\n\r\n return (\r\n \r\n Emitir Carta de Correção\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose\r\n >\r\n
\r\n
\r\n \r\n
\r\n Chave da NF-e: {dadosNota.ntf_chavenfe} \r\n \r\n \r\n \r\n \r\n Destinatário: {dadosNota.ntf_nomedest} \r\n \r\n \r\n CPF/CNPJ: {MaskFormat(dadosNota.ntf_cnpjcpfdest, '', true)}\r\n \r\n \r\n \r\n \r\n Modelo: {dadosNota.ntf_modelo}\r\n \r\n \r\n Emitida em: {moment(dadosNota.ntf_dataemissao).format('DD/MM/YYYY HH:mm:ss')}\r\n \r\n \r\n \r\n \r\n Tipo de Nota: {dadosNota.tip_descricao}\r\n \r\n \r\n Valor total da Nota (R$): {FormatNumber(dadosNota.valor_total, true)} \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { setExibeCondicoes(!exibeCondicoes) }}> Visualizar Condições de uso da Carta de Correção \r\n \r\n \r\n \r\n \r\n \r\n {exibeCondicoes &&
\r\n \r\n A Carta de Correção é disciplinada pelo § 1º-A do art. 7º do Convênio S/ N, de 15 de dezembro de 1970 e pode ser utilizada para regularização de erro ocorrido na emissão de documento fiscal, desde que o erro não esteja relacionado com:\r\n

\r\n I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade,\r\n valor da operação ou da prestação;
\r\n II - a correção de dados cadastrais que implique mudança do remetente ou do destinatário;
\r\n III - a data de emissão ou de saída.\r\n
\r\n
}\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Checkbox, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../../actions\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalCfop({ exibirModal, fecharModal, formulario, adicionarCfop, listaDestinoOperacao, listaCategoriaOperacao }) {\r\n const [{ listaSelectPaginacao }, dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModal && !!formulario) {\r\n var lista = [];\r\n if (!!formulario.getFieldValue().cfo_id) {\r\n lista.push({ name: \"cfo_id\", campo: \"Id\", value: formulario.getFieldValue().cfo_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }, [exibirModal]);\r\n\r\n function retornaDadosCFOP(values) {\r\n let listaDados = [...listaSelectPaginacao.itens];\r\n let dados = listaDados.find(o => o.cfo_id == values.cfo_id);\r\n values.cfo_cfop = dados.cfo_cfop;\r\n values.cfo_descricao = dados.cfo_descricao;\r\n adicionarCfop(values);\r\n };\r\n\r\n\r\n return (\r\n\r\n { formulario.submit() }}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n destroyOnClose\r\n maskClosable={false}\r\n width={700}\r\n >\r\n
\r\n
retornaDadosCFOP(values)} initialValues={{ remember: true }}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {item.cfo_cfop} - {item.cfo_descricao}\r\n )} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Radio, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined} from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { info } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalContaGerencial({ formContaGerencial, formulario, exibirModalContaGerencial, fecharModalContaGerencial, listaConfigContaGerencial, setListaConfigContaGerencial }) {\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalContaGerencial();\r\n }\r\n });\r\n };\r\n\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n\r\n const listaTipo = [\r\n { 'value': 1, 'label': 'Juros Recebidos' },\r\n { 'value': 2, 'label': 'Juros Pagos' },\r\n { 'value': 3, 'label': 'Descontos Obtidos' },\r\n { 'value': 4, 'label': 'Descontos Concedidos' },\r\n { 'value': 5, 'label': 'Multas Pagas' },\r\n { 'value': 6, 'label': 'Multas Recebidas' }\r\n ];\r\n\r\n useEffect(() => {\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=&PageNumber=1&PageSize=1000`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.items.filter((item) => { return item.podeSelecionar === false && item.nivel === 0}));\r\n setListaContaGerencial(res.data.items.filter((item) => { return item.podeSelecionar === true }));\r\n })\r\n }, []);\r\n\r\n function adicionarConfig(values) {\r\n let listaTemp = [...listaConfigContaGerencial];\r\n\r\n if (listaTemp.filter(item => { return item.cgc_tipo === values.cgc_tipo }).length > 0) {\r\n info('Operação não permitida! Registro já existente para o tipo de valor selecionado!');\r\n return;\r\n }\r\n\r\n\r\n\r\n if (!!values.key) {\r\n let index = listaTemp.findIndex(i => i.key === values.key);\r\n listaTemp.splice(index, 1);\r\n } else {\r\n values.key = listaTemp.length + 1;\r\n }\r\n values.cgc_descricaoTipo = listaTipo.filter(item => { return item.value === values.cgc_tipo })[0].label;\r\n values.cgc_descricaocontadestino = listaContaGerencial.filter(item => { return item.ctg_id === values.cgc_contagerencialdestino })[0].ctg_descricao;\r\n values.ctg_id = formContaGerencial.getFieldValue()?.ctg_id;\r\n\r\n listaTemp.push(values);\r\n setListaConfigContaGerencial(listaTemp);\r\n fecharModalContaGerencial();\r\n };\r\n\r\n return (\r\n { formulario.submit() }}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n destroyOnClose \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {listaTipo.map(item => (\r\n \r\n \r\n {item.label}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tabs, Tag, Modal, Divider, Table } from \"antd\";\r\nimport { ArrowUpOutlined, ArrowDownOutlined, ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../../services/api';\r\nimport { FormatFone } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalContatoCliente({ exibirModalContatoCliente, fecharModalContatoCliente, PessoaId }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [dados, setDados] = useState({});\r\n\r\n const onCloseModal = () => {\r\n fecharModalContatoCliente();\r\n };\r\n useEffect(() => {\r\n BuscarDadosCliente(PessoaId);\r\n }, [exibirModalContatoCliente]);\r\n\r\n async function BuscarDadosCliente(IdPessoa) {\r\n if (!!IdPessoa) {\r\n var dadosCliente;\r\n await api.get(`Cliente/BuscarByIdPessoa/${IdPessoa}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n if (!!res.data) {\r\n dadosCliente = res.data;\r\n setDados(res.data)\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n return (\r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n
\r\n
(\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ tpt_descricao }) => (\r\n
\r\n {tpt_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ramal',\r\n render: ({ psc_ramal }) => (\r\n
\r\n {psc_ramal}\r\n
\r\n ),\r\n },\r\n ]\r\n } locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pem_email}\r\n \r\n \r\n \r\n E-mail principal\r\n \r\n \r\n \r\n \r\n NF-e\r\n \r\n \r\n \r\n \r\n Cobrança\r\n \r\n \r\n \r\n \r\n Promoção\r\n \r\n \r\n \r\n \r\n Vencimento de Parcela\r\n \r\n \r\n \r\n \r\n Boleto\r\n \r\n \r\n \r\n\r\n \r\n ),\r\n },\r\n ]\r\n } locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n {toc_descricao}\r\n \r\n \r\n {out_descricao}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport moment from 'moment';\r\nimport { Row, Col, Form, TimePicker, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalDefinirHorario({ id, onSave, exibirModal, fecharModal }) {\r\n\r\n const [form] = Form.useForm();\r\n const format = 'HH:mm';\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const onSaveModal = (values) => {\r\n onSave(id, false, false, values.horaInicial, values.horaFinal);\r\n fecharModal();\r\n }\r\n\r\n return (\r\n form.submit()}\r\n okText={\r\n <>\r\n Definir\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n ({\r\n validator(_, value) {\r\n if (!value || getFieldValue('horaInicial') < value) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(new Error('Horário final não pode ser menor que o inicial.'));\r\n },\r\n\r\n })\r\n ]}\r\n label=\"Até\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Input, Checkbox, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalEmail({ form, listaEmail, exibirModalEmail, fecharModalEmail }) {\r\n\r\n const onFinish = values => {\r\n if (!validarEmail(values.pem_email)) {\r\n notification.info({ message: 'Favor informar um e-mail válido!' })\r\n } else {\r\n let indice = values.indice;\r\n delete values.indice;\r\n let lista = [...listaEmail.dadosEmail];\r\n if (indice >= 0) {\r\n lista[indice] = values;\r\n } else {\r\n let verificaEmailAdd = lista.filter(e => e.pem_email === form.getFieldValue().pem_email);\r\n if (verificaEmailAdd.length > 0) {\r\n fecharModalEmail();\r\n notification.info({ message: 'E-mail já adicionado!' });\r\n } else {\r\n if (lista.length > 0) {\r\n values.pem_emailprincipal = false;\r\n } else {\r\n values.pem_emailprincipal = true;\r\n }\r\n lista.push(values);\r\n }\r\n }\r\n listaEmail.setDadosEmail(lista);\r\n fecharModalEmail();\r\n }\r\n };\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalEmail();\r\n }\r\n });\r\n };\r\n\r\n function validarEmail(email) {\r\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n return reg.test(email);\r\n };\r\n\r\n return (\r\n {\r\n form.resetFields();\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n E-mail Ativo?\r\n \r\n \r\n \r\n \r\n E-mail Principal?\r\n \r\n \r\n \r\n \r\n Enviar NF-e?\r\n \r\n \r\n \r\n \r\n Enviar Carta de Cobrança?\r\n \r\n \r\n \r\n \r\n Enviar Promoção?\r\n \r\n \r\n \r\n \r\n Enviar Boleto?\r\n \r\n \r\n \r\n \r\n Enviar Vencimento Parcela?\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Typography, Modal } from \"antd\";\r\nimport { CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport { SelecoesEmpresa } from \"../../../pages/login/pages\";\r\nimport { getNomeEmpresa, getNomeLocal, getStatusFilial } from '../../../services/auth';\r\n\r\nexport default function ModalEmpresaFilial({ exibirModalEmpresaFilial, fecharModalEmpresaFilial }) {\r\n\r\n const onCloseModal = () => {\r\n fecharModalEmpresaFilial()\r\n };\r\n\r\n return (\r\n\r\n \r\n Alterar Acesso\r\n \r\n }\r\n footer={null}\r\n maskClosable={false}\r\n >\r\n \r\n \r\n \r\n Você está acessando: {`${getNomeEmpresa()} / ${getNomeLocal()}${!getStatusFilial() ? ' (INATIVO)' : ''}`}\r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Typography, Modal, notification, Form, Select } from 'antd';\r\nimport { CloseOutlined, PlusOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport { getNomeEmpresa, getNomeLocal, getStatusFilial } from '../../../services/auth';\r\nimport { FormGW, SelectPaginacao } from \"../../../components\";\r\nimport api from \"../../../services/api\";\r\n\r\n\r\nimport { selectPaginadoActions } from \"../../../actions\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalEmpresaFilialBusca({ exibirModalEmpresaFilial, fecharModalEmpresaFilial, relatorio, rels, form }) {\r\n\r\n const [codigoEmpresa, setCodigoEmpresa] = useState(null);\r\n const [codigoLocal, setCodigoLocal] = useState(null);\r\n const [relNovo, setRelNovo] = useState();\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalEmpresaFilial();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue()?.emp_id) {\r\n setCodigoEmpresa(form.getFieldValue()?.emp_id);\r\n carregarLocais(form.getFieldValue()?.emp_id);\r\n }\r\n\r\n }, [form.getFieldValue().emp_id]);\r\n\r\n useEffect(() => {\r\n if (!!codigoLocal) {\r\n carregarDadosEmpresa();\r\n }\r\n }, [codigoLocal]);\r\n\r\n function carregarDadosEmpresa() {\r\n var rel = {};\r\n rel.Nome = relatorio.nome;\r\n rel.emp_id = codigoEmpresa;\r\n rel.loc_id = !codigoLocal ? 0 : codigoLocal;\r\n rel.QuantidadeColuna = relatorio.quantidadeColuna;\r\n rel.JsonRelatorio = relatorio.jsonRelatorio;\r\n setRelNovo(rel);\r\n }\r\n\r\n function carregarLocais(codEmpresa) {\r\n let lista = [];\r\n lista.push({ name: \"filial\", campo: \"codigoEmpresa\", value: codEmpresa });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n\r\n function onFinish () {\r\n api.post(`RelatorioModeloEtiqueta/Incluir`, relNovo).then(\r\n res => {\r\n notification.warning({ description: 'Modelo de etiqueta enviado com sucesso!', message: 'Aviso' });\r\n form.resetFields();\r\n fecharModalEmpresaFilial(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n return (\r\n\r\n {\r\n form.resetFields();\r\n onCloseModal();\r\n }}\r\n onOk={() => //form.submit()\r\n onFinish()\r\n }\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n \r\n
\r\n \r\n Você está acessando: {`${getNomeEmpresa()}/ ${getNomeLocal()}${!getStatusFilial() ? ' (INATIVO)' : ''}`}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Relatório: {`${rels}`} \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n setCodigoEmpresa(value);\r\n }} order=\"emp_razaosocial\"\r\n conteudo={\r\n e => ({e.emp_nomefantasia}
Razao Social: {e.emp_razaosocial}
)\r\n } />\r\n
\r\n \r\n \r\n {form.getFieldValue()?.emp_id && \r\n \r\n \r\n setCodigoLocal(valor)} conteudo={Local => (\r\n {Local.loc_descricao}{!Local.loc_ativo ? ' (INATIVO)' : ''}\r\n )} />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport { listagemActions, manutencaoActions, selectPaginadoActions } from \"../../../actions\";\r\nimport api from \"../../../services/api\";\r\nimport { FormGW, InputCep, SelectPaginacao } from \"../../../components\";\r\nimport SelectPaginado from \"../../selectPaginado\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalEndereco({ form, listaEndereco, exibirModalEndereco, fecharModalEndereco, exibirPais = true, produtorRural = false }) {\r\n const [{ ui, manutencao, selectPaginado }, dispatch] = useStateValue();\r\n const [cidade, setCidade] = useState({});\r\n const [isEstrangeiro, setIsEstrangeiro] = useState(false);\r\n\r\n useEffect(() => {\r\n if (exibirModalEndereco) {\r\n let lista = [];\r\n if (form.getFieldValue().indice >= 0) {\r\n if (!!form.getFieldValue().pse_id) {\r\n lista.push({ name: \"pse_id\", campo: \"pse_id\", value: form.getFieldValue().pse_id });\r\n }\r\n } else {\r\n lista.push({ name: \"pse_id\", campo: \"Sigla\", value: \"BR\" });\r\n }\r\n\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n\r\n }, [exibirModalEndereco]);\r\n\r\n async function onFinish(values) {\r\n let lista = [...listaEndereco.dadosEndereco];\r\n let indice = values.indice;\r\n if (values.log_logradouro.length <= 3) {\r\n notification.warning({ message: 'Aviso!', description: 'Logradouro deve conter mais de 3 caracteres!' });\r\n return false;\r\n }\r\n delete values.indice;\r\n values.pse_nome = !!values.pse_id ? form.getFieldValue().pse_nome : '';\r\n\r\n values.cid_descricao = !!values.cid_nome ? values.cid_nome : form.getFieldValue().cid_descricao;\r\n values.pee_ativo = true;\r\n if (listaEndereco.dadosEndereco.length === 0) {\r\n values.pee_enderecoprincipal = true;\r\n }\r\n values.uf = values.est_sigla;\r\n values.logradouro = values.log_logradouro;\r\n values.enderecoCompleto = values.log_logradouro + ',' + values.pee_numero + '-' + values.bai_nome + '-' + values.pee_complemento + '-' + values.cep_cep + '-' + values.cid_descricao + '-' + values.est_sigla;\r\n let tipoEnd = await listarTpEndereco(values.tpe_id);\r\n values.tpe_descricao = tipoEnd.tpe_descricao\r\n if (!isEstrangeiro) {\r\n values.cep_id = cidade.cep_id;\r\n } else {\r\n values.bai_id = null;\r\n values.cep_id = null;\r\n values.cid_id = null;\r\n values.uf = \"\";\r\n }\r\n\r\n values.pais = await listarPais(values.pse_id);\r\n if (indice >= 0) {\r\n lista[indice] = values;\r\n } else {\r\n lista.push(values);\r\n }\r\n listaEndereco.setDadosEndereco(lista);\r\n form.resetFields();\r\n fecharModalEndereco();\r\n };\r\n\r\n async function listarPais(pseId) {\r\n let req = await api.get(`Pais/BuscarPorId/${pseId}`);\r\n if (req.status === 200 && !!req.data) {\r\n return req.data;\r\n }\r\n return {};\r\n }\r\n\r\n async function listarTpEndereco(tpeId) {\r\n let req = await api.get(`TipoEndereco/Listar?Filtro=${tpeId}`);\r\n if (req.status === 200 && !!req.data) {\r\n return req.data.items[0];\r\n }\r\n return {};\r\n }\r\n\r\n\r\n const verificaCep = (cep) => {\r\n cep = cep?.replaceAll(/\\D/g, '');\r\n if (!!cep) {\r\n api.get(`Cidade/BuscaCidadeCep?cep=${cep}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n form.setFieldsValue({ cid_descricao: res.data.length > 0 ? res.data[0].cid_descricao : '' })\r\n setCidade(res.data[0]);\r\n form.setFieldsValue({ est_sigla: res.data.length > 0 ? res.data[0].est_sigla : '' });\r\n form.setFieldsValue({ pse_id: res.data.length > 0 ? res.data[0].pse_id : '' });\r\n let lista = [];\r\n if (!!res.data[0].pse_id) {\r\n lista.push({ name: \"pse_id\", campo: \"pse_id\", value: res.data[0].pse_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n } else {\r\n api.get(`Cidade/BuscaCidadeCep?cep=${cep}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n form.setFieldsValue({ cid_descricao: res.data.cidade })\r\n setCidade(res.data[0]);\r\n form.setFieldsValue({ est_sigla: res.data.estado });\r\n form.setFieldsValue({ pse_id: res.data.length > 0 ? res.data[0].pse_id : '' });\r\n let lista = [];\r\n if (!!res.data[0].pse_id) {\r\n lista.push({ name: \"pse_id\", campo: \"pse_id\", value: res.data[0].pse_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n })\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalEndereco();\r\n }\r\n });\r\n };\r\n\r\n\r\n useEffect(() => {\r\n verificaCep(form.getFieldValue().cep_cep);\r\n }, [form.getFieldValue().cep_cep])\r\n\r\n const inputRef = React.createRef();\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (!!inputRef.current) {\r\n inputRef.current.focus({ cursor: 'end', })\r\n };\r\n }, 500);\r\n }, [exibirModalEndereco, inputRef.current]);\r\n\r\n async function alterarStatusEstrangeiro(pse_id) {\r\n if (!!pse_id) {\r\n let pais = (await api.get(`Pais/BuscarPorId/${pse_id}`)).data;\r\n if (!!pais && pais.pse_codigobacen != \"1058\") {\r\n setIsEstrangeiro(true);\r\n } else {\r\n setIsEstrangeiro(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n {\r\n form.resetFields();\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose\r\n >\r\n
\r\n \r\n
\r\n \r\n alterarStatusEstrangeiro(value)} conteudo={\r\n pse => ({pse.pse_nome})\r\n } />\r\n \r\n }\r\n {!isEstrangeiro && \r\n verificaCep(cep.target.value)} onPressEnter={(cep) => verificaCep(cep.target.value)} />\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {!isEstrangeiro && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({te.tpe_descricao})\r\n } />\r\n \r\n \r\n {!!produtorRural &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Form, Select, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from '@ant-design/icons';\r\n\r\nimport Data from '../../data';\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport SelectPaginado from \"../../../components/selectPaginado\";\r\n\r\nexport default function ModalGerarComissao({ exibirModal, fecharModal, dadosModal }) {\r\n \r\n const [formGerarComissao] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n \r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosModal.dataInicial) {\r\n formGerarComissao.setFieldsValue({ dataInicial: dadosModal.dataInicial });\r\n }\r\n if (!!dadosModal.dataFinal) {\r\n formGerarComissao.setFieldsValue({ dataFinal: dadosModal.dataFinal });\r\n }\r\n }, [dadosModal]);\r\n\r\n\r\n function salvarDados() {\r\n if (!(!!formGerarComissao.getFieldValue().dataInicial)) {\r\n notification.warning({ message: 'Data inicial inválida', description: \"Favor informar uma data inicial válida!\" });\r\n } else if (!(!!formGerarComissao.getFieldValue().dataFinal)) {\r\n notification.warning({ message: 'Data final inválida', description: \"Favor informar uma data final válida!\" });\r\n } else if (!(!!formGerarComissao.getFieldValue().ven_id)) {\r\n notification.warning({ message: 'Vendedor selecionado inválido', description: \"Favor informar uma vendedor válido!\" });\r\n } else {\r\n api.get(`Comissao/RecalcularComissao?dataFinal=${formGerarComissao.getFieldValue().dataFinal.format('YYYY-MM-DD')}&dataInicial=${formGerarComissao.getFieldValue().dataInicial.format('YYYY-MM-DD')}&idVendedor=${formGerarComissao.getFieldValue().ven_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n Modal.success({\r\n content: 'Comissão gerada com sucesso!',\r\n });\r\n }else{\r\n Modal.warning({\r\n content: 'Não foi possível gerar a comissão!',\r\n });\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n fecharModal();\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n Gerar Comissão\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n ({ven.ven_id} - {ven.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CloudUploadOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { novaAbaNavegador } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalExibirAcaoUsuario({ dadosModal, exibirModal, fecharModal }) {\r\n\r\n const onCloseModal = () => {\r\n fecharModal();\r\n };\r\n\r\n return (\r\n \r\n Fechar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose\r\n >\r\n
\r\n \r\n \r\n {dadosModal.aco_descricao}\r\n \r\n \r\n \r\n
\r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Modal, Card } from \"antd\";\r\nimport { ExclamationCircleOutlined, DownloadOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { linkApi } from \"../../../services/auth\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalGerarRemessa({ exibirModalGerarRemessa, fecharModalGerarRemessa, dadosSelecionados, download }) {\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalGerarRemessa();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n Download\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n
\r\n Informações\r\n \r\n \r\n Valor Total (R$)\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosSelecionados.ban_descricao}\r\n \r\n \r\n Quant. Boletos: {dadosSelecionados.rem_qtdeboletos}\r\n \r\n \r\n \r\n \r\n {FormatNumber(dadosSelecionados.rem_valortotal, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Typography, Select, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\n\r\nexport default function ModalInstrucaoRemessa({ exibirModalInstrucaoRemessa, fecharModalInstrucaoRemessa, formManutencao, onOk }) {\r\n\r\n const [listaInstrucao, setListaInstrucao] = useState([]);\r\n const [formInstrucao] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalInstrucaoRemessa();\r\n }\r\n });\r\n };\r\n\r\n function onFinish(values){ \r\n let isp_codigo = listaInstrucao.find((instrucao) => {return instrucao.isp_id === values.isp_id}).isp_codigo;\r\n onOk(isp_codigo);\r\n };\r\n\r\n useEffect(() => {\r\n console.log(\"ban_id\", formManutencao.getFieldValue().ban_id);\r\n console.log(\"exibirModalInstrucaoRemessa\", exibirModalInstrucaoRemessa);\r\n\r\n if (!!formManutencao.getFieldValue().ban_id && exibirModalInstrucaoRemessa) {\r\n debugger;\r\n api.get(`InstrucaoBoleto/ListarIns?Descricao='%${formManutencao.getFieldValue().ban_id}%'`).then((res) => {\r\n if (res.status === 200) {\r\n debugger;\r\n setListaInstrucao(res.data.items);\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n }, [exibirModalInstrucaoRemessa]);\r\n\r\n return (\r\n formInstrucao.submit()}\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n okText={\r\n <>\r\n Ok\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
{onFinish(values)}}>\r\n \r\n
\r\n \r\n Abaixo informe a Instrução que deseja realizar.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n `R$ ${value}`}\r\n parser={value => value.replace('R$ ', '')}\r\n />\r\n \r\n */}\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Modal } from \"antd\";\r\nimport { CheckOutlined, ExclamationCircleOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport api from \"../../../services/api\";\r\n\r\nimport SelectPaginado from \"../../../components/selectPaginado\";\r\n\r\nexport default function ModalInutilizacaoNfe({ exibirModal, fecharModal }) {\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ justificativa: 'Solicitada a inutilização dos números de NF-e da respectiva série fiscal pois a numeração não foi utilizada por motivo de rejeição de NF-e ou falha no processo de emissão do sistema.' });\r\n }, []);\r\n\r\n const [formulario] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n function validarNumeracao(values) {\r\n let qtdNumero = parseInt(values.nroFinal) - parseInt(values.nroInicial);\r\n if (parseInt(values.nroInicial) == 0 || parseInt(values.nroFinal) == 0) {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Número Inicial e Final devem ser diferente de 0!
\r\n
\r\n \r\n ),\r\n });\r\n } else if (qtdNumero < 0) {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Número Inicial é menor que número final!
\r\n
\r\n \r\n ),\r\n });\r\n } else if (qtdNumero > 50) {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Tem certeza que deseja inutilizar uma faixa de ' + qtdNumero + ' Notas ?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n solicitarInutilizacaoNumeracao(values);\r\n fecharModal();\r\n }\r\n });\r\n } else {\r\n solicitarInutilizacaoNumeracao(values);\r\n }\r\n };\r\n\r\n function solicitarInutilizacaoNumeracao(values) {\r\n let inutilizacao = {\r\n ser_id: values.ser_id,\r\n numeroInicial: parseInt(values.nroInicial),\r\n numeroFinal: parseInt(values.nroFinal),\r\n justificativa: values.justificativa\r\n };\r\n\r\n api.post(`NotaFiscal/InutilizarPorFaixa`, inutilizacao).then((dados) => {\r\n console.log(\"dados inutilizados\", dados);\r\n if (dados.status === 200) {\r\n if (dados.data.retorno.cStat == 241) {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
{`Números solicitados para Inutilização: ${dados.data.retorno.infInut.nNFIni} até ${dados.data.retorno.infInut.nNFFin}`}
\r\n
\r\n
{`Série: ${dados.data.retorno.infInut.serie}`}
\r\n
\r\n
{`Motivo : ${dados.data.retorno.xMotivo}`}
\r\n \r\n ),\r\n });\r\n } else {\r\n Modal.success({\r\n title: 'Inutilização de Número Homologada!',\r\n content: (\r\n <>\r\n
{`Números Inutilizados: ${dados.data.retorno.infInut.nNFIni} até ${dados.data.retorno.infInut.nNFFin}`}
\r\n
\r\n
{`Série: ${dados.data.retorno.infInut.serie}`}
\r\n
\r\n
{`Protocolo: ${dados.data.retorno.infInut.nProt}`}
\r\n \r\n ),\r\n });\r\n }\r\n } else {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Não foi possível realizar a inutilização
\r\n
\r\n
{JSON.stringify(dados.data)}
\r\n \r\n ),\r\n });\r\n }\r\n }, err => {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: (\r\n <>\r\n
Não foi possível realizar a inutilização
\r\n
\r\n
{JSON.stringify(err.Message)}
\r\n \r\n ),\r\n });\r\n }).finally(() => {\r\n fecharModal();\r\n });\r\n };\r\n\r\n return (\r\n formulario.submit()}\r\n okText={\r\n <>\r\n Solicitar Inutilização\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n ({serie.ser_serie})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, InputNumber, Checkbox, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport InputPreco from \"../../inputPreco\";\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\nimport { manutencaoActions } from \"../../../actions\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalListaPreco({ form, listaPreco, setListaPreco, exibirModal, fecharModal }) {\r\n const [{ listaSelectPaginacao }, dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const salvarListaDePreco = () => {\r\n const newData = [...listaPreco];\r\n let values = form.getFieldsValue();\r\n if (!!form.getFieldValue().key || form.getFieldValue().key === 0) {\r\n let item = newData.filter((item) => (item.key === values.key))[0];\r\n item.lpi_valorvenda = values.lpi_valorvenda;\r\n item.lpi_perccomissao = values.lpi_perccomissao;\r\n item.lpi_naocalculacomissao = values.lpi_naocalculacomissao;\r\n } else {\r\n let listasPrecos = [...listaSelectPaginacao.itens];\r\n let nomeLista = listasPrecos.find(t => t.ltp_id === values.ltp_id);\r\n values.ltp_nome = nomeLista.ltp_nome;\r\n values.ltp_principal = false;\r\n values.key = newData.length;\r\n newData.push(values);\r\n }\r\n setListaPreco(newData);\r\n fecharModal();\r\n };\r\n\r\n function verificaListaPrecoExistente(lp) {\r\n let dados = {};\r\n dados = listaPreco.filter(l => l.ltp_id === lp);\r\n form.setFieldsValue(dados[0]);\r\n };\r\n\r\n return (\r\n \r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n verificaListaPrecoExistente(lp);\r\n }}\r\n placeholder=\"Selecione uma Lista\"\r\n conteudo={(l) => ({l.ltp_nome})}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n Não Calcula Comissão?\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Radio, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../../services/api\";\r\nimport { getLocal } from \"../../../services/auth\";\r\nimport { FormatNumber, MaskFormat } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalManifestoDestinatario({ exibirModal, fecharModal, dadosNota }) {\r\n\r\n const [formulario] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ tipoManifesto: dadosNota.tipoManifesto });\r\n }, [dadosNota]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n function retornaDescricaoManifestoDestinatario(nfd_manifestodestinatario) {\r\n switch (nfd_manifestodestinatario) {\r\n case 0:\r\n return 'Ciência da Emissão';\r\n case 1:\r\n return 'Confirmação da Operação';\r\n case 2:\r\n return 'Operação não Realizada';\r\n case 3:\r\n return 'Desconhecimento da Operação';\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n function manifestarNota() {\r\n let justificativa = !!formulario.getFieldValue().justificativa ? formulario.getFieldValue().justificativa : '';\r\n api.post(`NotaFiscal/ManifestarNfe?TipoManifesto=${formulario.getFieldValue().tipoManifesto}&ChaveNfe=${dadosNota.nfd_chavenfe}&Justificativa=${justificativa}`).then(\r\n (res) => {\r\n if (res.data.retorno.cStat === 128) {\r\n if (res.data.retorno.retEvento[0].infEvento.cStat === 135) {\r\n notification.success({ description: res.data.retorno.retEvento[0].infEvento.xMotivo, message: `Manifestação do Destinatário` });\r\n } else {\r\n notification.error({ description: res.data.retorno.retEvento[0].infEvento.xMotivo, message: `Manifestação do Destinatário` });\r\n }\r\n } else {\r\n setCarregando(false);\r\n notification.error({ description: res.data.retorno.xMotivo, message: `Manifestação do Destinatário` });\r\n }\r\n }\r\n ).finally(() => {\r\n fecharModal();\r\n });\r\n };\r\n\r\n return (\r\n \r\n Realizar Manifestação\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n width={720}\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n Chave da NF-e: {dadosNota.nfd_chavenfe}\r\n \r\n \r\n \r\n \r\n Nota Emitida por: {dadosNota.nfd_nomeemissor}\r\n \r\n \r\n CPF/CNPJ do Emissor: {MaskFormat(dadosNota.nfd_cpfcnpjemissor, '', true)}\r\n \r\n \r\n \r\n \r\n Nº da Nota: {dadosNota.nfd_numeronf}\r\n \r\n \r\n Série: {dadosNota.nfd_serienf}\r\n \r\n \r\n Modelo: {dadosNota.nfd_modelodocumento}\r\n \r\n \r\n Emitida em: {moment(dadosNota.nfd_datahoraemissao).format('DD/MM/YYYY HH:mm:ss')}\r\n \r\n \r\n \r\n \r\n Tipo de Nota: {dadosNota.tipoNf}\r\n \r\n \r\n Valor Total da Nota (R$): {FormatNumber(dadosNota.nfd_valortotal, true)}\r\n \r\n \r\n Última Manifestação Realizada: {retornaDescricaoManifestoDestinatario(!!dadosNota.nfd_manifestodestinatario) ? (dadosNota.nfd_manifestodestinatario) : 'Não Informada'}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Selecione abaixo o tipo de manifestação que deseja para esta Nota Fiscal\r\n \r\n \r\n \r\n \r\n {!(!!dadosNota.tipoManifesto) &&\r\n \r\n Ciência da Emissão: \r\n Registra que o destinatário da operação, constante nesta NF-e, tem conhecimento que o documento foi emitido, mas ainda não expressou uma manifestação conclusiva para a operação.\r\n \r\n }\r\n \r\n Confirmação da Operação: \r\n Registra que o destinatário da operação, constante nesta NF-e, confirma que a operação descrita na NF-e ocorreu.\r\n \r\n \r\n Operação não Realizada: \r\n Registra que o destinatário da operação, constante nesta NF-e, declara que a operação descrita na NF-e foi solicitada, porem não foi efetivada. Ex.: Devolução sem entrada física de mercadorias no estabeleciomento do destinatário, sinistro da carga durante o transporte, etc.\r\n \r\n \r\n Desconhecimento da Operação: \r\n Registra que o destinatário da operação, constante nesta NF-e, declara que a operação descrita na NF-e NÃO foi solicitada, informando ao fisco a utilização indevida de sua Inscrição Estadual/CNPJ por parte do emitente da NF-e em questão.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.tipoManifesto !== currentValues.tipoManifesto}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('tipoManifesto') === 2) return (\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Checkbox, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport Data from \"../../data\";\r\n\r\nexport default function ModalNacionalidade({ form, dadosNacionalidade, exibirModalNacionalidade, fecharModalNacionalidade }) {\r\n\r\n const [listaPais, setListaPais] = useState([]);\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalNacionalidade();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n carregarPais();\r\n }, []);\r\n\r\n function carregarPais() {\r\n api.get(`Pais/listar?PageSize=1000&PageNumber=1`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setListaPais(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n const salvar = record => {\r\n let nacionalidade = [...dadosNacionalidade.listaNacionalidade];\r\n let indice = form.getFieldValue().indice;\r\n delete record.indice;\r\n let pais = listaPais.filter((pais) => (pais.pse_id === record.pse_id))[0];\r\n record.pse_id = pais.pse_id;\r\n record.pse_nome = pais.pse_nome;\r\n if (indice >= 0) {\r\n nacionalidade[indice] = record;\r\n } else {\r\n nacionalidade.push(record);\r\n }\r\n dadosNacionalidade.setListaNacionalidade(nacionalidade);\r\n fecharModalNacionalidade();\r\n };\r\n\r\n return (\r\n form.submit()}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Naturalizado\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Form, Select, Input, InputNumber, Tooltip, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined, QuestionCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { InputPercentual } from '../../../components';\r\nimport SelectPaginado from \"../../selectPaginado\";\r\nimport api from \"../../../services/api\";\r\nimport { selectPaginadoActions, listagemActions } from \"../../../actions\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalNcm({ exibirModal, fecharModal, dados, setDados, formularioDados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n formularioDados.resetFields();\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dados)\r\n formularioDados.setFieldsValue(dados);\r\n else\r\n formularioDados.resetFields();\r\n\r\n }, [dados, exibirModal])\r\n\r\n useEffect(() => {\r\n if (exibirModal)\r\n setEstado();\r\n }, [exibirModal])\r\n\r\n function setEstado() {\r\n api.get(`Local/BuscarLocal`).then(res => {\r\n let lista = [];\r\n formularioDados.setFieldsValue({ mva_uforigem: res.data.loc_inscricaoestadual.ufEstado });\r\n lista.push({ name: \"mva_uforigem\", campo: \"Uf\", value: res.data.loc_inscricaoestadual.ufEstado });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n })\r\n }\r\n\r\n function salvarDados(values) {\r\n console.log(manutencao);\r\n let lista = [...dados.mvaorigemdestinos];\r\n let registro = dados.mvaorigemdestinos.find(x => x.mva_uforigem == values.mva_uforigem && x.mva_ufdestino == values.mva_ufdestino)\r\n if (registro) {\r\n registro.mva_percaliquotaicmsreducao = values.mva_percaliquotaicmsreducao;\r\n registro.mva_percmva = values.mva_percmva;\r\n registro.mva_percaliquotaicms = values.mva_percaliquotaicms;\r\n registro.mva_ajustado = values.mva_ajustado;\r\n registro.mva_simplesnacional = values.mva_simplesnacional;\r\n } else {\r\n let dadosTemp = { ...values };\r\n manutencao.dados.mvaorigemdestinos.push(dadosTemp)\r\n }\r\n setDados(manutencao);\r\n fecharModal();\r\n formularioDados.resetFields();\r\n }\r\n\r\n return (\r\n {\r\n formularioDados.submit();\r\n }}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n Defina as Informações de Origem e Destino referente a Substituição Tributário!

\r\n
\r\n \r\n \r\n \r\n \r\n ({est.est_sigla} - {est.est_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n ({est.est_sigla} - {est.est_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n % da Alíquota ICMS Substituição Tributária\r\n \r\n \r\n \r\n }\r\n name=\"mva_percaliquotaicms\"\r\n rules={[{ required: true, message: 'Informe o Percentual da Aliquota ICMS Substituição Tributária' }]}\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col } from \"antd\";\r\nimport moment from 'moment';\r\n\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\n\r\nexport default function InfoCheque({ dadosCheque }) {\r\n\r\n return (\r\n
\r\n \r\n
\r\n Recebido de: {dadosCheque?.pessoa.pes_nome}\r\n \r\n \r\n Banco: {dadosCheque.ban_id} - {dadosCheque?.banco.ban_descricao}\r\n \r\n \r\n Cheque Emitido em: {moment(dadosCheque.chq_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n Agência: {dadosCheque.chq_agencia}\r\n \r\n \r\n Nº Conta: {dadosCheque.chq_contacorrente}\r\n \r\n \r\n Bom para: {moment(dadosCheque.chq_bompara).format('DD/MM/YYYY')}\r\n \r\n \r\n Série: {dadosCheque.chq_serie}\r\n \r\n \r\n Número do Cheque: {dadosCheque.chq_numero}\r\n \r\n \r\n Valor do Cheque (R$): {FormatNumber(dadosCheque.chq_valor, true)}\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Modal, Table, Select, Input, Form, Button } from \"antd\";\r\nimport { ArrowDownOutlined, ArrowUpOutlined, ExclamationCircleOutlined, CloseOutlined, SaveOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../../services/api\";\r\nimport { getLocal, linkApi } from \"../../../services/auth\";\r\nimport InfoCheque from \"../../../pages/cheque/infoCheque\";\r\nimport SelectPaginado from \"../../selectPaginado\";\r\n\r\n\r\nexport default function ModalOcorrencia({ exibirModal, fecharModal, dadosCheque, statusCheque, ocorrencia }) {\r\n\r\n const [movimentacaoCheque, setMovimentacaoCheque] = useState([]);\r\n const [contaCorrente, setContaCorrente] = useState([]);\r\n const [motivoDevolucao, setMotivoDevolucao] = useState([]);\r\n const [formulario] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n formulario.resetFields();\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`ContaCorrente/AtivosTipoConta?tipoConta=2&ordem=+ctc_descricao`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setContaCorrente(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n api.get(`Cheque/ListarCodigosDevolucao?filtro=&ordem=+cmc_descricao`).then(\r\n (res) => {\r\n if (res.status === 200 && res.data.length > 0) {\r\n setMotivoDevolucao(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!dadosCheque.chq_id && ocorrencia === 0) {\r\n api.get(`OcorrenciaCheque/Listar?IdCheque=${dadosCheque.chq_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n res.data.map((item) => {\r\n item.key = item.och_id;\r\n });\r\n setMovimentacaoCheque(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n }, [dadosCheque]);\r\n\r\n const tituloModal = {\r\n 0: 'Movimentação do Cheque',\r\n 1: 'Enviar para depósito',\r\n 2: 'Reapresentar ao Banco',\r\n 3: 'Marcar Cheque como Compensado',\r\n 4: 'Repassar o Cheque para terceiros',\r\n 5: 'Trocar com o Cliente',\r\n 6: 'Registrar Devolução do Cheque',\r\n 7: 'Enviar Cheque para Custódia'\r\n };\r\n\r\n const operacao = {\r\n enviarParaDeposito: 1,\r\n representadoAoBanco: 2,\r\n compensado: 3,\r\n repassado: 4,\r\n trocado: 5,\r\n devolvido: 6,\r\n emCustodia: 7\r\n };\r\n\r\n function salvar(values) {\r\n let dados = {};\r\n dados.ctc_id = (ocorrencia !== operacao.compensado && ocorrencia !== operacao.trocado && ocorrencia !== operacao.repassado) ? values.ctc_id : 0;\r\n dados.chq_id = dadosCheque.chq_id;\r\n dados.och_data = moment(new Date());\r\n dados.och_status = ocorrencia;\r\n dados.mcc_id = null;\r\n dados.loc_id = getLocal();\r\n if (ocorrencia === operacao.devolvido) {\r\n dados.cmc_id = values.cmc_id;\r\n }\r\n if (!!values.och_observacao) {\r\n dados.och_observacao = values.och_observacao;\r\n }\r\n api.post(`OcorrenciaCheque/Incluir`, dados).then(\r\n (retorno) => {\r\n if (retorno.status === 200) {\r\n Modal.success({\r\n content: 'Ocorrência registrada e vinculada ao cheque com sucesso!',\r\n });\r\n } else {\r\n error(\"Não foi possível registrar esta ocorrência no cheque.\");\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n error(\"Erro ao registrar esta ocorrência no cheque.\");\r\n }\r\n ).finally(() => {\r\n formulario.resetFields();\r\n fecharModal();\r\n });\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null\r\n }\r\n width={720}\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n
\r\n {ocorrencia === 0 &&\r\n
(\r\n
\r\n {usu_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n render: ({ och_data }) => (\r\n
\r\n {moment(och_data).format('DD/MM/YYYY HH:mm:ss')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Banco',\r\n render: ({ och_status, ban_id, ban_descricao }) => (\r\n
\r\n {((och_status === 1 || och_status === 2 || och_status === 3 || och_status === 7) && (!!ban_id)) &&\r\n \r\n
\r\n {ban_descricao} {ban_id} - {ban_descricao}\r\n \r\n \r\n }\r\n \r\n \r\n Situação: {statusCheque[och_status].value}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Conta Destino',\r\n render: ({ och_status, ctc_descricao }) => (\r\n
\r\n {(och_status === 1 || och_status === 2 || och_status === 3 || och_status === 7) &&\r\n {ctc_descricao}\r\n }\r\n
\r\n ),\r\n },\r\n ]\r\n } expandable={{\r\n expandedRowRender: ({ och_observacao }) =>\r\n
\r\n \r\n
\r\n Observações: {och_observacao}\r\n \r\n \r\n ,\r\n expandIcon: ({ expanded, onExpand, record }) =>\r\n expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n )\r\n }} columnWidth={30} />\r\n }\r\n {(ocorrencia === 1 || ocorrencia === 2 || ocorrencia === 7) &&\r\n \r\n \r\n \r\n (\r\n {cc.ctc_descricao}\r\n )} />\r\n \r\n \r\n \r\n }\r\n {(ocorrencia === 3) &&\r\n
\r\n \r\n Este cheque será definido como compensado.\r\n \r\n \r\n Para prosseguir clique em Salvar...\r\n \r\n
\r\n }\r\n {(ocorrencia === 4) &&\r\n
\r\n \r\n Este cheque será definido como: Repassado à Terceiros.\r\n \r\n \r\n Para prosseguir clique em Salvar...\r\n \r\n
\r\n }\r\n {(ocorrencia === 5) &&\r\n
\r\n \r\n Este cheque será definido como: Trocado com o Cliente.\r\n \r\n \r\n Para prosseguir clique em Salvar...\r\n \r\n
\r\n }\r\n {(ocorrencia === 6) &&\r\n
\r\n \r\n
\r\n \r\n (\r\n {cc.ctc_descricao}\r\n )} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {ocorrencia !== 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../../state\";\r\nimport { selectPaginadoActions } from \"../../../actions\";\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\n\r\nexport default function ModalOcupacao({ form, listaOcupacoes, exibirModalOcupacao, fecharModalOcupacao }) {\r\n const [{ ui, listaSelectPaginacao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n if (exibirModalOcupacao && !!listaOcupacoes) {\r\n let lista = [];\r\n if (!!listaOcupacoes.cbo_id) {\r\n lista.push({ name: \"cbo_id\", campo: \"cbo_id\", value: listaOcupacoes.cbo_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }, [exibirModalOcupacao]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalOcupacao();\r\n }\r\n });\r\n };\r\n\r\n const onFinish = values => {\r\n let listaCbo = [...listaSelectPaginacao.itens];\r\n let cbo = listaCbo.filter((c) => c.cbo_id === form.getFieldValue().cbo_id)[0];\r\n let indice = form.getFieldValue().indice;\r\n let lista = [...listaOcupacoes.dadosOcupacoes];\r\n\r\n values.cbo_descricao = cbo.cbo_descricao;\r\n if (indice >= 0) {\r\n lista[indice] = values;\r\n } else {\r\n let verificaOcupacaoAdd = lista.filter((c) => c.cbo_id === form.getFieldValue().cbo_id).length;\r\n if (verificaOcupacaoAdd.length > 0) {\r\n onCloseModal();\r\n notification.info({ message: 'Ocupação já adicionada!' });\r\n } else {\r\n if (lista.length > 0) {\r\n values.poc_principal = false;\r\n } else {\r\n values.poc_principal = true;\r\n }\r\n lista.push(values);\r\n }\r\n }\r\n listaOcupacoes.setDadosOcupacoes(lista);\r\n form.resetFields();\r\n fecharModalOcupacao();\r\n };\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n ({ocup.cbo_id} - {ocup.cbo_descricao} )\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport { InputPhone } from \"../..\";\r\nimport api from \"../../../services/api\";\r\nimport { InputCep } from \"../../../components\";\r\nimport { retornaSoNumeros } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalOrgaoSubjacente({ form, listaOrgaoSubjacente, exibirModalOrgaoSubjacente, fecharModalOrgaoSubjacente }) {\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalOrgaoSubjacente();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModalOrgaoSubjacente && !!form.getFieldValue().pop_cep) {\r\n verificaCep(form.getFieldValue().pop_cep);\r\n }\r\n }, [exibirModalOrgaoSubjacente]);\r\n\r\n const onFinish = values => {\r\n let dados = [...listaOrgaoSubjacente.listaOrgaoSubjacente];\r\n let indice = values.indice;\r\n delete values.indice;\r\n\r\n values.pop_ativo = true;\r\n values.pop_email = !!values.pop_email ? values.pop_email : \"\";\r\n values.pop_cep = !!values.pop_cep ? values.pop_cep : \"\";\r\n values.pop_observacao = !!values.pop_observacao ? values.pop_observacao : \"\";\r\n values.pop_latitude = \"\";\r\n values.pop_longitude = \"\";\r\n values.pop_numero = !!values.pop_numero ? values.pop_numero : \"\";\r\n values.pop_localreferencia = !!values.pop_localreferencia ? values.pop_localreferencia : \"\";\r\n values.pop_complemento = !!values.pop_complemento ? values.pop_complemento : \"\";\r\n values.pop_bairro = !!values.pop_bairro ? values.pop_bairro : \"\";\r\n values.pop_endereco = !!values.pop_endereco ? values.pop_endereco : \"\";\r\n values.pop_telefone = !!values.pop_telefone ? values.pop_telefone : \"\";\r\n values.pop_cidade = !!values.pop_cidade ? values.pop_cidade : \"\";\r\n if (indice >= 0) {\r\n dados[indice] = values;\r\n } else {\r\n dados.push(values);\r\n }\r\n listaOrgaoSubjacente.setListaOrgaoSubjacente(dados);\r\n fecharModalOrgaoSubjacente();\r\n };\r\n\r\n const verificaCep = (cep) => {\r\n if (!!cep && retornaSoNumeros(cep)) {\r\n api.get(`Cidade/BuscaCidadeCep?cep=${cep}`).then(\r\n res => {\r\n if (!!res.data) {\r\n form.setFieldsValue({ pop_cidade: `${res.data[0].cid_descricao}` });\r\n } else {\r\n fetch(`https://viacep.com.br/ws/${cep.replace(`-`, ``)}/json/`)\r\n .then(\r\n res => {\r\n res.json();\r\n form.setFieldsValue({ pop_cidade: `${res.data[0].cid_descricao}` });\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n );\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n )\r\n }\r\n }\r\n\r\n return (\r\n { form.submit() }}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { verificaCep(event.currentTarget.value); }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Checkbox, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport SelectPaginado from \"../../selectPaginado\";\r\nimport { selectPaginadoActions } from \"../../../actions\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalOutroContato({ form, listaOutrosContatos, exibirModalOutroContato, fecharModalOutroContato }) {\r\n\r\n const [dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n if (exibirModalOutroContato && !!listaOutrosContatos) {\r\n let lista = [];\r\n if (!!listaOutrosContatos.toc_id) {\r\n lista.push({ name: \"toc_id\", campo: \"filtro\", value: listaOutrosContatos.toc_id });\r\n }\r\n\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n\r\n });\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalOutroContato();\r\n }\r\n });\r\n };\r\n\r\n const onFinish = async values => {\r\n let indice = form.getFieldValue().indice;\r\n delete values.indice;\r\n let lista = [...listaOutrosContatos.dadosOutrosContatos];\r\n let listaTpOutroContato = await listarTpOutroContato(form.getFieldValue().toc_id);\r\n values.toc_descricao = listaTpOutroContato[0].toc_descricao;\r\n if (indice >= 0) {\r\n lista[indice] = values;\r\n }\r\n else {\r\n let verificaOcupacaoAdd = listaTpOutroContato[0];\r\n if (verificaOcupacaoAdd.length > 0) {\r\n fecharModalOutroContato();\r\n notification.info({ message: 'Contato já adicionada!' });\r\n } else {\r\n values.out_ativo = true;\r\n lista.push(values);\r\n }\r\n }\r\n listaOutrosContatos.setDadosOutrosContatos(lista);\r\n fecharModalOutroContato();\r\n };\r\n\r\n async function listarTpOutroContato(toc_id) {\r\n let req = await api.get(`TipoOutroContato?Filtro=${toc_id}`);\r\n if (req.status === 200 && !!req.data) {\r\n return req.data.items;\r\n }\r\n return {};\r\n }\r\n return (\r\n {\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n ({toc.toc_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Ativo\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Checkbox, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { validarCpf } from \"../../../services/funcoes\";\r\nimport { InputCpfCnpj } from \"../../../components\";\r\n\r\nexport default function ModalPessoaAutorizada({ form, listaPessoasAutorizadas, exibirModalPessoaAutorizada, fecharModalPessoaAutorizada }) {\r\n const [listasGrauParentesco, setListasGrauParentesco] = useState([]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalPessoaAutorizada();\r\n }\r\n });\r\n };\r\n\r\n const onFinish = values => {\r\n let lista = [...listaPessoasAutorizadas.dadosPessoasAutorizadas];\r\n let nomeLista = listasGrauParentesco.filter(g => g.grp_id === form.getFieldValue().grp_id);\r\n values.grp_id = nomeLista[0].grp_id;\r\n values.grp_descricao = nomeLista[0].grp_descricao;\r\n\r\n let listaPessoas = lista.find((pesAuto) => pesAuto.pea_id === values.pea_id);\r\n if (!!listaPessoas) {\r\n listaPessoas.pes_nome = values.pes_nome;\r\n listaPessoas.grp_descricao = values.grp_descricao;\r\n listaPessoas.pea_ativo = values.pea_ativo;\r\n } else {\r\n let verificaOcupacaoAdd = lista.filter(p => p.pef_cpf === form.getFieldValue().pef_cpf);\r\n if (verificaOcupacaoAdd.length > 0) {\r\n fecharModalPessoaAutorizada();\r\n notification.info({ message: 'Pessoa Autorizada já adicionada!' });\r\n } else {\r\n values.pea_ativo = values.pea_ativo;\r\n lista.push(values);\r\n }\r\n }\r\n listaPessoasAutorizadas.setDadosPessoasAutorizadas(lista);\r\n fecharModalPessoaAutorizada();\r\n };\r\n\r\n useEffect(() => carregarDados(), []);\r\n\r\n function verificarCpfValido(event) {\r\n let valorCampo = event.currentTarget.value.replace(/\\D/g, '');\r\n if (!validarCpf(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CPF informado é inválido' });\r\n form.resetFields();\r\n return false;\r\n } else {\r\n api.get(`PessoaFisica/BuscarPessoaFisica/${valorCampo}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n form.setFieldsValue({ pef_id: res.data.pessoafisicas[0].pef_id, pes_nome: res.data.pes_nome })\r\n console.log(res.data);\r\n }\r\n }\r\n }\r\n ).catch((erro) => console.error(erro))\r\n }\r\n }\r\n\r\n function carregarDados() {\r\n api.get(`GrauParentesco/Listar`).then(\r\n res => {\r\n setListasGrauParentesco(res.data);\r\n }\r\n ).catch((erro) => console.error(erro))\r\n };\r\n\r\n return (\r\n\r\n {\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n { verificarCpfValido(valor) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { return { label: `${g.grp_descricao}`, value: g.grp_id } })}>\r\n \r\n \r\n \r\n \r\n \r\n Pessoa Autorizada?\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Card, Modal } from \"antd\";\r\nimport { CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalPlano({ plano, exibirModal, fecharModal }) {\r\n\r\n const [ativo,setAtivo] = useState(\"#e3e3e3\");\r\n const [inativo,setInativo] = useState(\"white\");\r\n\r\n const [gratis,setGratis] = useState(inativo);\r\n const [mei,setMei] = useState(inativo);\r\n const [inicial,setInicial] = useState(inativo);\r\n const [avancado,setAvancado] = useState(inativo);\r\n const [completo,setCompleto] = useState(inativo);\r\n const [premium,setPremium] = useState(inativo);\r\n \r\n useEffect(()=>{\r\n\r\n setGratis(inativo);\r\n setMei(inativo);\r\n setInicial(inativo);\r\n setAvancado(inativo);\r\n setCompleto(inativo);\r\n setPremium(inativo);\r\n\r\n switch (plano) {\r\n case 1: {\r\n setPremium(ativo);\r\n break;\r\n };\r\n case 2: {\r\n setCompleto(ativo);\r\n break;\r\n }\r\n case 3: {\r\n setAvancado(ativo);\r\n break;\r\n }\r\n case 4: {\r\n setInicial(ativo);\r\n break;\r\n }\r\n case 5: {\r\n setGratis(ativo);\r\n break;\r\n }\r\n case 6: {\r\n setMei(ativo);\r\n break;\r\n }\r\n }\r\n })\r\n\r\n return (\r\n\r\n \r\n
\r\n \r\n
\r\n    \r\n \r\n {/* \r\n
\r\n GRÁTIS\r\n
\r\n \r\n \r\n
\r\n MEI\r\n
\r\n */}\r\n \r\n
\r\n INICIAL\r\n
\r\n \r\n \r\n
\r\n AVANÇADO\r\n
\r\n \r\n \r\n
\r\n COMPLETO\r\n
\r\n \r\n \r\n
\r\n PREMIUM\r\n
\r\n \r\n \r\n
\r\n \r\n
Implantação Gratuita\r\n {/* \r\n */}\r\n \r\n Sob Consulta\r\n Sob Consulta\r\n Sob Consulta\r\n \r\n \r\n Usuários Ilimitados\r\n {/* 1\r\n 1 */}\r\n 1\r\n \r\n \r\n \r\n \r\n \r\n Emissão de Nota Fiscal Ilimitada\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Dashboards Gerenciais\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Monitoramento de NF-e\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Venda Online (PDV WEB)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ponto de Venda (PDV) Online/Offline\r\n {/* \r\n */}\r\n \r\n 1\r\n 4\r\n 6\r\n \r\n \r\n Grade de Produtos Personalizável\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Adição de Campos Personalizáveis em Cadastros Básicos\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n Pré-Venda Mobile\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n Backup Diário Automático\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Segurança de Dados\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Materiais de Ajuda\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Guarda do XML por 5 anos seguindo todos os critérios legais\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Permite Cadastro de Filiais\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Acesso a API de Integração\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Chamados de Suporte (Abertura de Ticket/E-mail)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n FINANCEIRO\r\n
\r\n \r\n \r\n \r\n Contas a Pagar\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contas a Receber\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n Emissão de Boletos\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {/* \r\n Integração Bancária (Boletos)\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {/* \r\n Fluxo de Caixa\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n Lançamento de Caixa\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Dashboard Financeiro\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contas Gerenciais\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n DRE Gerencial (Padrão)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n VENDAS\r\n
\r\n \r\n \r\n \r\n Orçamento\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Pedido\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Condicional (PDV/APP)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Controle de Comissão\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Gestão de Metas de Vendas\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Promoções\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Devolução de Produtos(Troca)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n Aplicativo Pré-venda (iOS, Android)\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n Análise de Crédito de Cliente\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Emissão de NF-e (Venda, Devolução, Débito de ICMS, Transferência¹)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Emissão de NF-e (Entrega Futura, Remessas)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n OBS: ¹ Nota de Transferência disponível quando houver uma ou mais filiais\r\n \r\n \r\n \r\n \r\n
\r\n PONTO DE VENDA – PDV (ONLINE/OFFLINE)\r\n
\r\n \r\n \r\n \r\n Licenças\r\n {/* \r\n */}\r\n \r\n 1\r\n 3\r\n 8\r\n \r\n \r\n Disponibilidade Offline\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n NFC-e\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n Integração com Aplicativo de Pré Venda\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n Recebimento de Parcelas\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Lançamento Condicional\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Sincronização de Dados\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Impressão de Carnê\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n Emissão de Boletos no PDV\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n Gerador de Etiquetas Personalizáveis\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cadastro de Clientes\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Lista de Clientes com Total de Compras e Ticket Médio\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cálculo do Limite de Crédito\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Dashboard de Vendas\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Lançamento de Despesas\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Transferências Automáticas no Fechamento de Caixa\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n COMPRAS\r\n
\r\n \r\n \r\n \r\n Ordem de Compra\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Emissão de NF-e (Entrada, Crédito de ICMS, Retorno de Mercadoria)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Importação de XML\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Manifestação de Destinatário de NF-e\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ESTOQUE\r\n
\r\n \r\n \r\n \r\n Controle de Estoque\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Dashboard de Estoque\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Registro de Inventário Automatizado\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n RELATÓRIOS\r\n
\r\n \r\n \r\n \r\n Emissão Relatórios\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Exportação de Relatórios (PDF e XLS)\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Envio de Relatórios por e-mail\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n Personalização de Relatórios\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n Personalização de Modelos de Etiquetas\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n POLÍTICAS DE ACESSO\r\n
\r\n \r\n \r\n \r\n Cadastro de Usuários\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Grupos de Usuários\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Gerenciamento de Acesso às Filiais\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Restrição de Acesso por Dia da Semana e Horário\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Controle Permissão de Acesso por Usuário e/ou Grupo de Usuário\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n PORTAL DO CONTADOR\r\n
\r\n \r\n \r\n \r\n Acesso ao Portal do Contador\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}","import { React, useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Checkbox, Modal, Form, Descriptions, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { FormatNumber, FormatFone } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalProdutoCondicional({ exibirModalProdutoCondicional, fecharModalProdutoCondicional, dadosItens }) {\r\n const [itens, setItens] = useState();\r\n const [dadosCondicional, setDadosCondicional] = useState({});\r\n\r\n useEffect(() => {\r\n if (!!dadosItens && !!dadosItens.vnc_id) {\r\n carregarDados();\r\n setDadosCondicional(dadosItens);\r\n }\r\n }, [dadosItens])\r\n\r\n function carregarDados() {\r\n if (!!dadosItens && !!dadosItens.vnc_id) {\r\n console.log('dadosItens', itens);\r\n api.get(`VendaCondicionalItem/Listar?IdVendaCondicional=${dadosItens.vnc_id}`).then(\r\n res => {\r\n setItens(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n return (\r\n fecharModalProdutoCondicional(true)}\r\n footer={null}\r\n maskClosable={false}\r\n width={900}>\r\n
\r\n \r\n
\r\n Condicional Nº: {dadosCondicional.vnc_numero}\r\n \r\n \r\n Emitida em: {moment(dadosCondicional.vnc_datalancamento).format('DD/MM/YYYY')}\r\n \r\n \r\n Situação: {dadosCondicional.vnc_situacao}\r\n \r\n \r\n Cliente: {dadosCondicional.cli_nome}\r\n \r\n \r\n Vendedor: {dadosCondicional.ven_nome}\r\n \r\n \r\n Retorno da Mercadoria: {moment(dadosCondicional.vnc_prazoretorno).format('DD/MM/YYYY')}\r\n \r\n \r\n Telefone: {FormatFone(dadosCondicional.vnc_telefonecliente)}\r\n \r\n \r\n Valor Total (R$): {FormatNumber(dadosCondicional.vnc_valortotal, true)}\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n \r\n \r\n {pro_descricao}\r\n \r\n {!!descricaograde &&\r\n \r\n \r\n {descricaograde}\r\n \r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'EAN',\r\n width: 10,\r\n align: 'center',\r\n render: ({ pro_ean, prg_ean }) => (\r\n
\r\n \r\n
\r\n {!!pro_ean ? pro_ean : prg_ean}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 50,\r\n align: 'right',\r\n render: ({ vci_quantidade }) => (\r\n
\r\n \r\n
\r\n {vci_quantidade}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde Dev.',\r\n width: 50,\r\n align: 'right',\r\n render: ({ vci_devolvido }) => (\r\n
\r\n \r\n
\r\n {vci_devolvido}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 80,\r\n render: ({ vci_valorun }) => (\r\n
\r\n {FormatNumber(vci_valorun, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ vci_valorun, vci_quantidade, vci_devolvido }) => (\r\n
\r\n {FormatNumber((vci_quantidade - vci_devolvido) * vci_valorun, true)}\r\n
\r\n ),\r\n }\r\n ]\r\n } />\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Input, Select, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { InputPhone, SelectPaginacao } from \"../../../components\";\r\nimport SelectPaginado from \"../../selectPaginado\";\r\nimport { selectPaginadoActions } from \"../../../actions\";\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalTelefone({ form, listaTelefones, exibirModalTelefone, fecharModalTelefone }) {\r\n const [dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n if (exibirModalTelefone && !!listaTelefones) {\r\n var lista = [];\r\n if (!!listaTelefones.tpt_id) {\r\n lista.push({ name: \"tpt_id\", campo: \"Codigo\", value: listaTelefones.tpt_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }, [exibirModalTelefone]);\r\n\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalTelefone();\r\n }\r\n });\r\n };\r\n\r\n const onFinish = async values => {\r\n let indice = form.getFieldValue().indice;\r\n let lista = [...listaTelefones.dadosTelefone];\r\n\r\n let listaTpTelefone = await listarTpTelefone(form.getFieldValue().tpt_id);\r\n values.tpt_descricao = listaTpTelefone[0].tpt_descricao;\r\n values.psc_ativo = true;\r\n values.psc_numero = values.psc_numero.replace(/\\D/g, '');\r\n if (!!indice) {\r\n values.psc_principal = lista.filter((psc) => (psc.indice === indice))[0].psc_principal;\r\n }\r\n values.tpt = listaTpTelefone[0];\r\n if (indice >= 0) {\r\n lista[indice] = values;\r\n } else {\r\n let verificaOcupacaoAdd = lista.filter(o => o.psc_numero === form.getFieldValue().psc_numero);\r\n if (verificaOcupacaoAdd.length > 0) {\r\n fecharModalTelefone();\r\n notification.info({ message: 'Telefone já adicionado!' });\r\n } else {\r\n if (lista.length > 0) {\r\n values.psc_principal = false;\r\n } else {\r\n values.psc_principal = true;\r\n }\r\n lista.push(values);\r\n }\r\n }\r\n listaTelefones.setDadosTelefone(lista);\r\n form.resetFields();\r\n fecharModalTelefone();\r\n };\r\n\r\n async function listarTpTelefone(tpt_id) {\r\n let req = await api.get(`TipoTelefone/Listar?Codigo=${tpt_id}`);\r\n if (req.status === 200 && !!req.data) {\r\n return req.data.items;\r\n }\r\n return {};\r\n }\r\n\r\n const inputRef = React.createRef();\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (exibirModalTelefone && !!inputRef.current) {\r\n inputRef.current.focus({ cursor: 'end', })\r\n };\r\n }, 500);\r\n }, [exibirModalTelefone])\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose={true}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n ({tp.tpt_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Defina as Informações de Origem e Destino aqui!\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {mostrarCsoSn === true &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {est.est_sigla} - {est.est_descricao}\r\n }\r\n />\r\n \r\n \r\n \r\n {/* Quando empresa for do Geral */}\r\n \r\n {mostrarCstIcms === true && mostrarAlicotaIcms === true &&\r\n \r\n calculaAliquotaEquivalente()}\r\n />\r\n \r\n }\r\n {mostrarCstIcms === true && mostrarReducaoBC === true &&\r\n \r\n
\r\n Aliquota Efetiva\r\n \r\n \r\n \r\n
\r\n calculaPercentualReducao()}\r\n />\r\n \r\n }\r\n {mostrarCstIcms === true && mostrarReducaoBC === true &&\r\n \r\n calculaAliquotaEquivalente()}\r\n />\r\n \r\n }\r\n {/* Quando empresa for do simples nacional */}\r\n \r\n {mostrarCsoSn === true && mostrarAlicotaIcms === true &&\r\n \r\n calculaAliquotaEquivalente()}\r\n />\r\n \r\n }\r\n {mostrarCsoSn === true && mostrarReducaoBC === true &&\r\n \r\n
\r\n Aliquota Efetiva\r\n \r\n \r\n \r\n
\r\n calculaPercentualReducao()}\r\n />\r\n \r\n }\r\n {mostrarCsoSn === true && mostrarReducaoBC === true &&\r\n \r\n calculaAliquotaEquivalente()}\r\n />\r\n \r\n }\r\n \r\n {mostrarCstIcms === true && mostrarDiferimentoIcms === true &&\r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Form, Input, Checkbox, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../../state\";\r\n\r\nexport default function ModalVeiculo({ form, listaVeiculos, exibirModalVeiculo, fecharModalVeiculo }) {\r\n\r\n const [veiculos, setVeiculos] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalVeiculo();\r\n form.resetFields();\r\n }\r\n });\r\n };\r\n\r\n const salvarVeiculo = record => {\r\n let indice = form.getFieldValue().indice;\r\n delete record.indice;\r\n let lista = [...listaVeiculos.dadosVeiculos];\r\n if(!!manutencao.dados){\r\n record.trn_id = manutencao.dados.trn_id;\r\n }\r\n if (indice >= 0) {\r\n lista[indice] = record;\r\n } else {\r\n lista.push(record);\r\n }\r\n listaVeiculos.setDadosVeiculos(lista);\r\n fecharModalVeiculo();\r\n form.resetFields();\r\n };\r\n\r\n return (\r\n form.submit()}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Veículo Ativo? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { getLocal } from \"../../../services/auth\";\r\nimport { MaskFormat, FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalCancelamentoNfe({ dadosNota, exibirModalCancelarEstornar, fecharModalCancelarEstornar, titleModal, textoBotao }) {\r\n const [form] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalCancelarEstornar();\r\n }\r\n });\r\n };\r\n\r\n const realizarCancelamento = () => {\r\n let motivo = '';\r\n let dados = { ...dadosNota };\r\n dados.loc_id = parseInt(getLocal());\r\n dados.justificativa = form.getFieldValue().justificativa;\r\n if (!dados.justificativa || dados.justificativa.length < 15) {\r\n notification.warning({ message: `Aviso!`, description: `A Justificativa deve ter no mínimo 15 caracteres!` })\r\n return false;\r\n }\r\n setCarregando(true);\r\n api.post(`NotaFiscal/Cancelar`, dados).then(\r\n res => {\r\n if (dados.ntf_docfiscal == true) {\r\n let _cStat = res.data.retorno.retEvento[0].infEvento.cStat;\r\n motivo = _cStat + '-' + res.data.retorno.retEvento[0].infEvento.xMotivo;\r\n if (_cStat == 135 || _cStat == 155 || _cStat == 101 || _cStat == 573 || _cStat == 218) {\r\n notification.success({ message: `NF-e Nº: ${dadosNota.ntf_numero} cancelada com sucesso !`, description: motivo });\r\n } else {\r\n notification.warning({ message: `Não foi possível efetuar o cancelamento da NF-e Nº: ${dadosNota.ntf_numero} !`, description: motivo });\r\n }\r\n } else {\r\n if (res.data.retorno.cStat == 135)\r\n notification.success({ message: `NF-e Nº: ${dadosNota.ntf_numero} cancelada com sucesso !` });\r\n else\r\n notification.warning({ message: `Não foi possível efetuar o cancelamento da NF-e Nº: ${dadosNota.ntf_numero} !`});\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n notification.warning({ description: `Não foi possível efetuar o cancelamento da NF-e Nº: ${dadosNota.ntf_numero} !`, message: 'Aviso' });\r\n setCarregando(false);\r\n }\r\n ).finally(\r\n () => {\r\n form.resetFields();\r\n setCarregando(false);\r\n fecharModalCancelarEstornar();\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n {textoBotao}\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose\r\n >\r\n
\r\n \r\n \r\n {dadosNota.ntf_chavenfe} \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_nomedest}\r\n \r\n \r\n \r\n \r\n {MaskFormat(dadosNota.ntf_cnpjcpfdest, '', true)}\r\n \r\n \r\n {dadosNota.ntf_numero}\r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_serie}\r\n \r\n \r\n {dadosNota.ntf_modelo}\r\n \r\n \r\n \r\n \r\n {moment(dadosNota.ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n {dadosNota.tip_descricao}\r\n \r\n \r\n \r\n \r\n {FormatNumber(dadosNota.valor_total, true)} \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CloudUploadOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { novaAbaNavegador } from \"../../../services/funcoes\";\r\nimport { MaskFormat, FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalReenviarSefaz({ dadosNota, exibirModalReenviarSefaz, fecharModalReenviarSefaz, titleModal, textoBotao }) {\r\n const [form] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModalReenviarSefaz();\r\n }\r\n });\r\n };\r\n\r\n const realizarReenvioSefaz = () => {\r\n setCarregando(true);\r\n let _link = `NotaFiscal/ReenviarNotaSefaz/${dadosNota.ntf_id}`;\r\n if (dadosNota.ntf_finalidade === 3)// Nota ajuste\r\n _link = `NotaFiscalDebitoCredito/ReenviarNotaSefaz/${dadosNota.ntf_id}`;\r\n\r\n api.post(_link).then(\r\n (retornoNF) => {\r\n if (retornoNF.status === 200) {\r\n if (retornoNF.data.ntf_status === 1 && !!retornoNF.data.ntf_chavenfe) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${retornoNF.data.ntf_chavenfe}`);\r\n } else if (retornoNF.data.ntf_status === 1 && !!retornoNF.data.ntf_chavenfe) {\r\n }\r\n }\r\n notification.success({ message: 'Sucesso', description: `NF-e Autorizada com sucesso!` });\r\n }\r\n\r\n ).catch(\r\n (erro) => {\r\n if (!!erro.response && !!erro.response.data) {\r\n notification.error({ description: erro.response.data, message: `Aviso` });\r\n } else {\r\n notification.error({ description: 'Não foi possível Autorizar nota de transferência!', message: `Aviso` });\r\n }\r\n setCarregando(false);\r\n }\r\n ).finally(() => {\r\n setCarregando(false);\r\n form.resetFields();\r\n fecharModalReenviarSefaz();\r\n });\r\n console.log(dadosNota)\r\n }\r\n return (\r\n \r\n Reenviar NF-e Sefaz\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose\r\n >\r\n
\r\n \r\n \r\n {dadosNota.ntf_chavenfe} \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_nomedest}\r\n \r\n \r\n \r\n \r\n {MaskFormat(dadosNota.ntf_cnpjcpfdest, '', true)}\r\n \r\n \r\n {dadosNota.ntf_numero}\r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_serie}\r\n \r\n \r\n {dadosNota.ntf_modelo}\r\n \r\n \r\n \r\n \r\n {moment(dadosNota.ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n {FormatNumber(dadosNota.valor_total, true)} \r\n \r\n \r\n \r\n
\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Modal, Select, Typography } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\n\r\nexport default function ModalDevolucao({ exibirModalDevolucao = false, fecharModalDevolucao, dadosNotaDevolucao, abrirManutencao }) {\r\n\r\n const [regimeTributario, setRegimeTributario] = useState([]);\r\n const [formulario] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalDevolucao();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?nome=RegimeTributarioFiscal`).then(\r\n res => {\r\n setRegimeTributario(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }, []);\r\n\r\n function salvarRegimeTributario() {\r\n api.post(`Pessoa/EditarRegimeTributario?codigoPessoa=${dadosNotaDevolucao.pes_id}&codigoRegimeTributario=${formulario.for_regimetributariofiscal}`).then(res => {\r\n if (res.data) {\r\n fecharModalDevolucao();\r\n }\r\n }, erro => {\r\n Modal.error({\r\n title: `Atenção!`,\r\n content: `Não foi possivel alterar o regime tributário para o fornecedor: ${dadosNotaDevolucao.pes_nome}!`\r\n });\r\n fecharModalDevolucao(false);\r\n });\r\n };\r\n\r\n return (\r\n \r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n Para efetuar devolução de notas é necessário informar um regime tributário para o fornecedor: {dadosNotaDevolucao.pes_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Input, Button, Modal, Table, notification, Divider } from \"antd\";\r\nimport { DeleteOutlined, ExclamationCircleOutlined, PlusOutlined, MailOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../../services/api\";\r\nimport { useStateValue } from '../../../state';\r\nimport { listagemActions } from \"../../../actions\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport { formatarCpf, isObjetoDiffVazio } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalEnvioNFeEmail({ exibirModalEnvioNFeEmail, fecharModalEnvioNFeEmail }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dadosNota, setDadosNota] = useState({});\r\n const [listaEmail, setListaEmail] = useState([]);\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && isObjetoDiffVazio(manutencao.dados)) {\r\n setDadosNota(manutencao.dados);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+dest' } }), []);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalEnvioNFeEmail();\r\n }\r\n });\r\n };\r\n\r\n const enviarEmail = () => {\r\n let dados = {};\r\n let enderecos = [];\r\n listaEmail.forEach((email) => {\r\n enderecos.push(email.dest);\r\n })\r\n dados.ntf_id =dadosNota.ntf_id;\r\n dados.chaveNFe = dadosNota.ntf_chavenfe;\r\n dados.enderecosDestinatarios = enderecos;\r\n api.post('NotaFiscal/EnviarEmailXml', dados).then(\r\n (res) => {\r\n notification.success({ description: 'Email enviado com sucesso!', message: 'Aviso' });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n fecharModalEnvioNFeEmail()\r\n }\r\n );\r\n };\r\n\r\n function adicionarEmail() {\r\n let endereco = form.getFieldValue().enderecoEmail;\r\n if (!!endereco) {\r\n let lista = [...listaEmail];\r\n lista.push({ id: lista.length, dest: endereco });\r\n setListaEmail(lista);\r\n form.setFieldsValue({ enderecoEmail: null });\r\n }\r\n };\r\n\r\n function excluirEmail(record) {\r\n let listaE = [...listaEmail];\r\n let emailLista = listaE.filter((lista) => (lista.id !== record.id));\r\n setListaEmail(emailLista);\r\n };\r\n\r\n return (\r\n \r\n Enviar E-mail\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n {dadosNota.ntf_chavenfe}\r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_numero}\r\n \r\n \r\n \r\n \r\n {dadosNota.ser_serie}\r\n \r\n \r\n {!!dadosNota.ntf_dataemissao ? moment(dadosNota.ntf_dataemissao).format('DD/MM/YYYY') : null}\r\n \r\n \r\n \r\n \r\n {!!dadosNota.valor_total ? FormatNumber(dadosNota.valor_total, true) : null}\r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_nomedest}\r\n \r\n \r\n \r\n \r\n {!!dadosNota.ntf_cnpjcpfdest ? formatarCpf(dadosNota.ntf_cnpjcpfdest) : ''}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {dest}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Result, Row, Col, Button, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, CustomerServiceOutlined } from \"@ant-design/icons\";\r\n\r\nimport { AberturaChamado } from \"../../../components\";\r\n\r\nexport default function ModalAjudaRejeicaoNfe({exibirModalAjudaRejeicaoNfe, fecharModalAjudaRejeicaoNfe}) {\r\n\r\n const [activeOpen, setActiveOpen] = useState(false);\r\n\r\n const handleOnClickOpen = () => {\r\n setActiveOpen(true); \r\n }\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalAjudaRejeicaoNfe();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n
\r\n Aguarde... \r\n }\r\n />\r\n
\r\n \r\n
Código - Motivo \r\n \r\n \r\n \r\n No momento não temos nenhuma possivel solução para a rejeição da NF-e ocorrida nesta nota fiscal (cStat = 900) cadastrada em nossa base de dados.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { FormatNumber } from \"../ValueObjects\";\r\nimport api from \"./api\";\r\nimport { getEmpresa } from \"./auth\";\r\nimport jsreports from \"jsreports/jsreports-all\";\r\nimport { carregarConfiguracoes, imprimirRawBase64 } from \"./servidorImpressora\";\r\nimport { substituirCaracterEspecial } from \"./funcoes\";\r\n\r\nconst squemaEtiquetaProduto = [\r\n {\r\n nome: 'Codigo_Empresa',\r\n tipo: 'number'\r\n },\r\n {\r\n nome: 'Empresa',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Produto',\r\n tipo: 'number'\r\n },\r\n {\r\n nome: 'Produto',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Grade',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Marca',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Preco',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Ean',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Etiqueta',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Codigo_Referencia',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Observacao',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Quantidade_Parcela',\r\n tipo: 'string'\r\n },\r\n {\r\n nome: 'Valor_Parcelado',\r\n tipo: 'string'\r\n }\r\n];\r\n\r\n\r\nexport async function imprimirEtiquetaImp(modelo, listaItens) {\r\n let listaEtiqueta = [];\r\n let comandosEnviarImp = [];\r\n let config = await carregarConfiguracoes();\r\n listaItens.forEach((item) => {\r\n let indice = 0;\r\n while (indice < item.quantidade) {\r\n let etiqueta = {\r\n pro_codigo: item.pro_codigo,\r\n pro_codigoetiqueta: item.pro_codigoetiqueta,\r\n prg_codigoetiqueta: item.prg_codigoetiqueta,\r\n pro_referencia: item.pro_referencia,\r\n grade: item.grade,\r\n pro_ean: !!item.prg_ean ? item.prg_ean : item.pro_ean,\r\n lpi_valorvenda: item.lpi_valorvenda,\r\n pro_descricao: item.pro_descricao\r\n }\r\n listaEtiqueta.push(etiqueta);\r\n indice++;\r\n }\r\n });\r\n\r\n let qtdComandos = parseInt(listaEtiqueta.length / modelo.met_colunas);\r\n for (let x = 0; x <= qtdComandos; x++) {\r\n let comando = modelo.met_comando;\r\n for (let i = 1; i <= modelo.met_colunas; i++) {\r\n let indiceEtiqueta = i + (x * modelo.met_colunas);\r\n if (indiceEtiqueta <= listaEtiqueta.length) {\r\n let indice = indiceEtiqueta - 1;\r\n /* let configCodBarra = formulario.getFieldValue().persCodBarra;\r\n if (configCodBarra === 1) {\r\n comando = comando.replace('@codigoBarras' + i, listaEtiqueta[indice].pro_codigo);\r\n } else if (configCodBarra === 2) {\r\n comando = comando.replace('@codigoBarras' + i, !!listaEtiqueta[indice].pro_codigoetiqueta ? listaEtiqueta[indice].pro_codigoetiqueta : listaEtiqueta[indice].prg_codigoetiqueta);\r\n } else {*/\r\n comando = comando.replace('@codigoBarras' + i, listaEtiqueta[indice].pro_ean);\r\n //}\r\n comando = comando.replace('@precoProduto' + i, 'R$ ' + parseFloat(listaEtiqueta[indice].lpi_valorvenda).toFixed(2).replace('.', ','));\r\n /*if (dadosAdicionais) {\r\n let entrada = 1;\r\n let qtdParc = formulario.getFieldValue().numeroParcelas\r\n if (formulario.getFieldsValue().possuiEntrada) {\r\n comando = comando.replace('@formaPagamento' + i, `${qtdParc}x(${entrada}+${qtdParc - entrada})`);\r\n } else {\r\n comando = comando.replace('@formaPagamento' + i, `${qtdParc}x`);\r\n }\r\n comando = comando.replace('@valorPagamento' + i, FormatNumber(listaEtiqueta[indice].lpi_valorvenda / qtdParc, true));\r\n } else {*/\r\n comando = comando.replace('@formaPagamento' + i, ' ');\r\n comando = comando.replace('@valorPagamento' + i, ' ');\r\n //}\r\n\r\n comando = comando.replace('@codigoProduto' + i, !!listaEtiqueta[indice].pro_codigo ? listaEtiqueta[indice].pro_codigo : ' ');\r\n comando = comando.replace('@codigoEtiqueta' + i, !!listaEtiqueta[indice].pro_codigoetiqueta ? listaEtiqueta[indice].pro_codigoetiqueta : ' ');\r\n comando = comando.replace('@referenciaProduto' + i, !!listaEtiqueta[indice].pro_referencia ? listaEtiqueta[indice].pro_referencia : ' ');\r\n\r\n if (!!listaEtiqueta[indice].descricaograde) {\r\n comando = comando.replace('@gradeProduto' + i + 'Linha1', listaEtiqueta[indice].descricaograde.substr(0, parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n if (listaEtiqueta[indice].descricaograde.length > parseInt(modelo.met_quantidadecaracteresdescricaoproduto)) {\r\n comando = comando.replace('@gradeProduto' + i + 'Linha2', listaEtiqueta[indice].descricaograde.substr(parseInt(modelo.met_quantidadecaracteresdescricaoproduto), parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n } else {\r\n comando = comando.replace('@gradeProduto' + i + 'Linha2', ' ');\r\n }\r\n } else {\r\n comando = comando.replace('@gradeProduto' + i + 'Linha1', ' ');\r\n comando = comando.replace('@gradeProduto' + i + 'Linha2', ' ');\r\n }\r\n\r\n comando = comando.replace('@descricaoProduto' + i + 'Linha1', listaEtiqueta[indice].pro_descricao.substr(0, parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n\r\n if (listaEtiqueta[indice].pro_descricao.length > parseInt(modelo.met_quantidadecaracteresdescricaoproduto)) {\r\n comando = comando.replace('@descricaoProduto' + i + 'Linha2', listaEtiqueta[indice].pro_descricao.substr(parseInt(modelo.met_quantidadecaracteresdescricaoproduto), parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n } else {\r\n comando = comando.replace('@descricaoProduto' + i + 'Linha2', ' ');\r\n }\r\n\r\n comando = substituirCaracterEspecial(comando);\r\n\r\n } else {\r\n comando = comando.replace('@codigoProduto' + i, ' ');\r\n comando = comando.replace('@codigoEtiqueta' + i, ' ');\r\n comando = comando.replace('@referenciaProduto' + i, ' ');\r\n comando = comando.replace('@codigoBarras' + i, ' ');\r\n comando = comando.replace('@precoProduto' + i, ' ');\r\n comando = comando.replace('@formaPagamento' + i, ' ');\r\n comando = comando.replace('@valorPagamento' + i, ' ');\r\n comando = comando.replace('@gradeProduto' + i + 'Linha1', ' ');\r\n comando = comando.replace('@gradeProduto' + i + 'Linha2', ' ');\r\n comando = comando.replace('@descricaoProduto' + i + 'Linha1', ' ');\r\n comando = comando.replace('@descricaoProduto' + i + 'Linha2', ' ');\r\n }\r\n }\r\n comandosEnviarImp.push(comando);\r\n }\r\n\r\n comandosEnviarImp.reduce(function (p, val) {\r\n return p.then(function () {\r\n\r\n return imprimirRawBase64(config.impressoraEtiqueta.name, val);\r\n });\r\n }, Promise.resolve());\r\n};\r\n\r\nexport function imprimirImpressoraPadrao(idModelo, listaItens) {\r\n\r\n buscarDadosEmpresa((dadosEmpresa) => {\r\n api.get(`RelatorioModeloEtiqueta/Listar?Id=${idModelo}`).then(\r\n res => {\r\n montarEtiquetaImpressora(res.data, listaItens, dadosEmpresa);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n });\r\n};\r\n\r\nfunction buscarDadosEmpresa(callback) {\r\n api.get(`Empresa/Buscar/${getEmpresa()}`).then(\r\n res => {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n};\r\n\r\nfunction montarEtiquetaImpressora(dadosRel, listaItens, dadosEmpresa) {\r\n let qtd = dadosRel.quantidadeColuna;\r\n let qtdTot = 0;\r\n let campos = [];\r\n let dadosCampos = [];\r\n let listaDadosImpressora = [];\r\n let numeroColuna = 1;\r\n let dadosAux = [];\r\n let dadosImpressora = {\r\n id: \"etiqueta\",\r\n name: \"etiqueta\",\r\n };\r\n listaItens.forEach((itens) => {\r\n qtdTot += itens.quantidade;\r\n });\r\n squemaEtiquetaProduto.forEach((squema) => {\r\n for (let i = 1; i <= qtd; i++) {\r\n campos.push({ name: `${squema.nome}_Coluna_${i}`, type: squema.tipo })\r\n }\r\n });\r\n\r\n listaItens.forEach((produto) => {\r\n for (let idx = 1; idx <= produto.quantidade; idx++) {\r\n let valorParcelado = 0;\r\n let quantidadeParcela = '';\r\n /*if (dadosAdicionais) {\r\n let qtdParcelas = !!formulario.getFieldValue().numeroParcelas ? formulario.getFieldValue().numeroParcelas : 1;\r\n if (!!formulario.getFieldValue().possuiEntrada) {\r\n quantidadeParcela = `${qtdParcelas}x(1+${qtdParcelas - 1})`;\r\n } else {\r\n quantidadeParcela = qtdParcelas + 'x';\r\n }\r\n\r\n valorParcelado = FormatNumber(produto.lpi_valorvenda / qtdParcelas, true);\r\n }*/\r\n dadosAux.push({\r\n ['Codigo_Empresa_Coluna_' + numeroColuna]: getEmpresa(),\r\n ['Empresa_Coluna_' + numeroColuna]: dadosEmpresa.emp_nomefantasia,\r\n ['Codigo_Produto_Coluna_' + numeroColuna]: produto.pro_codigo,\r\n ['Produto_Coluna_' + numeroColuna]: produto.pro_descricao,\r\n ['Grade_Coluna_' + numeroColuna]: produto.descricaograde,\r\n ['Marca_Coluna_' + numeroColuna]: produto.mar_nome,\r\n ['Preco_Coluna_' + numeroColuna]: FormatNumber(produto.lpi_valorvenda, true),\r\n ['Ean_Coluna_' + numeroColuna]: !!produto.prg_ean ? produto.prg_ean : produto.pro_ean,\r\n ['Codigo_Etiqueta_Coluna_' + numeroColuna]: produto.pro_codigoetiqueta,\r\n ['Codigo_Referencia_Coluna_' + numeroColuna]: produto.pro_referencia,\r\n ['Observacao_Coluna_' + numeroColuna]: produto.observacao,\r\n ['Quantidade_Parcela_Coluna_' + numeroColuna]: quantidadeParcela,\r\n ['Valor_Parcelado_Coluna_' + numeroColuna]: valorParcelado\r\n });\r\n\r\n if (numeroColuna === qtd || (qtdTot < qtd && qtdTot === numeroColuna)) {\r\n if (qtdTot < qtd) {\r\n numeroColuna++;\r\n for (let idx = numeroColuna; idx <= qtd; idx++) {\r\n dadosAux.push(retornaEtiquetaEmBranco(idx));\r\n }\r\n }\r\n dadosCampos.push(retornaObjeto(dadosAux));\r\n qtdTot = qtdTot - qtd;\r\n dadosAux = [];\r\n numeroColuna = 1;\r\n } else {\r\n numeroColuna++;\r\n }\r\n }\r\n });\r\n dadosImpressora.data = dadosCampos;\r\n dadosImpressora.schema = {\r\n fields: campos\r\n };\r\n\r\n listaDadosImpressora.push(dadosImpressora);\r\n jsreports.export({\r\n report_def: JSON.parse(dadosRel.jsonRelatorio),\r\n datasets: listaDadosImpressora,\r\n format: 'pdf',\r\n outputHandler: function (dados) {\r\n window.open(URL.createObjectURL(dados), '_blank');\r\n }\r\n })\r\n};\r\n\r\nfunction retornaEtiquetaEmBranco(numeroColuna) {\r\n return {\r\n ['Codigo_Empresa_Coluna_' + numeroColuna]: null,\r\n ['Empresa_Coluna_' + numeroColuna]: '',\r\n ['Codigo_Produto_Coluna_' + numeroColuna]: null,\r\n ['Produto_Coluna_' + numeroColuna]: '',\r\n ['Grade_Coluna_' + numeroColuna]: '',\r\n ['Marca_Coluna_' + numeroColuna]: '',\r\n ['Preco_Coluna_' + numeroColuna]: null,\r\n ['Ean_Coluna_' + numeroColuna]: '',\r\n ['Codigo_Etiqueta_Coluna_' + numeroColuna]: null,\r\n ['Codigo_Referencia_Coluna_' + numeroColuna]: '',\r\n ['Observacao_Coluna_' + numeroColuna]: '',\r\n ['Quantidade_Parcela_Coluna_' + numeroColuna]: null,\r\n ['Valor_Parcelado_Coluna_' + numeroColuna]: null\r\n }\r\n};\r\n\r\nfunction retornaObjeto(listaObj) {\r\n var objRetorno = {};\r\n for (var i = 0; i < listaObj.length; i++) {\r\n for (var attrname in listaObj[i]) {\r\n objRetorno[attrname] = listaObj[i][attrname];\r\n }\r\n }\r\n return objRetorno;\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Select, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, PrinterOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { isObjetoDiffVazio } from \"../../../services/funcoes\";\r\nimport { useStateValue } from \"../../../state\";\r\nimport api from \"../../../services/api\";\r\nimport { carregarConfiguracoes, ServidorImpressoraOnline } from \"../../../services/servidorImpressora\";\r\nimport { imprimirEtiquetaImp, imprimirImpressoraPadrao } from \"../../../services/funcoesEtiqueta\";\r\nimport SelectPaginado from \"../../../components/selectPaginado\";\r\n\r\nexport default function ModalImprimirEtiquetas({ exibirModalImprimirEtiquetas, fecharModalImprimirEtiquetas, dadosNota }) {\r\n\r\n const [listaPreco, setListaPreco] = useState([]);\r\n const [form] = Form.useForm();\r\n const [listaModelo, setListaModelo] = useState([]);\r\n const [listaModeloPadrao, setListaModeloPadrao] = useState([]);\r\n const [listaModeloEtiqueta, setListaModeloEtiqueta] = useState([]);\r\n const [listaItens, setListaItens] = useState([]);\r\n const [listaProduto, setListaProduto] = useState([]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalImprimirEtiquetas();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!exibirModalImprimirEtiquetas) {\r\n verificarServidor();\r\n }\r\n }, [exibirModalImprimirEtiquetas]);\r\n\r\n useEffect(() => {\r\n buscarListaPreco();\r\n buscarModelo();\r\n buscarModeloEtiqueta();\r\n //buscarProdutos();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!dadosNota && isObjetoDiffVazio(dadosNota)) {\r\n listarItensNota();\r\n }\r\n }, [dadosNota])\r\n\r\n function buscarProdutos() {\r\n api.get(`Produto/ListaProdutoFiltro`).then(\r\n res => {\r\n let dados = res.data;\r\n let id = 0;\r\n dados.forEach((produto) => {\r\n produto.key = id;\r\n id++;\r\n });\r\n setListaProduto(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarListaPreco() {\r\n api.get(`ListaPreco/ListarTodasListaPreco`).then(\r\n res => {\r\n if (!!res.data) {\r\n setListaPreco(res.data.items);\r\n form.setFieldsValue({ ltp_id: res.data.items.filter(lista => lista.ltp_principal)[0].ltp_id })\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n async function verificarServidor() {\r\n let servidorOn = await ServidorImpressoraOnline();\r\n if (servidorOn.online) {\r\n let conf = await carregarConfiguracoes();\r\n if (!!conf) {\r\n if (!!!conf.impressoraEtiqueta || !isObjetoDiffVazio(conf.impressoraEtiqueta)) {\r\n notification.warn({ description: 'Você deve configurar a impressora de etiquetas a ser utilizada nesse computador!', message: 'Aviso' });\r\n } else if (!!!conf.modeloEtiqueta || !isObjetoDiffVazio(conf.modeloEtiqueta)) {\r\n notification.warn({ description: 'Você deve configurar o modelo de etiquetas padrão a ser utilizado nesse computador!', message: 'Aviso' });\r\n }\r\n }\r\n } else {\r\n notification.warn({ description: 'O Servidor de impressão não esta em execução nesse computador, para utilizar impressoras de etiquetas verifique as configurações!', message: 'Aviso' });\r\n //setServidorOn(false);\r\n\r\n }\r\n };\r\n\r\n function buscarModelo() {\r\n api.get(`ModeloEtiqueta/Listar?filtro=&ordem=%2Bmet_descricao`).then(\r\n res => {\r\n let dados = res.data.items;\r\n let seq = 0;\r\n dados.forEach((modelo) => {\r\n modelo.key = seq;\r\n modelo.descricaoModelo = modelo.met_descricao;\r\n modelo.id = modelo.met_id;\r\n seq++;\r\n })\r\n setListaModeloEtiqueta(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarModeloEtiqueta() {\r\n api.get(`RelatorioModeloEtiqueta/ListarGeral?TipoEtiqueta=0`).then(\r\n res => {\r\n let dados = res.data.items;\r\n let seq = 0;\r\n dados.forEach((modelo) => {\r\n modelo.key = seq;\r\n modelo.descricaoModelo = modelo.nome;\r\n seq++;\r\n });\r\n setListaModeloPadrao(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n async function listarItensNota() {\r\n let ret = await api.get(`NotaFiscal/RetornaItensEtiquetaNota?IdListaPreco=${form.getFieldValue().ltp_id}&IdNotaFiscal=${dadosNota.ntf_id}`);\r\n let retorno = ret.data;\r\n //let dados = listaProduto.filter((prodLista) => { return retorno.find((item) => (item.pro_id === prodLista.pro_id && item.prg_id === prodLista.prg_id)) });\r\n for (let [i, item] of retorno.entries()) {\r\n item.quantidade = parseInt(item.nfi_qtde);\r\n };\r\n setListaItens(retorno);\r\n };\r\n\r\n function onChangeTipo() {\r\n let tipo = parseInt(form.getFieldValue().tpEtiqueta);\r\n let lista = [];\r\n form.setFieldsValue({ modeloEtiqueta: null });\r\n if (tipo === 0) {//Impressora Padrao\r\n lista = [...listaModeloPadrao];\r\n } else {\r\n lista = [...listaModeloEtiqueta];\r\n }\r\n setListaModelo(lista);\r\n };\r\n\r\n function imprimirEtiqueta() {\r\n listarItensNota();\r\n let tipo = form.getFieldValue().tpEtiqueta;\r\n let itens = [...listaItens];\r\n let modelo = listaModelo.filter((mod) => { return mod.id === form.getFieldValue().modeloEtiqueta })[0];\r\n if (!!modelo && itens.length > 0) {\r\n if (tipo === 0) {\r\n imprimirImpressoraPadrao(modelo.id, itens)\r\n } else {\r\n imprimirEtiquetaImp(modelo, itens);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n { imprimirEtiqueta() }}\r\n okText={\r\n <>\r\n Imprimir Etiqueta\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n {dadosNota.ntf_numero} \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n buscarListaPreco(value)}\r\n showSearch={true}\r\n allowClear={true}\r\n conteudo={\r\n lp => ({lp.ltp_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Descriptions, Form, InputNumber, Tooltip, Checkbox, Tag, Modal } from \"antd\";\r\nimport { QuestionCircleOutlined, ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { TabelaDados } from \"../../../components\";\r\n\r\nexport default function ModalGradeOrdemCompra({exibirModalGradeOrdemCompra, fecharModalGradeOrdemCompra}) {\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalGradeOrdemCompra();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n width={720}\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n 000 - descricao \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Definir Valor Para todos os Itens da Grade \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `R$ ${value}`}\r\n parser={value => value.replace('R$ ', '')}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n
\r\n \r\n {ean} \r\n \r\n \r\n \r\n {mgp_descricao} \r\n \r\n \r\n \r\n `R$ ${value}`}\r\n parser={value => value.replace('R$ ', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } /> \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport moment from 'moment';\r\nimport { Row, Col, Descriptions, Typography, Modal, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { useStateValue } from '../../../state';\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalDetalhePedido({ exibirModalDetalhesPedido, fecharModalDetalhesPedido, ped_id }) {\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [dadosPedido, setDadosPedido] = useState({ pedidoItem: [], pedidoFormaPgto: [] });\r\n\r\n const onCloseModal = () => {\r\n fecharModalDetalhesPedido();\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModalDetalhesPedido && !!ped_id) {\r\n carregarItensPedido(ped_id);\r\n }\r\n }, [exibirModalDetalhesPedido]);\r\n\r\n function carregarItensPedido(ped_id) {\r\n api.get(`Pedido/BuscaPedido?IdPedido=${ped_id}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n setDadosPedido(res.data)\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function formataCpf(value) {\r\n if (!!value) {\r\n return value.replace(/\\D/g, '')\r\n .replace(/(\\d{3})(\\d)/, '$1.$2')\r\n .replace(/(\\d{3})(\\d)/, '$1.$2')\r\n .replace(/(\\d{3})(\\d{1,2})/, '$1-$2')\r\n .replace(/(-\\d{2})\\d+?$/, '$1')\r\n }\r\n };\r\n\r\n function formataCnpj(value) {\r\n if (!!value) {\r\n return value.replace(/^(\\d{2})(\\d)/, \"$1.$2\")\r\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, \"$1 $2 $3\")\r\n .replace(/\\.(\\d{3})(\\d)/, \".$1/$2\")\r\n .replace(/(\\d{4})(\\d)/, \"$1-$2\")\r\n }\r\n };\r\n\r\n function retornaFrete() {\r\n let totFrete = 0;\r\n dadosPedido.pedidoItem.forEach((item) => {\r\n totFrete += parseFloat(item.pdi_valorfrete);\r\n });\r\n return totFrete;\r\n };\r\n\r\n function retornaValorTotal() {\r\n let valorTotal = 0;\r\n dadosPedido.pedidoItem.forEach((item) => {\r\n valorTotal += parseFloat(item.pdi_valortotal) + parseFloat(item.pdi_valorfrete);\r\n });\r\n return valorTotal;\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {dadosPedido.ped_id}\r\n \r\n \r\n {dadosPedido.ped_numero}\r\n \r\n \r\n {!!dadosPedido.pef_cpf ? formataCpf(dadosPedido.pef_cpf) : formataCnpj(dadosPedido.pej_cnpj)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosPedido.loc_id_transferencia ? dadosPedido.loc_descricao : dadosPedido.pes_nomecliente}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosPedido.pes_endereco}, {dadosPedido.pes_nroestabelecimento}, {dadosPedido.pes_bairro}, {dadosPedido.pes_cidade}, {dadosPedido.pes_uf}, {dadosPedido.pes_cep}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosPedido.pes_nometransportador}\r\n \r\n \r\n {dadosPedido.pes_nomevendedor}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosPedido.ped_observacao ? dadosPedido.ped_observacao : 'Não informado'}\r\n \r\n \r\n {FormatNumber(retornaFrete(), true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosPedido.ped_datainclusao ? moment(dadosPedido.ped_datainclusao).format('DD/MM/YYYY') : 'Não informado'}\r\n \r\n \r\n {!!dadosPedido.ped_dataprevisaoentrega ? moment(dadosPedido.ped_dataprevisaoentrega).format('DD/MM/YYYY') : 'Não informado'}\r\n \r\n \r\n {!!dadosPedido.ped_datavalidade ? moment(dadosPedido.ped_datavalidade).format('DD/MM/YYYY') : 'Não informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(retornaValorTotal(), true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Itens\" Itens\r\n \r\n \r\n \r\n {dadosPedido.pedidoItem.map((itens) => (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {itens.pro_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {parseInt(itens.pdi_quantidade)}\r\n \r\n \r\n {FormatNumber(itens.pdi_valorunitario, true)}\r\n \r\n \r\n {FormatNumber(itens.pdi_valortotal, true)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \"Forma Forma de Pagamento\r\n \r\n \r\n \r\n {dadosPedido.pedidoFormaPgto.map(formaPagamento => (\r\n
\r\n \r\n \r\n
\r\n {formaPagamento.fpg_descricao} / {formaPagamento.cpg_descricao} (R$):\r\n \r\n \r\n {FormatNumber(formaPagamento.pfp_valor, true)}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, InputNumber, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../../state';\r\nimport { manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function ModalDevolucaoCondicional({ exibirModal, fecharModal, dados, dadosItens, setDadosItens }) {\r\n\r\n const [formDados] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n if (!!dados) {\r\n formDados.setFieldsValue(dados);\r\n formDados.setFieldsValue({ vci_quantidadeDevolvida: dados.vci_devolvido });\r\n } else {\r\n formDados.resetFields();\r\n }\r\n }, [dados]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const salvarDados = values => {\r\n if (values.vci_quantidadeDevolvida > dados.vci_quantidade) {\r\n return (\r\n notification.warning({\r\n message: \"Aviso\",\r\n description: \"Valor informado maior a que quantidade pendente\",\r\n })\r\n )\r\n } else if (values.vci_quantidadeDevolvida < 0) {\r\n return (\r\n notification.warning({\r\n message: \"Aviso\",\r\n description: \"Valor informado menor que 0, favor informar um valor valido\",\r\n })\r\n )\r\n }\r\n dadosItens.filter((item) => { return item.vci_id === dados.vci_id })[0].vci_devolvido = values.vci_quantidadeDevolvida;\r\n if (dadosItens.filter((item) => { return item.vci_id === dados.vci_id })[0].vci_devolvido === dadosItens.filter((item) => { return item.vci_id === dados.vci_id })[0].vci_quantidade) {\r\n dadosItens.filter((item) => { return item.vci_id === dados.vci_id })[0].devolvidoTotal = true;\r\n }else{\r\n dadosItens.filter((item) => { return item.vci_id === dados.vci_id })[0].devolvidoTotal = false;\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosItens } });\r\n fecharModal();\r\n }\r\n\r\n return (\r\n { formDados.submit() }}\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n okText={\r\n <>\r\n Ok\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Tag, Table, Button, Form } from \"antd\";\r\nimport { FormatNumber } from '../../../ValueObjects';\r\n\r\n\r\nexport default function TabItens({ itens }) {\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n \r\n \r\n {pro_descricao}\r\n \r\n {!!atributos &&\r\n \r\n \r\n {atributos.grade}\r\n \r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'UM.',\r\n width: 60,\r\n align: 'center',\r\n render: ({ ump_id }) => (\r\n
\r\n \r\n
\r\n {ump_id}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 60,\r\n align: 'right',\r\n render: ({ oit_qtde }) => (\r\n
\r\n \r\n
\r\n {oit_qtde}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ oit_valorunitario }) => (\r\n
\r\n {FormatNumber(oit_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ oit_valorunitario, oit_qtde }) => (\r\n
\r\n {FormatNumber(oit_qtde * oit_valorunitario, true)}\r\n
\r\n ),\r\n }\r\n ]\r\n } />\r\n \r\n );\r\n}","\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Table, Form } from \"antd\";\r\n\r\nimport moment from 'moment';\r\nimport { FormatNumber } from '../../../ValueObjects';\r\nimport { validarNumeros } from \"../../../services/funcoes\";\r\n\r\nexport default function TabFormaPagamento({ formaPagamento}) {\r\n\r\n const [ valorFinal, setValorFinal] = useState();\r\n\r\n useEffect(() => {\r\n valortotal();\r\n }, []);\r\n\r\n function valortotal (){\r\n let pagamento = [...formaPagamento];\r\n let dados = pagamento;\r\n dados.forEach((itens) =>{\r\n let desconto = validarNumeros((itens.orf_valortotal * itens.orf_percentualdesconto)/100);\r\n let acrescimo = validarNumeros((itens.orf_valortotal * itens.orf_percentualacrescimo)/100);\r\n let total = (validarNumeros(itens.orf_valortotal) + acrescimo) - desconto;\r\n\r\n itens.desconto = desconto;\r\n itens.acrescimo = acrescimo;\r\n itens.total = total;\r\n })\r\n setValorFinal(dados);\r\n }\r\n\r\n const expandedRowRender = record => {\r\n return
(\r\n
\r\n \r\n
\r\n Nº: {prc_numeroparcela}\r\n \r\n \r\n Vencimento: {!!prc_datavencimento ? moment(prc_datavencimento).format('DD/MM/YYYY') : null}\r\n \r\n \r\n Valor (R$): {FormatNumber(!!prc_valor ? prc_valor : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } pagination={false} />\r\n };\r\n\r\n const rowExpandable = record => { return record.fpg_tipopagamento === 5 };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {fpg_descricao + (!!cpg_descricao ? '/ ' + cpg_descricao : '')}\r\n \r\n \r\n R$ {FormatNumber(!!total ? total : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } pagination={false} expandable={{ expandedRowRender, rowExpandable }} />\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Typography, Modal, Tabs } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport { formatarCnpj, formatarCpf } from \"../../../services/funcoes\";\r\nimport { TabItens, TabFormaPagamento } from './tabPage';\r\n\r\nexport default function ModalDetalheOrcamento({ exibirModal, fecharModal, dadosOrcamento }) {\r\n\r\n const [orcamento, setOrcamento] = useState([]);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n\r\n useEffect(() => {\r\n if (!!dadosOrcamento?.orc_id) {\r\n api.get(`Orcamento/OrcamentoDTO?orc_id=${dadosOrcamento.orc_id}`).then(\r\n (res) => {\r\n setOrcamento(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n }, [dadosOrcamento]);\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {orcamento.orc_numero}\r\n \r\n \r\n {!!orcamento.pef_cpf ? formatarCpf(orcamento.pef_cpf) : formatarCnpj(orcamento.pej_cnpj)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {orcamento.pes_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {orcamento.ven_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!orcamento.orc_observacao ? orcamento.orc_observacao : \"Não Informado\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!orcamento.orc_datainclusao ? moment(orcamento.orc_datainclusao).format('DD/MM/YYYY') : \"Não Informado\"}\r\n \r\n \r\n {!!orcamento.orc_datavalidade ? moment(orcamento.datavalidade).format('DD/MM/YYYY') : \"Não Informado\"}\r\n \r\n \r\n {FormatNumber(orcamento.orc_valorfrete, true)}\r\n \r\n \r\n {FormatNumber(orcamento.orc_valoroutros, true)}\r\n \r\n \r\n {FormatNumber(orcamento.orc_valortotal, true)}\r\n \r\n \r\n \r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button, Table, Tag, InputNumber, Input, Modal } from \"antd\";\r\nimport { PlusOutlined, MinusOutlined, ExclamationCircleOutlined, CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport InputPreco from \"../../inputPreco\";\r\nimport { useStateValue } from '../../../state';\r\nimport { info, validarNumeros } from \"../../../services/funcoes\";\r\nimport { manutencaoActions } from \"../../../actions\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalGradeProduto({ exibirModal, fecharModal, dados, origem, acrescimoDesconto = true, dadosValidacao }) {\r\n const [form] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dadosRetorno, setDadosRetorno] = useState([]);\r\n const [ehPercentual, setEhPercentual] = useState(false);\r\n const [dadosFiltrados, setDadosFiltrados] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!!dados) {\r\n dados.forEach((dado) => {\r\n if (!(!!dado.quantidade)) {\r\n dado.quantidade = 0;\r\n }\r\n });\r\n setDadosRetorno(dados);\r\n setDadosFiltrados(dados);\r\n } else {\r\n form.resetFields();\r\n }\r\n }, [dados]);\r\n\r\n useEffect(() => {\r\n pesquisaGrade(form.getFieldValue().pesquisa);\r\n }, [dadosRetorno]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n };\r\n\r\n const salvarDados = values => {\r\n dados?.forEach(item => {\r\n item.desconto = validarNumeros(form.getFieldValue()[`valorDesc${item.prg_id}`]);\r\n item.percDesc = validarNumeros(form.getFieldValue()[`percDesc${item.prg_id}`]);\r\n item.acrescimo = validarNumeros(form.getFieldValue()[`valorAcresc${item.prg_id}`]);\r\n item.percAcresc = validarNumeros(form.getFieldValue()[`percAcres${item.prg_id}`]);\r\n });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, dadosGrade: [...dados] } } })\r\n fecharModal();\r\n form.resetFields();\r\n };\r\n\r\n function alterarQuantidade(item, operacao, qtde = null) {\r\n let dadosTemp = [...dadosRetorno];\r\n let itemTemp = dadosTemp.find((dado) => (dado === item));\r\n\r\n if (!!dadosValidacao && dadosValidacao.dadosNfeTransferencia && parseFloat(itemTemp.valorVenda) === 0) {\r\n info(\"Não foi possivel localizar o \" + dadosValidacao.dadosNfeTransferencia.custo.value + \" do item, selecione OUTRO CUSTO e informe o produto novamente!\");\r\n return;\r\n }\r\n\r\n if (qtde !== null) {\r\n itemTemp.quantidade = qtde;\r\n } else {\r\n let qtd = !!itemTemp.quantidade ? itemTemp.quantidade : 0;\r\n if (operacao === \"mais\") {\r\n qtd++;\r\n } else if (operacao === \"menos\" && qtd > 0) {\r\n qtd--;\r\n }\r\n itemTemp.quantidade = qtd;\r\n }\r\n itemTemp.valorTotal = (parseFloat(itemTemp.quantidade) * parseFloat(itemTemp.valorVenda));\r\n if (acrescimoDesconto) {\r\n calcularAcres(ehPercentual ? 'P' : 'V', item, itemTemp);\r\n calcularDesc(ehPercentual ? 'P' : 'V', item, itemTemp);\r\n }\r\n setDadosRetorno(dadosTemp);\r\n };\r\n\r\n function pesquisaGrade(campo) {\r\n let filtrados = [];\r\n if (!!campo) {\r\n for (let item of dadosRetorno) {\r\n if (item.ean.indexOf(campo) >= 0) {\r\n filtrados.push(item);\r\n } else {\r\n for (let grade of item.atributos) {\r\n if (grade.mgp_descricao.toLowerCase().indexOf(campo.toLowerCase()) >= 0) {\r\n filtrados.push(item);\r\n }\r\n }\r\n }\r\n }\r\n setDadosFiltrados(filtrados);\r\n } else {\r\n setDadosFiltrados([...dadosRetorno]);\r\n }\r\n };\r\n\r\n function calcularDesc(tipo, item, itemTemp = null) {\r\n let salvar = false;\r\n let dadosTemp = [...dadosRetorno];\r\n if (itemTemp === null) {\r\n itemTemp = dadosTemp.find((dado) => (dado === item));\r\n itemTemp.valorTotal = (parseFloat(!!itemTemp.valorVenda ? itemTemp.valorVenda : itemTemp.pre_custoultimacompra) * itemTemp.quantidade);\r\n salvar = true;\r\n }\r\n\r\n let percDesc = parseFloat(form.getFieldValue()[`percDesc${item.prg_id}`]);\r\n let valorDesc = parseFloat(form.getFieldValue()[`valorDesc${item.prg_id}`]);\r\n let valorAcresc = parseFloat(form.getFieldValue()[`valorAcresc${item.prg_id}`]);\r\n\r\n itemTemp.valorTotal = (parseFloat(!!itemTemp.valorVenda ? itemTemp.valorVenda : itemTemp.pre_custoultimacompra) * itemTemp.quantidade);\r\n let valorRet = 0;\r\n if (!!valorDesc || !!percDesc) {\r\n if (tipo === 'P' && !!percDesc) {\r\n valorRet = (percDesc * itemTemp.valorTotal) / 100;\r\n form.setFieldsValue({ [`valorDesc${item.prg_id}`]: valorRet });\r\n valorDesc = valorRet;\r\n } else {\r\n valorRet = (valorDesc * 100) / itemTemp.valorTotal;\r\n form.setFieldsValue({ [`percDesc${item.prg_id}`]: valorRet });\r\n }\r\n }\r\n itemTemp.valorTotal = parseFloat(itemTemp.valorTotal - valorDesc + valorAcresc);\r\n\r\n if (salvar) {\r\n setDadosRetorno(dadosTemp);\r\n }\r\n };\r\n\r\n function calcularAcres(tipo, item, itemTemp = null) {\r\n let salvar = false;\r\n let dadosTemp = [...dadosRetorno];\r\n if (itemTemp === null) {\r\n itemTemp = dadosTemp.find((dado) => (dado === item));\r\n salvar = true;\r\n }\r\n\r\n let percAcresc = parseFloat(form.getFieldValue()[`percAcres${item.prg_id}`]);\r\n let valorDesc = parseFloat(form.getFieldValue()[`valorDesc${item.prg_id}`]);\r\n let valorAcresc = parseFloat(form.getFieldValue()[`valorAcresc${item.prg_id}`]);\r\n\r\n itemTemp.valorTotal = (parseFloat(!!itemTemp.valorVenda ? itemTemp.valorVenda : itemTemp.pre_custoultimacompra) * itemTemp.quantidade);\r\n let valorRet = 0;\r\n if (!!valorAcresc || !!percAcresc) {\r\n if (tipo === 'P' && !!percAcresc) {\r\n valorRet = (percAcresc * itemTemp.valorTotal) / 100;\r\n form.setFieldsValue({ [`valorAcresc${item.prg_id}`]: valorRet });\r\n valorAcresc = valorRet;\r\n } else {\r\n valorRet = (valorAcresc * 100) / itemTemp.valorTotal;\r\n form.setFieldsValue({ [`percAcres${item.prg_id}`]: valorRet });\r\n }\r\n }\r\n itemTemp.valorTotal = parseFloat(itemTemp.valorTotal - valorDesc + valorAcresc);\r\n\r\n if (salvar) {\r\n setDadosRetorno(dadosTemp);\r\n }\r\n };\r\n\r\n return (\r\n \r\n Cancelar\r\n \r\n }\r\n onOk={() => { form.submit() }}\r\n okText={\r\n <>\r\n Ok\r\n \r\n }\r\n width={780}\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n { pesquisaGrade(campo) }} allowClear\r\n />\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n {ean}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Grade',\r\n render: ({ atributos }) => (\r\n
\r\n \r\n {atributos.map(atrib => (\r\n
\r\n {atrib.mgp_descricao}\r\n \r\n ))}\r\n \r\n \r\n ),\r\n }, acrescimoDesconto ? {\r\n title: () => {\r\n return (\r\n
\r\n \r\n
\r\n Desconto\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n width: 175,\r\n align: 'center',\r\n render: (record, { prg_id }) => (\r\n \r\n \r\n \r\n \r\n {/*\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n { alterarQuantidade(record, \"\", e) }} />\r\n \r\n \r\n \r\n Informe a Senha Gerencial para poder realizar este procedimento.\r\n \r\n \r\n \r\n (visible ? : )}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Table, Tag, Form, Row, Col, notification, Modal } from \"antd\";\r\nimport { CloseOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined, SaveOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport Data from \"../../data\";\r\nimport api from \"../../../services/api\";\r\nimport { FormatNumber } from '../../../ValueObjects';\r\nimport InputPreco from \"../../inputPreco\";\r\n\r\nexport default function ModalListarParcelas({ exibirModal, fecharModal, parcelas, setParcelas }) {\r\n\r\n useEffect(() => {\r\n console.log(parcelas)\r\n }, [parcelas]);\r\n\r\n const [form] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n fecharModal();\r\n form.resetFields();\r\n\r\n };\r\n function alterarParcela(record) {\r\n alterarEstado(record);\r\n }\r\n\r\n function alterarEstado(record) {\r\n let parcelaAlt = [...parcelas];\r\n let a = {};\r\n a = parcelaAlt.find((prc) => prc.prc_id === record.prc_id);\r\n a.editando = !a.editando;\r\n setParcelas(parcelaAlt);\r\n console.log(parcelaAlt)\r\n }\r\n\r\n function salvarParcela(record) {\r\n let parcela = {\r\n prc_datavencimento: form.getFieldValue([`prc_datavencimento${record.prc_id}`]),\r\n prc_valor: form.getFieldValue([`prc_valor${record.prc_id}`]),\r\n prc_id: record.prc_id\r\n }\r\n api.put(`Parcela/EditarParcelaPagar`, parcela).then(\r\n res => {\r\n notification.success({ message: `Sucesso!`, description: `Parcela alterada com Sucesso!` });\r\n alterarEstado(record)\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n function estornaParcela(record) {\r\n if (!!record.ntf_id) {\r\n notification.warning({ message: 'Aviso', description: 'Parcela vinculada com uma nota fiscal, não é possivel estorna-la!' });\r\n return false;\r\n } else {\r\n Modal.confirm({\r\n title: 'Estornar?',\r\n icon: ,\r\n content: 'Deseja realmente estornar a parcela?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n api.put(`Parcela/EstornarParcela/${record.prc_id}`).then(\r\n res => {\r\n notification.success({ message: 'Sucesso', description: 'Parcela Estornada com Sucesso!' });\r\n }\r\n ).catch(\r\n error => {\r\n notification.warn({ message: 'Aviso', description: 'Não foi possivel estornar a parcela!' });\r\n }\r\n ).finally(() => {\r\n fecharModal();\r\n })\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
(\r\n \r\n {prc_numeroparcela}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Status Parcela',\r\n width: 100,\r\n render: ({ saldo }) => (\r\n
\r\n {saldo === 0 ? 'Liquidada' : 'Pendente'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ prc_valor, editando, prc_id, ntf_id }, idx) => (\r\n
\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Data Vencimento',\r\n width: 135,\r\n render: ({ prc_datavencimento, prc_id, editando }, idx) => (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }, {\r\n title: 'Ações',\r\n align: 'right',\r\n width: 65,\r\n render: (record, { nft_id, saldo }) => (\r\n \r\n {!record.editando && saldo !== 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {validarValor()}}/>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Input, Row, Col, Form, Button, Modal, Table, Tag } from 'antd';\r\nimport { ExclamationCircleOutlined, ImportOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { useStateValue } from '../../../state';\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\n\r\nexport default function ModalImportarElementosFormulario({ exibirModalImportarElementos, fecharModalImportarElementos, elementosFormulario, setElementosFormulario }) {\r\n const [{ listagem, manutencao }, dispatch] = useStateValue();\r\n const [listaElementosSelecionados, setListaElementosSelecionados] = useState([]);\r\n const [listaParametros, setListaParametros] = useState([]);\r\n const [pagina, setPagina] = useState(1);\r\n const [registrosPorPagina, setRegistrosPorPagina] = useState(10);\r\n const [filtrosRel, setFiltrosRel] = useState(\"\");\r\n const [codRel, setCodRel] = useState(\"\");\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a Importação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalImportarElementos();\r\n }\r\n });\r\n };\r\n\r\n const [form] = Form.useForm();\r\n\r\n function listarParametros() {\r\n let parametros = `${!!filtrosRel ? '&filtro=' + filtrosRel : \"\"}${!!codRel ? '&codigoRelatorio=' + codRel : ''}`;\r\n console.log(parametros.substring(0, 1));\r\n if (parametros.substring(0, 1) === '&') {\r\n parametros = parametros.substring(1, parametros.length)\r\n }\r\n\r\n api.get(`RelatorioParametroJasper/Listar?pageSize=500&${parametros}`).then(res => {\r\n if (res.status === 200) {\r\n let listaParametros = res.data.items\r\n let listaParametrosAtz = [];\r\n listaParametros.map((par) => {\r\n par.checked = false;\r\n listaParametrosAtz = [...listaParametrosAtz, par];\r\n })\r\n setListaParametros({ dados: listaParametrosAtz, total: res.data.total });\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n\r\n function selecionaElementos(indice, record, checked) {\r\n console.log(indice, record, checked)\r\n if (checked) {\r\n setListaElementosSelecionados([...listaElementosSelecionados, record])\r\n let listaParametrosTemp = [...listaParametros.dados]\r\n listaParametrosTemp[indice].checked = true\r\n setListaParametros({ dados: listaParametrosTemp, total: listaParametros.total })\r\n } else {\r\n let listaElementos = [...listaElementosSelecionados];\r\n let idx = listaElementos.indexOf(record);\r\n listaElementos.splice(idx, 1);\r\n setListaElementosSelecionados(listaElementos);\r\n let listaParametrosTemp = [...listaParametros.dados]\r\n listaParametrosTemp[indice].checked = false\r\n setListaParametros({ dados: listaParametrosTemp, total: listaParametros.total })\r\n }\r\n\r\n }\r\n\r\n function importarElementos() {\r\n let listaParametrosAtz = [];\r\n listaElementosSelecionados.map((par) => {\r\n delete (par.checked);\r\n delete (par.rel_id);\r\n delete (par.rpj_id);\r\n listaParametrosAtz = [...listaParametrosAtz, par];\r\n })\r\n setElementosFormulario([...elementosFormulario, ...listaParametrosAtz]);\r\n fecharModalImportarElementos();\r\n }\r\n\r\n useEffect(() => listarParametros(), [codRel, filtrosRel]);\r\n useEffect(() => setListaElementosSelecionados([]), []);\r\n useEffect(() => {\r\n if (exibirModalImportarElementos) listarParametros();\r\n }, [exibirModalImportarElementos]);\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }} footer={null}>\r\n
\r\n
\r\n \r\n
\r\n \r\n setFiltrosRel(valor)} allowClear />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n setPagina(pg),\r\n onShowSizeChange: (atual, porPagina) => setRegistrosPorPagina(porPagina)\r\n }}*/\r\n columns={[\r\n {\r\n title: 'Nome Elemento',\r\n Key: \"rpj_nomeelemento\",\r\n editable: true,\r\n render: ({ rpj_nomeelemento }) => (\r\n
\r\n {rpj_nomeelemento}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Label',\r\n Key: \"rpj_label\",\r\n editable: true,\r\n render: ({ rpj_label }) => (\r\n
\r\n {rpj_label}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'TipoElemento',\r\n Key: \"rpj_tipoelemento\",\r\n editable: true,\r\n render: ({ rpj_tipoelemento }) => (\r\n
\r\n {rpj_tipoelemento}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 80,\r\n render: (value, record, indice) => (\r\n selecionaElementos(indice, record, checked)}\r\n >\r\n Selecionar\r\n \r\n ),\r\n }\r\n ]} scroll={{ y: 350 }}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Input, Row, Col, Form, Button, Modal, Table, Tag, Select } from 'antd';\r\nimport { ExclamationCircleOutlined, ImportOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\n\r\nexport default function ModalImportarElementosCamposAdicionais({ exibirModalImportarElementos, fecharModalImportarElementos, elementosFormulario, setElementosFormulario }) {\r\n const [listaElementosSelecionados, setListaElementosSelecionados] = useState([]);\r\n const [listaParametros, setListaParametros] = useState([]);\r\n const [filtros, setFiltros] = useState(\"\");\r\n const [entidade, setEntidade] = useState();\r\n const [form] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a Importação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalImportarElementos();\r\n }\r\n });\r\n };\r\n\r\n const entidades = [\r\n { label: \"Cliente\", value: 1 },\r\n { label: \"Fornecedor\", value: 2 },\r\n { label: \"Funcionario\", value: 3 },\r\n { label: \"Produto\", value: 4 },\r\n { label: \"Trasportador\", value: 5 },\r\n { label: \"Vendedor\", value: 6 }\r\n ]\r\n\r\n function listarParametros() {\r\n // let parametros = `${!!filtros ? '&filtro=' + filtros : \"\"}${!!entidade?'&TipoEntidade='+entidade:'&ordem=+cap_ordem'}`;\r\n // api.get(`CamposPersonalizados/ListarTodos?PageNumber=1&PageSize=1000&Order=+cap_ordem${parametros}`).then(res => {\r\n let parametros = `${!!filtros?'&filtro='+filtros:\"\"}${!!entidade?'&TipoEntidade='+entidade:'&ordem=+cap_ordem'}`;\r\n api.get(`CamposPersonalizados/ListarTodos?pagina=1&PageSize=1000${parametros}`).then(res => {\r\n if (res.status === 200) {\r\n let listaParametros = res.data.items\r\n let listaParametrosAtz = [];\r\n listaParametros.map((par) => {\r\n par.checked = false;\r\n listaParametrosAtz = [...listaParametrosAtz, par];\r\n })\r\n setListaParametros({ dados: listaParametrosAtz, total: res.data.total });\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n )\r\n }\r\n\r\n function selecionaElementos(indice, record, checked) {\r\n console.log(indice, record, checked)\r\n if (checked) {\r\n setListaElementosSelecionados([...listaElementosSelecionados, record])\r\n let listaParametrosTemp = [...listaParametros.dados]\r\n listaParametrosTemp[indice].checked = true\r\n setListaParametros({ dados: listaParametrosTemp, total: listaParametros.total })\r\n } else {\r\n let listaElementos = [...listaElementosSelecionados];\r\n let idx = listaElementos.indexOf(record);\r\n listaElementos.splice(idx, 1);\r\n setListaElementosSelecionados(listaElementos);\r\n let listaParametrosTemp = [...listaParametros.dados]\r\n listaParametrosTemp[indice].checked = false\r\n setListaParametros({ dados: listaParametrosTemp, total: listaParametros.total })\r\n }\r\n\r\n }\r\n\r\n function importarElementos() {\r\n let listaParametrosAtz = [];\r\n listaElementosSelecionados.map((par) => {\r\n delete (par.checked);\r\n delete (par.rel_id);\r\n delete (par.cap_id);\r\n listaParametrosAtz = [...listaParametrosAtz, par];\r\n })\r\n setElementosFormulario([...elementosFormulario, ...listaParametrosAtz]);\r\n fecharModalImportarElementos();\r\n }\r\n\r\n useEffect(() => listarParametros(), [entidade, filtros]);\r\n useEffect(() => setListaElementosSelecionados([]), []);\r\n\r\n useEffect(() => {\r\n if (!!exibirModalImportarElementos) {\r\n listarParametros()\r\n }\r\n }, [exibirModalImportarElementos]);\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }} footer={null}>\r\n
\r\n
\r\n \r\n
\r\n \r\n setFiltros(valor)} allowClear />\r\n \r\n \r\n \r\n \r\n { setEntidade(valor); }}\r\n options={entidades}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n {cap_nomeelemento}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Label',\r\n Key: \"cap_label\",\r\n editable: true,\r\n render: ({ cap_label }) => (\r\n
\r\n {cap_label}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'TipoElemento',\r\n Key: \"cap_tipoelemento\",\r\n editable: true,\r\n render: ({ cap_tipoelemento }) => (\r\n
\r\n {cap_tipoelemento}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 80,\r\n render: (value, record, indice) => (\r\n selecionaElementos(indice, record, checked)}\r\n >\r\n Selecionar\r\n \r\n ),\r\n }\r\n ]} scroll={{ y: 350 }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport FormBuilder from 'antd-form-builder';\r\nimport { Row, Col, Form, Empty, Button, Rate, Slider, Upload, TimePicker, Modal } from 'antd';\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nFormBuilder.defineWidget('rate', Rate);\r\nFormBuilder.defineWidget('slider', Slider);\r\nFormBuilder.defineWidget('time-picker', TimePicker);\r\nFormBuilder.defineWidget('upload', Upload);\r\n\r\nexport default function ModalPersonalizacaoFormulario({ exibirModalPersonalizacao, fecharModalPersonalizacao, elementosFormulario }) {\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalPersonalizacao();\r\n }\r\n });\r\n };\r\n\r\n const [ form ] = Form.useForm();\r\n\r\n const meta = {\r\n columns: 1, \r\n fields: elementosFormulario\r\n }\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }} footer={null}>\r\n
\r\n {elementosFormulario.length > 0 && \r\n
console.log(v)}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {elementosFormulario.length === 0 && }\r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Empty, Button, Modal } from 'antd';\r\nimport {FormularioDinamico} from \"../../../components\"\r\nimport moment from 'moment'\r\n\r\nexport default function ModalPersonalizacaoFormularioFiltros({ exibirModalPersonalizacao, fecharModalPersonalizacao, elementosFormulario }) {\r\n\r\n const onCloseModal = () => {\r\n fecharModalPersonalizacao();\r\n };\r\n\r\n function finish(values){\r\n //altera o Retorno dos campos data\r\n for (let valor in values){\r\n if (!!Date.parse(values[valor]) && typeof values[valor] === \"object\" && values[valor].toString().length > 30){\r\n values[valor] = moment(values[valor]).format(\"DD/MM/YYYY\")\r\n }\r\n }\r\n console.log({values}); \r\n alert(JSON.stringify(values));\r\n }\r\n\r\n const [ form ] = Form.useForm();\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }} footer={null}>\r\n
\r\n {!!elementosFormulario && elementosFormulario.length > 0 && \r\n
\r\n
finish(v)}>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!!elementosFormulario && elementosFormulario.length === 0 && }\r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, Modal } from \"antd\";\r\nimport { CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../../state';\r\nimport { InputPreco } from \"../../../components\";\r\n\r\nexport default function ModalEditarValoresParcela({ exibirModal, fecharModal, dadosLinha, salvarDadosModal }) {\r\n\r\n const [formDados] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n if (!!dadosLinha) {\r\n formDados.setFieldsValue(dadosLinha);\r\n }\r\n }, [dadosLinha, []]);\r\n\r\n const onCloseModal = () => {\r\n formDados.resetFields();\r\n fecharModal();\r\n };\r\n\r\n const salvarDados = values => {\r\n salvarDadosModal(values);\r\n fecharModal();\r\n }\r\n\r\n function calcularValorReceber() {\r\n let valorTotal = parseFloat((!!dadosLinha.valorOriginal ? dadosLinha.valorOriginal : 0)) - parseFloat((!!dadosLinha.valorQuitado ? dadosLinha.valorQuitado : 0));\r\n if (parseFloat(formDados.getFieldValue(\"valorDesconto\")) > (valorTotal + parseFloat(formDados.getFieldValue(\"valorJuros\")) + parseFloat(formDados.getFieldValue(\"valorAcrescimo\")))) {\r\n formDados.setFieldsValue({ valorDesconto: valorTotal + parseFloat(formDados.getFieldValue(\"valorJuros\")) + parseFloat(formDados.getFieldValue(\"valorAcrescimo\")) });\r\n }\r\n\r\n let valorReceber = (valorTotal + parseFloat(formDados.getFieldValue(\"valorJuros\")) + parseFloat(formDados.getFieldValue(\"valorAcrescimo\")) - parseFloat(formDados.getFieldValue(\"valorDesconto\"))).toFixed(2);\r\n formDados.setFieldsValue({ valorPago: parseFloat(valorReceber) });\r\n };\r\n\r\n function verificarValorReceber() {\r\n let valorTotal = parseFloat((!!dadosLinha.valorOriginal ? dadosLinha.valorOriginal : 0)) - parseFloat((!!dadosLinha.valorQuitado ? dadosLinha.valorQuitado : 0));\r\n let valorReceber = (valorTotal + parseFloat(formDados.getFieldValue(\"valorJuros\")) + parseFloat(formDados.getFieldValue(\"valorAcrescimo\")) - parseFloat(formDados.getFieldValue(\"valorDesconto\"))).toFixed(2);\r\n\r\n if (parseFloat(formDados.getFieldValue(\"valorPago\")) > valorReceber) {\r\n formDados.setFieldsValue({ valorPago: valorReceber });\r\n }\r\n };\r\n\r\n return (\r\n { formDados.submit() }}\r\n okText={\r\n <>\r\n Ok\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n calcularValorReceber()} name={'valorJuros'} label={'Juros (R$)'} />\r\n \r\n \r\n calcularValorReceber()} name={'valorDesconto'} label={'Descontos (R$)'} />\r\n \r\n \r\n calcularValorReceber()} name={'valorAcrescimo'} label={'Acréscimos (R$)'} />\r\n \r\n \r\n verificarValorReceber()} name={'valorPago'} label={'Valor à Receber (R$)'} />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, Form, Image, Input, Radio, Row, Typography, Modal } from \"antd\";\r\nimport { ArrowLeftOutlined, ExclamationCircleOutlined, CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport { info } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalBandeiraCartao({ exibirModal, fecharModal, retornoModal, fecharModalOK = fecharModal }) {\r\n\r\n const [formDados] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaBandeiras, setListaBandeiras] = useState([]);\r\n const [bandeiraSelecionada, setBandeiraSelecionada] = useState([]);\r\n\r\n useEffect(() => {\r\n api.get(`BandeiraCartaoEmpresa/ListarAtivos`).then(res => {\r\n if (res.status === 200) {\r\n setListaBandeiras(res.data);\r\n }\r\n });\r\n }, []);\r\n\r\n const onCloseModal = () => {\r\n formDados.resetFields();\r\n setBandeiraSelecionada([]);\r\n fecharModal();\r\n };\r\n\r\n const modalCancelar = () => {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Deseja realmente cancelar o lançamento de Cartão?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk() {\r\n onCloseModal()\r\n }\r\n });\r\n };\r\n\r\n const salvarDados = values => {\r\n if (bandeiraSelecionada.length > 0) {\r\n values.bandeira = bandeiraSelecionada[0];\r\n retornoModal(manutencao.dados, values);\r\n fecharModalOK();\r\n setBandeiraSelecionada([]);\r\n } else {\r\n info('Selecione uma bandeira!');\r\n }\r\n };\r\n\r\n\r\n function abrirTipoParcelamento(e) {\r\n if (!!e.target.value) {\r\n setBandeiraSelecionada(listaBandeiras.filter((bandeira) => { return bandeira.bnd_id === parseInt(e.target.value) }));\r\n }\r\n };\r\n\r\n function fecharTipoParcelamento() {\r\n setBandeiraSelecionada([]);\r\n formDados.resetFields();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ]}\r\n >\r\n
\r\n
\r\n {bandeiraSelecionada.length === 0 &&\r\n \r\n
\r\n \r\n \r\n {listaBandeiras.map((item) => {\r\n return (\r\n abrirTipoParcelamento(e)}\r\n value={item.bnd_id}\r\n >\r\n
\r\n \r\n
\r\n {item.bnd_nome.toUpperCase()}\r\n
\r\n )\r\n })}\r\n
\r\n
\r\n \r\n \r\n }\r\n {bandeiraSelecionada.length > 0 &&\r\n
\r\n \r\n
\r\n Bandeira Selecionada:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {bandeiraSelecionada[0].bnd_nome.toUpperCase()}\r\n \r\n
\r\n \r\n \r\n
\r\n {!!manutencao.dados && manutencao.dados.credito &&\r\n
\r\n \r\n
\r\n Tipo de Parcelamento:\r\n \r\n \r\n \r\n \r\n \r\n \r\n Por Parte do Estabelecimento\r\n Por Parte do Comprador\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Select, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { isObjetoDiffVazio } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalEditarPDV({ exibirModalPDV, fecharModalPDV, dadosPdv, setDadosPdv }) {\r\n\r\n const [serieFiscal, setSerieFiscal] = useState([]);\r\n const [formulario] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalPDV();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`SerieFiscal/Listar?CodigoModeloDocFiscal=65&EmitenteDocumento=0&pageSize=500`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setSerieFiscal(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (isObjetoDiffVazio(dadosPdv)) {\r\n formulario.setFieldsValue({ ser_id: dadosPdv.ser_id });\r\n }\r\n }, [dadosPdv])\r\n\r\n function editarPdv(valores) {\r\n let dadosTemp = serieFiscal.filter(ser => (ser.ser_id === valores.ser_id))[0]\r\n let dadosPdvTemp = dadosPdv;\r\n dadosPdvTemp.ser_id = dadosTemp.ser_id;\r\n dadosPdvTemp.ser_serie = dadosTemp.ser_serie;\r\n dadosPdvTemp.serieFiscal = dadosTemp;\r\n api.put(`Pdv/Editar`, dadosPdvTemp).then(\r\n (res) => {\r\n notification.success({ message: 'Sucesso!', description: 'Caixa Pdv editado com sucesso!' });\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n notification.warning({ message: 'Aviso!', description: 'Problema ao editar Caixa Pdv' });\r\n }\r\n ).finally(() => { fecharModalPDV(); })\r\n }\r\n\r\n return (\r\n formulario.submit()}\r\n onCancel={onCloseModal}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Modal, Select, Form, Input, InputNumber, notification } from \"antd\";\r\nimport { PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { isNotNullOrEmpty, isObjetoDiffVazio } from \"../../../services/funcoes\";\r\nimport { useStateValue } from \"../../../state\";\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\nimport { selectPaginadoActions } from \"../../../actions\";\r\n\r\nexport default function ModalManutencaoNota({ exibirModal, fecharModal, dadosContribuinte, dadosOperacao, dadosEndereco, dadosProduto, aoSalvar }) {\r\n const [form] = Form.useForm();\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [mostrarCstIcms, setMostrarCstIcms] = useState(false);\r\n const [mostarCsoSn, setMostrarCsoSn] = useState(false);\r\n const [mostrarAlicotaIcms, setMostrarAlicotaIcms] = useState(false);\r\n const [mostrarReducaoBC, setMostrarReducaoBC] = useState(false);\r\n const [mostrarDiferimentoIcms, setMostrarDiferimentoIcms] = useState(false);\r\n const [dadosNota, setDadosNota] = useState({});\r\n const [notaTransferencia, setNotaTransferencia] = useState(false);\r\n const [exibePerc, setExibePerc] = useState(false);\r\n const [estadoOrig, setEstadoOrig] = useState({});\r\n const [estadoDest, setEstadoDest] = useState({});\r\n\r\n const onFinish = values => {\r\n values.loc_id = dadosContribuinte.loc_id;\r\n values.pro_id = dadosProduto.pro_id;\r\n if (exibePerc) {\r\n values.mva_uforigem = values.iod_uforigem\r\n values.mva_ufdestino = values.iod_ufdestino;\r\n } else {\r\n values.mva_percmva = 0;\r\n values.mva_percaliquotaicms = 0;\r\n values.mva_percaliquotaicmsreducao = 0;\r\n }\r\n values.iod_percicms = !!form.getFieldValue().iod_percicms ? form.getFieldValue().iod_percicms : 0;\r\n values.iod_percicmsreducaobc = !!form.getFieldValue().iod_percicmsreducaobc ? form.getFieldValue().iod_percicmsreducaobc : 0;\r\n values.iod_percdiferimentoicms = !!form.getFieldValue().iod_percdiferimentoicms ? form.getFieldValue().iod_percdiferimentoicms : 0;\r\n\r\n api.post('TributacaoIcms/AtualizarTributacaoProduto', values).then(\r\n (res) => {\r\n notification.success({ message: 'Sucesso', description: 'Produto alterado com sucesso!' });\r\n form.resetFields();\r\n aoSalvar(dadosProduto.pro_id);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function validarCst(cst_id) {\r\n let codigoCst;\r\n if (!!cst_id) {\r\n codigoCst = cst_id;\r\n } else {\r\n codigoCst = form.getFieldValue('cst_id');\r\n }\r\n if (!!codigoCst) {\r\n if (codigoCst <= '20' || codigoCst === '90' || codigoCst === '51' || codigoCst === '70') {\r\n setMostrarAlicotaIcms(true);\r\n } else {\r\n setMostrarAlicotaIcms(false);\r\n form.setFieldsValue({ iod_percicms: 0 });\r\n }\r\n\r\n if (codigoCst === '90' || codigoCst === '20' || codigoCst === '70') {\r\n setMostrarReducaoBC(true);\r\n } else {\r\n setMostrarReducaoBC(false);\r\n form.setFieldsValue({ iod_percicmsreducaobc: 0 });\r\n }\r\n\r\n if (codigoCst === '90' || codigoCst === '51') {\r\n setMostrarDiferimentoIcms(true);\r\n } else {\r\n setMostrarDiferimentoIcms(false);\r\n form.setFieldsValue({ iod_percdiferimentoicms: 0 });\r\n }\r\n\r\n if (codigoCst === '10' || codigoCst === '30' || codigoCst === '70') {\r\n setExibePerc(true);\r\n }\r\n } else {\r\n setMostrarAlicotaIcms(true);\r\n setMostrarReducaoBC(true);\r\n setMostrarDiferimentoIcms(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n carregarDados()\r\n }, [exibirModal]);\r\n\r\n function carregarDados() {\r\n if (isObjetoDiffVazio(dadosContribuinte) && !!dadosOperacao && !!dadosEndereco) {\r\n if (dadosContribuinte.emp_regimetributario === 3) {\r\n setMostrarCstIcms(true);\r\n setMostrarCsoSn(false);\r\n } else {\r\n setMostrarCstIcms(false);\r\n setMostrarCsoSn(true);\r\n }\r\n dadosCampos();\r\n buscarEstados();\r\n }\r\n };\r\n\r\n function dadosCampos() {\r\n if (mostrarCstIcms) {\r\n if (!!dadosProduto.cst_id) {\r\n if (dadosProduto.cst_id <= 20 || dadosProduto.cst_id === 90 || dadosProduto.cst_id === 51 || dadosProduto.cst_id === 70) {\r\n setMostrarAlicotaIcms(true);\r\n } else {\r\n setMostrarAlicotaIcms(false);\r\n }\r\n\r\n if (dadosProduto.cst_id === 90 || dadosProduto.cst_id === 20 || dadosProduto.cst_id === 70) {\r\n setMostrarReducaoBC(true);\r\n } else {\r\n setMostrarReducaoBC(false);\r\n }\r\n\r\n if (dadosProduto.cst_id === 90 || dadosProduto.cst_id === 51) {\r\n setMostrarDiferimentoIcms(true);\r\n } else {\r\n setMostrarDiferimentoIcms(false);\r\n }\r\n } else {\r\n setMostrarAlicotaIcms(true);\r\n setMostrarReducaoBC(true);\r\n setMostrarDiferimentoIcms(true);\r\n }\r\n }\r\n if (!!dadosProduto && !!dadosProduto.cst_id && (dadosProduto.cst_id === '10' || dadosProduto.cst_id === '30' || dadosProduto.cst_id === '70')) {\r\n setExibePerc(true);\r\n }\r\n setDadosNota(dadosProduto);\r\n let lista = [];\r\n if (!!dadosProduto.icm_id) {\r\n lista.push({ name: \"icm_id\", campo: \"Codigo\", value: dadosProduto.icm_id });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: lista });\r\n form.setFieldsValue({ icm_id: dadosProduto.icm_id });\r\n }\r\n\r\n };\r\n\r\n function buscarEstados() {\r\n api.get(`Estado/Listar?PageSize=200`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let listaEst = [...res.data.items];\r\n if (listaEst.length > 0) {\r\n let estadoOrigem = listaEst.filter((estado) => (estado.est_sigla === dadosContribuinte.est_sigla))[0];\r\n setEstadoOrig(estadoOrigem);\r\n form.setFieldsValue({ iod_uforigem: estadoOrigem.est_sigla });\r\n if (isObjetoDiffVazio(dadosEndereco)) {\r\n let estadoDestino = listaEst.filter((estado) => (estado.est_sigla === dadosEndereco.est_sigla))[0];\r\n setEstadoDest(estadoDestino);\r\n form.setFieldsValue({ iod_ufdestino: estadoDestino.est_sigla });\r\n } else {\r\n setEstadoDest(estadoOrigem);\r\n }\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n {\r\n form.resetFields();\r\n fecharModal();\r\n }}\r\n onOk={() => {\r\n form.submit();\r\n fecharModal();\r\n }}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n O Item selecionado não possui as informações necessárias para gerar uma NF-e!
\r\n Favor complementar abaixo as informações do cadastro deste item:\r\n \r\n \r\n {!!dadosNota && dadosNota.pro_descricao === '' && \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ({icm?.icm_id} - {icm?.icm_descricao})}\r\n />\r\n \r\n \r\n \r\n\r\n {!!dadosNota && dadosNota.orm_id === null && \r\n \r\n \r\n ({cst?.orm_id} - {cst?.orm_descricao})}\r\n />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!mostrarCstIcms && \r\n \r\n \r\n { validarCst(valor) }}\r\n conteudo={(cst) => ({cst.cst_id})}\r\n />\r\n \r\n \r\n }\r\n {!!mostarCsoSn && \r\n \r\n \r\n ({csosn.cso_id} - {csosn.cso_descricao})} />\r\n \r\n \r\n }\r\n {!!dadosNota && dadosNota.ncm_id === null && \r\n \r\n \r\n ({ncm.ncm_codigo?.codigoNcm} - {ncm.ncm_descricao})}\r\n />\r\n \r\n \r\n }\r\n {!!dadosNota && dadosNota.ump_id === null && \r\n \r\n \r\n ({unidadeMedida.ump_id} - {unidadeMedida.ump_descricao})}\r\n />\r\n \r\n \r\n }\r\n {!!dadosNota && dadosNota.pis_id === null && !!dadosContribuinte && (dadosContribuinte.emp_regimetributario === 3 || !!notaTransferencia) && \r\n \r\n \r\n ({tribPisCofins.pis_id} - {tribPisCofins.pis_descricao})}\r\n />\r\n \r\n \r\n }\r\n {mostrarAlicotaIcms && \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n }\r\n {mostrarReducaoBC && \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n }\r\n {mostrarDiferimentoIcms && \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n }\r\n {exibePerc &&
\r\n \r\n
\r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Modal, Table, Form, notification, Input } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\n\r\nexport default function ModalContaCorrente({ exibirModalContaCorrente, fecharModalContaCorrenteOk, fecharModalContaCorrente, contaCorrente, listaContaCorrente, tipoConta = 1 }) {\r\n \r\n const [linhaPintada, setLinhaPintada] = useState(0);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const [searchResults, setSearchResults] = useState([]);\r\n const handleChange = event => {\r\n setSearchTerm(event.target.value);\r\n };\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalContaCorrente();\r\n }\r\n });\r\n };\r\n\r\n const salvarModalContaCorrente = () => {\r\n if (!!contaCorrente.contaCorrente && JSON.stringify(contaCorrente.contaCorrente) !== '{}') {\r\n fecharModalContaCorrenteOk();\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Favor selecionar uma conta corrente' })\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModalContaCorrente) {\r\n listarContaCorrente();\r\n }\r\n }, [exibirModalContaCorrente]);\r\n\r\n function listarContaCorrente() {\r\n api.get(`ContaCorrente/AtivosTipoConta?Ativo=true&tipoConta=${tipoConta}&PageSize=500&filtro=`).then(\r\n res => {\r\n if (res.status === 200) {\r\n res.data.items.sort(function (x, y) {\r\n let a = x.ctc_descricao.toUpperCase(),\r\n b = y.ctc_descricao.toUpperCase();\r\n return a === b ? 0 : a > b ? 1 : -1;\r\n }\r\n )\r\n listaContaCorrente.setListaContaCorrente(res.data.items);\r\n setSearchResults(res.data.items.sort());\r\n }\r\n }\r\n ).then(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (!!listaContaCorrente.listaContaCorrente) {\r\n if (listaContaCorrente.listaContaCorrente.length === 1) {\r\n contaCorrente.setContaCorrente(listaContaCorrente.listaContaCorrente[0]);\r\n }\r\n }\r\n }, [listaContaCorrente.listaContaCorrente]);\r\n\r\n function selecionarContaCorrente(record, rowIndex) {\r\n contaCorrente.setContaCorrente(record);\r\n setLinhaPintada(record.ctc_id);\r\n };\r\n\r\n useEffect(() => {\r\n if (listaContaCorrente.listaContaCorrente.length > 0) {\r\n const results = listaContaCorrente.listaContaCorrente.filter(cc => cc.ctc_descricao.toLowerCase().includes(searchTerm));\r\n setSearchResults(results);\r\n }\r\n }, [searchTerm])\r\n\r\n return (\r\n \r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {(ctc_id === linhaPintada) &&\r\n
\r\n \r\n \r\n }\r\n \r\n {ctc_descricao}\r\n \r\n \r\n ),\r\n }\r\n ]\r\n }\r\n onRow={(record, rowIndex) => {\r\n return {\r\n onClick: () => {\r\n selecionarContaCorrente(record, rowIndex);\r\n }\r\n }\r\n }}\r\n dataSource={searchResults}\r\n />\r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Modal, Table, Descriptions } from \"antd\";\r\n\r\nimport { linkApi } from \"../../../services/auth\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalTaxasCartaoCredito({exibirModalTaxasCartaoCredito, fecharModalTaxasCartaoCredito, dadosTaxaCartao}) {\r\n \r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {dadosTaxaCartao.bce_nomecredenciadora}\r\n \r\n \r\n \r\n \r\n {dadosTaxaCartao.bnd_nome}\r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {tcp_parcelaminima}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Até Parcela(s)',\r\n align: 'center',\r\n render: ({ tcp_parcelamaxima }) => (\r\n
\r\n {tcp_parcelamaxima}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Taxa % Aplicada',\r\n align: 'right',\r\n render: ({ tcp_taxa }) => (\r\n
\r\n {FormatNumber(parseFloat(tcp_taxa) * 100, true, false)}%\r\n
\r\n ),\r\n },\r\n ]\r\n } />\r\n \r\n \r\n \r\n \r\n );\r\n}","\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Modal, Descriptions, Form, Table } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport { InputPreco } from \"../../\"\r\nimport { useStateValue } from \"../../../state\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport { manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function ModalAntecipacaoClienteFornecedor({ formAnterior, exibirModalAntecipacaoClienteFornecedor, fecharModalAntecipacaoClienteFornecedor, dadosAntecipacao }) {\r\n\r\n const [listaAntecipacao, setListaAntecipacao] = useState([]);\r\n const [valorAntecipacao, setValorAtecipacao] = useState(0);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [form] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalAntecipacaoClienteFornecedor();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModalAntecipacaoClienteFornecedor && !!formAnterior.getFieldValue() && formAnterior.getFieldValue().pfp_valor) {\r\n form.setFieldsValue({ 'valorPagar': formAnterior.getFieldValue().pfp_valor });\r\n }\r\n }, [exibirModalAntecipacaoClienteFornecedor]);\r\n\r\n useEffect(() => {\r\n let totalAntecipacao = 0;\r\n if (listaAntecipacao.length > 0) {\r\n listaAntecipacao.forEach((antecipacao) => {\r\n totalAntecipacao += parseFloat(antecipacao.acf_valor) - parseFloat(antecipacao.anm_valor);\r\n antecipacao.valorUtilizado = 0;\r\n });\r\n }\r\n setValorAtecipacao(totalAntecipacao);\r\n }, [listaAntecipacao]);\r\n\r\n function selecionarAntecipacoes(selectedRowKeys, selectedRows) {\r\n setListaAntecipacao(selectedRows);\r\n };\r\n\r\n function salvarAntecipacao() {\r\n let valorNota = 0;\r\n let valorRestante = 0;\r\n if (!!formAnterior.getFieldValue().pfp_valor) {\r\n valorNota = parseFloat(formAnterior.getFieldValue().pfp_valor);\r\n valorRestante = valorNota;\r\n }\r\n let valorAntecipacao = 0;\r\n listaAntecipacao.forEach((antecipacao, index, array) => {\r\n let saldoAUtilizar = (parseFloat(antecipacao.acf_valor) - parseFloat(antecipacao.anm_valor))\r\n if (valorRestante - saldoAUtilizar >= 0) {\r\n antecipacao.valorUtilizado = saldoAUtilizar;\r\n } else { \r\n antecipacao.valorUtilizado = saldoAUtilizar + (valorRestante - saldoAUtilizar);\r\n }\r\n valorRestante -= antecipacao.valorUtilizado;\r\n valorAntecipacao += antecipacao.valorUtilizado;\r\n if (valorAntecipacao >= valorNota) {\r\n array.length = index + 1;\r\n }\r\n });\r\n listaAntecipacao.forEach(antecipacao => { antecipacao.valorAntecipacao = valorAntecipacao });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ antecipacao: listaAntecipacao } } } });\r\n fecharModalAntecipacaoClienteFornecedor();\r\n };\r\n\r\n return (\r\n \r\n Confirmar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Abaixo valor referente ANTECIPAÇÃO gerada por: {formAnterior.getFieldValue().pes_nome}\r\n \r\n \r\n \r\n \r\n Localize a antecipação\r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n {ntf_id}\r\n
\r\n ),\r\n }, {\r\n title: 'Data',\r\n render: ({ acf_datalancamento }) => (\r\n
{moment(acf_datalancamento).format(\"DD/MM/YYYY\")}
\r\n ),\r\n }, {\r\n title: 'Vlr. Antecipação(R$)',\r\n align: 'right',\r\n render: ({ acf_valor }) => (\r\n
{FormatNumber(acf_valor, true)}
\r\n ),\r\n }, {\r\n title: 'Vlr. Utilizado(R$)',\r\n align: 'right',\r\n render: ({ anm_valor }) => (\r\n
{FormatNumber(anm_valor, true)}
\r\n ),\r\n }, {\r\n title: 'Saldo a Utilizar(R$)',\r\n align: 'right',\r\n render: ({ acf_valor, anm_valor }) => (\r\n
{FormatNumber((acf_valor) - (anm_valor), true)}
\r\n ),\r\n },\r\n ]\r\n }\r\n dataSource={dadosAntecipacao}\r\n rowSelection={{\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n selecionarAntecipacoes(selectedRowKeys, selectedRows);\r\n }\r\n }}\r\n footer={\r\n () => {\r\n return (\r\n
\r\n Antecipação Selecionada (R$): {FormatNumber(valorAntecipacao, true)}\r\n
\r\n );\r\n }\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota (R$) {FormatNumber(formAnterior.getFieldValue().valorTotal, true)}\r\n \r\n \r\n \r\n \r\n );\r\n}","\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Modal, Descriptions, Form, Select } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport { SelectPaginado } from \"../../../components\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport InputPreco from \"../../inputPreco\";\r\nimport { validaForm } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalDevolucaoSubstituicaoTributaria({ exibirModal, fecharModal, dadosNfe, aoSalvar, serieFiscal, dadosNotaDevSt }) {\r\n\r\n const [formulario] = Form.useForm();\r\n const [operacaoDebCred, setOperacaoDebCred] = useState([]);\r\n\r\n useEffect(() => {\r\n if (exibirModal) {\r\n // api.get('OperacaoDebitoCredito/Listar?filtro=').then(\r\n // (res) => {\r\n // if (res.status === 200) {\r\n // setOperacaoDebCred(res.data);\r\n // }\r\n // }\r\n // ).catch(\r\n // (erro) => {\r\n // console.log(erro);\r\n // }\r\n // );\r\n dadosNotaDevSt.valorBaseIcmsDev = parseFloat(dadosNotaDevSt.valorBaseIcmsDev.toFixed(2));\r\n dadosNotaDevSt.valorIcmsDev = parseFloat(dadosNotaDevSt.valorIcmsDev.toFixed(2));\r\n dadosNotaDevSt.valorBaseIcmsStDev = parseFloat(dadosNotaDevSt.valorBaseIcmsStDev.toFixed(2));\r\n dadosNotaDevSt.valorIcmsStDev = parseFloat(dadosNotaDevSt.valorIcmsStDev.toFixed(2));\r\n formulario.setFieldsValue(dadosNotaDevSt);\r\n }\r\n }, [exibirModal]);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const listaValidacoes = [\r\n { nome: 'ser_id', obrigatorio: true, label: 'Série Fiscal' },\r\n { nome: 'operacaodebito', obrigatorio: true, label: 'Operação de Débito' },\r\n { nome: 'valorBaseIcmsStDev', obrigatorio: true, label: 'Valor Base de Cálculo da Substituição Tributária' },\r\n { nome: 'valorIcmsStDev', obrigatorio: true, label: 'Valor da Substituição Tributária Cálculada' },\r\n { nome: 'operacaocredito', obrigatorio: true, label: 'Operação de Crédito' },\r\n { nome: 'valorBaseIcmsDev', obrigatorio: true, label: 'Valor Base de Cálculo da Adjudicação de ICMS' },\r\n { nome: 'valorIcmsDev', obrigatorio: true, label: 'Valor da Adjudicação de ICMS' }\r\n ];\r\n\r\n async function validar(values) {\r\n \r\n if (validaForm(formulario, listaValidacoes)) {\r\n let dadosNotaDevSt = { ...values };\r\n dadosNotaDevSt.ntf_dataemissao = new Date();\r\n dadosNotaDevSt.operacaodebito = (await api.get(`OperacaoDebitoCredito/Buscar/${values.operacaodebito}`)).data;\r\n dadosNotaDevSt.operacaocredito = (await api.get(`OperacaoDebitoCredito/Buscar/${values.operacaocredito}`)).data;\r\n dadosNotaDevSt.emitirNfe = true;\r\n aoSalvar(dadosNotaDevSt);\r\n }\r\n };\r\n\r\n return (\r\n formulario.submit()}\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n okText={\r\n <>\r\n Emitir\r\n \r\n }\r\n width={850}\r\n maskClosable={false}\r\n >\r\n
\r\n
{ validar(values) }}>\r\n \r\n
\r\n \r\n A nota fiscal devolvida, possui itens com substituição tributária!
\r\n Neste caso devem ser emitidas 3(três) notas fiscais.
\r\n Para concluir a emissão preencha os dados solicitados abaixo:\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNfe.dadosNfeDevolucao.pes_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n ({odc.odc_descricao})\r\n } />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Operação para NF-e de Adjudicação de Crédito de ICMS. A NF-e será emitida para o emitente da NF-e!\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({odc.odc_descricao})\r\n } />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","\r\nimport React, { useState } from \"react\";\r\nimport { Row, Col, Modal, Table, Tag, Divider, Descriptions } from \"antd\";\r\nimport { ExclamationCircleOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalListaProduto({ exibirModalListaProduto, fecharModalListaProduto, dadosItens }) {\r\n\r\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n\r\n const rowSelection = {\r\n selectedRowKeys,\r\n };\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalListaProduto();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n Abaixo selecione o produto desejado.\r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n \r\n
\r\n \r\n {pro_id}\r\n \r\n \r\n \r\n {pro_descricao}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]} rowSelection={rowSelection} dataSource={dadosItens} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Modal, Descriptions, Form, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\"\r\n\r\nimport api from \"../../../services/api\";\r\nimport { FormatNumber } from '../../../ValueObjects';\r\n\r\nexport default function ModalDetalhesOrdemCompra({ exibirModal, fecharModal, dadosOrdemCompra }) {\r\n\r\n const [itensOrdemCompra, setItensOrdemCompra] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!!dadosOrdemCompra.orc_id) {\r\n api.get(`OrdemCompraItem/ListarItensOrdemCompra?codigoOrdemCompra=${dadosOrdemCompra.orc_id}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n let itens = res.data;\r\n itens.forEach((item, indice) => {\r\n item.ocp_faltareceber = item.ocp_quantidaderecebida;\r\n\r\n api.get(`ListaPrecoItem/BuscarPrecoPadraoItem?codigoProduto=${item.pro_id}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n item.lpi_valorvenda = res.data;\r\n }\r\n }\r\n );\r\n if (!!item.prg_id) {\r\n api.get(`Produto/ListarGrades?codigoProduto=${item.pro_id}`).then(\r\n (res) => {\r\n if (!!res.data) {\r\n res.data.forEach((grade) => {\r\n if (grade.prg_id === item.prg_id) {\r\n item.grade = {\r\n prg_id: grade.prg_id,\r\n mgp_descricao: \"\",\r\n prg_ean: grade.ean,\r\n prg_codigoetiqueta: grade.etiqueta,\r\n prg_valorvenda: grade.valorVenda,\r\n atributos: []\r\n }\r\n\r\n for (let i = 0; i < grade.atributos.length; i++) {\r\n item.grade.mgp_descricao += grade.atributos[i].mgp_descricao + \" \";\r\n let atributoTemp = {\r\n mgp_id: grade.atributos[i].mgp_id,\r\n mgp_descricao: grade.atributos[i].mgp_descricao\r\n }\r\n item.grade.atributos.push(atributoTemp);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n );\r\n }\r\n\r\n if (itens.length - 1 === indice) {\r\n setItensOrdemCompra(itens);\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n }, [dadosOrdemCompra]);\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {dadosOrdemCompra.orc_id}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosOrdemCompra.nomeFornecedor}\r\n \r\n \r\n {dadosOrdemCompra.nomeTransportador || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosOrdemCompra.orc_atendente || 'Não Informado'}\r\n \r\n \r\n {dadosOrdemCompra.orc_nropedido || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosOrdemCompra.orc_observacao || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosOrdemCompra.orc_formapagamento || 'Não Informado'}\r\n \r\n \r\n {moment(dadosOrdemCompra.orc_datainclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n {moment(dadosOrdemCompra.orc_dataconclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(dadosOrdemCompra.orc_valortotal - dadosOrdemCompra.orc_valorfrete + dadosOrdemCompra.orc_valordesconto, true)}\r\n \r\n \r\n {FormatNumber(dadosOrdemCompra.orc_valorfrete, true)}\r\n \r\n \r\n {FormatNumber(dadosOrdemCompra.orc_valordesconto, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total (R$): {FormatNumber(dadosOrdemCompra.orc_valortotal, true)}\r\n \r\n \r\n
\r\n
(\r\n
\r\n {pro_codigo}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n width: 180,\r\n render: ({ pro_descricao, mgp_descricao }) => (\r\n
\r\n \r\n
\r\n {pro_descricao}\r\n \r\n \r\n {mgp_descricao != \"\" &&\r\n \r\n \r\n Grade: {mgp_descricao}\r\n \r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 50,\r\n align: 'right',\r\n render: ({ ocp_quantidade }) => (\r\n
\r\n {FormatNumber(ocp_quantidade, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Qtde. Rec.',\r\n width: 50,\r\n align: 'right',\r\n render: ({ ocp_quantidaderecebida }) => (\r\n
\r\n {FormatNumber(ocp_quantidaderecebida, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Un.(R$)',\r\n width: 50,\r\n align: 'right',\r\n render: ({ ocp_valorun }) => (\r\n
\r\n {FormatNumber(ocp_valorun, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr. Total(R$)',\r\n width: 60,\r\n align: 'right',\r\n render: ({ ocp_valorun, ocp_frete, ocp_desconto, ocp_quantidade }) => (\r\n
\r\n {FormatNumber((ocp_valorun + ocp_frete - ocp_desconto) * ocp_quantidade, true)}\r\n
\r\n ),\r\n },\r\n ]\r\n } locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ y: 196, x: 580 }} />\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { InfoNotaNFe } from \"../../../components\";\r\n\r\nexport default function ModalEstornoNfe({ dadosNota, exibirModal, fecharModal }) {\r\n const [formulario] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n formulario.resetFields();\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n function salvar(valores) {\r\n let dados = {};\r\n dados.ntf_id = dadosNota.ntf_id;\r\n dados.textoEstorno = formulario.getFieldValue().justificativa;\r\n setCarregando(true);\r\n api.post(`NotaFiscal/IncluirEstorno`, dados).then(\r\n res => {\r\n if (res.data.ntf_status === 1) {\r\n notification.success({ description: `NF-e Nº: ${dadosNota.ntf_numero} estorna com sucesso!`, message: 'Aviso' });\r\n } else if (res.data.ntf_status != 1) {\r\n notification.success({ description: res.data.ntf_cstat + res.data.ntf_xmotivo, message: 'Aviso' });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n notification.warning({ description: 'Ocorreu um erro ao tentar estornar a nota fiscal.', message: 'Aviso' });\r\n setCarregando(false);\r\n }\r\n ).finally(\r\n () => {\r\n fecharModal();\r\n setCarregando(false);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n \r\n Realizar o Estorno\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n onOk={salvar}\r\n destroyOnClose\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n ATENÇÃO:
\r\n O prazo legal para o Cancelamento de um Nota Fiscal Eletrônica é de 168 horas.
\r\n A Nota Fiscal selecionada ultrapassou este prazo, de modo que, apenas é permitido seu Estorno.\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport moment from 'moment';\r\nimport { Row, Col, Descriptions, Modal, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport { ModalSenhaLiberacao } from \"..\";\r\n\r\nexport default function ModalParcelasPendentes({ dadosParcelas, exibirModal, fecharModal, fecharModalOk }) {\r\n const [abreModalLiberacao, setAbreModalLiberacao] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const solicitarPermissao = () => {\r\n setAbreModalLiberacao(true);\r\n };\r\n\r\n const onCloseModalLiberacao = (retorno) => {\r\n setAbreModalLiberacao(false);\r\n if (retorno) {\r\n fecharModalOk();\r\n }\r\n };\r\n\r\n return (\r\n \r\n Solicitar permissão para venda a prazo\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n O Cliente possui parcelas em atraso.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(!!dadosParcelas && dadosParcelas.length > 0 ? dadosParcelas[0].limiteCredito : 0, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
(\r\n
\r\n {cpr_numerodocumento}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Parcela',\r\n render: ({ prc_numeroparcela }) => (\r\n
\r\n {prc_numeroparcela}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data Vencimento',\r\n render: ({ prc_datavencimento }) => (\r\n
\r\n {moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Pendente (R$)',\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n ]} dataSource={dadosParcelas} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, Modal, InputNumber, Select, Alert, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { getEmpresa } from \"../../../services/auth\";\r\n\r\nexport default function ModalAliquotaSimplesNacional({ exibirModal, fecharModal, aposSalvar }) {\r\n const [formulario] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const salvarAliquota = () => {\r\n let valores = formulario.getFieldValue();\r\n valores.emp_id = getEmpresa();\r\n api.post(`AliquotaSimplesNacional/Incluir`, valores).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: 'Aliquota adicionada com sucesso!' })\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n ()=>{\r\n aposSalvar();\r\n }\r\n )\r\n };\r\n\r\n useEffect(() => {\r\n let data = new Date();\r\n carregarDados(data);\r\n\r\n }, []);\r\n\r\n function carregarDados(data) {\r\n formulario.setFieldsValue({ asn_mes: data.getMonth() + 1 });\r\n formulario.setFieldsValue({ asn_ano: data.getFullYear() });\r\n };\r\n\r\n return (\r\n \r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Form, Modal, Descriptions, InputNumber, notification } from \"antd\";\r\nimport { SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\n\r\nexport default function ModalItemInventario({ form, dadosItem, exibirModal, onCloseModal, TipoCodigoProduto }) {\r\n\r\n const [formulario] = Form.useForm();\r\n\r\n const alterarItem = record => {\r\n let dados = {};\r\n dados.TipoCodigoProduto = TipoCodigoProduto;\r\n dados.inv_id = form.getFieldValue().inv_id;\r\n dados.ivi_id = dadosItem.ivi_id;\r\n dados.qtde = record.ivi_estoqueatual - dadosItem.ivi_estoqueatual;\r\n api.put(`Inventario/ModificarItem`, dados).then(\r\n res => {\r\n notification.success({ description: 'Item do inventário modificado com sucesso!', message: 'Aviso' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n formulario.resetFields();\r\n onCloseModal();\r\n }\r\n )\r\n };\r\n\r\n return (\r\n {\r\n formulario.resetFields();\r\n onCloseModal();\r\n }}\r\n onOk={() => formulario.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n \r\n \r\n \r\n \r\n {dadosItem.pro_codigo} - {dadosItem.pro_descricao}\r\n \r\n \r\n \r\n \r\n {!!dadosItem.grade && \r\n \r\n \r\n \r\n \r\n {dadosItem.grade} \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {dadosItem.ivi_estoqueanterior}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Modal, Button, } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport { PrecoGrade } from '../../';\r\n\r\nexport default function ModalGrade({ visible, onCloseModal, list, setList, onSave }) {\r\n\r\n const onCancel = () => {\r\n Modal.confirm({\r\n title: 'Atenção',\r\n icon: ,\r\n content: 'Deseja sair sem salvar?',\r\n okText: 'Sim',\r\n cancelText: 'Cancelar',\r\n onOk: () => {\r\n onCloseModal();\r\n }\r\n });\r\n }\r\n\r\n\r\n return (\r\n } size=\"middle\" onClick={onCancel}>\r\n Cancelar\r\n ,\r\n ,\r\n ]}>\r\n \r\n \r\n );\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Row, Col, Typography, Form, Input, Modal, Switch, Table, Tag, Select, notification, Button } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport { novaAbaNavegador } from \"../../../services/funcoes\";\r\nimport { SelectPaginacao } from \"../../../components\";\r\n\r\nexport default function ModalConfirmacaoTransferencia({ dadosNota = {}, exibirModal, fecharModal }) {\r\n\r\n const [form] = Form.useForm();\r\n const [conferiTodos, setConferiTodos] = useState(false);\r\n const [usarLeitor, setUsarLeitor] = useState(false);\r\n const [serieFiscalTerceiros, setSerieFiscalTerceiros] = useState([]);\r\n const [listaItens, setListaItens] = useState([]);\r\n const [parametrosEmpresa, setParametrosEmpresa] = useState([]);\r\n const codBarrasInput = useRef();\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModal) {\r\n setConferiTodos(false);\r\n setUsarLeitor(false);\r\n\r\n api.get('ParametroEmpresa/BuscarParametros').then(res => {\r\n if (res.status === 200) {\r\n setParametrosEmpresa(res.data);\r\n }\r\n }).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n if (!!dadosNota.ntf_id) {\r\n let listaTemp = [];\r\n api.get(`NotaFiscalTransferencia/ListarItensNotaFiscal/${dadosNota.ntf_id}`).then(itensNotaFiscal => {\r\n if (itensNotaFiscal.status === 200) {\r\n itensNotaFiscal.data.forEach((item, indice) => {\r\n item.produtoConferido = false;\r\n item.key = indice + 1;\r\n listaTemp.push(item);\r\n\r\n if (item.key === itensNotaFiscal.data.length) {\r\n setListaItens(listaTemp);\r\n }\r\n });\r\n }\r\n }).catch(erro => {\r\n console.log(erro);\r\n });\r\n }\r\n }\r\n }, [exibirModal]);\r\n\r\n function marcarItem(key, nfi_ean) {\r\n let itens = [...listaItens];\r\n let itemEditar = itens.filter((item) => { return (item.nfi_ean === nfi_ean && (!!key ? item.key === key : true)) });\r\n itemEditar.map((item) => {\r\n if (!key) {\r\n item.produtoConferido = true;\r\n form.setFieldsValue({ codBarras: '' });\r\n } else {\r\n item.produtoConferido = !item.produtoConferido;\r\n }\r\n });\r\n setListaItens(itens);\r\n };\r\n\r\n function marcarTodos(checked) {\r\n setConferiTodos(checked);\r\n\r\n let itens = [...listaItens];\r\n itens.map((item) => {\r\n item.produtoConferido = (checked ? true : false);\r\n });\r\n setListaItens(itens);\r\n };\r\n\r\n function salvarDados() {\r\n let idSerie = form.getFieldValue().ser_id;\r\n if (!idSerie) {\r\n notification.warning({ message: 'Aviso', description: ('Favor selecionar uma Série Fiscal!') });\r\n } else {\r\n setCarregando(true);\r\n api.post(`NotaFiscalTransferencia/incluirEntrada?IdNotaFiscal=${dadosNota.ntf_id}&IdSerie=${idSerie}`).then(\r\n retornoNF => {\r\n if (retornoNF.status === 200) {\r\n if (retornoNF.data.ntf_status === 1 && !!retornoNF.data.ntf_chavenfe && !!retornoNF.data.ntf_docfiscal) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${retornoNF.data.ntf_chavenfe}`);\r\n }\r\n notification.success({ message: 'Operação Concluída', description: 'Nota Fiscal de Transferência adicionada com sucesso!' })\r\n fecharModal();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n notification.warning({ message: 'Aviso', description: (!!erro.data ? erro.data.Message : 'Não foi possível realizar a Confirmação de Transferencia!') });\r\n }\r\n ).finally(\r\n () => {\r\n setCarregando(false);\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n form.submit()}\r\n maskClosable={false}\r\n width={850}\r\n destroyOnClose\r\n footer={\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n
\r\n
\r\n \r\n
\r\n {\r\n setUsarLeitor(checked);\r\n if (checked) {\r\n setTimeout(() => codBarrasInput.current.focus());\r\n }\r\n }} /> Utilizar leitor de código de barras?\r\n \r\n \r\n { marcarTodos(checked) }} /> Conferi Todos\r\n \r\n \r\n {conferiTodos &&\r\n \r\n \r\n \r\n Atenção, é Recomendado a conferência dos Itens ao Habilitar a opção 'Conferi Todos'\r\n \r\n \r\n \r\n }\r\n {usarLeitor &&\r\n \r\n \r\n \r\n {\r\n marcarItem(null, e.target.value);\r\n }} />\r\n \r\n \r\n \r\n }\r\n
\r\n
(\r\n {nfi_numeroitem}\r\n ),\r\n },\r\n {\r\n width: 110,\r\n elipse: true,\r\n title: 'Descrição',\r\n render: ({ pro_descricao, nfi_ean }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n {nfi_ean}\r\n
\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Quantidade',\r\n width: 60,\r\n align: 'center',\r\n render: ({ nfi_qtde, nfi_unidademedida }) => (\r\n
\r\n {nfi_qtde} {nfi_unidademedida}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Unitário (R$)',\r\n width: 65,\r\n align: 'right',\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor Total (R$)',\r\n align: 'right',\r\n width: 65,\r\n render: ({ nfi_valorunitario, nfi_qtde }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario * nfi_qtde, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Confere',\r\n align: 'center',\r\n width: 70,\r\n render: ({ produtoConferido, nfi_ean, key }) => (\r\n { marcarItem(key, nfi_ean) }} />\r\n ),\r\n }\r\n ]} scroll={{ x: 800 }} />\r\n \r\n \r\n \r\n \r\n ({pc.ser_serie}
\r\n
)\r\n } />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Input, Modal, InputNumber } from \"antd\";\r\nimport { SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalEditarItemDevolucao({ form, exibirModalEditarItemDevolucao, cancelar, aoSalvar }) {\r\n\r\n return (\r\n cancelar()}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { InputPreco } from \"../../../components\";\r\nimport Data from \"../../data\";\r\n\r\nexport default function ModalEditarNotaFiscalEntrada({ form, exibirModalEditarNotaFiscalEntrada, fecharModalEditarNotaFiscalEntrada }) {\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalEditarNotaFiscalEntrada();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n {\r\n onCloseModal();\r\n }}\r\n onOk={() => form.submit()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } \r\n maskClosable={false}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Input, Modal, Table, Tag, Divider, Button } from \"antd\";\r\nimport { ExclamationCircleOutlined, ArrowRightOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalEditarCFOP({ exibirModal, fecharModal, aoSelecionar, listaCFOP }) {\r\n\r\n const [filtro, setFiltro] = useState(\"\");\r\n\r\n return (\r\n fecharModal()}\r\n footer={null}\r\n >\r\n
\r\n \r\n
\r\n setFiltro(value.trim())} allowClear/>\r\n \r\n \r\n
{ return cfop.cfo_cfop.toString().indexOf((filtro).toUpperCase()) >= 0 || cfop.cfo_descricao.toString().toUpperCase().indexOf((filtro).toUpperCase()) >= 0 }) : listaCFOP.listaCFOP} columns={[\r\n {\r\n title: 'CFOP',\r\n width: 75,\r\n render: ({ cfo_cfop }) => (\r\n
\r\n \r\n {cfo_cfop}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Descrição',\r\n render: ({ cfo_descricao }) => (\r\n
\r\n {cfo_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 85,\r\n render: ({ cfo_cfop }) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n ]} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Select, Radio, Modal } from \"antd\";\r\nimport { SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\nimport { info } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalAntecipacaoDevolucao({ form, exibirModal, cancelar, aoSalvar }) {\r\n\r\n const [selecionarContaCorrente, setSelecionarContaCorrente] = useState(false);\r\n\r\n useEffect(() => {\r\n if (exibirModal) {\r\n form.setFieldsValue({ antecipacaoEstorno: 1 });\r\n }\r\n }, [exibirModal]);\r\n\r\n function selecionaContaCorrente(value) {\r\n if (value === 1)\r\n setSelecionarContaCorrente(false)\r\n else\r\n setSelecionarContaCorrente(true)\r\n };\r\n function salvar() {\r\n if (selecionarContaCorrente && !form.getFieldValue().ctc_id) {\r\n info('Selecione uma conta corrente!');\r\n } else {\r\n aoSalvar();\r\n }\r\n }\r\n\r\n return (\r\n cancelar()}\r\n onOk={() => salvar()}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n Deseja Gerar?\r\n \r\n \r\n
\r\n \r\n { selecionaContaCorrente(event.target.value) }} >\r\n Antecipação/Crédito ?\r\n Estorno da Movimentação financeira ?\r\n \r\n \r\n \r\n {selecionarContaCorrente && \r\n \r\n (\r\n {item.ctc_id} - {item.ctc_descricao}\r\n )} />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Modal, Checkbox, Input } from \"antd\";\r\nimport { ExclamationCircleOutlined, CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalContrato({ exibirModalContrato, fecharModalContrato, urlContrato, testeGratuito, cadastrarEmpresa, assinarContrato, codigoSeguranca }) {\r\n const [formulario] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalContrato();\r\n }\r\n });\r\n };\r\n\r\n function onFinish(values) {\r\n if (codigoSeguranca !== values.codigoSeguranca) {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: 'Código de segurança informado diferente do código presente no contrato!'\r\n });\r\n return false;\r\n }\r\n if (!values.confirmacaoLeitura) {\r\n Modal.error({\r\n title: 'Aviso!',\r\n content: 'É necessário confirmar a leitura!'\r\n });\r\n return false;\r\n }\r\n\r\n if (testeGratuito) {\r\n cadastrarEmpresa();\r\n } else {\r\n assinarContrato();\r\n }\r\n };\r\n\r\n return (\r\n formulario.submit()}\r\n okText={\r\n <>\r\n Aceito os Termos\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n className=\"modalPDF\"\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {testeGratuito ? 'Declaro que li e estou de acordo com os termos de uso do teste gratuito.' : 'Declaro para os devidos fins que li e concordo com os termos dispostos no CONTRATO DE LICENÇA DE USUÁRIO FINAL (EULA) E DE PRESTAÇÃO DE SERVIÇOS do GestorWeb.'} \r\n \r\n \r\n \r\n prevValues.confirmacaoLeitura !== currentValues.confirmacaoLeitura}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('confirmacaoLeitura')) return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Modal, Form, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport { LancamentoCheque } from \"../..\";\r\nimport { useStateValue } from \"../../../state\";\r\nimport { manutencaoActions } from \"../../../actions\";\r\n\r\nimport api from \"../../../services/api\";\r\n\r\n\r\nexport default function ModalCheque({ form = null, exibirModal, fecharModal, dadosCheque, funcaoSalvar }) {\r\n const [formCheque] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const salvarModalContaCorrente = (dados) => {\r\n //funcaoSalvar(dados);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ dadosModalCheque: { cheques: dados.cheques, contaCorrente: dados.ctc_id } } } } });\r\n //formCheque.resetFields();\r\n fecharModal();\r\n };\r\n\r\n useEffect(() => {\r\n if (exibirModal) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ dadosModalCheque: { vemDaNota: true, quantidadeCheque: dadosCheque.numeroCheques, valorTotalCheque: dadosCheque.pfp_valor, cliente: dadosCheque.cli_id } } } } });\r\n if (form != null) formCheque.setFieldsValue({ pes_id: form.getFieldValue().pes_id });\r\n }\r\n }, [exibirModal]);\r\n \r\n return (\r\n { formCheque.submit() }}\r\n width={1000}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n } >\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, Modal, Descriptions } from \"antd\";\r\nimport { ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { info } from \"../../../services/funcoes\";\r\nimport { useStateValue } from \"../../../state\";\r\nimport { manutencaoActions } from \"../../../actions\";\r\nimport { getEmpresa } from \"../../../services/auth\";\r\n\r\nexport default function ModalRetornaContaGerencial({ exibirModalContaGerencial, fecharModalContaGerencial, descricao = \"\", avistaAPrazo = false }) {\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialTodas, setListaContaGerencialTodas] = useState([]);\r\n const [form] = Form.useForm();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalContaGerencial();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n carregarListaConta();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && manutencao.dados.dadosEmpresa) {\r\n if (avistaAPrazo) {\r\n form.setFieldsValue({ cgc_contagerencialdestino: manutencao.dados.dadosEmpresa.cgc_contagerencialdestino });\r\n form.setFieldsValue({ cgc_contagerencialdestino2: manutencao.dados.dadosEmpresa.cgc_contagerencialdestino2 });\r\n }\r\n }\r\n }, [manutencao.dados])\r\n\r\n function carregarListaConta() {\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?PageSize=1000&PageNumber=1`).then(\r\n res => {\r\n let lista = [];\r\n let dados = res.data.items\r\n setListaContaGerencialTodas(dados);\r\n for (const conta of dados) {\r\n if (conta.nivel === 0) {\r\n conta.listaContas = [];\r\n lista.push(conta);\r\n }\r\n }\r\n for (const conta of dados) {\r\n if (conta.nivel !== 0) {\r\n let obj = lista.find(contaLista => contaLista.ctc_id === conta.ctc_id);\r\n if (!!obj && !!obj.listaContas) {\r\n obj.listaContas.push(conta);\r\n }\r\n\r\n }\r\n }\r\n setListaContaGerencial(lista);\r\n\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function adicionarConfig(values) {\r\n values.emp_id = getEmpresa();\r\n values.listaContas = []\r\n if (!!form.getFieldValue().cgc_contagerencialdestino2) {\r\n values.listaContas = listaContaGerencialTodas.filter((conta) => conta.ctg_id === form.getFieldValue().cgc_contagerencialdestino || conta.ctg_id === form.getFieldValue().cgc_contagerencialdestino2)\r\n } else {\r\n values.listaContas = listaContaGerencialTodas.filter((conta) => conta.ctg_id === form.getFieldValue().cgc_contagerencialdestino);\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ dadosContaGerencial: values } } } });\r\n fecharModalContaGerencial(values);\r\n };\r\n\r\n return (\r\n { form.submit() }}\r\n okText={\r\n <>\r\n Adicionar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n destroyOnClose\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {avistaAPrazo && \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Descriptions, Form, Input, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined, ExceptionOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { MaskFormat, FormatNumber } from \"../../../ValueObjects\";\r\n\r\nexport default function ModalInutilizarNota({ dadosNota, exibirModal, fecharModal }) {\r\n const [form] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n form.resetFields();\r\n fecharModal();\r\n }\r\n });\r\n };\r\n\r\n const inutilizarNota = () => {\r\n let dados = { ...dadosNota };\r\n let obj = {};\r\n obj.ntf_id = dados.ntf_id;\r\n obj.justificativa = form.getFieldValue().justificativa;\r\n if (!obj.justificativa || obj.justificativa.length < 15) {\r\n notification.warning({ message: `Aviso!`, description: `A Justificativa deve ter no mínimo 15 caracteres!` })\r\n return false;\r\n }\r\n setCarregando(true);\r\n api.post(`NotaFiscal/Inutilizar`, obj).then(\r\n res => {\r\n let _cStat = res.data.retorno.infInut.cStat;\r\n let motivo = _cStat + '-' + res.data.retorno.infInut.xMotivo;\r\n if (_cStat == 102 || _cStat == 135 || _cStat == 206) {\r\n notification.success({ message: `NF-e Nº: ${dadosNota.ntf_numero} inutiliazada com sucesso !`, description: motivo });\r\n } else {\r\n notification.warning({ message: `Não foi possível efetuar a inutilização da NF-e Nº: ${dadosNota.ntf_numero}, ` + motivo, description: motivo });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n notification.warning({ description: `Não foi possível inutilizar a NF-e Nº: ${dadosNota.ntf_numero} !`, message: 'Aviso' });\r\n setCarregando(false);\r\n }\r\n ).finally(\r\n () => {\r\n setCarregando(false);\r\n form.resetFields();\r\n fecharModal();\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n Inutilizar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n destroyOnClose\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {dadosNota.ntf_chavenfe} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_nomedest}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {MaskFormat(dadosNota.ntf_cnpjcpfdest, '', true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_numero}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_serie}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_modelo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {moment(dadosNota.ntf_dataemissao).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.tip_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(dadosNota.valor_total, true)} \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button, Table, Tag, InputNumber, Input, Modal, notification } from \"antd\";\r\nimport { PlusOutlined, MinusOutlined, CloseOutlined, CheckOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport InputPreco from \"../../inputPreco\";\r\nimport { FormatNumber } from \"../../../ValueObjects\";\r\nimport { isObjetoDiffVazio } from \"../../../services/funcoes\";\r\n\r\nexport default function ModalProdutoGrade({ exibirModal, fecharModal, dados, acrescimoDesconto = true }) {\r\n const [form] = Form.useForm();\r\n const [ehPercentual, setEhPercentual] = useState(false);\r\n const [listaGrade, setListaGrade] = useState([]);\r\n const [listaGradeBkp, setListaGradeBkp] = useState([]);\r\n\r\n const onCloseModal = () => {\r\n fecharModal();\r\n setListaGradeBkp([]);\r\n };\r\n\r\n const salvarDados = () => {\r\n let grades = \"\";\r\n let listaItens = listaGradeBkp.filter(grade => grade.quantidade > 0);\r\n grades = listaItens.map(grade => grade.prg_id).join(',');\r\n api.get(`Produto/ListaProdutoPelaGrade?listaGrades=${grades}`).then(\r\n res => {\r\n let dados = res.data;\r\n dados.forEach((grade) => {\r\n let dadosDaGrade = listaItens.filter((item) => (item.prg_id === grade.prg_id))[0];\r\n grade.lpi_valorvenda = dadosDaGrade.lpi_valorvenda;\r\n grade.quantidade = dadosDaGrade.quantidade;\r\n });\r\n fecharModal(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n setListaGradeBkp([]);\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (!!exibirModal && !!dados && isObjetoDiffVazio(dados)) {\r\n buscarDadosGrade();\r\n }\r\n }, [exibirModal]);\r\n\r\n useEffect(() => {\r\n if (!!listaGradeBkp) {\r\n setListaGrade(listaGradeBkp);\r\n }\r\n }, [listaGradeBkp])\r\n\r\n function buscarDadosGrade() {\r\n api.get(`Produto/ListarGrades?idProduto=${dados.pro_id}`).then(\r\n res => {\r\n let dados = res.data;\r\n dados.forEach((item) => {\r\n item.quantidade = 0;\r\n })\r\n setListaGradeBkp(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function calcularDesc() {\r\n\r\n };\r\n\r\n function calcularAcres() {\r\n\r\n };\r\n\r\n function alterarQuantidade(operacao, prg_id, qtd = 0) {\r\n let lista = [...listaGrade]\r\n let dados = lista.find((grade) => (grade.prg_id === prg_id));\r\n if (operacao === '+') {\r\n dados.quantidade++;\r\n } else if (operacao === '-') {\r\n if (dados.quantidade > 0) {\r\n dados.quantidade--;\r\n } else {\r\n notification.warn({ description: 'A quantidade informada não pode ser menor do que 0!', message: 'Aviso' });\r\n return;\r\n }\r\n } else {\r\n if (qtd > 0) {\r\n dados.quantidade = qtd;\r\n } else {\r\n notification.warn({ description: 'A quantidade informada não pode ser menor do que 0!', message: 'Aviso' });\r\n return;\r\n }\r\n }\r\n setListaGradeBkp(lista);\r\n };\r\n\r\n function pesquisaGrade(campo) {\r\n if (!!campo) {\r\n let dados = [...listaGradeBkp];\r\n dados.forEach(grade => {\r\n grade.modalidadesgrade.forEach((modalidade, idx) => {\r\n if (idx === 0) {\r\n grade.descricaoGrade = \"\";\r\n }\r\n grade.descricaoGrade += modalidade.mgp_descricao + \" \";\r\n });\r\n });\r\n dados = dados.filter((grade) => (grade.ean.indexOf(campo) > -1 || grade.descricaoGrade.toLowerCase().indexOf(campo.toLowerCase()) > -1));\r\n setListaGrade(dados);\r\n } else {\r\n setListaGrade(listaGradeBkp);\r\n }\r\n };\r\n\r\n return (\r\n \r\n Cancelar\r\n \r\n }\r\n onOk={() => { form.submit() }}\r\n okText={\r\n <>\r\n Ok\r\n \r\n }\r\n width={780}\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n { pesquisaGrade(campo) }} allowClear />\r\n \r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n {prg_ean}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Grade',\r\n render: ({ modalidadesgrade }) => (\r\n
\r\n {modalidadesgrade.map(atrib => (\r\n {atrib.mgp_descricao} \r\n ))}\r\n
\r\n ),\r\n }, acrescimoDesconto ? {\r\n title: () => {\r\n return (\r\n
\r\n \r\n
\r\n Desconto/Acréscimo\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n width: 175,\r\n align: 'center',\r\n render: (record, { prg_id }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { alterarQuantidade(\"\", record.prg_id, valor) }} />\r\n \r\n \r\n \r\n MAPA\r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Select, notification, Modal, Radio, Input } from \"antd\";\r\nimport { ExclamationCircleOutlined, SaveOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { useStateValue } from \"../../../state\";\r\nimport SelectPaginacao from \"../../selects/selectPaginacao\";\r\nimport InputNumber from \"rc-input-number\";\r\n\r\nexport default function ModalRetencao({exibirModalRetencao, fecharModalRetencao }) {\r\n const [dispatch] = useStateValue();\r\n\r\n const onCloseModal = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharModalRetencao();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n Salvar\r\n \r\n }\r\n cancelText={\r\n <>\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n `%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Produto\r\n Serviço\r\n Ambos\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useStateValue } from '../../../state';\r\nimport { Col, Form, Modal, Row, Select } from 'antd';\r\nimport { CloseOutlined, SaveOutlined } from '@ant-design/icons';\r\nimport { setClienteCatalogo, setNomeClienteCatalogo } from '../../../services/auth';\r\nimport SelectPaginacao from '../../selects/selectPaginacao';\r\nimport { selectPaginadoActions } from '../../../actions';\r\n\r\n\r\nexport default function ModalSelecaoClientesCat({ exibirModal, onCloseModal }) {\r\n const [formClientes] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosLista, setDadosLista] = useState([]);\r\n\r\n function selecionarCliente() {\r\n let lista = [...dadosLista];\r\n let codCliente = formClientes.getFieldValue().codigo;\r\n let cliente = lista.find(c => c.codigo == codCliente);\r\n if (!!cliente) {\r\n setNomeClienteCatalogo(cliente.nome);\r\n }\r\n setClienteCatalogo(codCliente);\r\n onCloseModal();\r\n }\r\n\r\n return (\r\n\r\n { formClientes.submit() }}\r\n okText={\r\n <>\r\n Salvar\r\n \r\n }\r\n closable={false}\r\n cancelButtonProps={{ hidden: true }}\r\n destroyOnClose\r\n maskClosable={false}\r\n width={700}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n ({e.codigo} - {e.nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Modal } from 'antd';\r\n\r\nimport { CloseOutlined } from '@ant-design/icons';\r\nimport { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch';\r\n\r\nexport default function ModalExibeImagem({ dadosImagem, exibirModal, onCloseModal }) {\r\n return (\r\n Cancelar\r\n \r\n }\r\n maskClosable={false}\r\n >\r\n
\r\n \r\n \r\n \"imagem\"\r\n \r\n \r\n
\r\n
);\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Select, Button, Switch, Tag, notification, Modal, Table } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined, UndoOutlined } from \"@ant-design/icons\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\nimport moment from 'moment';\r\n\r\n\r\nimport api from \"../../services/api\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalSenhaLiberacao } from \"../../components/modals\";\r\nimport { Data, FiltroProdutoVnc, FormGW, InputPhone, Tabela } from \"../../components\";\r\nimport { listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { compararDatas, isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoCondicional({ formulario, carregando, aoSalvar, dadosItens, setDadosItens, imprimirCondicional }) {\r\n\r\n const format = 'HH:mm';\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosEntrega, setDadosEntrega] = useState(false);\r\n const [cliente, setCliente] = useState({});\r\n const [openModalSenha, setOpenModalSenha] = useState(false);\r\n const [quantidadeTot, setQuantidadeTot] = useState(0);\r\n const [valorTot, setValorTot] = useState(0.00);\r\n const [dadosSenha, setDadosSenha] = useState([]);\r\n const [editando, setEditando] = useState(false);\r\n const [dadosEditando, setDadosEditando] = useState({});\r\n const [dataRetorno, setDataRetorno] = useState(moment(new Date()));\r\n\r\n function switchEntregar() {\r\n setDadosEntrega(!dadosEntrega);\r\n if (!!formulario.getFieldValue().cli_id && !dadosEntrega) {\r\n if (isObjetoDiffVazio(cliente)) {\r\n if (cliente.enderecos.length > 0) {\r\n let endPrincipal = cliente.enderecos.length == 1 ? cliente.enderecos[0] : cliente.enderecos.filter((e) => (e.pee_enderecoprincipal == true))[0]\r\n if (!!endPrincipal) {\r\n let endEntrega = endPrincipal.log_logradouro + ', ' + endPrincipal.pee_numero + '. ' + endPrincipal.bai_nome + ', ' + endPrincipal.cep_cep + ', ' + endPrincipal.cid_descricao + '/' + endPrincipal.est_sigla;\r\n formulario.setFieldsValue({ vnc_enderecoentrega: endEntrega.replaceAll(\"null\", '') });\r\n formulario.setFieldsValue({ vnc_entregaagendada: moment(new Date()) });\r\n formulario.setFieldsValue({ horaagendada: '00:00' });\r\n }\r\n }\r\n } else {\r\n api.get(`PessoaEndereco/ListaEndereco?IdPessoa=${formulario.getFieldValue().pes_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n if (!!res.data) {\r\n if (res.data.length > 0) {\r\n let endPrincipal = res.data.length == 1 ? res.data[0] : res.data.filter((e) => (e.pee_enderecoprincipal == true))[0]\r\n if (!!endPrincipal) {\r\n let endEntrega = endPrincipal.log_logradouro + ', ' + endPrincipal.pee_numero + '. ' + endPrincipal.bai_nome + ', ' + endPrincipal.cep_cep + ', ' + endPrincipal.cid_descricao + '/' + endPrincipal.est_sigla;\r\n formulario.setFieldsValue({ vnc_enderecoentrega: endEntrega.replaceAll(\"null\", '') });\r\n formulario.setFieldsValue({ vnc_entregaagendada: moment(new Date()) });\r\n formulario.setFieldsValue({ horaagendada: '00:00' });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ vnc_levarparacliente: dadosEntrega });\r\n }, [dadosEntrega]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.itens) {\r\n if (!!manutencao.dados.vnc_levarparacliente) {\r\n setDadosEntrega(manutencao.dados.vnc_levarparacliente);\r\n }\r\n setDadosItens(manutencao.dados.itens);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n let lista = [];\r\n if (!!manutencao.dados.cli_id) {\r\n lista.push({ name: \"cli_id\", campo: \"IdCliente\", value: manutencao.dados.cli_id });\r\n }\r\n if (!!manutencao.dados.ven_id) {\r\n lista.push({ name: \"ven_id\", campo: \"IdVendedor\", value: manutencao.dados.ven_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function desfazerDevolucao(record) {\r\n let dadosTemp = dadosItens;\r\n dadosTemp.filter((item) => { return item.vci_id === record.vci_id })[0].vci_devolvido = 0;\r\n dadosTemp.filter((item) => { return item.vci_id === record.vci_id })[0].totBaixado = false;\r\n setDadosItens(dadosTemp);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosTemp } });\r\n };\r\n\r\n useEffect(() => {\r\n recalcularTotais(dadosItens);\r\n }, [dadosItens]);\r\n\r\n\r\n function salvarDados(values) {\r\n if (!(!!values.vnc_levarparacliente)) {\r\n values.vnc_levarparacliente = false;\r\n } else {\r\n let dataEntrega = moment(values.vnc_entregaagendada);\r\n let horaEntrega = '00';\r\n let minutoEntrega = '00';\r\n if (!!values.horaagendada) {\r\n horaEntrega = values.horaagendada.substring(0, 2);\r\n minutoEntrega = values.horaagendada.substring(3, 5);\r\n }\r\n dataEntrega.set(\"hour\", parseInt(horaEntrega)); // Setando a hora\r\n dataEntrega.set(\"minute\", parseInt(minutoEntrega)); // Setando os minutos\r\n values.vnc_entregaagendada = dataEntrega;\r\n }\r\n values.vnc_imagemassinaturacliente = \"\";\r\n values.pes_id = cliente.pes_id;\r\n values.pes_nome = cliente.pes_nome;\r\n values.vnc_telefonecliente = values.vnc_telefonecliente.replaceAll(`(`, ``).replaceAll(`)`, ``).replaceAll(`-`, ``).replaceAll(` `, ``).replaceAll(`_`, ``);\r\n values.vendacondicionalitens = dadosItens;\r\n if (values.vendacondicionalitens.length == 0) {\r\n notification.warning({ message: 'Atenção', description: \"O condicional não possui itens, verifique!\" });\r\n return;\r\n }\r\n let enderecoUrl = 'VendaCondicional/';\r\n carregando(true);\r\n if (values.vnc_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n if (!!res.data) {\r\n imprimirCondicional(res.data);\r\n }\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da condicional foram salvos com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: res.data } });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response.data.Message) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n setDadosEntrega(false);\r\n recalcularTotais(dadosItens);\r\n }\r\n );\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n if (!!res.data) {\r\n imprimirCondicional(res.data);\r\n }\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da condicional foram salvos com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: res.data } });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response.data.Message) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n setDadosEntrega(false);\r\n recalcularTotais(dadosItens);\r\n }\r\n );\r\n };\r\n };\r\n\r\n // so deixa excluir o item se não tiver sido gravado em banco, caso contrario é apenas feito a devolução total do item, para manter historico.\r\n function excluirItem(item) {\r\n let dadosTemp = [...dadosItens];\r\n if (typeof item.vci_id === \"undefined\") {\r\n dadosTemp = dadosTemp.filter((dados) => dados !== item);\r\n } else {\r\n dadosTemp.filter((i) => { return i.vci_id === item.vci_id })[0].vci_devolvido = item.vci_quantidade;\r\n }\r\n setDadosItens(dadosTemp);\r\n recalcularTotais(dadosTemp);\r\n };\r\n\r\n function editarItem(registro, indice) {\r\n registro.indice = indice;\r\n setDadosEditando(registro);\r\n setEditando(true);\r\n };\r\n\r\n function recalcularTotais(dados) {\r\n let qtd = 0;\r\n let valor = 0;\r\n dados.forEach((dado) => {\r\n qtd += (dado.vci_quantidade - dado.vci_devolvido);\r\n valor += dado.vci_valorun * (dado.vci_quantidade - dado.vci_devolvido);\r\n });\r\n setValorTot(valor);\r\n setQuantidadeTot(qtd);\r\n };\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n };\r\n\r\n const modalParcelasAtraso = (cliente) => {\r\n Modal.confirm({\r\n title: 'Atenção',\r\n icon: ,\r\n content: `Este cliente possui parcelas em atraso!! Deseja Continuar? Será solicitado uma senha Gerencial!`,\r\n okText: 'Sim, quero continuar!',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n modalSenhaGerencial(cliente);\r\n },\r\n onCancel() {\r\n formulario.setFieldsValue({ cli_id: null });\r\n }\r\n });\r\n };\r\n\r\n const modalSenhaGerencial = (dados) => {\r\n setOpenModalSenha(true);\r\n setDadosSenha(dados);\r\n };\r\n\r\n function retornoModalSenha(dados) {\r\n if (!dados) {\r\n formulario.setFieldsValue({ cli_id: null });\r\n }\r\n };\r\n\r\n async function BuscarDadosCliente(IdPessoa) {\r\n if (!!IdPessoa) {\r\n var dadosCliente;\r\n await api.get(`Cliente/BuscarCliente/${IdPessoa}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n if (!!res.data) {\r\n dadosCliente = res.data;\r\n setCliente(res.data)\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n let telefone = dadosCliente.telefones.filter((tel) => (tel.psc_ativo == true && tel.psc_principal == true))[0]?.psc_numero;\r\n if (!!telefone) telefone = dadosCliente.telefones.filter((tel) => (tel.psc_ativo == true))[0]?.psc_numero;\r\n if (!!telefone) formulario.setFieldsValue({ vnc_telefonecliente: telefone });\r\n else formulario.setFieldsValue({ vnc_telefonecliente: \"\" });\r\n setDadosEntrega(false);\r\n await api.get(`Parcela/ListarParcelasClientesEmAtrazo?IdPessoa=${dadosCliente.pes_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n if (!!res.data && res.data.items.length > 0) {\r\n modalParcelasAtraso(dadosCliente);\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (dadosItens.length > 0) {\r\n dadosItens.map(itens => {\r\n itens.totBaixado = (itens.vci_quantidade - itens.vci_devolvido) === 0;\r\n });\r\n }\r\n }, [dadosItens]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n (BuscarDadosCliente(valor))} form={formulario} name=\"cli_id\" conteudo={\r\n cli => ({cli.cli_codigo} - {cli.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({ven.ven_id} - {ven.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n ({\r\n validator(_, value) {\r\n if (!value || compararDatas(value)) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(new Error('A data precisa ser maior que a atual!'));\r\n },\r\n }),]} />\r\n \r\n \r\n \r\n (switchEntregar(campo))} /> Entregar para o Cliente\r\n \r\n \r\n {!!dadosEntrega &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { let a = formulario.getFieldValue().horaagendada; }} />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
(\r\n \r\n {pro_codigo}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n render: ({ pro_descricao, pro_ean, descricaograde, totBaixado }) => (\r\n
\r\n \r\n
\r\n {totBaixado ?\r\n \r\n {pro_descricao}\r\n :\r\n {pro_descricao}\r\n }\r\n \r\n \r\n \r\n {!!pro_ean ? (\r\n {totBaixado ?\r\n \r\n EAN: {pro_ean}\r\n :\r\n \r\n EAN: {pro_ean}\r\n \r\n }\r\n ) : \"\"}\r\n {!!descricaograde ? (\r\n {totBaixado ?\r\n \r\n Grade: {descricaograde}\r\n :\r\n \r\n Grade: {descricaograde}\r\n \r\n }\r\n ) : ''}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n render: ({ vci_quantidade, vci_devolvido, totBaixado }) => (\r\n
\r\n {(!!totBaixado ? (Ficou com: {vci_quantidade - vci_devolvido}) : (Ficou com: {vci_quantidade - vci_devolvido} ))}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n editable: true,\r\n render: ({ vci_devolvido, totBaixado }, record) => (\r\n
\r\n \r\n
\r\n {(!!totBaixado ? ( Devolveu: {vci_devolvido} ) : (vci_devolvido > 0) ? Devolveu: {vci_devolvido} : )}\r\n \r\n \r\n {(!!totBaixado ? ((Todos)) : )}\r\n \r\n \r\n {(!!vci_devolvido > 0 ? \r\n \r\n \r\n Quantidade Total de Itens: {quantidadeTot}\r\n \r\n \r\n Valor Total dos Itens (R$): {FormatNumber(valorTot, true)}\r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoCondicional from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerCondicional({imprimirCondicional}) {\r\n\r\n const [formManutencao, setFormManutencao] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosItens, setDadosItens] = useState([]);\r\n\r\n if (!!manutencao.dados) {\r\n formManutencao.setFieldsValue(manutencao.dados);\r\n } else {\r\n //formManutencao.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formManutencao.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n setDadosItens([]);\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n destroyOnClose: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n fecharDrawer={fecharDrawer}\r\n className=\"opc\"\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n}","import EventEmitter from 'eventemitter3';\r\n\r\nconst eventEmitter = new EventEmitter();\r\n\r\nconst Emitter = {\r\n on: (event, fn) => eventEmitter.on(event, fn),\r\n once: (event, fn) => eventEmitter.once(event, fn),\r\n off: (event, fn) => eventEmitter.off(event, fn),\r\n emit: (event, payload) => eventEmitter.emit(event, payload)\r\n}\r\n\r\nObject.freeze(Emitter);\r\n\r\nexport default Emitter;","export default __webpack_public_path__ + \"static/media/i-endereco.c9dff16a.png\";","import React, { useEffect, useState } from \"react\";\r\nimport api from \"../../../services/api\";\r\nimport { getClienteCat } from \"../../../services/auth\";\r\nimport { Table, TableBody, TableCell, TableRow } from \"@material-ui/core\";\r\nimport { Modal } from \"antd\";\r\nimport formatNumber from \"../../../ValueObjects/formatNumber\";\r\n\r\n\r\nexport default function ModalDadosPecas({ exibirModal, fecharModal, codigoPeca }) {\r\n const [dadosPeca, setDadosPeca] = useState({});\r\n const [dadosTabela, setDadosTabela] = useState([]);\r\n\r\n useEffect(() => {\r\n if (exibirModal && !!codigoPeca) {\r\n buscarDados();\r\n }\r\n }, [exibirModal]);\r\n\r\n const onCloseModal = () => {\r\n fecharModal()\r\n };\r\n\r\n function buscarDados() {\r\n api.get(`Cat007/BuscarInfoPeca?empresa=1&codCliente=${getClienteCat()}&codPeca=${codigoPeca}`).then(\r\n res => {\r\n let dados = { ...res.data };\r\n console.log(dados);\r\n let listaDadosTab = [\r\n createData(\"Preço Lista:\", \"R$ \" + formatNumber(!!dados.precoLista ? dados.precoLista : 0, true), \"\"),\r\n createData(\"(%) Desconto:\", formatNumber(!!dados.percDescCli ? dados.percDescCli : 0, true), \"\"),\r\n createData(\"Preço Líquido: \", \"R$ \" + formatNumber(!!dados.valorLiquido ? dados.valorLiquido : 0, true), \"\"),\r\n createData(\"(%) IPI: \", formatNumber(!!dados.percIpi ? dados.percIpi : 0, true) + \" (R$ \" + formatNumber(!!dados.valIpi ? dados.valIpi : 0, true) + \")\", \"\"),\r\n createData(\"% MVA: \", formatNumber(!!dados.perMva ? dados.perMva : 0, false), \"\"),\r\n createData(\"% ICMS: \", formatNumber(!!dados.percIcms ? dados.percIcms : 0, false) + \" (R$ \" + formatNumber(!!dados.valIcms ? dados.valIcms : 0, true) + \")\", \"\"),\r\n createData(\"% Red Base de Calculo ICMS: \", formatNumber(!!dados.percRedBaseCalcST ? dados.percRedBaseCalcST : 0, true), \"\"),\r\n createData(\"Base Cálculo ICMS ST: \", formatNumber(!!dados.baseCalcST ? dados.baseCalcST : 0, false), \"\"),\r\n createData(\"Valor do ICMS ST: \", \"R$ \" + formatNumber(!!dados.valST ? dados.valST : 0, true), \"\"),\r\n createData(\"Preço Final: \", \"R$ \" + formatNumber(!!dados.precoFinal ? dados.precoFinal : 0, true), \"\"),\r\n createData(\"Estoque: \", dados.estoque > 0 ? \"ITEM DISPONÍVEL\" : \"ITEM EM PRODUÇÃO\", dados.estoque > 0 ? \"txtEstoqueAzul\" : \"txtEstoqueVermelho\")\r\n ];\r\n setDadosTabela(listaDadosTab);\r\n setDadosPeca(dados);\r\n }\r\n ).catch(err => {\r\n console.log(err);\r\n })\r\n };\r\n\r\n function createData(name, value, style) {\r\n return { name, value, style }\r\n };\r\n\r\n\r\n return (\r\n
\r\n

Código da peça: {dadosPeca.codPeca}

\r\n

Código Alternativo: {dadosPeca.codigoAlternativo}

\r\n

Descrição: {dadosPeca.descricao}

\r\n

Modelos/Inf Adicionais: {dadosPeca.infAdicional}

\r\n
\r\n
\r\n

Unidade de Medida: {dadosPeca.unidadeMedida}

\r\n

Qtde da Embalagem: {dadosPeca.quantidade}

\r\n

Peso: {formatNumber(!!dadosPeca.peso ? dadosPeca.peso : 0, true, 2)}

\r\n

NCM: {dadosPeca.ncm}

\r\n
\r\n
\r\n \r\n {dadosTabela.map((row) => (\r\n \r\n {row.name}\r\n {row.value}\r\n \r\n ))}\r\n \r\n\r\n
\r\n
\r\n

Informações Cliente: {dadosPeca.infoCliente}

\r\n

Cidade: {dadosPeca.clienteCidade}

\r\n

CEP: {dadosPeca.clienteCep} UF: {dadosPeca.clienteUF}

\r\n
\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Typography, Row, Col, Form, Divider, InputNumber, Card, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { validarNumeros } from \"../../services/funcoes\";\r\nimport { FormasPagamento, InputPreco } from \"../../components\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { CalcularImpostoItem } from \"../../services/calculaImposto\";\r\nimport { isObjetoDiffVazio, calculaValorProporcional } from \"../../services/funcoes\";\r\n\r\nexport default function TabFaturamento({ form, dadosItens, dadosVendedor, dadosOperacao }) {\r\n\r\n const [valorNota, setValorNota] = useState(0);\r\n const [valorTotalSt, setvalorTotalSt] = useState(0);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState(!!manutencao.dados && !!manutencao.dados.faturamento && manutencao.dados.faturamento.length > 0 ? manutencao.dados.faturamento : [])\r\n const [controlModal, setControlModal] = useState(false);\r\n useEffect(() => {\r\n rateios();\r\n calcularFaturamento();\r\n }, [manutencao.dados])\r\n\r\n function calcularFaturamento() {\r\n let formulario = form.getFieldValue();\r\n let subTotal = 0;\r\n dadosItens.forEach((item) => {\r\n subTotal += item.total;\r\n });\r\n form.setFieldsValue({ subTotalNotaFiscal: subTotal });\r\n form.setFieldsValue({ valorFrete: validarNumeros(formulario.valorFrete) });\r\n form.setFieldsValue({ valorSeguro: validarNumeros(formulario.valorSeguro) });\r\n setvalorTotalSt(formulario.valorTotalSt)\r\n setValorNota(parseFloat(subTotal) + parseFloat(formulario.valorFrete) + parseFloat(formulario.valorSeguro) + parseFloat(formulario.valorOutrasDespesas));\r\n };\r\n\r\n useEffect(() => {\r\n recalcularTotal();\r\n }, [valorNota]);\r\n\r\n function calcularDesconto(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorDesconto);\r\n let perc = validarNumeros(formulario.percentualDesconto);\r\n let tot = parseFloat(valorNota);\r\n let result = 0;\r\n\r\n if (listaFormaPagamento.length > 0 && !!!controlModal) {\r\n setControlModal(true);\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: 'Tem certeza que deseja adicionar desconto? As formas de pagamento terão que ser incluídas novamente.',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n setListaFormaPagamento([]);\r\n },\r\n onCancel() {\r\n form.setFieldsValue({ valorDesconto: 0, percentualDesconto: 0, valorTotal: listaFormaPagamento[0].pfp_valor });\r\n }\r\n });\r\n }\r\n\r\n\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorDesconto: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualDesconto: result.toFixed(2) });\r\n }\r\n\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function calcularAcrescimo(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorAcrescimo);\r\n let perc = validarNumeros(formulario.percentualAcrescimo);\r\n let tot = (!!valorNota ? parseFloat(valorNota) : 0);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorAcrescimo: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percentualAcrescimo: result.toFixed(2) });\r\n }\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function recalcularTotal() {\r\n let formulario = form.getFieldValue();\r\n let valor = 0;\r\n if (!!formulario) {\r\n valor = valorNota - validarNumeros(formulario.valorDesconto) + validarNumeros(formulario.valorAcrescimo);\r\n form.setFieldsValue({ valorTotal: valor.toFixed(2) });\r\n let valorPago = 0;\r\n if (!!manutencao.dados && !!manutencao.dados.faturamento) {\r\n manutencao.dados.faturamento.forEach((dadosFat) => {\r\n valorPago += parseFloat(dadosFat.pfp_valor);\r\n if (listaFormaPagamento.length == 0 || form.getFieldValue().valorDesconto > 0);\r\n {\r\n valorPago = 0;\r\n }\r\n });\r\n }\r\n form.setFieldsValue({ pfp_valor: (valor - valorPago).toFixed(2) });\r\n }\r\n };\r\n\r\n async function rateios() {\r\n await reteioDesconto();\r\n await recalcularImpostos();\r\n }\r\n\r\n async function recalcularImpostos() {\r\n if (dadosItens.length > 0) {\r\n let total = 0;\r\n let totalSt = 0;\r\n let possuiIe = !!form.getFieldValue().pej_inscricaoestadual ? true : false;\r\n let fisicaJuridica = form.getFieldValue().ntf_cpfcnpj.length === 14 ? 2 : form.getFieldValue().ntf_cpfcnpj.length == 11 ? 1 : 3;\r\n for (const p of dadosItens) {\r\n try {\r\n let _valorTotalDescontoItem = (!!p.nfi_valordescontorateado ? p.nfi_valordescontorateado : p.nfi_valordescontorateado) + p.nfi_valordesconto;\r\n let impostos = await CalcularImpostoItem(p.orm_id, p.cst_id, p.cso_id, p.iod_uforigem, p.iod_ufdestino, p.nfi_qtde, p.nfi_valorunitario, p.nfi_valorfrete, p.nfi_valoroutros,\r\n _valorTotalDescontoItem, p.impostos.retornoICMS.ret_aliquotaIcms, p.impostos.retornoICMS.ret_aliquotaIcms, p.impostos.retornoICMS.ret_percReducaoIcms,\r\n p.impostos.retornoICMSST.ret_aliquotaIcmsSt, p.impostos.retornoICMSST.ret_percMva, p.impostos.retornoICMSST.ret_percReducaoIcmsST, null,\r\n p.impostos.retornoICMSST.ncm_percentual, fisicaJuridica, form.getFieldValue().ntf_consumidorfinal, possuiIe, form.getFieldValue().ntf_indicadorpresenca);\r\n\r\n if (isObjetoDiffVazio(impostos)) {\r\n p.nfi_valoricmsst = impostos.retornoICMSST.ret_valorIcmsSt;\r\n p.nfi_valoripi = impostos.retornoIPI.ret_valorIpi;\r\n p.total = (p.nfi_qtde * p.nfi_valorunitario) - p.nfi_valordesconto + p.nfi_valoroutros + p.nfi_valoripi + p.nfi_valoricmsst;\r\n p.impostos = impostos;\r\n }\r\n totalSt += parseFloat(p.nfi_valoricmsst);\r\n total += parseFloat(p.total + p.nfi_valorfrete);\r\n } catch (error) {\r\n // Handle any potential errors here\r\n console.error(\"Error item:\", error);\r\n }\r\n }\r\n form.setFieldsValue({ valorTotalSt: totalSt });\r\n\r\n calcularFaturamento();\r\n }\r\n }\r\n function reteioDesconto() {\r\n let formulario = form.getFieldsValue();\r\n let _numeroItem = 1;\r\n let _totalDesconto = 0;\r\n if (dadosItens.length > 0) {\r\n let _valorDesconto = parseFloat(formulario.valorDesconto);\r\n if (_valorDesconto > 0) {\r\n // Ordena os itens em ordem de maior valor crescente\r\n var itens = dadosItens.sort((a, b) => a.total - b.total);\r\n // Calcular a soma da multiplicação dos campos\r\n let somaTotal = dadosItens.reduce((total, item) => {\r\n let resultadoMultiplicacao = item.nfi_valorunitario * item.nfi_qtde;\r\n return total + resultadoMultiplicacao;\r\n }, 0);\r\n\r\n itens.forEach(item => {\r\n let valorTotalItem = parseFloat(item.nfi_valorunitario * item.nfi_qtde);\r\n item.nfi_valordescontorateado = calculaValorProporcional(valorTotalItem, _valorDesconto, somaTotal);\r\n if (_numeroItem == dadosItens.length) {\r\n item.nfi_valordescontorateado = parseFloat((_valorDesconto - _totalDesconto).toFixed(2))\r\n }\r\n _totalDesconto += item.nfi_valordescontorateado;\r\n _numeroItem++;\r\n });\r\n }\r\n }\r\n }\r\n\r\n function vendedorDescMaxFinal() {\r\n let totalDesconto = 0;\r\n let totalValorDescontoItens = 0;\r\n dadosItens.forEach((itens) => {\r\n totalValorDescontoItens += parseFloat(itens.nfi_valordesconto);\r\n });\r\n let percentualDescontoConcedido = parseFloat(((totalValorDescontoItens * 100) / parseFloat(form.getFieldsValue().subTotalNotaFiscal)).toFixed(2));\r\n totalDesconto = percentualDescontoConcedido + parseFloat(form.getFieldValue().percentualDesconto);\r\n if (!!dadosVendedor && JSON.stringify(dadosVendedor) !== '{}' && !!dadosVendedor.ven_maximodesconto) {\r\n if (totalDesconto > (dadosVendedor.ven_maximodesconto * 100)) {\r\n notification.warning({ description: `O desconto máximo para este vendedor não pode exceder ${dadosVendedor.ven_maximodesconto * 100}% !`, message: 'Aviso' });\r\n form.setFieldsValue({ percentualDesconto: (dadosVendedor.ven_maximodesconto * 100) - parseFloat(percentualDescontoConcedido) });\r\n calcularDesconto('PERC');\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Totais da Nota Fiscal\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onBlur={() => { vendedorDescMaxFinal(); rateios(); }}\r\n onChange={() => { calcularDesconto('PERC'); }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { vendedorDescMaxFinal(); rateios(); }} onChange={() => { calcularDesconto('VALOR'); }} />\r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calcularAcrescimo('PERC') }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { calcularAcrescimo('VALOR') }} />\r\n \r\n \r\n \r\n \r\n IPI (R$): 0,00\r\n \r\n \r\n \r\n \r\n Substituição Tributária (R$): {FormatNumber(valorTotalSt)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota (R$)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}","import React, {useEffect } from 'react';\r\nimport { Row, Col, Card, Form, Typography, Input, Divider, InputNumber } from \"antd\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function TabResumo({ form, itensNota }) {\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Resumo da Nota Fiscal\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n disabled\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n disabled\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n IPI: R$ 0,00\r\n \r\n \r\n \r\n \r\n Substituição Tributária (R$): {FormatNumber(form.getFieldValue().valorTotalSt)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Total de Itens da Nota: {itensNota.length}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total da Nota\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Typography, Row, Col, Form, Divider, Input, Select, Steps, Button, Modal, notification, Spin } from \"antd\";\r\nimport { CalendarOutlined, ExclamationOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { TabFaturamento, TabResumo } from './tabPage';\r\nimport { Data, DrawerCliente, FormGW, InputCep, InputCpfCnpj, SelectIncluir, SelectPaginacao } from '../../components';\r\nimport { TabItens, TabTransporte } from '../tabNotaFiscal/index';\r\nimport { drawerActions, manutencaoActions, selectPaginadoActions } from '../../actions';\r\nimport { ModalAliquotaSimplesNacional, ModalEndereco, ModalTelefone } from \"../../components/modals\";\r\nimport { validaForm, validarNumeros, isObjetoDiffVazio, novaAbaNavegador, calculaValorProporcional } from '../../services/funcoes';\r\nimport { CalcularImpostoItem } from \"../../services/calculaImposto\";\r\nimport SelectPaginado from '../../components/selectPaginado';\r\nimport { MaskFormat } from '../../ValueObjects/index';\r\nimport { getCnpjEmpresa, getDadosIntegra, setDadosIntegra } from '../../services/auth';\r\nimport apiPayer from '../../services/apiPayer';\r\n\r\nexport default function ManutencaoNotaFiscal({ form, carregando, aoSalvar, pages, proximaPag, salvarRascunho, showDrawerExtra }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [vendedores, setVendedores] = useState([]);\r\n const [clientes, setClientes] = useState([]);\r\n const [serie, setSerie] = useState([]);\r\n const [dadosEndereco, setDadosEndereco] = useState([]);\r\n const [telefone, setTelefone] = useState([]);\r\n const [email, setEmail] = useState([]);\r\n const [pessoaFisica, setPessoaFisica] = useState(1);\r\n const [dadosContribuinte, setDadosContribuinte] = useState({});\r\n const [formularioTelefone] = Form.useForm();\r\n const [dadosTelefone, setDadosTelefone] = useState([]);\r\n const [abreModalTelefone, setAbreModalTelefone] = useState(false);\r\n const [dadosItens, setDadosItens] = useState([]);\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState([]);\r\n const [listaVeiculos, setListaVeiculos] = useState([]);\r\n const [abreModalSimplesNac, setAbreModalSimplesNac] = useState(false)\r\n const [dadosTransp, setDadosTransp] = useState({});\r\n const [dadosVendedor, setDadosVendedor] = useState({});\r\n const [openModalEndereco, setOpenModalEndereco] = useState(false);\r\n const [formEndereco] = Form.useForm();\r\n const [permiteValidar, setPermiteValidar] = useState(true);\r\n const [formasPagamento, setFormasPagamento] = useState([]);\r\n const [openDrawerCliente, setOpenDrawerCliente] = useState(false);\r\n const [openValidaIE, setOpenValidaIE] = useState(true);\r\n const [codigoCliente, setCodigoCliente] = useState(null);\r\n const [editando, setEditando] = useState(false);\r\n const [operacaoFiscal, setOperacaoFiscal] = useState({});\r\n const [carregarPagina, setCarregarPagina] = useState(false);\r\n const [listaIndicadorPresenca, setListaIndicadorPresenca] = useState([]);\r\n const [consumidorFinal, setconsumidorFinal] = useState([]);\r\n const [listaSubjacente, setListaSubjacente] = useState([]);\r\n const listaValidacoesDest = [\r\n { nome: 'ope_id', obrigatorio: true, label: 'Operação' },\r\n { nome: 'ntf_indicadorpresenca', obrigatorio: true, label: 'Indicador de Presença' },\r\n { nome: 'pes_id', obrigatorio: true, label: 'Destinatário' },\r\n { nome: 'cep_cep', obrigatorio: true, label: 'Cep' },\r\n { nome: 'ntf_endereco', obrigatorio: true, label: 'Endereço' },\r\n { nome: 'ntf_consumidorfinal', obrigatorio: true, label: 'Destinatario é consumidor final?' }\r\n ];\r\n\r\n const statusPagamentoIntegraPagto = {\r\n Aprovada: 1,\r\n Rejeitada: 2,\r\n Pendente: 3,\r\n Cancelada: 4,\r\n Abortada: 5,\r\n Finalizada: 6,\r\n NaoAutorizada: 7,\r\n }\r\n\r\n var modalInstance = null;\r\n\r\n const listaValidacoesTransp = [\r\n { nome: 'ntf_modalidadefrete', obrigatorio: true, label: 'Modalidade do Frete' }\r\n ];\r\n\r\n const pagamentosCodigos = {\r\n dinheiro: 1,\r\n cheque: 2,\r\n cartaoCredito: 3,\r\n cartaoDebito: 4,\r\n crediarioLoja: 5,\r\n valeAlimentacao: 6,\r\n valeRefeicao: 7,\r\n valeCombustivel: 9,\r\n antecipacao: 12,\r\n valePresente: 12,\r\n boleto: 15,\r\n depositoBancario: 16,\r\n pix: 17,\r\n transfBancaria: 18,\r\n semPagamento: 90,\r\n outro: 99\r\n };\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n carregarDados();\r\n if (!!manutencao.dados && !!manutencao.dados.ntf_id) {\r\n form.setFieldsValue(manutencao.dados);\r\n setEditando(true);\r\n } else {\r\n setEditando(false);\r\n }\r\n if (!!!form.getFieldValue().ntf_dataemissao) {\r\n form.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n useEffect(() => {\r\n if (!!showDrawerExtra) {\r\n carregarDados();\r\n form.setFieldsValue(manutencao.dados);\r\n if (!!!form.getFieldValue().ntf_dataemissao) {\r\n form.setFieldsValue({ ntf_dataemissao: moment(new Date()) });\r\n }\r\n }\r\n if (!!showDrawerExtra && !!form.getFieldValue().pes_id) {\r\n let lista = [];\r\n if (!!form.getFieldValue().pes_id) {\r\n lista.push({ name: \"pes_id\", campo: \"Filtro\", value: form.getFieldValue().pes_id });\r\n buscarDadosCliente(form.getFieldValue().pes_id);\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n form.setFieldsValue(manutencao.dados);\r\n }\r\n }, [showDrawerExtra]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.faturamento) {\r\n setListaFormaPagamento(manutencao.dados.faturamento);\r\n }\r\n if (!!manutencao.dados.formaPgto && !!!manutencao.dados.antecipacao) {\r\n manutencao.dados.formaPgto.forEach((forma) => {\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.crediarioLoja && forma.fpg_quitacaoantecipacao) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ antecipacao: [{ valorAntecipacao: forma.nfp_valor }] } } } });\r\n }\r\n });\r\n }\r\n if (!!manutencao.dados.formaPgto && !!!manutencao.dados.faturamento) {\r\n manutencao.dados.formaPgto.forEach((formas) => {\r\n formas.pfp_valor = parseFloat(formas.nfp_valor);\r\n });\r\n let dadosFormaPgto = [...manutencao.dados.formaPgto];\r\n dadosFormaPgto = manutencao.dados.formaPgto.filter((dados) => dados.fpg_tipopagamento !== pagamentosCodigos.crediarioLoja && !dados.fpg_quitacaoantecipacao);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ faturamento: dadosFormaPgto } } } });\r\n }\r\n if (!!manutencao.dados.pes_id && (!!!manutencao.dados.destinatario || (manutencao.dados.destinatario.pes_id !== manutencao.dados.pes_id))) {\r\n let lista = [];\r\n lista.push({ name: \"pes_id\", campo: \"Filtro\", value: manutencao.dados.pes_id });\r\n lista.push({ name: \"ope_id\", campo: \"CodigoOperacao\", value: manutencao.dados.ope_id });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n buscarDadosCliente(manutencao.dados.pes_id);\r\n popularOperacaoFiscal(manutencao.dados.ope_id);\r\n }\r\n if (!!manutencao.dados && !!manutencao.dados.itensNf) {\r\n if (!!manutencao.dados.itensNf[0].ped_id || !!manutencao.dados.itensNf[0].ntf_id) {\r\n calcularFrete(manutencao.dados.itensNf);\r\n }\r\n if (dadosItens.length === 0) {\r\n setDadosItens(manutencao.dados.itensNf);\r\n }\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!clientes && clientes.length > 0 && (!!manutencao.dados || !!form.getFieldValue().pes_id)) {\r\n let cliente = !!manutencao.dados ? manutencao.dados.pes_id : form.getFieldValue().pes_id;\r\n buscarDadosCliente(cliente);\r\n }\r\n }, [clientes]);\r\n\r\n useEffect(() => {\r\n if ((!!proximaPag.proximaPag || proximaPag.proximaPag === 0) && permiteValidar) {\r\n validarTrocaPg(proximaPag.proximaPag);\r\n } else {\r\n setPermiteValidar(true);\r\n }\r\n }, [proximaPag.proximaPag]);\r\n\r\n function calcularFrete() {\r\n let valorFrete = 0;\r\n manutencao.dados.itensNf.forEach((item) => {\r\n if (!!item.ped_id) {\r\n valorFrete += parseFloat(!!item.pdi_valorfrete ? item.pdi_valorfrete : 0);\r\n } else {\r\n valorFrete += parseFloat(!!item.nfi_valorfrete ? item.nfi_valorfrete : 0);\r\n }\r\n });\r\n form.setFieldsValue({ valorFrete: valorFrete });\r\n };\r\n\r\n async function carregarDados() {\r\n setCarregarPagina(true);\r\n let listaIndicadorPresenca = await api.get('Enum/Listar?nome=IndicadorPresenca');\r\n if (listaIndicadorPresenca.status === 200) {\r\n setListaIndicadorPresenca(listaIndicadorPresenca.data);\r\n }\r\n let consumidorFinal = await api.get('Enum/Listar?nome=ConsumidorFinal');\r\n if (consumidorFinal.status === 200) {\r\n setconsumidorFinal(consumidorFinal.data);\r\n }\r\n let listaVendedor = await api.get('Vendedor/ListarVendedor');\r\n if (listaVendedor.status === 200) {\r\n setVendedores(listaVendedor.data.items);\r\n }\r\n let listaSerie = await api.get('SerieFiscal/Listar?EmitenteDocumento=0&CodigoModeloDocFiscal=55&SomenteAtivos=true');\r\n let serie = [];\r\n if (listaSerie.status === 200) {\r\n serie = listaSerie.data.items;//.filter(item => (item.mdf_id === '55' && item.ser_emitentedocumento === 0));\r\n setSerie(serie);\r\n if (serie.length > 0) {\r\n form.setFieldsValue({ ser_id: serie[0].ser_id });\r\n }\r\n }\r\n\r\n let listaDadosContribuinte = await api.get('dadosContribuinte/Buscar');\r\n setCarregarPagina(false);\r\n if (listaDadosContribuinte.status === 200) {\r\n if (!!listaDadosContribuinte.data) {\r\n setDadosContribuinte(listaDadosContribuinte.data);\r\n if (listaDadosContribuinte.data.emp_regimetributario === 1) {\r\n popularDadosSimples();\r\n }\r\n } else {\r\n Modal.warning({\r\n title: 'Dados Contribuinte não parâmetrizados!',\r\n content: 'Favor parametrizar os dados do contribuinte'\r\n });\r\n aoSalvar();\r\n }\r\n }\r\n };\r\n\r\n function setarAdjacentes(adjacentes) {\r\n let key = 1;\r\n adjacentes.forEach((item) => {\r\n item.key = key++;\r\n });\r\n setListaSubjacente(adjacentes);\r\n }\r\n\r\n function tratarDadosSubjacente(id) {\r\n let value = listaSubjacente.find(x => x.pop_id === id);\r\n fetch(`https://viacep.com.br/ws/${value.pop_cep.replace(`-`, ``)}/json/`).then(\r\n res => res.json()\r\n ).then(\r\n result => {\r\n let dadosEndereco = {\r\n pee_id: id,\r\n ntf_endereco: id,\r\n bai_nome: value.pop_bairro,\r\n bairro: value.pop_bairro,\r\n cep_cep: value.pop_cep,\r\n cid_nome: result.localidade,\r\n complemento: value.pop_complemento,\r\n pee_complemento: value.pop_complemento,\r\n log_logradouro: value.pop_endereco,\r\n pee_numero: value.pop_numero,\r\n numero: value.pop_numero,\r\n est_sigla: result.uf\r\n };\r\n setDadosEndereco([dadosEndereco]);\r\n form.setFieldsValue(\r\n dadosEndereco);\r\n },\r\n erro => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n );\r\n }\r\n\r\n function setarEnderecos(enderecos) {\r\n if (enderecos != null && enderecos.length > 0) {\r\n setDadosEndereco(enderecos);\r\n let end = enderecos[0];\r\n buscarCep(end.cep_cep);\r\n form.setFieldsValue({\r\n ntf_endereco: end.pee_id,\r\n cep_cep: end.cep_cep,\r\n pse_id: end.pse_id,\r\n bai_nome: end.bai_nome,\r\n pee_numero: end.pee_numero,\r\n pee_complemento: end.pee_complemento\r\n });\r\n let lista = [];\r\n lista.push({ name: \"pse_id\", campo: \"pse_id\", value: end.pse_id });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n } else {\r\n setDadosEndereco([]);\r\n if (!!form.getFieldValue().pes_id) {\r\n Modal.confirm({\r\n title: 'Endereço não encontrado',\r\n icon: ,\r\n content: 'Deseja incluir um endereço para este destinatário?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n setOpenModalEndereco(true);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function setarTelefones(telefones) {\r\n setTelefone(telefones);\r\n if (telefones != null && telefones.length > 0) {\r\n let telefone;\r\n if (telefones.length > 1) {\r\n let telefonePrincipal = telefones.filter(f => f.psc_principal == true)\r\n if (telefonePrincipal.length > 0) {\r\n telefone = telefonePrincipal[0].psc_id;\r\n }\r\n else {\r\n telefone = telefones[0].psc_id;\r\n }\r\n } else {\r\n telefone = telefones[0].psc_id;\r\n }\r\n form.setFieldsValue({ telefoneDestinatario: telefone });\r\n }\r\n };\r\n\r\n function setarEmails(emails) {\r\n setEmail(emails);\r\n if (emails != null && emails.length > 0) {\r\n let email;\r\n if (emails.length > 1) {\r\n let emailPricipal = emails.filter(f => f.pem_emailprincipal == true);\r\n if (emailPricipal.length > 0) {\r\n email = emailPricipal[0].pem_id;\r\n }\r\n else {\r\n email = emails[0].pem_id;\r\n }\r\n } else {\r\n email = emails[0].pem_id;\r\n }\r\n form.setFieldsValue({ ntf_emaildestinatario: email });\r\n }\r\n };\r\n\r\n function popularDadosSimples() {\r\n let data = new Date();\r\n let dados = {};\r\n dados.asn_ano = data.getFullYear();\r\n dados.asn_mes = data.getMonth() + 1;\r\n api.get(`AliquotaSimplesNacional/Listar?Ano=${dados.asn_ano}&Mes=${dados.asn_mes}`).then(\r\n res => {\r\n if (!isObjetoDiffVazio(res.data?.items[0])) {\r\n setAbreModalSimplesNac(true);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n if (!!!erro) {\r\n setAbreModalSimplesNac(true);\r\n } else {\r\n console.log(erro);\r\n }\r\n }\r\n )\r\n };\r\n async function modalVerificaIEdestinatario(pagina) {\r\n if (modalInstance !== null) {\r\n modalInstance.destroy();\r\n }\r\n modalInstance = Modal.confirm({\r\n title: 'Atenção',\r\n content: 'Destinatário sem Inscrição Estadual, deseja seguir com emissão da Nota Fiscal?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk: () => {\r\n setOpenValidaIE(false);\r\n //validarTrocaPg(pagina)\r\n },\r\n onCancel: () => {\r\n setOpenValidaIE(true);\r\n }\r\n });\r\n };\r\n\r\n async function validarOperacao() {\r\n let retorno;\r\n let end = dadosEndereco.filter((end) => (end.pee_id === form.getFieldValue().ntf_endereco))[0];\r\n let interestadual = false;\r\n if (end?.est_sigla !== dadosContribuinte.est_sigla) {\r\n interestadual = true;\r\n }\r\n form.setFieldsValue({ interestadual: interestadual });\r\n\r\n if (!!end && form.getFieldValue().pej_inscricaoestadual === null\r\n && form.getFieldValue().ntf_indicadorpresenca === 0 && end.est_sigla !== dadosContribuinte.est_sigla) {\r\n Modal.warning({\r\n title: \"Verifique a Operação Fiscal Informada\",\r\n content: \"Nota Fiscal emitida para destinatário interestadual não contribuinte, deve ter uma operação que configure o tipo de indicador de presença do destinatário. Esta operação esta cadastrada com o indicador de presença 0-Não se Aplica - Verifique a Situação!\",\r\n });\r\n retorno = false;\r\n } else {\r\n retorno = true;\r\n }\r\n return retorno;\r\n };\r\n\r\n async function buscarDadosCliente(registro) {\r\n if (!!registro) {\r\n let cliente = (await api.get(`Cliente/BuscarByIdPessoa/${registro}`)).data;\r\n if (!!cliente) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ destinatario: cliente } } } });\r\n form.setFieldsValue({ 'pej_inscricaoestadual': cliente.pej_inscricaoestadual });\r\n form.setFieldsValue({ 'pes_nome': cliente.pes_nome });\r\n form.setFieldsValue({ 'cli_id': cliente.cli_id });\r\n setarCpfCnpj(cliente);\r\n setarEnderecos(cliente.enderecos);\r\n setarTelefones(cliente.telefones);\r\n setarEmails(cliente.emails);\r\n if (cliente.pes_fisicajuridica === 1) // Pessoa Fisica\r\n {\r\n if (cliente.pef_produtorrural) {\r\n form.setFieldsValue({ 'pej_inscricaoestadual': cliente.enderecos[0].pie_inscricaoestadual });\r\n }\r\n if (form.getFieldValue().pej_inscricaoestadual != null && form.getFieldValue().pej_inscricaoestadual != undefined) {\r\n form.setFieldsValue({ 'ntf_consumidorfinal': 1 });\r\n }\r\n else {\r\n form.setFieldsValue({ 'ntf_consumidorfinal': 0 });\r\n }\r\n } else {\r\n form.setFieldsValue({ 'ntf_consumidorfinal': null }); // Usuario deve definir, pois pode ou não ser consumidor final\r\n }\r\n if (cliente?.pessoaorgaospublicos?.length > 0) {\r\n setarAdjacentes(cliente.pessoaorgaospublicos);\r\n } else {\r\n setListaSubjacente([]);\r\n }\r\n } else {\r\n limparCliente();\r\n }\r\n } else {\r\n limparCliente();\r\n }\r\n };\r\n\r\n function limparCliente() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ destinatario: null } } } });\r\n form.setFieldsValue({ 'pej_inscricaoestadual': null });\r\n form.setFieldsValue({ 'pes_nome': null });\r\n form.setFieldsValue({ 'ntf_cpfcnpj': null });\r\n setarEnderecos([]);\r\n setarTelefones([]);\r\n setarEmails([]);\r\n }\r\n\r\n function setarCpfCnpj(cliente) {\r\n let cpfCnpj = '';\r\n if (cliente.pes_fisicajuridica > 0) {\r\n if (cliente.pes_fisicajuridica === 1) {\r\n cpfCnpj = cliente.pef_cpf;\r\n setPessoaFisica(1);\r\n } else if (cliente.pes_fisicajuridica === 2) {\r\n cpfCnpj = cliente.pej_cnpj;\r\n setPessoaFisica(2);\r\n } else if (cliente.pes_fisicajuridica === 3) {\r\n cpfCnpj = cliente.pes_idestrangeiro;\r\n setPessoaFisica(3);\r\n }\r\n form.setFieldsValue({ ntf_cpfcnpj: cpfCnpj });\r\n } else {\r\n notification.warn(\"Cliente informado com cadastro de pessoa física/jurídica/estrangeira incorreto!\");\r\n form.setFieldsValue({ pes_id: null });\r\n return false;\r\n }\r\n };\r\n function buscarDadosEndereco(pee_id) {\r\n let end = dadosEndereco.filter((end) => (end.pee_id === pee_id))[0];\r\n if (!!end) {\r\n form.setFieldsValue({ pse_id: end.pse_id });\r\n if (end.pse_id) {\r\n let lista = [];\r\n lista.push({ name: \"pse_id\", campo: \"pse_id\", value: end.pse_id });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n if (end.pie_inscricaoestadual) {\r\n form.setFieldsValue({ 'pej_inscricaoestadual': end.pie_inscricaoestadual });\r\n }\r\n form.setFieldsValue({ cep_cep: end.cep_cep });\r\n buscarCep(end.cep_cep);\r\n form.setFieldsValue({ bai_nome: end.bai_nome });\r\n form.setFieldsValue({ pee_numero: end.pee_numero });\r\n form.setFieldsValue({ pee_complemento: end.pee_complemento });\r\n }\r\n };\r\n async function validarTrocaPg(pagina) {\r\n let paginaAtual = pages.tagPages;\r\n let listaValidacoes = [];\r\n switch (paginaAtual) {\r\n case 0:\r\n listaValidacoes = listaValidacoesDest;\r\n if (openValidaIE === true && pessoaFisica == 2) {\r\n let ie = form.getFieldValue().pej_inscricaoestadual;\r\n if (ie == null || ie == \"\") {\r\n await modalVerificaIEdestinatario(pagina)\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n if (!validarOperacao()) {\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n break;\r\n case 1:\r\n if (paginaAtual < pagina) {\r\n if (!!dadosItens && dadosItens.length === 0) {\r\n notification.warning({ message: 'Aviso', description: 'Nota Fiscal deve ter ao menos 1 item!' });\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n break;\r\n case 2:\r\n listaValidacoes = listaValidacoesTransp;\r\n await validarTransporte();\r\n break;\r\n case 3:\r\n if (paginaAtual < pagina) {\r\n listaValidacoes = [];\r\n let validaFaturamento = await validarFaturamento();\r\n if (validaFaturamento === false || listaFormaPagamento.length === 0) {\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n }\r\n break;\r\n case 4:\r\n listaValidacoes = [];\r\n break;\r\n }\r\n if (validaForm(form, listaValidacoes)) {\r\n pages.setTagPages(pagina);\r\n } else {\r\n setPermiteValidar(false);\r\n proximaPag.setProximaPag(paginaAtual);\r\n }\r\n };\r\n async function validarTransporte() {\r\n await reteioFrete();\r\n await recalcularImpostos();\r\n }\r\n async function recalcularImpostos() {\r\n if (dadosItens.length > 0) {\r\n let total = 0;\r\n let totalSt = 0;\r\n let possuiIe = !!form.getFieldValue().pej_inscricaoestadual ? true : false;\r\n let fisicaJuridica = form.getFieldValue().ntf_cpfcnpj.length === 14 ? 2 : form.getFieldValue().ntf_cpfcnpj.length == 11 ? 1 : 3;\r\n for (const p of dadosItens) {\r\n try {\r\n let impostos = await CalcularImpostoItem(p.orm_id, p.cst_id, p.cso_id, p.iod_uforigem, p.iod_ufdestino, p.nfi_qtde, p.nfi_valorunitario, p.nfi_valorfrete, p.nfi_valoroutros,\r\n p.nfi_valordesconto, p.impostos.retornoICMS.ret_aliquotaIcms, p.impostos.retornoICMS.ret_aliquotaIcms, p.impostos.retornoICMS.ret_percReducaoIcms,\r\n p.impostos.retornoICMSST.ret_aliquotaIcmsSt, p.impostos.retornoICMSST.ret_percMva, p.impostos.retornoICMSST.ret_percReducaoIcmsST, null,\r\n p.impostos.retornoICMSST.ncm_percentual, fisicaJuridica, form.getFieldValue().ntf_consumidorfinal, possuiIe, form.getFieldValue().ntf_indicadorpresenca);\r\n\r\n if (isObjetoDiffVazio(impostos)) {\r\n p.nfi_valoricmsst = impostos.retornoICMSST.ret_valorIcmsSt;\r\n p.nfi_valoripi = impostos.retornoIPI.ret_valorIpi;\r\n p.total = (p.nfi_qtde * p.nfi_valorunitario) - p.nfi_valordesconto + p.nfi_valoroutros + p.nfi_valoripi + p.nfi_valoricmsst;\r\n p.impostos = impostos;\r\n }\r\n totalSt += parseFloat(p.nfi_valoricmsst);\r\n total += parseFloat(p.total);\r\n } catch (error) {\r\n // Handle any potential errors here\r\n console.error(\"Error item:\", error);\r\n }\r\n }\r\n form.setFieldsValue({ valorTotalSt: totalSt });\r\n // form.setFieldsValue({ valorTotal: total });\r\n }\r\n }\r\n\r\n\r\n\r\n // async function recalcularImpostos() {\r\n // if (dadosItens.length > 0) {\r\n // dadosItens.forEach(p => {\r\n // let impostos = await CalcularImpostoItem(p.orm_id, p.cst_id, p.cso_id, p.iod_uforigem, p.iod_ufdestino, p.nfi_qtde, p.nfi_valorunitario, p.nfi_valorfrete, p.nfi_valoroutros,\r\n // p.nfi_valordesconto, p.impostos.retornoICMS.ret_aliquotaIcms, p.impostos.retornoICMS.ret_aliquotaIcms, p.impostos.retornoICMS.ret_percReducaoIcms,\r\n // p.impostos.retornoICMSST.ret_aliquotaIcmsSt, p.impostos.retornoICMSST.ret_percMva, p.impostos.retornoICMSST.ret_percReducaoIcmsST, null,\r\n // p.impostos.retornoICMSST.ncm_percentual, 2, 0, true);\r\n\r\n // if (isObjetoDiffVazio(impostos)) {\r\n // p.nfi_valoricmsst = impostos.retornoICMSST.ret_valorIcmsSt;\r\n // p.nfi_valoripi = impostos.retornoIPI.ret_valorIpi;\r\n // p.impostos = impostos;\r\n // }\r\n // });\r\n // }\r\n // console.log(\"Recalculo de Imposto\", dadosItens)\r\n // }\r\n\r\n function reteioFrete() {\r\n let formulario = form.getFieldsValue();\r\n let _numeroItem = 1;\r\n let _totalFrete = 0;\r\n if (dadosItens.length > 0) {\r\n let _valorFrete = parseFloat(formulario.valorFrete);\r\n if (_valorFrete > 0) {\r\n // Ordena os itens em ordem de maior valor crescente\r\n var itens = dadosItens.sort((a, b) => a.total - b.total);\r\n // Calcular a soma da multiplicação dos campos\r\n let somaTotal = dadosItens.reduce((total, item) => {\r\n let resultadoMultiplicacao = item.nfi_valorunitario * item.nfi_qtde;\r\n return total + resultadoMultiplicacao;\r\n }, 0);\r\n\r\n itens.forEach(item => {\r\n let valorTotalItem = parseFloat(item.nfi_valorunitario * item.nfi_qtde);\r\n item.nfi_valorfrete = calculaValorProporcional(valorTotalItem, _valorFrete, somaTotal);\r\n if (_numeroItem == dadosItens.length) {\r\n item.nfi_valorfrete = parseFloat((_valorFrete - _totalFrete).toFixed(2))\r\n }\r\n _totalFrete += item.nfi_valorfrete;\r\n _numeroItem++;\r\n });\r\n }\r\n }\r\n }\r\n async function validarFaturamento() {\r\n let formulario = form.getFieldsValue();\r\n let retorno = true;\r\n let valorTotal = 0;\r\n let operacao = operacaoFiscal;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach(forma => {\r\n valorTotal += parseFloat(forma.pfp_valor);\r\n if (forma.editando == true) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor salvar as alterações em andamento nas parcelas(forma pagamento) para continuar!' });\r\n }\r\n });\r\n if (parseFloat(formulario.valorTotal) === 0) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso!', description: 'Valor da Nota Inválido!' });\r\n } else {\r\n if ((validarNumeros(formulario.valorTotal) !== parseFloat(valorTotal.toFixed(2))) || operacao.tip_id == !5) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Valor informado nas formas de pagamento é menor que o valor total da nota!' });\r\n }\r\n }\r\n } else {\r\n if (!!formulario.fpg_id) {\r\n let formaPagamento = (await api.get(`FormaPagamento/Get?id=${formulario.fpg_id}`)).data;\r\n if (!listaFormaPagamento.cpg_id) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n else if (formaPagamento.fpg_tipoavistaaprazo === 1) {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n } else {\r\n retorno = false;\r\n notification.warning({ message: 'Aviso', description: 'Favor preencher as formas de pagamento!' });\r\n }\r\n }\r\n return retorno;\r\n };\r\n function adicionarTelefone() {\r\n if (!!form.getFieldValue().pes_id) {\r\n setAbreModalTelefone(true);\r\n } else {\r\n notification.warning({ message: 'Aviso', description: \"Favor informar um cliente!\" })\r\n }\r\n };\r\n function onCloseModalTelefone() {\r\n setAbreModalTelefone(false);\r\n };\r\n function onCloseModalAliquotaSimplesNacional() {\r\n setAbreModalSimplesNac(false);\r\n form.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n };\r\n async function validarDadosNota(dados) {\r\n dados = await popularDados();\r\n dados.gerarBoleto = false;\r\n dados.ntf_ufdest = dados.notaFiscalDestinatario?.ntf_ufdest;\r\n dados.notaFiscalFaturamento.forEach((formasPgto) => {\r\n if (formasPgto.fpg_tipopagamento === pagamentosCodigos.boleto) {\r\n dados.gerarBoleto = true;\r\n }\r\n });\r\n salvarNota(dados);\r\n };\r\n\r\n async function salvarNota(dados) {\r\n if (dados.notaFiscalDestinatario.pes_fisicajuridica === 1) {\r\n dados.ntf_consumidorfinal = 1;\r\n } else {\r\n if (dados.ntf_consumidorfinal !== 0 && dados.ntf_consumidorfinal !== 1) {\r\n notification.warning({ message: 'Aviso', description: 'Não foi selecionado o destino da mercadoria!' });\r\n return;\r\n }\r\n }\r\n dados.ntf_modalidadefrete = !!dados.notaFiscalTransportadora ? dados.notaFiscalTransportadora.ntf_modalidadefrete : 9;\r\n await analisaFormaPagamento(dados);\r\n };\r\n\r\n async function analisaFormaPagamento(dados) {\r\n let pagamentoMaquininha = false;\r\n let dadosIntegracaoPos = {};\r\n let cnpjEmpresa = getCnpjEmpresa();\r\n let listaIdsIntegracao = [];\r\n for (const item of dados.notaFiscalFaturamento) {\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoCredito || item.fpg_tipopagamento === pagamentosCodigos.cartaoDebito || item.fpg_tipopagamento === pagamentosCodigos.pix) {\r\n if (item.fpg_tipointegracao != null) {\r\n if (item.fpg_tipointegracao == 1) {// vero\r\n let tipopgto = 0;\r\n let metodopgto = 0;\r\n let submetodopgto = 0;\r\n\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoCredito) {\r\n tipopgto = 2;\r\n metodopgto = 1;\r\n submetodopgto = 4;\r\n if (item.parcelas?.length == 1) {\r\n submetodopgto = 1\r\n }\r\n }\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoDebito) {\r\n tipopgto = 3;\r\n metodopgto = 1;\r\n submetodopgto = 3;\r\n if (item.parcelas?.length == 1) {\r\n submetodopgto = 1\r\n }\r\n }\r\n if (item.fpg_tipopagamento === pagamentosCodigos.pix) {\r\n tipopgto = 1;\r\n metodopgto = 3;\r\n submetodopgto = 1\r\n }\r\n dadosIntegracaoPos = {\r\n imp_cnpjlocal: cnpjEmpresa,\r\n imp_valor: item.pfp_valor,\r\n imp_tipopgto: tipopgto,\r\n imp_metodopgto: metodopgto,\r\n imp_submetodopgto: submetodopgto,\r\n imp_qtdeparcelas: item.parcelas?.length,\r\n }\r\n if (!isObjetoDiffVazio(item.integrapgto)) {\r\n item.integrapgtook = false;\r\n item.integrapgto = await criaRegistroIntegraPagto(dadosIntegracaoPos);\r\n listaIdsIntegracao.push(item.integrapgto);\r\n }\r\n item.imp_id = item.integrapgto.imp_id;\r\n } else if (item.fpg_tipointegracao == 2) {//payer\r\n await pagamentoPayer(item);\r\n //if (dados.notaFiscalFaturamento.length >= 2) { ??\r\n pagamentoMaquininha = true;\r\n break;\r\n //}\r\n }\r\n pagamentoMaquininha = true;\r\n } else {\r\n pagamentoMaquininha = false;\r\n }\r\n }\r\n }\r\n if (pagamentoMaquininha) {\r\n setDadosIntegra(dados);\r\n modalAguardandoPagamento(dados);\r\n } else {\r\n concluirVenda(dados);\r\n }\r\n }\r\n\r\n async function pagamentoPayer(item) {\r\n let dadosIntegracaoPos = {};\r\n let _paymentType = \"\";\r\n let _paymentMethodSubType = \"\";\r\n let _installments = \"\";\r\n let _paymentMethod = \"\";\r\n let _command = \"payment\"\r\n\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoCredito) {\r\n _paymentMethod = \"Card\";\r\n _paymentType = \"Credit\";\r\n _paymentMethodSubType = \"Financed_no_Fees\";\r\n\r\n if (item.parcelas?.length == 1) {\r\n _paymentMethodSubType = \"Full_Payment\";\r\n } else {\r\n _installments = (item.parcelas?.length).toString();\r\n }\r\n }\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoDebito) {\r\n if (item.parcelas?.length > 1) {\r\n _paymentMethodSubType = \"Financed_Debit\";\r\n _installments = (item.parcelas?.length).toString();\r\n } else {\r\n _paymentMethodSubType = \"Full_Payment\";\r\n }\r\n _paymentMethod = \"Card\";\r\n _paymentType = \"Debit\"\r\n }\r\n if (item.fpg_tipopagamento === pagamentosCodigos.pix) {\r\n _paymentType = \"Cash\";\r\n _paymentMethod = \"Pix\";\r\n }\r\n\r\n dadosIntegracaoPos = {\r\n command: _command,\r\n value: parseFloat(item.pfp_valor),\r\n paymentMethod: _paymentMethod,\r\n paymentType: _paymentType,\r\n paymentMethodSubType: _paymentMethodSubType,\r\n installments: _installments\r\n };\r\n if (!isObjetoDiffVazio(item.integrapgto)) {\r\n item.integrapgtook = false;\r\n try {\r\n let retorno = await apiPayer.post('Client/Request', dadosIntegracaoPos);\r\n } catch (error) {\r\n notification.warning({ description: 'Verifique se o checkout Payer esteja iniciado, caso contrário inicie o mesmo para continuar !', message: 'AVISO!' });\r\n }\r\n }\r\n }\r\n\r\n async function criaRegistroIntegraPagto(dadosIntegracaoPos) {\r\n let retorno;\r\n try {\r\n retorno = (await api.post(`IntegraPagto/Incluir`, dadosIntegracaoPos)).data;\r\n } catch (error) {\r\n notification.warning({ description: 'Erro ao mandar o pagamento para a máquina!', message: 'AVISO!' });\r\n console.log(error);\r\n return false;\r\n }\r\n return retorno;\r\n }\r\n\r\n\r\n function modalAguardandoPagamento(dados) {\r\n if (modalInstance !== null) {\r\n modalInstance.destroy();\r\n }\r\n modalInstance = Modal.confirm({\r\n title: 'Aviso',\r\n content: 'Aguardando Pagamento!',\r\n okText: 'Pagamento Efetuado',\r\n cancelText: 'Cancelar Pagamento',\r\n onOk: () => {\r\n verificarPagamentos(dados);\r\n },\r\n onCancel: () => {\r\n cancelarPagamentoMaquina(dados);\r\n }\r\n });\r\n }\r\n\r\n async function cancelarPagamentoMaquina(dados) {\r\n for (var item of dados.notaFiscalFaturamento) {\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoCredito || item.fpg_tipopagamento === pagamentosCodigos.cartaoDebito || item.fpg_tipopagamento === pagamentosCodigos.pix) {\r\n let retorno = (await api.put(`IntegraPagto/CancelarPagamento?Id=${item.integrapgto.imp_id}`)).data;\r\n if (retorno) {\r\n item.integrapgtook = false;\r\n item.integrapgto = null;\r\n } else {\r\n notification.warning({ description: 'Erro ao efetuar o cancelamento!', message: 'Aviso!' });\r\n modalAguardandoPagamento(dados)\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n async function verificarPagamentos(dados) {\r\n for (var item of dados.notaFiscalFaturamento) {\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoCredito || item.fpg_tipopagamento === pagamentosCodigos.cartaoDebito || item.fpg_tipopagamento === pagamentosCodigos.pix) {\r\n if (item.fpg_tipointegracao != null && (item.integrapgtook == false || item.integrapgtook == null || item.integrapgtook == undefined) && item.fpg_tipointegracao == 1) {// Vero\r\n let retorno = (await api.get(`IntegraPagto/Buscar/${item.integrapgto.imp_id}`)).data;\r\n if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.Pendente) {\r\n if (modalInstance !== null) {\r\n modalInstance.destroy();\r\n }\r\n modalAguardandoPagamento(dados);\r\n } else if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.Aprovada) {\r\n item.integrapgtook = true;\r\n item.integrapgto = retorno;\r\n item.rcc_nsu = retorno.imp_autorizacao;\r\n } else if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.NaoAutorizada) {\r\n notification.warning({ description: 'Pagamento não Autorizado!', message: 'Aviso!' });\r\n } else if (retorno.imp_statuspgto == statusPagamentoIntegraPagto.Cancelada) {\r\n notification.warning({ description: 'Pagamento Cancelado!', message: 'Aviso!' });\r\n }\r\n }\r\n if (item.fpg_tipointegracao != null && (item.integrapgtook == false) && item.fpg_tipointegracao == 2) {// Payer\r\n let retorno;\r\n try {\r\n retorno = (await apiPayer.get('Client/Response')).data;\r\n\r\n } catch (error) {\r\n notification.warning({ description: 'Verifique se o checkout Payer esteja iniciado, caso contrário inicie o mesmo para continuar !', message: 'AVISO!' });\r\n await pagamentoPayer(item);\r\n break\r\n }\r\n\r\n if (retorno.statusTransaction == \"PENDING\") {\r\n break\r\n } else if (retorno.statusTransaction == \"APPROVED\") {\r\n let ret = (await api.post(`IntegraPagto/IncluirPayer`, retorno)).data;\r\n item.integrapgtook = true;\r\n item.integrapgto = ret;\r\n item.rcc_nsu = ret.authorizerId;\r\n item.imp_id = ret.imp_id;\r\n } else if (retorno.statusTransaction == \"UNAUTHORIZED\") {\r\n notification.warning({ description: 'Pagamento não Autorizado, verifique no Checkout Payer e tente novamente!', message: 'Aviso!' });\r\n return;\r\n //analisaFormaPagamento(docfiscal);\r\n } else if (retorno.statusTransaction == \"ABORTED\") {\r\n notification.warning({ description: 'Pagamento Cancelado!', message: 'Aviso!' });\r\n }\r\n } else if (item.fpg_tipointegracao != null && (item.integrapgtook == null || item.integrapgtook == undefined) && item.fpg_tipointegracao == 2) {\r\n await pagamentoPayer(item);\r\n }\r\n }\r\n }\r\n await verificaTodosPagamentos(dados);\r\n }\r\n\r\n async function verificaTodosPagamentos(dados) {\r\n let finalizarVenda = true;\r\n let listaFaturamento = dados.notaFiscalFaturamento;\r\n listaFaturamento.forEach(item => {\r\n if (item.fpg_tipopagamento === pagamentosCodigos.cartaoCredito || item.fpg_tipopagamento === pagamentosCodigos.cartaoDebito || item.fpg_tipopagamento === pagamentosCodigos.pix) {\r\n if (item.fpg_tipointegracao != null && (item.integrapgtook == false || item.integrapgtook == null || item.integrapgtook == undefined)) {\r\n finalizarVenda = false;\r\n }\r\n }\r\n });\r\n if (finalizarVenda == true) {\r\n concluirVenda(dados);\r\n } else {\r\n modalAguardandoPagamento(dados);\r\n }\r\n }\r\n\r\n function concluirVenda(dados) {\r\n if (!!form.getFieldValue().ntf_id) {\r\n dados.ntf_id = form.getFieldValue().ntf_id;\r\n editarNota(dados);\r\n } else {\r\n dados.ntf_dhsaient = moment(new Date());\r\n incluirNota(dados);\r\n }\r\n }\r\n\r\n function incluirNota(dados) {\r\n carregando(true);\r\n api.post(`NotaFiscal/Incluir`, dados).then(\r\n res => {\r\n notification.success({ message: 'Sucesso', description: `Nota incluída com sucesso!` });\r\n if (dados.gerarBoleto && !!res.data.ntf_id) {\r\n\r\n novaAbaNavegador(`Boleto/ImprimirBoletos/${res.data.ntf_id}`);\r\n }\r\n if (res.data.ntf_status === 1 && !!res.data.ntf_chavenfe && !!res.data.ntf_docfiscal) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${res.data.ntf_chavenfe}`);\r\n }\r\n if (res.status === 200 && !!dados.ped_id) {\r\n tratarPedidoFaturado(dados.ped_id);\r\n }\r\n if (res.status === 200 && !!dados.vnc_id) {\r\n AlterarSituacaoCondicional(dados.vnc_id);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n if (!!erro.response && !!erro.response.data) {\r\n Modal.warning({\r\n content: erro.response.data,\r\n title: 'Aviso',\r\n onOk: () => {\r\n aoSalvar();\r\n }\r\n })\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n\r\n function editarNota(dados) {\r\n carregando(true);\r\n api.put(`NotaFiscal/Editar`, dados).then(\r\n res => {\r\n notification.success({ message: 'Sucesso', description: `Nota editada com sucesso!` });\r\n if (dados.gerarBoleto && !!res.data.ntf_id) {\r\n let codificaBase64 = btoa(res.data.ntf_id.toString());\r\n novaAbaNavegador(`Boleto/GerarBoleto?codigoNota=${codificaBase64}`);\r\n }\r\n if (res.data.ntf_status === 1 && !!res.data.ntf_chavenfe && !!res.data.ntf_docfiscal) {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${res.data.ntf_chavenfe}`);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.warning({\r\n content: erro.response.data.Message,\r\n title: 'Aviso',\r\n onOk: () => {\r\n aoSalvar();\r\n }\r\n })\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n\r\n async function tratarPedidoFaturado(id) {\r\n api.put(`Pedido/TratarHistoricoPedidoFaturado/${id}`).then(\r\n ok => {\r\n console.log(ok);\r\n }).catch(\r\n error => {\r\n console.log(error)\r\n }).finally(() => {\r\n aoSalvar();\r\n });\r\n }\r\n\r\n async function AlterarSituacaoCondicional(id) {\r\n api.put(`VendaCondicional/AlterarSituacaoCondicional?IdCondicional=${id}&SituacaoCondicional=2`).then(\r\n ok => {\r\n console.log(ok);\r\n }).catch(\r\n error => {\r\n console.log(error)\r\n }).finally(() => {\r\n aoSalvar();\r\n });\r\n }\r\n\r\n async function popularDados() {\r\n let valores = form.getFieldsValue();\r\n let dados = form.getFieldValue();\r\n valores.ntf_docfiscal = !!dados.ser_id;\r\n valores.notafiscalitens = popularDadosItens(dados);\r\n valores.notaFiscalFaturamento = preencherDadosFaturamento(dados);\r\n valores.notaFiscalDestinatario = await preencherDadosDestinatario(dados);\r\n valores.notaFiscalTransportadora = preencherDadosTransportadores(dados);\r\n valores.tipooperacao = operacaoFiscal;\r\n valores.serieFiscal = preencherDadosSerieFiscal(dados);\r\n return valores;\r\n };\r\n\r\n function popularDadosItens(dados) {\r\n let valorFrete = dados.valorFrete;\r\n let valorSeguro = dados.valorSeguro;\r\n let qtdTotalItens = 0;\r\n let freteUn = 0;\r\n let seguroUn = 0;\r\n dadosItens.forEach((itens) => {\r\n qtdTotalItens += itens.nfi_qtde;\r\n itens.nfi_numeropedidocompra = !!itens.nfi_numeropedidocompra ? itens.nfi_numeropedidocompra.toString() : '';\r\n //itens.nfi_cfop = itens.nfi_cfop.toString();\r\n });\r\n freteUn = valorFrete / qtdTotalItens;\r\n seguroUn = valorSeguro / qtdTotalItens;\r\n dadosItens.forEach((itens) => {\r\n itens.nfi_valorfrete = freteUn * dados.nfi_qtde;\r\n itens.nfi_valorseguro = seguroUn * dados.nfi_qtde;\r\n });\r\n return dadosItens;\r\n };\r\n\r\n function preencherDadosFaturamento() {\r\n let dadosForma = [];\r\n let recebimentoCartao = !!manutencao.dados.recebimentoCartao ? manutencao.dados.recebimentoCartao[0] : null;\r\n listaFormaPagamento.forEach(forma => {\r\n let aux = { ...forma };\r\n aux.fpg_id = forma.fpg_id;\r\n aux.cpg_id = forma.cpg_id;\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.cheque && !!manutencao.dados.dadosModalCheque) {\r\n aux.ctc_id = manutencao.dados.dadosModalCheque.contaCorrente;\r\n aux.cheques = manutencao.dados.dadosModalCheque.cheques;\r\n }\r\n aux.nfp_valor = parseFloat(forma.pfp_valor);\r\n aux.bce_id = !!recebimentoCartao ? recebimentoCartao.bce_id : null;\r\n aux.rcc_nsu = !!recebimentoCartao ? recebimentoCartao.rcc_nsu : null;\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.antecipacao) {\r\n aux.antecipacoes = forma.formaPagamento.antecipacoes;\r\n } else {\r\n aux.antecipacoes = [];\r\n }\r\n //aux.cheques = [{chq_valor: 0, pes_id: null, chq_dataemissao: null}];\r\n dadosForma.push(aux);\r\n });\r\n return dadosForma;\r\n };\r\n\r\n async function preencherDadosDestinatario(form) {\r\n let dadosDestinatario = {};\r\n let subjacente = listaSubjacente?.filter(sub => sub.pop_id === form.ntf_subjacente)[0];\r\n let cliente = (await api.get(`Cliente/BuscarByIdPessoa/${form.pes_id}`)).data;\r\n let enderecoDest = dadosEndereco?.filter(pe => pe.pee_id === form.ntf_endereco)[0];\r\n let telefoneDest = cliente.telefones?.filter(pt => pt.psc_id === form.telefoneDestinatario)[0];\r\n let emailDest = cliente.emails?.filter(pem => pem.pem_id === form.ntf_emaildestinatario)[0];\r\n dadosDestinatario.pes_id = form.pes_id;\r\n dadosDestinatario.pes_fisicajuridica = cliente.pes_fisicajuridica;\r\n dadosDestinatario.ntf_nomedest = subjacente?.pop_nome ?? cliente.pes_nome;\r\n dadosDestinatario.ntf_cnpjcpfdest = (!!cliente.pej_cnpj ? cliente.pej_cnpj : cliente.pef_cpf);\r\n dadosDestinatario.ntf_iedest = form.pej_inscricaoestadual;\r\n dadosDestinatario.ntf_idestrangeirodest = cliente.pes_idestrangeiro;\r\n dadosDestinatario.ntf_logradourodest = enderecoDest?.log_logradouro;\r\n dadosDestinatario.ntf_numeroenderecodest = enderecoDest?.pee_numero;\r\n dadosDestinatario.ntf_complementodest = enderecoDest?.complemento;\r\n dadosDestinatario.ntf_bairrodest = enderecoDest?.bai_nome;\r\n dadosDestinatario.ntf_cepdest = enderecoDest?.cep_cep;\r\n dadosDestinatario.ntf_ufdest = enderecoDest?.est_sigla;\r\n dadosDestinatario.ntf_telefonedest = telefoneDest?.psc_numero ?? '';\r\n dadosDestinatario.ntf_emaildest = emailDest?.pem_email ?? null;\r\n return dadosDestinatario;\r\n };\r\n\r\n function preencherDadosTransportadores(form) {\r\n let dadosTransportador = {};\r\n let veiculoTransp = listaVeiculos.filter((veiculo) => (veiculo.trv_id = form.trv_id))[0];\r\n dadosTransportador.ntf_modalidadefrete = form.ntf_modalidadefrete;\r\n dadosTransportador.trn_id = !!dadosTransp && !!dadosTransp.trn_id ? dadosTransp.trn_id : null;\r\n dadosTransportador.trv_id = !!veiculoTransp ? veiculoTransp.trv_id : null;\r\n dadosTransportador.trv_observacao = !!veiculoTransp ? veiculoTransp.trv_observacao : null;\r\n dadosTransportador.trv_placa = !!veiculoTransp ? veiculoTransp.trv_placa : null;\r\n dadosTransportador.trv_uf = !!veiculoTransp ? veiculoTransp.trv_uf : null;\r\n dadosTransportador.trv_marca = !!veiculoTransp ? veiculoTransp.trv_marca : null;\r\n dadosTransportador.trv_modelo = !!veiculoTransp ? veiculoTransp.trv_modelo : null;\r\n dadosTransportador.trv_rntc = !!veiculoTransp ? veiculoTransp.trv_rntc : null;\r\n dadosTransportador.nvl_pesoliquido = form.nvl_pesoliquido;\r\n dadosTransportador.nvl_qtdevolumes = form.nvl_qtdevolumes;\r\n dadosTransportador.nvl_pesobruto = form.nvl_pesobruto;\r\n dadosTransportador.nvl_especievolume = form.nvl_especievolume;\r\n dadosTransportador.nvl_marcavolume = form.nvl_marcavolume;\r\n return dadosTransportador;\r\n };\r\n function preencherDadosSerieFiscal(dados) {\r\n let dadosSerieFiscal = serie.filter((item) => (item.ser_id === dados.ser_id))[0];\r\n return dadosSerieFiscal;\r\n }\r\n function alterarVendedor() {\r\n let dadosVen = vendedores.filter((ven) => (ven.ven_id === parseInt(form.getFieldValue().ven_id)))[0];\r\n setDadosVendedor(dadosVen);\r\n };\r\n function onSuccessAliquotaSimplesNacional() {\r\n setAbreModalSimplesNac(false);\r\n };\r\n\r\n function buscarCep(cep) {\r\n fetch(`https://viacep.com.br/ws/${cep.replace(`-`, ``)}/json/`)\r\n .then(\r\n res => res.json()\r\n ).then(\r\n result => {\r\n form.setFieldsValue({ cidade: `${result.localidade} / ${result.uf}` });\r\n },\r\n erro => {\r\n notification.warning({ message: 'Aviso', description: 'Cep não encontrado!' })\r\n }\r\n );\r\n };\r\n\r\n function oncloseModalEndereco() {\r\n setOpenModalEndereco(false)\r\n };\r\n\r\n useEffect(() => {\r\n if (!!codigoCliente) {\r\n api.get(`Cliente/ListarClientesAtivos?filtro=&ordem=%2Bpes_nome`).then(listaCliente => {\r\n setClientes(listaCliente.data);\r\n }).finally(() => {\r\n form.setFieldsValue({ pes_id: codigoCliente });\r\n let lista = [];\r\n lista.push({ name: \"pes_id\", campo: \"Filtro\", value: codigoCliente });\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n });\r\n }\r\n }, [codigoCliente]);\r\n\r\n useEffect(() => {\r\n if (!!codigoCliente) {\r\n buscarDadosCliente(codigoCliente);\r\n }\r\n }, [clientes]);\r\n\r\n async function popularOperacaoFiscal(id) {\r\n if (!!id) {\r\n api.get(`OperacaoFiscal/Buscar/${id}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setOperacaoFiscal(res.data);\r\n form.setFieldsValue({ ntf_indicadorpresenca: res.data.ope_indicadorpresenca });\r\n }\r\n }\r\n ).catch(\r\n error => { console.log(error); }\r\n )\r\n }\r\n };\r\n function verificarConsumidorFinal(ie) {\r\n if (ie != null && ie != undefined)\r\n form.setFieldsValue({ 'ntf_consumidorfinal': 1 });\r\n else\r\n form.setFieldsValue({ 'ntf_consumidorfinal': null });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {!!editando && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n popularOperacaoFiscal(idOperacao)} conteudo={\r\n op => ({op.ope_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editando && \r\n \r\n \r\n \r\n }\r\n {!editando && pessoaFisica !== 1 && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {\r\n proximaPag.setProximaPag(e);\r\n }} current={pages.tagPages}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n
\r\n \r\n \r\n \r\n setOpenDrawerCliente(true)}\r\n nameValue=\"pes_id\" allowClear={true} onChangeFunction={(dados) => {\r\n buscarDadosCliente(dados)\r\n }} conteudo={\r\n pc => ({pc.cli_codigo} - {pc.pes_nome}
\r\n {(!!pc.pej_cnpj ? `CNPJ.: ${MaskFormat(pc.pej_cnpj, '', true)}` : !!pc.pef_cpf ? `CPF.: ${MaskFormat(pc.pef_cpf, '', true)}` : '')}\r\n
)\r\n } />\r\n
\r\n \r\n \r\n \r\n {pessoaFisica === 1 &&\r\n \r\n }\r\n {pessoaFisica === 2 &&\r\n \r\n }\r\n {pessoaFisica === 3 &&\r\n \r\n }\r\n \r\n \r\n \r\n { verificarConsumidorFinal(event.currentTarget.value) }}>\r\n \r\n \r\n \r\n { adicionarTelefone() }}\r\n campoDescricao={'psc_numero'}\r\n campoValue={'psc_id'}\r\n campokey={'psc_id'}\r\n placeHolder={'Selecione o Telefone'}\r\n labelFormItem={'Telefone'}\r\n nameFormItem={'telefoneDestinatario'} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \"Endereço\" Endereço\r\n \r\n \r\n \r\n \r\n \r\n {\r\n listaSubjacente.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({pse.pse_nome})\r\n } />\r\n \r\n \r\n \r\n { buscarCep(event.currentTarget.value) }} />\r\n \r\n \r\n \r\n \r\n Não sei o CEP\r\n \r\n \r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n {pages.tagPages === 1 &&\r\n (end.pee_id === form.getFieldValue().ntf_endereco))[0]}\r\n dadosOperacao={operacaoFiscal}\r\n dadosContribuinte={dadosContribuinte}\r\n dadosVendedor={dadosVendedor}\r\n carregarPagina={setCarregarPagina} />\r\n }\r\n {pages.tagPages === 2 &&\r\n \r\n }\r\n {pages.tagPages === 3 &&\r\n \r\n }\r\n {pages.tagPages === 4 &&\r\n \r\n }\r\n \r\n
\r\n \r\n \r\n { onCloseModalTelefone() }} />\r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import axios from 'axios';\r\n\r\nconst apiPayer = axios.create({\r\n baseURL: 'http://localhost:6060/',\r\n});\r\n\r\napiPayer.interceptors.request.use(async config => {\r\n return config;\r\n});\r\n\r\napiPayer.interceptors.response.use(function (response) {\r\n return response;\r\n }, function (error) {\r\n if (error.response) { \r\n console.log(error)\r\n }\r\n return Promise.reject(error);\r\n });\r\n\r\nexport default apiPayer;","export default __webpack_public_path__ + \"static/media/i-car.ab57d7de.png\";","export default __webpack_public_path__ + \"static/media/i-boleto.3ebe0f30.png\";","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\nimport ManutencaoNotaFiscal from '../notaFiscal/manutencao';\r\nimport { DrawerNav } from '../../components';\r\n\r\nexport default function DrawerNFExtra({ drawerExtra }) {\r\n\r\n const [formNotaFiscal] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [salvarRascunho, setSalvarRascunho] = useState(false);\r\n\r\n if (!!manutencao.dados) {\r\n formNotaFiscal.setFieldsValue(manutencao.dados);\r\n }\r\n function fecharDrawer() {\r\n formNotaFiscal.resetFields();\r\n setTagPages(0);\r\n setProximaPag(null);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n if (!!drawerExtra.exibirDrawerNota) {\r\n drawerExtra.setExibirDrawerNota(false)\r\n }\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n limparAoEditar={true}\r\n footer={\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }>\r\n \r\n
\r\n\r\n )\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport moment from 'moment';\r\nimport { Row, Col, Form, Select, Button, Switch, Table, Tag, notification, Modal, Input } from \"antd\";\r\nimport { UndoOutlined, EditOutlined, DeleteOutlined, CheckCircleOutlined } from \"@ant-design/icons\";\r\nimport { FormGW, Editar, Excluir, Data } from \"../../components\";\r\nimport api from \"../../services/api\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { ModalDevolucaoCondicional } from \"../../components/modals\";\r\nimport DrawerNFExtra from \"./drawerNFExtra\";\r\n\r\nexport default function DevolucaoCondicional({ formulario, aoSalvar, dadosItens, exibirDrawerDevolucao, setCarregando, setExibirDrawerNota }) {\r\n\r\n const [formItemCondicional, setFormItemCondicional] = useState([]);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openModal, setOpenModal] = useState(false);\r\n const [riscarCampos, setRiscarCampos] = useState(false);\r\n const [checkedSwitch, setCheckedSwitch] = useState(false);\r\n const [dadosDevolucao, setDadosDevolucao] = useState({});\r\n const codBarras = useRef();\r\n\r\n useEffect(() => {\r\n let dadosTemp = dadosItens.dadosItens;\r\n if (checkedSwitch) {\r\n setRiscarCampos(true);\r\n dadosTemp.forEach((item) => {\r\n item.vci_devolvido = item.vci_quantidade;\r\n item.devolvidoTotal = true;\r\n })\r\n }\r\n else {\r\n setRiscarCampos(false);\r\n dadosTemp.forEach(\r\n (item) => {\r\n item.vci_devolvido = 0;\r\n item.devolvidoTotal = false;\r\n }\r\n )\r\n }\r\n dadosItens.setDadosItens(dadosTemp);\r\n }, [checkedSwitch])\r\n\r\n useEffect(() => {\r\n if (!!!dadosItens.dadosItens || dadosItens.dadosItens.length === 0) {\r\n carregarDados();\r\n }\r\n }, [dadosDevolucao]);\r\n\r\n useEffect(() => {\r\n let dadosTemp = dadosItens.dadosItens;\r\n dadosTemp.forEach((item) => {\r\n if (item.vci_devolvido === item.vci_quantidade) {\r\n item.devolvidoTotal = true;\r\n }\r\n })\r\n }, [dadosItens.dadosItens])\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.length && manutencao.dados.length > 0) {\r\n let key = 0;\r\n manutencao.dados.forEach((item) => {\r\n item.key = key++;\r\n })\r\n dadosItens.setDadosItens(manutencao.dados);\r\n } else {\r\n setDadosDevolucao(manutencao.dados);\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function desfazerDevolucao(record) {\r\n let dadosTemp = dadosItens.dadosItens;\r\n dadosTemp.filter((item) => { return item.vci_id === record.vci_id })[0].vci_devolvido = 0;\r\n dadosTemp.filter((item) => { return item.vci_id === record.vci_id })[0].devolvidoTotal = false;\r\n dadosItens.setDadosItens(dadosTemp);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosTemp } });\r\n };\r\n\r\n const salvar = (record) => {\r\n let dadosCondicional = {\r\n vnc_id: record.vnc_id,\r\n vendacondicionalitens: dadosItens.dadosItens\r\n }\r\n\r\n let dadosNota = {\r\n vnc_id: record.vnc_id,\r\n pes_id: record.pes_id,\r\n itensNf: dadosItens.dadosItens.filter(item => (item.vci_devolvido !== item.vci_quantidade))\r\n };\r\n setCarregando(true)\r\n api.put(`VendaCondicional/Devolver`, dadosCondicional).then(\r\n (res) => {\r\n if (dadosNota.itensNf.lenght > 0) {\r\n notification.success({ message: 'Operação concluída', description: \"Condicional modificado com sucesso!\" });\r\n dadosNota.vnc_id = res.data.vnc_id;\r\n } else {\r\n notification.success({ message: 'Operação concluída', description: \"Itens da condicional devolvidos com sucesso!\" });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n notification.warning({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n if (!!dadosNota && dadosNota.itensNf.length > 0) {\r\n dadosNota.pes_id = dadosNota.pes_id;\r\n dadosNota.itensNf.forEach((itens) => {\r\n itens.nfi_qtde = itens.vci_quantidade - itens.vci_devolvido;\r\n itens.nfi_valorunitario = itens.vci_valorun;\r\n itens.percdes = 0;\r\n itens.nfi_valordesconto = 0;\r\n itens.percacresc = 0;\r\n itens.nfi_valoroutros = 0;\r\n itens.nfi_ean = !!itens.prg_ean ? itens.prg_ean : itens.pro_ean;\r\n itens.total = itens.vci_valorun * itens.nfi_qtde;\r\n });\r\n Modal.confirm({\r\n title: 'Sucesso',\r\n icon: ,\r\n content: 'Condicional modificado com sucesso!',\r\n okText: 'Emitir NFE',\r\n cancelText: 'Ok',\r\n okType: 'success',\r\n centered: true,\r\n onOk() {\r\n setExibirDrawerNota(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dadosNota } });\r\n exibirDrawerDevolucao.setExibirDrawerDevolucao(false);\r\n },\r\n onCancel() {\r\n aoSalvar();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n exibirDrawerDevolucao.setExibirDrawerDevolucao(false);\r\n }\r\n });\r\n } else {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n exibirDrawerDevolucao.setExibirDrawerDevolucao(false);\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n setCarregando(false);\r\n\r\n }\r\n );\r\n }\r\n\r\n function excluirItens(record) {\r\n let listaTemp = [...dadosItens.dadosItens];\r\n let itemTemp = listaTemp.filter((item) => (item.key === record.key))[0];\r\n itemTemp.devolvidoTotal = true;\r\n itemTemp.vci_devolvido = itemTemp.vci_quantidade;\r\n dadosItens.setDadosItens(listaTemp);\r\n }\r\n\r\n function carregarDados() {\r\n if (!!dadosDevolucao.vnc_id) {\r\n api.get(`VendaCondicionalItem/Listar?IdVendaCondicional=${dadosDevolucao.vnc_id}`).then(\r\n (res) => {\r\n let key = 0;\r\n res.data.forEach((item) => {\r\n item.key = key++;\r\n if (item.vci_devolvido == item.vci_quantidade)\r\n item.devolvidoTotal = true;\r\n })\r\n dadosItens.setDadosItens(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n function editarQuantidadeDev(record) {\r\n setFormItemCondicional(record);\r\n };\r\n\r\n async function onPressEnterProCodigo(campo) {\r\n let codigoEan = campo.target.value.trim();\r\n let listaTemp = [...dadosItens.dadosItens];\r\n let itemEncontrado = false;\r\n let todosItensDevolvidos = true;\r\n for (let i = 0; i < listaTemp.length; i++) {\r\n if (listaTemp[i].pro_ean === codigoEan || listaTemp[i].prg_ean === codigoEan) {\r\n itemEncontrado = true;\r\n if (listaTemp[i].vci_quantidade - listaTemp[i].vci_devolvido > 0) {\r\n todosItensDevolvidos = false;\r\n listaTemp[i].vci_devolvido++;\r\n if (listaTemp[i].vci_quantidade - listaTemp[i].vci_devolvido === 0) {\r\n listaTemp[i].devolvidoTotal = true;\r\n }\r\n dadosItens.setDadosItens(listaTemp);\r\n break;\r\n }\r\n }\r\n };\r\n if (itemEncontrado == false) {\r\n return (\r\n notification.warning({\r\n message: \"Aviso\",\r\n description: \"Item não encontrado!\",\r\n })\r\n )\r\n }\r\n if (todosItensDevolvidos == true) {\r\n return (\r\n notification.warning({\r\n message: \"Aviso\",\r\n description: \"Quantidade totalmente devolvida para este produto!\",\r\n })\r\n )\r\n }\r\n if (!!codBarras && !!codBarras.current) {\r\n formulario.setFieldsValue({ pro_codigo: null });\r\n codBarras.current.focus();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setCheckedSwitch(!checkedSwitch)} /> Devolver Todos os Itens?\r\n \r\n \r\n \r\n \r\n {\r\n onPressEnterProCodigo(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {(!!riscarCampos || devolvidoTotal ? ( #{pro_codigo} ) : (#{pro_codigo}))}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Itens',\r\n render: ({ pro_descricao, pro_ean, prg_ean, descricaograde, devolvidoTotal }) => (\r\n
\r\n \r\n
\r\n {(!!riscarCampos || devolvidoTotal ? ( {pro_descricao} ) : (pro_descricao))}\r\n \r\n \r\n \r\n \r\n {(!!riscarCampos || devolvidoTotal ? ( EAN: {pro_ean || prg_ean} ) : (EAN: {pro_ean || prg_ean}))}\r\n \r\n \r\n {(!!riscarCampos || devolvidoTotal ? ( Grade: {descricaograde} ) : (Grade: {descricaograde}))}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n render: ({ vci_quantidade, devolvidoTotal, vci_devolvido }) => (\r\n
\r\n {(!!riscarCampos || devolvidoTotal ? (Ficou com: {vci_quantidade - vci_devolvido}) : (Ficou com: {vci_quantidade - vci_devolvido} ))}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n editable: true,\r\n render: ({ devolvidoTotal, vci_devolvido }, record) => (\r\n
\r\n \r\n
\r\n {(!!riscarCampos || devolvidoTotal ? ( Devolveu: {vci_devolvido} ) : (vci_devolvido > 0) ? Devolveu: {vci_devolvido} : )}\r\n \r\n \r\n {(!!riscarCampos || devolvidoTotal ? ((Todos)) : )}\r\n \r\n \r\n {(!!riscarCampos || vci_devolvido > 0 ? \r\n {\r\n editarQuantidadeDev(record);\r\n }} icon={} />\r\n \r\n \r\n excluirItens(record)} icon={} />\r\n \r\n \r\n \r\n },\r\n },\r\n ]} dataSource={dadosItens.dadosItens} />\r\n \r\n \r\n setOpenModal(false)} dados={formItemCondicional} dadosItens={dadosItens.dadosItens} formularioDados={formulario} />\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { Row, Col, Button, Drawer, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport DevolucaoCondicional from './devolucao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\nimport { useStateValue } from '../../state';\r\nimport api from '../../services/api';\r\n\r\n\r\nexport default function DrawerDevolucao({ exibirDrawerDevolucao, dataPesquisa,setExibirDrawerNota }) {\r\n\r\n const [formManutencao] = Form.useForm()\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [dadosItens, setDadosItens] = useState([]);\r\n\r\n if (!!manutencao.dados) {\r\n manutencao.dados.vnc_datalancamento = moment(manutencao.dados.vnc_datalancamento);\r\n manutencao.dados.vnc_prazoretorno = moment(manutencao.dados.vnc_prazoretorno);\r\n formManutencao.setFieldsValue(manutencao.dados);\r\n } else {\r\n // formManutencao.resetFields();\r\n formManutencao.setFieldsValue({ icm_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n formManutencao.resetFields();\r\n setDadosItens([]);\r\n exibirDrawerDevolucao.setExibirDrawerDevolucao(false);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer()\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n { fecharDrawer() }}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n\r\n \r\n\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Select } from 'antd';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { selectPaginadoActions } from '../../actions';\r\n\r\nexport default function SelectPaginado({\r\n url, name, hidden = false, form, allowClear = true, order = \"\", placeholder = \"Selecione um registro\", onChangeFunction, onBlurFunction, onClearFunction, conteudo, campoFiltro = \"filtro\", multiple = false, setarPrimeiroReg = false, disabled = false\r\n}) {\r\n const [{ manutencao, selectPaginado }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [lista, setLista] = useState([]);\r\n const [filtro, setFiltro] = useState('');\r\n const [pagina, setPagina] = useState(1);\r\n const [registrosPorPagina, setRegistrosPorPagina] = useState(50);\r\n const [alterouPag, setAlterouPag] = useState(false);\r\n const [campoDescricao, setCampoDescricao] = useState(null);\r\n const [valor, setValor] = useState(null);\r\n const [primeiroReg, setPrimeiroReg] = useState(setarPrimeiroReg);\r\n\r\n useEffect(() => {\r\n if (pagina === 1) {\r\n carregarDados();\r\n } else {\r\n setPagina(1);\r\n setAlterouPag(true);\r\n }\r\n }, [filtro]);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, [pagina]);\r\n\r\n useEffect(() => {\r\n if (!!lista && selectPaginado?.length > 0) {\r\n let lista = [...selectPaginado];\r\n let item = selectPaginado.find(s => { return s.name === name });\r\n if (!!item && !!item.value) {\r\n if (!!item.campo) {\r\n setCampoDescricao(item.campo);\r\n }\r\n setPagina(1);\r\n setFiltro(item.value);\r\n let idx = lista.indexOf(item);\r\n lista.splice(idx, 1);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } })\r\n }\r\n }\r\n }, [selectPaginado]);\r\n\r\n useEffect(() => {\r\n setValor(form.getFieldValue([name]));\r\n }, [form.getFieldValue([name])]);\r\n\r\n async function carregarDados() {\r\n let parametrosUrl = \"\";\r\n !!filtro ? parametrosUrl = `&${!!campoDescricao ? campoDescricao : campoFiltro}=${filtro}` : parametrosUrl = \"\";\r\n if (!!campoDescricao) {\r\n setCampoDescricao(null);\r\n }\r\n\r\n if (!!order) {\r\n parametrosUrl += `&order=${order}`;\r\n }\r\n parametrosUrl += `&PageNumber=${pagina}&PageSize=${registrosPorPagina}`;\r\n if (url.search(/[?]/g) === -1) {\r\n parametrosUrl = parametrosUrl.replace('&', '?');\r\n }\r\n setCarregando(true);\r\n let res = await api.get(`${url}${parametrosUrl}`);\r\n setCarregando(false);\r\n if (res.status == 200) {\r\n let indice = 0;\r\n let dados = [];\r\n\r\n if (filtro !== '' || alterouPag) {\r\n if (pagina > 1) {\r\n indice = lista.length;\r\n let l = [...lista];\r\n l.forEach(i => {\r\n dados.push(i);\r\n });\r\n res.data?.items?.map((item, idx) => {\r\n item.key = indice;\r\n dados.push(item);\r\n indice++;\r\n });\r\n setLista(dados);\r\n } else {\r\n res.data?.items?.map((item, idx) => {\r\n item.key = indice;\r\n dados.push(item);\r\n indice++;\r\n });\r\n setLista(dados);\r\n }\r\n setAlterouPag(false);\r\n } else {\r\n setPagina(1);\r\n res.data?.items?.map((item, idx) => {\r\n item.key = indice;\r\n dados.push(item);\r\n indice++;\r\n });\r\n setLista(dados);\r\n }\r\n if (primeiroReg && !!filtro && !!selectPaginado && !!selectPaginado.find(s => { return s.name === name })) {\r\n onChange(!!dados[0]?.id ? dados[0].id : null);\r\n }\r\n }\r\n };\r\n\r\n function onPopUpScroll(e) {\r\n const { target } = e;\r\n if (parseFloat(Math.round(target.scrollTop + target.offsetHeight).toFixed(2)) === target.scrollHeight || parseFloat(Math.round(target.scrollTop + target.offsetHeight).toFixed(2)) === target.scrollHeight - 1) {\r\n setPagina(pagina + 1);\r\n setAlterouPag(true);\r\n }\r\n };\r\n\r\n function onChange(valor) {\r\n if (!form) {\r\n console.log(\"Form não definido para o componente de select!\");\r\n } else {\r\n if (!valor) {\r\n setFiltro('');\r\n }\r\n setValor(valor);\r\n form.setFieldsValue({ [name]: valor });\r\n }\r\n if (!!onChangeFunction && (!!valor || valor == 0)) {\r\n onChangeFunction(valor);\r\n }\r\n };\r\n\r\n function onBlur(valor) {\r\n if (!!onBlurFunction) {\r\n onBlurFunction(valor);\r\n }\r\n };\r\n\r\n function onClear(valor) {\r\n if (!!onClearFunction) {\r\n onClearFunction(valor);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n setCodigoEmpresa(value);\r\n }} order=\"emp_razaosocial\"\r\n conteudo={\r\n e => ({e.emp_nomefantasia}
Razao Social: {e.emp_razaosocial}
)\r\n } />\r\n
\r\n \r\n \r\n {formLogin.getFieldValue()?.emp_id && \r\n \r\n \r\n setCodigoLocal(valor)} conteudo={Local => (\r\n {Local.loc_descricao}{!Local.loc_ativo ? ' (INATIVO)' : ''}\r\n )} />\r\n \r\n \r\n }\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Form, Input, Button, notification } from 'antd';\r\nimport { MailOutlined, ArrowLeftOutlined, SendOutlined } from '@ant-design/icons';\r\nimport api from '../../services/api';\r\n\r\nexport default function EsqueciSenha({ onAcessar, formulario }) {\r\n\r\n\r\n function enviarEmailRecuperarSenha() {\r\n let emailUsuario = formulario.getFieldValue().email;\r\n if (!!emailUsuario) {\r\n api.put(`Usuario/EnviarEmailRecuperarSenha/${emailUsuario}`).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Enviamos um E-mail para você com as instruções para recuperar sua senha!\" })\r\n }\r\n ).catch(\r\n error => {\r\n notification.warning({ message: `AVISO!`, description: `Usuário não encontrado!` });\r\n }\r\n )\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","export default __webpack_public_path__ + \"static/media/i-saida.8a117db2.png\";","export default __webpack_public_path__ + \"static/media/i-info.62c0263c.png\";","import React, { Children, useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Card, Modal, Spin } from \"antd\";\r\nimport { CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function ModalProcessoLento(props) {\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n O Processo pode demorar um pouco!\r\n \r\n
\r\n
\r\n {props.children}\r\n
\r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Col, Form, Input, InputNumber, Row, Select, Modal, Divider, Typography } from 'antd';\r\nimport { CheckCircleOutlined } from '@material-ui/icons';\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { info } from '../../services/funcoes';\r\nimport { Data, FormGW, InputPreco } from \"../../components\";\r\nimport { getEmpresa } from '../../services/auth';\r\n\r\nexport default function LancamentoTransferencia({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [listaFiliais, setListaFiliais] = useState([]);\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [listaContaCorrenteDestino, setListaContaCorrenteDestino] = useState([]);\r\n const [listaContaGerencialOrigem, setListaContaGerencialOrigem] = useState([]);\r\n const [listaContaGerencialAgrupadorOrigem, setListaContaGerencialAgrupadorOrigem] = useState([]);\r\n const [listaContaGerencialDestino, setListaContaGerencialDestino] = useState([]);\r\n const [listaContaGerencialAgrupadorDestino, setListaContaGerencialAgrupadorDestino] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n api.get(`Local/Listar?Ativo=true&CodigoEmpresa=${getEmpresa()}&PageSize=500&PageNumber=1`).then(\r\n res => {\r\n setListaFiliais(res.data.items);\r\n });\r\n api.get(`contaCorrente/ListarContasParaTransferencia?filtro=&codigoContaCorrente=&ordem=+ctc_descricao`).then(res => {\r\n setListaContaCorrente(res.data);\r\n });\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=&CodReceitaDespesa=1`).then(res => {\r\n setListaContaGerencialAgrupadorOrigem(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencialOrigem(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n });\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=&CodReceitaDespesa=2`).then(res => {\r\n setListaContaGerencialAgrupadorDestino(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencialDestino(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n });\r\n listarContaDestino(null);\r\n formulario.setFieldsValue({ mcc_datahora: moment(new Date()) });\r\n }, []);\r\n\r\n function listarContaDestino(filial) {\r\n filial = !!filial ? `&IdLocalTransferencia=${filial}` : '';\r\n api.get(`contaCorrente/ListarContasParaTransferencia?filtro=&codigoContaCorrente=&ordem=+ctc_descricao${filial}`).then(res => {\r\n setListaContaCorrenteDestino(res.data);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.ctc_id) {\r\n manutencao.dados.ctc_id_origem = manutencao.dados.ctc_id;\r\n formulario.setFieldsValue(manutencao.dados);\r\n } else {\r\n formulario.setFieldsValue({ ctc_id: null, mcc_datahora: moment(new Date()) });\r\n }\r\n }, [ui.showDrawerTransferencia]);\r\n\r\n const salvarManutencao = (values) => {\r\n values.pes_id = null;\r\n values.mcc_id = null;\r\n values.mcc_entradasaida = 3;\r\n values.ctgorigem = { ctg_id: values.ctg_id_origem };\r\n values.ctgdestino = { ctg_id: values.ctg_id_destino };\r\n values.ctcorigem = { ctc_id: values.ctc_id_origem };\r\n values.ctcdestino = { ctc_id: values.ctc_id_destino };\r\n values.localdestino = { loc_id: formulario.getFieldsValue().loc_id };\r\n values.mcc_numerodocumento = !!values.mcc_numerodocumento ? values.mcc_numerodocumento.toString() : '';\r\n values.mcc_valor = parseFloat(values.mcc_valor);\r\n carregando(true);\r\n api.post('/MovimentoContaCorrente/IncluirLancamentoCaixa', values).then(res => {\r\n if (res.status === 200) {\r\n Modal.confirm({\r\n title: 'Lançamento de Transferência incluído com sucesso!',\r\n icon: ,\r\n content: '',\r\n okText: 'Incluir mais um',\r\n cancelText: 'OK',\r\n centered: true,\r\n onOk() {\r\n carregando(false);\r\n formulario.resetFields();\r\n formulario.setFieldsValue({ mcc_datahora: moment(new Date()) });\r\n },\r\n onCancel() {\r\n aoSalvar();\r\n carregando(false);\r\n }\r\n });\r\n }\r\n }).catch(err => {\r\n info(\"Não foi possível realizar o lançamento!\");\r\n }).finally(() => {\r\n carregando(false);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \"Transferência\" De\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaContaGerencialAgrupadorOrigem.map(item => (\r\n \r\n {listaContaGerencialOrigem.filter((conta) => { return conta.ctc_id === item.ctc_id }).map(conta => (\r\n {conta.ctg_descricao}\r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Para\" Para\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return { label: item.ctc_descricao, value: item.ctc_id, key: item.ctc_id }\r\n })} filterOption={(input, option) => option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0} placeholder=\"Selecione uma Conta Corrente Destino\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Radio, Form, Col, Row, Select, Input, InputNumber, Button, Switch, Collapse, Modal, Table, notification, RadioChangeEvent } from 'antd';\r\nimport { ArrowUpOutlined, ArrowDownOutlined, SearchOutlined, CheckCircleOutlined } from '@ant-design/icons';\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { Data, FormGW, InputPreco, SelectPaginacao } from \"../../components\";\r\nimport { FormatNumber, FormatDate } from '../../ValueObjects/';\r\nimport SelectPaginado from '../../components/selectPaginado';\r\nimport { MaskFormat } from '../../ValueObjects/index';\r\n\r\nexport default function LancamentoCaixaManutencao({ formulario, carregando, aoSalvar, initialValues }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [acompanharLancamentos, setAcompanharLancamentos] = useState(false);\r\n const [openPesquisaAvancada, setOpenPesquisaAvancada] = useState(false);\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [listaContaGerencial, setListaContaGerencial] = useState([]);\r\n const [listaContaGerencialAgrupador, setListaContaGerencialAgrupador] = useState([]);\r\n const [listaContaGerencialPesquisa, setListaContaGerencialPesquisa] = useState([]);\r\n const [listaContaGerencialAgrupadorPesquisa, setListaContaGerencialAgrupadorPesquisa] = useState([]);\r\n const [listaCaixa, setListaCaixa] = useState([]);\r\n const [saldoAtualConta, setSaldoAtualConta] = useState(null);\r\n const [saldoAnteriorConta, setSaldoAnteriorConta] = useState(null);\r\n const togglePesquisa = () => {\r\n setOpenPesquisaAvancada(!openPesquisaAvancada);\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`contaCorrente/ListarContasParaTransferencia?filtro=&codigoContaCorrente=&ordem=+ctc_descricao`).then(res => {\r\n setListaContaCorrente(res.data);\r\n });\r\n\r\n buscarDadosContaGerencial(manutencao.dados.operacao);\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=`).then(res => {\r\n setListaContaGerencialAgrupadorPesquisa(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencialPesquisa(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n });\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n manutencao.dados.mcc_datahora = moment(new Date());\r\n manutencao.dados.mcc_entradasaida = manutencao.dados.operacao;\r\n manutencao.dados.dataInicial = moment(new Date());\r\n manutencao.dados.dataFinal = moment(new Date());\r\n formulario.setFieldsValue(manutencao.dados);\r\n buscarSaldoConta();\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function reverse(lista) {\r\n let retorno = [];\r\n\r\n for (let i = lista.length - 1; i >= 0; i--) {\r\n retorno.push(lista[i])\r\n }\r\n return retorno;\r\n };\r\n\r\n function buscarDadosContaGerencial(value) {\r\n api.get(`ContaGerencial/ListarAtivosEstruturadoPelaCategoria?filtro=&CodReceitaDespesa=${value}`).then(res => {\r\n setListaContaGerencialAgrupador(res.data.filter((item) => { return item.podeSelecionar === false }));\r\n setListaContaGerencial(res.data.filter((item) => { return item.podeSelecionar === true }));\r\n });\r\n };\r\n\r\n\r\n\r\n function listarCaixa() {\r\n let saldoAnterior = 0;\r\n let lista = [];\r\n if (!!formulario.getFieldValue().dataInicial && !!formulario.getFieldValue().dataFinal && !!formulario.getFieldValue().ctc_id) {\r\n api.get(`ContaCorrente/BuscarSaldoAnteriorContaCorrente?codigoContaCorrente=${formulario.getFieldValue().ctc_id}&dataLancamento=${FormatDate(formulario.getFieldValue().dataInicial.toDate().toLocaleDateString())}`).then(res => {\r\n setSaldoAnteriorConta(res.data);\r\n saldoAnterior = res.data;\r\n });\r\n let url = `MovimentoContaCorrente/ListarCaixa?contaCorrente=${formulario.getFieldValue().ctc_id}\r\n &dataInicial=${FormatDate(formulario.getFieldValue().dataInicial.toDate().toLocaleDateString())}\r\n &dataFinal=${FormatDate(formulario.getFieldValue().dataFinal.toDate().toLocaleDateString())}&ordem=-mcc_dataHora`;\r\n\r\n if (!!formulario.getFieldValue().ctg_id_consulta) {\r\n url += `&consultaContaGerencial=${formulario.getFieldValue().ctg_id_consulta}`;\r\n }\r\n if (!!formulario.getFieldValue().valor_consulta && formulario.getFieldValue().valor_consulta > 0) {\r\n url += `&consultaValor=${parseFloat(formulario.getFieldValue().valor_consulta)}`;\r\n }\r\n\r\n api.get(url).then(res => {\r\n lista = res.data;\r\n lista = reverse(lista);\r\n lista.forEach((caixa) => {\r\n if (caixa.mcc_entradasaida === 1) {\r\n saldoAnterior -= parseFloat(caixa.mcc_valor);\r\n } else if (caixa.mcc_entradasaida === 2) {\r\n saldoAnterior += parseFloat(caixa.mcc_valor);\r\n }\r\n caixa.saldoAnterior = saldoAnterior;\r\n });\r\n lista = reverse(lista);\r\n setListaCaixa(lista);\r\n });\r\n }\r\n };\r\n\r\n function salvarManutencao(values) {\r\n values.mcc_id = null;\r\n values.mcc_valor = parseFloat(values.mcc_valor);\r\n values.mcc_entradasaida = parseInt(values.mcc_entradasaida);\r\n values.mcc_numerodocumento = !!values.mcc_numerodocumento ? values.mcc_numerodocumento.toString() : '';\r\n carregando(true);\r\n api.post('/MovimentoContaCorrente/IncluirLancamentoCaixa', values).then(\r\n res => {\r\n Modal.confirm({\r\n title: 'Lançamento adicionado com sucesso!',\r\n icon: ,\r\n content: '',\r\n okText: 'Incluir mais um',\r\n cancelText: 'OK',\r\n centered: true,\r\n onOk() {\r\n carregando(false);\r\n formulario.resetFields();\r\n formulario.setFieldsValue({ mcc_datahora: moment(new Date()), mcc_entradasaida: manutencao.dados });\r\n },\r\n onCancel() {\r\n aoSalvar();\r\n carregando(false);\r\n }\r\n });\r\n }).catch(\r\n err => {\r\n notification.warning({ message: `Aviso!`, description: `Não foi possivel realizar o lançamento!` });\r\n }\r\n ).finally(() => {\r\n carregando(false)\r\n aoSalvar();;\r\n });;\r\n };\r\n\r\n async function buscarSaldoConta() {\r\n let saldoAnterior = 0;\r\n if (!!formulario.getFieldValue().ctc_id) {\r\n await api.get(`ContaCorrente/ListarSaldoContaCorrente?tipoLancamento=1`).then(\r\n res => {\r\n saldoAnterior = res.data.filter(item => (item.ctc_id === formulario.getFieldValue().ctc_id))[0].saldo;\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n setSaldoAtualConta(saldoAnterior);\r\n\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n buscarDadosContaGerencial(e.target.value)} buttonStyle=\"solid\" optionType=\"button\" size=\"middle\">\r\n Entrada\r\n Saída\r\n \r\n \r\n \r\n \r\n
\r\n Saldo Atual da Conta (R$)\r\n
\r\n \r\n {FormatNumber(saldoAtualConta, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaContaGerencialAgrupador.map(item => (\r\n \r\n {listaContaGerencial.filter((conta) => { return conta.ctc_id === item.ctc_id }).map(conta => (\r\n {conta.ctg_descricao}\r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n ({pc.pes_nome}
\r\n {(!!pc.pej_cnpj ? `CNPJ.: ${MaskFormat(pc.pej_cnpj, '', true)}` : !!pc.pef_cpf ? `CPF.: ${MaskFormat(pc.pef_cpf, '', true)}` : '')}\r\n
)\r\n } />\r\n
\r\n \r\n \r\n \r\n ({h.his_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAcompanharLancamentos(checked)} /> Desejo acompanhar os lançamentos realizados na conta corrente selecionada\r\n \r\n \r\n \r\n {acompanharLancamentos &&\r\n
\r\n \r\n
\r\n \r\n \r\n {openPesquisaAvancada ? : } Filtrar os Lançamentos Registrados\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaCaixa.length > 0 &&\r\n
(\r\n
\r\n {moment(mcc_dataHora).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Conta Gerencial',\r\n render: ({ ctg_descricao }) => (\r\n
\r\n {ctg_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Entrada (R$)',\r\n align: 'right',\r\n render: ({ mcc_valor, mcc_entradasaida }) => (\r\n
\r\n \r\n {(mcc_entradasaida === 2) ? FormatNumber(!!mcc_valor ? mcc_valor : 0, true, false) : ''}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Saída (R$)',\r\n align: 'right',\r\n render: ({ mcc_valor, mcc_entradasaida }) => (\r\n
\r\n \r\n {(mcc_entradasaida === 1) ? FormatNumber(!!mcc_valor ? mcc_valor : 0, true, false) : ''}\r\n \r\n
\r\n ),\r\n }, {\r\n title: 'Saldo (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n render: ({ saldoAnterior }) => (\r\n
\r\n {(saldoAnterior < 0) ? {FormatNumber(saldoAnterior, true, false)} : {FormatNumber(saldoAnterior, true, false)}}\r\n
\r\n ),\r\n }\r\n ]\r\n } footer={() =>\r\n \r\n \r\n
\r\n Saldo Anterior (R$): {FormatNumber(!!saldoAnteriorConta ? saldoAnteriorConta : 0, true, false)}\r\n
\r\n \r\n \r\n } scroll={{ x: 900 }} />\r\n }\r\n \r\n }\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { FiltroProdutoPdi, Tabela } from \"../../components\";\r\nimport { Edit } from \"@material-ui/icons\";\r\n\r\nexport default function TabItens({ formulario, dadosEndereco, dadosTabela, totalPedido, custo, dadosOperacao }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n function removerItem(item) {\r\n let dadosTemp = [...dadosTabela.dadosItens];\r\n dadosTemp = dadosTemp.filter((dados) => dados !== item);\r\n dadosTabela.setDadosItens(dadosTemp);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!totalPedido && !!totalPedido.setTotalPedido) {\r\n let valorTotal = 0;\r\n if (!!dadosTabela && !!dadosTabela.dadosItens) {\r\n let seqKey = 0;\r\n dadosTabela.dadosItens.map(dado => {\r\n valorTotal += dado.valorItemDesconto;\r\n dado.key = seqKey;\r\n seqKey++;\r\n });\r\n }\r\n totalPedido.setTotalPedido(valorTotal);\r\n }\r\n }, [dadosTabela.dadosItens]);\r\n\r\n function editarProdutos(item) {\r\n item.editando = true;\r\n item.percdesc = parseFloat(item.percdesc).toFixed(2)\r\n item.pdi_valordesconto = parseFloat(item.pdi_valordesconto).toFixed(2)\r\n\r\n let lista = [];\r\n if (!!item) {\r\n if (!!item.prg_id) {\r\n lista.push({ name: \"pro_id\", campo: \"IdGrade\", value: item.prg_id });\r\n } else {\r\n lista.push({ name: \"pro_id\", campo: \"IdProduto\", value: item.pro_id });\r\n }\r\n }\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: item } });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n (\r\n \r\n {pro_codigo}\r\n \r\n )\r\n },\r\n {\r\n title: 'Itens',\r\n width: 150,\r\n render: ({ pro_descricao }) => (\r\n
\r\n {pro_descricao}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Qtde.',\r\n align: 'center',\r\n width: 30,\r\n render: ({ pdi_quantidade, ump_id }) => (\r\n
\r\n {pdi_quantidade} {ump_id}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Unit.(R$)',\r\n align: 'right',\r\n width: 40,\r\n render: ({ pdi_valorunitario }) => (\r\n
\r\n {FormatNumber(pdi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desc.(%)',\r\n align: 'center',\r\n width: 40,\r\n render: ({ percdesc }) => (\r\n
\r\n {FormatNumber(percdesc, true)}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total(R$)',\r\n align: 'right',\r\n width: 40,\r\n render: ({ valorItemDesconto }) => (\r\n
\r\n {FormatNumber(valorItemDesconto, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 40,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n EAN: {!!pro_ean ? pro_ean : prg_ean}\r\n \r\n \r\n Grade: {descricaograde}\r\n \r\n \r\n \r\n )\r\n }} />\r\n \r\n
\r\n \r\n
\r\n Valor Total dos Itens (R$):\r\n \r\n \r\n \r\n {FormatNumber(totalPedido.totalPedido, true)}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Drawer, Modal, Form } from \"antd\";\r\nimport ManutencaoTransportador from '../../pages/transportadores/manutencao';\r\nimport { CloseOutlined, ExclamationCircleOutlined, SaveOutlined } from '@ant-design/icons';\r\nimport { useForm } from 'antd/lib/form/Form';\r\n\r\nexport default function DrawerTransportadores({ form, exibirDrawerTransportadores, fecharDrawerTransportadores }) {\r\n\r\n const [formulario] = Form.useForm();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n\r\n function fecharDrawer() {\r\n form.setFieldsValue(formulario.getFieldsValue());\r\n fecharDrawerTransportadores();\r\n formulario.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n { fecharDrawer() }}\r\n onOk={() => formulario.submit()}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n\r\n )\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Form, Row, Col, Input, Select, Radio } from \"antd\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { Data, InputPreco, SelectIncluir } from '../../components';\r\nimport DrawerTransportadores from '../../components/drawerTransportadores';\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function TabTransporte({ form, dadosVeiculos, valorTotalPedido }) {\r\n\r\n const [dadosTransportador, setDadosTransportador] = useState([]);\r\n const [formTransp] = Form.useForm();\r\n const [mostrarModalTransp, setMostrarModalTransp] = useState(false);\r\n const [mostrarTransportador, setMostrarTransportador] = useState(true);\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n if (!!form.getFieldValue().enderecoCliente) {\r\n form.setFieldsValue({ pee_id: form.getFieldValue().enderecoCliente });\r\n }\r\n if (!!form.getFieldValue().trn_id) {\r\n buscarVeiculos();\r\n }\r\n if (form.getFieldValue().ped_modalidadefrete === 9) {\r\n setMostrarTransportador(false);\r\n }\r\n\r\n form.setFieldsValue({ ped_dataprevisaoentrega: moment(new Date()) });\r\n //carregarListaTransp();\r\n };\r\n\r\n function buscarVeiculos() {\r\n if (!!form.getFieldValue().trn_id) {\r\n api.get(`VeiculoTransportador/ListarVeiculoTransportador?codigoTransportador=${form.getFieldValue().trn_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n dadosVeiculos.setDadosVeiculos(res.data.items);\r\n form.setFieldsValue({ trv_id: res.data.items[0].trv_id });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n function retornaValorFrete() {\r\n let valorFrete = 0;\r\n let dados = [...dadosTransportador];\r\n let transportador = dados.filter((transp) => (transp.trn_id === form.getFieldValue().trn_id))[0];\r\n if (!!transportador) {\r\n if (!!transportador.trn_valorfretefixo && transportador.trn_valorfretefixo > 0) {\r\n valorFrete = transportador.trn_valorfretefixo;\r\n } else if (!!transportador.trn_percentualfrete && transportador.trn_percentualfrete > 0) {\r\n valorFrete = (valorTotalPedido * transportador.trn_percentualfrete) / 100;\r\n }\r\n }\r\n form.setFieldsValue({ pdi_valorfrete: valorFrete });\r\n };\r\n\r\n function abrirDrawerTransportador() {\r\n setMostrarModalTransp(true);\r\n };\r\n\r\n function fecharModalTransp() {\r\n //carregarListaTransp();\r\n setMostrarModalTransp(false);\r\n };\r\n\r\n function alterarFrete(event) {\r\n if (event.target.value === 9) {\r\n form.setFieldsValue({ trn_id: null });\r\n form.setFieldsValue({ trv_id: null });\r\n form.setFieldsValue({ pdi_valoroutrasdespesas: 0 });\r\n form.setFieldsValue({ pdi_valorfrete: 0 });\r\n setMostrarTransportador(false);\r\n } else {\r\n setMostrarTransportador(true);\r\n }\r\n };\r\n\r\n function carregarListaTransp(callback) {\r\n api.get(`Transportador/ListarTransportador`).then(\r\n (res) => {\r\n let seq = 0;\r\n res.data.forEach((transp) => {\r\n transp.key = seq++;\r\n });\r\n setDadosTransportador(res.data);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n if (!!callback) {\r\n callback();\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n { alterarFrete(dados) }}>\r\n 0 - Contratação do Frete por conta do Remetente (CIF)\r\n 1 - Contratação do Frete por conta do Destinatário (FOB)\r\n 2 - Contratação do Frete por conta de Terceiros\r\n 3 - Transporte Próprio por conta do Remetente\r\n 4 - Transporte Próprio por conta do Destinatário\r\n 9 - Sem Frete\r\n \r\n \r\n \r\n \r\n {mostrarTransportador &&\r\n \r\n \r\n \r\n { buscarVeiculos(campo); retornaValorFrete(campo); }} name=\"trn_id\" conteudo={\r\n trn => ({trn.trn_id} - {trn.pes_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Typography, Row, Col, Form, Divider, Select, Button, InputNumber, Card, Table, notification, Input } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { InputPreco, SelectIncluir } from \"../../components\";\r\nimport DrawerVendedores from \"../../components/drawerVendedores\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function TabFaturamento({ form, valorTotalPedido, listaFormaPagamento, setListaFormaPagamento, emiteTransferencia }) {\r\n\r\n const [editarValores, setEditarValores] = useState(false);\r\n const [valorTotal, setValorTotal] = useState(0);\r\n const [formaPagamento, setFormaPagamento] = useState([]);\r\n const [condicaoPagamento, setCondicaoPagamento] = useState([]);\r\n const [valorJaPago, setValorJaPago] = useState(false);\r\n const [pagamentoTotal, setPagamentoTotal] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n const editarDesconto = () => {\r\n setEditarValores(!editarValores)\r\n };\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n calcularTotal();\r\n }, []);\r\n\r\n useEffect(() => {\r\n let valor = 0;\r\n if (!!listaFormaPagamento && listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach((lista) => {\r\n valor += parseFloat(lista.pfp_valor);\r\n });\r\n if (valor >= valorTotal) {\r\n setPagamentoTotal(true);\r\n }else{\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n } else {\r\n setPagamentoTotal(false);\r\n }\r\n setValorJaPago(valor);\r\n }, [listaFormaPagamento]);\r\n\r\n function carregarDados() {\r\n if (!!form.getFieldValue().ped_id || !!form.getFieldValue().ped_id_duplicar) {\r\n let pedido = !!form.getFieldValue().ped_id ? form.getFieldValue().ped_id : form.getFieldValue().ped_id_duplicar;\r\n api.get(`Pedido/BuscaPedido?IdPedido=${pedido}`).then(\r\n (res) => {\r\n if (res.status === 200)\r\n setListaFormaPagamento(res.data.pedidoFormaPgto);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n };\r\n\r\n function valorRestantePgto(dadosTemp) {\r\n let restante = 0;\r\n let valorPago = 0;\r\n if (!editando) {\r\n dadosTemp.forEach((dados) => {\r\n valorPago += parseFloat(dados.pfp_valor);\r\n });\r\n restante = parseFloat(form.getFieldValue().ped_valorTotal) - valorPago;\r\n if (parseFloat(restante.toFixed(3)) === 0) {\r\n setPagamentoTotal(true);\r\n } else {\r\n setPagamentoTotal(false);\r\n }\r\n form.setFieldsValue({ pfp_valor: restante.toFixed(2) });\r\n } else {\r\n setEditando(false);\r\n }\r\n };\r\n\r\n function calcularTotal() {\r\n let valor = 0;\r\n valor = parseFloat(valorTotalPedido) + parseFloat(!!form.getFieldValue().pdi_valorfrete ? form.getFieldValue().pdi_valorfrete : 0) + parseFloat(!!form.getFieldValue().pdi_valoroutrasdespesas ? form.getFieldValue().pdi_valoroutrasdespesas : 0);\r\n setValorTotal(valor);\r\n form.setFieldsValue({ ped_valorTotal: valor.toFixed(2) });\r\n valorRestantePgto([...listaFormaPagamento]);\r\n };\r\n\r\n function listarCondicao(fpg_id, dadosIniciais = false) {\r\n if (!dadosIniciais) {\r\n form.setFieldsValue({ cpg_id: null });\r\n }\r\n\r\n api.get(`CondicaoPagamento/Listar?Ativo=true&codigoFormaPagamento=${fpg_id}&PageSize=500`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setCondicaoPagamento(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n async function adicionarFormaPagamento() {\r\n let dadosTemp = [...listaFormaPagamento];\r\n if (!!form.getFieldValue().fpg_id && (condicaoPagamento.length === 0 || !!form.getFieldValue().cpg_id)) {\r\n if (listaFormaPagamento.find((formas) => (\r\n formas.fpg_id === form.getFieldValue().fpg_id && formas.cpg_id === form.getFieldValue().cpg_id\r\n ))) {\r\n let dados = listaFormaPagamento.find((formas) => (\r\n formas.fpg_id === form.getFieldValue().fpg_id && formas.cpg_id === form.getFieldValue().cpg_id\r\n ));\r\n if (parseFloat(form.getFieldValue().ped_valorTotal) < parseFloat(form.getFieldValue().pfp_valor) + (parseFloat(valorJaPago) - dados.pfp_valor)) {\r\n notification.warning({ message: 'Aviso', description: 'Valor de pagamento maior que o total do pedido!' });\r\n return;\r\n } else {\r\n dados.pfp_valor = parseFloat(form.getFieldValue().pfp_valor);\r\n setListaFormaPagamento(dadosTemp);\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n valorRestantePgto(dadosTemp);\r\n }\r\n } else {\r\n if (parseFloat(form.getFieldValue().ped_valorTotal) < parseFloat(form.getFieldValue().pfp_valor) + parseFloat(valorJaPago)) {\r\n notification.warning({ message: 'Aviso', description: 'Valor de pagamento maior que o total do pedido!' });\r\n } else {\r\n let dadosFormaPagamento = (await api.get(`FormaPagamento/Get?id=${form.getFieldValue().fpg_id}`)).data;\r\n\r\n let dadosCondicoesPagamento = condicaoPagamento.filter((condicao) => { return condicao.cpg_id === form.getFieldValue().cpg_id; })[0];\r\n dadosTemp.push({\r\n fpg_id: form.getFieldValue().fpg_id,\r\n fpg_descricao: dadosFormaPagamento.fpg_descricao,\r\n cpg_descricao: !!dadosCondicoesPagamento && dadosCondicoesPagamento.cpg_descricao ? dadosCondicoesPagamento.cpg_descricao : '',\r\n cpg_id: !!form.getFieldValue().cpg_id ? form.getFieldValue().cpg_id : null,\r\n pfp_valor: parseFloat(form.getFieldValue().pfp_valor)\r\n });\r\n setListaFormaPagamento(dadosTemp);\r\n\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n valorRestantePgto(dadosTemp);\r\n }\r\n }\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Informe a forma e a condicao de pagamento!' });\r\n }\r\n };\r\n\r\n function calculaDesconto(campo) {\r\n let percValor = (!!form.getFieldValue().percentualDesconto ? form.getFieldValue().percentualDesconto : 0);\r\n let valor = (!!form.getFieldValue().ped_valorTotalDesc ? form.getFieldValue().ped_valorTotalDesc : 0);\r\n\r\n if (campo === 'perc') {\r\n valor = (percValor * valorTotalPedido) / 100;\r\n form.setFieldsValue({ ped_valorTotalDesc: parseFloat(valor).toFixed(2) });\r\n } else if (campo === 'valor') {\r\n valor = (valor / valorTotalPedido) * 100;\r\n valor = parseFloat(valor).toFixed(2);\r\n form.setFieldsValue({ percentualDesconto: valor });\r\n }\r\n\r\n recalcularTotalPedido();\r\n };\r\n\r\n function calculaAcrescimo(campo) {\r\n let perc = (!!form.getFieldValue().percentualAcrescimo ? form.getFieldValue().percentualAcrescimo : 0);\r\n let valor = (!!form.getFieldValue().ped_valorTotalAcre ? form.getFieldValue().ped_valorTotalAcre : 0);\r\n\r\n if (campo === 'perc') {\r\n valor = (perc * valorTotalPedido) / 100;\r\n form.setFieldsValue({ ped_valorTotalAcre: parseFloat(valor).toFixed(2) });\r\n } else if (campo === 'valor') {\r\n valor = (100 * valor) / valorTotalPedido;\r\n form.setFieldsValue({ percentualAcrescimo: parseFloat(valor).toFixed(2) })\r\n }\r\n\r\n recalcularTotalPedido();\r\n };\r\n\r\n function recalcularTotalPedido() {\r\n let total = 0.0;\r\n total = parseFloat(valorTotal) + parseFloat(form.getFieldValue().ped_valorTotalAcre) - parseFloat(form.getFieldValue().ped_valorTotalDesc);\r\n form.setFieldsValue({ ped_valorTotal: total.toFixed(2) });\r\n };\r\n\r\n function editarFormasPagamento(forma) {\r\n setPagamentoTotal(false);\r\n setEditando(true);\r\n form.setFieldsValue({ fpg_id: forma.fpg_id });\r\n form.setFieldsValue({ cpg_id: forma.cpg_id });\r\n form.setFieldsValue({ pfp_valor: forma.pfp_valor });\r\n };\r\n\r\n function removerFormaPagamento(forma) {\r\n let dadosTemp = [...listaFormaPagamento];\r\n dadosTemp = dadosTemp.filter((dados) => dados !== forma);\r\n setListaFormaPagamento(dadosTemp);\r\n valorRestantePgto(dadosTemp);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n Resumo do Pedido\r\n \r\n }>\r\n \r\n \r\n \r\n {FormatNumber(valorTotalPedido, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(form.getFieldValue().pdi_valorfrete, true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(form.getFieldValue().pdi_valoroutrasdespesas, true)}\r\n \r\n \r\n \r\n {!emiteTransferencia && \r\n \r\n \r\n \r\n }\r\n {editarValores &&\r\n
\r\n \r\n
\r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calculaDesconto('perc') }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { calculaDesconto('valor') }} />\r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calculaAcrescimo('perc') }}\r\n />\r\n \r\n \r\n \r\n ou \r\n \r\n \r\n { calculaAcrescimo('valor') }} />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n IPI (R$): 0,00\r\n \r\n \r\n \r\n \r\n Substituição Tributária (R$): 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total do Pedido\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!pagamentoTotal && \r\n {!emiteTransferencia && \r\n \r\n { listarCondicao(registro) }} conteudo={\r\n fp => ({fp.fpg_descricao})\r\n } />\r\n \r\n }\r\n {condicaoPagamento.length > 0 && \r\n \r\n \r\n \r\n }\r\n \r\n {!emiteTransferencia &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n \r\n \r\n
\r\n {!!listaFormaPagamento && listaFormaPagamento.length > 0 &&
(\r\n
\r\n \r\n {fpg_descricao} {!!cpg_descricao ? `/ ${cpg_descricao}` : ''}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ pfp_valor }) => (\r\n
\r\n {FormatNumber(pfp_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Total dos Pagamentos (R$):\r\n \r\n \r\n \r\n {FormatNumber(totalPagamento, true)}\r\n \r\n \r\n \r\n )\r\n }} dataSource={listaFormaPagamento}\r\n />}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Select, Steps, Input, notification, Modal, Switch } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions, selectPaginadoActions } from \"../../actions\";\r\nimport { MaskFormat } from \"../../ValueObjects\";\r\nimport { SelectIncluir, FormGW, Data, InputCpfCnpj } from '../../components';\r\nimport DrawerVendedores from \"../../components/drawerVendedores\";\r\nimport { TabItens, TabTransporte, TabFaturamento } from './tabPage';\r\nimport { ModalEmail, ModalEndereco, ModalEnderecoNew, ModalTelefone } from \"../../components/modals\";\r\nimport { getNomeUsuario, getIdUsuario, getEmpresa, getLocal } from '../../services/auth';\r\nimport { compararDatas, imprimirRelatorioJasper, validaForm } from \"../../services/funcoes\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ManutencaoPedidos({ formulario, carregando, aoSalvar, clientes, mostraBtnSalvar, proximaPag, pages }) {\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [dadosEndereco, setDadosEndereco] = useState([]);\r\n const [dadosEnderecoLocal, setDadosEnderecoLocal] = useState({});\r\n const [listaTelefone, setListaTelefone] = useState([]);\r\n const [dadosTelefone, setDadosTelefone] = useState([]);\r\n const [dadosVeiculos, setDadosVeiculos] = useState([]);\r\n const [dadosEmail, setDadosEmail] = useState([]);\r\n const [listaEmail, setListaEmail] = useState([]);\r\n const [pessoaFisica, setPessoaFisica] = useState(true);\r\n const [abreModalEndereco, setAbreModalEndereco] = useState(false);\r\n const [abreModalTelefone, setAbreModalTelefone] = useState(false);\r\n const [abreModalEmail, setAbreModalEmail] = useState(false);\r\n const [formularioTelefone] = Form.useForm();\r\n const [formularioEmail] = Form.useForm();\r\n const [dadosItens, setDadosItens] = useState([]);\r\n const [totalPedido, setTotalPedido] = useState(0);\r\n const [dadosFormasPagamento, setDadosFormasPagamento] = useState([]);\r\n const [emiteTransferencia, setEmiteTransferencia] = useState(false);\r\n const [tipoPreco, setTipoPreco] = useState([]);\r\n const [filiaisEmpresa, setFiliaisEmpresa] = useState([]);\r\n const [custo, setCusto] = useState({});\r\n const [operacaoFiscal, setOperacaoFiscal] = useState([]);\r\n const [abrirDrawerVendedores, setAbrirDrawerVendedores] = useState(false);\r\n const [formVendedores] = Form.useForm();\r\n const [listaVendedores, setListaVendedores] = useState([]);\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer) {\r\n carregarDadosInciais();\r\n if (!!manutencao.dados) {\r\n formulario.setFieldsValue(manutencao.dados);\r\n if (!!manutencao.dados.pes_id) {\r\n formulario.setFieldsValue({ pes_id: manutencao.dados.pes_id });\r\n carregarDadosCliente(manutencao.dados.pes_id)\r\n }\r\n if (!!manutencao.dados.loc_id_transferencia) {\r\n formulario.setFieldsValue({ loc_id_transferencia: manutencao.dados.loc_id_transferencia });\r\n }\r\n\r\n if (!!manutencao.dados.ped_id_duplicar) {\r\n carregarDadosAlt(manutencao.dados.ped_id_duplicar);\r\n } else if (!!manutencao.dados.ped_id) {\r\n carregarDadosItems(manutencao.dados.ped_id);\r\n if (!!manutencao.dados.itens) {\r\n setDadosItens(manutencao.dados.itens);\r\n }\r\n }\r\n }\r\n if (!!manutencao.dados && !!manutencao.dados.ped_datainclusao) {\r\n formulario.setFieldsValue({ ped_datainclusao: moment(manutencao.dados.ped_datainclusao) });\r\n } else if (!!!formulario.getFieldsValue().ped_datainclusao) {\r\n formulario.setFieldsValue({ ped_datainclusao: moment(new Date()) });\r\n }\r\n }\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.pes_id) {\r\n let lista = [];\r\n if (!!manutencao.dados.pes_id) {\r\n lista.push({ name: \"pes_id\", campo: \"Filtro\", value: manutencao.dados.pes_id });\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n formulario.setFieldsValue(manutencao.dados);\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n useEffect(() => {\r\n if (filiaisEmpresa.length > 0 && !!formulario.getFieldValue().loc_id_transferencia) {\r\n buscarDadosLocal(formulario.getFieldValue().loc_id_transferencia);\r\n }\r\n }, [filiaisEmpresa]);\r\n\r\n useEffect(() => {\r\n if (tipoPreco.length > 0) {\r\n api.get(`ParametroEmpresa/BuscarParametros`).then(retornoParametrosEmp => {\r\n if (retornoParametrosEmp.status === 200) {\r\n let dados = {};\r\n if (!!retornoParametrosEmp.data.par_custopadraonftransferencia) {\r\n let custo = tipoPreco.filter((custo) => { return custo.key === retornoParametrosEmp.data.par_custopadraonftransferencia });\r\n if (custo.length > 0) {\r\n dados = custo[0];\r\n if (!(!!formulario.getFieldValue().ped_precoutilizado)) {\r\n formulario.setFieldsValue({ ped_precoutilizado: custo[0].key });\r\n }\r\n }\r\n }\r\n setCusto(dados);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n }, [tipoPreco]);\r\n\r\n useEffect(() => {\r\n if (!!proximaPag.proximaPag || proximaPag.proximaPag === 0) {\r\n validarTrocaPg(proximaPag.proximaPag);\r\n }\r\n }, [proximaPag.proximaPag]);\r\n\r\n function carregarDadosInciais() {\r\n //carregarDadosListaVendedores();\r\n carregarEnumTipoPreco();\r\n carregarListaLocalUsuario();\r\n // carregarListaOperacaoFiscal();\r\n };\r\n\r\n function carregarEnumTipoPreco() {\r\n api.get(`Enum/Listar?nome=TipoPrecoUtilizar`).then(\r\n retornoTipoPreco => {\r\n if (retornoTipoPreco.status === 200) {\r\n retornoTipoPreco.data = retornoTipoPreco.data.filter((item) => { return item.key > 0 });\r\n setTipoPreco(retornoTipoPreco.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => console.error(erro)\r\n );\r\n };\r\n function carregarListaLocalUsuario() {\r\n api.get(`Local/ListarLocalUsuario?codigoEmpresa=${getEmpresa()}`).then(\r\n retornoFiliais => {\r\n if (retornoFiliais.status === 200) {\r\n setFiliaisEmpresa(retornoFiliais.data.items.filter((item) => { return item.loc_id !== parseInt(getLocal()) }));\r\n }\r\n }\r\n ).catch(\r\n (erro) => console.error(erro)\r\n );\r\n };\r\n\r\n function validarTrocaPg(proxPagina) {\r\n let paginaAtual = pages.tagPages;\r\n let listaValidacoes = [];\r\n\r\n if (paginaAtual < proxPagina) {\r\n switch (paginaAtual) {\r\n case 0:\r\n listaValidacoes = emiteTransferencia ? [\r\n { nome: 'loc_id_transferencia', obrigatorio: true, label: 'Local' },\r\n { nome: 'ped_precoutilizado', obrigatorio: true, label: 'Preço' },\r\n { nome: 'ope_id', obrigatorio: true, label: 'Operação' }\r\n ] : [\r\n { nome: 'enderecoCliente', obrigatorio: true, label: 'Endereço' },\r\n { nome: 'pes_id', obrigatorio: true, label: 'Cliente' },\r\n { nome: 'ope_id', obrigatorio: true, label: 'Operação' }\r\n ];\r\n break;\r\n case 1:\r\n if (!!dadosItens && dadosItens.length === 0) {\r\n notification.warning({ message: 'Aviso', description: 'Favor inserir ao menos um item no pedido!' });\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n if (compararDatas(formulario.getFieldValue().ped_dataprevisaoentrega, formulario.getFieldValue().ped_datainclusao, '<')) {\r\n notification.warning({ message: 'Aviso', description: 'Data da previsa não pode ser menor que a data de emissão!' });\r\n proximaPag.setProximaPag(paginaAtual);\r\n return false;\r\n }\r\n break;\r\n }\r\n if (validaForm(formulario, listaValidacoes)) {\r\n pages.setTagPages(proxPagina);\r\n } else {\r\n proximaPag.setProximaPag(paginaAtual);\r\n }\r\n } else {\r\n pages.setTagPages(proxPagina);\r\n }\r\n };\r\n\r\n function carregarDadosAlt(ped_id) {\r\n mostraBtnSalvar(false);\r\n api.get(`PedidoItem/ListarItensPedidoADuplicar?codigoPedido=${ped_id}`).then(\r\n (res) => {\r\n res.data.forEach(item => {\r\n let grade = '';\r\n let valorTotal = 0;\r\n item.valorItemDesconto = parseFloat(item.pdi_valortotal);\r\n valorTotal = item.pdi_valorunitario * item.pdi_quantidade;\r\n item.percdesc = (valorTotal > 0 ? parseFloat(((item.pdi_valordesconto / valorTotal) * 100).toFixed(2)) : 0);\r\n if (!!item.atributos && item.atributos.length > 0) {\r\n item.atributos.forEach((atrib) => {\r\n grade += atrib.mgp_descricao + ', ';\r\n });\r\n item.grade = grade.substr(0, grade.lastIndexOf(','));\r\n }\r\n });\r\n setDadosItens(res.data);\r\n formulario.setFieldsValue({ ped_id: null });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function carregarDadosItems(ped_id) {\r\n api.get(`PedidoItem/ListarItensPedido?codigoPedido=${ped_id}`).then(\r\n (res) => {\r\n let pdi_valorfrete = 0;\r\n res.data.forEach(item => {\r\n let grade = '';\r\n let valorTotal = 0;\r\n item.valorItemDesconto = parseFloat(item.pdi_valortotal);\r\n valorTotal = item.pdi_valorunitario * item.pdi_quantidade;\r\n item.percdesc = (valorTotal > 0 ? parseFloat(((item.pdi_valordesconto / valorTotal) * 100).toFixed(2)) : 0);\r\n pdi_valorfrete += parseFloat(!!item.pdi_valorfrete ? item.pdi_valorfrete : 0);\r\n if (!!item.atributos && item.atributos.length > 0) {\r\n item.atributos.forEach((atrib) => {\r\n grade += atrib.mgp_descricao + ', ';\r\n });\r\n item.grade = grade.substr(0, grade.lastIndexOf(','));\r\n }\r\n });\r\n setDadosItens(res.data);\r\n formulario.setFieldsValue({ pdi_valorfrete: pdi_valorfrete });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validaValorPago(valores) {\r\n let retorno = false;\r\n let valorPago = 0;\r\n if (dadosFormasPagamento.length > 0) {\r\n dadosFormasPagamento.forEach(formaPgto => { valorPago += parseFloat(formaPgto.pfp_valor) });\r\n if (valorPago === parseFloat(valores.ped_valorTotal)) {\r\n retorno = true;\r\n }\r\n } else {\r\n retorno = true;\r\n }\r\n return retorno;\r\n };\r\n\r\n async function salvarManutencao(valores) {\r\n if (!validaValorPago(valores)) {\r\n notification.warning({ message: 'Aviso', description: \"Valor de pagamentos menor que total do pedido!\" });\r\n return;\r\n }\r\n let endereco = {};\r\n let cliente = (await api.get(`Cliente/BuscarByIdPessoa/${formulario.getFieldValue().pes_id}`)).data;\r\n valores.pedidoitens = dadosItens;\r\n if (dadosFormasPagamento.length > 0) {\r\n valores.pedidoformapgtos = dadosFormasPagamento;\r\n } else if (emiteTransferencia) {\r\n valores.pedidoformapgtos = [];\r\n } else {\r\n let arrayDados = [];\r\n let dados = {};\r\n dados.pfp_valor = parseFloat(formulario.getFieldValue().ped_valorTotal);\r\n dados.cpg_id = !!valores.cpg_id ? valores.cpg_id : null;\r\n dados.fpg_id = valores.fpg_id;\r\n arrayDados.push(dados);\r\n valores.pedidoformapgtos = arrayDados;\r\n }\r\n if (emiteTransferencia) {\r\n endereco = dadosEnderecoLocal;\r\n valores.pes_id = null;\r\n let filial = filiaisEmpresa.find((filial) => { return filial.loc_id === valores.loc_id_transferencia });\r\n valores.pes_telefone = !!filial.loc_telefone ? filial.loc_telefone : \"\";\r\n valores.pes_nroestabelecimento = filial.loc_numeroestabelecimento;\r\n } else {\r\n endereco = dadosEndereco.filter(endereco => (endereco.pee_id === formulario.getFieldValue().enderecoCliente))[0];\r\n valores.pes_nroestabelecimento = (!!endereco.pee_numero ? endereco.pee_numero : 'SN');\r\n valores.pes_id = endereco.pes_id;\r\n valores.loc_id_transferencia = null;\r\n valores.pes_telefone = !!formulario.getFieldValue().pes_telefone ? formulario.getFieldValue().pes_telefone : !!formulario.getFieldValue().telefoneCliente ? formulario.getFieldValue().telefoneCliente : \"\";\r\n }\r\n valores.emp_id = getEmpresa();\r\n valores.loc_id = getLocal();\r\n valores.ven_id = formulario.getFieldValue().ven_id;\r\n valores.ped_ativo = true;\r\n valores.ped_datainclusao = formulario.getFieldValue().ped_datainclusao;\r\n valores.ped_dataprevisaoentrega = formulario.getFieldValue().ped_dataprevisaoentrega;\r\n valores.ped_datavalidade = formulario.getFieldValue().ped_datainclusao;\r\n valores.ped_observacao = formulario.getFieldValue().ped_observacao;\r\n valores.ped_valorfrete = parseFloat(formulario.getFieldValue().pdi_valorfrete);\r\n valores.ped_valorTotalitens = parseFloat(totalPedido);\r\n valores.ped_valorTotalAcre = (!!formulario.getFieldValue().ped_valorTotalAcre ? parseFloat(formulario.getFieldValue().ped_valorTotalAcre) : 0);\r\n valores.ped_valorTotalDesc = (!!formulario.getFieldValue().ped_valorTotalDesc ? parseFloat(formulario.getFieldValue().ped_valorTotalDesc) : 0);\r\n valores.ped_valoroutrasdespesas = (!!formulario.getFieldValue().ped_valoroutrasdespesas ? parseFloat(formulario.getFieldValue().ped_valoroutrasdespesas) : 0);\r\n valores.ped_valorTotal = parseFloat(valores.ped_valorTotal);\r\n\r\n valores.valorFrete = parseFloat(formulario.getFieldValue().pdi_valorfrete);\r\n valores.valorDesconto = (!!formulario.getFieldValue().ped_valorTotalDesc ? parseFloat(formulario.getFieldValue().ped_valorTotalDesc) : 0);\r\n valores.valorAcrescimo = (!!formulario.getFieldValue().ped_valorTotalAcre ? parseFloat(formulario.getFieldValue().ped_valorTotalAcre) : 0);\r\n valores.valorOutrasDespesas = (!!formulario.getFieldValue().ped_valoroutrasdespesas ? parseFloat(formulario.getFieldValue().ped_valoroutrasdespesas) : 0);\r\n\r\n valores.pes_bairro = endereco.bai_nome;\r\n valores.pes_cep = endereco.cep_cep;\r\n valores.pes_cidade = endereco.cid_descricao;\r\n valores.pes_endereco = endereco.log_logradouro;\r\n valores.pes_uf = endereco.est_sigla;\r\n valores.ped_responsavelpedido = getNomeUsuario();\r\n valores.ped_modalidadefrete = formulario.getFieldValue().ped_modalidadefrete;\r\n valores.usu_id = parseInt(getIdUsuario());\r\n valores.cli_id = cliente.cli_id;\r\n if (valores.duplicar) {\r\n valores.ped_id = null;\r\n }\r\n carregando(true);\r\n if (!!valores.ped_id && !valores.ped_id_duplicar) {\r\n valores.stp_id = formulario.getFieldValue().stp_id;\r\n api.put(`Pedido/Editar`, valores).then(\r\n (res) => {\r\n notification.success({ message: 'Operação concluída', description: `Pedido editado com sucesso!` });\r\n Modal.confirm({\r\n title: \"Imprimir?\",\r\n icon: ,\r\n content: `Deseja imprimir o pedido?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n okType: \"primary\",\r\n centered: true,\r\n onOk() {\r\n imprimirRelatorioJasper(29, { idPedido: res.data.ped_id });\r\n }\r\n });\r\n aoSalvar();\r\n recarregarDados();\r\n }\r\n ).catch(\r\n (erro) => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.warning({\r\n content: erro.response.data.Message,\r\n title: 'Aviso',\r\n });\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n }\r\n );\r\n } else {\r\n if (!!valores.ped_id_duplicar) {\r\n if (dadosFormasPagamento.length > 0) {\r\n valores.pedidoformapgtos.forEach((pgto) => {\r\n pgto.pfp_id = null;\r\n });\r\n }\r\n valores.pedidoitens.forEach((item) => {\r\n item.ped_id = null;\r\n item.pdi_id = null;\r\n })\r\n }\r\n api.post(`Pedido/Incluir`, valores).then(\r\n (res) => {\r\n notification.success({ message: 'Operação concluída', description: `Pedido incluído com sucesso!` });\r\n Modal.confirm({\r\n title: \"Imprimir?\",\r\n icon: ,\r\n content: `Deseja imprimir o pedido?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n okType: \"primary\",\r\n centered: true,\r\n onOk() {\r\n imprimirRelatorioJasper(29, { idPedido: res.data.ped_id });\r\n }\r\n });\r\n aoSalvar();\r\n recarregarDados();\r\n }\r\n ).catch(\r\n (erro) => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.Message) {\r\n Modal.warning({\r\n content: erro.response.data.Message,\r\n title: 'Aviso',\r\n });\r\n }\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n }\r\n );\r\n }\r\n\r\n }\r\n\r\n function recarregarDados() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ped_datainclusao' } });\r\n };\r\n\r\n function carregarDadosCliente(codigo) {\r\n api.get(`PessoaEmail/ListaEmail?IdPessoa=` + codigo).then(\r\n (res) => {\r\n if (res.status === 200 && res.data.length > 0) {\r\n setListaEmail(res.data);\r\n formulario.setFieldsValue({ dadosEmailCliente: res.data[0].pem_email })\r\n\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n api.get(`PessoaEndereco/ListaEndereco?IdPessoa=` + codigo).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosEndereco(res.data);\r\n if (res.data.length > 0) {\r\n formulario.setFieldsValue({ enderecoCliente: res.data[0].pee_id })\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n api.get(`PessoaTelefone/ListaTelefone?IdPessoa=` + codigo).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaTelefone(res.data);\r\n if (res.data.length > 0) {\r\n formulario.setFieldsValue({ telefoneCliente: res.data[0].psc_numero })\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n retornarDadosCPFCNPJ(codigo);\r\n return \"\";\r\n };\r\n\r\n async function retornarDadosCPFCNPJ(codigo) {\r\n if (!!codigo) {\r\n let clienteSelecionado = (await api.get(`Cliente/BuscarByIdPessoa/${codigo}`)).data;\r\n if (!!clienteSelecionado.pef_cpf) {\r\n setPessoaFisica(true);\r\n formulario.setFieldsValue({ cpf: clienteSelecionado.pef_cpf, cli_id: clienteSelecionado.cli_id});\r\n } else if (!!clienteSelecionado.pej_cnpj) {\r\n setPessoaFisica(false);\r\n formulario.setFieldsValue({ cnpj: clienteSelecionado.pej_cnpj, cli_id: clienteSelecionado.cli_id});\r\n }\r\n }\r\n };\r\n function adicionarEndereco() {\r\n if (!!formulario.getFieldValue().pes_id) {\r\n setAbreModalEndereco(true);\r\n } else {\r\n notification.warning({ message: 'Aviso', description: \"Favor informar um cliente!\" })\r\n }\r\n };\r\n\r\n function onCloseModalEndereco(dados) {\r\n setAbreModalEndereco(false);\r\n };\r\n\r\n function adicionarTelefone() {\r\n if (!!formulario.getFieldValue().pes_id) {\r\n setAbreModalTelefone(true);\r\n } else {\r\n notification.warning({ message: 'Aviso', description: \"Favor informar um cliente!\" })\r\n }\r\n };\r\n\r\n function onCloseModalTelefone() {\r\n setAbreModalTelefone(false);\r\n };\r\n\r\n function onCloseModalEmail() {\r\n setAbreModalEmail(false);\r\n };\r\n\r\n function adicionarEmail() {\r\n if (!!formulario.getFieldValue().pes_id) {\r\n setAbreModalEmail(true);\r\n } else {\r\n notification.warning({ message: 'Aviso', description: \"Favor informar um cliente!\" });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (dadosTelefone.length > 0) {\r\n dadosTelefone[0].pes_id = formulario.getFieldValue().pes_id;\r\n api.post(`PessoaTelefone/Incluir`, dadosTelefone[0]).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n carregarDadosCliente(formulario.getFieldValue().pes_id);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n setDadosTelefone([]);\r\n }\r\n )\r\n }\r\n }, [dadosTelefone]);\r\n\r\n useEffect(() => {\r\n if (dadosEmail.length > 0) {\r\n dadosEmail[0].pes_id = formulario.getFieldValue().pes_id;\r\n api.post('PessoaEmail/Incluir', dadosEmail[0]).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n carregarDadosCliente(formulario.getFieldValue().pes_id);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n setDadosEmail([]);\r\n }\r\n );\r\n }\r\n }, [dadosEmail]);\r\n\r\n const switchTransferencia = () => {\r\n setEmiteTransferencia(!emiteTransferencia);\r\n };\r\n\r\n useEffect(() => {\r\n if (emiteTransferencia) {\r\n setPessoaFisica(false);\r\n }\r\n }, [emiteTransferencia]);\r\n\r\n async function buscarDadosLocal(loc_id_transferencia) {\r\n if (!!loc_id_transferencia) {\r\n let filial = filiaisEmpresa.find((filial) => { return filial.loc_id === loc_id_transferencia });\r\n let retornoEndereco = await api.get(`LogradouroCidade/BuscarLogradouroCidade?codigoLogradouroCidade=${filial.lcd_id}&estrangeiro=0`)\r\n let endereco = \"\";\r\n if (retornoEndereco.status === 200) {\r\n setDadosEnderecoLocal(retornoEndereco.data);\r\n endereco = retornoEndereco.data.log_logradouro;\r\n }\r\n\r\n setEmiteTransferencia(true);\r\n formulario.setFieldsValue({ loc_email: filial.loc_email.endereco, loc_telefone: filial.loc_telefone, cnpj: filial.loc_cnpj.numero, log_logradouro: endereco });\r\n }\r\n };\r\n\r\n function alterarCusto(e) {\r\n if (!!e) {\r\n let custo = tipoPreco.find((custo) => { return custo.key === e });\r\n if (!!custo) {\r\n setCusto(custo);\r\n }\r\n }\r\n };\r\n\r\n function fecharDrawerVendedores() {\r\n setAbrirDrawerVendedores(false);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n Emite Nota de Transferência\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!emiteTransferencia && \r\n \r\n carregarDadosCliente(dados)} conteudo={\r\n pc => ({pc.pes_nome})\r\n } />\r\n \r\n \r\n }\r\n {emiteTransferencia && \r\n \r\n \r\n \r\n \r\n }\r\n {emiteTransferencia && \r\n \r\n \r\n \r\n }\r\n {pessoaFisica && \r\n \r\n }\r\n {!pessoaFisica && \r\n \r\n }\r\n \r\n \r\n ({ope.ope_descricao})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({pv.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n
\r\n \r\n
\r\n {emiteTransferencia ? \r\n \r\n : { adicionarEndereco() }}\r\n campoDescricao={['log_logradouro', 'cid_descricao', 'est_sigla', 'tpe_descricao']}\r\n campoValue={'pee_id'}\r\n campoKey={'pee_id'}\r\n placeHolder={\"Selecione um Endereço\"}\r\n labelFormItem={'Endereço'}\r\n nameFormItem={'enderecoCliente'}\r\n rulesFormItem={[{ required: true, message: 'Informe o Endereço' }]}\r\n />}\r\n \r\n \r\n {emiteTransferencia ? \r\n \r\n : { adicionarEmail() }}\r\n campoDescricao={'pem_email'}\r\n campoValue={'pem_id'}\r\n campoKey={'pem_id'}\r\n placeHolder={'Selecione um E-mail'}\r\n labelFormItem={'E-mail'}\r\n nameFormItem={'dadosEmailCliente'} />}\r\n \r\n \r\n {emiteTransferencia ? \r\n \r\n : { adicionarTelefone() }}\r\n campoDescricao={'psc_numero'}\r\n campoValue={'psc_id'}\r\n campokey={'psc_id'}\r\n placeHolder={'Selecione um Telefone'}\r\n labelFormItem={'Telefone'}\r\n nameFormItem={'telefoneCliente'} />}\r\n \r\n \r\n \r\n }\r\n {pages.tagPages === 1 &&\r\n (endereco.pee_id === formulario.getFieldValue().enderecoCliente))[0]} dadosTabela={{ dadosItens, setDadosItens }} totalPedido={{ totalPedido, setTotalPedido }} custo={emiteTransferencia ? custo : {}}\r\n dadosOperacao={formulario.getFieldValue().ope_id} />\r\n }\r\n {pages.tagPages === 2 &&\r\n \r\n }\r\n {pages.tagPages === 3 &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n { onCloseModalEndereco() }} />\r\n { onCloseModalTelefone() }} />\r\n { onCloseModalEmail() }} />\r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\nimport ManutencaoPedidos from './manutencao';\r\nimport { DrawerNav } from '../../components';\r\n\r\nexport default function DrawerPedidos({ clientes }) {\r\n\r\n const [formPedidos] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [mostraBtnSalvar, setMostraBtnSalvar] = useState(false);\r\n const [tagPages, setTagPages] = useState(null);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n\r\n function fecharDrawer() {\r\n setProximaPag(null);\r\n setTagPages(0);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n formPedidos.resetFields();\r\n setCarregando(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n\r\n }\r\n fecharDrawer={fecharDrawer}\r\n footer={\r\n
\r\n \r\n {mostraBtnSalvar &&
\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n\r\n )\r\n}","import React from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions, manutencaoActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoMarca({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = (values) => {\r\n carregando(true);\r\n let retorno;\r\n let enderecoUrl = 'marca/';\r\n\r\n if (values.mar_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Marca foram salvos com sucesso!\" });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar(retorno);\r\n }\r\n );\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Marca foram salvos com sucesso!\" });\r\n retorno = res.data;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: res.data } });\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar(retorno);\r\n }\r\n );\r\n };\r\n }\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+mar_nome' } });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Marca Ativa\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoGrupoProduto({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarManutencao = (values) => {\r\n\r\n carregando(true);\r\n let retorno;\r\n let enderecoUrl = 'GrupoProduto/';\r\n\r\n if (values.gru_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Grupo foram salvos com sucesso!\" });\r\n retorno = res.data.gru_id;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar(retorno);\r\n }\r\n );\r\n\r\n } else {\r\n enderecoUrl += \"Incluir\"\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Grupo foram salvos com sucesso!\" });\r\n retorno = res.data.gru_id;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar(retorno);\r\n }\r\n );\r\n };\r\n }\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && manutencao.dados.duplicar) {\r\n formulario.setFieldsValue({ gru_id: null });\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+gru_nome' } });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, Select, notification } from \"antd\";\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW, SelectPaginacao } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { selectPaginadoActions } from \"../../actions\";\r\n\r\nexport default function ManutencaoSubGrupo({ formulario, carregando, aoSalvar, editando, openDrawer, gruId }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const [filtroAdd, setFiltroAdd] = useState(null);\r\n var lista = [];\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.sgp_id && editando.editando) {\r\n let lista = [];\r\n if (!!manutencao.dados.gru_id) {\r\n lista.push({ name: \"gru_id\", campo: \"CodigoGrupo\", value: manutencao.dados.gru_id });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n }\r\n formulario.setFieldsValue(manutencao.dados);\r\n } else {\r\n formulario.setFieldsValue({ sgp_id: null });\r\n setFiltroAdd(` &ApenasAtivos=true`);\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n const salvarManutencao = (values) => {\r\n carregando(true);\r\n let retorno;\r\n let enderecoUrl = 'SubGrupo/';\r\n\r\n if (values.sgp_id) {\r\n enderecoUrl += `Editar`;\r\n api.put(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Subgrupo foram salvos com sucesso!\" });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar(retorno);\r\n }\r\n );\r\n } else {\r\n enderecoUrl += `Incluir`;\r\n api.post(enderecoUrl, values).then(res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do Subgrupo foram salvos com sucesso!\" });\r\n retorno = res.data;\r\n }\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar(retorno);\r\n }\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if(!!openDrawer){\r\n lista.push({ name: \"gru_id\", campo: \"CodigoGrupo\", value: gruId.gru_id });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n }, [openDrawer]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ({gru.gru_id} - {gru.gru_nome})\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Tabs, Row, Col, Form, Input, Select, Radio, Checkbox, notification, Modal, Typography, Divider, InputNumber } from \"antd\";\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { validaForm, validarCpf, isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { FormGW, Data, FormularioDinamico, InputCpfCnpj, SelectPaginacao } from \"../../components\";\r\nimport { Endereco, Email, Telefone, Ocupacao, OutrosContatos } from '../pessoas/pages';\r\nimport { trataRetornoFormularioDinamico, trataSetaDadosFormularioDinamico } from \"../../services/funcoes\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function ManutencaoVendedor({ formulario, salvandoDados, aoSalvar, editando, pagina }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [opcoesCriarUsuario, setOpcoesCriarUsuario] = useState(1);\r\n const [listaUsuarios, setListaUsuarios] = useState([]);\r\n const [listaEstadoCivil, setListaEstadoCivil] = useState([]);\r\n const [listaUsuariosLocal, setListaUsuariosLocal] = useState([]);\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n const [exibirOpcoes, setExibirOpcoes] = useState(false);\r\n const [listaCidades, setListaCidades] = useState(false);\r\n const [filtroCdd, setFiltroCdd] = useState(null);\r\n\r\n useEffect(() => {\r\n formulario.setFieldsValue({ criarUsuario: opcoesCriarUsuario })\r\n }, [opcoesCriarUsuario]);\r\n\r\n useEffect(() => {\r\n if (!!pagina.pagina && pagina.pagina > parseInt(abaSelecionada)) {\r\n validarAbas(pagina.pagina.toString());\r\n }\r\n }, [pagina]);\r\n\r\n useEffect(() => {\r\n if (!!abaSelecionada && pagina.pagina !== parseInt(abaSelecionada)) {\r\n pagina.setPagina(parseInt(abaSelecionada));\r\n }\r\n }, [abaSelecionada]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.ven_id) {\r\n listaVendedor(manutencao.dados.ven_id);\r\n\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.ven_id && editando.editando) {\r\n let lista = [];\r\n if (!!manutencao.dados.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: manutencao.dados.pef_rguf });\r\n }\r\n if (!!manutencao.dados.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: manutencao.dados.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n editando.setEditando(false);\r\n }\r\n\r\n formulario.setFieldsValue(manutencao.dados);\r\n\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n useEffect(() => { if (!!elementosFormulario && elementosFormulario.length > 0) carregaDadosCamposAdicionais(); }, [elementosFormulario]);\r\n useEffect(() => {\r\n if (manutencao?.dados?.vendedorcampopersonalizados?.length > 0)\r\n carregaDadosCamposAdicionais();\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (manutencao.dados?.usu_id > 0) {\r\n setOpcoesCriarUsuario(2)\r\n } else {\r\n setOpcoesCriarUsuario(0);\r\n setExibirOpcoes(true);\r\n }\r\n carregarDados();\r\n carregaCamposPersonalizados();\r\n }, []);\r\n\r\n function carregarCidades(UfEstado) {\r\n if (!!UfEstado) {\r\n setListaCidades(true);\r\n setFiltroCdd(` &UfEstado=${UfEstado}`);\r\n }\r\n else {\r\n setListaCidades(false);\r\n }\r\n }\r\n const salvarManutencao = values => {\r\n let usu = {}\r\n if (values.criarUsuario === 1) {\r\n usu = { operacao: values.criarUsuario, email: values.emailUsuario };\r\n } else if (values.criarUsuario === 2) {\r\n usu = { operacao: values.criarUsuario, usu_id: values.usu_id, email: listaUsuarios.find(item => item.usu_id === values.usu_id).usu_email };\r\n } else {\r\n usu = { operacao: 0, email: '' };\r\n }\r\n values.usuarioVinculado = usu;\r\n values.pessoaemails = !!manutencao.dados.emails && manutencao.dados.emails.length > 0 ? manutencao.dados.emails : [];\r\n values.pessoasocupacoes = !!manutencao.dados.ocupacoes && manutencao.dados.ocupacoes.length > 0 ? manutencao.dados.ocupacoes : [];\r\n values.regioesVenda = !!manutencao.dados.regioes && manutencao.dados.regioes.length > 0 ? manutencao.dados.regioes : [];\r\n values.nacionalidades = !!manutencao.dados.nacionalidades && manutencao.dados.nacionalidades.length > 0 ? manutencao.dados.nacionalidades : [];\r\n values.pessoaoutrocontatos = !!manutencao.dados.pessoaoutrocontatos && manutencao.dados.pessoaoutrocontatos.length > 0 ? manutencao.dados.pessoaoutrocontatos : [];\r\n values.pessoatelefones = manutencao.dados.telefones;\r\n values.enderecos = !!manutencao.dados.enderecos && manutencao.dados.enderecos.length > 0 ? manutencao.dados.enderecos : [];\r\n values.pef_dataalteracao = moment(new Date());\r\n values.vendedorcampopersonalizados = salvarCamposAdicionais(values);\r\n\r\n salvandoDados(true);\r\n if (!!values.ven_id) {\r\n api.put(`Vendedor/Editar`, values).then(\r\n res => {\r\n notification.success({ message: 'Sucesso!', description: `Vendedor editado com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n notification.error({ message: 'Erro ao Gravar dados do Vendedor.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n salvandoDados(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n api.post(`Vendedor/Incluir`, values).then(\r\n res => {\r\n notification.success({ message: 'Sucesso!', description: `Vendedor incluido com sucesso!` });\r\n let cpfFuncionario = values.pef_cpf.replaceAll('.', '').replaceAll('/', '').replaceAll('-', '');\r\n listarVendedorCpf(cpfFuncionario, (dadosVendedor) => {\r\n modalAdicionarFuncionarioVendedor(dadosVendedor);\r\n });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n notification.error({ message: 'Erro ao Gravar dados do Vendedor.', description: JSON.stringify(erro.response) });\r\n }\r\n ).finally(\r\n () => {\r\n salvandoDados(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n\r\n };\r\n\r\n const salvarCamposAdicionais = (values) => {\r\n var camposAdicionais = [];\r\n elementosFormulario?.map((elemento) => {\r\n values = trataRetornoFormularioDinamico(values, elemento);\r\n let vendedorcampopersonalizados = { ...manutencao.dados };\r\n let forDados = vendedorcampopersonalizados.vendedorcampopersonalizados?.filter(f => f.cap_id == elemento.cap_id)[0];\r\n if ((!!forDados ? forDados.vcp_valor : \"\") !== (!!values[elemento.cap_nomeelemento] ? values[elemento.cap_nomeelemento] : \"\")) {\r\n camposAdicionais.push({ vcp_id: !!forDados ? forDados.vcp_id : null, ven_id: values.ven_id, cap_id: elemento.cap_id, vcp_valor: values[elemento.cap_nomeelemento] });\r\n }\r\n });\r\n return camposAdicionais;\r\n }\r\n\r\n const listaValidacoesVen = [\r\n { nome: 'pef_cpf', obrigatorio: true, label: 'CPF' },\r\n { nome: 'pes_nome', obrigatorio: true, label: 'Nome' },\r\n ];\r\n\r\n function validarAbas(tab) {\r\n let listaValidacoes = [];\r\n let valida = false;\r\n switch (abaSelecionada) {\r\n case '1':\r\n listaValidacoes = [...listaValidacoesVen];\r\n if (formulario.getFieldValue().criarUsuario === 1) {\r\n listaValidacoes.push({ nome: 'emailUsuario', obrigatorio: true, label: 'E-mail Principal do Vendedor' });\r\n } else if (formulario.getFieldValue().criarUsuario === 2) {\r\n listaValidacoes.push({ nome: 'usu_id', obrigatorio: true, label: 'Usuário para vincular ao Vendedor' });\r\n }\r\n valida = true;\r\n break;\r\n case '3':\r\n if (!(!!manutencao.dados.enderecos && manutencao.dados.enderecos.length > 0)) {\r\n notification.warning({ description: 'Favor informar ao menos um endereço!', message: 'Aviso' });\r\n pagina.setPagina(parseInt(abaSelecionada));\r\n return;\r\n }\r\n break;\r\n }\r\n if (validaForm(formulario, listaValidacoes) && valida) {\r\n setAbaSelecionada(tab);\r\n } else if (!valida) {\r\n setAbaSelecionada(tab);\r\n } else {\r\n pagina.setPagina(parseInt(abaSelecionada));\r\n }\r\n };\r\n\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?TipoEntidade=6&PageNumber=1&PageSize=1000&Order=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n setElementosFormulario(res.data.items);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n function carregaDadosCamposAdicionais() { //Campos Adicionais\r\n let camposPersonalizados = { ...manutencao.dados };\r\n camposPersonalizados?.vendedorcampopersonalizados?.map(d => {\r\n let elemento = elementosFormulario.filter(f => f.cap_id === d.cap_id)[0];\r\n if (!!elemento)\r\n trataSetaDadosFormularioDinamico(formulario, elemento, d.vcp_valor);\r\n })\r\n }\r\n\r\n function carregarDados() {\r\n salvandoDados(false);\r\n let parametro = !!formulario.getFieldValue().ven_id ? `?codigoVendedor=${formulario.getFieldValue().ven_id}` : '';\r\n api.get(`Vendedor/ListarUsuariosNaoVinculadosVendedor${parametro}`).then(\r\n res => {\r\n setListaUsuarios(res.data);\r\n }).catch(\r\n erro =>\r\n console.error(erro)\r\n );\r\n api.get(`Usuario/RetornaUsuariosLocal?filtro=`).then(\r\n res => {\r\n setListaUsuariosLocal(res.data);\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n\r\n api.get(`EstadoCivil/Listar`).then(\r\n res => {\r\n setListaEstadoCivil(res.data.items);\r\n }).catch(\r\n erro =>\r\n console.error(erro)\r\n );\r\n }\r\n\r\n function validarEmail(email) {\r\n email = email.target.value;\r\n if (!!email) {\r\n let emailUsuarioExistente = false;\r\n listaUsuarios.forEach((usuario) => {\r\n if (usuario.usu_email.endereco == email) {\r\n emailUsuarioExistente = true;\r\n }\r\n });\r\n\r\n let emailUsuarioDisponivel = false;\r\n if (!!emailUsuarioExistente) {\r\n listaUsuariosLocal.forEach((usuario) => {\r\n if (usuario.usu_email.endereco == email) {\r\n emailUsuarioDisponivel = true;\r\n }\r\n });\r\n } else {\r\n emailUsuarioDisponivel = true;\r\n }\r\n\r\n if (!!!emailUsuarioDisponivel) {\r\n notification.warning({ description: `Endereço de e-mail informado ${email} já está vinculado a outro vendedor! Informe outro e-mail e tende novamente.`, message: `Aviso!` })\r\n } else {\r\n api.get(`Usuario/RetornaUsuarioEmail?email=${email}`).then(\r\n res => {\r\n if (!!res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `O E-mail ${email} já pertence a um usuário no sistema, ao continuar este usuário terá acesso a esta empresa vinculado a este novo vendedor.`,\r\n okText: `Continuar com o usuário existente`,\r\n cancelText: `Informar outro e-mail`,\r\n centered: true,\r\n onOk() {\r\n adicionaEmail(email)\r\n },\r\n onCancel() {\r\n formulario.setFieldsValue({ emailUsuario: null });\r\n }\r\n });\r\n } else {\r\n adicionaEmail(email);\r\n }\r\n }\r\n ).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n }\r\n };\r\n\r\n function adicionaEmail(email) {\r\n let principal = true;\r\n let verifica = true;\r\n if (!!manutencao.dados.emails) {\r\n if (!!manutencao.dados.emails.length > 0) {\r\n principal = false;\r\n }\r\n manutencao.dados.emails.forEach((email) => {\r\n if (email.pem_email === email) {\r\n verifica = false;\r\n }\r\n })\r\n }\r\n if (verifica) {\r\n let listaEmails = [...!!manutencao.dados.emails ? manutencao.dados.emails : []];\r\n let dadosEmail = {};\r\n dadosEmail.pem_email = email;\r\n dadosEmail.pem_ativo = true;\r\n dadosEmail.pem_emailprincipal = principal;\r\n dadosEmail.pem_enviarboleto = false;\r\n dadosEmail.pem_enviarcartacobranca = false;\r\n dadosEmail.pem_enviarnfe = false;\r\n dadosEmail.pem_enviarpromocao = false;\r\n dadosEmail.pem_enviarvencparcela = false;\r\n listaEmails.push(dadosEmail);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ emails: listaEmails } } } });\r\n } else {\r\n notification.warning({ description: `Este E-mail já foi adicionado na lista de e-mails`, message: `Atenção!` });\r\n }\r\n };\r\n\r\n function verificarCpfValido(dado) {\r\n let valorCampo;\r\n if (!!dado.currentTarget) {\r\n valorCampo = dado.currentTarget.value.replace(/\\D/g, '');\r\n } else {\r\n valorCampo = dado;\r\n }\r\n if (!validarCpf(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CPF informado é inválido' });\r\n formulario.setFieldsValue({ pef_cpf: null });\r\n } else {\r\n verificaCpf(valorCampo)\r\n }\r\n }\r\n\r\n function verificaCpf(pef_cpf) {\r\n api.get(`PessoaFisica/VerificarCpfExistente?cpf=${pef_cpf}`).then(\r\n res => {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CPF informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarVendedorCpf(pef_cpf);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n function listaVendedor(ven_id) {\r\n if (!!!ven_id) {\r\n return;\r\n }\r\n api.get(`Vendedor/BuscarVendedor/${ven_id}`).then(\r\n (res) => {\r\n let valores = res.data;\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n valores.pef_rguf = res.data.pef_rguf == \"\" ? null : res.data.pef_rguf;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarVendedorCpf(pef_cpf, callback) {\r\n api.get(`Vendedor/BuscarVendedorCpf/${pef_cpf}`).then(\r\n res => {\r\n let valores = res.data;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.ven_ativo = true;\r\n let lista = [];\r\n if (!!valores.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: valores.pef_rguf });\r\n }\r\n if (!!valores.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: valores.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: {itens: lista} });\r\n }\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n if (!!callback) {\r\n callback(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function modalAdicionarFuncionarioVendedor(dadosVendedor) {\r\n\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Deseja cadastrar esse vendedor como Funcionário da empresa?`,\r\n cancelText: 'Não',\r\n okText: 'Sim',\r\n okType: 'sucess',\r\n centered: true,\r\n onOk() {\r\n adicionarFuncionarioVendedor(dadosVendedor);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n }\r\n });\r\n }\r\n\r\n function adicionarFuncionarioVendedor(dadosVendedor) {\r\n dadosVendedor.fun_ativo = true;\r\n api.post(`Funcionario/Incluir`, dadosVendedor).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Vendedor cadastrado como Funcionário com sucesso!\" });\r\n }).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n salvandoDados(false);\r\n aoSalvar();\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n validarAbas(tab)}>\r\n \r\n
\r\n \r\n
\r\n { verificarCpfValido(pef_cpf) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Feminino\r\n Masculino\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(!editando.editando || (editando.editando && exibirOpcoes)) && setOpcoesCriarUsuario(0)} value={0}>Não criar Usuário para este Vendedor}\r\n setOpcoesCriarUsuario(1)} value={1}>Criar um Usuário Automaticamente\r\n setOpcoesCriarUsuario(2)} value={2}>Vincular usuário existente\r\n \r\n \r\n \r\n prevValues.criarUsuario !== currentValues.criarUsuario}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue('criarUsuario') === 1) return (\r\n \r\n \r\n { validarEmail(valor) }} />\r\n \r\n \r\n );\r\n if (getFieldValue('criarUsuario') === 2) return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n carregarCidades(UfEstado)} onChangeFunction={(UfEstado) => carregarCidades(UfEstado)}\r\n conteudo={\r\n est => (\r\n {est.est_sigla} - {est.est_descricao})\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n ({cid.cid_id} - {cid.cid_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vendedor Ativo? \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n placeholder=\"(%) Comissão à Vista\" />\r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n placeholder=\"(%) Comissão à Prazo\" />\r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n placeholder=\"(%) Máximo de Desconto\" />\r\n \r\n \r\n \r\n \r\n ({est.est_sigla} - {est.est_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n Vendedor Externo? \r\n \r\n \r\n \r\n \r\n Considerar Desconto? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Campos Campos Adicionais\r\n \r\n \r\n Adicione abaixo as informações adicionais.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Tabs, Row, Col, Form, Input, Radio, Switch, Tooltip, Checkbox, Select, InputNumber, notification, Modal, Typography, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined, QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { validarIE } from \"../../services/funcoesIE\";\r\nimport { Data, FormGW, FormularioDinamico, InputPreco } from \"../../components\";\r\nimport { isObjetoDiffVazio, validarCnpj, validarCpf, consultaCNPJ, retornaSoNumeros } from \"../../services/funcoes\";\r\nimport { Endereco, Email, Telefone, OutrosContatos, Veiculos, Nacionalidade } from '../pessoas/pages';\r\nimport { trataRetornoFormularioDinamico, trataSetaDadosFormularioDinamico } from \"../../services/funcoes\";\r\n\r\nexport default function ManutencaoTransportador({ formulario, carregando, aoSalvar, editando }) {\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [dadosEstrangeiro, setDadosEstrangeiro] = useState(false);\r\n const [fretePorConta, setFretePorConta] = useState([]);\r\n const [tipoTransporte, setTipoTransporte] = useState([]);\r\n const [cpfCnpj, setCpfCnpj] = useState(\"\");\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [pessoaJuridica, setPessoaJuridica] = useState(false);\r\n const [baixadoRec, setBaixadoRec] = useState(false);\r\n const [desabilitarCfpCnpj, setDesabilitarCpfCnpj] = useState(false);\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.trn_id) {\r\n listaTransportador(manutencao.dados.trn_id);\r\n }\r\n formulario.setFieldsValue(manutencao.dados);\r\n }, []);\r\n\r\n useEffect(() => { if (!!elementosFormulario && elementosFormulario.length > 0) carregaDadosCamposAdicionais(); }, [elementosFormulario]);\r\n useEffect(() => {\r\n if (manutencao?.dados?.transportadorcampopersonalizados?.length > 0)\r\n carregaDadosCamposAdicionais();\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n listarFretePorConta();\r\n listarTipoTransporte();\r\n carregaCamposPersonalizados();\r\n }, []);\r\n\r\n const switchEstrangeiro = () => {\r\n setDadosEstrangeiro(!dadosEstrangeiro)\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(\r\n () => {\r\n try {\r\n let element = document.getElementById(\"cpf\");\r\n if (element) {\r\n element.focus();\r\n }\r\n } catch (error) {\r\n console.log('error :>> ', error);\r\n }\r\n }, 500);\r\n if (!!manutencao.dados) {\r\n if (!!!manutencao.dados.cpfCnpj && !!!formulario.getFieldValue().cpfCnpj) {\r\n setDesabilitarCpfCnpj(false);\r\n } else {\r\n setDesabilitarCpfCnpj(true);\r\n }\r\n if (!!manutencao.dados.cpfCnpj) {\r\n if (manutencao.dados.cpfCnpj.length > 11) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n\r\n const salvarManutencao = valores => {\r\n valores.pes_fisicajuridica = pessoaJuridica ? 2 : (dadosEstrangeiro ? 3 : 1);\r\n valores.listaPessoasAutorizadas = manutencao.dados.pessoaAutorizada;\r\n valores.enderecos = !!manutencao.dados.enderecos && manutencao.dados.enderecos.length > 0 ? manutencao.dados.enderecos : [];\r\n valores.pessoaemails = !!manutencao.dados.emails && manutencao.dados.emails.length > 0 ? manutencao.dados.emails : [];\r\n valores.pessoatelefones = !!manutencao.dados.telefones && manutencao.dados.telefones.length > 0 ? manutencao.dados.telefones : [];\r\n valores.pessoaoutrocontatos = !!manutencao.dados.pessoaoutrocontatos && manutencao.dados.pessoaoutrocontatos.length > 0 ? manutencao.dados.pessoaoutrocontatos : [];\r\n valores.pessoanacionalidades = !!manutencao.dados.nacionalidades && manutencao.dados.nacionalidades.length > 0 ? manutencao.dados.nacionalidades : [];\r\n valores.transportadorveiculos = !!manutencao.dados.veiculos && manutencao.dados.veiculos.length > 0 ? manutencao.dados.veiculos : [];\r\n\r\n valores.pef_produtorrural = false;\r\n valores.pej_databaixasefaz = !!valores.pej_databaixasefaz ? valores.pej_databaixasefaz : null;\r\n valores.pej_baixadoreceita = !!valores.pej_baixadoreceita ? valores.pej_baixadoreceita : false;\r\n valores.trn_valorfretefixo = !!valores.trn_valorfretefixo ? parseFloat(valores.trn_valorfretefixo) : parseFloat(0);\r\n valores.trn_percentualfrete = !!valores.trn_percentualfrete ? parseFloat(valores.trn_percentualfrete) : parseFloat(0);\r\n valores.transportadorcampopersonalizados = salvarCamposAdicionais(valores);\r\n if (!!valores.idEstrangeiro && dadosEstrangeiro) {\r\n valores.isEstrangeiro = true;\r\n valores.pes_estrangeiro = true;\r\n } else {\r\n valores.isEstrangeiro = false;\r\n valores.pes_estrangeiro = false;\r\n }\r\n if (!!valores.cpfCnpj) {\r\n if (valores.pes_fisicajuridica === 1) {\r\n valores.pef_cpf = valores.cpfCnpj.replace(/\\D/g, '');\r\n valores.pef_rguf = valores.enderecos.filter((end) => (end.pee_enderecoprincipal === true))[0].est_sigla;\r\n } else {\r\n valores.pej_cnpj = valores.cpfCnpj.replace(/\\D/g, '');\r\n valores.pej_inscuf = valores.enderecos.filter((end) => (end.pee_enderecoprincipal === true))[0].est_sigla;\r\n }\r\n }\r\n if (!!valores.pej_inscricaoestadual && !validarIE(valores.pej_inscricaoestadual, valores.pej_inscuf)) {\r\n notification.warning({ message: 'Aviso', description: 'Inscrição Estadual informada é inválida' });\r\n return false;\r\n } else if (!!!valores.pej_inscricaoestadual) {\r\n valores.pej_inscricaoestadual = \"\";\r\n }\r\n\r\n carregando(true);\r\n if (!!valores.trn_id) {\r\n api.put(`Transportador/Editar`, valores).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: `Transportador editado com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n api.post(`Transportador/Incluir`, valores).then(\r\n res => {\r\n notification.success({ message: 'Aviso', description: `Transportador incluído com sucesso!` });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n }\r\n\r\n };\r\n\r\n const salvarCamposAdicionais = (values) => {\r\n var camposAdicionais = [];\r\n elementosFormulario?.map((elemento) => {\r\n values = trataRetornoFormularioDinamico(values, elemento);\r\n let transportadorcampopersonalizados = { ...manutencao.dados };\r\n let forDados = transportadorcampopersonalizados.transportadorcampopersonalizados?.filter(f => f.cap_id == elemento.cap_id)[0];\r\n if ((!!forDados ? forDados.fcp_valor : \"\") !== (!!values[elemento.cap_nomeelemento] ? values[elemento.cap_nomeelemento] : \"\")) {\r\n camposAdicionais.push({ tcp_id: !!forDados ? forDados.tcp_id : null, trn_id: values.trn_id, cap_id: elemento.cap_id, tcp_valor: values[elemento.cap_nomeelemento] });\r\n }\r\n });\r\n return camposAdicionais;\r\n }\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?entidade=5&PageNumber=1&PageSize=1000&Order=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n setElementosFormulario(res.data.items);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n function carregaDadosCamposAdicionais() { //Campos Adicionais\r\n let camposPersonalizados = { ...manutencao.dados };\r\n camposPersonalizados?.transportadorcampopersonalizados?.map(d => {\r\n let elemento = elementosFormulario.filter(f => f.cap_id === d.cap_id)[0];\r\n if (!!elemento)\r\n trataSetaDadosFormularioDinamico(formulario, elemento, d.tcp_valor);\r\n })\r\n }\r\n\r\n\r\n\r\n function listarFretePorConta() {\r\n api.get(`Enum/Listar?nome=FretePorConta`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setFretePorConta(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function listarTipoTransporte() {\r\n api.get(`Enum/Listar?nome=TipoTransporteInternacional`).then(\r\n res => {\r\n if (res.status === 200) {\r\n setTipoTransporte(res.data);\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function validarFisicoJuridico(event) {\r\n let valorCampo = event.currentTarget.value.replace(/\\D/g, '');\r\n if (valorCampo.length === 11) {\r\n if (!validarCpf(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CPF informado é inválido' });\r\n formulario.resetFields();\r\n return false;\r\n }\r\n } else if (valorCampo.length === 14) {\r\n if (!validarCnpj(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CNPJ informado é inválido' });\r\n formulario.resetFields();\r\n return false;\r\n }\r\n }\r\n setPessoaJuridica(valorCampo.length === 14);\r\n };\r\n\r\n function validarCpfCnpjExistente(cpfCnpj) {\r\n if (cpfCnpj.length === 14) {\r\n validarCnpjExiste(cpfCnpj);\r\n } else {\r\n validarCpfExiste(cpfCnpj);\r\n }\r\n };\r\n\r\n function validarCpfExiste(cpfCnpj) {\r\n api.get(`PessoaFisica/VerificarCpfExistente?cpf=${cpfCnpj}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CPF informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarTransportadorCpfCnpj(cpfCnpj);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarCnpjExiste(cpfCnpj) {\r\n api.get(`PessoaJuridica/VerificarCnpjExistente?cnpj=${cpfCnpj}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CNPJ informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarTransportadorCpfCnpj(cpfCnpj);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n }else{\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function listaTransportador(trn_id) {\r\n if (!!!trn_id) {\r\n return;\r\n }\r\n api.get(`Transportador/BuscarTransportador/${trn_id}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data.pes_fisicajuridica === 2) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n let valores = res.data;\r\n valores.pej_datafundacao = !!valores.pej_datafundacao ? moment(valores.pej_datafundacao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n const receitaWS = (cpfCnpj) => {\r\n consultaCNPJ(cpfCnpj).then((retorno) => {\r\n let dados = retorno;\r\n if (dados.status === \"OK\" && dados.situacao === \"ATIVA\") {\r\n let dadosForm = {};\r\n\r\n if (dados.efr !== \"\") {\r\n dadosForm.pes_orgaopublico = true;\r\n }\r\n dadosForm.pes_nome = dados.nome;\r\n if (!!dados.abertura) {\r\n let dia = dados.abertura.substring(0, 2);\r\n let mes = dados.abertura.substring(3, 5);\r\n let ano = dados.abertura.substring(6, 10);\r\n dadosForm.pej_datafundacao = moment(new Date(ano, mes, dia));\r\n }\r\n dadosForm.pej_nomefantasia = dados.fantasia;\r\n\r\n\r\n let listaEnderecos = [];\r\n let tipoEndereco = {};\r\n tipoEndereco.pais = \"BRASIL\";\r\n tipoEndereco.pse_id = 33;\r\n tipoEndereco.tpe_id = 4;\r\n tipoEndereco.tpe_descricao = \"COMERCIAL\";\r\n tipoEndereco.pee_numero = dados.numero;\r\n tipoEndereco.pee_ativo = true;\r\n tipoEndereco.pee_enderecoprincipal = true;\r\n tipoEndereco.cep_cep = retornaSoNumeros(dados.cep);\r\n tipoEndereco.pee_complemento = dados.complemento;\r\n tipoEndereco.bai_nome = dados.bairro;\r\n tipoEndereco.log_logradouro = dados.logradouro;\r\n tipoEndereco.cid_descricao = dados.municipio;\r\n tipoEndereco.est_sigla = dados.uf;\r\n tipoEndereco.enderecoCompleto = tipoEndereco.log_logradouro + ', ' + tipoEndereco.pee_numero + ' - ' + tipoEndereco.bai_nome + ' - ' + tipoEndereco.pee_complemento + ' - ' + tipoEndereco.cep_cep + ' - ' + tipoEndereco.cid_descricao + ' - ' + tipoEndereco.uf;\r\n listaEnderecos.push(tipoEndereco);\r\n\r\n let listaTelefones = [];\r\n if (dados.telefone !== \"\") {\r\n let tpt = {};\r\n tpt.tpt_id = 1;\r\n tpt.tpt_descricao = \"COMERCIAL\";\r\n tpt.psc_ativo = true;\r\n tpt.psc_numero = retornaSoNumeros(dados.telefone).substring(0, 10);\r\n tpt.psc_principal = true;\r\n listaTelefones.push(tpt);\r\n }\r\n\r\n let listaEmails = [];\r\n if (dados.email !== \"\") {\r\n let email = {};\r\n email.pem_email = dados.email;\r\n email.pem_emailprincipal = true;\r\n email.pem_enviarboleto = false;\r\n email.pem_enviarcartacobranca = false;\r\n email.pem_enviarnfe = false;\r\n email.pem_enviarpromocao = false;\r\n email.pem_enviarvencparcela = false;\r\n email.pem_ativo = true;\r\n listaEmails.push(email);\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ telefones: listaTelefones }, ...{ emails: listaEmails }, ...{ enderecos: listaEnderecos } } } });\r\n formulario.setFieldsValue(dadosForm);\r\n\r\n }\r\n }, (erro) => {\r\n console.log('ERRO:', erro);\r\n });\r\n }\r\n function listarTransportadorCpfCnpj(cpfCnpj) {\r\n cpfCnpj = cpfCnpj.replaceAll('-', '').replaceAll('/', '').replaceAll('.', '');\r\n if (cpfCnpj === null || cpfCnpj === \"\") {\r\n return false;\r\n }\r\n api.get(`Transportador/BuscarTransportardorCpfCnpj/${cpfCnpj}`).then(\r\n (res) => {\r\n let valores = res.data;\r\n if (res.data.pes_fisicajuridica === 2) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n valores.trn_ativo = true;\r\n valores.pej_datafundacao = !!valores.pej_datafundacao ? moment(valores.pej_datafundacao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n valores.pef_dataalteracao = !!valores.pef_dataalteracao ? moment(valores.pef_dataalteracao) : null;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n } else {\r\n if (cpfCnpj.length === 14) {\r\n setPessoaJuridica(true);\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n if (cpfCnpj.length === 14) {\r\n setPessoaJuridica(true);\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n );\r\n }\r\n function alteraBaixadoRec(record) {\r\n setBaixadoRec(record);\r\n };\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n
\r\n {!desabilitarCfpCnpj && \r\n Transportador Estrangeiro\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosEstrangeiro === false &&\r\n \r\n \r\n { validarFisicoJuridico(valor); validarCpfCnpjExistente(valor.currentTarget.value.replace(/\\D/g, '')) }}\r\n onChange={(event, type) => {\r\n setCpfCnpj(event.target.value);\r\n }} />\r\n \r\n \r\n }\r\n {!!dadosEstrangeiro &&\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {pessoaJuridica && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {pessoaJuridica && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!pessoaJuridica && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Transportador Ativo? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pessoaJuridica &&\r\n \r\n \r\n \r\n { alteraBaixadoRec(value) }}>Baixado da Receita?\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!pessoaJuridica && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Campos Campos Adicionais\r\n \r\n \r\n Adicione abaixo as informações adicionais.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Tabs, Typography, Row, Col, Form, Divider, Input, Select, Button, Radio, Checkbox, Switch, Tooltip, Modal, notification } from \"antd\";\r\nimport { CalculatorFilled, ExclamationCircleOutlined, QuestionCircleOutlined } from \"@ant-design/icons\";\r\nimport CpfCnpj from \"@react-br-forms/cpf-cnpj-mask\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { ModalCalcularLimite } from \"../../components/modals/\";\r\nimport { drawerActions, listagemActions, manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { FormGW, InputPreco, FormularioDinamico, Data, SelectPaginacao, InputPercentual } from \"../../components\";\r\nimport { compararDatas, consultaCNPJ, isObjetoDiffVazio, retornaSoNumeros, validarCnpj, validarCpf } from \"../../services/funcoes\";\r\nimport { OrgaoSubjacente, Endereco, Email, Telefone, Ocupacao, Nacionalidade, OutrosContatos, PessoasAutorizadas } from '../pessoas/pages';\r\nimport moment from \"moment\";\r\nimport { validarIE } from \"../../services/funcoesIE\";\r\nimport { trataRetornoFormularioDinamico, trataSetaDadosFormularioDinamico } from \"../../services/funcoes\";\r\n\r\n\r\nexport default function ManutencaoClientes({ carregando, aoSalvar, editando, formulario }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n const [pessoaJuridica, setPessoaJuridica] = useState(false);\r\n const [orgaoPublico, setOrgaoPublico] = useState(false);\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [dadosEstrangeiro, setDadosEstrangeiro] = useState(false);\r\n const [openModalCalcular, setOpenModalCalcular] = useState(false);\r\n const [cpfCnpj, setCpfCnpj] = useState(null);\r\n const [mask, setMask] = useState(\"\");\r\n const [listaCidades, setListaCidades] = useState(false);\r\n const [dadosRegimeTrib, setDadosRegimeTrib] = useState([]);\r\n const [elementosFormulario, setElementosFormulario] = useState([]);\r\n const [desabilitarCfpCnpj, setDesabilitarCpfCnpj] = useState(false);\r\n const [produtorRural, setProdutorRural] = useState(false);\r\n const [filtroCdd, setFiltroCdd] = useState(null);\r\n const switchEstrangeiro = () => {\r\n setDadosEstrangeiro(!dadosEstrangeiro)\r\n };\r\n\r\n useEffect(() => {\r\n if (ui.showDrawer && !!manutencao.dados && !!manutencao.dados.cli_id && editando.editando) {\r\n let lista = [];\r\n if (!!manutencao.dados.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: manutencao.dados.pef_rguf });\r\n }\r\n if (!!manutencao.dados.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: manutencao.dados.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n editando.setEditando(false);\r\n }\r\n\r\n formulario.setFieldsValue(manutencao.dados);\r\n\r\n }\r\n }, [ui.showDrawer, manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.cli_id) {\r\n listaCliente(manutencao.dados.cli_id);\r\n }\r\n if (!!manutencao.dados && !!manutencao.dados.cpfCnpj) {\r\n if (manutencao.dados.cpfCnpj.length > 11) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n\r\n }\r\n buscarRegimeTributario();\r\n carregaCamposPersonalizados();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setTimeout(\r\n () => {\r\n try {\r\n let element = document.getElementById(\"cpf\");\r\n if (element) {\r\n element.focus();\r\n }\r\n } catch (error) {\r\n console.log('error :>> ', error);\r\n }\r\n }, 500);\r\n if (!!manutencao.dados) {\r\n if (!!!manutencao.dados.cpfCnpj && !!!formulario.getFieldValue().cpfCnpj) {\r\n setDesabilitarCpfCnpj(false);\r\n } else {\r\n setDesabilitarCpfCnpj(true);\r\n }\r\n if (!!manutencao.dados.cpfCnpj) {\r\n if (manutencao.dados.cpfCnpj.length > 11) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => { if (!!elementosFormulario && elementosFormulario.length > 0) carregaDadosCamposAdicionais(); }, [elementosFormulario]);\r\n useEffect(() => {\r\n if (manutencao?.dados?.clientecampopersonalizados?.length > 0)\r\n carregaDadosCamposAdicionais();\r\n }, [manutencao.dados]);\r\n\r\n const switchPublico = () => {\r\n setOrgaoPublico(!orgaoPublico);\r\n };\r\n\r\n function carregarCidades(UfEstado) {\r\n if (!!UfEstado) {\r\n let lista = [];\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"UfEstado\", value: UfEstado });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n else {\r\n setListaCidades(false);\r\n }\r\n }\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?TipoEntidade=1&PageNumber=1&PageSize=1000&Order=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n setElementosFormulario(res.data.items);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n function carregaDadosCamposAdicionais() { //Campos Adicionais\r\n let camposPersonalizados = { ...manutencao.dados };\r\n camposPersonalizados?.clientecampopersonalizados?.map(d => {\r\n let elemento = elementosFormulario.filter(f => f.cap_id === d.cap_id)[0];\r\n if (!!elemento)\r\n trataSetaDadosFormularioDinamico(formulario, elemento, d.ccp_valor);\r\n })\r\n }\r\n\r\n const salvarCamposAdicionais = (values) => {\r\n var camposAdicionais = [];\r\n elementosFormulario?.map((elemento) => {\r\n values = trataRetornoFormularioDinamico(values, elemento);\r\n let clientecampopersonalizados = { ...manutencao.dados };\r\n let forDados = clientecampopersonalizados.clientecampopersonalizados?.filter(f => f.cap_id == elemento.cap_id)[0];\r\n if (!!values[elemento.cap_nomeelemento]) {\r\n camposAdicionais.push({ ccp_id: !!forDados ? forDados.ccp_id : null, cli_id: values.cli_id, cap_id: elemento.cap_id, ccp_valor: String(values[elemento.cap_nomeelemento]) });\r\n }\r\n });\r\n return camposAdicionais;\r\n }\r\n\r\n const receitaWS = (cpfCnpj) => {\r\n consultaCNPJ(cpfCnpj).then((retorno) => {\r\n let dados = retorno;\r\n if (dados.status === \"OK\" && dados.situacao === \"ATIVA\") {\r\n let dadosForm = {};\r\n\r\n if (dados.efr !== \"\") {\r\n dadosForm.pes_orgaopublico = true;\r\n }\r\n dadosForm.pes_nome = dados.nome;\r\n if (!!dados.abertura) {\r\n let dia = dados.abertura.substring(0, 2);\r\n let mes = dados.abertura.substring(3, 5);\r\n let ano = dados.abertura.substring(6, 10);\r\n dadosForm.pej_datafundacao = moment(new Date(ano, mes, dia));\r\n }\r\n dadosForm.pej_nomefantasia = dados.fantasia;\r\n\r\n\r\n let listaEnderecos = [];\r\n let tipoEndereco = {};\r\n tipoEndereco.pais = \"BRASIL\";\r\n tipoEndereco.pse_id = 33;\r\n tipoEndereco.tpe_id = 4;\r\n tipoEndereco.tpe_descricao = \"COMERCIAL\";\r\n tipoEndereco.pee_numero = dados.numero;\r\n tipoEndereco.pee_ativo = true;\r\n tipoEndereco.pee_enderecoprincipal = true;\r\n tipoEndereco.cep_cep = retornaSoNumeros(dados.cep);\r\n tipoEndereco.pee_complemento = dados.complemento;\r\n tipoEndereco.bai_nome = dados.bairro;\r\n tipoEndereco.log_logradouro = dados.logradouro;\r\n tipoEndereco.cid_descricao = dados.municipio;\r\n tipoEndereco.est_sigla = dados.uf;\r\n tipoEndereco.enderecoCompleto = tipoEndereco.log_logradouro + ', ' + tipoEndereco.pee_numero + ' - ' + tipoEndereco.bai_nome + ' - ' + tipoEndereco.pee_complemento + ' - ' + tipoEndereco.cep_cep + ' - ' + tipoEndereco.cid_descricao + ' - ' + tipoEndereco.uf;\r\n listaEnderecos.push(tipoEndereco);\r\n\r\n let listaTelefones = [];\r\n if (dados.telefone !== \"\") {\r\n let tpt = {};\r\n tpt.tpt_id = 1;\r\n tpt.tpt_descricao = \"COMERCIAL\";\r\n tpt.psc_ativo = true;\r\n tpt.psc_numero = retornaSoNumeros(dados.telefone).substring(0, 10);\r\n tpt.psc_principal = true;\r\n listaTelefones.push(tpt);\r\n }\r\n\r\n let listaEmails = [];\r\n if (dados.email !== \"\") {\r\n let email = {};\r\n email.pem_email = dados.email;\r\n email.pem_emailprincipal = true;\r\n email.pem_enviarboleto = false;\r\n email.pem_enviarcartacobranca = false;\r\n email.pem_enviarnfe = false;\r\n email.pem_enviarpromocao = false;\r\n email.pem_enviarvencparcela = false;\r\n email.pem_ativo = true;\r\n listaEmails.push(email);\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ telefones: listaTelefones }, ...{ emails: listaEmails }, ...{ enderecos: listaEnderecos } } } });\r\n formulario.setFieldsValue(dadosForm);\r\n\r\n }\r\n }, (erro) => {\r\n console.log('ERRO:', erro);\r\n });\r\n }\r\n\r\n function listaCliente(cli_id) {\r\n if (!!!cli_id) {\r\n return;\r\n }\r\n api.get(`Cliente/BuscarCliente/${cli_id}`).then(\r\n (res) => {\r\n let valores = res.data;\r\n if (res.data.pes_fisicajuridica === 2) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n if (!!res.data && isObjetoDiffVazio(res.data)) {\r\n res.data.pef_rguf = res.data.pef_rguf == \"\" ? null : res.data.pef_rguf;\r\n valores.pef_datanascimento = !!valores.pef_datanascimento ? moment(valores.pef_datanascimento) : null;\r\n valores.cli_datainiciallimitecred = !!valores.cli_datainiciallimitecred ? moment(valores.cli_datainiciallimitecred) : null;\r\n valores.cli_datafinallimitecred = !!valores.cli_datafinallimitecred ? moment(valores.cli_datafinallimitecred) : null;\r\n valores.pef_rgdataexpedicao = !!valores.pef_rgdataexpedicao ? moment(valores.pef_rgdataexpedicao) : null;\r\n valores.cli_dataalteracao = !!valores.cli_dataalteracao ? moment(valores.cli_dataalteracao) : null;\r\n valores.cli_datainclusao = !!valores.cli_datainclusao ? moment(valores.cli_datainclusao) : null;\r\n valores.pes_dataalteracao = !!valores.pes_dataalteracao ? moment(valores.pes_dataalteracao) : null;\r\n valores.pes_datainclusao = !!valores.pes_datainclusao ? moment(valores.pes_datainclusao) : null;\r\n setProdutorRural(!!valores.pef_produtorrural);\r\n setOrgaoPublico(valores.pes_orgaopublico);\r\n if (!!valores.pessoaorgaospublicos && valores.pessoaorgaospublicos.length > 0) {\r\n valores.listaOrgaoPublico = valores.pessoaorgaospublicos;\r\n }\r\n formulario.setFieldsValue(valores);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: valores } });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function salvarManutencao(values) {\r\n values = { ...values, ...formulario.getFieldValue() };\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.telefones && manutencao.dados.telefones.length > 0) {\r\n values.pessoatelefones = manutencao.dados.telefones;\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Favor informar o telefone' });\r\n return false;\r\n }\r\n if (!!manutencao.dados.enderecos && manutencao.dados.enderecos.length > 0) {\r\n if (manutencao.dados.enderecos.filter(end => (end.pee_ativo)).length > 0) {\r\n values.enderecos = manutencao.dados.enderecos;\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Favor informar um endereço ativo!' });\r\n return false;\r\n }\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Favor informar o endereço' });\r\n return false;\r\n }\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Favor informar o endereço e telefone' });\r\n return false;\r\n }\r\n if (!!values.cli_datainiciallimitecred && !!values.cli_datafinallimitecred) {\r\n if (compararDatas(values.cli_datafinallimitecred, values.cli_datainiciallimitecred, '<')) {\r\n notification.warning({ message: `Aviso!`, description: `Data Final de Crédito não pode ser menor que a Data Inicial de Crédito` });\r\n return false;\r\n }\r\n }\r\n if (!!values.pej_inscricaoestadual) {\r\n values.pej_inscuf = manutencao.dados.enderecos.filter((endereco) => { return endereco.pee_enderecoprincipal === true })[0].est_sigla;\r\n }\r\n if (!!values.pej_inscricaoestadual && !validarIE(values.pej_inscricaoestadual, values.pej_inscuf)) {\r\n notification.warning({ message: 'Aviso', description: 'Inscrição Estadual informada é inválida' });\r\n return false;\r\n }\r\n\r\n values.pes_orgaopublico = orgaoPublico;\r\n if (orgaoPublico) {\r\n values.pessoaorgaospublicos = !!manutencao.dados.listaOrgaoPublico && manutencao.dados.listaOrgaoPublico.length > 0 ? manutencao.dados.listaOrgaoPublico : [];\r\n }\r\n values.pef_datanascimento = !!values.pef_datanascimento ? moment(values.pef_datanascimento) : null;\r\n values.pessoaautorizada = !!manutencao.dados.pessoaautorizada && manutencao.dados.pessoaautorizada.length > 0 ? manutencao.dados.pessoaautorizada : [];\r\n values.pessoaemails = !!manutencao.dados.emails && manutencao.dados.emails.length > 0 ? manutencao.dados.emails : [];\r\n values.pessoasocupacoes = !!manutencao.dados.ocupacoes && manutencao.dados.ocupacoes.length > 0 ? manutencao.dados.ocupacoes : [];\r\n values.pessoaoutrocontatos = !!manutencao.dados.pessoaoutrocontatos && manutencao.dados.pessoaoutrocontatos.length > 0 ? manutencao.dados.pessoaoutrocontatos : [];\r\n values.pessoanacionalidades = !!manutencao.dados.listaNacionalidade && manutencao.dados.listaNacionalidade.length > 0 ? manutencao.dados.listaNacionalidade : [];\r\n values.cpfCnpj = values.cpfCnpj.replaceAll('.', '').replaceAll('/', '').replaceAll('-', '');\r\n if (!!dadosEstrangeiro) {\r\n values.pes_fisicajuridica = 3;\r\n } else {\r\n if (values.cpfCnpj.length === 11) {\r\n values.pes_fisicajuridica = 1;\r\n values.pef_cpf = values.cpfCnpj;\r\n } else {\r\n values.pes_fisicajuridica = 2;\r\n values.pej_cnpj = values.cpfCnpj;\r\n }\r\n }\r\n values.regimeTributario = values.cli_regimetributariofiscal ? dadosRegimeTrib.filter((item) => (item.key === values.cli_regimetributariofiscal))[0] : null;\r\n\r\n values.clientecampopersonalizados = salvarCamposAdicionais(values);\r\n carregando(true);\r\n\r\n if (!!values.cli_id) {\r\n api.put(`Cliente/Editar`, values).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: `Cliente editado com sucesso!` });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n aoSalvar();\r\n }\r\n );\r\n } else {\r\n api.post(`Cliente/Incluir`, values).then(\r\n (res) => {\r\n notification.success({ message: 'Aviso', description: `Cliente incluído com sucesso!` });\r\n let idRetorno = res.data.pes_id;\r\n aoSalvar(idRetorno);\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n carregando(false);\r\n }\r\n );\r\n }\r\n };\r\n\r\n function validarFisicoJuridico(event) {\r\n let valorCampo = event.currentTarget.value.replace(/\\D/g, '');\r\n if (valorCampo.length === 11) {\r\n if (!validarCpf(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CPF informado é inválido' });\r\n formulario.resetFields();\r\n return false;\r\n }\r\n } else if (valorCampo.length === 14) {\r\n if (!validarCnpj(valorCampo)) {\r\n notification.warning({ message: 'Aviso', description: 'CNPJ informado é inválido' });\r\n formulario.resetFields();\r\n return false;\r\n }\r\n }\r\n setPessoaJuridica(valorCampo.length === 14);\r\n };\r\n\r\n function validarCpfCnpjExistente(cpfCnpj) {\r\n\r\n if (cpfCnpj.length === 14) {\r\n validarCnpjExiste(cpfCnpj);\r\n } else {\r\n validarCpfExiste(cpfCnpj);\r\n }\r\n };\r\n\r\n function validarCpfExiste(cpfCnpj) {\r\n api.get(`PessoaFisica/VerificarCpfExistente?cpf=${cpfCnpj}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CPF informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarClienteCpfCnpj(cpfCnpj);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function validarCnpjExiste(cpfCnpj) {\r\n api.get(`PessoaJuridica/VerificarCnpjExistente?cnpj=${cpfCnpj}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n if (res.data) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"O CNPJ informado já esta cadastrado no sistema!\\n Deseja atualizar seus dados?\",\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n listarClienteCpfCnpj(cpfCnpj);\r\n },\r\n onCancel() {\r\n formulario.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n });\r\n } else {\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function listarClienteCpfCnpj(cpfCnpj) {\r\n let dados = {};\r\n if (!!!cpfCnpj) {\r\n return false;\r\n }\r\n api.get(`Cliente/BuscarClienteCpfCnpj/${cpfCnpj}`).then(\r\n async res => {\r\n dados = res.data;\r\n if (!!dados && isObjetoDiffVazio(dados)) {\r\n setOrgaoPublico(dados.pes_orgaopublico);\r\n if (!!dados.orgaoPublico && dados.orgaoPublico.length > 0) {\r\n dados.listaOrgaoPublico = dados.orgaoPublico;\r\n }\r\n if (res.data.pes_fisicajuridica === 2) {\r\n setPessoaJuridica(true);\r\n } else {\r\n setPessoaJuridica(false);\r\n }\r\n dados.cli_ativo = true;\r\n dados.cli_clientecontribuinteicms = !!dados.pej_inscricaoestadual ? true : false;\r\n dados.cli_dataalteracao = !!dados.cli_dataalteracao ? moment(dados.cli_dataalteracao) : null;\r\n dados.cli_datainclusao = !!dados.cli_datainclusao ? moment(dados.cli_datainclusao) : null;\r\n dados.pef_dataalteracao = !!dados.pef_dataalteracao ? moment(dados.pef_dataalteracao) : null;\r\n dados.pef_datanascimento = !!dados.pef_datanascimento ? moment(dados.pef_datanascimento) : null;\r\n dados.pef_rgdataexpedicao = !!dados.pef_rgdataexpedicao ? moment(dados.pef_rgdataexpedicao) : null;\r\n dados.pes_dataalteracao = !!dados.pes_dataalteracao ? moment(dados.pes_dataalteracao) : null;\r\n dados.pes_datainclusao = !!dados.pes_datainclusao ? moment(dados.pes_datainclusao) : null;\r\n dados.pej_datafundacao = !!dados.pej_datafundacao ? moment(dados.pej_datafundacao) : null;\r\n dados.cli_datainiciallimitecred = !!dados.cli_datainiciallimitecred ? moment(dados.cli_datainiciallimitecred) : null;\r\n dados.cli_datafinallimitecred = !!dados.cli_datafinallimitecred ? moment(dados.cli_datafinallimitecred) : null;\r\n setProdutorRural(!!dados.pef_produtorrural);\r\n setOrgaoPublico(!!dados.pej_orgaop);\r\n let lista = [];\r\n if (!!dados.pef_rguf) {\r\n lista.push({ name: \"pef_rguf\", campo: \"Uf\", value: dados.pef_rguf });\r\n }\r\n if (!!dados.pef_codigocidadenascimento) {\r\n lista.push({ name: \"pef_codigocidadenascimento\", campo: \"IdCidade\", value: dados.pef_codigocidadenascimento });\r\n }\r\n if (lista.length > 0) {\r\n editando.setEditando(false);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n formulario.setFieldsValue(dados);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n if (cpfCnpj.length === 14) {\r\n setPessoaJuridica(true);\r\n receitaWS(cpfCnpj);\r\n }\r\n }\r\n );\r\n };\r\n\r\n function buscarRegimeTributario() {\r\n api.get(`Enum/Listar?nome=RegimeTributarioFiscal`).then(\r\n res => {\r\n setDadosRegimeTrib(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n \r\n setAbaSelecionada(tab)}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {!desabilitarCfpCnpj &&\r\n
\r\n \r\n Cliente Estrangeiro\r\n \r\n \r\n }\r\n \r\n \r\n {!!!dadosEstrangeiro &&\r\n \r\n \r\n {\r\n validarFisicoJuridico(valor); validarCpfCnpjExistente(valor.currentTarget.value.replace(/\\D/g, ''));\r\n }}\r\n onChange={(event, type) => {\r\n setCpfCnpj(event.target.value);\r\n setMask(type === \"CPF\");\r\n }} />\r\n \r\n \r\n }\r\n {!!dadosEstrangeiro &&\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {!pessoaJuridica &&\r\n <>\r\n \r\n \r\n \r\n Feminino\r\n Masculino\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n carregarCidades(UfEstado)} onChangeFunction={(UfEstado) => carregarCidades(UfEstado)}\r\n conteudo={\r\n est => (\r\n {est.est_sigla} - {est.est_descricao})\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n ({cid.cid_id} - {cid.cid_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n {/* colocado no endereço quando produtor Rural \r\n {produtorRural && !pessoaJuridica &&\r\n \r\n \r\n {\r\n !!campo.currentTarget.value ? formulario.setFieldsValue({ cli_clientecontribuinteicms: true }) : formulario.setFieldsValue({ cli_clientecontribuinteicms: false })\r\n }} />\r\n \r\n \r\n } */}\r\n {pessoaJuridica &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n !!campo.currentTarget.value ? formulario.setFieldsValue({ cli_clientecontribuinteicms: true }) : formulario.setFieldsValue({ cli_clientecontribuinteicms: false })\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n É Órgão Público?\r\n \r\n \r\n \r\n \r\n Cliente Ativo? \r\n \r\n \r\n \r\n \r\n Contribuinte ICMS? \r\n \r\n \r\n \r\n \r\n { setProdutorRural(!produtorRural) }}> Produtor Rural \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Informações Informações Financeiras\r\n \r\n \r\n Adicione as informações financeiras aqui.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Não protestar? \r\n \r\n \r\n \r\n \r\n Venda somente a vista? \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Percentual de Desconto (%) \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pessoaJuridica &&\r\n \r\n \r\n Baixado da Receita? \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {!!orgaoPublico &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!dadosEstrangeiro &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Campos Campos Adicionais\r\n \r\n \r\n Adicione abaixo as informações adicionais.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Table, Modal } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { FiltroProdutoOrcamento } from \"../../components\";\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function TabItens({ form, dadosItens, carregarPagina }) {\r\n\r\n const [quantidadeItens, setQuantidadeItens] = useState(0);\r\n const [valorTotal, setValorTotal] = useState(0);\r\n const [editando, setEditando] = useState(false);\r\n const [dadosEditando, setDadosEditando] = useState({});\r\n\r\n useEffect(() => {\r\n if (dadosItens.listaProduto.length > 0) {\r\n let total = 0;\r\n setQuantidadeItens(dadosItens.listaProduto.length);\r\n dadosItens.listaProduto.forEach((item) => {\r\n total += parseFloat(item.oit_qtde * item.oit_valorunitario);\r\n });\r\n setValorTotal(total);\r\n } else {\r\n setQuantidadeItens(0);\r\n setValorTotal(0);\r\n }\r\n }, [dadosItens.listaProduto]);\r\n\r\n function editarItem(registro) {\r\n setDadosEditando(registro);\r\n setEditando(true);\r\n };\r\n\r\n function removerItem(record) {\r\n Modal.confirm({\r\n title: 'Aviso!',\r\n icon: ,\r\n content: 'Deseja remover o item da nota?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n let dadosTemp = [...dadosItens.listaProduto];\r\n let dadosRet = dadosTemp.filter((item) => (item.pro_ean !== record.pro_ean || item.prg_ean !== record.prg_ean));\r\n dadosItens.setListaProduto(dadosRet);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {!!dadosItens.listaProduto && dadosItens.listaProduto.length > 0 &&
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n {pro_descricao}\r\n \r\n \r\n \r\n \r\n EAN: {!!pro_ean ? pro_ean : prg_ean}\r\n \r\n \r\n Grade: {grade}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 40,\r\n align: 'center',\r\n render: ({ oit_qtde }) => (\r\n
\r\n {FormatNumber(oit_qtde, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 50,\r\n render: ({ oit_valorunitario }) => (\r\n
\r\n {FormatNumber(oit_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 60,\r\n render: ({ total, oit_qtde, oit_valorunitario }) => (\r\n
\r\n {FormatNumber((oit_qtde * oit_valorunitario), true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 40,\r\n fixed: 'right',\r\n render: (record, e, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n Quantidade Itens:\r\n \r\n \r\n {quantidadeItens}\r\n \r\n \r\n \r\n \r\n Valor Total dos Itens (R$):\r\n \r\n \r\n {FormatNumber(valorTotal, true)}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Typography, Row, Col, Form, Divider, InputNumber, Card, notification, Button, Radio, Select, Table } from \"antd\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { validarNumeros } from \"../../services/funcoes\";\r\nimport { InputPreco, } from \"../../components\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, CloseOutlined, SearchOutlined, BarcodeOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { TabelaDados, Tabela } from \"../../components\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport SelectPaginado from \"../../components/selectPaginado\";\r\n\r\nexport default function TabFaturamentoNovo({ form, dadosItens, dadosVendedor, orcamento }) {\r\n\r\n const [valorOrcamento, setValorOrcamento] = useState(0);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [condicaoPagamento, setCondicaoPagamento] = useState([]);\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n\r\n useEffect(() => {\r\n calcularFaturamento();\r\n if (orcamento != null) {\r\n setExibirDetalhes(true);\r\n } else {\r\n setExibirDetalhes(false);\r\n }\r\n }, [manutencao.dados])\r\n\r\n useEffect(() => {\r\n recalcularTotal();\r\n formasPagamento();\r\n }, [valorOrcamento]);\r\n\r\n function formasPagamento() {\r\n let pagamento = [...orcamento.orcamentoFormaPagamento];\r\n let dados = pagamento;\r\n let formulario = form.getFieldValue();\r\n dados.forEach((itens) => {\r\n let total = validarNumeros(formulario.valorTotal);\r\n let acrescimo = (itens.orf_percentualacrescimo * total)/100;\r\n let desconto = (itens.orf_percentualdesconto * total)/100;\r\n\r\n itens.total = total;\r\n itens.valoracrescimo = acrescimo;\r\n itens.valordesconto = desconto;\r\n itens.valorPagamento = (total + acrescimo) - desconto;\r\n })\r\n orcamento.setOrcamentoFormaPagamento(dados);\r\n };\r\n\r\n function desconto() {\r\n let formulario = form.getFieldValue();\r\n let desconto = 0;\r\n let acrescimo = 0;\r\n if (formulario.valorTotal < formulario.totalItens) {\r\n desconto = (formulario.totalItens - formulario.valorTotal);\r\n form.setFieldsValue({ valorDesconto: desconto.toFixed(2) });\r\n form.setFieldsValue({ valorAcrescimo: 0 });\r\n calcularAcrescimo(\"VALOR\");\r\n calcularDesconto(\"VALOR\");\r\n }\r\n if (formulario.valorTotal > formulario.totalItens) {\r\n acrescimo = (formulario.valorTotal - formulario.totalItens);\r\n form.setFieldsValue({ valorAcrescimo: acrescimo.toFixed(2) });\r\n form.setFieldsValue({ valorDesconto: 0 });\r\n calcularAcrescimo(\"VALOR\");\r\n calcularDesconto(\"VALOR\");\r\n }\r\n }\r\n\r\n function calcularFaturamento() {\r\n let formulario = form.getFieldValue();\r\n let totalItens = 0;\r\n dadosItens.forEach((item) => {\r\n totalItens += item.oit_qtde * item.oit_valorunitario;\r\n });\r\n form.setFieldsValue({ totalItens: totalItens.toFixed(2) });\r\n form.setFieldsValue({ orc_valorfrete: validarNumeros(formulario.orc_valorfrete) });\r\n form.setFieldsValue({ valorSeguro: validarNumeros(formulario.valorSeguro) });\r\n form.setFieldsValue({ orc_valoroutros: validarNumeros(formulario.orc_valoroutros) })\r\n setValorOrcamento(parseFloat(totalItens));\r\n };\r\n\r\n function calcularDesconto(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorDesconto);\r\n let perc = validarNumeros(formulario.orf_percentualdesconto);\r\n let tot = parseFloat(valorOrcamento);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorDesconto: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ orf_percentualdesconto: result.toFixed(2) });\r\n }\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function calcularAcrescimo(campo) {\r\n let formulario = form.getFieldValue();\r\n let valor = validarNumeros(formulario.valorAcrescimo);\r\n let perc = validarNumeros(formulario.orf_percentualacrescimo);\r\n let tot = (!!valorOrcamento ? parseFloat(valorOrcamento) : 0);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ valorAcrescimo: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ orf_percentualacrescimo: result.toFixed(2) });\r\n }\r\n }\r\n recalcularTotal();\r\n };\r\n\r\n function recalcularTotal() {\r\n let formulario = form.getFieldValue();\r\n let valor = 0;\r\n let subTotal = 0;\r\n if (!!formulario) {\r\n valor = (valorOrcamento - validarNumeros(formulario.valorDesconto) + validarNumeros(formulario.valorAcrescimo)\r\n + validarNumeros(formulario.orc_valorfrete) + validarNumeros(formulario.valorSeguro) + validarNumeros(formulario.orc_valoroutros)\r\n );\r\n subTotal = (valorOrcamento + validarNumeros(formulario.orc_valorfrete) + validarNumeros(formulario.valorSeguro) + validarNumeros(formulario.orc_valoroutros)\r\n );\r\n form.setFieldsValue({ valorTotal: valor.toFixed(2), subTotal: subTotal.toFixed(2) });\r\n let valorPago = 0;\r\n if (!!manutencao.dados && !!manutencao.dados.faturamento) {\r\n manutencao.dados.faturamento.forEach((dadosFat) => {\r\n valorPago += parseFloat(dadosFat.pfp_valor);\r\n });\r\n }\r\n form.setFieldsValue({ pfp_valor: (valor - valorPago).toFixed(2) });\r\n }\r\n };\r\n\r\n function vendedorDescMaxFinal() {\r\n let totalDesconto = 0;\r\n let totalValorDescontoItens = 0;\r\n dadosItens.forEach((itens) => {\r\n totalValorDescontoItens += parseFloat(itens.nfi_valordesconto);\r\n });\r\n let percentualDescontoConcedido = parseFloat(((totalValorDescontoItens * 100) / parseFloat(form.getFieldsValue().totalItens)).toFixed(2));\r\n totalDesconto = percentualDescontoConcedido + parseFloat(form.getFieldValue().orf_percentualdesconto);\r\n if (!!dadosVendedor && JSON.stringify(dadosVendedor) !== '{}' && !!dadosVendedor.ven_maximodesconto) {\r\n if (totalDesconto > (dadosVendedor.ven_maximodesconto * 100)) {\r\n notification.warning({ description: `O desconto máximo para este vendedor não pode exceder ${dadosVendedor.ven_maximodesconto * 100}% !`, message: 'Aviso' });\r\n form.setFieldsValue({ orf_percentualdesconto: (dadosVendedor.ven_maximodesconto * 100) - parseFloat(percentualDescontoConcedido) });\r\n calcularDesconto('PERC');\r\n }\r\n }\r\n };\r\n\r\n function listarCondicao(fpg_id) {\r\n api.get(`CondicaoPagamento/Listar?codigoFormaPagamento=${fpg_id}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setCondicaoPagamento(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n //não mecher daqui pra cima realiza os calculos que ja estão certos\r\n\r\n async function adicionarLista() {\r\n let dadosTemp = [...orcamento.orcamentoFormaPagamento];\r\n let dados = {};\r\n let campo = form.getFieldsValue();\r\n if (!campo.fpg_id) {\r\n notification.warning({ message: 'Aviso', description: 'Informe uma forma de pagamento!' });\r\n } if (campo.fpg_id != null && !campo.cpg_id) {\r\n notification.warning({ message: 'Aviso', description: 'Informe uma condição de pagamento!' });\r\n } else {\r\n var condicao = condicaoPagamento.find(item => item.cpg_id === form.getFieldValue().cpg_id);\r\n //var condicao = await api.get(`CondicaoPagamneto/Listar?codigoCondicaoPagamento=${form.getFieldValue().cpg_id}`);\r\n var forma = await api.get(`FormaPagamento/Get?id=${form.getFieldValue().fpg_id}`);\r\n dados.key = dadosTemp.length + 1;\r\n dados.orc_id = form.getFieldValue().orc_id;\r\n dados.fpg_id = form.getFieldValue().fpg_id;\r\n dados.fpg_descricao = forma.data.fpg_descricao;\r\n dados.cpg_id = form.getFieldValue().cpg_id;\r\n dados.cpg_descricao = condicao.cpg_descricao;\r\n dados.orf_percentualacrescimo = form.getFieldValue().orf_percentualacrescimo;\r\n dados.orf_percentualdesconto = form.getFieldValue().orf_percentualdesconto;\r\n dados.valoritens = form.getFieldValue().totalItens;\r\n dados.valordesconto = parseFloat(FormatNumber(form.getFieldValue().valorDesconto));\r\n dados.valoracrescimo = parseFloat(FormatNumber(form.getFieldValue().valorAcrescimo));\r\n dados.valorPagamento = parseFloat(form.getFieldValue().valorTotal);\r\n\r\n dadosTemp.push(dados); //adiciona os dados do novo orcamento a um array\r\n //dados.key = retornaSequencial(dadosTemp); //seta o key no orcamento cadastrado\r\n orcamento.setOrcamentoFormaPagamento(dadosTemp); //adiciona os dados temporarios a lista de orcamentos\r\n }\r\n setExibirDetalhes(true);\r\n limparCampos();\r\n recalcularTotal();\r\n };\r\n\r\n function cancelar() {\r\n limparCampos();\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({\r\n fpg_id: null, cpg_id: null, orf_percentualdesconto: 0, orf_percentualacrescimo: 0,// orc_valorfrete: 0, orc_valoroutros: 0, \r\n valorAcrescimo: 0, valorDesconto: 0\r\n });\r\n };\r\n\r\n function editarItem(registro) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro, listaSelectPaginacao: [...manutencao.listaSelectPaginacao] } });\r\n };\r\n\r\n function removerItem(item) {\r\n let dadosTemp = [...orcamento.orcamentoFormaPagamento];\r\n dadosTemp = dadosTemp.filter((dados) => dados !== item);\r\n orcamento.setOrcamentoFormaPagamento(dadosTemp);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Totais do Orcamento\r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n { recalcularTotal(); }}\r\n />\r\n \r\n \r\n { recalcularTotal(); }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Total Orcamento (R$)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { listarCondicao(registro) }} conteudo={\r\n fp => ({fp.fpg_descricao})\r\n } />\r\n \r\n \r\n {\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onBlur={() => { vendedorDescMaxFinal(); }}\r\n onChange={() => { calcularDesconto('PERC'); }}\r\n />\r\n \r\n \r\n \r\n { vendedorDescMaxFinal(); }} onChange={() => { calcularDesconto('VALOR'); }} />\r\n \r\n \r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n onChange={() => { calcularAcrescimo('PERC') }}\r\n />\r\n \r\n \r\n \r\n { calcularAcrescimo('VALOR') }}\r\n />\r\n \r\n \r\n { desconto('') }}\r\n defaultValue={\"valorTotal\"} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n {!!orcamento.orcamentoFormaPagamento && orcamento.orcamentoFormaPagamento.length > 0 &&\r\n
(\r\n
\r\n {fpg_descricao + \" / \" + cpg_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Desconto (R$)',\r\n width: 90,\r\n align: 'right',\r\n render: ({ valordesconto }) => (\r\n
\r\n {FormatNumber(valordesconto, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Acréscimo (R$)',\r\n width: 90,\r\n align: 'right',\r\n render: ({ valoracrescimo }) => (\r\n
\r\n {FormatNumber(valoracrescimo, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n width: 90,\r\n align: 'right',\r\n render: ({ valorPagamento }) => (\r\n
\r\n {FormatNumber(valorPagamento, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n width: 60,\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n buscarDadosCliente(dados)} conteudo={\r\n cli => ( {cli.pes_nome}
\r\n {(!!cli.pej_cnpj ? `CNPJ.: ${MaskFormat(cli.pej_cnpj, '', true)}` : !!cli.pef_cpf ? `CPF.: ${MaskFormat(cli.pef_cpf, '', true)}` : '')}\r\n
)\r\n } />\r\n
\r\n \r\n \r\n \r\n {pessoaFisica === 1 &&\r\n \r\n }\r\n {pessoaFisica === 2 &&\r\n \r\n }\r\n {pessoaFisica === 3 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({v.pes_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setTagPages(e)} current={pages.tagPages}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pages.tagPages === 0 &&\r\n \r\n }\r\n {pages.tagPages === 1 &&\r\n \r\n }\r\n \r\n \r\n \r\n );\r\n\r\n}","import React,{ useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined, LeftOutlined, RightOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoOrcamento from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function Drawer({ carregarDados, alteraData, cliente, vendedor, showDrawerExtra, listaOrcamento, setShowDrawerExtra }) {\r\n\r\n const [ formOrcamento ] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [ carregando, setCarregando ] = useState(false);\r\n const [proximaPag, setProximaPag] = useState(0);\r\n const [tagPages, setTagPages] = useState(null);\r\n \r\n if (manutencao.dados !== null) formOrcamento.setFieldsValue(manutencao.dados);\r\n else {\r\n formOrcamento.resetFields();\r\n }\r\n\r\n function fecharDrawer() {\r\n formOrcamento.resetFields();\r\n setTagPages(0);\r\n setProximaPag(null);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null}});\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false}});\r\n carregarDados();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n formOrcamento.resetFields();\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n destroyOnClose={true}\r\n fecharDrawer={() => {fecharDrawer()}}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }> \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Select, InputNumber, Modal } from \"antd\";\r\nimport { InputPercentual } from '../../components';\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport api from \"../../services/api\";\r\n\r\nexport default function TabEntrada({ formulario }) {\r\n\r\n const [listaCstPisCofins, setListaCSTPisCofins] = useState([]);\r\n const [cstpispj, setcstpispj] = useState(null);\r\n const [cstcofinspj, setcstcofinspj] = useState(null);\r\n const [cstpispf, setcstpispf] = useState(null);\r\n const [cstcofinspf, setcstcofinspf] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!!formulario.getFieldValue(['cpc_entradacstpispj', 'cpc_id'])) {\r\n setcstpispj(formulario.getFieldValue(['cpc_entradacstpispj', 'cpc_id']));\r\n }\r\n\r\n if (!!formulario.getFieldValue(['cpc_entradacstcofinspj', 'cpc_id'])) {\r\n setcstcofinspj(formulario.getFieldValue(['cpc_entradacstcofinspj', 'cpc_id']));\r\n }\r\n\r\n if (!!formulario.getFieldValue(['cpc_entradacstpispf', 'cpc_id'])) {\r\n setcstpispf(formulario.getFieldValue(['cpc_entradacstpispf', 'cpc_id']));\r\n }\r\n\r\n if (!!formulario.getFieldValue(['cpc_entradacstcofinspf', 'cpc_id'])) {\r\n setcstcofinspf(formulario.getFieldValue(['cpc_entradacstcofinspf', 'cpc_id']));\r\n }\r\n api.get(`CstPisCofins/ListarEntradaSaida?tipo=E`).then(\r\n res => {\r\n setListaCSTPisCofins(res.data);\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (cstpispj && cstcofinspj)\r\n if (cstpispj !== cstcofinspj)\r\n Modal.warning({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: 'Os CST estão diferentes, normalmente o CST PIS e COFINS devem ser iguais - Verifique a situação!',\r\n okText: 'Ok',\r\n });\r\n }, [cstpispj, cstcofinspj]);\r\n\r\n useEffect(() => {\r\n if (cstpispf && cstcofinspf)\r\n if (cstpispf !== cstcofinspf)\r\n Modal.warning({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: 'Os CST estão diferentes, normalmente o CST PIS e COFINS devem ser iguais - Verifique a situação!',\r\n okText: 'Ok',\r\n });\r\n }, [cstpispf, cstcofinspf]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Entradas\" Entradas\r\n \r\n \r\n Defina a configuração do PIS e da COFINS para as entradas.\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setcstpispj(valor);\r\n if (formulario.getFieldValue(['cpc_entradacstpispj', 'cpc_id']) > 69 && formulario.getFieldValue(['cpc_entradacstpispj', 'cpc_id']) < 76)\r\n formulario.setFieldsValue({ pis_entradapercredbcpispj: 0, pis_entradapercpispj: 0 })\r\n }}>\r\n {listaCstPisCofins.map((item) => (\r\n {item.cpc_id} - {item.cpc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n 69 && cstpispj < 76}\r\n label=\"% Redução Base de Cálculo\"\r\n name=\"pis_entradapercredbcpispj\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 69 && cstpispj < 76}\r\n label=\"% Alíquota do PIS\"\r\n name=\"pis_entradapercpispj\"\r\n rules={[{ required: (cstpispj < 70 && cstpispj != null) ? true : false, message: 'Informe o % alíquota do PIS' }]}\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 0, message: 'Selecione um CST da COFINS' }]}>\r\n {\r\n setcstcofinspj(valor);\r\n if (formulario.getFieldValue(['cpc_entradacstcofinspj', 'cpc_id']) > 69 && formulario.getFieldValue(['cpc_entradacstcofinspj', 'cpc_id']) < 76)\r\n formulario.setFieldsValue({ pis_entradapercredbccofinspj: 0, pis_entradaperccofinspj: 0 })\r\n }}>\r\n {listaCstPisCofins.map((item) => (\r\n {item.cpc_id} - {item.cpc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n 69 && cstcofinspj < 76}\r\n label=\"% Redução Base de Cálculo\"\r\n name=\"pis_entradapercredbccofinspj\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 69 && cstcofinspj < 76}\r\n label=\"% Alíquota da COFINS\"\r\n rules={[{ required: (cstcofinspj < 70 && cstcofinspj != null) ? true : false, message: 'Informe o % alíquota do COFINS' }]}\r\n name=\"pis_entradaperccofinspj\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n \r\n {\r\n setcstpispf(valor);\r\n if (formulario.getFieldValue(['cpc_entradacstpispf', 'cpc_id']) > 69 && formulario.getFieldValue(['cpc_entradacstpispf', 'cpc_id']) < 76) formulario.setFieldsValue({ pis_entradapercredbcpispf: 0, pis_entradapercpispf: 0 })\r\n }}>\r\n {listaCstPisCofins.map((item) => (\r\n {item.cpc_id} - {item.cpc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n 69 && cstpispf < 76}\r\n label=\"% Redução Base de Cálculo\"\r\n name=\"pis_entradapercredbcpispf\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 69 && cstpispf < 76}\r\n label=\"% Alíquota do PIS\"\r\n name=\"pis_entradapercpispf\"\r\n rules={[{ required: (cstpispf < 70 && cstpispf != null) ? true : false, message: 'Informe o % alíquota do PIS' }]}\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 0, message: 'Selecione um CST da COFINS' }]}>\r\n {\r\n setcstcofinspf(valor);\r\n if (formulario.getFieldValue(['cpc_entradacstcofinspf', 'cpc_id']) > 69 && formulario.getFieldValue(['cpc_entradacstcofinspf', 'cpc_id']) < 76) formulario.setFieldsValue({ pis_entradapercredbccofinspf: 0, pis_entradaperccofinspf: 0 })\r\n }}>\r\n {listaCstPisCofins.map((item) => (\r\n {item.cpc_id} - {item.cpc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n 69 && cstcofinspf < 76}\r\n label=\"% Redução Base de Cálculo\"\r\n name=\"pis_entradapercredbccofinspf\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 69 && cstcofinspj < 76}\r\n label=\"% Alíquota do COFINS\"\r\n rules={[{ required: (cstcofinspf < 70 && cstcofinspf != null) ? true : false, message: 'Informe o % alíquota do COFINS' }]}\r\n name=\"pis_entradaperccofinspf\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Typography, Divider, Select, InputNumber, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\nimport { InputPercentual } from '../../components';\r\n\r\nimport api from \"../../services/api\";\r\n\r\nexport default function TabSaida({ formulario }) {\r\n\r\n const [listaCstPisCofins, setListaCSTPisCofins] = useState([]);\r\n const [listaNaturezaEfd, setListaNaturezaEfd] = useState([]);\r\n const [naturezaReceita, setNaturezaReceita] = useState(null);\r\n const [cstcofins, setcofins] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!!formulario.getFieldValue(['cpc_saidacstpis', 'cpc_id']))\r\n setNaturezaReceita(formulario.getFieldValue(['cpc_saidacstpis', 'cpc_id']));\r\n\r\n if (!!formulario.getFieldValue(['cpc_saidacstcofins', 'cpc_id']))\r\n setcofins(formulario.getFieldValue(['cpc_saidacstcofins', 'cpc_id']));\r\n\r\n api.get(`CstPisCofins/ListarEntradaSaida?tipo=S`).then(\r\n res => {\r\n setListaCSTPisCofins(res.data);\r\n })\r\n }, [])\r\n\r\n useEffect(() => {\r\n api.get(`NaturezaReceitaEfd/Listar?cstPis=${naturezaReceita}&cstCofins=${naturezaReceita}`).then(\r\n res => {\r\n setListaNaturezaEfd(res.data.items);\r\n })\r\n }, [naturezaReceita]);\r\n\r\n useEffect(() => {\r\n if (cstcofins && naturezaReceita)\r\n if (cstcofins !== naturezaReceita)\r\n Modal.warning({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: 'Os CST estão diferentes, normalmente o CST PIS e COFINS devem ser iguais - Verifique a situação!',\r\n okText: 'Ok',\r\n });\r\n }, [cstcofins, naturezaReceita]);\r\n\r\n return (\r\n\r\n
\r\n \r\n
\r\n \r\n \"Saídas\" Saídas\r\n \r\n \r\n Defina a configuração do PIS e da COFINS para as saídas.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 3}\r\n label=\"% Redução Base de Cálculo\"\r\n name=\"pis_saidapercredbcpis\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 3}\r\n label=\"% Alíquota do PIS\"\r\n rules={[{ required: (naturezaReceita <= 3) ? true : false, message: 'Informe o % alíquota do PIS' }]}\r\n name=\"pis_saidapercpis\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 0), message: 'Informe o CST da COFINS' }]}>\r\n {\r\n setcofins(valor);\r\n if (formulario.getFieldValue(['cpc_saidacstcofins', 'cpc_id']) > 3) formulario.setFieldsValue({ pis_saidapercredbccofins: 0, pis_saidaperccofins: 0 })\r\n }}>\r\n {listaCstPisCofins.map((item) => (\r\n {item.cpc_id} - {item.cpc_descricao}\r\n ))}\r\n \r\n \r\n \r\n \r\n 3}\r\n label=\"% Redução Base de Cálculo\"\r\n name=\"pis_saidapercredbccofins\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n 3}\r\n label=\"% Alíquota do COFINS\"\r\n rules={[{ required: (naturezaReceita <= 3) ? true : false, message: 'Informe o % alíquota do COFINS' }]}\r\n name=\"pis_saidaperccofins\"\r\n defaultValue={0}\r\n min={0}\r\n max={100}\r\n />\r\n \r\n \r\n prevValues.cpc_saidacstpis !== currentValues.cpc_saidacstpis}>\r\n {({ getFieldValue }) => {\r\n if (getFieldValue(['cpc_saidacstpis', 'cpc_id']) > 3 && getFieldValue(['cpc_saidacstpis', 'cpc_id']) < 49)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, notification, Modal } from \"antd\";\r\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from \"../../actions\";\r\nimport { TabEntrada, TabSaida } from \"./tabPage\";\r\n\r\nexport default function ManutencaoTributacaoPisCofins({ formulario, carregando, aoSalvar }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const salvarTributacaoPisCofins = (values) => {\r\n\r\n\r\n if (!!values.pis_id && !!values.nat_id) {\r\n if (values.cpc_saidacstpis.cpc_id > 3) {\r\n values.nat_id = values.nat_id;//.map((x) => ({ nat_id: x }));\r\n }\r\n }\r\n\r\n if (!!!values.cpc_saidacstpis.cpc_id && !!!values.cpc_saidacstcofins.cpc_id && // não é permitido informar somente a descrição da tributação \r\n !!!values.cpc_entradacstcofinspf.cpc_id && !!!values.cpc_entradacstpispf.cpc_id\r\n && !!!values.cpc_entradacstpispj.cpc_id && !!!values.cpc_entradacstcofinspj.cpc_id) {\r\n carregando(false);\r\n Modal.warning({\r\n title: 'Atenção!',\r\n icon: ,\r\n content: 'Você deve informar ao menos uma configuração do PIS e da COFINS!',\r\n okText: 'Ok',\r\n });\r\n } else {\r\n values.cpc_entradacstcofinspf = !!values.cpc_entradacstcofinspf.cpc_id ? values.cpc_entradacstcofinspf.cpc_id : null;\r\n values.cpc_entradacstcofinspj = !!values.cpc_entradacstcofinspj.cpc_id ? values.cpc_entradacstcofinspj.cpc_id : null;\r\n values.cpc_entradacstpispf = !!values.cpc_entradacstpispf.cpc_id ? values.cpc_entradacstpispf.cpc_id : null;\r\n values.cpc_entradacstpispj = !!values.cpc_entradacstpispj.cpc_id ? values.cpc_entradacstpispj.cpc_id : null;\r\n values.cpc_saidacstcofins = !!values.cpc_saidacstcofins.cpc_id ? values.cpc_saidacstcofins.cpc_id : null;\r\n values.cpc_saidacstpis = !!values.cpc_saidacstpis.cpc_id ? values.cpc_saidacstpis.cpc_id : null;\r\n carregando(true);\r\n if (!!values.pis_id) {\r\n api.put(`TributacaoPisCofins/Editar`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: `Os dados da Tributação foram editados com sucesso!` });\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }).finally(() => {\r\n carregando(false);\r\n aoSalvar();\r\n formulario.resetFields();\r\n });\r\n } else {\r\n api.post(`TributacaoPisCofins/Incluir`, values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: `Os dados da Tributação foram adicionados com sucesso!` });\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }).finally(() => {\r\n carregando(false);\r\n aoSalvar();\r\n formulario.resetFields();\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoTributacaoPisCofins from './manutencao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerTributacaoPisCofins() {\r\n\r\n const [formTributacaoPisCofins] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formTributacaoPisCofins.setFieldsValue(manutencao.dados);\r\n }\r\n else {\r\n formTributacaoPisCofins.setFieldsValue({ pis_ativo: true });\r\n }\r\n\r\n function fecharDrawer() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pis_descricao'}})\r\n formTributacaoPisCofins.resetFields();\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n destroyOnClose={true}\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Row, Col, Input, Checkbox, Typography, Divider, Button, Table, Modal, notification } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { FormGW } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { ModalTributacaoIcms } from \"../../components/modals/\";\r\n\r\nexport default function ManutencaoTributacaoIcms({ formulario, carregando, aoSalvar }) {\r\n\r\n const [formModal] = Form.useForm();\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openModal, setOpenModal] = useState(false);\r\n const [listaOrigemDestino, setListaOrigemDestino] = useState([]);\r\n const [dadosOrigemDestino, setDadosOrigemDestino] = useState([]);\r\n\r\n const modalExcluir = (item) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n removerRegistro(item);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => carregaDados(), [])\r\n\r\n useEffect(() => {\r\n if (!!dadosOrigemDestino && dadosOrigemDestino.length > 0) {\r\n let list = [...listaOrigemDestino];\r\n let index = null;\r\n dadosOrigemDestino.forEach((item) => {\r\n if (!!item.iod_id) {\r\n index = list.findIndex(x => x.iod_id === item.iod_id);\r\n list[index] = item;\r\n } else {\r\n if (!!item.iod_novo) {\r\n index = list.findIndex(x => x.iod_novo === item.iod_novo);\r\n list[index] = item;\r\n } else {\r\n let possuiRegistro = list.find(x => x.iod_ufdestino === item.iod_ufdestino);\r\n if (possuiRegistro) {\r\n notification.error({ message: 'Já possui registro com a UF destino ' + item.iod_ufdestino });\r\n } else {\r\n item.iod_novo = item.key;\r\n list.push(item);\r\n }\r\n }\r\n }\r\n });\r\n setListaOrigemDestino(list);\r\n }\r\n }, [dadosOrigemDestino])\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && manutencao.dados.duplicar) {\r\n formulario.setFieldsValue({ icm_id: null });\r\n }\r\n }, [manutencao.dados]);\r\n\r\n function atualizarPagina() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } });\r\n };\r\n\r\n\r\n function carregaDados() {\r\n if (!!formulario.getFieldValue().icm_id) {\r\n api.get(`TributacaoIcms/Buscar/${formulario.getFieldValue().icm_id}`).then(\r\n res => {\r\n setListaOrigemDestino(res.data.icmsorigemdestinos);\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n carregando(false)\r\n }\r\n );\r\n }\r\n }\r\n\r\n function removerRegistro(registro) {\r\n if (!!registro.iod_id) {\r\n api.delete(`icmsOrigemDestino/Excluir/${registro.iod_id}`).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados da Origem Destino foram excluídos com sucesso!\" });\r\n let lista = [...listaOrigemDestino];\r\n let index = lista.findIndex(i => i.iod_id === registro.iod_id);\r\n lista.splice(index, 1);\r\n setListaOrigemDestino(lista);\r\n }).catch(\r\n erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => carregando(false)\r\n );\r\n } else if (registro.iod_novo !== undefined) {\r\n let list = [...listaOrigemDestino];\r\n let listaTemp = list.filter((item) => (item.iod_novo !== registro.iod_novo));\r\n let iod = 0;\r\n listaTemp.forEach((item) => {\r\n item.iod_novo = iod++;\r\n item.key = iod++;\r\n });\r\n setListaOrigemDestino(listaTemp);\r\n }\r\n }\r\n\r\n function salvarManutencao(values) {\r\n values.icmsorigemdestinos = listaOrigemDestino;\r\n carregando(true);\r\n if (values.icm_id) {\r\n editarManutencao(values);\r\n } else {\r\n incluirManutencao(values)\r\n }\r\n };\r\n\r\n function editarManutencao(values) {\r\n api.put('TributacaoICMS/Editar', values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do ICMS foram salvos com sucesso!\" });\r\n aoSalvar();\r\n atualizarPagina();\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n function incluirManutencao(values) {\r\n api.post('TributacaoIcms/Incluir', values).then(\r\n res => {\r\n notification.success({ message: 'Operação concluída', description: \"Os dados do ICMS foram salvos com sucesso!\" });\r\n aoSalvar();\r\n atualizarPagina();\r\n }).catch(\r\n err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(\r\n () => {\r\n atualizarPagina();\r\n carregando(false);\r\n aoSalvar();\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Tributação Ativa\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \"Dados Dados de Origem e Destino\r\n \r\n \r\n Defina as Informações de Origem e Destino aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n
\r\n {iod_uforigem}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'UF Destino',\r\n align: 'center',\r\n render: ({ iod_ufdestino }) => (\r\n
\r\n {iod_ufdestino}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CSOSN/CST',\r\n align: 'center',\r\n render: ({ cso_id, cst_id }) => (\r\n
\r\n {!!cso_id ? cso_id : cst_id}\r\n
\r\n ),\r\n },\r\n {\r\n title: '% ICMS',\r\n align: 'center',\r\n render: ({ iod_percicms }) => (\r\n
\r\n \r\n
\r\n {iod_percicms}%\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: '% Diferimento',\r\n align: 'center',\r\n render: ({ iod_percdiferimentoicms }) => (\r\n
\r\n {iod_percdiferimentoicms}%\r\n
\r\n ),\r\n },\r\n {\r\n title: '% Redução BC',\r\n align: 'center',\r\n render: ({ iod_percicmsreducaobc }) => (\r\n
\r\n {iod_percicmsreducaobc}%\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n render: (item) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }} />\r\n \r\n setOpenModal(false)} dados={dadosOrigemDestino} setDados={setDadosOrigemDestino} formulario={formModal} listaOrigemDestino={listaOrigemDestino} /> \r\n \r\n \r\n );\r\n\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Modal, Form } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { DrawerNav } from '../../components';\r\nimport ManutencaoTributacaoIcms from './manutencao';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nexport default function DrawerTributacaoIcms() {\r\n\r\n const [formTributacaoIcms] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n if (manutencao.dados !== null) {\r\n formTributacaoIcms.setFieldsValue(manutencao.dados);\r\n } else {\r\n formTributacaoIcms.setFieldsValue({ icm_ativo: true });\r\n }\r\n\r\n\r\n function fecharDrawer() {\r\n formTributacaoIcms.resetFields();\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false } });\r\n }\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Form, Select, Input, Button, Table, Tag, Modal, Switch, InputNumber, Checkbox, Radio } from \"antd\";\r\nimport { CloseOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined, PlusOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormGW, SelectPaginacao, SelectProduto } from \"../../components\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { drawerActions, manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { ModalGradeProduto } from \"../../components/modals\";\r\nimport { substituirCaracterEspecial } from \"../../services/funcoes\";\r\nimport { imprimirRawBase64 } from \"../../services/servidorImpressora\";\r\n\r\nexport default function ImprimirImpEtiqueta({ config }) {\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [formulario] = Form.useForm();\r\n const [listaPreco, setListaPreco] = useState([]);\r\n const [listaProduto, setListaProduto] = useState([]);\r\n const [listaModelo, setListaModelo] = useState([]);\r\n const [listaItens, setListaItens] = useState([]);\r\n const [dadosGrade, setDadosGrade] = useState([]);\r\n const [abrirModalGrade, setAbrirModalGrade] = useState(false);\r\n const [dadosAdicionais, setDadosAdicionais] = useState(false);\r\n\r\n const modalExcluirItem = (record) => {\r\n Modal.confirm({\r\n title: 'Remover?',\r\n icon: ,\r\n content: `Deseja realmente remover o item selecionado?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n removerItem(record);\r\n }\r\n });\r\n };\r\n\r\n const modalImprimir = (record) => {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Confirma a Impressão das Etiquetas?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n montarEtiqueta(record);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n // buscarProdutos();\r\n buscarModelo();\r\n formulario.setFieldsValue({ modelo: config.modeloEtiqueta.met_id });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.dadosGrade) {\r\n buscarDadosGradeModal();\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!listaSelectPaginacao?.itens) {\r\n setListaProduto(listaSelectPaginacao?.itens);\r\n }\r\n\r\n }, [listaSelectPaginacao?.itens])\r\n\r\n function buscarModelo() {\r\n api.get(`ModeloEtiqueta/Listar?filtro=&ordem=%2Bmet_descricao`).then(\r\n res => {\r\n let dados = res.data.items;\r\n setListaModelo(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function popularDadosProduto(keyProd) {\r\n let listaItens = [...listaSelectPaginacao?.itens];\r\n //let produto = listaProduto.filter((prod) => (prod.pro_id === pro_id))[0];\r\n let produto = listaItens.find((prod) => prod.key === keyProd);\r\n if (!!produto.prg_id) {\r\n buscarGrade(produto.pro_id)\r\n }\r\n };\r\n\r\n async function buscarGrade(produto) {\r\n let grade = await api.get(`ProdutoGrade/ListarGradesProdutos?codigoProduto=${produto}`);\r\n\r\n if (!!grade.data && grade.data.length > 0) {\r\n setAbrirModalGrade(true);\r\n setDadosGrade(grade.data);\r\n }\r\n };\r\n\r\n function buscarDadosGradeModal() {\r\n let produtoGrade = manutencao.dados.dadosGrade.filter((produto) => (produto.quantidade > 0));\r\n let produtosIncluir = [...listaItens];\r\n produtoGrade.forEach(prodGrade => {\r\n let produto = listaProduto.filter((prod) => (prod.prg_id === prodGrade.prg_id))[0];\r\n produto.lpi_valorvenda = prodGrade.valorVenda;\r\n produto.quantidade = prodGrade.quantidade;\r\n produto.sequencia = !!produtosIncluir.length > 0 ? produtosIncluir[produtosIncluir.length - 1].sequencia + 1 : 1;\r\n produto.observacao = '';\r\n produto.prg_ean = prodGrade.ean;\r\n produtosIncluir.push(produto);\r\n });\r\n setListaItens(produtosIncluir);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, dadosGrade: null } } })\r\n limparCampos();\r\n };\r\n\r\n function adicionarItem() {\r\n let dados = [...listaItens];\r\n let obj = {};\r\n let editando = true;\r\n let prod = {};\r\n if (listaProduto.length == 1) {\r\n prod = listaProduto[0];\r\n } else {\r\n prod = listaProduto.find((produto) => (produto.key === formulario.getFieldValue().pro_id));\r\n }\r\n obj = dados.find((item) => (item.pro_id === prod.pro_id && item.prg_id === prod.prg_id))\r\n if (!!!obj) {\r\n obj = prod;\r\n obj.sequencia = !!dados.length > 0 ? dados[dados.length - 1].sequencia + 1 : 1;\r\n editando = false;\r\n }\r\n obj.quantidade = parseInt(formulario.getFieldValue().quantidade);\r\n obj.observacao = '';\r\n if (!editando) {\r\n dados.push(obj);\r\n }\r\n setListaItens(dados);\r\n limparCampos();\r\n\r\n };\r\n\r\n function editarItem(record) {\r\n let lista = [];\r\n if (!!record) {\r\n if (!!record.prg_id) {\r\n lista.push({ name: \"pro_id\", campo: \"IdGrade\", value: record.prg_id });\r\n } else {\r\n lista.push({ name: \"pro_id\", campo: \"IdProduto\", value: record.pro_id });\r\n }\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n formulario.setFieldsValue({ pro_id: 0, quantidade: record.quantidade, observacao: record.observacao });\r\n }\r\n };\r\n\r\n function removerItem(record) {\r\n let dados = listaItens.filter((item) => item.pro_id !== record.pro_id || (item.pro_id === record.pro_id && item.prg_id !== record.prg_id));\r\n setListaItens(dados)\r\n };\r\n\r\n function limparCampos() {\r\n formulario.setFieldsValue({ pro_id: null, quantidade: null, observacao: '' });\r\n };\r\n\r\n function montarEtiqueta(dadosRel) {\r\n\r\n let listaEtiqueta = [];\r\n let modelo = listaModelo.filter((modelo) => modelo.met_id === formulario.getFieldValue().modelo)[0];\r\n let comandosEnviarImp = [];\r\n listaItens.forEach((item) => {\r\n let indice = 0;\r\n while (indice < item.quantidade) {\r\n let etiqueta = {\r\n pro_codigo: item.pro_codigo,\r\n pro_codigoetiqueta: item.pro_codigoetiqueta,\r\n prg_codigoetiqueta: item.prg_codigoetiqueta,\r\n pro_referencia: item.pro_referencia,\r\n grade: item.grade,\r\n pro_ean: item.pro_ean,\r\n lpi_valorvenda: item.lpi_valorvenda,\r\n pro_descricao: item.pro_descricao\r\n }\r\n listaEtiqueta.push(etiqueta);\r\n indice++;\r\n }\r\n });\r\n\r\n let qtdComandos = parseInt(listaEtiqueta.length / modelo.met_colunas);\r\n for (let x = 0; x < qtdComandos; x++) {\r\n let comando = modelo.met_comando;\r\n for (let i = 1; i <= modelo.met_colunas; i++) {\r\n let indiceEtiqueta = i + (x * modelo.met_colunas);\r\n if (indiceEtiqueta <= listaEtiqueta.length) {\r\n let indice = indiceEtiqueta - 1;\r\n let configCodBarra = formulario.getFieldValue().persCodBarra;\r\n if (configCodBarra === 1) {\r\n comando = comando.replaceAll('@codigoBarras' + i, listaEtiqueta[indice].pro_codigo);\r\n } else if (configCodBarra === 2) {\r\n comando = comando.replaceAll('@codigoBarras' + i, !!listaEtiqueta[indice].pro_codigoetiqueta ? listaEtiqueta[indice].pro_codigoetiqueta : listaEtiqueta[indice].prg_codigoetiqueta);\r\n } else {\r\n comando = comando.replaceAll('@codigoBarras' + i, listaEtiqueta[indice].pro_ean);\r\n }\r\n comando = comando.replaceAll('@precoProduto' + i, 'R$ ' + parseFloat(listaEtiqueta[indice].lpi_valorvenda).toFixed(2).replace('.', ','));\r\n if (dadosAdicionais) {\r\n let entrada = 1;\r\n let qtdParc = formulario.getFieldValue().numeroParcelas\r\n if (formulario.getFieldsValue().possuiEntrada) {\r\n comando = comando.replaceAll('@formaPagamento' + i, `${qtdParc}x(${entrada}+${qtdParc - entrada})`);\r\n } else {\r\n comando = comando.replaceAll('@formaPagamento' + i, `${qtdParc}x`);\r\n }\r\n comando = comando.replaceAll('@valorPagamento' + i, FormatNumber(listaEtiqueta[indice].lpi_valorvenda / qtdParc, true));\r\n } else {\r\n comando = comando.replaceAll('@formaPagamento' + i, ' ');\r\n comando = comando.replaceAll('@valorPagamento' + i, ' ');\r\n }\r\n\r\n comando = comando.replaceAll('@codigoProduto' + i, !!listaEtiqueta[indice].pro_codigo ? listaEtiqueta[indice].pro_codigo : ' ');\r\n comando = comando.replaceAll('@codigoEtiqueta' + i, !!listaEtiqueta[indice].pro_codigoetiqueta ? listaEtiqueta[indice].pro_codigoetiqueta : ' ');\r\n comando = comando.replaceAll('@referenciaProduto' + i, !!listaEtiqueta[indice].pro_referencia ? listaEtiqueta[indice].pro_referencia : ' ');\r\n\r\n if (!!listaEtiqueta[indice].descricaograde) {\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha1', listaEtiqueta[indice].descricaograde.substr(0, parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n if (listaEtiqueta[indice].descricaograde.length > parseInt(modelo.met_quantidadecaracteresdescricaoproduto)) {\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha2', listaEtiqueta[indice].descricaograde.substr(parseInt(modelo.met_quantidadecaracteresdescricaoproduto), parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n } else {\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha2', ' ');\r\n }\r\n } else {\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha1', ' ');\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha2', ' ');\r\n }\r\n\r\n comando = comando.replaceAll('@descricaoProduto' + i + 'Linha1', listaEtiqueta[indice].pro_descricao.substr(0, parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n\r\n if (listaEtiqueta[indice].pro_descricao.length > parseInt(modelo.met_quantidadecaracteresdescricaoproduto)) {\r\n comando = comando.replaceAll('@descricaoProduto' + i + 'Linha2', listaEtiqueta[indice].pro_descricao.substr(parseInt(modelo.met_quantidadecaracteresdescricaoproduto), parseInt(modelo.met_quantidadecaracteresdescricaoproduto)));\r\n } else {\r\n comando = comando.replaceAll('@descricaoProduto' + i + 'Linha2', ' ');\r\n }\r\n\r\n comando = substituirCaracterEspecial(comando);\r\n\r\n } else {\r\n comando = comando.replaceAll('@codigoProduto' + i, ' ');\r\n comando = comando.replaceAll('@codigoEtiqueta' + i, ' ');\r\n comando = comando.replaceAll('@referenciaProduto' + i, ' ');\r\n comando = comando.replaceAll('@codigoBarras' + i, ' ');\r\n comando = comando.replaceAll('@precoProduto' + i, ' ');\r\n comando = comando.replaceAll('@formaPagamento' + i, ' ');\r\n comando = comando.replaceAll('@valorPagamento' + i, ' ');\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha1', ' ');\r\n comando = comando.replaceAll('@gradeProduto' + i + 'Linha2', ' ');\r\n comando = comando.replaceAll('@descricaoProduto' + i + 'Linha1', ' ');\r\n comando = comando.replaceAll('@descricaoProduto' + i + 'Linha2', ' ');\r\n }\r\n }\r\n comandosEnviarImp.push(comando);\r\n }\r\n\r\n comandosEnviarImp.reduce(function (p, val) {\r\n return p.then(function () {\r\n\r\n return imprimirRawBase64(config.impressoraEtiqueta.name, val);\r\n });\r\n }, Promise.resolve()).then(\r\n Modal.confirm({\r\n title: 'Atenção',\r\n icon: ,\r\n content: 'A impressão das etiquetas ocorreu corretamente?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n Modal.confirm({\r\n title: 'Atenção',\r\n icon: ,\r\n content: 'Você deseja Limpar a Lista de Dados Temporarios de Impressão de Etiquetas?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirDadosTemporarios();\r\n }\r\n });\r\n }\r\n })\r\n );\r\n };\r\n\r\n function limparItens() {\r\n setListaItens([]);\r\n };\r\n\r\n function excluirDadosTemporarios() {\r\n api.delete(`Etiqueta/ExcluirDadosTemporarios`).then(\r\n res => {\r\n limparItens();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n EAN\r\n Código do Produto\r\n Código Etiqueta\r\n \r\n \r\n \r\n \r\n \r\n ({modelo.met_descricao})\r\n } />\r\n\r\n \r\n \r\n \r\n \r\n { popularDadosProduto(dados) }} ordem={'pro_id'} detalhes={true} selecionarRegUnico={\"key\"} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {listaItens.length > 0 &&
(\r\n
\r\n \r\n
\r\n \r\n {sequencia}\r\n \r\n \r\n \r\n {pro_codigo} - {pro_descricao}\r\n \r\n \r\n \r\n \r\n \r\n EAN: {!!pro_ean ? pro_ean : prg_ean}\r\n \r\n \r\n {!!descricaograde && \r\n \r\n Grade: {descricaograde}\r\n \r\n }\r\n \r\n \r\n )\r\n }, {\r\n title: 'Valor Unit. (R$)',\r\n align: 'right',\r\n render: ({ lpi_valorvenda }) => (\r\n
\r\n {FormatNumber(lpi_valorvenda, true)}\r\n
\r\n )\r\n }, {\r\n title: 'Quant. Etiqueta',\r\n align: 'center',\r\n width: 100,\r\n render: ({ quantidade }) => (\r\n
\r\n {quantidade}\r\n
\r\n )\r\n }, {\r\n title: 'Ações',\r\n fixed: 'right',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n { setDadosAdicionais(!dadosAdicionais) }} /> Informações Adicionais\r\n \r\n \r\n {dadosAdicionais &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Possui Entrada?\r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n { setAbrirModalGrade(false); }} dados={dadosGrade} acrescimoDesconto={false} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Typography, Divider, notification, Spin, Form, Select, Card } from \"antd\";\r\nimport { DownloadOutlined, LoadingOutlined, MehOutlined, SyncOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport ImprimirImpEtiqueta from \"./manutencaoEtiqueta\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { carregarConfiguracoes, impressorasInstaladas, ServidorImpressoraOnline } from \"../../services/servidorImpressora\";\r\n\r\nexport default function ServidorImpressao({ formulario, carregando, aoSalvar, servidor, menuConfig = false }) {\r\n const [carregandoServer, setCarregandoServer] = useState(false);\r\n const [listaImpressoras, setListaImpressoras] = useState([]);\r\n const [listaModeloEtiqueta, setListaModeloEtiqueta] = useState([]);\r\n const [abrirManutencao, setAbrirManutencao] = useState(false);\r\n const [config, setConfig] = useState({});\r\n const [dadosConfiguracoes, setDadosConfiguracoes] = useState([]);\r\n const [form] = Form.useForm();\r\n useEffect(() => {\r\n verificarConfiguracao();\r\n listarImpressoras();\r\n listarModeloEtiqueta();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!config && isObjetoDiffVazio(config)) {\r\n let modelo = listaModeloEtiqueta.length > 0 ? listaModeloEtiqueta.filter((modelo) => modelo.met_id === config.modeloEtiqueta.met_id)[0] : { key: null };\r\n if (!!modelo) {\r\n form.setFieldsValue({ modeloEtiquetaImp: modelo.met_id });\r\n } else {\r\n form.setFieldsValue({ modeloEtiquetaImp: null });\r\n }\r\n }\r\n }, [listaModeloEtiqueta]);\r\n\r\n useEffect(() => {\r\n if (!!config && isObjetoDiffVazio(config)) {\r\n let impressoraEtiqueta = listaImpressoras.length > 0 ? listaImpressoras.filter((impressora) => impressora.name === config.impressoraEtiqueta.name)[0] : { key: null };\r\n let impressoraNFiscal = listaImpressoras.length > 0 ? listaImpressoras.filter((impressora) => impressora.name === config.impressoraNaoFiscal.name)[0] : { key: null };\r\n impressoraEtiqueta = !!impressoraEtiqueta ? impressoraEtiqueta :{key: null};\r\n impressoraNFiscal = !!impressoraNFiscal ? impressoraNFiscal :{key: null};\r\n form.setFieldsValue({ impEtiquetaUtilizar: impressoraEtiqueta.key, impressoraNaoFiscal: impressoraNFiscal.key })\r\n }\r\n }, [listaImpressoras]);\r\n\r\n async function verificarConfiguracao() {\r\n let ret = await carregarConfiguracoes();\r\n if (!!ret && !!ret.impressoraEtiqueta && !!ret.impressoraNaoFiscal && !!ret.modeloEtiqueta) {\r\n setConfig(ret);\r\n listarImpressoras();\r\n listarModeloEtiqueta();\r\n if (!menuConfig) {\r\n setAbrirManutencao(true);\r\n }\r\n\r\n }\r\n };\r\n\r\n function downloadServidor() {\r\n let link = document.createElement(\"a\");\r\n link.download = \"new-erp.print-server_0.0.1-x86_64.exe\";\r\n link.href = \"http://update.newerp.com.br/ServidorImpressao/new-erp.print-server_0.0.1-x86_64.exe\";\r\n link.click();\r\n };\r\n\r\n async function verificarServidorNovamente() {\r\n setCarregandoServer(true);\r\n let ret = await ServidorImpressoraOnline();\r\n servidor.setServidorOn(ret.online);\r\n setCarregandoServer(false);\r\n };\r\n\r\n async function listarImpressoras() {\r\n let retImp = await impressorasInstaladas();\r\n let key = 0;\r\n if (!!retImp) {\r\n retImp.forEach((impressora) => {\r\n impressora.key = key;\r\n key++;\r\n });\r\n setListaImpressoras(retImp);\r\n }\r\n };\r\n\r\n function listarModeloEtiqueta() {\r\n api.get(`ModeloEtiqueta/Listar?PageSize=200&PageNumber=1&ordem=met_descricao`).then(\r\n res => {\r\n setListaModeloEtiqueta(res.data.items);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function salvarConfiguracoes() {\r\n let dados = {\r\n impressoraEtiqueta: listaImpressoras.filter((imp) => (imp.key === form.getFieldValue().impEtiquetaUtilizar))[0],\r\n modeloEtiqueta: listaModeloEtiqueta.filter((imp) => (imp.met_id === form.getFieldValue().modeloEtiquetaImp))[0],\r\n impressoraNaoFiscal: listaImpressoras.filter((imp) => (imp.key === form.getFieldValue().impressoraNaoFiscal))[0],\r\n padraoDYMO: null\r\n };\r\n api.post(`http://localhost:3001/configuracao`, JSON.stringify(dados), { headers: { 'Content-type': 'application/json;charset=utf-8' } }).then(\r\n res => {\r\n notification.success({ description: 'Suas definições para o servidor de impressão do GestorWeb neste computador foram salvas com sucesso!', message: 'Servidor de Impressão Configurado' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n if (!!aoSalvar) {\r\n aoSalvar();\r\n }\r\n verificarConfiguracao();\r\n }\r\n );\r\n\r\n };\r\n\r\n return (\r\n
\r\n {!abrirManutencao &&
\r\n
\r\n \r\n
\r\n \r\n \"Servidor Servidor de Impressão Gestor Web\r\n \r\n \r\n O servidor de impressão do Gestor Web, é um software que deve ser instalado no computador para possibilitar a comunicação do Gestor Web em seu navegador de internet com as impressoras instaladas em seu computador.\r\n Desta forma, através do servidor de impressão, é possível realizar impressões como etiquetas de produtos e comprovantes não fiscais diretamente do Gestor Web.\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {carregandoServer &&
\r\n \r\n
\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n Verificando Servidor de Impressão do Gestor Web. Aguarde...\r\n \r\n \r\n \r\n }\r\n {servidor.servidorOn &&
\r\n \r\n \r\n Configurações do Servidor de Impressão do Gestor Web para este computador\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!servidor.servidorOn && !carregandoServer &&
\r\n \r\n
\r\n \r\n OPS!
Parece que o servidor de impressão não está em execução no seu computador.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Servidor\r\n \r\n \r\n \r\n O que posso fazer nesse caso?\r\n \r\n \r\n Verifique se o servidor de impressão esta instalado em seu computador e o inicie:

\r\n 1. Abra o menu iniciar em seu computador;
\r\n 2. Procure por: \"new-erp.print-server\";
\r\n 3. Abra o servidor de impressão (new-erp.print-server);
\r\n 4. Após abrir o programa, minimize a tela do servidor de impressão (new-erp.print-server), para que ele permaneça em execução em seu computador.\r\n
\r\n \r\n O servidor de impressão do Gestor Web não está instalado em seu computador?
\r\n
\r\n
\r\n \r\n 1. Realize o download do instalador do servidor de impressão CLICANDO AQUI;
\r\n 2. Após concluir o download, abra o instalador;
\r\n 3. Siga as instruções do assistente de instalação até concluir o processo;
\r\n 4. Ao concluir o processo de instalação, o servidor de impressão é iniciado automaticamente. Ao abrir, minimize a tela do servidor de impressão, para que ele permaneça em execução em seu computador;
\r\n 5. Não se preocupe, após instalado o servidor de impressão se configura para iniciar automaticamente quando você ligar seu computador.\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n {abrirManutencao && }\r\n \r\n );\r\n\r\n}","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/i-telefone.322b548c.png\";","export default __webpack_public_path__ + \"static/media/i-dados.e9451d99.png\";","export default __webpack_public_path__ + \"static/media/i-cartao.42a596bd.png\";","export default __webpack_public_path__ + \"static/media/i-contato.2e8da8be.png\";","import React from \"react\";\r\nimport { Card, Descriptions, Tooltip, Button, Row, Col, Tag, Popconfirm } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined } from '@ant-design/icons';\r\n\r\nimport { TiposElementosFormulario } from './pages';\r\n\r\nexport default function ItemFormulario({ elemento, fnEditar = () => {}, fnExcluir = () => {} }) {\r\n\r\n function RetornaDescricaoElementoFormulario(tipo) {\r\n let retorno = TiposElementosFormulario.filter(el => el.tipo === tipo);\r\n return (retorno.length > 0 ? retorno[0].descricao : \"\");\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {RetornaDescricaoElementoFormulario(elemento.widget)}\r\n \r\n \r\n {elemento.key}\r\n \r\n \r\n \r\n {elemento.required ? \"SIM\" : \"NÃO\"}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n fnExcluir()} okText=\"Sim\" cancelText=\"Não\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n\r\n const notificacoes = (\r\n \r\n \r\n \r\n \r\n \r\n Notificações\r\n\r\n \r\n \"PDV\r\n \r\n \r\n PDV Web\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const infoCliCatalogo = (\r\n \r\n \r\n
\r\n \r\n \r\n Cliente:  \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n\r\n\r\n const [color, setColor] = useState({\r\n primaryColor: '#0053a6',\r\n });\r\n\r\n function onColorChange(nextColor) {\r\n const mergedNextColor = {\r\n ...color,\r\n ...nextColor,\r\n };\r\n setColor(mergedNextColor);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Gestor\r\n \r\n \r\n \r\n
\r\n \r\n Usuário: {getNomeUsuario()} \r\n \r\n
\r\n
\r\n \r\n \r\n Você está acessado a empresa:  \r\n \r\n \r\n {!getStatusFilial() && LOCAL INATIVO (SOMENTE CONSULTA)}\r\n \r\n
\r\n \r\n {catalogo && infoCliCatalogo}\r\n \r\n \r\n {!catalogo && \r\n \r\n \r\n \r\n {\r\n onColorChange({\r\n primaryColor: hex,\r\n });\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {avatar}\r\n \r\n \r\n }\r\n \r\n setOpenPaginaAbertas(false)} />\r\n setOpenModalEmpresaFilial(false)} />\r\n setOpenModalCliente(false)} />\r\n \r\n { efetuarBuscaGlobal(value) }} size=\"middle\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n setOpenDrawerSinc(false)}\r\n >\r\n \r\n \r\n \r\n\r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Icon } from '@ant-design/compatible';\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { setTelaAnterior } from \"../../services/auth\";\r\n\r\nexport default function LinkNav(props) {\r\n \r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const functionClick = () => {\r\n if (!!props.onClick) {\r\n props.onClick();\r\n }\r\n setTelaAnterior(props.patch);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {props.label}\r\n \r\n \r\n );\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Layout, Menu, Row, Col, Input } from \"antd\";\r\nimport { Icon } from '@ant-design/compatible';\r\n\r\nimport \"./index.less\";\r\nimport LinkNav from \"../linkNav\";\r\nimport api from \"../../services/api\";\r\nimport { validarPermissaoMenu } from \"../../services/permissoes\";\r\nimport { listagemActions } from \"../../actions\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { getTelaAnterior } from \"../../services/auth\";\r\nimport apiWeb from \"../../services/apiWeb\";\r\n\r\nexport default function MenuPage({ incollapsed, catalogo = false }) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [listaMenu, setListaMenu] = useState([]);\r\n const [openKeys, setOpenKeys] = useState([]);\r\n const rootKeys = [\"sub0\", \"sub1\", \"sub2\", \"sub3\", \"sub4\", \"sub5\", \"sub6\", \"sub7\", \"sub8\", \"sub9\", \"sub10\", \"sub11\", \"sub12\", \"sub13\", \"sub14\", \"sub15\", \"sub16\", \"sub17\", \"sub18\"];\r\n\r\n const onOpenChange = (items) => {\r\n const latestOpenKey = items.find((key) => openKeys.indexOf(key) === -1);\r\n if (rootKeys.indexOf(latestOpenKey) === -1) {\r\n setOpenKeys(items);\r\n } else {\r\n setOpenKeys(latestOpenKey ? [latestOpenKey] : openKeys);\r\n }\r\n };\r\n\r\n function CarregaMenu() {\r\n apiWeb.get(`GrupoMenu/RetornaMenu?filtro&IdModulo=${catalogo ? '3' : '2'}`).then((res) => {\r\n if (res.status === 200) {\r\n setListaMenu(res.data);\r\n }\r\n }).catch((erro) => console.error(erro));\r\n }\r\n\r\n function AtzBreadcrumb(item) {\r\n let elemento = item.item.props.elementRef.current;\r\n let elementoPai = elemento.parentNode.parentNode.firstChild;\r\n if (elemento.innerText !== \"Home\") {\r\n localStorage.setItem('@GestorWeb-Breadcrumb', '|' + elementoPai.innerText + '|' + elemento.innerText);\r\n } else {\r\n localStorage.setItem('@GestorWeb-Breadcrumb', '|' + elemento.innerText);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n CarregaMenu()\r\n if (catalogo) {\r\n let keys = openKeys;\r\n keys.push(\"sub18\");\r\n setOpenKeys(keys);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (!incollapsed) {\r\n setOpenKeys(openKeys);\r\n }\r\n }, [openKeys, incollapsed]);\r\n\r\n function pesquisarMenu(e) {\r\n if (!!!e.target.value) {\r\n CarregaMenu();\r\n } else {\r\n api.get(`GrupoMenu/RetornaMenu?filtro=${e.target.value}&IdModulo=${catalogo ? '3' : '2'}`).then(\r\n res => {\r\n let dados = [...res.data];\r\n dados.forEach((menu) => {\r\n menu.subMenu = menu.subMenu.filter((subMenu) => (subMenu.titulo.toLowerCase().indexOf(e.target.value.toLowerCase().trim()) > -1));\r\n });\r\n dados = dados.filter((menu) => (menu.subMenu.length > 0));\r\n setListaMenu(dados);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n <>\r\n \r\n \r\n \r\n { pesquisarMenu(valor) }} onBlur={(valor) => { pesquisarMenu(valor) }} allowClear />\r\n \r\n \r\n \r\n AtzBreadcrumb(item)}>\r\n {\r\n if (catalogo) {\r\n window.location = \"/catalogo#/\"\r\n } else {\r\n window.location = \"/Home#/\"\r\n }\r\n }}\r\n title={\r\n \r\n \r\n Home \r\n \r\n } className=\"home\">\r\n \r\n {listaMenu.map(menu => (\r\n \r\n \r\n {menu.titulo} \r\n \r\n }>\r\n {menu.subMenu.map(itemMenu => {\r\n return itemMenu.pagina.substring(0, 4) !== 'http' ?\r\n (\r\n \r\n {\r\n if (itemMenu.pagina !== getTelaAnterior()) {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: ``, filtro: '', ordem: '' } });\r\n }\r\n }} />\r\n \r\n ) :\r\n (\r\n \r\n )\r\n })\r\n }\r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n\r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Breadcrumb } from \"antd\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport { HomeOutlined } from \"@ant-design/icons\";\r\n\r\n\r\nexport default function BreadcrumbPage({listaTitulo}) {\r\n const [breadcrumb] = useState((localStorage.getItem('@GestorWeb-Breadcrumb') !== null)? localStorage.getItem('@GestorWeb-Breadcrumb') : '');\r\n const [htmlBreadcrumb, setHtmlBreadcrumb] = useState('');\r\n let location = useLocation();\r\n \r\n function MontaBreadcrumb() {\r\n let arrBreadcrumb = breadcrumb.substring(1).split(['|']);\r\n if (location.pathname === \"/\"){\r\n arrBreadcrumb = ['Home']\r\n }\r\n\r\n setHtmlBreadcrumb(\r\n arrBreadcrumb.map((pathname,index) => (\r\n \r\n {arrBreadcrumb.length==index+1? {pathname}:pathname}\r\n \r\n ))\r\n );\r\n };\r\n\r\n useEffect(()=> {MontaBreadcrumb()},[breadcrumb]);\r\n useEffect(()=> {MontaBreadcrumb()},[]);\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {htmlBreadcrumb}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Form, Input, Tabs, Row, Col, Typography, Card } from 'antd';\r\n\r\nimport \"./modulos.less\";\r\n\r\nexport default function ModulosPage() {\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Varejo \r\n \r\n \r\n Vendas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Compras\"\r\n \r\n \r\n Compras\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"PDV\"\r\n \r\n \r\n PDV\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Cotação\r\n \r\n \r\n Cotação de Vendas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Faturamento\r\n \r\n \r\n Faturamento Contratos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Indústria\"\r\n \r\n \r\n Indústria\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Catálogo\r\n \r\n \r\n Catálogo eletrônico\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Pedidos/O.S.\"\r\n \r\n \r\n Pedidos/O.S\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"A\r\n \r\n \r\n A Receber\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"A\r\n \r\n \r\n A Pagar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Conta\r\n \r\n \r\n Conta Corrente\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Caixa\r\n \r\n \r\n Caixa e Bancos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Contábil\"\r\n \r\n \r\n Contábil\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Fiscal\"\r\n \r\n \r\n Fiscal\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Impostos\"\r\n \r\n \r\n Impostos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"SPED\"\r\n \r\n \r\n SPED\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Indicadores\"\r\n \r\n \r\n Indicadores\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Conta\r\n \r\n \r\n MDF-e\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Selecione abaixo o módulo que deseja acessar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Conta\r\n \r\n \r\n Utilitários\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Input, Upload, message, Modal } from 'antd';\r\nimport { LoadingOutlined, PlusOutlined } from '@ant-design/icons';\r\nimport ImgCrop from \"antd-img-crop\";\r\nimport api from \"../../services/api\";\r\nimport { getEmailUsuario, linkApi } from \"../../services/auth\";\r\nimport { getBase64 } from \"../../services/funcoes\";\r\n\r\nexport default function Perfil({ formulario, aoSalvar, imagemAlterada }) {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [dadosUsuario, setDadosUsuario] = useState({});\r\n const [fileList, setFileList] = useState([]);\r\n const [imageUrl, setImageUrl] = useState(null);\r\n\r\n const handleChange = (info) => {\r\n if (info.file.status === 'uploading') {\r\n setLoading(true);\r\n }\r\n if (info.file.status !== 'removed') {\r\n let originFileObj = info.file.originFileObj;\r\n if (typeof originFileObj === 'undefined') {\r\n originFileObj = info.fileList[0].originFileObj;\r\n }\r\n getBase64(originFileObj).then(\r\n base64 => {\r\n setLoading(false);\r\n setImageUrl(base64);\r\n }\r\n );\r\n }\r\n if (info.file.status === 'removed') {\r\n setImageUrl(null);\r\n }\r\n\r\n setFileList(info.fileList);\r\n };\r\n\r\n function beforeUpload(file) {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\r\n if (!isJpgOrPng) {\r\n message.error('Você só pode fazer upload de arquivos JPG/PNG!');\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 2;\r\n if (!isLt2M) {\r\n message.error('A imagem deve ter menos de 2 MB!');\r\n }\r\n return isJpgOrPng && isLt2M;\r\n }\r\n\r\n const uploadButton = (\r\n
\r\n {loading ? : }\r\n
Enviar Imagem
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n let url = `${linkApi}Usuario/CarregarAvatar?email=${getEmailUsuario()}`;\r\n setImageUrl(url);\r\n imagemAlterada(url);\r\n let img = [{\r\n uid: '-1',\r\n name: 'avatar',\r\n status: 'done',\r\n url: url,\r\n }];\r\n setFileList(img);\r\n api.get(`Usuario/RetornaUsuarioPerfilEmail?email=${getEmailUsuario()}`).then(\r\n (res) => {\r\n setDadosUsuario(res.data);\r\n formulario.setFieldsValue({ usu_nome: res.data.usu_nome, usu_email: res.data.usu_email });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n }, []);\r\n\r\n function salvarDadosPerfil(values) {\r\n let dadosEnviar = { ...dadosUsuario };\r\n dadosEnviar.usu_nome = values.usu_nome;\r\n if (fileList.length > 0) {\r\n dadosEnviar.usu_avatar = { data: imageUrl, type: fileList[0].type };\r\n } else {\r\n dadosEnviar.usu_avatar = { data: null, type: null };\r\n }\r\n\r\n api.post(`Usuario/EditarProfile`, JSON.stringify(dadosEnviar), { headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(\r\n (retorno) => {\r\n if (retorno) {\r\n Modal.success({\r\n content: 'Dados atualizados com sucesso!',\r\n });\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n Modal.error({\r\n title: 'Não foi possível atualizar os dados!',\r\n content: (\r\n
\r\n

{erro.response.data.Message}

\r\n
\r\n )\r\n });\r\n }\r\n ).finally(() => {\r\n aoSalvar();\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n setImageUrl(null)}\r\n beforeUpload={beforeUpload}\r\n maxCount={1}\r\n >\r\n {fileList.length === 0 && uploadButton}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { Select } from 'antd';\r\nimport SelectPaginacao from '../selectPaginacao';\r\n\r\nexport default function SelectProduto(props) {\r\n\r\n\r\n return (\r\n { }}\r\n onBlurFunction={!!props.onBlur ? props.onBlur : () => { }}\r\n onSelectFunction = {!!props.onSelect ? props.onSelect : () => { }}\r\n nameLabel={props.ordem}\r\n atualizaComponente={!!props.atualizaComponente ? props.atualizaComponente : false}\r\n allowClear={!!props.allowClear ? props.allowClear : false}\r\n disabled={!!props.disabled}\r\n placeholder={!!props.placeholder ? props.placeholder : \"Selecione um produto\"}\r\n filtroExtra={props.filtroExtra}\r\n filtroPesq={props.filtroPesq}\r\n setListaDados={!!props.setListaDados ? props.setListaDados : null}\r\n selecionarRegUnico={!!props.selecionarRegUnico ? props.selecionarRegUnico : null}\r\n conteudo={(produto) => (\r\n \r\n {produto.pro_codigo} - {produto.pro_descricao}\r\n {(!!props.detalhes ?
: '')}\r\n {(!!props.detalhes && !!produto.pro_ean ? `EAN/GTIN: ${produto.pro_ean}` : \"\")}\r\n {(!!props.detalhes && (!!produto.descricaograde && !!produto.pro_ean) ?
: '')}\r\n {(!!props.detalhes && !!produto.descricaograde ? `Grade: ${produto.descricaograde}` : \"\")}\r\n {(!!props.detalhes && (!!produto.prg_ean && ((!!produto.pro_ean && !!!produto.descricaograde) || !!produto.descricaograde)) ?
: '')}\r\n {(!!props.detalhes && !!produto.prg_ean ? `EAN/GTIN Grade: ${produto.prg_ean}` : \"\")}\r\n {(!!props.detalhes && (!!produto.pro_codigoetiqueta && ((!!produto.pro_ean && !!!produto.descricaograde) || !!produto.prg_ean)) ?
: '')}\r\n {(!!props.detalhes && !!produto.pro_codigoetiqueta ? `Cód.Etiqueta: ${produto.pro_codigoetiqueta}` : \"\")}\r\n {(!!props.detalhes && (!!produto.estoque &&\r\n (((!!produto.pro_ean && !!!produto.descricaograde) || !!produto.pro_codigoetiqueta))\r\n || (!!produto.prg_ean && !!!produto.pro_codigoetiqueta)\r\n ) ?
: '')}\r\n {(!!props.detalhes && !!produto.estoque ? `Qtde Estoque: ${produto.estoque}` : \"\")}\r\n
\r\n )}\r\n />\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Table, Row, Col, Divider } from 'antd';\r\nimport { ArrowUpOutlined, ArrowDownOutlined, ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport Emitter from '../../services/emitter';\r\nimport { useStateValue } from '../../state';\r\nimport { listaTabelaDadosActions, listagemActions, manutencaoActions } from '../../actions';\r\nimport { isNotNullOrEmpty } from '../../services/funcoes';\r\n\r\nfunction TabelaDados({ colunas, url, paginacao = true, expandir, selecionarItem = false, ordenar = true, parametrosSelecionarItens,\r\n condicao = undefined, footerTabela, headerTabela, tipo = \"checkbox\", keySelecionaRadio = null }) {\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n const [lista, setLista] = useState([]);\r\n const [pagina, setPagina] = useState(1);\r\n const [registrosPorPagina, setRegistrosPorPagina] = useState(20);\r\n const [listaTbDados, setListaTbDados] = useState([]);\r\n const [{ listagem }, dispatch] = useStateValue();\r\n\r\n const configPaginacao = paginacao ? {\r\n current: pagina,\r\n pageSize: registrosPorPagina,\r\n total: lista.totalItems,\r\n showSizeChanger: true,\r\n onChange: (pg) => setPagina(pg),\r\n onShowSizeChange: (atual, porPagina) => setRegistrosPorPagina(porPagina)\r\n } : null;\r\n\r\n const configSelecionarItem = selecionarItem ?\r\n setCondicaoSelecionarItem()\r\n : null;\r\n\r\n const configSelecionarRadio = tipo == \"radio\" && selecionarItem ?\r\n setSelecionaRadio() : null;\r\n\r\n useEffect(() => {\r\n if (!!listaTbDados && listaTbDados.length > 0) {\r\n dispatch({ type: listaTabelaDadosActions.CHANGE, data: { itens: [...listaTbDados] } });\r\n }\r\n\r\n }, [listaTbDados])\r\n\r\n function setCondicaoSelecionarItem() {\r\n if (!!parametrosSelecionarItens && !!parametrosSelecionarItens.tipo) {\r\n if (parametrosSelecionarItens.tipo === \"change\") {\r\n return {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n parametrosSelecionarItens.funcao(selectedRowKeys, selectedRows);\r\n }\r\n }\r\n } else if (parametrosSelecionarItens.tipo === \"select\") {\r\n return {\r\n onSelect: (record, selected, selectedRows) => {\r\n parametrosSelecionarItens.funcao(record, selected, selectedRows);\r\n }\r\n }\r\n } else if (parametrosSelecionarItens.tipo === \"selectall\") {\r\n return {\r\n onSelectAll: (selected, selectedRows, changeRows) => {\r\n parametrosSelecionarItens.funcao(selected, selectedRows, changeRows);\r\n }\r\n }\r\n }\r\n }\r\n return \"\";\r\n };\r\n\r\n function setSelecionaRadio() {\r\n if (isNotNullOrEmpty(keySelecionaRadio)) {\r\n return {\r\n selectedRowKeys: [keySelecionaRadio]\r\n }\r\n }\r\n }\r\n\r\n function carregarDados() {\r\n if (listagem.ordem) {\r\n setCarregando(true);\r\n let parametrosUrl = '';\r\n if (paginacao === true) parametrosUrl = `&pageNumber=${pagina}&pageSize=${registrosPorPagina}`;\r\n if (ordenar === true && listagem?.ordem) parametrosUrl += `&order=${listagem.ordem}`;\r\n if (ordenar === true && listagem?.ordem2) parametrosUrl += `&order2=${listagem.ordem2}`;\r\n if (listagem?.filtro) parametrosUrl += listagem?.campoFiltro ? `&${listagem.campoFiltro}=${listagem.filtro}` : `&filtro=${listagem.filtro}`;\r\n if (listagem?.outrosFiltros) parametrosUrl += listagem.outrosFiltros;\r\n if (!!parametrosUrl) parametrosUrl = parametrosUrl.replace('&', '?');\r\n\r\n api.get(url + parametrosUrl).then((res) => {\r\n if (res.status === 200) {\r\n let dados = [];\r\n if (paginacao === true) {\r\n if (condicao !== undefined) {\r\n res.data.items = res.data.items.filter(condicao);\r\n }\r\n if (!!res.data && !!res.data.items) {\r\n res.data.items.map((item, idx) => {\r\n item.key = idx;\r\n dados.push(item);\r\n })\r\n } else {\r\n res.data.map((item, idx) => {\r\n item.key = idx;\r\n dados.push(item);\r\n })\r\n }\r\n } else {\r\n if (condicao !== undefined) {\r\n res.data.filter(condicao);\r\n }\r\n res.data.items.map((item, idx) => {\r\n item.key = idx;\r\n dados.push(item);\r\n })\r\n }\r\n\r\n setListaTbDados(dados);\r\n setLista(res.data);\r\n }\r\n }).finally(() => {\r\n setCarregando(false);\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!!listagem?.pagina) {\r\n setPagina(listagem.pagina);\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: listagem.filtro, pagina: null } })\r\n } else if (!paginacao || !!pagina) {\r\n carregarDados();\r\n }\r\n }, [listagem, pagina, registrosPorPagina])\r\n\r\n useEffect(() => {\r\n Emitter.on('AtualizaDados', (newValue) => carregarDados());\r\n console.log('Emitter On')\r\n }, []);\r\n useEffect(() => () => Emitter.off('AtualizaDados', (newValue) => console.log('Emitter Off')), []);\r\n\r\n return (\r\n
{\r\n return expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n );\r\n }}\r\n\r\n locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }}\r\n rowSelection={selecionarItem ? { type: tipo, ...configSelecionarItem, ...configSelecionarRadio } : null}\r\n scroll={{ x: 920 }} footer={footerTabela} showHeader={headerTabela} columnWidth={30} \r\n />\r\n )\r\n}\r\n\r\nTabelaDados.propTypes = {\r\n colunas: PropTypes.array.isRequired,\r\n url: PropTypes.string.isRequired,\r\n paginacao: PropTypes.bool\r\n}\r\n\r\nexport default TabelaDados;","import React, { useEffect } from \"react\";\r\nimport { Form, Input } from \"antd\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from '../../actions';\r\n\r\nexport default function FiltroSearch({ labelInput, placeholderInput, nameInput = \"\", form = null, ordem = null, filtroFixo = \"\" }) {\r\n\r\n const [{ listagem }, dispatch] = useStateValue();\r\n\r\n useEffect(() => { dispatch({ type: listagemActions.CHANGE, data: { filtro: null, pagina: 1, ordem: ordem } }) }, []);\r\n\r\n return (\r\n \r\n {\r\n if (!filtroFixo) {\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: valor, pagina: 1 } })\r\n } else {\r\n dispatch({ type: listagemActions.CHANGE, data: { filtro: valor, pagina: 1, outrosFiltros: filtroFixo } })\r\n }\r\n\r\n }\r\n } onBlur={valor => {\r\n if (!!form && !!nameInput) {\r\n form.setFieldsValue({ [nameInput]: valor.target.value });\r\n }\r\n }} />\r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Form, Select } from \"antd\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions } from '../../actions';\r\n\r\nexport default function FiltroOrdenacao({ opcoesOrdenacao }) {\r\n\r\n const [{ listagem }, dispatch] = useStateValue();\r\n\r\n return (\r\n \r\n
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n \r\n \r\n {(!!pro_descricao ? pro_descricao : 'Débito/Crédito de imposto')}\r\n \r\n {!!atributos &&\r\n \r\n \r\n {atributos.mgp_descricao}\r\n \r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'N°',\r\n width: 40,\r\n align: 'center',\r\n render: ({ nfi_numeroitem }) => (\r\n
\r\n \r\n
\r\n {(nfi_numeroitem)}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: `${!!itensNF && !!itensNF[0].nis_csosn ? 'CSOSN' : 'CST'}`,\r\n width: 40,\r\n align: 'center',\r\n render: ({ nis_origemmercadoria, nis_csosn, nig_cst, nig_origemmercadoria }) => (\r\n
\r\n \r\n
\r\n {(!!nis_csosn ? nis_origemmercadoria + nis_csosn : nig_origemmercadoria + nig_cst)}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CFOP',\r\n width: 40,\r\n align: 'center',\r\n render: ({ nfi_cfop }) => (\r\n
\r\n \r\n
\r\n {nfi_cfop}\r\n \r\n \r\n \r\n ),\r\n }, {\r\n title: 'NCM',\r\n width: 40,\r\n align: 'center',\r\n render: ({ nfi_ncm }) => (\r\n
\r\n \r\n
\r\n {nfi_ncm}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CEST',\r\n width: 40,\r\n align: 'center',\r\n render: ({ cet_id }) => (\r\n
\r\n \r\n
\r\n {cet_id}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'C.Benef',\r\n width: 40,\r\n align: 'center',\r\n render: ({ cbf_codigo }) => (\r\n
\r\n \r\n
\r\n {cbf_codigo}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'UM.',\r\n width: 20,\r\n align: 'center',\r\n render: ({ nfi_unidademedida }) => (\r\n
\r\n \r\n
\r\n {nfi_unidademedida}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 50,\r\n align: 'right',\r\n render: ({ nfi_qtde }) => (\r\n
\r\n \r\n
\r\n {nfi_qtde}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 80,\r\n render: ({ nfi_valorunitario }) => (\r\n
\r\n {FormatNumber(nfi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Frete.(R$)',\r\n align: 'right',\r\n width: 40,\r\n render: ({ nfi_valorfrete }) => (\r\n
\r\n {FormatNumber(nfi_valorfrete, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Acrés.(R$)',\r\n align: 'right',\r\n width: 40,\r\n render: ({ nfi_valoroutros }) => (\r\n
\r\n {FormatNumber(nfi_valoroutros, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: () => {\r\n return (\r\n
\r\n \r\n
\r\n Desc.\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n width: 70,\r\n align: 'right',\r\n render: ({ perc_desconto, nfi_valordesconto }) => (\r\n retornarPercentual(perc_desconto, nfi_valordesconto)\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ nfi_valorunitario, nfi_qtde }) => (\r\n
\r\n {FormatNumber(nfi_qtde * nfi_valorunitario, true)}\r\n
\r\n ),\r\n }\r\n ]\r\n } />\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Row, Col, Table, Button, Dropdown, Menu } from \"antd\";\r\n\r\nimport moment from 'moment';\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport { Print, MoreOutlined } from '@material-ui/icons';\r\nimport { imprimirRelatorioJasper, novaAbaNavegador } from \"../../services/funcoes\";\r\n\r\nexport default function TabDetalheIFormaPagamento({ formaPagamento }) {\r\n \r\n const expandedRowRender = record => {\r\n return
(\r\n
\r\n \r\n
\r\n Nº: {prc_numeroparcela}\r\n \r\n \r\n Vencimento: {!!prc_datavencimento ? moment(prc_datavencimento).format('DD/MM/YYYY') : null}\r\n \r\n \r\n Valor (R$): {FormatNumber(!!prc_valor ? prc_valor : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } pagination={false} />\r\n };\r\n\r\n const rowExpandable = record => { return record.fpg_tipopagamento === 5 };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n {record.fpg_emiteboleto === true &&\r\n \r\n \r\n }\r\n \r\n )\r\n };\r\n\r\n function imprimirBoleto(record) {\r\n if(!!record.ntf_id){\r\n novaAbaNavegador(`Boleto/ImprimirBoletos/${record.ntf_id}`);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {fpg_descricao + (!!cpg_descricao ? '/ ' + cpg_descricao : '')}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'NSU / Id Integração',\r\n render: ({ imp_autorizacao, imp_idintegracao }) => (\r\n
\r\n \r\n {!!imp_autorizacao &&
\r\n {(imp_autorizacao + ' / ' + imp_idintegracao)}\r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Cód. Vale Presente',\r\n render: ({ nfp_codigovalepresente }) => (\r\n
\r\n \r\n {!!nfp_codigovalepresente &&
\r\n {nfp_codigovalepresente}\r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Valor Troco',\r\n align: 'right',\r\n render: ({ nfp_valortroco }) => (\r\n
\r\n \r\n
\r\n R$ {FormatNumber(!!nfp_valortroco ? nfp_valortroco : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Valor Líquido',\r\n align: 'right',\r\n render: ({ nfp_valor, nfp_valortroco }) => (\r\n
\r\n \r\n
\r\n R$ {FormatNumber(!!nfp_valor ? (nfp_valor - nfp_valortroco) : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalnota,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalbcicms,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valorbcicmsst,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valorbcipi,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalfrete,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalicms,true)}\r\n {/* pode ser utilizado tambem o campo valototalicmsst */}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalicmsst,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalipi,true)}\r\n {/* pode ser utilizado tambem o campo totalvaloripi */}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotaldesconto, true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotaloutros,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valorbcpis,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valorbccofins,true)}\r\n \r\n \r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalnota,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalpis,true)}\r\n \r\n \r\n {FormatNumber(detalheNotaFiscal.valortotalcofins,true)}\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Tag, Table, Button } from \"antd\";\r\n\r\nimport { FormatNumber } from '../../ValueObjects';\r\nimport moment from 'moment';\r\n\r\nexport default function TabNotaReferenciada({ docsreferenciados }) {\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {!!ntf_numero ? ntf_numero : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n width: 30,\r\n align: 'center',\r\n render: ({ datadoc }) => (\r\n
\r\n \r\n
\r\n {!!datadoc ? moment(datadoc).format('DD/MM/YYYY') : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Chave',\r\n width: 140,\r\n align: 'center',\r\n render: ({ dfr_chave }) => (\r\n
\r\n \r\n
\r\n {!!dfr_chave ? dfr_chave : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Valor Total',\r\n width: 30,\r\n align: 'center',\r\n render: ({ totaldoc }) => (\r\n
\r\n \r\n
\r\n {!!FormatNumber(totaldoc) ? FormatNumber(totaldoc) : '0,00'}\r\n \r\n \r\n \r\n ),\r\n }\r\n ]\r\n } />\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Descriptions, Tabs } from \"antd\";\r\n\r\nimport { TabDetalheItens, TabDetalheIFormaPagamento, TabDetalheTotalizadores, TabNotaReferenciada } from './tabPage';\r\nimport { useStateValue } from '../../state';\r\nimport moment from 'moment';\r\nimport { FormatFone, MaskFormat } from '../../ValueObjects/index';\r\n\r\nexport default function DetalheNotaFiscal({ dadosModal }) {\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [detalheNotaFiscal, setDetalheNotaFiscal] = useState({});\r\n const [arrFinalidade] = useState([\"NF-E NORMAL\", \"NF-E COMPLEMENTAR\", \"NF-E DE AJUSTE\", \"DEVOLUÇÃO\"]);\r\n const [arrStatus] = useState([\"EM DIGITAÇÃO\", \"AUTORIZADA\", \"CANCELADA\", \"DENEGADA\", \"REJEITADA\", \"CONTINGÊNCIA\"]);\r\n const [arrAmbiente] = useState([\"PRODUÇÃO\", \"HOMOLOGAÇÃO\"]);\r\n const [verificadevolucao, setverificadevolucao] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!!dadosModal) {\r\n setDetalheNotaFiscal(dadosModal);\r\n setverificadevolucao(dadosModal.verificadevolucao);\r\n }\r\n }, [dadosModal]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n {(!!detalheNotaFiscal.ntf_nomedest ? detalheNotaFiscal.ntf_nomedest : 'NÃO INFORMADO')}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(!!detalheNotaFiscal.ntf_cnpjcpfdest ? MaskFormat(detalheNotaFiscal.ntf_cnpjcpfdest, '', true) : (!!detalheNotaFiscal.ntf_cnpjcpfdest ? MaskFormat(detalheNotaFiscal.ntf_cnpjcpfdest, '', true) : 'NÃO INFORMADO'))}\r\n \r\n \r\n {arrStatus[detalheNotaFiscal.ntf_status]}\r\n \r\n \r\n {detalheNotaFiscal.ntf_numero}\r\n \r\n \r\n {(!!detalheNotaFiscal.ntf_iedest ? detalheNotaFiscal.ntf_iedest : 'NÃO INFORMADO')}\r\n \r\n \r\n {(!!detalheNotaFiscal.nomeVendedor ? detalheNotaFiscal.nomeVendedor : 'NÃO INFORMADO')}\r\n \r\n \r\n {!!detalheNotaFiscal.ntf_dataemissao ? moment(detalheNotaFiscal.ntf_dataemissao).format('DD/MM/YYYY') : null}\r\n \r\n \r\n {(!!detalheNotaFiscal.ntf_emaildest ? detalheNotaFiscal.ntf_emaildest : 'NÃO INFORMADO')}\r\n \r\n \r\n {arrFinalidade[detalheNotaFiscal.ntf_finalidade - 1]}\r\n \r\n \r\n {(!!detalheNotaFiscal.ntf_chavenfe ? detalheNotaFiscal.ntf_chavenfe : 'NÃO DISPONÍVEL')}\r\n \r\n \r\n {!!detalheNotaFiscal.ntf_telefonedest ? FormatFone(detalheNotaFiscal.ntf_telefonedest) : 'NÃO INFORMADO'}\r\n \r\n \r\n {arrAmbiente[detalheNotaFiscal.ntf_ambiente - 1]}\r\n \r\n \r\n {detalheNotaFiscal.ope_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(!!detalheNotaFiscal.ntf_logradourodest ? detalheNotaFiscal.ntf_logradourodest : ' NÃO INFORMADO ')},\r\n {(!!detalheNotaFiscal.ntf_bairrodest ? detalheNotaFiscal.ntf_bairrodest : ' NÃO INFORMADO ')},\r\n {(!!detalheNotaFiscal.ntf_municipiodest ? detalheNotaFiscal.ntf_municipiodest : ' NÃO INFORMADO ')},\r\n {(!!detalheNotaFiscal.ntf_cepdest ? MaskFormat(detalheNotaFiscal.ntf_cepdest, '00000-000') : ' NÃO INFORMADO')}.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(detalheNotaFiscal.ntf_tiponota == 4 || detalheNotaFiscal.ntf_tiponota == 5) &&\r\n \r\n }\r\n \r\n
\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Tag, Table, Button } from \"antd\";\r\n\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function TabDetalheItens({ itensNF }) {\r\n\r\n const [percentualDesc, setPercentualDesc] = useState(true);\r\n\r\n function retornarPercentual(perc_desconto, nfi_valordesconto) {\r\n if (percentualDesc) {\r\n return (\r\n
\r\n {perc_desconto}%\r\n
\r\n )\r\n } else {\r\n return (\r\n
\r\n {FormatNumber(nfi_valordesconto, true)}\r\n
\r\n )\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {pro_codigo}\r\n \r\n \r\n \r\n {pro_descricao}\r\n \r\n {!!descricaograde &&\r\n \r\n \r\n {descricaograde}\r\n \r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Qtde.',\r\n width: 50,\r\n align: 'right',\r\n render: ({ pdi_quantidade }) => (\r\n
\r\n \r\n
\r\n {pdi_quantidade}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Vlr Unt.(R$)',\r\n align: 'right',\r\n width: 80,\r\n render: ({ pdi_valorunitario }) => (\r\n
\r\n {FormatNumber(pdi_valorunitario, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: () => {\r\n return (\r\n
\r\n \r\n
\r\n Desc.\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n width: 70,\r\n align: 'right',\r\n render: ({ perc_desconto, pdi_valordesconto }) => (\r\n retornarPercentual(perc_desconto, pdi_valordesconto)\r\n ),\r\n },\r\n {\r\n title: 'Vlr Total (R$)',\r\n align: 'right',\r\n width: 100,\r\n render: ({ pdi_valorunitario, pdi_quantidade }) => (\r\n
\r\n {FormatNumber(pdi_quantidade * pdi_valorunitario, true)}\r\n
\r\n ),\r\n }\r\n ]\r\n } />\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Row, Col, Table } from \"antd\";\r\n\r\nimport moment from 'moment';\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function TabDetalheIFormaPagamento({ formaPagamento }) {\r\n\r\n const expandedRowRender = record => {\r\n return
(\r\n
\r\n \r\n
\r\n Nº: {prc_numeroparcela}\r\n \r\n \r\n Vencimento: {!!prc_datavencimento ? moment(prc_datavencimento).format('DD/MM/YYYY') : null}\r\n \r\n \r\n Valor (R$): {FormatNumber(!!prc_valor ? prc_valor : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } pagination={false} />\r\n };\r\n\r\n const rowExpandable = record => { return record.fpg_tipopagamento === 5 };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {fpg_descricao + (!!cpg_descricao ? '/ ' + cpg_descricao : '')}\r\n \r\n \r\n R$ {FormatNumber(!!pfp_valor ? pfp_valor : 0, true)}\r\n \r\n \r\n \r\n ),\r\n },\r\n ]\r\n } pagination={false} expandable={{ expandedRowRender, rowExpandable }} />\r\n\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Descriptions, Tabs } from \"antd\";\r\n\r\nimport { TabDetalheItens, TabDetalheIFormaPagamento } from './tabPage';\r\nimport moment from 'moment';\r\nimport { FormatFone, MaskFormat } from '../../ValueObjects/index';\r\n\r\nexport default function DetalhePedido({ dadosModal }) {\r\n\r\n const [abaSelecionada, setAbaSelecionada] = useState(\"1\");\r\n const [pedido, setPedido] = useState({});\r\n \r\n\r\n useEffect(() => {\r\n if (!!dadosModal) {\r\n setPedido(dadosModal);\r\n }\r\n }, [dadosModal]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n {(!!pedido.pes_nome ? pedido.pes_nome : 'NÃO INFORMADO')}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(!!pedido.pef_cpf ? MaskFormat(pedido.pef_cpf, '', true) : (!!pedido.pej_cnpj ? MaskFormat(pedido.pej_cnpj, '', true) : 'NÃO INFORMADO'))}\r\n \r\n \r\n {pedido.ped_numero}\r\n \r\n \r\n {(!!pedido.ped_iedest ? pedido.ntf_iedest : 'NÃO INFORMADO')}\r\n \r\n \r\n {(!!pedido.ven_nome ? pedido.ven_nome : 'NÃO INFORMADO')}\r\n \r\n \r\n {!!pedido.ped_datainclusao ? moment(pedido.ped_datainclusao).format('DD/MM/YYYY') : null}\r\n \r\n \r\n {(!!pedido.pem_email ? pedido.pem_email : 'NÃO INFORMADO')}\r\n \r\n \r\n {!!pedido.pes_telefone ? FormatFone(pedido.pes_telefone) : 'NÃO INFORMADO'}\r\n \r\n \r\n {pedido.ope_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(!!pedido.pes_endereco ? pedido.pes_endereco : ' NÃO INFORMADO ')},\r\n {(!!pedido.pes_bairro ? pedido.pes_bairro : ' NÃO INFORMADO ')},\r\n {(!!pedido.pes_cidade ? pedido.pes_cidade : ' NÃO INFORMADO ')+'-'+(!!pedido.pes_uf ? pedido.pes_uf : ' NÃO INFORMADO ')},\r\n {(!!pedido.pes_cep ? MaskFormat(pedido.pes_cep, '00000-000') : ' NÃO INFORMADO')}.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAbaSelecionada(tab)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Form } from \"antd\";\r\nimport { setTela } from \"../../services/auth\"\r\nimport { useStateValue } from '../../state';\r\n\r\nfunction FormGW({ initialValues, layout, form, name, onFinish, campoId, children }) {\r\n\r\n const [{ manutencao, ui }, dispatch] = useStateValue();\r\n const gravaLocalStorage = allValues => {\r\n //localStorage.setItem(name, JSON.stringify(allValues));\r\n let dados = {};\r\n let url = window.document.location.href;\r\n dados = form.getFieldValue();\r\n dados.formulario = url.substring(url.lastIndexOf('/'), url.length);\r\n dados.editar = false;\r\n setTela(JSON.stringify(dados));\r\n }\r\n const listaInputHidden = [];\r\n\r\n function autoTab(event) {\r\n if ((event.keyCode === 13 || event.keyCode === 9) || (!!event.which && (event.which === 13 || event.which === 9))) {\r\n if (!!event.target.form) {\r\n for (let key in event.target.form.elements) {\r\n if (!!event.target.form.elements[key].setAttribute && parseInt(key) >= 0) {\r\n event.target.form.elements[key].setAttribute('index', key);\r\n }\r\n }\r\n let index = parseInt(event.target.getAttribute('index'));\r\n if (!!event.target.form.elements[index + 1]) {\r\n if (event.target.form.elements[index + 1].disabled || event.target.form.elements[index + 1].hidden) {\r\n let posicao = validarCampoValido(event, index, 2);\r\n event.target.form.elements[index + posicao].focus();\r\n } else {\r\n event.target.form.elements[index + 1].focus();\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n function validarCampoValido(event, index, aux) {\r\n if (!!event.target.form.elements[index + aux]) {\r\n if (event.target.form.elements[index + aux].disabled) {\r\n aux += 1;\r\n validarCampoValido(event, index, aux);\r\n } else {\r\n return aux;\r\n }\r\n } else {\r\n return aux - 1;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldsValue() && ui.showDrawer) {\r\n for (let campo in form.getFieldsValue()) {\r\n listaInputHidden.push({ campo: campo, hidden: false });\r\n }\r\n popularListaInputHidden();\r\n if (!verificarJaPossuiFocus()) {\r\n listaInputHidden.forEach((inputHidden, index, array) => {\r\n if (!inputHidden.hidden && !!inputHidden.campo) {\r\n let input = form.getFieldInstance(inputHidden.campo);\r\n if (!!input && !!input.props && !input.props.disabled) {\r\n setTimeout(() => {\r\n try {\r\n input.focus();\r\n } catch {\r\n return;\r\n }\r\n }, 500);\r\n array.length = index + 1;//break the loop\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }, [ui.showDrawer]);\r\n\r\n function popularListaInputHidden() {\r\n let formItemHidden = !!document.querySelector('.ant-drawer') ? document.querySelector('.ant-drawer').querySelectorAll('.ant-form-item-hidden') : null;\r\n if (!!formItemHidden) {\r\n listaInputHidden.forEach((inputHidden, index, array) => {\r\n formItemHidden.forEach(itemHidden => {\r\n if (!!itemHidden.querySelector('input') && itemHidden.querySelector('input').id.indexOf(inputHidden.campo) > -1) {\r\n listaInputHidden[index].hidden = true;\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n function verificarJaPossuiFocus() {\r\n let retorno = false;\r\n listaInputHidden.forEach((inputHidden, index, array) => {\r\n let elementos = document.querySelector('.ant-drawer').querySelectorAll('input');\r\n let input = Array.prototype.filter.call(elementos, (test) => { return test.id.indexOf(inputHidden.campo) > -1 })[0]\r\n if (input === document.activeElement) {\r\n retorno = true;\r\n }\r\n });\r\n return retorno;\r\n };\r\n\r\n /*let dadosForm = localStorage.getItem(name);\r\n if (dadosForm) {\r\n if (dadosForm.includes(campoId)) {\r\n dadosForm = JSON.parse(dadosForm)\r\n if (dadosForm[campoId] === form.getFieldValue(campoId) ) form.setFieldsValue(dadosForm);\r\n } else {\r\n form.setFieldsValue(JSON.parse(dadosForm));\r\n }\r\n }*/\r\n return (\r\n gravaLocalStorage(allValues)}>\r\n {/*children?children.props.children.map(child => child):''*/}\r\n {children}\r\n \r\n )\r\n\r\n}\r\nexport default FormGW;","import React, { useEffect, useState } from 'react';\r\nimport { Select} from 'antd';\r\nimport api from '../../../services/api';\r\nimport { isNotNullOrEmpty } from '../../../services/funcoes';\r\n\r\nexport default function SelectAll({ url, idValue, nameValue, nameLabel, onChangeFunction, onBlurFunction, onClearFunction, campoFiltro = \"filtro\", placeholder,\r\n form, atualizaComponente = false, mostrarCodigoLabel = false, multiple = false, allowClear = false, conteudo = null, filtroPesq = null, filtroExtra,\r\n disabled = false, returnObject = false, onSelectFunction }) {\r\n const [carregando, setCarregando] = useState(false);\r\n const [lista, setLista] = useState([]);\r\n const [filtro, setFiltro] = useState('');\r\n const [usouFiltro, setUsouFiltro] = useState(false);\r\n const [valor, setValor] = useState(null);\r\n const [campoDescricao, setCampoDescricao] = useState(null);\r\n const [filtroAnt, setFiltroAnt] = useState(\"\");\r\n const [multiplosFiltros, setMultiplosFiltros] = useState(false);\r\n const [listaFiltros, setListaFiltros] = useState([]);\r\n const _nameValue = idValue ? idValue : nameValue;\r\n\r\n useEffect(() => carregarDados(), [filtro, atualizaComponente]);\r\n\r\n useEffect(() => {\r\n setFiltro(filtroPesq);\r\n }, [filtroPesq, atualizaComponente]);\r\n\r\n useEffect(() => {\r\n if (!isNotNullOrEmpty(form.getFieldValue([_nameValue]))) {\r\n setFiltro('');\r\n }\r\n setValor(form.getFieldValue([_nameValue]));\r\n }, [form.getFieldValue([_nameValue])]);\r\n\r\n function carregarDados() {\r\n setCarregando(true);\r\n let parametrosUrl = '';\r\n if (atualizaComponente !== null) {\r\n if (!multiplosFiltros) {\r\n !!filtro ? parametrosUrl = `&${!!campoDescricao ? campoDescricao : campoFiltro}=${filtro}` : parametrosUrl = \"\";\r\n } else {\r\n !!listaFiltros && listaFiltros.length > 0 ? listaFiltros.forEach(lf => parametrosUrl += `&${!!lf.campoDescricao ? lf.campoDescricao : lf.campoFiltro}=${lf.filtro}`) : parametrosUrl = \"\";\r\n }\r\n if (!!campoDescricao) {\r\n setCampoDescricao(null);\r\n }\r\n if (mostrarCodigoLabel) {\r\n parametrosUrl += `&Order=%2B${nameValue}`;\r\n }\r\n else {\r\n parametrosUrl += (nameLabel.search('[/+/g]') > 0 ? `&Order=%2B${nameLabel.split('+')[0]}` : `&Order=%2B${nameLabel}`);\r\n }\r\n if (url.search(/[?]/g) === -1) {\r\n parametrosUrl = parametrosUrl.replace('&', '?');\r\n }\r\n !!filtroExtra ? parametrosUrl += filtroExtra : naoFazNada();\r\n api.get(url + parametrosUrl).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let dados = [];\r\n\r\n let indice = !!atualizaComponente ? 0 : lista.length > 0 ? lista[lista.length - 1].key + 1 : 0;\r\n res.data.map((item, idx) => {\r\n item.key = indice;\r\n dados.push(item);\r\n indice++;\r\n });\r\n\r\n if (!isNotNullOrEmpty(filtro)) {//filtro em branco\r\n if (usouFiltro === true || atualizaComponente !== false) {\r\n atualizaComponente = false\r\n setUsouFiltro(false);\r\n setLista(dados);\r\n } else {\r\n setLista([...lista, ...dados]);\r\n }\r\n } else {\r\n if (filtro === filtroAnt) {\r\n setLista(dados);\r\n } else {\r\n setUsouFiltro(true);\r\n setFiltroAnt(filtro);\r\n setLista(dados);\r\n }\r\n }\r\n }\r\n }\r\n ).finally(\r\n () => {\r\n setCarregando(false)\r\n }\r\n );\r\n }\r\n }\r\n\r\n function naoFazNada() { }\r\n\r\n return (\r\n {\r\n if (option.props.value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }}\r\n onSearch={(valor) => { setFiltro(valor); }}\r\n onChange={(valor) => {\r\n setValor(valor);\r\n form.setFieldsValue({ [_nameValue]: valor });\r\n !!onChangeFunction ? onChangeFunction(valor) : naoFazNada();\r\n }}\r\n onBlur={(valor) => {\r\n\r\n !!onBlurFunction ? onBlurFunction(valor) : naoFazNada();\r\n }}\r\n onClear={(valor) => {\r\n !!onClearFunction ? onClearFunction(valor) : naoFazNada();\r\n }}\r\n // onSelect={(valor) => {\r\n // setValor(valor);\r\n // form.setFieldsValue({ [_nameValue]: valor });\r\n // !!onSelectFunction ? onSelectFunction(valor) : naoFazNada();\r\n // console.log(valor);\r\n // }}\r\n >\r\n {lista.map(item =>\r\n !!conteudo ? conteudo(item) :\r\n {mostrarCodigoLabel ? item[nameValue] + \" - \" : \"\"} {(nameLabel.search(/[+]/g) > 0 ? (item[nameLabel.split('+')[0]] + \" - \" + item[nameLabel.split('+')[1]]) : item[nameLabel])} \r\n )}\r\n \r\n )\r\n}\r\n","import React from \"react\";\r\nimport { Row, Col, Select, Divider, Form, Button } from \"antd\";\r\n\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\n\r\nexport default function SelectIncluir({\r\n dadosSelect = [],\r\n funcaoBotao = (() => { console.log('selectIncluir') }),\r\n campoDescricao = '',\r\n campoValue = '',\r\n placeHolder = '',\r\n campoKey = '',\r\n labelFormItem = '',\r\n nameFormItem = '',\r\n rulesFormItem = [],\r\n onChange = (() => { }),\r\n onBlur = (() => { }),\r\n onClear = (() => { }),\r\n onDeselect = (() => { }),\r\n onDropdownVisibleChange = (() => { }),\r\n onFocus = (() => { }),\r\n onInputKeyDown = (() => { }),\r\n onMouseEnter = (() => { }),\r\n onMouseLeave = (() => { }),\r\n onPopupScroll = (() => { }),\r\n onSearch = (() => { }),\r\n onSelect = (() => { }),\r\n}) {\r\n function retornarDadosArray(dado) {\r\n let retorno = '';\r\n campoDescricao.map((campo) => { retorno += dado[campo] + ','; });\r\n retorno = retorno.substring(0, retorno.lastIndexOf(','));\r\n return retorno;\r\n };\r\n\r\n return (\r\n\r\n \r\n (\r\n
\r\n \r\n
\r\n {menu}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n >\r\n {dadosSelect.map((dado) => (\r\n {(Array.isArray(campoDescricao) ? retornarDadosArray(dado) : dado[campoDescricao])}\r\n ))}\r\n \r\n \r\n\r\n );\r\n};","import React from \"react\";\r\nimport { Card, Descriptions, Tooltip, Button, Row, Col, Tag, Popconfirm } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined } from '@ant-design/icons';\r\n\r\nimport { TiposElementosFormulario } from './pages';\r\n\r\nexport default function ItemFormulario({ elemento, fnEditar = () => {}, fnExcluir = () => {}, status}) {\r\n function RetornaDescricaoElementoFormulario(tipo) {\r\n let retorno = TiposElementosFormulario.filter(el => el.value === tipo);\r\n return (retorno.length > 0 ? retorno[0].label : \"\");\r\n }\r\n\r\n //if (status !== 3 ){\r\n return (\r\n \r\n \r\n \r\n {elemento.rpj_linha}\r\n \r\n \r\n {elemento.rpj_coluna}\r\n \r\n \r\n {RetornaDescricaoElementoFormulario(elemento.rpj_tipoelemento)}\r\n \r\n \r\n {elemento.rpj_nomeelemento}\r\n \r\n \r\n \r\n {elemento.rpj_obrigatorio ? \"SIM\" : \"NÃO\"}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n fnExcluir()} okText=\"Sim\" cancelText=\"Não\">\r\n \r\n Estrutura do Formulário\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (e.target.tagName.toLowerCase() === \"path\" || e.target.tagName.toLowerCase() === \"svg\" || e.target.tagName.toLowerCase() === \"button\")}>\r\n {elementosFormulario.map((elemento, indice) =>\r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {elementosFormulario.length === 0 && }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Adicionar Elementos ao Formulário\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return !!value.match(/[a-zA-Z0-9_.]/gm) ? value.match(/[a-zA-Z0-9_.]/gm).join('') : '';\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'select') ? (\r\n \r\n \r\n Informe o texto da opção e pressione [ENTER]\r\n \r\n \r\n Para retornar valor informe Valor \"-\" Descrição\r\n \r\n \r\n }>\r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'selectPaginacao' || getFieldValue('rpj_tipoelemento') === 'selectAll') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'selectPaginacao' || getFieldValue('rpj_tipoelemento') === 'selectAll') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'selectPaginacao' || getFieldValue('rpj_tipoelemento') === 'selectAll') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'selectPaginacao' || getFieldValue('rpj_tipoelemento') === 'selectAll') ? (\r\n \r\n \r\n Para retornar 2 campos na Label informe campos Codigo\"+\"Descrição\r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'selectPaginacao' || getFieldValue('rpj_tipoelemento') === 'selectAll') ? (\r\n \r\n Mostrar Codigo na Label?\r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'selectPaginacao' || getFieldValue('rpj_tipoelemento') === 'selectAll') ? (\r\n \r\n Permitir Multi-seleção?\r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_tipoelemento') === 'dataPicker') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_tipoelemento !== currentValues.rpj_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n let elemento = getFieldValue('rpj_tipoelemento');\r\n //if (elemento === 'input') return ;\r\n if (elemento === 'textarea') return ;\r\n if (elemento === 'inputNumber') return ;\r\n if (elemento === 'checkbox') return ;\r\n if (elemento === 'switch') return ;\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n prevValues.rpj_obrigatorio !== currentValues.rpj_obrigatorio} >\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('rpj_obrigatorio') === true) ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n \r\n Obrigatorio\r\n \r\n \r\n \r\n \r\n \r\n {elementoEdicao.indice !== null &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalPersonalizacao(false)} elementosFormulario={elementosFormulario} setElementosFormulario={setElementosFormulario} />\r\n setOpenModalImportarElemento(false)} elementosFormulario={elementosFormulario} setElementosFormulario={setElementosFormulario} />\r\n \r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Card, Descriptions, Tooltip, Button, Row, Col, Tag, Popconfirm } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined } from '@ant-design/icons';\r\n\r\nimport { TiposElementosFormulario } from './pages';\r\nimport { render } from \"react-dom\";\r\n\r\nexport default function ItemFormulario({ elemento, fnEditar = () => { }, fnExcluir = () => { }, status }) {\r\n function RetornaDescricaoElementoFormulario(tipo) {\r\n let retorno = TiposElementosFormulario.filter(el => el.value === tipo);\r\n return (retorno.length > 0 ? retorno[0].label : \"\");\r\n }\r\n return (\r\n \r\n \r\n \r\n {elemento.cap_linha}\r\n \r\n \r\n {elemento.cap_coluna}\r\n \r\n \r\n {RetornaDescricaoElementoFormulario(elemento.cap_tipoelemento)}\r\n \r\n \r\n {elemento.cap_nomeelemento}\r\n \r\n \r\n \r\n {elemento.cap_obrigatorio ? \"SIM\" : \"NÃO\"}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n fnExcluir()} okText=\"Sim\" cancelText=\"Não\">\r\n \r\n \r\n \r\n Estrutura do Formulário\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (e.target.tagName.toLowerCase() === \"path\" || e.target.tagName.toLowerCase() === \"svg\" || e.target.tagName.toLowerCase() === \"button\")}>\r\n {!!elementosFormulario && elementosFormulario.map((elemento, indice) =>\r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {!!elementosFormulario && elementosFormulario.length === 0 && }\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Adicionar Elementos ao Formulário\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return !!value.match(/[a-zA-Z0-9_.]/gm) ? value.match(/[a-zA-Z0-9_.]/gm).join('') : '';\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'select') ? (\r\n \r\n \r\n Informe o texto da opção e pressione [ENTER]\r\n \r\n \r\n Para retornar valor informe Valor \"-\" Descrição\r\n \r\n \r\n }>\r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'selectPaginacao') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'selectPaginacao') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'selectPaginacao') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'selectPaginacao') ? (\r\n \r\n Mostrar Codigo na Label?\r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'selectPaginacao') ? (\r\n \r\n Permitir Multi-seleção?\r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_tipoelemento') === 'dataPicker') ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_tipoelemento !== currentValues.cap_tipoelemento}>\r\n {({ getFieldValue }) => {\r\n let elemento = getFieldValue('cap_tipoelemento');\r\n //if (elemento === 'input') return ;\r\n if (elemento === 'textarea') return ;\r\n if (elemento === 'inputNumber') return ;\r\n if (elemento === 'checkbox') return ;\r\n if (elemento === 'switch') return ;\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n prevValues.cap_obrigatorio !== currentValues.cap_obrigatorio} >\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('cap_obrigatorio') === true) ? (\r\n \r\n \r\n \r\n ) : null;\r\n }}\r\n \r\n \r\n \r\n \r\n Obrigatório\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {elementoEdicao.indice !== null &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalPersonalizacao(false)} elementosFormulario={elementosFormulario} setElementosFormulario={setElementosFormulario} />\r\n setOpenModalImportarElemento(false)} elementosFormulario={elementosFormulario} setElementosFormulario={setElementosFormulario} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Checkbox, DatePicker, Input, Select } from \"antd\";\r\nimport InputNumber from \"rc-input-number\";\r\n\r\nimport { InputPreco, SelectPaginacao, SelectAll } from \"../../components\";\r\n\r\nexport default function FormularioDinamico({ formulario, parametrosFiltros, retornarLinhas = true }) {\r\n const [elementosDinamicos, setElementosDinamicos] = useState([]);\r\n\r\n const retornaElementos = (elementos) => {\r\n var elementoConvert = JSON.stringify(elementos).replaceAll('cap_', 'rpj_');\r\n setElementosDinamicos(JSON.parse(elementoConvert));\r\n console.log({ elementoConvert });\r\n }\r\n\r\n useEffect(() => { if (!!parametrosFiltros) retornaElementos(parametrosFiltros); }, [parametrosFiltros]);\r\n useEffect(() => { if (!!elementosDinamicos && elementosDinamicos.length > 0) camposDinamicos(); }, [elementosDinamicos]);\r\n\r\n const camposDinamicos = () => {\r\n let linhas = []\r\n if (elementosDinamicos) {\r\n elementosDinamicos.forEach((reg, idx, array) => {\r\n if (linhas.filter((lin) => (lin.linha === reg.rpj_linha)).length > 0) {\r\n let dados = linhas.find((lin) => (lin.linha === reg.rpj_linha));\r\n dados.dados.push(reg);\r\n } else {\r\n linhas.push({ linha: reg.rpj_linha, dados: [reg] });\r\n }\r\n });\r\n }\r\n return linhas.map((linhasFiltro) => {\r\n if (retornarLinhas === true) {\r\n return (\r\n \r\n {componente(linhasFiltro.dados)}\r\n \r\n );\r\n\r\n } else {\r\n return (\r\n componente(linhasFiltro.dados)\r\n );\r\n }\r\n });\r\n }\r\n\r\n const componente = (linhasFiltro) => {\r\n return linhasFiltro.map((itemFiltro) => {\r\n\r\n switch (itemFiltro.rpj_tipoelemento) {\r\n case \"input\":\r\n return input(itemFiltro);\r\n case \"inputNumber\":\r\n return inputNumber(itemFiltro);\r\n case \"inputPreco\":\r\n return inputPreco(itemFiltro);\r\n case \"dataPicker\":\r\n return dataPicker(itemFiltro);\r\n case \"select\":\r\n return select(itemFiltro);\r\n case \"selectPaginacao\":\r\n return selectPaginacao(itemFiltro);\r\n case \"selectAll\":\r\n return selectAll(itemFiltro);\r\n case \"checkbox\":\r\n return checkbox(itemFiltro);\r\n default: return ''\r\n }\r\n });\r\n }\r\n\r\n const input = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const dataPicker = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const select = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n {JSON.parse(itemFiltro.rpj_options).options.map((select, idx, array) => (\r\n {select}\r\n ))}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const selectPaginacao = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const selectAll = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n const inputNumber = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const inputPreco = (itemFiltro) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const checkbox = (itemFiltro) => {\r\n return (\r\n \r\n \r\n {itemFiltro.rpj_label} \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n camposDinamicos()\r\n );\r\n\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Input, InputNumber, Select, Card, notification, Tooltip, Modal } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { SelectProduto } from \"../../components\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPreco } from \"..\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport { ModalGradeProduto } from \"../modals\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\n\r\nexport default function FiltroProduto({ form, dadosTabela, btnEditando, itemEditando }) {\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const [abrirModalGrade, setAbrirModalGrade] = useState(false);\r\n const [produtos, setProdutos] = useState([]);\r\n const [dadosGrade, setDadosGrade] = useState([]);\r\n const [desabilitarProd_id, setDesabilitarProd_id] = useState(false);\r\n const [consultaProduto, setConsultaProduto] = useState(null);\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const codBarras = useRef();\r\n const togglePesquisa = () => {\r\n setConsultaProduto(!consultaProduto);\r\n };\r\n\r\n useEffect(() => {\r\n setarFocoProduto();\r\n }, [consultaProduto]);\r\n\r\n function alterarValorTotal() {\r\n let total = 0;\r\n total = form.getFieldValue().quantidade * form.getFieldValue().valorUnitario;\r\n form.setFieldsValue({ valorTotalItem: total.toFixed(2) });\r\n };\r\n\r\n useEffect(() => {\r\n if (!!itemEditando) {\r\n let lista = [];\r\n if (!!itemEditando && itemEditando.pro_id) {\r\n if (!!itemEditando.prg_id) {\r\n lista.push({ name: \"pro_id\", campo: \"IdGrade\", value: itemEditando.prg_id });\r\n } else {\r\n lista.push({ name: \"pro_id\", campo: \"IdProduto\", value: itemEditando.pro_id });\r\n }\r\n }\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n form.setFieldsValue(manutencao.dados);\r\n }\r\n }, [itemEditando]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.dadosGrade) {\r\n buscarDadosGradeModal();\r\n }\r\n form.setFieldsValue({ pro_id: manutencao.dados.pro_id });\r\n }\r\n }, [manutencao]);\r\n\r\n\r\n function onCloseModalGrade() {\r\n buscarDadosGradeModal();\r\n setAbrirModalGrade(false);\r\n };\r\n\r\n async function buscarProduto(pro_id) {\r\n let dadosSelect = [...listaSelectPaginacao.itens];\r\n setProdutos(dadosSelect);\r\n let prod = dadosSelect.find(pro => pro.key == pro_id);\r\n if (isObjetoDiffVazio(prod)) {\r\n if (!!prod.prg_id) {\r\n let grade = await api.get(`ProdutoGrade/ListarGradesProdutos?apenasAtivas=true&codigoProduto=${prod.pro_id}`);\r\n setAbrirModalGrade(true);\r\n setDadosGrade(grade.data);\r\n } else {\r\n popularProduto(prod);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (btnEditando.editando && isObjetoDiffVazio(itemEditando)) {\r\n editandoItem(itemEditando);\r\n setExibirDetalhes(true);\r\n }\r\n }, [btnEditando])\r\n\r\n\r\n function editandoItem(dadosEditando) {\r\n form.setFieldsValue({ pro_id: dadosEditando.pro_id });\r\n form.setFieldsValue({ quantidade: dadosEditando.vci_quantidade });\r\n form.setFieldsValue({ valorUnitario: dadosEditando.vci_valorun });\r\n }\r\n\r\n function buscarDadosGradeModal() {\r\n let produtosSelec = [...dadosTabela.dadosItens];\r\n let produtos = [...listaSelectPaginacao.itens];\r\n let produtoGrade = dadosGrade.filter((produto) => { return produto.quantidade > 0; });\r\n produtoGrade.map((item) => {\r\n let dado = produtos.filter((produto) => (produto.prg_id === item.prg_id))[0];\r\n dado.vci_quantidade = item.quantidade;\r\n dado.vci_valorun = dado.lpi_valorvenda;\r\n dado.vci_sequencia = produtosSelec.length + 1;\r\n dado.vci_devolvido = 0;\r\n dado.atributos = item.descricaograde;\r\n produtosSelec.push(dado);\r\n });\r\n dadosTabela.setDadosItens(produtosSelec);\r\n cancelar();\r\n };\r\n\r\n function popularProduto(pro, prg_id = null, editar = false) {\r\n setExibirDetalhes(true);\r\n if (!editar) {\r\n form.setFieldsValue({ quantidade: 1 });\r\n form.setFieldsValue({ valorUnitario: (pro.lpi_valorvenda == null ? 0 : pro.lpi_valorvenda) });\r\n } else {\r\n let dados = manutencao.dados;\r\n form.setFieldsValue({ quantidade: dados.vci_quantidade });\r\n form.setFieldsValue({ valorUnitario: dados.vci_valorun });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n\r\n if (consultaProduto) {\r\n adicionarItem();\r\n }\r\n }\r\n\r\n function adicionarItem() {\r\n let dadosTemp = [...dadosTabela.dadosItens];\r\n let dados = {};\r\n if (form.getFieldValue().quantidade === 0 || parseFloat(form.getFieldValue().valorUnitario) === 0 || !!!form.getFieldValue().valorUnitario) {\r\n notification.warning({ message: 'Aviso!', description: `${!!form.getFieldValue().quantidade ? 'A Quantidade ' : 'O Valor '} do item não pode ser ZERO!` });\r\n return false;\r\n }\r\n if (!consultaProduto && dadosTemp.find(campo => campo.pro_id === form.getFieldValue().pro_id\r\n && ((!!form.getFieldValue().prg_id && form.getFieldValue().prg_id === campo.prg_id) || !form.getFieldValue().prg_id))) {\r\n adicionarItemCondicional(true, dadosTemp);\r\n } else {\r\n dados = adicionarItemCondicional(false, dadosTemp);\r\n dadosTemp.push(dados);\r\n }\r\n dadosTabela.setDadosItens(dadosTemp);\r\n\r\n if (btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n }\r\n setarFocoProduto();\r\n setExibirDetalhes(false);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n };\r\n\r\n function setarFocoProduto() {\r\n if (consultaProduto && !!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n };\r\n\r\n function cancelar() {\r\n setExibirDetalhes(false);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n if (btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n }\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ pro_id: null, percdesc: 0, desconto: 0, percacresc: 0, acrescimo: 0, nfi_cfop: null, icm_id: null, pro_codigo: null, prg_id: null });\r\n };\r\n\r\n function adicionarItemCondicional(editar = false, dadosTemp) {\r\n let dados = {};\r\n let formulario = form.getFieldValue();\r\n if (editar) {\r\n dados = dadosTemp[itemEditando.indice];\r\n dados.vci_valorun = parseFloat(!!formulario.valorUnitario ? formulario.valorUnitario : 0);\r\n dados.vci_quantidade = formulario.quantidade;\r\n } else {\r\n let produto;\r\n if (!!formulario.prg_id) {\r\n produto = produtos.filter((produto) => (produto.prg_id === formulario.prg_id))[0];\r\n } else {\r\n produto = produtos.filter((produto) => (produto.key === formulario.pro_id))[0];\r\n }\r\n dados.pro_id = produto.pro_id;\r\n dados.pro_codigo = produto.pro_codigo;\r\n dados.vci_devolvido = 0;\r\n dados.pro_descricao = produto.pro_descricao;\r\n dados.vci_quantidade = formulario.quantidade;\r\n dados.vci_sequencia = dadosTemp.length + 1;\r\n dados.pro_ean = !!produto.pro_ean ? produto.pro_ean : produto.prg_ean;\r\n dados.prg_id = produto.prg_id;\r\n dados.descricaograde = produto.descricaograde;\r\n dados.vci_valorun = parseFloat(!!formulario.valorUnitario ? formulario.valorUnitario : 0);\r\n }\r\n return dados;\r\n };\r\n\r\n async function buscarProdutoCodBarra(campo) {\r\n let dados = await api.get(`Produto/ListaProdutoCodigo?filtro=${campo.target.value.trim()}`);\r\n if (!!dados.data && dados.data.length > 0) {\r\n let produto = dados.data[0];\r\n form.setFieldsValue({ pro_id: produto.pro_id });\r\n if (!!dados.data[0].prg_id) {\r\n form.setFieldsValue({ prg_id: produto.prg_id });\r\n }\r\n let filtroGrade = dados.data[0].prg_id == null ? `` : `&codigoGrade=${produto.prg_id}`;\r\n let preco = await api.get(`ListaPrecoItem/BuscarPrecoPadraoItem?codigoProduto=${produto.pro_id}${filtroGrade}`);\r\n let dadosTemp = [...dadosTabela.dadosItens];\r\n let item = {};\r\n item.pro_id = produto.pro_id;\r\n item.pro_codigo = produto.pro_codigo;\r\n item.vci_devolvido = 0;\r\n item.pro_descricao = produto.pro_descricao;\r\n item.vci_quantidade = 1;\r\n item.vci_sequencia = dadosTemp.length + 1;\r\n item.pro_ean = !!produto.pro_ean ? produto.pro_ean : produto.prg_ean;\r\n item.prg_id = produto.prg_id;\r\n item.descricaograde = produto.descricaograde;\r\n item.vci_valorun = parseFloat(!!preco.data ? preco.data : 0);\r\n dadosTemp.push(item);\r\n dadosTabela.setDadosItens(dadosTemp);\r\n\r\n } else {\r\n Modal.error({\r\n title: \"Atenção!\",\r\n content: (\r\n
\r\n

Produto não localizado!

\r\n
\r\n ),\r\n onOk() {\r\n setarFocoProduto();\r\n }\r\n });\r\n }\r\n \r\n limparCampos();\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!!consultaProduto === false &&\r\n
\r\n \r\n { buscarProduto(dados) }} placeholder=\"Selecione o Produto\" name=\"pro_id\" detalhes={true}\r\n />\r\n \r\n \r\n }\r\n {!!consultaProduto &&\r\n \r\n \r\n {\r\n buscarProdutoCodBarra(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibirDetalhes &&\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { onCloseModalGrade() }} dados={dadosGrade} acrescimoDesconto={false} />\r\n \r\n );\r\n\r\n}","\r\nimport { manutencaoActions } from '../actions';\r\nimport { getNavegacao, getTela, setNavegacao } from '../services/auth';\r\n\r\nexport const gravarTela = (caminho, manutencao) => {\r\n let tela = JSON.parse(getNavegacao());\r\n if (!!tela.geral && !!tela.geral[caminho]) {\r\n let constante = {}\r\n constante = JSON.parse(getTela());\r\n if (!!constante.formulario && constante.formulario === caminho) {\r\n if (!!manutencao && !!manutencao.dados) {\r\n if (!!manutencao.dados.nomeTabela) {\r\n constante[manutencao.dados.nomeTabela] = manutencao.dados;\r\n }\r\n tela.geral[caminho].dados = JSON.stringify(constante);\r\n } else {\r\n tela.geral[caminho].dados = null;\r\n }\r\n }\r\n } else {\r\n incluirNovo(tela, caminho)\r\n }\r\n setNavegacao(tela);\r\n};\r\n\r\nexport const acrescDados = (caminho, name, dados, dispatch) => {\r\n buscarTela(caminho);\r\n let tela = JSON.parse(getNavegacao());\r\n let constante = {};\r\n if (!!tela.geral[caminho] && !!tela.geral[caminho].dados) {\r\n constante = JSON.parse(tela.geral[caminho].dados);\r\n constante[name] = dados;\r\n } else {\r\n incluirNovo(tela, caminho);\r\n if (!!tela.geral[caminho] && !!tela.geral[caminho].dados) {\r\n constante = JSON.parse(tela.geral[caminho].dados);\r\n constante[name] = dados;\r\n }\r\n }\r\n if (!!tela.geral[caminho]) {\r\n tela.geral[caminho].dados = JSON.stringify(constante);\r\n setNavegacao(tela);\r\n }\r\n dados.nomeTabela = name;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n};\r\n\r\nfunction incluirNovo(tela, caminho) {\r\n let dadosTela = getTela();\r\n if (!!dadosTela) {\r\n if (!!tela.geral) {\r\n tela.geral[caminho] = { 'Aberto': true };\r\n if (JSON.parse(dadosTela).formulario === caminho) {\r\n tela.geral[caminho].dados = dadosTela;\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const buscarTela = (caminho) => {\r\n var tela = JSON.parse(getNavegacao());\r\n if (!!tela.geral[caminho]) {\r\n return tela.geral[caminho].dados;\r\n } else {\r\n gravarTela(caminho);\r\n if (getTela()) {\r\n buscarTela(caminho);\r\n }\r\n }\r\n};\r\n\r\nexport const limparTela = (caminho, todos = false) => {\r\n var tela = JSON.parse(getNavegacao());\r\n if (todos) {\r\n setNavegacao({ geral: {} });\r\n } else {\r\n if (!!tela.geral[caminho]) {\r\n delete tela.geral[caminho].dados;\r\n setNavegacao(tela);\r\n\r\n }\r\n }\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Drawer } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nimport { gravarTela, limparTela } from \"../../services/navigation\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { MinusOutlined } from \"@ant-design/icons\";\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport { getNavegacao } from \"../../services/auth\";\r\nimport { isDate } from \"../../services/funcoes\";\r\n\r\nexport default function DrawerNav({ title, width = '70%', visible, className, form, limparAoEditar = false, fecharDrawer, fecharDrawerExtra, footer, afterVisibleChange, closeIcon, closable = true, destroyOnClose = false, children, extra }) {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n function minimizarDrawer() {\r\n let url = window.document.location.href;\r\n let nomeForm = url.substring(url.lastIndexOf('/'), url.length);\r\n /*setTimeout(() => {\r\n gravarTela(nomeForm, manutencao);\r\n }, 500);*/\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: false, showDrawerExtra: false } });\r\n };\r\n\r\n useEffect(() => {\r\n let jsonGeral = JSON.parse(getNavegacao()).geral;\r\n let dadosCaminho = {};\r\n let url = window.document.location.href;\r\n let nomeForm = url.substring(url.lastIndexOf('/'), url.length);\r\n if (!!jsonGeral) {\r\n dadosCaminho = jsonGeral[nomeForm];\r\n }\r\n if (!visible) {\r\n if (!!dadosCaminho && !!dadosCaminho.dados && (JSON.parse(dadosCaminho.dados).editar || !!!manutencao.dados)) {\r\n limparTela(nomeForm);\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n if (ui.showDrawerExtra) {\r\n if (!!fecharDrawerExtra) {\r\n fecharDrawerExtra();\r\n }\r\n } else {\r\n if (!!fecharDrawer) {\r\n fecharDrawer();\r\n\r\n }\r\n }\r\n } else if (visible && !!dadosCaminho && !!dadosCaminho.dados && !!!manutencao.dados) {\r\n let dados = JSON.parse(dadosCaminho.dados);\r\n for (let key in dados) {\r\n if (isDate(dados[key])) {\r\n dados[key] = moment(dados[key]);\r\n }\r\n }\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n }\r\n }, [visible]);\r\n\r\n return (\r\n }\r\n closable={closable}\r\n className={className}\r\n extra={extra}\r\n >\r\n {children}\r\n \r\n );\r\n};","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Form, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from '@ant-design/icons';\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nimport LancamentoTransferencia from '../../pages/lancamentoCaixa/lancamentoTransferencia';\r\nimport DrawerNav from '../drawerNav';\r\n\r\nexport default function DrawerLancamentoTransferencia({aoFechar = null}) {\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n const [formulario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n function fecharDrawer() {\r\n if (!!aoFechar) {\r\n aoFechar();\r\n }\r\n formulario.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerTransferencia: false } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n );\r\n};","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Form, Modal } from \"antd\";\r\nimport { CloseOutlined, SaveOutlined, ExclamationCircleOutlined, MinusOutlined } from '@ant-design/icons';\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from '../../actions';\r\n\r\nimport ManutencaoCaixa from '../../pages/lancamentoCaixa/manutencao';\r\nimport DrawerNav from '../drawerNav';\r\n\r\nexport default function DrawerManutencaoCaixa({aoFechar = null}) {\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n const [formulario] = Form.useForm();\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n function fecharDrawer() {\r\n if (!!aoFechar) {\r\n aoFechar();\r\n }\r\n formulario.resetFields();\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawerManutencaoCaixa: false } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n }\r\n footer={\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n );\r\n};","import React, { useEffect } from 'react';\r\nimport { Row, Col, Drawer, Button, Divider } from \"antd\";\r\nimport { CloseOutlined } from '@ant-design/icons';\r\n\r\nimport LinkNav from \"../linkNav\";\r\nimport { getNavegacao } from '../../services/auth';\r\nimport { limparTela } from '../../services/navigation';\r\n\r\nexport default function DrawerPaginasAbertas({ exibirPagina, paginas, fecharPagina }) {\r\n\r\n const listaPag = [\r\n { patch: \"/\", label: \"Home\" },\r\n\r\n /*** Pessoas ***/\r\n { patch: \"/cliente\", label: \"Clientes\" },\r\n { patch: \"/fornecedor\", label: \"Fornecedores\" },\r\n { patch: \"/transportador\", label: \"Transportadores\" },\r\n { patch: \"/funcionario\", label: \"Funcionários\" },\r\n { patch: \"/vendedor\", label: \"Vendedores\" },\r\n\r\n /*** Tributações ***/\r\n { patch: \"/tributacaoIcms\", label: \"Tributação ICMS\" },\r\n { patch: \"/tributacaoPisCofins\", label: \"Tributação PIS/COFINS\" },\r\n { patch: \"/ncm\", label: \"NCM - Substituição Tributária\" },\r\n { patch: \"/aliquotaSimplesNacional\", label: \"Alíquota Simples Nacional\" },\r\n\r\n /*** Produto ***/\r\n { patch: \"/marca\", label: \"Marca\" },\r\n { patch: \"/grupoProduto\", label: \"Grupo de Produtos\" },\r\n { patch: \"/subGrupo\", label: \"Subgrupo de Produtos\" },\r\n { patch: \"/produto\", label: \"Cadastro de Produtos\" },\r\n { patch: \"/gradeProduto\", label: \"Modalidade Grade\" },\r\n { patch: \"/preco\", label: \"Preços\" },\r\n { patch: \"/etiqueta\", label: \"Gerar Etiquetas\" },\r\n { patch: \"/relacionamentoFornecedorProduto\", label: \"Relacionamento Produto x Fornecedor\" },\r\n\r\n /*** Cadastro Gerais ***/\r\n { patch: \"/contaCorrente\", label: \"Conta Corrente\" },\r\n { patch: \"/contaGerencial\", label: \"Conta Gerencial\" },\r\n { patch: \"/operacaoFiscal\", label: \"Operações Fiscais\" },\r\n { patch: \"/operacaoDebitoCredito\", label: \"Operação Débito e Crédito\" },\r\n { patch: \"/formaPagamento\", label: \"Forma de Pagamento\" },\r\n { patch: \"/condicaoPagamento\", label: \"Condição de Pagamento\" },\r\n { patch: \"/serieFiscal\", label: \"Série Fiscal\" },\r\n { patch: \"/historico\", label: \"Históricos\" },\r\n\r\n /*** Nota Fiscal ***/\r\n { patch: \"/notaFiscal\", label: \"Emissão de Nota Fiscal\" },\r\n { patch: \"/monitoramentoNfe\", label: \"Monitoramento NF-e\" },\r\n { patch: \"/notaFiscalTransferencia\", label: \"Notas Fiscais de Transferência\" },\r\n { patch: \"/cartaCorrecaoNotaFiscal\", label: \"Carta de Correção\" },\r\n { patch: \"/inutilizacaoNfe\", label: \"Inutilizar Nº de NF-e/NFC-e\" },\r\n { patch: \"/ordemCompra\", label: \"Ordem de Compra\" },\r\n\r\n /*** Orçamento ***/\r\n { patch: \"/orcamento\", label: \"Orçamento\" },\r\n\r\n /*** Pedidos Cliente ***/\r\n { patch: \"/pedidos\", label: \"Pedidos\" },\r\n { patch: \"/statusPedido\", label: \"Status Pedido\" },\r\n\r\n /*** Vendas ***/\r\n { patch: \"/condicional\", label: \"Condicional\" },\r\n { patch: \"/valePresente\", label: \"Vale Presente\" },\r\n { patch: \"/metas\", label: \"Metas de Vendas\" },\r\n { patch: \"/comissao\", label: \"Comissão\" },\r\n { patch: \"/consultaComissao\", label: \"Consulta Comissão\" },\r\n { patch: \"/antecipacao\", label: \"Antecipação Cliente/Fornecedor\" },\r\n\r\n /*** Financeiro ***/\r\n { patch: \"/contaReceber\", label: \"Contas a Receber\" },\r\n { patch: \"/recebimentoParcela\", label: \"Recebimento de Parcelas\" },\r\n { patch: \"/contaPagar\", label: \"Contas a Pagar\" },\r\n { patch: \"/pagamentoParcela\", label: \"Pagamento de Parcelas\" },\r\n { patch: \"/lancamentoCaixa\", label: \"Lançamentos de Caixa/Bancos\" },\r\n { patch: \"/fluxoCaixa\", label: \"Fluxo de Caixa\" },\r\n { patch: \"/conciliacaoCartoes\", label: \"Conciliação de Cartões\" },\r\n { patch: \"/cheque\", label: \"Controle de Cheques\" },\r\n\r\n /*** Boletos ***/\r\n { patch: \"/boleto\", label: \"Boleto\" },\r\n { patch: \"/remessa\", label: \"Gerar Remessa Bancária\" },\r\n { patch: \"/retornoBancario\", label: \"Processar Retorno Bancário\" },\r\n\r\n /*** Estoque ***/\r\n { patch: \"/armazemEstoque\", label: \"Armazém de Estoque\" },\r\n { patch: \"/estoque\", label: \"Consulta Estoque\" },\r\n { patch: \"/estoqueManutencao\", label: \"Manutenção de Estoque\" },\r\n { patch: \"/inventario\", label: \"Inventário\" },\r\n\r\n /*** Gerencial ***/\r\n { patch: \"/matrizFilial\", label: \"Matriz Filial\" },\r\n { patch: \"/configuracaoNfeNfce\", label: \"Configuração de NF-e/NFC-e\" },\r\n { patch: \"/gerenciarPdv\", label: \"Gerenciar PDVs\" },\r\n { patch: \"/limiteCreditoCliente\", label: \"Definição de Limite de Crédito\" },\r\n { patch: \"/contador\", label: \"Dados Contador\" },\r\n { patch: \"/plano\", label: \"Plano Contratado\" },\r\n { patch: \"/bandeiraCartaoEmpresa\", label: \"Cartão Crédito/Débito\" },\r\n { patch: \"/centroDistribuicao\", label: \"Centro de Distribuição\" },\r\n { patch: \"/acaoUsuario\", label: \"Ações Usuário\" },\r\n\r\n /*** Relatórios ***/\r\n { patch: \"/relatorios\", label: \"Relatórios\" },\r\n { patch: \"/analiseInadimplencia\", label: \"Análise de Inadimplência\" },\r\n\r\n /*** Personalização ***/\r\n { patch: \"/personalizacao\", label: \"Formulário\" },\r\n { patch: \"/camposPersonalizados\", label: \"Campos Personalizados\" },\r\n\r\n /*** Usuários e Grupos ***/\r\n { patch: \"/usuario\", label: \"Usuários\" },\r\n { patch: \"/grupoUsuario\", label: \"Grupo Usuários\" },\r\n\r\n /*** Arquivos Fiscais ***/\r\n { patch: \"/efdIcmsIpi\", label: \"EFDICMS/IPI\" }\r\n ]\r\n\r\n const onClosePaginaAbertas = () => {\r\n fecharPagina()\r\n };\r\n\r\n useEffect(() => {\r\n let dados = JSON.parse(getNavegacao());\r\n let paginasAbertas = [];\r\n if (!!dados && !!dados.geral) {\r\n let dadosGeral = dados.geral;\r\n for (let key in dadosGeral) {\r\n paginasAbertas.push(key);\r\n }\r\n paginas.setPaginasAbertas(listaPag.filter(pag => paginasAbertas.includes(pag.patch)))\r\n }\r\n }, [getNavegacao()])\r\n\r\n function limparTelas() {\r\n limparTela('', true);\r\n paginas.setPaginasAbertas([]);\r\n onClosePaginaAbertas();\r\n };\r\n\r\n function excluirPagina(pagSelec) {\r\n let pagAbertas = [...paginas.paginasAbertas];\r\n pagAbertas = pagAbertas.filter((pag) => (pag.patch !== pagSelec.patch));\r\n paginas.setPaginasAbertas(pagAbertas);\r\n }\r\n\r\n function AtzBreadcrumb(item) {\r\n localStorage.setItem('@GestorWeb-Breadcrumb', '|' + listaPag.filter(pag => pag.patch === item.currentTarget.getAttribute('href').replace('#', ''))[0].label);\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n paginas.paginasAbertas.map((pag) => (\r\n \r\n \r\n \r\n { AtzBreadcrumb(item); onClosePaginaAbertas(); }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n {paginas.paginasAbertas.length > 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n )\r\n};","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Table, Row, Col, Divider } from 'antd';\r\nimport { ArrowUpOutlined, ArrowDownOutlined, ExclamationCircleOutlined } from '@ant-design/icons';\r\n\r\nimport { acrescDados } from '../../services/navigation';\r\nimport { useStateValue } from '../../state';\r\n\r\nfunction Tabela({ colunas, dados = [], paginacao = true, expandir, footerTabela, parametrosSelecionarItens, selecionarItem = false, nomeId = 'itens' }) {\r\n\r\n const [pagina, setPagina] = useState(1);\r\n const [registrosPorPagina, setRegistrosPorPagina] = useState(20);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n const configPaginacao = paginacao ? {\r\n current: pagina,\r\n pageSize: registrosPorPagina,\r\n showSizeChanger: true,\r\n onChange: (pg) => setPagina(pg),\r\n onShowSizeChange: (atual, porPagina) => setRegistrosPorPagina(porPagina)\r\n } : null;\r\n\r\n const configSelecionarItem = selecionarItem ?\r\n setCondicaoSelecionarItem()\r\n : null;\r\n\r\n useEffect(() => {\r\n if (!!dados && dados.length > 0) {\r\n let url = window.document.location.href;\r\n acrescDados(url.substring(url.lastIndexOf('/'), url.length), nomeId, dados, dispatch);\r\n }\r\n }, [dados]);\r\n\r\n function setCondicaoSelecionarItem() {\r\n if (!!parametrosSelecionarItens && !!parametrosSelecionarItens.tipo) {\r\n if (parametrosSelecionarItens.tipo === \"change\") {\r\n return {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n parametrosSelecionarItens.funcao(selectedRowKeys, selectedRows);\r\n }\r\n }\r\n } else if (parametrosSelecionarItens.tipo === \"select\") {\r\n return {\r\n onSelect: (record, selected, selectedRows) => {\r\n parametrosSelecionarItens.funcao(record, selected, selectedRows);\r\n }\r\n }\r\n } else if (parametrosSelecionarItens.tipo === \"selectall\") {\r\n return {\r\n onSelectAll: (selected, selectedRows, changeRows) => {\r\n parametrosSelecionarItens.funcao(selected, selectedRows, changeRows);\r\n }\r\n }\r\n }\r\n }\r\n return \"\";\r\n\r\n };\r\n\r\n return (\r\n
{\r\n return expanded ? (\r\n onExpand(record, e)} />\r\n ) : (\r\n onExpand(record, e)} />\r\n );\r\n }}\r\n locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n )\r\n }}\r\n rowSelection={configSelecionarItem} scroll={{ x: 900 }} footer={footerTabela} columnWidth={15}\r\n />\r\n )\r\n}\r\n\r\nTabela.propTypes = {\r\n colunas: PropTypes.array.isRequired,\r\n paginacao: PropTypes.bool\r\n}\r\n\r\nexport default Tabela;","import React, { useEffect, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Table, InputNumber, Select, notification, Tag, Modal, Descriptions, Input } from \"antd\";\r\nimport { CheckOutlined, DeleteOutlined, EditOutlined, ExclamationCircleOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport Data from \"../data\";\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { getTela } from \"../../services/auth\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { manutencaoActions, selectPaginadoActions } from \"../../actions\";\r\nimport DrawerVendedores from \"../drawerVendedores\";\r\nimport { isObjetoDiffVazio, validarNumeros } from \"../../services/funcoes\";\r\nimport { ModalAntecipacaoClienteFornecedor, ModalBandeiraCartao, ModalContaCorrente, ModalParcelasPendentes, ModalSenhaLiberacao, ModalCheque } from \"../modals\";\r\nimport SelectPaginado from \"../selectPaginado\";\r\n\r\nexport default function FormasPagamento({ form, dadosOperacao, listaFormaPagamento, setListaFormaPagamento }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [formaPagamento, setFormaPagamento] = useState([]);\r\n const [condicaoPagamento, setCondicaoPagamento] = useState([]);\r\n const [valorJaPago, setValorJaPago] = useState(false);\r\n const [pagamentoTotal, setPagamentoTotal] = useState(false);\r\n const [multiplasFormasPagamento, setMultiplasFormasPagamento] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n const [abrirDrawerVendedores, setAbrirDrawerVendedores] = useState(false);\r\n const [formVendedores] = Form.useForm();\r\n const [valorTotal, setValorTotal] = useState(0);\r\n const [semCondicao, setSemCondicao] = useState(false);\r\n const [ehCheque, setEhCheque] = useState(false);\r\n const [ehValePresente, setEhValePresente] = useState(false);\r\n const [dadosTela] = useState(getTela());\r\n const [isNota, setIsNota] = useState(false);\r\n const [openModalCartao, setOpenModalCartao] = useState(false);\r\n const [dadosParcelas, setDadosParcelas] = useState([]);\r\n const [abreModalLiberacao, setAbreModalLiberacao] = useState(false);\r\n const [abreModalParcPendentes, setAbreModalParcPendentes] = useState(false);\r\n const [parcelasPessoasAtraso, setParcelasPessoasAtraso] = useState([]);\r\n const [executarParcelas, setExecutarParcelas] = useState(false);\r\n const [formaPagamentoAntecipacao, setFormaPagamentoAntecipacao] = useState({});\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [exibirModalCheque, setExibirModalCheque] = useState(false);\r\n const [dadosCheque, setDadosCheque] = useState([]);\r\n const [abreModalContaCorrente, setAbreModalContaCorrente] = useState(false);\r\n const [contaCorrente, setContaCorrente] = useState({});\r\n const [tipoContaCorrente, setTipoContaCorrente] = useState(\"1\");\r\n const [abreModalAntecipacao, setAbreModalAntecipacao] = useState(false);\r\n const [dadosAntecipacao, setDadosAntecipacao] = useState([]);\r\n const [valorRestante, setValorRestante] = useState(0);\r\n const [desabilitaBtn, setDesabilitaBtn] = useState(false);\r\n const [editandoParcelas, setEditandoParcelas] = useState(false);\r\n const [semPagamento, setSemPagamento] = useState(false);\r\n const pagamentosCodigos = {\r\n dinheiro: 1,\r\n cheque: 2,\r\n cartaoCredito: 3,\r\n cartaoDebito: 4,\r\n crediarioLoja: 5,\r\n valeAlimentacao: 10,\r\n valeRefeicao: 11,\r\n valePresente: 12,\r\n valeCombustivel: 13,\r\n duplicataMercantil: 14,\r\n boleto: 15,\r\n depositoBancario: 16,\r\n pix: 17,\r\n transfBancaria: 18,\r\n programaFidelidade: 19,\r\n semPagamento: 90,\r\n outro: 99\r\n };\r\n\r\n const fecharModalOK = () => {\r\n setOpenModalCartao(false);\r\n };\r\n\r\n const fecharModalCartao = () => {\r\n let dados = [...listaFormaPagamento];\r\n let index = listaFormaPagamento.length - 1;\r\n removerFormaPagamento(dados[index]);\r\n setOpenModalCartao(false);\r\n };\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n if (validarNumeros(valorTotal) === 0) {\r\n setValorTotal(validarNumeros(form.getFieldValue().valorTotal));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (validarNumeros(valorTotal) !== 0) {\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n }, [valorTotal]);\r\n\r\n useEffect(() => {\r\n if (!!dadosTela) {\r\n let tela = JSON.parse(dadosTela).formulario.replaceAll('/', '');\r\n if (tela === `notaFiscal`) {\r\n setIsNota(true);\r\n }\r\n }\r\n }, [dadosTela]);\r\n\r\n useEffect(() => {\r\n if (isNota) {\r\n setMultiplasFormasPagamento(true);\r\n }\r\n }, [isNota]);\r\n\r\n useEffect(() => {\r\n let valor = 0;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach((lista) => {\r\n valor += parseFloat(lista.pfp_valor);\r\n });\r\n if (!!form.getFieldValue().fpg_id) {\r\n listarCondicao(form.getFieldValue().fpg_id, true);\r\n }\r\n if (valor >= valorTotal && valor >= parseFloat(form.getFieldValue().valorTotal)) {\r\n setPagamentoTotal(true);\r\n } else {\r\n setPagamentoTotal(false);\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n setExecutarParcelas(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ faturamento: listaFormaPagamento } } } });\r\n } else {\r\n setPagamentoTotal(false);\r\n }\r\n if (!!listaFormaPagamento[listaFormaPagamento.length - 1] && !!!listaFormaPagamento[listaFormaPagamento.length - 1].ctc_id &&\r\n (listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.depositoBancario\r\n || listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.transfBancaria\r\n || listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.pix)) {\r\n setAbreModalContaCorrente(true);\r\n setTipoContaCorrente(\"2\")\r\n }\r\n if (!!listaFormaPagamento[listaFormaPagamento.length - 1] && !!!listaFormaPagamento[listaFormaPagamento.length - 1].ctc_id &&\r\n (listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.cheque\r\n || listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.dinheiro)) {\r\n setTipoContaCorrente(\"1\");\r\n setAbreModalContaCorrente(true);\r\n }\r\n\r\n setEhValePresente(false);\r\n setValorJaPago(valor);\r\n }, [listaFormaPagamento]);\r\n\r\n useEffect(() => {\r\n if (parseFloat(form.getFieldValue().valorTotal) > 0 && !editando) {\r\n let valor = 0;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach((lista) => {\r\n valor += parseFloat(lista.pfp_valor);\r\n });\r\n if (valor >= valorTotal && valor >= parseFloat(form.getFieldValue().valorTotal)) {\r\n setPagamentoTotal(true);\r\n } else {\r\n setPagamentoTotal(false);\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n }\r\n }\r\n\r\n }, [form.getFieldValue()]);\r\n\r\n useEffect(() => {\r\n if (parseFloat(valorRestante) > 0 && !!manutencao.dados && !!!manutencao.dados.antecipacao) {\r\n verificarAntecipacoes();\r\n }\r\n }, [valorRestante]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.faturamento && executarParcelas) {\r\n let dados = manutencao.dados.faturamento;\r\n let index = dados.length - 1;\r\n setExecutarParcelas(false);\r\n if (dados[index].fpg_tipopagamento === pagamentosCodigos.crediarioLoja) {\r\n validarJaPossuiCrediario(() => {\r\n popularParcelas();\r\n });\r\n } else if (dados[index].fpg_tipopagamento === pagamentosCodigos.boleto) {\r\n validarJaPossuiBoleto(() => {\r\n popularParcelas();\r\n });\r\n } else if ((((dados[index].fpg_tipopagamento === pagamentosCodigos.cartaoCredito && dadosParcelas.length === 0)\r\n || dados[index].fpg_tipopagamento === pagamentosCodigos.cartaoDebito) && !!!manutencao.dados.credito) && !openModalCartao) {\r\n abrirModalCartao(dados[index]);\r\n } else if (dados[index].fpg_tipopagamento === pagamentosCodigos.cheque) {\r\n abrirModalCheque(dados[index]);\r\n }\r\n } else if (!!manutencao.dados && !!manutencao.dados.antecipacao) {\r\n retornaFormaPagamentoAntecipacao();\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n setValorTotal(validarNumeros(form.getFieldValue().valorTotal));\r\n let dadosFormaPagamento = formaPagamento.filter((forma) => { return forma.fpg_id === form.getFieldValue().fpg_id; })[0];\r\n if (multiplasFormasPagamento && (!!dadosFormaPagamento && dadosFormaPagamento.fpg_tipopagamento !== pagamentosCodigos.valePresente)) {\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n }, [multiplasFormasPagamento]);\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue().fpg_id) {\r\n let dadosFormaPagamento = formaPagamento.filter((forma) => { return forma.fpg_id === form.getFieldValue().fpg_id; })[0];\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ formaPagamento: dadosFormaPagamento } } } });\r\n }\r\n }, [form.getFieldValue().fpg_id]);\r\n\r\n useEffect(() => {\r\n if (isObjetoDiffVazio(formaPagamentoAntecipacao)) {\r\n adicionarFormaPagamento(false, true);\r\n\r\n }\r\n }, [formaPagamentoAntecipacao]);\r\n\r\n useEffect(() => {\r\n\r\n if (semCondicao && !!form.getFieldValue().fpg_id) {\r\n adicionarFormaPagamento();\r\n }\r\n }, [semCondicao]);\r\n\r\n useEffect(() => {\r\n if (semPagamento) {\r\n\r\n }\r\n }, [semPagamento]);\r\n\r\n const formaPgtoAntecipacao = {\r\n fpg_id: 10758,\r\n ctc_descricao: null,\r\n ctc_id: null,\r\n dbl_extensaoarquivoremessa: null,\r\n dbl_nomearquivoremessa: null,\r\n dbl_padraoarquivoremessa: null,\r\n fpg_ativo: true,\r\n fpg_descontopadrao: null,\r\n fpg_descricao: \"ANTECIPACAO\",\r\n fpg_emiteboleto: false,\r\n fpg_imprimecarne: false,\r\n fpg_padraosistema: true,\r\n fpg_principal: true,\r\n parcelas: [],\r\n cheques: [],\r\n antecipacoes: !!manutencao.dados && !!manutencao.dados.antecipacao ? manutencao.dados.antecipacao : [],\r\n fpg_tipopagamento: pagamentosCodigos.programaFidelidade,//A prazo\r\n };\r\n\r\n function onCloseModalLiberacao() {\r\n setAbreModalLiberacao(false);\r\n };\r\n\r\n function onCloseModalParcPendentes() {\r\n setAbreModalParcPendentes(false);\r\n };\r\n\r\n function onCloseModalParcPendentesOk() {\r\n setAbreModalParcPendentes(false);\r\n adicionarFormaPagamento(true);\r\n };\r\n\r\n function onCloseModalCheque() {\r\n setExibirModalCheque(false);\r\n };\r\n\r\n function carregarDados() {\r\n api.get('FormaPagamento/Listar?Ativo=true').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let dados = res.data.items;\r\n if (!!dadosOperacao && isObjetoDiffVazio(dadosOperacao)) {\r\n if (dadosOperacao.tip_id === 5) {\r\n setFormaPagamento(dados);\r\n } else {\r\n setFormaPagamento(dados.filter((fpg) => (fpg.fpg_tipopagamento !== 90)));\r\n }\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function valorRestantePgto(dadosTemp) {\r\n let restante = 0;\r\n let valorPago = 0;\r\n if (!editando) {\r\n dadosTemp.forEach((dados) => {\r\n valorPago += parseFloat(dados.pfp_valor);\r\n });\r\n restante = parseFloat(valorTotal) - valorPago;\r\n form.setFieldsValue({ pfp_valor: restante.toFixed(2) });\r\n setValorRestante(parseFloat(restante.toFixed(2)));\r\n } else {\r\n setEditando(false);\r\n }\r\n };\r\n\r\n function listarCondicao(fpg_id, dadosIniciais = false) {\r\n if (!dadosIniciais) {\r\n form.setFieldsValue({ cpg_id: null });\r\n }\r\n api.get(`CondicaoPagamento/Listar?Ativo=true&CodigoFormaPagamento=${fpg_id}&PageSize=500`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setCondicaoPagamento(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function retornaFormaPagamentoAntecipacao() {\r\n api.get(`FormaPagamento/RetornaFormaPagamentoAntecipacao?Ativo=true&FormasPagtoQuitaAntecipacao=true`).then(\r\n res => {\r\n setFormaPagamentoAntecipacao(res.data.items[0]);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function validarJaPossuiCrediario(callback) {\r\n let dados = [...listaFormaPagamento];\r\n if (!dados.find((formaPgto => (formaPgto.fpg_tipopagamento === pagamentosCodigos.crediarioLoja && !!formaPgto.parcelas && formaPgto.parcelas.length > 0)))) {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n };\r\n\r\n function validarJaPossuiBoleto(callback) {\r\n let dados = [...listaFormaPagamento];\r\n if (!dados.find((formaPgto => (formaPgto.fpg_tipopagamento === pagamentosCodigos.boleto && !!formaPgto.parcelas && formaPgto.parcelas.length > 0)))) {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n\r\n async function adicionarFormaPagamento(liberadoCredito = false, antecipacao = false) {\r\n let dadosTemp = [...listaFormaPagamento];\r\n let pagamentoCartao = false;\r\n\r\n if (parseFloat(form.getFieldValue().pfp_valor) === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'Valor de Pagamento Inválido!' });\r\n return false;\r\n }\r\n\r\n if (ehValePresente && !!!form.getFieldValue().codigoValePresente) {\r\n notification.warning({ description: 'Favor informar um vale presente válido!', message: 'Aviso' });\r\n return;\r\n }\r\n\r\n //Utilizado para atualizar a constante de valor total da nota de acordo com o formulario que é o valor exibido em tela.\r\n setValorTotal(validarNumeros(form.getFieldValue().valorTotal));\r\n\r\n if (antecipacao) {\r\n if (!dadosTemp.find(formasPgto => formasPgto.fpg_tipopagamento === pagamentosCodigos.programaFidelidade && formasPgto.fpg_quitacaoantecipacao)) {\r\n dadosTemp.push({\r\n fpg_id: formaPagamentoAntecipacao.fpg_id,\r\n fpg_descricao: formaPagamentoAntecipacao.fpg_descricao,\r\n cpg_descricao: '',\r\n cpg_id: null,\r\n condicaoPagamento: {},\r\n formaPagamento: formaPgtoAntecipacao,\r\n pfp_valor: manutencao.dados.antecipacao[0].valorAntecipacao,\r\n parcelas: [],\r\n descontoPadrao: {},\r\n ctc_id: formaPagamentoAntecipacao.ctc_id,\r\n fpg_tipopagamento: pagamentosCodigos.programaFidelidade,\r\n fpg_quitacaoantecipacao: formaPagamentoAntecipacao.fpg_quitacaoantecipacao,\r\n });\r\n setListaFormaPagamento(dadosTemp);\r\n setFormaPagamentoAntecipacao({});\r\n valorRestantePgto(dadosTemp);\r\n }\r\n } else {\r\n if (!!form.getFieldValue().fpg_id && (semCondicao || (condicaoPagamento.length === 0 || !!form.getFieldValue().cpg_id))) {\r\n let dadosFormaPagamento = (await api.get(`FormaPagamento/Get?id=${form.getFieldValue().fpg_id}`)).data;\r\n if (listaFormaPagamento.find((formas) => (\r\n formas.fpg_id === form.getFieldValue().fpg_id && (!semCondicao ? formas.cpg_id === form.getFieldValue().cpg_id : true)\r\n ))) {\r\n let dados = listaFormaPagamento.find((formas) => (\r\n formas.fpg_id === form.getFieldValue().fpg_id && (!semCondicao ? formas.cpg_id === form.getFieldValue().cpg_id : true)\r\n ));\r\n dados.pfp_valor = parseFloat(form.getFieldValue().pfp_valor);\r\n validarContaCorrente(dadosTemp, () => {\r\n if (!pagamentoCartao) {\r\n valorRestantePgto(dadosTemp);\r\n }\r\n });\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ fpg_tipopagamento: null });\r\n\r\n form.setFieldsValue({ ctc_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n form.setFieldsValue({ numeroCheques: null });\r\n } else {\r\n verificarRestricoesCredito(dadosFormaPagamento, liberadoCredito, () => {\r\n incluirNovaFormaPagamento(dadosTemp);\r\n });\r\n }\r\n\r\n }\r\n else if (form.getFieldValue().cpg_id === null) {\r\n notification.warning({ message: 'Aviso', description: 'Informe a condição de pagamento!' });\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Informe a forma e a condição de pagamento!' });\r\n }\r\n }\r\n };\r\n\r\n\r\n async function incluirNovaFormaPagamento(listaForma) {\r\n let dadosFormaPagamento = (await api.get(`FormaPagamento/Get?id=${form.getFieldValue().fpg_id}`)).data;\r\n\r\n if (semCondicao) {\r\n let valor = 0;\r\n if (!semPagamento) {\r\n valor = form.getFieldValue().pfp_valor;\r\n }\r\n listaForma.push({\r\n fpg_id: form.getFieldValue().fpg_id,\r\n fpg_descricao: dadosFormaPagamento.fpg_descricao,\r\n cpg_descricao: '',\r\n cpg_id: null,\r\n condicaoPagamento: {},\r\n formaPagamento: !!dadosFormaPagamento && JSON.stringify(dadosFormaPagamento) !== '{}' ? dadosFormaPagamento : {},\r\n pfp_valor: valor,\r\n nfp_codigovalepresente: form.getFieldValue().codigoValePresente,\r\n parcelas: [],\r\n numeroCheques: null,\r\n descontoPadrao: {},\r\n ctc_id: dadosFormaPagamento.ctc_id,\r\n fpg_tipopagamento: dadosFormaPagamento.fpg_tipopagamento,\r\n fpg_tipointegracao: dadosFormaPagamento.fpg_tipointegracao,\r\n });\r\n\r\n validarContaCorrente(listaForma, () => {\r\n if (!semPagamento) {\r\n valorRestantePgto(listaForma);\r\n } else {\r\n setValorRestante(0);\r\n }\r\n });\r\n\r\n\r\n } else {\r\n if (parseFloat(valorTotal) < parseFloat(parseFloat(form.getFieldValue().pfp_valor) + parseFloat(valorJaPago)).toFixed(2)) {\r\n notification.warning({ message: 'Aviso', description: 'Valor de pagamento maior que o total do pedido!' });\r\n } else {\r\n let dadosCondicoesPagamento = condicaoPagamento.filter((condicao) => { return condicao.cpg_id === form.getFieldValue().cpg_id; })[0];\r\n listaForma.push({\r\n fpg_id: form.getFieldValue().fpg_id,\r\n fpg_descricao: dadosFormaPagamento.fpg_descricao,\r\n cpg_descricao: !!dadosCondicoesPagamento && dadosCondicoesPagamento.cpg_descricao ? dadosCondicoesPagamento.cpg_descricao : '',\r\n cpg_id: !!form.getFieldValue().cpg_id ? form.getFieldValue().cpg_id : null,\r\n condicaoPagamento: !!dadosCondicoesPagamento && JSON.stringify(dadosCondicoesPagamento) !== '{}' ? dadosCondicoesPagamento : {},\r\n formaPagamento: !!dadosFormaPagamento && JSON.stringify(dadosFormaPagamento) !== '{}' ? dadosFormaPagamento : {},\r\n pfp_valor: form.getFieldValue().pfp_valor,\r\n nfp_codigovalepresente: form.getFieldValue().codigoValePresente,\r\n parcelas: [],\r\n numeroCheques: form.getFieldValue().numeroCheques,\r\n descontoPadrao: {},\r\n ctc_id: dadosFormaPagamento.ctc_id,\r\n fpg_tipopagamento: dadosFormaPagamento.fpg_tipopagamento,\r\n fpg_tipointegracao: dadosFormaPagamento.fpg_tipointegracao,\r\n });\r\n validarContaCorrente(listaForma, () => {\r\n valorRestantePgto(listaForma);\r\n });\r\n }\r\n }\r\n\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ fpg_tipopagamento: null });\r\n\r\n form.setFieldsValue({ ctc_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n form.setFieldsValue({ numeroCheques: null });\r\n };\r\n\r\n function validarContaCorrente(dados, callback) {\r\n let ultimaForma = dados[dados.length - 1];\r\n if (!!!ultimaForma.ctc_id && (ultimaForma.fpg_tipopagamento === pagamentosCodigos.cheque || ultimaForma.fpg_tipopagamento === pagamentosCodigos.dinheiro\r\n || ultimaForma.fpg_tipopagamento === pagamentosCodigos.depositoBancario || ultimaForma.fpg_tipopagamento === pagamentosCodigos.pix\r\n || ultimaForma.fpg_tipopagamento === pagamentosCodigos.transfBancaria)) {\r\n setAbreModalContaCorrente(true);\r\n }\r\n\r\n setListaFormaPagamento(dados);\r\n if (!!callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function onCloseModalContaCorrente() {\r\n let ultimaForma = listaFormaPagamento[listaFormaPagamento.length - 1];\r\n ultimaForma.ctc_id = contaCorrente.ctc_id;\r\n ultimaForma.ctc_descricao = contaCorrente.ctc_descricao;\r\n setListaFormaPagamento(listaFormaPagamento);\r\n setAbreModalContaCorrente(false);\r\n };\r\n\r\n function verificarRestricoesCredito(dadosFormaPagamento, liberado, callback) {\r\n let parcelasAtraso = [];\r\n let limiteCreditoDisp = {};\r\n if (liberado) {\r\n callback();\r\n } else if (parseInt(dadosFormaPagamento.fpg_tipopagamento) === pagamentosCodigos.crediarioLoja || parseInt(dadosFormaPagamento.fpg_tipopagamento) === pagamentosCodigos.boleto) {\r\n api.get(`Parcela/ListarParcelasClientesEmAtrazo?IdPessoa=${form.getFieldValue().pes_id}&PageSize=500`).then(\r\n parcelasPessoa => {\r\n let dados = [...parcelasPessoa.data.items];\r\n api.get(`Cliente/LimiteCreditoDisponivel/${form.getFieldValue().pes_id}`).then(\r\n limiteCredito => {\r\n parcelasAtraso = parcelasPessoa.data.items;\r\n limiteCreditoDisp = limiteCredito.data;\r\n dados.forEach((parcelas) => { parcelas.limiteCredito = limiteCreditoDisp.valorTotal });\r\n setParcelasPessoasAtraso(dados);\r\n if (!!!parcelasAtraso) {\r\n notification.warning({ description: 'Não foi possível verificar as parcelas em atraso deste cliente. É recomendável que você fale com seu supervisor/gerente antes de prosseguir com a venda!', message: 'Aviso' });\r\n } else if (parcelasAtraso.length > 0) {\r\n setAbreModalParcPendentes(true);\r\n } else if (!!!limiteCreditoDisp) {\r\n notification.warning({ description: 'Não foi possível verificar o limite de crédito disponível para realizar a venda no crediário. É recomendável que você fale com seu supervisor/gerente antes de prosseguir com a venda!', message: 'Aviso' });\r\n } else if (limiteCreditoDisp.valorTotal !== 0 && limiteCreditoDisp.valorTotal < parseFloat(valorJaPago)) {\r\n Modal.confirm({\r\n title: `Aviso`,\r\n icon: ,\r\n content: `O limite de crédito ainda disponível para compras à prazo deste cliente é: ${parseFloat(limiteCreditoDisp.valorTotal).toFixed(2).toString()}. ${} Para continuar com a venda à prazo você deve solicitar autorização da operação com seu supervisor/gerente.`,\r\n okText: 'Solicitar Autorização',\r\n cancelText: 'OK',\r\n onOk() {\r\n setAbreModalLiberacao(true);\r\n }\r\n });\r\n } else {\r\n callback();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n } else {\r\n callback();\r\n }\r\n };\r\n\r\n function abrirModalCartao(dados) {\r\n if (dados.parcelas <= 0) {\r\n if (dados.fpg_tipopagamento === pagamentosCodigos.cartaoCredito) {\r\n popularParcelas(() => {\r\n if (dados.fpg_tipointegracao == null) {\r\n setOpenModalCartao(true);\r\n }\r\n });\r\n } else if (dados.fpg_tipopagamento === pagamentosCodigos.cartaoDebito) {\r\n popularParcelasDebito(() => {\r\n if (dados.fpg_tipointegracao == null) {\r\n setOpenModalCartao(true);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function abrirModalCheque(dados) {\r\n setDadosCheque(dados);\r\n setExibirModalCheque(!exibirModalCheque);\r\n };\r\n\r\n function popularParcelas(callback) {\r\n let dados = [...listaFormaPagamento];\r\n let index = manutencao.dados.faturamento.length - 1;\r\n api.get(`CondicaoPagamento/ListarParcelamento?codigoCondicaoPagamento=${manutencao.dados.faturamento[index].cpg_id}`).then(\r\n res => {\r\n if (!!res.data && res.data.length > 0) {\r\n let resto = 0;\r\n let somaParcelas = 0;\r\n let listaParcelas = [];\r\n let indexPosicao = manutencao.dados.faturamento.length - 1;\r\n res.data.forEach((parcela) => {\r\n let dataAtual = new Date();\r\n let parc = {};\r\n let dataVencimento = new Date(dataAtual.setDate(dataAtual.getDate() + parcela.pcl_numerodias));\r\n parc.fpg_id = manutencao.dados.faturamento[indexPosicao].fpg_id;\r\n parc.fpg_descricao = manutencao.dados.faturamento[indexPosicao].fpg_descricao;\r\n parc.fpg_tipopagamento = manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento;\r\n parc.cpg_id = manutencao.dados.faturamento[indexPosicao].cpg_id;\r\n parc.pcl_numerodias = parcela.pcl_numerodias;\r\n parc.pcl_percparcela = parcela.pcl_percparcela;\r\n parc.pcl_numeroparcela = parcela.pcl_numeroparcela;\r\n parc.prc_numeroparcela = parcela.pcl_numeroparcela;\r\n parc.dataPagamento = dataVencimento;\r\n parc.prc_datavencimento = moment(dataVencimento);\r\n parc.dataVencimento = moment(dataVencimento);\r\n let valorParcela = ((parcela.pcl_percparcela / 100) * parseFloat(manutencao.dados.faturamento[index].pfp_valor)).toFixed(2);\r\n parc.valorParcela = parseFloat(valorParcela);\r\n parc.prc_valor = parseFloat(valorParcela);\r\n somaParcelas += parc.valorParcela;\r\n listaParcelas.push(parc);\r\n });\r\n somaParcelas = somaParcelas.toFixed(2);\r\n somaParcelas = parseFloat(somaParcelas);\r\n resto = parseFloat(manutencao.dados.faturamento[index].pfp_valor) - somaParcelas;\r\n if (resto != 0) {\r\n let numeroUltimaParcela = res.data.length - 1;\r\n let valParcela = listaParcelas[numeroUltimaParcela].valorParcela;\r\n let totalParcela = (valParcela + resto).toFixed(2);\r\n totalParcela = parseFloat(totalParcela);\r\n listaParcelas[numeroUltimaParcela].prc_valor = totalParcela;\r\n listaParcelas[numeroUltimaParcela].valorParcela = totalParcela;\r\n }\r\n dados[index].parcelas = listaParcelas;\r\n manutencao.dados.faturamento[indexPosicao].editando = false;\r\n if (manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento !== pagamentosCodigos.crediarioLoja && manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento !== pagamentosCodigos.boleto) {\r\n let creditoDebito = manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento === pagamentosCodigos.cartaoCredito;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ... { credito: creditoDebito } } } });\r\n }\r\n setListaFormaPagamento(dados);\r\n }\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function popularParcelasDebito(callback) {\r\n let dados = [...listaFormaPagamento];\r\n let index = manutencao.dados.faturamento.length - 1;\r\n let listaParcelas = [];\r\n let indexPosicao = manutencao.dados.faturamento.length - 1;\r\n let parc = {};\r\n parc.fpg_id = manutencao.dados.faturamento[indexPosicao].fpg_id;\r\n parc.fpg_descricao = manutencao.dados.faturamento[indexPosicao].fpg_descricao;\r\n parc.fpg_tipopagamento = manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento;\r\n parc.cpg_id = manutencao.dados.faturamento[indexPosicao].cpg_id;\r\n parc.pcl_percparcela = 100;\r\n parc.pcl_numeroparcela = 1;\r\n parc.prc_numeroparcela = 1;\r\n let valorParcela = ((parc.pcl_percparcela / 100) * parseFloat(manutencao.dados.faturamento[index].pfp_valor)).toFixed(2);\r\n parc.valorParcela = parseFloat(valorParcela);\r\n parc.prc_valor = parseFloat(valorParcela);\r\n listaParcelas.push(parc);\r\n dados[index].parcelas = listaParcelas;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ... { credito: false } } } });\r\n setListaFormaPagamento(dados);\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function pagamentoCartao(dados, dadosCartao) {\r\n let dataAtual = new Date();\r\n let listaFormasPagamento = [...manutencao.dados.faturamento];\r\n let indexPosicao = listaFormasPagamento.length - 1;\r\n let recebimentoCartao = [];\r\n let retorno = {};\r\n if (dadosCartao.tipoParcelamento === 0) {//Estabelecimento\r\n let numeroDias = !!dados.credito ? dadosCartao.bandeira.bce_nrodiasrecebimentocredito : dadosCartao.bandeira.bce_nrodiasrecebimentodebito;\r\n listaFormasPagamento[indexPosicao].parcelas.forEach((parcela) => {\r\n retorno.tipoParcelamento = dadosCartao.tipoParcelamento;\r\n retorno.bce_id = dadosCartao.bandeira.bce_id;\r\n retorno.rcc_parcelarecebimento = parcela.pcl_numeroparcela;\r\n retorno.rcc_valor = parcela.prc_valor;\r\n retorno.rcc_nsu = dadosCartao.nsu;\r\n retorno.rcc_previsaorecebimento = new Date(dataAtual.setDate(dataAtual.getDate() + numeroDias));\r\n recebimentoCartao.push(retorno);\r\n });\r\n } else {\r\n retorno.tipoParcelamento = dadosCartao.tipoParcelamento;\r\n retorno.bce_id = dadosCartao.bandeira.bce_id;\r\n retorno.rcc_parcelarecebimento = 1;\r\n retorno.rcc_valor = listaFormasPagamento[indexPosicao].valorPago;\r\n retorno.rcc_nsu = dadosCartao.nsu;\r\n retorno.rcc_previsaorecebimento = new Date(dataAtual.setDate(dataAtual.getDate() + parseInt(dadosCartao.bandeira.bce_nrodiasrecebimentocredito)));\r\n recebimentoCartao.push(retorno);\r\n }\r\n if (listaFormasPagamento[indexPosicao].fpg_tipopagamento === pagamentosCodigos.cartaoDebito) {\r\n let formaPagamento = listaFormaPagamento[indexPosicao];\r\n formaPagamento.parcelas.forEach(parcela => {\r\n parcela.pcl_numerodias = dadosCartao.bandeira.bce_nrodiasrecebimentodebito;\r\n let dataVencimento = new Date(dataAtual.setDate(dataAtual.getDate() + parseInt(parcela.pcl_numerodias)));\r\n parcela.dataPagamento = dataVencimento;\r\n parcela.prc_datavencimento = moment(dataVencimento);\r\n parcela.dataVencimento = moment(dataVencimento);\r\n });\r\n setListaFormaPagamento(listaFormaPagamento);\r\n }\r\n\r\n listaFormaPagamento[indexPosicao].recebimentoCartao = recebimentoCartao;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ recebimentoCartao: recebimentoCartao } } } });\r\n };\r\n\r\n function cancelarAlteracoesFormaPagamento(record) {\r\n let formasPgto = [...listaFormaPagamento];\r\n let formaPgto = formasPgto.find((forma) => (forma.fpg_id === record.fpg_id));\r\n formaPgto.editando = false;\r\n setEditandoParcelas(false);\r\n };\r\n\r\n function salvarFormaPagamento(record) {\r\n let formasPgto = [...listaFormaPagamento];\r\n let formaPgto = formasPgto.find((forma) => (forma.fpg_id === record.fpg_id));\r\n formaPgto.parcelas.forEach((item, i) => {\r\n i++;\r\n item.prc_datavencimento = form.getFieldValue(`dataVencimento${i}`);\r\n item.dataVencimento = form.getFieldValue(`dataVencimento${i}`);\r\n item.valorParcela = parseFloat(form.getFieldValue(`valorParcela${i}`));\r\n item.prc_valor = parseFloat(form.getFieldValue(`valorParcela${i}`));\r\n });\r\n formaPgto.editando = false;\r\n setListaFormaPagamento(formasPgto);\r\n setEditandoParcelas(false);\r\n };\r\n\r\n function editarFormasPagamento(forma) {\r\n let dados = forma.formaPagamento;\r\n setPagamentoTotal(false);\r\n setMultiplasFormasPagamento(true);\r\n setEditando(true);\r\n let lista = [];\r\n lista.push({ name: \"fpg_id\", campo: \"Filtro\", value: forma.fpg_id });\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n form.setFieldsValue({ fpg_id: forma.fpg_id });\r\n if (dados.fpg_tipopagamento === pagamentosCodigos.dinheiro || dados.fpg_tipopagamento === pagamentosCodigos.cheque || dados.fpg_tipopagamento === pagamentosCodigos.valePresente ||\r\n dados.fpg_tipopagamento === pagamentosCodigos.crediarioLoja) {\r\n setSemCondicao(true);\r\n if (dados.fpg_tipopagamento === pagamentosCodigos.cheque) {\r\n setEhCheque(true);\r\n } else if (dados.fpg_tipopagamento === pagamentosCodigos.valePresente) {\r\n setEhValePresente(true);\r\n } else if (dados.fpg_tipopagamento === pagamentosCodigos.crediarioLoja || dados.fpg_tipopagamento === pagamentosCodigos.boleto) {\r\n forma.editando = true;\r\n setEditandoParcelas(true);\r\n }\r\n } else {\r\n form.setFieldsValue({ cpg_id: forma.cpg_id });\r\n }\r\n form.setFieldsValue({ pfp_valor: forma.pfp_valor });\r\n };\r\n\r\n function removerFormaPagamento(forma) {\r\n let dadosTemp = [...listaFormaPagamento];\r\n if (forma.fpg_tipopagamento === pagamentosCodigos.programaFidelidade) {\r\n dispatch({\r\n type: manutencaoActions.CHANGE, data: {\r\n dados: {\r\n ...manutencao.dados, ...{\r\n faturamento: manutencao.dados.faturamento.filter((dadosFat) =>\r\n dadosFat.fpg_tipopagamento !== forma.fpg_tipopagamento), antecipacao: null\r\n }\r\n }\r\n }\r\n });\r\n setDadosAntecipacao({});\r\n } else if (forma.fpg_tipopagamento === pagamentosCodigos.cartaoCredito || forma.fpg_tipopagamento === pagamentosCodigos.cartaoDebito) {\r\n dispatch({\r\n type: manutencaoActions.CHANGE, data: {\r\n dados: {\r\n ...manutencao.dados, ...{\r\n faturamento: manutencao.dados.faturamento.filter((dadosFat) =>\r\n dadosFat.fpg_tipopagamento !== forma.fpg_tipopagamento), credito: null\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n setDadosParcelas([]);\r\n dispatch({\r\n type: manutencaoActions.CHANGE, data: {\r\n dados: {\r\n ...manutencao.dados, ...{\r\n faturamento: manutencao.dados.faturamento.filter((dadosFat) =>\r\n dadosFat.fpg_tipopagamento !== forma.fpg_tipopagamento),\r\n }\r\n }\r\n }\r\n });\r\n }\r\n dadosTemp = dadosTemp.filter((dados) => dados !== forma);\r\n valorRestantePgto(dadosTemp);\r\n setListaFormaPagamento(dadosTemp);\r\n };\r\n\r\n function fecharDrawerVendedores() {\r\n setAbrirDrawerVendedores(false);\r\n };\r\n\r\n async function validacaoFormasPagamento(registro) {\r\n let dados = (await api.get(`FormaPagamento/Get?id=${registro}`)).data;\r\n setSemCondicao(false);\r\n setEhCheque(false);\r\n setEhValePresente(false);\r\n setSemPagamento(false);\r\n switch (dados.fpg_tipopagamento) {\r\n case pagamentosCodigos.dinheiro:\r\n setSemCondicao(true);\r\n break;\r\n case pagamentosCodigos.cheque:\r\n setEhCheque(true)\r\n setSemCondicao(true);\r\n break;\r\n case pagamentosCodigos.valePresente:\r\n setEhValePresente(true);\r\n setSemCondicao(true);\r\n break;\r\n case pagamentosCodigos.boleto:\r\n case pagamentosCodigos.crediarioLoja:\r\n let cliente = !!manutencao.dados && manutencao.dados.destinatario ? manutencao.dados.destinatario : null;\r\n if (!!cliente && cliente.cli_vendasomenteavista) {\r\n form.setFieldsValue({ fpg_id: null });\r\n notification.warn({ description: 'Venda a prazo não autorizada!', message: 'Aviso' });\r\n }\r\n break;\r\n case pagamentosCodigos.semPagamento:\r\n setSemCondicao(true);\r\n setSemPagamento(true);\r\n break;\r\n }\r\n };\r\n\r\n function buscarValePresente(codVale) {\r\n setDesabilitaBtn(true);\r\n api.get(`AntecipacaoClienteFornecedor/BuscarValePresente?codigoVale=${codVale.currentTarget.value}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let saldoVale = res.data;\r\n let valorTotal = parseFloat(form.getFieldValue().valorTotal);\r\n setMultiplasFormasPagamento(true);\r\n if (saldoVale === 0) {\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n setMultiplasFormasPagamento(false);\r\n notification.warning(\"Não existe saldo para o vale presente informado!\");\r\n } else {\r\n if (valorTotal > saldoVale) {\r\n form.setFieldsValue({ pfp_valor: saldoVale });\r\n } else {\r\n form.setFieldsValue({ pfp_valor: valorTotal });\r\n }\r\n }\r\n setDesabilitaBtn(false);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n notification.warning({ message: \"Aviso\", description: \"Vale presente não encontrado!\" });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n setDesabilitaBtn(false);\r\n }\r\n );\r\n };\r\n\r\n async function verificarAntecipacoes() {\r\n let retorno = await api.get(`AntecipacaoClienteFornecedor/ListaAntecipacaoCliente?pessoaId=${form.getFieldValue().pes_id}`);\r\n if (retorno.status === 200) {\r\n if (!!retorno.data && retorno.data.length > 0 && !!dadosAntecipacao && dadosAntecipacao.length === 0) {\r\n let seq = 0;\r\n retorno.data.forEach((ant) => {\r\n ant.key = seq;\r\n seq++;\r\n });\r\n\r\n setDadosAntecipacao(retorno.data);\r\n Modal.confirm({\r\n title: 'O Cliente possui créditos/antecipações',\r\n icon: ,\r\n content: `Este cliente possui créditos/antecipações, deseja utilizar elas para esta venda?`,\r\n okText: 'Utilizar Crédito/antecipação',\r\n cancelText: 'Não utilizar',\r\n onOk() {\r\n setAbreModalAntecipacao(true);\r\n }, onCancel() {\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ fpg_tipopagamento: null });\r\n\r\n form.setFieldsValue({ ctc_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n form.setFieldsValue({ numeroCheques: null });\r\n\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function onCloseModalAntecipacao() {\r\n setDadosAntecipacao([]);\r\n setAbreModalAntecipacao(false);\r\n };\r\n\r\n function cancelaContaCorrente() {\r\n setAbreModalContaCorrente(false);\r\n let listaTemp = [...listaFormaPagamento];\r\n listaTemp.splice((listaFormaPagamento.length - 1), 1);\r\n valorRestantePgto(listaTemp);\r\n setListaFormaPagamento(listaTemp);\r\n }\r\n\r\n function onChangeValorParc(numeroParc, qtdTotParcelas) {\r\n let valorJaUtilizado = 0;\r\n let valorRestante = 0;\r\n let valorRestanteTot = 0;\r\n let valorParcelas = 0;\r\n let valorTotal = parseFloat(form.getFieldValue().pfp_valor);\r\n let dados = form.getFieldValue();\r\n if (numeroParc === qtdTotParcelas) {\r\n return;\r\n }\r\n for (let i = 1; i <= numeroParc; i++) {\r\n valorJaUtilizado += parseFloat(dados[`valorParcela${i}`]);\r\n }\r\n valorRestante = valorTotal - valorJaUtilizado;\r\n valorParcelas = parseFloat((valorRestante / (qtdTotParcelas - numeroParc)).toFixed(2));\r\n for (let i = qtdTotParcelas; i > numeroParc; i--) {\r\n valorRestanteTot += valorParcelas;\r\n form.setFieldsValue({ [`valorParcela${i}`]: valorParcelas });\r\n }\r\n let valorSobra = valorTotal - (valorJaUtilizado + valorRestanteTot);\r\n form.setFieldsValue({ [`valorParcela${qtdTotParcelas}`]: parseFloat((valorParcelas + valorSobra).toFixed(2)) });\r\n };\r\n\r\n function ajustarDataParcelas(numeroParc, qtdTotParcelas) {\r\n let dataAtual = new Date(form.getFieldValue([`dataVencimento${numeroParc}`]).toDate());\r\n for (let i = numeroParc + 1; i <= qtdTotParcelas; i++) {\r\n let dataVenc = new Date(dataAtual.setDate(new Date(dataAtual).getDate() + 30));\r\n form.setFieldsValue({ [`dataVencimento${i}`]: moment(dataVenc) });\r\n }\r\n }\r\n\r\n const expandedRowRender = record => {\r\n return
(\r\n {pcl_numeroparcela}\r\n ),\r\n }, {\r\n title: 'Data Pagamento',\r\n render: ({ dataVencimento, pcl_numeroparcela }) => (\r\n
\r\n {editandoParcelas ? { ajustarDataParcelas(pcl_numeroparcela, record.parcelas.length) }} /> : {moment(dataVencimento).format('DD/MM/YYYY')}\r\n }\r\n
\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ valorParcela, pcl_numeroparcela }) => (\r\n
\r\n {editandoParcelas ? { onChangeValorParc(pcl_numeroparcela, record.parcelas.length) }} /> : {FormatNumber(valorParcela, true)}}\r\n
\r\n ),\r\n }\r\n ]} dataSource={record.parcelas} pagination={false} />\r\n };\r\n\r\n const rowExpandable = record => { return (record.fpg_tipopagamento === pagamentosCodigos.cartaoDebito || record.fpg_tipopagamento === pagamentosCodigos.cartaoCredito || record.fpg_tipopagamento === pagamentosCodigos.crediarioLoja || record.fpg_tipopagamento === pagamentosCodigos.boleto) && !record.fpg_quitacaoantecipacao };\r\n\r\n return (\r\n
\r\n {!pagamentoTotal && \r\n
\r\n \r\n { listarCondicao(registro); validacaoFormasPagamento(registro) }} conteudo={\r\n fp => ({fp.fpg_descricao})\r\n } />\r\n \r\n \r\n {!semCondicao && \r\n \r\n \r\n \r\n }\r\n {ehCheque && \r\n \r\n \r\n \r\n }\r\n {ehValePresente && \r\n \r\n { buscarValePresente(codVale) }}\r\n />\r\n \r\n }\r\n \r\n {!pagamentoTotal && multiplasFormasPagamento &&\r\n //multiplasFormasPagamento &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n {!!manutencao.dados && !!manutencao.dados.antecipacao && \r\n \r\n \r\n \r\n Valor antecipação utilizada (R$): {FormatNumber(manutencao.dados.antecipacao[0].valorAntecipacao)}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n {listaFormaPagamento.length > 0 &&
(\r\n
\r\n \r\n {!!cpg_descricao ? fpg_descricao + ' / ' + cpg_descricao : fpg_descricao}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ pfp_valor }) => (\r\n
\r\n {FormatNumber(pfp_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n {record.fpg_tipopagamento !== pagamentosCodigos.programaFidelidade && !record.fpg_quitacaoantecipacao &&
\r\n {!editandoParcelas &&\r\n \r\n {!editandoParcelas &&\r\n \r\n \r\n \r\n Total dos Pagamentos (R$): \r\n \r\n \r\n \r\n {FormatNumber(totalPagamento, true)}\r\n \r\n \r\n \r\n \r\n )\r\n }} dataSource={listaFormaPagamento}\r\n />}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { onCloseModalContaCorrente() }} fecharModalContaCorrente={() => { cancelaContaCorrente(); }} contaCorrente={{ contaCorrente, setContaCorrente }} listaContaCorrente={{ listaContaCorrente, setListaContaCorrente }} tipoConta={tipoContaCorrente} />\r\n \r\n \r\n \r\n \r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Table, Select, notification, Tag, Input } from \"antd\";\r\nimport { CheckOutlined, DeleteOutlined, EditOutlined, PlusOutlined, ExclamationCircleOutlined, CloseOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport Data from \"../data\";\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { getTela } from \"../../services/auth\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport DrawerVendedores from \"../drawerVendedores\";\r\nimport { isObjetoDiffVazio, validarNumeros } from \"../../services/funcoes\";\r\nimport { ModalContaCorrente, ModalSenhaLiberacao } from \"../modals\";\r\nimport SelectPaginado from \"../selectPaginado\";\r\n\r\nexport default function FormasPagamentoRecebimento({ form, dadosOperacao }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaFormaPagamento, setListaFormaPagamento] = useState(!!manutencao.dados && !!manutencao.dados.faturamento && manutencao.dados.faturamento.length > 0 ? manutencao.dados.faturamento : [])\r\n const [formaPagamento, setFormaPagamento] = useState([]);\r\n const [condicaoPagamento, setCondicaoPagamento] = useState([]);\r\n const [valorJaPago, setValorJaPago] = useState(false);\r\n const [pagamentoTotal, setPagamentoTotal] = useState(false);\r\n const [multiplasFormasPagamento, setMultiplasFormasPagamento] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n const [abrirDrawerVendedores, setAbrirDrawerVendedores] = useState(false);\r\n const [formVendedores] = Form.useForm();\r\n const [valorTotal, setValorTotal] = useState(0);\r\n const [semCondicao, setSemCondicao] = useState(false);\r\n const [ehValePresente, setEhValePresente] = useState(false);\r\n const [dadosTela] = useState(getTela());\r\n const [isNota, setIsNota] = useState(false);\r\n const [dadosParcelas, setDadosParcelas] = useState([]);\r\n const [abreModalLiberacao, setAbreModalLiberacao] = useState(false);\r\n const [executarParcelas, setExecutarParcelas] = useState(false);\r\n const [listaContaCorrente, setListaContaCorrente] = useState([]);\r\n const [abreModalContaCorrente, setAbreModalContaCorrente] = useState(false);\r\n const [contaCorrente, setContaCorrente] = useState({});\r\n const [valorRestante, setValorRestante] = useState(0);\r\n const [desabilitaBtn, setDesabilitaBtn] = useState(false);\r\n const [editandoParcelas, setEditandoParcelas] = useState(false);\r\n const [semPagamento, setSemPagamento] = useState(false);\r\n const [tipoContaCorrente, setTipoContaCorrente] = useState(\"1\");\r\n const pagamentosCodigos = {\r\n dinheiro: 1,\r\n cheque: 2,\r\n cartaoCredito: 3,\r\n cartaoDebito: 4,\r\n crediarioLoja: 5,\r\n valeAlimentacao: 10,\r\n valeRefeicao: 11,\r\n valePresente: 12,\r\n valeCombustivel: 13,\r\n duplicataMercantil: 14,\r\n boleto: 15,\r\n depositoBancario: 16,\r\n pix: 17,\r\n transfBancaria: 18,\r\n programaFidelidade: 19,\r\n semPagamento: 90,\r\n outro: 99\r\n };\r\n const rowExpandable = record => { return (record.fpg_tipopagamento === pagamentosCodigos.crediarioLoja || record.fpg_tipopagamento === pagamentosCodigos.boleto) };\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n if (validarNumeros(valorTotal) === 0) {\r\n setValorTotal(validarNumeros(form.getFieldValue().valorTotal));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (validarNumeros(valorTotal) !== 0) {\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n }, [valorTotal]);\r\n\r\n useEffect(() => {\r\n if (!!dadosTela) {\r\n let tela = JSON.parse(dadosTela).formulario.replaceAll('/', '');\r\n if (tela === `ordemCompra`) {\r\n setIsNota(true);\r\n }\r\n }\r\n }, [dadosTela]);\r\n\r\n useEffect(() => {\r\n if (isNota) {\r\n setMultiplasFormasPagamento(true);\r\n }\r\n }, [isNota]);\r\n\r\n useEffect(() => {\r\n let valor = 0;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach((lista) => {\r\n valor += parseFloat(lista.pfp_valor);\r\n });\r\n if (!!form.getFieldValue().fpg_id) {\r\n listarCondicao(form.getFieldValue().fpg_id, true);\r\n }\r\n if (valor >= valorTotal && valor >= parseFloat(form.getFieldValue().valorTotal)) {\r\n setPagamentoTotal(true);\r\n } else {\r\n setPagamentoTotal(false);\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n setExecutarParcelas(true);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ faturamento: listaFormaPagamento } } } });\r\n } else {\r\n setPagamentoTotal(false);\r\n }\r\n // if (!!listaFormaPagamento[listaFormaPagamento.length - 1] && !!listaFormaPagamento[listaFormaPagamento.length - 1].parcelas &&\r\n // !!listaFormaPagamento[listaFormaPagamento.length - 1].parcelas[0] && listaFormaPagamento[listaFormaPagamento.length - 1].parcelas[0].pcl_numerodias === 0) {\r\n // setAbreModalContaCorrente(true);\r\n // }\r\n if (!!listaFormaPagamento[listaFormaPagamento.length - 1] &&\r\n (listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.dinheiro\r\n || listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.cheque\r\n || listaFormaPagamento[listaFormaPagamento.length - 1].fpg_tipopagamento === pagamentosCodigos.pix)) {\r\n setAbreModalContaCorrente(true);\r\n }\r\n setEhValePresente(false);\r\n setValorJaPago(valor);\r\n }, [listaFormaPagamento]);\r\n\r\n useEffect(() => {\r\n if (parseFloat(form.getFieldValue().valorTotal) > 0 && !editando) {\r\n let valor = 0;\r\n if (listaFormaPagamento.length > 0) {\r\n listaFormaPagamento.forEach((lista) => {\r\n valor += parseFloat(lista.pfp_valor);\r\n });\r\n if (valor >= valorTotal && valor >= parseFloat(form.getFieldValue().valorTotal)) {\r\n setPagamentoTotal(true);\r\n } else {\r\n setPagamentoTotal(false);\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n }\r\n }\r\n }, [form.getFieldValue()]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.faturamento && executarParcelas) {\r\n let dados = manutencao.dados.faturamento;\r\n let index = dados.length - 1;\r\n setExecutarParcelas(false);\r\n if (dados[index].fpg_tipopagamento === pagamentosCodigos.crediarioLoja) {\r\n validarJaPossuiCrediario(() => {\r\n popularParcelas();\r\n });\r\n } else if (dados[index].fpg_tipopagamento === pagamentosCodigos.boleto) {\r\n validarJaPossuiBoleto(() => {\r\n popularParcelas();\r\n });\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n setValorTotal(validarNumeros(form.getFieldValue().valorTotal));\r\n let dadosFormaPagamento = formaPagamento.filter((forma) => { return forma.fpg_id === form.getFieldValue().fpg_id; })[0];\r\n if (multiplasFormasPagamento && (!!dadosFormaPagamento && dadosFormaPagamento.fpg_tipopagamento !== pagamentosCodigos.valePresente)) {\r\n valorRestantePgto([...listaFormaPagamento]);\r\n }\r\n }, [multiplasFormasPagamento]);\r\n\r\n useEffect(() => {\r\n if (!!form.getFieldValue().fpg_id) {\r\n let dadosFormaPagamento = formaPagamento.filter((forma) => { return forma.fpg_id === form.getFieldValue().fpg_id; })[0];\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ formaPagamento: dadosFormaPagamento } } } });\r\n }\r\n }, [form.getFieldValue().fpg_id]);\r\n\r\n useEffect(() => {\r\n if (semCondicao && !!form.getFieldValue().fpg_id) {\r\n adicionarFormaPagamento();\r\n }\r\n }, [semCondicao]);\r\n\r\n useEffect(() => {\r\n if (semPagamento) {\r\n }\r\n }, [semPagamento]);\r\n\r\n function onCloseModalLiberacao() {\r\n setAbreModalLiberacao(false);\r\n };\r\n\r\n function carregarDados() {\r\n api.get('FormaPagamento/Listar?Ativo=true').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let dados = res.data.items;\r\n if (!!dadosOperacao && isObjetoDiffVazio(dadosOperacao)) {\r\n if (dadosOperacao.tip_id === 5) {\r\n setFormaPagamento(dados);\r\n } else {\r\n setFormaPagamento(dados.filter((fpg) => (fpg.fpg_tipopagamento !== 90)));\r\n }\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function valorRestantePgto(dadosTemp) {\r\n let restante = 0;\r\n let valorPago = 0;\r\n if (!editando) {\r\n dadosTemp.forEach((dados) => {\r\n valorPago += parseFloat(dados.pfp_valor);\r\n });\r\n restante = parseFloat(valorTotal) - valorPago;\r\n form.setFieldsValue({ pfp_valor: restante.toFixed(2) });\r\n setValorRestante(parseFloat(restante.toFixed(2)));\r\n } else {\r\n setEditando(false);\r\n }\r\n };\r\n\r\n function listarCondicao(fpg_id, dadosIniciais = false) {\r\n if (!dadosIniciais) {\r\n form.setFieldsValue({ cpg_id: null });\r\n }\r\n api.get(`CondicaoPagamento/Listar?Ativo=true&CodigoFormaPagamento=${fpg_id}&PageSize=500`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setCondicaoPagamento(res.data.items);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function validarJaPossuiCrediario(callback) {\r\n let dados = [...listaFormaPagamento];\r\n if (!dados.find((formaPgto => (formaPgto.fpg_tipopagamento === pagamentosCodigos.crediarioLoja && !!formaPgto.parcelas && formaPgto.parcelas.length > 0)))) {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n };\r\n\r\n function validarJaPossuiBoleto(callback) {\r\n let dados = [...listaFormaPagamento];\r\n if (!dados.find((formaPgto => (formaPgto.fpg_tipopagamento === pagamentosCodigos.boleto && !!formaPgto.parcelas && formaPgto.parcelas.length > 0)))) {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n\r\n async function adicionarFormaPagamento(liberadoCredito = false) {\r\n let dadosTemp = [...listaFormaPagamento];\r\n let pagamentoCartao = false;\r\n if (parseFloat(form.getFieldValue().pfp_valor) === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'Valor de Pagamento Inválido!' });\r\n return false;\r\n }\r\n if (ehValePresente && !!!form.getFieldValue().codigoValePresente) {\r\n notification.warning({ description: 'Favor informar um vale presente válido!', message: 'Aviso' });\r\n return;\r\n }\r\n\r\n //Utilizado para atualizar a constante de valor total da nota de acordo com o formulario que é o valor exibido em tela.\r\n setValorTotal(validarNumeros(form.getFieldValue().valorTotal));\r\n if (!!form.getFieldValue().fpg_id && (semCondicao || (condicaoPagamento.length === 0 || !!form.getFieldValue().cpg_id))) {\r\n let dadosFormaPagamento = (await api.get(`FormaPagamento/Get?id=${form.getFieldValue().fpg_id}`)).data;\r\n if (listaFormaPagamento.find((formas) => (\r\n formas.fpg_id === form.getFieldValue().fpg_id && (!semCondicao ? formas.cpg_id === form.getFieldValue().cpg_id : true)\r\n ))) {\r\n let dados = listaFormaPagamento.find((formas) => (\r\n formas.fpg_id === form.getFieldValue().fpg_id && (!semCondicao ? formas.cpg_id === form.getFieldValue().cpg_id : true)\r\n ));\r\n //dados.pfp_valor = parseFloat(form.getFieldValue().pfp_valor);\r\n dados.pfp_valor = parseFloat(form.getFieldValue().valorTotal);\r\n validarContaCorrente(dadosTemp, () => {\r\n if (!pagamentoCartao) {\r\n valorRestantePgto(dadosTemp);\r\n }\r\n });\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ fpg_tipopagamento: null });\r\n form.setFieldsValue({ ctc_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n } else {\r\n incluirNovaFormaPagamento(dadosTemp);\r\n }\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Informe a forma e a condicao de pagamento!' });\r\n }\r\n };\r\n\r\n async function incluirNovaFormaPagamento(listaForma) {\r\n let dadosFormaPagamento = (await api.get(`FormaPagamento/Get?id=${form.getFieldValue().fpg_id}`)).data;\r\n\r\n if (semCondicao) {\r\n let valor = 0;\r\n if (!semPagamento) {\r\n valor = form.getFieldValue().pfp_valor;\r\n }\r\n listaForma.push({\r\n fpg_id: form.getFieldValue().fpg_id,\r\n fpg_descricao: dadosFormaPagamento.fpg_descricao,\r\n cpg_descricao: '',\r\n cpg_id: null,\r\n condicaoPagamento: {},\r\n formaPagamento: !!dadosFormaPagamento && JSON.stringify(dadosFormaPagamento) !== '{}' ? dadosFormaPagamento : {},\r\n pfp_valor: valor,\r\n nfp_codigovalepresente: form.getFieldValue().codigoValePresente,\r\n parcelas: [],\r\n descontoPadrao: {},\r\n ctc_id: dadosFormaPagamento.ctc_id,\r\n fpg_tipopagamento: dadosFormaPagamento.fpg_tipopagamento\r\n });\r\n validarContaCorrente(listaForma, () => {\r\n if (!semPagamento) {\r\n valorRestantePgto(listaForma);\r\n } else {\r\n setValorRestante(0);\r\n }\r\n });\r\n\r\n\r\n } else {\r\n let dadosCondicoesPagamento = condicaoPagamento.filter((condicao) => { return condicao.cpg_id === form.getFieldValue().cpg_id; })[0];\r\n listaForma.push({\r\n fpg_id: form.getFieldValue().fpg_id,\r\n fpg_descricao: dadosFormaPagamento.fpg_descricao,\r\n cpg_descricao: !!dadosCondicoesPagamento && dadosCondicoesPagamento.cpg_descricao ? dadosCondicoesPagamento.cpg_descricao : '',\r\n cpg_id: !!form.getFieldValue().cpg_id ? form.getFieldValue().cpg_id : null,\r\n condicaoPagamento: !!dadosCondicoesPagamento && JSON.stringify(dadosCondicoesPagamento) !== '{}' ? dadosCondicoesPagamento : {},\r\n formaPagamento: !!dadosFormaPagamento && JSON.stringify(dadosFormaPagamento) !== '{}' ? dadosFormaPagamento : {},\r\n pfp_valor: form.getFieldValue().pfp_valor,\r\n nfp_codigovalepresente: form.getFieldValue().codigoValePresente,\r\n parcelas: [],\r\n descontoPadrao: {},\r\n ctc_id: dadosFormaPagamento.ctc_id,\r\n fpg_tipopagamento: dadosFormaPagamento.fpg_tipopagamento\r\n });\r\n validarContaCorrente(listaForma, () => {\r\n valorRestantePgto(listaForma);\r\n });\r\n }\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ fpg_tipopagamento: null });\r\n form.setFieldsValue({ ctc_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n };\r\n\r\n function validarContaCorrente(dados, callback) {\r\n let ultimaForma = dados[dados.length - 1];\r\n if (!!!ultimaForma.ctc_id)\r\n if (ultimaForma.fpg_tipopagamento === pagamentosCodigos.dinheiro || ultimaForma.fpg_tipopagamento === pagamentosCodigos.cheque) {\r\n setTipoContaCorrente(\"1\")\r\n setAbreModalContaCorrente(true);\r\n }\r\n if (ultimaForma.fpg_tipopagamento === pagamentosCodigos.depositoBancario || ultimaForma.fpg_tipopagamento === pagamentosCodigos.pix\r\n || ultimaForma.fpg_tipopagamento === pagamentosCodigos.transfBancaria) {\r\n setTipoContaCorrente(\"2\")\r\n setAbreModalContaCorrente(true);\r\n }\r\n setListaFormaPagamento(dados);\r\n if (!!callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function onCloseModalContaCorrente() {\r\n let ultimaForma = listaFormaPagamento[listaFormaPagamento.length - 1];\r\n ultimaForma.ctc_id = contaCorrente.ctc_id;\r\n ultimaForma.ctc_descricao = contaCorrente.ctc_descricao;\r\n setListaFormaPagamento(listaFormaPagamento);\r\n setAbreModalContaCorrente(false);\r\n };\r\n\r\n function popularParcelas(callback) {\r\n let dados = [...listaFormaPagamento];\r\n let index = manutencao.dados.faturamento.length - 1;\r\n api.get(`CondicaoPagamento/ListarParcelamento?codigoCondicaoPagamento=${manutencao.dados.faturamento[index].cpg_id}`).then(\r\n res => {\r\n if (!!res.data && res.data.length > 0) {\r\n let resto = 0;\r\n let somaParcelas = 0;\r\n let listaParcelas = [];\r\n let indexPosicao = manutencao.dados.faturamento.length - 1;\r\n res.data.forEach((parcela) => {\r\n let dataAtual = new Date();\r\n let parc = {};\r\n let dataVencimento = new Date(dataAtual.setDate(dataAtual.getDate() + parcela.pcl_numerodias));\r\n parc.fpg_id = manutencao.dados.faturamento[indexPosicao].fpg_id;\r\n parc.fpg_descricao = manutencao.dados.faturamento[indexPosicao].fpg_descricao;\r\n parc.fpg_tipopagamento = manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento;\r\n parc.cpg_id = manutencao.dados.faturamento[indexPosicao].cpg_id;\r\n parc.pcl_numerodias = parcela.pcl_numerodias;\r\n parc.pcl_percparcela = parcela.pcl_percparcela;\r\n parc.pcl_numeroparcela = parcela.pcl_numeroparcela;\r\n parc.prc_numeroparcela = parcela.pcl_numeroparcela;\r\n parc.dataPagamento = dataVencimento;\r\n parc.prc_datavencimento = moment(dataVencimento);\r\n parc.dataVencimento = moment(dataVencimento);\r\n let valorParcela = ((parcela.pcl_percparcela / 100) * parseFloat(manutencao.dados.faturamento[index].pfp_valor)).toFixed(2);\r\n parc.valorParcela = parseFloat(valorParcela);\r\n parc.prc_valor = parseFloat(valorParcela);\r\n somaParcelas += parc.valorParcela;\r\n listaParcelas.push(parc);\r\n });\r\n somaParcelas = somaParcelas.toFixed(2);\r\n somaParcelas = parseFloat(somaParcelas);\r\n resto = parseFloat(manutencao.dados.faturamento[index].pfp_valor) - somaParcelas;\r\n if (resto != 0) {\r\n let numeroUltimaParcela = res.data.length - 1;\r\n let valParcela = listaParcelas[numeroUltimaParcela].valorParcela;\r\n let totalParcela = (valParcela + resto).toFixed(2);\r\n totalParcela = parseFloat(totalParcela);\r\n listaParcelas[numeroUltimaParcela].prc_valor = totalParcela;\r\n listaParcelas[numeroUltimaParcela].valorParcela = totalParcela;\r\n }\r\n dados[index].parcelas = listaParcelas;\r\n manutencao.dados.faturamento[indexPosicao].editando = false;\r\n if (manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento !== pagamentosCodigos.crediarioLoja && manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento !== pagamentosCodigos.boleto) {\r\n let creditoDebito = manutencao.dados.faturamento[indexPosicao].fpg_tipopagamento === pagamentosCodigos.cartaoCredito;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ... { credito: creditoDebito } } } });\r\n }\r\n setListaFormaPagamento(dados);\r\n }\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function cancelarAlteracoesFormaPagamento(record) {\r\n let formasPgto = [...listaFormaPagamento];\r\n let formaPgto = formasPgto.find((forma) => (forma.fpg_id === record.fpg_id));\r\n formaPgto.editando = false;\r\n setEditandoParcelas(false);\r\n };\r\n\r\n function salvarFormaPagamento(record) {\r\n let formasPgto = [...listaFormaPagamento];\r\n let formaPgto = formasPgto.find((forma) => (forma.fpg_id === record.fpg_id));\r\n formaPgto.parcelas.forEach((item, i) => {\r\n i++;\r\n item.prc_datavencimento = form.getFieldValue(`dataVencimento${i}`);\r\n item.dataVencimento = form.getFieldValue(`dataVencimento${i}`);\r\n item.valorParcela = parseFloat(form.getFieldValue(`valorParcela${i}`));\r\n item.prc_valor = parseFloat(form.getFieldValue(`valorParcela${i}`));\r\n });\r\n formaPgto.editando = false;\r\n setListaFormaPagamento(formasPgto);\r\n setEditandoParcelas(false);\r\n };\r\n\r\n function editarFormasPagamento(forma) {\r\n let dados = forma.formaPagamento;\r\n setPagamentoTotal(false);\r\n setMultiplasFormasPagamento(true);\r\n setEditando(true);\r\n form.setFieldsValue({ fpg_id: forma.fpg_id });\r\n if (dados.fpg_tipopagamento === pagamentosCodigos.dinheiro || dados.fpg_tipopagamento === pagamentosCodigos.valePresente || dados.fpg_tipopagamento === pagamentosCodigos.crediarioLoja) {\r\n setSemCondicao(true);\r\n // if (dados.fpg_tipopagamento === pagamentosCodigos.cheque) {\r\n // setEhCheque(true);\r\n // }\r\n if (dados.fpg_tipopagamento === pagamentosCodigos.valePresente) {\r\n setEhValePresente(true);\r\n } else if (dados.fpg_tipopagamento === pagamentosCodigos.crediarioLoja || dados.fpg_tipopagamento === pagamentosCodigos.boleto) {\r\n forma.editando = true;\r\n setEditandoParcelas(true);\r\n }\r\n } else {\r\n form.setFieldsValue({ cpg_id: forma.cpg_id });\r\n }\r\n form.setFieldsValue({ pfp_valor: forma.pfp_valor });\r\n };\r\n\r\n function removerFormaPagamento(forma) {\r\n let dadosTemp = [...listaFormaPagamento];\r\n if (dadosParcelas.length > 0 && forma.fpg_tipopagamento === dadosParcelas[0].fpg_tipopagamento) {\r\n setDadosParcelas([]);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n dadosTemp = dadosTemp.filter((dados) => dados !== forma);\r\n valorRestantePgto(dadosTemp);\r\n setListaFormaPagamento(dadosTemp);\r\n };\r\n\r\n function fecharDrawerVendedores() {\r\n setAbrirDrawerVendedores(false);\r\n };\r\n\r\n async function validacaoFormasPagamento(registro) {\r\n let dados = (await api.get(`FormaPagamento/Get?id=${registro}`)).data;\r\n setSemCondicao(false);\r\n setEhValePresente(false);\r\n setSemPagamento(false);\r\n switch (dados.fpg_tipopagamento) {\r\n case pagamentosCodigos.dinheiro:\r\n setSemCondicao(true);\r\n break;\r\n case pagamentosCodigos.pix:\r\n setSemCondicao(true);\r\n break;\r\n case pagamentosCodigos.valePresente:\r\n setEhValePresente(true);\r\n setSemCondicao(true);\r\n break;\r\n case pagamentosCodigos.boleto:\r\n case pagamentosCodigos.crediarioLoja:\r\n let cliente = !!manutencao.dados && manutencao.dados.destinatario ? manutencao.dados.destinatario : null;\r\n if (!!cliente && cliente.cli_vendasomenteavista) {\r\n form.setFieldsValue({ fpg_id: null });\r\n notification.warn({ description: 'Venda a prazo não autorizada!', message: 'Aviso' });\r\n }\r\n break;\r\n case pagamentosCodigos.semPagamento:\r\n setSemCondicao(true);\r\n setSemPagamento(true);\r\n break;\r\n }\r\n };\r\n\r\n function buscarValePresente(codVale) {\r\n setDesabilitaBtn(true);\r\n api.get(`AntecipacaoClienteFornecedor/BuscarValePresente?codigoVale=${codVale.currentTarget.value}`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let saldoVale = res.data;\r\n let valorTotal = parseFloat(form.getFieldValue().valorTotal);\r\n setMultiplasFormasPagamento(true);\r\n if (saldoVale === 0) {\r\n form.setFieldsValue({ fpg_id: null });\r\n form.setFieldsValue({ cpg_id: null });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n setMultiplasFormasPagamento(false);\r\n notification.warning(\"Não existe saldo para o vale presente informado!\");\r\n } else {\r\n if (valorTotal > saldoVale) {\r\n form.setFieldsValue({ pfp_valor: saldoVale });\r\n } else {\r\n form.setFieldsValue({ pfp_valor: valorTotal });\r\n }\r\n }\r\n setDesabilitaBtn(false);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n notification.warning({ message: \"Aviso\", description: \"Vale presente não encontrado!\" });\r\n form.setFieldsValue({ codigoValePresente: null });\r\n setDesabilitaBtn(false);\r\n }\r\n );\r\n };\r\n\r\n function cancelaContaCorrente() {\r\n setAbreModalContaCorrente(false);\r\n let listaTemp = [...listaFormaPagamento];\r\n listaTemp.splice((listaFormaPagamento.length - 1), 1);\r\n valorRestantePgto(listaTemp);\r\n setListaFormaPagamento(listaTemp);\r\n }\r\n\r\n function onChangeValorParc(numeroParc, qtdTotParcelas) {\r\n let valorJaUtilizado = 0;\r\n let valorRestante = 0;\r\n let valorRestanteTot = 0;\r\n let valorParcelas = 0;\r\n let valorTotal = parseFloat(form.getFieldValue().valorTotal);\r\n let dados = form.getFieldValue();\r\n if (numeroParc === qtdTotParcelas) {\r\n return;\r\n }\r\n for (let i = 1; i <= numeroParc; i++) {\r\n valorJaUtilizado += parseFloat(dados[`valorParcela${i}`]);\r\n }\r\n valorRestante = valorTotal - valorJaUtilizado;\r\n valorParcelas = parseFloat((valorRestante / (qtdTotParcelas - numeroParc)).toFixed(2));\r\n for (let i = qtdTotParcelas; i > numeroParc; i--) {\r\n valorRestanteTot += valorParcelas;\r\n form.setFieldsValue({ [`valorParcela${i}`]: valorParcelas });\r\n }\r\n let valorSobra = valorTotal - (valorJaUtilizado + valorRestanteTot);\r\n form.setFieldsValue({ [`valorParcela${qtdTotParcelas}`]: parseFloat((valorParcelas + valorSobra).toFixed(2)) });\r\n };\r\n\r\n function ajustarDataParcelas(numeroParc, qtdTotParcelas) {\r\n let dataAtual = new Date(form.getFieldValue([`dataVencimento${numeroParc}`]).toDate());\r\n for (let i = numeroParc + 1; i <= qtdTotParcelas; i++) {\r\n let dataVenc = new Date(dataAtual.setDate(new Date(dataAtual).getDate() + 30));\r\n form.setFieldsValue({ [`dataVencimento${i}`]: moment(dataVenc) });\r\n }\r\n }\r\n\r\n const expandedRowRender = record => {\r\n return
(\r\n {pcl_numeroparcela}\r\n ),\r\n }, {\r\n title: 'Data Pagamento',\r\n render: ({ dataVencimento, pcl_numeroparcela }) => (\r\n
\r\n {editandoParcelas ? { ajustarDataParcelas(pcl_numeroparcela, record.parcelas.length) }} /> : {moment(dataVencimento).format('DD/MM/YYYY')}\r\n }\r\n
\r\n\r\n ),\r\n }, {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ valorParcela, pcl_numeroparcela }) => (\r\n
\r\n {editandoParcelas ? { onChangeValorParc(pcl_numeroparcela, record.parcelas.length) }} /> : {FormatNumber(valorParcela, true)}\r\n }\r\n
\r\n ),\r\n }\r\n ]} dataSource={record.parcelas} pagination={false} />\r\n };\r\n\r\n return (\r\n
\r\n {!pagamentoTotal && \r\n
\r\n \r\n { listarCondicao(registro); validacaoFormasPagamento(registro) }} conteudo={\r\n fp => ({fp.fpg_descricao})\r\n } />\r\n \r\n \r\n {!semCondicao && \r\n \r\n \r\n \r\n }\r\n {ehValePresente && \r\n \r\n { buscarValePresente(codVale) }}\r\n />\r\n \r\n }\r\n \r\n {!pagamentoTotal && multiplasFormasPagamento &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n \r\n \r\n
\r\n {listaFormaPagamento.length > 0 &&
(\r\n
\r\n \r\n {!!cpg_descricao ? fpg_descricao + ' / ' + cpg_descricao : fpg_descricao}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Valor (R$)',\r\n align: 'right',\r\n render: ({ pfp_valor }) => (\r\n
\r\n {FormatNumber(pfp_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n {!editandoParcelas &&\r\n \r\n {!editandoParcelas &&\r\n \r\n \r\n \r\n Total dos Pagamentos (R$): \r\n \r\n \r\n \r\n {FormatNumber(totalPagamento, true)}\r\n \r\n \r\n \r\n \r\n )\r\n }} dataSource={listaFormaPagamento}\r\n />}\r\n \r\n \r\n \r\n { onCloseModalContaCorrente() }} fecharModalContaCorrente={() => { cancelaContaCorrente(); }} contaCorrente={{ contaCorrente, setContaCorrente }} listaContaCorrente={{ listaContaCorrente, setListaContaCorrente }} tipoConta={tipoContaCorrente} />\r\n \r\n \r\n \r\n );\r\n};","import React from \"react\";\r\nimport { Row, Col, Descriptions } from \"antd\";\r\nimport moment from 'moment';\r\n\r\nimport { FormatNumber } from \"../../ValueObjects/\";\r\n\r\nexport default function InfoNotaNFe({ dadosNota }) {\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n {dadosNota.ntf_chavenfe} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.pes_nome} \r\n \r\n \r\n {dadosNota.ntf_cnpjcpfdest} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosNota.ntf_numero} \r\n \r\n \r\n {dadosNota.ser_serie} \r\n \r\n \r\n {dadosNota.nfd_modelodocumento} \r\n \r\n \r\n {moment(dadosNota.ntf_dataemissao).format('DD/MM/YYYY HH:mm:ss')} \r\n \r\n \r\n {dadosNota.tip_descricao} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {FormatNumber(dadosNota.valor_total, true)} \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Descriptions } from \"antd\";\r\n\r\nexport default function InfoProdutoGrade() {\r\n return (\r\n \r\n \r\n \r\n \r\n pro_codigo - pro_descricao\r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Tag, Button, Table, InputNumber, Switch } from \"antd\";\r\nimport { EditOutlined, } from \"@ant-design/icons\";\r\nimport CurrencyInput from 'react-currency-input';\r\n\r\nexport default function PageGrade({ grades, setGrades }) {\r\n\r\n const [form] = Form.useForm();\r\n\r\n const onAlterAllLList = (values) => {\r\n if (values) {\r\n const { lpi_perccomissao, lpi_valorvenda, lpi_naocalculacomissao } = values;\r\n let array = [...grades];\r\n array = array.map((x) => ({ ...x, lpi_perccomissao: parseFloat(lpi_perccomissao ? lpi_perccomissao : x.lpi_perccomissao), lpi_valorvenda: parseFloat(lpi_valorvenda ? lpi_valorvenda : x.lpi_valorvenda), lpi_naocalculacomissao: lpi_naocalculacomissao }));\r\n setGrades(array);\r\n form.resetFields();\r\n }\r\n }\r\n\r\n const updateValue = (ean, property, value) => {\r\n const array = [...grades];\r\n const index = array.findIndex(x => x.prg_ean == ean);\r\n if (index !== -1) {\r\n array[index][property] = value;\r\n setGrades(array);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n \r\n {prg_ean}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ descricaoGrade }) => (\r\n
\r\n {descricaoGrade}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Percentual Desconto',\r\n align: 'right',\r\n width: '25%',\r\n render: ({ lpi_naocalculacomissao, prg_ean }) => (\r\n updateValue(prg_ean, 'lpi_naocalculacomissao', checked)} />\r\n )\r\n },\r\n {\r\n title: 'Comissão',\r\n align: 'right',\r\n width: '25%',\r\n render: ({ prg_ean, lpi_perccomissao }) => (\r\n updateValue(prg_ean, 'lpi_perccomissao', value)}\r\n formatter={value => `${value}%`}\r\n parser={value => value.replace('%', '')} />\r\n )\r\n },\r\n {\r\n title: 'Valor Item',\r\n width: '25%',\r\n align: 'right',\r\n render: ({ prg_ean, lpi_valorvenda }) => ( \r\n updateValue(prg_ean, 'lpi_valorvenda', value)}\r\n inputType=\"text\"\r\n className=\"CurrencyInput\"\r\n decimalSeparator=\",\" thousandSeparator=\".\"\r\n />\r\n )\r\n },\r\n ]} scroll={{ x: 900 }}/>\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Modal, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport { FormatFone, MaskFormat } from \"../../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function TabTodas({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } }), []);\r\n\r\n function excluirRegistro(cliente) {\r\n api.post(`cliente/excluir?codigoCliente=${cliente.cli_id}`).then((res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(cliente);\r\n })\r\n };\r\n\r\n function inativarRegistro(cliente) {\r\n api.post(`cliente/InativarCliente?clienteId=${cliente.cli_id}`).then(\r\n (res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n }\r\n )\r\n };\r\n\r\n const modalExcluirRegistro = (cliente) => {\r\n console.log('cliente', cliente);\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o cliente ${cliente.cli_codigo}-${cliente.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(cliente);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (cliente) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o cliente!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o cliente ${cliente.cli_codigo}-${cliente.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(cliente);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n {!!pej_inscricaoestadual && \r\n IE: {pej_inscricaoestadual || 'Não Informado'}\r\n }\r\n {!!pef_rg && \r\n RG: {pef_rg || 'Não Informado'}\r\n }\r\n \r\n \r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n Endereço: {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 130,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Modal, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport { FormatFone, MaskFormat } from \"../../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function TabCliente({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } }), []);\r\n\r\n function excluirRegistro(cliente) {\r\n api.post(`cliente/excluir?codigoCliente=${cliente.cli_id}`).then((res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(cliente);\r\n })\r\n };\r\n\r\n function inativarRegistro(cliente) {\r\n api.post(`cliente/InativarCliente?clienteId=${cliente.cli_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (cliente) => {\r\n console.log('cliente', cliente);\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o cliente ${cliente.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(cliente);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (cliente) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o cliente!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o cliente ${cliente.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(cliente);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n {!!pej_inscricaoestadual && \r\n IE: {pej_inscricaoestadual || 'Não Informado'}\r\n }\r\n {!!pef_rg && \r\n RG: {pef_rg || 'Não Informado'}\r\n }\r\n \r\n \r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n Endereço: {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 130,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Modal, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport { FormatFone, MaskFormat } from \"../../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function TabVendedor({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } }), []);\r\n\r\n function excluirRegistro(vendedor) {\r\n api.post(`vendedor/excluir?codigoVendedor=${vendedor.ven_id}`).then((res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(vendedor);\r\n })\r\n };\r\n\r\n function inativarRegistro(vendedor) {\r\n api.post(`vendedor/InativarVendedor?vendedorId=${vendedor.ven_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (vendedor) => {\r\n console.log('vendedor', vendedor);\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o vendedor ${vendedor.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(vendedor);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (vendedor) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o vendedor!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o vendedor ${vendedor.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(vendedor);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n {!!pej_inscricaoestadual && \r\n IE: {pej_inscricaoestadual || 'Não Informado'}\r\n }\r\n {!!pef_rg && \r\n RG: {pef_rg || 'Não Informado'}\r\n }\r\n \r\n \r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n Endereço: {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 130,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Modal, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport { FormatFone, MaskFormat } from \"../../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function TabFornecedor({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } }), []);\r\n\r\n function excluirRegistro(fornecedor) {\r\n api.post(`fornecedor/excluir?codigoFornecedor=${fornecedor.for_id}`).then((res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(fornecedor);\r\n })\r\n };\r\n\r\n function inativarRegistro(fornecedor) {\r\n api.post(`fornecedor/InativarFornecedor?fornecedorId=${fornecedor.for_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (fornecedor) => {\r\n console.log('fornecedor', fornecedor);\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o fornecedor ${fornecedor.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(fornecedor);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (fornecedor) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o fornecedor!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o fornecedor ${fornecedor.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(fornecedor);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n {!!pej_inscricaoestadual && \r\n IE: {pej_inscricaoestadual || 'Não Informado'}\r\n }\r\n {!!pef_rg && \r\n RG: {pef_rg || 'Não Informado'}\r\n }\r\n \r\n \r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n Endereço: {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 130,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Modal, Table, Divider } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../../services/api';\r\nimport { useStateValue } from '../../../state';\r\nimport { FormatFone, MaskFormat } from \"../../../ValueObjects\";\r\nimport { listagemActions, manutencaoActions } from \"../../../actions\";\r\n\r\nexport default function TabFuncionario({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } }), []);\r\n\r\n function excluirRegistro(funcionario) {\r\n api.post(`funcionario/excluir?codigoFuncionario=${funcionario.for_id}`).then((res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarRegistro(funcionario);\r\n })\r\n };\r\n\r\n function inativarRegistro(funcionario) {\r\n api.post(`funcionario/InativarFunionario?funcionarioId=${funcionario.for_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n })\r\n };\r\n\r\n const modalExcluirRegistro = (funcionario) => {\r\n console.log('funcionario', funcionario);\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o funcionario ${funcionario.pes_nome} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(funcionario);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarRegistro = (funcionario) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o funcionario!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o funcionario ${funcionario.pes_nome} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarRegistro(funcionario);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n {!!pej_inscricaoestadual && \r\n IE: {pej_inscricaoestadual || 'Não Informado'}\r\n }\r\n {!!pef_rg && \r\n RG: {pef_rg || 'Não Informado'}\r\n }\r\n \r\n \r\n \r\n E-mail: {pem_email || 'Não Informado'}\r\n \r\n \r\n Endereço: {log_logradouro || 'Não Informado'}{(!!pee_numero) ? (', ' + pee_numero) : ''}{!!(bai_nome) ? (', ' + bai_nome) : ''} {!!(cep_cep) ? ('- ' + cep_cep) : ''} {!!(cid_descricao) ? ('- ' + cid_descricao) : ''} {!!(est_sigla) ? ('- ' + est_sigla) : ''}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'CPF/CNPJ',\r\n width: 130,\r\n render: ({ pef_cpf, pej_cnpj }) => (\r\n
\r\n {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Telefone',\r\n width: 120,\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero) || 'Não Informado'}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect } from \"react\";\r\nimport { Row, Col, Button, Modal, Table, Divider } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { listagemActions, manutencaoActions } from \"../../actions\";\r\n\r\nexport default function Produto({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pro_descricao' } });\r\n }, [])\r\n\r\n function excluirRegistro(produto) {\r\n api.post(`produto/excluir?idProduto=${produto.pro_id}`).then((res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, (erro) => {\r\n console.error(erro);\r\n modalInativarProduto(produto);\r\n })\r\n };\r\n\r\n function inativarProduto(produto) {\r\n api.post(`produto/inativarProduto?idProduto=${produto.pro_id}`).then((res) => {\r\n if (res.status === 200)\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pro_descricao' } });\r\n });\r\n };\r\n\r\n const modalExcluirProduto = (produto) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir o produto ${produto.pro_descricao} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(produto);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarProduto = (produto) => {\r\n Modal.confirm({\r\n title: 'Não foi possível excluir o produto!',\r\n icon: ,\r\n content: `Deve conter referências com outros registros,\r\n Deseja inativar o produto ${produto.pro_descricao} ?`,\r\n okText: 'Inativar',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n inativarProduto(produto);\r\n }\r\n });\r\n };\r\n\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n {pro_descricao}\r\n \r\n \r\n \r\n {gru_nome !== null &&\r\n \r\n Grupo: {gru_nome || 'Não Informado'}\r\n \r\n }\r\n {sgp_nome !== null &&\r\n \r\n Subgrupo: {sgp_nome || 'Não Informado'}\r\n \r\n }\r\n \r\n CST Origem: {orm_id} - {orm_descricao}\r\n \r\n \r\n NCM: {ncm_codigo}\r\n \r\n \r\n FCI: {pro_fci || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n Unidade de Medida: {ump_descricao}\r\n \r\n \r\n Tipo de Produto para SPED: {tpi_descricao}\r\n \r\n {pis_descricao !== null &&\r\n \r\n Tributação Pis/Cofins: {pis_descricao}\r\n \r\n }\r\n {nat_descricao !== null &&\r\n \r\n Natureza da Receita Pis/Cofins: {nat_descricao}\r\n \r\n }\r\n {mar_nome !== null &&\r\n \r\n Marca: {mar_nome}\r\n \r\n }\r\n \r\n {pro_observacao !== null &&\r\n \r\n \r\n Observações: {{ pro_observacao }}\r\n \r\n \r\n }\r\n \r\n ),\r\n }/*,\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (produto) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Popover, Modal, Menu, Dropdown, notification, Table, Divider } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, PrinterOutlined, FileTextOutlined, UndoOutlined, MoreOutlined, EyeOutlined, CloudUploadOutlined, CloseOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport moment from 'moment';\r\nimport api from '../../services/api';\r\nimport { useStateValue } from '../../state';\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { novaAbaNavegador } from \"../../services/funcoes\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { ModalImprimirEtiquetas, ModalDevolucao, ModalAjudaRejeicaoNfe, ModalCancelamentoNfe, ModalCartaCorrecaoNotaFiscal, ModalEstornoNfe } from \"../../components/modals/\";\r\n\r\nexport default function NotaFiscal({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaStatusNota, setListaStatusNota] = useState([]);\r\n const [openModalCartaCorrecao, setOpenModalCartaCorrecao] = useState(false);\r\n const [openModalExcluir, setOpenModalExcluir] = useState(false);\r\n const [openModalDevolucao, setOpenModalDevolucao] = useState(false);\r\n const [openModalAjudaRejeicaoNfe, setOpenModalAjudaRejeicaoNfe] = useState(false);\r\n const [openModalCancelarEstornar, setOpenModalCancelarEstornar] = useState(false);\r\n const [openModalImprimirEtiquetas, setOpenModalImprimirEtiquetas] = useState(false);\r\n const [dadosNota, setDadosNota] = useState({});\r\n const [openModalEstorno, setOpenModalEstorno] = useState(false);\r\n\r\n function retornaDescricaoStatus(ntf_status) {\r\n let status = listaStatusNota.filter((statusNota) => (statusNota.key === ntf_status))[0];\r\n return !!status ? status.value : \"\";\r\n };\r\n\r\n useEffect(() => {\r\n retornaStatusNF();\r\n }, []);\r\n\r\n function retornaStatusNF() {\r\n api.get('Enum/Listar?nome=StatusNFe').then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setListaStatusNota(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function abrirCartaCorrecao(record) {\r\n setDadosNota(record);\r\n setOpenModalCartaCorrecao(true);\r\n\r\n };\r\n\r\n function abrirCancelarNota(record) {\r\n\r\n api.get(`NotaFiscal/VerificarTempoEmissao?codigoNotaFiscal=${record.ntf_id}`).then(\r\n res => {\r\n if (record.ntf_docfiscal) {\r\n if (!!res.data.terminouPrazoCancelamento) {\r\n record.horas = res.data.horas;\r\n record.dias = res.data.dias;\r\n setDadosNota(record);\r\n setOpenModalEstorno(true);\r\n } else {\r\n setDadosNota(record);\r\n setOpenModalCancelarEstornar(true);\r\n }\r\n } else {\r\n setDadosNota(record);\r\n setOpenModalCancelarEstornar(true);\r\n }\r\n }\r\n )\r\n };\r\n\r\n function abrirExcluirNota(record) {\r\n setDadosNota(record);\r\n setOpenModalExcluir(true);\r\n };\r\n\r\n function recarregarLista() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n }\r\n\r\n function imprimirDanfe(dados) {\r\n if (dados.ntf_status == 1 && !!dados.ntf_chavenfe && !!dados.ntf_docfiscal) {\r\n if (dados.mdf_id == \"55\") {\r\n novaAbaNavegador(`Danfe/GerarDanfe?chaveNFe=${dados.ntf_chavenfe}`)\r\n } else if (dados.mdf_id == \"65\") {\r\n notification.warning({ description: `Para reimprimir um cupom eletrônico acesso o módulo de PDV, va até a listagem de vendas e solicite a reimpressão do mesmo`, message: `\"Não é possível gerar um DANFe a partir de uma NFC-e (Cupom Fiscal Eletrônico)` })\r\n } else if (dados.ntf_status == 1 && !!dados.ntf_chavenfe && !(!!dados.ntf_docfiscal)) {\r\n //n implementado\r\n /*\r\n RelatorioService.exibirRelatorioPDF(idRelatorioNf69, [\r\n {\r\n 'nome': 'ntf_numero',\r\n 'valor': notaFiscal.ntf_numero\r\n },\r\n {\r\n 'nome': 'ntf_dataemissao',\r\n 'valor': new Date(notaFiscal.ntf_dataemissao)\r\n }\r\n ], [\r\n {\r\n 'nome': 'dataemissaoFinal',\r\n 'valor': new Date(notaFiscal.ntf_dataemissao)\r\n }\r\n ]);\r\n */\r\n }\r\n }\r\n };\r\n\r\n function abrirExcluirNota(record) {\r\n setDadosNota(record);\r\n setOpenModalExcluir(true);\r\n };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n {((record.ntf_status == 0 || record.ntf_status == 4) && record.ntf_finalidade != 4 && record.ntf_nroinutilizadosefaz == false) && \r\n \r\n }\r\n {record.ntf_status == 0 && \r\n \r\n }\r\n {(record.ntf_status == 1 && (record.ser_emitentedocumento == 0 || !!!record.ntf_docfiscal)) && \r\n \r\n }\r\n {record.ntf_status == 1 && record.ntf_modelo == '55' && record.ntf_tiponota == 1 && \r\n \r\n }\r\n {(record.ntf_status == 1 && (record.ser_emitentedocumento == 0 || record.ser_serie != null)) && \r\n \r\n }\r\n {(record.ntf_status == 1 && record.ntf_finalidade != 4 && record.ntf_modelo == '55' && record.dfr_id == null) && \r\n \r\n }\r\n \r\n )\r\n };\r\n\r\n function excluirNota(record) {\r\n api.post(`NotaFiscal/Excluir?notaFiscalId=${record.ntf_id}`).then(\r\n res => {\r\n notification.success({ message: 'Nota Fiscal Excluida Com Sucesso!' });\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n }\r\n )\r\n };\r\n\r\n function menuTableOutros(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function removerNotaDigitacao(record) {\r\n Modal.confirm({\r\n title: 'Aviso',\r\n icon: ,\r\n content: `Excluir a Nota Fiscal ${record.ntf_numero}?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n onOk() {\r\n excluirNota(record);\r\n },\r\n onCancel() {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '-ntf_numero' } });\r\n },\r\n })\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n \r\n {retornaDescricaoStatus(ntf_status)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {ntf_numero}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n render: ({ tip_descricao, ntf_nomedest, ntf_serie, ntf_docfiscal, ntf_dataemissao, mdf_id, ntf_finalidade, vendedor, ntf_chavenfe, ntf_cstat, ntf_xmotivo, formasPgto }) => (\r\n
\r\n \r\n {!!tip_descricao &&
\r\n \r\n {tip_descricao}\r\n \r\n }\r\n \r\n {ntf_nomedest}\r\n \r\n {!!ntf_nomedest === false && \r\n Consumidor Final\r\n }\r\n \r\n \r\n \r\n Série: {(!!ntf_serie > 0 ? ntf_serie : '')}\r\n \r\n \r\n {!ntf_docfiscal && DAV-LS}\r\n {!mdf_id == '65' && CUPOM ELETRÔNICO}\r\n \r\n {!!ntf_chavenfe === false && \r\n NF-e não gerada\r\n }\r\n {!!ntf_chavenfe && \r\n \r\n NF-e: {ntf_chavenfe}\r\n \r\n }\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Emissão',\r\n width: 85,\r\n render: ({ ntf_dataemissao }) => (\r\n
\r\n {moment(ntf_dataemissao).format('DD/MM/YYYY')}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Finalidade',\r\n width: 75,\r\n render: ({ ntf_finalidade }) => (\r\n
\r\n {ntf_finalidade}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n fixed: 'right',\r\n width: 200,\r\n render: ({ valor_total }) => (\r\n
\r\n {FormatNumber(valor_total, true)}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n fixed: 'right',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n {/* { setOpenModalImprimirEtiquetas(false); recarregarLista(); }} />\r\n { setOpenModalAjudaRejeicaoNfe(false); recarregarLista(); }} />\r\n { setOpenModalCartaCorrecao(false); recarregarLista() }} />\r\n\r\n { setOpenModalDevolucao(false); recarregarLista(); }} />\r\n { setOpenModalEstorno(false); recarregarLista(); }} />\r\n { setOpenModalExcluir(false); recarregarLista(); }} />\r\n { setOpenModalCancelarEstornar(false); recarregarLista() }} />\r\n */}\r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button, Tag, Dropdown, Menu, notification, Table, Divider } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CloseOutlined, PrinterOutlined, MoreOutlined, EyeOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport DrawerPedidos from '../../pages/pedidos/drawer';\r\nimport { ModalDetalhePedido } from \"../../components/modals/\";\r\nimport { getIdUsuario, setIdUsuario } from \"../../services/auth\";\r\nimport { FormatNumber, MaskFormat, FormatDate } from \"../../ValueObjects\";\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\n\r\nexport default function PesquisaPedidos({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [clientes, setClientes] = useState([]);\r\n const [openModalDetalhePedido, setOpenModalDetalhePedido] = useState(false);\r\n const [dataPesquisa, setDataPesquisa] = useState(new Date().toLocaleDateString());\r\n const [formPedidos] = Form.useForm();\r\n const [idPedido, setIdPedido] = useState(0);\r\n\r\n useEffect(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ped_datainclusao' } })\r\n dispatch({\r\n type: listagemActions.CHANGE, data: {\r\n outrosFiltros:\r\n `&ativoPedido=1&dataFinal=${moment(new Date).format('YYYY-MM-DD')}&dataInicial=${FormatDate(dataPesquisa)}&filtro=&status=60,61,62`\r\n }\r\n })\r\n formPedidos.setFieldsValue({ status: [\"60\", \"61\", \"62\"] });\r\n formPedidos.setFieldsValue({ ativoPedido: [\"1\"] });\r\n carregarClientes()\r\n }, []);\r\n\r\n useEffect(() => {\r\n let filtro = '';\r\n filtro += (!!formPedidos.getFieldValue().status ? `&status=${formPedidos.getFieldValue().status}` : '');\r\n filtro += (!!formPedidos.getFieldValue().ativoPedido ? `&ativoPedido=${formPedidos.getFieldValue().ativoPedido}` : '');\r\n\r\n dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: `&dataFinal=${moment(new Date).format('YYYY-MM-DD')}&dataInicial=${FormatDate(dataPesquisa)}&filtro=&status=${formPedidos.getFieldValue().status}` + filtro } })\r\n }, [dataPesquisa]);\r\n\r\n function carregarClientes() {\r\n api.get(`Cliente/Listar?filtro=`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setClientes(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function editarPedido(record) {\r\n record.ped_datainclusao = moment(record.ped_datainclusao);\r\n record.ped_dataprevisaoentrega = moment(record.ped_dataprevisaoentrega);\r\n record.ped_datavalidade = moment(record.ped_datavalidade);\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function cancelarPedido(record) {\r\n record.usu_id = parseInt(getIdUsuario());\r\n record.ped_ativo = false;\r\n api.post(`Pedido/CancelarPedido?`, record).then(\r\n res => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Pedido cancelado com sucesso!\" });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+ped_datainclusao' } });\r\n }\r\n );\r\n };\r\n\r\n function emitirNf(record) {\r\n };\r\n\r\n function visualizarPedido(record) {\r\n setIdPedido(record.ped_id);\r\n setOpenModalDetalhePedido(true)\r\n };\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n {record.ped_ativo !== false && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n function duplicarPedido(dados) {\r\n dados.ped_datainclusao = moment(dados.ped_datainclusao);\r\n dados.ped_dataprevisaoentrega = moment(dados.ped_dataprevisaoentrega);\r\n dados.ped_datavalidade = moment(dados.ped_datavalidade);\r\n dados.ped_id_duplicar = dados.ped_id;\r\n dados.ped_id = null;\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: dados } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {stp_descricao}\r\n \r\n \r\n \r\n {ped_numero}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Pedidos\",\r\n render: ({ pes_nome, pef_cpf, pej_cnpj, pes_telefone, pes_endereco, pes_nroestabelecimento, pes_bairro, pes_cep, pes_cidade, pes_uf, ped_datainclusao, ped_dataprevisaoentrega, pdi_qtditem, ped_ativo }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n CPF/CNPJ: {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n \r\n \r\n Telefone: {pes_telefone || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n Endereço: {pes_endereco}, {pes_nroestabelecimento}, {pes_bairro}, {pes_cep}, {pes_cidade}-{pes_uf}\r\n \r\n \r\n \r\n {!ped_ativo && \r\n Cancelado\r\n }\r\n \r\n Emissão: {moment(ped_datainclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n Entrega: {moment(ped_dataprevisaoentrega).format('DD/MM/YYYY')}\r\n \r\n \r\n Quantidade de Itens: {pdi_qtditem}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Total do Pedido (R$)\",\r\n align: 'right',\r\n render: ({ ped_valortotal }) => (\r\n
\r\n {FormatNumber(ped_valortotal, true)}\r\n
\r\n )\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n setOpenModalDetalhePedido(false)} ped_id={idPedido} />\r\n \r\n );\r\n\r\n}","import React, { useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Dropdown, Menu, Table, Divider } from \"antd\";\r\nimport { EditOutlined, DeleteOutlined, CloseOutlined, PrinterOutlined, MoreOutlined, EyeOutlined, CopyOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions, manutencaoActions } from \"../../actions\";\r\nimport { FormatFone, FormatNumber, MaskFormat } from \"../../ValueObjects\";\r\nimport { ModalDetalheOrcamento } from \"../../components/modals/\";\r\nimport DrawerOrcamento from '../../pages/orcamento/drawer';\r\n\r\nexport default function PesquisaOrcamento({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [openModalDetalheOrcamento, setOpenModalDetalheOrcamento] = useState(false);\r\n\r\n function menuTable(record) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n function editar(record) {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: record } });\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n };\r\n\r\n function cancelar(record) {\r\n\r\n };\r\n\r\n function duplicar(record) {\r\n\r\n };\r\n\r\n function emitirNf(record) {\r\n\r\n };\r\n\r\n function visualizar(record) {\r\n setOpenModalDetalheOrcamento(true);\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {orc_numero}\r\n \r\n \r\n \r\n {pes_nome}\r\n \r\n \r\n CPF/CNPJ: {!!pef_cpf ? MaskFormat(pef_cpf, 'Não Informado', true) : MaskFormat(pej_cnpj, 'Não Informado', true)}\r\n \r\n \r\n Telefone: {FormatFone(pes_telefone) || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n Emissão: {moment(orc_datainclusao).format('DD/MM/YYYY')}\r\n \r\n \r\n Entrega: {moment(orc_datavalidade).format('DD/MM/YYYY')}\r\n \r\n \r\n Quant.: {oit_qtditem}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Total do Orçamento (R$)\",\r\n align: 'right',\r\n render: ({ orc_valortotal }) => (\r\n
\r\n {FormatNumber(orc_valortotal, true)}\r\n
\r\n )\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n setOpenModalDetalheOrcamento(false)} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Button, Tag, Menu, Modal, Table, Divider } from \"antd\";\r\nimport { DeleteOutlined, PhoneOutlined, PrinterOutlined, EditOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from '../../state';\r\nimport { FormatFone, FormatNumber } from \"../../ValueObjects\";\r\nimport DrawerCondicional from '../../pages/condicional/drawer';\r\nimport DrawerDevolucao from '../../pages/condicional/drawerDevolucao';\r\nimport { drawerActions, listagemActions, manutencaoActions } from \"../../actions\";\r\nimport { ModalProdutoCondicional, ModalContatoCliente } from \"../../components/modals/\";\r\n\r\nexport default function PesquisaCondicional({ dados, dataPesquisa }) {\r\n\r\n const [carregando, setCarregando] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [registroDevolucao, setRegistroDevolucao] = useState({});\r\n const [openRegistroDevolucao, setOpenRegistroDevolucao] = useState(false);\r\n const [situacaoVenda, setSituacaoVenda] = useState([]);\r\n const [openModalContatoCliente, setOpenModalContatoCliente] = useState(false);\r\n const [openModalProdutoCondicional, setOpenModalProdutoCondicional] = useState(false);\r\n\r\n function menuTable(registro) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n\r\n\r\n function descricaoSituacao(codigo) {\r\n if (codigo >= 0 && !!situacaoVenda && !!situacaoVenda[codigo]) {\r\n return situacaoVenda[codigo].value;\r\n }\r\n return '';\r\n };\r\n\r\n function deletarCondicional(registro) {\r\n api.post(`VendaCondicional/Excluir`, JSON.stringify(registro.vnc_id), { headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('erro ao excluir condicional!');\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n });\r\n };\r\n\r\n async function editarCondicional(registro) {\r\n registro.vnc_datalancamento = moment(registro.vnc_datalancamento);\r\n registro.vnc_prazoretorno = moment(registro.vnc_prazoretorno);\r\n registro.vnc_entregaagendada = moment(registro.vnc_entregaagendada);\r\n let dadosTemp = await api.get(`VendaCondicional/ListarItens?listarTodos=true&vendaCondicionalId=${registro.vnc_id}`);\r\n if (dadosTemp.status === 200) {\r\n registro.itens = dadosTemp.data;\r\n }\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: registro } });\r\n }\r\n\r\n const modalExcluirCondicional = (condicional) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir a condicional do cliente ${condicional.cli_nome} contendo ${condicional.vnc_totalitens} itens com valor total de R$ ${!!condicional.vnc_valortotal ? condicional.vnc_valortotal : '0,00'} ?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n deletarCondicional(condicional);\r\n }\r\n });\r\n };\r\n\r\n function retornaCorSituacao(codigo) {\r\n let cor = \"\";\r\n switch (codigo) {\r\n case 0:\r\n cor = \"processing\";\r\n break;\r\n case 1:\r\n cor = \"green\";\r\n break;\r\n case 2:\r\n cor = \"#87d068\";\r\n break;\r\n case 3:\r\n cor = \"orange\";\r\n break;\r\n case 4:\r\n cor = \"red\";\r\n break;\r\n default:\r\n cor = \"processing\";\r\n break;\r\n }\r\n return cor;\r\n };\r\n\r\n useEffect(() => {\r\n carregarDados();\r\n }, []);\r\n\r\n function carregarDados() {\r\n api.get(`Enum/Listar?nome=SituacaoVendaCondicional`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setSituacaoVenda(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function alterarCondicionalEntregue(dados, valor) {\r\n let situacao = dados.vnc_situacao;\r\n if (valor === true) {\r\n situacao = 1;\r\n } else {\r\n situacao = 0;\r\n }\r\n api.post('VendaCondicional/EditarSituacaoCondicional',\r\n JSON.stringify({ vnc_id: dados.vnc_id, vnc_situacao: situacao }),\r\n { headers: { 'Content-Type': 'application/json;charset=utf-8' } }\r\n ).then(\r\n (res) => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('erro ao alterar status da condicional!');\r\n }\r\n ).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+vnc_datalancamento' } });\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {(descricaoSituacao(vnc_situacao))}\r\n \r\n \r\n \r\n {vnc_numero}\r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ cli_nome, vnc_telefonecliente }) => (\r\n
\r\n \r\n
\r\n {cli_nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Data',\r\n align: 'center',\r\n children: [\r\n {\r\n title: 'Lançamento',\r\n width: 140,\r\n render: ({ vnc_datalancamento }) => (\r\n
\r\n {moment(vnc_datalancamento).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Retorno',\r\n align: 'right',\r\n width: 140,\r\n render: ({ vnc_prazoretorno }) => (\r\n
\r\n {moment(vnc_prazoretorno).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Itens',\r\n align: 'center',\r\n width: 100,\r\n render: ({ vnc_totalitens }) => (\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Total (R$)',\r\n align: 'right',\r\n width: 150,\r\n render: ({ vnc_valortotal }) => (\r\n
\r\n {FormatNumber(vnc_valortotal, true)}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n {/* setOpenRegistroDevolucao(false)} dataPesquisa={dataPesquisa} />\r\n \r\n setOpenModalProdutoCondicional(false)} />\r\n setOpenModalContatoCliente(false)} />\r\n */}\r\n \r\n\r\n );\r\n\r\n}","import React from \"react\";\r\nimport { Row, Col, Button, Tag, Dropdown, Menu, Table, Divider } from \"antd\";\r\nimport { DeleteOutlined, MoreOutlined, DollarOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function PesquisaContaReceber({ dados }) {\r\n\r\n function menuTable(dados) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {!!saldo ? 'Recebido' : 'Em Aberto'}\r\n \r\n \r\n \r\n \r\n \r\n {prc_numeroparcela}/{cpr_numeroparcelas}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Contas a Receber\",\r\n render: ({ pes_nome, ctg_descricao, mcc_datahora, prc_datavencimento }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n \r\n \r\n Conta Gerencial: {ctg_descricao}\r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n Recebido em:{moment(mcc_datahora).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n Atrasado:{moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n A Receber:{moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n Receber Hoje:{moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Número\",\r\n width: 100,\r\n render: ({ cpr_numerodocumento }) => (\r\n
\r\n {cpr_numerodocumento || 'Não Informado'}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Valor da Parcela (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Saldo Devedor (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Row, Col, Button, Tag, Dropdown, Menu, Table, Divider } from \"antd\";\r\nimport { DeleteOutlined, MoreOutlined, DollarOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport moment from 'moment';\r\n\r\nimport { FormatNumber } from '../../ValueObjects';\r\n\r\nexport default function PesquisaContaPagar({ dados }) {\r\n\r\n function menuTable(dados) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n };\r\n\r\n return (\r\n
\r\n
(\r\n
\r\n \r\n
\r\n \r\n {!!saldo ? 'Quitada' : 'Em Aberto'}\r\n \r\n \r\n \r\n \r\n \r\n {prc_numeroparcela}/{cpr_numeroparcelas}\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: \"Contas a Receber\",\r\n render: ({ pes_nome, cpr_numerodocumento, ctg_descricao, mcc_datahora, prc_datavencimento }) => (\r\n
\r\n \r\n
\r\n {pes_nome}\r\n \r\n \r\n \r\n \r\n Número: {cpr_numerodocumento}\r\n \r\n \r\n Conta Gerencial: {ctg_descricao}\r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n Quitada em:{moment(mcc_datahora).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n Atrasado:{moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n A Pagar:{moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n Pagar Hoje:{moment(prc_datavencimento).format('DD/MM/YYYY')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n title: 'Valor da Parcela (R$)',\r\n align: 'right',\r\n width: 180,\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Saldo Devedor (R$)',\r\n align: 'right',\r\n width: 180,\r\n fixed: 'right',\r\n render: ({ prc_valor }) => (\r\n
\r\n {FormatNumber(prc_valor, true)}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }}/>\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Tag, Popover, notification, Modal, Table, Divider } from \"antd\";\r\nimport { CloseCircleOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { useStateValue } from '../../../state';\r\nimport { listagemActions } from \"../../../actions\";\r\nimport DrawerTributacaoIcms from '../../../pages/tributacaoIcms/drawer';\r\n\r\nexport default function PesquisaTributacaoIcms({ dados }) {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } }), []);\r\n\r\n function excluirRegistro(item) {\r\n setCarregando(true);\r\n api.delete(`tributacaoIcms/Excluir?icm_id=${item.icm_id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Os dados do ICMS foram excluídos com sucesso!\" });\r\n dispatch({ type: listagemActions.CHANGE, data: { label: \"Nome Z - A\", ordem: '+icm_descricao' } })\r\n }, err => {\r\n modalInativarConta(item);\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } });\r\n });\r\n }\r\n\r\n const modalExcluir = (record) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(record);\r\n }\r\n });\r\n };\r\n\r\n const modalInativarConta = (record) => {\r\n Modal.confirm({\r\n title: `Não foi possível excluir a Tributação ICMS ${record.icm_descricao}!`,\r\n icon: ,\r\n content: `Deve conter referências com outros registros!`,\r\n okText: 'Inativar Registro',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n record.inativar = 1;\r\n record.icm_ativo = false;\r\n api.post(`tributacaoIcms/editar`, record).then((res) => {\r\n if (res.status === 200) {\r\n notification.success({ message: 'Operação concluída', description: \"Tributação inativada com sucesso!\" });\r\n }\r\n dispatch({ type: listagemActions.CHANGE, data: { label: \"Nome Z - A\", ordem: '+icm_descricao' } })\r\n }, err => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(err.response) });\r\n }).finally(() => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+icm_descricao' } });\r\n });\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
(\r\n \r\n \r\n {icm_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Tributações do ICMS',\r\n render: ({ icm_descricao }) => (\r\n
\r\n {icm_descricao}\r\n
\r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n align: 'center',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }} />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Tag, Popover, Divider, Modal, notification } from \"antd\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../../services/api\";\r\nimport { useStateValue } from '../../../state';\r\nimport { TabelaDados } from \"../../../components\";\r\nimport { listagemActions, manutencaoActions } from \"../../../actions\";\r\nimport DrawerTributacaoPisCofins from '../../../pages/tributacaoPisCofins/drawer';\r\n\r\nexport default function PesquisaTributacaoPisCofins() {\r\n\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n\r\n useEffect(() => dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pis_descricao' } }), []);\r\n\r\n function excluirRegistro(id) {\r\n setCarregando(true);\r\n api.post(`TributacaoPisCofins/Excluir?codigoPisCofins=${id}`).then((res) => {\r\n if (res.status === 200) notification.success({ message: 'Operação concluída', description: \"Registro excluído com sucesso!\" });\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }, erro => {\r\n notification.error({ message: 'Erro ao processar a requisição.', description: JSON.stringify(erro.response) });\r\n }).finally(\r\n () => {\r\n dispatch({ type: listagemActions.CHANGE, data: { ordem: '+pis_descricao' } });\r\n });\r\n }\r\n\r\n const modalExcluir = (dados) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja realmente excluir este registro?`,\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n excluirRegistro(dados);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n \r\n {pis_id}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Tributação do PIS e COFINS',\r\n render: ({ pis_descricao, nat_descricao }) => (\r\n
\r\n \r\n
\r\n {pis_descricao}\r\n \r\n \r\n \r\n \r\n {nat_descricao}\r\n \r\n \r\n \r\n ),\r\n },/*\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n key: 'x',\r\n fixed: 'right',\r\n align: 'center',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Tributação PIS\r\n \r\n \r\n \r\n \r\n CST Saída: {record.cpc_saidacstpis || 'Não Informado'} \r\n \r\n \r\n Perc.Redução BC: {record.pis_saidapercredbcpis || 'Não Informado'}\r\n \r\n \r\n Alíquota: {record.pis_saidapercpis || 'Não Informado'}\r\n \r\n \r\n \r\n CST Entrada Pessoa Física: {record.cpc_entradacstpispf || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbcpispf || 'Não Informado'} \r\n \r\n \r\n Alíquota: {record.pis_entradapercpispf || 'Não Informado'}\r\n \r\n \r\n \r\n CST Entrada Pessoa Jurídica: {record.cpc_entradacstpispj || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbcpispj || 'Não Informado'}\r\n \r\n \r\n Alíquota: {record.pis_entradapercpispj || 'Não Informado'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tributação COFINS\r\n \r\n \r\n \r\n \r\n CST Saída: {record.cpc_saidacstcofins || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_saidapercredbccofins || 'Não Informado'}\r\n \r\n \r\n Alíquota: {record.pis_saidaperccofins || 'Não Informado'}\r\n \r\n \r\n \r\n CST Entrada Pessoa Física: {record.cpc_entradacstcofinspf || 'Não Informado'}\r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbccofinspf || 'Não Informado'} \r\n \r\n \r\n Alíquota: {record.pis_entradaperccofinspf || 'Não Informado'} \r\n \r\n \r\n \r\n CST Entrada Pessoa Jurídica: {record.cpc_entradacstcofinspj || 'Não Informado'} \r\n \r\n \r\n Perc.Redução BC: {record.pis_entradapercredbccofinspj || 'Não Informado'} \r\n \r\n \r\n Alíquota: {record.pis_entradaperccofinspj || 'Não Informado'} \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }} locale={{\r\n emptyText: (\r\n \r\n \r\n \r\n Nenhum Registro Encontrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 900 }} columnWidth={30} />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n \r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Form, Input, Tabs, Row, Col, Badge, Card } from 'antd';\r\nimport { Icon } from '@ant-design/compatible';\r\nimport Slider from 'react-slick';\r\nimport 'slick-carousel/slick/slick.less';\r\nimport 'slick-carousel/slick/slick-theme.less';\r\n\r\nimport './index.less';\r\nimport {\r\n TabTodas, TabCliente, TabFuncionario, TabFornecedor, TabVendedor, PesquisaProduto, PesquisaNotaFiscal, PesquisaPedidos,\r\n PesquisaOrcamento, PesquisaCondicional, PesquisaContaReceber, PesquisaContaPagar, TabTributacaoIcms, TabTributacaoPisCofins\r\n}\r\n from './pages';\r\nimport api from '../../services/api';\r\nimport { isObjetoDiffVazio } from '../../services/funcoes';\r\n\r\nexport default function PesquisaGlobal({ dadosBusca, openPesquisaGlobal }) {\r\n const [form] = Form.useForm();\r\n const pesquisaTipo = {\r\n pessoas: 1,\r\n produtos: 2,\r\n notasFiscais: 3,\r\n pedidos: 4,\r\n orcamentos: 5,\r\n condicional: 6,\r\n tributacao: 7,\r\n contasPagar: 8,\r\n contasReceber: 9,\r\n }\r\n const [conteudoExibir, setConteudoExibir] = useState(pesquisaTipo.pessoas);\r\n const settings = {\r\n speed: 500,\r\n dots: false,\r\n slidesToShow: 5,\r\n slidesToScroll: 1\r\n };\r\n const [listaPessoas, setListaPessoas] = useState([]);\r\n const [listaNota, setListaNota] = useState([]);\r\n const [listaProdutos, setListaProdutos] = useState([]);\r\n const [listaPedido, setListaPedido] = useState([]);\r\n const [listaOrcamento, setListaOrcamento] = useState([]);\r\n const [listaCondicional, setListaCondicional] = useState([]);\r\n const [listaTributacaoIcms, setListaTributacaoIcms] = useState([]);\r\n const [listaContasPagar, setListaContasPagar] = useState([]);\r\n const [listaContasReceber, setListaContasReceber] = useState([]);\r\n const [listaTributacaoPisCofins, setListaTributacaoPisCofins] = useState([]);\r\n const [totalRegistros, setTotalRegistros] = useState(0);\r\n\r\n useEffect(() => {\r\n if (!!dadosBusca && isObjetoDiffVazio(dadosBusca)) {\r\n montarTelas(dadosBusca);\r\n }\r\n }, [dadosBusca]);\r\n\r\n useEffect(() => {\r\n if (openPesquisaGlobal) {\r\n form.setFieldsValue({ busca: localStorage.getItem('@GestorWeb-PesquisaGlobal') })\r\n }\r\n }, [openPesquisaGlobal]);\r\n\r\n function efetuarBusca(value) {\r\n api.get(`BuscaGlobal/buscar?pesquisa=${value}&rota=`).then(\r\n res => {\r\n montarTelas(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function montarTelas(dados) {\r\n telaPessoas(dados.pessoas);\r\n telaNota(dados.notafiscal);\r\n telaPedidos(dados.pedidos);\r\n telaCondicional(dados.vendacondicional);\r\n telaContasReceber(dados.contasareceber);\r\n telaContasPagar(dados.contasapagar);\r\n telaOrcamentos(dados.orcamentos);\r\n telaProdutos(dados.produtos);\r\n telaTributacaoIcms(dados.tributacaoicms);\r\n telaTributacaoPisCofins(dados.tributacaopiscofins)\r\n setTotalRegistros(dados.pessoas.length + dados.notafiscal.length + dados.pedidos.length + dados.vendacondicional.length + dados.contasareceber.length +\r\n dados.contasapagar.length + dados.orcamentos.length + dados.produtos.length + dados.tributacaoicms.length + dados.tributacaopiscofins.length)\r\n };\r\n\r\n function telaPessoas(dados) {\r\n setListaPessoas(!!dados ? dados : []);\r\n };\r\n\r\n function telaNota(dados) {\r\n setListaNota(!!dados ? dados : []);\r\n };\r\n\r\n function telaPedidos(dados) {\r\n setListaPedido(!!dados ? dados : []);\r\n };\r\n\r\n function telaCondicional(dados) {\r\n setListaCondicional(!!dados ? dados : []);\r\n };\r\n\r\n function telaContasReceber(dados) {\r\n setListaContasReceber(!!dados ? dados : []);\r\n };\r\n\r\n function telaContasPagar(dados) {\r\n setListaContasPagar(!!dados ? dados : []);\r\n };\r\n\r\n function telaOrcamentos(dados) {\r\n setListaOrcamento(!!dados ? dados : []);\r\n };\r\n\r\n function telaProdutos(dados) {\r\n setListaProdutos(!!dados ? dados : []);\r\n };\r\n\r\n function telaTributacaoIcms(dados) {\r\n setListaTributacaoIcms(!!dados ? dados : []);\r\n };\r\n\r\n function telaTributacaoPisCofins(dados) {\r\n setListaTributacaoPisCofins(!!dados ? dados : []);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Resultado da Busca: {totalRegistros} Itens \r\n \r\n \r\n \r\n { efetuarBusca(value) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
setConteudoExibir(pesquisaTipo.pessoas)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Pessoas\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.produtos)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Produtos\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.notasFiscais)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Notas Fiscais\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.pedidos)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Pedidos\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.orcamentos)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Orçamentos\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.condicional)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Condicional\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.tributacao)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Tributação\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.contasPagar)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Contas a Pagar\r\n \r\n \r\n \r\n \r\n
setConteudoExibir(pesquisaTipo.contasReceber)}>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Contas a Receber\r\n \r\n \r\n \r\n \r\n \r\n \r\n {conteudoExibir === pesquisaTipo.pessoas &&\r\n \r\n \r\n \r\n Todas\r\n \r\n } key=\"1\">\r\n \r\n \r\n !!cli.cli_id).length} className=\"text-uppercase\">\r\n Cliente\r\n \r\n } key=\"2\">\r\n !!cli.cli_id)} />\r\n \r\n !!cli.ven_id).length} className=\"text-uppercase\">\r\n Vendedor\r\n \r\n } key=\"3\">\r\n !!cli.ven_id)} />\r\n \r\n !!cli.for_id).length} className=\"text-uppercase\">\r\n Fornecedor\r\n \r\n } key=\"4\">\r\n !!cli.for_id)} />\r\n \r\n !!cli.fun_id).length} className=\"text-uppercase\">\r\n Funcionário\r\n \r\n } key=\"5\">\r\n !!cli.fun_id)} />\r\n \r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.tributacao &&\r\n \r\n \r\n \r\n Tributação ICMS\r\n \r\n } key=\"1\">\r\n \r\n \r\n \r\n Tributação Pis/Cofins\r\n \r\n } key=\"2\">\r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n {conteudoExibir === pesquisaTipo.produtos &&\r\n
\r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.notasFiscais &&\r\n \r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.pedidos &&\r\n \r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.orcamentos &&\r\n \r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.condicional &&\r\n \r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.contasReceber &&\r\n \r\n \r\n \r\n }\r\n {conteudoExibir === pesquisaTipo.contasPagar &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Input, InputNumber, Select, Card, notification, Tooltip, Modal } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, PlusOutlined, CloseOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { ModalManutencaoNota } from \"../modals\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { InputPreco, SelectProduto, SelectPaginacao } from \"../../components\";\r\nimport SelectPaginado from \"../selectPaginado\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\nimport { CalcularImpostoItem } from \"../../services/calculaImposto\";\r\nimport { ArrowForwardIosTwoTone } from \"@material-ui/icons\";\r\n\r\nexport default function FiltroProdutoNfi({ form, dadosTabela, dadosEndereco = {}, dadosOperacao = {}, dadosVendedor = {}, btnEditando, itemEditando, carregarPagina }) {\r\n\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const [dadosDetalhes, setDadosDetalhes] = useState({});\r\n const [desabilitarProd_id, setDesabilitarProd_id] = useState(false);\r\n const [buscarProdutosCodBarra, setBuscarProdutosCodBarra] = useState(null);\r\n const [dadosCfop, setDadosCfop] = useState([]);\r\n const [abrirModalManutencaoNota, setAbrirModalManutencaoNota] = useState(false);\r\n const [dadosProdutoImpostos, setDadosProdutoImpostos] = useState({});\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dadosContribuinte, setDadosContribuinte] = useState({});\r\n const [dadosNcm, setDadosNcm] = useState([]);\r\n const [listaPreco, setListaPreco] = useState([]);\r\n const [ocultaListaPreco, setOcultaListaPreco] = useState(false);\r\n const [listaSelectProd, setListaSelectProd] = useState([]);\r\n const codBarras = useRef();\r\n\r\n useEffect(() => {\r\n if (btnEditando.editando && isObjetoDiffVazio(itemEditando)) {\r\n editandoItem(itemEditando);\r\n setExibirDetalhes(true);\r\n buscarDadosProdImpostos(itemEditando.pro_id, itemEditando.ltp_id);\r\n }\r\n }, [btnEditando])\r\n\r\n useEffect(() => {\r\n popularDadosContribuintes();\r\n carregaDados();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (buscarProdutosCodBarra && !!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n }, [buscarProdutosCodBarra]);\r\n\r\n useEffect(() => {\r\n if (!!dadosContribuinte) {\r\n if (!!manutencao.dados && (!!form.getFieldsValue().vnc_id || !!form.getFieldsValue().ped_id)) {\r\n incluirItemPedidoCondicional();\r\n }\r\n }\r\n }, [dadosContribuinte]);\r\n\r\n //#region dados impostos produtos \r\n\r\n async function buscarDadosProdImpostos(produto, listapreco) {\r\n let destinoOperacao = (!!dadosEndereco.est_sigla && !!dadosContribuinte.est_sigla && (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) ? '1' : '2');\r\n let codigoProd = !!produto ? produto : form.getFieldValue().pro_id;\r\n let ufDest = !!dadosEndereco.est_sigla ? dadosEndereco.est_sigla : dadosContribuinte.est_sigla;\r\n let indicadorPresenca = !!form.getFieldsValue().ntf_indicadorpresenca ? `&indicadorPresenca=${form.getFieldsValue().ntf_indicadorpresenca}` : '';\r\n let listaPreco = !!listapreco ? `&ListaPreco=${listapreco}` : '';\r\n let inscEstadual = !!form.getFieldValue().pej_inscricaoestadual ? `&inscEstadual=${form.getFieldValue().pej_inscricaoestadual}` : '';\r\n let listaPrecoPar = !!listapreco ? `&ListaPreco=${listapreco}` : '';\r\n let objProd = (await api.get(`Produto/BuscarDadosProduto?IdProduto=${codigoProd}&ufDestino=${ufDest}`\r\n + `&operacaoCodigo=${dadosOperacao.ope_id}&ufOrigem=${dadosContribuinte.est_sigla}&tipoContribuinte=${dadosContribuinte.loc_tipocontribuinte}`\r\n + `&empresaEnquadramento=${dadosContribuinte.emp_regimetributario}&destinoOperacao=${destinoOperacao}${indicadorPresenca}${inscEstadual}${listaPrecoPar}`\r\n )).data[0];\r\n setDadosProdutoImpostos(objProd);\r\n form.setFieldsValue({\r\n pis_id: objProd.pis_id,\r\n cbf_id: !!dadosOperacao.cbf_id ? dadosOperacao.cbf_id : objProd.cbf_id, // se tem fixo na operação \r\n ncm_id: objProd.ncm_id,\r\n icm_id: objProd.icm_id,\r\n nfi_cfop: objProd.cfo_cfop,\r\n informacaoAdicional: !!form.getFieldValue().informacaoAdicional ? form.getFieldValue().informacaoAdicional : objProd.pro_observacao\r\n });\r\n return objProd;\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosProdutoImpostos && JSON.stringify(dadosProdutoImpostos) !== '{}') {\r\n abrirModalManutencaoProd();\r\n }\r\n }, [dadosProdutoImpostos]);\r\n\r\n\r\n function abrirModalManutencaoProd() {\r\n if (dadosContribuinte.emp_regimetributario === 3 && (!!!dadosProdutoImpostos.icm_id || !!!dadosProdutoImpostos.ncm_id || !!!dadosProdutoImpostos.ump_id ||\r\n !!!dadosProdutoImpostos.pro_descricao || !!!dadosProdutoImpostos.pis_id || !!!dadosProdutoImpostos.iod_ufdestino)) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if (dadosContribuinte.emp_regimetributario !== 3 && (!!!dadosProdutoImpostos.icm_id || !!!dadosProdutoImpostos.ncm_id || !!!dadosProdutoImpostos.ump_id)) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if (!!dadosProdutoImpostos.cst_id && !!!dadosProdutoImpostos.mva_ufdestino && (dadosProdutoImpostos.cst_id === '10' || dadosProdutoImpostos.cst_id === '30' || dadosProdutoImpostos.cst_id === '70')) {\r\n setAbrirModalManutencaoNota(true);\r\n }\r\n };\r\n\r\n async function carregarNcm(id) {\r\n api.get(`Ncm/Buscar/${id}`).then(res => {\r\n setDadosNcm(res.data);\r\n dadosProdutoImpostos.ncm_ativo = res.data.ncm_ativo;\r\n }).catch(\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n function carregarSelectPaginados() {\r\n let lista = [];\r\n if (!!form.getFieldValue().ltp_id)\r\n lista.push({ name: \"ltp_id\", campo: \"idLista\", value: form.getFieldValue().ltp_id });\r\n\r\n if (!!form.getFieldsValue().icm_id)\r\n lista.push({ name: \"icm_id\", campo: \"Codigo\", value: form.getFieldsValue().icm_id })\r\n\r\n if (!!form.getFieldsValue().pis_id)\r\n lista.push({ name: \"pis_id\", campo: \"Id\", value: form.getFieldsValue().pis_id })\r\n\r\n if (!!form.getFieldValue().ncm_id)\r\n lista.push({ name: \"ncm_id\", campo: \"IdNcm\", value: form.getFieldValue().ncm_id });\r\n\r\n if (dadosContribuinte.emp_regimetributario === 3 && (!!form.getFieldValue().cbf_id || !!dadosOperacao.cbf_id))\r\n lista.push({ name: \"cbf_id\", campo: \"Id\", value: !!dadosOperacao.cbf_id ? dadosOperacao.cbf_id : form.getFieldValue().cbf_id });\r\n\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Buscar dados banco \r\n\r\n function carregaDados() {\r\n buscarDadosCfop();\r\n };\r\n\r\n async function popularDadosContribuintes(callback) {\r\n await api.get(`dadosContribuinte/Buscar`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosContribuinte(res.data);\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarDadosCfop() {\r\n api.get(`Cfop/ListarCfopTipo?tipoCfopFim=8000&tipoCfopIni=1000`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosCfop(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n //#endregion\r\n\r\n //#region Funções de campos do formulario \r\n\r\n async function onChangeProID(pro_id) {\r\n let listaItens = [...listaSelectProd]\r\n let produto = listaItens.filter(pro => pro.key === pro_id)[0];\r\n let filtros = !!produto.pro_id ? `idProduto=${produto.pro_id}` : '';\r\n filtros += !!produto.prg_id ? `&idProdutoGrade=${produto.prg_id}` : '';\r\n filtros += !!dadosOperacao.ope_id ? `&idOperacaoFiscal=${dadosOperacao.ope_id}` : '';\r\n filtros += !!form.getFieldValue().cli_id ? `&idCliente=${form.getFieldValue().cli_id}` : '';\r\n let listaPrecoTemp = (await api.get(`ListaPreco/ListaPrecoPadraoProduto?${filtros}`)).data;\r\n let listaPrecoCliente = (await api.get(`ListaPrecoCliente/ListarListaPrecoCliente?${filtros}`)).data;\r\n let listapreco = (!!!listaPrecoCliente || listaPrecoCliente.length > 0) ? listaPrecoCliente[0].ltp_id : listaPrecoTemp[0].ltp_id;\r\n if (!!listaPrecoCliente && listaPrecoCliente.length > 0) {\r\n form.setFieldsValue({ ltp_id: listaPrecoCliente[0].ltp_id });\r\n produto.lpi_valorvenda = listaPrecoCliente[0].ltp_id;\r\n if (dadosOperacao?.ope_tipoprecoutilizar === 2 || dadosOperacao?.ope_tipoprecoutilizar === 3) {\r\n setOcultaListaPreco(true);\r\n } else {\r\n setOcultaListaPreco(false);\r\n }\r\n setListaPreco(listaPrecoCliente);\r\n } else {\r\n form.setFieldsValue({ ltp_id: listaPrecoTemp[0].ltp_id });\r\n produto.lpi_valorvenda = listaPrecoTemp[0].lpi_valorvenda;\r\n if (dadosOperacao?.ope_tipoprecoutilizar === 2 || dadosOperacao?.ope_tipoprecoutilizar === 3) {\r\n setOcultaListaPreco(true);\r\n } else {\r\n setOcultaListaPreco(false);\r\n }\r\n setListaPreco(listaPrecoTemp);\r\n }\r\n\r\n let produtoImposto = await buscarDadosProdImpostos(produto.pro_id, listapreco);\r\n produtoImposto.prg_id = produto.prg_id;\r\n produtoImposto.descricaograde = produto.descricaograde;\r\n await popularFormProduto(produtoImposto);\r\n carregarSelectPaginados();\r\n };\r\n\r\n async function onPressEnterProCodigo(campo) {\r\n let codigoEan = campo.target.value.trim();\r\n let dadosRequisicao = await api.get(`Produto/ListaProdutoFiltro?filtro=${codigoEan}`);\r\n if (!!dadosRequisicao.data && dadosRequisicao.data.items.length > 0) {\r\n let dadosProduto = dadosRequisicao.data.items[0];\r\n let produtoImposto = await buscarDadosProdImpostos(dadosProduto.pro_id, form.getFieldValue().ltp_id);\r\n produtoImposto.prg_id = dadosProduto.prg_id;\r\n produtoImposto.descricaograde = dadosProduto.descricaograde;\r\n await popularFormProduto(produtoImposto);\r\n adicionarItem(produtoImposto);\r\n if (!!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n }\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setBuscarProdutosCodBarra(!buscarProdutosCodBarra);\r\n };\r\n\r\n function onChangeQuantidade() {\r\n recalcularValorTotal();\r\n };\r\n\r\n function onChangeValorUnitario() {\r\n recalcularValorTotal();\r\n };\r\n\r\n function onChangePercDesc() {\r\n calculaDesconto('PERC');\r\n };\r\n\r\n function onChangeDesconto() {\r\n calculaDesconto('VALOR');\r\n };\r\n\r\n function onChangePercAcresc() {\r\n calculaAcrescimo('PERC');\r\n };\r\n\r\n function onChangeAcrescimo() {\r\n calculaAcrescimo('VALOR');\r\n };\r\n\r\n function onClickBtnCancelar() {\r\n cancelar();\r\n };\r\n\r\n function onClickBtnAdicionar() {\r\n adicionarItem();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region calculos do item \r\n\r\n function recalcularValorTotal() {\r\n let total = 0;\r\n total = parseFloat(parseFloat(form.getFieldValue().quantidade) * parseFloat(form.getFieldValue().valorUnitario));\r\n form.setFieldsValue({ valorTotalItem: total.toFixed(2) });\r\n calculaDesconto('ATT');\r\n calculaAcrescimo('ATT');\r\n };\r\n\r\n function calculaDesconto(campo) {\r\n let valor = parseFloat((!!form.getFieldValue().desconto ? form.getFieldValue().desconto : 0));\r\n let perc = parseFloat((!!form.getFieldValue().percdesc ? form.getFieldValue().percdesc : 0));\r\n let tot = parseFloat(form.getFieldValue().valorTotalItem);\r\n let result = 0;\r\n if (validarDescontoMaximoVendedor(perc)) {\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ desconto: result.toFixed(2) });\r\n } else if (campo === 'ATT') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ desconto: result.toFixed(2) });\r\n valor = (!!form.getFieldValue().desconto ? parseFloat(form.getFieldValue().desconto) : 0);\r\n result = (!!tot > 0 ? (valor * 100) / tot : 0);\r\n form.setFieldsValue({ percdesc: result.toFixed(2) });\r\n } else {\r\n if (valor > tot) {\r\n notification.warning({ message: 'Aviso!', description: 'Valor de desconto maior do que valor total do item!' });\r\n form.setFieldsValue({ desconto: tot });\r\n }\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percdesc: result.toFixed(2) });\r\n }\r\n calculaTotalItemDescAcr();\r\n }\r\n } else {\r\n form.setFieldsValue({ desconto: 0 });\r\n form.setFieldsValue({ percdesc: 0 });\r\n calculaTotalItemDescAcr();\r\n }\r\n };\r\n\r\n function calculaAcrescimo(campo) {\r\n let valor = (!!form.getFieldValue().acrescimo ? form.getFieldValue().acrescimo : 0);\r\n let perc = (!!form.getFieldValue().percacresc ? form.getFieldValue().percacresc : 0);\r\n let tot = (!!form.getFieldValue().valorTotalItem ? parseFloat(form.getFieldValue().valorTotalItem) : 0);\r\n let result = 0;\r\n\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ acrescimo: result.toFixed(2) });\r\n } else if (campo === 'ATT') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ acrescimo: result.toFixed(2) });\r\n valor = !!form.getFieldValue().acrescimo ? parseFloat(form.getFieldValue().acrescimo) : 0;\r\n result = (tot > 0 ? (valor * 100) / tot : 0);\r\n form.setFieldsValue({ percacresc: result.toFixed(2) });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percacresc: result.toFixed(2) });\r\n }\r\n calculaTotalItemDescAcr();\r\n }\r\n };\r\n\r\n function calculaTotalItemDescAcr() {\r\n let valorTot = 0;\r\n let valorItens = !!form.getFieldValue().valorTotalItem ? form.getFieldValue().valorTotalItem : 0;\r\n let valorAcrescimo = !!form.getFieldValue().acrescimo ? form.getFieldValue().acrescimo : 0;\r\n let valorDesc = !!form.getFieldValue().desconto ? form.getFieldValue().desconto : 0;\r\n\r\n valorTot = parseFloat(valorItens) + parseFloat(valorAcrescimo) - parseFloat(valorDesc);\r\n form.setFieldsValue({ valorItemDesconto: valorTot.toFixed(2) });\r\n };\r\n\r\n //#endregion\r\n\r\n //#region processos itens \r\n\r\n function cancelar() {\r\n setExibirDetalhes(false);\r\n setDadosDetalhes({});\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n if (btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n }\r\n };\r\n\r\n async function popularFormProduto(produto, dadosImposto, callback) {\r\n let valorVenda = (!!produto.lpi_valorvenda ? produto.lpi_valorvenda : 0);\r\n setExibirDetalhes(true);\r\n form.setFieldsValue({\r\n quantidade: 1,\r\n valorUnitario: valorVenda,\r\n valorTotalItem: valorVenda,\r\n valorItemDesconto: valorVenda\r\n });\r\n setDadosDetalhes(produto);\r\n return produto;\r\n };\r\n\r\n async function adicionarItem(item = {}) {\r\n let possuiIe = !!form.getFieldValue().pej_inscricaoestadual ? true : false;\r\n let fisicaJuridica = form.getFieldValue().ntf_cpfcnpj.length === 14 ? 2 : form.getFieldValue().ntf_cpfcnpj.length == 11 ? 1 : 3;\r\n let p = dadosProdutoImpostos;\r\n if (p.ncm_ativo == false) {\r\n notification.warning({ message: 'Aviso!', description: 'NCM do produto está invativo na base de dados do SEFAZ, altere o NCM no cadastro do produto para seguir com operação!' });\r\n return;\r\n }\r\n if (!!!p.iod_ufdestino) {\r\n notification.warning({ message: 'Aviso!', description: 'Não encontrado Dados de Origem e Destino no cadastro de tributação para o UF destino, Verifique no cadastro de tributação do produto!' });\r\n return\r\n }\r\n let impostos = await CalcularImpostoItem(p.orm_id, p.cst_id, p.cso_id, p.iod_uforigem, p.iod_ufdestino, form.getFieldValue().quantidade, form.getFieldValue().valorUnitario,\r\n form.getFieldValue().nfi_valorfrete, form.getFieldValue().acrescimo, form.getFieldValue().desconto, p.iod_percicms, p.iod_percdiferimentoicms, p.iod_percicmsreducaobc,\r\n p.mva_percaliquotaicms, p.mva_percmva, p.mva_percaliquotaicmsreducao, p.mva_ajustado, p.ncm_percentual, fisicaJuridica, form.getFieldValue().ntf_consumidorfinal, possuiIe,\r\n form.getFieldValue().ntf_indicadorpresenca);\r\n\r\n let listaItens = [...dadosTabela.dadosItens];\r\n let dadosFormulario = form.getFieldValue();\r\n if (!buscarProdutosCodBarra) {\r\n if (btnEditando.editando) {\r\n item = listaItens.filter((prod) => (prod.nfi_numeroitem === dadosFormulario.nfi_numeroitem))[0];\r\n } else {\r\n item = { ...item, ...dadosFormulario, ...dadosDetalhes };\r\n }\r\n }\r\n let dados = {};\r\n if (!!validarItem(dadosFormulario)) {\r\n let dadosEditando = listaItens.filter((prod) => (prod.pro_id === item.pro_id && (!!!item.prg_id || item.prg_id === prod.prg_id)))[0];\r\n if (!!dadosEditando) {\r\n dadosEditando.impostos = impostos;\r\n dados = popularItemNota(true, item, dadosEditando);\r\n if (!!btnEditando && btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n alterarItem(dados, listaItens, dadosEditando)\r\n } else {\r\n if (buscarProdutosCodBarra) {\r\n dados.nfi_numeroitem = listaItens.length + 1;\r\n incluirItem(dados, listaItens);\r\n } else {\r\n Modal.confirm({\r\n title: 'Atualizar?',\r\n icon: ,\r\n content: 'Item já cadastrado na nota, deseja atualiazar suas informações?',\r\n okText: 'Atualizar',\r\n cancelText: 'Incluir',\r\n centered: true,\r\n onOk() {\r\n alterarItem(dados, listaItens, dadosEditando)\r\n },\r\n onCancel() {\r\n dados.nfi_numeroitem = listaItens.length + 1;\r\n incluirItem(dados, listaItens)\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n item.impostos = impostos;\r\n dados = popularItemNota(false, item);\r\n dados.nfi_numeroitem = listaItens.length + 1;\r\n incluirItem(dados, listaItens)\r\n }\r\n setExibirDetalhes(false);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n }\r\n };\r\n\r\n function validarItem(dados) {\r\n if (dados.quantidade === 0 || !!!dados.quantidade) {\r\n notification.warning({ message: 'Aviso!', description: 'Quantidade do Item Inválida!' });\r\n return false;\r\n }\r\n if (parseFloat(dados.valorItemDesconto) === 0 || parseFloat(dados.valorUnitario) === 0) {\r\n notification.warning({ message: 'Aviso!', description: 'Valor do Item Inválido!' });\r\n return false\r\n }\r\n if (!!!dados.nfi_cfop) {\r\n notification.warning({ message: 'Aviso', description: 'Campo CFOP é obrigatório!' });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n function incluirItem(dados, listaItens) {\r\n listaItens.push(dados);\r\n dadosTabela.setDadosItens(listaItens);\r\n notification.success({ message: 'Aviso', description: 'Item incluído com sucesso!' });\r\n }\r\n\r\n function alterarItem(dados, listaItens, dadosEditando) {\r\n let indice = listaItens.findIndex((item) => (item === dadosEditando));\r\n listaItens.splice(indice, 1, { ...dados });\r\n dadosTabela.setDadosItens(listaItens);\r\n notification.success({ message: 'Aviso', description: 'Item editado com sucesso!' });\r\n }\r\n\r\n function popularItemNota(editando, item, dadosEditando) {\r\n let itemNota = {};\r\n let formulario = form.getFieldValue();\r\n let valorIpi = 0;\r\n let valorSt = 0;\r\n\r\n if (editando) {\r\n if (isObjetoDiffVazio(dadosEditando.impostos)) {\r\n valorSt = dadosEditando.impostos.retornoICMSST.ret_valorIcmsSt;\r\n valorIpi = dadosEditando.impostos.retornoIPI.ret_valorIpi;\r\n }\r\n itemNota = {\r\n ...dadosEditando,\r\n impostos: dadosEditando.impostos,\r\n iod_uforigem: dadosEditando.iod_uforigem,\r\n iod_ufdestino: dadosEditando.iod_ufdestino,\r\n orm_id: dadosEditando.orm_id,\r\n ltp_id: dadosEditando.ltp_id,\r\n nfi_qtde: formulario.quantidade,\r\n nfi_valorunitario: parseFloat(formulario.valorUnitario),\r\n percdesc: parseFloat(formulario.percdesc),\r\n nfi_valorfrete: dadosEditando.nfi_valorfrete,\r\n nfi_valoroutros: parseFloat(formulario.acrescimo),\r\n nfi_valordesconto: parseFloat(formulario.desconto),\r\n percacresc: parseFloat(formulario.percacresc),\r\n nfi_valoricmsst: parseFloat(valorSt),\r\n nfi_valoripi: parseFloat(valorIpi),\r\n nfi_informacaoadicional: formulario.informacaoAdicional,\r\n nfi_cfop: formulario.nfi_cfop,\r\n total: parseFloat(parseFloat(formulario.valorItemDesconto) + parseFloat(valorSt)),\r\n };\r\n } else {\r\n let cfop = dadosCfop.filter((cfop) => (cfop.cfo_cfop === formulario.nfi_cfop))[0];\r\n if (isObjetoDiffVazio(item.impostos)) {\r\n valorSt = item.impostos.retornoICMSST.ret_valorIcmsSt;\r\n valorIpi = item.impostos.retornoIPI.ret_valorIpi;\r\n }\r\n itemNota = {\r\n impostos: item.impostos,\r\n iod_uforigem: item.iod_uforigem,\r\n iod_ufdestino: item.iod_ufdestino,\r\n orm_id: item.orm_id,\r\n ltp_id: item.ltp_id,\r\n pro_id: item.pro_id,\r\n prg_id: item.prg_id,\r\n nfi_cfop: cfop.cfo_cfop,\r\n nfi_qtde: formulario.quantidade,\r\n nfi_numeroitem: !!dadosTabela.dadosItens && dadosTabela.dadosItens.length > 0 ? dadosTabela.dadosItens.length + 1 : 1,\r\n nfi_valorunitario: parseFloat(formulario.valorUnitario ?? 0),\r\n total: parseFloat(parseFloat(formulario.valorItemDesconto) + parseFloat(valorSt)),\r\n percdesc: parseFloat(formulario.percdesc ?? 0),\r\n nfi_valordesconto: parseFloat(formulario.desconto ?? 0),\r\n percacresc: parseFloat(formulario.percacresc ?? 0),\r\n nfi_valoroutros: parseFloat(formulario.acrescimo ?? 0),\r\n nfi_valoricmsst: parseFloat(valorSt),\r\n nfi_valoripi: parseFloat(valorIpi),\r\n nfi_valorfrete: 0,\r\n nfi_informacaoadicional: formulario.informacaoAdicional,\r\n cfo_cfop: cfop.cfo_cfop,\r\n cfo_descricao: cfop.cfo_descricao,\r\n cfo_id: cfop.cfo_id,\r\n nfi_ean: !!item.prg_ean ? item.prg_ean : item.pro_ean,\r\n nfi_unidademedida: item.ump_id,\r\n pro_codigo: item.pro_codigo,\r\n pro_descricao: item.pro_descricao,\r\n pro_ean: item.pro_ean,\r\n ump_id: item.ump_id,\r\n nfi_numeropedidocompra: null,\r\n grade: item.descricaograde,\r\n nfi_ncm: item.ncm_codigo ?? dadosProdutoImpostos.ncm_codigo,\r\n cbf_id: formulario.cbf_id,\r\n icm_id: item.icm_id ?? dadosProdutoImpostos.icm_id,\r\n ncm_id: item.ncm_id ?? dadosProdutoImpostos.ncm_id,\r\n pis_id: item.pis_id ?? dadosProdutoImpostos.pis_id,\r\n cso_id: item.cso_id ?? dadosProdutoImpostos.cso_id,\r\n cst_id: item.cst_id ?? dadosProdutoImpostos.cst_id,\r\n };\r\n }\r\n return itemNota;\r\n };\r\n\r\n async function incluirItemPedidoCondicional() {\r\n let listaItens = [];\r\n let indice = 0;\r\n carregarPagina(true);\r\n for (let [idx, itens] of dadosTabela.dadosItens.entries()) {\r\n let prodNota = await buscarDadosProdImpostos(itens.pro_id)\r\n let obj = { ...prodNota, ...itens };\r\n obj.nfi_cfop = obj.cfo_cfop;\r\n obj.grade = obj.descricaograde;\r\n obj.nfi_ncm = obj.ncm_codigo.toString();\r\n listaItens.push(obj)\r\n if (indice === dadosTabela.dadosItens.length - 1) {\r\n dadosTabela.setDadosItens(listaItens);\r\n carregarPagina(false);\r\n }\r\n indice = indice + 1;;\r\n };\r\n };\r\n\r\n async function buscaPrecoListaPrecoSelecionada() {\r\n let dadosPreco = await api.get(`ListaPrecoItem/BuscaPrecoItem?CodigoListaPreco=${form.getFieldValue().ltp_id}&CodigoProduto=${dadosDetalhes.pro_id}&CodigoGrade=${!!dadosDetalhes.prg_id ? dadosDetalhes.prg_id : \"\"}`);\r\n if (dadosPreco.data) {\r\n form.setFieldsValue({\r\n valorUnitario: dadosPreco.data.lpi_valorvenda,\r\n valorTotalItem: form.getFieldValue().quantidade * dadosPreco.data.lpi_valorvenda,\r\n });\r\n onChangeValorUnitario();\r\n } else (console.log(\"Item não encontrado na lista de preço selecionada\"))\r\n }\r\n\r\n function validarDescontoMaximoVendedor(perDesconto) {\r\n let retorno = true;\r\n if (!!dadosVendedor && !!dadosVendedor.ven_maximodesconto) {\r\n if (perDesconto > (dadosVendedor.ven_maximodesconto * 100)) {\r\n notification.warning({ description: \"O desconto máximo para este vendedor não pode exceder \" + dadosVendedor.ven_maximodesconto * 100 + \"% !\", message: \"Aviso\" });\r\n form.setFieldsValue({\r\n desconto: null,\r\n percdesc: null\r\n });\r\n retorno = false;\r\n }\r\n }\r\n return retorno;\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ pro_id: null, pro_codigo: null, percdesc: 0, desconto: 0, percacresc: 0, acrescimo: 0, nfi_cfop: null, icm_id: null, informacaoAdicional: '' });\r\n };\r\n\r\n function editandoItem(dadosEditando) {\r\n let dadosTemp = {};\r\n let dados = dadosEditando;\r\n form.setFieldsValue({\r\n pro_id: dados.pro_id,\r\n prg_id: dados.prg_id,\r\n quantidade: dados.nfi_qtde,\r\n valorUnitario: dados.nfi_valorunitario,\r\n nfi_numeroitem: dados.nfi_numeroitem,\r\n valorTotalItem: dados.nfi_qtde * dados.nfi_valorunitario,\r\n valorItemDesconto: (dados.nfi_qtde * dados.nfi_valorunitario) - dados.nfi_valordesconto + dados.nfi_valoroutros,\r\n desconto: dados.nfi_valordesconto,\r\n nfi_valorfrete: dados.nfi_valorfrete,\r\n percacresc: dados.percacresc,\r\n percdesc: dados.percdesc,\r\n nfi_cfop: dados.nfi_cfop,\r\n acrescimo: dados.nfi_valoroutros,\r\n informacaoAdicional: dados.nfi_informacaoadicional,\r\n icm_id: (!!dados.icm_id ? dados.icm_id : null), ncm_id: (!!dados.ncm_id ? dados.ncm_id : null), pis_id: (!!dados.pis_id ? dados.pis_id : null)\r\n });\r\n dadosTemp = {\r\n prg_id: dadosEditando.prg_id,\r\n pro_descricao: dadosEditando.pro_descricao,\r\n pro_codigo: dadosEditando.pro_codigo,\r\n pro_ean: dadosEditando.pro_ean,\r\n ncm_codigo: dadosEditando.ncm_codigo,\r\n ncm_id: dadosEditando.ncm_id,\r\n ncm_porcentagem: dadosEditando.ncm_porcentagem,\r\n ump_id: dadosEditando.ump_id,\r\n informacaoAdicional: dadosEditando.nfi_informacaoadicional,\r\n };\r\n setDadosDetalhes(dadosTemp);\r\n }\r\n //#endregion\r\n\r\n return (\r\n
\r\n \r\n {!!!buscarProdutosCodBarra &&\r\n
\r\n \r\n { onChangeProID(dados) }} ordem={\"pro_descricao\"} setListaDados={setListaSelectProd} />\r\n \r\n \r\n }\r\n {!!buscarProdutosCodBarra &&\r\n \r\n \r\n {\r\n onPressEnterProCodigo(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibirDetalhes &&\r\n
\r\n \r\n
\r\n Produto: {dadosDetalhes.pro_descricao} {!!dadosDetalhes.descricaograde ? dadosDetalhes.descricaograde : ''}\r\n \r\n \r\n Código Interno: {dadosDetalhes.pro_codigo}\r\n \r\n \r\n Código de Barras: {!!dadosDetalhes.prg_ean ? dadosDetalhes.prg_ean : dadosDetalhes.pro_ean}\r\n \r\n \r\n NCM: {dadosDetalhes.ncm_codigo}\r\n \r\n \r\n }>\r\n \r\n \r\n \r\n {!ocultaListaPreco && \r\n \r\n buscaPrecoListaPrecoSelecionada(valor)} conteudo={\r\n lp => ({lp.ltp_id} - {lp.ltp_nome})\r\n } />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { onChangeQuantidade() }} />\r\n \r\n \r\n \r\n onChangeValorUnitario()} />\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n (onChangePercDesc())}\r\n precision={2}\r\n min={0}\r\n max={100}\r\n formatter={value => `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n onChangeDesconto()} />\r\n \r\n \r\n \r\n { onChangePercAcresc() }}\r\n precision={2}\r\n min={0}\r\n max={100}\r\n formatter={value => `${value}%`}\r\n parser={value => value.replace('%', '')}\r\n />\r\n \r\n \r\n \r\n { onChangeAcrescimo() }} />\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n ({icm.icm_id} - {icm.icm_descricao})\r\n } />\r\n \r\n \r\n \r\n \r\n carregarNcm(valor)} conteudo={\r\n ncm => ({ncm.ncm_codigo.codigoNcm} - {ncm.ncm_descricao})\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n ({pis.pis_id} - {pis.pis_descricao})\r\n } />\r\n \r\n \r\n {dadosContribuinte.emp_regimetributario === 3 && \r\n \r\n ({v.cbf_codigo} - {v.cbf_descricao} )\r\n } />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { setAbrirModalManutencaoNota(false); }} dadosContribuinte={dadosContribuinte} dadosOperacao={dadosOperacao} dadosEndereco={dadosEndereco} dadosProduto={dadosProdutoImpostos} aoSalvar={(value) => buscarDadosProdImpostos(value)} />\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Input, InputNumber, Descriptions, Card, notification, Tooltip, Select } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { InputPreco, InputPercentual, SelectProduto, SelectPaginacao, SelectPaginado } from \"../../components\";\r\nimport { ModalListaProduto, ModalManutencaoNota } from \"../modals\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions} from \"../../actions\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\n\r\nexport default function FiltroProdutoPdi({ form, dadosTabela, dadosEndereco = {}, custo = {}, dadosOperacao = {} }) {\r\n\r\n \r\n const [dadosDetalhes, setDadosDetalhes] = useState({});\r\n const [consultaProduto, setConsultaProduto] = useState(null);\r\n const [{ manutencao, listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [dadosContribuinte, setDadosContribuinte] = useState({});\r\n const [aux, setAux] = useState(false);\r\n const [dadosProduto, setDadosProduto] = useState({});\r\n const [abrirModalListaProd, setAbrirModalListaProd] = useState(false);\r\n const [listaDadosProdModal, setListaDadosProdModal] = useState([]);\r\n const [abrirModalManutencaoNota, setAbrirModalManutencaoNota] = useState(false);\r\n const [liberadoParaIncluir, setLiberadoParaIncluir] = useState(false);\r\n const [produtoBuscaEan, setProdutoBuscaEan] = useState({});\r\n const [listaSelectProd, setListaSelectProd] = useState([]);\r\n const [desabilitarProd_id, setDesabilitarProd_id] = useState(false);\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const togglePesquisa = () => {\r\n setConsultaProduto(!consultaProduto);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!dadosProduto && isObjetoDiffVazio(dadosProduto)) {\r\n abrirModalManutencaoProd();\r\n }\r\n }, [dadosProduto]);\r\n\r\n useEffect(() => {\r\n popularDadosContribuintes();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!dadosDetalhes && !!liberadoParaIncluir && !!form.getFieldValue().pro_codigo) {\r\n adicionarItemCodBarras();\r\n setLiberadoParaIncluir(false);\r\n form.setFieldsValue({ pro_codigo: null });\r\n }\r\n }, [dadosDetalhes, liberadoParaIncluir]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n popularDadosContribuintes();\r\n\r\n //popularProduto();\r\n setAux(true);//criado para carregar os dadosContribuintes antes de entrar no popularProduto\r\n }\r\n }, [manutencao.dados]);\r\n\r\n useEffect(() => {\r\n if (!!listaSelectProd && manutencao.dados?.editando) {\r\n let dados = { ...manutencao.dados };\r\n popularProduto(dados.pro_id, true, dados.prg_id);\r\n dados.pro_id = form.getFieldValue().pro_id;\r\n form.setFieldsValue(dados);\r\n }\r\n }, [listaSelectProd]);\r\n\r\n useEffect(() => {\r\n if (!!dadosContribuinte && dadosContribuinte.length > 0 && aux && !!manutencao.dados && !!manutencao.dados.pro_id) {\r\n popularProduto(manutencao.dados.pro_id, true, manutencao.dados.prg_id);\r\n }\r\n }, [dadosContribuinte]);\r\n\r\n function abrirModalManutencaoProd() {\r\n if (isObjetoDiffVazio(custo)) {//validacao da nota de transferencia\r\n if (!!!dadosProduto.icm_id || !!!dadosProduto.ncm_id || !!!dadosProduto.ump_id || !!!dadosProduto.pro_descricao) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if (!!!dadosProduto.iod_ufdestino) {\r\n setAbrirModalManutencaoNota(true);\r\n }\r\n } else {\r\n if (dadosContribuinte.emp_regimetributario === 3 && (!!!dadosProduto.icm_id || !!!dadosProduto.ncm_id || !!!dadosProduto.ump_id ||\r\n !!!dadosProduto.pro_descricao || !!!dadosProduto.pis_id || !!!dadosProduto.iod_ufdestino)) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if (dadosContribuinte.emp_regimetributario !== 3 && (!!!dadosProduto.icm_id || !!!dadosProduto.ncm_id || !!!dadosProduto.ump_id)) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if (!!dadosProduto.cst_id && !!!dadosProduto.mva_ufdestino && (dadosProduto.cst_id === '10' || dadosProduto.cst_id === '30' || dadosProduto.cst_id === '70')) {\r\n setAbrirModalManutencaoNota(true);\r\n }\r\n }\r\n };\r\n\r\n function popularDadosContribuintes(callback) {\r\n api.get(`dadosContribuinte/Buscar`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosContribuinte(res.data);\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function alterarValorTotal() {\r\n let total = 0;\r\n\r\n total = form.getFieldValue().pdi_quantidade * form.getFieldValue().pdi_valorunitario;\r\n form.setFieldsValue({ pdi_valortotal: total.toFixed(2) });\r\n\r\n calculaDesconto('ATT');\r\n };\r\n\r\n function calculaTotalItemDescAcr() {\r\n let valorTot = 0;\r\n let valorItens = !!form.getFieldValue().pdi_valortotal ? form.getFieldValue().pdi_valortotal : 0;\r\n let valorAcrescimo = !!form.getFieldValue().acrescimo ? form.getFieldValue().acrescimo : 0;\r\n let valorDesc = !!form.getFieldValue().desconto ? form.getFieldValue().desconto : 0;\r\n valorTot = parseFloat(valorItens) + parseFloat(valorAcrescimo) - parseFloat(valorDesc);\r\n form.setFieldsValue({ valorItemDesconto: valorTot.toFixed(2) });\r\n };\r\n\r\n function calculaDesconto(campo) {\r\n let valor = (!!form.getFieldValue().desconto ? form.getFieldValue().desconto : 0);\r\n let perc = (!!form.getFieldValue().percdesc ? form.getFieldValue().percdesc : 0);\r\n let tot = parseFloat(form.getFieldValue().pdi_valortotal);\r\n let result = 0;\r\n if (!!campo) {\r\n if (campo === 'PERC') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ desconto: result.toFixed(2) });\r\n } else if (campo === 'ATT') {\r\n result = (tot * perc) / 100;\r\n form.setFieldsValue({ desconto: result.toFixed(2) });\r\n valor = (!!form.getFieldValue().desconto ? parseFloat(form.getFieldValue().desconto) : 0)\r\n result = (!!tot > 0 ? (valor * 100) / tot : 0);\r\n form.setFieldsValue({ percdesc: result.toFixed(2) });\r\n } else {\r\n if (valor > tot) {\r\n form.setFieldsValue({ desconto: tot });\r\n form.setFieldsValue({ percdesc: 100 });\r\n } else {\r\n result = (valor * 100) / tot;\r\n form.setFieldsValue({ percdesc: result.toFixed(2) });\r\n }\r\n }\r\n calculaTotalItemDescAcr();\r\n }\r\n };\r\n\r\n async function buscarProduto(produto) {\r\n let listaItens = [...listaSelectProd];\r\n let prod = listaItens.filter((item) => item.key === produto)[0];\r\n let buscaOK = await popularProduto(prod.pro_id, false, prod.prg_id ? prod.prg_id : null);\r\n if (buscaOK) {\r\n await buscarDadosProdutoPedido(prod.pro_id);\r\n } else {\r\n cancelar();\r\n }\r\n };\r\n\r\n async function buscarDadosProdutoPedido(produto) {\r\n let prod = !!produto ? produto : form.getFieldValue().pro_id;\r\n let destinoOperacao = (!!dadosEndereco.est_sigla && !!dadosContribuinte.est_sigla && (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) ? '1' : '2');\r\n let res = await api.get(`Produto/BuscarDadosProduto?IdProduto=${prod}&ufDestino=${!!dadosEndereco ? dadosEndereco.est_sigla : dadosContribuinte.est_sigla}`\r\n + `&operacaoCodigo=${form.getFieldValue().ope_id}&ufOrigem=${dadosContribuinte.est_sigla}&tipoContribuinte=${dadosContribuinte.loc_tipocontribuinte}`\r\n + `&empresaEnquadramento=${dadosContribuinte.emp_regimetributario}&destinoOperacao=${destinoOperacao}&indicadorPresenca=0`\r\n );\r\n if (res.status == 200) {\r\n let dados = res.data[0];\r\n dados.pro_id = prod;\r\n let filtros = !!produto ? `idProduto=${produto}` : '';\r\n filtros += !!dados.prg_id ? `&idProdutoGrade=${dados.prg_id}` : '';\r\n filtros += !!form.getFieldValue().ope_id ? `&idOperacaoFiscal=${form.getFieldValue().ope_id}` : '';\r\n filtros += !!form.getFieldValue().cli_id ? `&idCliente=${form.getFieldValue().cli_id}` : '';\r\n let listaPrecoTemp = (await api.get(`ListaPreco/ListaPrecoPadraoProduto?${filtros}`)).data;\r\n dados.ltp_id = listaPrecoTemp[0].ltp_id;\r\n let listaPrecoCliente = (await api.get(`ListaPrecoCliente/ListarListaPrecoCliente?${filtros}`)).data;\r\n if (!!listaPrecoCliente && listaPrecoCliente.length > 0) {\r\n let grade = !!dados.prg_id ? `&CodigoGrade=${dados.prg_id}` : \"\"; \r\n let dadosPreco = await api.get(`ListaPrecoItem/BuscaPrecoItem?CodigoListaPreco=${listaPrecoCliente[0].ltp_id}&CodigoProduto=${produto}${grade}`);\r\n if (dadosPreco.data) {\r\n form.setFieldsValue({\r\n ltp_id: !!dadosPreco.ltp_id ? dados.ltp_id : listaPrecoCliente[0].ltp_id,\r\n lpi_valorvenda: dadosPreco.data.lpi_valorvenda,\r\n pdi_valorunitario: dadosPreco.data.lpi_valorvenda,\r\n pdi_valortotal: form.getFieldValue().pdi_quantidade * dadosPreco.data.lpi_valorvenda,\r\n });\r\n }\r\n } else {\r\n form.setFieldsValue({ ltp_id: (!!listaPrecoTemp[0].ltp_id ? listaPrecoTemp[0].ltp_id : '') });\r\n }\r\n setDadosProduto(dados);\r\n buscaPrecoListaPrecoSelecionada(dados);\r\n }\r\n };\r\n\r\n async function popularProduto(prod_id, editar = false, prg_id = null) {\r\n let dadosTemp = {};\r\n setExibirDetalhes(true);\r\n let listaprecoItem = null;\r\n let total = 0;\r\n let dados = manutencao.dados;\r\n let custoProd = isObjetoDiffVazio(custo) && !!custo.key ? \"&custoTransferencia=\" + custo.key : \"\";\r\n let produtoGrade = !!prg_id ? `&IdGrade=${prg_id}` : ((!!dados && dados[0].prg_id != null) ? `&IdGrade=${dados[0].prg_id}` : '');\r\n let produto = !!prod_id ? prod_id : (!!dados[0].pro_id ? dados[0].pro_id : \"\");\r\n let grade = !!prg_id ? `&CodigoGrade=${prg_id}` : ((!!dados && dados[0].prg_id != null)? `&CodigoGrade=${dados[0].prg_id}` : \"\");\r\n let filtros = `idProduto=${produto}`;\r\n filtros += !!prg_id ? `&idProdutoGrade=${prg_id}` : (!!dados ? `&idProdutoGrade=${dados[0].prg_id}` : \"\");\r\n filtros += !!form.getFieldValue().ope_id ? `&idOperacaoFiscal=${form.getFieldValue().ope_id}` : (!!dados[0].ope_id ? dados[0].ope_id : \"\");\r\n filtros += !!form.getFieldValue().cli_id ? `&idCliente=${form.getFieldValue().cli_id}` : (!!dados[0].cli_id ? dados[0].cli_id : \"\");\r\n let lpc = (await api.get(`ListaPrecoCliente/ListarListaPrecoCliente?${filtros}`)).data;\r\n if(lpc != null && lpc != 0 ){\r\n listaprecoItem = (await api.get(`ListaPrecoItem/BuscaPrecoItem?CodigoListaPreco=${lpc[0].ltp_id}&CodigoProduto=${produto}${grade}`)).data;\r\n }\r\n let res = await api.get(`Produto/BuscaProdutoPedido?IdProduto=${( !!prod_id ? prod_id : (!!dados[0].pro_id ? dados[0].pro_id : \"\"))}\r\n &ufDestino=${(!!dadosEndereco ? dadosEndereco.est_sigla : dadosContribuinte.est_sigla)}&ufOrigem=${dadosContribuinte.est_sigla}${custoProd}${produtoGrade}`);\r\n if(lpc != null && listaprecoItem != null ){\r\n form.setFieldsValue({ ltp_id: lpc[0].ltp_id, ltp_nome: lpc[0].ltp_nome});\r\n res.data[0].dpr_precovenda = listaprecoItem.lpi_valorvenda;\r\n res.data[0].lpi_valorvenda = listaprecoItem.lpi_valorvenda;\r\n }\r\n if (res.status === 200) {\r\n let valorUnitario = 0;\r\n if (isObjetoDiffVazio(custo)) {\r\n valorUnitario = res.data[0].dpr_precovenda;\r\n } else {\r\n valorUnitario = res.data[0].lpi_valorvenda > 0 ? res.data[0].lpi_valorvenda : res.data[0].dpr_precovenda;\r\n }\r\n if (!editar) {\r\n form.setFieldsValue({ pdi_quantidade: 1 });\r\n form.setFieldsValue({ pdi_valorunitario: valorUnitario });\r\n form.setFieldsValue({ pdi_valortotal: valorUnitario });\r\n form.setFieldsValue({ valorItemDesconto: valorUnitario });\r\n } else {\r\n valorUnitario = dados.pdi_valorunitario;\r\n total = valorUnitario * dados.pdi_quantidade;\r\n form.setFieldsValue({ pdi_quantidade: dados.pdi_quantidade });\r\n form.setFieldsValue({ pdi_valorunitario: valorUnitario });\r\n form.setFieldsValue({ pdi_valortotal: total });\r\n form.setFieldsValue({ valorItemDesconto: total - dados.pdi_valordesconto });\r\n form.setFieldsValue({ desconto: dados.pdi_valordesconto });\r\n form.setFieldsValue({ percdesc: dados.percdesc });\r\n //dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n }\r\n form.setFieldsValue({ prg_id: prg_id });\r\n dadosTemp.prg_id = prg_id;\r\n dadosTemp.pro_descricao = res.data[0].pro_descricao;\r\n dadosTemp.pro_codigo = res.data[0].pro_codigo;\r\n dadosTemp.pro_ean = res.data[0].pro_ean;\r\n dadosTemp.ncm_codigo = res.data[0].ncm_codigo;\r\n dadosTemp.ump_id = res.data[0].ump_id;\r\n dadosTemp.pro_id = res.data[0].pro_id;\r\n setDadosDetalhes(dadosTemp);\r\n return true;\r\n }\r\n else {\r\n console.log(res.data);\r\n }\r\n\r\n };\r\n\r\n function adicionarItem() {\r\n let dadosItens = [...dadosTabela.dadosItens];\r\n let lista = [...listaSelectProd];\r\n let dados = lista.filter(item => item.key === form.getFieldValue().pro_id)[0];\r\n if (parseFloat(form.getFieldValue().valorItemDesconto) === 0) {\r\n notification.warning({ description: 'Valor do item deve ser maior que zero!', message: 'Aviso' });\r\n return;\r\n }\r\n if (parseFloat(form.getFieldValue().pdi_quantidade) === 0) {\r\n notification.warning({ description: 'Quantidade de itens deve ser maior que zero!', message: 'Aviso' });\r\n return;\r\n }\r\n if (dados == null) {\r\n if (!!manutencao.dados?.editando) {\r\n let dadosEditando = lista[0];\r\n dados = dadosItens.filter((item) => item.pro_id === dadosEditando.pro_id && ((!!dadosEditando.prg_id && dadosEditando.prg_id === item.prg_id) || !dadosEditando.prg_id))[0];\r\n } else {\r\n dados = dadosItens.filter((item) => item.key === form.getFieldValue().pro_id)[0];\r\n }\r\n }\r\n if (dadosItens.find(campo => campo.pro_id === dados.pro_id\r\n && ((!!form.getFieldValue().prg_id && form.getFieldValue().prg_id === campo.prg_id) || !form.getFieldValue().prg_id))) {\r\n adicionarItemPedido(dados);\r\n let dadosEditando = dadosItens.filter((prod) => (prod.pro_id === dados.pro_id && (!!!dados.prg_id || dados.prg_id === prod.prg_id)))[0];\r\n let indice = dadosItens.findIndex((item) => (item === dadosEditando));\r\n dadosItens.splice(indice, 1, { ...dados });\r\n dadosTabela.setDadosItens(dadosItens);\r\n } else {\r\n adicionarItemPedido(dados);\r\n dadosItens.push(dados);\r\n }\r\n dadosTabela.setDadosItens(dadosItens);\r\n setDesabilitarProd_id(false);\r\n setDadosDetalhes({});\r\n setExibirDetalhes(false);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n };\r\n\r\n function adicionarItemCodBarras() {\r\n let listaItens = [...dadosTabela.dadosItens];\r\n let codigoProduto = form.getFieldValue().pro_codigo;\r\n let dados = listaItens.find((item) => item.pro_ean == codigoProduto);\r\n if (!!dados) {\r\n dados.pdi_quantidade += 1;\r\n let valorTotal = dados.pdi_quantidade * dados.pdi_valorunitario;\r\n let valorDesc = valorTotal * (dados.percdesc / 100);\r\n dados.valorItemDesconto = valorTotal - valorDesc;\r\n } else {\r\n dados = produtoBuscaEan;\r\n adicionarItemPedido(dados);\r\n dados.descricaograde = produtoBuscaEan.descricaograde\r\n listaItens.push(dados);\r\n dadosTabela.setDadosItens(listaItens)\r\n }\r\n cancelar();\r\n };\r\n\r\n function cancelar() {\r\n setExibirDetalhes(false);\r\n setDadosDetalhes({});\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ pro_id: null, pro_codigo: null, percdesc: 0, desconto: 0, percacresc: 0, acrescimo: 0, icm_id: null });\r\n };\r\n\r\n\r\n function adicionarItemPedido(dados) {\r\n dados.pdi_quantidade = parseFloat(!!form.getFieldValue().pdi_quantidade ? form.getFieldValue().pdi_quantidade : dadosDetalhes.pdi_quantidade);\r\n dados.pdi_valorunitario = parseFloat(form.getFieldValue().pdi_valorunitario);\r\n dados.percdesc = parseFloat(!!form.getFieldValue().percdesc ? form.getFieldValue().percdesc : 0);\r\n dados.pdi_valordesconto = parseFloat(form.getFieldValue().desconto);\r\n dados.valorItemDesconto = parseFloat(form.getFieldValue().valorItemDesconto);\r\n dados.pdi_valortotal = parseFloat(form.getFieldValue().pdi_valortotal);\r\n dados.pro_codigo = !!dadosDetalhes.pro_codigo ? dadosDetalhes.pro_codigo : dados.pro_codigo;\r\n dados.pro_id = !!dadosDetalhes.pro_id ? dadosDetalhes.pro_id : dados.pro_id;\r\n dados.pro_descricao = dadosDetalhes.pro_descricao;\r\n dados.pro_ean = dadosDetalhes.pro_ean;\r\n dados.prg_id = dadosDetalhes.prg_id;\r\n dados.pdi_basecalculoicms = 0;\r\n dados.pdi_basecalculoicmsst = 0;\r\n dados.pdi_basecalculoipi = 0;\r\n dados.pdi_percentualicms = 0;\r\n dados.pdi_percentualicmsst = 0;\r\n dados.pdi_percentualipi = 0;\r\n dados.ope_id = !!dadosDetalhes.ope_id ? dadosDetalhes.ope_id : (!!dados.ope_id ? dados.ope_id : '');\r\n dadosTabela.setDadosItens(dados);\r\n };\r\n\r\n async function buscarProdutoCodBarra(campo) {\r\n let dados = await api.get(`Produto/ListaProdutoCodigo?filtro=${campo.target.value.trim()}`);\r\n if (dados.data?.length > 1) {\r\n setListaDadosProdModal(dados.data);\r\n setAbrirModalListaProd(true);\r\n } else {\r\n buscarDadosProdutoPedido(dados.data[0].pro_id);\r\n form.setFieldsValue({ pro_id: dados.data[0].pro_id });\r\n let retOk = await popularProduto(dados.data[0].pro_id, false, dados.data[0].prg_id);\r\n if (retOk) {\r\n setProdutoBuscaEan(dados.data[0]);\r\n setLiberadoParaIncluir(true);\r\n } else {\r\n cancelar();\r\n }\r\n }\r\n };\r\n\r\n async function buscaPrecoListaPrecoSelecionada(dados) {\r\n let proId = !!dadosProduto.pro_id ? dadosProduto.pro_id : (!!dados.pro_id ? dados.pro_id : \"\");\r\n let prg = !!!dadosProduto.prg_id ? dadosProduto.prg_id : (!!!dados.prg_id ? dados.prg_id : \"\");\r\n let filtros = `&CodigoProduto=${proId}`;\r\n filtros += !!prg ? `&CodigoGrade=${prg}` : \"\" ;\r\n let listaPreco = !!form.getFieldValue().ltp_id ? form.getFieldValue().ltp_id : (dados.ltp_id ? dados.ltp_id : \"\");\r\n let dadosPreco = await api.get(`ListaPrecoItem/BuscaPrecoItem?CodigoListaPreco=${listaPreco}${filtros}`);\r\n if (dadosPreco.data) {\r\n form.setFieldsValue({\r\n pdi_valorunitario: dadosPreco.data.lpi_valorvenda,\r\n pdi_valortotal: form.getFieldValue().pdi_quantidade * dadosPreco.data.lpi_valorvenda,\r\n });\r\n alterarValorTotal();\r\n } else {\r\n notification.warning({ description: 'Item não encontrado na lista de preço selecionada!', message: 'Aviso' });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {!!consultaProduto === false &&\r\n
\r\n \r\n { buscarProduto(dados) }} ordem={\"pro_id\"} setListaDados={setListaSelectProd}/>\r\n \r\n \r\n }\r\n {!!consultaProduto &&\r\n \r\n \r\n {\r\n buscarProdutoCodBarra(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibirDetalhes &&\r\n
\r\n \r\n
\r\n \r\n \r\n {dadosDetalhes.pro_descricao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadosDetalhes.pro_codigo}\r\n \r\n \r\n {dadosDetalhes.pro_ean}\r\n \r\n \r\n {dadosDetalhes.ncm_codigo}\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n buscaPrecoListaPrecoSelecionada(valor.ltp_id)} conteudo={\r\n lp => ({lp.ltp_id} - {lp.ltp_nome})\r\n } />\r\n \r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n \r\n {!isObjetoDiffVazio(custo) && \r\n (calculaDesconto('PERC'))}\r\n />\r\n }\r\n {!isObjetoDiffVazio(custo) && \r\n (calculaDesconto('VALOR'))} />\r\n }\r\n {!isObjetoDiffVazio(custo) && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { cancelar(); setAbrirModalManutencaoNota(false); }} dadosContribuinte={dadosContribuinte} dadosOperacao={dadosOperacao} dadosEndereco={dadosEndereco} dadosProduto={dadosProduto} />\r\n { setAbrirModalListaProd(false); }} dadosItens={listaDadosProdModal} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Input, InputNumber, Descriptions, Select, Card, notification, Tooltip, Modal } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, PlusOutlined, CloseOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { InputPreco } from \"../../components\";\r\nimport { ModalGradeProduto, ModalManutencaoNota } from \"../modals\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { calculoICMS, calculoICMSDiferido, calculoICMSST, calculoIPI } from \"../../services/calculaImposto\";\r\nimport { info, isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport SelectProduto from \"../selects/selectProduto\";\r\n\r\nexport default function FiltroProdutoNtf({ form, dadosTabela, dadosEndereco = {}, dadosOperacao = {}, dadosNfeTransferencia }) {\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const [abrirModalGrade, setAbrirModalGrade] = useState(false);\r\n const [dadosDetalhes, setDadosDetalhes] = useState({});\r\n const [dadosGrade, setDadosGrade] = useState([]);\r\n const [desabilitarProd_id, setDesabilitarProd_id] = useState(false);\r\n const [consultaProduto, setConsultaProduto] = useState(null);\r\n const [dadosCfop, setDadosCfop] = useState([]);\r\n const [abrirModalManutencaoNota, setAbrirModalManutencaoNota] = useState(false);\r\n const [dadosProduto, setDadosProduto] = useState({});\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [dadosContribuinte, setDadosContribuinte] = useState({});\r\n const [tributacaoIcms, setTributacaoIcms] = useState([]);\r\n const [listaItens, setListaItens] = useState([]);\r\n const codBarras = useRef();\r\n const togglePesquisa = () => {\r\n setConsultaProduto(!consultaProduto);\r\n };\r\n\r\n useEffect(() => {\r\n popularDadosContribuintes();\r\n buscarDadosCfop();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!!dadosContribuinte && isObjetoDiffVazio(dadosContribuinte)) {\r\n if (!!manutencao.dados && !!manutencao.dados.ped_id) {\r\n incluirProdutoExterno();\r\n }\r\n }\r\n }, [dadosContribuinte]);\r\n\r\n useEffect(() => {\r\n if (consultaProduto && !!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n }, [consultaProduto]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!dadosContribuinte && isObjetoDiffVazio(dadosContribuinte) && !!manutencao.dados.pro_id) {\r\n let prod = listaItens.find(p => p.pro_id == manutencao.dados.pro_id && (manutencao.dados.prg_id == null || manutencao.dados.prg_id == p.prg_id));\r\n form.setFieldsValue({ pro_id: prod.key });\r\n abrirEditarItem(prod);\r\n }\r\n }, [manutencao]);\r\n\r\n async function incluirProdutoExterno() {\r\n let listaItens = [];\r\n let custo = !!dadosNfeTransferencia.dadosNfeTransferencia && !!dadosNfeTransferencia.dadosNfeTransferencia.custo ? dadosNfeTransferencia.dadosNfeTransferencia.custo.key : 1;\r\n let destinoOperacao = (!!dadosEndereco.est_sigla && !!dadosContribuinte.est_sigla && (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) ? '1' : '2');\r\n for (let [idx, itens] of dadosTabela.dadosItens.entries()) {\r\n let dadosItem = await api.get(`Produto/BuscarDadosProdutoTransferencia?codigoProduto=${itens.pro_id}&destinoOperacao=${destinoOperacao}®imeTributarioEmpresa=${dadosContribuinte.emp_regimetributario}`\r\n + `&tipoContribuinte=${dadosContribuinte.loc_tipocontribuinte}&tipoCusto=${custo}&ufDestino=${dadosEndereco.est_sigla}&codigoProdutoGrade=${itens.prg_id}`\r\n + `&ufOrigem=${dadosContribuinte.est_sigla}`);\r\n\r\n let icm_id = null;\r\n let tributacaoIcms = await api.get(`TributacaoIcms/ListarTributacaoIcmsOrigemDestinoProduto?codigoProduto=${itens.pro_id}&ufDestino=${dadosEndereco.est_sigla}&ufOrigem=${dadosContribuinte.est_sigla}`);\r\n if (tributacaoIcms.status === 200) {\r\n tributacaoIcms.data.forEach((icm) => {\r\n if (!!icm.classeProduto) {\r\n icm_id = icm;\r\n }\r\n });\r\n }\r\n\r\n if (dadosItem.status === 200) {\r\n dadosItem = dadosItem.data;\r\n let prodNota = {};\r\n if (!!icm_id && JSON.stringify(icm_id) !== '{}' && !!icm_id.icm_id) {\r\n prodNota.icm_id = icm_id;\r\n prodNota.cso_id = icm_id.cso_id;\r\n prodNota.cst_id = icm_id.cst_id;\r\n prodNota.icm_descricao = icm_id.icm_descricao;\r\n prodNota.iod_id = icm_id.iod_id;\r\n prodNota.iod_percdiferimentoicms = icm_id.iod_percdiferimentoicms;\r\n prodNota.iod_percicms = icm_id.iod_percicms;\r\n prodNota.iod_percicmsreducaobc = icm_id.iod_percicmsreducaobc;\r\n prodNota.iod_ufdestino = icm_id.iod_ufdestino;\r\n prodNota.iod_uforigem = icm_id.iod_uforigem;\r\n }\r\n\r\n prodNota.pro_id = itens.pro_id;\r\n prodNota.prg_id = !!itens.prg_id ? itens.prg_id : null;\r\n prodNota.nfi_cfop = dadosItem.cfo_cfop;\r\n prodNota.nfi_qtde = itens.nfi_qtde;\r\n prodNota.nfi_numeroitem = dadosTabela.dadosItens.length + 1;\r\n prodNota.nfi_valorunitario = parseFloat(itens.nfi_valorunitario);\r\n prodNota.total = parseFloat(itens.nfi_valorunitario) * parseFloat(itens.nfi_qtde);\r\n prodNota.percdesc = parseFloat(!!itens.percdesc ? itens.percdesc : 0);\r\n prodNota.nfi_valordesconto = parseFloat(!!itens.nfi_valordesconto ? itens.nfi_valordesconto : 0);\r\n prodNota.percacresc = parseFloat(!!itens.percacresc ? itens.percacresc : 0);\r\n prodNota.nfi_valoroutros = parseFloat(!!itens.nfi_valoroutros ? itens.nfi_valoroutros : 0);\r\n prodNota.nfi_informacaoadicional = '';\r\n prodNota.cfo_cfop = dadosItem.cfo_cfop;\r\n prodNota.cfo_descricao = dadosItem.cfo_descricao;\r\n prodNota.cfo_id = dadosItem.cfo_id;\r\n prodNota.nfi_ean = itens.nfi_ean;\r\n prodNota.nfi_unidademedida = dadosItem.ump_id;\r\n prodNota.pro_codigo = itens.pro_codigo;\r\n prodNota.pro_descricao = itens.pro_descricao;\r\n prodNota.pro_ean = dadosItem.pro_ean;\r\n prodNota.ump_id = dadosItem.ump_id;\r\n prodNota.nfi_numeropedidocompra = !!itens.nfi_numeropedidocompra ? itens.nfi_numeropedidocompra : null;\r\n prodNota.nfi_ncm = dadosItem.ncm_codigo;\r\n prodNota.ncm_id = dadosItem.ncm_id;\r\n listaItens.push(prodNota)\r\n\r\n if (idx === dadosTabela.dadosItens.length - 1) {\r\n dadosTabela.setDadosItens(listaItens);\r\n //dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ itensNf: listaItens } } } });\r\n }\r\n }\r\n }\r\n }\r\n\r\n function buscarDadosCfop() {\r\n api.get(`Cfop/ListarCfopTipo?tipoCfopFim=8000&tipoCfopIni=1000`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosCfop(res.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n async function buscarDadosProdutoNotaTransf(incluir = false, possuiGrade = false) {\r\n let listaProdutos = [...listaItens];\r\n let produto = listaProdutos.filter(pro => pro.key === form.getFieldValue().pro_id)[0];\r\n\r\n let custo = !!dadosNfeTransferencia.dadosNfeTransferencia && !!dadosNfeTransferencia.dadosNfeTransferencia.custo ? dadosNfeTransferencia.dadosNfeTransferencia.custo.key : 1;\r\n let destinoOperacao = (!!dadosEndereco.est_sigla && !!dadosContribuinte.est_sigla && (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) ? '1' : '2');\r\n let parametros = `IdProduto=${produto.pro_id}&destinoOperacao=${destinoOperacao}&empresaEnquadramento=${dadosContribuinte.emp_regimetributario}`;\r\n parametros += `&tipoContribuinte=${dadosContribuinte.loc_tipocontribuinte}&tipoCusto=${custo}&ufDestino=${dadosEndereco.est_sigla}&ufOrigem=${dadosContribuinte.est_sigla}`;\r\n parametros += !!produto.prg_id ? `&codigoProdutoGrade=${produto.prg_id}` : '';\r\n\r\n api.get(`Produto/BuscarDadosProdutoTransferencia?${parametros}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n let dadosProduto = res.data;\r\n let icm_id = null;\r\n api.get(`TributacaoIcms/ListarTributacaoIcmsOrigemDestinoProduto?codigoProduto=${dadosProduto.pro_id}&ufDestino=${dadosEndereco.est_sigla}&ufOrigem=${dadosContribuinte.est_sigla}`).then(\r\n tributacaoIcms => {\r\n if (tributacaoIcms.status === 200) {\r\n tributacaoIcms.data.forEach((icm) => {\r\n if (!!icm.icm_id) {\r\n icm_id = icm;\r\n }\r\n });\r\n setTributacaoIcms(tributacaoIcms.data);\r\n }\r\n form.setFieldsValue({ nfi_cfop: dadosProduto.cfo_cfop });\r\n if (!!icm_id && JSON.stringify(icm_id) !== '{}' && !!icm_id.icm_id) {\r\n dadosProduto.icm_id = icm_id.icm_id;\r\n dadosProduto.cso_id = icm_id.cso_id;\r\n dadosProduto.cst_id = icm_id.cst_id;\r\n dadosProduto.icm_descricao = icm_id.icm_descricao;\r\n dadosProduto.iod_id = icm_id.iod_id;\r\n dadosProduto.iod_percdiferimentoicms = icm_id.iod_percdiferimentoicms;\r\n dadosProduto.iod_percicms = icm_id.iod_percicms;\r\n dadosProduto.iod_percicmsreducaobc = icm_id.iod_percicmsreducaobc;\r\n dadosProduto.iod_ufdestino = icm_id.iod_ufdestino;\r\n dadosProduto.iod_uforigem = icm_id.iod_uforigem;\r\n\r\n form.setFieldsValue({ icm_id: icm_id.icm_id });\r\n }\r\n\r\n setDadosProduto(dadosProduto);\r\n\r\n if ((!!dadosProduto.icm_id === false) || (!!dadosProduto.ncm_id === false) || (!!dadosProduto.ump_id === false) || (!!dadosProduto.pro_descricao === false)) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if ((!!dadosProduto.iod_ufdestino) === false) {\r\n setAbrirModalManutencaoNota(true);\r\n } else {\r\n setarCfopCorrespondenteTributacaoICMS(dadosProduto);\r\n }\r\n\r\n if (dadosProduto.pre_custoultimacompra === 0 && !possuiGrade) { //validação é feita na grade quando possuir\r\n info(\"Não foi possivel localizar o \" + dadosNfeTransferencia.dadosNfeTransferencia.custo.value + \" do item \" + dadosProduto.pro_descricao + \", selecione OUTRO CUSTO e informe o produto novamente!\");\r\n return;\r\n }\r\n\r\n form.setFieldsValue({ quantidade: 1, valorUnitario: dadosProduto.pre_custoultimacompra, valorTotalItem: dadosProduto.pre_custoultimacompra });\r\n\r\n if (incluir) {\r\n let dadosTemp = [...dadosTabela.dadosItens];\r\n adicionarItemNotaTransferencia(false, dadosProduto, null, dadosProduto.prg_id, () => {\r\n dadosTemp.push(dadosProduto);\r\n dadosTabela.setDadosItens(dadosTemp);\r\n limparCampos();\r\n if (consultaProduto && !!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n });\r\n } else {\r\n setExibirDetalhes(true);\r\n let dadosTemp = {};\r\n dadosTemp.prg_id = dadosProduto.prg_id;\r\n dadosTemp.pro_descricao = dadosProduto.pro_descricao;\r\n dadosTemp.pro_codigo = dadosProduto.pro_codigo;\r\n dadosTemp.pro_ean = dadosProduto.pro_ean;\r\n dadosTemp.prg_ean = dadosProduto.prg_ean;\r\n dadosTemp.ncm_codigo = dadosProduto.ncm_codigo;\r\n dadosTemp.ump_id = dadosProduto.ump_id;\r\n dadosTemp.descricaograde = dadosProduto.descricaograde;\r\n setDadosDetalhes(dadosTemp);\r\n }\r\n }\r\n )\r\n }\r\n }\r\n ).catch(error => console.log(error));\r\n };\r\n\r\n function setarCfopCorrespondenteTributacaoICMS(dadosProduto) {\r\n var cfoCfop = \"\";\r\n if (dadosContribuinte.emp_regimetributario === 3) {\r\n if (dadosProduto.cst_id === \"00\" || dadosProduto.cst_id === \"20\" || dadosProduto.cst_id === \"40\" || dadosProduto.cst_id === \"41\" || dadosProduto.cst_id === \"50\" || dadosProduto.cst_id === \"51\" || dadosProduto.cst_id === \"90\") {\r\n if (dadosContribuinte.loc_tipocontribuinte === 1 || dadosContribuinte.loc_tipocontribuinte === 4) {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5152\";\r\n } else {\r\n cfoCfop = \"6152\";\r\n }\r\n } else {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5151\";\r\n }\r\n else {\r\n cfoCfop = \"6151\";\r\n }\r\n }\r\n } else if (dadosProduto.cst_id === \"10\" || dadosProduto.cst_id === \"30\" || dadosProduto.cst_id === \"60\" || dadosProduto.cst_id === \"70\") {\r\n if (dadosContribuinte.loc_tipocontribuinte === 1 || dadosContribuinte.loc_tipocontribuinte === 4) {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5409\";\r\n } else {\r\n cfoCfop = \"6409\";\r\n }\r\n } else {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5408\";\r\n }\r\n else {\r\n cfoCfop = \"6408\";\r\n }\r\n }\r\n }\r\n } else {\r\n if (dadosProduto.cso_id === \"101\" || dadosProduto.cso_id === \"102\" || dadosProduto.cso_id === \"103\" || dadosProduto.cso_id === \"300\" || dadosProduto.cso_id === \"400\" || dadosProduto.cso_id === \"900\") {\r\n if (dadosContribuinte.loc_tipocontribuinte === 1 || dadosContribuinte.loc_tipocontribuinte === 4) {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5152\";\r\n }\r\n else {\r\n cfoCfop = \"6152\";\r\n }\r\n }\r\n else {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5151\";\r\n }\r\n else {\r\n cfoCfop = \"6151\";\r\n }\r\n }\r\n } else if (dadosProduto.cso_id === \"201\" || dadosProduto.cso_id === \"202\" || dadosProduto.cso_id === \"203\" || dadosProduto.cso_id === \"500\") {\r\n if (dadosContribuinte.loc_tipocontribuinte === 1 || dadosContribuinte.loc_tipocontribuinte === 4) {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5409\";\r\n }\r\n else {\r\n cfoCfop = \"6409\";\r\n }\r\n }\r\n else {\r\n if (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) {\r\n cfoCfop = \"5408\";\r\n }\r\n else {\r\n cfoCfop = \"6408\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n dadosCfop.map((cfop) => {\r\n if (cfoCfop === cfop.cfo_cfop) {\r\n form.setFieldsValue({ nfi_cfop: cfop.cfo_cfop });\r\n }\r\n });\r\n };\r\n\r\n function popularDadosContribuintes(callback) {\r\n api.get(`dadosContribuinte/Buscar`).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n setDadosContribuinte(res.data);\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function alterarValorTotal() {\r\n let total = 0;\r\n total = form.getFieldValue().quantidade * form.getFieldValue().valorUnitario;\r\n form.setFieldsValue({ valorTotalItem: total.toFixed(2) });\r\n };\r\n\r\n async function buscarProduto(key) {\r\n let produtos = [...listaItens];\r\n let produto = produtos.filter((produto) => (produto.key === key))[0];\r\n let custo = !!dadosNfeTransferencia.dadosNfeTransferencia && !!dadosNfeTransferencia.dadosNfeTransferencia.custo ? dadosNfeTransferencia.dadosNfeTransferencia.custo.key : 1;\r\n let params = `&apenasAtivas=true&tipoCusto=${custo}`;\r\n let grade = await api.get(`ProdutoGrade/ListarGradesProdutos?codigoProduto=${produto.pro_id}${params}`);\r\n buscarDadosProdutoNotaTransf(false);\r\n\r\n };\r\n\r\n function salvarDadosGradeModal() {\r\n let produtosSelec = [...dadosTabela.dadosItens];\r\n let produtoGrade = dadosGrade.filter((produto) => { return produto.quantidade > 0; });\r\n produtoGrade.map((item) => {\r\n let dados = { ...dadosProduto };\r\n adicionarItemNotaTransferencia(false, dados, item, null, () => { produtosSelec.push(dados) });\r\n });\r\n dadosTabela.setDadosItens(produtosSelec);\r\n cancelar();\r\n };\r\n\r\n function abrirEditarItem(prodSelecionado) {\r\n setExibirDetalhes(true);\r\n let itemDaLista = [...dadosTabela.dadosItens].find(p => p.pro_id == prodSelecionado.pro_id && (prodSelecionado.prg_id == null || prodSelecionado.prg_id == p.prg_id))\r\n form.setFieldsValue({ quantidade: itemDaLista.nfi_qtde });\r\n form.setFieldsValue({ valorUnitario: itemDaLista.nfi_valorunitario });\r\n form.setFieldsValue({ valorTotalItem: itemDaLista.total });\r\n form.setFieldsValue({ nfi_cfop: itemDaLista.nfi_cfop });\r\n form.setFieldsValue({ icm_id: itemDaLista.icm_id });\r\n form.setFieldsValue({ prg_id: itemDaLista.prg_id });\r\n form.setFieldsValue({ informacaoAdicional: itemDaLista.nfi_informacaoadicional });\r\n\r\n api.get(`TributacaoIcms/ListarTributacaoIcmsOrigemDestinoProduto?codigoProduto=${prodSelecionado.pro_id}&ufDestino=${dadosEndereco.est_sigla}&ufOrigem=${dadosContribuinte.est_sigla}`).then(\r\n (tributacaoIcms) => {\r\n if (tributacaoIcms.status === 200) {\r\n setTributacaoIcms(tributacaoIcms.data);\r\n }\r\n }\r\n ).catch(\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n\r\n let dadosTemp = {};\r\n dadosTemp.prg_id = prodSelecionado.prg_id;\r\n dadosTemp.pro_descricao = prodSelecionado.pro_descricao;\r\n dadosTemp.pro_codigo = prodSelecionado.pro_codigo;\r\n dadosTemp.pro_ean = prodSelecionado.pro_ean;\r\n dadosTemp.prg_ean = prodSelecionado.prg_ean;\r\n dadosTemp.ncm_codigo = prodSelecionado.ncm_codigo;\r\n dadosTemp.prg_ean = prodSelecionado.prg_ean;\r\n dadosTemp.descricaograde = prodSelecionado.descricaograde;\r\n dadosTemp.ump_id = prodSelecionado.ump_id;\r\n setDadosDetalhes(dadosTemp);\r\n\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: null } });\r\n return;\r\n };\r\n\r\n function adicionarItem() {\r\n let dadosTemp = [...dadosTabela.dadosItens];\r\n let dados = {};\r\n if (dadosTemp.find(campo => campo.pro_id === form.getFieldValue().pro_id\r\n && ((!!form.getFieldValue().prg_id && form.getFieldValue().prg_id === campo.prg_id) || !form.getFieldValue().prg_id))) {\r\n if (!!form.getFieldValue().nfi_cfop && !!form.getFieldValue().icm_id) {\r\n if (!!form.getFieldValue().prg_id) {\r\n dados = dadosTemp.find(campo => campo.prg_id === form.getFieldValue().prg_id);\r\n } else {\r\n dados = dadosTemp.find(campo => campo.pro_id === form.getFieldValue().pro_id);\r\n }\r\n adicionarItemNotaTransferencia(true, dados);\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Campo CFOP e Tributação ICMS são obrigatórios!' });\r\n return;\r\n }\r\n } else {\r\n if (!!form.getFieldValue().nfi_cfop && !!form.getFieldValue().icm_id) {\r\n dados = { ...dadosProduto };\r\n adicionarItemNotaTransferencia(false, dados, null, dados.prg_id, () => { dadosTemp.push(dados); });\r\n } else {\r\n notification.warning({ message: 'Aviso', description: 'Campo CFOP e Tributação ICMS são obrigatórios!' });\r\n return;\r\n }\r\n }\r\n setExibirDetalhes(false);\r\n dadosTabela.setDadosItens(dadosTemp);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n };\r\n\r\n function cancelar() {\r\n setExibirDetalhes(false);\r\n setDadosDetalhes({});\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ pro_codigo: null, pro_id: null, percdesc: 0, desconto: 0, percacresc: 0, acrescimo: 0, nfi_cfop: null, icm_id: null });\r\n };\r\n\r\n async function adicionarItemNotaTransferencia(editar = false, prodNota, dadosGrade, prg_id, callback) {\r\n //let custo = !!dadosNfeTransferencia.dadosNfeTransferencia && !!dadosNfeTransferencia.dadosNfeTransferencia.custo ? dadosNfeTransferencia.dadosNfeTransferencia.custo.key : 1;\r\n let formulario = form.getFieldValue();\r\n if (!editar) {\r\n let produtos = [...listaItens];\r\n let produto = produtos.filter((produto) => (produto.key === form.getFieldValue().pro_id))[0];\r\n prodNota.nfi_ean = !!produto.prg_ean ? produto.prg_ean : produto.pro_ean;\r\n prodNota.nfi_unidademedida = produto.ump_id;\r\n prodNota.pro_codigo = produto.pro_codigo;\r\n prodNota.pro_descricao = produto.pro_descricao;\r\n prodNota.pro_ean = produto.pro_ean;\r\n prodNota.grade = produto.descricaograde;\r\n prodNota.ump_id = produto.ump_id;\r\n prodNota.ump_casasdecimais = produto.ump_casasdecimais;\r\n prodNota.prg_id = produto.prg_id;\r\n }\r\n if (!(!!prodNota.icm_id) || prodNota.icm_id !== form.getFieldValue().icm_id) {\r\n let icms = tributacaoIcms.filter((icms) => (icms.icm_id === form.getFieldValue().icm_id))[0];\r\n prodNota.icm_id = icms.icm_id;\r\n prodNota.icm_descricao = icms.icm_descricao;\r\n prodNota.cst_id = icms.cst_id;\r\n prodNota.cso_id = icms.cso_id;\r\n }\r\n if (!(!!prodNota.cfo_cfop) || prodNota.nfi_cfop !== form.getFieldValue().nfi_cfop) {\r\n let cfop = dadosCfop.filter((cfop) => (cfop.cfo_cfop === form.getFieldValue().nfi_cfop))[0];\r\n prodNota.nfi_cfop = cfop.cfo_cfop;\r\n prodNota.cfo_cfop = cfop.cfo_cfop;\r\n prodNota.cfo_descricao = cfop.cfo_descricao;\r\n prodNota.cfo_id = cfop.cfo_id;\r\n }\r\n\r\n /*if (!dadosGrade && !!prg_id) {\r\n let retornoGrades = await api.get(`ProdutoGrade/listarGradesProdutos?apenasAtivas=true&codigoProduto=${prodNota.pro_id}&produtoGradeId=${prg_id}&tipoCusto=${custo}`);\r\n dadosGrade = retornoGrades.data[0];\r\n if (!!retornoGrades.data && retornoGrades.data.length > 0) {\r\n dadosGrade = retornoGrades.data[0];\r\n dadosGrade.quantidade = 1;\r\n }\r\n }\r\n if (!!dadosGrade && JSON.stringify(dadosGrade) !== '{}') {\r\n prodNota.nfi_valorunitario = dadosGrade.valorVenda;\r\n prodNota.nfi_qtde = dadosGrade.quantidade;\r\n prodNota.prg_id = dadosGrade.prg_id;\r\n prodNota.pro_ean = dadosGrade.ean;\r\n prodNota.nfi_ean = dadosGrade.ean;\r\n prodNota.grade = \"\";\r\n for (let i = 0; i < dadosGrade.atributos.length; i++) {\r\n prodNota.grade += dadosGrade.atributos[i].mgp_descricao;\r\n if (i < dadosGrade.atributos.length - 1) {\r\n prodNota.grade += \"/\"\r\n }\r\n }\r\n } else {*/\r\n prodNota.nfi_qtde = formulario.quantidade;\r\n prodNota.nfi_valorunitario = parseFloat(!!formulario.valorUnitario ? formulario.valorUnitario : 0);\r\n //}\r\n\r\n prodNota.total = parseFloat(prodNota.nfi_qtde * prodNota.nfi_valorunitario).toFixed(2);\r\n prodNota.percdesc = parseFloat(!!formulario.percdesc ? formulario.percdesc : 0);\r\n prodNota.nfi_valordesconto = parseFloat(!!formulario.desconto ? formulario.desconto : 0);\r\n prodNota.percacresc = parseFloat(!!formulario.percacresc ? formulario.percacresc : 0);\r\n prodNota.nfi_valoroutros = parseFloat(!!formulario.acrescimo ? formulario.acrescimo : 0);\r\n prodNota.nfi_numeroitem = !!prodNota.nfi_numeroitem ? prodNota.nfi_numeroitem : dadosTabela.dadosItens.length + 1;\r\n prodNota.nfi_valorfrete = 0;\r\n prodNota.nfi_valorseguro = 0;\r\n\r\n let valorCalculadoIPI = 0;\r\n let valorCalculadoIMS = 0;\r\n let ipi = null;\r\n let icms = null;\r\n let diferimento = null;\r\n let icmst = null;\r\n if (dadosContribuinte.loc_tipocontribuinte === 2 || dadosContribuinte.loc_tipocontribuinte === 3) {\r\n let retornoIPI = await calculoIPI((prodNota.nfi_valorunitario * prodNota.nfi_qtde), (prodNota.ncm_percentual * 100), 0, 0);\r\n if (!!retornoIPI.error) {\r\n error(retornoIPI.error);\r\n } else {\r\n ipi = retornoIPI;\r\n }\r\n\r\n }\r\n\r\n if (prodNota.cst_id === '00' || prodNota.cst_id === '10' || prodNota.cst_id === '20' || prodNota.cst_id === '51' || prodNota.cst_id === '70' || prodNota.cst_id === '90') {\r\n valorCalculadoIPI = !!ipi && !!ipi.valorIPI ? ipi.valorIPI : 0;\r\n let retornoICMS = await calculoICMS(prodNota.nfi_valorunitario, prodNota.nfi_qtde, 0, 0, valorCalculadoIPI, 0, prodNota.nfi_valoroutros, prodNota.iod_percicmsreducaobc, prodNota.iod_percicms);\r\n if (!!retornoICMS.error) {\r\n error(retornoICMS.error);\r\n } else {\r\n icms = retornoICMS;\r\n }\r\n\r\n }\r\n\r\n if (prodNota.cst_id === '51') {\r\n valorCalculadoIMS = !!icms && !!icms.ICMS ? icms.ICMS : 0;\r\n let retornoDiferimento = await calculoICMSDiferido(valorCalculadoIMS, prodNota.iod_percdiferimentoicms);\r\n if (!!retornoDiferimento.error) {\r\n error(retornoDiferimento.error);\r\n } else {\r\n diferimento = retornoDiferimento;\r\n }\r\n }\r\n\r\n if (prodNota.cst_id === '10' || prodNota.cst_id === '30' || prodNota.cst_id === '70' || prodNota.cst_id === '90') {\r\n let retornoICMSST = await calculoICMSST((prodNota.nfi_valorunitario * prodNota.nfi_qtde), 0, 0, valorCalculadoIPI, 0, prodNota.iod_percicmsreducaobc, (prodNota.iod_percicms * 100), prodNota.mva_percaliquotaicmsreducao, prodNota.mva_percmva, prodNota.mva_percaliquotaicms);\r\n if (!!retornoICMSST.error) {\r\n error(retornoICMSST.error);\r\n } else {\r\n icmst = retornoICMSST;\r\n }\r\n }\r\n\r\n prodNota.npi_valorbcipi = !!ipi ? ipi.baseIPI : 0;\r\n prodNota.npi_percaliquotaipi = prodNota.ncm_percentual * 100;\r\n prodNota.npi_valoripi = !!ipi ? ipi.valorIPI : 0;\r\n prodNota.nig_valorbc = !!icms ? icms.baseICMS : 0;\r\n prodNota.nig_valoricms = !!icms ? icms.ICMS : 0;\r\n prodNota.nig_percicms = prodNota.iod_percicms;\r\n prodNota.nig_percreducaobc = prodNota.iod_percicmsreducaobc;\r\n prodNota.nig_percmvast = prodNota.mva_percmva;\r\n prodNota.nig_percreducaobcst = prodNota.mva_percaliquotaicmsreducao;\r\n prodNota.nig_valorbcst = !!icmst ? icmst.baseICMSST : 0;\r\n prodNota.nig_percicmsst = prodNota.mva_percaliquotaicms;\r\n prodNota.nig_valoricmsst = !!icmst ? icmst.ICMSST : 0;\r\n prodNota.nig_valoricmsoperacao = !!icms ? icms.ICMS : 0;\r\n prodNota.nig_percicmsdiferimento = prodNota.iod_percdiferimentoicms;\r\n prodNota.nig_valoricmsdiferimento = !!diferimento ? diferimento.valorICMSDiferido : 0;\r\n\r\n if (editar) {\r\n prodNota.nfi_informacaoadicional = prodNota.informacaoAdicional;\r\n } else {\r\n prodNota.nfi_informacaoadicional = !!prodNota.grade ? prodNota.grade : \"\" + \" \" + (!!prodNota.nfi_informacaoadicional ? prodNota.nfi_informacaoadicional : \"\");\r\n }\r\n\r\n if (!!callback) {\r\n callback();\r\n }\r\n };\r\n\r\n function error(mensagem, title = 'Atenção!') {\r\n Modal.error({\r\n title: title,\r\n content: (\r\n
\r\n

{mensagem}

\r\n
\r\n )\r\n });\r\n }\r\n\r\n async function buscarProdutoCodBarra(campo) {\r\n let codigoEan = campo.target.value.trim();\r\n let dados = await api.get(`Produto/ListaProdutoFiltro?filtro=${codigoEan}`);\r\n if (!!dados.data && dados.data.items.length > 0) {\r\n form.setFieldsValue({ pro_id: dados.data.items[0].pro_id });\r\n adicionarItemLeitorCodBarras(dados.data.items[0]);\r\n }\r\n if (!!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n };\r\n\r\n async function adicionarItemLeitorCodBarras(dadosProduto) {\r\n let formulario = form.getFieldValue();\r\n let dados = {};\r\n let dadosGrade = {};\r\n let dadosTemp = [...dadosTabela.dadosItens];\r\n let custo = !!dadosNfeTransferencia.dadosNfeTransferencia && !!dadosNfeTransferencia.dadosNfeTransferencia.custo ? dadosNfeTransferencia.dadosNfeTransferencia.custo.key : 1;\r\n let destinoOperacao = (!!dadosEndereco.est_sigla && !!dadosContribuinte.est_sigla && (dadosEndereco.est_sigla === dadosContribuinte.est_sigla) ? '1' : '2');\r\n let parametros = `IdProduto=${dadosProduto.pro_id}&destinoOperacao=${destinoOperacao}&empresaEnquadramento=${dadosContribuinte.emp_regimetributario}`;\r\n parametros += `&tipoContribuinte=${dadosContribuinte.loc_tipocontribuinte}&tipoCusto=${custo}&ufDestino=${dadosEndereco.est_sigla}&ufOrigem=${dadosContribuinte.est_sigla}`;\r\n parametros += !!dadosProduto.prg_id ? `&codigoProdutoGrade=${dadosProduto.prg_id}` : '';\r\n await api.get(`Produto/BuscarDadosProdutoTransferencia?${parametros}`).then(\r\n res => {\r\n if (res.status === 200) {\r\n let dadostributacao = res.data;\r\n if ((!!dadostributacao.icm_id === false) || (!!dadostributacao.ncm_id === false) || (!!dadostributacao.ump_id === false) || (!!dadosProduto.pro_descricao === false)) {\r\n setAbrirModalManutencaoNota(true);\r\n } else if ((!!dadostributacao.iod_ufdestino) === false) {\r\n setAbrirModalManutencaoNota(true);\r\n } else {\r\n setarCfopCorrespondenteTributacaoICMS(dadostributacao);\r\n }\r\n if (!!dadosProduto.prg_id) {\r\n api.get(`ProdutoGrade/ListarGradesProdutos?apenasAtivas=true&codigoProduto=${dadosProduto.pro_id}&produtoGradeId=${dadosProduto.prg_id}&tipoCusto=${custo}`).then(\r\n resGrade => {\r\n if (resGrade.status === 200) {\r\n dadosGrade = resGrade.data;\r\n }\r\n }\r\n ).catch(error => console.log(error));\r\n }\r\n dados = dadosProduto;\r\n dados.icm_id = dadostributacao.icm_id;\r\n dados.icm_descricao = dadostributacao.icm_descricao;\r\n dados.cst_id = dadostributacao.cst_id;\r\n dados.ncm_id = dadostributacao.ncm_id;\r\n dados.ncm_codigo = dadostributacao.ncm_codigo;\r\n dados.cso_id = dadostributacao.cso_id;\r\n dados.nfi_cfop = dadostributacao.cfo_cfop;\r\n dados.cfo_cfop = dadostributacao.cfo_cfop;\r\n dados.cfo_descricao = dadostributacao.cfo_descricao;\r\n dados.cfo_id = dadostributacao.cfo_id;\r\n dados.nfi_ean = dadosProduto.pro_ean == null ? dadosProduto.prg_ean : dadosProduto.pro_ean;\r\n dados.pro_ean = dadosProduto.pro_ean == null ? \"\" : dadosProduto.pro_ean;\r\n dados.nfi_unidademedida = dadosProduto.ump_id;\r\n dados.nfi_qtde = 1;\r\n dados.nfi_valorunitario = dadostributacao.pre_custoultimacompra;\r\n dados.total = parseFloat(dados.nfi_qtde * dados.nfi_valorunitario).toFixed(2);\r\n dados.percdesc = parseFloat(!!formulario.percdesc ? formulario.percdesc : 0);\r\n dados.nfi_valordesconto = parseFloat(!!formulario.desconto ? formulario.desconto : 0);\r\n dados.percacresc = parseFloat(!!formulario.percacresc ? formulario.percacresc : 0);\r\n dados.nfi_valoroutros = parseFloat(!!formulario.acrescimo ? formulario.acrescimo : 0);\r\n dados.nfi_numeroitem = !!dadosTemp.nfi_numeroitem ? dadosTemp.nfi_numeroitem : dadosTemp.length + 1;\r\n dados.nfi_valorfrete = 0;\r\n dados.nfi_valorseguro = 0\r\n dados.nfi_informacaoadicional = dadosProduto.descricaograde == null ? \"\" : dadosProduto.descricaograde\r\n dados.grade = dadosProduto.descricaograde;\r\n\r\n console.log(dados);\r\n dadosTemp.push(dados)\r\n setExibirDetalhes(false);\r\n dadosTabela.setDadosItens(dadosTemp);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n }\r\n }\r\n ).catch(error => console.log(error));\r\n }\r\n\r\n function aoSalvarModalManutencaoNota() {\r\n buscarDadosProdutoNotaTransf(false);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n {!!consultaProduto === false &&\r\n
\r\n \r\n { buscarProduto(dados) }} ordem={\"pro_descricao\"} setListaDados={setListaItens} />\r\n \r\n \r\n }\r\n {!!consultaProduto &&\r\n \r\n \r\n {\r\n buscarProdutoCodBarra(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibirDetalhes &&\r\n
\r\n \r\n
\r\n Produto: {dadosDetalhes.pro_descricao} {!!dadosDetalhes.descricaograde ? ' - ' + dadosDetalhes.descricaograde : ''}\r\n \r\n \r\n Código Interno: {dadosDetalhes.pro_codigo}\r\n \r\n \r\n Código de Barras: {!!dadosDetalhes.prg_ean ? dadosDetalhes.prg_ean : dadosDetalhes.pro_ean}\r\n \r\n \r\n NCM: {dadosDetalhes.ncm_codigo}\r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n { alterarValorTotal() }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { setAbrirModalGrade(false); salvarDadosGradeModal() }} dados={dadosGrade} dadosValidacao={dadosNfeTransferencia} />\r\n setAbrirModalManutencaoNota(false)} dadosContribuinte={dadosContribuinte} dadosOperacao={dadosOperacao} dadosEndereco={dadosEndereco} dadosProduto={dadosProduto} aoSalvar={aoSalvarModalManutencaoNota} />\r\n \r\n );\r\n\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Input, InputNumber, Select, Card, notification, Tooltip, Modal } from \"antd\";\r\nimport { SearchOutlined, BarcodeOutlined, PlusOutlined, CloseOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { ModalManutencaoNota } from \"../modals\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport { InputPreco, SelectProduto } from \"../../components\";\r\nimport SelectPaginado from \"../selectPaginado\";\r\nimport { selectPaginadoActions } from \"../../actions\";\r\n\r\nexport default function FiltroProdutoOrcamento({ form, dadosTabela, dadosEndereco = {}, dadosOperacao = {}, btnEditando, itemEditando, carregarPagina }) {\r\n\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const [dadosDetalhes, setDadosDetalhes] = useState({});\r\n const [desabilitarProd_id, setDesabilitarProd_id] = useState(false);\r\n const [buscarProdutosCodBarra, setBuscarProdutosCodBarra] = useState(null);\r\n const [abrirModalManutencaoNota, setAbrirModalManutencaoNota] = useState(false);\r\n const [{ manutencao }, dispatch] = useStateValue();\r\n const [listaPreco, setListaPreco] = useState([]);\r\n const [listaSelectProd, setListaSelectProd] = useState([]);\r\n const codBarras = useRef();\r\n\r\n useEffect(() => {\r\n if (btnEditando.editando && isObjetoDiffVazio(itemEditando)) {\r\n editandoItem(itemEditando);\r\n setExibirDetalhes(true);\r\n }\r\n }, [btnEditando]);\r\n\r\n useEffect(() => {\r\n if (buscarProdutosCodBarra && !!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n }, [buscarProdutosCodBarra]);\r\n\r\n function carregarSelectPaginados() {\r\n let lista = [];\r\n if (!!form.getFieldValue().ltp_id)\r\n lista.push({ name: \"ltp_id\", campo: \"idLista\", value: form.getFieldValue().ltp_id });\r\n\r\n if (!!form.getFieldsValue().icm_id)\r\n lista.push({ name: \"icm_id\", campo: \"Codigo\", value: form.getFieldsValue().icm_id })\r\n\r\n if (!!form.getFieldsValue().pis_id)\r\n lista.push({ name: \"pis_id\", campo: \"Id\", value: form.getFieldsValue().pis_id })\r\n\r\n if (!!form.getFieldValue().ncm_id)\r\n lista.push({ name: \"ncm_id\", campo: \"IdNcm\", value: form.getFieldValue().ncm_id });\r\n\r\n if (lista.length > 0) dispatch({ type: selectPaginadoActions.CHANGE, data: lista });\r\n }\r\n\r\n async function onChangeProID(pro_id) {\r\n let listaItens = [...listaSelectProd]\r\n let produto = listaItens.filter(pro => pro.key === pro_id)[0];\r\n let filtros = !!produto.pro_id ? `idProduto=${produto.pro_id}` : '';\r\n filtros += !!produto.prg_id ? `&idProdutoGrade=${produto.prg_id}` : '';\r\n let listaPrecoTemp = (await api.get(`ListaPreco/ListaPrecoPadraoProduto?${filtros}`)).data;\r\n form.setFieldsValue({ ltp_id: listaPrecoTemp[0].ltp_id });\r\n produto.lpi_valorvenda = listaPrecoTemp[0].lpi_valorvenda;\r\n setListaPreco(listaPrecoTemp);\r\n await popularFormProduto(produto);\r\n carregarSelectPaginados();\r\n limparCampos();\r\n };\r\n\r\n async function onPressEnterProCodigo(campo) {\r\n let codigoEan = campo.target.value.trim();\r\n let dadosRequisicao = await api.get(`Produto/ListaProdutoFiltro?filtro=${codigoEan}`);\r\n if (!!dadosRequisicao.data && dadosRequisicao.data.items.length > 0) {\r\n let dadosProduto = dadosRequisicao.data.items[0];\r\n await popularFormProduto(dadosProduto);\r\n adicionarItem(dadosProduto);\r\n if (!!codBarras && !!codBarras.current) {\r\n codBarras.current.focus();\r\n }\r\n }\r\n };\r\n\r\n const togglePesquisa = () => {\r\n setBuscarProdutosCodBarra(!buscarProdutosCodBarra);\r\n };\r\n\r\n function onChangeQuantidade() {\r\n recalcularValorTotal();\r\n };\r\n\r\n function onChangeValorUnitario() {\r\n recalcularValorTotal();\r\n };\r\n\r\n function onClickBtnCancelar() {\r\n cancelar();\r\n };\r\n\r\n function onClickBtnAdicionar() {\r\n adicionarItem();\r\n }\r\n\r\n function recalcularValorTotal() {\r\n let total = 0;\r\n total = parseFloat(parseFloat(form.getFieldValue().oit_qtde) * parseFloat(form.getFieldValue().oit_valorunitario));\r\n form.setFieldsValue({ valorTotalItem: total.toFixed(2) });\r\n };\r\n\r\n function cancelar() {\r\n setExibirDetalhes(false);\r\n setDadosDetalhes({});\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n if (btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n }\r\n };\r\n\r\n async function popularFormProduto(produto) {\r\n let valorVenda = (!!produto.lpi_valorvenda ? produto.lpi_valorvenda : 0);\r\n setExibirDetalhes(true);\r\n form.setFieldsValue({\r\n quantidade: 1,\r\n oit_valorunitario: valorVenda,\r\n valorTotalItem: valorVenda\r\n });\r\n setDadosDetalhes(produto);\r\n return produto;\r\n };\r\n\r\n function adicionarItem(item = {}) {\r\n let listaItens = [...dadosTabela.listaProduto];\r\n let dadosFormulario = form.getFieldValue();\r\n if (!buscarProdutosCodBarra) {\r\n if (btnEditando.editando) {\r\n item = listaItens.filter((prod) => (prod.numeroitem === dadosFormulario.numeroitem))[0];\r\n } else {\r\n item = { ...item, ...dadosFormulario, ...dadosDetalhes };\r\n }\r\n }\r\n let dados = {};\r\n if (!!validarItem(dadosFormulario)) {\r\n let dadosEditando = listaItens.filter((prod) => (prod.pro_id === item.pro_id && (!!!item.prg_id || item.prg_id === prod.prg_id)))[0];\r\n if (!!dadosEditando) {\r\n dados = popularItemNota(true, item, dadosEditando);\r\n if (!!btnEditando && btnEditando.editando) {\r\n btnEditando.setEditando(false);\r\n alterarItem(dados, listaItens, dadosEditando)\r\n } else {\r\n if (buscarProdutosCodBarra) {\r\n dados.numeroitem = listaItens.length + 1;\r\n incluirItem(dados, listaItens);\r\n } else {\r\n Modal.confirm({\r\n title: 'Atualizar?',\r\n icon: ,\r\n content: 'Item já cadastrado na nota, deseja atualizar suas informações?',\r\n okText: 'Atualizar',\r\n cancelText: 'Incluir',\r\n centered: true,\r\n onOk() {\r\n alterarItem(dados, listaItens, dadosEditando)\r\n },\r\n onCancel() {\r\n dados.numeroitem = listaItens.length + 1;\r\n incluirItem(dados, listaItens)\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n dados = popularItemNota(false, item);\r\n dados.numeroitem = listaItens.length + 1;\r\n incluirItem(dados, listaItens)\r\n }\r\n setExibirDetalhes(false);\r\n setDesabilitarProd_id(false);\r\n limparCampos();\r\n }\r\n };\r\n\r\n function validarItem(dados) {\r\n if (dados.quantidade === 0 || !!!dados.oit_qtde) {\r\n notification.warning({ message: 'Aviso!', description: 'Quantidade do Item Inválida!' });\r\n return false;\r\n }\r\n if (parseFloat(dados.oit_valorunitario) === 0 || dados.oit_valorunitario === null) {\r\n notification.warning({ message: 'Aviso!', description: 'Valor do Item Inválido!' });\r\n return false\r\n }\r\n return true;\r\n }\r\n\r\n function incluirItem(dados, listaItens) {\r\n listaItens.push(dados);\r\n dadosTabela.setListaProduto(listaItens);\r\n notification.success({ message: 'Aviso', description: 'Item incluído com sucesso!' });\r\n }\r\n\r\n function alterarItem(dados, listaItens, dadosEditando) {\r\n let indice = listaItens.findIndex((item) => (item === dadosEditando));\r\n listaItens.splice(indice, 1, { ...dados });\r\n dadosTabela.setListaProduto(listaItens);\r\n notification.success({ message: 'Aviso', description: 'Item editado com sucesso!' });\r\n }\r\n\r\n function popularItemNota(editando, item, dadosEditando) {\r\n let itemNota = {};\r\n let formulario = form.getFieldValue();\r\n if (editando) {\r\n itemNota = {\r\n ...dadosEditando,\r\n oit_qtde: formulario.oit_qtde,\r\n oit_valorunitario: parseFloat(formulario.oit_valorunitario),\r\n };\r\n } else {\r\n itemNota = {\r\n pro_id: item.pro_id,\r\n prg_id: item.prg_id,\r\n oit_qtde: formulario.oit_qtde,\r\n numeroitem: !!dadosTabela.dadosItens && dadosTabela.dadosItens.length > 0 ? dadosTabela.dadosItens.length + 1 : 1,\r\n oit_valorunitario: parseFloat(formulario.oit_valorunitario ?? 0),\r\n prg_ean: item.prg_ean,\r\n pro_ean: item.pro_ean,\r\n ump_id: item.ump_id,\r\n pro_codigo: item.pro_codigo,\r\n pro_descricao: item.pro_descricao,\r\n pro_ean: item.pro_ean,\r\n ump_id: item.ump_id,\r\n grade: item.descricaograde,\r\n };\r\n }\r\n return itemNota;\r\n };\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ pro_id: null, pro_codigo: null, percdesc: 0, desconto: 0, percacresc: 0, acrescimo: 0, oit_qtde: 0 });\r\n };\r\n\r\n function editandoItem(dadosEditando) {\r\n let dadosTemp = {};\r\n let dados = dadosEditando;\r\n form.setFieldsValue({\r\n pro_id: dados.pro_id,\r\n prg_id: dados.prg_id,\r\n oit_qtde: dados.oit_qtde,\r\n oit_valorunitario: dados.oit_valorunitario,\r\n numeroitem: dados.numeroitem,\r\n valorTotalItem: dados.oit_qtde * dados.oit_valorunitario\r\n });\r\n dadosTemp = {\r\n prg_id: dadosEditando.prg_id,\r\n pro_descricao: dadosEditando.pro_descricao,\r\n pro_codigo: dadosEditando.pro_codigo,\r\n pro_ean: dadosEditando.pro_ean,\r\n ump_id: dados.ump_id\r\n };\r\n setDadosDetalhes(dadosTemp);\r\n }\r\n\r\n return (\r\n
\r\n \r\n {!!!buscarProdutosCodBarra &&\r\n
\r\n \r\n { onChangeProID(dados) }} ordem={\"pro_descricao\"} setListaDados={setListaSelectProd} />\r\n \r\n \r\n }\r\n {!!buscarProdutosCodBarra &&\r\n \r\n \r\n {\r\n onPressEnterProCodigo(value)\r\n }} placeholder=\"Informe o Produto/Mercadoria\" />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {exibirDetalhes &&\r\n
\r\n \r\n
\r\n Produto: {dadosDetalhes.pro_descricao} {!!dadosDetalhes.descricaograde ? dadosDetalhes.descricaograde : ''}\r\n \r\n \r\n Código Interno: {dadosDetalhes.pro_codigo}\r\n \r\n \r\n Código de Barras: {!!dadosDetalhes.prg_ean ? dadosDetalhes.prg_ean : dadosDetalhes.pro_ean}\r\n \r\n {/* \r\n NCM: {dadosDetalhes.ncm_codigo}\r\n */}\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n { onChangeQuantidade() }} />\r\n \r\n \r\n \r\n onChangeValorUnitario()} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { setAbrirModalManutencaoNota(false); }}dadosOperacao={dadosOperacao} dadosEndereco={dadosEndereco}\r\n />\r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Button } from \"antd\";\r\nimport { EditOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from '../../state';\r\nimport { drawerActions } from \"../../actions\";\r\nimport { setTela } from \"../../services/auth\";\r\nimport { gravarTela } from \"../../services/navigation\";\r\n\r\nexport default function EditarTabela(props) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n\r\n function editarRegistroTab() {\r\n props.onClick();\r\n setTimeout(() => {\r\n let dados = {};\r\n let url = window.document.location.href;\r\n let nomeForm = url.substring(url.lastIndexOf('/'), url.length);\r\n dados = props.registro;\r\n dados.formulario = nomeForm;\r\n dados.editar = true;\r\n setTela(JSON.stringify(dados));\r\n setTimeout(() => {\r\n gravarTela(nomeForm, manutencao);\r\n }, 300);\r\n dispatch({ type: drawerActions.CHANGE, data: { showDrawer: true } });\r\n }, 200);\r\n };\r\n\r\n return (\r\n \r\n \r\n { setEmissor(event.target.value) }} />\r\n \r\n \r\n {emissor === 0 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {cliente.pes_id == null &&\r\n \r\n { popularCheque() }} />\r\n \r\n }\r\n \r\n \r\n { popularCheque() }} />\r\n \r\n {emissor === 1 &&\r\n prevValues.radioemissocheque !== currentValues.radioemissocheque}>\r\n \r\n \r\n { buscaDadosEmissorCheque(e.target.value) }}\r\n onChange={(event, type) => {\r\n atualizaDetalhes();\r\n setCpfCnpj(event.target.value);\r\n }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { atualizaDetalhes() }} label=\"Conta Desde\" name=\"emissorclientedesde\" />\r\n \r\n \r\n }\r\n {cliente.pes_id == null &&\r\n \r\n \r\n ({cta.ctc_id} - {cta.ctc_descricao})\r\n }\r\n />\r\n \r\n \r\n }\r\n \r\n {listaCheques.map(cheque => (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Cheque {cheque.sequencia} de {listaCheques.length}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n buscarBanco(valor)} id={`ban_id${cheque.sequencia}`} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validarDigito(valor)} id={`chq_c1${cheque.sequencia}`} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validarDigito(valor)} id={`chq_c2${cheque.sequencia}`} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validarDigito(valor)} id={`chq_c3${cheque.sequencia}`} />\r\n \r\n \r\n \r\n { valorPorExtenso(`chq_valor${cheque.sequencia}`, `valorExtenso${cheque.sequencia}`) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!form.getFieldValue().ban_id &&\r\n
\r\n Gestor Web\r\n
\r\n }\r\n {!!form.getFieldValue().ban_id &&\r\n
\r\n \r\n {JSON.stringify(infoBanco) !== '{}' && !!infoBanco.ban_descricao ? infoBanco.ban_descricao : 'Banco Desconhecido'}\r\n
\r\n }\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!detalhesCheque.nomeemissor &&\r\n \r\n {detalhesCheque.nomeemissor}\r\n \r\n }\r\n {!!detalhesCheque.emissorclientedesde &&\r\n \r\n Cliente desde: {moment(detalhesCheque.emissorclientedesde).format('MM/YYYY')}\r\n \r\n }\r\n \r\n \r\n {!!detalhesCheque.cpfcnpjemissor &&\r\n \r\n CPF/CNPJ: {detalhesCheque.cpfcnpjemissor}\r\n \r\n }\r\n {!!detalhesCheque.rgieemissor &&\r\n \r\n RG/IE: {detalhesCheque.rgieemissor}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n}","import React from 'react';\r\nimport { Row, Col, Typography, Carousel } from 'antd';\r\nimport { EnvironmentOutlined, PhoneOutlined, DesktopOutlined } from '@ant-design/icons';\r\n\r\nimport \"./index.less\";\r\n\r\nexport default function SlideLogin() {\r\n\r\n return (\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n \r\n \r\n www.gestorweb.com.br | (55) 3535-4900\r\n \r\n \r\n | Três de Maio - RS - 98910-000\r\n \r\n \r\n \r\n \r\n \r\n \r\n Copyright © Gestor Web 2022 - Todos os direitos reservados.\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Card, Row, Col, Form, Input, Button, message, notification } from \"antd\";\r\nimport { DesktopOutlined, SendOutlined, CloudUploadOutlined, CloseOutlined } from '@ant-design/icons';\r\nimport Dragger from 'antd/lib/upload/Dragger';\r\nimport html2canvas from 'html2canvas';\r\n\r\nimport api from \"../../services/api\";\r\n\r\nexport default function AberturaChamado({ activeOpen, setActiveOpen }) {\r\n const [file, setFile] = useState([]);\r\n const [activeIndex, setActiveIndex] = useState(true);\r\n const [form] = Form.useForm();\r\n\r\n const props = {\r\n name: \"file\",\r\n multiple: true,\r\n onchange(info) {\r\n let { status } = info.file;\r\n if (status !== 'uploading') {\r\n console.log(info.file, info.fileList);\r\n }\r\n if (status === 'done') {\r\n message.success(`${info.file.name} file uploaded successfully.`);\r\n } else if (status === 'error') {\r\n message.error(`${info.file.name} file upload failed.`);\r\n }\r\n },\r\n beforeUpload(arquivo) {\r\n let arquivos = [...file];\r\n let reader = new FileReader();\r\n reader.readAsDataURL(arquivo);\r\n reader.onload = function () {\r\n let dados = {\r\n uid: file.length,\r\n status: 'done',\r\n data: reader.result,\r\n name: `Anexo${file.length}.jpeg`\r\n }\r\n arquivos.push(dados);\r\n setFile(arquivos);\r\n }\r\n }, before(e) {\r\n console.log('Dropped files', e.dataTransfer.files)\r\n }, onRemove(arquivo) {\r\n let listaArq = [...file];\r\n setFile(listaArq.filter((arq) => arq !== arquivo));\r\n\r\n }\r\n };\r\n\r\n const handleOnClickMinus = () => {\r\n setActiveIndex(!activeIndex);\r\n };\r\n\r\n const handleOnClickClose = () => {\r\n setActiveOpen(false);\r\n setActiveIndex(true);\r\n setFile([]);\r\n form.resetFields();\r\n };\r\n\r\n const abrirChamado = (value) => {\r\n let helpDesk = {};\r\n let dadosTicket = {};\r\n helpDesk.etapaChamado = 2;\r\n dadosTicket.origem_ticket = \"Gestor Web\";\r\n dadosTicket.ambiente = `Resolução da Tela: ${window.screen.availWidth} x ${window.screen.availHeight} \\n Sistema Operacional: ${getOS()}\\n Navegador: ${browser()}`;\r\n dadosTicket.url = '';\r\n dadosTicket.dados_console = console.error;\r\n dadosTicket.descricao = value.descricao;\r\n dadosTicket.anexos = popularAnexos();\r\n api.post(`HelpDesk/AbrirChamadoSoftDesk`, dadosTicket).then(\r\n res => {\r\n let dados = res.data;\r\n if (!!dados.chamadoAberto) {\r\n notification.success({ description: `Chamado aberto com sucesso, protocolo: ${dados.numeroProtocolo}`, message: 'Aviso' });\r\n }\r\n }\r\n ).catch(\r\n erro => {\r\n if (!!erro.response && !!erro.response.data && !!erro.response.data.message) {\r\n notification({ description: erro.response.data.message, message: 'Aviso' });\r\n }\r\n }\r\n ).finally(\r\n () => {\r\n handleOnClickClose();\r\n }\r\n )\r\n };\r\n\r\n function snapshoot() {\r\n setActiveIndex(false);\r\n setTimeout(() => {\r\n html2canvas(document.body).then((canvas) => {\r\n let arquivo = canvas.toDataURL('image/jpeg', 70 / 100);\r\n let anexos = [...file];\r\n anexos.push({ uid: file.length, status: 'done', data: arquivo, name: `Anexo${file.length}.jpeg` });\r\n setFile(anexos);\r\n setActiveIndex(true);\r\n });\r\n }, 500);\r\n };\r\n\r\n\r\n function getOS() {\r\n var userAgent = window.navigator.userAgent,\r\n platform = window.navigator.platform,\r\n macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],\r\n windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],\r\n iosPlatforms = ['iPhone', 'iPad', 'iPod'],\r\n os = null;\r\n\r\n if (macosPlatforms.indexOf(platform) !== -1) {\r\n os = 'Mac OS';\r\n } else if (iosPlatforms.indexOf(platform) !== -1) {\r\n os = 'iOS';\r\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\r\n os = 'Windows';\r\n } else if (/Android/.test(userAgent)) {\r\n os = 'Android';\r\n } else if (!os && /Linux/.test(platform)) {\r\n os = 'Linux';\r\n }\r\n\r\n return os;\r\n };\r\n\r\n const browser = () => {\r\n\r\n let isOpera = (navigator.userAgent.indexOf(\"Opera\") != -1 || navigator.userAgent.indexOf('OPR') != -1);\r\n\r\n let isFirefox = navigator.userAgent.indexOf(\"Firefox\") != -1;\r\n\r\n let isSafari = navigator.userAgent.indexOf(\"Safari\") != -1;\r\n\r\n let isIE = (navigator.userAgent.indexOf(\"MSIE\") != -1) || (!!document.documentMode == true);\r\n\r\n let isEdge = !isIE && !!window.StyleMedia;\r\n\r\n let isChrome = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n\r\n return isOpera ? 'Opera' :\r\n isChrome ? 'Chrome' :\r\n isSafari ? 'Safari' :\r\n isFirefox ? 'Firefox' :\r\n isIE ? 'IE' :\r\n isEdge ? 'Edge' :\r\n \"Desconhecido\";\r\n };\r\n\r\n function popularAnexos() {\r\n let arquivos = [...file];\r\n let anexos = [];\r\n arquivos.forEach(arq => {\r\n let obj = {\r\n base64: arq.data,\r\n tipoArquivo: arq.data.split('data:')[1].split(';')[0],\r\n nome: arq.name\r\n }\r\n anexos.push(obj);\r\n });\r\n return anexos;\r\n };\r\n\r\n\r\n return (\r\n \r\n
\r\n \"Abrir ABERTURA DE CHAMADO\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n

\r\n \r\n

\r\n

\r\n Arraste seu Arquivo aqui...\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Editar(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(1));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Excluir(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(2));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Duplicar(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(5));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Adicionar(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(21));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Imprimir(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(3));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Explorar(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(4));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Inutilizar(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(12));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function ImportarXML(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(6));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function NotaFiscalButton(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(9));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function EmitirNotaFiscal(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(10));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function CancelarEstorno(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(7));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function EmitirNotaFiscalTransferencia(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(11));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function LancamentoEntrada(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(13));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function LancamentoSaida(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(14));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function LancamentoSaida(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(15));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function Download(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(19));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\nexport default function GerarEfdIcmsIpi(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(17));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Card, Button, Form, Input, notification, Alert } from \"antd\";\r\nimport { ArrowLeftOutlined, CheckOutlined, EyeOutlined, ShoppingOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { FormatNumber } from \"../../ValueObjects\";\r\nimport { getEmailUsuario, getStatusPlano, setStatusPlano } from \"../../services/auth\";\r\nimport { ModalPlano } from \"../../components/modals/\";\r\n\r\nexport default function Planos() {\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n const [recursosPlano, setRecursosPlano] = useState([]);\r\n const [alterarPlano, setAlterarPlano] = useState(false);\r\n const [listaPlanos, setListaPlanos] = useState([]);\r\n const [planoAtual, setPlanoAtual] = useState({});\r\n const [planoSelecionado, setPlanoSelecionado] = useState({});\r\n const [formAlterarPlano] = Form.useForm();\r\n const [status, setStatus] = useState(0);\r\n const enumStatus = {\r\n 'vencido': 0,\r\n 'semStatus': 1\r\n }\r\n\r\n useEffect(() => {\r\n listarPlanos();\r\n buscarStatus();\r\n }, []);\r\n\r\n function listarPlanos() {\r\n let lista = [];\r\n api.get(`LocalPlano/VerificarStatusPlano`).then(\r\n planoUsuario => {\r\n setPlanoAtual({ pla_nome: planoUsuario.data.plano.pla_nome, pla_valor: planoUsuario.data.plano.pla_valor, pla_id: planoUsuario.data.plano.pla_id, loc_id: planoUsuario.data.loc_id, lcp_id: planoUsuario.data.lcp_id });\r\n api.get(`Plano/ListarPlanosAtivos`).then(\r\n retornoPlanos => {\r\n retornoPlanos.data.items.forEach((listaPlano) => {\r\n let plano = listaPlano;\r\n plano.planoUsuario = false;\r\n if (plano.pla_id === planoUsuario.data.plano.pla_id) {\r\n plano.planoUsuario = true;\r\n };\r\n if (plano.pla_nivel >= planoUsuario.data.plano.pla_nivel) {\r\n lista.push(plano);\r\n }\r\n });\r\n lista.forEach((item) => {\r\n item.diferenciais = JSON.parse(item.pla_diferenciais);\r\n });\r\n lista = lista.reverse();\r\n setListaPlanos(lista);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n listarPlanoLocal();\r\n }\r\n );\r\n };\r\n\r\n function listarPlanoLocal() {\r\n let lista = [];\r\n api.get(`LocalPlano/RetornaPlanoLocal`).then(\r\n planoUsuario => {\r\n setPlanoAtual({ pla_nome: planoUsuario.data.plano.pla_nome, pla_valor: planoUsuario.data.plano.pla_valor, pla_id: planoUsuario.data.plano.pla_id, loc_id: planoUsuario.data.loc_id, lcp_id: planoUsuario.data.lcp_id });\r\n\r\n api.get(`Plano/ListarPlanosAtivos`).then(\r\n retornoPlanos => {\r\n retornoPlanos.data.items.forEach((listaPlano) => {\r\n let plano = listaPlano;\r\n plano.planoUsuario = false;\r\n if (plano.pla_id === planoUsuario.data.plano.pla_id) {\r\n plano.planoUsuario = true;\r\n };\r\n if (plano.pla_nivel >= planoUsuario.data.plano.pla_nivel) {\r\n lista.push(plano);\r\n }\r\n });\r\n lista.forEach((item) => {\r\n item.diferenciais = JSON.parse(item.pla_diferenciais);\r\n });\r\n lista = lista.reverse();\r\n setListaPlanos(lista);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n );\r\n };\r\n\r\n function buscarStatus() {\r\n let status = getStatusPlano();\r\n if (status === 'VENCIDO') {\r\n setStatusPlano(enumStatus.vencido);\r\n }\r\n }\r\n\r\n function confirmarMudancaPlano(values) {\r\n api.get(`Usuario/validaSenhaAtual?email=${getEmailUsuario()}&senhaAtual=${btoa(values.senhaUsuario)}`).then(senhaValida => {\r\n if (senhaValida.data) {\r\n api.post(`LocalPlano/mudarLocalPlanoUsuario?codigoLocalPlano=${planoAtual.lcp_id}&novoPlano=${planoSelecionado.pla_id}`).then(\r\n retornoMudancaPlano => {\r\n notification.success({ message: 'Seu plano foi alterado com sucesso', description: `Bem-vindo ao plano ${planoSelecionado.pla_nome}` });\r\n setAlterarPlano(false);\r\n listarPlanos();\r\n formAlterarPlano.resetFields();\r\n }\r\n ).catch(\r\n erro => {\r\n notification.warning({ message: 'Não foi possível mudar o plano', description: 'Tente mais tarde. Se o problema persistir contate o suporte do Gestor Web.' });\r\n }\r\n )\r\n } else {\r\n notification.error({ message: 'Senha inválida!', description: 'Verifique a senha informada.' });\r\n }\r\n }).catch(erro => {\r\n notification.error({ message: 'Senha inválida!', description: 'Verifique a senha informada.' });\r\n });\r\n };\r\n\r\n function realizarUpgrade(record) {\r\n api.put(`LocalPlano/MudarLocalPlanoUsuario?codigoLocalPlano=${planoAtual.lcp_id}&novoPlano=${record.pla_id}`).then(\r\n res => {\r\n notification.success({ description: 'Plano alterado com sucesso!', message: 'Aviso' });\r\n voltarHome();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function renovarPlano() {\r\n let plano = { ...planoAtual };\r\n api.put(`Plano/AlteraDataValidadePlano?codigoLocal=${plano.loc_id}`).then(\r\n res => {\r\n notification.success({ description: 'Plano renovado com sucesso!', message: 'Aviso' });\r\n voltarHome();\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n function voltarHome() {\r\n window.location = '/Home#';\r\n };\r\n\r\n return (\r\n\r\n
\r\n {!!!alterarPlano &&\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Você possui o Plano:\r\n \r\n \r\n \r\n
\r\n \r\n {planoAtual.pla_nome}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n R$\r\n \r\n \r\n \r\n \r\n {FormatNumber(planoAtual.pla_valor, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {listaPlanos.map((plano) => (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {plano.pla_nome}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n R$\r\n \r\n \r\n \r\n \r\n {FormatNumber(plano.pla_valor, true, false)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Por CNPJ\r\n \r\n \r\n {status === enumStatus.vencido && planoAtual.pla_id !== plano.pla_id && \r\n \r\n }\r\n {planoAtual.pla_id === plano.pla_id && }\r\n {status === enumStatus.semStatus && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n setOpenModal(false)} recursosPlano={recursosPlano} />\r\n \r\n }\r\n {!!alterarPlano &&\r\n
\r\n
\r\n \r\n
\r\n \r\n Para confirmar a mudança de plano é necessário informar sua senha.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Button, Tooltip } from \"antd\";\r\n\r\nimport { AberturaChamado } from \"../../components\";\r\n\r\nexport default function BotaoAbrirChamado() {\r\n\r\n const [activeOpen, setActiveOpen] = useState(false);\r\n\r\n const handleOnClickOpen = () => {\r\n setActiveOpen(true);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Row, Col, Button, Form, Modal, Drawer } from \"antd\";\r\nimport { CloseOutlined, ExclamationCircleOutlined, MinusOutlined, SaveOutlined } from '@ant-design/icons';\r\n\r\nimport ManutencaoClientes from '../../pages/clientes/manutencao';\r\n\r\nexport default function DrawerCliente({ openDrawer, setOpenDrawer, setCodigoCliente }) {\r\n\r\n const [formulario] = Form.useForm();\r\n const nameForm = \"manutencaoCliente\"\r\n const [carregando, setCarregando] = useState(false);\r\n const [editando, setEditando] = useState(false);\r\n\r\n formulario.setFieldsValue({ cli_ativo: true });\r\n\r\n function fecharDrawer(idRetorno) {\r\n if (!!idRetorno) {\r\n setCodigoCliente(idRetorno);\r\n }\r\n formulario.resetFields();\r\n setOpenDrawer(false);\r\n };\r\n\r\n const onClose = () => {\r\n Modal.confirm({\r\n title: 'Cancelar?',\r\n icon: ,\r\n content: 'Deseja cancelar a operação e ignorar o que foi realizado até o momento?',\r\n okText: 'Sim',\r\n cancelText: 'Não',\r\n centered: true,\r\n onOk() {\r\n fecharDrawer();\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n )\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Select, Input } from \"antd\";\r\nimport { FormularioDinamico } from \"../../components\";\r\nimport api from \"../../services/api\";\r\n\r\nexport default function PesquisaCamposPersonalizados({formPesquisaAvancada, campoPerSelecionado, setCampoPerSelecionado, tipoFiltroPersonalizado, setTipoFiltroPersonalizado, tipoEntidade}) {\r\n const [condicao, setCondicao] = useState([]);\r\n const [camposPer, setCamposPer] = useState([]);\r\n\r\n function carregaCamposPersonalizados() {\r\n api.get(`CamposPersonalizados/ListarTodos?entidade=${tipoEntidade}&pagina=1&nroRegistros=1000&ordem=+cap_ordem`).then(res => {\r\n if (res.status === 200) {\r\n let key=0;\r\n res.data.dados.forEach((item) => (\r\n item.key = key++\r\n ))\r\n setCamposPer(res.data.dados);\r\n }\r\n }).catch(\r\n (erro) => {\r\n console.log(erro);\r\n alert('Erro ao carregar Campos personalizados!');\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n api.get(`Enum/Listar?filtro=&nome=CondicaoFiltroCampoAdicional`).then(\r\n res => {\r\n setCondicao(res.data);\r\n }\r\n );\r\n carregaCamposPersonalizados();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n {\r\n return { label: `${item.cap_id} - ${item.cap_label}`, value: item.cap_id }\r\n })\r\n }\r\n onChange = {(valor) => {\r\n let campoPer = camposPer.filter(campo => campo.cap_id === valor)[0]\r\n if (!!campoPer){\r\n if (campoPer.cap_tipoelemento === 'select' || campoPer.cap_tipoelemento === 'dataPicker' || campoPer.cap_tipoelemento === 'checkbox'){\r\n setTipoFiltroPersonalizado(2);\r\n } else {\r\n setTipoFiltroPersonalizado(1); \r\n };\r\n setCampoPerSelecionado([campoPer]); \r\n } else\r\n setTipoFiltroPersonalizado(0);\r\n }}\r\n filterOption={(input, option) => option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0} />\r\n \r\n \r\n \r\n \r\n {\r\n return { label: `${item.value}`, value: item.key }\r\n })\r\n }\r\n filterOption={(input, option) => option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0} />\r\n \r\n \r\n { tipoFiltroPersonalizado==1 && \r\n \r\n \r\n \r\n \r\n \r\n }\r\n { tipoFiltroPersonalizado==2 && \r\n \r\n }\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, Form, Input, notification, Row, Select, Table } from \"antd\";\r\nimport { CloseOutlined, DeleteOutlined, PlusOutlined, SearchOutlined } from \"@ant-design/icons\";\r\nimport moment from \"moment\";\r\n\r\nimport api from \"../../services/api\";\r\nimport { Data } from \"../../components\";\r\nimport { isNotNullOrEmpty } from \"../../services/funcoes\";\r\n\r\n/**\r\n * Função de pesquisa avançada\r\n *\r\n * @param {Form} form Formulario onde serao setados \r\n * @param {function} funcaoRetorno Função onde será devolvida a expressao para enviar\r\n * @param {function} funcaoLimpar Função que sera executada ao limpar os filtros\r\n * @param {integer} telaFiltro Informe a tela a qual pertence a pesquisa (1-Cliente, 2-Produto, 3-Fornecedores, 4-Funcionarios, 5-Transportadores, 6-Vendedores, 7-Notas, 8-Condicionais, 9-Pedidos)\r\n * @param {boolean} retornarSempre Retorna sempre pelo funcaoRetorno mesmo não tendo expressão\r\n*/\r\n\r\nexport default function PesquisaAvancada({ form, funcaoRetorno, funcaoLimpar, telaFiltro, retornarSempre = false }) {\r\n const [listaCondicao, setListaCondicao] = useState([]);\r\n const [listaCondicaoReq, setListaCondicaoReq] = useState([]);\r\n const [listaCampos, setListaCampos] = useState([]);\r\n const [listaFiltros, setListaFiltros] = useState([]);\r\n const [ehBooleano, setEhBooleano] = useState(false);\r\n const [ehData, setEhData] = useState(false);\r\n\r\n //#region definições das contantes das listas de campos \r\n\r\n const listaCamposBooleano = [\r\n { key: 0 },\r\n { key: 5 },\r\n ];\r\n const listaCamposString = [\r\n { key: 0 },\r\n { key: 5 },\r\n { key: 6 },\r\n { key: 7 },\r\n { key: 8 }\r\n ];\r\n const listaCamposData = [\r\n { key: 0 },\r\n { key: 1 },\r\n { key: 2 },\r\n { key: 3 },\r\n { key: 4 },\r\n { key: 5 },\r\n { key: 8 }\r\n ]\r\n\r\n\r\n //#endregion\r\n\r\n useEffect(() => {\r\n popularListaCondicao();\r\n popularListaCampos();\r\n }, []);\r\n\r\n //#region funções para popular as constantes \r\n\r\n function popularListaCondicao() {\r\n api.get(`Enum/Listar?filtro=&nome=CondicaoFiltroCampoAdicional`).then(\r\n res => {\r\n setListaCondicaoReq(res.data);\r\n }\r\n );\r\n };\r\n\r\n function popularListaCampos() {\r\n api.get(`Enum/ListarFiltros?type=${telaFiltro}`).then(\r\n (res) => {\r\n let key = 0;\r\n res.data.forEach((campo) => {\r\n campo.key = key;\r\n key++;\r\n });\r\n setListaCampos(res.data);\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n };\r\n\r\n //#endregion\r\n\r\n function adicionarFiltro() {\r\n let lista = [...listaFiltros];\r\n let dados = form.getFieldValue();\r\n if (validarFiltrosPreenchidos()) {\r\n let tipo = listaCampos.filter((campo) => campo.name === dados.campo)[0].type;\r\n let filtro = dados.filtro;\r\n if (tipo === 'DateTime') {\r\n filtro = moment(dados.filtro).format('YYYY-MM-DD');\r\n }\r\n \r\n let expressao = {\r\n key: lista.length,\r\n labelCampo: listaCampos.filter((campo) => campo.name === dados.campo)[0].label,\r\n campo: dados.campo,\r\n labelCondicao: listaCondicao.filter((condicao) => condicao.key === dados.condicao)[0].value,\r\n tipo: tipo,\r\n condicao: dados.condicao,\r\n filtro: filtro\r\n };\r\n lista.push(expressao);\r\n setListaFiltros(lista);\r\n limparCampos();\r\n }\r\n };\r\n\r\n function validarFiltrosPreenchidos() {\r\n let dados = form.getFieldValue();\r\n let retorno = false;\r\n if (!!dados.campo && isNotNullOrEmpty(dados.condicao) && !!dados.filtro) {\r\n retorno = true;\r\n } else {\r\n notification.warn({ description: \"Favor informe os dados para o filtro\", message: \"Aviso\" });\r\n }\r\n return retorno;\r\n };\r\n\r\n function aplicarFiltros() {\r\n let expressao = \"\";\r\n if (validarFiltrar()) {\r\n if (listaFiltros.length > 0) {\r\n expressao = JSON.stringify({ filtros: listaFiltros });\r\n } else {\r\n let dados = form.getFieldValue();\r\n expressao = JSON.stringify({ filtros: [{ campo: dados.campo, condicao: dados.condicao, filtro: dados.filtro, tipo: listaCampos.filter((campo) => campo.name === dados.campo)[0].type }] })\r\n }\r\n funcaoRetorno(expressao);\r\n } else {\r\n if (retornarSempre) {\r\n funcaoRetorno(null);\r\n } else {\r\n notification.warn({ description: 'Favor informar o filtro da pesquisa!', message: 'Aviso' });\r\n funcaoLimpar();\r\n }\r\n }\r\n };\r\n\r\n function validarFiltrar() {\r\n let dados = form.getFieldValue();\r\n let retorno = false;\r\n if (listaFiltros.length > 0 || !!dados.campo && !!dados.condicao && !!dados.filtro) {\r\n retorno = true;\r\n }\r\n return retorno;\r\n }\r\n\r\n function limparCampos() {\r\n form.setFieldsValue({ campo: null, condicao: null, filtro: null });\r\n };\r\n\r\n function removerFiltros() {\r\n setListaFiltros([]);\r\n funcaoLimpar();\r\n //dispatch({ type: listagemActions.CHANGE, data: { outrosFiltros: '', filtro: '', ordem: '+pes_nome' } });\r\n };\r\n\r\n function removerFiltroLista(record) {\r\n let lista = [...listaFiltros];\r\n let retorno = lista.filter((dados) => dados.key !== record.key);\r\n setListaFiltros(retorno);\r\n };\r\n\r\n function buscarCondicao(dados) {\r\n let lista = [...listaCondicaoReq];\r\n let campo = listaCampos.filter((campo) => campo.name == dados)[0];\r\n let booleano = false;\r\n let data = false;\r\n if (campo.type === \"Boolean\") {\r\n lista = lista.filter((condicao) => listaCamposBooleano.find(camposKey => camposKey.key === condicao.key));\r\n booleano = true;\r\n setListaCondicao(lista);\r\n } else if (campo.type === \"String\") {\r\n lista = lista.filter((condicao) => listaCamposString.find(camposKey => camposKey.key === condicao.key));\r\n setListaCondicao(lista);\r\n } else if (campo.type === \"DateTime\") {\r\n lista = lista.filter((condicao) => listaCamposData.find(camposKey => camposKey.key === condicao.key));\r\n data = true;\r\n setListaCondicao(lista);\r\n } else {\r\n setListaCondicao(listaCondicaoReq);\r\n }\r\n setEhData(data);\r\n setEhBooleano(booleano);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n { buscarCondicao(dados) }}\r\n >\r\n {listaCampos.map(\r\n (campo) => (\r\n {campo.label}\r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaCondicao.map(\r\n (condicao) => (\r\n {condicao.value}\r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n {ehData ?\r\n :\r\n \r\n {ehBooleano ?\r\n :\r\n \r\n }\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaFiltros.length > 0 &&\r\n \r\n
\r\n
(\r\n
{labelCampo}
\r\n ),\r\n }, {\r\n title: \"Condição\",\r\n render: ({ labelCondicao }) => (\r\n
{labelCondicao}
\r\n ),\r\n }, {\r\n title: \"Filtro\",\r\n render: ({ filtro, tipo }) => (\r\n
{tipo === \"DateTime\" ? moment(filtro).format(\"DD/MM/YYYY\") : filtro}
\r\n ),\r\n }, {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n render: (record) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n \r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Form, Input } from 'antd';\r\nimport { MaskedInput } from 'antd-mask-input';\r\n\r\nexport default function InputCep(props) {\r\n\r\n const mask = '00000-000';\r\n\r\n class NovoValor extends React.Component {\r\n\r\n onChange = (e, a) => {\r\n const { value } = e.target;\r\n let data = value;\r\n\r\n this.props.onChange(data.replace(/\\D/g, \"\"));\r\n };\r\n\r\n onBlur = (e) => {\r\n if (!!props.onBlur) {\r\n props.onBlur(e);\r\n }\r\n }\r\n\r\n onKeyUp = e => {\r\n if (!!props.onKeyUp) {\r\n props.onKeyUp(e);\r\n }\r\n }\r\n\r\n onPressEnter = (e) => {\r\n if (!!props.onPressEnter) {\r\n props.onPressEnter(e);\r\n }\r\n };\r\n\r\n onFocus = (e) => {\r\n if (!!props.onFocus) {\r\n props.onFocus(e);\r\n }\r\n };\r\n\r\n onKeyPress = (e) => {\r\n if (!!props.onKeyPress) {\r\n props.onKeyPress(e);\r\n }\r\n };\r\n\r\n render() {\r\n const { value } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n class InputCep extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { value: '' };\r\n }\r\n\r\n onChange = value => {\r\n this.setState({ value });\r\n if (!!props.onChange) {\r\n props.onChange();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Form, Input } from 'antd';\r\nimport { MaskedInput } from 'antd-mask-input';\r\n\r\nexport default function InputCpfCnpj(props) {\r\n\r\n const mask = !!props.mask ? props.mask : (props.cpf ? '000.000.000-00' : '00.000.000/0000-00');\r\n\r\n class NovoValor extends React.Component {\r\n\r\n onChange = (e, a) => {\r\n const { value } = e.target;\r\n let data = value;\r\n\r\n this.props.onChange(data.replace(/\\D/g, \"\"));\r\n };\r\n\r\n onBlur = (e) => {\r\n if (!!props.onBlur) {\r\n props.onBlur(e);\r\n }\r\n }\r\n\r\n onKeyUp = e => {\r\n if (!!props.onKeyUp) {\r\n props.onKeyUp(e);\r\n }\r\n }\r\n\r\n onPressEnter = (e) => {\r\n if (!!props.onPressEnter) {\r\n props.onPressEnter(e);\r\n }\r\n };\r\n\r\n onFocus = (e) => {\r\n if (!!props.onFocus) {\r\n props.onFocus(e);\r\n }\r\n };\r\n\r\n onKeyPress = (e) => {\r\n if (!!props.onKeyPress) {\r\n props.onKeyPress(e);\r\n }\r\n };\r\n\r\n render() {\r\n const { value } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n class InputCpfCnpj extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { value: '' };\r\n }\r\n\r\n onChange = value => {\r\n this.setState({ value });\r\n if (!!props.onChange) {\r\n props.onChange();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n};","import React, { useState } from \"react\";\r\nimport { Input, Form } from \"antd\";\r\n\r\n/*\r\n Ao utilizar o componente não setar valor para constantes como por exemplo setValorPedido(valor), pois isso fará com que o focus saia do input\r\n*/\r\n\r\nexport default function InputPercentual(props) {\r\n\r\n /* props.percent ou props.cifrao removido, pois ao tentar utilizar o backspace não funciona */\r\n function formatNumber(value) {\r\n let precisao = !!props.precision ? props.precision : props.precision == 0 ? 0 : 2;\r\n if (!(!!value) || isNaN(value)) {\r\n value = !!props.initialValue ? props.initialValue : '0.00';\r\n }\r\n value = parseFloat(value).toFixed(precisao);\r\n value += '';\r\n const list = value.split('.');\r\n const prefix = list[0].charAt(0) === '-' ? '-' : '';\r\n let num = prefix ? list[0].slice(1) : list[0];\r\n let result = '';\r\n while (num.length > 3) {\r\n result = `.${num.slice(-3)}${result}`;\r\n num = num.slice(0, num.length - 3);\r\n }\r\n if (num) {\r\n result = num + result;\r\n }\r\n return `${prefix}${result}${list[1] ? `,${list[1]}` : ',00'}`;\r\n }\r\n\r\n class InputPercentual extends React.Component {\r\n onChange = e => {\r\n const { value } = e.target;\r\n let precisao = !!props.precision ? props.precision : props.precision == 0 ? 0 : 2;\r\n let valorTemp = value;\r\n valorTemp = valorTemp.replace('%', '');\r\n valorTemp = valorTemp.replaceAll(',', '').replaceAll('.', '');\r\n if (parseFloat(valorTemp).toString().length <= precisao) {\r\n let zeros = '0'.repeat(precisao);\r\n let valDivisao = 1 + zeros;\r\n valorTemp = parseFloat(valorTemp / valDivisao).toFixed(precisao);\r\n } else {\r\n valorTemp = valorTemp.slice(0, valorTemp.length - precisao) + '.' + valorTemp.slice(valorTemp.length - precisao);\r\n }\r\n if (valorTemp > props.max) {\r\n valorTemp = parseFloat(props.max);\r\n }\r\n if (valorTemp < props.min) {\r\n valorTemp = parseFloat(props.min);\r\n }\r\n valorTemp = valorTemp.toString();\r\n const reg = /^-?\\d*(\\.\\d*)?$/;\r\n if ((!isNaN(valorTemp) && reg.test(valorTemp)) || valorTemp === '' || valorTemp === '-') {\r\n this.props.onChange(valorTemp);\r\n }\r\n\r\n };\r\n\r\n onBlur = () => {\r\n const { value, onBlur, onChange } = this.props;\r\n if (!!value) {\r\n let valueTemp = value.toString();\r\n valueTemp = valueTemp.replace('%', '');\r\n\r\n if (valueTemp.charAt(valueTemp.length - 1) === '.' || valueTemp === '-') {\r\n valueTemp = valueTemp.slice(0, -1);\r\n }\r\n if (valueTemp > props.max) {\r\n valueTemp = parseFloat(props.max);\r\n }\r\n if (valueTemp < props.min) {\r\n valueTemp = parseFloat(props.min);\r\n }\r\n onChange(valueTemp.replace(/0*(\\d+)/, '$1'));\r\n if (onBlur) {\r\n onBlur();\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { value } = this.props;\r\n\r\n let valor = value;\r\n if (props.somenteValorPositivo !== null && props.somenteValorPositivo !== undefined) {\r\n valor = parseFloat(value);\r\n if (!!props.somenteValorPositivo) {\r\n if (valor < 0) {\r\n valor = valor * -1;\r\n }\r\n }\r\n valor = valor.toString();\r\n if (valor.indexOf('.') > -1 && valor.split('.')[1].length < 2) {\r\n valor += '0';\r\n }\r\n }\r\n\r\n return (\r\n (this.myInputRef = c)}\r\n {...this.props}\r\n value={formatNumber(valor)}\r\n disabled={!!props.disabled}\r\n onChange={this.onChange}\r\n onBlur={this.onBlur}\r\n style={!!props.style ? props.style : {}}\r\n onFocus={this.onFocus}\r\n precision={!!props.precision ? props.precision : 2}\r\n placeholder={!!props.placeholder ? props.placeholder : ''}\r\n maxLength={18}\r\n className='text-right'\r\n />\r\n );\r\n }\r\n };\r\n\r\n class NumericInputDemo extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { value: 0 };\r\n }\r\n\r\n onChange = value => {\r\n this.setState({ value });\r\n if (!!props.onChange) {\r\n props.onChange();\r\n }\r\n };\r\n\r\n onBlur = () => {\r\n if (!!props.onBlur) {\r\n props.onBlur();\r\n }\r\n };\r\n\r\n onPressEnter = () => {\r\n if (!!props.onPressEnter) {\r\n props.onPressEnter();\r\n }\r\n };\r\n\r\n onFocus = () => {\r\n if (!!props.onFocus) {\r\n props.onFocus();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n \r\n\r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { Button } from 'antd';\r\n\r\nimport { validarPermissaoTela } from \"../../services/permissoes\";\r\n\r\n\r\nexport default function NotaFiscalEntradaButton(props) {\r\n\r\n const [desabilita, setDesabilita] = useState(false);\r\n\r\n useState(() => {\r\n setDesabilita(validarPermissaoTela(9));\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};","import { Button, Col, Row, notification } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport api from \"../../services/api\";\r\n\r\n\r\nexport default function SincronizarCatalogo() {\r\n\r\n function iniciarSincronização() {\r\n api.post(\"Siger/Sincronizar\").then(\r\n res => {\r\n notification.success({ message: \"SUUUU CESSO\" })\r\n }\r\n ).catch(\r\n erro => {\r\n console.log(erro);\r\n }\r\n )\r\n }\r\n\r\n return (
\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n}","import { Button, Col, Form, Row, notification } from \"antd\";\r\nimport SelectProduto from \"../selects/selectProduto\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { useState } from \"react\";\r\nimport api from \"../../services/api\";\r\nimport { isObjetoDiffVazio } from \"../../services/funcoes\";\r\nimport InputNumber from \"rc-input-number\";\r\nimport InputPreco from \"../inputPreco\";\r\n\r\nexport default function FiltroProdutoKit({ formulario, setListaItems, listaItems }) {\r\n\r\n const [{ listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [exibirDetalhes, setExibirDetalhes] = useState(false);\r\n const [dadosProduto, setDadosProduto] = useState({});\r\n\r\n function adicionarItem() {\r\n let valores = formulario.getFieldsValue();\r\n let itemJaAdd = false;\r\n if (valores.produto_id !== undefined && valores.produto_id !== null) {\r\n\r\n if (valores?.valor_unitario == 0) {\r\n notification.warning({ description: 'Aviso!', description: 'Não é possivel adicionar item com valor 0' });\r\n return;\r\n }\r\n let produtoTemp = { ...dadosProduto };\r\n if (listaItems.length > 0) {\r\n if (produtoTemp.prg_id) {\r\n itemJaAdd = listaItems.find(i => i.prg_id == produtoTemp.prg_id)\r\n } else {\r\n itemJaAdd = listaItems.find(i => i.pro_id == produtoTemp.pro_id)\r\n }\r\n if (itemJaAdd) {\r\n notification.warning({ description: 'Aviso!', description: 'Item já Adicionado' });\r\n return;\r\n }\r\n }\r\n\r\n let listaTemp = [...listaItems];\r\n produtoTemp.qtde_item = valores.qtde_item;\r\n produtoTemp.pkc_valorunitario = valores.valor_unitario;\r\n produtoTemp.pkc_ativo = true;\r\n listaTemp.push(produtoTemp);\r\n setListaItems(listaTemp);\r\n setDadosProduto({});\r\n formulario.setFieldsValue({\r\n produto_id: null,\r\n qtde_item: null,\r\n valor_unitario: null,\r\n })\r\n } else {\r\n notification.warning({ description: 'Aviso!', description: 'Selecione um produto!' });\r\n return;\r\n }\r\n }\r\n\r\n async function buscarProduto(key) {\r\n let listaItensTemp = [...listaSelectPaginacao.itens];\r\n let produtoTemp = listaItensTemp.find(pro => pro.key == key);\r\n if (isObjetoDiffVazio(produtoTemp)) {\r\n produtoTemp.pkc_valorunitario = produtoTemp.lpi_valorvenda;\r\n setDadosProduto(produtoTemp);\r\n setExibirDetalhes(true);\r\n formulario.setFieldsValue({ qtde_item: 1, valor_unitario: produtoTemp.lpi_valorvenda ?? 0 });\r\n }\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n { buscarProduto(dados) }} ordem={\"pro_descricao\"} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from 'react';\r\nimport { Row, Col, Form, message, Empty, Select, Input, Button, InputNumber, Checkbox, Switch } from 'antd';\r\nimport { SortableContainer, SortableElement } from 'react-sortable-hoc';\r\nimport arrayMove from 'array-move';\r\nimport { PlusOutlined, CloseOutlined, EyeTwoTone } from '@ant-design/icons';\r\n\r\nimport api from '../../services/api';\r\nimport { ItemFormulario, TiposElementosFormulario } from './pages';\r\nimport { ModalPersonalizacaoFormulario } from \"../../components/modals/\";\r\n\r\nexport default function EditorFormulario({elementosFormulario, setElementosFormulario}) {\r\n\r\n const objElementoFormularioEdicao = { indice: null, elemento: null };\r\n\r\n const [ formEditor ] = Form.useForm();\r\n const [ openModalPersonalizacao, setOpenModalPersonalizacao ] = useState(false);\r\n const [ elementoEdicao, setElementoEdicao ] = useState(objElementoFormularioEdicao);\r\n\r\n useEffect(() => formEditor.resetFields(), [elementoEdicao]);\r\n\r\n const adicionarElemento = values => {\r\n if (values.widget === \"upload\") {\r\n values.valuePropName = \"file\";\r\n values.children = \"Clique aqui para anexar um arquivo...\"\r\n values.widgetProps = {\r\n action: `${api.defaults.baseURL}/arquivos/upload`,\r\n headers: {\r\n Authorization: 'Bearer ' + eval('localStorage.getItem(\"@Aflow-Token\")')\r\n }\r\n };\r\n }\r\n console.log('elementos', [...elementosFormulario, values]);\r\n if (elementoEdicao.indice === null) setElementosFormulario([...elementosFormulario, values]);\r\n else {\r\n let listaElementos = [...elementosFormulario];\r\n listaElementos[elementoEdicao.indice] = values;\r\n setElementosFormulario(listaElementos);\r\n }\r\n setElementoEdicao(objElementoFormularioEdicao);\r\n formEditor.resetFields();\r\n }\r\n\r\n const tratarErro = errorInfo => {\r\n errorInfo.errorFields.map((field) => field.errors.map((erro) => message.warning(erro, 2 * errorInfo.errorFields.length)));\r\n };\r\n\r\n const editarElemento = indiceElemento => {\r\n setElementoEdicao({ indice: indiceElemento, elemento: elementosFormulario[indiceElemento] });\r\n }\r\n\r\n const excluirElemento = indiceElemento => {\r\n let listaElementos = [...elementosFormulario];\r\n listaElementos.splice(indiceElemento, 1);\r\n setElementosFormulario(listaElementos);\r\n setElementoEdicao(objElementoFormularioEdicao);\r\n formEditor.resetFields();\r\n }\r\n\r\n const onSortEnd = ({oldIndex, newIndex}) => {\r\n let listaElementos = [...elementosFormulario];\r\n listaElementos = arrayMove(listaElementos, oldIndex, newIndex);\r\n setElementosFormulario(listaElementos);\r\n setElementoEdicao(objElementoFormularioEdicao);\r\n formEditor.resetFields();\r\n };\r\n\r\n const SortableItem = SortableElement(({value, sortIndex}) => editarElemento(sortIndex)} fnExcluir={() => excluirElemento(sortIndex)} />);\r\n\r\n const SortContainer = SortableContainer(({children}) => {\r\n return
{children}
;\r\n });\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Estrutura do Formulário\r\n \r\n \r\n \r\n \r\n \r\n
\r\n (e.target.tagName.toLowerCase() === \"path\" || e.target.tagName.toLowerCase() === \"svg\" || e.target.tagName.toLowerCase() === \"button\")}>\r\n {elementosFormulario.map((elemento, indice) => \r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {elementosFormulario.length === 0 && }\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Adicionar Elementos ao Formulário\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Obrigatório\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return !!value.match(/[a-zA-Z0-9_.]/gm) ? value.match(/[a-zA-Z0-9_.]/gm).join('') : '';\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n prevValues.widget !== currentValues.widget}>\r\n {({ getFieldValue }) => {\r\n return (getFieldValue('widget') === 'radio-group' || getFieldValue('widget') === 'checkbox-group' || getFieldValue('widget') === 'select') ? (\r\n \">\r\n ;\r\n if (elemento === 'textarea') return ;\r\n if (elemento === 'number') return ;\r\n if (elemento === 'checkbox') return ;\r\n if (elemento === 'switch') return ;\r\n else return null;\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {elementoEdicao.indice !== null && \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalPersonalizacao(false)} elementosFormulario={elementosFormulario} setElementosFormulario={setElementosFormulario}/>\r\n \r\n );\r\n\r\n}","import { getPermissao, getStatusFilial } from \"./auth\";\r\n\r\nconst tipoDeValidacao = {\r\n menu: 0,\r\n tela: 1\r\n};\r\n\r\nconst botoesValidacao = {\r\n Incluir: 0,\r\n Editar: 1,\r\n Excluir: 2,\r\n Imprimir: 3,\r\n Exportar: 4,\r\n Duplicar: 5,\r\n ImportarXML: 6,\r\n CancelarEstorno: 7,\r\n Cancelar: 8,\r\n NotaFiscal: 9,\r\n EmitirNotaFiscalDebito: 10,\r\n EmitirNotaFiscalTranferencia: 11,\r\n Inutilizar: 12,\r\n LancamentoEntrada: 13,\r\n LancamentoSaida: 14,\r\n LancamentoTransferencia: 15,\r\n Consultar: 16,\r\n GerarEfdIcmsIpi: 17,\r\n Bordero: 18,\r\n Download: 19,\r\n Reprocessar: 20,\r\n Adicionar: 21\r\n};\r\n\r\nconst valuesBotoes = {\r\n 0: \"Incluir\",\r\n 1: \"Editar\",\r\n 2: \"Excluir\",\r\n 3: \"Imprimir\",\r\n 4: \"Exportar\",\r\n 5: \"Duplicar\",\r\n 6: \"ImportarXML\",\r\n 7: \"CancelarEstorno\",\r\n 8: \"Cancelar\",\r\n 9: \"NotaFiscal\",\r\n 10: \"EmitirNotaFiscalDebito\",\r\n 11: \"EmitirNotaFiscalTranferencia\",\r\n 12: \"Inutilizar\",\r\n 13: \"LancamentoEntrada\",\r\n 14: \"LancamentoSaida\",\r\n 15: \"LancamentoTransferencia\",\r\n 16: \"Consultar\",\r\n 17: \"GerarEfdIcmsIpi\",\r\n 18: \"Bordero\",\r\n 19: \"Download\",\r\n 20: \"Reprocessar\",\r\n 21: \"Adicionar\"\r\n};\r\n\r\nexport function validarPermissaoMenu(itemMenu) {\r\n let url = itemMenu.pagina.replace('/', '');\r\n if (!!!JSON.parse(getPermissao()) || JSON.parse(getPermissao()).length === 0) {\r\n return false;\r\n }\r\n let objPermissao = JSON.parse(getPermissao()).filter(perm => perm.pru_nome.toLowerCase() === url.trim().toLowerCase())[0];\r\n if (!!!objPermissao) {\r\n return false;\r\n }\r\n objPermissao.pru_permissoes = JSON.parse(objPermissao.pru_permissoes);\r\n let permissoes = objPermissao.pru_permissoes[0].sistema[0];\r\n if (!!!permissoes) {\r\n return false;\r\n } else {\r\n return !permissoes.acesso;\r\n }\r\n};\r\n\r\nexport function validarPermmissao(tipo = 1) {\r\n let url = window.location.href.split('/');\r\n if (JSON.parse(getPermissao())?.length > 0) {\r\n let objPermissao = JSON.parse(getPermissao()).filter(perm => { if (!!perm.pru_nome) { return perm.pru_nome.toLowerCase() === url[url.length - 1].trim().toLowerCase() } else { return false } })[0];\r\n if (!!!objPermissao) {\r\n return false;\r\n }\r\n objPermissao.pru_permissoes = JSON.parse(objPermissao.pru_permissoes);\r\n let permissoes = objPermissao.pru_permissoes[0].sistema[0];\r\n let retorno = false;\r\n if (tipo === tipoDeValidacao.menu) {\r\n retorno = permissoes.acesso;\r\n } else {\r\n retorno = permissoes.elementos;\r\n }\r\n return retorno;\r\n }\r\n};\r\n\r\nexport function validarPermissaoTela(metodo) {\r\n let retorno = true;\r\n if (!getStatusFilial()) {\r\n retorno = false;\r\n } else {\r\n let permissoes = validarPermmissao(1);\r\n if (!!permissoes) {\r\n let acao = retornaAcao(metodo);\r\n let permissao = permissoes.filter(elem => elem.metodo === acao);\r\n retorno = permissao.length > 0 ? permissao[0].acesso : false;\r\n }\r\n }\r\n\r\n return !retorno;\r\n};\r\n\r\nfunction retornaAcao(metodo) {\r\n let acao = \"\";\r\n switch (metodo) {\r\n case botoesValidacao.Incluir:\r\n acao = valuesBotoes[botoesValidacao.Incluir];\r\n break;\r\n case botoesValidacao.Editar:\r\n acao = valuesBotoes[botoesValidacao.Editar];\r\n break;\r\n case botoesValidacao.Excluir:\r\n acao = valuesBotoes[botoesValidacao.Excluir];\r\n break;\r\n case botoesValidacao.Imprimir:\r\n acao = valuesBotoes[botoesValidacao.Imprimir];\r\n break;\r\n case botoesValidacao.Exportar:\r\n acao = valuesBotoes[botoesValidacao.Exportar];\r\n break;\r\n case botoesValidacao.Duplicar:\r\n acao = valuesBotoes[botoesValidacao.Duplicar];\r\n break;\r\n case botoesValidacao.ImportarXML:\r\n acao = valuesBotoes[botoesValidacao.ImportarXML];\r\n break;\r\n case botoesValidacao.CancelarEstorno:\r\n acao = valuesBotoes[botoesValidacao.CancelarEstorno];\r\n break;\r\n case botoesValidacao.Cancelar:\r\n acao = valuesBotoes[botoesValidacao.Cancelar];\r\n break;\r\n case botoesValidacao.NotaFiscal:\r\n acao = valuesBotoes[botoesValidacao.NotaFiscal];\r\n break;\r\n case botoesValidacao.EmitirNotaFiscalDebito:\r\n acao = valuesBotoes[botoesValidacao.EmitirNotaFiscalDebito];\r\n break;\r\n case botoesValidacao.EmitirNotaFiscalTranferencia:\r\n acao = valuesBotoes[botoesValidacao.EmitirNotaFiscalTranferencia];\r\n break;\r\n case botoesValidacao.Inutilizar:\r\n acao = valuesBotoes[botoesValidacao.Inutilizar];\r\n break;\r\n case botoesValidacao.LancamentoEntrada:\r\n acao = valuesBotoes[botoesValidacao.LancamentoEntrada];\r\n break;\r\n case botoesValidacao.LancamentoSaida:\r\n acao = valuesBotoes[botoesValidacao.LancamentoSaida];\r\n break;\r\n case botoesValidacao.LancamentoTransferencia:\r\n acao = valuesBotoes[botoesValidacao.LancamentoTransferencia];\r\n break;\r\n case botoesValidacao.Consultar:\r\n acao = valuesBotoes[botoesValidacao.Consultar];\r\n break;\r\n case botoesValidacao.GerarEfdIcmsIpi:\r\n acao = valuesBotoes[botoesValidacao.GerarEfdIcmsIpi];\r\n break;\r\n case botoesValidacao.Bordero:\r\n acao = valuesBotoes[botoesValidacao.Bordero];\r\n break;\r\n case botoesValidacao.Download:\r\n acao = valuesBotoes[botoesValidacao.Download];\r\n break;\r\n case botoesValidacao.Reprocessar:\r\n acao = valuesBotoes[botoesValidacao.Reprocessar];\r\n break;\r\n case botoesValidacao.Adicionar:\r\n acao = valuesBotoes[botoesValidacao.Adicionar];\r\n break;\r\n }\r\n return acao;\r\n}","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/i-formas.6d3408f3.png\";","export default __webpack_public_path__ + \"static/media/i-bill.b0a3eb23.png\";","export default __webpack_public_path__ + \"static/media/i-code.096c1a79.png\";","export default __webpack_public_path__ + \"static/media/i-banco.6f49a172.png\";","import axios from 'axios';\r\nimport { getToken, logout, getEmpresa, getLocal, linkApi, linkApiGestor } from './auth';\r\nconst api = axios.create({ baseURL: window.location.href.indexOf('catalogo') > -1 ? linkApiGestor : linkApi });\r\n\r\napi.interceptors.request.use(async config => {\r\n const token = getToken();\r\n const empresa = getEmpresa();\r\n const local = getLocal();\r\n //config.headers.ApiKey =\"as123\";\r\n if (token) config.headers.Authorization = `Bearer ${token}`;\r\n if (empresa) config.headers.codigoempresa = empresa;\r\n if (local) config.headers.codigolocal = local;\r\n\r\n return config;\r\n});\r\n\r\napi.interceptors.response.use(function (response) {\r\n return response;\r\n}, function (error) {\r\n if (error.response.status === 401) {\r\n logout();\r\n }\r\n return Promise.reject(error);\r\n});\r\n\r\nexport default api;\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Form, Tag, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { ModalEndereco } from \"../../components/modals/\";\r\nimport { isObjetoDiffVazio, validarDadosObj } from \"../../services/funcoes\";\r\n\r\nexport default function Endereco({produtorRural = false}) {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosEndereco, setDadosEndereco] = useState(!!manutencao.dados && !!manutencao.dados.enderecos ? manutencao.dados.enderecos : []);\r\n const [form] = Form.useForm();\r\n const [openModalEndereco, setOpenModalEndereco] = useState(false);\r\n const [exibirPais, setExibirPais] = useState(true);\r\n\r\n const alterarPropriedadeEndereco = (key, coluna, checked) => {\r\n let newData = [...dadosEndereco];\r\n if (coluna === 'pee_enderecoprincipal' && checked) {\r\n let indexPrincipal = newData.findIndex((item) => true === item.pee_enderecoprincipal);\r\n if (indexPrincipal !== -1) {\r\n newData[indexPrincipal][coluna] = false;\r\n }\r\n newData[key][coluna] = checked;\r\n } else {\r\n let count = 0;\r\n newData.forEach(dados => {\r\n if (dados[coluna]) {\r\n count++;\r\n }\r\n });\r\n if (count > 1 || (checked && coluna === 'pee_ativo')) {\r\n newData[key][coluna] = checked;\r\n }\r\n }\r\n setDadosEndereco(newData);\r\n };\r\n\r\n const editEndereco = (record, indice) => {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalEndereco(true);\r\n };\r\n\r\n const removerEndereco = (record, indice) => {\r\n let dadosTemp = [...dadosEndereco];\r\n if (dadosTemp.length > 1) {\r\n dadosTemp = dadosTemp.filter((dados) => dados !== record);\r\n setDadosEndereco(dadosTemp);\r\n } else {\r\n Modal.warning({\r\n title: 'Aviso',\r\n icon: ,\r\n content: \"Deve se manter ao menos um endereço cadastrado!\",\r\n okText: 'Ok',\r\n centered: true\r\n\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ enderecos: dadosEndereco } } } });\r\n }, [dadosEndereco]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados) {\r\n if (!!manutencao.dados.enderecos) {\r\n setDadosEndereco(manutencao.dados.enderecos);\r\n }\r\n }\r\n }, [manutencao.dados]);\r\n\r\n return (\r\n\r\n
\r\n \r\n
\r\n \r\n \"Endereço(s)\" Endereço(s)\r\n \r\n Adicione o(s) endereço(s) do cliente aqui. \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n
\r\n \r\n {record.log_logradouro}\r\n {(record.pee_numero !== '' && !!record.pee_numero) ? ', ' + record.pee_numero : ''}\r\n {(record.bai_nome !== '' && !!record.bai_nome) ? ', ' + record.bai_nome : ''}\r\n {(record.pee_complemento !== '' && !!record.pee_complemento) ? ', ' + record.pee_complemento : ''}\r\n {(record.cep !== '' && !!record.cep) ? ' - ' + record.cep :\r\n (record.cep_cep !== '' && !!record.cep_cep) ? ' - ' + record.cep_cep : ''}\r\n {(record.cid_descricao !== '' && !!record.cid_descricao) ? ' - ' + record.cid_descricao : ''}\r\n\r\n {(record.est_sigla !== '' && !!record.est_sigla) ? ' - ' + record.est_sigla : ''}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Tipo de Endereço',\r\n width: 80,\r\n render: ({ tpe_descricao }) => (\r\n
\r\n {tpe_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 80,\r\n align: 'center',\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEndereco(indice, \"pee_enderecoprincipal\", checked)}\r\n >\r\n Principal\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 80,\r\n align: 'center',\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEndereco(indice, \"pee_ativo\", checked)}\r\n >\r\n Ativo\r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui Endereço Cadastrado\r\n \r\n \r\n \r\n )\r\n }} dataSource={dadosEndereco} scroll={{ x: 960 }} />\r\n \r\n setOpenModalEndereco(false)} exibirPais={exibirPais} produtorRural={produtorRural} />\r\n \r\n\r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Form, Modal, Tag } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { ModalOrgaoSubjacente } from \"../../components/modals\";\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\n\r\nexport default function OrgaoSubjacente() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [openModalOrgaoSubjacente, setOpenModalOrgaoSubjacente] = useState(false);\r\n const [listaOrgaoSubjacente, setListaOrgaoSubjacente] = useState(!!manutencao.dados && !!manutencao.dados.listaOrgaoPublico ? manutencao.dados.listaOrgaoPublico : []);\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ listaOrgaoPublico: listaOrgaoSubjacente } } } });\r\n }, [listaOrgaoSubjacente]);\r\n\r\n function editar(record, indice) {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalOrgaoSubjacente(true);\r\n };\r\n\r\n function excluir(id) {\r\n const lista = [...listaOrgaoSubjacente];\r\n const index = lista.findIndex((item) => id === item.pse_id);\r\n lista.splice(index, 1)\r\n setListaOrgaoSubjacente(lista);\r\n };\r\n\r\n const modalConfirmaExclusao = (record) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o registro?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n excluir(record);\r\n }\r\n });\r\n };\r\n\r\n const alterarPropriedade = (key, coluna, checked) => {\r\n let newData = [...listaOrgaoSubjacente];\r\n newData[key][coluna] = checked;\r\n setListaOrgaoSubjacente(newData);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Órgãos Órgãos Subjacentes\r\n \r\n Adicione o(s) órgão(s) público(s) Aqui. \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n alterarPropriedade(indice, \"pop_ativo\", checked)}\r\n >\r\n Ativo\r\n \r\n ),\r\n },\r\n {\r\n title: 'Nome',\r\n width: 150,\r\n render: ({ pop_nome }) => (\r\n
\r\n {pop_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Endereço',\r\n render: ({ pop_endereco, pop_numero, pop_bairro, pop_complemento, pop_cep, cep }) => (\r\n
\r\n \r\n {!!pop_endereco ? pop_endereco : \"\"}{!!pop_numero ? (', ' + pop_numero) : ''}\r\n {!!pop_bairro ? (', ' + pop_bairro) : ''}\r\n {!!pop_complemento ? (', ' + pop_complemento) : ''}\r\n {!!pop_cep ? (' - ' + pop_cep) : !!cep ? cep : ''}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default function Email() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosEmail, setDadosEmail] = useState(!!manutencao.dados && manutencao.dados.emails ? manutencao.dados.emails : []);\r\n const [form] = Form.useForm();\r\n const [openModalEmail, setOpenModalEmail] = useState(false);\r\n\r\n const alterarPropriedadeEmail = (key, coluna, checked) => {\r\n const newData = [...dadosEmail];\r\n if (coluna === 'pem_emailprincipal' && checked === true) {\r\n const indexPrincipal = newData.findIndex((item) => true === item.pem_emailprincipal);\r\n if (indexPrincipal !== -1) newData[indexPrincipal][coluna] = false;\r\n }\r\n newData[key][coluna] = checked;\r\n setDadosEmail(newData);\r\n }\r\n\r\n const editEmail = (record, indice) => {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalEmail(true);\r\n };\r\n\r\n const removeEmail = (id) => {\r\n const newData = [...dadosEmail];\r\n const index = newData.findIndex((item) => id === item.pem_id);\r\n newData.splice(index, 1)\r\n setDadosEmail(newData);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ emails: dadosEmail } } } });\r\n }, [dadosEmail]);\r\n\r\n const modalConfirmaExclusao = (record) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o email ${record.pem_email} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n removeEmail(record.pem_id);\r\n }\r\n });\r\n };\r\n\r\n function adicionarEmail() {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ emails: dadosEmail } } } });\r\n setOpenModalEmail(false);\r\n }\r\n\r\n return (\r\n\r\n
\r\n \r\n
\r\n \r\n \"E-mail(s)\" E-mail(s) - (OPCIONAL)\r\n \r\n Adicione o(s) e-mail(s) do cliente aqui. \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n (\r\n
\r\n {pem_email}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 68,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_emailprincipal\", checked)}\r\n >\r\n Principal\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 52,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_ativo\", checked)}\r\n >\r\n Ativo\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 92,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_enviarboleto\", checked)}\r\n >\r\n Enviar Boleto\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 140,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_enviarcobranca\", checked)}\r\n >\r\n Enviar Carta Cobrança\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 85,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_enviarnfe\", checked)}\r\n >\r\n Enviar NF-e\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n align: 'center',\r\n width: 114,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_enviarpromocao\", checked)}\r\n >\r\n Enviar Promoção\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 132,\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeEmail(indice, \"pem_enviarvencparcela\", checked)}\r\n >\r\n Enviar Venc. Parcela\r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n fixed: 'right',\r\n key: 'x',\r\n width: 65,\r\n render: (record, obj, indice) => {\r\n return
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui E-mail Cadastrado\r\n \r\n \r\n \r\n )\r\n }} components={{\r\n body: {\r\n cell: EditableCell,\r\n },\r\n }} scroll={{ x: 960 }} dataSource={dadosEmail}\r\n />\r\n \r\n \r\n adicionarEmail()} />\r\n \r\n\r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Form, Tag, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { FormatFone } from \"../../ValueObjects\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { ModalTelefone } from \"../../components/modals/\";\r\n\r\nexport default function Telefone() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosTelefone, setDadosTelefone] = useState(!!manutencao.dados && !!manutencao.dados.telefones ? manutencao.dados.telefones : []);\r\n const [form] = Form.useForm();\r\n const [openModalTelefone, setOpenModalTelefone] = useState(false);\r\n const tagPrincipal = ['Principal'];\r\n const tagsAtivo = ['Ativo'];\r\n const [editingKey, setEditingKey] = useState('');\r\n const isEditing = record => record.key === editingKey;\r\n\r\n const alterarPropriedadeTelefone = (key, coluna, checked) => {\r\n const newData = [...dadosTelefone];\r\n if (coluna === 'psc_principal' && checked) {\r\n const indexPrincipal = newData.findIndex((item) => true === item.psc_principal);\r\n if (indexPrincipal !== -1) {\r\n newData[indexPrincipal][coluna] = false;\r\n }\r\n newData[key][coluna] = checked;\r\n } else {\r\n let count = 0;\r\n newData.forEach(dados => {\r\n if (dados[coluna]) {\r\n count++;\r\n }\r\n });\r\n if (count > 1 || (checked && coluna === 'psc_ativo')) {\r\n newData[key][coluna] = checked;\r\n }\r\n }\r\n setDadosTelefone(newData);\r\n };\r\n\r\n const editaTelefone = (record, indice) => {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalTelefone(true);\r\n };\r\n\r\n const removeTelefone = (record, indice) => {\r\n const newData = [...dadosTelefone];\r\n const index = newData.findIndex((item) => record.psc_numero === item.psc_numero);\r\n newData.splice(index, 1)\r\n setDadosTelefone(newData);\r\n };\r\n\r\n const modalExcluirTelefone = (record, indice) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o Telefone ${record.psc_numero} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n removeTelefone(record, indice);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ telefones: dadosTelefone } } } });\r\n }, [dadosTelefone]);\r\n\r\n useEffect(() => {\r\n if (!!manutencao.dados && !!manutencao.dados.telefones) {\r\n setDadosTelefone(manutencao.dados.telefones)\r\n }\r\n }, [manutencao.dados]);\r\n\r\n const columns = [\r\n {\r\n title: 'Telefone',\r\n render: ({ psc_numero }) => (\r\n
\r\n {FormatFone(psc_numero)}\r\n
\r\n )\r\n },\r\n {\r\n title: 'Tipo de Telefone',\r\n dataIndex: 'tpt_descricao',\r\n Key: 'tpt_descricao',\r\n editable: true,\r\n },\r\n { \r\n align: 'center',\r\n render: (record, obj, indice) => (\r\n tagPrincipal.map(tag => (\r\n alterarPropriedadeTelefone(indice, \"psc_principal\", checked)}\r\n >\r\n {tag}\r\n \r\n ))\r\n ),\r\n },\r\n {\r\n align: 'center',\r\n render: (record, obj, indice) => (\r\n tagsAtivo.map(tag => (\r\n alterarPropriedadeTelefone(indice, \"psc_ativo\", checked)}\r\n >\r\n {tag}\r\n \r\n ))\r\n ),\r\n },\r\n {\r\n title: 'Ramal',\r\n editable: true,\r\n render: ({ psc_ramal }) => (\r\n
\r\n {psc_ramal || 'Não Informado'}\r\n
\r\n\r\n ),\r\n },\r\n {\r\n title: 'Observação',\r\n editable: true,\r\n render: ({ psc_observacao }) => (\r\n
\r\n {psc_observacao || 'Não Informado'}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \"Telefone(s)\" Telefone(s)\r\n \r\n \r\n Adicione o(s) telefone(s) do cliente aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {editing ? (\r\n \r\n {inputNode}\r\n \r\n ) : (\r\n children\r\n )}\r\n
\r\n \r\n \r\n Ainda não possui Telefone Cadastrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 960 }} dataSource={dadosTelefone}\r\n />\r\n \r\n \r\n setOpenModalTelefone(false)} />\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Form, Tag, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { ModalOcupacao } from \"../../components/modals/\";\r\n\r\nexport default function Ocupacao() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosOcupacoes, setDadosOcupacoes] = useState(!!manutencao.dados && !!manutencao.dados.ocupacoes ? manutencao.dados.ocupacoes : []);\r\n const [form] = Form.useForm();\r\n const [openModalOcupacao, setOpenModalOcupacao] = useState(false);\r\n\r\n\r\n const alterarPropriedadeOcupacao = (key, coluna, checked) => {\r\n const newData = [...dadosOcupacoes];\r\n if (coluna === 'poc_principal' && checked) {\r\n const indexPrincipal = newData.findIndex((item) => true === item.poc_principal);\r\n if (indexPrincipal !== -1) {\r\n newData[indexPrincipal][coluna] = false;\r\n }\r\n }\r\n newData[key][coluna] = checked;\r\n setDadosOcupacoes(newData);\r\n };\r\n\r\n const editaOcupacao = (record, indice) => {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalOcupacao(true);\r\n };\r\n\r\n const removeOcupacao = (id) => {\r\n const newData = [...dadosOcupacoes];\r\n const index = newData.findIndex((item) => id === item.poc_id);\r\n newData.splice(index, 1)\r\n setDadosOcupacoes(newData);\r\n };\r\n\r\n const modalExcluirOcupacao = (record) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir a ocupação ${record.cbo_descricao} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n removeOcupacao(record.poc_id);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ ocupacoes: dadosOcupacoes } } } });\r\n }, [dadosOcupacoes]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Ocupações\" Ocupações - (OPCIONAL)\r\n \r\n Adicione a(s) ocupação(ões) do cliente aqui. \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
(\r\n
\r\n {cbo_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: '', \r\n align: 'center',\r\n render: (record, obj, indice) => (\r\n alterarPropriedadeOcupacao(indice, \"poc_principal\", checked)}\r\n >\r\n Principal\r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui Ocupação Cadastrada\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 960 }} dataSource={dadosOcupacoes}\r\n />\r\n \r\n \r\n setOpenModalOcupacao(false)} />\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport moment from 'moment';\r\nimport { Row, Col, Typography, Divider, Button, Tag, Table, Form, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { ModalNacionalidade } from \"../../components/modals/\";\r\n\r\nexport default function Nacionalidade() {\r\n\r\n const tagsData = ['Principal'];\r\n const [selectedTags, setSelectedTags] = useState(['Principal']);\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [listaNacionalidade, setListaNacionalidade] = useState(!!manutencao.dados && !!manutencao.dados.nacionalidades ? manutencao.dados.nacionalidades : []);\r\n const [openModalNacionalidade, setOpenModalNacionalidade] = useState(false);\r\n const [form] = Form.useForm();\r\n\r\n const selecionarOpcao = (tag, checked) => {\r\n const nextSelectedTags = checked ? [...selectedTags, tag] : selectedTags.filter(t => t !== tag);\r\n setSelectedTags(nextSelectedTags);\r\n }\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ nacionalidades: listaNacionalidade } } } });\r\n }, [listaNacionalidade]);\r\n\r\n function editarNacionalidade(record, indice) {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalNacionalidade(true);\r\n };\r\n\r\n function excluirNacionalidade(id) {\r\n const lista = [...listaNacionalidade];\r\n const index = lista.findIndex((item) => id === item.pse_id);\r\n lista.splice(index, 1)\r\n setListaNacionalidade(lista);\r\n };\r\n\r\n const modalConfirmaExclusao = (record) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir a nacionalidade ${record.pais.pse_nacionalidade} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n excluirNacionalidade(record.pais.pse_id);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Nacionalidade\" Nacionalidade - (OPCIONAL)\r\n \r\n Adicione a(s) nacionalidade(s) do cliente aqui. \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n
\r\n { pse_nome }\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Data de Entrada no País',\r\n render: ({ pen_dataentradapais }) => (\r\n
\r\n {moment(pen_dataentradapais).format(\"DD/MM/YYYY HH:mm:ss\")}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Observação',\r\n render: ({ pen_observacao }) => (\r\n
\r\n {pen_observacao}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n dataIndex: 'pen_naturalizadobrasil',\r\n Key: 'pen_naturalizadobrasil',\r\n render: (record) => (\r\n tagsData.map(tag => (\r\n -1}\r\n onChange={checked => selecionarOpcao(tag, checked)}\r\n >\r\n {tag}\r\n \r\n ))\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui Endereço Cadastrado\r\n \r\n \r\n \r\n )\r\n }} dataSource={listaNacionalidade} scroll={{ x: 960 }} />\r\n \r\n setOpenModalNacionalidade(false)} />\r\n \r\n\r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Tag, Form, Modal } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { ModalOutroContato } from \"../../components/modals/\";\r\n\r\nexport default function OutrosContatos() {\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosOutrosContatos, setDadosOutrosContatos] = useState(!!manutencao.dados && !!manutencao.dados.pessoaoutrocontatos ? manutencao.dados.pessoaoutrocontatos : []);\r\n const [form] = Form.useForm();\r\n const tagsData = ['Ativo'];\r\n const [openModalOutroContato, setOpenModalOutroContato] = useState(false);\r\n\r\n const editaOutroContato = (record, indice) => {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalOutroContato(true);\r\n };\r\n\r\n const alterarPropriedadeOutrosContatos = (indice, coluna, checked) => {\r\n const newData = [...dadosOutrosContatos];\r\n newData[indice][coluna] = checked;\r\n setDadosOutrosContatos(newData);\r\n };\r\n\r\n const removeOutroContato = (record, indice) => {\r\n const newData = [...dadosOutrosContatos];\r\n record.indice = indice;\r\n const index = newData.findIndex((item) => indice === item.indice);\r\n newData.splice(index, 1)\r\n setDadosOutrosContatos(newData);\r\n };\r\n\r\n const modalExcluirOutroContato = (record, indice) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir o Contato ${record.out_descricao} - ${record.toc_descricao} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n removeOutroContato(record, indice);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ pessoaoutrocontatos: dadosOutrosContatos } } } });\r\n\r\n }, [dadosOutrosContatos]);\r\n\r\n return (\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \"Outros Outros Contatos - (OPCIONAL)\r\n \r\n \r\n Adicione o(s) outro(s) contato(s) do cliente aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
(\r\n
\r\n {toc_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Descrição',\r\n render: ({ out_descricao }) => (\r\n
\r\n {out_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n\r\n render: (record, obj, indice) => (\r\n tagsData.map(tag => (\r\n alterarPropriedadeOutrosContatos(indice, \"out_ativo\", checked)}\r\n >\r\n {tag}\r\n \r\n ))\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui Outro Contato Cadastrado\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 960 }} dataSource={dadosOutrosContatos}\r\n />\r\n \r\n \r\n setOpenModalOutroContato(false)} />\r\n \r\n\r\n );\r\n\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Table, Tag, Modal, Form } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { MaskFormat } from \"../../ValueObjects\";\r\nimport { ModalPessoaAutorizada } from \"../../components/modals/\";\r\n\r\nexport default function PessoasAutorizadas() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [dadosPessoasAutorizadas, setDadosPessoasAutorizadas] = useState(!!manutencao.dados && !!manutencao.dados.pessoaautorizada ? manutencao.dados.pessoaautorizada : []);\r\n const [form] = Form.useForm();\r\n const [openModalPessoaAutorizada, setOpenModalPessoaAutorizada] = useState(false);\r\n\r\n const editaPessoaAutorizada = (record) => {\r\n form.setFieldsValue(record);\r\n setOpenModalPessoaAutorizada(true);\r\n };\r\n\r\n const alterarPropriedadePessoaAutorizada = (key, coluna, checked, idx) => {\r\n const newData = [...dadosPessoasAutorizadas];\r\n newData[idx][coluna] = checked;\r\n setDadosPessoasAutorizadas(newData);\r\n };\r\n\r\n const removePessoaAutorizada = (record, indice) => {\r\n const newData = [...dadosPessoasAutorizadas];\r\n record.indice = indice;\r\n const index = newData.findIndex((item) => indice === item.indice);\r\n newData.splice(index, 1)\r\n setDadosPessoasAutorizadas(newData);\r\n };\r\n\r\n const modalConfirmaExclusao = (record, indice) => {\r\n Modal.confirm({\r\n title: 'Excluir?',\r\n icon: ,\r\n content: `Deseja excluir a pessoa autorizada ${record.pes_nome} - ${record.grp_descricao} ?`,\r\n okText: 'Excluir',\r\n cancelText: 'Cancelar',\r\n centered: true,\r\n onOk() {\r\n removePessoaAutorizada(record, indice);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ pessoaautorizada: dadosPessoasAutorizadas } } } });\r\n }, [dadosPessoasAutorizadas]);\r\n\r\n return (\r\n\r\n
\r\n \r\n
\r\n \r\n \"Pessoas Pessoas Autorizadas - (OPCIONAL)\r\n \r\n \r\n Adicione a(s) pessoa(s) autorizada(s) aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n
\r\n {pes_nome}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'CPF',\r\n render: ({ pef_cpf }) => (\r\n
\r\n {MaskFormat(!!pef_cpf ? pef_cpf.replaceAll('.', '').replaceAll('-', '') : '', 'Não Informado', true)}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Grau de Parentesco',\r\n render: ({ grp_descricao }) => (\r\n
\r\n {grp_descricao}\r\n
\r\n ),\r\n },\r\n {\r\n title: 'Autorizado(a)',\r\n Key: 'pea_ativo',\r\n render: (record, indice, idx) => (\r\n alterarPropriedadePessoaAutorizada(indice, \"pea_ativo\", checked, idx)}\r\n >\r\n Autorizado(a)?\r\n \r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n fixed: 'right',\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui Pessoa Autorizada Cadastrada\r\n \r\n \r\n \r\n )\r\n }} scroll={{ x: 960 }} dataSource={dadosPessoasAutorizadas}\r\n />\r\n \r\n setOpenModalPessoaAutorizada(false)} />\r\n \r\n\r\n );\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Typography, Divider, Button, Tag, Form, Table } from \"antd\";\r\nimport { PlusOutlined, EditOutlined, DeleteOutlined, ExclamationCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { useStateValue } from \"../../state\";\r\nimport { manutencaoActions } from \"../../actions\";\r\nimport { ModalVeiculo } from \"../../components/modals/\";\r\n\r\nexport default function Veiculos() {\r\n\r\n const [{ ui, manutencao }, dispatch] = useStateValue();\r\n const [openModalVeiculo, setOpenModalVeiculo] = useState(false);\r\n const [dadosVeiculos, setDadosVeiculos] = useState(!!manutencao.dados && !!manutencao.dados.veiculos ? manutencao.dados.veiculos : []);\r\n const [form] = Form.useForm();\r\n const tagsAtivo = ['Ativo'];\r\n\r\n const editaTelefone = (record, indice) => {\r\n record.indice = indice;\r\n form.setFieldsValue(record);\r\n setOpenModalVeiculo(true);\r\n };\r\n\r\n const excluir = (record) => {\r\n let dadosTemp = [...dadosVeiculos];\r\n dadosTemp = dadosTemp.filter((dados) => dados !== record);\r\n setDadosVeiculos(dadosTemp);\r\n };\r\n\r\n const alterarPropriedadeVeiculo = (key, coluna, checked) => {\r\n const newData = [...dadosVeiculos];\r\n newData[key][coluna] = checked;\r\n setDadosVeiculos(newData);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: manutencaoActions.CHANGE, data: { dados: { ...manutencao.dados, ...{ veiculos: dadosVeiculos } } } });\r\n }, [dadosVeiculos]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \"Veículo(s)\" Veículo(s) - (OPCIONAL)\r\n \r\n \r\n Adicione o(s) veículo(s) do transportador aqui.\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
(\r\n
\r\n {trv_placa}-{trv_uf} {trv_marca} {trv_modelo}\r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n width: 75,\r\n align: 'center',\r\n render: (record, obj, indice) => (\r\n tagsAtivo.map(tag => (\r\n alterarPropriedadeVeiculo(indice, \"trv_ativo\", checked)}\r\n >\r\n {tag}\r\n \r\n ))\r\n ),\r\n },\r\n {\r\n title: 'Ações',\r\n dataIndex: '',\r\n align: 'center',\r\n key: 'x',\r\n width: 65,\r\n render: (record, obj, indice) => (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Ainda não possui Outro Contato Cadastrado\r\n \r\n \r\n \r\n )\r\n }} dataSource={dadosVeiculos} />\r\n \r\n setOpenModalVeiculo(false)} listaVeiculos={{ dadosVeiculos, setDadosVeiculos }} />\r\n \r\n\r\n );\r\n\r\n}","const drawerActions = {\r\n CHANGE: 'changeDrawer'\r\n}\r\n\r\nconst manutencaoActions = {\r\n CHANGE: 'changeManutencao'\r\n}\r\n\r\nconst listagemActions = {\r\n CHANGE: 'changeListagem'\r\n}\r\n\r\nconst tributacaoActions = {\r\n CHANGE: 'changeTributacao'\r\n}\r\n\r\nconst listaTabelaDadosActions = {\r\n CHANGE: 'changeListaTabelaDados'\r\n}\r\n\r\nconst parametrosEmpresaActions = {\r\n CHANGE: 'changeParametrosEmpresa'\r\n}\r\n\r\nconst selectPaginadoActions = {\r\n CHANGE: 'changeSelectPaginadoActions'\r\n}\r\n\r\n\r\nexport {\r\n drawerActions, manutencaoActions, listagemActions, tributacaoActions, listaTabelaDadosActions, parametrosEmpresaActions, selectPaginadoActions\r\n}","export default __webpack_public_path__ + \"static/media/Contrato_NewERP.ab6ad1e4.pdf\";","export default __webpack_public_path__ + \"static/media/i-print.f02b12f8.png\";","export default __webpack_public_path__ + \"static/media/i-servidor.1e5b5a82.png\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/vendas.9c6e90cd.png\";","export default __webpack_public_path__ + \"static/media/compra.056d5699.png\";","export default __webpack_public_path__ + \"static/media/pdv.f3e6acb7.png\";","export default __webpack_public_path__ + \"static/media/financeiro.da436854.png\";","export default __webpack_public_path__ + \"static/media/contabilidade.ea1a8b80.png\";","import React from 'react';\r\nimport moment from 'moment';\r\nimport { Form, Input } from 'antd';\r\n\r\nexport default function Data(props) {\r\n\r\n function subtrairSomarDias(data, dias, soma) {\r\n if (soma) {\r\n return new Date(data.getTime() +\r\n (dias * 24 * 60 * 60 * 1000));\r\n } else {\r\n return new Date(data.getTime() -\r\n (dias * 24 * 60 * 60 * 1000));\r\n }\r\n }\r\n class NovaData extends React.Component {\r\n onChange = e => {\r\n const { value } = e.target;\r\n let data = value;\r\n if (!!value) {\r\n let ano = moment(value).format(\"YYYY\");\r\n if (ano > 1000) {\r\n let dataAtual = new Date();\r\n let dataHora = new Date(moment(value));\r\n dataHora.setHours(dataAtual.getHours());\r\n dataHora.setMinutes(dataAtual.getMinutes());\r\n dataHora.setSeconds(dataAtual.getSeconds());\r\n data = moment(dataHora);\r\n }\r\n }\r\n this.props.onChange(data);\r\n };\r\n\r\n onBlur = (e) => {\r\n if (!!props.onBlur) {\r\n props.onBlur();\r\n }\r\n }\r\n\r\n onKeyUp = e => {\r\n let key = e.which || e.keyCode;\r\n\r\n if (key === 46) {\r\n this.props.onChange(null);\r\n return;\r\n }\r\n\r\n let data = null;\r\n if (key === 68) { // tecla D\r\n //passa a data atual\r\n data = new Date();\r\n }\r\n if (key === 79) { // tecla O\r\n //passa a data anterior\r\n data = subtrairSomarDias(new Date(), 1, false);\r\n }\r\n if (key === 65) { // tecla A\r\n //passa a data posterior\r\n data = subtrairSomarDias(new Date(), 1, true);\r\n }\r\n if (key === 73) {\r\n //passa a data inicial do mês\r\n let date = new Date();\r\n data = new Date(date.getFullYear(), date.getMonth(), 1);\r\n }\r\n if (key === 70) {\r\n //passa a data final do mês\r\n let date = new Date();\r\n data = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n }\r\n\r\n if (!!data) {\r\n this.props.onChange(moment(data));\r\n }\r\n\r\n if (!!props.onKeyUp) {\r\n props.onKeyUp();\r\n }\r\n }\r\n\r\n onPressEnter = () => {\r\n if (!!props.onPressEnter) {\r\n props.onPressEnter();\r\n }\r\n };\r\n\r\n onFocus = () => {\r\n if (!!props.onFocus) {\r\n props.onFocus();\r\n }\r\n };\r\n\r\n render() {\r\n const { value } = this.props;\r\n let data = value;\r\n if (!!!value && !!props.initialValue) {\r\n data = props.initialValue;\r\n }\r\n if (typeof value === 'object' && moment(data).isValid()) {\r\n data = !!props.month ? moment(data).format('YYYY-MM') : moment(data).format('YYYY-MM-DD');\r\n } else if (!(!!data)) {\r\n data = moment(null);\r\n }\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n class DataInput extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { value: '' };\r\n }\r\n\r\n onChange = value => {\r\n this.setState({ value });\r\n if (!!props.onChange) {\r\n props.onChange();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n};","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/catalogoEletronico.98c431d0.png\";","export default __webpack_public_path__ + \"static/media/pedidosOs.c0f1184a.png\";","export default __webpack_public_path__ + \"static/media/aReceber.073bcc17.png\";","export default __webpack_public_path__ + \"static/media/aPagar.a70a06d4.png\";","export default __webpack_public_path__ + \"static/media/contaCorrente.89b4a8bb.png\";","export default __webpack_public_path__ + \"static/media/caixaBanco.4fd821e4.png\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/fiscal.8c9d7c46.png\";","export default __webpack_public_path__ + \"static/media/impostos.3838058b.png\";","export default __webpack_public_path__ + \"static/media/sped.314bcb54.png\";","export default __webpack_public_path__ + \"static/media/indicadores.cdfa1938.png\";","export default __webpack_public_path__ + \"static/media/mdfe.d4d72119.png\";","export default __webpack_public_path__ + \"static/media/utilitarios.d0b228df.png\";","export default __webpack_public_path__ + \"static/media/i-subjacentes.4dd45421.png\";","export default __webpack_public_path__ + \"static/media/i-email.7dbd9933.png\";","export default __webpack_public_path__ + \"static/media/i-ocupacoes.2f1064ca.png\";","export default __webpack_public_path__ + \"static/media/i-nacionalidade.471ad975.png\";","export default __webpack_public_path__ + \"static/media/i-pessoas-autorizadas.97d039b7.png\";","import React, { useEffect, useState } from 'react';\r\nimport { Select, Divider, Pagination, Button, Row, Col } from 'antd';\r\nimport api from '../../../services/api';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport { manutencaoActions, selectPaginadoActions } from '../../../actions';\r\nimport { useStateValue } from '../../../state';\r\nimport { isNotNullOrEmpty } from '../../../services/funcoes';\r\n\r\nexport default function SelectPaginacao({ url, idValue, nameValue, nameLabel, onChangeFunction, onBlurFunction, onClearFunction, campoFiltro = \"filtro\", placeholder,\r\n form, atualizaComponente = false, mostrarCodigoLabel = false, multiple = false, funcaoIncluir = null, allowClear = false, conteudo = null, filtroPesq = null, filtroExtra,\r\n disabled = false, returnObject = false, selecionarRegUnico = null, setListaDados = null, onSelectFunction, usaDados = true }) {\r\n const [{ listaSelectPaginacao }, dispatch] = useStateValue();\r\n const [carregando, setCarregando] = useState(false);\r\n const [lista, setLista] = useState([]);\r\n const [filtro, setFiltro] = useState('');\r\n const [pagina, setPagina] = useState(1);\r\n const [registrosPorPagina, setRegistrosPorPagina] = useState(50);\r\n const [totalReg, setTotalReg] = useState(0);\r\n const [usouFiltro, setUsouFiltro] = useState(false);\r\n const [valor, setValor] = useState(null);\r\n const [campoDescricao, setCampoDescricao] = useState(null);\r\n const [filtroAnt, setFiltroAnt] = useState(\"\");\r\n const [multiplosFiltros, setMultiplosFiltros] = useState(false);\r\n const [listaFiltros, setListaFiltros] = useState([]);\r\n const _nameValue = idValue ? idValue : nameValue;\r\n\r\n useEffect(() => {\r\n if (!!lista && lista.length > 0) {\r\n if (lista.length == 1 && !!selecionarRegUnico) {\r\n let dados = lista.find(l => l.key == lista[0].key);\r\n if (!!selecionarRegUnico) {\r\n let val = dados ? dados[selecionarRegUnico] : null\r\n setValor(val);\r\n form.setFieldsValue({ [_nameValue]: val });\r\n }\r\n }\r\n if (usaDados) {\r\n if (!!setListaDados) {\r\n setListaDados(lista);\r\n } else {\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: [...lista] } });\r\n }\r\n }\r\n }\r\n }, [lista]);\r\n\r\n useEffect(() => {\r\n setFiltro(filtroPesq);\r\n }, [filtroPesq, atualizaComponente]);\r\n\r\n useEffect(() => {\r\n if (!isNotNullOrEmpty(form.getFieldValue([_nameValue]))) {\r\n setFiltro('');\r\n }\r\n setValor(form.getFieldValue([_nameValue]));\r\n }, [form.getFieldValue([_nameValue])]);\r\n\r\n useEffect(() => {\r\n if (!!lista && listaSelectPaginacao?.itens?.length > 0) {\r\n let lista = [...listaSelectPaginacao.itens];\r\n let listaFil = lista.filter(s => s.name === _nameValue);\r\n //if (listaFil.length == 1) {\r\n let item = listaFil[0];\r\n if (!!item && !!item.value) {\r\n if (!!item.campo) {\r\n setCampoDescricao(item.campo);\r\n }\r\n setPagina(1);\r\n setFiltro(item.value);\r\n let idx = lista.indexOf(item);\r\n lista.splice(idx, 1);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: { itens: lista } })\r\n }\r\n /*} else {\r\n setMultiplosFiltros(true);\r\n setListaFiltros(listaFil);\r\n }*/\r\n }\r\n }, [listaSelectPaginacao]);\r\n\r\n /*useEffect(() => {\r\n if (multiplosFiltros && listaFiltros?.length > 0) {\r\n let listaSelect = [...selectPaginado];\r\n listaSelect = listaSelect.filter(s => listaFiltros.indexOf(s) === -1);\r\n setPagina(1);\r\n dispatch({ type: selectPaginadoActions.CHANGE, data: listaSelect })\r\n }\r\n }, [multiplosFiltros]);\r\n*/\r\n function carregarDados() {\r\n setCarregando(true);\r\n let parametrosUrl = '';\r\n if (atualizaComponente !== null) {\r\n if (!multiplosFiltros) {\r\n !!filtro ? parametrosUrl = `&${!!campoDescricao ? campoDescricao : campoFiltro}=${filtro}` : parametrosUrl = \"\";\r\n } else {\r\n !!listaFiltros && listaFiltros.length > 0 ? listaFiltros.forEach(lf => parametrosUrl += `&${!!lf.campoDescricao ? lf.campoDescricao : lf.campoFiltro}=${lf.filtro}`) : parametrosUrl = \"\";\r\n }\r\n if (!!campoDescricao) {\r\n setCampoDescricao(null);\r\n }\r\n if (mostrarCodigoLabel) {\r\n parametrosUrl += `&Order=%2B${nameValue}`;\r\n }\r\n else {\r\n parametrosUrl += (nameLabel.search('[/+/g]') > 0 ? `&Order=%2B${nameLabel.split('+')[0]}` : `&Order=%2B${nameLabel}`);\r\n }\r\n parametrosUrl += `&pageNumber=${pagina}&pageSize=${registrosPorPagina}`;\r\n if (url.search(/[?]/g) === -1) {\r\n parametrosUrl = parametrosUrl.replace('&', '?');\r\n }\r\n !!filtroExtra ? parametrosUrl += filtroExtra : naoFazNada();\r\n api.get(url + parametrosUrl).then(\r\n (res) => {\r\n if (res.status === 200) {\r\n let dados = [];\r\n\r\n let indice = !!atualizaComponente ? 0 : lista.length > 0 ? lista[lista.length - 1].key + 1 : 0;\r\n res.data?.items?.map((item, idx) => {\r\n item.key = indice;\r\n dados.push(item);\r\n indice++;\r\n });\r\n\r\n setTotalReg(res.data.totalItems)\r\n if (!isNotNullOrEmpty(filtro)) {//filtro em branco\r\n if (usouFiltro === true || atualizaComponente !== false) {\r\n atualizaComponente = false\r\n setUsouFiltro(false);\r\n setLista(dados);\r\n } else {\r\n setLista([...lista, ...dados]);\r\n }\r\n } else {\r\n if (filtro === filtroAnt) {\r\n if (pagina > 1) {\r\n setLista([...lista, ...dados]);\r\n } else {\r\n setLista(dados);\r\n }\r\n } else {\r\n setUsouFiltro(true);\r\n setFiltroAnt(filtro);\r\n setLista(dados);\r\n setPagina(1);\r\n }\r\n }\r\n }\r\n }\r\n ).finally(\r\n () => {\r\n setCarregando(false)\r\n }\r\n );\r\n }\r\n }\r\n\r\n function naoFazNada() { }\r\n\r\n function recarregaDados() {\r\n let totalPag = Math.trunc(totalReg / registrosPorPagina) + 1\r\n if (totalPag > pagina) {\r\n setPagina(pagina + 1)\r\n }\r\n }\r\n\r\n useEffect(() => carregarDados(), [filtro, pagina, atualizaComponente]);\r\n\r\n return (\r\n {\r\n if (option.props.value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }}\r\n onSearch={(valor) => { setFiltro(valor); }}\r\n onPopupScroll={e => {\r\n const { target } = e;\r\n if (target.scrollTop + target.offsetHeight === target.scrollHeight) {\r\n recarregaDados();\r\n }\r\n }}\r\n dropdownRender={!!funcaoIncluir ? menu => (\r\n
\r\n \r\n
\r\n {menu}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n onChange={(valor) => {\r\n setValor(valor);\r\n form.setFieldsValue({ [_nameValue]: valor });\r\n !!onChangeFunction ? onChangeFunction(valor) : naoFazNada();\r\n }}\r\n\r\n onBlur={(valor) => {\r\n\r\n !!onBlurFunction ? onBlurFunction(valor) : naoFazNada();\r\n }}\r\n\r\n onClear={(valor) => {\r\n !!onClearFunction ? onClearFunction(valor) : naoFazNada();\r\n }}\r\n\r\n onSelect={(valor) => {\r\n setValor(valor);\r\n form.setFieldsValue({ [_nameValue]: valor });\r\n !!onSelectFunction ? onSelectFunction(valor) : naoFazNada();\r\n }}\r\n\r\n >\r\n {lista.map(item =>\r\n !!conteudo ? conteudo(item) :\r\n {mostrarCodigoLabel ? item[nameValue] + \" - \" : \"\"} {(nameLabel.search(/[+]/g) > 0 ? (item[nameLabel.split('+')[0]] + \" - \" + item[nameLabel.split('+')[1]]) : item[nameLabel])} \r\n )}\r\n \r\n )\r\n}\r\n","export default __webpack_public_path__ + \"static/media/img-home.d331a346.jpg\";","export default __webpack_public_path__ + \"static/media/img-home-01.4c36f3ae.jpg\";","export default __webpack_public_path__ + \"static/media/img-home-02.90e7cf34.jpg\";","export default __webpack_public_path__ + \"static/media/img-home-03.ee856c7c.jpg\";","export default __webpack_public_path__ + \"static/media/i-sem-acesso.3ad53de4.png\";","import React, { useState } from \"react\";\r\nimport { Input, Form } from \"antd\";\r\n\r\n/*\r\n Ao utilizar o componente não setar valor para constantes como por exemplo setValorPedido(valor), pois isso fará com que o focus saia do input\r\n*/\r\n\r\nexport default function InputPreco(props) {\r\n\r\n /* props.percent ou props.cifrao removido, pois ao tentar utilizar o backspace não funciona */\r\n function formatNumber(value) {\r\n let precisao = !!props.precision ? props.precision : props.precision == 0 ? 0 : 2;\r\n if (!(!!value) || isNaN(value)) {\r\n value = !!props.initialValue ? props.initialValue : '0.00';\r\n }\r\n value = parseFloat(value).toFixed(precisao);\r\n value += '';\r\n const list = value.split('.');\r\n const prefix = list[0].charAt(0) === '-' ? '-' : '';\r\n let num = prefix ? list[0].slice(1) : list[0];\r\n let result = '';\r\n while (num.length > 3) {\r\n result = `.${num.slice(-3)}${result}`;\r\n num = num.slice(0, num.length - 3);\r\n }\r\n if (num) {\r\n result = num + result;\r\n }\r\n\r\n let aposVirgula = '';\r\n while (aposVirgula.length < precisao) aposVirgula = \"0\" + aposVirgula;\r\n let resultado = precisao == 0 ? '' :','+ aposVirgula;\r\n\r\n return `${prefix}${result}${list[1] ? `,${list[1]}` : resultado}`;\r\n }\r\n\r\n class InputValor extends React.Component {\r\n onChange = e => {\r\n const { value } = e.target;\r\n let precisao = !!props.precision ? props.precision : props.precision == 0 ? 0 : 2;\r\n let valorTemp = value;\r\n valorTemp = valorTemp.replace('', '');\r\n valorTemp = valorTemp.replaceAll(',', '').replaceAll('.', '');\r\n if (parseFloat(valorTemp).toString().length <= precisao) {\r\n let zeros = '0'.repeat(precisao);\r\n let valDivisao = 1 + zeros;\r\n valorTemp = parseFloat(valorTemp / valDivisao).toFixed(precisao);\r\n } else {\r\n valorTemp = valorTemp.slice(0, valorTemp.length - precisao) + '.' + valorTemp.slice(valorTemp.length - precisao);\r\n }\r\n valorTemp = valorTemp.toString();\r\n const reg = /^-?\\d*(\\.\\d*)?$/;\r\n if ((!isNaN(valorTemp) && reg.test(valorTemp)) || valorTemp === '' || valorTemp === '-') {\r\n this.props.onChange(valorTemp);\r\n }\r\n };\r\n\r\n onBlur = () => {\r\n const { value, onBlur, onChange } = this.props;\r\n if (!!value) {\r\n let valueTemp = value.toString();\r\n if (valueTemp.charAt(valueTemp.length - 1) === '.' || valueTemp === '-') {\r\n valueTemp = valueTemp.slice(0, -1);\r\n }\r\n onChange(valueTemp.replace(/0*(\\d+)/, '$1'));\r\n if (onBlur) {\r\n onBlur();\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { value } = this.props;\r\n let valor = value;\r\n if (props.somenteValorPositivo !== null && props.somenteValorPositivo !== undefined) {\r\n valor = parseFloat(value);\r\n if (!!props.somenteValorPositivo) {\r\n if (valor < 0) {\r\n valor = valor * -1;\r\n }\r\n }\r\n valor = valor.toString();\r\n if (valor.indexOf('.') > -1 && valor.split('.')[1].length < 2) {\r\n valor += '0';\r\n }\r\n }\r\n return (\r\n (this.myInputRef = c)}\r\n {...this.props}\r\n value={formatNumber(valor)}\r\n disabled={!!props.disabled}\r\n onChange={this.onChange}\r\n onBlur={this.onBlur}\r\n style={!!props.style ? props.style : {}}\r\n onFocus={this.onFocus}\r\n precision={!!props.precision ? props.precision : 2}\r\n placeholder={!!props.placeholder ? props.placeholder : ''}\r\n maxLength={18}\r\n className='text-right'\r\n />\r\n );\r\n }\r\n };\r\n\r\n class NumericInputDemo extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { value: 0 };\r\n }\r\n\r\n onChange = value => {\r\n this.setState({ value });\r\n if (!!props.onChange) {\r\n props.onChange();\r\n }\r\n };\r\n\r\n onBlur = () => {\r\n if (!!props.onBlur) {\r\n props.onBlur();\r\n }\r\n };\r\n\r\n onPressEnter = () => {\r\n if (!!props.onPressEnter) {\r\n props.onPressEnter();\r\n }\r\n };\r\n\r\n onFocus = () => {\r\n if (!!props.onFocus) {\r\n props.onFocus();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n \r\n\r\n );\r\n}","export default __webpack_public_path__ + \"static/media/venda-liquida.347ae568.png\";","export default __webpack_public_path__ + \"static/media/compra-liquida.fddcf344.png\";","export default __webpack_public_path__ + \"static/media/posicao-estoque.21be5beb.png\";","export default __webpack_public_path__ + \"static/media/receita-despesas.53d59ada.png\";","export default __webpack_public_path__ + \"static/media/i-gerente.ae0c7a3f.png\";","export default __webpack_public_path__ + \"static/media/i-settings.821462f7.png\";","export default __webpack_public_path__ + \"static/media/caixa.c2e705db.png\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/i-storage.e6a00b8a.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAAACdAAAAnQGPcuduAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABvZJREFUeNqslltslMcdxX8z833frvfiXbw2xsbBIC422NwcAoQQLoVeUggtfUCEqJSSqqoqNb0oVfsSqqqhatqouaiqIhopaSiCRCFNwUkaIEChCYYC4WZsMBhsA1479nq99q53v91vpg9ASih963mdmXN0/hqd8xf9q7/GPbBKIH5ooeoAr4B3wmB+h+awPcmgYoDH95WS37aVrAbSeU/v9zy9GWi/m0zcQ+SXArEpb1y6RByDocqMwS98rtbmu/Yks1XF2G4LtSbeP0jT2StIJZlXN56yaDjuab0GOHwnoXWXwAJgEwbOhNvpCPXhGY/eTIr5qToHxPPAUinEmsxIjl3/PMvp1k/xPOjs7uN731g8RgjxJ2PMbGDkNqn62dTaO0WeEYiZ6cIQgYdqWbrwMWbWLMIKFOG19eJouwg5NKtoTIijZy5T9cACGubWk8+mGUgmqa0upzjoL9XGHAIu/y8nEzEGy+cnGh2DkgqFRThahhf6FJPI4w0MYnQJLor6abWUVpYzf9li/vrqNoaH04jSCEANsOczEWEMAEYIgKQxBsf2E/BF8NBgIOJEyfhCGJFC+AMgJVIIDAbyeXB8FPkdQgGB1gagX2KQt7glgDQGv+viy+ffEQJEOodz6AJyOIsccfH94yKiJ4FtZUy02slZuWH80rBv526G0iOcPvwxvRfOUxaLIr3CcMDLHwRIWH4+tYuwXly7Dqk1Ff19TL/U9srUjo5V2piVvz0TF/Mnz6QkHOKdphM8YfUwXGGLi9mAM761j/qSIBeKpyCG0mQ9Td2DcynSbq7bCj71evnkG42jqrnhC1IQEvHNw4cxQuBJGbM875H6nviixPGz65/dd8q33C9NlH6xO3mOJ0t9nOrIcMOVhIXmxWVB3m6o5cHqlbRGanQk0yM7h3ovby8Zv/2qP9Jhu9lGy5i4ANSc9etRWi+xPa/Rsu0nuoy5f6BytFXz8Fx8Zdbg+uqT8tlHK9WRdo/iUeMYTiVJZjU1s0azYobgqGef3GRP69mrCxXJAx+VTNrVuCgztnKVG4uts73CJYm5YAEzgUbp8wX7jhwm/spLWAWXio0/Ijg9Ek1fk1QWCx6dN41F93+Zi53XOHGhg8nlrdSGingz3jE9W5pTcz/4gOV/3obfguBIgvef/nWlkdZOYfRyNXvDhj8Kx5mZbD7L9ENvUxFwOHfxKrmr7YyaEqO9r41pwSImlzVg2WHKYsWMLy8nbKfo9hJ8pzOv3PI5Yun+PTy5egkL132dCZkUh/LQXz1BKs8bZwELkBb55k94/OHZTKyZRMPej9hx4DjuiEQIi7ZMnimjkhTMfRRcTcDJEC7J8l53joQqQ2AxYeF8pkyrAmURWbqI8MBn37neAmytNUXGI1ocQgnBYysWMadhFs9FpjJwvgWje0C0Ygo2QlWhdBNYKQoaKJ1BUNksvK8c8nm8gsbn2CyJBTjpeQBKAuelkgx5hlOXOsBSZAcGeC9fRDZSgb92LdFQbOCnbxT4yV8u8cbBFlb8oZ8Pzxq3alzNPjn2wXzOy7OluJysVCijORaKsqOkEkd7AF0SeE4Yg7xvAr/auovm85dpPNVFU3AsBVGgODD+7/6TVS9bx0ZMx6EWXn9tH5GWBJl96lrhdGy9ZVk7bWnYqf08nfXTrQ3fyoa5IdTtzHpJzd6w4UJeM/ylKEtDZ8+oBUmo68sxa2KE86NGN63e/e7JuS2dT9aXhuzrpPF8Hg+XF/OV4rJRNe2Di40yP94/duwM8XG82mnrpqSQY9u/hnGUbWSpfzOG36tZGzaAMUcWOyN7Vlo+1+3PDRnHaqZ27AtTj51+tv7UuRdMkS+6+UoLb8U76XdzHOzvxbFt5paUVs7rup4ecvzrs5b/ekfOMjuHnOtVAd+H4wM81VcafFXfTmEJ9Gt5dDgSPdr2QDmjcxlip64wsbn9cXz2mISbo882fHHmNMKOQ8p1ud4zRF4IQKzc1HT8579pmLPl6LiSLemQTXV/mkJIYQwg7oh6CaA1Wgh8iRSx1st4SlUoIRgcyfLVhxpYu3oZ5AvEk4O8/PwOPM+jIGVxkesGNjafSzffP59k0KGgwTP/6Q95Z5loJYkmU5R23kBLCUJcEbfOegdSt2pOkUilybl5xM166MlZ1sikoUE2trWipcDcVVKfEzEIalovEhjJYqQE2At0+HwOf2s6ydZ3D3D1Ri+bXttJLl9A3bzzFqDTyuKR+DUWdsfJKnVvESMEys1j5dybLm4iBfwASFcmNOlz3WTiSUKtCSq1jRE0Ai/dfu94HvO6uvHE5918vn6N+a/dyMBuKdUXHiqp+EXqk2uz32/u9tVZ4Z664pI3C0Y/AxQ+G7cQSG0Qd69E5h7E/2/8ewB4qBNMvOd67AAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/i-password.32016030.png\";","export default __webpack_public_path__ + \"static/media/i-chat.734a99c5.png\";"],"sourceRoot":""}