dto.Dto.java Source code

Java tutorial

Introduction

Here is the source code for dto.Dto.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package dto;

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import static com.mongodb.client.model.Filters.and;
import static com.mongodb.client.model.Filters.eq;
import com.mongodb.client.model.Sorts;
import dao.Conexion;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.bson.Document;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

/**
 *
 * @author Lenovo
 */
public class Dto {

    private Conexion c = new Conexion();

    public String getLastStudentId() {
        Conexion c = new Conexion();
        MongoCollection<Document> col = c.getConnection("usuarios");

        Document doc = col.find().sort(Sorts.orderBy(Sorts.descending("_id"))).first();

        if (doc == null) {
            return "0";
        } else {
            return (doc.getString("_id"));
        }
    }

    public String getLastActaId() {
        Conexion c = new Conexion();
        MongoCollection<Document> col = c.getConnection("actas");

        Document doc = col.find().sort(Sorts.orderBy(Sorts.descending("_id"))).first();

        if (doc == null) {
            return "0";
        } else {
            return (doc.getString("_id"));
        }
    }

    public void registrarActa(String profe, String tema, String temas, String reco, String alumno) {
        c = new Conexion();
        MongoCollection<Document> col = c.getConnection("actas");
        //int idUsuario = 0;
        Document doc = new Document();
        doc.append("_id", String.valueOf((Integer.parseInt(getLastActaId()) + 1)));
        doc.append("tema", tema);
        doc.append("asesor", profe);
        doc.append("idAlumno", alumno);
        doc.append("temas", temas);
        doc.append("reco", reco);
        doc.append("estado", "pendiente");
        col.insertOne(doc);
    }

    public String getNombreAsesor(String idA) {
        String nombre = "";
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");

        Document doc = col.find(and(eq("_id", idA), eq("estadoA", "aceptado"))).first();
        String idP = doc.getString("idAsesor");
        MongoCollection<Document> col2 = c.getConnection("profesores");
        Document doc2 = col2.find(eq("_id", idP)).first();
        nombre = doc2.getString("nombre");

        return nombre;
    }

    public String getLastAsesoriaId() {
        Conexion c = new Conexion();
        MongoCollection<Document> col = c.getConnection("asesorias");

        Document doc = col.find().sort(Sorts.orderBy(Sorts.descending("_id"))).first();

        if (doc == null) {
            return "0";
        } else {
            return (doc.getString("_id"));
        }
    }

    public void registrarAsesoria(String profe, String tema, String asunto, String alumno) {
        c = new Conexion();
        MongoCollection<Document> col = c.getConnection("asesorias");
        //int idUsuario = 0;
        Document doc = new Document();
        doc.append("_id", String.valueOf((Integer.parseInt(getLastAsesoriaId()) + 1)));
        doc.append("tema", tema);
        doc.append("idAsesor", profe);
        doc.append("idAlumno", alumno);
        doc.append("asunto", asunto);
        doc.append("estado", "pendiente");
        col.insertOne(doc);
    }

    public String getLastTeacherId() {
        Conexion c = new Conexion();
        MongoCollection<Document> col = c.getConnection("profesores");

        Document doc = col.find().sort(Sorts.orderBy(Sorts.descending("_id"))).first();

        if (doc == null) {
            return "0";
        } else {
            return (doc.getString("_id"));
        }
    }

    public String getLastTesisId() {
        Conexion c = new Conexion();
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");

        Document doc = col.find().sort(Sorts.orderBy(Sorts.descending("_id"))).first();

        if (doc == null) {
            return "0";
        } else {
            System.out.println(doc.getString("_id"));
            return (doc.getString("_id"));

        }
    }

    public void registrarTema(String tema, String usuario) {
        c = new Conexion();
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        //int idUsuario = 0;
        Document doc = new Document();
        doc.append("_id", String.valueOf((Integer.parseInt(getLastTesisId()) + 1)));
        doc.append("titulo", tema);
        doc.append("idAsesor", "0");
        doc.append("estadoP", "pendiente");
        doc.append("estadoA", "");
        doc.append("idAlumno", usuario);
        doc.append("seccion", getSeccion(usuario));
        col.insertOne(doc);
    }

    public String getSeccion(String id) {
        String sec = "";
        MongoCollection<Document> col = c.getConnection("alumnos");
        Document doc = col.find(eq("_id", id)).first();
        try {
            System.out.println(doc);
            sec = String.valueOf(doc.getString("seccion"));
        } catch (Exception e) {
            System.out.println(e);
        }
        return sec;
    }

    public boolean existe(String user, String psw) {
        Conexion c = new Conexion();
        MongoCollection<Document> col = c.getConnection("usuarioxactividad");
        long count = col.count(and(eq("usuario", user), eq("contrasea", psw)));
        System.out.println(c);
        if (count == 1) {
            return true;
        } else {
            return false;
        }
    }

    //    public void registrarStudent(String nombre, String usuario, String psw) {
    //        c = new Conexion();
    //        MongoCollection<Document> col = c.getConnection("alumnos");
    //        //int idUsuario = 0;
    //        Document doc = new Document();
    //        doc.append("_id", (getLastStudentId() + 1));
    //        doc.append("nombre", nombre);
    //        doc.append("usuario", usuario);
    //        doc.append("psw", psw);
    //        col.insertOne(doc);
    //    }
    //
    //    public void registrarTeacher(String nombre, String usuario, String psw) {
    //        c = new Conexion();
    //        MongoCollection<Document> col = c.getConnection("profesores");
    //        //int idUsuario = 0;
    //        Document doc = new Document();
    //        doc.append("_id", (getLastTeacherId() + 1));
    //        doc.append("nombre", nombre);
    //        doc.append("usuario", usuario);
    //        doc.append("psw", psw);
    //        col.insertOne(doc);
    //    }
    public String loginStudent(String u, String p) {
        String id;
        JSONObject o = new JSONObject();
        MongoCollection<Document> col = c.getConnection("alumnos");
        Document doc = col.find(and(eq("usuario", u), eq("psw", p))).first();
        try {
            o.put("nombre", doc.getString("nombre"));
            o.put("id", doc.getString("_id"));
            o.put("seccion", doc.getString("seccion"));
        } catch (NullPointerException e) {
            System.out.println(e);
            o.put("nombre", "error");
            o.put("id", "error");
            o.put("seccion", "error");
        }
        return o.toString();
    }

    public String loginTeacher(String u, String p) {
        String id;
        JSONObject o = new JSONObject();
        MongoCollection<Document> col = c.getConnection("profesores");
        Document doc = col.find(and(eq("usuario", u), eq("psw", p))).first();
        try {
            o.put("nombre", doc.getString("nombre"));
            o.put("id", doc.getString("_id"));
            o.put("seccion", doc.getString("seccion"));
        } catch (NullPointerException e) {
            System.out.println(e);
            o.put("nombre", "error");
            o.put("id", "error");
            o.put("seccion", "error");
        }
        return o.toString();
    }

    public String listarTesis() {
        String cadena = "";
        MongoCollection<Document> col = c.getConnection("universo_tesis");
        MongoCursor<Document> cursor = col.find().sort(Sorts.orderBy(Sorts.descending("ao"))).iterator();
        Document doc;
        try {
            while (cursor.hasNext()) {
                doc = cursor.next();
                cadena += "<tr>" + "<td width='20%'>" + doc.getString("titulo").toUpperCase().trim() + "</td>"
                        + "<td width='20%'>" + doc.getString("ao") + "</td>" + "<td width='20%'>"
                        + doc.getString("estado").toUpperCase().trim() + "</td>" + "</tr>";
            }
        } catch (Exception e) {
            System.out.println("listarTesis universo: " + e);
        } finally {
            cursor.close();
        }
        return cadena;
    }

    public String listarActas() {
        String cadena = "";
        MongoCollection<Document> col = c.getConnection("actas");
        MongoCursor<Document> cursor = col.find(eq("estado", "pendiente")).iterator();
        Document doc;
        try {
            while (cursor.hasNext()) {
                doc = cursor.next();
                cadena += "<tr>" + "<td width='20%'>" + doc.getString("tema").toUpperCase().trim() + "</td>"
                        + "<td width='20%'>" + doc.getString("temas") + "</td>" + "<td width='20%'>"
                        + doc.getString("reco").toUpperCase().trim() + "</td>" + "<td width='20%'>"
                        + getNombreAlumno(doc.getString("idAlumno")) + "</td>";
                if (doc.getString("estado").equalsIgnoreCase("pendiente")) {
                    cadena += "<td width='20%'><button onclick='aceptarActa(" + doc.getString("_id")
                            + ")'>OK</button>" + "<button onclick='rechazarActa(" + doc.getString("_id")
                            + ")'>X</button></td><tr>";
                } else {
                    cadena += "<td width='20%'></td><tr>";
                }
            }
        } catch (Exception e) {
            cadena = "No tiene actas pendientes";
            System.out.println("listarActas: " + e);
        } finally {
            cursor.close();
        }
        return cadena;
    }

    public String getAlumno(String id) {
        MongoCollection<Document> col = c.getConnection("alumnos");
        JSONObject o = new JSONObject();
        try {
            Document doc = col.find(eq("_id", id)).first();
            o.put("nombre", doc.getString("nombre"));
            o.put("id", doc.getString("_id"));
            o.put("seccion", doc.getString("seccion"));
        } catch (NullPointerException e) {
            o.clear();
        }
        return o.toString();
    }

    public String getAsesor(String id) {

        JSONObject o = new JSONObject();
        MongoCollection<Document> col = c.getConnection("profesores");
        try {
            Document doc = col.find(eq("_id", id)).first();
            o.put("nombre", doc.getString("nombre"));
            o.put("id", doc.getString("_id"));
            o.put("seccion", doc.getString("seccion"));
            //p = doc.getString("nombre");
        } catch (NullPointerException e) {
            o.clear();
        }
        return o.toString();
    }

    public String getNombreAlumno(String id) {
        String nombre = "";
        MongoCollection<Document> col = c.getConnection("alumnos");
        try {
            Document doc = col.find(eq("_id", id)).first();
            nombre = doc.getString("nombre");
            //p = doc.getString("nombre");
        } catch (NullPointerException e) {
            nombre = "";
        }
        return nombre;
    }

    public String listarTesisAsesor(String id) {
        String cadena = "";
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        MongoCursor<Document> cursor = col.find(and(eq("estadoA", "pendiente"), eq("idAsesor", id))).iterator();
        Document doc;
        try {

            while (cursor.hasNext()) {
                System.out.println("while asessor");
                doc = cursor.next();
                cadena += "<tr>" + "<td width='20%'>" + doc.getString("titulo").toUpperCase().trim() + "</td>"
                        + "<td width='20%'>" + getNombreAlumno(doc.getString("idAlumno")) + "</td>";
                if (doc.getString("estadoA").equalsIgnoreCase("pendiente")) {
                    cadena += "<td width='20%'><button onclick='aceptarSolicitud(" + doc.getString("_id")
                            + ")'>OK</button>" + "<button onclick='rechazarSolicitud(" + doc.getString("_id")
                            + ")'>X</button></td><tr>";
                } else {
                    cadena += "<td width='20%'></td><tr>";
                }
                //System.out.println(doc);               
            }
            //p = doc.getString("nombre");
        } catch (NullPointerException e) {
            System.out.println("tesisAsesor: " + e);
        } finally {
            cursor.close();
        }
        return cadena;
    }

    public String listarTesisProfesor(String seccion) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        MongoCursor<Document> cursor = col.find(eq("seccion", seccion)).iterator();
        Document doc;
        String cadena = "";
        try {

            while (cursor.hasNext()) {
                doc = cursor.next();
                cadena += "<tr>" + "<td width='20%'>" + doc.getString("titulo").toUpperCase().trim() + "</td>"
                        + "<td width='20%'>" + getNombreAlumno(doc.getString("idAlumno")) + "</td>";
                if (doc.getString("estadoP").equalsIgnoreCase("pendiente")) {
                    cadena += "<td width='20%'><button onclick='aceptarTesis(" + doc.getString("_id")
                            + ")'>OK</button>" + "<button onclick='rechazarTesis(" + doc.getString("_id")
                            + ")'>X</button></td><tr>";
                } else {
                    cadena += "<td width='20%'></td><tr>";
                }
                //System.out.println(doc);               
            }
            //p = doc.getString("nombre");
        } catch (NullPointerException e) {
            System.out.println("listar tesis: " + e);
        } finally {
            cursor.close();
        }
        return cadena;
    }

    public void enviarSolicitud(String idTesis, String idA) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        Document doc = col.find(eq("_id", idTesis)).first();
        col.updateOne(doc, new Document("$set", new Document("estadoA", "pendiente")));

        MongoCollection<Document> col1 = c.getConnection("tesis_alumno_asesor");
        Document doc1 = col1.find(eq("_id", idTesis)).first();
        col.updateOne(doc1, new Document("$set", new Document("idAsesor", idA)));
    }

    public String listarTesisSinAsesor(String seccion) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        MongoCursor<Document> cursor = col.find(and(eq("seccion", (seccion)), eq("idAsesor", "0"))).iterator();
        Document doc;
        String cadena = "";
        try {

            while (cursor.hasNext()) {
                doc = cursor.next();
                cadena += "<tr>" + "<td width='20%'>" + doc.getString("titulo").toUpperCase().trim() + "</td>"
                        + "<td width='20%'><select id='sel' style='display:inline'><option>*** Seleccione asesor ***</option></select></td>"
                        + "<td><button onclick='enviarSolicitud(" + doc.getString("_id")
                        + ")'>Enviar</button></td></tr>";
                //System.out.println(doc);               
            }
            //p = doc.getString("nombre");
        } catch (NullPointerException e) {
            System.out.println("listar sin asesor: " + e);
        } finally {
            cursor.close();
        }
        return cadena;
    }

    public String listarAsesores() {
        String cadena = "";
        MongoCollection<Document> col = c.getConnection("profesores");
        MongoCursor<Document> cursor = col.find().iterator();
        Document doc;
        try {
            while (cursor.hasNext()) {
                doc = cursor.next();
                cadena += "<option value='" + doc.getString("_id") + "'>" + doc.getString("nombre") + "</option>";
            }
        } catch (Exception e) {
            System.out.println("listarTesisAsesores: " + e);
        } finally {
            cursor.close();
        }
        return cadena;
    }

    public void aceptarTesisProfesor(String idTesis) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        Document doc = col.find(eq("_id", idTesis)).first();

        col.updateOne(doc, new Document("$set", new Document("estadoP", "aceptado")));
    }

    public void rechazarTesisProfesor(String idTesis) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        Document doc = col.find(eq("_id", idTesis)).first();

        col.updateOne(doc, new Document("$set", new Document("estadoP", "rechazado")));
    }

    public void aceptarSolicitudAsesor(String idTesis, String idAsesor) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        Document doc = col.find(eq("_id", idTesis)).first();

        col.updateOne(doc, new Document("$set", new Document("estadoA", "aceptado")));

        MongoCollection<Document> col1 = c.getConnection("tesis_alumno_asesor");
        Document doc2 = col1.find(eq("_id", idTesis)).first();

        col.updateOne(doc2, new Document("$set", new Document("idAsesor", idAsesor)));
    }

    public void rechazarSolicitudAsesor(String idTesis) {
        MongoCollection<Document> col = c.getConnection("tesis_alumno_asesor");
        Document doc = col.find(eq("_id", idTesis)).first();
        col.updateOne(doc, new Document("$set", new Document("estadoA", "rechazado")));

        MongoCollection<Document> col1 = c.getConnection("tesis_alumno_asesor");
        Document doc2 = col1.find(eq("_id", idTesis)).first();
        col.updateOne(doc2, new Document("$set", new Document("idAsesor", 0)));
    }

    public void aceptarActa(String idActa) {
        MongoCollection<Document> col = c.getConnection("actas");
        Document doc = col.find(eq("_id", idActa)).first();

        col.updateOne(doc, new Document("$set", new Document("estado", "aceptado")));
    }

    public void rechazarActa(String idActa) {
        MongoCollection<Document> col = c.getConnection("actas");
        Document doc = col.find(eq("_id", idActa)).first();

        col.updateOne(doc, new Document("$set", new Document("estado", "rechazado")));
    }
}