81041
2018-11-05 80582135ea584069a7a81587c69458cb864672f0
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
128
129
130
package com.fgkj.dao.impl.ram;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.CallBack;
import com.fgkj.dao.DAOHelper;
import com.fgkj.dao.FBS9100_ComBase;
import com.fgkj.db.DBUtil;
import com.fgkj.dto.ram.Bts_gprs_state;
 
public class Bts_gprs_stateImpl implements BaseDAO,CallBack{
 
    public List getResults(ResultSet rs) {
        // TODO Auto-generated method stub
        return null;
    }
 
    public boolean add(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
    public boolean update(Object obj) {
        return false;
    }
 
    public boolean del(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
 
    public List searchAll() {
        // TODO Auto-generated method stub
        return null;
    }
    //根据设备id读取的设备连接的gprs模块的信号值
    public List serchByCondition(Object obj) {
        Bts_gprs_state gprs=(Bts_gprs_state) obj;
        String sql=" select distinct db_ram_db.tb_bts_gprs_state.num,dev_id,op_cmd,AT_cmd,ack_inf" +
                " ,stationName,FBSDeviceName " +
                " from db_ram_db.tb_bts_gprs_state,db_battinf.tb_battinf " +
                " where db_ram_db.tb_bts_gprs_state.dev_id=db_battinf.tb_battinf.FBSDeviceId " +
                " and dev_id=? " +
                " order by record_datetime desc";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{gprs.getDev_id()}, new CallBack() {
            
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        Bts_gprs_state g=new Bts_gprs_state();
                        g.setNum(rs.getInt("num"));
                        g.setDev_id(rs.getInt("dev_id"));
                        g.setOp_cmd(rs.getInt("op_cmd"));
                        g.setAT_cmd(rs.getString("aT_cmd"));
                        g.setAck_inf(rs.getString("ack_inf"));
                        g.setStationName(rs.getString("stationName"));
                        g.setFBSDeviceName(rs.getString("fBSDeviceName"));
                        list.add(g);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //系统参数命令操作设备时的cmd和ack校验    
    public boolean sendCmdToFBS9100Dev(int cmd,int dev_id)
    { 
        int m_cmd = cmd;
        int m_cmd_ack = cmd;
        switch(m_cmd) {
            case FBS9100_ComBase.CMD_ReadGPRSCSQ: m_cmd_ack = FBS9100_ComBase.CMD_ReadGPRSCSQAck; break;
            default: return false;
        }
        boolean res_exe = false;
        String sql = "UPDATE db_ram_db.tb_bts_gprs_state  SET "
                        + " op_cmd=? " 
                        + " WHERE dev_id=? ";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{m_cmd,dev_id});
        if(true == bl)
        {
            sql = "SELECT op_cmd FROM db_ram_db.tb_bts_gprs_state "+
                        " WHERE dev_id="+dev_id;
            Connection conn=DBUtil.getConn();
            PreparedStatement ps = null;
            ResultSet rs = null;
            for(int n=0; n<20; n++)
            {
              try {
                    ps = conn.prepareStatement(sql);
                    rs=ps.executeQuery();
                        if(rs.next())
                        {
                            if(rs.getInt("op_cmd") == m_cmd_ack)
                            {
                                res_exe = true;
                                break;
                            }
                        }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
              
                try {
                    Thread.sleep(250);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            DBUtil.close(rs, ps, conn);
        }
        return res_exe;
    }
    public List serchByInfo(Object obj) {
        // TODO Auto-generated method stub
        return null;
    }
 
}