Browse Source

医疗场景添加子任务单机报告输出功能

liyang 6 days ago
parent
commit
bc95a10dce

+ 173 - 0
SimulationServer/Component/SJStaticCapacityComponent.cs

@@ -43,6 +43,45 @@ public class SJStaticCapacity
     public string 有效探测距离 = String.Empty;
     //最大起降高度
     public string 最大起降高度 = String.Empty;
+
+    //准备时间
+    public string 准备时间 = string.Empty;
+    //到达时间
+    public string 到达时间 = string.Empty;
+    //任务周期时间
+    public string 任务周期时间 = string.Empty;
+    //执行任务飞机型号
+    public string 执行任务飞机型号 = string.Empty;
+    //执行任务飞机数量
+    public string 执行任务飞机数量 = string.Empty;
+    //单机飞行员人数
+    public string 单机飞行员人数 = string.Empty;
+    //单机飞行工程师人数
+    public string 单机飞行工程师人数 = string.Empty;
+    //单机医师人数
+    public string 单机医师人数 = string.Empty;
+    //单机护士人数
+    public string 单机护士人数 = string.Empty;
+    //单机重症监护护理人员人数
+    public string 单机重症监护护理人员人数 = string.Empty;
+    //单机地面保障人数
+    public string 单机地面保障人数 = string.Empty;
+    //单机总任务时长
+    public string 单机总任务时长 = string.Empty;
+    //单机总油耗
+    public string 单机总油耗 = string.Empty;
+    //单机机场使用情况
+    public string 单机机场使用情况 = string.Empty;
+    //单机导航使用情况
+    public string 单机导航使用情况 = string.Empty;
+    //医疗任务设备
+    public string 医疗任务设备 = string.Empty;
+    //医疗药品
+    public string 医疗药品 = string.Empty;
+    //任务缓急情况
+    public string 任务缓急情况 = string.Empty;
+    //单机操作员人数
+    public string 单机操作员人数 = string.Empty;
 }
 
 public class SJStaticCapacityComponent : Component
@@ -223,6 +262,140 @@ public class SJStaticCapacityComponent : Component
         SJStaticCapacity.有效探测距离 = 2.ToString();
     }
 
+    public void FillData7(AircraftDB db,Dictionary<string, string> reportInfo)
+    {
+        var aircraft = GetParent<AircraftXCJJ>();
+
+        SJStaticCapacity.准备时间 = reportInfo["准备时间"];
+        SJStaticCapacity.到达时间 = reportInfo["到达时间"];
+        SJStaticCapacity.任务周期时间 = reportInfo["任务周期时间"];
+        SJStaticCapacity.执行任务飞机型号 = reportInfo["执行任务飞机型号"];
+        SJStaticCapacity.执行任务飞机数量 = reportInfo["执行任务飞机数量"];
+        SJStaticCapacity.单机飞行员人数 = reportInfo["单机飞行员人数"];
+        SJStaticCapacity.单机医师人数 = reportInfo["单机医师人数"];
+        SJStaticCapacity.单机护士人数 = reportInfo["单机护士人数"];
+        SJStaticCapacity.单机重症监护护理人员人数 = reportInfo["单机重症监护护理人员人数"];
+        SJStaticCapacity.单机地面保障人数 = reportInfo["单机地面保障人数"];
+        SJStaticCapacity.单机总任务时长 = reportInfo["单机总任务时长"];
+        SJStaticCapacity.单机总油耗 = (FXJHGenerate.GetHoverFuelConsumptionRate(aircraft.FlightPlanEditor, 50) + FXJHGenerate.GetCruisingVelocity(aircraft.FlightPlanEditor, 50)).ToString();
+        SJStaticCapacity.单机机场使用情况 = reportInfo["单机机场使用情况"];
+        SJStaticCapacity.单机导航使用情况 = "";
+        SJStaticCapacity.医疗任务设备 = "";
+        SJStaticCapacity.医疗药品 = "";
+        SJStaticCapacity.任务缓急情况 = reportInfo["任务缓急情况"];
+    }
+
+    public void FillData8(AircraftDB db, Dictionary<string, string> reportInfo)
+    {
+        var aircraft = GetParent<AircraftYLZY>();
+
+        SJStaticCapacity.准备时间 = reportInfo["准备时间"];
+        SJStaticCapacity.到达时间 = reportInfo["到达时间"];
+        SJStaticCapacity.任务周期时间 = reportInfo["任务周期时间"];
+        SJStaticCapacity.执行任务飞机型号 = reportInfo["执行任务飞机型号"];
+        SJStaticCapacity.执行任务飞机数量 = reportInfo["执行任务飞机数量"];
+        SJStaticCapacity.单机飞行员人数 = reportInfo["单机飞行员人数"];
+        SJStaticCapacity.单机医师人数 = reportInfo["单机医师人数"];
+        SJStaticCapacity.单机护士人数 = reportInfo["单机护士人数"];
+        SJStaticCapacity.单机重症监护护理人员人数 = reportInfo["单机重症监护护理人员人数"];
+        SJStaticCapacity.单机地面保障人数 = reportInfo["单机地面保障人数"];
+        SJStaticCapacity.单机总任务时长 = reportInfo["单机总任务时长"];
+        SJStaticCapacity.单机总油耗 = (FXJHGenerate.GetHoverFuelConsumptionRate(aircraft.FlightPlanEditor, 50) + FXJHGenerate.GetCruisingVelocity(aircraft.FlightPlanEditor, 50)).ToString();
+        SJStaticCapacity.单机机场使用情况 = reportInfo["单机机场使用情况"];
+        SJStaticCapacity.单机导航使用情况 = "";
+        SJStaticCapacity.医疗任务设备 = "";
+        SJStaticCapacity.医疗药品 = "";
+        SJStaticCapacity.任务缓急情况 = reportInfo["任务缓急情况"];
+    }
+
+    public void FillData9(AircraftDB db, Dictionary<string, string> reportInfo)
+    {
+        var aircraft = GetParent<AircraftYLWPYS>();
+
+        SJStaticCapacity.准备时间 = reportInfo["准备时间"];
+        SJStaticCapacity.到达时间 = reportInfo["到达时间"];
+        SJStaticCapacity.任务周期时间 = reportInfo["任务周期时间"];
+        SJStaticCapacity.执行任务飞机型号 = reportInfo["执行任务飞机型号"];
+        SJStaticCapacity.执行任务飞机数量 = reportInfo["执行任务飞机数量"];
+        SJStaticCapacity.单机操作员人数 = reportInfo["单机操作员人数"];
+        SJStaticCapacity.单机地面保障人数 = reportInfo["单机地面保障人数"];
+        SJStaticCapacity.单机总任务时长 = reportInfo["单机总任务时长"];
+        SJStaticCapacity.单机总油耗 = (FXJHGenerate.GetHoverFuelConsumptionRate(aircraft.FlightPlanEditor, 50) + FXJHGenerate.GetCruisingVelocity(aircraft.FlightPlanEditor, 50)).ToString();
+        SJStaticCapacity.单机导航使用情况 = "";
+        SJStaticCapacity.医疗药品 = "";
+    }
+
+    public Dictionary<string, Dictionary<string, string>> GetReport9()
+    {
+        Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
+        report["静态能力"] = new Dictionary<string, string>
+        {
+            { "准备时间/s", SJStaticCapacity.准备时间.ToString() },
+            { "到达时间/s", SJStaticCapacity.到达时间.ToString() },
+            { "任务周期时间/s", SJStaticCapacity.任务周期时间.ToString() },
+            { "执行任务飞机型号", SJStaticCapacity.执行任务飞机型号.ToString() },
+            { "执行任务飞机数量", SJStaticCapacity.执行任务飞机数量.ToString() },
+            { "单机操作员人数", SJStaticCapacity.单机操作员人数.ToString() },
+            { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
+            { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
+            { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
+            { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
+            { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
+       };
+        return report;
+    }
+
+    public Dictionary<string, Dictionary<string, string>> GetReport8()
+    {
+        Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
+        report["静态能力"] = new Dictionary<string, string>
+        {
+            { "准备时间/s", SJStaticCapacity.准备时间.ToString() },
+            { "到达时间/s", SJStaticCapacity.到达时间.ToString() },
+            { "任务周期时间/s", SJStaticCapacity.任务周期时间.ToString() },
+            { "执行任务飞机型号", SJStaticCapacity.执行任务飞机型号.ToString() },
+            { "执行任务飞机数量", SJStaticCapacity.执行任务飞机数量.ToString() },
+            { "单机飞行员人数", SJStaticCapacity.单机飞行员人数.ToString() },
+            { "单机医师人数", SJStaticCapacity.单机医师人数.ToString() },
+            { "单机护士人数", SJStaticCapacity.单机护士人数.ToString() },
+            { "单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString() },
+            { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
+            { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
+            { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
+            { "单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString() },
+            { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
+            { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
+            { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
+            { "任务缓急情况", SJStaticCapacity.任务缓急情况.ToString() },
+       };
+        return report;
+    }
+
+    public Dictionary<string, Dictionary<string, string>> GetReport7()
+    {
+        Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
+        report["静态能力"] = new Dictionary<string, string>
+        {
+            { "准备时间/s", SJStaticCapacity.准备时间.ToString() },
+            { "到达时间/s", SJStaticCapacity.到达时间.ToString() },
+            { "任务周期时间/s", SJStaticCapacity.任务周期时间.ToString() },
+            { "执行任务飞机型号", SJStaticCapacity.执行任务飞机型号.ToString() },
+            { "执行任务飞机数量", SJStaticCapacity.执行任务飞机数量.ToString() },
+            { "单机飞行员人数", SJStaticCapacity.单机飞行员人数.ToString() },
+            { "单机医师人数", SJStaticCapacity.单机医师人数.ToString() },
+            { "单机护士人数", SJStaticCapacity.单机护士人数.ToString() },
+            { "单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString() },
+            { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
+            { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
+            { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
+            { "单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString() },
+            { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
+            { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
+            { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
+            { "任务缓急情况", SJStaticCapacity.任务缓急情况.ToString() },
+       };
+        return report;
+    }
 
     public Dictionary<string, Dictionary<string, string>> GetReport()
     {

+ 290 - 290
SimulationServer/Component/TaskComponent.cs

@@ -388,322 +388,322 @@ public class TaskComponentUpdateSystem : UpdateSystem<TaskComponent>
         {
             for (int i = 0; i < self.ExecutionContext; i++)
             {
-                任务准备时间 = 0;
-                平均搜索时间 = 0;
-                总飞行时间 = 0;
-                人员存活率 = 0;
-                任务是否成功 = 0;
-                识别成功率 = 0f;
-                平均救助时间 = 0;
-                人员数量 = 0;
-                识别数量 = 0;
-                环境搜索覆盖面积 = 0;
-                海上搜索覆盖面积 = 0;
-
-                aircreftCount = 0;
-                searchCount = 0;
-                jzCount = 0;
-
-                foreach (var item in self.SeaSJRescueMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        海上搜索覆盖面积 += float.Parse(item1.Value["海上搜索覆盖面积"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("海上搜救" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("海上搜救" + item1.Key + "海上搜索覆盖面积:" + item1.Value["海上搜索覆盖面积"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //任务准备时间 = 0;
+                //平均搜索时间 = 0;
+                //总飞行时间 = 0;
+                //人员存活率 = 0;
+                //任务是否成功 = 0;
+                //识别成功率 = 0f;
+                //平均救助时间 = 0;
+                //人员数量 = 0;
+                //识别数量 = 0;
+                //环境搜索覆盖面积 = 0;
+                //海上搜索覆盖面积 = 0;
+
+                //aircreftCount = 0;
+                //searchCount = 0;
+                //jzCount = 0;
+
+                //foreach (var item in self.SeaSJRescueMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        海上搜索覆盖面积 += float.Parse(item1.Value["海上搜索覆盖面积"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("海上搜救" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("海上搜救" + item1.Key + "海上搜索覆盖面积:" + item1.Value["海上搜索覆盖面积"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
-                foreach (var item in self.LandSJRescueMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        环境搜索覆盖面积 += float.Parse(item1.Value["环境搜索覆盖面积"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("路上搜寻" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("路上搜寻" + item1.Key + "环境搜索覆盖面积:" + item1.Value["环境搜索覆盖面积"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //foreach (var item in self.LandSJRescueMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        环境搜索覆盖面积 += float.Parse(item1.Value["环境搜索覆盖面积"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("路上搜寻" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("路上搜寻" + item1.Key + "环境搜索覆盖面积:" + item1.Value["环境搜索覆盖面积"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
-                foreach (var item in self.KZDYMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("空中吊运" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("空中吊运" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //foreach (var item in self.KZDYMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("空中吊运" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("空中吊运" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
-                foreach (var item in self.KTKSMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("空投空送" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("空投空送" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //foreach (var item in self.KTKSMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("空投空送" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("空投空送" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
-                foreach (var item in self.ZSJYMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("着水救援" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("着水救援" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //foreach (var item in self.ZSJYMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("着水救援" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("着水救援" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
 
-                foreach (var item in self.JJJYMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("机降救援" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("机降救援" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //foreach (var item in self.JJJYMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("机降救援" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("机降救援" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
 
-                foreach (var item in self.SHJMissions)
-                {
-                    foreach (var item1 in item.aircraftSJDatas)
-                    {
-                        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
-                        人员数量 += float.Parse(item1.Value["人员数量"][i]);
-                        识别数量 += float.Parse(item1.Value["识别数量"][i]);
-                        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
-                            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
-                        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
-                        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
-                        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
-                        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
-                        aircreftCount++;
-                        if (item1.Value["平均搜索时间"][i] != "0")
-                            searchCount++;
-                        if (item1.Value["平均救助时间"][i] != "0")
-                            jzCount++;
-                        Console.WriteLine("索滑降" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
-                        Console.WriteLine("索滑降" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
-                        Console.WriteLine("===============================================================");
-                    }
-                }
+                //foreach (var item in self.SHJMissions)
+                //{
+                //    foreach (var item1 in item.aircraftSJDatas)
+                //    {
+                //        识别成功率 += float.Parse(item1.Value["识别成功率"][i]);
+                //        人员数量 += float.Parse(item1.Value["人员数量"][i]);
+                //        识别数量 += float.Parse(item1.Value["识别数量"][i]);
+                //        if (任务准备时间 < float.Parse(item1.Value["任务准备时间"][i]))
+                //            任务准备时间 = float.Parse(item1.Value["任务准备时间"][i]);
+                //        平均搜索时间 += float.Parse(item1.Value["平均搜索时间"][i]);
+                //        平均救助时间 += float.Parse(item1.Value["平均救助时间"][i]);
+                //        总飞行时间 += float.Parse(item1.Value["总飞行时间"][i]);
+                //        人员存活率 += float.Parse(item1.Value["人员存活率"][i]);
+                //        aircreftCount++;
+                //        if (item1.Value["平均搜索时间"][i] != "0")
+                //            searchCount++;
+                //        if (item1.Value["平均救助时间"][i] != "0")
+                //            jzCount++;
+                //        Console.WriteLine("索滑降" + item1.Key + "识别成功数:" + item1.Value["识别成功率"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "识别数量:" + item1.Value["识别数量"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "任务准备时间:" + item1.Value["任务准备时间"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "平均搜索时间:" + item1.Value["平均搜索时间"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "平均救助时间:" + item1.Value["平均救助时间"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "总飞行时间:" + item1.Value["总飞行时间"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "存活人数:" + item1.Value["人员存活率"][i]);
+                //        Console.WriteLine("索滑降" + item1.Key + "人员数量:" + item1.Value["人员数量"][i]);
+                //        Console.WriteLine("===============================================================");
+                //    }
+                //}
 
-                SJAllTotalTaskPerformance allTotalTaskPerformance = new SJAllTotalTaskPerformance();
+                //SJAllTotalTaskPerformance allTotalTaskPerformance = new SJAllTotalTaskPerformance();
 
-                if (人员存活率 != 0)
-                    任务是否成功 = 1;
+                //if (人员存活率 != 0)
+                //    任务是否成功 = 1;
 
-                if (任务是否成功 == 1)
-                    self.seaSuccessCount++;
+                //if (任务是否成功 == 1)
+                //    self.seaSuccessCount++;
 
-                if (识别数量 != 0)
-                    allTotalTaskPerformance.识别成功率 = (识别成功率 / 识别数量).ToString();
-                else
-                    allTotalTaskPerformance.识别成功率 = "0";
+                //if (识别数量 != 0)
+                //    allTotalTaskPerformance.识别成功率 = (识别成功率 / 识别数量).ToString();
+                //else
+                //    allTotalTaskPerformance.识别成功率 = "0";
 
-                allTotalTaskPerformance.任务准备时间 = 任务准备时间.ToString();
+                //allTotalTaskPerformance.任务准备时间 = 任务准备时间.ToString();
 
-                if (searchCount != 0)
-                    allTotalTaskPerformance.平均搜索时间 = (平均搜索时间 / searchCount).ToString("f4"); // aircreftCount
-                else
-                    allTotalTaskPerformance.平均搜索时间 = "0";
+                //if (searchCount != 0)
+                //    allTotalTaskPerformance.平均搜索时间 = (平均搜索时间 / searchCount).ToString("f4"); // aircreftCount
+                //else
+                //    allTotalTaskPerformance.平均搜索时间 = "0";
 
-                if (jzCount != 0)
-                    allTotalTaskPerformance.平均救助时间 = (平均救助时间 / jzCount).ToString("f4"); // aircreftCount
-                else
-                    allTotalTaskPerformance.平均救助时间 = "0";
+                //if (jzCount != 0)
+                //    allTotalTaskPerformance.平均救助时间 = (平均救助时间 / jzCount).ToString("f4"); // aircreftCount
+                //else
+                //    allTotalTaskPerformance.平均救助时间 = "0";
 
-                allTotalTaskPerformance.总飞行时间 = 总飞行时间.ToString("f4");
+                //allTotalTaskPerformance.总飞行时间 = 总飞行时间.ToString("f4");
 
-                allTotalTaskPerformance.海上搜索覆盖面积 = 海上搜索覆盖面积.ToString();//"0.6".ToString();//"60%"
+                //allTotalTaskPerformance.海上搜索覆盖面积 = 海上搜索覆盖面积.ToString();//"0.6".ToString();//"60%"
 
-                allTotalTaskPerformance.环境搜索覆盖面积 = 环境搜索覆盖面积.ToString();//"0.6".ToString();
+                //allTotalTaskPerformance.环境搜索覆盖面积 = 环境搜索覆盖面积.ToString();//"0.6".ToString();
 
-                allTotalTaskPerformance.任务是否成功 = 任务是否成功.ToString();
+                //allTotalTaskPerformance.任务是否成功 = 任务是否成功.ToString();
 
 
-                if (人员数量 != 0)
-                    allTotalTaskPerformance.人员存活率 = (人员存活率 / 人员数量).ToString();
-                else
-                    allTotalTaskPerformance.人员存活率 = "0";
+                //if (人员数量 != 0)
+                //    allTotalTaskPerformance.人员存活率 = (人员存活率 / 人员数量).ToString();
+                //else
+                //    allTotalTaskPerformance.人员存活率 = "0";
 
-                Console.WriteLine("单轮次总体指标识别成功率:" + allTotalTaskPerformance.识别成功率);
-                Console.WriteLine("单轮次总体指标任务准备时间:" + allTotalTaskPerformance.任务准备时间);
-                Console.WriteLine("单轮次总体指标平均搜索时间:" + allTotalTaskPerformance.平均搜索时间);
-                Console.WriteLine("单轮次总体指标平均救助时间:" + allTotalTaskPerformance.平均救助时间);
-                Console.WriteLine("单轮次总体指标总飞行时间:" + allTotalTaskPerformance.总飞行时间);
-                Console.WriteLine("单轮次总体指标海上搜索覆盖面积:" + allTotalTaskPerformance.海上搜索覆盖面积);
-                Console.WriteLine("单轮次总体指标环境搜索覆盖面积:" + allTotalTaskPerformance.环境搜索覆盖面积);
-                Console.WriteLine("单轮次总体指标任务是否成功:" + allTotalTaskPerformance.任务是否成功);
-                Console.WriteLine("单轮次总体指标人员存活率:" + allTotalTaskPerformance.人员存活率);
-                Console.WriteLine("===============================================================");
+                //Console.WriteLine("单轮次总体指标识别成功率:" + allTotalTaskPerformance.识别成功率);
+                //Console.WriteLine("单轮次总体指标任务准备时间:" + allTotalTaskPerformance.任务准备时间);
+                //Console.WriteLine("单轮次总体指标平均搜索时间:" + allTotalTaskPerformance.平均搜索时间);
+                //Console.WriteLine("单轮次总体指标平均救助时间:" + allTotalTaskPerformance.平均救助时间);
+                //Console.WriteLine("单轮次总体指标总飞行时间:" + allTotalTaskPerformance.总飞行时间);
+                //Console.WriteLine("单轮次总体指标海上搜索覆盖面积:" + allTotalTaskPerformance.海上搜索覆盖面积);
+                //Console.WriteLine("单轮次总体指标环境搜索覆盖面积:" + allTotalTaskPerformance.环境搜索覆盖面积);
+                //Console.WriteLine("单轮次总体指标任务是否成功:" + allTotalTaskPerformance.任务是否成功);
+                //Console.WriteLine("单轮次总体指标人员存活率:" + allTotalTaskPerformance.人员存活率);
+                //Console.WriteLine("===============================================================");
 
-                Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
+                //Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
 
-                if (self.isSea)
-                {
-                    report["总任务表现"] = new Dictionary<string, string>
-                {
-                    { "识别成功率", allTotalTaskPerformance.识别成功率.ToString() },
-                    { "任务准备时间", allTotalTaskPerformance.任务准备时间.ToString() },
-                    { "平均搜索时间", allTotalTaskPerformance.平均搜索时间.ToString() },
-                    { "平均救助时间", allTotalTaskPerformance.平均救助时间.ToString() },
-                    { "总飞行时间", allTotalTaskPerformance.总飞行时间.ToString() },
-                    { "海上搜索覆盖面积", allTotalTaskPerformance.海上搜索覆盖面积.ToString() },
-                    { "任务是否成功", allTotalTaskPerformance.任务是否成功.ToString() },
-                    { "人员存活率", allTotalTaskPerformance.人员存活率.ToString() }
-                };
-                }
-                else if (self.isLand)
-                {
-                    report["总任务表现"] = new Dictionary<string, string>
-                {
-                    { "识别成功率", allTotalTaskPerformance.识别成功率.ToString() },
-                    { "任务准备时间", allTotalTaskPerformance.任务准备时间.ToString() },
-                    { "平均搜索时间", allTotalTaskPerformance.平均搜索时间.ToString() },
-                    { "平均救助时间", allTotalTaskPerformance.平均救助时间.ToString() },
-                    { "总飞行时间", allTotalTaskPerformance.总飞行时间.ToString() },
-                    { "环境搜索覆盖面积", allTotalTaskPerformance.环境搜索覆盖面积.ToString() },
-                    { "任务是否成功", allTotalTaskPerformance.任务是否成功.ToString() },
-                    { "人员存活率", allTotalTaskPerformance.人员存活率.ToString() }
-                };
-                }
+                //if (self.isSea)
+                //{
+                //    report["总任务表现"] = new Dictionary<string, string>
+                //{
+                //    { "识别成功率", allTotalTaskPerformance.识别成功率.ToString() },
+                //    { "任务准备时间", allTotalTaskPerformance.任务准备时间.ToString() },
+                //    { "平均搜索时间", allTotalTaskPerformance.平均搜索时间.ToString() },
+                //    { "平均救助时间", allTotalTaskPerformance.平均救助时间.ToString() },
+                //    { "总飞行时间", allTotalTaskPerformance.总飞行时间.ToString() },
+                //    { "海上搜索覆盖面积", allTotalTaskPerformance.海上搜索覆盖面积.ToString() },
+                //    { "任务是否成功", allTotalTaskPerformance.任务是否成功.ToString() },
+                //    { "人员存活率", allTotalTaskPerformance.人员存活率.ToString() }
+                //};
+                //}
+                //else if (self.isLand)
+                //{
+                //    report["总任务表现"] = new Dictionary<string, string>
+                //    {
+                //    { "识别成功率", allTotalTaskPerformance.识别成功率.ToString() },
+                //    { "任务准备时间", allTotalTaskPerformance.任务准备时间.ToString() },
+                //    { "平均搜索时间", allTotalTaskPerformance.平均搜索时间.ToString() },
+                //    { "平均救助时间", allTotalTaskPerformance.平均救助时间.ToString() },
+                //    { "总飞行时间", allTotalTaskPerformance.总飞行时间.ToString() },
+                //    { "环境搜索覆盖面积", allTotalTaskPerformance.环境搜索覆盖面积.ToString() },
+                //    { "任务是否成功", allTotalTaskPerformance.任务是否成功.ToString() },
+                //    { "人员存活率", allTotalTaskPerformance.人员存活率.ToString() }
+                //    };
+                //}
 
-                self.SaveSeaSJ(report);
+                //self.SaveSeaSJ(report);
             }
-            self.ReportAllSJSea();
+            //self.ReportAllSJSea();
             isReport = true;
 
             Console.WriteLine("所有任务执行完成");

+ 22 - 0
SimulationServer/Entity/AircraftXCJJ.cs

@@ -18,6 +18,8 @@ public class AircraftXCJJ : AircraftEntity
 
     public List<double> jiuzhuTimes = new List<double>();
 
+    public Dictionary<string,string> reportInfo = new Dictionary<string,string>();
+
     public override void End()
     {
         TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
@@ -29,6 +31,7 @@ public class AircraftXCJJ : AircraftEntity
         IsOver = false;
         Success = false;
         TotalTime = 0;
+        reportInfo = new Dictionary<string, string>();
     }
 
     public override void Start()
@@ -129,6 +132,25 @@ public class AircraftXCJJ : AircraftEntity
         }
         Console.WriteLine("TotalTime:" + TotalTime);
 
+        reportInfo.Add("准备时间", TaskReadyTime.ToString());
+        double reachTime = 0;
+        for (int i = 2; i < 4; i++)
+        {
+            reachTime += TurningPoints[i].SegmentFlightTime;
+        }
+        reportInfo.Add("到达时间", TaskReadyTime.ToString());
+        reportInfo.Add("任务周期时间", TotalTime.ToString());
+        reportInfo.Add("执行任务飞机型号", Name);
+        reportInfo.Add("执行任务飞机数量", "1");
+        reportInfo.Add("单机飞行员人数", "1");
+        reportInfo.Add("单机医师人数", "1");
+        reportInfo.Add("单机护士人数", "1");
+        reportInfo.Add("单机重症监护护理人员人数", "0");
+        reportInfo.Add("单机地面保障人数", "1");
+        reportInfo.Add("单机总任务时长", TotalTime.ToString());
+        reportInfo.Add("单机机场使用情况", Airport);
+        reportInfo.Add("任务缓急情况", "紧急");
+
         IsOver = true;
         End();
     }

+ 17 - 0
SimulationServer/Entity/AircraftYLWPYS.cs

@@ -15,6 +15,8 @@ public class AircraftYLWPYS : AircraftEntity
     public bool Success;
     public TaskParameter taskParameter;
 
+    public Dictionary<string, string> reportInfo = new Dictionary<string, string>();
+
     public override void End()
     {
         TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
@@ -26,6 +28,7 @@ public class AircraftYLWPYS : AircraftEntity
         IsOver = false;
         Success = false;
         TotalTime = 0;
+        reportInfo = new Dictionary<string, string>();
     }
 
     public override void Start()
@@ -54,6 +57,20 @@ public class AircraftYLWPYS : AircraftEntity
         }
         Console.WriteLine("TotalTime:" + TotalTime);
 
+        reportInfo.Add("准备时间", TaskReadyTime.ToString());
+        double reachTime = 0;
+        for (int i = 2; i < 4; i++)
+        {
+            reachTime += TurningPoints[i].SegmentFlightTime;
+        }
+        reportInfo.Add("到达时间", TaskReadyTime.ToString());
+        reportInfo.Add("任务周期时间", TotalTime.ToString());
+        reportInfo.Add("执行任务飞机型号", Name);
+        reportInfo.Add("执行任务飞机数量", "1");
+        reportInfo.Add("单机操作员人数", taskParameter.operatorPersonnel.ToString());
+        reportInfo.Add("单机地面保障人数", taskParameter.groundSupportPersonnel.ToString());
+        reportInfo.Add("单机总任务时长", TotalTime.ToString());
+
         IsOver = true;
         End();
     }

+ 22 - 0
SimulationServer/Entity/AircraftYLZY.cs

@@ -17,6 +17,8 @@ public class AircraftYLZY : AircraftEntity
 
     public MissionEndPoint hospitalPoint;
 
+    public Dictionary<string, string> reportInfo = new Dictionary<string, string>();
+
     public override void End()
     {
         TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
@@ -28,6 +30,7 @@ public class AircraftYLZY : AircraftEntity
         IsOver = false;
         Success = false;
         TotalTime = 0;
+        reportInfo = new Dictionary<string, string>();
     }
 
     public override void Start()
@@ -106,6 +109,25 @@ public class AircraftYLZY : AircraftEntity
         }
         Console.WriteLine("TotalTime:" + TotalTime);
 
+        reportInfo.Add("准备时间", TaskReadyTime.ToString());
+        double reachTime = 0;
+        for (int i = 2; i < 4; i++)
+        {
+            reachTime += TurningPoints[i].SegmentFlightTime;
+        }
+        reportInfo.Add("到达时间", TaskReadyTime.ToString());
+        reportInfo.Add("任务周期时间", TotalTime.ToString());
+        reportInfo.Add("执行任务飞机型号", Name);
+        reportInfo.Add("执行任务飞机数量", "1");
+        reportInfo.Add("单机飞行员人数", taskParameter.pilotPersonnel.ToString());
+        reportInfo.Add("单机医师人数", taskParameter.doctorPersonnel.ToString());
+        reportInfo.Add("单机护士人数", taskParameter.nursePersonnel.ToString());
+        reportInfo.Add("单机重症监护护理人员人数", taskParameter.nurseSeverePersonnel.ToString());
+        reportInfo.Add("单机地面保障人数", taskParameter.groundSupportPersonnel.ToString());
+        reportInfo.Add("单机总任务时长", TotalTime.ToString());
+        reportInfo.Add("单机机场使用情况", Airport);
+        reportInfo.Add("任务缓急情况", "提前规划");
+
         IsOver = true;
         End();
     }

+ 3 - 3
SimulationServer/Entity/XCJJMission.cs

@@ -112,7 +112,7 @@ public class XCJJMission : Entity
 
             if (staticCapacity == null) continue;
 
-            staticCapacity.FillData2(aircraftEntity.Db);
+            staticCapacity.FillData7(aircraftEntity.Db,aircraftEntity.reportInfo);
 
             string key = aircraftEntity.AircraftId;
 
@@ -121,7 +121,7 @@ public class XCJJMission : Entity
                 singleReport[key] = new Dictionary<string, Dictionary<string, List<string>>>();
             }
 
-            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport2();
+            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport7();
             foreach (var kv in staticReport)
             {
                 if (!singleReport[key].ContainsKey(kv.Key)) singleReport[key][kv.Key] = new Dictionary<string, List<string>>();
@@ -165,7 +165,7 @@ public class XCJJMission : Entity
         if (!Directory.Exists(path)) Directory.CreateDirectory(path);
         foreach (var kv in singleReport)
         {
-            string filePath = $"{path}/{kv.Key}救任务单机指标报告.xls";
+            string filePath = $"{path}/{kv.Key}现场急救任务单机指标报告.xls";
             DataTableExtensions.SaveToExcel(filePath, kv.Value, true);
         }
     }

+ 3 - 3
SimulationServer/Entity/YLWPYSMission.cs

@@ -112,7 +112,7 @@ public class YLWPYSMission : Entity
 
             if (staticCapacity == null) continue;
 
-            staticCapacity.FillData2(aircraftEntity.Db);
+            staticCapacity.FillData9(aircraftEntity.Db, aircraftEntity.reportInfo);
 
             string key = aircraftEntity.AircraftId;
 
@@ -121,7 +121,7 @@ public class YLWPYSMission : Entity
                 singleReport[key] = new Dictionary<string, Dictionary<string, List<string>>>();
             }
 
-            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport2();
+            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport9();
             foreach (var kv in staticReport)
             {
                 if (!singleReport[key].ContainsKey(kv.Key)) singleReport[key][kv.Key] = new Dictionary<string, List<string>>();
@@ -166,7 +166,7 @@ public class YLWPYSMission : Entity
         if (!Directory.Exists(path)) Directory.CreateDirectory(path);
         foreach (var kv in singleReport)
         {
-            string filePath = $"{path}/{kv.Key}搜救任务单机指标报告.xls";
+            string filePath = $"{path}/{kv.Key}医疗物品运送任务单机指标报告.xls";
             DataTableExtensions.SaveToExcel(filePath, kv.Value, true);
         }
     }

+ 3 - 3
SimulationServer/Entity/YLZYMission.cs

@@ -112,7 +112,7 @@ public class YLZYMission : Entity
 
             if (staticCapacity == null) continue;
 
-            staticCapacity.FillData2(aircraftEntity.Db);
+            staticCapacity.FillData8(aircraftEntity.Db, aircraftEntity.reportInfo);
 
             string key = aircraftEntity.AircraftId;
 
@@ -121,7 +121,7 @@ public class YLZYMission : Entity
                 singleReport[key] = new Dictionary<string, Dictionary<string, List<string>>>();
             }
 
-            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport2();
+            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport8();
             foreach (var kv in staticReport)
             {
                 if (!singleReport[key].ContainsKey(kv.Key)) singleReport[key][kv.Key] = new Dictionary<string, List<string>>();
@@ -166,7 +166,7 @@ public class YLZYMission : Entity
         if (!Directory.Exists(path)) Directory.CreateDirectory(path);
         foreach (var kv in singleReport)
         {
-            string filePath = $"{path}/{kv.Key}搜救任务单机指标报告.xls";
+            string filePath = $"{path}/{kv.Key}医疗转运任务单机指标报告.xls";
             DataTableExtensions.SaveToExcel(filePath, kv.Value, true);
         }
     }

+ 6 - 6
SimulationServer/EventHandler/CreateTaskEventHandler.cs

@@ -663,7 +663,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 mission.aircrafts.Add(aircraft);
                 aircraft.taskContent = config.XCJJTask;
                 aircraft.AircraftId = config.XCJJTask.aircraftInfos[i].AircraftId;
-
+                aircraft.Airport = originBase.BaseName;
                 var hospital = config.EditorConfig.hospitals.Find(t => t.BaseName == config.XCJJTask.missionInformation.Hospital);
                 aircraft.hospitalPoint = new MissionEndPoint()
                 {
@@ -680,7 +680,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                     }
                 }
 
-                //aircraft.AddComponent<SJStaticCapacityComponent>();
+                aircraft.AddComponent<SJStaticCapacityComponent>();
                 Log.Info($"创建机型 : {flightPlanEditor.aircraftparameter.AircraftID}");
             }
 
@@ -718,7 +718,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 mission.aircrafts.Add(aircraft);
                 aircraft.taskContent = config.YLZYTask;
                 aircraft.AircraftId = config.YLZYTask.aircraftInfos[i].AircraftId;
-
+                aircraft.Airport = originBase.BaseName;
                 var hospital = config.EditorConfig.hospitals.Find(t => t.BaseName == config.YLZYTask.missionInformation.Hospital);
                 aircraft.hospitalPoint = new MissionEndPoint()
                 {
@@ -735,7 +735,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                     }
                 }
 
-                //aircraft.AddComponent<SJStaticCapacityComponent>();
+                aircraft.AddComponent<SJStaticCapacityComponent>();
                 Log.Info($"创建机型 : {flightPlanEditor.aircraftparameter.AircraftID}");
             }
 
@@ -773,7 +773,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 mission.aircrafts.Add(aircraft);
                 aircraft.taskContent = config.YLWPYSTask;
                 aircraft.AircraftId = config.YLWPYSTask.aircraftInfos[i].AircraftId;
-
+                aircraft.Airport = originBase.BaseName;
                 foreach (var item in config.YLWPYSTask.YLWPYSParameters)
                 {
                     if (item.AircraftId == aircraft.AircraftId)
@@ -782,7 +782,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                     }
                 }
 
-                //aircraft.AddComponent<SJStaticCapacityComponent>();
+                aircraft.AddComponent<SJStaticCapacityComponent>();
                 Log.Info($"创建机型 : {flightPlanEditor.aircraftparameter.AircraftID}");
             }
 

+ 8 - 8
SimulationServer/EventHandler/ServerStartEventHandler.cs

@@ -216,14 +216,14 @@ public class ServerStartEventHandler : AEvent<ServerStart>
             //break;
         }
 
-        //绞车吊载转运任务
-        foreach (var JCDZZYTask in taskConfig.JCDZZYTasks)
-        {
-            taskSys.missionCount++;
-            Game.EventSystem.Publish(new CreateJCDZZYTask
-            { EditorConfig = editorConfig, JCDZZYTask = JCDZZYTask });
-            //break;
-        }
+        ////绞车吊载转运任务
+        //foreach (var JCDZZYTask in taskConfig.JCDZZYTasks)
+        //{
+        //    taskSys.missionCount++;
+        //    Game.EventSystem.Publish(new CreateJCDZZYTask
+        //    { EditorConfig = editorConfig, JCDZZYTask = JCDZZYTask });
+        //    //break;
+        //}
 
         taskSys.ExecutionContext = editorConfig.runCounts;
         taskSys.Start();

BIN
SimulationServer/bin/Debug/net7.0/SimulationServer.dll


BIN
SimulationServer/bin/Debug/net7.0/SimulationServer.exe


BIN
SimulationServer/bin/Debug/net7.0/SimulationServer.pdb