modelo.ProcesoVertimientosManagers.InformacionTecnica.java Source code

Java tutorial

Introduction

Here is the source code for modelo.ProcesoVertimientosManagers.InformacionTecnica.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 modelo.ProcesoVertimientosManagers;

import java.sql.ResultSet;
import java.sql.SQLException;
import modelo.ParametrizacionDelegates.SeleccionarPrmfisicoquimicos;
import modelo.ParametrizacionDelegates.SeleccionarPuntosVertimiento;
import modelo.ParametrizacionManagers.*;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import modelo.ProcesoVertimientosDelegates.*;
import modelo.ParametrizacionManagers.*;

public class InformacionTecnica {

    /**
     * 
     * Arma el JSON con la informacion tecnica.
     * 
     * @param codigoProceso
     * @return
     * @throws Exception 
     */
    public JSONArray getInformacionTecnica(int codigoProceso) throws Exception {

        int cantidadDatos = hayDatos(codigoProceso);

        //Mangers necesarios y Delegates Necesarios
        PuntosVertimiento puntoVert = new PuntosVertimiento();
        ParamFisicoquimicos param = new ParamFisicoquimicos();

        //Creamos el contenedor principal del JSON
        JSONArray contenedorPrincipal = new JSONArray();

        //Obtenemos la informacion del punto de vertimiento.
        Object data[] = puntoVert.getPuntosParaInfoTecnica(codigoProceso);
        ResultSet rset1 = (ResultSet) data[0];

        //Array para guardar la informacion del punto
        JSONArray puntoArray = new JSONArray();
        int puntoMonitoreo = 0;

        //Guardamos la informacion del punto en el JSON
        while (rset1.next()) {

            JSONObject puntoObject = new JSONObject();

            puntoObject.put("codigo", rset1.getString("PUNTO_MONITOREO"));
            puntoMonitoreo = Integer.parseInt(rset1.getString("PUNTO_MONITOREO"));
            puntoObject.put("ubicacion", rset1.getString("UBICACION"));
            puntoObject.put("latitud", rset1.getString("LATITUD"));
            puntoObject.put("longitud", rset1.getString("LONGITUD"));
            puntoObject.put("ciiu", rset1.getString("CIIU"));
            puntoObject.put("fechaMonitoreo", rset1.getString("FECHA_MONITOREO_PUNTO"));
            puntoObject.put("descripcionCiiu", rset1.getString("DESCRIPCION_CIIU"));
            puntoObject.put("jordanadaProductivaDia", rset1.getString("JPRODDIAS"));
            puntoObject.put("jordanadaProductivaHoras", rset1.getString("JPRODHORAS"));
            puntoObject.put("jordanadaProductivaObsev", rset1.getString("JPRODOBV"));

            int ciiu = rset1.getInt("CIIU");

            //Guardamos las informacion de la jornada
            JSONArray arrayJornada = new JSONArray();
            SeleccionarInfoTecJornadas infoTecJornadas = new SeleccionarInfoTecJornadas();

            //Validamos si ya hay datos registrados en las jornadas y en los detalles de las jornadas.
            if (cantidadDatos > 0) {

                //Obtenemos La informacion de las jornadas y las guardamos en el JSON
                ResultSet rsetJornadas = infoTecJornadas.getJornadas(puntoMonitoreo);
                while (rsetJornadas.next()) {

                    JSONObject objectJornada = new JSONObject();
                    objectJornada.put("nombre", "Jornada " + rsetJornadas.getInt("JORNADA"));
                    objectJornada.put("cargaDBO", rsetJornadas.getDouble("CARGA_DBO"));
                    objectJornada.put("cargaSST", rsetJornadas.getDouble("CARGA_SST"));
                    objectJornada.put("horaInicio", rsetJornadas.getString("HORA_INICIO"));
                    objectJornada.put("horaFin", rsetJornadas.getString("HORA_FIN"));
                    objectJornada.put("caudalJornada", rsetJornadas.getString("CAUDAL_JORNADA"));

                    int jornada = rsetJornadas.getInt("JORNADA");

                    //Obtenemos y guardamos la informacion de cada parametro
                    Object data2[] = param.getParametrosParaInfoTecnica(puntoMonitoreo, jornada, ciiu);
                    ResultSet rset2 = (ResultSet) data2[0];

                    JSONArray arrayParametro = new JSONArray();
                    while (rset2.next()) {

                        JSONObject objectParametro = new JSONObject();
                        objectParametro.put("parametro", rset2.getString("PARAMETRO"));
                        objectParametro.put("codigoParametro", rset2.getString("CODIGO_PARAMETRO"));
                        objectParametro.put("rangoInicial", rset2.getString("RANGO_INICIAL"));
                        objectParametro.put("rangoFinal", rset2.getString("RANGO_FINAL"));
                        objectParametro.put("valorInforme", rset2.getDouble("VALOR"));
                        objectParametro.put("cumple", rset2.getString("CUMPLE"));
                        objectParametro.put("observacion", rset2.getString("OBSERVACION"));
                        objectParametro.put("indicardorMenor", rset2.getString("MENOR"));

                        arrayParametro.add(objectParametro);
                    }

                    //Cerramos conexion de parametros
                    SeleccionarPrmfisicoquimicos select2 = (SeleccionarPrmfisicoquimicos) data2[1];
                    select2.desconectar();

                    //Guardamos los parametros en la jornada.
                    objectJornada.put("tabla", arrayParametro);

                    //Guardamos la Jornada
                    arrayJornada.add(objectJornada);
                }
                //Cerramos la conexion de jornadas

            } else if (cantidadDatos == 0) {

                //Guardamos la informacion de las jornadas
                for (int i = 1; i < 5; i++) {
                    JSONObject objectJornada = new JSONObject();
                    objectJornada.put("nombre", "Jornada " + i);
                    objectJornada.put("cargaDBO", "");
                    objectJornada.put("cargaSST", "");
                    objectJornada.put("horaInicio", "");
                    objectJornada.put("horaFin", "");
                    objectJornada.put("caudalJornada", "");

                    //Obtenemos y guardamos la informacion de cada parametro
                    Object data2[] = param.getParametrosParaInfoTecnica(ciiu);
                    ResultSet rset2 = (ResultSet) data2[0];

                    JSONArray arrayParametro = new JSONArray();
                    while (rset2.next()) {

                        JSONObject objectParametro = new JSONObject();
                        objectParametro.put("parametro", rset2.getString("PARAMETRO"));
                        objectParametro.put("codigoParametro", rset2.getString("CODIGO_PARAMETRO"));
                        objectParametro.put("rangoInicial", rset2.getString("RANGO_INICIAL"));
                        objectParametro.put("rangoFinal", rset2.getString("RANGO_FINAL"));
                        objectParametro.put("valorInforme", "");
                        objectParametro.put("cumple", "");
                        objectParametro.put("observacion", "");
                        objectParametro.put("indicardorMenor", "");

                        arrayParametro.add(objectParametro);
                    }

                    //Cerramos conexion de parametros
                    SeleccionarPrmfisicoquimicos select2 = (SeleccionarPrmfisicoquimicos) data2[1];
                    select2.desconectar();

                    //Guardamos los parametros en la jornada.
                    objectJornada.put("tabla", arrayParametro);

                    //Guardamos la Jornada
                    arrayJornada.add(objectJornada);
                }
            }

            //guardamos las jornadas en el punto
            puntoObject.put("jornadas", arrayJornada);
            puntoArray.add(puntoObject);

            infoTecJornadas.desconectar();
        }

        contenedorPrincipal.add(puntoArray);

        //Cerrar Conexion.
        SeleccionarPuntosVertimiento select = (SeleccionarPuntosVertimiento) data[1];
        select.desconectar();

        return contenedorPrincipal;
    }

    public int registrarInfoTecPuntoMonitoreo(String fechaMonitoreo, String jornadaProductivaDia,
            String jornadaProductivaHora, String jornadaProductivaObservacion, String codigoPunto)
            throws Exception {

        InsertarInfoTecPuntoMonitoreo insert = new InsertarInfoTecPuntoMonitoreo(fechaMonitoreo,
                jornadaProductivaDia, jornadaProductivaHora, jornadaProductivaObservacion, codigoPunto);
        insert.ejecutar();

        return insert.getCodigoMonitoreo();
    }

    public int registrarInfoTecJornada(String nombreJornada, String cargaDBO, String cargaSST, String horaInicio,
            String horaFin, String codigoPunto, String caudalJornada) throws Exception {

        InsertarInfoTecJornada insert = new InsertarInfoTecJornada(nombreJornada, cargaDBO, cargaSST, horaInicio,
                horaFin, codigoPunto, caudalJornada);
        insert.ejecutar();

        return insert.getCodigoPuntoJornada();
    }

    public void registrarInfoTecDetallesJornada(String codigoPunto, String codigoParametro, String valorInforme,
            String observacion, String cumple, String codigoJornadaPuntoMonitoreo, String indicadorMenor)
            throws Exception {

        InsertarInfoTecDetallesJornada insert = new InsertarInfoTecDetallesJornada(codigoPunto, codigoParametro,
                valorInforme, observacion, cumple, codigoJornadaPuntoMonitoreo, indicadorMenor);
        insert.ejecutar();

    }

    public int hayDatos(int codigoMonitoreo) throws SQLException {

        SeleccionarInfoTecJornadas select = new SeleccionarInfoTecJornadas();
        ResultSet rset = select.hayDatos(codigoMonitoreo);
        int cantidad = 0;

        while (rset.next()) {
            cantidad = rset.getInt("CANTIDAD");
        }

        return cantidad;
    }

    public int contarJornadas(int puntoMonitoreo) throws SQLException {

        SeleccionarInfoTecJornadas select = new SeleccionarInfoTecJornadas();
        ResultSet rset = select.contarJornadas(puntoMonitoreo);
        int cantidad = 0;

        while (rset.next()) {
            cantidad = rset.getInt("CANTIDAD");
        }

        return cantidad;
    }
}