From b1c37cebc8531a256bb9b0f428a4f81f3ad6310b Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期二, 22 四月 2025 08:47:00 +0800
Subject: [PATCH] 上片机逻辑修改

---
 nglib/src/ng/devices/ModbusService.java |   29 +-----
 nglib/.idea/encodings.xml               |    1 
 nglib/src/builder/httpApi.java          |  116 +++++++++++++++++++++++++++++
 nglib/src/ng/devices/MysqlService.java  |   87 +++++++++++++++------
 4 files changed, 183 insertions(+), 50 deletions(-)

diff --git a/nglib/.idea/encodings.xml b/nglib/.idea/encodings.xml
index 83b0b33..d97a1fd 100644
--- a/nglib/.idea/encodings.xml
+++ b/nglib/.idea/encodings.xml
@@ -10,6 +10,7 @@
     <file url="file://$PROJECT_DIR$/src/builder/ThreadHttpServer.java" charset="GBK" />
     <file url="file://$PROJECT_DIR$/src/ng/db/DBSession.java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/src/ng/devices/InitUtil.java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/ng/devices/MysqlService.java" charset="GBK" />
     <file url="file://$PROJECT_DIR$/src/ng/devices/PlcBitInfo.java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/src/ng/devices/PlcBitObject.java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/src/ng/devices/PlcParameterInfo.java" charset="UTF-8" />
diff --git a/nglib/src/builder/httpApi.java b/nglib/src/builder/httpApi.java
new file mode 100644
index 0000000..c074d8d
--- /dev/null
+++ b/nglib/src/builder/httpApi.java
@@ -0,0 +1,116 @@
+package builder;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class httpApi {
+    public static void main(String[] args) {
+
+        JSONObject jsonObject=new JSONObject();
+        jsonObject.put("thickness", "0");
+        jsonObject.put("width", "0");
+        jsonObject.put("height", "0");
+        jsonObject.put("sameCount", "0");
+        jsonObject.put("glassType", "string");
+        sendShelfTask(jsonObject);
+
+    }
+    //发送仓储任务
+    public static JSONObject sendShelfTask(JSONObject params){
+        try {
+            String requestURL="http://39.105.110.179: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;
+    }
+    //查询上片料架信息
+    public static JSONObject selectLoadRack(){
+        try {
+            String requestURL="http://39.105.110.179: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;
+    }
+    //上片位片数-1
+    public static JSONObject loadRackReduction(){
+        try {
+            String requestURL="http://39.105.110.179: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 storageRackInfo(){
+        try {
+            String requestURL="http://39.105.110.179: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 {
+            // 定义 URL
+            URL url = new URL(requestURL);
+            // 打开连接
+            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+            // 设置请求方法
+            connection.setRequestMethod(requestMethod);
+            // 允许输出流,用于发送请求体
+            connection.setDoOutput(true);
+            connection.setRequestProperty("Content-type", "application/json; charset=UTF-8");
+            System.out.println(requestBody);
+            // 获取输出流并写入请求体
+            try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) {
+                if(requestBody!=null){
+                    outputStream.writeBytes(requestBody);
+                }
+                outputStream.flush();
+            }
+            // 获取响应码
+            int responseCode = connection.getResponseCode();
+            System.out.println("Response Code: " + responseCode);
+            // 读取响应内容
+            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+            String line;
+            StringBuilder response = new StringBuilder();
+            while ((line = reader.readLine()) != null) {
+                response.append(line);
+            }
+            reader.close();
+            // 断开连接
+            connection.disconnect();
+            String resultStr = response.toString();
+            if (resultStr!=null&&resultStr.length()>0) {
+                jsonObject =JSONObject.parseObject(resultStr);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return jsonObject;
+    }
+
+}
diff --git a/nglib/src/ng/devices/ModbusService.java b/nglib/src/ng/devices/ModbusService.java
index c56725e..06a514e 100644
--- a/nglib/src/ng/devices/ModbusService.java
+++ b/nglib/src/ng/devices/ModbusService.java
@@ -72,7 +72,6 @@
 
     }
     
-    
     //涓�娆¤鍙栬涓�
     String once(){
     	//鎸夌収閰嶇疆璇绘暟鎹�
@@ -112,27 +111,24 @@
 			String flag=null;
 			String messsage="000000000000000000";
 			EPlcType ePlcType=null;
-			if(this.machineID==4){
-				ePlcType=EPlcType.S1500;
-			}else if(this.machineID==6){
+			if(this.functionType==10){
 				ePlcType=EPlcType.S200_SMART;
-			}else{
+			}else if(this.functionType==11){
+				ePlcType=EPlcType.S1500;
+			}else if(this.functionType==12){
 				ePlcType=EPlcType.S1200;
+			}else{
+				return "";
 			}
 			S7control s7=new S7control(ePlcType, ip, port, 0, 0);
-			//List<Integer> word=s7.readWord("DB34.122",  1);
 			List<Integer> listWord=s7.readWord(this.remarks,(this.readSize/2));
 			if(listWord==null){
 				System.out.println("notread");
 				return "";
 			}
             for(int i=0;i<listWord.size();i++){
-				//System.out.println("i  "+listWord.size()+"   "+messsage);
 				messsage+=HexUtil.intTo2ByteHex(listWord.get(i));
 			}
-
-			//System.out.println(messsage);
-			//System.out.println(ip+"  "+s7.readWord("DB34.122",  1));
 			//鏁版嵁搴�
 			DBHelper db=DBHelper.getDBHelper("mes");
 			try{
@@ -154,25 +150,12 @@
 					//寰楀埌瀛樺偍杩囩▼杩斿洖鐨勫�硷紝鏁扮粍绗竴涓负鍦板潃锛岀浜屼釜涓哄��
 					int resultsLength=results.length;
 					int resultsSize=resultsLength/2;
-
 					for(int i=1;i<resultsSize+1;i++){
 						int addressIndex=(i-1)*2;
 						int valueIndex=i*2-1;
 						s7.writeWord(results[addressIndex],Integer.valueOf(results[valueIndex]));//鍙傛暟缁勫啓鍏�
 					}
-//					if(results.length==2){
-//						s7.writeWord(results[0],Integer.valueOf(results[1]) );
-//					}
-//					if(results.length==4){
-//						s7.writeWord(results[0],Integer.valueOf(results[1]));//閰嶆柟
-//						s7.writeWord(results[2],Integer.valueOf(results[3]));//閫熷害
-//					}
-					List<Integer> listWord2=s7.readWord(this.remarks,(this.readSize/2));
-					System.out.println(listWord2.size());
-
 				}
-
-
 			}
 			catch(Exception e){
 				e.printStackTrace();
diff --git a/nglib/src/ng/devices/MysqlService.java b/nglib/src/ng/devices/MysqlService.java
index 8a4079f..3a35c86 100644
--- a/nglib/src/ng/devices/MysqlService.java
+++ b/nglib/src/ng/devices/MysqlService.java
@@ -5,6 +5,8 @@
 
 import builder.Manager;
 import builder.S7control;
+import builder.httpApi;
+import com.alibaba.fastjson.JSONObject;
 import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
 import ng.db.DBHelper;
 import ng.db.DBSession;
@@ -102,9 +104,6 @@
 		// TODO Auto-generated method stub
 		//读次数+1
 		ioCount++;
-		//判断是否不调用
-	//	 if(this.PassInvoke(arg0.Content))
-		// return false;
 		//转化为mysql输入参数
 		String s=this.packToString(arg0);
 		//更新最后一条读报文
@@ -112,31 +111,65 @@
 	    DBSession sn=null;
 	    String result=null;
 	    String flag=null;
+		//上片
+		if(id==2){
+			try{
+				//JSONObject jSONObject=httpApi.selectLoadRack();
+				JSONObject jSONObject=new JSONObject();
+				jSONObject.put("thickness", "4");
+				jSONObject.put("width", "3660");
+				jSONObject.put("height", "2440");
+				jSONObject.put("sameCount", "1");
+				jSONObject.put("glassType", "string");
+				if (jSONObject!=null){
+					//创建连接
+					sn=this.db.createSession(false);
+					Connection con= sn.getConnection();
+					//调用那个存储过程
+					CallableStatement sql=con.prepareCall("{call Total_method_load(?,?,?,?,?,?,?,?)}");
+					sql.registerOutParameter(7, java.sql.Types.VARCHAR);
+					sql.registerOutParameter(8, java.sql.Types.VARCHAR);
+					sql.setString(1, s);
+					sql.setLong(2, id);
+					sql.setDouble(3, Double.valueOf(jSONObject.get("width").toString()) );
+					sql.setDouble(4, Double.valueOf(jSONObject.get("height").toString()) );
+					sql.setDouble(5, Double.valueOf(jSONObject.get("thickness").toString()) );
+					sql.setLong(6, Integer.valueOf(jSONObject.get("sameCount").toString()) );
+					sql.execute();
+					//读取返回参数
+					result= sql.getString(7);
+					flag= sql.getString(8);//1 表示任务完成数量减一
+					if ("1".equals(flag) ){
+						//JSONObject loadRackReductionJson=httpApi.loadRackReduction();
+					}
+				}
+			}catch(Exception e){
+				e.printStackTrace();
+			}finally{
+				sn.close();
+			}
+		}else{
+			try{
+				//创建连接
+				sn=this.db.createSession(false);
+				Connection con= sn.getConnection();
+				//调用那个存储过程
+				CallableStatement sql=con.prepareCall("{call Total_method(?,?,?,?)}");
+				sql.registerOutParameter(3, java.sql.Types.VARCHAR);
+				sql.registerOutParameter(4, java.sql.Types.VARCHAR);
+				sql.setString(1, s);
+				sql.setLong(2, id);
+				sql.execute();
+				//读取返回参数
+				result= sql.getString(3);
+				flag= sql.getString(4);
 
-	    try{
-	    //创建连接
-	    	sn=this.db.createSession(false);
-	    	Connection con= sn.getConnection();
-	    	//调用那个存储过程
-			CallableStatement sql=con.prepareCall("{call Total_method(?,?,?,?)}");
-			sql.registerOutParameter(3, java.sql.Types.VARCHAR);
-			sql.registerOutParameter(4, java.sql.Types.VARCHAR);
-			sql.setString(1, s);
-			sql.setLong(2, id);
-			sql.execute();
-			//读取返回参数
-			result= sql.getString(3);
-			flag= sql.getString(4);
-
-	    }
-	    catch(Exception e){
-	    	e.printStackTrace();
-	    }
-	    finally{
-	    	sn.close();
-	    	
-	    }
-	
+			}catch(Exception e){
+				e.printStackTrace();
+			}finally{
+				sn.close();
+			}
+		}
 	    if(result!=null){
 	    	if(result.length()>0){
 	    	char c=result.charAt(0);

--
Gitblit v1.8.0