private bool TransmitirSiafemRobo(Usuario user, string ug, ProgramacaoDesembolsoAgrupamento programacaoDesembolsoAgrupamento, bool isHasError)
        {
            try
            {
                var programacaoDesenbolso = _agrupamento.ProgramacaoDesembolsoFactory(programacaoDesembolsoAgrupamento);
                var result = _siafem.InserirProgramacaoDesembolso(user.CPF, Decrypt(user.SenhaSiafem), ug, programacaoDesenbolso);

                programacaoDesembolsoAgrupamento.NumeroSiafem = result;

                programacaoDesembolsoAgrupamento.MensagemServicoSiafem = null;
                programacaoDesembolsoAgrupamento.TransmitidoSiafem     = true;
                programacaoDesembolsoAgrupamento.StatusSiafem          = "S";
                programacaoDesembolsoAgrupamento.DataTransmitidoSiafem = DateTime.Now;
                programacaoDesembolsoAgrupamento.CausaCancelamento     = null;
                programacaoDesembolsoAgrupamento.Cancelado             = false;
            }
            catch (Exception ex)
            {
                programacaoDesembolsoAgrupamento.StatusSiafem          = "E";
                programacaoDesembolsoAgrupamento.MensagemServicoSiafem = ex.Message;
                isHasError = true;
            }
            finally
            {
                _agrupamento.SalvarOuAlterar(programacaoDesembolsoAgrupamento, 0, 1);
            }
            return(isHasError);
        }
 public IEnumerable <ProgramacaoDesembolsoAgrupamento> FetchBloqueio(ProgramacaoDesembolsoAgrupamento entity)
 {
     return(DataHelper.List <ProgramacaoDesembolsoAgrupamento>("PR_PROGRAMACAO_DESEMBOLSO_AGRUPAMENTO_BLOQUEIO_CONSULTAR",
                                                               new SqlParameter("@nr_agrupamento", entity.NumeroAgrupamento),
                                                               new SqlParameter("@nr_documento", entity.NumeroDocumento)
                                                               ));
 }
Beispiel #3
0
        public int SalvarOuAlterar(ProgramacaoDesembolsoAgrupamento entity, int resource, short action)
        {
            try
            {
                entity.Id = _repository.Save(entity);

                return(entity.Id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, resource);
            }
        }
Beispiel #4
0
        public AcaoEfetuada Excluir(ProgramacaoDesembolsoAgrupamento entity, int resource, short action)
        {
            try
            {
                _repository.Remove(entity.Id);

                return(AcaoEfetuada.Sucesso);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, actionId: action, functionalityId: resource);
            }
        }
        public IEnumerable <ProgramacaoDesembolsoAgrupamento> Fetch(ProgramacaoDesembolsoAgrupamento entity)
        {
            return(DataHelper.List <ProgramacaoDesembolsoAgrupamento>("PR_PROGRAMACAO_DESEMBOLSO_AGRUPAMENTO_CONSULTAR",
                                                                      new SqlParameter("@id_programacao_desembolso_agrupamento", entity.Id),
                                                                      new SqlParameter("@id_programacao_desembolso", entity.PagamentoContaUnicaId),
                                                                      new SqlParameter("@nr_documento_gerador", entity.NumeroDocumentoGerador),
                                                                      new SqlParameter("@nr_agrupamento", entity.NumeroAgrupamento),
                                                                      new SqlParameter("@nr_siafem_siafisico", entity.NumeroSiafem),
                                                                      new SqlParameter("@nr_processo", entity.NumeroProcesso),
                                                                      new SqlParameter("@id_tipo_documento", entity.DocumentoTipoId),
                                                                      new SqlParameter("@nr_documento", entity.NumeroDocumento),
                                                                      new SqlParameter("@bl_bloqueio", entity.Bloquear)

                                                                      ));
        }
        public int Save(ProgramacaoDesembolsoAgrupamento entity)
        {
            var sqlParameterList = DataHelper.GetSqlParameterList(entity, new string[] { "@obs", "@nr_ct", "@nr_ne", "@nr_op" });

            return(DataHelper.Get <int>("PR_PROGRAMACAO_DESEMBOLSO_AGRUPAMENTO_SALVAR", sqlParameterList));
        }
Beispiel #7
0
 public IEnumerable <ProgramacaoDesembolsoAgrupamento> Buscar(ProgramacaoDesembolsoAgrupamento entity)
 {
     return(_repository.Fetch(entity));
 }
Beispiel #8
0
 public ProgramacaoDesembolso ProgramacaoDesembolsoFactory(ProgramacaoDesembolsoAgrupamento agrupamento)
 {
     return(new ProgramacaoDesembolso
     {
         Id = agrupamento.Id,
         CadastroCompleto = true,
         TransmitirSiafem = true,
         MensagemServicoSiafem = agrupamento.MensagemServicoSiafem,
         NumeroDocumentoGerador = agrupamento.NumeroDocumentoGerador,
         DataCadastro = agrupamento.DataCadastro,
         DataEmissao = agrupamento.DataEmissao,
         DataTransmitidoSiafem = agrupamento.DataTransmitidoSiafem,
         DocumentoTipoId = agrupamento.DocumentoTipoId,
         NumeroDocumento = agrupamento.NumeroDocumento,
         TransmitidoSiafem = agrupamento.TransmitidoSiafem,
         RegionalId = agrupamento.RegionalId,
         CodigoDespesa = agrupamento.CodigoDespesa,
         ProgramacaoDesembolsoTipoId = agrupamento.ProgramacaoDesembolsoTipoId,
         CodigoUnidadeGestora = agrupamento.CodigoUnidadeGestora,
         CodigoGestao = agrupamento.CodigoGestao,
         DataVencimento = agrupamento.DataVencimento,
         NumeroListaAnexo = agrupamento.NumeroListaAnexo,
         NumeroNLReferencia = agrupamento.NumeroNLReferencia ?? string.Empty,
         NumeroCnpjcpfPagto = agrupamento.NumeroCnpjcpfPagto,
         GestaoPagto = agrupamento.GestaoPagto,
         NumeroBancoPagto = agrupamento.NumeroBancoPagto,
         NumeroAgenciaPagto = agrupamento.NumeroAgenciaPagto,
         NumeroContaPagto = agrupamento.NumeroContaPagto,
         NumeroCnpjcpfCredor = agrupamento.NumeroCnpjcpfCredor,
         GestaoCredor = agrupamento.GestaoCredor,
         NumeroBancoCredor = agrupamento.NumeroBancoCredor,
         NumeroAgenciaCredor = agrupamento.NumeroAgenciaCredor,
         NumeroContaCredor = agrupamento.NumeroContaCredor,
         NumeroProcesso = agrupamento.NumeroProcesso,
         Valor = agrupamento.Valor,
         Finalidade = agrupamento.Finalidade,
         Agrupamentos = new List <ProgramacaoDesembolsoAgrupamento>
         {
             new ProgramacaoDesembolsoAgrupamento
             {
                 NumeroDocumentoGerador = agrupamento.NumeroDocumentoGerador,
                 NomeCredorReduzido = agrupamento.NomeCredorReduzido,
                 NumeroCnpjcpfPagto = agrupamento.NumeroCnpjcpfPagto,
                 Classificacao = agrupamento.Classificacao,
                 DataVencimento = agrupamento.DataVencimento,
                 Valor = agrupamento.Valor,
                 NumeroSiafem = agrupamento.NumeroSiafem,
                 MensagemServicoSiafem = agrupamento.MensagemServicoSiafem
             }
         },
         Eventos = new List <ProgramacaoDesembolsoEvento>
         {
             new ProgramacaoDesembolsoEvento
             {
                 NumeroEvento = agrupamento.NumeroEvento,
                 InscricaoEvento = agrupamento.InscricaoEvento,
                 Classificacao = agrupamento.Classificacao,
                 ValorUnitario = (int)agrupamento.Valor,
                 Fonte = agrupamento.Fonte
             }
         }
     });
 }
Beispiel #9
0
        private static List <ProgramacaoDesembolsoAgrupamento> ProgramacaoDesembolsoAgrupamentosFactory(Procedure_ConsultaPagtosPrepararSDFFRecordType[] result)
        {
            var documentoGeradorList = new List <ProgramacaoDesembolsoAgrupamento>();
            int seq = 0;

            var parametros = new ProgramacaoDesembolsoAgrupamentoDal().BuscaParametros();


            foreach (var selectedItem in result)
            {
                var documentoGerador = new ProgramacaoDesembolsoAgrupamento();

                if (selectedItem.outDataRealizacao.Equals("00/00/2000"))
                {
                    selectedItem.outDataRealizacao = "01/01/2000";
                }

                if (selectedItem.outVencimento.Equals("00/00/2000"))
                {
                    selectedItem.outVencimento = "01/01/2000";
                }

                //if (!string.IsNullOrWhiteSpace(selectedItem.outDataRealizacao))
                documentoGerador.DataEmissao = DateTime.Now;

                if (!string.IsNullOrWhiteSpace(selectedItem.outVencimento))
                {
                    if (Convert.ToDateTime(selectedItem.outVencimento) < DateTime.Now)
                    {
                        documentoGerador.DataVencimento = DateTime.Now;
                    }
                    else
                    {
                        documentoGerador.DataVencimento = Convert.ToDateTime(selectedItem.outVencimento);
                    }
                }

                documentoGerador.DocumentoTipoId = string.IsNullOrWhiteSpace(selectedItem.outNumDoc) ? 0 : Convert.ToInt32(selectedItem.outNumDoc.Substring(0, 2));

                switch (documentoGerador.DocumentoTipoId)
                {
                case 5:
                    documentoGerador.NumeroDocumento = $"{selectedItem.outNumDoc.Substring(5, 9)}/{selectedItem.outNumDoc.Substring(14, 3)}";
                    break;

                case 11:
                    documentoGerador.NumeroDocumento = $"{selectedItem.outNumDoc.Substring(2, 9)}/{selectedItem.outNumDoc.Substring(11, 3)}/{selectedItem.outNumDoc.Substring(14, 3)}";
                    break;
                }

                documentoGerador.Sequencia             = seq += 1;
                documentoGerador.MensagemServicoSiafem = "";
                documentoGerador.Regional             = selectedItem.outOrgao;
                documentoGerador.CodigoUnidadeGestora = "162101";
                documentoGerador.CodigoGestao         = "16055";
                documentoGerador.NumeroListaAnexo     = "";
                documentoGerador.NumeroNLReferencia   = NLFactory(selectedItem);;
                documentoGerador.NumeroProcesso       = selectedItem.outProcesso;

                if (!string.IsNullOrWhiteSpace(selectedItem.outContrato))
                {
                    documentoGerador.NumeroContrato = $"{selectedItem.outContrato.Substring(0, 2)}.{selectedItem.outContrato.Substring(2, 2)}.{selectedItem.outContrato.Substring(4, 5)}-{selectedItem.outContrato.Substring(9, 1)}";
                }

                documentoGerador.CodigoAplicacaoObra = selectedItem.outCodObra;

                if (!string.IsNullOrWhiteSpace(selectedItem.outVencimento))
                {
                    decimal valorConvertido;

                    if (decimal.TryParse(selectedItem.outValorDoc.Replace(",", ""), out valorConvertido))
                    {
                        documentoGerador.Valor = valorConvertido;
                    }
                }

                documentoGerador.NumeroDocumentoGerador = selectedItem.outNumDoc;
                documentoGerador.NomeCredorReduzido     = selectedItem.outEmpresa;


                if (string.IsNullOrWhiteSpace(selectedItem.outFonte))
                {
                    documentoGerador.NumeroCnpjcpfCredor = "";
                }
                else if ((selectedItem.outEmpresa == "ISS/SAO PAULO") || (selectedItem.outEmpresa == "INSS-11%"))
                {
                    documentoGerador.NumeroCnpjcpfCredor = "162184";
                }
                else if (selectedItem.outFonte == "01" || selectedItem.outFonte == "41")
                {
                    documentoGerador.NumeroCnpjcpfCredor = "162181";
                }
                else
                {
                    documentoGerador.NumeroCnpjcpfCredor = "162184";
                }


                documentoGerador.GestaoCredor        = "16055";
                documentoGerador.NumeroBancoCredor   = "";
                documentoGerador.NumeroAgenciaCredor = "";
                documentoGerador.NumeroContaCredor   = "UNICA";
                documentoGerador.NumeroNE            = (!string.IsNullOrWhiteSpace(selectedItem.outNE)) ? selectedItem.outNE : "";
                documentoGerador.numNLRef            = selectedItem.outNL;

                var vNumContrato = "00.000-0/00";

                if (!string.IsNullOrWhiteSpace(selectedItem.outContrato))
                {
                    vNumContrato = $"{selectedItem.outContrato.Substring(4, 2)}.{selectedItem.outContrato.Substring(6, 3)}-{selectedItem.outContrato.Substring(9, 1)}/{selectedItem.outContrato.Substring(0, 2)}";
                }



                if (selectedItem.outOrganiz == "8")
                {
                    documentoGerador.Finalidade = string.IsNullOrEmpty(selectedItem.outNotaFiscal) ? $"PAGTO ISSQN CONTR {vNumContrato}" : $"PAGTO ISSQN CONTR {vNumContrato} N.F. {selectedItem.outNotaFiscal}";
                }
                else
                {
                    switch (selectedItem.outEmpresa)
                    {
                    case "ISS/SAO PAULO":
                        documentoGerador.Finalidade = string.IsNullOrEmpty(selectedItem.outNotaFiscal) ? $"PAGTO ISS/SP CONT {vNumContrato}" : $"PAGTO ISS/SP CONT {vNumContrato} N.F. {selectedItem.outNotaFiscal}";
                        break;

                    case "INSS-11%":
                        documentoGerador.Finalidade = string.IsNullOrEmpty(selectedItem.outNotaFiscal) ? $"PAGTO INSS CONTR {vNumContrato}" : $"PAGTO INSS CONTR {vNumContrato} N.F. {selectedItem.outNotaFiscal}";
                        break;

                    default:
                        documentoGerador.Finalidade = string.IsNullOrEmpty(selectedItem.outNotaFiscal) ? $"PAGTO CONTRATO {vNumContrato}" : $"PAGTO CONTRATO {vNumContrato} N.F. {selectedItem.outNotaFiscal}";
                        break;
                    }
                }


                if (string.IsNullOrEmpty(selectedItem.outListaSiafem))
                {
                    documentoGerador.NumeroListaAnexo = "";
                }
                else
                {
                    if (selectedItem.outEmpresa == "INSS-11%" || selectedItem.outEmpresa == "ISS/SAO PAULO")
                    {
                        documentoGerador.NumeroListaAnexo = selectedItem.outListaSiafem;
                    }
                }


                documentoGerador.Classificacao   = ClassificacaoFactory(selectedItem);
                documentoGerador.NumeroEvento    = EventoFactory(selectedItem);
                documentoGerador.InscricaoEvento = InscricaoEventoFactory(selectedItem);
                documentoGerador.CodigoDespesa   = selectedItem.outDespesa;
                documentoGerador.RecDespesa      = EventoDespesaFactory(selectedItem);


                switch (selectedItem.outEmpresa)
                {
                case "ISS/SAO PAULO":
                    var iss = parametros.FirstOrDefault(i => i.NomeCredorReduzido == "ISS/SAO PAULO");

                    documentoGerador.NumeroCnpjcpfPagto = iss.NumeroCnpjcpfCredor;
                    documentoGerador.NumeroBancoPagto   = iss.NumeroBancoCredor;
                    documentoGerador.NumeroAgenciaPagto = iss.NumeroAgenciaCredor;
                    documentoGerador.NumeroContaPagto   = iss.NumeroContaCredor;

                    break;

                case "INSS-11%":
                    var inss = parametros.FirstOrDefault(i => i.NomeCredorReduzido == "INSS-11%");

                    documentoGerador.NumeroCnpjcpfPagto = inss.NumeroCnpjcpfCredor;
                    documentoGerador.NumeroBancoPagto   = inss.NumeroBancoCredor;
                    documentoGerador.NumeroAgenciaPagto = inss.NumeroAgenciaCredor;
                    documentoGerador.NumeroContaPagto   = inss.NumeroContaCredor;

                    break;

                default:
                    documentoGerador.NumeroCnpjcpfPagto = selectedItem.outCodCredor;
                    documentoGerador.NumeroBancoPagto   = selectedItem.outContaFavBanco;
                    documentoGerador.NumeroAgenciaPagto = selectedItem.outContaFavAgencia;
                    documentoGerador.NumeroContaPagto   = selectedItem.ouContaFavConta;
                    break;
                }



                documentoGerador.Fonte       = selectedItem.outFonteSiafem;
                documentoGerador.GestaoPagto = "";

                documentoGeradorList.Add(documentoGerador);
            }

            return(documentoGeradorList);
        }