81041
2019-01-05 1391e967303665d1629b84f7369d46f031997092
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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<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);
        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);
        if(list!=null&&list.size()>0) {
            for (int i = 0; i < list.size(); i++) {
                
            }
        }
        return model;
    }
    
}