List of usage examples for org.apache.poi.hssf.usermodel HSSFWorkbook createFont
@Override
public HSSFFont createFont()
From source file:modelo.ProcesoVertimientosManagers.Visitas.java
/** * /*from ww w . j a v a 2 s .c o m*/ * Escribe la informacion de la visita en el archivo de Excel. * * @param filaInicio * @param filaFin * @param tipoVisita * @param fechaInicial * @param fechaFinal * @param codigoProceso * @param url * @throws SQLException * @throws IOException */ public void escribirExcel(String filaInicio, String filaFin, String tipoVisita, String fechaInicial, String fechaFinal, String codigoProceso, String url, String estadoVisita, String contrato, String nit, String razonSocial, String motivoVisita) throws SQLException, IOException { //Instanciamos los objetos para el excel HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("Visitas"); //Obtenemos el mapa con la informacion Map datos = organizarInfoExcel(filaInicio, filaFin, tipoVisita, fechaInicial, fechaFinal, codigoProceso, estadoVisita, contrato, nit, razonSocial, motivoVisita); //Informacion de los titulos Map<String, Object[]> data = new HashMap<String, Object[]>(); //Guardamos la cabecera del excel. data.put(String.valueOf(0), new Object[] { "CODIGO", "NOMBRES", "APELLIDOS", "FECHA VISITA", "MOTIVO", "TIPO VISITA", "ESTADO" }); //Escribimos el titulo Font font = workbook.createFont(); CellStyle style = workbook.createCellStyle(); style.setFont(font); font.setBoldweight(Font.BOLDWEIGHT_BOLD); Set<String> keyset2 = data.keySet(); for (String key : keyset2) { Row row = sheet.createRow(0); Object[] objArr = (Object[]) data.get(key); int cellnum = 0; for (Object obj : objArr) { Cell cell = row.createCell(cellnum++); cell.setCellStyle(style); if (obj instanceof Date) cell.setCellValue((Date) obj); else if (obj instanceof Boolean) cell.setCellValue((Boolean) obj); else if (obj instanceof String) cell.setCellValue((String) obj); else if (obj instanceof Double) cell.setCellValue((Double) obj); } } //Obtenemos la informacion del mapa e insertamos la informacion en el excel Set<String> keyset = datos.keySet(); int rownum = 1; for (String key : keyset) { Row row = sheet.createRow(rownum++); Object[] objArr = (Object[]) datos.get(key); int cellnum = 0; for (Object obj : objArr) { Cell cell = row.createCell(cellnum++); if (obj instanceof Date) cell.setCellValue((Date) obj); else if (obj instanceof Boolean) cell.setCellValue((Boolean) obj); else if (obj instanceof String) cell.setCellValue((String) obj); else if (obj instanceof Double) cell.setCellValue((Double) obj); } } //Guardamos el archivo en el disco. FileOutputStream out = new FileOutputStream(new File(url)); workbook.write(out); out.close(); }
From source file:module.siadap.domain.SiadapRootModule.java
License:Open Source License
private void populateSheet(HSSFSheet sheetToWriteTo, boolean considerQuotas, UnitSiadapWrapper unitToSearchIn, HSSFWorkbook wb, boolean shouldIncludeEndOfRole, boolean includeHarmonizationResponsibles, boolean shouldIncludeUniverse) { CreationHelper creationHelper = wb.getCreationHelper(); // make the sheet fit the page PrintSetup ps = sheetToWriteTo.getPrintSetup(); sheetToWriteTo.setAutobreaks(true);//from ww w .j a v a 2 s . c om ps.setFitHeight((short) 1); ps.setFitWidth((short) 1); /* ** styles ** */ // CostCenter style HSSFFont costCenterFont = wb.createFont(); costCenterFont.setColor(HSSFColor.DARK_BLUE.index); costCenterFont.setFontHeightInPoints((short) 12); costCenterFont.setBoldweight(Font.BOLDWEIGHT_BOLD); CellStyle costCenterStyle = wb.createCellStyle(); costCenterStyle.setFont(costCenterFont); // make the Unit header style CellStyle unitHeaderStyle = wb.createCellStyle(); unitHeaderStyle.setBorderBottom(CellStyle.BORDER_THIN); unitHeaderStyle.setBorderTop(CellStyle.BORDER_THIN); unitHeaderStyle.setBorderLeft(CellStyle.BORDER_THIN); unitHeaderStyle.setBorderRight(CellStyle.BORDER_THIN); unitHeaderStyle.setAlignment(CellStyle.ALIGN_CENTER); unitHeaderStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); HSSFFont headerFont = wb.createFont(); headerFont.setFontHeightInPoints((short) 12); headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD); headerFont.setItalic(true); unitHeaderStyle.setFont(headerFont); // make the default name style CellStyle defaultTextNameStyle = wb.createCellStyle(); defaultTextNameStyle.setBorderLeft(CellStyle.BORDER_THIN); defaultTextNameStyle.setBorderRight(CellStyle.BORDER_THIN); defaultTextNameStyle.setBorderBottom(CellStyle.BORDER_NONE); defaultTextNameStyle.setBorderTop(CellStyle.BORDER_NONE); defaultTextNameStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); HSSFFont defaultFont = wb.createFont(); defaultFont.setFontHeightInPoints((short) 11); defaultTextNameStyle.setFont(defaultFont); // make the last line name style CellStyle defaultTextNameLastStyle = wb.createCellStyle(); defaultTextNameLastStyle.setBorderLeft(CellStyle.BORDER_THIN); defaultTextNameLastStyle.setBorderRight(CellStyle.BORDER_THIN); defaultTextNameLastStyle.setBorderBottom(CellStyle.BORDER_THIN); defaultTextNameLastStyle.setBorderTop(CellStyle.BORDER_NONE); defaultTextNameLastStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); defaultTextNameLastStyle.setFont(defaultFont); // make the default IST-ID last line style CellStyle defaultTextIstIdLastStyle = wb.createCellStyle(); defaultTextIstIdLastStyle.setBorderLeft(CellStyle.BORDER_THIN); defaultTextIstIdLastStyle.setBorderBottom(CellStyle.BORDER_THIN); defaultTextIstIdLastStyle.setBorderTop(CellStyle.BORDER_NONE); defaultTextIstIdLastStyle.setBorderRight(CellStyle.BORDER_THIN); defaultTextIstIdLastStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); defaultTextIstIdLastStyle.setAlignment(CellStyle.ALIGN_CENTER); defaultTextIstIdLastStyle.setFont(defaultFont); // make the default IST-ID style CellStyle defaultTextIstIdStyle = wb.createCellStyle(); defaultTextIstIdStyle.setBorderLeft(CellStyle.BORDER_THIN); defaultTextIstIdStyle.setBorderBottom(CellStyle.BORDER_NONE); defaultTextIstIdStyle.setBorderTop(CellStyle.BORDER_NONE); defaultTextIstIdStyle.setBorderRight(CellStyle.BORDER_THIN); defaultTextIstIdStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); defaultTextIstIdStyle.setAlignment(CellStyle.ALIGN_CENTER); defaultTextIstIdStyle.setFont(defaultFont); // header style // CellStyle headerStyle = wb.createCellStyle(); // HSSFFont headerFont = wb.createFont(); // headerFont.setFontName(HSSFFont.FONT_ARIAL); // headerFont.setFontHeightInPoints((short) 10); // headerStyle.setFont(headerFont); // // first line style CellStyle firstLineStyle = wb.createCellStyle(); HSSFFont firstLineFont = wb.createFont(); firstLineFont.setColor(HSSFColor.DARK_BLUE.index); firstLineFont.setFontHeightInPoints((short) 14); firstLineFont.setBoldweight(Font.BOLDWEIGHT_BOLD); firstLineStyle.setFont(firstLineFont); firstLineStyle.setAlignment(CellStyle.ALIGN_CENTER); firstLineStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); // second line style CellStyle secondLineStyle = wb.createCellStyle(); HSSFFont secondLineFont = wb.createFont(); secondLineFont.setBoldweight(Font.BOLDWEIGHT_BOLD); secondLineFont.setFontHeightInPoints((short) 14); secondLineStyle.setFont(secondLineFont); secondLineStyle.setAlignment(CellStyle.ALIGN_CENTER); secondLineStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); // the style for Unit Harmonization responsibles - title CellStyle unitHarmonizationTitleStyle = wb.createCellStyle(); // the BLUE title font - is equal to 'firstLineFont' unitHarmonizationTitleStyle.setFont(firstLineFont); // now we just have to shade it unitHarmonizationTitleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); unitHarmonizationTitleStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); unitHarmonizationTitleStyle.setAlignment(CellStyle.ALIGN_CENTER); // the style for Unit Harmonization responsibles - normal // let's create the BLUE Arial 14 font for the responsibles of // harmonization HSSFFont harmonizationResponsibleFont = wb.createFont(); harmonizationResponsibleFont.setColor(HSSFColor.DARK_BLUE.index); harmonizationResponsibleFont.setFontHeightInPoints((short) 14); CellStyle unitHarmonizationResponsibleStyle = wb.createCellStyle(); unitHarmonizationResponsibleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); unitHarmonizationResponsibleStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); unitHarmonizationResponsibleStyle.setFont(harmonizationResponsibleFont); unitHarmonizationResponsibleStyle.setAlignment(CellStyle.ALIGN_CENTER); /* ** END of styles ** */ /* ** Immutable IST header ** */ HSSFHeader header = sheetToWriteTo.getHeader(); header.setCenter(HSSFHeader.font("Arial", "Normal") + HSSFHeader.fontSize((short) 10)); header.setCenter("Instituto Superior Tcnico"); int rowIndex = START_ROW_INDEX; int cellIndex = START_CELL_INDEX; int firstLineIndex = rowIndex++; int secondLineIndex = rowIndex++; /* ** Write the first lines with the dates ** */ HSSFRow row = sheetToWriteTo.createRow(firstLineIndex); HSSFCell cell = row.createCell(cellIndex); cell.setCellValue("SIADAP - LISTA DE AVALIADORES " + unitToSearchIn.getYear()); cell.setCellStyle(firstLineStyle); sheetToWriteTo .addMergedRegion(new CellRangeAddress(firstLineIndex, firstLineIndex, cellIndex, cellIndex + 3)); // second line if (!considerQuotas) { cellIndex = START_CELL_INDEX; row = sheetToWriteTo.createRow(secondLineIndex); cell = row.createCell(cellIndex); cell.setCellValue("PESSOAL CONTRATADO PELA ADIST"); cell.setCellStyle(secondLineStyle); } /* ** write the IST logo ** */ int pictureIdx = wb.addPicture(istLogoBytes, Workbook.PICTURE_TYPE_PNG); HSSFPatriarch drawingPatriarch = sheetToWriteTo.createDrawingPatriarch(); ClientAnchor clientAnchor = creationHelper.createClientAnchor(); clientAnchor.setCol1(cellIndex); clientAnchor.setRow1(rowIndex); HSSFPicture picture = drawingPatriarch.createPicture(clientAnchor, pictureIdx); // let's give the next item some space rowIndex += 6; /* ** Dynamic IST footer ** */ HSSFFooter footer = sheetToWriteTo.getFooter(); footer.setLeft("Lista gerada em: " + HSSFFooter.date() + " " + HSSFFooter.time()); footer.setCenter(HSSFFooter.page()); footer.setRight("SIADAP - Lista de avaliadores " + unitToSearchIn.getYear()); for (UnitSiadapWrapper eachUnit : unitToSearchIn .getAllChildUnits(unitToSearchIn.getConfiguration().getUnitRelations())) { Collection<Person> harmonizationResponsibles = eachUnit.getHarmonizationResponsibles(); if (includeHarmonizationResponsibles && !harmonizationResponsibles.isEmpty()) { // let's add the section stating the responsible for // Harmonization cellIndex = START_CELL_INDEX; row = sheetToWriteTo.createRow(++rowIndex); // let's merge the row sheetToWriteTo.addMergedRegion(new CellRangeAddress(rowIndex, rowIndex, cellIndex, cellIndex + 3)); cell = row.createCell(cellIndex); cell.setCellStyle(unitHarmonizationTitleStyle); cell.setCellValue("UNIDADE DE HARMONIZAO: " + eachUnit.getName()); // a 'blank' styled line row = sheetToWriteTo.createRow(++rowIndex); // merge it sheetToWriteTo.addMergedRegion(new CellRangeAddress(rowIndex, rowIndex, cellIndex, cellIndex + 3)); row.createCell(cellIndex).setCellStyle(unitHarmonizationResponsibleStyle); // each responsible has one of the following lines for (Person harmonizationResponsible : harmonizationResponsibles) { cellIndex = START_CELL_INDEX; row = sheetToWriteTo.createRow(++rowIndex); // merge it sheetToWriteTo .addMergedRegion(new CellRangeAddress(rowIndex, rowIndex, cellIndex, cellIndex + 3)); cell = row.createCell(cellIndex); cell.setCellStyle(unitHarmonizationResponsibleStyle); cell.setCellValue("RESPONS?VEL PELA HARMONIZAO: " + harmonizationResponsible.getName()); } // and let's add an extra 'blank' styled line row = sheetToWriteTo.createRow(++rowIndex); sheetToWriteTo.addMergedRegion(new CellRangeAddress(rowIndex, rowIndex, cellIndex, cellIndex + 3)); row.createCell(cellIndex).setCellStyle(unitHarmonizationResponsibleStyle); // and a regular one! (skip one in the index) ++rowIndex; } if (eachUnit.getQuotaAwareTotalPeopleWorkingInUnit(false, considerQuotas) > 0) { row = sheetToWriteTo.createRow(++rowIndex); cellIndex = START_CELL_INDEX; // write the unit name and cost center String unitNameWithCC = eachUnit.getUnit().getPartyName().getContent(); if (eachUnit.getUnit().getPartyTypesSet().contains(PartyType.readBy("CostCenter"))) { unitNameWithCC += " - " + eachUnit.getUnit().getAcronym(); } cell = row.createCell(cellIndex++); sheetToWriteTo.addMergedRegion(new CellRangeAddress(rowIndex, rowIndex, --cellIndex, ++cellIndex)); cell.setCellValue(unitNameWithCC); cell.setCellStyle(costCenterStyle); /* **** write the Unit header ***** */ // restart the cell's index cellIndex = START_CELL_INDEX; // IST id avaliado int firstLineAfterUnitNameIndex = ++rowIndex; int secondLineAfterUnitNameIndex = ++rowIndex; row = sheetToWriteTo.createRow(firstLineAfterUnitNameIndex); cell = row.createCell(cellIndex); cell.setCellStyle(unitHeaderStyle); cell.setCellValue("IST id."); row = sheetToWriteTo.createRow(secondLineAfterUnitNameIndex); cell = row.createCell(cellIndex); cell.setCellStyle(unitHeaderStyle); // merge the IST id sheetToWriteTo.addMergedRegion(new CellRangeAddress(firstLineAfterUnitNameIndex, secondLineAfterUnitNameIndex, cellIndex, cellIndex)); // Nome avaliado row = sheetToWriteTo.getRow(firstLineAfterUnitNameIndex); cell = row.createCell(++cellIndex); cell.setCellStyle(unitHeaderStyle); cell.setCellValue("Nome"); row = sheetToWriteTo.getRow(secondLineAfterUnitNameIndex); cell = row.createCell(cellIndex); cell.setCellStyle(unitHeaderStyle); // merge sheetToWriteTo.addMergedRegion(new CellRangeAddress(firstLineAfterUnitNameIndex, secondLineAfterUnitNameIndex, cellIndex, cellIndex)); if (shouldIncludeUniverse) { // SIADAP do avaliado row = sheetToWriteTo.getRow(firstLineAfterUnitNameIndex); cell = row.createCell(++cellIndex); cell.setCellStyle(unitHeaderStyle); cell.setCellValue("SIADAP"); row = sheetToWriteTo.getRow(secondLineAfterUnitNameIndex); cell = row.createCell(cellIndex); cell.setCellStyle(unitHeaderStyle); // merge sheetToWriteTo.addMergedRegion(new CellRangeAddress(firstLineAfterUnitNameIndex, secondLineAfterUnitNameIndex, cellIndex, cellIndex)); } // Ist id do avaliador row = sheetToWriteTo.getRow(firstLineAfterUnitNameIndex); cell = row.createCell(++cellIndex); cell.setCellStyle(unitHeaderStyle); cell.setCellValue("IST id."); row = sheetToWriteTo.getRow(secondLineAfterUnitNameIndex); cell = row.createCell(cellIndex); cell.setCellStyle(unitHeaderStyle); // merge sheetToWriteTo.addMergedRegion(new CellRangeAddress(firstLineAfterUnitNameIndex, secondLineAfterUnitNameIndex, cellIndex, cellIndex)); // avaliador row = sheetToWriteTo.getRow(firstLineAfterUnitNameIndex); cell = row.createCell(++cellIndex); cell.setCellStyle(unitHeaderStyle); cell.setCellValue("Avaliador"); row = sheetToWriteTo.getRow(secondLineAfterUnitNameIndex); cell = row.createCell(cellIndex); cell.setCellStyle(unitHeaderStyle); // merge sheetToWriteTo.addMergedRegion(new CellRangeAddress(firstLineAfterUnitNameIndex, secondLineAfterUnitNameIndex, cellIndex, cellIndex)); List<PersonSiadapWrapper> listToUse = (considerQuotas) ? eachUnit.getUnitEmployeesWithQuotas(false) : eachUnit.getUnitEmployeesWithoutQuotas(true); // now let's take care of exporting the persons for (PersonSiadapWrapper personWrapper : listToUse) { row = sheetToWriteTo.createRow(++rowIndex); // restart the cell's index cellIndex = START_CELL_INDEX; String istIdEvaluated = personWrapper.getPerson().getUser().getUsername(); cell = row.createCell(cellIndex++); cell.setCellValue(istIdEvaluated); cell.setCellStyle(defaultTextIstIdStyle); String nameEvaluatedPerson = personWrapper.getPerson().getName(); cell = row.createCell(cellIndex++); cell.setCellValue(nameEvaluatedPerson); cell.setCellStyle(defaultTextNameStyle); if (shouldIncludeUniverse) { Siadap siadap = personWrapper.getSiadap(); String siadapUniverseToBeWritten = (siadap == null || siadap.getDefaultSiadapUniverse() == null) ? "No definido" : siadap.getDefaultSiadapUniverse().getLocalizedName(); cell = row.createCell(cellIndex++); cell.setCellValue(siadapUniverseToBeWritten); cell.setCellStyle(defaultTextNameStyle); } PersonSiadapWrapper evaluatorWrapper = personWrapper.getEvaluator(); String istIdEvaluator = evaluatorWrapper == null ? "-" : evaluatorWrapper.getPerson().getUser().getUsername(); cell = row.createCell(cellIndex++); cell.setCellValue(istIdEvaluator); cell.setCellStyle(defaultTextIstIdStyle); String nameEvaluatorWrapper = evaluatorWrapper == null ? "-" : evaluatorWrapper.getName(); cell = row.createCell(cellIndex++); cell.setCellValue(nameEvaluatorWrapper); cell.setCellStyle(defaultTextNameStyle); } // let's make a bottom border on the last four cells for (int i = START_CELL_INDEX; i < START_CELL_INDEX + 4; i++) { cell = row.getCell(i); // let's diferentaitate between the IST-id and the name if (i == START_CELL_INDEX || i == START_CELL_INDEX + 2) // first // cell, // IST-ID // then. // or // third // cell // the // other // IST-ID { cell.setCellStyle(defaultTextIstIdLastStyle); } else { cell.setCellStyle(defaultTextNameLastStyle); } } row = sheetToWriteTo.createRow(++rowIndex); row = sheetToWriteTo.createRow(++rowIndex); } } sheetToWriteTo.autoSizeColumn(START_CELL_INDEX); sheetToWriteTo.autoSizeColumn(START_CELL_INDEX + 1); sheetToWriteTo.autoSizeColumn(START_CELL_INDEX + 2); sheetToWriteTo.autoSizeColumn(START_CELL_INDEX + 3); sheetToWriteTo.autoSizeColumn(START_CELL_INDEX + 4); // now let's resize the logo picture.resize(); }
From source file:mx.avanti.siract.ui.FiltrosBeanUI.java
public void Export2ExcelSemaforoProgramasEd() throws Throwable { //variables listaux ReporteAux reporteUI = new ReporteAux(); // objeto de hoja de excel HSSFWorkbook workbook = new HSSFWorkbook(); String nombreLibro = ""; //guardamos imagen UABC en Documento URL location = FiltrosBeanUI.class.getProtectionDomain().getCodeSource().getLocation(); String path = location.getFile(); String replace = path.replace("FiltrosBeanUI.class", "uabclogo.png"); //InputStream uabc_image = new FileInputStream(replace); //InputStream uabc_image = new FileInputStream("C://decode/uabclogo.png"); InputStream uabc_image = new FileInputStream("/home/user/decode/uabclogo.png"); byte[] bytes = IOUtils.toByteArray(uabc_image); int uabcLogo = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); uabc_image.close();/*from w w w . j a va2 s . c o m*/ //definimos estilo a celda titulo de los encabezados con logo escuela HSSFCellStyle style = workbook.createCellStyle(); HSSFFont font = workbook.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints((short) 20); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); font.setColor(HSSFColor.GREEN.index); style.setFont(font); //setCellStyle(style); //definimos los bordes de celdas en tabla HSSFCellStyle borderstabla = workbook.createCellStyle(); borderstabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderTop(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderRight(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); font = workbook.createFont(); borderstabla.setFont(font); //definimos el estilo de las cabezeras de una tabla HSSFCellStyle headerTabla = workbook.createCellStyle(); HSSFFont fontwit = workbook.createFont(); fontwit.setColor(HSSFColor.WHITE.index); headerTabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderTop(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderRight(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); headerTabla.setFillForegroundColor(HSSFColor.GREEN.index); headerTabla.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); headerTabla.setFont(fontwit); //aqui cambie headerTabla.setWrapText(true); //aqui cambie //if(criterio.equalsIgnoreCase("programa_educativo")){ HSSFSheet sheet = workbook.createSheet("Programas Educativos"); nombreLibro = "- Director"; // if(reporte.equalsIgnoreCase("entregados")){ nombreLibro = "RACT General " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); HSSFRow row1 = sheet.createRow(7); row1.setHeight((short) 600); HSSFCell cell = row1.createCell(1); cell.setCellValue( "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); cell.setCellStyle(style); // HSSFRow row1 = sheet.createRow(14); // row1.setHeightInPoints(56); // HSSFRow row2 = sheet.createRow(28); // row2.setHeightInPoints(56); // HSSFRow row3 = sheet.createRow(42); // row3.setHeightInPoints(56); //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd sheet.addMergedRegion(new CellRangeAddress(13, 13, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 25, 29)); //merge cells de programa educativo sheet.addMergedRegion(new CellRangeAddress(11, 11, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 26, 27)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(1); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = 11; int col = 1; Boolean bandPe = false; for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(pe.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, pe.getPedclave()); setExDat(sheet, row + 1, col + 1, pe.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } setExDat(sheet, row + 2, col, "Total de RACT General de " + programasByUnidad.get(0).getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } if (bandPe == true) { if (col >= 25) { row = row + 14; col = -5; } col = col + 6; bandPe = false; } } } /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } // } //} //finalizamos con //metodo para descargar el objeto System.out.println("Generando Excel"); if (criterio != "" && reporte != "") { FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); externalContext.setResponseContentType("application/vnd.ms-excel"); externalContext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + nombreLibro + ".xls\""); workbook.write(externalContext.getResponseOutputStream()); facesContext.responseComplete(); } else { System.out.println("No se Genero por: Criterio->" + criterio + " , Reporte->" + reporte); } }
From source file:mx.avanti.siract.ui.FiltrosBeanUI.java
public void Export2Excel() throws Throwable { //variables listaux ReporteAux reporteUI = new ReporteAux(); // objeto de hoja de excel HSSFWorkbook workbook = new HSSFWorkbook(); String nombreLibro = ""; //guardamos imagen UABC en Documento URL location = FiltrosBeanUI.class.getProtectionDomain().getCodeSource().getLocation(); String path = location.getFile(); String replace = path.replace("FiltrosBeanUI.class", "uabclogo.png"); //InputStream uabc_image = new FileInputStream(replace); //InputStream uabc_image = new FileInputStream("C://decode/uabclogo.png"); InputStream uabc_image = new FileInputStream("/home/user/decode/uabclogo.png"); byte[] bytes = IOUtils.toByteArray(uabc_image); int uabcLogo = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); uabc_image.close();//from ww w.j av a 2s . c o m //definimos estilo a celda titulo de los encabezados con logo escuela HSSFCellStyle style = workbook.createCellStyle(); HSSFFont font = workbook.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints((short) 20); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); font.setColor(HSSFColor.GREEN.index); style.setFont(font); //definimos los bordes de celdas en tabla HSSFCellStyle borderstabla = workbook.createCellStyle(); borderstabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderTop(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderRight(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); font = workbook.createFont(); borderstabla.setFont(font); //definimos el estilo de las cabezeras de una tabla HSSFCellStyle headerTabla = workbook.createCellStyle(); HSSFFont fontwit = workbook.createFont(); fontwit.setColor(HSSFColor.WHITE.index); headerTabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderTop(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderRight(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); headerTabla.setFillForegroundColor(HSSFColor.GREEN.index); headerTabla.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); headerTabla.setFont(fontwit); if (criterio.equalsIgnoreCase("programa_educativo")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Programa Educativo"; if (reporte.equalsIgnoreCase("entregados")) { nombreLibro = "Entregados " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { //aqui creamos la hoja para el programa sheet = workbook.createSheet(programa.getPednombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedclave()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, planes.get(0).getPesvigenciaPlan()); setExDat(sheet, 15, 4, "Llenar en tabla"); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); boolean uno = true; int currow = 20; Planestudio planeact = new Planestudio(); for (Planestudio planeactn : planes) { planeact = planeactn; break; } ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( planeact.getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { if (auxRacs.getStatusRact1().equalsIgnoreCase("Enviado")) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { if (auxRacs.getStatusRact2().equalsIgnoreCase("Enviado")) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { if (auxRacs.getStatusRact3().equalsIgnoreCase("Enviado")) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } currow += 2; } //aqui modifique Jesus Ruelas - Entregados //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) if (reporte.equalsIgnoreCase("noentregados")) { nombreLibro = "No Entregados " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento() != null && aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 6; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } //hasta aqui comente Jesus Ruelas - 4 nov 2015 // //tienne que ser entregados/enviados // if(auxRacs.getStatusRact1()!=null){ // // System.out.println("Entro a enviados 1"); // setExDat(sheet, currow,(4 + (1*2)), auxRacs.getPorcentAvanceRact1() ); //% avance 7** // setExDat(sheet, currow,(4 + (1*2)+1), auxRacs.getFechaElaboracRact1().toString() ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (1*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (1*2)+1)); // // } // else{ // setExDat(sheet, currow,(4 + (1*2)), " " ); //% avance 7** // setExDat(sheet, currow,(4 + (1*2)+1), " " ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (1*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (1*2)+1)); // } // // // if(auxRacs.getStatusRact2()!=null){ // // setExDat(sheet, currow,(4 + (2*2)), auxRacs.getPorcentAvanceRact2() ); //% avance 7** // setExDat(sheet, currow,(4 + (2*2)+1), auxRacs.getFechaElaboracRact2().toString() ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (2*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (2*2)+1)); // // }else{ // setExDat(sheet, currow,(4 + (2*2)), " " ); //% avance 7** // setExDat(sheet, currow,(4 + (2*2)+1), " " ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (2*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (2*2)+1)); // } // // if(auxRacs.getStatusRact3()!=null){ // setExDat(sheet, currow,(4 + (3*2)), auxRacs.getPorcentAvanceRact3() ); //% avance 7** // setExDat(sheet, currow,(4 + (3*2)+1), auxRacs.getFechaElaboracRact3().toString() ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (3*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (3*2)+1)); // } // else{ // setExDat(sheet, currow,(4 + (3*2)), " " ); //% avance 7** // setExDat(sheet, currow,(4 + (3*2)+1), " " ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (3*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (3*2)+1)); // } //hasta aqui comente Jesus Ruelas - 4 nov 2015 //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } currow += 2; } //aqui modifique Jesus Ruelas - No entregados //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total no entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentNoEnt = ((Float.parseFloat(contarEntEspProgEd[2])) - (Float.parseFloat(contarEntEspProgEd[1]))) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; int contarNoEntRact1 = esperadosProgEdUnicoRact - (Integer.parseInt(contarEntRact1[1])); int contarNoEntRact2 = esperadosProgEdUnicoRact - (Integer.parseInt(contarEntRact2[1])); int contarNoEntRact3 = esperadosProgEdUnicoRact - (Integer.parseInt(contarEntRact3[1])); float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentNoEntRact1 = (((float) esperadosProgEdUnicoRact) - (Float.parseFloat(contarEntRact1[1]))) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentNoEntRact2 = (((float) esperadosProgEdUnicoRact) - (Float.parseFloat(contarEntRact2[1]))) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentNoEntRact3 = (((float) esperadosProgEdUnicoRact) - (Float.parseFloat(contarEntRact3[1]))) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarNoEntRact1); setExDat(sheet, row + 4, col + 2, "" + contarPorcentNoEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarNoEntRact2); setExDat(sheet, row + 5, col + 2, "" + contarPorcentNoEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarNoEntRact3); setExDat(sheet, row + 6, col + 2, "" + contarPorcentNoEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); int totalNoEnt = (Integer.parseInt(contarEntEspProgEd[2]) - (Integer.parseInt(contarEntEspProgEd[1]))); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, "" + (Integer.parseInt(contarEntEspProgEd[2]) - (Integer.parseInt(contarEntEspProgEd[1])))); setExDat(sheet, row + 7, col + 2, "" + porcentNoEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) if (reporte.equalsIgnoreCase("entregadosynoentregados")) { nombreLibro = "Entregados y No Entregados " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? // Responsableprogramaeducativo responsable = filtrosBeanHelper.getConsultaDelegate().getResponsableProgramaEducativoByID(programa.getPedid()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento() != null && aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); currow++; } currow += 2; } //aqui modifique Jesus Ruelas - Entregados Y No Entregados //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados y no entregados if(entregados) if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosenfechalimite") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (reporte.equalsIgnoreCase("entregadosatiempo")) { System.out.println("Entro a entregados a tiempo"); nombreLibro = "Entregados a Tiempo " + nombreLibro; } if (reporte.equalsIgnoreCase("entregadosenfechalimite")) { System.out.println("Entro a entregados en fecha"); nombreLibro = "Entregados en Fecha Limite " + nombreLibro; } if (reporte.equalsIgnoreCase("entregadosdespueslimite")) { System.out.println("Entro a entregados despues"); nombreLibro = "Entregados despues Fecha Limite" + nombreLibro; } if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { System.out.println("Entro a entregados a tiempo"); nombreLibro = "Entregados a Tiempo-Limite-Despues de Fecha " + nombreLibro; } //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? // Responsableprogramaeducativo responsable = filtrosBeanHelper.getConsultaDelegate().getResponsableProgramaEducativoByID(programa.getPedid()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento() != null && aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); currow++; } currow += 2; } //aqui modifique Jesus Ruelas - Entregados A Tiempo //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas } // fin del la comparacon de plan } // fin del for por plan de estudios //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } // fin de si es por entregados a tiempoif(entregados) //Porcentaje de Avance Global Incompleto if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { nombreLibro = reporte + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? // Responsableprogramaeducativo responsable = filtrosBeanHelper.getConsultaDelegate().getResponsableProgramaEducativoByID(programa.getPedid()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; Planestudio planeact = new Planestudio(); for (Planestudio planeactn : planes) { planeact = planeactn; break; } ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } float totalpor = 0; if (auxRacs.getStatusRact1() != null && auxRacs.getStatusRact2() != null && auxRacs.getStatusRact3() != null) { totalpor = auxRacs.getPorcentAvanceRact1() + auxRacs.getPorcentAvanceRact2() + auxRacs.getPorcentAvanceRact3(); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } currow += 2; } //cabeceran excel //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de programas educativos if (criterio.equalsIgnoreCase("area_conocimiento")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Area de conocimiento"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Areaconocimiento> areasByUnidad = getAreasByPlanesEstudioClave(); /* Programacion de Hojas*/ for (Areaconocimiento areaConocimiento : areasByUnidad) { if (selectAreaConocimiento.contains(Integer.toString(areaConocimiento.getAcoclave()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento().getAcoclave() == areaConocimiento.getAcoclave()) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { sheet = workbook.createSheet(areaConocimiento.getAconombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Area de conocimiento"); boolean autotam = true; int currow = 18; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { setStyleCell(sheet, headerTabla, currow, i); } currow++; int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de areas de conocimiento if (criterio.equalsIgnoreCase("unidad_aprendizaje")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Unidad de aprendizaje"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Unidadaprendizaje> unidadesByArea = getUnidadesByAreaAconocimientoClave(); /* Programacion de Hojas*/ for (Unidadaprendizaje unidadAprend : unidadesByArea) { if (selectUnidadAprendisaje.contains(Integer.toString(unidadAprend.getUapclave()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.reporteAvance.getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapclave() == unidadAprend.getUapclave()) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { sheet = workbook.createSheet(unidadAprend.getUapnombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Unidad de aprendizaje"); boolean autotam = true; int currow = 18; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; int claveUnidadApren = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapnombre(); int uniprofeTemp = 0; uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad currow++; //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } setExDat(sheet, currow, 1, "No. de empleado"); setExDat(sheet, currow, 2, "Nombre del profesor"); setExDat(sheet, currow, 3, "Grupo"); setExDat(sheet, currow, 4, "% Avance 1er reporte"); setExDat(sheet, currow, 5, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 6, "% Avance 2do reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 8, "% Avance 3er reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 3er RACT"); // para formatear toda la linea for (int i = 1; i <= 9; i++) { setStyleCell(sheet, headerTabla, currow, i); } //currow++; currow++; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 9; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 9; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 1, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 2, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (2 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (2 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (2 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (2 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (2 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (2 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (2 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (2 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (2 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (2 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (2 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (2 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (2 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (2 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (2 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de unidad de aprendizaje if (criterio.equalsIgnoreCase("profesor")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Profesor"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Profesor> profesoresByUAprend = getProfesoresByUnidadAprendisajeClave(); /* Programacion de Hojas*/ for (Profesor prof : profesoresByUAprend) { if (selectProfesor.contains(Integer.toString(prof.getPronumeroEmpleado()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.reporteAvance.getUnidadaprendizajeImparteProfesor().getProfesor() .getPronumeroEmpleado() == prof.getPronumeroEmpleado()) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { String nompreP = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getProfesor().getPronombre(); String apellidoPP = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getProfesor().getProapellidoPaterno(); String apellidoPM = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getProfesor().getProapellidoMaterno(); sheet = workbook.createSheet(String.valueOf(prof.getPronumeroEmpleado())); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Profesor " + prof.getPronumeroEmpleado() + " " + apellidoPP + " " + apellidoPM + " " + nompreP); boolean autotam = true; int currow = 18; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado // setExDat(sheet, currow,3, tempListAux.get(0).getReporteAvance().getUnidadaprendizajeImparteProfesor().getProfesor().getPronumeroEmpleado() ); //numero empleado // setExDat(sheet, currow,4, apellidoPP+ " "+apellidoPM+ " "+nompreP ); //nombre maestro // setExDat(sheet, currow,5, tempListAux.get(0).getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getGponumero() + "-"+ auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getUiptipoSubgrupo() + "-"+ auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getUipsubgrupo() ); //grupo numero setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "Area de conocimiento"); setExDat(sheet, currow, 4, "Grupo"); setExDat(sheet, currow, 5, "% Avance 1er reporte"); setExDat(sheet, currow, 6, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 7, "% Avance 2do reporte"); setExDat(sheet, currow, 8, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 9, "% Avance 3er reporte"); setExDat(sheet, currow, 10, "Fecha de elaboracin 3er RACT"); // para formatear toda la linea for (int i = 1; i <= 10; i++) { setStyleCell(sheet, headerTabla, currow, i); } //currow++; currow++; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 10; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 10; i++) { setStyleCell(sheet, borderstabla, currow, i); } //currow++; int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); String areaCon = auxRacs.getAreaConocimiento().getAconombre(); //String grupo = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getAreaConocimiento(); int uniprofeTemp = 0; uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //clave setExDat(sheet, currow, 3, areaCon); //nombre unidad setExDat(sheet, currow, 4, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (3 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (3 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (3 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (3 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (3 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (3 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (3 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (3 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (3 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (3 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (3 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (3 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (3 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (3 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (3 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de profesor if (criterio.equalsIgnoreCase("area_administrativa")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Area administrativa"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Areaadministrativa> areasByProgEd = getAreasAdminByProgEdClave(); //Aqui modifique Jesus Ruelas 28 oct 2015 sheet = workbook.createSheet("Hoja 1"); int currow = 15; //Aqui modifique Jesus Ruelas 28 oct 2015 /* Programacion de Hojas*/ for (Areaadministrativa areaAdmin : areasByProgEd) { if (selectAreaAdministrativa.contains(Integer.toString(areaAdmin.getAadid()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.CAAnombre.equalsIgnoreCase(areaAdmin.getAadnombre())) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { //comente esta linea de abajo Jesus Ruelas - 28 oct 2015 //sheet = workbook.createSheet(areaConocimiento.getAconombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Area administrativa"); boolean autotam = true; //currow = currow + 3; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { setStyleCell(sheet, headerTabla, currow, i); } currow++; //Boolean siguienteAreaAdmin = true; String CAAnombreActual = ""; int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { if (!(CAAnombreActual.equalsIgnoreCase(auxRacs.getCAAnombre()))) { CAAnombreActual = auxRacs.getCAAnombre(); // currow=currow+2; setExDat(sheet, currow, 1, "Area de conocimiento"); setExDat(sheet, currow, 2, "Area administrativa"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, auxRacs.getAreaConocimiento().getAconombre()); //clave setExDat(sheet, currow, 2, auxRacs.getCAAnombre()); //nombre unidad currow = currow + 2; //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de areas administrativas //finalizamos con //metodo para descargar el objeto System.out.println("Generando Excel"); if (criterio != "" && reporte != "") { FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); externalContext.setResponseContentType("application/vnd.ms-excel"); externalContext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + nombreLibro + ".xls\""); //genera libro workbook.write(externalContext.getResponseOutputStream()); facesContext.responseComplete(); } else { System.out.println("No se Genero por: Criterio->" + criterio + " , Reporte->" + reporte); } }
From source file:neg.JRViewerComercial.java
License:Open Source License
private static void crearCabeceraHojaExcel(HSSFWorkbook libro, HSSFSheet hoja) { HSSFRow fila = null;/*from www . j a v a 2 s . c o m*/ HSSFCell celda = null; // Modificamos la fuente por defecto para que salga en negrita HSSFCellStyle cs = libro.createCellStyle(); HSSFFont f = libro.createFont(); f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); f.setColor(HSSFColor.WHITE.index); cs.setFont(f); //cs.setFillBackgroundColor(HSSFColor.GREEN.index); cs.setFillForegroundColor(HSSFColor.GREEN.index); cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cs.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM); cs.setBottomBorderColor(HSSFColor.BLACK.index); cs.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); cs.setLeftBorderColor(HSSFColor.BLACK.index); cs.setBorderRight(HSSFCellStyle.BORDER_MEDIUM); cs.setRightBorderColor(HSSFColor.BLACK.index); cs.setBorderTop(HSSFCellStyle.BORDER_MEDIUM); cs.setTopBorderColor(HSSFColor.BLACK.index); cs.setAlignment(HSSFCellStyle.ALIGN_CENTER); // Creamos la cabecera de las columnas fila = hoja.createRow(0); celda = fila.createCell((short) 0); celda.setCellStyle(cs); HSSFRichTextString texto = new HSSFRichTextString("CLIENTE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 0, (short) ((220 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 1); celda.setCellStyle(cs); texto = new HSSFRichTextString("ENERO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 1, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 2); celda.setCellStyle(cs); texto = new HSSFRichTextString("FEBRERO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 2, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 3); celda.setCellStyle(cs); texto = new HSSFRichTextString("MARZO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 3, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 4); celda.setCellStyle(cs); texto = new HSSFRichTextString("ABRIL"); celda.setCellValue(texto); hoja.setColumnWidth((short) 4, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 5); celda.setCellStyle(cs); texto = new HSSFRichTextString("MAYO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 5, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 6); celda.setCellStyle(cs); texto = new HSSFRichTextString("JUNIO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 6, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 7); celda.setCellStyle(cs); texto = new HSSFRichTextString("JULIO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 7, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 8); celda.setCellStyle(cs); texto = new HSSFRichTextString("AGOSTO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 8, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 9); celda.setCellStyle(cs); texto = new HSSFRichTextString("SEPTIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 9, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 10); celda.setCellStyle(cs); texto = new HSSFRichTextString("OCTUBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 10, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 11); celda.setCellStyle(cs); texto = new HSSFRichTextString("NOVIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 11, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 12); celda.setCellStyle(cs); texto = new HSSFRichTextString("DICIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 12, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 13); celda.setCellStyle(cs); texto = new HSSFRichTextString("IMPORTE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 13, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 14); celda.setCellStyle(cs); texto = new HSSFRichTextString("MARGEN"); celda.setCellValue(texto); hoja.setColumnWidth((short) 14, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 15); celda.setCellStyle(cs); texto = new HSSFRichTextString("MARGEN %"); celda.setCellValue(texto); hoja.setColumnWidth((short) 15, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 16); celda.setCellStyle(cs); texto = new HSSFRichTextString("M.G. PEDIDO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 16, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 17); celda.setCellStyle(cs); texto = new HSSFRichTextString("NM.PEDIDOS"); celda.setCellValue(texto); hoja.setColumnWidth((short) 17, (short) ((90 * 2) / ((double) 1 / 20))); }
From source file:neg.JRViewerComercialProveedor.java
License:Open Source License
private static void crearCabeceraHojaExcel(HSSFWorkbook libro, HSSFSheet hoja) { HSSFRow fila = null;/*ww w . j a va 2 s . c o m*/ HSSFCell celda = null; // Modificamos la fuente por defecto para que salga en negrita HSSFCellStyle cs = libro.createCellStyle(); HSSFFont f = libro.createFont(); f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); f.setColor(HSSFColor.WHITE.index); cs.setFont(f); //cs.setFillBackgroundColor(HSSFColor.GREEN.index); cs.setFillForegroundColor(HSSFColor.GREEN.index); cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cs.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM); cs.setBottomBorderColor(HSSFColor.BLACK.index); cs.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); cs.setLeftBorderColor(HSSFColor.BLACK.index); cs.setBorderRight(HSSFCellStyle.BORDER_MEDIUM); cs.setRightBorderColor(HSSFColor.BLACK.index); cs.setBorderTop(HSSFCellStyle.BORDER_MEDIUM); cs.setTopBorderColor(HSSFColor.BLACK.index); cs.setAlignment(HSSFCellStyle.ALIGN_CENTER); // Creamos la cabecera de las columnas fila = hoja.createRow(0); celda = fila.createCell((short) 0); celda.setCellStyle(cs); HSSFRichTextString texto = new HSSFRichTextString("PROVEEDOR"); celda.setCellValue(texto); hoja.setColumnWidth((short) 0, (short) ((220 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 1); celda.setCellStyle(cs); texto = new HSSFRichTextString("ENERO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 1, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 2); celda.setCellStyle(cs); texto = new HSSFRichTextString("FEBRERO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 2, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 3); celda.setCellStyle(cs); texto = new HSSFRichTextString("MARZO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 3, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 4); celda.setCellStyle(cs); texto = new HSSFRichTextString("ABRIL"); celda.setCellValue(texto); hoja.setColumnWidth((short) 4, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 5); celda.setCellStyle(cs); texto = new HSSFRichTextString("MAYO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 5, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 6); celda.setCellStyle(cs); texto = new HSSFRichTextString("JUNIO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 6, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 7); celda.setCellStyle(cs); texto = new HSSFRichTextString("JULIO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 7, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 8); celda.setCellStyle(cs); texto = new HSSFRichTextString("AGOSTO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 8, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 9); celda.setCellStyle(cs); texto = new HSSFRichTextString("SEPTIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 9, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 10); celda.setCellStyle(cs); texto = new HSSFRichTextString("OCTUBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 10, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 11); celda.setCellStyle(cs); texto = new HSSFRichTextString("NOVIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 11, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 12); celda.setCellStyle(cs); texto = new HSSFRichTextString("DICIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 12, (short) ((70 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 13); celda.setCellStyle(cs); texto = new HSSFRichTextString("IMPORTE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 13, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 14); celda.setCellStyle(cs); texto = new HSSFRichTextString("% TURISMOS"); celda.setCellValue(texto); hoja.setColumnWidth((short) 14, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 15); celda.setCellStyle(cs); texto = new HSSFRichTextString("% FUNCIONAN"); celda.setCellValue(texto); hoja.setColumnWidth((short) 15, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 16); celda.setCellStyle(cs); texto = new HSSFRichTextString("%GRA UNITARIA"); celda.setCellValue(texto); hoja.setColumnWidth((short) 16, (short) ((90 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 17); celda.setCellStyle(cs); texto = new HSSFRichTextString("NM.PEDIDOS"); celda.setCellValue(texto); hoja.setColumnWidth((short) 17, (short) ((90 * 2) / ((double) 1 / 20))); }
From source file:neg.JRViewerInformeUnitario.java
License:Open Source License
private static void crearCabeceraHojaExcel(HSSFWorkbook libro, HSSFSheet hoja) { HSSFRow fila = null;// w w w . ja v a 2 s . c o m HSSFCell celda = null; // Modificamos la fuente por defecto para que salga en negrita HSSFCellStyle cs = libro.createCellStyle(); HSSFFont f = libro.createFont(); f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); f.setColor(HSSFColor.WHITE.index); cs.setFont(f); //cs.setFillBackgroundColor(HSSFColor.GREEN.index); cs.setFillForegroundColor(HSSFColor.GREEN.index); cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cs.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM); cs.setBottomBorderColor(HSSFColor.BLACK.index); cs.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); cs.setLeftBorderColor(HSSFColor.BLACK.index); cs.setBorderRight(HSSFCellStyle.BORDER_MEDIUM); cs.setRightBorderColor(HSSFColor.BLACK.index); cs.setBorderTop(HSSFCellStyle.BORDER_MEDIUM); cs.setTopBorderColor(HSSFColor.BLACK.index); cs.setAlignment(HSSFCellStyle.ALIGN_RIGHT); // Creamos la cabecera de las columnas fila = hoja.createRow(0); celda = fila.createCell((short) 0); celda.setCellStyle(cs); HSSFRichTextString texto = new HSSFRichTextString("DATOS"); celda.setCellValue(texto); hoja.setColumnWidth((short) 0, (short) ((60 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 1); celda.setCellStyle(cs); texto = new HSSFRichTextString("ENERO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 1, (short) ((60 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 2); celda.setCellStyle(cs); texto = new HSSFRichTextString("FEBRERO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 2, (short) ((80 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 3); celda.setCellStyle(cs); texto = new HSSFRichTextString("MARZO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 3, (short) ((200 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 4); celda.setCellStyle(cs); texto = new HSSFRichTextString("ABRIL"); celda.setCellValue(texto); hoja.setColumnWidth((short) 4, (short) ((130 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 5); celda.setCellStyle(cs); texto = new HSSFRichTextString("MAYO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 5, (short) ((60 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 6); celda.setCellStyle(cs); texto = new HSSFRichTextString("JUNIO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 6, (short) ((130 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 7); celda.setCellStyle(cs); texto = new HSSFRichTextString("JULIO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 7, (short) ((60 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 8); celda.setCellStyle(cs); texto = new HSSFRichTextString("AGOSTO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 8, (short) ((80 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 9); celda.setCellStyle(cs); texto = new HSSFRichTextString("SEPTIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 9, (short) ((40 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 10); celda.setCellStyle(cs); texto = new HSSFRichTextString("OCTUBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 10, (short) ((120 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 11); celda.setCellStyle(cs); texto = new HSSFRichTextString("NOVIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 11, (short) ((110 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 12); celda.setCellStyle(cs); texto = new HSSFRichTextString("DICIEMBRE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 12, (short) ((130 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 13); celda.setCellStyle(cs); texto = new HSSFRichTextString("M.G."); celda.setCellValue(texto); hoja.setColumnWidth((short) 13, (short) ((130 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 14); celda.setCellStyle(cs); texto = new HSSFRichTextString("M.G. PEDIDO"); celda.setCellValue(texto); hoja.setColumnWidth((short) 14, (short) ((130 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 15); celda.setCellStyle(cs); texto = new HSSFRichTextString("NUM.PEDIDOS"); celda.setCellValue(texto); hoja.setColumnWidth((short) 15, (short) ((40 * 2) / ((double) 1 / 20))); celda = fila.createCell((short) 16); celda.setCellStyle(cs); texto = new HSSFRichTextString("IMPORTE"); celda.setCellValue(texto); hoja.setColumnWidth((short) 16, (short) ((200 * 2) / ((double) 1 / 20))); }
From source file:net.algem.planning.export.PlanningExportService.java
License:Open Source License
/** * * @param wb workbook//from www . j av a2 s .c o m * @return a map, each key-value composed of a style name and a cell style */ private Map<String, CellStyle> createStyles(HSSFWorkbook wb) { Map<String, CellStyle> styles = new HashMap<>(); HSSFFont nf = wb.createFont(); nf.setFontName("monospace"); HSSFFont bf = wb.createFont(); bf.setFontName("monospace"); bf.setBold(true); HSSFFont sf = wb.createFont(); sf.setFontHeightInPoints((short) 8); sf.setFontName("monospace"); CellStyle style = wb.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); style.setWrapText(true); style.setFillPattern(CellStyle.SOLID_FOREGROUND); style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); styles.put("header", style); //LEFT HEADER style = wb.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_TOP); style.setWrapText(true); style.setFont(bf); style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_THIN); style.setBorderBottom(CellStyle.BORDER_DOTTED); styles.put("hour", style); style = wb.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_TOP); style.setWrapText(false); style.setFont(sf); style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_DOTTED); style.setBorderBottom(CellStyle.BORDER_THIN); styles.put("hour-quarter", style); style = wb.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_TOP); style.setWrapText(false); style.setFont(sf); style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_DASHED); style.setBorderBottom(CellStyle.BORDER_THIN); styles.put("hour-half", style); style = wb.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_TOP); style.setWrapText(true); style.setFont(nf); style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_THIN); style.setBorderBottom(CellStyle.BORDER_THIN); styles.put("hour-last", style); return styles; }
From source file:net.algem.planning.export.PlanningExportService.java
License:Open Source License
/** * * @param p current schedule/*from w w w . j ava 2 s . c o m*/ * @param wb workbook * @return a formatted-string */ private RichTextString getLabel(ScheduleObject p, HSSFWorkbook wb) { String header = p.getStart() + "-" + p.getEnd() + "\n"; StringBuilder sb = new StringBuilder(); sb.append(header); switch (p.getType()) { case Schedule.COURSE: case Schedule.WORKSHOP: case Schedule.TRAINING: Course c = ((CourseSchedule) p).getCourse(); sb.append(c.getLabel() != null && c.getLabel().length() > 0 ? c.getLabel() : c.getTitle()); sb.append('\n'); sb.append(p.getPerson().getAbbrevFirstNameName()); if (p.getLength() > 30 && printMembers) { try { List<Person> members = planningService.getPersons(p.getId()); if (members.size() == 1) { Person per = members.get(0); sb.append('\n') .append(per.getNickName() != null && per.getNickName().length() > 0 ? per.getNickName() : per.getAbbrevFirstNameName()); } } catch (SQLException ex) { GemLogger.log(ex.getMessage()); } } break; default: sb.append(p.getScheduleLabel()); } String content = sb.toString(); HSSFFont bf = wb.createFont(); bf.setBold(true); HSSFFont nf = wb.createFont(); java.awt.Color textColor = colorizer.getTextColor(p); bf.setColor(getColorIndex(wb, textColor)); nf.setColor(getColorIndex(wb, textColor)); // RichTextString is used here to apply bold font to title RichTextString rts = new HSSFRichTextString(content); //int idx = content.indexOf("\n", content.indexOf("\n")+1); int idx = content.indexOf("\n") + 1; rts.applyFont(0, header.length(), bf); if (idx >= header.length()) {// some additional content was found rts.applyFont(header.length(), content.length(), nf); } return rts; }
From source file:net.chaosserver.timelord.data.ExcelDataReaderWriter.java
License:Open Source License
/** * Builds a map of style name to HSSFCellStyle objects that can be used to * mark cells with similar styles./*from w w w. j av a 2 s. co m*/ * * @param wb the workbook needed to create the objects * @return the map of styles */ protected Map<String, HSSFCellStyle> buildStyleMap(HSSFWorkbook wb) { Map<String, HSSFCellStyle> styleMap = new HashMap<String, HSSFCellStyle>(); HSSFCellStyle style; HSSFFont font; style = wb.createCellStyle(); font = wb.createFont(); // font.setItalic(true); font.setColor((short) 0xc); // blue style.setFont(font); styleMap.put("taskNoteStyle", style); style = wb.createCellStyle(); font = wb.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); style.setFont(font); style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); styleMap.put("taskNameHeaderStyle", style); style = wb.createCellStyle(); style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("taskNameStyle", style); style = wb.createCellStyle(); style.setBorderTop(HSSFCellStyle.BORDER_DOUBLE); style.setAlignment(HSSFCellStyle.ALIGN_RIGHT); styleMap.put("topRowStyle", style); style = wb.createCellStyle(); style.setBorderTop(HSSFCellStyle.BORDER_DOUBLE); style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("topLeftStyle", style); style = wb.createCellStyle(); style.setBorderTop(HSSFCellStyle.BORDER_DOUBLE); style.setBorderRight(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("topRightStyle", style); style = wb.createCellStyle(); font = wb.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); style.setFont(font); style.setBorderRight(HSSFCellStyle.BORDER_DOUBLE); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setAlignment(HSSFCellStyle.ALIGN_RIGHT); styleMap.put("totalHeaderStyle", style); style = wb.createCellStyle(); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); style.setBorderRight(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("totalColumnStyle", style); style = wb.createCellStyle(); style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy")); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setFont(font); styleMap.put("boldDateStyle", style); style = wb.createCellStyle(); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE); style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("bottomLeftStyle", style); style = wb.createCellStyle(); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); style.setBorderRight(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("bottomRightStyle", style); style = wb.createCellStyle(); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE); styleMap.put("bottomStyle", style); return styleMap; }