Преглед на файлове

修改配置文件及相应代码,添加医疗数据库读取部分代码

liyang преди 2 седмици
родител
ревизия
a74e3d485b
променени са 27 файла, в които са добавени 98 реда и са изтрити 38 реда
  1. BIN
      KYFramework/bin/Debug/net7.0/KYFramework.dll
  2. BIN
      KYFramework/bin/Debug/net7.0/KYFramework.pdb
  3. BIN
      KYFramework/bin/Debug/net7.0/ThirdParty.dll
  4. BIN
      KYFramework/bin/Debug/net7.0/ThirdParty.pdb
  5. 12 0
      Models/SimulationCommon/AircraftDB.cs
  6. 2 0
      Models/SimulationCommon/EditorConfig.cs
  7. 14 0
      Models/SimulationCommon/TaskConfig.cs
  8. 3 0
      SimulationServer/Entity/AircraftEntity.cs
  9. 3 3
      SimulationServer/Entity/AircraftXCJJ.cs
  10. 29 30
      SimulationServer/Entity/XCJJMission.cs
  11. 4 0
      SimulationServer/Utils/HttpInterface.cs
  12. 18 1
      SimulationServer/Utils/Util.cs
  13. BIN
      SimulationServer/bin/Debug/net7.0/KYFramework.dll
  14. BIN
      SimulationServer/bin/Debug/net7.0/KYFramework.pdb
  15. BIN
      SimulationServer/bin/Debug/net7.0/KYNetwork.dll
  16. BIN
      SimulationServer/bin/Debug/net7.0/KYNetwork.pdb
  17. 3 2
      SimulationServer/bin/Debug/net7.0/Missions/editor_config.json
  18. 10 2
      SimulationServer/bin/Debug/net7.0/Missions/task_config.json
  19. BIN
      SimulationServer/bin/Debug/net7.0/SimulationCommon.dll
  20. BIN
      SimulationServer/bin/Debug/net7.0/SimulationCommon.pdb
  21. BIN
      SimulationServer/bin/Debug/net7.0/SimulationServer.dll
  22. BIN
      SimulationServer/bin/Debug/net7.0/SimulationServer.exe
  23. BIN
      SimulationServer/bin/Debug/net7.0/SimulationServer.pdb
  24. BIN
      SimulationServer/bin/Debug/net7.0/ThirdParty.dll
  25. BIN
      SimulationServer/bin/Debug/net7.0/ThirdParty.pdb
  26. BIN
      ThirdParty/bin/Debug/net7.0/ThirdParty.dll
  27. BIN
      ThirdParty/bin/Debug/net7.0/ThirdParty.pdb

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


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


BIN
KYFramework/bin/Debug/net7.0/ThirdParty.dll


BIN
KYFramework/bin/Debug/net7.0/ThirdParty.pdb


+ 12 - 0
Models/SimulationCommon/AircraftDB.cs

@@ -62,4 +62,16 @@ public class AircraftDB
     // public float fqjyxzdfscf90;
     // public float fqjyxzdfsnf;
     // public float fpjhyl;
+}
+
+public class YLDB
+{
+    public string msg;
+    public int code;
+    public string data;
+}
+
+public class YLDBData
+{
+    public double time;
 }

+ 2 - 0
Models/SimulationCommon/EditorConfig.cs

@@ -83,6 +83,8 @@ public class TaskLoad
     public bool Infusion;
     [JsonProperty("绞车型号")]
     public string WinchModel;
+    [JsonProperty("医疗药品")]
+    public bool Drug;
 }
 
 public class FirePoint

+ 14 - 0
Models/SimulationCommon/TaskConfig.cs

@@ -136,6 +136,20 @@ public class TaskParameter
     public double liftWeight;
     [JsonProperty("吊载速度")]
     public double liftSpeed;
+    [JsonProperty("单机飞行员人数")]
+    public int pilotPersonnel;
+    [JsonProperty("单机飞行工程师人数")]
+    public int engineerPersonnel;
+    [JsonProperty("单机医师人数")]
+    public int doctorPersonnel;
+    [JsonProperty("单机护士人数")]
+    public int nursePersonnel;
+    [JsonProperty("单机重症监护护理人员人数")]
+    public int nurseSeverePersonnel;
+    [JsonProperty("单机地面保障人数")]
+    public int groundSupportPersonnel;
+    [JsonProperty("单机操作员人数")]
+    public int operatorPersonnel;
 }
 
 public class MissionPoint

+ 3 - 0
SimulationServer/Entity/AircraftEntity.cs

@@ -20,6 +20,8 @@ public class AircraftEntity : Entity
     public double TaskResponseTime { get; set; } = 600; // 任务响应时间
     public double EffMisTime { get; set; } // 单机有效任务时长
 
+    public YLDBData ylDb { get; set; } // 医疗数据库参数
+
     //搜索时间
     public double SearchTime { get; set; }
 
@@ -36,6 +38,7 @@ public class AircraftEntity : Entity
     public void Awake()
     {
         Db = Util.GetAircraftDefine(FlightPlanEditor.aircraftparameter.AircraftType, FlightPlanEditor.aircraftparameter.AircraftSubType, FlightPlanEditor.aircraftparameter.AircraftID);
+        ylDb = Util.GetYL(FlightPlanEditor.aircraftparameter.AircraftType, FlightPlanEditor.aircraftparameter.AircraftSubType, FlightPlanEditor.aircraftparameter.AircraftID);
 
         if (Db.f_zdqfzl != null)
             FlightPlanEditor.aircraftparameter.MaxTakeoffWeight = double.Parse(Db.f_zdqfzl.ToString());

+ 3 - 3
SimulationServer/Entity/AircraftXCJJ.cs

@@ -3,7 +3,7 @@ using MathNet.Numerics.Distributions;
 using Model;
 using MongoDB.Bson;
 using SimulationCommon;
-using static SimulationServer.AircraftXCJJ;
+using SimulationServer.Utils;
 
 namespace SimulationServer;
 
@@ -20,6 +20,7 @@ public class AircraftXCJJ : AircraftEntity
     public bool isReadNC;
 
     Text_readNC text_ReadNC;
+
     public override void End()
     {
         TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
@@ -48,7 +49,6 @@ public class AircraftXCJJ : AircraftEntity
             text_ReadNC = new Text_readNC();
             text_ReadNC.initlatitudes = FlightPlanEditor.medicalTargetPoint[0].TargetPointLatitude;
             text_ReadNC.initlongitudes = FlightPlanEditor.medicalTargetPoint[0].TargetPointLongitude;
-            //text_ReadNC = new Text_readNC();
             bool isSuccess = false;
             while (!isSuccess)
             {
@@ -71,6 +71,7 @@ public class AircraftXCJJ : AircraftEntity
         Console.WriteLine("Latitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude + "_" + "Longitude:" + FlightPlanEditor.missionpoint.MissionPointLongitude + "_" + "Height:" + FlightPlanEditor.missionpoint.MissionPointHeight);
 
         FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);//生成从起点到任务段起点的航路点
+
         //// 吊运上升速度  吊运下降速度 Task文件读取 // Editor里读天气根据时间
         //resulttime = get_result_time_rope(taskParameter.Height, taskParameter.liftPersonnel, windSpeed, vis, taskParameter.liftUpSpeed, taskParameter.liftDownSpeed).time;//索滑降模型输出的索滑降时间
         //Console.WriteLine("resulttime:" + resulttime);
@@ -87,7 +88,6 @@ public class AircraftXCJJ : AircraftEntity
         }
         //Console.WriteLine("time:" + time); 
 
-        // 假设前端输入  
         int patientCount = FlightPlanEditor.medicalTargetPoint[0].TargetType.Count; // 伤患人数
         List<string> diseaseTypes = new List<string>();
         for (int i = 0; i < FlightPlanEditor.medicalTargetPoint[0].TargetType.diseaseTypes.Length; i++)

+ 29 - 30
SimulationServer/Entity/XCJJMission.cs

@@ -72,35 +72,35 @@ public class XCJJMission : Entity
     {
         foreach (AircraftXCJJ aircraftEntity in aircrafts)
         {
-            string key = aircraftEntity.AircraftId;
-            if (!aircraftSJDatas.ContainsKey(key))
-            {
-                aircraftSJDatas[key] = new Dictionary<string, List<string>>();
-            }
-            if (!aircraftSJDatas[key].ContainsKey("识别成功率"))
-                aircraftSJDatas[key]["识别成功率"] = new List<string>();
-            aircraftSJDatas[key]["识别成功率"].Add("0");
-            if (!aircraftSJDatas[key].ContainsKey("识别数量"))
-                aircraftSJDatas[key]["识别数量"] = new List<string>();
-            aircraftSJDatas[key]["识别数量"].Add("0");
-            if (!aircraftSJDatas[key].ContainsKey("人员数量"))
-                aircraftSJDatas[key]["人员数量"] = new List<string>();
-            aircraftSJDatas[key]["人员数量"].Add(aircraftEntity.targetCount.ToString());
-            if (!aircraftSJDatas[key].ContainsKey("任务准备时间"))
-                aircraftSJDatas[key]["任务准备时间"] = new List<string>();
-            aircraftSJDatas[key]["任务准备时间"].Add(aircraftEntity.TaskReadyTime.ToString());
-            if (!aircraftSJDatas[key].ContainsKey("平均搜索时间"))
-                aircraftSJDatas[key]["平均搜索时间"] = new List<string>();
-            aircraftSJDatas[key]["平均搜索时间"].Add("0");
-            if (!aircraftSJDatas[key].ContainsKey("平均救助时间"))
-                aircraftSJDatas[key]["平均救助时间"] = new List<string>();
-            aircraftSJDatas[key]["平均救助时间"].Add(aircraftEntity.resulttime.ToString());
-            if (!aircraftSJDatas[key].ContainsKey("总飞行时间"))
-                aircraftSJDatas[key]["总飞行时间"] = new List<string>();
-            aircraftSJDatas[key]["总飞行时间"].Add(aircraftEntity.TotalTime.ToString());
-            if (!aircraftSJDatas[key].ContainsKey("人员存活率"))
-                aircraftSJDatas[key]["人员存活率"] = new List<string>();
-            aircraftSJDatas[key]["人员存活率"].Add(aircraftEntity.Success ? aircraftEntity.targetCount.ToString() : "0");
+            //string key = aircraftEntity.AircraftId;
+            //if (!aircraftSJDatas.ContainsKey(key))
+            //{
+            //    aircraftSJDatas[key] = new Dictionary<string, List<string>>();
+            //}
+            //if (!aircraftSJDatas[key].ContainsKey("识别成功率"))
+            //    aircraftSJDatas[key]["识别成功率"] = new List<string>();
+            //aircraftSJDatas[key]["识别成功率"].Add("0");
+            //if (!aircraftSJDatas[key].ContainsKey("识别数量"))
+            //    aircraftSJDatas[key]["识别数量"] = new List<string>();
+            //aircraftSJDatas[key]["识别数量"].Add("0");
+            //if (!aircraftSJDatas[key].ContainsKey("人员数量"))
+            //    aircraftSJDatas[key]["人员数量"] = new List<string>();
+            //aircraftSJDatas[key]["人员数量"].Add(aircraftEntity.targetCount.ToString());
+            //if (!aircraftSJDatas[key].ContainsKey("任务准备时间"))
+            //    aircraftSJDatas[key]["任务准备时间"] = new List<string>();
+            //aircraftSJDatas[key]["任务准备时间"].Add(aircraftEntity.TaskReadyTime.ToString());
+            //if (!aircraftSJDatas[key].ContainsKey("平均搜索时间"))
+            //    aircraftSJDatas[key]["平均搜索时间"] = new List<string>();
+            //aircraftSJDatas[key]["平均搜索时间"].Add("0");
+            //if (!aircraftSJDatas[key].ContainsKey("平均救助时间"))
+            //    aircraftSJDatas[key]["平均救助时间"] = new List<string>();
+            //aircraftSJDatas[key]["平均救助时间"].Add(aircraftEntity.resulttime.ToString());
+            //if (!aircraftSJDatas[key].ContainsKey("总飞行时间"))
+            //    aircraftSJDatas[key]["总飞行时间"] = new List<string>();
+            //aircraftSJDatas[key]["总飞行时间"].Add(aircraftEntity.TotalTime.ToString());
+            //if (!aircraftSJDatas[key].ContainsKey("人员存活率"))
+            //    aircraftSJDatas[key]["人员存活率"] = new List<string>();
+            //aircraftSJDatas[key]["人员存活率"].Add(aircraftEntity.Success ? aircraftEntity.targetCount.ToString() : "0");
         }
     }
 
@@ -161,7 +161,6 @@ public class XCJJMission : Entity
 
     public void ReportSJ()
     {
-        //string data = DateTime.Now.ToString("yyyy-MM-dd");
         string path = $"Reports/{date}/{MissionId}";
         if (!Directory.Exists(path)) Directory.CreateDirectory(path);
         foreach (var kv in singleReport)

+ 4 - 0
SimulationServer/Utils/HttpInterface.cs

@@ -13,4 +13,8 @@ public class HttpInterface
     public static string temperature = $"{baseUrl}rescue-platform-service/api/v1/attribute/getInfos";
     //油耗
     public static string fuel = $"{baseUrl}rescue-platform-service/api/v1/tbTables/queryOilConsumeInfo";
+
+    // 医疗
+    public static string yl = $"{baseUrl}rescue-platform-service/api/v1/tbMeteorology/getInfosByJHName";
+
 }

+ 18 - 1
SimulationServer/Utils/Util.cs

@@ -1,3 +1,4 @@
+using System.Runtime.CompilerServices;
 using System.Text.Json.Nodes;
 using KYFramework;
 using KYFramework.Network;
@@ -64,7 +65,23 @@ public class Util
     
         return define.zs[0];
     }
-    
+
+    // 医疗
+    public static YLDBData GetYL(string aircraftType, string aircraftSubType, string aircraftID)
+    {
+        string content = HttpManager.Get(HttpInterface.yl, new List<string>
+        {
+            "fType","fSubtype","fName","limit"
+        }, new List<string>
+        {
+            aircraftType,aircraftSubType,aircraftID,"1"
+        });
+
+        var yl = JsonHelper.FromJson<YLDB>(content);
+        var result = JsonHelper.FromJson<YLDBData>(yl.data);
+        return result;
+    }
+
     public static Weather GetWeather(string province_name, string city_name, string data)
     {
         string content = HttpManager.Get(HttpInterface.weather ,new List<string>

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


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


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


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


+ 3 - 2
SimulationServer/bin/Debug/net7.0/Missions/editor_config.json

@@ -1,5 +1,5 @@
 {
-    "仿真次数": 1,
+    "仿真次数": 10,
     "想定信息": {
         "想定日期": "2024年9月11日",
         "想定时间": "00时00分00秒"
@@ -65,7 +65,8 @@
                 "搬运和固定装备": true,
                 "诊断和监测装备": true,
                 "外伤装备": true,
-                "输液装备": true
+                "输液装备": true,
+                "医疗药品": true
             }
         }
     ],

+ 10 - 2
SimulationServer/bin/Debug/net7.0/Missions/task_config.json

@@ -72,7 +72,13 @@
                 {
                     "应用飞机编号": "1-1",
                     "交接时间": 300.0,
-                    "单次转运人数": 2
+                    "单次转运人数": 1,
+                    "单机飞行员人数": 1,
+                    "单机飞行工程师人数": 1,
+                    "单机医师人数": 1,
+                    "单机护士人数": 1,
+                    "单机重症监护护理人员人数": 1,
+                    "单机地面保障人数": 1
                 }
             ]
         }
@@ -107,7 +113,9 @@
             "任务参数": [
                 {
                     "应用飞机编号": "3-1",
-                    "交接时间": 300.0
+                    "交接时间": 300.0,
+                    "单机操作员人数": 1,
+                    "单机地面保障人数": 10
                 }
             ]
         }

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


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


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


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


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