public ActionResult Imprimir(string id)
        {
            try
            {
                ConsultaPd consultaPd = new ConsultaPd();
                var        usuario    = App.AutenticacaoService.GetUsuarioLogado();
                var        regional   = App.RegionalService.Buscar(new Model.Entity.Seguranca.Regional()
                {
                    Id = usuario.RegionalId == 1 ? 16 : (short)usuario.RegionalId
                }).FirstOrDefault();

                var pd = App.ProgramacaoDesembolsoService.Selecionar(Convert.ToInt32(id));
                if (pd.ProgramacaoDesembolsoTipoId == 2)
                {
                    consultaPd = App.SubempenhoService.ConsultaPD(usuario, pd.Agrupamentos.FirstOrDefault()?.CodigoUnidadeGestora, pd.Agrupamentos.FirstOrDefault()?.CodigoGestao, pd.Agrupamentos.FirstOrDefault()?.NumeroSiafem);
                    Session[App.BaseService.GetCurrentIp()] = HelperReport.GerarPdfProgramacaoDesembolsoAgrupamento(consultaPd, "Programação Desembolso", pd);
                }
                else
                {
                    consultaPd = App.SubempenhoService.ConsultaPD(usuario, regional.Uge, "16055", pd.NumeroSiafem);
                    Session[App.BaseService.GetCurrentIp()] = HelperReport.GerarPdfProgramacaoDesembolso(consultaPd, "Programação Desembolso", pd);
                }

                return(Json(new { Status = "Sucesso" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Status = "Falha", Msg = ex.Message }));
            }
        }
        public ConsultaPd ComplementarDadosPd(Usuario user, string unidadeGestoraLiquidante = "", string gestaoLiquidante = "", string unidadeGestora = "", string NumeroPD = "", int agrupamento = 0, TIPO_CONSULTA_PD origem = TIPO_CONSULTA_PD.CONSULTAR, string dsNumOB = "")
        {
            if (origem == TIPO_CONSULTA_PD.ADICIONAR && ExecucaoPDExiste(NumeroPD, agrupamento))
            {
                throw new SidsException("A Execução da PD já existe em outro agrupamento.");
            }

            var dadosUsuarioSiafem = _siafem.ConsultarUsuarioHomologacaoProducao(user.CPF, user.Senha, true);

            USUARIO = dadosUsuarioSiafem.usuario;
            SENHA   = dadosUsuarioSiafem.senha;

            var data = new ConsultaPd();

            if (dsNumOB == "" || dsNumOB == null)
            {
                data = _siafem.ConsultaPD(USUARIO, Decrypt(SENHA), unidadeGestoraLiquidante, gestaoLiquidante, unidadeGestora, NumeroPD);
            }

            var dataSids = SelecionarDadosApoio(1, NumeroPD);

            if (dataSids != null)
            {
                data.NumeroAgrupamentoProgramacaoDesembolso = dataSids.NumeroAgrupamento;
                data.NumeroContrato                 = dataSids?.NumeroContrato;
                data.NumeroDocumentoGerador         = dataSids?.NumeroDocumentoGerador;
                data.IdTipoDocumento                = dataSids.DocumentoTipoId;
                data.NumeroDocumento                = dataSids?.NumeroDocumento;
                data.TransmissaoItemStatusSiafem    = dataSids?.StatusSiafem;
                data.TransmissaoItemMensagemSiafem  = dataSids?.MensagemServicoSiafem;
                data.TransmissaoItemStatusProdesp   = dataSids?.StatusConfirmacaoPagtoProdesp;
                data.TransmissaoItemMensagemProdesp = dataSids?.MensagemConfirmacaoPagtoProdesp;
                data.NumeroCnpjCpfPgto              = dataSids.NumeroCnpjcpfPagto;

                if (data.NumeroDocumentoGerador != null)
                {
                    var numeroOP = ConsultaOP(data.NumeroDocumentoGerador);
                    var partes   = numeroOP.Split(new string[] { "@" }, StringSplitOptions.None);
                    if (partes[0].Any())
                    {
                        data.NumOP = partes[0];
                    }
                    else
                    {
                        data.MensagemRetornoConsultaOP = partes[1];
                    }
                }
            }
            else
            {
                data.MensagemRetornoConsultaOP = "PD não existe na base SIDS";
            }

            return(data);
        }
        public List <ConsultaPd> AdicionarPDDesdobrada(string numeroPD)
        {
            try
            {
                List <ConsultaPd> retorno = new List <ConsultaPd>();

                //data = _siafem.AdicionarPD(USUARIO, SENHA, unidadeGestoraLiquidante, gestaoLiquidante, unidadeGestora, NumeroPD);


                //var dataSids = SelecionarDadosApoio(1, NumeroPD);
                var dataSids = ListarPDSDesdobradas(1, numeroPD);

                foreach (var itemLista in dataSids)
                {
                    var data = new ConsultaPd();

                    data.NumPD                          = itemLista.NumeroSiafem;
                    data.NumeroContrato                 = itemLista?.NumeroContrato;
                    data.NumeroDocumentoGerador         = itemLista?.NumeroDocumentoGerador;
                    data.IdTipoDocumento                = itemLista.DocumentoTipoId;
                    data.NumeroDocumento                = itemLista?.NumeroDocumento;
                    data.TransmissaoItemStatusSiafem    = itemLista?.StatusSiafem;
                    data.TransmissaoItemMensagemSiafem  = itemLista?.MensagemServicoSiafem;
                    data.TransmissaoItemStatusProdesp   = itemLista?.StatusConfirmacaoPagtoProdesp;
                    data.TransmissaoItemMensagemProdesp = itemLista?.MensagemConfirmacaoPagtoProdesp;
                    data.NumeroCnpjCpfPgto              = itemLista.NumeroCnpjcpfPagto;

                    if (data.NumeroDocumentoGerador != null)
                    {
                        var numeroOP = ConsultaOP(data.NumeroDocumentoGerador);
                        var partes   = numeroOP.Split(new string[] { "@" }, StringSplitOptions.None);
                        if (partes[0].Any())
                        {
                            data.NumOP = partes[0];
                        }
                        else
                        {
                            data.MensagemRetornoConsultaOP = partes[1];
                        }
                    }

                    retorno.Add(data);
                }

                //return data;
                return(retorno);
            }
            catch
            {
                throw;
            }
        }
        private bool PdTransmitidaSemAgrupamento(ConsultaPd item, int agrupamentoPd, List <ConsultaPd> itemsExistentes)
        {
            if (itemsExistentes.Any(x => x.NumPD.Equals(item.NumPD)))
            {
                var pd = itemsExistentes.FirstOrDefault(x => x.NumPD.Equals(item.NumPD));
                if (pd.IdExecucaoPD != agrupamentoPd && pd.TransmissaoItemStatusSiafem == "S")
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 5
0
        //ConsultaPD no C
        public DadoProgramacaoDesembolsoExecucaoItemViewModel(ConsultaPd entity, DadoProgramacaoDesembolsoExecucaoViewModel parent, OrigemConsultaPd origem)
        {
            string ugpagadora = null;

            if (!String.IsNullOrWhiteSpace(entity.UGPagadora))
            {
                ugpagadora = entity.UGPagadora.Split(new string[] { " " }, StringSplitOptions.None)[0];
            }

            string ugliquidante = null;

            if (!String.IsNullOrWhiteSpace(entity.UG))
            {
                ugliquidante = entity.UG.Split(new string[] { " " }, StringSplitOptions.None)[0];
            }

            string gestao = null;

            if (!String.IsNullOrWhiteSpace(entity.Gestao))
            {
                gestao = entity.Gestao.Split(new string[] { " " }, StringSplitOptions.None)[0];
            }

            DataConfirmacaoItem = "";
            if ((entity.DataConfirmacaoItem != default(DateTime) && entity.DataConfirmacaoItem != null) && entity.TransmissaoItemStatusProdesp == "S")
            {
                DataConfirmacaoItem = entity.DataConfirmacaoItem.ToShortDateString();
            }

            IdExecucaoPD = entity.IdExecucaoPD;

            NumeroAgrupamentoProgramacaoDesembolso = entity.NumeroAgrupamentoProgramacaoDesembolso; // Agrupamento da Programação de Desembolso

            AgrupamentoItemPD = entity.AgrupamentoItemPD;

            IdConfirmacaoPagamento = entity.IdConfirmacaoPagamento;
            NumPD = entity.NumPD ?? entity.NPD ?? entity.PD;
            NumOB = entity.OB ?? entity.NOB ?? entity.NumOB;
            //NumOB = entity.NumOB;
            NumOBItem = entity.OB ?? entity.NOB ?? entity.NumOB;
            NumOP     = string.IsNullOrEmpty(entity?.NumOP) ? string.Empty : entity.NumOP;

            NumeroContrato            = entity.NumeroContrato;
            NumeroDocumentoGerador    = entity.NumeroDocumentoGerador;
            MensagemRetornoConsultaOP = entity.MensagemRetornoConsultaOP;

            IdTipoDocumento = entity.IdTipoDocumento; //(ConsultaPD)
            NumeroDocumento = entity.NumeroDocumento;

            SiafemStatus    = entity.TransmissaoItemStatusSiafem;
            SiafemDescricao = entity.TransmissaoItemMensagemSiafem;

            ProdespStatus    = entity.TransmissaoItemStatusProdesp;
            ProdespDescricao = entity.TransmissaoItemMensagemProdesp;

            OBCancelada      = false;
            AnoAserpaga      = (entity.NumPD ?? entity.NPD ?? entity.PD).Substring(0, 4);
            UGPagadora       = ugpagadora ?? parent.UGPagadora;
            UGLiquidante     = ugliquidante ?? parent.UGLiquidante;
            GestaoPagadora   = parent.GestaoPagadora ?? parent.GestaoPagadora;
            GestaoLiquidante = gestao ?? parent.GestaoLiquidante;
            NouP             = "N";
            Valor            = entity.Valor;
            Favorecido       = entity.Favorecido;
            FavorecidoDesc   = entity.FavorecidoDesc ?? entity.CGC_CPF_UG_Favorecida;
            Vencimento       = entity.Vencimento ?? entity.DataVencimento;

            Emissao            = entity.DataEmissao;
            DataVencimentoItem = entity.Vencimento ?? entity.DataVencimento;
            DataEmissaoItem    = entity.Emissao ?? entity.DataEmissao;
            Ordem = entity.ordem;

            IdConfirmacaoPagamento = entity.IdConfirmacaoPagamento;

            NumeroCnpjCpfCredor = entity.NumeroCnpjCpfCredor;
            NumeroCnpjcpfPagto  = entity.NumeroCnpjCpfPgto;
        }