}
public void mandaCorreo(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
PdfPTable tabla = null;
List<BitacoraLN> bitacoraList;
try {
Iterable<Entity> usuarios = Util.listObjectEntities("UsuarioLN",
"correo", new Boolean(true));
for (Entity usuario : usuarios) {
Long idNegocio = (Long) usuario.getProperty("idNegocio");
String email = (String) usuario.getProperty("email");
String nombres =(String) usuario.getProperty("nombres");
String apepa =(String) usuario.getProperty("apepa");
NegocioLN negocio = NegocioLNBO.editarNegocioLN(String
.valueOf(idNegocio.longValue()));
String txtNegocio = negocio.getNombre();
bitacoraList = BitacoraLNDAO.obtenerNovedadesParaCorreo(idNegocio);
if (!bitacoraList.isEmpty()) {
Document document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance(document, baos);
Cabecera event = new Cabecera(txtNegocio);
writer.setPageEvent(event);
document.open();
Iterator<BitacoraLN> iteNovedadesfallas = bitacoraList
.iterator();
String[] headers = new String[] { "Fecha", "Usuario",
"Turno", "Equipo", "Novedad" };
tabla = new PdfPTable(headers.length);
tabla.setWidthPercentage(100);
float[] widths = new float[] { 2f, 2f, 1f, 2f, 5f };
tabla.setWidths(widths);
for (int i = 0; i < headers.length; i++) {
String header = headers[i];
PdfPCell cell = new PdfPCell();
cell.setGrayFill(0.9f);
cell.setPhrase(new Phrase(header.toUpperCase(),
new Font(FontFamily.HELVETICA, 10, Font.BOLD)));
tabla.addCell(cell);
}
tabla.completeRow();
while (iteNovedadesfallas.hasNext()) {
BitacoraLN bitacora = iteNovedadesfallas.next();
PdfPCell cell0 = new PdfPCell();
PdfPCell cell1 = new PdfPCell();
PdfPCell cell2 = new PdfPCell();
PdfPCell cell3 = new PdfPCell();
PdfPCell cell4 = new PdfPCell();
SimpleDateFormat sdf = new SimpleDateFormat(
"dd/MM/yyyy");
String fecha = sdf.format(bitacora.getFecha());
cell0.setPhrase(new Phrase(fecha, new Font(
FontFamily.HELVETICA, 8, Font.NORMAL)));
if (bitacora.getUsuarioNombre() != null) {
cell1.setPhrase(new Phrase(bitacora
.getUsuarioNombre(), new Font(
FontFamily.HELVETICA, 8, Font.NORMAL)));
} else {
cell1.setPhrase(new Phrase("", new Font(
FontFamily.HELVETICA, 8, Font.NORMAL)));
}
cell2.setPhrase(new Phrase(bitacora.getTurnoNombre(),
new Font(FontFamily.HELVETICA, 8, Font.NORMAL)));
cell3.setPhrase(new Phrase(bitacora.getEquipoNombre(),
new Font(FontFamily.HELVETICA, 8, Font.NORMAL)));
cell4.setPhrase(new Phrase(bitacora.getComentario().getValue(),
new Font(FontFamily.HELVETICA, 8, Font.NORMAL)));
tabla.addCell(cell0);
tabla.addCell(cell1);
tabla.addCell(cell2);
tabla.addCell(cell3);
tabla.addCell(cell4);
tabla.completeRow();
}
document.add(tabla);
document.close();