GestoSAT.Entrada.java Source code

Java tutorial

Introduction

Here is the source code for GestoSAT.Entrada.java

Source

/*  This file is part of GestoSAT.
*
*    GestoSAT is free software: you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation, either version 3 of the License, or
*    (at your option) any later version.
*
*    GestoSAT is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU Affero General Public License
*    along with GestoSAT.  If not, see <http://www.gnu.org/licenses/>.
* 
*    Salvador Puertes Aleixandre, July 2016
*
*/

package GestoSAT;

import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Entrada extends Documento {
    private String lugar = "";
    private Incidencia incidencia;
    private Presupuesto presupuesto = null;

    public Entrada(String observaciones, String lugar, GestoSAT gestoSAT, Cliente cliente) {
        super(observaciones, cliente, gestoSAT);
        this.lugar = lugar;
        this.presupuesto = null;
    }

    public Entrada(String observaciones, GestoSAT gestoSAT, Cliente cliente) {
        super(observaciones, cliente, gestoSAT);
        this.presupuesto = null;
    }

    public Entrada(String observaciones, String lugar, Date creacion, GestoSAT gestoSAT, Cliente cliente,
            Incidencia incidencia) {
        super(observaciones, creacion, cliente, gestoSAT);
        this.lugar = lugar;
        this.incidencia = incidencia;
        this.presupuesto = null;
    }

    public void setLugar(String lugar) {
        this.lugar = lugar;
    }

    public void setIncidencia(Incidencia incidencia) {
        this.incidencia = incidencia;
    }

    public String getLugar() {
        return lugar;
    }

    public Incidencia getIncidencia() {
        return incidencia;
    }

    public Presupuesto getPresupuesto() {
        return presupuesto;
    }

    public void setPresupuesto(Presupuesto presupuesto) {
        this.presupuesto = presupuesto;
    }

    public Map cargarPresupuesto(int idEntrada) {
        Map mapPresupuesto = this.getGestoSAT().recuperarPresupuesto(idEntrada, this);
        Iterator it = mapPresupuesto.entrySet().iterator();
        if (it.hasNext()) {
            Map.Entry aux = (Map.Entry) it.next();
            this.presupuesto = (Presupuesto) aux.getValue();
            mapPresupuesto.putAll(
                    this.presupuesto.cargarAlbaran(Integer.parseInt(aux.getKey().toString().split(";")[0])));
        }
        return mapPresupuesto;
    }

    public void actualizar(String observaciones, String lugar, String motivo) {
        this.lugar = lugar;
        this.getIncidencia().setMotivo(motivo);
        this.setObservaciones(observaciones);

    }

    public void actualizar(String observacionesEntrada, Date cita, String motivo, String observacionesCita) {
        this.setObservaciones(observacionesEntrada);
        this.getIncidencia().setMotivo(motivo);
        this.getIncidencia().setObservaciones(observacionesCita);
        ((Cita) this.getIncidencia()).setFchCita(cita);
    };

    public void actualizar(String observacionesEntrada, Date cita, String motivo, String observacionesCita,
            Map empleados) {
        this.setObservaciones(observacionesEntrada);
        this.getIncidencia().setMotivo(motivo);
        this.getIncidencia().setObservaciones(observacionesCita);
        ((Cita) this.getIncidencia()).setFchCita(cita);
        ((Cita) this.getIncidencia()).setEmpleados(empleados);
    };

    public String entrada2PDF() {
        try {
            String arch = "Entrada" + (new Date()).getTime() + ".pdf";
            Document doc = new Document();
            PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch));
            doc.open();
            File f = new File("logo");

            // http://www.java2s.com/Tutorial/Java/0280__SWT/UseImageDatatocreateanewimage.htm
            if (f.exists()) {
                Image img = Image.getInstance("logo");
                img.setAbsolutePosition(50, 735);
                img.scaleAbsolute(50, 50);
                doc.add(img);
                Paragraph p = new Paragraph(" ");
                p.setLeading((float) 75);
                doc.add(p);
            }
            doc.add(new Paragraph(
                    "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos()));
            if (this.incidencia.getClass().getName().equals("GestoSAT.Averia")) {
                doc.add(new Paragraph(" "));
                doc.add(new Paragraph("APARATO"));
                doc.add(new Paragraph(" "));
                Averia av = (Averia) this.incidencia;
                doc.add(new Paragraph("Problema: " + av.getMotivo()));
                doc.add(new Paragraph(" "));
                doc.add(new Paragraph("Tipo: " + av.getAparato().getTipo()));
                doc.add(new Paragraph("Marca: " + av.getAparato().getMarca()));
                doc.add(new Paragraph("Modelo: " + av.getAparato().getModelo()));
                doc.add(new Paragraph("NSerie: " + av.getAparato().getNumSerie()));
                doc.add(new Paragraph("Color: " + av.getAparato().getColor()));
                doc.add(new Paragraph("Observaciones: " + av.getAparato().getObservaciones()));
            } else {
                Cita cita = (Cita) this.incidencia;
                doc.add(new Paragraph(" "));
                doc.add(new Paragraph("CITA"));
                doc.add(new Paragraph("Problema:" + cita.getMotivo()));
                doc.add(new Paragraph(
                        "Direccin:" + cita.getPoblacion() + " " + cita.getCalle() + " " + cita.getNumero() + " "
                                + cita.getEscalera() + " " + cita.getPiso() + " " + cita.getPuerta()));
                doc.add(new Paragraph("Obsevaciones:" + cita.getObservacionesDirrecion()));
                doc.add(new Paragraph(cita.getObservaciones()));
            }
            doc.close();
            return "descargables/" + arch;
        } catch (Exception ex) {
            Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
            return "";
        }
    }

    public String entrada2XLSX() {
        String archivo = "Entrada" + (new Date()).getTime() + ".xlsx";
        try {
            Workbook wb = new XSSFWorkbook();
            Sheet sheet = wb.createSheet("Entrada");
            // Create a row and put some cells in it. Rows are 0 based.
            Row row;
            Cell cell;
            row = sheet.createRow((short) 0);
            cell = row.createCell(0);
            cell.setCellValue("Datos cliente");
            row = sheet.createRow((short) 1);
            cell = row.createCell(0);
            cell.setCellValue("Nombre");
            cell = row.createCell(1);
            cell.setCellValue(this.getCliente().getNombre());
            row = sheet.createRow((short) 2);
            cell = row.createCell(0);
            cell.setCellValue("Apellidos");
            cell = row.createCell(1);
            cell.setCellValue(this.getCliente().getApellidos());

            row = sheet.createRow((short) 4);
            cell = row.createCell(0);
            cell.setCellValue("Valores entrada");

            row = sheet.createRow((short) 5);
            cell = row.createCell(0);
            cell.setCellValue("Motivo");
            cell = row.createCell(1);
            cell.setCellValue(this.incidencia.getMotivo());

            row = sheet.createRow((short) 6);
            cell = row.createCell(0);
            cell.setCellValue("Observaciones");
            cell = row.createCell(1);
            cell.setCellValue(this.getObservaciones());

            if (this.incidencia.getClass().getName().equals("GestoSAT.Cita")) {
                Cita cita = (Cita) this.incidencia;
                row = sheet.createRow((short) 8);
                cell = row.createCell(0);
                cell.setCellValue("Observaciones direccin");
                cell = row.createCell(1);
                cell.setCellValue(cita.getObservacionesDirrecion());
                row = sheet.createRow((short) 9);
                cell = row.createCell(0);
                cell.setCellValue("Observaciones cita");
                cell = row.createCell(1);
                cell.setCellValue(cita.getObservaciones());
                row = sheet.createRow((short) 11);
                cell = row.createCell(0);
                cell.setCellValue("Provincia");
                cell = row.createCell(1);
                cell.setCellValue("Poblacin");
                cell = row.createCell(2);
                cell.setCellValue("Calle");
                cell = row.createCell(3);
                cell.setCellValue("Nmero");
                cell = row.createCell(4);
                cell.setCellValue("Escalera");
                cell = row.createCell(5);
                cell.setCellValue("Piso");
                cell = row.createCell(6);
                cell.setCellValue("Puerta");
                row = sheet.createRow((short) 12);
                cell = row.createCell(0);
                cell.setCellValue(cita.getProvincia());
                cell = row.createCell(1);
                cell.setCellValue(cita.getPoblacion());
                cell = row.createCell(2);
                cell.setCellValue(cita.getCalle());
                cell = row.createCell(3);
                cell.setCellValue(cita.getNumero());
                cell = row.createCell(4);
                cell.setCellValue(cita.getEscalera());
                cell = row.createCell(5);
                cell.setCellValue(cita.getPiso());
                cell = row.createCell(6);
                cell.setCellValue(cita.getPuerta());
            } else {
                Averia averia = (Averia) this.incidencia;
                row = sheet.createRow((short) 8);
                cell = row.createCell(0);
                cell.setCellValue("Observaciones");
                cell = row.createCell(1);
                cell.setCellValue(averia.getObservaciones());
                row = sheet.createRow((short) 9);
                cell = row.createCell(0);
                cell.setCellValue("Observaciones aparato");
                cell = row.createCell(1);
                cell.setCellValue(averia.getAparato().getObservaciones());
                row = sheet.createRow((short) 11);
                cell = row.createCell(0);
                cell.setCellValue("Tipo");
                cell = row.createCell(1);
                cell.setCellValue("Modelo");
                cell = row.createCell(2);
                cell.setCellValue("Marca");
                cell = row.createCell(3);
                cell.setCellValue("N Seria");
                cell = row.createCell(4);
                cell.setCellValue("Color");
                row = sheet.createRow((short) 12);
                cell = row.createCell(0);
                cell.setCellValue(averia.getAparato().getTipo());
                cell = row.createCell(1);
                cell.setCellValue(averia.getAparato().getModelo());
                cell = row.createCell(2);
                cell.setCellValue(averia.getAparato().getMarca());
                cell = row.createCell(3);
                cell.setCellValue(averia.getAparato().getNumSerie());
                cell = row.createCell(4);
                cell.setCellValue(averia.getAparato().getColor());
            }

            FileOutputStream fileOut = new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + archivo);
            wb.write(fileOut);
            fileOut.close();
            // Devolver Archivo
            return "descargables/" + archivo;
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
            return "";
        } catch (IOException ex) {
            Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
            return "";
        }
    }
}