| gmms/.classpath | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| gmms/.settings/org.eclipse.wst.common.project.facet.core.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| gmms/WebContent/login/run.jsp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| nglib/.idea/encodings.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| nglib/src/builder/Manager.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| nglib/src/builder/httpApi.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| nglib/src/ng/devices/ModbusService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| nglib/src/ng/devices/MysqlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
gmms/.classpath
@@ -1,17 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.8.0_121"> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> <attributes> <attribute name="owner.project.facets" value="java"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.0"> <attributes> <attribute name="owner.project.facets" value="jst.web"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="output" path="build/classes"/> </classpath> gmms/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,6 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <faceted-project> <runtime name="Apache Tomcat v8.0"/> <fixed facet="jst.web"/> <fixed facet="java"/> <fixed facet="wst.jsdt.web"/> gmms/WebContent/login/run.jsp
@@ -3,10 +3,10 @@ <%@page import="toTcp.TcpMain"%> <%@include file="../mysqlInsert/mysql_connect.jsp"%> <% ThreadHttpServer.mains(); //ThreadHttpServer.mains(); //TcpMain.getElectric(); //Manager.appStart(new String[]{url,user,password }); Manager.appStart(new String[]{url,user,password }); //response.sendRedirect("bdg.jsp"); %> nglib/.idea/encodings.xml
@@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="Encoding"> <file url="file://$PROJECT_DIR$/bin/S7/S7control.java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/builder/HttpHandlerDemo.java" charset="GBK" /> <file url="file://$PROJECT_DIR$/src/builder/MachineManager.java" charset="GBK" /> <file url="file://$PROJECT_DIR$/src/builder/Manager.java" charset="GBK" /> @@ -10,11 +9,12 @@ <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" /> <file url="file://$PROJECT_DIR$/src/ng/devices/PlcParameterObject.java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/toTcp/TCPClient.java" charset="GBK" /> <file url="PROJECT" charset="GBK" /> <file url="PROJECT" charset="UTF-8" /> </component> </project> nglib/src/builder/Manager.java
@@ -207,7 +207,6 @@ System.out.println("错误"); } } public static void main(String[] args){ Manager.appStart(new String[]{"jdbc:mysql://localhost/gmms?serverTimezone=GMT%2B8","root","beibo.123/" }); while(true){ nglib/src/builder/httpApi.java
New file @@ -0,0 +1,142 @@ package builder; import com.alibaba.fastjson.JSONArray; 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 String Ip="localhost"; public static void main(String[] args) { JSONObject jsonObject=new JSONObject(); jsonObject.put("thickness", "5"); jsonObject.put("width", "3660"); jsonObject.put("height", "2440"); jsonObject.put("sameCount", "2"); jsonObject.put("glassType", "超白玻"); sendShelfTask(jsonObject); JSONObject a=selectLoadRack(); 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 JSONObject sendShelfTask(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 sendShelfTask(){ 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); JSONObject loadRack=resultJSON.getJSONObject("data").getJSONArray("stocklist").getJSONObject(0); return loadRack; } 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 { // 地址 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); // 参数写入 if(requestBody!=null){ try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) { outputStream.writeBytes(requestBody); 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(); // 关闭 connection.disconnect(); 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); } } catch (IOException e) { e.printStackTrace(); } return jsonObject; } } 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(); 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,73 @@ 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) ){ for (int i=0;i<1;){ JSONObject loadRackReductionJson=httpApi.loadRackReduction(); if ("true".equals(loadRackReductionJson.get("success").toString())){ //调用成功 i++; break; } } 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(); } }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); } 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);