private void Grafico_Click(object sender, EventArgs e) { VO.Ciclos ciclo = CicloDAO.buscaCiclo(crg, idCiclo); Grafico grafico = new Grafico(ciclo); grafico.ShowDialog(this); }
private void RelTratamento_Load(object sender, EventArgs e) { reportViewer1.LocalReport.EnableExternalImages = true; var fieldInfo = typeof(Microsoft.Reporting.WinForms.RenderingExtension).GetField("m_isVisible", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); foreach (var extension in this.reportViewer1.LocalReport.ListRenderingExtensions()) { if (string.Compare("Excel", extension.Name) == 0) { fieldInfo.SetValue(extension, false); } else if (string.Compare("WORD", extension.Name) == 0) { fieldInfo.SetValue(extension, false); } else if (string.Compare("EXCELOPENXML", extension.Name) == 0) { fieldInfo.SetValue(extension, false); } else if (string.Compare("WORDOPENXML", extension.Name) == 0) { fieldInfo.SetValue(extension, false); } } List <ProdutoCiclo> listaProdutos; if (empresa != "") { int idEmpresa = EmpresaCicloDAO.retornaID(empresa); listaProdutos = ProdutoCicloDAO.listaProdutosCicloPorEmpresa(ciclo, idEmpresa); } else { listaProdutos = ProdutoCicloDAO.listaProdutosCiclo(ciclo); } var listaLeiturasTrat = LeiturasTratDAO.ListaLeiturasTratamento(ciclo); var listaLeiturasCiclo = LeiturasCicloDAO.ListaLeiturasCiclos(ciclo); var strProdutos = string.Empty; foreach (var p in listaProdutos) { strProdutos += p.produto.descricao + " com " + p.volume + " " + p.unidade.unidade + " - " + p.empresa.nome + Environment.NewLine; } RelatorioUtils.GerarQrCode($"Relatório do Controlador Nº {ciclo.crg} {Environment.NewLine}Nº Série: {ciclo.numSerie}{Environment.NewLine}" + $"Tratamento Nº {ciclo.nTrat}{Environment.NewLine}" + $"Nº de leituras: {ciclo.nl}{Environment.NewLine}{Environment.NewLine}" + $"Período do ciclo: {Environment.NewLine}Início: {ciclo.dataInicio}{Environment.NewLine}Fim: {ciclo.dataFim}{Environment.NewLine}{Environment.NewLine}" + $"Temperatura de Controle {Environment.NewLine}Tc: {ciclo.temperaturaControle} ºC{Environment.NewLine}{Environment.NewLine}" + $"Temperatura do Tratamento {Environment.NewLine}Tt: {ciclo.temperaturaTrat} ºC{Environment.NewLine}{Environment.NewLine}" + $"Tempo do Tratamento {Environment.NewLine}tt: {ciclo.tempoTrat} minuto(s){Environment.NewLine}{Environment.NewLine}" + (!string.IsNullOrWhiteSpace(ciclo.VolumeFixo) ? $"Volume total: {Environment.NewLine}" + ciclo.VolumeFixo + (ciclo.IsMetrosCubicos ? "m³" : " peças") + Environment.NewLine + Environment.NewLine : "") + (listaLeiturasTrat?.Count > 0 ? $"Início do Tratamento{Environment.NewLine}Leitura: {ciclo.NLIniTrat}{Environment.NewLine}Data: {ciclo.dataIniTrat}{Environment.NewLine}(concluído)" : "Não realizou tratamento") + Environment.NewLine + Environment.NewLine + $"Responsável Técnico: {Environment.NewLine}{ciclo.responsavel}{Environment.NewLine}{Environment.NewLine}" + $"Operador: {Environment.NewLine}{ciclo.operador}{Environment.NewLine}{Environment.NewLine}" + $"PRODUTOS: {Environment.NewLine}" + strProdutos ); ReportParameter Titulo = new ReportParameter("Titulo"); Titulo.Values.Add("Relatório do Controlador Nº " + ciclo.crg + " (Nº Série: " + ciclo.numSerie + ")"); ReportParameter Periodo = new ReportParameter("Periodo"); Periodo.Values.Add("Período do ciclo: " + ciclo.dataInicio + " - " + ciclo.dataFim); ReportParameter Tc = new ReportParameter("Tc"); Tc.Values.Add(" - Temperatura de Controle (Tc): " + ciclo.temperaturaControle + " ºC"); ReportParameter Tt = new ReportParameter("Tt"); Tt.Values.Add(" - Temperatura do Tratamento (Tt): " + ciclo.temperaturaTrat + " ºC"); ReportParameter tempoT = new ReportParameter("tempoT"); tempoT.Values.Add(" - Tempo do Tratamento (tt): " + ciclo.tempoTrat + " minuto(s)"); ReportParameter Controlador = new ReportParameter("Controlador"); Controlador.Values.Add("Controlador nº " + ciclo.crg + " com " + ciclo.nl + " leituras(NTrat: " + ciclo.nTrat + ")"); ReportParameter Descricao = new ReportParameter("Descricao"); Descricao.Values.Add("Descrição: " + ciclo.descricao); ReportParameter VolumeFixo = new ReportParameter("VolumeFixo"); if (!string.IsNullOrWhiteSpace(ciclo.VolumeFixo)) { VolumeFixo.Values.Add("Volume total: " + ciclo.VolumeFixo + (ciclo.IsMetrosCubicos ? "m³" : " peças")); } else { VolumeFixo.Values.Add(""); } ReportParameter Tratamento = new ReportParameter("Tratamento"); if (listaLeiturasCiclo != null && listaLeiturasTrat.Count > 0) { Tratamento.Values.Add("Início do Tratamento na leitura " + ciclo.NLIniTrat + " - " + ciclo.dataIniTrat + "(concluído)"); } else { Tratamento.Values.Add("Não realizou o tratamento"); } ReportParameter Responsavel = new ReportParameter("Responsavel"); Responsavel.Values.Add("Responsável Técnico: " + ciclo.responsavel); ReportParameter Operador = new ReportParameter("Operador"); Operador.Values.Add("Operador: " + ciclo.operador); ReportParameter Produtos = new ReportParameter("Produtos"); string produtos = ""; foreach (var p in listaProdutos) { produtos = produtos + p.produto.descricao + " com " + p.volume + " " + p.unidade.unidade + " - " + p.empresa.nome + " \n"; } Produtos.Values.Add(produtos); ReportParameter path = new ReportParameter("path"); path.Values.Add(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath) ?? string.Empty, "Image.png")); ReportParameter qrCode = new ReportParameter("QrCodePath"); qrCode.Values.Add(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath) ?? string.Empty, "qrcode.png")); ReportParameter coment = new ReportParameter("Comentario"); coment.Values.Add("Comentário: " + comentario); VO.Empresa empresaCiclo = EmpresaDAO.retornaEmpresa(); if (empresaCiclo != null) { dataSetGeral.Empresa.AddEmpresaRow(empresaCiclo.Nome, empresaCiclo.Endereco, empresaCiclo.Cep, empresaCiclo.Cidade, empresaCiclo.UF, empresaCiclo.Fone, empresaCiclo.Fax, empresaCiclo.CNPJ, empresaCiclo.IE, empresaCiclo.NCredenciamento, empresaCiclo.Logo); } else { dataSetGeral.Empresa.AddEmpresaRow("", "", "", "", -1, "", "", "", "", "", null); } var maskSensores = ciclo.tipoCRG == 150 ? "" : "#0.0"; int aux = 1, nl = 1, nlt = 1; if (listaLeiturasTrat != null && listaLeiturasTrat.Count > 0) { var puloleitura = (ciclo.NLIniTrat - 1) / 10; var lista = populaTratamento(ciclo, listaLeiturasCiclo, listaLeiturasTrat, configRelatorio); foreach (var item in lista.ToList()) { dataSetGeral.Tratamento.AddTratamentoRow(item.NLT.ToString("000"), item.NL.ToString("000"), item.horario, item.T1.ToString(maskSensores), item.T2.ToString(maskSensores), item.T3.ToString(maskSensores), item.T4.ToString(maskSensores)); } var primeiro = true; ReportParameter p1 = null, p2 = null; foreach (var item in lista.ToList()) { if (item.demarca_tratamento == true) { if (primeiro) { p1 = new ReportParameter("nlt_inicio", item.NLT.ToString("000")); primeiro = false; } else { p2 = new ReportParameter("nlt_fim", item.NLT.ToString("000")); break; } } } if (p1 != null) { reportViewer1.LocalReport.SetParameters(p1); } if (p2 != null) { reportViewer1.LocalReport.SetParameters(p2); } Grafico grafico = new Grafico(ciclo, 2, lista); grafico.ShowDialog(this); //Leituras antes do Tratamento /*for (int i = 0; i < ciclo.nlAntesTrat; i += 2) * { * dataSetGeral.Tratamento.AddTratamentoRow("--", nl.ToString("000"), * listaLeiturasCiclo[i].horario, listaLeiturasCiclo[i].T1.ToString("00.0"), * listaLeiturasCiclo[i].T2.ToString("00.0"), * listaLeiturasCiclo[i].T3.ToString("00.0"), listaLeiturasCiclo[i].T4.ToString("00.0")); * nl += 2; * }*/ /*for (int i = 0; i < ciclo.NLIniTrat; i += puloleitura) * { * dataSetGeral.Tratamento.AddTratamentoRow(nlt.ToString("000"), nl.ToString("000"), * listaLeiturasCiclo[i].horario, listaLeiturasCiclo[i].T1.ToString("00.0"), * listaLeiturasCiclo[i].T2.ToString("00.0"), * listaLeiturasCiclo[i].T3.ToString("00.0"), listaLeiturasCiclo[i].T4.ToString("00.0")); * nl += puloleitura; * nlt++; * } * nl = ciclo.NLIniTrat; * //Leituras do Tratamento * puloleitura = listaLeiturasTrat.Count/20; * * for (int i = 0; i < listaLeiturasTrat.Count; i += 2) * { * dataSetGeral.Tratamento.AddTratamentoRow(aux.ToString("000"), nl.ToString("000"), * listaLeiturasTrat[i].horario, listaLeiturasTrat[i].T1.ToString("00.0"), * listaLeiturasTrat[i].T2.ToString("00.0"), * listaLeiturasTrat[i].T3.ToString("00.0"), listaLeiturasTrat[i].T4.ToString("00.0")); * aux += 2; * nl += 2; * } * nl = listaLeiturasCiclo.Count - 20; * //Leituras após o tratamento * for (int i = 0; i < ciclo.nlPostTrat; i += 2) * { * dataSetGeral.Tratamento.AddTratamentoRow("--", nl.ToString("000"), * listaLeiturasCiclo[nl - 1].horario, listaLeiturasCiclo[nl - 1].T1.ToString("00.0"), * listaLeiturasCiclo[nl - 1].T2.ToString("00.0"), * listaLeiturasCiclo[nl - 1].T3.ToString("00.0"), listaLeiturasCiclo[nl - 1].T4.ToString("00.0")); * nl += 2; * }*/ int tamanho = dataSetGeral.Tratamento.Count / 2; int resto = dataSetGeral.Tratamento.Count % 2; if (resto == 1) { for (int i = 0; i < tamanho + 1; i++) { dataSetGeral.Tratamento1.AddTratamento1Row(dataSetGeral.Tratamento[i].NLT, dataSetGeral.Tratamento[i].NL, dataSetGeral.Tratamento[i].Hora, dataSetGeral.Tratamento[i].T1, dataSetGeral.Tratamento[i].T2, dataSetGeral.Tratamento[i].T3, dataSetGeral.Tratamento[i].T4); } for (int i = tamanho + 1; i < dataSetGeral.Tratamento.Count; i++) { dataSetGeral.Tratamento2.AddTratamento2Row(dataSetGeral.Tratamento[i].NLT, dataSetGeral.Tratamento[i].NL, dataSetGeral.Tratamento[i].Hora, dataSetGeral.Tratamento[i].T1, dataSetGeral.Tratamento[i].T2, dataSetGeral.Tratamento[i].T3, dataSetGeral.Tratamento[i].T4); } } if (resto == 0) { for (int i = 0; i < tamanho; i++) { dataSetGeral.Tratamento1.AddTratamento1Row(dataSetGeral.Tratamento[i].NLT, dataSetGeral.Tratamento[i].NL, dataSetGeral.Tratamento[i].Hora, dataSetGeral.Tratamento[i].T1, dataSetGeral.Tratamento[i].T2, dataSetGeral.Tratamento[i].T3, dataSetGeral.Tratamento[i].T4); } for (int i = tamanho; i < dataSetGeral.Tratamento.Count; i++) { dataSetGeral.Tratamento2.AddTratamento2Row(dataSetGeral.Tratamento[i].NLT, dataSetGeral.Tratamento[i].NL, dataSetGeral.Tratamento[i].Hora, dataSetGeral.Tratamento[i].T1, dataSetGeral.Tratamento[i].T2, dataSetGeral.Tratamento[i].T3, dataSetGeral.Tratamento[i].T4); } } } reportViewer1.LocalReport.SetParameters(Titulo); reportViewer1.LocalReport.SetParameters(Periodo); reportViewer1.LocalReport.SetParameters(Tc); reportViewer1.LocalReport.SetParameters(Tt); reportViewer1.LocalReport.SetParameters(tempoT); reportViewer1.LocalReport.SetParameters(Controlador); reportViewer1.LocalReport.SetParameters(Descricao); reportViewer1.LocalReport.SetParameters(Tratamento); reportViewer1.LocalReport.SetParameters(Responsavel); reportViewer1.LocalReport.SetParameters(Operador); reportViewer1.LocalReport.SetParameters(Produtos); reportViewer1.LocalReport.SetParameters(path); reportViewer1.LocalReport.SetParameters(qrCode); reportViewer1.LocalReport.SetParameters(new ReportParameter("ExibirQrCode", "false")); reportViewer1.LocalReport.SetParameters(coment); reportViewer1.LocalReport.SetParameters(VolumeFixo); empresaBindingSource.DataSource = dataSetGeral.Empresa; tratamento1BindingSource.DataSource = dataSetGeral.Tratamento1; comentarioBindingSource.DataSource = dataSetGeral.Comentario; tratamento2BindingSource.DataSource = dataSetGeral.Tratamento2; this.reportViewer1.RefreshReport(); reportViewer1.LocalReport.EnableExternalImages = true; }