public ParametrosGeracaoNl(ConfirmacaoPagamento confirmacaoPagamento, ConfirmacaoPagamentoItem itemConfirmacao, List <NlParametrizacao> parametrizacoes, List <ParaRestoAPagar> TiposRap)
 {
     this.ConfirmacaoPagamento = confirmacaoPagamento;
     this.ParametrizacoesNl    = parametrizacoes;
     this.ItemConfirmacao      = itemConfirmacao;
     this.TiposRap             = TiposRap;
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">IdConfirmacaoPagamento</param>
        /// <param name="confirmacaoPagamento"></param>
        /// <param name="usuario"></param>
        /// <param name="regionais"></param>
        /// <returns></returns>
        public string GerarNl(int id, ConfirmacaoPagamento confirmacaoPagamento, Usuario usuario, List <Regional> regionais)
        {
            try
            {
                // Listar todos Itens Aprovados
                //Comentar quando POC estiver ok -- apenas para testar - após retirar item1
                var itens = _paraConfirmacaoPagamentoItemDal.Fetch(new ConfirmacaoPagamentoItem {
                    IdConfirmacaoPagamento = id
                }).ToList();

                // int? idConformacao = id;

                // item1- descomentar quando terminar
                // var itens = _paraConfirmacaoPagamentoItemDal.Fetch(a).Where(x => x.StatusProdesp == "S").ToList();


                var itensAposValidacao = new ConfirmacaoPagamentoItem().ValidacaoItens(itens);


                var itensPorFormasNl = ObterTipoDespesaPorFormaGerarNl(itensAposValidacao);
                confirmacaoPagamento.Id    = id;
                confirmacaoPagamento.Items = itensPorFormasNl;
                confirmacaoPagamento.CodigoAgrupamentoConfirmacaoPagamento = _paraConfirmacaoPagamentoIDal.Fetch(new ConfirmacaoPagamento {
                    Id = id
                }).FirstOrDefault().CodigoAgrupamentoConfirmacaoPagamento;
                return(GerarNlPorForma(confirmacaoPagamento, usuario, regionais));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private bool AtribuiValoresQuandoNLPGOBRAS(Usuario usuario, ConfirmacaoPagamentoItem infoBaseItem, NlParametrizacao infoBaseParametrizacao, ReclassificacaoRetencao entidadeNl)
        {
            var NLPGOBRAS = false;

            if (VerrificarNlPgObras(infoBaseItem.NaturezaDespesa))
            {
                var infoNe = _commomService.ConsultaNe(infoBaseItem.NumeroEmpenhoSiafem, usuario);

                // Se sim quer dizer que temos uma NLPGOBRAS
                if (!string.IsNullOrEmpty(infoNe.IdentificadorObra))
                {
                    entidadeNl.ReclassificacaoRetencaoTipoId = EnumTipoReclassificacaoRetencao.PagamentoObrasSemOB.GetHashCode();
                    entidadeNl.CodigoEvento        = infoBaseParametrizacao.Eventos.FirstOrDefault().NumeroEvento;
                    entidadeNl.CodigoFonte         = infoBaseParametrizacao.Eventos.FirstOrDefault().NumeroFonte;
                    entidadeNl.CodigoClassificacao = infoBaseParametrizacao.Eventos.FirstOrDefault().NumeroClassificacao;

                    entidadeNl.MesMedicao = FormatarMesMedicao(infoBaseItem.Referencia);
                    entidadeNl.AnoMedicao = FormatarAnoMedicao(infoBaseItem.Referencia);
                    NLPGOBRAS             = true;
                }
                else
                {
                    entidadeNl.ReclassificacaoRetencaoTipoId = EnumTipoReclassificacaoRetencao.NotaLancamento.GetHashCode();
                }
            }
            else
            {
                entidadeNl.ReclassificacaoRetencaoTipoId = EnumTipoReclassificacaoRetencao.NotaLancamento.GetHashCode();
            }

            return(NLPGOBRAS);
        }
        public ConfirmacaoPagamentoItem ToEntity()
        {
            var retorno = new ConfirmacaoPagamentoItem();

            retorno.Id = this.Id;
            retorno.IdConfirmacaoPagamento = this.IdConfirmacaoPagamento;
            retorno.DataConfirmacaoItem    = this.DataConfirmacaoItem;
            retorno.IdTipoDespesa          = this.IdTipoDespesa;
            retorno.IdOrigem = this.IdOrigem;
            retorno.IdReclassificacaoRetencao = this.IdReclassificacaoRetencao;
            retorno.IdRegional           = this.IdRegional;
            retorno.NumeroAgenciaPagador = this.NumeroAgenciaPagador;
            retorno.NumeroBancoPagador   = this.NumeroBancoPagador;
            retorno.AnoMedicao           = this.AnoMedicao;
            retorno.MesMedicao           = this.MesMedicao;
            retorno.CodigoGestaoCredor   = this.CodigoGestaoCredor;
            retorno.CodigoEvento         = this.CodigoEvento;
            retorno.CodigoInscricao      = this.CodigoInscricao;
            retorno.CodigoClassificacao  = this.CodigoClassificacao;
            retorno.NumeroFonteSiafem    = this.NumeroFonteSiafem;
            retorno.ValorDocumento       = this.ValorDocumento;
            retorno.Observacao           = this.Observacao;
            retorno.NaturezaDespesa      = this.NrNaturezaDespesa;
            retorno.Referencia           = this.Referencia;
            return(retorno);
        }
        public ConfirmacaoPagamentoItem ToEntity(PDExecucaoItem entity)
        {
            var retorno = new ConfirmacaoPagamentoItem();

            retorno.Id = entity.Id;
            retorno.IdConfirmacaoPagamento = entity.Id;
            return(retorno);
        }
Beispiel #6
0
 private void SalvarItem(ConfirmacaoPagamentoItem item)
 {
     if (item.Id == 0)
     {
         _confirmacaoPgtoItemRepository.Add(item);
     }
     else
     {
         _confirmacaoPgtoItemRepository.Edit(item);
     }
 }
        private static void AtribuiValorCampoAnoExercicio(ConfirmacaoPagamentoItem infoBaseItem, ReclassificacaoRetencao entidadeNl)
        {
            var tipoDocumento = infoBaseItem.NumeroDocumentoGerador.Substring(0, 2);
            var isSubempenho  = tipoDocumento.Equals(EnumTipoDocumento.Subempenho.GetHashCode().ToString("d2"));
            var isRap         = tipoDocumento.Equals(EnumTipoDocumento.Rap.GetHashCode().ToString("d2"));


            string ano = "20";

            if (isSubempenho)
            {
                ano += infoBaseItem.NumeroDocumentoGerador.Substring(5, 2);
            }
            else if (isRap)
            {
                ano = infoBaseItem.NumeroDocumentoGerador.Substring(2, 2);
            }

            entidadeNl.AnoExercicio = int.Parse(ano);
        }
 public DadoConfirmacaoPagamentoItemViewModel(ConfirmacaoPagamentoItem entity)
 {
     this.Id = entity.Id;
     this.IdConfirmacaoPagamento = entity.IdConfirmacaoPagamento;
     this.DataConfirmacaoItem    = entity.DataConfirmacaoItem;
     this.IdTipoDespesa          = entity.IdTipoDespesa;
     this.IdOrigem = entity.IdOrigem;
     this.IdReclassificacaoRetencao = entity.IdReclassificacaoRetencao;
     this.IdRegional           = entity.IdRegional;
     this.NumeroAgenciaPagador = entity.NumeroAgenciaPagador;
     this.NumeroBancoPagador   = entity.NumeroBancoPagador;
     this.AnoMedicao           = entity.AnoMedicao;
     this.MesMedicao           = entity.MesMedicao;
     this.CodigoGestaoCredor   = entity.CodigoGestaoCredor;
     this.CodigoEvento         = entity.CodigoEvento;
     this.CodigoInscricao      = entity.CodigoInscricao;
     this.CodigoClassificacao  = entity.CodigoClassificacao;
     this.NumeroFonteSiafem    = entity.NumeroFonteSiafem;
     this.ValorDocumento       = entity.ValorDocumento;
     this.Observacao           = entity.Observacao;
     this.NrNaturezaDespesa    = entity.NaturezaDespesa;
     this.Referencia           = entity.Referencia;
 }
Beispiel #9
0
        private void TransmitirConfirmacaoProdesp(ConfirmacaoPagamento entity, ChaveCicsmo cicsmo, ref bool todosTransmitidos, ref string verificaNumeroGerador, Regional orgao, ConfirmacaoPagamentoItem item)
        {
            if (item.NumeroDocumentoGerador.Substring(0, 17) != verificaNumeroGerador)
            {
                ConfirmacaoPagamento confirmarPagamentoUnico = new ConfirmacaoPagamento();
                confirmarPagamentoUnico.DataConfirmacao = entity.DataConfirmacao;
                confirmarPagamentoUnico.AnoReferencia   = entity.AnoReferencia;
                confirmarPagamentoUnico.IdTipoDocumento = Convert.ToInt16(item.NumeroOp.Substring(4, 1));
                confirmarPagamentoUnico.NumeroOP        = item.NumeroOp;
                confirmarPagamentoUnico.TipoPagamento   = entity.TipoPagamento;
                orgao.Id = Convert.ToInt16(item.NumeroOp.Substring(2, 2));

                var result = DataHelperProdespPagamentoContaUnica.Procedure_ConfirmacaoPagtoOPApoio(cicsmo.Chave, cicsmo.Senha, confirmarPagamentoUnico, orgao);

                verificaNumeroGerador = item.NumeroDocumentoGerador.Substring(0, 17);

                if (!string.IsNullOrWhiteSpace(result[0].outErro))
                {
                    confirmarPagamentoUnico.DataTransmitidoProdesp = DateTime.Now;
                    confirmarPagamentoUnico.StatusProdesp          = "E";
                    confirmarPagamentoUnico.TransmitidoProdesp     = false;
                    confirmarPagamentoUnico.NumeroDocumento        = item.NumeroNlDocumento;
                    confirmarPagamentoUnico.Id = entity.Id;
                    confirmarPagamentoUnico.MensagemServicoProdesp = result[0].outErro;

                    confirmarPagamentoUnico.NumeroDocumentoItem = item.NumeroDocumentoGerador;
                }
                else
                {
                    confirmarPagamentoUnico.DataTransmitidoProdesp = DateTime.Now;
                    confirmarPagamentoUnico.StatusProdesp          = "S";
                    confirmarPagamentoUnico.TransmitidoProdesp     = true;
                    confirmarPagamentoUnico.NumeroDocumento        = entity.NumeroDocumento;
                    confirmarPagamentoUnico.Id = entity.Id;
                    confirmarPagamentoUnico.NumeroDocumentoItem = item.NumeroDocumentoGerador;
                }

                this.AtualizarPagamento(confirmarPagamentoUnico);


                if (todosTransmitidos)
                {
                    todosTransmitidos = confirmarPagamentoUnico.StatusProdesp.Equals("S");
                }
            }
        }