package com.fgkj.services.ram; 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.Bts_gprs_stateImpl; import com.fgkj.dao.impl.ram.Fbs9100_battparamImpl; import com.fgkj.dao.impl.ram.Fbs9100_sysparamImpl; import com.fgkj.dto.ServiceModel; import com.fgkj.dto.ram.Bts_gprs_state; import com.fgkj.dto.ram.Fbs9100_battparam; import com.fgkj.dto.ram.Fbs9100_sysparam; public class Fbs9100_battparamService { private BaseDAO dao; private ServiceModel model; public Fbs9100_battparamService() { super(); dao=BaseDAOFactory.getBaseDAO(BaseDAO.FBS9100_BATTPARAM); model=new ServiceModel(); } //获取电池参数信息 public ServiceModel update(Object obj) { Fbs9100_battparam bparam=(Fbs9100_battparam) obj; boolean b=dao.update(bparam); if(b){ boolean bl=((Fbs9100_battparamImpl)dao).sendCmdToBattparam(bparam.getNum(), bparam.getDev_id()); if(bl){ model.setCode(1); model.setMsg("修改电池参数成功!"); }else{ model.setCode(0); model.setMsg("修改电池参数失败,请检查网络!"); } }else{ model.setCode(0); model.setMsg("修改电池参数失败,请检查网络!"); } return model; } //批量设置电池参数 public ServiceModel updatePro(Object obj) { boolean bl=((Fbs9100_battparamImpl)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_battparam fs=new Fbs9100_battparam(); fs=list.get(i); if(fs.getNum()==0) {//前台传参设置 boolean b=((Fbs9100_battparamImpl)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; } //根据设备id查询电池参数信息 public ServiceModel serchByCondition(Object obj) { 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("查询失败!"); } return model; } //批量设置电池参数时,根据省市区,电池单体型号(伏数),组数筛选出电池组并读取它的实际电池参数 public ServiceModel serchBattinfAndParam(Object obj) { List list=(new BattInfImpl()).serchByDischarge(obj); return model; } }