Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1974 → Rev 1992

/branches/grupo5/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartImg.java
59,7 → 59,7
plot.setSectionPaint(0, new Color(255, 0, 0));
plot.setSectionPaint(1, new Color(15, 218, 10));
plot.setSectionPaint(2, new Color(200, 200, 200));
plot.setBackgroundPaint(new Color(240, 240, 240));
plot.setBackgroundPaint(new Color(249, 231, 236));
plot.setOutlineVisible(true);
 
 
/branches/grupo5/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartYearImg.java
1,10 → 1,107
package pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components;
 
import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
//import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
 
import jomm.utils.BytesUtils;
import jomm.utils.MimeTypeGuesser;
import org.apache.log4j.Category;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.RingPlot;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.utils.documentBuilder.ImageComponent;
import pt.estgp.estgweb.web.controllers.utils.FileUploaded;
 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
 
/**
* Created by jorgemachado on 31/10/17.
*/
public class GlobalLearningResultsChartYearImg extends AutoImageWraperComponent
public class GlobalLearningResultsChartYearImg extends ImageComponent
{
public FileUploaded generateChart2tmp(UnitsLearningResultsTable results,CourseReportDocument courseReportDocument) throws IOException
{
float aprovados1013 = results.getAprovados();
float aprovados1416 = results.getAprovados();
float aprovados1720 = results.getAprovados();
double aprovadosPercent1013 = results.getAprovados();
double aprovadosPercent1416 = results.getAprovados();
double aprovadosPercent1720 = results.getAprovados();
 
DefaultCategoryDataset data = new DefaultCategoryDataset();
for (int i = 0; i < 3; i++)
{
UnitsLearningResult ola = results.years.get(i);
 
aprovados1013 = ola.getAprovados1013();
aprovados1416 = ola.getAprovados1416();
aprovados1720 = ola.getAprovados1720();
aprovadosPercent1013 = ((int)(ola.getAprovados1013Percent()*100.0))/100.0;
aprovadosPercent1416 = ((int)(ola.getAprovados1416Percent()*100.0))/100.0;
aprovadosPercent1720 = ((int)(ola.getAprovados1720Percent()*100.0))/100.0;
 
//if (aprovados1013> 0)
data.setValue(new Double(aprovadosPercent1013), "Aprovados1013 " ,(i + 1) + "º Ano " );
//if (aprovados1416> 0)
data.setValue(new Double(aprovadosPercent1416), "Aprovados1416 " ,(i + 1) + "º Ano " );
//if (aprovados1720> 0)
data.setValue(new Double(aprovadosPercent1720), "Aprovados1720 " ,(i + 1) + "º Ano " );
}
String tempName = BytesUtils.generateHexKey() + ".png";
 
//Grafico Barras
JFreeChart chart = ChartFactory.createStackedBarChart(null, null,null,data, PlotOrientation.VERTICAL, true,true,false);
 
chart.setBackgroundPaint(new Color(255, 231, 242));
 
CategoryPlot plot = chart.getCategoryPlot();
 
plot.setRangeGridlinePaint(Color.black);
 
//plot.setDrawingSupplier(new ChartBuilderUtil.ChartDrawingSupplier());
/*
plot.setSectionPaint(0, new Color(255, 0, 0));
plot.setSectionPaint(1, new Color(15, 218, 10));
plot.setSectionPaint(2, new Color(200, 200, 200));
plot.setBackgroundPaint(new Color(255, 255, 255));
plot.setOutlineVisible(false);
 
plot.setLabelFont(new Font(
"Helvetica", Font.PLAIN, 30));
*/
 
plot.getDomainAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
 
plot.getRenderer().setSeriesPaint(0, new Color(255, 171, 28));
plot.getRenderer().setSeriesPaint(1, new Color(255, 253, 44));
plot.getRenderer().setSeriesPaint(2, new Color(0, 255, 0));
plot.setBackgroundPaint(new Color(249, 231, 236));
 
BufferedImage image = chart.createBufferedImage( 300*3, 200*3);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
 
FileUploaded fileUploaded = new FileUploaded();
fileUploaded.setTmpName(tempName);
fileUploaded.setTitle("Taxa global de aproveitamento");
fileUploaded.setDescription("Curso: " + courseReportDocument.getCourseName() + " (" + courseReportDocument.getCourseCode()+ ") ano " + courseReportDocument.getYear());
fileUploaded.setContentType(MimeTypeGuesser.getInstance().guessMimeType(output));
fileUploaded.setFileSize(output.length());
fileUploaded.setExtension("png");
return fileUploaded;
}
}