| | |
| | | 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.Bts_gprs_stateImpl;
|
| | | import com.fgkj.dao.impl.ram.Fbs9100_battparamImpl;
|
| | | import com.fgkj.dao.impl.ram.Fbs9100_sysparamImpl;
|
| | | import com.fgkj.dto.BattInf;
|
| | | 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;
|
| | |
| | |
|
| | | return model;
|
| | | }
|
| | | //批量设置电池参数
|
| | | public ServiceModel updatePro(Object obj) {
|
| | | boolean bl=((Fbs9100_battparamImpl)dao).updatePro(obj);
|
| | | if(bl) {
|
| | | List<Fbs9100_battparam> list=(List<Fbs9100_battparam>) 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);
|
| | |
| | | }
|
| | | return model;
|
| | | }
|
| | | //批量设置电池参数时,根据省市区,电池单体型号(伏数),组数筛选出电池组并读取它的实际电池参数
|
| | | public ServiceModel serchBattinfAndParam(Object obj) {
|
| | | List<BattInf> list=(new BattInfImpl()).serchByBatt_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_battparam fs=new Fbs9100_battparam();
|
| | | fs.setDev_id(binf.getFBSDeviceId());
|
| | | fs.setOp_cmd(FBS9100_ComBase.CMD_GetBattParam);
|
| | | if(count==0) {
|
| | | fs.setDev_ip("127.0.0.0");
|
| | | fs.setSTD_CAP(1);
|
| | | fs.setSTD_RES(1);
|
| | | fs.setBattGroupCount(1);
|
| | | fs.setEachGroupBattCount(1);
|
| | | fs.setMonomerVol(1);
|
| | | fs.setGroupVol(1);
|
| | | fs.setBattTemp(1);
|
| | | fs.setFloatChargeVol(1);
|
| | | fs.setFloatChargeCurr(1);
|
| | | fs.setOnlineVolLow(1);
|
| | | fs.setGroupConnType(1);
|
| | | boolean bl=((Fbs9100_battparamImpl)dao).updatePL(fs);
|
| | | List listb=new ArrayList();
|
| | | listb.add(fs);
|
| | | list.get(i).setObj(listb);
|
| | | }
|
| | | if(binf.getNum()==0) {
|
| | | boolean b=((Fbs9100_battparamImpl)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);
|
| | | // System.out.println(list.get(i).getFBSDeviceId());
|
| | | }
|
| | | }
|
| | | }
|
| | | 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_battparamImpl)dao).readPL(obj);
|
| | | if(bl) {
|
| | | List<Fbs9100_battparam> list=(List<Fbs9100_battparam>) 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);
|
| | | 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_battparamService service=new Fbs9100_battparamService();
|
| | | BattInf binf=new BattInf();
|
| | | binf.setNum(2);
|
| | | binf.setStationName("百色");
|
| | | binf.setGroupIndexInFBSDevice(100);
|
| | | binf.setMonVolStd(2f);
|
| | | ServiceModel model=service.serchBattinfAndParam(binf);
|
| | | List list=(List)model.getData();
|
| | | for (int i = 0; i < list.size(); i++) {
|
| | | System.out.println(((BattInf)list.get(i)).getObj());
|
| | | }
|
| | | }
|
| | | }
|