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 })); } }
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 })); } }
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 } })); } } }
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 })); } }
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 } })); } } }