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 { private BaseDAO dao; private ServiceModel model; public Fbs9100_sysparamService() { super(); dao=BaseDAOFactory.getBaseDAO(BaseDAO.FBS9100_SYSPARAM); model=new ServiceModel(); } //修改系统参数 public ServiceModel update(Object obj) { Fbs9100_sysparam fbs_sys=(Fbs9100_sysparam) obj; boolean bl=false; if(fbs_sys.getNum()==FBS9100_ComBase.CMD_ResetSystem){//重启 bl=(new Fbs9100_setparamImpl()).sendCmdToFBS9100Dev(fbs_sys.getNum(),0, fbs_sys.getDev_id()); if(bl){ model.setCode(1); model.setMsg("重启成功!"); }else{ model.setCode(0); model.setMsg("重启失败!"); } }else{ Boolean b=dao.update(obj); if(b){ bl=((Fbs9100_sysparamImpl)dao).sendCmdToFBS9100Dev(fbs_sys.getNum(), fbs_sys.getDev_id()); if(bl){ model.setCode(1); model.setMsg("修改成功!"); }else{ model.setCode(0); model.setMsg("设置9100参数失败,请检查网络!"); } }else{ model.setCode(0); model.setMsg("修改失败!"); } } return model; } //根据设备id查询系统参数(一定是被管理的) public ServiceModel serchByCondition(Object obj){ Fbs9100_sysparam sys=(Fbs9100_sysparam) obj; boolean bl=((Fbs9100_sysparamImpl)dao).replace(obj); boolean b=((Fbs9100_sysparamImpl)dao).sendCmdToFBS9100Dev(FBS9100_ComBase.CMD_GetSYSSetParam, sys.getDev_id()); if(b){ List list = dao.serchByCondition(obj); if(list!=null && list.size()>0){ model.setCode(1); model.setData(list); model.setMsg("查询成功!"); }else{ model.setCode(0); model.setMsg("查询失败!"); } }else{ model.setCode(0); model.setMsg("查询失败!"); } return model; } //批量设置系统参数 public ServiceModel updatePro(Object obj) { boolean bl=((Fbs9100_sysparamImpl)dao).updatePro(obj); if(bl) { List list=(List) 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 list=(List) 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 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 static void main(String[] args) { Fbs9100_sysparamService fs=new Fbs9100_sysparamService(); Fbs9100_sysparam sys=new Fbs9100_sysparam(); /*sys.setDev_id(910000001); ServiceModel model=fs.serchByCondition(sys); 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))); } } }