特容易绕晕,花了好长时间才写出来,郁闷死了
- #region 判断时间段是否相交(道路和区域限速)
- /// <summary>
- /// 比较设置的结束时间
- /// </summary>
- /// <param name="endTime">设置的结束时间</param>
- /// <param name="tableName">表名</param>
- /// <param name="uVehicleCheck">控件对象</param>
- /// <returns>true:时间相交;false:时间不相交</returns>
- private bool compareEndTimeForSpeed(string layerID, string endTime, string tableName, GPS_5_0_Client.CommonControl.VehicleCheck.UVehicleCheck uVehicleCheck)
- {
- bool resualt = true;
- string sqlstr = "";
- for (int i = 0; i < uVehicleCheck.VehicleCollection.Count; i++)
- {
- vehNo = uVehicleCheck.VehicleCollection[i].Text;
- string sql = "select vehiclekey from vehicleinfo where platenumber='" + uVehicleCheck.VehicleCollection[i].Text + "'";
- int vehID = int.Parse(GPS_5_0_Server.DBUtility.DbHelperOra.GetSingle(sql).ToString());
- if (layerID == "")
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID;
- }
- else
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID + " and layerid=" + int.Parse(layerID);
- }
- //string sqlstr2 = "select endtime from " + tableName + " where vehiclekey=" + vehID;
- DataSet ds = new DataSet();
- //DataSet ds_Start = new DataSet();
- //DataSet ds_end = new DataSet();
- ds = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr);
- //ds_end = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr2);
- if (ds.Tables[0].Rows.Count > 0)
- {
- for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
- {
- if (endTime.CompareTo(ds.Tables[0].Rows[j]["starttime"].ToString()) > 0 && endTime.CompareTo(ds.Tables[0].Rows[j]["endtime"].ToString()) <= 0)
- {
- resualt = true;
- break;
- }
- else
- {
- resualt = false;
- }
- //break;
- }
- }
- else
- {
- resualt = false;
- }
- }
- return resualt;
- }
- /// <summary>
- /// 比较设置的开始时间
- /// </summary>
- /// <param name="startTime">设置的开始时间</param>
- /// <param name="tableName">表名</param>
- /// <param name="uVehicleCheck">控件对象</param>
- /// <returns>true:时间相交;false:时间不相交</returns>
- private bool compareStartTimeForSpeed(string layerID, string startTime, string tableName, GPS_5_0_Client.CommonControl.VehicleCheck.UVehicleCheck uVehicleCheck)
- {
- bool resualt = true;
- string sqlstr = "";
- for (int i = 0; i < uVehicleCheck.VehicleCollection.Count; i++)
- {
- vehNo = uVehicleCheck.VehicleCollection[i].Text;
- string sql = "select vehiclekey from vehicleinfo where platenumber='" + uVehicleCheck.VehicleCollection[i].Text + "'";
- int vehID = int.Parse(GPS_5_0_Server.DBUtility.DbHelperOra.GetSingle(sql).ToString());
- if (layerID == "")
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID;
- }
- else
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID + " and layerid=" + int.Parse(layerID);
- }
- //string sqlstr2 = "select endtime from " + tableName + " where vehiclekey=" + vehID;
- DataSet ds = new DataSet();
- //DataSet ds_Start = new DataSet();
- //DataSet ds_end = new DataSet();
- ds = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr);
- //ds_end = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr2);
- if (ds.Tables[0].Rows.Count > 0)
- {
- for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
- {
- string s1 = ds.Tables[0].Rows[j]["starttime"].ToString();
- string s2 = ds.Tables[0].Rows[j]["endtime"].ToString();
- if (startTime.CompareTo(ds.Tables[0].Rows[j]["starttime"].ToString()) >= 0 && startTime.CompareTo(ds.Tables[0].Rows[j]["endtime"].ToString()) < 0)
- {
- resualt = true;
- break;
- }
- else
- {
- resualt = false;
- }
- //break;
- }
- }
- else
- {
- resualt = false;
- }
- }
- return resualt;
- }
- /// <summary>
- /// 同时比较设置的开始时间和结束时间
- /// </summary>
- /// <param name="startTime">设置的开始时间</param>
- /// <param name="endTime">设置的结束时间</param>
- /// <param name="tableName">表名</param>
- /// <param name="uVehicleCheck">控件对象</param>
- /// <returns>true:时间相交;false:时间不相交</returns>
- private bool compareStartTimeAndEndTime1ForSpeed(string layerID, string startTime, string endTime, string tableName, GPS_5_0_Client.CommonControl.VehicleCheck.UVehicleCheck uVehicleCheck)
- {
- bool resualt = true;
- string sqlstr = "";
- for (int i = 0; i < uVehicleCheck.VehicleCollection.Count; i++)
- {
- vehNo = uVehicleCheck.VehicleCollection[i].Text;
- string sql = "select vehiclekey from vehicleinfo where platenumber='" + uVehicleCheck.VehicleCollection[i].Text + "'";
- int vehID = int.Parse(GPS_5_0_Server.DBUtility.DbHelperOra.GetSingle(sql).ToString());
- if (layerID == "")
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID;
- }
- else
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID + " and layerid=" + int.Parse(layerID);
- }
- //string sqlstr2 = "select endtime from " + tableName + " where vehiclekey=" + vehID;
- DataSet ds = new DataSet();
- //DataSet ds_Start = new DataSet();
- //DataSet ds_end = new DataSet();
- ds = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr);
- //ds_end = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr2);
- if (ds.Tables[0].Rows.Count > 0)
- {
- for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
- {
- if (startTime.CompareTo(ds.Tables[0].Rows[j]["starttime"].ToString()) >= 0 && endTime.CompareTo(ds.Tables[0].Rows[j]["endtime"].ToString()) <= 0)
- {
- resualt = true;
- break;
- }
- else
- {
- resualt = false;
- }
- //break;
- }
- }
- else
- {
- resualt = false;
- }
- }
- return resualt;
- }
- /// <summary>
- /// 同时比较设置的开始时间和结束时间
- /// </summary>
- /// <param name="startTime">设置的开始时间</param>
- /// <param name="endTime">设置的结束时间</param>
- /// <param name="tableName">表名</param>
- /// <param name="uVehicleCheck">控件对象</param>
- /// <returns>true:时间相交;false:时间不相交</returns>
- private bool compareStartTimeAndEndTime2ForSpeed(string layerID, string startTime, string endTime, string tableName, GPS_5_0_Client.CommonControl.VehicleCheck.UVehicleCheck uVehicleCheck)
- {
- bool resualt = true;
- string sqlstr = "";
- for (int i = 0; i < uVehicleCheck.VehicleCollection.Count; i++)
- {
- vehNo = uVehicleCheck.VehicleCollection[i].Text;
- string sql = "select vehiclekey from vehicleinfo where platenumber='" + uVehicleCheck.VehicleCollection[i].Text + "'";
- int vehID = int.Parse(GPS_5_0_Server.DBUtility.DbHelperOra.GetSingle(sql).ToString());
- if (layerID == "")
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID;
- }
- else
- {
- sqlstr = "select starttime,endtime from " + tableName + " where vehicleid=" + vehID + " and layerid=" + int.Parse(layerID);
- }
- //string sqlstr2 = "select endtime from " + tableName + " where vehiclekey=" + vehID;
- DataSet ds = new DataSet();
- //DataSet ds_Start = new DataSet();
- //DataSet ds_end = new DataSet();
- ds = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr);
- //ds_end = GPS_5_0_Server.DBUtility.DbHelperOra.Query(sqlstr2);
- if (ds.Tables[0].Rows.Count > 0)
- {
- for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
- {
- if (startTime.CompareTo(ds.Tables[0].Rows[j]["starttime"].ToString()) <= 0 && endTime.CompareTo(ds.Tables[0].Rows[j]["endtime"].ToString()) >= 0)
- {
- resualt = true;
- break;
- }
- else
- {
- resualt = false;
- }
- //break;
- }
- }
- else
- {
- resualt = false;
- }
- }
- return resualt;
- }
- #endregion