예제 #1
0
        public int  RetornarUltimoIdDataMarcacao(int idProcesso, int processoAndamentoAdiado)
        {
            string[] andamentosAgenda =
            {
                "LICITAÇÃO MARCADA",
                "LICITAÇÃO MARCADA EM CONTINUIDADE",
                "DISPUTA",
                "SESSÃO FINAL",
                "SESSÃO DE RESULTADO - HABILITAÇÃO",
                "SESSÃO DE RESULTADO - PROPOSTA COMERCIAL",
                "SESSÃO DE ABERTURA - PROPOSTA COMERCIAL",
                "SESSÃO DE ABERTURA - PROPOSTA TÉCNICA",
                "SESSÃO DE RESULTADO - PROPOSTA TÉCNICA"
            };

            DetachedCriteria dc = DetachedCriteria.For(typeof(ProcessoAndamento));

            dc.Add(Expression.Eq("Processo.Id", idProcesso));
            dc.Add(Expression.IsNull("AndamentoCorrigido"));
            dc.CreateAlias("AndamentoAdiado", "adi");
            dc.Add(Expression.Eq("adi.Id", processoAndamentoAdiado));
            dc.CreateAlias("FluxoAndamento", "fan");
            dc.CreateAlias("fan.Atividade", "ati");
            dc.Add(Expression.In("ati.Descricao", andamentosAgenda));
            dc.Add(Expression.Sql(" this_.dat_andamento_pan >= '" + DateTime.Now + "' order by this_.dat_andamento_pan desc "));
            ProcessoAndamento andamento = ProcessoAndamento.FindFirst(dc);

            return(andamento.Id);
        }
예제 #2
0
        public void MarcarUltimaDataRealizacao(int idProcesso, ProcessoAndamento fkCodProcAndRemarcado)
        {
            string[] andamentosAgenda =
            {
                "LICITAÇÃO MARCADA",
                // MF Inicio
                "LICITAÇÃO MARCADA EM CONTINUIDADE",
                // MF Fim
                "DISPUTA",
                "SESSÃO FINAL",
                "SESSÃO DE RESULTADO - HABILITAÇÃO",
                "SESSÃO DE RESULTADO - PROPOSTA COMERCIAL",
                "SESSÃO DE ABERTURA - PROPOSTA COMERCIAL",
                "SESSÃO DE ABERTURA - PROPOSTA TÉCNICA",
                "SESSÃO DE RESULTADO - PROPOSTA TÉCNICA"
            };

            DetachedCriteria dc = DetachedCriteria.For(typeof(ProcessoAndamento));

            dc.Add(Expression.Eq("Processo.Id", idProcesso));
            dc.Add(Expression.IsNull("AndamentoCorrigido"));
            dc.Add(Expression.IsNull("AndamentoAdiado"));
            dc.CreateAlias("FluxoAndamento", "fan");
            dc.CreateAlias("fan.Atividade", "ati");
            dc.Add(Expression.In("ati.Descricao", andamentosAgenda));
            dc.Add(Expression.Sql(" this_.dat_andamento_pan >= '" + DateTime.Now + "' order by this_.dat_andamento_pan desc "));
            ProcessoAndamento andamento = ProcessoAndamento.FindFirst(dc);

            if (andamento != null)
            {
                andamento.AndamentoAdiado = fkCodProcAndRemarcado;
                andamento.SaveAndFlush();
            }
        }
예제 #3
0
        public ProcessoAndamento getUltimoAndamentoProcessoPorTipo(int idProcesso, string tipoAndamento)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(ProcessoAndamento));

            dc.CreateAlias("FluxoAndamento", "fan");
            dc.CreateAlias("fan.Atividade", "ati");

            dc.Add(Expression.Eq("Processo.Id", idProcesso));
            dc.Add(Expression.Eq("ati.Descricao", tipoAndamento));
            dc.AddOrder(Order.Desc("DataCadastro"));
            dc.AddOrder(Order.Desc("Id"));

            return(ProcessoAndamento.FindFirst(dc));
        }
예제 #4
0
        public void AdiamentodeAndamentosCorrigidos(int idUltimoCorrige, int fkProcAndAdiado)
        {
            try
            {
                DetachedCriteria pesqAndamentosCorrigidos = DetachedCriteria.For(typeof(ProcessoAndamento));
                pesqAndamentosCorrigidos.Add(Expression.Eq("AndamentoCorrigido.Id", idUltimoCorrige)).AddOrder(Order.Desc("Id"));

                ProcessoAndamento procAnd = ProcessoAndamento.FindFirst(pesqAndamentosCorrigidos);
                if (procAnd != null)
                {
                    procAnd.AndamentoAdiado = new ProcessoAndamento(fkProcAndAdiado);
                    procAnd.Update();

                    AdiamentodeAndamentosCorrigidos(procAnd.Id, fkProcAndAdiado);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }