package builder;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import ng.db.DBHelper;
|
import ng.db.DBSession;
|
|
import java.io.BufferedReader;
|
import java.io.DataOutputStream;
|
import java.io.IOException;
|
import java.io.InputStreamReader;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
import java.sql.ResultSet;
|
|
public class HttpApi {
|
public static String Ip="192.168.30.111";
|
public static void main(String[] args) {
|
JSONObject jsonObject=new JSONObject();
|
jsonObject.put("thickness", 4);
|
jsonObject.put("width", 3660);
|
jsonObject.put("height", 2440);
|
jsonObject.put("sameCount", 4);
|
jsonObject.put("glassType", "CFL");
|
|
// JSONObject C=shelfTaskApi(jsonObject);
|
// System.out.println(C);
|
|
JSONObject C2=thisShelfTaskApi();
|
System.out.println(C2);
|
|
//¼õÉÙÉÏÆ¬ÊýÁ¿
|
//JSONObject b=loadRackReduction();
|
|
//²éѯÉÏÆ¬Î»ÐÅÏ¢
|
JSONObject a=selectLoadRack();
|
if(a!=null){
|
double width=Double.valueOf(a.get("width").toString());
|
double height=Double.valueOf(a.get("height").toString());
|
double thickness=Double.valueOf(a.get("thickness").toString());
|
int sameCount=Integer.valueOf(a.get("sameCount").toString());
|
System.out.println(width+","+height+","+thickness+","+sameCount);
|
}
|
|
}
|
//·¢ËͲִ¢ÈÎÎñ
|
public static boolean sendShelfTask(){
|
DBSession sn=null;
|
try{
|
//¶ÁÈ¡É豸Áбí
|
DBHelper db=DBHelper.getDBHelper("mes");
|
sn=DBHelper.getDBHelper("mes").createSession(false);
|
sn.createSql("select o.id,o.largeglass_length,o.largeglass_width,o.largeglass_no,o.largeglass_completed,r.thickness,r.color\n" +
|
"\t from `order` as o INNER JOIN recipe as r on o.recipe_no=r.id\n" +
|
"\twhere o.order_status=2 LIMIT 0,1;");
|
ResultSet set= sn.query().getCurrentResult();
|
//²éѯ½á¹û
|
while(set.next()){
|
Integer id= Integer.valueOf(set.getString(1)) ;
|
double largeglass_length=set.getDouble(2);//¶©µ¥ÔƬ³¤
|
double largeglass_width=set.getDouble(3);//¶©µ¥ÔƬ¿í
|
int largeglass_no=set.getInt(4);//¶©µ¥ÔƬÈÎÎñÊý
|
int largeglass_completed=set.getInt(5);//¶©µ¥ÔƬÍê³ÉÊý
|
int not_completed=largeglass_no-largeglass_completed;//¶©µ¥ÔƬδÍê³ÉÊý
|
|
int thickness=set.getInt(6);//¶©µ¥ÔƬºñ
|
String color=set.getString(7);//¶©µ¥ÔƬĤϵ
|
if(not_completed>0){ //ÓÐδÍê³ÉµÄÔÆ¬ÈÎÎñ
|
JSONObject thisShelfTask = HttpApi.thisShelfTaskApi();//²éѯ²Ö´¢µ±Ç°ÈÎÎñ
|
if (thisShelfTask != null) {
|
double width_shelf = Double.valueOf(thisShelfTask.get("width").toString());
|
double height_shelf = Double.valueOf(thisShelfTask.get("height").toString());
|
int thickness_shelf = Integer.valueOf(thisShelfTask.get("thickness").toString());
|
int sameCount_shelf = Integer.valueOf(thisShelfTask.get("sameCount").toString());
|
String glassType_shelf = thisShelfTask.get("glass_type").toString();
|
if(largeglass_length!=width_shelf||largeglass_width!=height_shelf||thickness!=thickness_shelf||!color.equals(glassType_shelf)||sameCount_shelf==0){
|
JSONObject jsonObject=new JSONObject();
|
jsonObject.put("thickness", thickness);
|
jsonObject.put("width", largeglass_length);
|
jsonObject.put("height", largeglass_width);
|
jsonObject.put("sameCount", not_completed);
|
jsonObject.put("glassType", color);
|
JSONObject shelfJosn=shelfTaskApi(jsonObject);
|
}
|
}
|
}
|
|
}
|
}
|
catch(Exception e){
|
|
}
|
finally{
|
if(sn!=null){
|
sn.close();
|
}
|
}
|
return false;
|
}
|
//·¢ËͲִ¢ÈÎÎñ
|
public static JSONObject shelfTaskApi(JSONObject params){
|
try {
|
String requestURL="http://"+Ip+":5000/GlassInfo";
|
String requestBody =params.toString();
|
JSONObject resultJSON= httpApi(requestURL,"POST",requestBody);
|
return resultJSON;
|
} catch (Exception e) {
|
// TODO: handle exception
|
System.out.println("HTTP ERROR:http://39.105.110.179:5000/GlassInfo POST");
|
}
|
return null;
|
}
|
//MESµ±Ç°ÈÎÎñ
|
public static JSONObject thisShelfTaskApi(){
|
try {
|
String requestURL="http://"+Ip+":5000/GlassInfo";
|
JSONObject resultJSON= httpApi(requestURL,"GET",null);
|
return resultJSON;
|
} catch (Exception e) {
|
// TODO: handle exception
|
System.out.println("HTTP ERROR:http://39.105.110.179:5000/GlassInfo GET");
|
}
|
return null;
|
}
|
//²éѯÉÏÆ¬Î»ÐÅÏ¢
|
public static JSONObject selectLoadRack(){
|
try {
|
String requestURL="http://"+Ip+":5000/GlassInfo/getReady";
|
JSONObject resultJSON= httpApi(requestURL,"GET",null);
|
JSONArray jsonArray=resultJSON.getJSONObject("data").getJSONArray("stocklist");
|
if(jsonArray.size()>0){
|
JSONObject loadRack=jsonArray.getJSONObject(0);
|
String isPackages=loadRack.get("packages").toString();
|
if("false".equals(isPackages) ){
|
return loadRack;
|
}
|
}
|
return null;
|
} catch (Exception e) {
|
// TODO: handle exception
|
System.out.println("HTTP ERROR:http://"+Ip+":5000/GlassInfo GET");
|
}
|
return null;
|
}
|
//ÉÏÆ¬Î»²£Á§-1
|
public static JSONObject loadRackReduction(){
|
try {
|
String requestURL="http://"+Ip+":5000/GlassInfo/finishGet";
|
JSONObject resultJSON= httpApi(requestURL,"GET",null);
|
return resultJSON;
|
} catch (Exception e) {
|
// TODO: handle exception
|
System.out.println("HTTP ERROR:http://"+Ip+":5000/GlassInfo/finishGet GET");
|
}
|
return null;
|
}
|
//¿âÄÚ²£Á§ÐÅÏ¢²éѯ
|
public static JSONObject storageRackInfo(){
|
try {
|
String requestURL="http://"+Ip+":5000/GlassInfo";
|
JSONObject resultJSON= httpApi(requestURL,"GET",null);
|
return resultJSON;
|
} catch (Exception e) {
|
// TODO: handle exception
|
System.out.println("HTTP ERROR:http://39.105.110.179:5000/GlassInfo GET");
|
}
|
return null;
|
}
|
public static JSONObject httpApi(String requestURL,String requestMethod,String requestBody){
|
JSONObject jsonObject = null;
|
try {
|
//"http://192.168.112:8081/deviceInteraction/account/selectAccount"
|
URL url = new URL(requestURL);
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
connection.setRequestMethod(requestMethod);
|
connection.setDoOutput(true);
|
connection.setDoInput(true); // ÉèÖøÃÁ¬½Ó¿ÉÊäÈë
|
connection.setDoOutput(true); // ÉèÖøÃÁ¬½Ó¿ÉÊä³ö
|
connection.setUseCaches(false);
|
connection.setInstanceFollowRedirects(true);
|
//connection.setRequestProperty("Charsert", "UTF-8");
|
connection.setRequestProperty("Content-type", "application/json; charset=UTF-8");
|
System.out.println(requestBody);
|
if(requestBody!=null){
|
try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) {
|
byte requestBodyByte[]=requestBody.getBytes("UTF-8");
|
outputStream.write(requestBodyByte);
|
outputStream.flush();
|
}
|
}
|
int responseCode = connection.getResponseCode();
|
if (responseCode==200){
|
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
String line;
|
StringBuilder response = new StringBuilder();
|
while ((line = reader.readLine()) != null) {
|
response.append(line);
|
}
|
reader.close();
|
|
String resultStr = response.toString();
|
if (resultStr!=null&&resultStr.length()>0) {
|
jsonObject =JSONObject.parseObject(resultStr);
|
}
|
//System.out.println(jsonObject);
|
}else{
|
System.out.println("Response Code: " + responseCode);
|
}
|
connection.disconnect();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return jsonObject;
|
}
|
}
|