81041
2018-11-05 d76a73d414c27842d1a6669e2511d9e7ee0e285a
获取gprs模块的信号
4个文件已添加
3个文件已修改
310 ■■■■■ 已修改文件
gx_tieta/src/com/fgkj/actions/ram/Bts_gprs_stateAction.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/BaseDAO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/FBS9100_ComBase.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/impl/ram/Bts_gprs_stateImpl.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dto/ram/Bts_gprs_state.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/services/ram/Bts_gprs_stateService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/actions/ram/Bts_gprs_stateAction.java
New file
@@ -0,0 +1,49 @@
package com.fgkj.actions.ram;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.FBS9100_ComBase;
import com.fgkj.dao.UinfDaoFactory;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.User_log;
import com.fgkj.dto.ram.Bts_gprs_state;
import com.fgkj.services.User_logService;
import com.fgkj.services.ram.Bts_gprs_stateService;
public class Bts_gprs_stateAction extends ActionUtil{
    private Bts_gprs_stateService service=new Bts_gprs_stateService();
    private User_logService uservice=new User_logService();
    private String json;
    private String result;
    //修改系统参数
    public String update() {
        Bts_gprs_state gprs = getGson().fromJson(json, Bts_gprs_state.class);
        ServiceModel model = service.update(gprs);
        {   String msg="";
            if(gprs.getNum()==FBS9100_ComBase.CMD_ReadGPRSCSQ){
                 msg="获取"+gprs.getDev_id()+"的设备系统参数";
            }
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = tojson(model);
        return SUCCESS;
    }
    //根据设备id查询系统参数(一定是被管理的)
    public String serchByCondition(){
        Bts_gprs_state gprs = getGson().fromJson(json, Bts_gprs_state.class);
        ServiceModel model = service.serchByCondition(gprs);
        result = tojson(model);
        return SUCCESS;
    }
    public String getResult() {
        return result;
    }
    public void setJson(String json) {
        this.json = json;
    }
}
gx_tieta/src/com/fgkj/dao/BaseDAO.java
@@ -196,6 +196,8 @@
    
    public static final int  FBS9100_SYSPARAM=96;
    
    public static final int  BTS_GPRS_STATE=97;
    public boolean add(Object obj); // 添加
    public boolean update(Object obj); // 更新
gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java
@@ -81,6 +81,7 @@
import com.fgkj.dao.impl.Ld9.Ld9testdatastopImpl;
import com.fgkj.dao.impl.bts61850.BTS_61850_setparamImpl;
import com.fgkj.dao.impl.bts61850.BTS_61850_stateImpl;
import com.fgkj.dao.impl.ram.Bts_gprs_stateImpl;
import com.fgkj.dao.impl.ram.Bts_station_stateImpl;
import com.fgkj.dao.impl.ram.Fbs9100_setparamImpl;
import com.fgkj.dao.impl.ram.Fbs9100_stateImpl;
@@ -202,6 +203,7 @@
            case 94:return new Deverror_recordImpl();
            case 95:return new  StationtrafficImpl();
            case 96:return new  Fbs9100_sysparamImpl();
            case 97:return new  Bts_gprs_stateImpl();
            default :return null;
        }
    }
gx_tieta/src/com/fgkj/dao/FBS9100_ComBase.java
@@ -37,6 +37,12 @@
    public static final int     CMD_ResetSystemAck                =     0x0F;//15
    public static final int     CMD_ResetSystem                    =     0x10;//重启16
    
    //读取GPRS模块的信号质量
    public static final int     CMD_ReadGPRSCSQ                 =   0x91;
    public static final int     CMD_ReadGPRSCSQAck                 =   0x92;
    //6185设备工作状态对应关系workstate
    final public static  int DEV_ONLINE_CHARGE=0;  //在线浮充
    final public static  int DEV_PRE_CHARGE=1;     //预充电
gx_tieta/src/com/fgkj/dao/impl/ram/Bts_gprs_stateImpl.java
New file
@@ -0,0 +1,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,record_datetime,scq_val" +
                " ,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.setRecord_datetime(rs.getTimestamp("record_datetime"));
                        g.setScq_val(rs.getString("scq_val"));
                        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;
    }
}
gx_tieta/src/com/fgkj/dto/ram/Bts_gprs_state.java
New file
@@ -0,0 +1,73 @@
package com.fgkj.dto.ram;
import java.io.Serializable;
import java.util.Date;
public class Bts_gprs_state implements Serializable{
    private int num;
    private int dev_id;
    private int op_cmd;
    private Date record_datetime;
    private String scq_val;
    private String note;
    private String stationName;
    private String FBSDeviceName;
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    public int getDev_id() {
        return dev_id;
    }
    public void setDev_id(int dev_id) {
        this.dev_id = dev_id;
    }
    public int getOp_cmd() {
        return op_cmd;
    }
    public void setOp_cmd(int op_cmd) {
        this.op_cmd = op_cmd;
    }
    public Date getRecord_datetime() {
        return record_datetime;
    }
    public void setRecord_datetime(Date record_datetime) {
        this.record_datetime = record_datetime;
    }
    public String getScq_val() {
        return scq_val;
    }
    public void setScq_val(String scq_val) {
        this.scq_val = scq_val;
    }
    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }
    public String getStationName() {
        return stationName;
    }
    public void setStationName(String stationName) {
        this.stationName = stationName;
    }
    public String getFBSDeviceName() {
        return FBSDeviceName;
    }
    public void setFBSDeviceName(String fBSDeviceName) {
        FBSDeviceName = fBSDeviceName;
    }
    @Override
    public String toString() {
        return "Bts_gprs_state [num=" + num + ", dev_id=" + dev_id
                + ", op_cmd=" + op_cmd + ", record_datetime=" + record_datetime
                + ", scq_val=" + scq_val + ", note=" + note + ", stationName="
                + stationName + ", FBSDeviceName=" + FBSDeviceName + "]";
    }
}
gx_tieta/src/com/fgkj/services/ram/Bts_gprs_stateService.java
New file
@@ -0,0 +1,48 @@
package com.fgkj.services.ram;
import java.util.List;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BaseDAOFactory;
import com.fgkj.dao.impl.ram.Bts_gprs_stateImpl;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.ram.Bts_gprs_state;
public class Bts_gprs_stateService {
    private BaseDAO dao;
    private ServiceModel model;
    public Bts_gprs_stateService() {
        super();
        dao=BaseDAOFactory.getBaseDAO(BaseDAO.BTS_GPRS_STATE);
        model=new ServiceModel();
    }
    //修改系统参数
    public ServiceModel update(Object obj) {
        Bts_gprs_state gprs=(Bts_gprs_state) obj;
        boolean bl=((Bts_gprs_stateImpl)dao).sendCmdToFBS9100Dev(gprs.getNum(), gprs.getDev_id());
        if(bl){
            model.setCode(1);
            model.setMsg("获取GPRS信号成功!");
        }else{
            model.setCode(0);
            model.setMsg("获取GPRS信号失败,请检查网络!");
        }
        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;
    }
}