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.Batt_rtdataDAOImpl; import com.fgkj.dao.impl.ram.Fbs9100_setparamImpl; import com.fgkj.dao.impl.ram.Fbs9100_stateImpl; import com.fgkj.dto.BattInf; import com.fgkj.dto.Batt_rtdata; import com.fgkj.dto.ServiceModel; import com.fgkj.dto.ram.Fbs9100_setparam; public class Fbs9100_setparamService { private ServiceModel model; private BaseDAO dao; public Fbs9100_setparamService() { model=new ServiceModel(); dao=BaseDAOFactory.getBaseDAO(BaseDAO.FBS9100_SETPARAM); } //将需要放电的数据添加(或修改)放电参数表中 public ServiceModel addORupdate(Object obj) { Fbs9100_setparam fsparam = (Fbs9100_setparam)obj; //判断机房实时数据中该机房有没有连接到服务器 int flag=(new Fbs9100_stateImpl()).judgeSatationInState(fsparam.getDev_id()); if(flag==1){ //判断该机房是不是以前有过记录 Boolean bl=false; int addORupdate=(new Fbs9100_setparamImpl()).judgeSatationInParam(fsparam.getDev_id()); if(addORupdate==0){ bl=dao.add(obj); }else{ bl=dao.update(obj); } if(bl){ model.setCode(1); model.setMsg("添加成功!"); }else{ model.setCode(0); model.setMsg("设置9100参数失败,请检查网络!"); } }else{ model.setCode(0); model.setMsg("设置9100参数失败,请检查网络!"); } //System.out.println(model); return model; } public ServiceModel delete(Object obj) { Boolean bl=dao.del(obj); if(bl){ model.setCode(1); model.setMsg("删除成功!"); } else{ model.setMsg("删除失败!"); } return model; } //弹出框的确定操作 public ServiceModel update(Object obj) { Fbs9100_setparam fsparam=(Fbs9100_setparam) obj; Boolean b=dao.update(obj); if(b){ boolean bl=((Fbs9100_setparamImpl)dao).sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(), fsparam.getDev_id()); if(bl){ model.setCode(1); model.setMsg("修改成功!"); }else{ model.setCode(0); model.setMsg("设置9100参数失败,请检查网络!"); } }else{ model.setCode(0); model.setMsg("修改失败!"); } return model; } //批量设置放电参数 public ServiceModel updatePro(Object obj) { boolean bl=((Fbs9100_setparamImpl)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_setparam fs=new Fbs9100_setparam(); fs=list.get(i); if(fs.getNum()==0) {//前台传参设置 boolean b=((Fbs9100_setparamImpl)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 updatePro_dis(Object obj) { boolean bl=((Fbs9100_setparamImpl)dao).updatePro_dis(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_setparam fs=new Fbs9100_setparam(); fs=list.get(i); if(fs.getNum()==0) {//前台传参设置 boolean b=((Fbs9100_setparamImpl)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; } //点击弹出框的设定按钮,修改ld6测试参数 public ServiceModel updateld6Param(Object obj){ Fbs9100_setparam fsparam=(Fbs9100_setparam) obj; Boolean b=((Fbs9100_setparamImpl)dao).updateld6Param(obj); if(b){ boolean bl=((Fbs9100_setparamImpl)dao).sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(),fsparam.getDev_id()); if(bl){ model.setCode(1); model.setMsg("修改成功!"); }else{ model.setCode(0); model.setMsg("设置ld6参数失败,请检查网络!"); } }else{ model.setCode(0); model.setMsg("修改失败!"); } return model; } //点击弹出框的设定按钮,修改61850测试参数 public ServiceModel update61850Param(Object obj){ Fbs9100_setparam fsparam=(Fbs9100_setparam) obj; Boolean b=((Fbs9100_setparamImpl)dao).update61850Param(obj); if(b){ boolean bl=((Fbs9100_setparamImpl)dao).sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(),fsparam.getDev_id()); if(bl){ model.setCode(1); model.setMsg("修改成功!"); }else{ model.setCode(0); model.setMsg("设置61850参数失败,请检查网络!"); } }else{ model.setCode(0); model.setMsg("修改失败!"); } return model; } //右键查看参数和弹出框的刷新按钮 public ServiceModel serchbyDev_id(Object obj) { Fbs9100_setparam fsparam=(Fbs9100_setparam) obj; boolean bl=((Fbs9100_setparamImpl)dao).sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(),fsparam.getDev_id()); //System.out.println(fsparam.getDev_id()+" "+bl); List list=((Fbs9100_setparamImpl)dao).serchbyDev_id(obj); if(bl){ model.setCode(1); model.setData(list); model.setMsg("查询成功!"); }else{ model.setCode(0); model.setData(list); model.setMsg("设置9100参数失败,请检查网络!"); } //System.out.println(model.getData()); return model; } //根据机房编号和维护区查询放电机房的信息和放电参数 public ServiceModel serchByCondition(Object obj){ BattInf binf=(BattInf) obj; int dev_id=(new BattInfImpl()).serchDev_id(binf); boolean bl=((Fbs9100_setparamImpl)dao).sendCmdToFBS9100Dev(binf.getNum(),FBS9100_ComBase.CMD_TESTCMD_NULL, dev_id); List list=dao.serchByCondition(obj); if(bl){ model.setCode(1); model.setData(list); model.setMsg("查询成功!"); }else{ model.setCode(0); model.setData(list); model.setMsg("查询失败!"); } return model; } //实时刷新放电表格的电池组状态(集合) public ServiceModel serchByInfo(Object obj){ List list=dao.serchByInfo(obj); if(list!=null && list.size()>0){ model.setCode(1); model.setData(list); model.setMsg("查询成功!"); }else{ model.setCode(0); model.setMsg("查询失败!"); } //System.out.println(model); return model; } //根据电池组id查询电池组内前五的内阻数据 public ServiceModel serchByThirdBatt(Object obj){ List list=(new Batt_rtdataDAOImpl()).serchByThirdBatt(obj); if(list!=null&&list.size()>0){ model.setCode(1); model.setData(list); model.setMsg("查询成功!"); }else{ model.setCode(0); model.setMsg("查询失败!"); } return model; } public static void main(String[] args) { Fbs9100_setparamService fs = new Fbs9100_setparamService(); //fs.searchAll(); Fbs9100_setparam f=new Fbs9100_setparam(); f.setNum(41); f.setDev_id(910000024); ServiceModel model=fs.serchbyDev_id(f); System.out.println(model); /*Calendar c = Calendar.getInstance(); long now_time = c.getTimeInMillis(); System.out.println("now_time:"+now_time); try { Thread.sleep(10*1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Calendar cl = Calendar.getInstance(); long moment_time = cl.getTimeInMillis(); System.out.println("moment_time:"+moment_time); System.err.println((moment_time-now_time));*/ } }