示例#1
0
        public int Save(ListaRE entity)
        {
            var paramNumeroRE          = new SqlParameter("@cd_relob_re", entity.NumeroRE);
            var paramNumeroOB          = new SqlParameter("@nr_ob_re", entity.NumeroOB);
            var paramFlagPrioridade    = new SqlParameter("@fg_prioridade", entity.FlagPrioridade);
            var paramTipoOB            = new SqlParameter("@cd_tipo_ob", entity.TipoOB);
            var paramNomeFavorecido    = new SqlParameter("@ds_nome_favorecido", entity.NomeFavorecido);
            var paramBancoFavorecido   = new SqlParameter("@ds_banco_favorecido", entity.BancoFavorecido);
            var paramAgenciaFavorecida = new SqlParameter("@cd_agencia_favorecido", entity.AgenciaFavorecida);
            var paramContaFavorecida   = new SqlParameter("@ds_conta_favorecido", entity.ContaFavorecida);
            var paramValorOB           = new SqlParameter("@vl_ob", entity.ValorOB);

            var dbResult = DataHelper.Get <int>("PR_ITENS_OBS_RE_SALVAR", paramNumeroRE, paramNumeroOB, paramFlagPrioridade,
                                                paramTipoOB, paramNomeFavorecido, paramBancoFavorecido, paramAgenciaFavorecida, paramContaFavorecida, paramValorOB);

            return(dbResult);
        }
示例#2
0
        public int SalvarOuAlterarRe(ListaRE entity, int recursoId, short action)
        {
            try
            {
                entity.Id = _repositoryListaRe.Save(entity);

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

                return(entity.Id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, recursoId);
            }
        }
        public ActionResult Transmitir(string unidadeGestora, string gestao, string banco, string dataSolicitacao, string numeroRelatorio, string mantemAgrupamento)
        {
            try
            {
                string Titulo = "", Mensagem = "";
                var    objModel = App.ImpressaoRelacaoRERTService.TransmitirImpressaoRelacaoReRt(unidadeGestora, gestao, banco, dataSolicitacao, numeroRelatorio, Convert.ToInt32(_funcId), Convert.ToInt16(EnumAcao.Transmitir), Convert.ToString(Session["ChamarApenasRT"]));

                if (mantemAgrupamento == "")
                {
                    Session["Agrupamento"] = App.ImpressaoRelacaoRERTService.GetNumeroAgrupamento();
                }

                // Verifica se chamou uma vez a RT para chamar apenas o webService do RT
                if (objModel.Relob?.Substring(4, 2) == "RT")
                {
                    Session["ChamarApenasRT"] = "RT";
                }

                // Grava um "OK" para identificar que passou uma vez na RE para validar a condição da mensagem de "Sem Registros RE e RT"
                if (objModel.Relob?.Substring(4, 2) == "RE" && objModel.MsgRetorno == null)
                {
                    Session["GravouUmaRE"] = "OK";
                }
                else if (Session["GravouUmaRE"] == "OK" && objModel.MsgRetorno?.Substring(0, 6) == "(0203)")
                {
                    Session["GravouUmaRE"] = "";
                }

                //if (string.IsNullOrWhiteSpace(objModel.MsgRetorno) && string.IsNullOrWhiteSpace(objModel.MsgErro))
                if ((objModel.MsgRetorno?.Substring(0, 6) != "(0203)" || objModel.MsgRetorno != "HA SOMENTE RT" || objModel.MsgErro != null) && Session["GravouUmaRE"] != "")
                {
                    var obj = new ImpressaoRelacaoRERT();
                    obj.CodigoRelacaoRERT    = objModel.Relob;
                    obj.CodigoOB             = "";
                    obj.CodigoRelatorio      = objModel.CodigoRelatorio;
                    obj.NumeroAgrupamento    = Convert.ToInt32(Session["Agrupamento"]);
                    obj.CodigoUnidadeGestora = string.IsNullOrWhiteSpace(objModel.UnidadeGestora) ? unidadeGestora : objModel.UnidadeGestora;
                    obj.NomeUnidadeGestora   = objModel.Relob?.Substring(4, 2) == "RE" ? objModel.NomeDaUnidadeGestoraRE : objModel.NomeDaUnidadeGestoraRT;
                    obj.CodigoGestao         = string.IsNullOrWhiteSpace(objModel.Gestao) ? gestao : objModel.Gestao;
                    obj.NomeGestao           = objModel.Relob?.Substring(4, 2) == "RE" ? objModel.NomeDaGestaoRE : objModel.NomeDaGestaoRT;
                    obj.CodigoBanco          = string.IsNullOrWhiteSpace(objModel.Banco) ? banco : objModel.Banco;
                    obj.NomeBanco            = objModel.Relob?.Substring(4, 2) == "RE" ? objModel.NomeDoBancoRE : objModel.NomeDoBancoRT;
                    obj.TextoAutorizacao     = objModel.TextoAutorizacao;
                    obj.Cidade = objModel.Cidade;
                    obj.NomeGestorFinanceiro        = objModel.NomeGestorFinanceiro;
                    obj.NomeOrdenadorAssinatura     = objModel.NomeOrdenadorAssinatura;
                    obj.DataSolicitacao             = string.IsNullOrWhiteSpace(dataSolicitacao) ? DateTime.Now : DateTime.ParseExact(dataSolicitacao, "ddMMyyyy", CultureInfo.InvariantCulture);
                    obj.DataReferencia              = string.IsNullOrWhiteSpace(objModel.DataReferencia) ? default(DateTime) : DateTime.ParseExact(objModel.DataReferencia, "ddMMyyyy", CultureInfo.InvariantCulture);
                    obj.DataCadastramento           = DateTime.Now;
                    obj.DataEmissao                 = string.IsNullOrWhiteSpace(objModel.DataEmissao) ? default(DateTime) : DateTime.ParseExact(objModel.DataEmissao, "ddMMyyyy", CultureInfo.InvariantCulture);
                    obj.ValorTotalDocumento         = objModel.ValorTotalDocumento / 100; // Divide o valor que retorna do Mainframe
                    obj.ValorExtenso                = objModel.ValorPorExtenso;
                    obj.FlagTransmitidoSiafem       = objModel.StatusOperacao ? true : false;
                    obj.FlagTransmitirSiafem        = true;
                    obj.DataTransmissaoSiafem       = DateTime.Now;
                    obj.StatusSiafem                = (string.IsNullOrWhiteSpace(objModel.MsgRetorno) && string.IsNullOrWhiteSpace(objModel.MsgErro)) ? "S" : "E";
                    obj.MsgRetornoTransmissaoSiafem = objModel.MsgErro != null ? objModel.MsgErro : null;
                    obj.FlagCancelamentoRERT        = false;
                    obj.Agencia     = objModel.Agencia;
                    obj.NomeAgencia = objModel.NomeDaAgencia;
                    obj.NumeroConta = objModel.ContaC;

                    App.ImpressaoRelacaoRERTService.SalvarOuAlterar(obj, Convert.ToInt32(_funcId), Convert.ToInt16(EnumAcao.Inserir));
                }

                // Inclusão de OBs
                if (objModel.Relob?.Substring(4, 2) == "RE")
                {
                    var objListaRE = new ListaRE();
                    foreach (var re in objModel.RepeticoesReRt.ListaOB)
                    {
                        objListaRE.NumeroRE          = objModel.Relob;
                        objListaRE.NumeroOB          = re.Numero;
                        objListaRE.FlagPrioridade    = re.IndPrioridade;
                        objListaRE.TipoOB            = Convert.ToInt32(re.TipoOb);
                        objListaRE.NomeFavorecido    = re.NomeDoFavorecido;
                        objListaRE.BancoFavorecido   = re.BancoFavorecido;
                        objListaRE.AgenciaFavorecida = re.AgenciaFavorecido;
                        objListaRE.ContaFavorecida   = re.ContaFavorecido;
                        objListaRE.ValorOB           = re.ValorOb / 100; // Divide o valor que retorna do Mainframe

                        Mensagem = "Gerado relação: <b>" + objModel.Relob + "</b><br><br>Deseja continuar a geração?";
                        Titulo   = "Geração RE/RT";

                        App.ImpressaoRelacaoRERTService.SalvarOuAlterarRe(objListaRE, Convert.ToInt32(_funcId), Convert.ToInt16(EnumAcao.Inserir));
                    }
                }
                else if (objModel.Relob?.Substring(4, 2) == "RT")
                {
                    var objListaRT = new ListaRT();
                    foreach (var rt in objModel.RepeticoesReRt.ListaOB)
                    {
                        objListaRT.NumeroRT = objModel.Relob;
                        objListaRT.NumeroOB = rt.Numero;
                        objListaRT.ContaBancariaEmitente    = rt.ContaBancariaEmitente;
                        objListaRT.UnidadeGestoraFavorecida = rt.UnidadeGestoraFavorecida;
                        objListaRT.GestaoFavorecida         = rt.GestaoFavorecida;
                        objListaRT.MnemonicoUfFavorecida    = rt.MnemonicoUgFavorecida;
                        objListaRT.BancoFavorecido          = rt.BancoFavorecido;
                        objListaRT.AgenciaFavorecida        = rt.AgenciaFavorecido;
                        objListaRT.ContaFavorecida          = rt.ContaFavorecido;
                        objListaRT.ValorOB = rt.ValorOb / 100; // Divide o valor que retorna do Mainframe

                        Mensagem = "Gerado relação: <b>" + objModel.Relob + "</b><br><br>Deseja continuar a geração?";
                        Titulo   = "Geração RE/RT";

                        App.ImpressaoRelacaoRERTService.SalvarOuAlterarRt(objListaRT, Convert.ToInt32(_funcId), Convert.ToInt16(EnumAcao.Inserir));
                    }
                }
                else if (objModel.SemReRt == "Sem Registros RE e RT" && mantemAgrupamento == "")
                {
                    Titulo   = "Transmitido";
                    Mensagem = "Não existe documento pendente para emissão de RE e RT";
                }
                else if (objModel.MsgRetorno?.Substring(0, 6) == "(0203)")
                {
                    Titulo   = "Transmitido";
                    Mensagem = "Não existe documento pendente para emissão.";
                }
                else
                {
                    Titulo   = "Erro";
                    Mensagem = string.IsNullOrWhiteSpace(objModel.MsgRetorno) ? objModel.MsgErro : objModel.MsgRetorno;
                }
                return(Json(new
                {
                    Status = "Sucesso",
                    CodigoReRt = string.IsNullOrWhiteSpace(objModel.Relob) ? "" : objModel.Relob,
                    Mensagem = Mensagem,
                    Titulo = Titulo,
                    Agrupamento = Session["Agrupamento"],
                    UnidadeGestora = unidadeGestora,
                    Gestao = gestao,
                    Banco = banco
                }));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(500, ex.Message));
            }
        }
示例#4
0
 public IEnumerable <ListaRE> Fetch(ListaRE entity)
 {
     throw new NotImplementedException();
 }
示例#5
0
 public IEnumerable <ListaRE> FetchForGrid(ListaRE entity, DateTime since, DateTime until)
 {
     throw new NotImplementedException();
 }