Ejemplo n.º 1
0
 /// <summary>
 /// 生成飞行计划
 /// </summary>
 /// <returns></returns>
 public bool GeneralFlyData()
 {
     try
     {
         //获取有效的长期计划
         var repetList = repetdal.GetAuditRepetPlan();
         foreach (var repet in repetList)
         {
             //没生成过明天的飞行计划
             if (!flydal.IsExist(repet.RepetPlanID.ToString()))
             {
                 //生成避开繁忙时间的时间段
                 var      busy      = busydal.Get(new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day));
                 DateTime begintime = new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day);
                 DateTime endtime   = new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day);
                 if (busy == null)
                 {
                     begintime = begintime.AddHours(8);
                     endtime   = endtime.AddHours(10);
                 }
                 else
                 {
                     Random rd = new Random();
                     while (true)
                     {
                         DateTime rdtime = new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day, rd.Next(0, 22), 0, 0);
                         if (rdtime <= busy.BusyBeginTime.Value.AddHours(-2) || rdtime >= busy.BusyEndTime.Value)
                         {
                             begintime = rdtime;
                             endtime   = rdtime.AddHours(2);
                             break;
                         }
                     }
                 }
                 //生成明天的飞行计划
                 FlyPlanDemo model = new FlyPlanDemo()
                 {
                     CompanyName   = repet.CompanyName,
                     FlyPlanID     = Guid.NewGuid().ToString("N").ToUpper(),
                     RepetPlanID   = repet.RepetPlanID.ToString(),
                     PlanDate      = new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day),
                     PlanBeginTime = begintime,
                     PlanEndTime   = endtime,
                     CreateTime    = DateTime.Now
                 };
                 //写入数据库
                 flydal.Add(model);
             }
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 2
0
 public bool Update(FlyPlanDemo model)
 {
     return(flydal.Update(model) > 0);
 }
Ejemplo n.º 3
0
 public bool Add(FlyPlanDemo model)
 {
     return(flydal.Add(model) > 0);
 }