Esempio n. 1
0
        public string RegrasAndamentos(string tipoAndamento, string modalidade, int idProcesso)
        {
            string retorno = string.Empty;

            if (tipoAndamento.ToUpper().Equals("CONCLUÍDO") || tipoAndamento.ToUpper().Equals("EM CONFERÊNCIA"))
            {
                if (modalidade.ToUpper().Equals("PREGÃO ELETRÔNICO") || modalidade.ToUpper().Equals("PREGÃO PRESENCIAL"))
                {
                    DetachedCriteria dcPregoeiro = DetachedCriteria.For(typeof(ProcessoPapelPessoa));
                    dcPregoeiro.CreateAlias("Processo", "pro").CreateAlias("Papel", "pap");
                    dcPregoeiro.Add(Expression.Eq("pro.Id", idProcesso));
                    dcPregoeiro.Add(Expression.Eq("pap.Descricao", "PREGOEIRO"));

                    DetachedCriteria dcProcessoAndamento = DetachedCriteria.For(typeof(ProcessoAndamento));
                    dcProcessoAndamento.CreateAlias("Processo", "pro").CreateAlias("FluxoAndamento", "flu").CreateAlias("flu.Fase", "fas");
                    dcProcessoAndamento.Add(Expression.Eq("pro.Id", idProcesso));
                    dcProcessoAndamento.Add(Expression.Eq("fas.Descricao", "REALIZAÇÃO"));

                    if (!ProcessoPapelPessoa.Exists(dcPregoeiro) && ProcessoAndamento.Exists(dcProcessoAndamento))
                    {
                        retorno = "FAVOR CADASTRAR UM PREGOEIRO ANTES DE EFETUAR A CONCLUSÃO";
                    }
                }
            }
            return(retorno);
        }
Esempio n. 2
0
        public ProcessoPapelPessoa[] listarPessoasProcesso(int idProcesso)
        {
            DetachedCriteria pesquisaPessoas = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            pesquisaPessoas.Add(Expression.Eq("Processo.Id", idProcesso));

            return(ProcessoPapelPessoa.FindAll(pesquisaPessoas));
        }
Esempio n. 3
0
        public ProcessoPapelPessoa getPPPporPessoaProcesso(int idPessoa, int idProcesso)
        {
            DetachedCriteria pesqPPP1 = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            pesqPPP1.Add(Expression.Eq("Pessoa.Id", idPessoa))
            .Add(Expression.Eq("Processo.Id", idProcesso));
            return(ProcessoPapelPessoa.FindFirst(pesqPPP1));
        }
Esempio n. 4
0
        public ProcessoPapelPessoa[] listarPessoasPorProcessoPapelPrincipal(int idProcesso, int idPapel)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            dc.Add(Expression.Eq("Processo.Id", idProcesso));
            dc.Add(Expression.Eq("Papel.Id", idPapel));

            return(ProcessoPapelPessoa.FindAll(dc));
        }
Esempio n. 5
0
        public ProcessoPapelPessoa getPPPPessoaProcessoPapelVencedor(string vencedor, int idPai)
        {
            DetachedCriteria pesqPPP = DetachedCriteria.For(typeof(ProcessoPapelPessoa), "ppp");

            pesqPPP.Add(Expression.Eq("Pessoa.Id", int.Parse(vencedor)))
            .Add(Expression.Eq("Papel.Id", Papel.FindOne(Expression.Eq("Descricao", "VENCEDOR")).Id))
            .Add(Expression.Eq("Processo.Id", idPai));

            return(ProcessoPapelPessoa.FindFirst(pesqPPP));
        }
Esempio n. 6
0
        public ProcessoPapelPessoa existePPP(int papel, int pessoa, int processo)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            dc.Add(Expression.Eq("Pessoa.Id", pessoa));
            dc.Add(Expression.Eq("Papel.Id", papel));
            dc.Add(Expression.Eq("Processo.Id", processo));

            return(ProcessoPapelPessoa.FindFirst(dc));
        }
Esempio n. 7
0
        public ProcessoPapelPessoa[] getPPPByProcessoPapelAnalista(Processo objProcesso)
        {
            DetachedCriteria dcPessoa = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            dcPessoa.CreateAlias("Papel", "pap");
            dcPessoa.Add(Expression.Eq("Processo", objProcesso));
            dcPessoa.Add(Expression.InsensitiveLike("pap.Descricao", "ANALISTA DE PROCESSO"));

            return(ProcessoPapelPessoa.FindAll(dcPessoa));
        }
Esempio n. 8
0
        public ProcessoPapelPessoa getPPPPregoeiroPrincipal(int processo)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            dc.CreateAlias("Papel", "pap");
            dc.Add(Expression.Eq("pap.Descricao", "PREGOEIRO"));
            dc.Add(Expression.Eq("Processo.Id", processo));
            dc.Add(Expression.Eq("PregoeiroPrincipal", true));

            return(ProcessoPapelPessoa.FindFirst(dc));
        }
Esempio n. 9
0
        public static bool existeVencedor(int processo)
        {
            Console.WriteLine("testandoooo");
            DetachedCriteria pesqVencedor = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            pesqVencedor.Add(Expression.Eq("Processo.Id", processo));
            pesqVencedor.CreateAlias("Papel", "pap").Add(Expression.Eq("pap.Descricao", "VENCEDOR"));
            if (ProcessoPapelPessoa.Exists(pesqVencedor))
            {
                Console.WriteLine("true");
                return(true);
            }
            else
            {
                Console.WriteLine("false");
                return(false);
            }
        }
Esempio n. 10
0
        public static bool isProcessoPapelPessoaCadastrado(int processo, int papel, int pessoa)
        {
            DetachedCriteria dcPesqExistePPP = DetachedCriteria.For(typeof(ProcessoPapelPessoa));

            dcPesqExistePPP.Add(Expression.Eq("Pessoa.Id", pessoa));
            dcPesqExistePPP.Add(Expression.Eq("Papel.Id", papel));
            dcPesqExistePPP.Add(Expression.Eq("Processo.Id", processo));

            ProcessoPapelPessoa objPPP = ProcessoPapelPessoa.FindFirst(dcPesqExistePPP);

            if (objPPP == null)
            {
                Console.WriteLine("EH NULO");
                return(false);
            }
            else
            {
                Console.WriteLine("NAO EH NULO: " + objPPP.Id);
                return(true);
            }
        }
Esempio n. 11
0
        public string executarFuncaoCorrigirPregoeirosProcesso(string di, string df)
        {
            SrvUnidadeExercicioFuncaoPessoa objSrvUEFP = new SrvUnidadeExercicioFuncaoPessoa();
            SrvProcessoPapelPessoa          objSrvPPP  = new SrvProcessoPapelPessoa();
            List <string>       lista     = this.listarProcessosComDataConclusao(di, df);
            string              papel     = this.getCodigoPapelPorDescricao("PREGOEIRO");
            ProcessoPapelPessoa objPPP    = null;
            string              resultado = "Lista de SPU's: ";

            foreach (string cod in lista)
            {
                string select = @"
				SELECT uex.pk_cod_unidade_exercicio_uex as unidade, pan.fk_cod_processo_pro as processo
				FROM adm_licitar.tb_processo_andamento_pan pan
				INNER JOIN adm_licitar.tb_fluxo_andamento_fan fan ON fan.pk_cod_fluxo_andamento_fan = pan.fk_cod_fluxo_andamento_fan
				INNER JOIN adm_licitar.tb_atividade_ati ati ON ati.pk_cod_atividade_ati = fan.fk_cod_atividade_ati
				INNER JOIN adm_licitar.tb_unidade_exercicio_uex uex ON uex.pk_cod_unidade_exercicio_uex = pan.fk_cod_unidade_exercicio_uex
				WHERE pan.fk_cod_processo_pro = '@processo'
				AND ati.txt_descricao_ati = 'TRAMITAR'
				AND uex.txt_descricao_uex ILIKE 'PREGOEIRO%'
				ORDER BY pan.dat_cadastro_pan DESC
				LIMIT 1
				"                ;

                select = select.Replace("@processo", cod);

                DataTable dt = Consultar(select);

                bool existePregoeiroProcesso = false;

                using (TransactionScope scope = new TransactionScope())
                {
                    try
                    {
                        foreach (DataRow row in dt.Rows)
                        {
                            string unidade   = row["unidade"].ToString();
                            int    idUnidade = 0;
                            if (int.TryParse(unidade, out idUnidade))
                            {
                                UnidadeExercicioFuncaoPessoa[] listaPregoeiros = objSrvUEFP.ListarPregoeirosDaSubUnidade(idUnidade);
                                if (listaPregoeiros.Length > 0)
                                {
                                    ProcessoPapelPessoa[] listaPPP = objSrvPPP.listarPessoasPorProcessoPapelPrincipal(Convert.ToInt32(cod), Convert.ToInt32(papel));

                                    if (listaPPP.Length > 0)
                                    {
                                        foreach (ProcessoPapelPessoa p in listaPPP)
                                        {
                                            if (p.Pessoa == listaPregoeiros[0].Pessoa)
                                            {
                                                if (!p.PregoeiroPrincipal)
                                                {
                                                    p.PregoeiroPrincipal = true;
                                                    p.Update();
                                                    resultado += Processo.numSPU(p.Processo.Id) + "; ";
                                                }
                                                existePregoeiroProcesso = true;
                                            }
                                            else
                                            {
                                                p.PregoeiroPrincipal = false;
                                                p.Update();
                                            }
                                        }
                                    }

                                    if (!existePregoeiroProcesso)
                                    {
                                        objPPP                    = new ProcessoPapelPessoa();
                                        objPPP.Papel              = new Papel(Convert.ToInt32(papel));
                                        objPPP.Pessoa             = listaPregoeiros[0].Pessoa;
                                        objPPP.Processo           = new Processo(Convert.ToInt32(cod));
                                        objPPP.PregoeiroPrincipal = true;

                                        int idProcesso = objPPP.Processo.Id;
                                        resultado += Processo.numSPU(idProcesso) + "; ";
                                        objPPP.Save();
                                    }
                                }
                            }
                        }
                        scope.VoteCommit();
                    }
                    catch
                    {
                        scope.VoteRollBack();
                        resultado = "Ocorreu um erro!";
                    }
                }
            }
            resultado += "<br/> Processos Corrigidos com Sucesso!";
            return(resultado);
        }