From 5050f80e7c9582972ca06f905da01b0ca6d9a651 Mon Sep 17 00:00:00 2001
From: hdw <496960745@qq.com>
Date: 星期一, 05 十一月 2018 16:11:47 +0800
Subject: [PATCH] Merge branch 'dev_lxw' of https://whychdw@gitlab.com/whyclxw1/gx_tieta.git into dev_lxw

---
 gx_tieta/src/com/fgkj/dao/BaseDAO.java                        |    2 
 gx_tieta/src/com/fgkj/dao/impl/ram/Bts_gprs_stateImpl.java    |  130 +++++++++++++++++++++
 gx_tieta/src/com/fgkj/actions/ram/Bts_gprs_stateAction.java   |   49 ++++++++
 gx_tieta/src/com/fgkj/dto/ram/Bts_gprs_state.java             |   73 ++++++++++++
 gx_tieta/src/com/fgkj/dao/FBS9100_ComBase.java                |    6 +
 gx_tieta/src/com/fgkj/services/ram/Bts_gprs_stateService.java |   48 ++++++++
 gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java                 |    2 
 7 files changed, 310 insertions(+), 0 deletions(-)

diff --git a/gx_tieta/src/com/fgkj/actions/ram/Bts_gprs_stateAction.java b/gx_tieta/src/com/fgkj/actions/ram/Bts_gprs_stateAction.java
new file mode 100644
index 0000000..cd3b042
--- /dev/null
+++ b/gx_tieta/src/com/fgkj/actions/ram/Bts_gprs_stateAction.java
@@ -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;
+	}
+	
+	
+
+}
diff --git a/gx_tieta/src/com/fgkj/dao/BaseDAO.java b/gx_tieta/src/com/fgkj/dao/BaseDAO.java
index 7f82ecf..3b1c83f 100644
--- a/gx_tieta/src/com/fgkj/dao/BaseDAO.java
+++ b/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); // 鏇存柊
diff --git a/gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java b/gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java
index 2c7b294..6cdd1ce 100644
--- a/gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java
+++ b/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;
 		}
 	}
diff --git a/gx_tieta/src/com/fgkj/dao/FBS9100_ComBase.java b/gx_tieta/src/com/fgkj/dao/FBS9100_ComBase.java
index af23bca..3e01ff1 100644
--- a/gx_tieta/src/com/fgkj/dao/FBS9100_ComBase.java
+++ b/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璁惧宸ヤ綔鐘舵�佸搴斿叧绯粀orkstate
 	final public static  int DEV_ONLINE_CHARGE=0;  //鍦ㄧ嚎娴厖
 	final public static  int DEV_PRE_CHARGE=1;     //棰勫厖鐢�
diff --git a/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_gprs_stateImpl.java b/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_gprs_stateImpl.java
new file mode 100644
index 0000000..76ba829
--- /dev/null
+++ b/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_gprs_stateImpl.java
@@ -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鍜宎ck鏍¢獙	
+	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;
+	}
+
+}
diff --git a/gx_tieta/src/com/fgkj/dto/ram/Bts_gprs_state.java b/gx_tieta/src/com/fgkj/dto/ram/Bts_gprs_state.java
new file mode 100644
index 0000000..193283a
--- /dev/null
+++ b/gx_tieta/src/com/fgkj/dto/ram/Bts_gprs_state.java
@@ -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 + "]";
+	}
+    
+    
+
+}
diff --git a/gx_tieta/src/com/fgkj/services/ram/Bts_gprs_stateService.java b/gx_tieta/src/com/fgkj/services/ram/Bts_gprs_stateService.java
new file mode 100644
index 0000000..fe544eb
--- /dev/null
+++ b/gx_tieta/src/com/fgkj/services/ram/Bts_gprs_stateService.java
@@ -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;
+	} 
+	
+}

--
Gitblit v1.9.1