public void GetGPS() { while (true) { QW_CarsBLL bll = new QW_CarsBLL(); List <QW_CarsModel> listCar = bll.GetCars().Where(a => !string.IsNullOrEmpty(a.remarks)).ToList(); foreach (QW_CarsModel item in listCar) { string url = string.Format(@"http://116.247.83.157/StandardApiAction_getDeviceStatus.action?jsession={0}&devIdno={1}&toMap=2", jsession, item.cartel); string Tracking = HttpWebPost.Request(url, false, ""); // 反序列化json JavaScriptSerializer jss = new JavaScriptSerializer(); JObject Trackingjson = (JObject)JsonConvert.DeserializeObject(Tracking); string result = Trackingjson["result"] == null ? "" : Trackingjson["result"].ToString(); if (result == "0") { string status = Trackingjson["status"] == null ? "" : Trackingjson["status"].ToString(); if (!string.IsNullOrEmpty(status)) { JArray jo = new JArray(); jo = (JArray)JsonConvert.DeserializeObject(status); foreach (JObject array in jo) { QW_CarHistoryPositionsModel model = new QW_CarHistoryPositionsModel(); model.carid = item.carid; model.cartel = item.cartel; model.isanalyze = 0; model.lc = array["lc"] == null ? 0 : Convert.ToDouble(array["lc"].ToString()); model.pk = array["pk"] == null ? 0 : Convert.ToInt32(array["pk"].ToString()); model.positiontime = array["gt"] == null ? DateTime.Now : Convert.ToDateTime(array["gt"].ToString()); model.speed = array["sp"] == null ? 0 : Convert.ToDecimal(array["sp"].ToString()); model.x84 = array["mlng"] == null ? 0 : Convert.ToDecimal(array["mlng"].ToString()); model.y84 = array["mlat"] == null ? 0 : Convert.ToDecimal(array["mlat"].ToString()); model.yl = array["yl"] == null ? 0 : Convert.ToDouble(array["yl"].ToString()); DateTime dt = model.positiontime; bool his = bll.GetBoolCarPostiton(item.carid, dt); if (!his) { bll.CarHistoryPositions(model); } bll.UpdateLastPosition(item.carid, dt, model); Console.WriteLine("车辆:" + item.carnumber + "---PositionTime:" + dt.ToString("yyyy-MM-dd hh:mm:ss")); } } } else { GetPassWord(); break; } } System.Threading.Thread.Sleep(20000); } }
/// <summary> /// 添加最新定位表 /// </summary> /// <param name="model"></param> /// <returns></returns> public int CarLastPositions(QW_CarHistoryPositionsModel model) { using (Entities db = new Entities()) { qw_carlastpositions qumodel = new qw_carlastpositions(); qumodel.x2000 = model.x2000; qumodel.y2000 = model.y2000; qumodel.x84 = model.x84; qumodel.y84 = model.y84; qumodel.carid = model.carid; qumodel.positiontime = model.positiontime; qumodel.cartel = model.cartel; qumodel.speed = model.speed; qumodel.lc = model.lc; qumodel.pk = model.pk; qumodel.yl = model.yl; db.qw_carlastpositions.Add(qumodel); return(db.SaveChanges()); } }
/// <summary> /// 更新最新定位表 /// </summary> /// <param name="CarId"></param> /// <param name="PositionTime"></param> /// <param name="model"></param> /// <returns></returns> public int UpdateLastPosition(int CarId, DateTime PositionTime, QW_CarHistoryPositionsModel model) { using (Entities db = new Entities()) { qw_carlastpositions lastmodel = new qw_carlastpositions(); lastmodel = db.qw_carlastpositions.Where(a => a.carid == CarId && a.positiontime == PositionTime).FirstOrDefault(); if (lastmodel == null) { return(CarLastPositions(model)); } else { lastmodel.lc = model.lc; lastmodel.pk = model.pk; lastmodel.positiontime = model.positiontime; lastmodel.speed = model.speed; lastmodel.x84 = model.x84; lastmodel.yl = model.yl; lastmodel.y84 = model.y84; return(db.SaveChanges()); } } }
/// <summary> /// 最新定位表 /// </summary> /// <param name="model"></param> /// <returns></returns> public int UpdateLastPosition(int CarId, DateTime PositionTime, QW_CarHistoryPositionsModel model) { return(dal.UpdateLastPosition(CarId, PositionTime, model)); }
/// <summary> /// 插入历史定位 /// </summary> /// <param name="model"></param> /// <returns></returns> public int CarHistoryPositions(QW_CarHistoryPositionsModel model) { return(dal.CarHistoryPositions(model)); }