package com.modelo;

import java.nio.charset.StandardCharsets;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.SimpleDoc;

/**
 * 
 * Etiqueta class
 * Clase donde se inicializa el tamaño de la letra y la posicion en la que van a
 * estar los valores extraidos de la lista, ademas esta clase se ecargar de mandar
 * estos valores a la impresora.
 * 
 * 
 * @author Jose Rene Palacios Ruiz
 * @version 1.0
 * @since 19-06-2015
 */
public class Etiqueta {
	
    /**
     * 
     * Metodo encargada de imprimir la etiqueta; se le pasan
     * ciertos parametros al mandarlo llamar
     * 
     * @param printService Servicio de impresora al que se le va a mandar la informacion
     * @param date Inicializador de la fecha
     * @param mA Amperaje del archivo .cvs  
     * @return result
     */
	public boolean impEtiqueta(PrintService printService, String date, String mA) {
	    if (printService == null || date == null || mA == null) {
	        return false;
	    }
	    
	    String command = "^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR5,5~SD15^JUS^LRN^CI0^XZ^XA^MMT^PW203^LL0102^LS0^FT40,71^A0N,20,19^FH\\^FD"+date+"^FS^FT44,45^A0N,28,28^FH\\^FD"+mA+"^FS^PQ1,0,1,Y^XZ" ;

	    byte[] data;
	    data = command.getBytes(StandardCharsets.US_ASCII);
	    Doc doc = new SimpleDoc(data, DocFlavor.BYTE_ARRAY.AUTOSENSE, null);

	    boolean result = false;
	    try {
	        printService.createPrintJob().print(doc, null);
	        result = true;
	    } catch (PrintException e) {
	        e.printStackTrace();
	    }
	    return result;
	}
	
}
