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); }
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); }
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); }
/// <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; } }
/// <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(); }