Prechádzať zdrojové kódy

添加根据飞机类型输出不同报告功能

liyang 4 dní pred
rodič
commit
d7a2adf2eb

+ 258 - 125
SimulationServer/Component/SJStaticCapacityComponent.cs

@@ -301,7 +301,7 @@ public class SJStaticCapacityComponent : Component
         SJStaticCapacity.有效探测距离 = 2.ToString();
     }
 
-    public void FillData7(AircraftDB db,Dictionary<string, string> reportInfo)
+    public void FillData7(AircraftDB db, Dictionary<string, string> reportInfo)
     {
         var aircraft = GetParent<AircraftXCJJ>();
 
@@ -432,145 +432,278 @@ public class SJStaticCapacityComponent : Component
         SJStaticCapacity.医疗药品 = reportInfo["医疗药品"];
     }
 
-    public Dictionary<string, Dictionary<string, string>> GetReport9()
+    public Dictionary<string, Dictionary<string, string>> GetReport9(string aricraftTpe)
     {
         Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
-        report["静态能力"] = new Dictionary<string, string>
+        report.Add("静态能力", new Dictionary<string, string>());
+       // report["静态能力"] = new Dictionary<string, string>
+       // {
+       //     { "最大飞行速度", SJStaticCapacity.最大飞行速度.ToString() },
+       //     { "最大航程", SJStaticCapacity.最大航程.ToString() },
+       //     { "设备种类与数量", SJStaticCapacity.设备种类与数量.ToString() },
+       //     { "设备可靠性", SJStaticCapacity.设备可靠性.ToString() },
+       //     { "信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString() },
+       //     { "导航精度", SJStaticCapacity.导航精度.ToString() },
+       //     { "紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString() },
+       //     { "抗风险能力", SJStaticCapacity.抗风险能力.ToString() },
+
+        //     { "准备时间/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() },
+        //     { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
+        //     { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
+        //     { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
+        //     { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
+        //     { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
+        //     { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
+        //};
+
+        report["静态能力"].Add("最大飞行速度", SJStaticCapacity.最大飞行速度.ToString());
+        report["静态能力"].Add("最大航程", SJStaticCapacity.最大航程.ToString());
+        report["静态能力"].Add("设备种类与数量", SJStaticCapacity.设备种类与数量.ToString());
+        report["静态能力"].Add("设备可靠性", SJStaticCapacity.设备可靠性.ToString());
+        report["静态能力"].Add("信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString());
+        report["静态能力"].Add("导航精度", SJStaticCapacity.导航精度.ToString());
+        report["静态能力"].Add("紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString());
+        report["静态能力"].Add("抗风险能力", SJStaticCapacity.抗风险能力.ToString());
+        report["静态能力"].Add("准备时间/s", SJStaticCapacity.准备时间.ToString());
+        report["静态能力"].Add("到达时间/s", SJStaticCapacity.到达时间.ToString());
+        report["静态能力"].Add("任务周期时间/s", SJStaticCapacity.任务周期时间.ToString());
+        report["静态能力"].Add("资源利用效率", SJStaticCapacity.资源利用效率.ToString());
+        report["静态能力"].Add("航程利用率", SJStaticCapacity.航程利用率.ToString());
+        report["静态能力"].Add("燃油效率", SJStaticCapacity.燃油效率.ToString());
+        report["静态能力"].Add("环境适应性", SJStaticCapacity.环境适应性.ToString());
+        if (aricraftTpe == "直升机")
+        {
+            report["静态能力"].Add("直升机发动机类型等", SJStaticCapacity.直升机发动机类型等.ToString());
+            report["静态能力"].Add("直升机旋翼总面积等", SJStaticCapacity.直升机旋翼总面积等.ToString());
+        }
+        else if (aricraftTpe == "固定翼")
+        {
+            report["静态能力"].Add("固定翼飞机空重等", SJStaticCapacity.固定翼飞机空重等.ToString());
+            report["静态能力"].Add("固定翼飞机最大起飞重量等", SJStaticCapacity.固定翼飞机最大起飞重量等.ToString());
+        }
+        else if (aricraftTpe == "无人机")
         {
-            { "最大飞行速度", SJStaticCapacity.最大飞行速度.ToString() },
-            { "最大航程", SJStaticCapacity.最大航程.ToString() },
-            { "设备种类与数量", SJStaticCapacity.设备种类与数量.ToString() },
-            { "设备可靠性", SJStaticCapacity.设备可靠性.ToString() },
-            { "信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString() },
-            { "导航精度", SJStaticCapacity.导航精度.ToString() },
-            { "紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString() },
-            { "抗风险能力", SJStaticCapacity.抗风险能力.ToString() },
-
-            { "准备时间/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() },
-            { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
-            { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
-            { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
-            { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
-            { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
-            { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
-       };
+            report["静态能力"].Add("无人机翼展等", SJStaticCapacity.无人机翼展等.ToString());
+            report["静态能力"].Add("无人机空重等", SJStaticCapacity.无人机空重等.ToString());
+        }
+        report["静态能力"].Add("执行任务飞机型号", SJStaticCapacity.执行任务飞机型号.ToString());
+        report["静态能力"].Add("执行任务飞机数量", SJStaticCapacity.执行任务飞机数量.ToString());
+        report["静态能力"].Add("单机操作员人数", SJStaticCapacity.单机操作员人数.ToString());
+        report["静态能力"].Add("单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString());
+        report["静态能力"].Add("单机总任务时长", SJStaticCapacity.单机总任务时长.ToString());
+        report["静态能力"].Add("单机总油耗", SJStaticCapacity.单机总油耗.ToString());
+        report["静态能力"].Add("单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString());
+        report["静态能力"].Add("医疗任务设备", SJStaticCapacity.医疗任务设备.ToString());
+        report["静态能力"].Add("医疗药品", SJStaticCapacity.医疗药品.ToString());
         return report;
     }
 
-    public Dictionary<string, Dictionary<string, string>> GetReport8()
+    public Dictionary<string, Dictionary<string, string>> GetReport8(string aricraftTpe)
     {
         Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
-        report["静态能力"] = new Dictionary<string, string>
+        report.Add("静态能力", new Dictionary<string, string>());
+        // report["静态能力"] = new Dictionary<string, string>
+        // {
+        //     { "最大飞行速度", SJStaticCapacity.最大飞行速度.ToString() },
+        //     { "最大航程", SJStaticCapacity.最大航程.ToString() },
+        //     { "设备种类与数量", SJStaticCapacity.设备种类与数量.ToString() },
+        //     { "设备可靠性", SJStaticCapacity.设备可靠性.ToString() },
+        //     { "信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString() },
+        //     { "导航精度", SJStaticCapacity.导航精度.ToString() },
+        //     { "紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString() },
+        //     { "抗风险能力", SJStaticCapacity.抗风险能力.ToString() },
+
+        //     { "准备时间/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() },
+        //     { "单机护士人数", SJStaticCapacity.单机护士人数.ToString() },
+        //     { "单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString() },
+        //     { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
+        //     { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
+        //     { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
+        //     { "单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString() },
+        //     { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
+        //     { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
+        //     { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
+        //     { "任务缓急情况", SJStaticCapacity.任务缓急情况.ToString() },
+        //};
+
+        report["静态能力"].Add("最大飞行速度", SJStaticCapacity.最大飞行速度.ToString());
+        report["静态能力"].Add("最大航程", SJStaticCapacity.最大航程.ToString());
+        report["静态能力"].Add("设备种类与数量", SJStaticCapacity.设备种类与数量.ToString());
+        report["静态能力"].Add("设备可靠性", SJStaticCapacity.设备可靠性.ToString());
+        report["静态能力"].Add("信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString());
+        report["静态能力"].Add("导航精度", SJStaticCapacity.导航精度.ToString());
+        report["静态能力"].Add("紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString());
+        report["静态能力"].Add("抗风险能力", SJStaticCapacity.抗风险能力.ToString());
+        report["静态能力"].Add("准备时间/s", SJStaticCapacity.准备时间.ToString());
+        report["静态能力"].Add("到达时间/s", SJStaticCapacity.到达时间.ToString());
+        report["静态能力"].Add("任务周期时间/s", SJStaticCapacity.任务周期时间.ToString());
+        report["静态能力"].Add("资源利用效率", SJStaticCapacity.资源利用效率.ToString());
+        report["静态能力"].Add("航程利用率", SJStaticCapacity.航程利用率.ToString());
+        report["静态能力"].Add("燃油效率", SJStaticCapacity.燃油效率.ToString());
+        report["静态能力"].Add("环境适应性", SJStaticCapacity.环境适应性.ToString());
+        if (aricraftTpe == "直升机")
+        {
+            report["静态能力"].Add("直升机发动机类型等", SJStaticCapacity.直升机发动机类型等.ToString());
+            report["静态能力"].Add("直升机旋翼总面积等", SJStaticCapacity.直升机旋翼总面积等.ToString());
+        }
+        else if (aricraftTpe == "固定翼")
         {
-            { "最大飞行速度", SJStaticCapacity.最大飞行速度.ToString() },
-            { "最大航程", SJStaticCapacity.最大航程.ToString() },
-            { "设备种类与数量", SJStaticCapacity.设备种类与数量.ToString() },
-            { "设备可靠性", SJStaticCapacity.设备可靠性.ToString() },
-            { "信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString() },
-            { "导航精度", SJStaticCapacity.导航精度.ToString() },
-            { "紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString() },
-            { "抗风险能力", SJStaticCapacity.抗风险能力.ToString() },
-
-            { "准备时间/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() },
-            { "单机医师人数", SJStaticCapacity.单机医师人数.ToString() },
-            { "单机护士人数", SJStaticCapacity.单机护士人数.ToString() },
-            { "单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString() },
-            { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
-            { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
-            { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
-            { "单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString() },
-            { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
-            { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
-            { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
-            { "任务缓急情况", SJStaticCapacity.任务缓急情况.ToString() },
-       };
+            report["静态能力"].Add("固定翼飞机空重等", SJStaticCapacity.固定翼飞机空重等.ToString());
+            report["静态能力"].Add("固定翼飞机最大起飞重量等", SJStaticCapacity.固定翼飞机最大起飞重量等.ToString());
+        }
+        else if (aricraftTpe == "无人机")
+        {
+            report["静态能力"].Add("无人机翼展等", SJStaticCapacity.无人机翼展等.ToString());
+            report["静态能力"].Add("无人机空重等", SJStaticCapacity.无人机空重等.ToString());
+        }
+        report["静态能力"].Add("执行任务飞机型号", SJStaticCapacity.执行任务飞机型号.ToString());
+        report["静态能力"].Add("执行任务飞机数量", SJStaticCapacity.执行任务飞机数量.ToString());
+        report["静态能力"].Add("单机飞行员人数", SJStaticCapacity.单机飞行员人数.ToString());
+        report["静态能力"].Add("单机医师人数", SJStaticCapacity.单机医师人数.ToString());
+        report["静态能力"].Add("单机护士人数", SJStaticCapacity.单机护士人数.ToString());
+        report["静态能力"].Add("单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString());
+        report["静态能力"].Add("单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString());
+        report["静态能力"].Add("单机总任务时长", SJStaticCapacity.单机总任务时长.ToString());
+        report["静态能力"].Add("单机总油耗", SJStaticCapacity.单机总油耗.ToString());
+        report["静态能力"].Add("单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString());
+        report["静态能力"].Add("单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString());
+        report["静态能力"].Add("医疗任务设备", SJStaticCapacity.医疗任务设备.ToString());
+        report["静态能力"].Add("医疗药品", SJStaticCapacity.医疗药品.ToString());
+        report["静态能力"].Add("任务缓急情况", SJStaticCapacity.任务缓急情况.ToString());
         return report;
     }
 
-    public Dictionary<string, Dictionary<string, string>> GetReport7()
+    public Dictionary<string, Dictionary<string, string>> GetReport7(string aricraftTpe)
     {
         Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
-        report["静态能力"] = new Dictionary<string, string>
+        report.Add("静态能力", new Dictionary<string, string>());
+        // report["静态能力"] = new Dictionary<string, string>
+        // {
+        //     { "最大飞行速度", SJStaticCapacity.最大飞行速度.ToString() },
+        //     { "最大航程", SJStaticCapacity.最大航程.ToString() },
+        //     { "设备种类与数量", SJStaticCapacity.设备种类与数量.ToString() },
+        //     { "设备可靠性", SJStaticCapacity.设备可靠性.ToString() },
+        //     { "信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString() },
+        //     { "导航精度", SJStaticCapacity.导航精度.ToString() },
+        //     { "紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString() },
+        //     { "抗风险能力", SJStaticCapacity.抗风险能力.ToString() },
+
+        //     { "准备时间/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() },
+        //     { "单机医师人数", SJStaticCapacity.单机医师人数.ToString() },
+        //     { "单机护士人数", SJStaticCapacity.单机护士人数.ToString() },
+        //     { "单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString() },
+        //     { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
+        //     { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
+        //     { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
+        //     { "单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString() },
+        //     { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
+        //     { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
+        //     { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
+        //     { "任务缓急情况", SJStaticCapacity.任务缓急情况.ToString() },
+        //};
+
+        report["静态能力"].Add("最大飞行速度", SJStaticCapacity.最大飞行速度.ToString());
+        report["静态能力"].Add("最大航程", SJStaticCapacity.最大航程.ToString());
+        report["静态能力"].Add("设备种类与数量", SJStaticCapacity.设备种类与数量.ToString());
+        report["静态能力"].Add("设备可靠性", SJStaticCapacity.设备可靠性.ToString());
+        report["静态能力"].Add("信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString());
+        report["静态能力"].Add("导航精度", SJStaticCapacity.导航精度.ToString());
+        report["静态能力"].Add("紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString());
+        report["静态能力"].Add("抗风险能力", SJStaticCapacity.抗风险能力.ToString());
+        report["静态能力"].Add("准备时间/s", SJStaticCapacity.准备时间.ToString());
+        report["静态能力"].Add("到达时间/s", SJStaticCapacity.到达时间.ToString());
+        report["静态能力"].Add("任务周期时间/s", SJStaticCapacity.任务周期时间.ToString());
+        report["静态能力"].Add("资源利用效率", SJStaticCapacity.资源利用效率.ToString());
+        report["静态能力"].Add("航程利用率", SJStaticCapacity.航程利用率.ToString());
+        report["静态能力"].Add("燃油效率", SJStaticCapacity.燃油效率.ToString());
+        report["静态能力"].Add("存活率", SJStaticCapacity.存活率.ToString());
+        report["静态能力"].Add("环境适应性", SJStaticCapacity.环境适应性.ToString());
+        if (aricraftTpe == "直升机")
+        {
+            report["静态能力"].Add("直升机发动机类型等", SJStaticCapacity.直升机发动机类型等.ToString());
+            report["静态能力"].Add("直升机旋翼总面积等", SJStaticCapacity.直升机旋翼总面积等.ToString());
+        }
+        else if (aricraftTpe == "固定翼")
+        {
+            report["静态能力"].Add("固定翼飞机空重等", SJStaticCapacity.固定翼飞机空重等.ToString());
+            report["静态能力"].Add("固定翼飞机最大起飞重量等", SJStaticCapacity.固定翼飞机最大起飞重量等.ToString());
+        }
+        else if (aricraftTpe == "无人机")
         {
-            { "最大飞行速度", SJStaticCapacity.最大飞行速度.ToString() },
-            { "最大航程", SJStaticCapacity.最大航程.ToString() },
-            { "设备种类与数量", SJStaticCapacity.设备种类与数量.ToString() },
-            { "设备可靠性", SJStaticCapacity.设备可靠性.ToString() },
-            { "信号覆盖范围", SJStaticCapacity.信号覆盖范围.ToString() },
-            { "导航精度", SJStaticCapacity.导航精度.ToString() },
-            { "紧急着陆能力", SJStaticCapacity.紧急着陆能力.ToString() },
-            { "抗风险能力", SJStaticCapacity.抗风险能力.ToString() },
-
-            { "准备时间/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() },
-            { "单机医师人数", SJStaticCapacity.单机医师人数.ToString() },
-            { "单机护士人数", SJStaticCapacity.单机护士人数.ToString() },
-            { "单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString() },
-            { "单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString() },
-            { "单机总任务时长", SJStaticCapacity.单机总任务时长.ToString() },
-            { "单机总油耗", SJStaticCapacity.单机总油耗.ToString() },
-            { "单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString() },
-            { "单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString() },
-            { "医疗任务设备", SJStaticCapacity.医疗任务设备.ToString() },
-            { "医疗药品", SJStaticCapacity.医疗药品.ToString() },
-            { "任务缓急情况", SJStaticCapacity.任务缓急情况.ToString() },
-       };
+            report["静态能力"].Add("无人机翼展等", SJStaticCapacity.无人机翼展等.ToString());
+            report["静态能力"].Add("无人机空重等", SJStaticCapacity.无人机空重等.ToString());
+        }
+        report["静态能力"].Add("执行任务飞机型号", SJStaticCapacity.执行任务飞机型号.ToString());
+        report["静态能力"].Add("执行任务飞机数量", SJStaticCapacity.执行任务飞机数量.ToString());
+        report["静态能力"].Add("单机飞行员人数", SJStaticCapacity.单机飞行员人数.ToString());
+        report["静态能力"].Add("单机医师人数", SJStaticCapacity.单机医师人数.ToString());
+        report["静态能力"].Add("单机护士人数", SJStaticCapacity.单机护士人数.ToString());
+        report["静态能力"].Add("单机重症监护护理人员人数", SJStaticCapacity.单机重症监护护理人员人数.ToString());
+        report["静态能力"].Add("单机地面保障人数", SJStaticCapacity.单机地面保障人数.ToString());
+        report["静态能力"].Add("单机总任务时长", SJStaticCapacity.单机总任务时长.ToString());
+        report["静态能力"].Add("单机总油耗", SJStaticCapacity.单机总油耗.ToString());
+        report["静态能力"].Add("单机机场使用情况", SJStaticCapacity.单机机场使用情况.ToString());
+        report["静态能力"].Add("单机导航使用情况", SJStaticCapacity.单机导航使用情况.ToString());
+        report["静态能力"].Add("医疗任务设备", SJStaticCapacity.医疗任务设备.ToString());
+        report["静态能力"].Add("医疗药品", SJStaticCapacity.医疗药品.ToString());
+        report["静态能力"].Add("任务缓急情况", SJStaticCapacity.任务缓急情况.ToString());
         return report;
     }
 

+ 2 - 0
SimulationServer/Entity/AircraftEntity.cs

@@ -22,6 +22,8 @@ public class AircraftEntity : Entity
 
     public YLDBData ylDb { get; set; } // 医疗数据库参数
 
+    public string AircraftType { get; set; } // 飞机类型
+
     //搜索时间
     public double SearchTime { get; set; }
 

+ 1 - 1
SimulationServer/Entity/XCJJMission.cs

@@ -121,7 +121,7 @@ public class XCJJMission : Entity
                 singleReport[key] = new Dictionary<string, Dictionary<string, List<string>>>();
             }
 
-            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport7();
+            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport7(aircraftEntity.AircraftType);
             foreach (var kv in staticReport)
             {
                 if (!singleReport[key].ContainsKey(kv.Key)) singleReport[key][kv.Key] = new Dictionary<string, List<string>>();

+ 1 - 1
SimulationServer/Entity/YLWPYSMission.cs

@@ -121,7 +121,7 @@ public class YLWPYSMission : Entity
                 singleReport[key] = new Dictionary<string, Dictionary<string, List<string>>>();
             }
 
-            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport9();
+            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport9(aircraftEntity.AircraftType);
             foreach (var kv in staticReport)
             {
                 if (!singleReport[key].ContainsKey(kv.Key)) singleReport[key][kv.Key] = new Dictionary<string, List<string>>();

+ 1 - 1
SimulationServer/Entity/YLZYMission.cs

@@ -121,7 +121,7 @@ public class YLZYMission : Entity
                 singleReport[key] = new Dictionary<string, Dictionary<string, List<string>>>();
             }
 
-            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport8();
+            Dictionary<string, Dictionary<string, string>> staticReport = staticCapacity.GetReport8(aircraftEntity.AircraftType);
             foreach (var kv in staticReport)
             {
                 if (!singleReport[key].ContainsKey(kv.Key)) singleReport[key][kv.Key] = new Dictionary<string, List<string>>();

+ 3 - 0
SimulationServer/EventHandler/CreateTaskEventHandler.cs

@@ -668,6 +668,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 {
                     aircraft.load.Add(aircraftParameter.taskLoad[j]);
                 }
+                aircraft.AircraftType = aircraftParameter.AircraftSubType;
                 aircraft.hospitalAirport = config.XCJJTask.missionInformation.Hospital;
                 var hospital = config.EditorConfig.hospitals.Find(t => t.BaseName == config.XCJJTask.missionInformation.Hospital);
                 aircraft.hospitalPoint = new MissionEndPoint()
@@ -728,6 +729,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 {
                     aircraft.load.Add(aircraftParameter.taskLoad[j]);
                 }
+                aircraft.AircraftType = aircraftParameter.AircraftSubType;
                 aircraft.hospitalAirport = config.YLZYTask.missionInformation.Hospital;
                 var hospital = config.EditorConfig.hospitals.Find(t => t.BaseName == config.YLZYTask.missionInformation.Hospital);
                 aircraft.hospitalPoint = new MissionEndPoint()
@@ -787,6 +789,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 {
                     aircraft.load.Add(aircraftParameter.taskLoad[j]);
                 }
+                aircraft.AircraftType = aircraftParameter.AircraftSubType;
                 foreach (var item in config.YLWPYSTask.YLWPYSParameters)
                 {
                     if (item.AircraftId == aircraft.AircraftId)

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


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


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