示例#1
0
        public PesquisaCTViewModel CreateInstance(IEmpenho objModel, EnumTipoOperacaoEmpenho tipo)
        {
            var obj = new PesquisaCTViewModel()
            {
                NumeroCT         = objModel.NumeroCT,
                NumeroOriginalCT = objModel.NumeroOriginalCT,
                TipoEmpenho      = tipo,
                TituloCampo      = "Nº do CT Original"
            };

            switch (tipo)
            {
            case EnumTipoOperacaoEmpenho.Reforco:
                obj.TituloComponente = "Pesquisar Empenho por CT";
                break;

            case EnumTipoOperacaoEmpenho.Cancelamento:
                obj.TituloComponente = "Pesquisar Empenho por CT";
                break;

            case EnumTipoOperacaoEmpenho.Subempenho:
                break;

            case EnumTipoOperacaoEmpenho.Empenho:
            default:
                obj.TituloComponente = "Pesquisar CT para Contabilizar Empenho";
                break;
            }

            return(obj);
        }
示例#2
0
 public PesquisaCTViewModel CreateInstance(ILiquidacaoDespesa objModel, EnumTipoOperacaoEmpenho tipo)
 {
     return(new PesquisaCTViewModel()
     {
         NumeroCT = objModel.NumeroCT,
         TipoEmpenho = tipo,
         TituloCampo = "Nº do CT",
         OcultarTituloComponente = true,
         OcultarBotaoConsultar = true
     });
 }
示例#3
0
        public static SFCODOC GerarSiafisicoCtDescricao(Documento document, EnumAcaoSiaf acao, EnumTipoOperacaoEmpenho operacaoEmpenho)
        {
            var siafdoc = new SFCODOC();

            string mensagem = string.Empty;

            var qtdConvertida = document.EmpenhoItem.QuantidadeMaterialServico.ConverterQuantidade();

            string vlrDesc;
            string vlrInt;
            //if (document.EmpenhoItem.ValorUnitario.ToString().Length < 3)
            //{
            //    vlrDesc = int.Parse(document.EmpenhoItem.ValorUnitario.ToString()).ToString("D2");
            //    vlrInt = "0";
            //}
            //else
            //{
            //    vlrDesc = document.EmpenhoItem.ValorUnitario.ToString().Substring(document.EmpenhoItem.ValorUnitario.ToString().Length - 2, 2);
            //    vlrInt = document.EmpenhoItem.ValorUnitario.ToString().Substring(0, document.EmpenhoItem.ValorUnitario.ToString().Length - 2);
            //}
            var arrVlr = document.EmpenhoItem.ValorUnitario.ToString(new CultureInfo("pt-BR")).Split(',');

            vlrInt  = arrVlr[0] ?? "0";
            vlrDesc = arrVlr.Length == 1 ? "0" : arrVlr[1] ?? "0";

            string numeroCt      = string.Empty;
            string ug            = string.Empty;
            string gestao        = string.Empty;
            int    dist          = 0;
            string valorUnitario = string.Empty;

            switch (operacaoEmpenho)
            {
            case EnumTipoOperacaoEmpenho.Cancelamento:
                numeroCt = document.EmpenhoCancelamento.NumeroCT ?? string.Empty;
                ug       = document.EmpenhoCancelamento.CodigoUnidadeGestora;
                gestao   = document.EmpenhoCancelamento.CodigoGestao;
                dist     = 70;
                break;

            case EnumTipoOperacaoEmpenho.Reforco:
            case EnumTipoOperacaoEmpenho.Empenho:
            default:
                numeroCt = document.Empenho.NumeroCT ?? string.Empty;
                ug       = document.Empenho.CodigoUnidadeGestora;
                gestao   = document.Empenho.CodigoGestao;
                dist     = 50;
                break;
            }

            var doc = new documento
            {
                UG                  = ug,
                Gestao              = gestao,
                NumeroCT            = numeroCt,
                Item                = document.EmpenhoItem.CodigoItemServico,
                Quantidade          = qtdConvertida.Key,
                QuantidadeDec       = qtdConvertida.Value,
                JustificativaPreco1 = acao == EnumAcaoSiaf.Alterar ? document.EmpenhoItem.DescricaoJustificativaPreco : ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[0],
                JustificativaPreco2 = acao == EnumAcaoSiaf.Alterar ? document.EmpenhoItem.DescricaoJustificativaPreco : ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[1],
            };

            switch (acao)
            {
            case EnumAcaoSiaf.Alterar:
                doc.Seq                  = document.EmpenhoItem.SequenciaItem.ToString();
                doc.ConfirmaPreco        = "S";
                doc.JustificativaItemNao = document.EmpenhoItem.DescricaoItemSiafem;
                doc.UnidadeFornecimento  = document.EmpenhoItem.CodigoUnidadeFornecimentoItem;
                doc.ValorParteInteira    = vlrInt.Replace(",", "");
                doc.ValorParteDecimal    = vlrDesc;

                siafdoc.SiafisicoDocAltDescCT = new SiafisicoDocAltDescCT();
                siafdoc.cdMsg = "SFCODocAltDescCT";
                siafdoc.SiafisicoDocAltDescCT.documento = doc;
                break;

            case EnumAcaoSiaf.Inserir:
            default:
                doc.UnidadeForn      = document.EmpenhoItem.CodigoUnidadeFornecimentoItem;
                doc.ValorUnitario    = vlrInt.Replace(",", "");
                doc.ValorUnitarioDec = vlrDesc;
                doc.Validademinimadoprodutonaentregade50porcento = "x";
                doc.Validademinimadoprodutonaentregade60porcento = " ";
                doc.Validademinimadoprodutonaentregade75porcento = " ";
                doc.Validademinimadoprodutonaentregade80porcento = " ";
                doc.Validademinimadoprodutonaentregavideedital   = " ";
                doc.Validademinimadoprodutonaentregaconformelegislacaovigentemedicamentomanipulado = " ";
                doc.JustificativaValorLancado1 = ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[0];
                doc.JustificativaValorLancado2 = ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[1];

                siafdoc.SiafisicoDocDescCT = new SiafisicoDocDescCT();
                siafdoc.cdMsg = "SFCOCTDESC001";
                siafdoc.SiafisicoDocDescCT.documento = doc;
                break;
            }

            return(siafdoc);
        }
 protected PesquisaCTViewModel InitializePesquisaCTViewModel(ILiquidacaoDespesa objModel, EnumTipoOperacaoEmpenho tipo)
 {
     return(new PesquisaCTViewModel().CreateInstance(objModel, tipo));
 }
        protected T Display <T>(T entity, bool isNewRecord, bool visualizar) where T : ILiquidacaoDespesa
        {
            EnumTipoOperacaoEmpenho tipo = EnumTipoOperacaoEmpenho.Empenho;

            if (isNewRecord)
            {
                entity = InitializeEntityModel(entity);
            }
            entity.CodigoUnidadeGestora = _regionalList.FirstOrDefault(x => x.Id == _userLoggedIn.RegionalId)?.Uge;
            entity.CodigoGestao         = "16055";
            entity.NumeroContrato       = entity.NumeroContrato == "0" ? null : entity.NumeroContrato;

            var msg = new List <string>
            {
                entity.MensagemProdesp,
                entity.MensagemSiafemSiafisico
            };

            if (!string.IsNullOrEmpty(entity.MensagemProdesp) || !string.IsNullOrEmpty(entity.MensagemSiafemSiafisico))
            {
                ViewBag.MsgRetorno = string.Join("\n", msg.Where(x => x != null));
            }
            else
            {
                ViewBag.MsgRetorno = null;
            }


            ViewBag.PesquisaReservaContrato = InitializePesquisaReservaContratoViewModel(entity);

            if (entity is Subempenho)
            {
                tipo = EnumTipoOperacaoEmpenho.Subempenho;
                ViewBag.PesquisaTipoApropriacao = InitializePesquisaTipoApropriacaoViewModel(entity as Subempenho);
                var inclusao = (Subempenho)Convert.ChangeType(entity, typeof(Subempenho));
                ViewBag.DadoApropriacao          = InitializeDadoApropriacaoViewModel(inclusao);
                ViewBag.DadoApropriacaoEstrutura = InitializeDadoApropriacaoEstruturaViewModel(inclusao);
                ViewBag.DadoCaucao            = new DadoCaucaoViewModel().CreateInstance(inclusao.QuotaGeralAutorizadaPor, inclusao.NumeroGuia, inclusao.ValorCaucionado);
                ViewBag.PesquisaEmpenhoCredor = InitializePesquisaEmpenhoCredorViewModel(inclusao);
            }

            if (entity is SubempenhoCancelamento)
            {
                tipo = EnumTipoOperacaoEmpenho.SubempenhoAnulacao;
                ViewBag.PesquisaTipoApropriacao = InitializePesquisaTipoApropriacaoViewModel(entity);
                var anulacao = (SubempenhoCancelamento)Convert.ChangeType(entity, typeof(SubempenhoCancelamento));
                ViewBag.DadoApropriacao = InitializeDadoApropriacaoViewModel(anulacao);
            }

            if (entity is RapInscricao)
            {
                var inscricao = (RapInscricao)Convert.ChangeType(entity, typeof(RapInscricao));
                ViewBag.DadoInscricao    = InitializeDadoInscricaoViewModel(inscricao);
                ViewBag.DadoCaucao       = new DadoCaucaoViewModel().CreateInstance(inscricao.QuotaGeralAutorizadaPor, inscricao.NumeroGuia, inscricao.ValorCaucionado, inscricao.ValorRealizado);
                ViewBag.PesquisaSaldoRap = new PesquisaSaldoRapViewModel().CreateInstance(inscricao, GetProgramAvailableYears(), _regionalList);
            }

            if (entity is RapRequisicao)
            {
                var requisicao = (RapRequisicao)Convert.ChangeType(entity, typeof(RapRequisicao));
                ViewBag.PesquisaEmpenhoRap       = new PesqEmpenhoRapViewModel().CreateInstance(requisicao);
                ViewBag.PesquisaInscritoRap      = new PesqSubempInscritoRapViewModel().CreateInstance(requisicao);
                ViewBag.DadoRequisicaoRap        = InitializeDadoRequisicaoRapViewModel(requisicao);
                ViewBag.DadoApropriacaoEstrutura = InitializeDadoApropriacaoEstruturaViewModel(requisicao);
                ViewBag.DadoCaucao = new DadoCaucaoViewModel().CreateInstance(requisicao.QuotaGeralAutorizadaPor, requisicao.NumeroGuia, requisicao.ValorCaucionado, requisicao.ValorRealizado);
            }

            if (entity is RapAnulacao)
            {
                var anulacao = (RapAnulacao)Convert.ChangeType(entity, typeof(RapAnulacao));
                ViewBag.PesquisaRequisicaoRap    = new PesquisaRequisicaoRapViewModel().CreateInstance(anulacao);
                ViewBag.DadoRequisicaoRap        = InitializeDadoRequisicaoRapViewModel(anulacao);
                ViewBag.DadoApropriacaoEstrutura = InitializeDadoApropriacaoEstruturaViewModel(anulacao);
                ViewBag.DadoCaucao     = new DadoCaucaoViewModel().CreateInstance(anulacao.QuotaGeralAutorizadaPor, anulacao.NumeroGuia, anulacao.ValorCaucionado, anulacao.ValorRealizado);
                ViewBag.DadoSaldoValor = new DadoSaldoValorAnulacao().CreateInstance(anulacao.ValorSaldoAnteriorSubempenho, anulacao.ValorAnulado, anulacao.ValorSaldoAposAnulacao, isNewRecord);
            }

            ViewBag.DadoLiquidacaoNota = InitializeDadoLiquidacaoNotaViewModel(entity);

            if (entity is Subempenho || entity is SubempenhoCancelamento)
            {
                ViewBag.DadoLiquidacaoEvento     = InitializeDadoLiquidacaoEventoViewModel(entity);
                ViewBag.DadoLiquidacaoEventoGrid = InitializeDadoLiquidacaoEventoGridViewModel(entity);
                ViewBag.DadoLiquidacaoItem       = InitializeDadoLiquidacaoItemViewModel(entity);
                //ViewBag.DadoLiquidacaoItemGrid = InitializeDadoLiquidacaoItemGridViewModel(entity);
                ViewBag.CenarioAtual = entity.CenarioSiafemSiafisico;


                if (!visualizar && !isNewRecord)
                {
                    string ct = string.IsNullOrWhiteSpace(entity.NumeroCT) ? string.Empty : entity.NumeroCT;

                    if (string.IsNullOrWhiteSpace(ct) && !string.IsNullOrWhiteSpace(entity.NumeroOriginalSiafemSiafisico) && entity.Itens.Count() > 0)
                    {
                        ConsultaNe consultaNe = App.CommonService.ConsultaNe(entity.NumeroOriginalSiafemSiafisico, _userLoggedIn);
                        if (consultaNe != null)
                        {
                            ct = consultaNe.NumeroContrato;
                        }
                    }

                    if (!string.IsNullOrWhiteSpace(ct))
                    {
                        ConsultaCt consultaCt = App.CommonService.ConsultaCt(_userLoggedIn, ct, "");

                        List <BaseEmpenhoItem> itemsComSaldo = CalcularSaldo(_userLoggedIn, consultaCt, tipo, "");
                        var itensDaEntidade = entity.Itens.ToList();
                        entity.Itens = PreencherSaldo(itensDaEntidade, itemsComSaldo);
                    }
                }

                var itens = InitializeDadoLiquidacaoItemGridViewModel(entity.Itens, (EnumCenarioSiafemSiafisico)entity.CenarioSiafemSiafisico);

                ViewBag.DadoLiquidacaoItemGrid = itens;
            }

            ViewBag.DadoObservacao = InitializeDadoObservacaoViewModel(entity);
            ViewBag.DadoAssinatura = InitializeDadoAssinaturaViewModel(entity, isNewRecord);
            ViewBag.DadoReferencia = InitializeDadoReferenciaViewModel(entity);
            ViewBag.DadoDespesa    = InitializeDadoDespesaViewModel(entity);

            ViewBag.PesquisaCT = InitializePesquisaCTViewModel(entity, tipo);

            ViewBag.TipoEmpenho = tipo;

            InitializeCommonBags(entity);

            return(entity);
        }
        protected T Display <T>(T objModel, bool isNewRecord) where T : IEmpenho
        {
            EnumTipoOperacaoEmpenho tipo = EnumTipoOperacaoEmpenho.Empenho;

            IEnumerable <IMes>         monthList = new List <IMes>();
            IEnumerable <IEmpenhoItem> itemList  = new List <IEmpenhoItem>();


            if (isNewRecord)
            {
                objModel = InitializeEntityModel(objModel);
            }


            objModel.NumeroContrato = objModel.NumeroContrato == "0" ? null : objModel.NumeroContrato;


            var msg = new List <string>
            {
                objModel.MensagemServicoProdesp,
                objModel.MensagemSiafemSiafisico
            };


            if (!string.IsNullOrEmpty(objModel.MensagemServicoProdesp) ||
                !string.IsNullOrEmpty(objModel.MensagemSiafemSiafisico))
            {
                ViewBag.MsgRetorno = string.Join("\n", msg.Where(x => x != null));
            }
            else
            {
                ViewBag.MsgRetorno = null;
            }


            if (objModel is Empenho)
            {
                tipo = EnumTipoOperacaoEmpenho.Empenho;
                var empenho = (Empenho)Convert.ChangeType(objModel, typeof(Empenho));
                ViewBag.PesquisaReserva = InitializePesquisaReservaViewModel(empenho.CodigoReserva);
                ViewBag.DadoObra        = InitializeDadoObraViewModel(empenho);
                ViewBag.DadoEmpenho     = InitializeDadoEmpenhoViewModel(empenho);
                ViewBag.DadoEntrega     = InitializeDadoEntregaViewModel(empenho);

                monthList = App.EmpenhoMesService.Buscar(new EmpenhoMes()
                {
                    Id = empenho.Id
                }).Cast <IMes>();
                itemList = App.EmpenhoItemService.Buscar(new EmpenhoItem()
                {
                    EmpenhoId = empenho.Id
                }).Cast <IEmpenhoItem>();
            }


            if (objModel is EmpenhoReforco)
            {
                tipo = EnumTipoOperacaoEmpenho.Reforco;
                var reforco = (EmpenhoReforco)Convert.ChangeType(objModel, typeof(EmpenhoReforco));
                ViewBag.PesquisaReserva     = InitializePesquisaReservaViewModel(reforco.CodigoReserva);
                ViewBag.PesquisaEmpenho     = InitializePesquisaEmpenhoReforcoViewModel(reforco.CodigoEmpenho);
                ViewBag.PesquisaNotaEmpenho = InitializePesquisaNotaEmpenhoViewModel(reforco);

                monthList = App.EmpenhoReforcoMesService.Buscar(new EmpenhoReforcoMes()
                {
                    Id = reforco.Id
                }).Cast <IMes>();
                itemList = App.EmpenhoReforcoItemService.Buscar(new EmpenhoReforcoItem()
                {
                    EmpenhoId = reforco.Id
                }).Cast <IEmpenhoItem>();
            }

            if (objModel is EmpenhoCancelamento)
            {
                tipo = EnumTipoOperacaoEmpenho.Cancelamento;
                var cancelamento = (EmpenhoCancelamento)Convert.ChangeType(objModel, typeof(EmpenhoCancelamento));
                ViewBag.PesquisaReserva     = InitializePesquisaReservaViewModel(cancelamento.CodigoReserva);
                ViewBag.PesquisaEmpenho     = InitializePesquisaEmpenhoReforcoViewModel(cancelamento.CodigoEmpenho);
                ViewBag.PesquisaNotaEmpenho = InitializePesquisaNotaEmpenhoViewModel(cancelamento);
                ViewBag.DadoCancelamento    = InitializeDadoCancelamentoViewModel(cancelamento);

                monthList = App.EmpenhoCancelamentoMesService.Buscar(new EmpenhoCancelamentoMes()
                {
                    Id = cancelamento.Id
                }).Cast <IMes>();
                itemList = App.EmpenhoCancelamentoItemService.Buscar(new EmpenhoCancelamentoItem()
                {
                    EmpenhoId = cancelamento.Id
                }).Cast <IEmpenhoItem>();
            }



            List <string> municipios      = new List <string>();
            List <object> listaMunicipios = new List <object>();

            municipios.AddRange(MunicipioList.Select(x => x.Descricao).ToList());
            listaMunicipios.AddRange(MunicipioList.Select(x => new { Nome = x.Descricao, x.Codigo }).ToList());

            ViewBag.Municipios      = municipios;
            ViewBag.ListaMunicipios = listaMunicipios;

            ViewBag.PesquisaCT = InitializePesquisaCTViewModel(objModel, tipo);
            ViewBag.PesquisaReservaContrato  = InitializePesquisaReservaContratoViewModel(objModel.NumeroContrato);
            ViewBag.PesquisaReservaEstrutura = InitializePesquisaReservaEstruturaViewModel(objModel);
            ViewBag.DadoReforco    = InitializeDadoReforcoViewModel(objModel);
            ViewBag.DadoDespesa    = InitializeDadoDespesaViewModel(objModel);
            ViewBag.DadoAssinatura = InitializeDadoAssinaturaViewModel(objModel, isNewRecord);

            ViewBag.ValorEmpenho        = new ValorEmpenhoViewModel().CreateInstance(objModel.Id, monthList);
            ViewBag.DadoEmpenhoItem     = InitializeDadoEmpenhoItemViewModel(itemList, objModel.TransmitirSiafem);
            ViewBag.DadoEmpenhoItemGrid = InitializeDadoEmpenhoItemGridViewModel(itemList, objModel.TransmitirSiafem);

            InitializeCommonBags(objModel.ProgramaId);

            return(objModel);
        }