private void ComplementarDadosOb(ConsultaOB item)
        {
            var dataSids = SelecionarDadosApoio(2, item.NoOB);

            if (dataSids != null)
            {
                item.AgrupamentoItemOB              = dataSids.AgrupamentoItemOB ?? 0;
                item.NumeroContrato                 = dataSids?.NumeroContrato;
                item.NumeroDocumentoGerador         = dataSids?.NumeroDocumentoGerador;
                item.IdTipoDocumento                = dataSids.IdTipoDocumento;
                item.NumeroDocumento                = dataSids?.NumeroDocumento;
                item.TransmissaoItemStatusSiafem    = dataSids?.TransmissaoItemStatusSiafem;
                item.TransmissaoItemMensagemSiafem  = dataSids?.TransmissaoItemMensagemSiafem;
                item.TransmissaoItemStatusProdesp   = dataSids?.TransmissaoItemStatusProdesp;
                item.TransmissaoItemMensagemProdesp = dataSids?.TransmissaoItemMensagemProdesp;
                item.NumOP                     = dataSids?.NumOP;
                item.IdExecucaoPD              = dataSids.IdExecucaoPD;
                item.IdExecucaoPDItem          = dataSids.IdExecucaoPDItem;
                item.IdAutorizacaoOB           = dataSids.IdAutorizacaoOB;
                item.IdAutorizacaoOBItem       = dataSids.IdAutorizacaoOBItem;
                item.MensagemRetornoConsultaOP = dataSids.MensagemRetornoConsultaOP;
                item.Despesa                   = (item.Despesa == string.Empty || item.Despesa == "00000000") ? dataSids.CodigoDespesa : item.Despesa.Substring(6, 2);
                item.Banco                     = item.Banco.PadLeft(3, '0');
                item.CodigoAplicacaoObra       = dataSids.CodigoAplicacaoObra;
            }
            else
            {
                item.MensagemRetornoConsultaOP = "OB não existe na base SIDS";
            }
        }
        public ConsultaOB ComplementarDadosOb(Usuario user, string unidadeGestoraLiquidante, string gestaoLiquidante, string unidadeGestora, string numeroPD, int agrupamento, TIPO_CONSULTA_PD origem = TIPO_CONSULTA_PD.CONSULTAR)
        {
            if (origem == TIPO_CONSULTA_PD.ADICIONAR && AutorizacaoOBExiste(numeroPD, agrupamento))
            {
                throw new SidsException("A Autorizacao de OB já existe em outro agrupamento.");
            }

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

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

            ConsultaOB data = _siafem.ConsultaOB(USUARIO, Decrypt(SENHA), unidadeGestoraLiquidante, gestaoLiquidante, numeroPD);

            var dataSids = SelecionarDadosApoio(1, numeroPD);

            if (dataSids != null)
            {
                data.AgrupamentoItemOB              = dataSids.AgrupamentoItemOB ?? 0;
                data.NumeroContrato                 = dataSids?.NumeroContrato;
                data.NumeroDocumentoGerador         = dataSids?.NumeroDocumentoGerador;
                data.IdTipoDocumento                = dataSids.DocumentoTipoId;
                data.NumeroDocumento                = dataSids?.NumeroDocumento;
                data.TransmissaoItemStatusSiafem    = dataSids?.TransmissaoItemStatusSiafem;
                data.TransmissaoItemMensagemSiafem  = dataSids?.TransmissaoItemMensagemSiafem;
                data.TransmissaoItemStatusProdesp   = dataSids?.TransmissaoItemStatusProdesp;
                data.TransmissaoItemMensagemProdesp = dataSids?.TransmissaoItemStatusProdesp;
                data.CgcCpfUG = dataSids.Favorecido;

                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 = "OB não existe na base SIDS";
            }

            return(data);
        }
Ejemplo n.º 3
0
        public DadoAutorizacaoDeOBItemViewModel(ConsultaOB entity, DadoAutorizacaoDeOBViewModel parent, OrigemConsultaOB 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];
            }

            //IdAutorizacaoOB = parent.IdAutorizacaoOB;
            //parent.IdAutorizacaoOB = entity.IdAutorizacaoOB;
            IdAutorizacaoOB     = entity.IdAutorizacaoOB;
            IdAutorizacaoOBItem = entity.IdAutorizacaoOBItem;
            AgrupamentoItemOB   = entity.AgrupamentoItemOB;
            NumPD = entity.NumPD ?? entity.NPD ?? entity.PD;
            NumOB = entity.OB ?? entity.NOB ?? entity.NoOB;
            NumOB = NumOB.Length < 11 ? DateTime.Now.Year + "OB" + NumOB: NumOB;
            NoOB  = entity.NoOB;
            NumOP = entity.NumOP;
            MensagemRetornoConsultaOP = entity.MensagemRetornoConsultaOP;
            IdExecucaoPD     = entity.IdExecucaoPD;
            IdExecucaoPDItem = entity.IdExecucaoPDItem;

            NumDoctoGerador = entity.NumeroDocumentoGerador;
            NumeroContrato  = entity.NumeroContrato;
            IdTipoDocumento = entity.IdTipoDocumento;
            NumeroDocumento = entity.NumeroDocumento;

            Despesa     = entity.Despesa;
            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;
            ValorItem        = entity.Valor;
            Favorecido       = entity.Favorecido;
            FavorecidoDesc   = entity.Favorecido;//entity.FavorecidoDesc;
            //Vencimento = entity.Vencimento ?? entity.DataVencimento;
            Emissao = entity.DataEmissao;
            Ordem   = entity.Ordem;
            Banco   = entity.Banco;
            Ano     = DateTime.Now.Year.ToString();

            SiafemStatus          = entity.TransmissaoItemStatusSiafem;
            SiafemItemTransmitido = entity.TransmissaoItemTransmitidoSiafem;
            SiafemDescricao       = entity.TransmissaoItemMensagemSiafem;
            SiafemTransmitidoEm   = entity.TransmissaoItemDataSiafem;

            IdConfirmacaoPagamento     = entity.IdConfirmacaoPagamento;
            IdConfirmacaoPagamentoItem = entity.IdConfirmacaoPagamentoItem;

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

            ProdespStatus        = entity.TransmissaoItemStatusProdesp;
            ProdespTransmitido   = entity.TransmissaoItemTransmitidoProdesp;
            ProdespDescricao     = entity.TransmissaoItemMensagemProdesp;
            ProdespTransmitidoEm = entity.TransmissaoItemDataProdesp;
            CodigoAplicacaoObra  = entity.CodigoAplicacaoObra;
        }