Quellcode durchsuchen

现场急救输出报告存活率赋值

liyang vor 1 Tag
Ursprung
Commit
bab30e2880

+ 1 - 1
SimulationServer/Component/SJStaticCapacityComponent.cs

@@ -323,7 +323,7 @@ public class SJStaticCapacityComponent : Component
         else
             SJStaticCapacity.航程利用率 = "0";
         SJStaticCapacity.燃油效率 = (Convert.ToDouble(reportInfo["单机导航使用情况"]) / Convert.ToDouble(reportInfo["单机总油耗"])).ToString(); // 公里数/耗油量(L)
-        SJStaticCapacity.存活率 = "1";
+        SJStaticCapacity.存活率 = reportInfo["存活率"];
         SJStaticCapacity.环境适应性 = "";
         SJStaticCapacity.固定翼飞机空重等 = "";
         SJStaticCapacity.直升机发动机类型等 = "";

+ 23 - 9
SimulationServer/Entity/AircraftXCJJ.cs

@@ -54,14 +54,14 @@ public class AircraftXCJJ : AircraftEntity
             diseaseDatabase.Add(r[0], new DiseaseInfo { MinGoldenHour = Convert.ToDouble(r[1]), MaxGoldenHour = Convert.ToDouble(r[2]), Priority = Convert.ToDouble(r[3]), RescueTime = Convert.ToDouble(r[4]) });
         }
 
-        foreach (var item in diseaseDatabase)
-        {
-            Console.WriteLine("疾病类型:" + item.Key);
-            Console.WriteLine("最小黄金救援时间:" + item.Value.MinGoldenHour);
-            Console.WriteLine("最大黄金救援时间:" + item.Value.MaxGoldenHour);
-            Console.WriteLine("优先级:" + item.Value.Priority);
-            Console.WriteLine("抢救时间:" + item.Value.RescueTime);
-        }
+        //foreach (var item in diseaseDatabase)
+        //{
+        //    Console.WriteLine("疾病类型:" + item.Key);
+        //    Console.WriteLine("最小黄金救援时间:" + item.Value.MinGoldenHour);
+        //    Console.WriteLine("最大黄金救援时间:" + item.Value.MaxGoldenHour);
+        //    Console.WriteLine("优先级:" + item.Value.Priority);
+        //    Console.WriteLine("抢救时间:" + item.Value.RescueTime);
+        //}
 
         FlightPlanEditor.missionpoint.MissionPointLatitude = FlightPlanEditor.medicalTargetPoint[0].TargetPointLatitude;
         FlightPlanEditor.missionpoint.MissionPointLongitude = FlightPlanEditor.medicalTargetPoint[0].TargetPointLongitude;
@@ -155,6 +155,16 @@ public class AircraftXCJJ : AircraftEntity
             }
         }
 
+        double chl = 0;
+        for (int i = 0; i < jiuzhuTimes.Count; i++)
+        {
+            if (jiuzhuTimes[i] < sortedPatients[i].GoldenHour * 60)
+            {
+                chl++;
+            }
+            //Console.WriteLine("救助时间:" + jiuzhuTimes[i] + " 黄金救援时间:" + sortedPatients[i].GoldenHour * 60);
+        }
+        //Console.WriteLine("存活率:" + chl / sortedPatients.Count);
         for (int i = 0; i < TurningPoints.Count; i++) // 总飞行时间
         {
             TotalTime += TurningPoints[i].SegmentFlightTime; // 总时间   //仿真轮次1 数值1
@@ -171,6 +181,10 @@ public class AircraftXCJJ : AircraftEntity
         reportInfo.Add("到达时间", reachTime.ToString()); // 基地 -> 目标点
 
         reportInfo.Add("任务周期时间", TotalTime.ToString());
+        if (sortedPatients.Count != 0)
+            reportInfo.Add("存活率", (chl / sortedPatients.Count).ToString());
+        else
+            reportInfo.Add("存活率", "0");
         reportInfo.Add("执行任务飞机型号", Name);
         reportInfo.Add("执行任务飞机数量", "1");
         reportInfo.Add("单机飞行员人数", taskParameter.pilotPersonnel.ToString());
@@ -328,7 +342,7 @@ public class AircraftXCJJ : AircraftEntity
 
     public double GetPriority(string diseaseType)
     {
-    
+
         if (diseaseDatabase.ContainsKey(diseaseType))
         {
             return diseaseDatabase[diseaseType].Priority;

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


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


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