Exemple #1
0
        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);
        }
Exemple #3
0
        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);
                        }
                    }
                }
            }
        }