/// <summary> /// 提交 /// </summary> /// <param name="planid"></param> /// <param name="userid"></param> /// <param name="username"></param> /// <returns></returns> public bool Submit(Guid planid, int userid, string username, string rolename, CurrentFlightPlanVM model) { //ActionWithTrans(() => //{ CurrentFlightPlan entity = new CurrentFlightPlan(); entity.CurrentFlightPlanID = Guid.NewGuid(); entity.FlightPlanID = planid.ToString(); entity.ActorID = userid; entity.PlanState = ""; //entity.Pilot = model.Pilot; //entity.ContractWay = model.ContractWay; entity.AircraftNum = model.AircraftNum; entity.ActualStartTime = model.ActualStartTime; entity.ActualEndTime = model.ActualEndTime; entity.Creator = userid; entity.CreatorName = username; dal.Add(entity); var currPlanId = entity.CurrentFlightPlanID; wftbll.CreateWorkflowInstance((int)TWFTypeEnum.CurrentPlan, currPlanId, userid, username); instal.Submit(currPlanId, (int)TWFTypeEnum.CurrentPlan, userid, username, rolename, "", workPlan => { dal.Update(new CurrentFlightPlan { ActorName = workPlan.ActorName, PlanState = workPlan.PlanState, CurrentFlightPlanID = workPlan.PlanID }, "ActorID", "PlanState"); }); //}); return(true); }
/// <summary> /// 临时计划 /// </summary> private void GetData1() { var planid = Request.Form["id"]; CurrentFlightPlanVM model = new CurrentFlightPlanVM(); var data = currPlanBll.GetCurrentFlightPlan(Guid.Parse(planid)); if (data != null) { model.FillObject(data); var filemasterList = currPlanBll.GetFileCurrentPlanMasterList(u => u.CurrentPlanID.Equals(planid)).Select(u => u.MasterID); var masterList = rpbll.GetFileMasterList(u => filemasterList.Contains(u.ID)); var airlinelist = masterList.Where(u => u.WorkType.Equals("airline")); if (airlinelist != null && airlinelist.Any()) { foreach (var item in airlinelist) { var airlinevm = new AirlineVM(); airlinevm.FlyHeight = item.FlyHeight; var detailList = rpbll.GetFileDetailList(o => o.MasterID == item.ID); airlinevm.pointList.AddRange(detailList.Select(u => new PointVM() { Name = u.PointName, LatLong = (!string.IsNullOrEmpty(u.Latitude) && !string.IsNullOrEmpty(u.Longitude)) ? string.Concat("N", SpecialFunctions.ConvertDigitalToDegrees(u.Latitude), "E", SpecialFunctions.ConvertDigitalToDegrees(u.Longitude)) : "" })); if (airlinevm.pointList.Count > model.airLineMaxCol) { model.airLineMaxCol = airlinevm.pointList.Count; } model.airlineList.Add(airlinevm); model.airlineworkList.Add(item.ID); } ; } var worklist = masterList.Where(u => u.WorkType.Equals("circle") || u.WorkType.Equals("airlinelr") || u.WorkType.Equals("area")); if (worklist != null && worklist.Any()) { foreach (var item in worklist) { var workvm = new WorkVM(); workvm.FlyHeight = item.FlyHeight; workvm.Raidus = (item.RaidusMile ?? 0).ToString(); var detailList = rpbll.GetFileDetailList(o => o.MasterID == item.ID); workvm.pointList.AddRange(detailList.Select(u => new PointVM() { Name = u.PointName, LatLong = (!string.IsNullOrEmpty(u.Latitude) && !string.IsNullOrEmpty(u.Longitude)) ? string.Concat("N", SpecialFunctions.ConvertDigitalToDegrees(u.Latitude), "E", SpecialFunctions.ConvertDigitalToDegrees(u.Longitude)) : "" })); switch (item.WorkType.ToLower()) { case "circle": model.cworkList.Add(workvm); model.airlineworkList.Add(item.ID); break; case "airlinelr": if (workvm.pointList.Count > model.hworkMaxCol) { model.hworkMaxCol = workvm.pointList.Count; } model.hworkList.Add(workvm); model.airlineworkList.Add(item.ID); break; case "area": if (workvm.pointList.Count > model.pworkMaxCol) { model.pworkMaxCol = workvm.pointList.Count; } model.pworkList.Add(workvm); model.airlineworkList.Add(item.ID); break; default: break; } } ; } } Response.Write(JsonConvert.SerializeObject(model)); Response.ContentType = "application/json"; Response.End(); }