package cn.com.wavenet.shslc.action.util.Listener;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
*
* @ClassName: TimerSystemDateUpdate
* @Description: TODO(系统图表需要的接口数据缓存)
* @author zhangy
* @date 2017年12月11日
*
*/
public class TimerSystemDateUpdate implements ServletContextListener {
private Timer timer = null;
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
timer.cancel();
arg0.getServletContext().log("定时器销毁");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
timer = new java.util.Timer(true);
arg0.getServletContext().log("定时器已启动-系统图表数据");
timer.schedule(new ConvertSystemDataUpdate(),0,24*60*60*1000);
arg0.getServletContext().log ("已经添加任务调度表");
}
}
package cn.com.wavenet.shslc.action.util.Listener;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.TimerTask;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import cn.com.wavenet.frame.core.dao.DataManager;
import cn.com.wavenet.frame.core.dao.DataObject;
import cn.com.wavenet.hydro.util.GlobalFunc;
import cn.com.wavenet.hydro.util.GlobalParam;
/**
*
* @ClassName: ConvertSystemDataUpdate
* @Description: TODO(系统图表需要的接口数据缓存)
* @author zhangy
* @date 2017年12月11日
*
*/
public class ConvertSystemDataUpdate extends TimerTask {
private int diff;
@Override
public void run() {
Connection conn = null;
try {
conn = DataManager.getConnection();
DataManager dm = DataManager.getInstance(conn);
getNJDInfo(dm);
} catch (SQLException e1) {
e1.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
/**
* @param dm
*/
private void getNJDInfo(DataManager dm) {
String sql="select count(*)count from T_HY_RIVER_III t";
DataObject dbo=new DataObject();
try {
dbo=dm.findByPrimaryKey(sql, null);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String count=dbo.getString("COUNT");
JSONObject jso_count = new JSONObject();
jso_count.put("title", "全市共有河道");
jso_count.put("total", count);
sql="select count(*)count,st_manage from T_HY_RIVER_III t group by st_manage";
JSONArray jsonarr_type = new JSONArray();
try {
Collection<DataObject> col=dm.find(sql, null);
for(DataObject db2:col){
JSONObject jso_count2 = new JSONObject();
String count2= db2.getString("COUNT");
String ST_MANAGE= db2.getString("ST_MANAGE");
jso_count2.put("title", ST_MANAGE);
jso_count2.put("count", count2);
jsonarr_type.add(jso_count2);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//数据汇总
GlobalParam.RIVERINFON.put("main", jso_count);
GlobalParam.RIVERINFON.put("detailed", jsonarr_type);
String result=GlobalParam.RIVERINFON.toString();
}
}