|
@@ -16,6 +16,9 @@ public class AircraftXCJJ : AircraftEntity
|
|
|
public TaskParameter taskParameter;
|
|
|
public GetNCData getNCData;
|
|
|
public double resulttime;
|
|
|
+ public MissionEndPoint hospitalPoint;
|
|
|
+
|
|
|
+ public List<double> jiuzhuTimes = new List<double>();
|
|
|
|
|
|
public bool isReadNC;
|
|
|
|
|
@@ -36,57 +39,11 @@ public class AircraftXCJJ : AircraftEntity
|
|
|
|
|
|
public override void Start()
|
|
|
{
|
|
|
- if (!isReadNC)
|
|
|
- {
|
|
|
- getNCData = new GetNCData();
|
|
|
- getNCData.initlatitudes = FlightPlanEditor.medicalTargetPoint[0].TargetPointLatitude;
|
|
|
- getNCData.initlongitudes = FlightPlanEditor.medicalTargetPoint[0].TargetPointLongitude;
|
|
|
- bool isSuccess3 = false;
|
|
|
- while (!isSuccess3)
|
|
|
- {
|
|
|
- isSuccess3 = getNCData.GetData();
|
|
|
- }
|
|
|
- text_ReadNC = new Text_readNC();
|
|
|
- text_ReadNC.initlatitudes = FlightPlanEditor.medicalTargetPoint[0].TargetPointLatitude;
|
|
|
- text_ReadNC.initlongitudes = FlightPlanEditor.medicalTargetPoint[0].TargetPointLongitude;
|
|
|
- bool isSuccess = false;
|
|
|
- while (!isSuccess)
|
|
|
- {
|
|
|
- isSuccess = text_ReadNC.GetNCData();
|
|
|
- }
|
|
|
- isReadNC = true;
|
|
|
- }
|
|
|
-
|
|
|
- int hour = Convert.ToInt32(taskContent.missionInformation.StartTime.Split("时")[0]);
|
|
|
- int Day = Convert.ToInt32(taskContent.missionInformation.StartDate.Split("年")[1].Split("月")[1].Split("日")[0]);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
FlightPlanEditor.missionpoint.MissionPointLatitude = FlightPlanEditor.medicalTargetPoint[0].TargetPointLatitude;
|
|
|
FlightPlanEditor.missionpoint.MissionPointLongitude = FlightPlanEditor.medicalTargetPoint[0].TargetPointLongitude;
|
|
|
FlightPlanEditor.missionpoint.MissionPointHeight = FlightPlanEditor.medicalTargetPoint[0].TargetPointHeight;
|
|
|
- Console.WriteLine("Latitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude + "_" + "Longitude:" + FlightPlanEditor.missionpoint.MissionPointLongitude + "_" + "Height:" + FlightPlanEditor.missionpoint.MissionPointHeight);
|
|
|
-
|
|
|
- FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- FXJHGenerate.FromMissionToEnd(FlightPlanEditor, FXJHGenerate.SuoHuaJiangMissionEndPoint(FlightPlanEditor), ref TurningPoints);
|
|
|
- FXJHGenerate.FXJHTPDiedai(FlightPlanEditor, ref TurningPoints, Velocitys, FuelConsumptions);
|
|
|
-
|
|
|
-
|
|
|
- double time = 0;
|
|
|
- for (int i = 0; i < TurningPoints.Count - 1; i++)
|
|
|
- {
|
|
|
- time += TurningPoints[i].SegmentFlightTime;
|
|
|
- }
|
|
|
-
|
|
|
+ Console.WriteLine("Latitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude + "_" + "Longitude:" + FlightPlanEditor.missionpoint.MissionPointLongitude + "_" + "Height:" + FlightPlanEditor.missionpoint.MissionPointHeight);
|
|
|
|
|
|
int patientCount = FlightPlanEditor.medicalTargetPoint[0].TargetType.Count;
|
|
|
List<string> diseaseTypes = new List<string>();
|
|
@@ -99,7 +56,7 @@ public class AircraftXCJJ : AircraftEntity
|
|
|
|
|
|
double handoverTime = 5;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
double totalEmergencyTime = CalculateTotalEmergencyTime(diseaseTypes);
|
|
|
|
|
|
|
|
@@ -139,6 +96,39 @@ public class AircraftXCJJ : AircraftEntity
|
|
|
|
|
|
|
|
|
|
|
|
+ FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);
|
|
|
+ FXJHGenerate.JIJIU(totalTime, FlightPlanEditor, ref TurningPoints);
|
|
|
+ FXJHGenerate.JIJIU1(5 * 60, hospitalPoint, ref TurningPoints);
|
|
|
+
|
|
|
+ for (int i = 0; i < FlightPlanEditor.medicalTargetPoint[0].TargetType.Count - 1; i++)
|
|
|
+ {
|
|
|
+ FXJHGenerate.JIJIU(5 * 60, FlightPlanEditor, ref TurningPoints);
|
|
|
+ FXJHGenerate.JIJIU1(5 * 60, hospitalPoint, ref TurningPoints);
|
|
|
+ }
|
|
|
+
|
|
|
+ FXJHGenerate.FromMissionToEnd(FlightPlanEditor, hospitalPoint, ref TurningPoints);
|
|
|
+ FXJHGenerate.FXJHTPDiedai(FlightPlanEditor, ref TurningPoints, Velocitys, FuelConsumptions);
|
|
|
+
|
|
|
+ double time = 0;
|
|
|
+ for (int i = 2; i < 5; i++)
|
|
|
+ {
|
|
|
+ time += TurningPoints[i].SegmentFlightTime;
|
|
|
+ }
|
|
|
+ jiuzhuTimes.Add(time);
|
|
|
+
|
|
|
+ int p = 5;
|
|
|
+ int c = 0;
|
|
|
+ for (int i = p; i < FlightPlanEditor.medicalTargetPoint[0].TargetType.Count * 4 + 1; i++)
|
|
|
+ {
|
|
|
+ time += TurningPoints[i].SegmentFlightTime;
|
|
|
+ c++;
|
|
|
+ if(c == 4)
|
|
|
+ {
|
|
|
+ jiuzhuTimes.Add(time);
|
|
|
+ c = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
for (int i = 0; i < TurningPoints.Count; i++)
|
|
|
{
|
|
|
TotalTime += TurningPoints[i].SegmentFlightTime;
|