private DataTable GetData_CarReport_BJTJ_Cache(Hashtable ht, string key) { ColligateQueryService c = new ColligateQueryService(); DataTable dt = new DataTable(); DataTable ysdl_dt = new DataTable(); DataTable yscc_dt = new DataTable(); UserInfo user = new UserInfo(); user = (UserInfo)System.Web.HttpContext.Current.Session["LoginUser"]; string cacheArgsName = "Cur_UserArgs_" + user.UserLname + "_" + key + "_GetBJTJData"; string cacheDataName = "Cur_User_" + user.UserLname + "_" + key + "_GetBJTJData"; bool loadFlag = false; if (System.Web.HttpContext.Current.Session[cacheArgsName] != null) { Hashtable _tmpHt = (Hashtable)System.Web.HttpContext.Current.Session[cacheArgsName]; if (HashtableEquals(ht, _tmpHt)) { //查询条件相同,取缓存 if (System.Web.HttpContext.Current.Session[cacheDataName] != null) { dt = (DataTable)System.Web.HttpContext.Current.Session[cacheDataName]; } else { loadFlag = true; } } else { //重新加载 loadFlag = true; } } else { //不存在,重新加载 loadFlag = true; } if (loadFlag) { dt = _iCarReportDao.GetCarReport_BJTJViewPage(ht); System.Web.HttpContext.Current.Session[cacheArgsName] = ht; System.Web.HttpContext.Current.Session[cacheDataName] = dt; } return(dt); }
public void UpdateState() { ColligateQueryService c = new ColligateQueryService(); string sql1 = "UPDATE CAR_INFO A SET A.CAR_DEPTCODE=(SELECT B.BUSINESSDIVISIONCODE FROM dept_info B WHERE A.BUSINESSDIVISIONID = B.BUSINESSDIVISIONID) WHERE EXISTS(SELECT 1 FROM dept_info C WHERE C.BUSINESSDIVISIONID=A.BUSINESSDIVISIONID)"; //int num1 = c.UpdateQuery("ColligateQuery.ProteanUpdate", sql1); string sql2 = "UPDATE User_info A SET A.user_deptcode=(SELECT B.BUSINESSDIVISIONCODE FROM dept_info B WHERE A.Enter_id = B.BUSINESSDIVISIONID) WHERE EXISTS(SELECT 1 FROM dept_info C WHERE C.BUSINESSDIVISIONID=A.Enter_id)"; //int num2 = c.UpdateQuery("ColligateQuery.ProteanUpdate", sql2); string sql3 = "UPDATE terminal_info A SET A.ter_deptcode=(SELECT B.BUSINESSDIVISIONCODE FROM dept_info B WHERE A.dept_id = B.BUSINESSDIVISIONID) WHERE EXISTS(SELECT 1 FROM dept_info C WHERE C.BUSINESSDIVISIONID=A.dept_id)"; //int num3 = c.UpdateQuery("ColligateQuery.ProteanUpdate", sql3); //string sql4 = "UPDATE terminal_info A SET A.ter_carno=(SELECT B.car_no FROM car_info B WHERE A.car_id = B.CAR_ID) WHERE EXISTS(SELECT 1 FROM car_info C WHERE C.car_id=A.car_id)"; //int num4 = c.UpdateQuery("ColligateQuery.ProteanUpdate", sql4); string sqlsum = "begin " + sql1 + ";" + sql2 + ";" + sql3 + ";" + " commit; end;"; int num0 = c.UpdateQuery("ColligateQuery.ProteanUpdate", sqlsum); }
public void GetYsDC(Hashtable ht) { DataTable ysdl_dt = new DataTable(); DataTable yscc_dt = new DataTable(); DataTable ccdt = _iCarReportDao.GetCarReport_BJTJViewPage(ht); //拆除设备表 ColligateQueryService c = new ColligateQueryService(); if (ccdt != null && ccdt.Rows.Count > 0) { ysdl_dt = ccdt.Clone(); yscc_dt = ccdt.Clone(); foreach (DataRow dr in ccdt.Rows) { if (dr["ter_typeid"].ToString() == "0" || dr["ter_typeid"].ToString() == "1") { DateTime rtime = DateTime.Parse(dr["rtime"].ToString()); DateTime ctime = DateTime.Now.AddDays(-5); if (rtime > ctime) { int flag = 1; //默认为疑似拆除 while (rtime > ctime) { string Stime = rtime.ToString("yyyy-MM-dd") + " 00:00:00"; string Etime = rtime.ToString("yyyy-MM-dd") + " 23:59:59"; string sql = "select latitude,longitude from historical_data where rtime between to_date('" + Stime + "','yyyy-MM-dd hh24:mi:ss') and to_date('" + Etime + "','yyyy-MM-dd hh24:mi:ss')"; System.Data.DataSet ds = c.GetColligateQuery("ColligateQuery.ProteanQuery", sql); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { double dwLongs = double.Parse(ds.Tables[0].Rows[0]["longitude"].ToString()); double dwLats = double.Parse(ds.Tables[0].Rows[0]["latitude"].ToString()); double dwLonge = double.Parse(ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["longitude"].ToString()); double dwLate = double.Parse(ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["latitude"].ToString()); double lengthse = this.GetDistance(dwLongs, dwLats, dwLonge, dwLate); if (lengthse > 2000) { flag = 2; break; } else { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i + 1 < ds.Tables[0].Rows.Count) { double dwLong1 = double.Parse(ds.Tables[0].Rows[i]["longitude"].ToString()); double dwLat1 = double.Parse(ds.Tables[0].Rows[i]["latitude"].ToString()); double dwLong2 = double.Parse(ds.Tables[0].Rows[i + 1]["longitude"].ToString()); double dwLat2 = double.Parse(ds.Tables[0].Rows[i + 1]["latitude"].ToString()); double length = this.GetDistance(dwLong1, dwLat1, dwLong2, dwLat2); if (length > 2000) { flag = 2; break; } } } if (flag == 2) { break; } } } rtime = rtime.AddDays(-1); } if (flag == 1) { DataRow newdr = yscc_dt.NewRow(); foreach (DataColumn column in ccdt.Columns) { newdr[column.ColumnName] = dr[column.ColumnName]; } yscc_dt.Rows.Add(newdr); } else { DataRow newdr = ysdl_dt.NewRow(); foreach (DataColumn column in ccdt.Columns) { newdr[column.ColumnName] = dr[column.ColumnName]; } ysdl_dt.Rows.Add(newdr); } } else { DataRow newdr = yscc_dt.NewRow(); foreach (DataColumn column in ccdt.Columns) { newdr[column.ColumnName] = dr[column.ColumnName]; } yscc_dt.Rows.Add(newdr); } } } } }