Ejemplo n.º 1
0
        public ActionResult Assumir(ItemInbox item)
        {
            try
            {
                List <Incidente> lista = IncidenteBusiness.Consulta.Where(a =>
                                                                          string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(item.UniqueKey)).ToList();

                if (lista == null || lista.Count == 0)
                {
                    throw new Exception("Não foi possível recuperar o incidente através da identificação recebida.");
                }
                else
                {
                    ReiniciarCache(CustomAuthorizationProvider.UsuarioAutenticado.Login);

                    bool first = true;
                    foreach (Incidente obj in lista)
                    {
                        obj.StatusWF        = "SO";
                        obj.DataExclusao    = DateTime.Now;
                        obj.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                        IncidenteBusiness.Alterar(obj);

                        if (first)
                        {
                            first = false;
                            Incidente obj2 = new Incidente();
                            PropertyCopy.Copy(obj, obj2);

                            obj2.ID       = Guid.NewGuid().ToString();
                            obj2.StatusWF = "RS";

                            if (!string.IsNullOrEmpty(item.Comentarios))
                            {
                                obj2.MensagemPasso = item.Comentarios;
                            }

                            obj2.Responsavel     = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                            obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                            obj2.UsuarioExclusao = null;
                            obj2.DataExclusao    = DateTime.MaxValue;

                            IncidenteBusiness.Inserir(obj2);

                            Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi redirecionado para a sua caixa pessoal.", 10);
                        }
                    }
                }

                return(Json(new { sucesso = "O passo do workflow associado ao documento foi aprovado com sucesso." }));
            }
            catch (Exception ex)
            {
                return(Json(new { erro = ex.Message }));
            }
        }
Ejemplo n.º 2
0
        public ActionResult RejeitarIncidente(ItemInbox item)
        {
            try
            {
                Incidente obj = IncidenteBusiness.Consulta.FirstOrDefault(a =>
                                                                          string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                                          a.UniqueKey.Equals(item.UniqueKey) &&
                                                                          a.Responsavel.ToUpper().Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login.ToUpper()));

                if (obj == null)
                {
                    throw new Exception("Não foi possível recuperar o incidente através da identificação recebida.");
                }
                else
                {
                    ReiniciarCache(CustomAuthorizationProvider.UsuarioAutenticado.Login);

                    obj.StatusWF        = "RJ";
                    obj.DataExclusao    = DateTime.Now;
                    obj.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    IncidenteBusiness.Alterar(obj);

                    string novoStatus = OperacaoBusiness.RecuperarStatusAnterior(obj.Status);

                    string sql         = "select top 1 Responsavel from objincidente where uniquekey = '" + item.UniqueKey + "' and UsuarioExclusao is not null and Status = '" + novoStatus + "' order by DataExclusao desc";
                    string Responsavel = IncidenteBusiness.ExecuteQuery(sql);
                    if (string.IsNullOrEmpty(Responsavel))
                    {
                        List <string> Responsaveis = OperacaoBusiness.RecuperarResponsavelPorStatus(novoStatus);
                        foreach (string resp in Responsaveis)
                        {
                            Incidente obj2 = new Incidente();
                            PropertyCopy.Copy(obj, obj2);

                            obj2.ID            = Guid.NewGuid().ToString();
                            obj2.StatusWF      = "RS";
                            obj2.MensagemPasso = item.Comentarios;
                            obj2.Status        = novoStatus;

                            if (resp.Equals("Submitter"))
                            {
                                string sql2      = "select top 1 UsuarioInclusao from OBJIncidente where Codigo = '" + obj2.Codigo + "' order by DataInclusao";
                                string submitter = IncidenteBusiness.ExecuteQuery(sql2);
                                if (string.IsNullOrEmpty(submitter))
                                {
                                    throw new Exception("Não foi possível recuperar o usuário que criou o incidente.");
                                }

                                obj2.Responsavel = submitter;
                            }
                            else
                            {
                                obj2.Responsavel = resp;
                            }

                            obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                            obj2.UsuarioExclusao = null;
                            obj2.DataExclusao    = DateTime.MaxValue;
                            obj2.DataAtualizacao = DateTime.Now;

                            IncidenteBusiness.Inserir(obj2);

                            Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi rejeitado com sucesso.", 10);
                        }
                    }
                    else
                    {
                        Incidente obj2 = new Incidente();
                        PropertyCopy.Copy(obj, obj2);

                        obj2.ID              = Guid.NewGuid().ToString();
                        obj2.StatusWF        = "RS";
                        obj2.MensagemPasso   = item.Comentarios;
                        obj2.Status          = novoStatus;
                        obj2.Responsavel     = Responsavel;
                        obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                        obj2.UsuarioExclusao = null;
                        obj2.DataExclusao    = DateTime.MaxValue;
                        obj2.DataAtualizacao = DateTime.Now;

                        IncidenteBusiness.Inserir(obj2);

                        Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi rejeitado com sucesso.", 10);
                    }
                }

                return(Json(new { sucesso = "O passo do workflow associado ao documento foi aprovado com sucesso." }));
            }
            catch (Exception ex)
            {
                return(Json(new { erro = ex.Message }));
            }
        }
Ejemplo n.º 3
0
        public ActionResult LoadIncidentesBar()
        {
            try
            {
                List <string[]> model = new List <string[]>();

                string sqlTotalIncidentesPorMes = @"select 'Pessoa' as Tipo, concat(month(DataInclusao), '/', year(DataInclusao)) as  mesref, COUNT(*) as total
                                                from OBJIncidente
                                                where UsuarioExclusao is null 
                                                group by concat(month(DataInclusao), '/', year(DataInclusao))

                                                union

                                                select 'Veiculo' as Tipo, concat(month(DataInclusao), '/', year(DataInclusao)) as mesref, COUNT(*) as total
                                                from OBJIncidenteVeiculo
                                                where UsuarioExclusao is null
                                                group by concat(month(DataInclusao), '/', year(DataInclusao))
                                                order by Tipo";

                DataTable result = IncidenteBusiness.GetDataTable(sqlTotalIncidentesPorMes);
                if (result.Rows.Count > 0)
                {
                    foreach (DataRow row in result.Rows)
                    {
                        string tipo   = row["Tipo"].ToString();
                        string mesref = row["mesref"].ToString();
                        string total  = row["total"].ToString();

                        string[] item = model.FirstOrDefault(a => a[0].Equals(mesref));

                        if (item == null)
                        {
                            if (tipo == "Pessoa")
                            {
                                model.Add(new string[] { mesref, total, "0" });
                            }
                            else
                            {
                                model.Add(new string[] { mesref, "0", total, "0" });
                            }
                        }
                        else
                        {
                            item[2] = total;
                        }
                    }


                    string chartData = "['Mês', 'Pessoa', { role: 'annotation' }, 'Veículo', { role: 'annotation' }],";
                    foreach (string[] item in model)
                    {
                        string NomeMes = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(int.Parse(item[0].Substring(0, item[0].IndexOf("/"))));
                        chartData += "['" + char.ToUpper(NomeMes[0]) + NomeMes.Substring(1) + "', " + item[1] + ", '" + item[1] + "', " + item[2] + ", '" + item[2] + "'],";
                    }

                    if (chartData.EndsWith(","))
                    {
                        chartData = chartData.Substring(0, chartData.Length - 1);
                    }

                    //Padrão
                    //    ['Janeiro', 9, '9', 6, '6'],
                    //    ['Fevereiro', 10, '10', 2, '2'],
                    //    ['Março', 11, '11', 4, '4'],
                    //    ['Abril', 12, '12', 4, '4'],
                    //    ['Maio', 15, '15', 5, '5'],
                    //    ['Junho', 12, '12', 4, '4']

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Conteudo = chartData
                                      } }));
                }

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Conteudo = ""
                                  } }));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
Ejemplo n.º 4
0
        public ActionResult AprovarIncidente(ItemInbox item)
        {
            try
            {
                Incidente obj = IncidenteBusiness.Consulta.FirstOrDefault(a =>
                                                                          string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                                          a.UniqueKey.Equals(item.UniqueKey) &&
                                                                          a.Responsavel.ToUpper().Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login.ToUpper()));

                if (obj == null)
                {
                    throw new Exception("Não foi possível recuperar o incidente através da identificação recebida.");
                }
                else
                {
                    ReiniciarCache(CustomAuthorizationProvider.UsuarioAutenticado.Login);

                    obj.StatusWF        = "SO";
                    obj.DataExclusao    = DateTime.Now;
                    obj.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    IncidenteBusiness.Alterar(obj);

                    string        novoStatus   = OperacaoBusiness.RecuperarProximoStatus(obj.Status);
                    List <string> Responsaveis = OperacaoBusiness.RecuperarResponsavelPorStatus(novoStatus);

                    foreach (string resp in Responsaveis)
                    {
                        Incidente obj2 = new Incidente();
                        PropertyCopy.Copy(obj, obj2);

                        obj2.ID        = Guid.NewGuid().ToString();
                        obj2.UniqueKey = item.UniqueKey;

                        if (novoStatus.Equals("Concluído"))
                        {
                            obj2.StatusWF = "SO";
                        }
                        else
                        {
                            obj2.StatusWF = "RS";
                        }

                        obj2.MensagemPasso   = item.Comentarios;
                        obj2.Status          = novoStatus;
                        obj2.Responsavel     = resp;
                        obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                        obj2.UsuarioExclusao = null;
                        obj2.DataExclusao    = DateTime.MaxValue;
                        obj2.DataAtualizacao = DateTime.Now;

                        IncidenteBusiness.Inserir(obj2);

                        Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi aprovado com sucesso.", 10);
                    }
                }

                return(Json(new { sucesso = "O passo do workflow associado ao documento foi aprovado com sucesso." }));
            }
            catch (Exception ex)
            {
                return(Json(new { erro = ex.Message }));
            }
        }
Ejemplo n.º 5
0
        public ActionResult LoadIncidentesVeiculosPorTipoAcidente()
        {
            try
            {
                List <string[]> model = new List <string[]>();

                string sqlTotalIncidentesPorMes = @"select ETipoAcidente, count(*) as total from OBJIncidenteVeiculo 
                                                    where UsuarioExclusao is null
	                                                group by ETipoAcidente"    ;

                DataTable result = IncidenteBusiness.GetDataTable(sqlTotalIncidentesPorMes);
                if (result.Rows.Count > 0)
                {
                    string chartData = "['Task', 'Hours per Day'],";

                    foreach (DataRow row in result.Rows)
                    {
                        string tipo  = row["ETipoAcidente"].ToString();
                        string total = row["total"].ToString();

                        ETipoAcidenteVeiculo eTipo = (ETipoAcidenteVeiculo)Enum.Parse(typeof(ETipoAcidenteVeiculo), tipo, true);
                        string sTipo = EnumExtensions.GetDisplayName(eTipo);

                        chartData += "['" + sTipo + "', " + total + "],";
                    }

                    if (chartData.EndsWith(","))
                    {
                        chartData = chartData.Substring(0, chartData.Length - 1);
                    }

                    //Padrão
                    //['Task', 'Hours per Day'],
                    //['Contratado', 11],
                    //['Empregado', 2],
                    //['Novos Negócio', 2],
                    //['Obra PART', 2],
                    //['Doença Ocupacional', 7]

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Conteudo = chartData
                                      } }));
                }

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Conteudo = ""
                                  } }));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }