严智鑫
2025-05-09 235d23f498e46e3415bf12a81b2056b792ea1808
nglib/src/ng/devices/MysqlService.java
@@ -4,6 +4,10 @@
import java.sql.Connection;
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;
import ng.devices.ModbusService.ModbusDataPackage;
@@ -100,9 +104,6 @@
      // TODO Auto-generated method stub
      //读次数+1
      ioCount++;
      //判断是否不调用
   //    if(this.PassInvoke(arg0.Content))
      // return false;
      //转化为mysql输入参数
      String s=this.packToString(arg0);
      //更新最后一条读报文
@@ -110,30 +111,73 @@
       DBSession sn=null;
       String result=null;
       String flag=null;
       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();
       }
      //上片
      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;
                     }
                  }
               }
            }
         }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();
         }
      }
       if(result!=null){
          if(result.length()>0){
          char c=result.charAt(0);
@@ -146,6 +190,7 @@
             //更新最后一次发送
          this.lastSend=result;
          //返回要发送的报文
            System.out.println(result);
          return this.fillPack(arg1,result);
          }
          }