whycxzp
2022-04-21 4dacd67c96a0a96dd8e111483eb6ac144306f444
src/com/fgkj/dao/impl/ram/Fbs9100_setparamImpl.java
@@ -366,6 +366,85 @@
      }
      return res_exe;
   }
   //机房命令操作设备时的cmd和ack校验  test_type  -->默认启动测试的类型
   public boolean sendCmdToFBS9100Dev2(int cmd,int battGroupId,int test_type,int dev_id)
   {
      int m_cmd = cmd;
      int m_cmd_ack = cmd;
      switch(m_cmd) {
         case FBS9100_ComBase.CMD_Start: m_cmd_ack = FBS9100_ComBase.CMD_StartAck; break;
         case FBS9100_ComBase.CMD_Stop: m_cmd_ack = FBS9100_ComBase.CMD_StopAck; break;
         case FBS9100_ComBase.CMD_SetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck; break;
         case FBS9100_ComBase.CMD_GetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck; break;
         case FBS9100_ComBase.CMd_SetIp_Tem: m_cmd_ack = FBS9100_ComBase.CMd_SetIpAck; break;
         case FBS9100_ComBase.CMd_SetIp_Per: m_cmd_ack = FBS9100_ComBase.CMd_SetIpAck; break;
         case FBS9100_ComBase.CMD_GetOffLineYHParam: m_cmd_ack = FBS9100_ComBase.CMD_GetOffLineYHParam_ACK; break;
         case FBS9100_ComBase.CMD_SetOffLineYHParam: m_cmd_ack = FBS9100_ComBase.CMD_SetOffLineYHParam_ACK; break;
         case FBS9100_ComBase.CMD_StartOffLine: m_cmd_ack = FBS9100_ComBase.CMD_StartOffLine_ACK; break;
         case FBS9100_ComBase.CMD_StopOffLine: m_cmd_ack = FBS9100_ComBase.CMD_StopOffLine_ACK; break;
         case FBS9100_ComBase.CMD_ResetSystem: m_cmd_ack = FBS9100_ComBase.CMD_ResetSystemAck; break;
         //一体机A059
         case FBS9100_ComBase.CMD_StartDischarge: m_cmd_ack = FBS9100_ComBase.CMD_StartDischargeAck; break;
         case FBS9100_ComBase.CMD_StopDischarge: m_cmd_ack = FBS9100_ComBase.CMD_StopDischargeAck; break;
         case FBS9100_ComBase.CMD_PauseDischarge: m_cmd_ack = FBS9100_ComBase.CMD_PauseDischargeAck; break;
         case FBS9100_ComBase.CMD_StartCharTest: m_cmd_ack = FBS9100_ComBase.CMD_StartCharTestAck; break;
         case FBS9100_ComBase.CMD_StopCharTest: m_cmd_ack = FBS9100_ComBase.CMD_StopCharTestAck; break;
         case FBS9100_ComBase.CMD_PauseCharTest: m_cmd_ack = FBS9100_ComBase.CMD_PauseCharTestAck; break;
         case FBS9100_ComBase.CMD_StartHUOHUATest: m_cmd_ack = FBS9100_ComBase.CMD_StartHUOHUATestACK; break;
         case FBS9100_ComBase.CMD_StopHUOHUATest: m_cmd_ack = FBS9100_ComBase.CMD_StopHUOHUATestACK; break;
         case FBS9100_ComBase.CMD_PauseHUOHUATest: m_cmd_ack = FBS9100_ComBase.CMD_PauseHUOHUATestACK; break;
         case FBS9100_ComBase.CMD_ReStartDCDC: m_cmd_ack = FBS9100_ComBase.CMD_ReStartDCDC_Ack; break;
         //图片显示
         case FBS9100_ComBase.CMD_StartShowPic: m_cmd_ack = FBS9100_ComBase.CMD_StartShowPic_ACK; break;
         case FBS9100_ComBase.CMD_StopShowPic: m_cmd_ack = FBS9100_ComBase.CMD_StopShowPic_ACK; break;
         case FBS9100_ComBase. CMD_SetNowBatt: m_cmd_ack = FBS9100_ComBase.CMD_SetNowBatt_ACK; break;
         default: return false;
      }
      String sql_end = "";
      if(test_type > 0 && cmd == FBS9100_ComBase.CMD_Start){               //启动测试时未点击设定参数按钮,会出现启动内阻测试bug修复
         sql_end = ",TestCmd="+test_type;
      }
      boolean res_exe = false;
      String sql = "UPDATE db_ram_db.tb_fbs9100_setparam  SET "
            + " op_cmd=? and BattGroupNum = ? "+sql_end
            + " WHERE dev_id=? ";
      Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{m_cmd,battGroupId,dev_id});
      if(true == bl)
      {
         sql = "SELECT op_cmd FROM db_ram_db.tb_fbs9100_setparam "+
               " WHERE dev_id="+dev_id;
         Connection conn=DBUtil.getConn();
         PreparedStatement ps = null;
         ResultSet rs = null;
         for(int n=0; n<40; n++)
         {
            try {
               ps = conn.prepareStatement(sql);
               rs=ps.executeQuery();
               if(rs.next())
               {
                  if(rs.getInt("op_cmd") == m_cmd_ack)
                  {
                     res_exe = true;
                     break;
                  }
               }
            } catch (SQLException e) {
               e.printStackTrace();
            }
            try {
               Thread.sleep(250);
            } catch (InterruptedException e) {
               e.printStackTrace();
            }
         }
         DBUtil.close(rs, ps, conn);
      }
      return res_exe;
   }
   //根据dev_id获取A059的数据
   public List searchA059ParamByDev_id(Object obj){
      Fbs9100_setparam fsparam=(Fbs9100_setparam) obj;