public JsonResult RelatorioMaquina(int idempresa, string lista_ids, int periodo) { string sreult = string.Empty; string sFileName = string.Empty; Empresa empresaLista = null; // List <EmpresaRelatorioModel> lista_empresa_model = new List <EmpresaRelatorioModel>(); List <ColetorAlerta> lista_coletoralerta_model = new List <ColetorAlerta>(); List <ColetorAlertaLog> lista_coletor_alerta_log = new List <ColetorAlertaLog>(); // List <ColetorAlertaModel> lista_coletor_alerta_item_model = new List <ColetorAlertaModel>(); List <ColetorAlertaLogModel> lista_coletor_alerta_log_model = new List <ColetorAlertaLogModel>(); List <MaquinaItensReportModel> lista_maquina_itens_report_model = new List <MaquinaItensReportModel>(); // empresaLista = db.Empresa.Where(x => x.Id == idempresa).FirstOrDefault(); // if (empresaLista != null) { EmpresaRelatorioModel tmp = new EmpresaRelatorioModel(); // tmp.Id = empresaLista.Id; tmp.Nome = empresaLista.Nome; tmp.Numero = empresaLista.Numero; tmp.Telefone = empresaLista.Telefone; tmp.Site = empresaLista.Site; tmp.EstadoSigla = PegaEstadoSigla(empresaLista.Estado); tmp.Endereco = empresaLista.Endereco; tmp.CEP = empresaLista.CEP; tmp.Cidade = empresaLista.Cidade; tmp.NomeFantasia = empresaLista.NomeFantasia; tmp.Email = empresaLista.Email; tmp.Bairro = empresaLista.Bairro; lista_empresa_model.Add(tmp); } // string[] lista_ids_maquinas = lista_ids.Split(','); for (int i = 0; i < lista_ids_maquinas.Length; i++) { int idmaquina = Convert.ToInt32(lista_ids_maquinas[i]); Coletor coletor = db.Coletor.Where(x => x.Maquina != null && x.Maquina.ID == idmaquina).FirstOrDefault(); // if (coletor != null) { MaquinaItensReportModel mirm = new MaquinaItensReportModel(); // mirm.DescricaoColetor = coletor.Descricao; mirm.DescricaoMaquina = coletor.Maquina.Descricao; // lista_maquina_itens_report_model.Add(mirm); // lista_coletoralerta_model = db.ColetorAlerta.Where(x => x.Id_Coletor == coletor.Id).ToList(); foreach (ColetorAlerta item in lista_coletoralerta_model) { ColetorAlertaModel cam = new ColetorAlertaModel(); // cam.Id = item.Id; cam.Id_Empresa = item.Id_Empresa; cam.Id_Coletor = item.Id_Coletor; cam.Id_TipoAlerta = item.Id_TipoAlerta; cam.Prioridade = item.Prioridade.HasValue ? item.Prioridade.Value : 0; cam.DescricaoColetor = ""; cam.Descricao = item.Descricao; cam.Email = item.Email; switch (item.ColetorTipoAlerta.Tipo.Value) { case 1: cam.DescricaoTipoAlerta = "Temperatura"; break; case 2: cam.DescricaoTipoAlerta = "Pressão"; break; case 3: cam.DescricaoTipoAlerta = "Produção"; break; } cam.AtivoDescricao = item.Ativo.Value == 1 ? "Sim" : "Não"; // cam.Ativo = item.Ativo.Value; cam.Valor = item.Valor; cam.Regra = item.Regra.Value; cam.AtivoDescricao = ""; cam.Prioridade = 0; // lista_coletor_alerta_item_model.Add(cam); } // } } // ReportDocument oRelatorioMaquina = null; ReportDocument oRelatorioMaquinaItem = null; ReportDocument oRelatorioMaquinaItemAlerta = null; ReportDocument oRelatorioMaquinaItemLogAlerta = null; // try { oRelatorioMaquina = new ReportDocument(); oRelatorioMaquinaItem = new ReportDocument(); oRelatorioMaquinaItemAlerta = new ReportDocument(); oRelatorioMaquinaItemLogAlerta = new ReportDocument(); oRelatorioMaquina = new ReportDocument(); // string local = AppDomain.CurrentDomain.BaseDirectory + "Temp"; sFileName = "Relatório_Máquinas" + DateTime.Today.ToShortDateString() + "_" + DateTime.Now.ToLongTimeString() + "_.pdf"; sFileName = sFileName.Replace("/", "-"); sFileName = sFileName.Replace("\\", "-"); sFileName = sFileName.Replace(":", "-"); // oRelatorioMaquina.Load(System.Web.HttpContext.Current.Server.MapPath("~/Relatorio/") + "RelatorioMaquinaTemp.rpt"); oRelatorioMaquina.SetDataSource(lista_empresa_model); oRelatorioMaquina.Database.Tables[0].SetDataSource(lista_empresa_model); //oRelatorioMaquina.Subreports["RelatorioMaquinaItem.rpt"].Database.Tables[0].SetDataSource(lista_maquina_itens_report_model); //// //oRelatorioMaquinaItemAlerta.Load(System.Web.HttpContext.Current.Server.MapPath("~/Relatorio/") + "RelatorioMaquinaItemAlerta.rpt"); //oRelatorioMaquinaItemAlerta.SetDataSource(lista_coletor_alerta_item_model); //oRelatorioMaquinaItemAlerta.Database.Tables[0].SetDataSource(lista_coletor_alerta_item_model); // //oRelatorioMaquinaItem.Load(System.Web.HttpContext.Current.Server.MapPath("~/Relatorio/") + "RelatorioMaquinaItem.rpt"); //oRelatorioMaquinaItem.SetDataSource(lista_maquina_itens_report_model); //oRelatorioMaquinaItem.Database.Tables[0].SetDataSource(lista_maquina_itens_report_model); //oRelatorioMaquinaItem.Subreports["RelatorioMaquinaItemAlerta.rpt"].Database.Tables[0].SetDataSource(lista_coletor_alerta_item_model); // // // // oRelatorioMaquina.ExportToDisk(ExportFormatType.PortableDocFormat, local + "\\" + sFileName); // oRelatorioMaquinaItemAlerta.Close(); oRelatorioMaquina.Close(); oRelatorioMaquinaItem.Close(); // oRelatorioMaquinaItemAlerta.Dispose(); oRelatorioMaquina.Dispose(); oRelatorioMaquinaItem.Dispose(); // System.GC.Collect(); sreult = "ok"; } catch (Exception exc) { //Utils.Utils.Log.GravaLogExc(exc); sFileName = "Erro: " + exc.Message; sreult = "nok"; } // return(Json(new { data = sFileName, sreult, results = lista_empresa_model.Count(), success = true, errors = String.Empty }, JsonRequestBehavior.AllowGet)); }
public JsonResult RelatorioTemperaturaGetDados(int idempresa, string lista_ids, string periodo, string horaini, string horafim) { List <Object> lista = new List <Object>(); DateTime data_filtro_ini = new DateTime(); DateTime data_filtro_fim = new DateTime(); string[] lista_ids_maquinas = lista_ids.Split(','); // string maq = string.Empty; string sreult = string.Empty; string sFileName = string.Empty; Empresa empresaLista = null; // List <EmpresaRelatorioModel> lista_empresa_model = new List <EmpresaRelatorioModel>(); List <ColetorAlerta> lista_coletoralerta_model = new List <ColetorAlerta>(); List <ColetorAlertaLog> lista_coletor_alerta_log = new List <ColetorAlertaLog>(); // //List<ColetorAlertaModel> lista_coletor_alerta_item_model = new List<ColetorAlertaModel>(); List <ColetorAlertaLogModel> lista_coletor_alerta_log_model = new List <ColetorAlertaLogModel>(); List <MaquinaItensReportModel> lista_maquina_itens_report_model = new List <MaquinaItensReportModel>(); // empresaLista = db.Empresa.Where(x => x.Id == idempresa).FirstOrDefault(); // if (!string.IsNullOrEmpty(periodo)) { string[] datas_filro = periodo.Split('-'); string[] data_um = datas_filro[0].ToString().Split('/'); string[] data_dois = datas_filro[1].ToString().Split('/'); // if (!string.IsNullOrEmpty(horaini) && horaini.Contains(":")) { data_filtro_ini = new DateTime(Convert.ToInt32(data_um[2]), Convert.ToInt32(data_um[0]), Convert.ToInt32(data_um[1]), Convert.ToInt32(horaini.Split(':')[0]), Convert.ToInt32(horaini.Split(':')[1]), 1); } else { data_filtro_ini = new DateTime(Convert.ToInt32(data_um[2]), Convert.ToInt32(data_um[0]), Convert.ToInt32(data_um[1]), 0, 0, 1); } // if (!string.IsNullOrEmpty(horaini) && horafim.Contains(":")) { data_filtro_fim = new DateTime(Convert.ToInt32(data_dois[2]), Convert.ToInt32(data_dois[0]), Convert.ToInt32(data_dois[1]), Convert.ToInt32(horafim.Split(':')[0]), Convert.ToInt32(horafim.Split(':')[1]), 59); } else { data_filtro_fim = new DateTime(Convert.ToInt32(data_dois[2]), Convert.ToInt32(data_dois[0]), Convert.ToInt32(data_dois[1]), 23, 59, 59); } } // try { for (int i = 0; i < lista_ids_maquinas.Length; i++) { int idmaquina = Convert.ToInt32(lista_ids_maquinas[i]); Coletor coletor = db.Coletor.Where(x => x.Maquina != null && x.Maquina.ID == idmaquina).FirstOrDefault(); // if (coletor != null) { MaquinaItensReportModel mirm = new MaquinaItensReportModel(); // mirm.DescricaoColetor = coletor.Descricao; mirm.DescricaoMaquina = coletor.Maquina.Descricao; if (string.IsNullOrEmpty(maq)) { maq = coletor.Maquina.Descricao; } else { maq = maq + " - " + coletor.Maquina.Descricao; } // lista_maquina_itens_report_model.Add(mirm); // lista_coletoralerta_model = db.ColetorAlerta.Where(x => x.Id_Coletor == coletor.Id).ToList(); // string teste = @" SELECT Cast(datahora AS DATE) AS 'Data', DATENAME(weekday, Cast(datahora AS DATE)) AS 'DiaSemana', Datepart(month, datahora) AS Mes, Datepart(day, datahora) AS Dia, Temperatura FROM ColetorTemperaturaHistorico WHERE Id_Coletor = 47 AND DataHora >= '2019-12-15 14:40:01.000' AND DataHora <= '2019-12-31 14:40:01.000' AND Temperatura IS NOT NULL ORDER BY Datepart(month, datahora), Datepart(day, datahora) "; string sql_temp = @"SELECT Cast(datahora AS DATE) AS 'Data', DATENAME(weekday, Cast(datahora AS DATE)) AS 'DiaSemana', Datepart(month, datahora) AS Mes, Datepart(day, datahora) AS Dia, ROUND((Avg(Cast(temperatura AS FLOAT)) / 10 ), 2) AS 'TemperaturaMedia' FROM ColetorTemperaturaHistorico WHERE Id_Coletor = " + coletor.Id + @" AND DataHora >= '" + data_filtro_ini.ToString("yyyy/MM/dd HH:mm:ss.fff", CultureInfo.InvariantCulture) + @"' AND DataHora <= '" + data_filtro_fim.ToString("yyyy/MM/dd HH:mm:ss.fff", CultureInfo.InvariantCulture) + @"' AND Temperatura IS NOT NULL GROUP BY Cast(datahora AS DATE), Datepart(day, datahora), Datepart(month, datahora) ORDER BY Datepart(month, datahora), Datepart(day, datahora)"; // SQLController sqlcontroller = new SQLController(); DataTable data_temp = sqlcontroller.ExecutaSQL(teste); // if (data_temp != null && data_temp.Rows.Count > 0) { double[] valoresY = new double[data_temp.Rows.Count]; string[] valoresX = new string[data_temp.Rows.Count]; // for (int k = 0; k < data_temp.Rows.Count; k++) { valoresX[k] = Convert.ToString(data_temp.Rows[k]["Dia"]) + "/" + Convert.ToString(data_temp.Rows[k]["Mes"]); valoresY[k] = Convert.ToDouble(data_temp.Rows[k]["Temperatura"]); } // List <Object> lista_itens = new List <Object>(); lista_itens.Add(valoresX); lista_itens.Add(valoresY); lista_itens.Add(coletor.Maquina.Descricao); // lista.Add(lista_itens); } } } } catch (Exception exc) { sFileName = "Erro: " + exc.Message; sreult = "nok"; } // return(Json(new { data = "OK", results = 1, success = true, errors = 0, dados = lista, maquinas = maq, periodo = data_filtro_ini.ToShortDateString() + " " + data_filtro_ini.ToShortTimeString() + " - " + data_filtro_fim.ToShortDateString() + " " + data_filtro_fim.ToShortTimeString() }, JsonRequestBehavior.AllowGet)); }