List of usage examples for org.json.simple JSONObject toString
@Override
public String toString()
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; }