Example usage for org.json.simple JSONObject toString

List of usage examples for org.json.simple JSONObject toString

Introduction

In this page you can find the example usage for org.json.simple JSONObject toString.

Prototype

@Override
    public String toString() 

Source Link

Usage

From source file:org.wso2.iot.refarch.rpi.agent.connector.HttpService.java

public void sendPayload(JSONObject data) throws IOException, ExecutionException, InterruptedException {

    JSONObject dataObj = new JSONObject();
    dataObj.put("data", data);

    HttpClient client = HttpClientBuilder.create().build();
    System.out.println("Created HTTP Client");
    HttpPost post = new HttpPost(address);
    post.setHeader("content-type", "application/json");
    BasicHttpEntity he = new BasicHttpEntity();
    he.setContent(new ByteArrayInputStream(dataObj.toString().getBytes()));
    post.setEntity(he);//from ww w.  j  a v  a  2  s  . c o  m
    client.execute(post);
    System.out.println("Payload sent");
}

From source file:org.wso2.sample.identity.oauth2.IDTokenExtractorServlet.java

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {

    String idToken = req.getParameter("idToken");
    String user = null;/*from   ww w.  j a  va  2  s.  c o m*/
    String sid = null;

    ServletOutputStream out = resp.getOutputStream();

    try {
        user = (String) SignedJWT.parse(idToken).getJWTClaimsSet().getSubject();

        sid = SessionIdStore.getSid(idToken);

        HttpSession session = req.getSession();
        if (user != null) {
            log.info("Logged in user: " + user);
            session.setAttribute(OAuth2Constants.LOGGED_IN_USER, user);
        }

        if (sid != null) {
            SessionIdStore.storeSession(sid, session);
        }

        resp.setContentType("application/json");
        JSONObject respData = new JSONObject();
        respData.put("user", user);

        out.print(respData.toString());

    } catch (ParseException e) {
        log.error("Invalid Token sent to IDTokenExtractorServlet.", e);
    }
}

From source file:piuk.blockchain.android.WalletApplication.java

public void apiStoreKey(final String pin, final SuccessCallback callback) {
    final MyRemoteWallet blockchainWallet = this.blockchainWallet;

    if (blockchainWallet == null) {
        if (callback != null)
            callback.onFail();//from ww  w .jav  a2  s . c  o m

        return;
    }

    final WalletApplication application = this;

    new Thread(new Runnable() {
        @Override
        public void run() {
            Looper.prepare();

            Editor edit = PreferenceManager.getDefaultSharedPreferences(application).edit();

            //
            // Save PIN
            //
            try {
                byte[] bytes = new byte[16];
                SecureRandom random = new SecureRandom();
                random.nextBytes(bytes);
                final String key = new String(Hex.encode(bytes), "UTF-8");
                random.nextBytes(bytes);
                final String value = new String(Hex.encode(bytes), "UTF-8");
                final JSONObject response = piuk.blockchain.android.ui.PinEntryActivity.apiStoreKey(key, value,
                        pin);
                if (response.get("success") != null) {
                    callback.onSuccess();
                    edit.putString("pin_kookup_key", key);
                    edit.putString("encrypted_password",
                            MyWallet.encrypt(application.getRemoteWallet().getTemporyPassword(), value,
                                    piuk.blockchain.android.ui.PinEntryActivity.PBKDF2Iterations));

                    if (!edit.commit()) {
                        throw new Exception("Error Saving Preferences");
                    } else {
                    }
                } else {
                    Toast.makeText(application, response.toString(), Toast.LENGTH_LONG).show();
                }
            } catch (Exception e) {
                Toast.makeText(application, e.toString(), Toast.LENGTH_LONG).show();
                e.printStackTrace();
            }
            //
            //
            //

            Looper.loop();

        }
    }).start();
}

From source file:pl.nask.hsn2.service.JsonRenderingResultTest.java

/**
 * The only implementation, which actualy does the job.
 *//*w  w  w  .  java2 s.c  o  m*/
@Test
public final void jsonUtilsSerialization() {
    JSONObject jo = (JSONObject) JSONValue.parse(simpleJson);
    String validJson = jo.toString();
    Assert.assertEquals(countChars(validJson, ','), 2);
}

From source file:playground.jbischoff.carsharing.data.DriveNowParser.java

public Map<Id<CarsharingVehicleData>, CarsharingVehicleData> grepAndDumpOnlineDatabase(String outputfolder) {
    JSONParser jp = new JSONParser();

    Map<Id<CarsharingVehicleData>, CarsharingVehicleData> currentGrep = new HashMap();
    try {/*from w  w  w.jav  a2  s.c om*/
        Car2GoParser.disableCertificates();
        GetMethod get = new GetMethod("https://api2.drive-now.com/cities/6099/cars");

        get.setRequestHeader("X-Api-Key", "adf51226795afbc4e7575ccc124face7");

        HttpClient httpclient = new HttpClient();
        httpclient.executeMethod(get);

        BufferedReader in = new BufferedReader(new InputStreamReader(get.getResponseBodyAsStream()));
        JSONObject jsonObject = (JSONObject) jp.parse(in);

        BufferedWriter bw = IOUtils
                .getBufferedWriter(outputfolder + "dn_" + System.currentTimeMillis() + ".json.gz");
        bw.write(jsonObject.toString());
        bw.flush();
        bw.close();

        JSONArray items = (JSONArray) jsonObject.get("items");

        Iterator<JSONObject> iterator = items.iterator();
        while (iterator.hasNext()) {
            JSONObject car = (JSONObject) iterator.next();
            String vin = (String) car.get("id");
            String license = ((String) car.get("licensePlate")).replace(" ", "");

            Id<CarsharingVehicleData> vid = Id.create(vin, CarsharingVehicleData.class);
            String mileage = "0";
            String fuel = car.get("fuelLevel").toString();
            String latitude = car.get("latitude").toString();
            String longitude = car.get("longitude").toString();
            currentGrep.put(vid,
                    new CarsharingVehicleData(vid, license, latitude, longitude, mileage, fuel, "DN"));
        }
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return currentGrep;
}

From source file:prodandes.Prodandes.java

@POST
@Path("/registrarPedido")
public JSONObject registrarPedido(JSONObject jO) throws Exception {
    try {//www . j  av  a2  s .c  o m
        JSONObject jRespuesta = new JSONObject();
        String resp = "";

        abrirConexion();

        String lock = "lock table " + "pedido_producto" + " in exclusive mode";
        Statement stmt1 = con.createStatement();
        stmt1.execute(lock);
        stmt1.close();

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date = format.parse(jO.get("fechaEsperada").toString().substring(0, 10));
        System.out.println(date); // Sat Jan 02 00:00:00 GMT 2010
        Calendar cEsp = new GregorianCalendar();
        cEsp.setTime(date);

        String sFecha = cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "-" + (cEsp.get(GregorianCalendar.MONTH) + 1)
                + "-" + cEsp.get(GregorianCalendar.YEAR);

        System.out.println("Fecha: " + sFecha);

        String nombreProducto = jO.get("nombre").toString();

        Statement stx = con.createStatement();
        ResultSet rsx = stx.executeQuery("select * from PRODUCTO where nombre='" + nombreProducto + "'");
        int cantidad = (int) jO.get("cantidad");
        String sId_cliente = jO.get("id_cliente").toString();

        Calendar c = new GregorianCalendar();
        String fechaSolicitud = c.get(GregorianCalendar.DAY_OF_MONTH) + "-"
                + (c.get(GregorianCalendar.MONTH) + 1) + "-" + c.get(GregorianCalendar.YEAR);

        String fechaEntrega = c.get(GregorianCalendar.DAY_OF_MONTH) + "-" + (c.get(GregorianCalendar.MONTH) + 2)
                + "-" + c.get(GregorianCalendar.YEAR);
        if (rsx.next()) {

            int id_cliente = Integer.parseInt(sId_cliente);
            System.out.println("FEcha actual " + fechaSolicitud);
            String sql = "select max (id) as MAXIMO from PEDIDO_PRODUCTO";
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            escribirEnLog(sql);
            int id_pedido = 1;
            if (rs.next()) {
                id_pedido = rs.getInt("MAXIMO") + 1;
                jRespuesta.put("id_pedido", id_pedido);

                System.out.println("JSON respuesta " + jRespuesta.toString());
                //Crear pedido nuevo
                sql = "INSERT INTO PEDIDO_PRODUCTO (id,FECHA_ESPERADA_ENTREGA,Estado,cantidad_producto"
                        + ",id_cliente,fecha_solicitud) VALUES (" + id_pedido + ",TO_DATE" + "('" + sFecha
                        + "','DD-MM-YYYY'),'Espera'," + cantidad + "," + id_cliente + " ,TO_DATE('"
                        + fechaSolicitud + "','DD-MM-YYYY'))";

                System.out.println("----------------------Query-----------------------");
                System.out.println(sql);
                Statement st2 = con.createStatement();

                st2.executeUpdate(sql);

                escribirEnLog(sql);
                st2.close();
            }
            st.close();

            int productosReservados = reservarProductoBodega(nombreProducto, cantidad, id_pedido);

            System.out.println("Productos reservados " + productosReservados);
            if (productosReservados == cantidad) {

                //Modificar fecha entrega
                Statement st3 = con.createStatement();
                sql = "update PEDIDO_PRODUCTO set FECHA_ENTREGA=TO_DATE('" + sFecha + "','DD-MM-YYYY'),"
                        + "ESTADO='En Bodega'" + "where id=" + id_pedido;
                System.out.println("------------------QUERY----------------------------");
                System.out.println(sql);
                st3.executeUpdate(sql);

                escribirEnLog(sql);
                st3.close();
                resp = "En Bodega";
            } else {

                // Verificar que la cantidad disminuye dependiendo de cuantos productos ya estn en bodega
                cantidad = cantidad - productosReservados;

                //Verificar que haya estacin de produccion disponible
                sql = "select * from ESTACION where ESTADO='Disponible' AND CAPACIDAD > " + cantidad;
                System.out.println("------------------QUERY----------------------------");
                System.out.println(sql);

                Statement st6 = con.createStatement();
                rs = st6.executeQuery(sql);

                boolean hayEstaciones = false;

                if (rs.next()) {

                    int codigo = rs.getInt("CODIGO");

                    sql = "update ESTACION set ESTADO='Reservado',ID_PEDIDO=" + id_pedido + "WHERE CODIGO="
                            + codigo;
                    Statement st7 = con.createStatement();
                    st7.executeUpdate(sql);
                    hayEstaciones = true;
                    st7.close();
                }

                st6.close();

                if (hayEstaciones) {
                    //Reservar recursos(materias primas) o pedir suministros
                    int numProductosPotencial = Integer.MAX_VALUE;

                    System.out.println("Nombre producto: " + nombreProducto);
                    //Averiguar Componentes en bodega
                    sql = "select * from COMPONENTES_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                    Statement st3 = con.createStatement();
                    rs = st3.executeQuery(sql);

                    while (rs.next()) {

                        String id_componente = rs.getString("id_componente");
                        int cantidad_unidades = rs.getInt("cantidad_unidades");

                        int numComponentes = cantidadComponentesBodega(id_componente);
                        if (numComponentes >= cantidad_unidades) {

                            int alcanzanComponentes = numComponentes / cantidad_unidades;
                            numProductosPotencial = Math.min(alcanzanComponentes, numProductosPotencial);
                        }
                    }

                    st3.close();

                    //Averiguar Materias Primas en bodega
                    sql = "select * from MATERIAS_PRIMAS_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                    st3 = con.createStatement();
                    rs = st3.executeQuery(sql);

                    while (rs.next()) {

                        String id_materia = rs.getString("id_materia_prima");
                        int cantidad_unidades = rs.getInt("cantidad_unidades");

                        int numMateriasBodega = cantidadMateriasPrimasBodega(id_materia);
                        if (numMateriasBodega >= cantidad_unidades) {

                            int alcanzanMaterias = numMateriasBodega / cantidad_unidades;
                            numProductosPotencial = Math.min(alcanzanMaterias, numProductosPotencial);
                        }
                    }

                    st3.close();

                    System.out.println("Numero productos se pueden hacer con bodega " + numProductosPotencial);

                    if (numProductosPotencial != Integer.MAX_VALUE && numProductosPotencial >= cantidad) {

                        //Reservar componentes
                        sql = "select * from COMPONENTES_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                        st3 = con.createStatement();
                        rs = st3.executeQuery(sql);

                        while (rs.next()) {

                            String id_componente = rs.getString("id_componente");
                            int cantidad_unidades = rs.getInt("cantidad_unidades");
                            reservarComponenteBodega(id_componente, cantidad * cantidad_unidades, id_pedido);
                        }
                        st3.close();

                        // Reservar materias primas
                        sql = "select * from MATERIAS_PRIMAS_PRODUCTO WHERE id_producto='" + nombreProducto
                                + "'";
                        st3 = con.createStatement();
                        rs = st3.executeQuery(sql);

                        while (rs.next()) {

                            String id_materia = rs.getString("id_materia_prima");
                            int cantidad_unidades = rs.getInt("cantidad_unidades");
                            reservarMateriaPrimaBodega(id_materia, cantidad * cantidad_unidades, id_pedido);
                        }

                        st3.close();

                        //Falta fecha esperada
                        crearItemsReservadosPedido(nombreProducto, id_pedido, cantidad);
                        resp = "Espera";
                    } else {
                        //Poner el pedido en estad ESPERA
                        st3 = con.createStatement();
                        sql = "update PEDIDO_PRODUCTO set ESTADO='Espera' where id=" + id_pedido;
                        st3.executeUpdate(sql);
                        st3.close();

                        resp = "Buzon";
                        Send env = new Send();
                        //RF18-fecha-idProducto-cantidad-idCliente
                        String sFechaEnv = (cEsp.get(GregorianCalendar.MONTH) + 1) + "/"
                                + cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "/"
                                + cEsp.get(GregorianCalendar.YEAR);

                        env.enviar(
                                "RF18-" + sFechaEnv + "-" + nombreProducto + "-" + cantidad + "-" + id_cliente);
                        env.close();
                        JSONObject jElm = new JSONObject();
                        jElm.put("id_pedido", id_pedido);
                        //                            cancelarPedido(jElm);
                    }
                } else {

                    resp = "Buzon";
                    Send env = new Send();
                    String sFechaEnv = (cEsp.get(GregorianCalendar.MONTH) + 1) + "/"
                            + cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "/" + cEsp.get(GregorianCalendar.YEAR);

                    env.enviar("RF18-" + sFechaEnv + "-" + nombreProducto + "-" + cantidad + "-" + id_cliente);
                    env.close();
                    JSONObject jElm = new JSONObject();
                    jElm.put("id_pedido", id_pedido);
                    //                        cancelarPedido(jElm);
                }
            }
            cerrarConexion();
            //return resp;

            if (resp.equals("Buzon")) {
                Long milis = System.currentTimeMillis();
                while (System.currentTimeMillis() - milis < 10000) {
                    for (int i = 0; i < buzon.size(); i++) {
                        if (buzon.get(i).startsWith("RF18R-")) {
                            // RF18R-numeroConf-Estado
                            String[] s = buzon.get(i).split("-");
                            jRespuesta = new JSONObject();
                            jRespuesta.put("id_pedido", s[1]);
                            jRespuesta.put("Respuesta", s[2]);
                            buzon.remove(i);
                            return jRespuesta;
                        }
                    }
                }
                jRespuesta.put("Respuesta", "Error en la otra aplicacion");
                return jRespuesta;
            }

            jRespuesta.put("Respuesta", resp);
            return jRespuesta;
        } else {
            System.out.println("No hay productos as en nuestra base de datos");
            resp = "Buzon";
            Send env = new Send();
            String sFechaEnv = (cEsp.get(GregorianCalendar.MONTH) + 1) + "/"
                    + cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "/" + cEsp.get(GregorianCalendar.YEAR);

            String mensaje = "RF18-" + sFechaEnv + "-" + nombreProducto + "-" + cantidad + "-" + sId_cliente;
            env.enviar(mensaje);
            env.close();
            System.out.println("Mensaje a enviar " + mensaje);

            Long milis = System.currentTimeMillis();
            while (System.currentTimeMillis() - milis < 10000) {
                for (int i = 0; i < buzon.size(); i++) {
                    System.out.println("Entro a buzon");
                    if (buzon.get(i).startsWith("RF18R-")) {
                        // RF18R-numeroConf-Estado
                        String[] s = buzon.get(i).split("-");
                        jRespuesta = new JSONObject();
                        jRespuesta.put("id_pedido", s[1]);
                        jRespuesta.put("Respuesta", s[2]);
                        buzon.remove(i);
                        return jRespuesta;
                    }
                }
            }
            jRespuesta.put("Respuesta", resp);
            return jRespuesta;
        }
    } catch (Exception e) {
        e.printStackTrace();
        rollback();
        //return "error";
        JSONObject jRespuesta = new JSONObject();
        jRespuesta.put("Respuesta", "error");
        return jRespuesta;
    }
}

From source file:prodandes.Prodandes.java

@POST
@Path("/consultarMateriasPrimas")
public JSONArray consultarMateriasPrimas(JSONObject jP) throws Exception {

    System.out.println("LLEGO");
    System.out.println("PArametro " + jP.toString());
    JSONArray jArray = new JSONArray();
    abrirConexion();/*from www. j  av  a  2  s.co  m*/
    String criterio = jP.get("Criterio").toString();

    System.out.println("Criterio " + criterio);
    if (criterio.equalsIgnoreCase("Rango")) {

        int rango1 = (int) jP.get("Rango1");
        int rango2 = (int) jP.get("Rango2");

        System.out.println("Rango1" + rango1);
        System.out.println("Rango2" + rango2);
        String sql = "Select * from (Select Materia_Prima.Nombre as nombreMateria,count(*) as "
                + "cantidadInventario " + "from (Materia_Prima_Item inner join Materia_Prima on "
                + "Materia_Prima.nombre=Materia_Prima_Item.materia)"
                + "WHERE Materia_Prima_Item.Estado ='En Bodega' "
                + "GROUP BY Materia_Prima.nombre) where cantidadInventario>" + rango1
                + " AND cantidadInventario<" + rango2;
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(sql);

        while (rs.next()) {

            String materia = rs.getString("nombreMateria");

            System.out.println("Materia " + materia);
            sql = "Select * from Materia_Prima_Item where materia='" + materia + "' "
                    + "AND Estado='En Bodega'";

            Statement st2 = con.createStatement();
            ResultSet rs2 = st2.executeQuery(sql);

            while (rs2.next()) {
                JSONObject jO = new JSONObject();
                jO.put("Id", rs2.getInt("id"));
                jO.put("Estado", rs2.getString("ESTADO"));
                jO.put("MateriaPrima", rs2.getString("MATERIA"));
                jO.put("IdPedido", rs2.getInt("ID_PEDIDO"));

                jArray.add(jO);
            }

            st2.close();
        }
        st.close();
    } else if (criterio.equalsIgnoreCase("Fecha solicitud")) {

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date = format.parse(jP.get("fecha_solicitud").toString().substring(0, 10));
        System.out.println(date); // Sat Jan 02 00:00:00 GMT 2010
        Calendar cEsp = new GregorianCalendar();
        cEsp.setTime(date);

        String fechaS = cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "-" + (cEsp.get(GregorianCalendar.MONTH) + 1)
                + "-" + cEsp.get(GregorianCalendar.YEAR);

        System.out.println("FEcha pedido " + fechaS);

        String sql = "select * from PEDIDO_MATERIA_PRIMA " + "where FECHA_PEDIDO=" + "TO_DATE('" + fechaS
                + "','dd-mm-yyyy')";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(sql);

        while (rs.next()) {

            int id_pedido = rs.getInt("id");
            System.out.println("id_pedido " + id_pedido);
            sql = "select * from MATERIA_PRIMA_ITEM where ID_PEDIDO =" + id_pedido;
            Statement st2 = con.createStatement();
            ResultSet rs2 = st2.executeQuery(sql);

            while (rs2.next()) {
                JSONObject jO = new JSONObject();
                jO.put("Id", rs2.getInt("id"));
                jO.put("Estado", rs2.getString("ESTADO"));
                jO.put("MateriaPrima", rs2.getString("MATERIA"));
                jO.put("IdPedido", rs2.getInt("ID_PEDIDO"));
                jArray.add(jO);
            }
            st2.close();
        }

        st.close();
    } else if (criterio.equalsIgnoreCase("Fecha entrega")) {

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date = format.parse(jP.get("fecha_entrega").toString().substring(0, 10));
        System.out.println(date); // Sat Jan 02 00:00:00 GMT 2010
        Calendar cEsp = new GregorianCalendar();
        cEsp.setTime(date);

        String fechaS = cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "-" + (cEsp.get(GregorianCalendar.MONTH) + 1)
                + "-" + cEsp.get(GregorianCalendar.YEAR);

        String sql = "select * from PEDIDO_MATERIA_PRIMA where fecha_entrega=" + "TO_DATE('" + fechaS
                + "','dd-mm-yyyy')";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(sql);

        while (rs.next()) {

            int id_pedido = rs.getInt("id");
            sql = "select * from MATERIA_PRIMA_ITEM where ID_PEDIDO =" + id_pedido;
            Statement st2 = con.createStatement();
            ResultSet rs2 = st2.executeQuery(sql);

            while (rs2.next()) {
                JSONObject jO = new JSONObject();
                jO.put("Id", rs2.getInt("id"));
                jO.put("Estado", rs2.getString("ESTADO"));
                jO.put("MateriaPrima", rs2.getString("MATERIA"));
                jO.put("IdPedido", rs2.getInt("ID_PEDIDO"));
                jArray.add(jO);
            }
            st2.close();
        }

        st.close();
    } else if (criterio.equalsIgnoreCase("Tipo_material")) {

        String tipo = jP.get("Tipo_material").toString();

        System.out.println("TIPO " + tipo);
        String sql = "select * from MATERIA_PRIMA where TIPO = '" + tipo + "'";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(sql);

        while (rs.next()) {

            String nombreMateria = rs.getString("nombre");
            System.out.println("Nombre materia " + nombreMateria);
            sql = "select * from MATERIA_PRIMA_ITEM where materia = '" + nombreMateria + "'";
            Statement st2 = con.createStatement();
            ResultSet rs2 = st2.executeQuery(sql);

            while (rs2.next()) {
                JSONObject jO = new JSONObject();
                jO.put("Id", rs2.getInt("id"));
                jO.put("Estado", rs2.getString("ESTADO"));
                jO.put("MateriaPrima", rs2.getString("MATERIA"));
                jO.put("IdPedido", rs2.getInt("ID_PEDIDO"));
                jArray.add(jO);

            }
        }
    }
    cerrarConexion();
    return jArray;
}

From source file:prodandes.Prodandes.java

@POST
@Path("/operarioMasActivo")
public JSONObject operarioMasActivo(JSONObject jO) throws Exception {

    abrirConexion();/* w ww. j  a  va2  s. co m*/
    try {
        int num_secuencia = Integer.parseInt(jO.get("secuencia").toString());

        String query5 = "select * from OPERARIO natural join ("
                + "select DOCUMENTO_OPERARIO as DOCUMENTO_ID, CUENTA from ("
                + "select * from (select DOCUMENTO_OPERARIO, count(ID_ETAPA) as cuenta from ETAPAS_OPERARIOS where ID_ETAPA= "
                + num_secuencia + " group by DOCUMENTO_OPERARIO) " + "where cuenta=("
                + "SELECT max(count(ID_ETAPA)) as cuenta from ETAPAS_OPERARIOS " + "where ID_ETAPA= "
                + num_secuencia + " group by DOCUMENTO_OPERARIO)))";
        System.out.println("- - - - - - - - - - - - - - - - - Print Query - - - - - - - - - - - - - - - - -");
        System.out.println(query5);
        Statement st5 = con.createStatement();
        ResultSet rs5 = st5.executeQuery(query5);
        JSONObject operario = new JSONObject();
        String documento_id = "";
        String nombre = "";
        String nacionalidad = "";
        String direccion = "";
        String email = "";
        String telefono = "";
        String ciudad = "";
        String departamento = "";
        String codigo_postal = "";
        JSONArray lista = new JSONArray();
        int i = 0;
        while (rs5.next()) {
            i++;
            System.out.println("Numero del ciclo: " + i);
            documento_id = rs5.getString("DOCUMENTO_ID");
            nombre = rs5.getString("NOMBRE");
            nacionalidad = rs5.getString("NACIONALIDAD");
            direccion = rs5.getString("DIRECCION");
            email = rs5.getString("EMAIL");
            telefono = rs5.getString("TELEFONO");
            ciudad = rs5.getString("CIUDAD");
            departamento = rs5.getString("DEPARTAMENTO");
            codigo_postal = rs5.getString("CODIGO_POSTAL");
            operario.put("DOCUMENTO_ID", documento_id);
            operario.put("NOMBRE", nombre);
            operario.put("NACIONALIDAD", nacionalidad);
            operario.put("DIRECCION", direccion);
            operario.put("EMAIL", email);
            operario.put("TELEFONO", telefono);
            operario.put("CIUDAD", ciudad);
            operario.put("DEPARTAMENTO", departamento);
            operario.put("CODIGO_POSTAL", codigo_postal);
            System.out.println("Operario: " + operario);
            lista.add(operario);
        }
        System.out.println("Lista: " + lista);
        st5.close();
        cerrarConexion();
        JSONObject resp = new JSONObject();
        resp.put("operarios", lista.toString());
        System.out.println("Respuesta: " + resp.toString());
        return resp;
    } catch (Exception e) {
        e.printStackTrace();
        rollback();
        throw new Exception("");
    }
}

From source file:prodandes.Prodandes.java

public JSONObject registrarPedido2(JSONObject jO) throws Exception {
    try {//  www .  j  a va 2 s . c  om
        JSONObject jRespuesta = new JSONObject();
        String resp = "";
        System.out.println("Registrar Pedido 2 " + jO.toJSONString());
        abrirConexion();

        String lock = "lock table " + "pedido_producto" + " in exclusive mode";
        Statement stmt1 = con.createStatement();
        stmt1.execute(lock);
        stmt1.close();

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(jO.get("fechaEsperada").toString());
        java.util.Date date = format.parse(jO.get("fechaEsperada").toString().substring(0, 10));
        System.out.println(date); // Sat Jan 02 00:00:00 GMT 2010
        Calendar cEsp = new GregorianCalendar();
        cEsp.setTime(date);

        String sFecha = cEsp.get(GregorianCalendar.DAY_OF_MONTH) + "-" + (cEsp.get(GregorianCalendar.MONTH) + 1)
                + "-" + cEsp.get(GregorianCalendar.YEAR);

        System.out.println("Fecha: " + sFecha);

        String nombreProducto = jO.get("nombre").toString();
        int cantidad = Integer.parseInt(jO.get("cantidad").toString());
        int id_cliente = Integer.parseInt(jO.get("id_cliente").toString());

        Calendar c = new GregorianCalendar();
        String fechaSolicitud = c.get(GregorianCalendar.DAY_OF_MONTH) + "-"
                + (c.get(GregorianCalendar.MONTH) + 1) + "-" + c.get(GregorianCalendar.YEAR);

        String fechaEntrega = c.get(GregorianCalendar.DAY_OF_MONTH) + "-" + (c.get(GregorianCalendar.MONTH) + 2)
                + "-" + c.get(GregorianCalendar.YEAR);

        System.out.println("FEcha actual " + fechaSolicitud);
        String sql = "select max (id) as MAXIMO from PEDIDO_PRODUCTO";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(sql);
        escribirEnLog(sql);
        int id_pedido = 1;
        if (rs.next()) {
            id_pedido = rs.getInt("MAXIMO") + 1;
            jRespuesta.put("id_pedido", id_pedido);

            System.out.println("JSON respuesta " + jRespuesta.toString());
            //Crear pedido nuevo
            sql = "INSERT INTO PEDIDO_PRODUCTO (id,FECHA_ESPERADA_ENTREGA,Estado,cantidad_producto"
                    + ",id_cliente,fecha_solicitud) VALUES (" + id_pedido + ",TO_DATE" + "('" + sFecha
                    + "','DD-MM-YYYY'),'Espera'," + cantidad + "," + id_cliente + " ,TO_DATE('" + fechaSolicitud
                    + "','DD-MM-YYYY'))";

            System.out.println("----------------------Query-----------------------");
            System.out.println(sql);
            Statement st2 = con.createStatement();

            st2.executeUpdate(sql);

            escribirEnLog(sql);
            st2.close();
        }
        st.close();

        int productosReservados = reservarProductoBodega(nombreProducto, cantidad, id_pedido);

        System.out.println("Productos reservados " + productosReservados);
        if (productosReservados == cantidad) {

            //Modificar fecha entrega
            Statement st3 = con.createStatement();
            sql = "update PEDIDO_PRODUCTO set FECHA_ENTREGA=TO_DATE('" + sFecha + "','DD-MM-YYYY'),"
                    + "ESTADO='En Bodega'" + "where id=" + id_pedido;
            System.out.println("------------------QUERY----------------------------");
            System.out.println(sql);
            st3.executeUpdate(sql);

            escribirEnLog(sql);
            st3.close();
            resp = "En Bodega";
        } else {

            // Verificar que la cantidad disminuye dependiendo de cuantos productos ya estn en bodega
            cantidad = cantidad - productosReservados;

            //Verificar que haya estacin de produccion disponible
            sql = "select * from ESTACION where ESTADO='Disponible' AND CAPACIDAD > " + cantidad;
            System.out.println("------------------QUERY----------------------------");
            System.out.println(sql);

            Statement st6 = con.createStatement();
            rs = st6.executeQuery(sql);

            boolean hayEstaciones = false;

            if (rs.next()) {

                int codigo = rs.getInt("CODIGO");

                sql = "update ESTACION set ESTADO='Reservado',ID_PEDIDO=" + id_pedido + "WHERE CODIGO="
                        + codigo;
                Statement st7 = con.createStatement();
                st7.executeUpdate(sql);
                hayEstaciones = true;
                st7.close();
            }

            st6.close();

            if (hayEstaciones) {
                //Reservar recursos(materias primas) o pedir suministros
                int numProductosPotencial = Integer.MAX_VALUE;

                System.out.println("Nombre producto: " + nombreProducto);
                //Averiguar Componentes en bodega
                sql = "select * from COMPONENTES_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                Statement st3 = con.createStatement();
                rs = st3.executeQuery(sql);

                while (rs.next()) {

                    String id_componente = rs.getString("id_componente");
                    int cantidad_unidades = rs.getInt("cantidad_unidades");

                    int numComponentes = cantidadComponentesBodega(id_componente);
                    if (numComponentes >= cantidad_unidades) {

                        int alcanzanComponentes = numComponentes / cantidad_unidades;
                        numProductosPotencial = Math.min(alcanzanComponentes, numProductosPotencial);
                    }
                }

                st3.close();

                //Averiguar Materias Primas en bodega
                sql = "select * from MATERIAS_PRIMAS_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                st3 = con.createStatement();
                rs = st3.executeQuery(sql);

                while (rs.next()) {

                    String id_materia = rs.getString("id_materia_prima");
                    int cantidad_unidades = rs.getInt("cantidad_unidades");

                    int numMateriasBodega = cantidadMateriasPrimasBodega(id_materia);
                    if (numMateriasBodega >= cantidad_unidades) {

                        int alcanzanMaterias = numMateriasBodega / cantidad_unidades;
                        numProductosPotencial = Math.min(alcanzanMaterias, numProductosPotencial);
                    }
                }

                st3.close();

                System.out.println("Numero productos se pueden hacer con bodega " + numProductosPotencial);

                if (numProductosPotencial != Integer.MAX_VALUE && numProductosPotencial >= cantidad) {

                    //Reservar componentes
                    sql = "select * from COMPONENTES_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                    st3 = con.createStatement();
                    rs = st3.executeQuery(sql);

                    while (rs.next()) {

                        String id_componente = rs.getString("id_componente");
                        int cantidad_unidades = rs.getInt("cantidad_unidades");
                        reservarComponenteBodega(id_componente, cantidad * cantidad_unidades, id_pedido);
                    }
                    st3.close();

                    // Reservar materias primas
                    sql = "select * from MATERIAS_PRIMAS_PRODUCTO WHERE id_producto='" + nombreProducto + "'";
                    st3 = con.createStatement();
                    rs = st3.executeQuery(sql);

                    while (rs.next()) {

                        String id_materia = rs.getString("id_materia_prima");
                        int cantidad_unidades = rs.getInt("cantidad_unidades");
                        reservarMateriaPrimaBodega(id_materia, cantidad * cantidad_unidades, id_pedido);
                    }

                    st3.close();

                    //Falta fecha esperada
                    crearItemsReservadosPedido(nombreProducto, id_pedido, cantidad);
                    resp = "Espera";
                } else {
                    //Poner el pedido en estad ESPERA
                    st3 = con.createStatement();
                    sql = "update PEDIDO_PRODUCTO set ESTADO='Espera' where id=" + id_pedido;
                    st3.executeUpdate(sql);
                    st3.close();

                    resp = "Espera";
                }
            } else {
                resp = "Espera";
            }
        }
        cerrarConexion();
        //return resp;

        jRespuesta.put("Respuesta", resp);
        return jRespuesta;
    } catch (Exception e) {
        e.printStackTrace();
        rollback();
        //return "error";
        JSONObject jRespuesta = new JSONObject();
        jRespuesta.put("Respuesta", "error");
        return jRespuesta;
    }
}

From source file:prodandes.Prodandes.java

@GET
@Path("/desactivarEstacionJose/{etapaId}")
public JSONObject desactivarEstacionJose(@PathParam("etapaId") String etapaId) throws Exception {

    System.out.println("metodo/////////1");
    abrirConexion();/*from  w ww .j  av  a  2s. co  m*/
    // Contar activos st2
    String query2 = "select count(*) as cuenta from estacion where ESTADO='activo'";
    //dar la cuenta de estaciones activas
    Send env = new Send();
    env.enviar("pj-spe");
    env.close();
    String resultado = esperaPor("jp-x");
    System.out.println("metodo/////////2");
    System.out.println("metodo/////////2" + resultado);
    String[] arregloTexto = resultado.split("::");
    String texto = arregloTexto[1];
    org.json.JSONObject jRespuesta = new org.json.JSONObject(texto);
    /////////////////////////////////////////////////                       jArrayEstaciones
    org.json.JSONArray jArrayEstaciones = jRespuesta.getJSONArray("arreglo");
    System.out.println("- - - - - - - - - - - - - - - - - Print Query - - - - - - - - - - - - - - - - -");
    System.out.println(query2);
    Statement st2 = con.createStatement();
    ResultSet rs2 = st2.executeQuery(query2);
    int num_est_activas = 0;
    while (rs2.next()) {
        num_est_activas = rs2.getInt("CUENTA") + jArrayEstaciones.length();
        System.out.println("num_est_activas: " + num_est_activas);
    }
    st2.close();

    // Contar etapas st3
    String query3 = "select count(*) as cuenta from etapa_de_produccion";
    System.out.println("- - - - - - - - - - - - - - - - - Print Query - - - - - - - - - - - - - - - - -");
    System.out.println(query3);
    Statement st3 = con.createStatement();
    ResultSet rs3 = st3.executeQuery(query3);
    int num_etapas = 0;
    env = new Send();
    env.enviar("pj-pet");
    env.close();
    resultado = esperaPor("jp-ret");
    arregloTexto = resultado.split("::");
    texto = arregloTexto[1];
    System.out.println("metodo/////////3");
    System.out.println(texto);
    jRespuesta = new org.json.JSONObject(texto);
    /////////////////////////////////////////////////                       jArrayEtapas
    org.json.JSONArray jArrayEtapas = jRespuesta.getJSONArray("arreglo");
    while (rs3.next()) {
        num_etapas = rs3.getInt("CUENTA") + jArrayEtapas.length();
        System.out.println("num_etapas: " + num_etapas);
    }
    st3.close();

    // Cambiar estado st1
    String query1 = "UPDATE ESTACION SET ESTADO = 'inactivo' WHERE CODIGO = '" + etapaId + "'";
    System.out.println("- - - - - - - - - - - - - - - - - Print Query - - - - - - - - - - - - - - - - -");
    System.out.println(query1);
    System.out.println("Estaciones actualizadas");
    Statement st1 = con.createStatement();
    st1.executeUpdate(query1);
    st1.close();

    // Borrar relaciones etapa_estacion st4
    String query4 = "DELETE FROM ETAPA_ESTACION";
    env = new Send();
    env.enviar("pj-tdel");
    env.close();
    System.out.println("- - - - - - - - - - - - - - - - - Print Query - - - - - - - - - - - - - - - - -");
    System.out.println(query4);
    Statement st4 = con.createStatement();
    st4.executeUpdate(query4);
    st4.close();

    // Seleccionar etapas st5
    String query5 = ("select * from etapa_de_produccion");
    System.out.println(query5);
    Statement st5 = con.createStatement();
    ResultSet rs5 = st5.executeQuery(query5);
    String etapas[] = new String[num_etapas];
    String temp = "";
    int i = 0;
    while (rs5.next()) {
        System.out.println("indice: " + i);
        temp = rs5.getString("NUEVO_ID");
        System.out.println("etapas[" + i + "]" + " = " + temp);
        etapas[i] = temp;
        i++;
    }
    System.out.println(etapas);
    st5.close();

    // Seleccionar estaciones st6
    String query6 = ("select * from estacion where ESTADO = 'activo'");
    System.out.println(query6);
    Statement st6 = con.createStatement();
    ResultSet rs6 = st6.executeQuery(query6);
    int estaciones[] = new int[num_est_activas];
    int temp1 = 0;
    i = 0;
    while (rs6.next()) {
        temp1 = rs6.getInt("CODIGO");
        System.out.println("estaciones[" + i + "]" + " = " + temp1);
        estaciones[i] = temp1;
        i++;
    }
    System.out.println(estaciones);
    st6.close();

    // Crear relaciones st7
    String query7 = "";
    System.out.println(query7);
    Statement st7 = null;
    String[][] arreglo_etapas = new String[etapas.length][2];
    System.out.println("arreglo_etapas TAM" + arreglo_etapas.length);
    for (int j = 0; j < etapas.length - jArrayEtapas.length(); j++) {
        arreglo_etapas[j][0] = etapas[j];
        arreglo_etapas[j][1] = "0";
        System.out.println("indice: for 1 " + j);
    }
    for (int j = 0; j < jArrayEtapas.length(); j++) {
        System.out.println(jArrayEtapas.get(j));
        System.out.println("indice: for 2 " + (j));
        System.out.println("indice: for 2.2 " + (etapas.length - jArrayEtapas.length() + j));
        org.json.JSONObject obj = jArrayEtapas.optJSONObject(j);
        arreglo_etapas[etapas.length - jArrayEtapas.length() + j][0] = obj.getString("numero") + ";"
                + obj.getString("id_producto");
        arreglo_etapas[etapas.length - jArrayEtapas.length() + j][1] = "1";
    }

    int[][] arreglo_estaciones = new int[estaciones.length][2];
    for (int j = 0; j < estaciones.length - jArrayEstaciones.length(); j++) {
        arreglo_estaciones[j][0] = estaciones[j];
        arreglo_estaciones[j][1] = 0;
    }
    for (int j = 0; j < jArrayEstaciones.length(); j++) {
        org.json.JSONObject obj = jArrayEstaciones.optJSONObject(j);
        System.out.println(obj.toString());
        System.out.println(obj.toString());
        arreglo_estaciones[estaciones.length + j - jArrayEstaciones.length()][0] = obj.getInt("id");
        arreglo_estaciones[estaciones.length + j - jArrayEstaciones.length()][1] = 1;
    }
    int i_estacion = 0;
    System.out.println("Imprime arreglo_estaciones TAM: " + arreglo_estaciones.length);
    for (int k = 0; k < arreglo_etapas.length; k++) {

        if (i_estacion == arreglo_estaciones.length) {
            i_estacion = 0;
        }
        System.out.println("indice for 3 " + i_estacion);
        System.out.println("indice k " + k);
        if (arreglo_estaciones[i_estacion][1] == 0) {
            query7 = ("INSERT INTO ETAPA_ESTACION (ETAPA_ID, ESTACION_ID) VALUES ('" + arreglo_etapas[k][0]
                    + "', " + arreglo_estaciones[i_estacion][0] + ")");
            System.out.println(query7);
            st7 = con.createStatement();
            st7.executeUpdate(query7);
        } else {
            if (arreglo_etapas[k][1].equals("0")) {
                String numero = arreglo_etapas[k][0];
                String id_producto = "app2";
                env = new Send();
                env.enviar(
                        "pj-agr" + ":" + numero + ":" + id_producto + ":" + arreglo_estaciones[i_estacion][0]);
                env.close();
            } else {
                String numero = arreglo_etapas[k][0].split(";")[0];
                String id_producto = arreglo_etapas[k][0].split(";")[1];
                env = new Send();
                env.enviar(
                        "pj-agr" + ":" + numero + ":" + id_producto + ":" + arreglo_estaciones[i_estacion][0]);
                env.close();
            }
        }
        i_estacion++;
    }

    // Cerrar conexion
    cerrarConexion();
    JSONObject jRespuestaOk = new JSONObject();
    jRespuestaOk.put("Respuesta", "Proceso correcto");
    return jRespuestaOk;
}