hdw
2019-01-04 2f967bc373b23a48ff986a965155361a70bd2eb0
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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.ram.Fbs9100_setparamImpl;
import com.fgkj.dao.impl.ram.Fbs9100_sysparamImpl;
import com.fgkj.dto.ServiceModel;
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<Fbs9100_sysparam> list=(List<Fbs9100_sysparam>) 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 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);
    }
}