public async Task <ActionResult> FillLocation(TruckTrace trace) { if (ModelState.IsValid) { using (TruckTraceService truckTraceService = new TruckTraceService()) { var turck = new TruckTrace() { truckId = trace.truckId, Location = trace.Location, Mileage = trace.Mileage, Path = trace.Path, Position = trace.Position, Speed = trace.Speed, Direction = trace.Direction, Type = true, Unit = trace.Unit }; try { await truckTraceService.CreateAsync(turck); } catch (Exception err) { throw err; } } } else { } return(Json(new { mess = "ok" })); }
/// <summary> /// 更新车辆位置信息 /// </summary> /// <param name="tid">车辆id</param> /// <param name="para">参数:location, speed, dir, mileage, unit, position, path</param> public async Task UpdateTruckState(Guid tid, string[] para) { using (TruckTraceService truckTraceService = new TruckTraceService()) { var truckTrace = new TruckTrace() { truckId = tid, Location = para[0], Speed = para[1], Direction = para[2], Mileage = para[3], Unit = para[4], Position = para[5], Path = para[6], }; try { await truckTraceService.CreateAsync(truckTrace); } catch (Exception err) { throw err; } } }
public async Task <OrderTraceDto> TrackOrder(string code) { var traceInfo = new OrderTraceDto(); try { //得到订单信息 using (OrderService orderService = new OrderService()) { var order = orderService.GetAllOrder().Where(p => p.BarCode == code).FirstOrDefault(); traceInfo.Code = code; traceInfo.OStatus = order.Status; traceInfo.OrderId = order.Id; using (OrderDetailsService orderDetailsService = new OrderDetailsService()) { var odetail = orderDetailsService.GetAll().Where(p => p.OrderId == order.Id).FirstOrDefault(); if (odetail == null) { return(null); } //寄方信息 using (CargoSenderService senderService = new CargoSenderService()) { var sender = await senderService.GetOneById(odetail.SenderId); if (sender == null) { return(null); } traceInfo.SFAddress = sender.Provinces; traceInfo.SSAddress = sender.DetailAddress; traceInfo.SLocation = sender.Location; traceInfo.SName = sender.Name; traceInfo.STel = sender.MobliePhone; } //收方信息 using (CargoReceiverService receiverService = new CargoReceiverService()) { var receiver = await receiverService.GetOneById(odetail.ReceiverId); if (receiver == null) { return(null); } traceInfo.RFAddress = receiver.Provinces; traceInfo.RSAddress = receiver.DetailAddress; traceInfo.RLocation = receiver.Location; traceInfo.RName = receiver.Name; traceInfo.RTel = receiver.MobliePhone; } } } //得到汽车信息 using (OrderWaybillLinkService orderWaybillLinkService = new OrderWaybillLinkService()) { var owlink = orderWaybillLinkService.GetAll().Where(p => p.OrderId == traceInfo.OrderId).FirstOrDefault(); if (owlink == null) { return(null); } using (WaybillTransportLinkService waybillTransportLinkService = new WaybillTransportLinkService()) { var waybill = waybillTransportLinkService.GetAll().Where(p => p.WayBillId == owlink.WaybillId).FirstOrDefault(); if (waybill == null) { return(null); } using (TruckTraceService truckTrace = new TruckTraceService()) { var truck = truckTrace.GetAll().Where(p => p.truckId == waybill.TransportInfoId).OrderByDescending(p => p.CreatTime).FirstOrDefault(); if (truck == null) { return(null); } traceInfo.TransLocation = truck.Location; } } } //得到追踪详细 using (OrderTraceService orderTraceService = new OrderTraceService()) { var statusList = orderTraceService.GetAll().Where(p => p.OrderId == traceInfo.OrderId).OrderBy(p => p.CreatTime); if (statusList == null) { return(null); } var packegeList = new List <PackegeStatus>(); foreach (var item in statusList) { packegeList.Add(new PackegeStatus() { Data = item.CreatTime.ToShortDateString(), Time = item.CreatTime.ToShortTimeString(), Mark = item.Mark }); } traceInfo.StatusList = packegeList; } } catch (Exception err) { return(null); } return(traceInfo); }