Example #1
0
 static void Main(string[] args)
 {
     try
     {
         TituloBus etl = new TituloBus();
         etl.AtualizarETL();
     }
     catch (Exception exc)
     {
         Log.GerarLog(exc);
     }
 }
Example #2
0
        public ActionResult ObterTitulo(TituloFiltro filtros, int indice)
        {
            if (!_validar.ObterTitulo(filtros, indice))
            {
                return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
            }

            TituloBus     tituloBus  = new TituloBus();
            List <Titulo> resultados = tituloBus.Obter(filtros);

            _validar.AposObterTitulo(filtros, resultados);
            return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @Titulo = resultados.FirstOrDefault() }, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        public ChecagemPendencia ObterDeTituloDePendencia(int tituloId)
        {
            TituloBus         _busTitulo = new TituloBus();
            ChecagemPendencia checkPend  = new ChecagemPendencia();
            Titulo            titulo     = _busTitulo.Obter(tituloId);
            OficioNotificacao notPend    = _busPend.Obter(tituloId) as OficioNotificacao;

            String protocoloNumero      = "";
            String protocoloInteressado = "";

            if (titulo.Protocolo.IsProcesso)
            {
                ProcessoBus processoBus = new ProcessoBus();
                Processo    processo    = processoBus.Obter(titulo.Protocolo.Id.Value);
                protocoloNumero      = processo.Numero;
                protocoloInteressado = processo.Interessado.NomeRazaoSocial;
            }
            else             // documento
            {
                DocumentoBus documentoBus = new DocumentoBus();
                Documento    documento    = documentoBus.Obter(titulo.Protocolo.Id.Value);
                protocoloNumero      = documento.Numero;
                protocoloInteressado = documento.Interessado.NomeRazaoSocial;
            }

            if (Validacao.EhValido && !String.IsNullOrWhiteSpace(protocoloNumero))
            {
                checkPend.Id               = notPend.Id.Value;
                checkPend.TituloId         = titulo.Id;
                checkPend.TituloNumero     = titulo.Numero.Texto;
                checkPend.TituloTipoSigla  = titulo.Modelo.Sigla;
                checkPend.TituloVencimento = titulo.DataVencimento;
                checkPend.ProtocoloNumero  = protocoloNumero;
                checkPend.InteressadoNome  = protocoloInteressado;

                List <Situacao> situacoesItem        = _busLista.SituacaoChecagemPendenciaItem;
                Situacao        situacaoNaoConferido = situacoesItem.First(x => x.Id == 1);
                foreach (AnaliseItemEsp item in notPend.Itens)
                {
                    ChecagemPendenciaItem checkPendItem = ChecagemPendenciaItem.FromAnaliseItemEsp(item);
                    checkPendItem.SituacaoId    = situacaoNaoConferido.Id;
                    checkPendItem.SituacaoTexto = situacaoNaoConferido.Texto;
                    checkPend.Itens.Add(checkPendItem);
                }
            }

            return(checkPend);
        }
        public bool Salvar(Documento documento)
        {
            try
            {
                documento.Emposse.Id = User.FuncionarioId;

                if (documento.Arquivo == null)
                {
                    documento.Arquivo = new Arquivo();
                }

                bool isEdicao = (documento.Id > 0);

                if (_validar.Salvar(documento))
                {
                    #region Arquivos/Diretorio

                    if (documento.Arquivo.Id != null && documento.Arquivo.Id == 0)
                    {
                        ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);
                        documento.Arquivo = _busArquivo.Copiar(documento.Arquivo);
                    }

                    #endregion

                    #region Setar Valores

                    ListaBus      listaBus     = new ListaBus();
                    ProtocoloTipo configuracao = listaBus.TiposDocumento.FirstOrDefault(x => x.Id == documento.Tipo.Id);

                    documento.ProtocoloAssociado = (configuracao.PossuiProcesso || configuracao.ProcessoObrigatorio) ? documento.ProtocoloAssociado : new Protocolo();
                    documento.ChecagemPendencia  = (configuracao.PossuiChecagemPendencia || configuracao.ChecagemPendenciaObrigatorio) ? documento.ChecagemPendencia : new ChecagemPendencia();
                    documento.ChecagemRoteiro    = (configuracao.PossuiChecagemRoteiro || configuracao.ChecagemRoteiroObrigatorio) ? documento.ChecagemRoteiro : new ChecagemRoteiro();
                    documento.Requerimento       = (configuracao.PossuiRequerimento || configuracao.RequerimentoObrigatorio) ? documento.Requerimento : new Requerimento();

                    #endregion

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        #region Arquivos/Banco

                        if (documento.Arquivo.Id == 0)
                        {
                            ArquivoDa _arquivoDa = new ArquivoDa();
                            _arquivoDa.Salvar(documento.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados);
                        }

                        #endregion

                        ChecagemPendenciaBus _checagemPendenciaBus = new ChecagemPendenciaBus();

                        using (BancoDeDados bancoDeDadosCredenciado = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                        {
                            bancoDeDadosCredenciado.IniciarTransacao();

                            #region Alterar Situacao Requerimento

                            if (documento.Id.HasValue)
                            {
                                Documento docOriginal = _da.ObterSimplificado(documento.Id.Value) as Documento;
                                docOriginal.Requerimento = _busRequerimento.ObterSimplificado(docOriginal.Requerimento.Id);

                                if (docOriginal.Requerimento.Id != documento.Requerimento.Id)
                                {
                                    AlterarRequerimentoSituacao(docOriginal, banco: bancoDeDados);

                                    if (docOriginal.Requerimento.IsRequerimentoDigital)
                                    {
                                        CARSolicitacaoBus carSolicitacaoCredenciadoBus = new CARSolicitacaoBus();
                                        carSolicitacaoCredenciadoBus.DesassociarProtocolo(new CARSolicitacao()
                                        {
                                            Requerimento = docOriginal.Requerimento
                                        }, bancoDeDadosCredenciado);

                                        if (!_busProjetoDigital.AlterarSituacao(docOriginal.Requerimento.Id, eProjetoDigitalSituacao.AguardandoProtocolo, bancoDeDadosCredenciado))
                                        {
                                            bancoDeDados.Rollback();
                                            return(false);
                                        }
                                    }
                                }
                            }

                            #endregion

                            Documento documentoOriginal = new Documento();
                            if (documento.Id != null && documento.Id.GetValueOrDefault() > 0)
                            {
                                documentoOriginal = ObterSimplificado(documento.Id.Value);
                            }

                            #region Titulo

                            if (documento.ChecagemPendencia.Id > 0 && documento.Id.GetValueOrDefault() == 0)
                            {
                                documento.ChecagemPendencia = _checagemPendenciaBus.Obter(documento.ChecagemPendencia.Id);

                                TituloBus tituloBus = new TituloBus();
                                Titulo    titulo    = tituloBus.Obter(documento.ChecagemPendencia.TituloId);

                                if (titulo.Situacao.Id != 5)                                //5 - Encerrado
                                {
                                    titulo.DataEncerramento.Data = DateTime.Now;
                                    titulo.MotivoEncerramentoId  = 7;                                   //Encerrado
                                    TituloSituacaoBus tituloSituacaoBus = new TituloSituacaoBus();
                                    tituloSituacaoBus.AlterarSituacao(titulo, (int)eAlterarSituacaoAcao.Encerrar, bancoDeDados);

                                    if (Validacao.EhValido)
                                    {
                                        Validacao.Erros.Clear();
                                    }
                                }

                                #region Itens da Analise

                                AnaliseItensBus busAnalise = new AnaliseItensBus(new AnaliseItensValidar());

                                AnaliseItem analiseItem = busAnalise.ObterAnaliseTitulo(documento.ChecagemPendencia.TituloId);
                                analiseItem = busAnalise.Obter(analiseItem.Id, bancoDeDados);
                                //int setorId = _busProc.ObterSetor(analiseItem.Protocolo.Id);

                                foreach (Item item in analiseItem.Itens)
                                {
                                    if (documento.ChecagemPendencia.Itens.Exists(x => x.Id == item.Id))
                                    {
                                        item.Analista = User.Name;
                                        item.Situacao = (int)eAnaliseItemSituacao.Recebido;
                                        item.Motivo   = String.Empty;
                                        item.Recebido = true;
                                        item.Editado  = true;
                                        //item.SetorId = setorId;
                                        item.DataAnalise = DateTime.Now.ToString();
                                    }
                                }

                                AnaliseItensDa _daAnalise = new AnaliseItensDa();
                                _daAnalise.Salvar(analiseItem, bancoDeDados);

                                #endregion
                            }

                            #endregion

                            #region Atividade

                            List <Atividade> lstAtividadesAtual = null;
                            if ((documento.Id ?? 0) > 0)
                            {
                                lstAtividadesAtual = _da.ObterAtividades(documento.Id.GetValueOrDefault(), bancoDeDados).Atividades;
                            }

                            if (documento.Atividades != null && documento.Atividades.Count > 0)
                            {
                                documento.Atividades.ForEach(x =>
                                {
                                    x.Protocolo.Id         = documento.Id.GetValueOrDefault();
                                    x.Protocolo.IsProcesso = false;
                                });

                                AtividadeBus atividadeBus = new AtividadeBus();
                                atividadeBus.AlterarSituacaoProcDoc(documento.Atividades, lstAtividadesAtual, bancoDeDados);
                                atividadeBus.TituloAnteriores(documento.Atividades, lstAtividadesAtual, bancoDeDados);
                            }

                            #endregion

                            _da.Salvar(documento, bancoDeDados);

                            #region Checagens

                            // cadastrando, seta situação da checagem de itens de roteiro/pendencia como protocolada
                            if (documentoOriginal.Id.GetValueOrDefault() <= 0)
                            {
                                _busCheckList.AlterarSituacao(documento.ChecagemRoteiro.Id, 2, bancoDeDados); //protocolada

                                documento.ChecagemPendencia.SituacaoId = 2;                                   //protocolada
                                _checagemPendenciaBus.AlterarSituacao(documento.ChecagemPendencia, bancoDeDados);
                            }
                            else                             // editando documento
                            {                                // se checagem de itens de roteiro foi alterada, setar o status da antiga como finalizada e setar o status da nova como protocolada
                                if (documento.ChecagemRoteiro.Id != documentoOriginal.ChecagemRoteiro.Id)
                                {
                                    _busCheckList.AlterarSituacao(documentoOriginal.ChecagemRoteiro.Id, 1, bancoDeDados);                            //finalizada
                                    _busCheckList.AlterarSituacao(documento.ChecagemRoteiro.Id, 2, bancoDeDados);                                    //protocolada
                                }
                            }

                            #endregion

                            documento.Requerimento = _busRequerimento.ObterSimplificado(documento.Requerimento.Id);

                            if (documento.Requerimento.IsRequerimentoDigital)
                            {
                                CARSolicitacaoBus carSolicitacaoCredenciadoBus = new CARSolicitacaoBus();
                                carSolicitacaoCredenciadoBus.AssociarProtocolo(new CARSolicitacao()
                                {
                                    Requerimento = documento.Requerimento
                                }, bancoDeDadosCredenciado);

                                if (documentoOriginal.Requerimento.Id != documento.Requerimento.Id)
                                {
                                    if (!_busProjetoDigital.AlterarSituacao(documento.Requerimento.Id, eProjetoDigitalSituacao.AguardandoAnalise, bancoDeDadosCredenciado))
                                    {
                                        bancoDeDados.Rollback();
                                        return(false);
                                    }
                                }
                            }

                            AlterarRequerimentoSituacao(documento, 3, bancoDeDados);                            // Protocolado

                            #region Fiscalizacao

                            if (isEdicao && documento.Fiscalizacao.Id != documentoOriginal.Fiscalizacao.Id && documentoOriginal.Fiscalizacao.Id > 0)
                            {
                                documentoOriginal.Fiscalizacao.SituacaoNovaTipo      = (int)eFiscalizacaoSituacao.CadastroConcluido;
                                documentoOriginal.Fiscalizacao.SituacaoNovaData.Data = DateTime.Now;
                                documentoOriginal.Fiscalizacao.SituacaoAtualTipo     = documento.Fiscalizacao.SituacaoId;

                                _busFiscalizacao.AlterarSituacaoProcDoc(documentoOriginal.Fiscalizacao, bancoDeDados);
                            }

                            if (documento.Fiscalizacao.Id != documentoOriginal.Fiscalizacao.Id)
                            {
                                documento.Fiscalizacao.SituacaoNovaTipo      = (int)eFiscalizacaoSituacao.Protocolado;
                                documento.Fiscalizacao.SituacaoNovaData.Data = DateTime.Now;
                                documento.Fiscalizacao.SituacaoAtualTipo     = documento.Fiscalizacao.SituacaoId;

                                _busFiscalizacao.AlterarSituacaoProcDoc(documento.Fiscalizacao, bancoDeDados);
                            }

                            #endregion

                            //sempre no final esse if
                            if (!Validacao.EhValido)
                            {
                                bancoDeDadosCredenciado.Rollback();
                                bancoDeDados.Rollback();
                                return(false);
                            }

                            bancoDeDadosCredenciado.Commit();
                        }

                        bancoDeDados.Commit();
                    }

                    Mensagem msgSucesso = Mensagem.Documento.Salvar(documento.Numero);
                    if (isEdicao)
                    {
                        msgSucesso = Mensagem.Documento.Editar;
                    }

                    Validacao.Add(msgSucesso);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
Example #5
0
        public void TituloAnteriores(List <Atividade> atividades, List <Atividade> atividadesAtuais, BancoDeDados banco = null)
        {
            AtividadeBus      atividadeBus             = new AtividadeBus();
            TituloBus         tituloBus                = new TituloBus();
            List <Atividade>  lstTituloAntigoAtividade = null;
            List <Finalidade> lstFinalidades           = null;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Ao Remover titulos anteriores

                if (atividadesAtuais != null && atividadesAtuais.Count > 0)
                {
                    foreach (Atividade atividadeAtual in atividadesAtuais)
                    {
                        lstFinalidades = atividadeAtual.Finalidades.Where(y => (y.Id == 1 || y.Id == 3)).ToList();                        //1 - Nova fase, 3 - Renovacao
                        foreach (Finalidade finalidade in lstFinalidades)
                        {
                            if ((finalidade.TituloAnteriorId ?? 0) == 0)
                            {
                                continue;
                            }

                            lstTituloAntigoAtividade = null;

                            Atividade atividadeNova = atividades.SingleOrDefault(x => x.IdRelacionamento == atividadeAtual.IdRelacionamento);
                            if (atividadeNova == null)
                            {
                                lstTituloAntigoAtividade = tituloBus.ObterAtividades(finalidade.TituloAnteriorId.Value, bancoDeDados);
                            }
                            else
                            {
                                Finalidade finalidadeNova = atividadeNova.Finalidades.SingleOrDefault(x => x.IdRelacionamento == finalidade.IdRelacionamento);
                                if (finalidadeNova != null && (finalidadeNova.TituloAnteriorId ?? 0) <= 0)
                                {
                                    lstTituloAntigoAtividade = tituloBus.ObterAtividades(finalidade.TituloAnteriorId.Value, bancoDeDados);
                                }
                            }

                            if (lstTituloAntigoAtividade != null && lstTituloAntigoAtividade.Count > 0)
                            {
                                foreach (var tituloAnteriorAtividade in lstTituloAntigoAtividade)
                                {
                                    eAtividadeSituacao atividadeSituacao = eAtividadeSituacao.EmAndamento;
                                    if (atividadeBus.VerificarDeferir(tituloAnteriorAtividade, bancoDeDados))
                                    {
                                        atividadeSituacao = eAtividadeSituacao.Deferida;
                                    }
                                    tituloAnteriorAtividade.SituacaoId = (int)atividadeSituacao;
                                    atividadeBus.AlterarSituacao(tituloAnteriorAtividade, bancoDeDados);
                                }
                            }
                        }
                    }
                }

                #endregion

                #region Ao Adicionar titulos anteriores

                lstFinalidades = null;
                foreach (var atividade in atividades)
                {
                    lstFinalidades = atividade.Finalidades.Where(y => (y.Id == 1 || y.Id == 3)).ToList();                    //1 - Novo, 3 - Renovacao
                    foreach (Finalidade finalidade in lstFinalidades)
                    {
                        if ((finalidade.TituloAnteriorId ?? 0) <= 0)
                        {
                            continue;
                        }

                        //1 - Interno
                        if (finalidade.TituloAnteriorTipo == 1)
                        {
                            lstTituloAntigoAtividade = tituloBus.ObterAtividades(finalidade.TituloAnteriorId.Value, bancoDeDados);

                            if (lstTituloAntigoAtividade != null)
                            {
                                //finalidade 1 - Novo = "Nova fase"
                                eAtividadeSituacao atividadeSituacao = (finalidade.Id == 1) ? eAtividadeSituacao.NovaFase : eAtividadeSituacao.EmRenovacao;
                                atividadeBus.AlterarSituacao(lstTituloAntigoAtividade, atividadeSituacao, bancoDeDados);
                            }
                        }
                    }
                }

                #endregion
            }
        }