int opcion = JOptionPane.showConfirmDialog(this, "¿Desea imprimir en cocina?");
if (opcion == JOptionPane.YES_OPTION) {
String textoComanda = "";
ArrayList<Platillo> platilosDeOrden = orden.getPlatillos();
for (int i = 0; i < platilosDeOrden.size(); i++) {
Platillo p = platilosDeOrden.get(i);
textoComanda += p.getNombrePlatillo() + "\n";//TODO tal vez necesite adaptarse para casos en que el nombre de platillo tenga más de 30 caracteres
}
textoComanda += orden.getOvservaciones();
if (textoComanda != "") {
DialogoImpresionComanda impresionComanda = new DialogoImpresionComanda(this, false);
impresionComanda.ponerTexto(textoComanda);
impresionComanda.setVisible(true);
PrinterJob job = PrinterJob.getPrinterJob();
// PageFormat pageFormat = new PageFormat();
// Paper papel = new Paper();
// papel.setSize(0.0525, 0.1);
// pageFormat.setPaper(papel);
// job.setPrintable(impresionComanda, pageFormat);
// DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
// DocAttributeSet attr_set
// = new HashDocAttributeSet();
// attr_set.add(MediaSize.ISO.A8);
// Doc doc = new SimpleDoc(bytes, flavor, attr_set);
job.setPrintable(impresionComanda);
boolean doPrint = job.printDialog();
if (doPrint) {
try {
// job.setJobName("Ciao bella");
job.print();
} catch (PrinterException e) {
// The job did not successfully
// complete
}
}
impresionComanda.setVisible(false);
System.out.println("Ya debería estar imprimiéndose");
ServicioDeImpresion.imprimirCocina(textoComanda);//TODO tal vez necesite adaptarse para casos en que el nombre de platillo tenga más de 30 caracteres
//TODO agregar recomendaciones del chef en nueva comanda con platillos
//en vez de idRecomendacionesDelChef.add(baseDeDatos.agregarNuevaRecomendacionDelChefAComanda(idDeComanda, mesero, numeroDeMesa));
//idDeComanda = baseDeDatos.nuevaComandaConPlatillos(orden, mesero, numeroDeMesa);
int[] ids = baseDeDatos.nuevaComandaConPlatillos(orden, mesero, numeroDeMesa, recomendacionesDeChefPorApuntar);
idDeComanda = ids[0];
idRecomendacionesDelChef.add(ids[1]);
recomendacionesDeChefPorApuntar = 0;
lblNumeroApuntadas.setText(idRecomendacionesDelChef.size() + recomendacionesDeChefPorApuntar + "");
System.out.println("");
//al momento de imprimir guardar en BD
//TODO guardar platillos en la base de datos
for (int i = 0; i < platilosDeOrden.size(); i++) {
Platillo p = platilosDeOrden.get(i);
baseDeDatos.agregarPlatilloAComanda(p, orden, idDeComanda);
}
}
//TODO preguntar si imprime solo los alimentos que no había mandado o todos de nuevo