コード例 #1
0
        public static int refreshMsgLog()
        {
            if (CServerWrapper.isConnected)
            {
                DataTable dt = CServerWrapper.findMsgLog(DateTime.Now.AddHours(-24));

                if (dt == null || dt.Rows.Count == 0)
                {
                    return(0);
                }
                //DatabaseWrapper.PrintDataTable(dt);
                //if (mLogInfo.Count == 0 || mLogInfo.Count > 0 && dt.Rows[0]["CreateTime"].ToString() != mLogTime[0].ToString())
                //{
                //refreshd = true;
                mLogInfo.Clear();
                mLogTime.Clear();
                mLogX.Clear();
                mLogY.Clear();
                foreach (DataRow dr in dt.Rows)
                {
                    mLogInfo.Add(dr["Description"].ToString());
                    mLogTime.Add(Convert.ToDateTime(dr["CreateTime"]));
                }
                //}

                return(dt.Rows.Count);
            }
            return(0);
        }
コード例 #2
0
ファイル: CServerWrapper.cs プロジェクト: xuyanning/JQGis
        public static DataTable findPhotosByProjSNo(string sno)
        {
            string    sql = @"select Top 5 FileName, PhotoTime, ReferenceSerialNo, Person, Remark from PhotoInfo where ReferenceSerialNo = '" + sno + @"' order by PhotoTime desc;";
            DataTable dt  = null;

            if (isConnected)
            {
                dt = CServerWrapper.execSqlQuery(sql);
                if (dt != null)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["FileName"] = "/ProjectPhoto/" + dr["ReferenceSerialNo"].ToString().Substring(0, 3) + "/" + Convert.ToDateTime(dr["PhotoTime"].ToString()).Year + "/" + dr["FileName"].ToString().Replace("#", "%23"); // HttpUtility.UrlEncode(dr["FileName"].ToString());
                    }
                }
            }
            return(dt);
        }
コード例 #3
0
ファイル: Form2.cs プロジェクト: liangyulin/railGis
        private void button1_Click(object sender, EventArgs e)
        {
            ///////////////测试找中值函数//////////////
            //double[,] aa = new double[4, 4];
            //for (int i = 0; i < 4; i++)
            //{
            //    for (int j = 0; j < 4; j++)
            //    {
            //        aa[i, j] = i * 4 + j;
            //    }
            //}
            //Console.WriteLine(ReturnMedian(aa).ToString());
            /////////////////////////////////////////////
            CServerWrapper.ConnectToServer();

            //    string sqlstr = @"select FirmName, FirmTypeID,from (select * from FirmInfo)a, (select FirmTypeID,FirmTypeCategoryName from FirmTypeInfo)b where a.FirmTypeID=b.FirmTypeID and( FirmTypeCategoryName='单位' or FirmTypeCategoryName='分支机构');";  and Longitude > 10 AND Latitude > 10
            string sqlstr = @"select FirmName ,a.FirmTypeID, CategoryCode, SerialNo, UpdateTime, Longitude, Latitude from (select * from FirmInfo)a, (select FirmTypeID,FirmTypeCategoryName from FirmTypeInfo)b where a.FirmTypeID=b.FirmTypeID and( FirmTypeCategoryName='单位' or FirmTypeCategoryName='分支机构') and Longitude > 10 AND Latitude > 10 order by a.FirmTypeID asc ;";

            // + " where a.FirmTypeID=b.FirmTypeID and (FirmTypeCategoryName='单位' or FirmTypeCategoryName='分支机构') and Longitude > 10 AND latitude > 10 ;";
            dataGridView1.DataSource = CServerWrapper.execSqlQuery(sqlstr);
        }
コード例 #4
0
        /// <summary>
        /// 获取分项进度
        /// </summary>
        /// <returns>返回值:分项名称,分项进度 的队列</returns>
        public void initFXProgress(DataTable dt1 = null, DataTable dt2 = null)
        {
            int     fid;
            int     n           = 0;
            double  avgProgress = 0;
            string  dt;
            CFXProj fxp;

            if (dt1 != null && dt2 != null)
            {
                DataRow[] drsp = dt1.Select("ProjectID =" + mProjectID);
                foreach (DataRow dr in drsp)
                {
                    fid            = Convert.ToInt32(dr["ProjectDictID"]);
                    fxp            = new CFXProj(fid, dr["ProjectDictName"].ToString(), Convert.ToDouble(dr["DesignNum"]));
                    fxp.initAmount = Convert.ToDouble(dr["InitNum"]);
                    DataRow[] drs = dt2.Select("ProjectID =" + mProjectID + " and ProjectDictID = " + fid, "ReportDate asc");
                    if (drs.Count() == 1)    // 如果只有一条数据,无法图表显示
                    {
                        fxp.strDate.Add(
                            DateTime.ParseExact(drs[0]["ReportDate"].ToString(), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture).AddDays(-30).ToString("yyyyMMdd"));
                        fxp.doneAmount.Add(0);
                    }
                    foreach (DataRow dr2 in drs)
                    {
                        fxp.strDate.Add(dr2["ReportDate"].ToString());
                        fxp.doneAmount.Add(Convert.ToDouble(dr2["DictTotal"]));
                    }
                    if (drs.Count() > 0)
                    {
                        dt = fxp.strDate.Last();
                        if (dt.CompareTo(mUpdateTime.ToString("yyyyMMdd")) > 0)  // 数据库的工程表的updateDate字段逻辑有误
                        {
                            mUpdateTime = DateTime.ParseExact(dt, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                        }
                        avgProgress += fxp.doneAmount.Last() / fxp.TotalAmount;
                    }
                    else
                    {
                        fxp.strDate.Add(DateTime.Now.ToString("yyyyMMdd"));
                        fxp.doneAmount.Add(Convert.ToDouble(dr["InitNum"]));  // 添加初始化量,保证每个分项工程都有数据
                        avgProgress += fxp.initAmount / fxp.TotalAmount;
                    }
                    mfx.Add(fxp);
                    n++;
                }
                //createMFX(dlt1.Select("ProjectID =" + mProjectID) , dlt2.Select("ProjectID =" + mProjectID, "ReportDate asc"));
            }
            else if (CServerWrapper.isConnected)
            {
                DataSet ds = CServerWrapper.findProjHistory(mSerialNo);
                dt1 = ds.Tables[0];
                dt2 = ds.Tables[1];
                foreach (DataRow dr in dt1.Rows)
                {
                    fid            = Convert.ToInt32(dr["ProjectDictID"]);
                    fxp            = new CFXProj(fid, dr["ProjectDictName"].ToString(), Convert.ToDouble(dr["DesignNum"]));
                    fxp.initAmount = Convert.ToDouble(dr["InitNum"]);
                    DataRow[] drs = dt2.Select("ProjectDictID = " + fid, "ReportDate asc");
                    foreach (DataRow dr2 in drs)
                    {
                        fxp.strDate.Add(dr2["ReportDate"].ToString());
                        fxp.doneAmount.Add(Convert.ToDouble(dr2["DictTotal"]));
                    }
                    if (drs.Count() > 0)
                    {
                        dt = fxp.strDate.Last();
                        if (dt.CompareTo(mUpdateTime.ToString("yyyyMMdd")) > 0)  // 数据库的工程表的updateDate字段逻辑有误
                        {
                            mUpdateTime = DateTime.ParseExact(dt, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                        }
                        avgProgress += fxp.doneAmount.Last() / fxp.TotalAmount;
                    }
                    else
                    {
                        fxp.strDate.Add(DateTime.Now.ToString("yyyyMMdd"));
                        fxp.doneAmount.Add(Convert.ToDouble(dr["InitNum"]));  // 添加初始化量,保证每个分项工程都有数据
                        avgProgress += fxp.initAmount / fxp.TotalAmount;
                    }
                    mfx.Add(fxp);
                    n++;
                }
            }

            if (n > 0)
            {
                avgProgress /= n;
                mAvgProgress = avgProgress;
            }
            else
            {
                mAvgProgress = 0;
            }
        }
コード例 #5
0
        /// <summary>
        /// 按照工点聚类,单位工程显示第一个
        /// </summary>
        /// <returns></returns>
        public static void clusterConsFromWebByProj(CRailwayScene s, string dbFile, List <ConsLocation> ls, List <CHotSpot> ls2, string fromDate = null, string toDate = null, bool fromLocal = true)
        {
            //double cx, cy;
            double tx, ty, tz, td;

            CRailwayLine rl;
            double       mileage, dis, gm;
            bool         isInside;

            //string fromD = DateTime.Now.AddDays(-7).ToShortDateString();
            //string toD = DateTime.Now.ToShortDateString();

            //dt2.Columns.Add("ProjectName", typeof(string));
            //dt2.Columns.Add("DwName", typeof(string));
            //dt2.Columns.Add("Longitude", typeof(double));
            //dt2.Columns.Add("Latitude", typeof(double));
            //dt2.Columns.Add("StaffNum", typeof(int));
            // 2016-05-06 00:00:00Z
            //DataTable dt = CServerWrapper.findClusterConsByPDW(DateTime.Now.AddDays(-7).Date.ToString("u"));
            //DataTable dt = CServerWrapper.findClusterConsByPDW(fromDate, toDate);
            if (ls == null)
            {
                ls = new List <ConsLocation>();
            }
            else
            {
                ls.Clear();
            }

            if (ls2 == null)
            {
                ls2 = new List <CHotSpot>();
            }
            else
            {
                ls2.Clear();
            }

            DataTable dt = null;

            if (fromLocal)
            {
                string localPath = dbFile;
                dt = DatabaseWrapper.ExecuteDataTable(dbFile, @"SELECT * from ConsInfo ;");
            }
            else if (CServerWrapper.isConnected)
            {
                dt = CServerWrapper.findClusterConsByProj(fromDate, toDate);
            }

            if (dt == null)
            {
                return;
            }

            foreach (DataRow dr in dt.Rows)
            {
                //GPSAdjust.bd_decrypt(Convert.ToDouble(dr["Latitude"]), Convert.ToDouble(dr["Longitude"]), out cy, out cx);

                rl = CRailwayLineList.getMileagebyGPS(Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]), out mileage, out dis, out isInside);
                CRailwayLineList.getGPSbyDKCode(rl.mDKCode, mileage, out tx, out ty, out tz, out td);
                s.mMainPath.getPathMileageByDKCode(rl.mDKCode, mileage, out gm, out dis);
                //FIXME xyn 加入两次,比较实际坐标和火星坐标的差别
                //ConsLocation cl = new ConsLocation("Mars" + dr["ProjectName"].ToString(), dr["DwName"].ToString(), Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]), //tx, ty,
                //    fromDate.Substring(0, 11), toDate.Substring(0, 11), Convert.ToInt32(dr["StaffNum"]));
                //ls.Add(cl);
                ConsLocation cl = new ConsLocation(dr["ProjectName"].ToString(), dr["DwName"].ToString(), Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]),
                                                   fromDate, toDate, Convert.ToInt32(dr["StaffNum"]));
                ls.Add(cl);


                ls2.Add(new CHotSpot(rl.mDKCode, mileage, tx, ty, tz, gm, dis, "Cons", cl));
                //            ls.Add(new ConsLocation(dr["ProjectName"].ToString(), dr["DwName"].ToString(), Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]),
                //fromDate.Substring(0, 11), toDate.Substring(0, 11), Convert.ToInt32(dr["StaffNum"])));
            }

            //new StaticCluster().clusterProcess();
        }