DELL
2024-12-23 fed0a447df51e633ab6453261dc6e3d8a906d4a2
src/main/java/com/whyc/fbo/FboDataHeadStart.java
@@ -86,13 +86,13 @@
           this.hour = ComBase.changeByteToInt(bf.get());
           this.minute = ComBase.changeByteToInt(bf.get());
           this.second = ComBase.changeByteToInt(bf.get());
           System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);
           //System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);
        }
        
        public Date getFBODateTime() {
          Calendar c = Calendar.getInstance();
          c.set(2000+year, month, day, hour, minute, second);
          //System.out.println("测试开始时间"+Com.getDateTimeFormat(c.getTime(),Com.DTF_YMDhms));
          ////System.out.println("测试开始时间"+Com.getDateTimeFormat(c.getTime(),Com.DTF_YMDhms));
          return c.getTime();
          //return Com.get_DT_FromStr(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second, Com.DTF_YMDhms);
       }
@@ -100,7 +100,7 @@
   public void setDataInf(byte[] buf,FboDataHeadStop fboHeadStop) {
      if(buf.length < BYTE_LEN) {
         System.out.println("头部数据长度异常");
         //System.out.println("头部数据长度异常");
         return;
      }      
      ByteBuffer bf = ByteBuffer.allocate(buf.length);
@@ -122,11 +122,9 @@
       batt_std_cte = (float) ComBase.changeShortToInt(bf.getShort())/10;          //标称电导                        2
       batt_mon_num = ComBase.changeShortToInt(bf.getShort());             //单体数量                        1
       batt_mon_vol = (float) ComBase.changeShortToInt(bf.getShort())/10;          //单体电压 0.1                     2      =100
       //System.out.println("单体电压:"+batt_mon_vol);
      TestStartTime.setDateTime(bf);;                                 //放电开始的时间                  6
      testStartTime = TestStartTime.getFBODateTime();
       Device = ComBase.changeShortToInt(bf.getShort());                   //仪表类型 未使用                  1
       //System.out.println("仪表类型:"+getDeviceType(Device));
       DataVersion = ComBase.changeShortToInt(bf.getShort());              //数据版本                        1
       DataType = ComBase.changeByteToInt(bf.get());                       //数据类型;0xFD表示放电,0xFC表示充电         1
       HourRate = ComBase.changeByteToInt(bf.get());                       //小时率 未使用                     1
@@ -136,7 +134,6 @@
       MVLLimitCount = ComBase.changeShortToInt(bf.getShort());            //单体下限个数 未使用               2
       for(int i=0;i<module_mon_num.length;i++) {
          module_mon_num[i] = ComBase.changeShortToInt(bf.getShort());   //每个组压模块单体节数 目前只用5个      20
          //System.out.println((i+1)+":单体数目:"+module_mon_num[i]);
       }
       GrpVol_H_Limit = (float) ComBase.changeShortToFloat(bf.getShort())/10;        //组端电压上限                     2
       GrpVol_L_Limit = (float) ComBase.changeShortToFloat(bf.getShort())/10;        //组端电压下限                     2
@@ -153,35 +150,29 @@
      for(int i =0;i<StandBy.length;i++) {
         StandBy[i] =  ComBase.changeShortToInt(bf.getShort());           //保留备用                        20      179
      }
      //System.out.println(this);
      fboHeadStop.setFboStopData(bf);
      //System.out.println("avg_curr:"+avg_curr);
      //realcap = BattCapFactory.GetMonomerCap(STDCap,HourRate, TestCap, SMaxVol[0], MonomerVol, SMinVol[0], BattCapFactory.CapType_Real);
   }
   
   
   private void checkBattBrand() {
      byte[] batt_brand_tmp = new byte[batt_brand_len];
      System.arraycopy(this.batt_brand, 0, batt_brand_tmp, 0, batt_brand_tmp.length);
      //System.arraycopy(this.batt_brand, 0, batt_brand_tmp, 0, batt_brand_tmp.length);
      this.battBrandStr = new String(batt_brand_tmp);
      //System.out.println(this.battBrandStr);
   }
   public void checkBattName() {
      byte[] batt = new byte[battname_len];
      System.arraycopy(this.battname, 0, batt, 0, batt.length);
      //System.arraycopy(this.battname, 0, batt, 0, batt.length);
      this.battNameStr = new String(batt);
      //System.out.println(this.battNameStr);
   }
   public void checkBattDate() {
      byte[] date = new byte[batt_date_len];
      System.arraycopy(this.batt_date, 0, date, 0, date.length);
      //System.arraycopy(this.batt_date, 0, date, 0, date.length);
      this.batt_date_str = new String(date);
      //System.out.println(this.batt_date_str);
   }
   
   public String getDeviceType(int device) {