|
|
@@ -0,0 +1,321 @@
|
|
|
+package com.mes.ui;
|
|
|
+
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.mes.netty.NettyClient;
|
|
|
+import com.mes.util.DateLocalUtils;
|
|
|
+import com.mes.util.JdbcUtils;
|
|
|
+
|
|
|
+import java.io.*;
|
|
|
+import java.net.HttpURLConnection;
|
|
|
+import java.net.MalformedURLException;
|
|
|
+import java.net.URL;
|
|
|
+import java.util.Properties;
|
|
|
+
|
|
|
+public class DataUtil {
|
|
|
+
|
|
|
+ public static Boolean synrTcp(NettyClient nettyClient,String mes_gw){
|
|
|
+ try{
|
|
|
+ //TCP连接后,直接先发同步报文
|
|
|
+ String start = "aaaabbbbbABW";
|
|
|
+ String msgType = "SYNR";
|
|
|
+ String gw = "GW"+DataUtil.rightPad(mes_gw, 6);
|
|
|
+ String da = "DA" + DateLocalUtils.getCurrentDate();
|
|
|
+ String zt = "ZT" + DateLocalUtils.getCurrentTimeHMS();
|
|
|
+ String synr_str = start + msgType + gw + da + zt;
|
|
|
+ //插入报文本地数据
|
|
|
+ String gy = "";
|
|
|
+ String sn = "";
|
|
|
+ JdbcUtils.insertData(gw, gy, synr_str, msgType, sn);
|
|
|
+
|
|
|
+ nettyClient.run(synr_str);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean heartBeat(NettyClient nettyClient,String mes_gw){
|
|
|
+ try{
|
|
|
+ //TCP连接后,直接先发同步报文
|
|
|
+ String start = "aaaabbbbbABW";
|
|
|
+ String msgType = "AXTW";
|
|
|
+ String gw = "GW"+DataUtil.rightPad(mes_gw, 6);
|
|
|
+ String da = "DA" + DateLocalUtils.getCurrentDate();
|
|
|
+ String zt = "ZT" + DateLocalUtils.getCurrentTimeHMS();
|
|
|
+ String axtw_str = start + msgType + gw + da + zt;
|
|
|
+ //插入报文本地数据
|
|
|
+ String gy = "";
|
|
|
+ String sn = "";
|
|
|
+ JdbcUtils.insertData(gw, gy, axtw_str, msgType, sn);
|
|
|
+ nettyClient.future.channel().writeAndFlush(axtw_str);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean checkQuality(NettyClient nettyClient, String sn, String user){
|
|
|
+ try{
|
|
|
+ String msgType = "AQDW";
|
|
|
+ String gy = "100000";
|
|
|
+ Boolean aqdw_str = sendMessage(nettyClient,msgType,gy,"",sn,"",user,"00","");
|
|
|
+ return aqdw_str;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean startWork(NettyClient nettyClient,String sn,String user){
|
|
|
+ try{
|
|
|
+ String msgType = "MKSW";
|
|
|
+ String gy = "";
|
|
|
+ Boolean aqdw_str = sendMessage(nettyClient,msgType,gy,"",sn,"",user,"00","");
|
|
|
+ return aqdw_str;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean bindUser(NettyClient nettyClient,String sn,String user){
|
|
|
+ try{
|
|
|
+ String msgType = "MBDW";
|
|
|
+ String gy = "400001";
|
|
|
+ String param = rightPad(user, 36);
|
|
|
+ Boolean aqdw_str = sendMessage(nettyClient,msgType,gy,"",sn,"",user,"01",param);
|
|
|
+ return aqdw_str;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean bindWarehouse(NettyClient nettyClient,String sn,String wsn,String user,String craft){
|
|
|
+ try{
|
|
|
+ String msgType = "MBDW";
|
|
|
+ String param = rightPad(wsn, 36);
|
|
|
+ Boolean aqdw_str = sendMessage(nettyClient,msgType,craft,"",sn,"",user,"01",param);
|
|
|
+ return aqdw_str;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean unBindWarehouse(NettyClient nettyClient,String sn,String wsn,String user,String craft){
|
|
|
+ try{
|
|
|
+ String msgType = "MJBW";
|
|
|
+ String param = rightPad(wsn, 36);
|
|
|
+ Boolean aqdw_str = sendMessage(nettyClient,msgType,craft,"",sn,"",user,"01",param);
|
|
|
+ return aqdw_str;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean sendQuality(NettyClient nettyClient,String sn,String ret,String user){
|
|
|
+ try{
|
|
|
+ String msgType = "MQDW";
|
|
|
+ String gy = "100000";
|
|
|
+ String param = "";
|
|
|
+ Boolean aqdw_str = sendMessage(nettyClient,msgType,gy,"",sn,ret,user,"00",param);
|
|
|
+ return aqdw_str;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Boolean sendMessage(NettyClient nettyClient,String msgType,String craft,String lx,String sn,String result,String user,String paramNums,String params){
|
|
|
+ try{
|
|
|
+ String enconding = "UTF-8";
|
|
|
+ InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
|
|
|
+ Properties pro = new Properties();
|
|
|
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
|
|
|
+ pro.load(br);
|
|
|
+ String gw = "GW"+rightPad(pro.getProperty("mes.gw"), 6);
|
|
|
+ String start = "aaaabbbbbABW";
|
|
|
+ String gy = "GY" + rightPad(craft, 6);
|
|
|
+ String reslx = "LX" + rightPad(lx, 2);
|
|
|
+ String id = pro.getProperty("mes.line_sn") + rightPad(sn, 36);
|
|
|
+ String rs = "RS"+ rightPad(result, 2);
|
|
|
+ String da = "DA" + DateLocalUtils.getCurrentDate();
|
|
|
+ String zt = "ZT" + DateLocalUtils.getCurrentTimeHMS();
|
|
|
+ String yh = "YH" + rightPad(user, 20);
|
|
|
+ String aqdw_str = start + msgType + gw + gy + reslx + id + rs + da + zt + yh + paramNums + params;
|
|
|
+ System.out.println("message="+aqdw_str);
|
|
|
+ JdbcUtils.insertData(gw, gy, aqdw_str, msgType, sn);
|
|
|
+ nettyClient.future.channel().writeAndFlush(aqdw_str);
|
|
|
+ return true;
|
|
|
+ }catch (Exception e){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String rightPad(final String str, final int size) {
|
|
|
+ if (str == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ String strret = str;
|
|
|
+ if(str.length() > size){
|
|
|
+ strret = str.substring(0,size);
|
|
|
+ }
|
|
|
+ return String.format("%-"+size+"s", strret);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static JSONObject getBindMaterail() {
|
|
|
+ try{
|
|
|
+ String enconding = "UTF-8";
|
|
|
+ InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
|
|
|
+ Properties pro = new Properties();
|
|
|
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
|
|
|
+ pro.load(br);
|
|
|
+ String mes_server_ip = pro.getProperty("mes.server_ip");
|
|
|
+ String oprno = pro.getProperty("mes.gw").trim();
|
|
|
+ String lineSn = pro.getProperty("mes.line_sn").trim();
|
|
|
+ String url = "http://"+mes_server_ip+":8980/js/a/mes/mesLineProcessMaterial/materials";
|
|
|
+ String params = "__ajax=json&oprno="+oprno+"&lineSn="+lineSn;
|
|
|
+ System.out.println("params="+params);
|
|
|
+ String result = doPost(url,params);
|
|
|
+ System.out.println("result="+result);
|
|
|
+
|
|
|
+ if(result.equalsIgnoreCase("false")) {
|
|
|
+ return null;
|
|
|
+ }else {
|
|
|
+ return JSONObject.parseObject(result);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static JSONObject saveBindMaterail(String batchSn,String craft,String materialId,String type) {
|
|
|
+ try{
|
|
|
+ String enconding = "UTF-8";
|
|
|
+ InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
|
|
|
+ Properties pro = new Properties();
|
|
|
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
|
|
|
+ pro.load(br);
|
|
|
+ String mes_server_ip = pro.getProperty("mes.server_ip");
|
|
|
+ String oprno = pro.getProperty("mes.gw").trim();
|
|
|
+ String lineSn = pro.getProperty("mes.line_sn").trim();
|
|
|
+ String url = "http://"+mes_server_ip+":8980/js/a/mes/mesMaterialPrebind/bind";
|
|
|
+ String params = "__ajax=json&oprno="+oprno+"&lineSn="+lineSn+"&batchSn="+batchSn+"&craft="+craft+"&materialId="+materialId+"&type="+type;
|
|
|
+ System.out.println("params="+params);
|
|
|
+ String result = doPost(url,params);
|
|
|
+ System.out.println("result="+result);
|
|
|
+
|
|
|
+ if(result.equalsIgnoreCase("false")) {
|
|
|
+ return null;
|
|
|
+ }else {
|
|
|
+ return JSONObject.parseObject(result);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static JSONObject getCheckResult() {
|
|
|
+ try{
|
|
|
+ String enconding = "UTF-8";
|
|
|
+ InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
|
|
|
+ Properties pro = new Properties();
|
|
|
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
|
|
|
+ pro.load(br);
|
|
|
+ String mes_server_ip = pro.getProperty("mes.server_ip");
|
|
|
+ String oprno = pro.getProperty("mes.gw").trim();
|
|
|
+ String lineSn = pro.getProperty("mes.line_sn").trim();
|
|
|
+ String url = "http://"+mes_server_ip+":8980/js/a/mes/mesProcessCheckRecord/check";
|
|
|
+ String params = "__ajax=json&oprno="+oprno+"&lineSn="+lineSn;
|
|
|
+ System.out.println("params="+params);
|
|
|
+ String result = doPost(url,params);
|
|
|
+ System.out.println("result="+result);
|
|
|
+
|
|
|
+ if(result.equalsIgnoreCase("false")) {
|
|
|
+ return null;
|
|
|
+ }else {
|
|
|
+ return JSONObject.parseObject(result);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static JSONObject upParams(String upparams) {
|
|
|
+ try{
|
|
|
+ String mes_server_ip = MesClient.mes_server_ip;
|
|
|
+ String url = "http://"+mes_server_ip+":8980/js/a/mes/mesProductProd/batchsave";
|
|
|
+ String params = "__ajax=json&oprno="+MesClient.mes_gw+"&lineSn="+MesClient.mes_line_sn+"¶ms="+upparams;
|
|
|
+ System.out.println("params="+params);
|
|
|
+ String result = doPost(url,params);
|
|
|
+ System.out.println("result="+result);
|
|
|
+
|
|
|
+ if(result.equalsIgnoreCase("false")) {
|
|
|
+ return null;
|
|
|
+ }else {
|
|
|
+ return JSONObject.parseObject(result);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String doPost(String httpUrl, String param) {
|
|
|
+ HttpURLConnection connection = null;
|
|
|
+ InputStream is = null;
|
|
|
+ OutputStream os = null;
|
|
|
+ BufferedReader br = null;
|
|
|
+ String result = null;
|
|
|
+ try {
|
|
|
+ URL url = new URL(httpUrl);
|
|
|
+ connection = (HttpURLConnection) url.openConnection();
|
|
|
+ connection.setRequestMethod("POST");
|
|
|
+ connection.setConnectTimeout(15000);
|
|
|
+ connection.setReadTimeout(60000);
|
|
|
+ connection.setDoOutput(true);
|
|
|
+ connection.setDoInput(true);
|
|
|
+ connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
|
|
+ connection.setRequestProperty("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0");
|
|
|
+ os = connection.getOutputStream();
|
|
|
+ os.write(param.getBytes());
|
|
|
+ if (connection.getResponseCode() == 200) {
|
|
|
+ is = connection.getInputStream();
|
|
|
+ br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
|
|
|
+ StringBuffer sbf = new StringBuffer();
|
|
|
+ String temp = null;
|
|
|
+ while ((temp = br.readLine()) != null) {
|
|
|
+ sbf.append(temp);
|
|
|
+ sbf.append("\r\n");
|
|
|
+ }
|
|
|
+ result = sbf.toString();
|
|
|
+ }
|
|
|
+ } catch (MalformedURLException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ if (null != br) {
|
|
|
+ try {
|
|
|
+ br.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null != os) {
|
|
|
+ try {
|
|
|
+ os.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null != is) {
|
|
|
+ try {
|
|
|
+ is.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ connection.disconnect();
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|