Browse Source

修改报告中飞机属性数据库读取

liyang 3 months ago
parent
commit
9ee8d08c69

+ 1 - 1
Models/SimulationCommon/AircraftDB.cs

@@ -26,7 +26,7 @@ public class AircraftDB
     public object fzdwgz;
     //public float fzdqfzl;
     // public float ffjkz;
-    // public float fzdhc;
+    public float fzdhc;
     // public float fxhsj;
     public object fqfpdc;
     public object fqfpdk;

+ 62 - 56
SimulationServer/Component/SJStaticCapacityComponent.cs

@@ -306,29 +306,31 @@ public class SJStaticCapacityComponent : Component
         var aircraft = GetParent<AircraftXCJJ>();
 
         SJStaticCapacity.最大飞行速度 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.最大航程 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.设备可靠性 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.信号覆盖范围 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.导航精度 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.紧急着陆能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.抗风险能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.抗风险能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
+        SJStaticCapacity.最大航程 = db.fzdhc == null ? "0" : db.fzdhc.ToString();
+        SJStaticCapacity.设备可靠性 = "";
+        SJStaticCapacity.信号覆盖范围 = "";
+        SJStaticCapacity.导航精度 = "";
+        SJStaticCapacity.紧急着陆能力 = "";
+        SJStaticCapacity.抗风险能力 = "";
 
         SJStaticCapacity.准备时间 = reportInfo["准备时间"];
         SJStaticCapacity.到达时间 = reportInfo["到达时间"];
         SJStaticCapacity.任务周期时间 = reportInfo["任务周期时间"];
 
         SJStaticCapacity.资源利用效率 = "1";
-        SJStaticCapacity.航程利用率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(SJStaticCapacity.最大航程)).ToString();
+        if (Convert.ToDouble(SJStaticCapacity.最大航程) != 0)
+            SJStaticCapacity.航程利用率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(SJStaticCapacity.最大航程)).ToString();
+        else
+            SJStaticCapacity.航程利用率 = "0";
         SJStaticCapacity.燃油效率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(reportInfo["单机总油耗"])).ToString(); // 公里数/耗油量(L)
-        SJStaticCapacity.存活率 = "1"; // ?
-        SJStaticCapacity.环境适应性 = "1"; // ?
-        SJStaticCapacity.固定翼飞机空重等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.直升机发动机类型等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.无人机翼展等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.直升机旋翼总面积等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.固定翼飞机最大起飞重量等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.无人机空重等 = db.fzdss == null ? "0" : db.fzdss.ToString();
+        SJStaticCapacity.存活率 = "1";
+        SJStaticCapacity.环境适应性 = "";
+        SJStaticCapacity.固定翼飞机空重等 = "";
+        SJStaticCapacity.直升机发动机类型等 = "";
+        SJStaticCapacity.无人机翼展等 = "";
+        SJStaticCapacity.直升机旋翼总面积等 = "";
+        SJStaticCapacity.固定翼飞机最大起飞重量等 = "";
+        SJStaticCapacity.无人机空重等 = "";
 
         SJStaticCapacity.执行任务飞机型号 = reportInfo["执行任务飞机型号"];
         SJStaticCapacity.执行任务飞机数量 = reportInfo["执行任务飞机数量"];
@@ -351,28 +353,30 @@ public class SJStaticCapacityComponent : Component
         var aircraft = GetParent<AircraftYLZY>();
 
         SJStaticCapacity.最大飞行速度 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.最大航程 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.设备可靠性 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.信号覆盖范围 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.导航精度 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.紧急着陆能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.抗风险能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.抗风险能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
+        SJStaticCapacity.最大航程 = db.fzdhc == null ? "0" : db.fzdhc.ToString();
+        SJStaticCapacity.设备可靠性 = "";
+        SJStaticCapacity.信号覆盖范围 = "";
+        SJStaticCapacity.导航精度 = "";
+        SJStaticCapacity.紧急着陆能力 = "";
+        SJStaticCapacity.抗风险能力 = "";
 
         SJStaticCapacity.准备时间 = reportInfo["准备时间"];
         SJStaticCapacity.到达时间 = reportInfo["到达时间"];
         SJStaticCapacity.任务周期时间 = reportInfo["任务周期时间"];
 
         SJStaticCapacity.资源利用效率 = "1";
-        SJStaticCapacity.航程利用率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(SJStaticCapacity.最大航程)).ToString();
+        if (Convert.ToDouble(SJStaticCapacity.最大航程) != 0)
+            SJStaticCapacity.航程利用率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(SJStaticCapacity.最大航程)).ToString();
+        else
+            SJStaticCapacity.航程利用率 = "0";
         SJStaticCapacity.燃油效率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(reportInfo["单机总油耗"])).ToString(); // 公里数/耗油量(L)
-        SJStaticCapacity.环境适应性 = "1"; // ?
-        SJStaticCapacity.固定翼飞机空重等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.直升机发动机类型等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.无人机翼展等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.直升机旋翼总面积等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.固定翼飞机最大起飞重量等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.无人机空重等 = db.fzdss == null ? "0" : db.fzdss.ToString();
+        SJStaticCapacity.环境适应性 = "";
+        SJStaticCapacity.固定翼飞机空重等 = "";
+        SJStaticCapacity.直升机发动机类型等 = "";
+        SJStaticCapacity.无人机翼展等 = "";
+        SJStaticCapacity.直升机旋翼总面积等 = "";
+        SJStaticCapacity.固定翼飞机最大起飞重量等 = "";
+        SJStaticCapacity.无人机空重等 = "";
 
         SJStaticCapacity.执行任务飞机型号 = reportInfo["执行任务飞机型号"];
         SJStaticCapacity.执行任务飞机数量 = reportInfo["执行任务飞机数量"];
@@ -395,28 +399,30 @@ public class SJStaticCapacityComponent : Component
         var aircraft = GetParent<AircraftYLWPYS>();
 
         SJStaticCapacity.最大飞行速度 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.最大航程 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.设备可靠性 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.信号覆盖范围 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.导航精度 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.紧急着陆能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.抗风险能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.抗风险能力 = db.fzdss == null ? "0" : db.fzdss.ToString();
+        SJStaticCapacity.最大航程 = db.fzdhc == null ? "0" : db.fzdhc.ToString();
+        SJStaticCapacity.设备可靠性 = "";
+        SJStaticCapacity.信号覆盖范围 = "";
+        SJStaticCapacity.导航精度 = "";
+        SJStaticCapacity.紧急着陆能力 = "";
+        SJStaticCapacity.抗风险能力 = "";
 
         SJStaticCapacity.准备时间 = reportInfo["准备时间"];
         SJStaticCapacity.到达时间 = reportInfo["到达时间"];
         SJStaticCapacity.任务周期时间 = reportInfo["任务周期时间"];
 
         SJStaticCapacity.资源利用效率 = "1";
-        SJStaticCapacity.航程利用率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(SJStaticCapacity.最大航程)).ToString();
+        if (Convert.ToDouble(SJStaticCapacity.最大航程) != 0)
+            SJStaticCapacity.航程利用率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(SJStaticCapacity.最大航程)).ToString();
+        else
+            SJStaticCapacity.航程利用率 = "0";
         SJStaticCapacity.燃油效率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(reportInfo["单机总油耗"])).ToString(); // 公里数/耗油量(L)
-        SJStaticCapacity.环境适应性 = "1"; // ?
-        SJStaticCapacity.固定翼飞机空重等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.直升机发动机类型等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.无人机翼展等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.直升机旋翼总面积等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.固定翼飞机最大起飞重量等 = db.fzdss == null ? "0" : db.fzdss.ToString();
-        SJStaticCapacity.无人机空重等 = db.fzdss == null ? "0" : db.fzdss.ToString();
+        SJStaticCapacity.环境适应性 = "";
+        SJStaticCapacity.固定翼飞机空重等 = "";
+        SJStaticCapacity.直升机发动机类型等 = "";
+        SJStaticCapacity.无人机翼展等 = "";
+        SJStaticCapacity.直升机旋翼总面积等 = "";
+        SJStaticCapacity.固定翼飞机最大起飞重量等 = "";
+        SJStaticCapacity.无人机空重等 = "";
 
         SJStaticCapacity.执行任务飞机型号 = reportInfo["执行任务飞机型号"];
         SJStaticCapacity.执行任务飞机数量 = reportInfo["执行任务飞机数量"];
@@ -433,16 +439,16 @@ public class SJStaticCapacityComponent : Component
     {
         Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, 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() },
+        // 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() },

+ 16 - 16
SimulationServer/EventHandler/ServerStartEventHandler.cs

@@ -198,23 +198,23 @@ public class ServerStartEventHandler : AEvent<ServerStart>
             //break;
         }
 
-        ////医疗转运任务
-        //foreach (var YLZYTask in taskConfig.YLZYTasks)
-        //{
-        //    taskSys.missionCount++;
-        //    Game.EventSystem.Publish(new CreateYLZYTask
-        //    { EditorConfig = editorConfig, YLZYTask = YLZYTask });
-        //    //break;
-        //}
+        //医疗转运任务
+        foreach (var YLZYTask in taskConfig.YLZYTasks)
+        {
+            taskSys.missionCount++;
+            Game.EventSystem.Publish(new CreateYLZYTask
+            { EditorConfig = editorConfig, YLZYTask = YLZYTask });
+            //break;
+        }
 
-        ////医疗物品运送
-        //foreach (var YLWPYSTask in taskConfig.YLWPYSTasks)
-        //{
-        //    taskSys.missionCount++;
-        //    Game.EventSystem.Publish(new CreateYLWPYSTask
-        //    { EditorConfig = editorConfig, YLWPYSTask = YLWPYSTask });
-        //    //break;
-        //}
+        //医疗物品运送
+        foreach (var YLWPYSTask in taskConfig.YLWPYSTasks)
+        {
+            taskSys.missionCount++;
+            Game.EventSystem.Publish(new CreateYLWPYSTask
+            { EditorConfig = editorConfig, YLWPYSTask = YLWPYSTask });
+            //break;
+        }
 
         ////绞车吊载转运任务
         //foreach (var JCDZZYTask in taskConfig.JCDZZYTasks)

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


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


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


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


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