81041
2019-01-11 fa00382db413a8489d07983b66f0869305b51a9a
gx_tieta/src/com/fgkj/services/ram/Fbs9100_sysparamService.java
@@ -1,14 +1,20 @@
package com.fgkj.services.ram;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BaseDAOFactory;
import com.fgkj.dao.FBS9100_ComBase;
import com.fgkj.dao.impl.BattInfImpl;
import com.fgkj.dao.impl.ram.Fbs9100_battparamImpl;
import com.fgkj.dao.impl.ram.Fbs9100_setparamImpl;
import com.fgkj.dao.impl.ram.Fbs9100_sysparamImpl;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.ram.Fbs9100_battparam;
import com.fgkj.dto.ram.Fbs9100_setparam;
import com.fgkj.dto.ram.Fbs9100_sysparam;
public class Fbs9100_sysparamService {
@@ -75,11 +81,209 @@
        
      return model;
   } 
   public static void main(String[] args) {
    //批量设置系统参数
     public ServiceModel updatePro(Object obj) {
        boolean bl=((Fbs9100_sysparamImpl)dao).updatePro(obj);
        if(bl) {
           List<Fbs9100_sysparam> list=(List<Fbs9100_sysparam>) obj;
           Calendar c = Calendar.getInstance();
           //现在的时间(单位:毫秒)
           long now_time = c.getTimeInMillis();
           long time=0;
           int success=0;
           do {
              for (int i = 0; i < list.size(); i++) {
                 Fbs9100_sysparam fs=new Fbs9100_sysparam();
                 fs=list.get(i);
                 if(fs.getNum()==0) {//前台传参设置
                    boolean b=((Fbs9100_sysparamImpl)dao).getCmdAck(fs.getOp_cmd(), fs.getDev_id());
                    if(b) {
                       success+=1;
                       list.get(i).setNum(1);
                    }
                 }
              }
              if(success==list.size()) {
                 break;
              }
              Calendar cl = Calendar.getInstance();
              long moment_time = cl.getTimeInMillis();
              time=moment_time-now_time;
           }while(time<=5*1000);
           model.setData(list);
           model.setCode(1);
           model.setSum(success);
           model.setMsg("修改成功!");
        }else {
           model.setCode(0);
           model.setMsg("修改失败!");
        }
        return model;
     }
    //批量重启设备
     public ServiceModel restartPL_FBS(Object obj) {
        boolean bl=(new Fbs9100_setparamImpl()).restartPL_FBS(obj);
        if(bl) {
         List<Fbs9100_sysparam> list=(List<Fbs9100_sysparam>) obj;
         Calendar c = Calendar.getInstance();
         //现在的时间(单位:毫秒)
         long now_time = c.getTimeInMillis();
         long time=0;
         int success=0;
         do {
            for (int i = 0; i < list.size(); i++) {
               Fbs9100_sysparam fs=new Fbs9100_sysparam();
               fs=list.get(i);
               if(fs.getNum()==0) {//前台传参设置
                  boolean b=(new Fbs9100_setparamImpl()).getCmdAck(fs.getOp_cmd(), fs.getDev_id());
                  if(b) {
                     success+=1;
                     list.get(i).setNum(1);
                  }
               }
            }
            if(success==list.size()) {
               break;
            }
            Calendar cl = Calendar.getInstance();
            long moment_time = cl.getTimeInMillis();
            time=moment_time-now_time;
         }while(time<=5*1000);
         model.setData(list);
         model.setCode(1);
         model.setSum(success);
         model.setMsg("重启成功!");
      }else {
         model.setCode(0);
         model.setMsg("重启失败!");
      }
        return model;
     }
  //批量设置系统参数时,根据省市区,电池单体型号(伏数),组数筛选出电池组并读取它的实际系统参数
     public ServiceModel serchBattinfAndParam(Object obj) {
        List<BattInf> list=(new BattInfImpl()).serchBySys_param(obj);
        if(list!=null&&list.size()>0) {
             Calendar c = Calendar.getInstance();
             //现在的时间(单位:毫秒)
             long now_time = c.getTimeInMillis();
             long time=0;
             int success=0;
             int count=0;
             do {
                for (int i = 0; i < list.size(); i++) {
                   BattInf binf=list.get(i);
                   Fbs9100_sysparam fbs_sys=new Fbs9100_sysparam();
                   fbs_sys.setDev_id(binf.getFBSDeviceId());
                       fbs_sys.setOp_cmd(FBS9100_ComBase.CMD_GetSYSSetParam);
                   if(count==0) {
                      fbs_sys.setDev_ip("127.0.0.0");
                      fbs_sys.setIPADDR("127.0.0.0");
                      fbs_sys.setSubIPADDR("127.0.0.0");
                      fbs_sys.setNetGateADDR("127.0.0.0");
                      fbs_sys.setGroupVolRange(0);
                      fbs_sys.setGroupVolSorce(0);
                      fbs_sys.setCurrentRange(0);
                      fbs_sys.setCurrentTyte(0);
                      fbs_sys.setMonomerOrder(0);
                      fbs_sys.setBackLightTime(0);
                      fbs_sys.setMACADDR("0.0.0.0.0.0");
                      fbs_sys.setLoaderCount(0);
                      fbs_sys.setDtCardCount(0);
                      fbs_sys.setPowerBreakChargeCurr(0);
                      fbs_sys.setMajorBattGroupNum(0);
                      fbs_sys.setPOF_BG_Boost_Cnt(0);
                      fbs_sys.setPOF_BG_Boost_VolStop(0);
                      fbs_sys.setPOF_BG_Boost_VolStart(0);
                        boolean bl=((Fbs9100_sysparamImpl)dao).replacePL(fbs_sys);
                        List listb=new ArrayList();
                        listb.add(fbs_sys);
                         list.get(i).setObj(listb);
                   }
                   if(binf.getNum()==0) {
                      boolean b=((Fbs9100_sysparamImpl)dao).getCmdAck(fbs_sys.getOp_cmd(), fbs_sys.getDev_id());
                      if(b) {
                         success+=1;
                         list.get(i).setNum(1);
                          List listbatt=dao.serchByCondition(fbs_sys);
                          list.get(i).setObj(listbatt);
                      }
                   }
                }
                count++;
                if(success==list.size()) {
                   break;
                }
                Calendar cl = Calendar.getInstance();
                long moment_time = cl.getTimeInMillis();
                time=moment_time-now_time;
             }while(time<=5*1000);
             model.setData(list);
             model.setCode(1);
             model.setSum(success);
             model.setMsg("修改成功!");
        }else{
           model.setCode(0);
           model.setMsg("查询失败!");
        }
        return model;
     }
  //批量读取系统参数
     public ServiceModel readPL(Object obj) {
        boolean bl=((Fbs9100_sysparamImpl)dao).readPL(obj);
        if(bl) {
           List<Fbs9100_sysparam> list=(List<Fbs9100_sysparam>) obj;
             Calendar c = Calendar.getInstance();
             //现在的时间(单位:毫秒)
             long now_time = c.getTimeInMillis();
             long time=0;
             int success=0;
             do {
                for (int i = 0; i < list.size(); i++) {
                   Fbs9100_sysparam fs=new Fbs9100_sysparam();
                   fs=list.get(i);
                   if(fs.getNum()==0) {//前台传参设置
                      boolean b=((Fbs9100_sysparamImpl)dao).getCmdAck(fs.getOp_cmd(), fs.getDev_id());
                      if(b) {
                         success+=1;
                         list.get(i).setNum(1);
                         List listbatt=dao.serchByCondition(fs);
                         list.get(i).setObj(listbatt);
                      }
                   }
                }
                if(success==list.size()) {
                   break;
                }
                Calendar cl = Calendar.getInstance();
                long moment_time = cl.getTimeInMillis();
                time=moment_time-now_time;
             }while(time<=5*1000);
             model.setData(list);
             model.setCode(1);
             model.setSum(success);
             model.setMsg("读取成功!");
          }else {
             model.setCode(0);
             model.setMsg("读取失败!");
          }
          return model;
     }
     public static void main(String[] args) {
      Fbs9100_sysparamService fs=new Fbs9100_sysparamService();
      Fbs9100_sysparam sys=new Fbs9100_sysparam();
      sys.setDev_id(910000001);
      /*sys.setDev_id(910000001);
      ServiceModel model=fs.serchByCondition(sys);
      System.out.println(model);
      System.out.println(model);*/
      BattInf binf=new BattInf();
      binf.setNum(2);
      binf.setStationName("百色");
      //binf.setGroupIndexInFBSDevice(100);
      binf.setMonVolStd(12f);
      ServiceModel model=fs.serchBattinfAndParam(binf);
      List list=(List)model.getData();
      for (int i = 0; i < list.size(); i++) {
         System.out.println(((BattInf)list.get(i)));
      }
   }
}