Esempio n. 1
0
        private ReclassificacaoRetencao GerarNlDeRepasseParaRegionais(ParametrosGeracaoNl parametrosGeracao, KeyValuePair <string, List <ConfirmacaoPagamentoItem> > ops)
        {
            var rr      = new ReclassificacaoRetencao();
            var eventos = new List <ReclassificacaoRetencaoEvento>();
            var notas   = new List <ReclassificacaoRetencaoNota>();

            // TODO verificar propriedades
            DefinirPropriedadesComuns(parametrosGeracao, rr);

            var parametrizacao = parametrosGeracao.ParametrizacoesNl.FirstOrDefault(x => x.Despesas.Any(y => y.IdTipo == parametrosGeracao.ItemConfirmacao.IdTipoDespesa));

            if (parametrizacao != null)
            {
                rr.CodigoGestao    = parametrizacao.FavorecidaNumeroGestao.ToString(); // geral
                rr.CodigoInscricao = string.Empty;
                // rr.CodigoUnidadeGestora = parametrizacao.UnidadeGestora.HasValue ? parametrizacao.UnidadeGestora.Value.ToString() : string.Empty;
                // TODO valor
                // TODO UG Favorecido já definido no começo?
                // TODO Gestão Favorecido já definido no começo?
                rr.DescricaoObservacao1 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 1);
                rr.DescricaoObservacao2 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 2);
                rr.DescricaoObservacao3 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 3);


                GerarEventoEntrada(rr, eventos, parametrizacao);
                GerarEventosSaida(parametrosGeracao, rr, eventos, parametrizacao);
                // TODO Na coluna “Inscrição do Evento” de saída, é formatado com o número da “Unidade Gestora” seguido do número da Gestão, devera ser desconsiderada, UG e Gestão do usuário e obter UG e Gestão parametrizada para a NL.
            }

            // TODO gerar notas

            return(rr);
        }
 public DadoReclassificacaoRetencaoViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ParaRestoAPagar> restoAPagarList)
 {
     return(new DadoReclassificacaoRetencaoViewModel
     {
         NumeroOriginalSiafemSiafisico = entity.NumeroOriginalSiafemSiafisico,
         NumeroProcesso = entity.NumeroProcesso,
         CodigoAplicacaoObra = entity.CodigoAplicacaoObra,
         CodigoUnidadeGestora = entity.CodigoUnidadeGestora,
         CodigoGestao = entity.CodigoGestao,
         DataEmissao = entity.DataEmissao.ToShortDateString(),
         NumeroCNPJCPFCredor = entity.NumeroCNPJCPFCredor,
         CodigoGestaoCredor = entity.CodigoGestaoCredor,
         MesMedicao = entity.MesMedicao,
         AnoMedicao = entity.AnoMedicao,
         Valor = entity.Valor,
         CodigoEvento = entity.CodigoEvento,
         CodigoInscricao = entity.CodigoInscricao,
         CodigoClassificacao = entity.CodigoClassificacao,
         CodigoFonte = entity.CodigoFonte,
         RestoPagarId = entity.RestoPagarId,
         NotaLancamenoMedicao = entity.NotaLancamenoMedicao,
         NumeroCnpjPrefeitura = entity.NumeroCnpjPrefeitura,
         ParaRestoAPagarListItems = restoAPagarList.Select(x => new SelectListItem
         {
             Value = x.Id.ToString(),
             Text = x.Id + " - " + x.Descricao,
             Selected = x.Id == entity.RestoPagarId
         })
     });
 }
        public DadoPagamentoContaUnicaNotaViewModel CreateInstance(ReclassificacaoRetencao entity)
        {
            var dictionary = entity.Notas != null
                ? entity.Notas.Select(s => new { s.Ordem, s.CodigoNotaFiscal }).ToDictionary(d => d.Ordem, d => d.CodigoNotaFiscal)
                : new Dictionary <int, string>();

            return(new DadoPagamentoContaUnicaNotaViewModel()
            {
                Nota01 = Convert.ToString(dictionary.ContainsKey(1) ? dictionary[1] : default(string)),
                Nota02 = Convert.ToString(dictionary.ContainsKey(2) ? dictionary[2] : default(string)),
                Nota03 = Convert.ToString(dictionary.ContainsKey(3) ? dictionary[3] : default(string)),
                Nota04 = Convert.ToString(dictionary.ContainsKey(4) ? dictionary[4] : default(string)),
                Nota05 = Convert.ToString(dictionary.ContainsKey(5) ? dictionary[5] : default(string)),
                Nota06 = Convert.ToString(dictionary.ContainsKey(6) ? dictionary[6] : default(string)),
                Nota07 = Convert.ToString(dictionary.ContainsKey(7) ? dictionary[7] : default(string)),
                Nota08 = Convert.ToString(dictionary.ContainsKey(8) ? dictionary[8] : default(string)),
                Nota09 = Convert.ToString(dictionary.ContainsKey(9) ? dictionary[9] : default(string)),
                Nota10 = Convert.ToString(dictionary.ContainsKey(10) ? dictionary[10] : default(string)),
                Nota11 = Convert.ToString(dictionary.ContainsKey(11) ? dictionary[11] : default(string)),
                Nota12 = Convert.ToString(dictionary.ContainsKey(12) ? dictionary[12] : default(string)),
                Nota13 = Convert.ToString(dictionary.ContainsKey(13) ? dictionary[13] : default(string)),
                Nota14 = Convert.ToString(dictionary.ContainsKey(14) ? dictionary[14] : default(string)),
                Nota15 = Convert.ToString(dictionary.ContainsKey(15) ? dictionary[15] : default(string))
            });
        }
Esempio n. 4
0
        private Error Retransmissao(Usuario user, ReclassificacaoRetencao entity, int recursoId)
        {
            var error  = new Error();
            var cicsmo = new ChaveCicsmo();

            try
            {
                try
                { if (entity.TransmitirSiafem && !entity.TransmitidoSiafem)
                  {
                      TransmitirSiafem(entity, user, recursoId);
                  }
                }
                catch (Exception ex)
                { error.SiafemSiafisico = ex.Message; }
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);
            }
            return(error);
        }
Esempio n. 5
0
        private static void GerarEventosSaida(ParametrosGeracaoNl parametrosGeracao, ReclassificacaoRetencao rr, List <ReclassificacaoRetencaoEvento> eventos, NlParametrizacao parametrizacao)
        {
            var eventoSaidaParametrizado = parametrizacao.Eventos.FirstOrDefault(x => x.EntradaSaidaDescricao.Equals(EnumDirecaoEvento.Saida.ToString()));

            if (eventoSaidaParametrizado != null)
            {
                var evento = new ReclassificacaoRetencaoEvento();
                evento.InscricaoEvento = String.Format("{0}{1}{2}", parametrosGeracao.ItemConfirmacao.NumeroBancoPagador, parametrosGeracao.ItemConfirmacao.NumeroAgenciaPagador, parametrosGeracao.ItemConfirmacao.NumeroContaPagador);
                evento.Classificacao   = eventoSaidaParametrizado.NumeroClassificacao.ToString();
                evento.Fonte           = eventoSaidaParametrizado.NumeroFonte.ToString();

                if (parametrosGeracao.IsSubempenho)
                {
                    evento.NumeroEvento = eventoSaidaParametrizado.NumeroEvento.ToString();
                }
                else if (parametrosGeracao.IsRap)
                {
                    // Para RAP de exercício anterior de despesa prevista (Data da Realização igual a 0) e Ano da NL igual ao ano do exercício, evento = Parametrizado para o tipo de rap “N - Não Proces.Transf.P / Proces.De Exerc.Anterior”;
                    // Para RAP de exercício anterior de despesa prevista (Data da Realização igual a 0) e Ano da NL igual ao ano anterior ao exercício, evento igual a V - Não Proces.Transf.P / proces.De Exerc.Anteriores;
                    // Para RAP com Data da Realização diferente de 0 e Ano da NL igual ao ano anterior ao exercício, evento = Parametrizado para o tipo de rap “P - Processado do Exercício anterior”;
                    // Para RAP de outros exercícios anterior, evento R-Revigorados de Exercícios Anteriores

                    var isAnoAnterior = parametrosGeracao.Ano < parametrosGeracao.AnoAtual;
                    if (isAnoAnterior)
                    {
                        // TODO evento.NumeroEvento =  ???
                    }
                }
                eventos.Add(evento);
            }

            rr.Eventos = eventos;
        }
Esempio n. 6
0
        public int SalvarOuAlterar(ReclassificacaoRetencao entity, int recursoId, short action)
        {
            try
            {
                entity.Id = _repository.Save(entity);

                if (entity.Eventos.Any())
                {
                    entity.Eventos = SalvarOuAlterarEventos(entity, recursoId, action);
                }

                if (entity.Notas.Any())
                {
                    entity.Notas = SalvarOuAlterarNotas(entity, recursoId, action);
                }

                if (recursoId > 0)
                {
                    LogSucesso(action, recursoId, $@"
                    Nº do Reclassificacao / Retencao SIAFEM {entity.NumeroSiafem}.");
                }

                return(entity.Id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, recursoId);
            }
        }
 public ReclassificacaoRetencaoServiceTests()
 {
     _user = new Usuario {
         Codigo = 1, RegionalId = 16
     };
     _entities = new List <ReclassificacaoRetencao>();
     _entity   = CreateEntityFactory();
 }
        private int SalvarService(ReclassificacaoRetencao desdobramento, int funcionalidade)
        {
            var acao = desdobramento.Id > 0 ? EnumAcao.Alterar : EnumAcao.Inserir;

            return(App.ReclassificacaoRetencaoService.SalvarOuAlterar(
                       desdobramento,
                       funcionalidade,
                       Convert.ToInt16(acao)));
        }
 public PesquisaEmpenhoCredorViewModel CreateInstance(ReclassificacaoRetencao entity)
 {
     return(new PesquisaEmpenhoCredorViewModel()
     {
         CodigoCredorOrganizacao = entity.CodigoCredorOrganizacaoId > 0? entity.CodigoCredorOrganizacaoId.ToString(): null,
         NumeroCNPJCPFFornecedor = entity.NumeroCNPJCPFFornecedorId,
         NumeroAnoExercicio = entity.AnoExercicio != 0 ? entity.AnoExercicio.ToString(): null
     });
 }
 public DadoObservacaoViewModel CreateInstance(ReclassificacaoRetencao objModel)
 {
     return(new DadoObservacaoViewModel()
     {
         DescricaoObservacao1 = objModel.DescricaoObservacao1,
         DescricaoObservacao2 = objModel.DescricaoObservacao2,
         DescricaoObservacao3 = objModel.DescricaoObservacao3,
     });
 }
        public FiltroViewModel CreateInstance(ReclassificacaoRetencao objModel, IEnumerable <ReclassificacaoRetencaoTipo> tipoReclassificacao, DateTime de, DateTime ate)
        {
            var filtro = new FiltroViewModel();

            filtro.NumeroSiafem                  = objModel.NumeroSiafem;
            filtro.NumeroProcesso                = objModel.NumeroProcesso;
            filtro.CodigoAplicacaoObra           = objModel.CodigoAplicacaoObra;
            filtro.NumeroOriginalSiafemSiafisico = objModel.NumeroOriginalSiafemSiafisico;


            filtro.ReclassificacaoRetencaoTipoListItems = tipoReclassificacao
                                                          .Select(x => new SelectListItem
            {
                Text     = x.Descricao,
                Value    = x.Id.ToString(),
                Selected = x.Id == objModel.ReclassificacaoRetencaoTipoId
            });
            filtro.ReclassificacaoRetencaoTipo = objModel.ReclassificacaoRetencaoTipoId.ToString();


            filtro.NormalEstornoListItems = new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "Normal", Value = "1", Selected = objModel.NormalEstorno == "1"
                },
                new SelectListItem {
                    Text = "Estorno", Value = "2", Selected = objModel.NormalEstorno == "2"
                }
            };
            filtro.NormalEstorno = objModel.NormalEstorno;


            filtro.StatusSiafem          = objModel.StatusSiafem;
            filtro.StatusSiafemListItems = new List <SelectListItem> {
                new SelectListItem {
                    Text = "Sucesso", Value = "S"
                },
                new SelectListItem {
                    Text = "Erro", Value = "E"
                },
                new SelectListItem {
                    Text = "Não transmitido", Value = "N"
                }
            };


            filtro.NumeroContrato       = objModel.NumeroContrato;
            filtro.DataCadastramentoDe  = null;
            filtro.DataCadastramentoAte = null;

            filtro.OrigemReclassificacaoRetencao = objModel.Origem;
            filtro.AgrupamentoConfirmacao        = objModel.AgrupamentoConfirmacao;

            return(filtro);
        }
 public ActionResult Save(ReclassificacaoRetencao desdobramento)
 {
     try
     {
         return(Json(new { Status = "Sucesso", Id = SalvarService(desdobramento, Convert.ToInt32(_funcId)) }));
     }
     catch (Exception ex)
     {
         return(Json(new { Status = "Falha", Msg = ex.Message }));
     }
 }
Esempio n. 13
0
        public IEnumerable <ReclassificacaoRetencao> BuscarGrid(ReclassificacaoRetencao entity, DateTime de = default(DateTime), DateTime ate = default(DateTime))
        {
            var result = _repository.FetchForGrid(entity, de, ate).ToList();

            if (result.Any())
            {
                result.ForEach(x => x.Eventos = _eventos.Buscar(new ReclassificacaoRetencaoEvento {
                    PagamentoContaUnicaId = x.Id
                }));
            }
            return(result);
        }
 public FiltroGridViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ReclassificacaoRetencaoTipo> reclassificacaoRetencaoTps, IEnumerable <ReclassificacaoRetencaoEvento> recRetEventos)
 {
     return(new FiltroGridViewModel
     {
         Id = Convert.ToString(entity.Id),
         NumeroSiafem = entity.NumeroSiafem,
         ReclassificacaoRetencaoTipo = reclassificacaoRetencaoTps.FirstOrDefault(w => w.Id == entity.ReclassificacaoRetencaoTipoId)?.Descricao,
         NormalEstorno = entity.NormalEstorno.Equals("1") ? "Normal" : "Estorno",
         Total = entity.ReclassificacaoRetencaoTipoId == 2? Convert.ToDecimal(entity.Eventos.Sum(x => x.ValorUnitario)) / 100 : Convert.ToDecimal(entity.Valor) / 100,
         Data = entity.DataCadastro.ToShortDateString(),
         StatusSiafem = string.IsNullOrEmpty(entity.StatusSiafem) || entity.StatusSiafem.Equals("N") ? "Não Transmitido" : entity.StatusSiafem.Equals("E") ? "Erro" : "Sucesso",
         TransmitidoSiafem = entity.TransmitidoSiafem,
         MensagemSiafem = entity.MensagemServicoSiafem,
         CadastroCompleto = entity.CadastroCompleto
     });
 }
Esempio n. 15
0
        public string Transmitir(IEnumerable <int> entityIdList, Usuario user, int recursoId)
        {
            var empenhos = new List <ReclassificacaoRetencao>();
            var result   = default(string);

            foreach (var empenhoId in entityIdList)
            {
                var entity = new ReclassificacaoRetencao();
                try
                {
                    entity = Selecionar(empenhoId);
                    if (AppConfig.WsUrl != "siafemProd")
                    {
                        user.CPF         = entity.TransmitirSiafem ? AppConfig.WsSiafemUser : AppConfig.WsSiafisicoUser;
                        user.SenhaSiafem = Encrypt(AppConfig.WsPassword);
                    }

                    Retransmissao(user, entity, recursoId);
                    empenhos.Add(entity);
                }
                catch (Exception ex)
                {
                    throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
                }
                finally
                {
                    SalvarOuAlterar(entity, recursoId, (short)EnumAcao.Transmitir);
                }
            }

            var empenhosErros = empenhos.Where(x => x.StatusSiafem == "E").ToList();

            if (empenhosErros.Count > 0)
            {
                if (empenhos.Count == 1)
                {
                    result += empenhos.FirstOrDefault()?.MensagemServicoSiafem;
                }
                else
                {
                    result += Environment.NewLine + "; / Alguns ReclassificacaoRetencaos não puderam ser retransmitidos";
                }
            }


            return(result);
        }
Esempio n. 16
0
        private static void GerarEventoEntrada(ReclassificacaoRetencao rr, List <ReclassificacaoRetencaoEvento> eventos, NlParametrizacao parametrizacao)
        {
            var eventoEntradaParametrizado = parametrizacao.Eventos.FirstOrDefault(x => x.EntradaSaidaDescricao.Equals(EnumDirecaoEvento.Entrada.ToString()));

            if (eventoEntradaParametrizado != null)
            {
                rr.CodigoEvento        = eventoEntradaParametrizado.NumeroEvento.ToString();
                rr.CodigoClassificacao = eventoEntradaParametrizado.NumeroClassificacao.ToString();

                var evento = new ReclassificacaoRetencaoEvento();
                evento.NumeroEvento  = eventoEntradaParametrizado.NumeroEvento.ToString();
                evento.Classificacao = eventoEntradaParametrizado.NumeroClassificacao.ToString();
                evento.Fonte         = eventoEntradaParametrizado.NumeroFonte.ToString();

                eventos.Add(evento);
            }
        }
Esempio n. 17
0
 public IEnumerable <ReclassificacaoRetencao> FetchForGrid(ReclassificacaoRetencao entity, DateTime since, DateTime until)
 {
     return(DataHelper.List <ReclassificacaoRetencao>("PR_RECLASSIFICACAO_RETENCAO_CONSULTA_GRID",
                                                      new SqlParameter("@id_reclassificacao_retencao", entity.Id),
                                                      new SqlParameter("@nr_siafem_siafisico", entity.NumeroSiafem),
                                                      new SqlParameter("@nr_processo", entity.NumeroProcesso),
                                                      new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra),
                                                      new SqlParameter("@nr_empenho_siafem_siafisico", entity.NumeroOriginalSiafemSiafisico),
                                                      new SqlParameter("@id_tipo_reclassificacao_retencao", entity.ReclassificacaoRetencaoTipoId),
                                                      new SqlParameter("@ds_normal_estorno", entity.NormalEstorno),
                                                      new SqlParameter("@cd_transmissao_status_siafem_siafisico", entity.StatusSiafem),
                                                      new SqlParameter("@nr_contrato", entity.NumeroContrato),
                                                      new SqlParameter("@dt_cadastramento_de", since.ValidateDBNull()),
                                                      new SqlParameter("@dt_cadastramento_ate", until.ValidateDBNull()),
                                                      new SqlParameter("@id_regional", entity.RegionalId),
                                                      new SqlParameter("@cd_origem", entity.Origem),
                                                      new SqlParameter("@cd_agrupamento_confirmacao", entity.AgrupamentoConfirmacao)));
 }
Esempio n. 18
0
        public AcaoEfetuada Excluir(ReclassificacaoRetencao entity, int recursoId, short action)
        {
            try
            {
                _repository.Remove(entity.Id);

                if (recursoId > 0)
                {
                    return(LogSucesso(action, recursoId, $"ReclassificacaoRetencao : Codigo {entity.Id}"));
                }

                return(AcaoEfetuada.Sucesso);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, actionId: action, functionalityId: recursoId);
            }
        }
Esempio n. 19
0
        private IEnumerable <ReclassificacaoRetencaoNota> SalvarOuAlterarNotas(ReclassificacaoRetencao entity, int recursoId, short action)
        {
            var salvos = _notas.Buscar(new ReclassificacaoRetencaoNota {
                IdReclassificacaoRetencao = entity.Id
            });
            var deleta = salvos?.Where(w => entity.Notas.All(a => a.Id != w.Id));

            _notas.Excluir(deleta, recursoId, action);

            var notas = new List <ReclassificacaoRetencaoNota>();

            foreach (ReclassificacaoRetencaoNota nota in entity.Notas)
            {
                nota.IdReclassificacaoRetencao = entity.Id;
                nota.Id = _notas.SalvarOuAlterar(nota, recursoId, action);
                notas.Add(nota);
            }

            return(notas);
        }
Esempio n. 20
0
        private void Transmissao(Usuario user, ReclassificacaoRetencao entity, int recursoId)
        {
            var cicsmo = new ChaveCicsmo();

            try
            {
                if (entity.TransmitirSiafem && !entity.TransmitidoSiafem)
                {
                    TransmitirSiafem(entity, user, recursoId);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);
            }
        }
        public FiltroGridViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ReclassificacaoRetencaoTipo> reclassificacaoRetencaoTps, IEnumerable <ReclassificacaoRetencaoEvento> recRetEventos)
        {
            var obj = new FiltroGridViewModel();

            obj.Id           = Convert.ToString(entity.Id);
            obj.NumeroSiafem = entity.NumeroSiafem;
            obj.ReclassificacaoRetencaoTipo = reclassificacaoRetencaoTps.FirstOrDefault(w => w.Id == entity.ReclassificacaoRetencaoTipoId)?.Descricao;
            obj.NormalEstorno                 = string.IsNullOrWhiteSpace(entity.NormalEstorno) ? string.Empty : (entity.NormalEstorno.Equals("1") ? "Normal" : "Estorno");
            obj.Total                         = entity.ReclassificacaoRetencaoTipoId == 2 ? Convert.ToDecimal(entity.Eventos.Sum(x => x.ValorUnitario)) / 100 : Convert.ToDecimal(entity.Valor) / 100;
            obj.Data                          = entity.DataCadastro.ToShortDateString();
            obj.StatusSiafem                  = string.IsNullOrEmpty(entity.StatusSiafem) || entity.StatusSiafem.Equals("N") ? "Não Transmitido" : entity.StatusSiafem.Equals("E") ? "Erro" : "Sucesso";
            obj.TransmitidoSiafem             = entity.TransmitidoSiafem;
            obj.TransmitirSiafem              = entity.TransmitirSiafem;
            obj.MensagemSiafem                = entity.MensagemServicoSiafem;
            obj.CadastroCompleto              = entity.CadastroCompleto;
            obj.OrigemReclassificacaoRetencao = entity.Origem.GetEnumDescription();
            obj.AgrupamentoConfirmacao        = entity.AgrupamentoConfirmacao?.ToString();

            return(obj);
        }
        public JsonResult Transmitir(ReclassificacaoRetencao desdobramento)
        {
            ReclassificacaoRetencao objModel;

            try
            {
                var usuario = App.AutenticacaoService.GetUsuarioLogado();
                desdobramento.RegionalId = usuario.RegionalId == 1 ? 16 : (short)usuario.RegionalId;
                ModelId = SalvarService(desdobramento, 0);
                App.ReclassificacaoRetencaoService.Transmitir(ModelId, usuario, (int)_funcId);
                objModel = App.ReclassificacaoRetencaoService.Selecionar(ModelId);

                return(Json(new { Status = "Sucesso", Codigo = objModel.Id, objModel }));
            }
            catch (Exception ex)
            {
                objModel = App.ReclassificacaoRetencaoService.Selecionar(ModelId);

                return(Json(new { Status = "Falha", Msg = ex.Message, Codigo = objModel.Id, objModel }));
            }
        }
Esempio n. 23
0
        private ReclassificacaoRetencao GerarNlRepasseFinanceiro(ParametrosGeracaoNl parametrosGeracao)
        {
            var rr      = new ReclassificacaoRetencao();
            var eventos = new List <ReclassificacaoRetencaoEvento>();
            var notas   = new List <ReclassificacaoRetencaoNota>();

            // TODO verificar propriedades
            DefinirPropriedadesComuns(parametrosGeracao, rr);

            //obj.CodigoEvento =  //adicionar?
            //obj.CodigoInscricao =  //adicionar?
            //obj.CodigoClassificacao =
            //obj.CodigoFonte =
            //obj.Valor = itemConfirmacao.ValorDocumento;
            //obj.DescricaoObservacao1 =
            //obj.Notas = //

            var parametrizacao = parametrosGeracao.ParametrizacoesNl.FirstOrDefault(x => x.Despesas.Any(y => y.IdTipo == parametrosGeracao.ItemConfirmacao.IdTipoDespesa));

            if (parametrizacao != null)
            {
                rr.CodigoGestao         = parametrizacao.FavorecidaNumeroGestao == 0 ? "16055" : parametrizacao.FavorecidaNumeroGestao.ToString(); // geral
                rr.CodigoInscricao      = String.Format("PE0{0}", parametrosGeracao.Ug);
                rr.CodigoUnidadeGestora = parametrizacao.UnidadeGestora.HasValue ? parametrizacao.UnidadeGestora.Value.ToString() : string.Empty;
                // TODO valor
                // TODO UG Favorecido já definido no começo?
                // TODO Gestão Favorecido já definido no começo?
                rr.DescricaoObservacao1 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 1);
                rr.DescricaoObservacao2 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 2);
                rr.DescricaoObservacao3 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 3);

                GerarEventoEntrada(rr, eventos, parametrizacao);
                GerarEventosSaida(parametrosGeracao, rr, eventos, parametrizacao);
            }

            // TODO gerar notas

            return(rr);
        }
Esempio n. 24
0
        private void TransmitirSiafem(ReclassificacaoRetencao entity, Usuario user, int recursoId)
        {
            try
            {
                var ug = _regional.Buscar(new Regional {
                    Id = (int)user.RegionalId
                }).First().Uge;

                entity.NumeroSiafem          = _siafem.InserirReclassificacaoRetencao(user.CPF, Decrypt(user.SenhaSiafem), ug, entity);
                entity.TransmitidoSiafem     = true;
                entity.StatusSiafem          = "S";
                entity.DataTransmitidoSiafem = DateTime.Now;
                entity.MensagemServicoSiafem = null;

                SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir);
            }
            catch (Exception ex)
            {
                entity.StatusSiafem          = "E";
                entity.MensagemServicoSiafem = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
        }
Esempio n. 25
0
 public DadoReclassificacaoRetencaoTipoViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ReclassificacaoRetencaoTipo> reclassificacaoRetencaoTipos)
 {
     return(new DadoReclassificacaoRetencaoTipoViewModel
     {
         NormalEstornoListItems = new List <SelectListItem>
         {
             new SelectListItem {
                 Text = "Normal", Value = "1", Selected = entity.NormalEstorno == "1"
             },
             new SelectListItem {
                 Text = "Estorno", Value = "2", Selected = entity.NormalEstorno == "2"
             }
         },
         NormalEstorno = entity.NormalEstorno,
         ReclassificacaoRetencaoTipoListItems = reclassificacaoRetencaoTipos.Select(x => new SelectListItem
         {
             Text = x.Descricao,
             Value = x.Id.ToString(),
             Selected = x.Id == entity.ReclassificacaoRetencaoTipoId
         }),
         ReclassificacaoRetencaoTipoId = entity.ReclassificacaoRetencaoTipoId.ToString(),
     });
 }
Esempio n. 26
0
        private IEnumerable <ReclassificacaoRetencaoEvento> SalvarOuAlterarEventos(ReclassificacaoRetencao entity, int recursoId, short action)
        {
            var salvos = _eventos.Buscar(new ReclassificacaoRetencaoEvento {
                PagamentoContaUnicaId = entity.Id
            });
            var deleta = salvos?.Where(w => entity.Eventos.All(a => a.Id != w.Id));

            if (deleta.Any())
            {
                _eventos.Excluir(deleta, recursoId, action);
            }

            var eventos = new List <ReclassificacaoRetencaoEvento>();

            foreach (ReclassificacaoRetencaoEvento evento in entity.Eventos)
            {
                evento.PagamentoContaUnicaId = entity.Id;
                evento.Id = _eventos.SalvarOuAlterar(evento, recursoId, action);
                eventos.Add(evento);
            }

            return(eventos);
        }
Esempio n. 27
0
        public AcaoEfetuada GerarNotasLancamento(ConfirmacaoPagamento confirmacaoPagamento, Usuario user, bool transmitir, int recursoId, EnumAcao action)
        {
            List <ReclassificacaoRetencao> nlsGeradas = new List <ReclassificacaoRetencao>();

            var regional = _regional.Buscar(new Regional {
                Id = Convert.ToInt32(user.RegionalId)
            }).FirstOrDefault();

            var ug = regional?.Uge;

            foreach (ConfirmacaoPagamentoItem itemConfirmacao in confirmacaoPagamento.Items)
            {
                var gerarNls = confirmacaoPagamento.IdTipoDocumento != 40 && itemConfirmacao.IdTipoDespesa.Value == 78;

                if (gerarNls)
                {
                    // usar caso existam RAPs
                    List <ParaRestoAPagar>  tiposRap        = _paraRestoAPagarService.Listar(new ParaRestoAPagar()).ToList();
                    List <NlParametrizacao> parametrizacoes = _parametrizacaoService.ObterTodas();


                    var tipoDocumento = confirmacaoPagamento.NumeroDocumento.Substring(0, 2);
                    var isSubempenho  = tipoDocumento.Equals(EnumTipoDocumento.Subempenho.ToString("d2"));
                    var isRap         = tipoDocumento.Equals(EnumTipoDocumento.Rap.ToString("d2"));
                    var isNlPgObras   = VerrificarNlPgObras(itemConfirmacao.NaturezaDespesa);

                    int anoAtual = int.Parse(DateTime.Today.ToString("YY"));
                    int ano      = anoAtual;

                    if (isSubempenho)
                    {
                        ano = int.Parse(confirmacaoPagamento.NumeroDocumento.Substring(5, 2));
                    }
                    else if (isRap)
                    {
                        ano = int.Parse(confirmacaoPagamento.NumeroDocumento.Substring(2, 2));
                    }


                    var parametrosGeracaoNl = new ParametrosGeracaoNl(confirmacaoPagamento, itemConfirmacao, parametrizacoes, tiposRap);
                    parametrosGeracaoNl.Ug           = ug;
                    parametrosGeracaoNl.IsNlPgObras  = isNlPgObras;
                    parametrosGeracaoNl.IsSubempenho = isSubempenho;
                    parametrosGeracaoNl.IsRap        = isRap;
                    parametrosGeracaoNl.AnoAtual     = anoAtual;
                    parametrosGeracaoNl.Ano          = ano;



                    // TODO codificar NLs de repasse
                    #region NLs de repasse
                    // NL de repasse financeiro
                    ReclassificacaoRetencao nlRepasseFinanceiro = GerarNlRepasseFinanceiro(parametrosGeracaoNl);
                    nlRepasseFinanceiro.CodigoInscricao = string.Format(FORMATOPE, ug);
                    nlsGeradas.Add(nlRepasseFinanceiro);

                    // NL de repasse de IR
                    if (true) // TODO Cadastrar NL de “Repasse de Imposto de Renda” se para a fonte o valor estiver diferente de 0.
                    {
                        ReclassificacaoRetencao nlRepasseDeIr = GerarNlRepasseDeIr(parametrosGeracaoNl);
                        nlsGeradas.Add(nlRepasseDeIr);
                    }


                    // NL de repasse para regionais
                    // TODO Cadastrar uma NL para cada OP (Ordem de Pagamento).

                    var ops = confirmacaoPagamento.Items.GroupBy(x => x.NumeroOp).Select(x => new KeyValuePair <string, List <ConfirmacaoPagamentoItem> >(x.Key, x.ToList()));
                    foreach (var op in ops)
                    {
                        ReclassificacaoRetencao nlDeRepasseParaRegionais = GerarNlDeRepasseParaRegionais(parametrosGeracaoNl, op);
                        nlsGeradas.Add(nlDeRepasseParaRegionais);
                    }
                    #endregion

                    // TODO codificar NLs de baixa
                    #region NLs de baixa
                    // NL de baixa jeton jari (por NE)
                    // NL de baixa de fornecedor com contrato (por credor + NE)
                    // NL para baixa de pagamento de licença prêmio (por OP)
                    // NL de baixa pagamento outros (por credor + NE)
                    // NL para baixa de devolução de caução (por OP)
                    // NL para baixa de pagamento de adiantamento (por credor + NE)
                    // NL para baixa de pagamento de restituição de multa (por NE)
                    // NL para baixa de pagamento de perito do quadro e judicial (por credor + NE)
                    // NL para baixa de pagamento de bonificação por resultados (por credor + NE)
                    #endregion


                    var idNlRepasseFinanceiro = _service.SalvarOuAlterar(nlRepasseFinanceiro, recursoId, (short)action); // TODO verificar

                    if (transmitir)
                    {
                        _service.Transmitir(idNlRepasseFinanceiro, user, recursoId); // TODO transmitir separadas?
                    }
                }
            }

            return(AcaoEfetuada.Sucesso);
        }
Esempio n. 28
0
 public IEnumerable <ReclassificacaoRetencao> Listar(ReclassificacaoRetencao entity)
 {
     return(_repository.Fetch(entity));
 }
Esempio n. 29
0
 public IEnumerable <ReclassificacaoRetencao> Fetch(ReclassificacaoRetencao entity)
 {
     return(DataHelper.List <ReclassificacaoRetencao>("PR_RECLASSIFICACAO_RETENCAO_CONSULTAR",
                                                      new SqlParameter("@id_reclassificacao_retencao", entity.Id),
                                                      new SqlParameter("@id_regional", entity.RegionalId)));
 }
Esempio n. 30
0
        public int Save(ReclassificacaoRetencao entity)
        {
            var sqlParameterList = DataHelper.GetSqlParameterList(entity);

            return(DataHelper.Get <int>("PR_RECLASSIFICACAO_RETENCAO_SALVAR", sqlParameterList));
        }