TaskConfig.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545
  1. using Newtonsoft.Json;
  2. namespace Model;
  3. public class MissionInformation
  4. {
  5. [JsonProperty("任务名称")]
  6. public string MissionName;
  7. [JsonProperty("任务ID")]
  8. public string MissionId;
  9. [JsonProperty("任务主要类型")]
  10. public string MissionMainType;
  11. [JsonProperty("任务类型")]
  12. public string MissionType;
  13. [JsonProperty("任务触发器")]
  14. public string MissionTrigger;
  15. [JsonProperty("下一个任务ID")]
  16. public string NextTaskId;
  17. [JsonProperty("目标点ID")]
  18. public int TargetPointId;
  19. [JsonProperty("目标点")]
  20. public string TargetPoint;
  21. [JsonProperty("转运医院")]
  22. public string Hospital;
  23. [JsonProperty("物资人员点")]
  24. public string GoodsPersonPoint;
  25. [JsonProperty("开始日期")]
  26. public string StartDate;
  27. [JsonProperty("开始时间")]
  28. public string StartTime;
  29. [JsonProperty("结束日期")]
  30. public string EndDate;
  31. [JsonProperty("结束时间")]
  32. public string EndTime;
  33. [JsonProperty("起飞准备时间")]
  34. public double TakeoffPreparationTime;
  35. //[JsonProperty("停止搜索时间")]
  36. //public double EndSearchTime;
  37. [JsonProperty("任务结束条件")]
  38. public TaskEndConditions TaskEndConditions;
  39. //[JsonProperty("应用航空器")]
  40. //public AircraftInfos[] aircraftInfos;
  41. }
  42. public class TaskEndConditions
  43. {
  44. [JsonProperty("结束条件")]
  45. public string EndConditions;
  46. [JsonProperty("任务时间")]
  47. public double TaskTime;
  48. [JsonProperty("执行次数")]
  49. public double RunCount;
  50. [JsonProperty("投送总人数")]
  51. public int person_number_Delivery;
  52. [JsonProperty("机降总人数")]
  53. public int person_number_Descent;
  54. [JsonProperty("救援人数")]
  55. public int person_number_Rescue;
  56. [JsonProperty("转运总人数")]
  57. public int person_number_Transport;
  58. [JsonProperty("空投物资总重量")]
  59. public double goodsWeight;
  60. [JsonProperty("吊载总人数")]
  61. public int person_number_Lift;
  62. }
  63. public class AircraftInfo
  64. {
  65. [JsonProperty("应用机型")]
  66. public string AircraftType;
  67. [JsonProperty("应用飞机编号")]
  68. public string AircraftId;
  69. [JsonProperty("加油基地")]
  70. public string RefuelingBase;
  71. //[JsonProperty("加油基地编号")]
  72. //public string RefuelingBaseId;
  73. [JsonProperty("任务结束返回点")]
  74. public string TaskEndReturnPoint;
  75. }
  76. public class TaskParameter
  77. {
  78. [JsonProperty("应用飞机编号")]
  79. public string AircraftId;
  80. [JsonProperty("索滑降高度")]
  81. public double H;
  82. [JsonProperty("投送人数")]
  83. public int person_number;
  84. [JsonProperty("风速")]
  85. public double windspeed;
  86. [JsonProperty("能见度")]
  87. public double vis;
  88. [JsonProperty("索滑降速度")]
  89. public double descendspeed;
  90. [JsonProperty("索滑降点")]
  91. public MissionPoint[] MissionPoints_SHJ;
  92. [JsonProperty("单机总机降人数")]
  93. public int LandingPersonnel;
  94. [JsonProperty("机降点")]
  95. public MissionPoint[] MissionPoints_JJJY;
  96. [JsonProperty("单次救援人数")]
  97. public int RescuePersonnel;
  98. [JsonProperty("观察盘旋圈数")]
  99. public int TurnsNumber;
  100. [JsonProperty("开伞空投")]
  101. public bool isParachute;
  102. [JsonProperty("空投重量")]
  103. public double airdropWeight;
  104. [JsonProperty("空投迎风面积")]
  105. public double airdropWindArea;
  106. [JsonProperty("空投方式")] // 悬停空投/带速空投"
  107. public string airdropWay;
  108. [JsonProperty("空投点")]
  109. public MissionPoint[] MissionPoints_KTKS;
  110. [JsonProperty("高度")]
  111. public double Height;
  112. [JsonProperty("吊运人数")]
  113. public int liftPersonnel;
  114. [JsonProperty("吊运上升速度")]
  115. public double liftUpSpeed;
  116. [JsonProperty("吊运下降速度")]
  117. public double liftDownSpeed;
  118. [JsonProperty("任务点")]
  119. public MissionPoint[] MissionPoints_KZDY;
  120. [JsonProperty("携带医护人员数量")]
  121. public int MedicalStaffCount;
  122. [JsonProperty("后续转运方式")]
  123. public string TransportationMethod;
  124. [JsonProperty("转运时间")]
  125. public double TransportationTime;
  126. [JsonProperty("交接时间")]
  127. public double HandoverTime;
  128. [JsonProperty("单次转运人数")]
  129. public int TransportPersonnel;
  130. [JsonProperty("吊载重量")]
  131. public double liftWeight;
  132. [JsonProperty("吊载速度")]
  133. public double liftSpeed;
  134. [JsonProperty("单机飞行员人数")]
  135. public int pilotPersonnel;
  136. [JsonProperty("单机飞行工程师人数")]
  137. public int engineerPersonnel;
  138. [JsonProperty("单机医师人数")]
  139. public int doctorPersonnel;
  140. [JsonProperty("单机护士人数")]
  141. public int nursePersonnel;
  142. [JsonProperty("单机重症监护护理人员人数")]
  143. public int nurseSeverePersonnel;
  144. [JsonProperty("单机地面保障人数")]
  145. public int groundSupportPersonnel;
  146. [JsonProperty("单机操作员人数")]
  147. public int operatorPersonnel;
  148. }
  149. public class MissionPoint
  150. {
  151. [JsonProperty("任务点经度")]
  152. public double MissionPointLongitude;
  153. [JsonProperty("任务点纬度")]
  154. public double MissionPointLatitude;
  155. [JsonProperty("任务点海拔")]
  156. public double MissionPointHeight;
  157. }
  158. public class ZCTask
  159. {
  160. [JsonProperty("任务信息")]
  161. public MissionInformation missionInformation;
  162. [JsonProperty("应用航空器")]
  163. public AircraftInfo[] aircraftInfos;
  164. [JsonProperty("侦查方式")]
  165. public ZCMethod[] ZCMethods;
  166. //[JsonProperty("矩形侦查区域边界点")]
  167. //public List<double[]> poly;
  168. //[JsonProperty("扫描线间距")]
  169. //public double ScanRange;
  170. //[JsonProperty("侦查飞行真高")]
  171. //public double hSC;
  172. //[JsonProperty("是否真实高度")]
  173. //public bool isRealHeight;
  174. //[JsonProperty("是否环绕模式")]
  175. //public bool isSurround;
  176. //[JsonProperty("环绕圈数")]
  177. //public int SurroundNum;
  178. [JsonProperty("火点ID")]
  179. public int FirePointId;
  180. public MissionPoint[] MissionPoints;
  181. //[JsonProperty("下一个任务ID")]
  182. //public string NextTaskId;
  183. }
  184. public class ZCMethod
  185. {
  186. [JsonProperty("侦查方式")]
  187. public string Method;
  188. [JsonProperty("应用飞机编号")]
  189. public string AircraftId;
  190. [JsonProperty("矩形侦查区域边界点")]
  191. public List<double[]> Poly;
  192. [JsonProperty("扫描线间距")]
  193. public double ScanRange;
  194. [JsonProperty("侦查飞行真高")]
  195. public double hSC;
  196. [JsonProperty("是否真实高度")]
  197. public bool isRealHeight;
  198. [JsonProperty("是否环绕模式")]
  199. public bool isSurround;
  200. [JsonProperty("环绕圈数")]
  201. public int SurroundNum;
  202. }
  203. public class LandSouXunTask
  204. {
  205. [JsonProperty("任务信息")]
  206. public MissionInformation missionInformation;
  207. [JsonProperty("应用航空器")]
  208. public AircraftInfo[] aircraftInfos;
  209. [JsonProperty("协同模式")]
  210. public CollaborativeMode collaborativeMode;
  211. [JsonProperty("运行约束")]
  212. public RunConstraints RunConstraints;
  213. //搜索任务载荷
  214. [JsonProperty("搜索任务载荷")]
  215. public SearchMissionPayload[] missionSearchPayloads;
  216. //搜索方式
  217. [JsonProperty("搜索方式")]
  218. public SearchMissionMode[] SearchModes;
  219. //[JsonProperty("下一个任务ID")]
  220. //public string NextTaskId;
  221. }
  222. public class SeaSouJiuTask
  223. {
  224. [JsonProperty("任务信息")]
  225. public MissionInformation missionInformation;
  226. [JsonProperty("应用航空器")]
  227. public AircraftInfo[] aircraftInfos;
  228. [JsonProperty("协同模式")]
  229. public CollaborativeMode collaborativeMode;
  230. [JsonProperty("运行约束")]
  231. public RunConstraints RunConstraints;
  232. //[JsonProperty("目标点ID")]
  233. //public int TargetPointId;
  234. [JsonProperty("搜索任务载荷")]
  235. public SearchMissionPayload[] missionSearchPayloads;
  236. [JsonProperty("搜索方式")]
  237. public SearchMissionMode[] SearchModes;
  238. //[JsonProperty("下一个任务ID")]
  239. //public string NextTaskId;
  240. }
  241. public class SHJTask //索滑降救援任务
  242. {
  243. [JsonProperty("任务信息")]
  244. public MissionInformation missionInformation;
  245. [JsonProperty("应用航空器")]
  246. public AircraftInfo[] aircraftInfos;
  247. [JsonProperty("任务参数")]
  248. public TaskParameter[] SHJParameters;
  249. //[JsonProperty("索滑降高度")]
  250. //public double H;
  251. //[JsonProperty("投送人数")]
  252. //public int person_number;
  253. //[JsonProperty("风速")]
  254. //public double windspeed;
  255. //[JsonProperty("能见度")]
  256. //public double vis;
  257. //[JsonProperty("索滑降速度")]
  258. //public double descendspeed;
  259. //[JsonProperty("转运人数")]
  260. //public int personNumber;
  261. //[JsonProperty("索滑降点")]
  262. //public MissionPoint[] MissionPoints;
  263. //[JsonProperty("下一个任务ID")]
  264. //public string NextTaskId;
  265. }
  266. public class JJJYTask //机降救援任务
  267. {
  268. [JsonProperty("任务信息")]
  269. public MissionInformation missionInformation;
  270. [JsonProperty("应用航空器")]
  271. public AircraftInfo[] aircraftInfos;
  272. [JsonProperty("任务参数")]
  273. public TaskParameter[] JJJYParameters;
  274. //[JsonProperty("单机总机降人数")]
  275. //public double LandingPersonnel;
  276. //[JsonProperty("机降点")]
  277. //public MissionPoint[] MissionPoints;
  278. //[JsonProperty("下一个任务ID")]
  279. //public string NextTaskId;
  280. }
  281. public class ZSJYTask //着水救援任务
  282. {
  283. [JsonProperty("任务信息")]
  284. public MissionInformation missionInformation;
  285. [JsonProperty("应用航空器")]
  286. public AircraftInfo[] aircraftInfos;
  287. [JsonProperty("任务参数")]
  288. public TaskParameter[] ZSJYParameters;
  289. }
  290. public class KTKSTask //空投空送任务
  291. {
  292. [JsonProperty("任务信息")]
  293. public MissionInformation missionInformation;
  294. [JsonProperty("应用航空器")]
  295. public AircraftInfo[] aircraftInfos;
  296. [JsonProperty("任务参数")]
  297. public TaskParameter[] KTKSParameters;
  298. }
  299. public class KZDYTask //空中吊运救援任务
  300. {
  301. [JsonProperty("任务信息")]
  302. public MissionInformation missionInformation;
  303. [JsonProperty("应用航空器")]
  304. public AircraftInfo[] aircraftInfos;
  305. [JsonProperty("任务参数")]
  306. public TaskParameter[] KZDYParameters;
  307. }
  308. public class XCJJTask //现场急救
  309. {
  310. [JsonProperty("任务信息")]
  311. public MissionInformation missionInformation;
  312. [JsonProperty("应用航空器")]
  313. public AircraftInfo[] aircraftInfos;
  314. [JsonProperty("任务参数")]
  315. public TaskParameter[] XCJJParameters;
  316. }
  317. public class YLZYTask //医疗转运任务
  318. {
  319. [JsonProperty("任务信息")]
  320. public MissionInformation missionInformation;
  321. [JsonProperty("应用航空器")]
  322. public AircraftInfo[] aircraftInfos;
  323. [JsonProperty("任务参数")]
  324. public TaskParameter[] YLZYParameters;
  325. }
  326. public class YLWPYSTask //医疗物品运送
  327. {
  328. [JsonProperty("任务信息")]
  329. public MissionInformation missionInformation;
  330. [JsonProperty("应用航空器")]
  331. public AircraftInfo[] aircraftInfos;
  332. [JsonProperty("任务参数")]
  333. public TaskParameter[] YLWPYSParameters;
  334. }
  335. public class JCDZZYTask //绞车吊载转运任务
  336. {
  337. [JsonProperty("任务信息")]
  338. public MissionInformation missionInformation;
  339. [JsonProperty("应用航空器")]
  340. public AircraftInfo[] aircraftInfos;
  341. [JsonProperty("任务参数")]
  342. public TaskParameter[] JCDZZYParameters;
  343. }
  344. public class DMMHTask
  345. {
  346. [JsonProperty("任务信息")]
  347. public MissionInformation missionInformation;
  348. [JsonProperty("应用航空器")]
  349. public AircraftInfo[] aircraftInfos;
  350. [JsonProperty("地面部署人数")]
  351. public double GroundPersonnel;
  352. [JsonProperty("机降人数")]
  353. public double LandingPersonnel;
  354. [JsonProperty("机降点")]
  355. public MissionPoint[] MissionPoints;
  356. [JsonProperty("下一个任务ID")]
  357. public string NextTaskId;
  358. }
  359. public class AirRoute
  360. {
  361. [JsonProperty("巡护航线名称")]
  362. public string AirRouteName;
  363. [JsonProperty("巡护航线点经度")]
  364. public double AirRouteLongitude;
  365. [JsonProperty("巡护航线点纬度")]
  366. public double AirRouteLatitude;
  367. [JsonProperty("巡护航线点海拔")]
  368. public double AirRouteHeight;
  369. }
  370. public class XHTask
  371. {
  372. public double DelayTime;
  373. [JsonProperty("任务信息")]
  374. public MissionInformation missionInformation;
  375. [JsonProperty("应用航空器")]
  376. public AircraftInfo[] aircraftInfos;
  377. [JsonProperty("巡护航线参数")]
  378. public AirRoute[] airroute;
  379. [JsonProperty("火点ID")]
  380. public int FirePointId;
  381. [JsonProperty("取水点")]
  382. public MissionPoint[] MissionPoints;
  383. [JsonProperty("下一个任务ID")]
  384. public string NextTaskId;
  385. }
  386. public class MHTask
  387. {
  388. [JsonProperty("任务信息")]
  389. public MissionInformation missionInformation;
  390. [JsonProperty("应用航空器")]
  391. public AircraftInfo[] aircraftInfos;
  392. [JsonProperty("取水点")]
  393. public MissionPoint[] MissionPoints;
  394. [JsonProperty("下一个任务ID")]
  395. public string NextTaskId;
  396. }
  397. public class CollaborativeMode
  398. {
  399. [JsonProperty("协同模式")]
  400. public string Mode;
  401. [JsonProperty("跟进间距")]
  402. public double Spacing;
  403. [JsonProperty("跟进高度差")]
  404. public double HeightDifference;
  405. }
  406. public class RunConstraints
  407. {
  408. [JsonProperty("搜寻速度")]
  409. public double searchSpeed;
  410. [JsonProperty("夜间工作")]
  411. public bool nightWork;
  412. [JsonProperty("搜索飞行速度限制")]
  413. public double speedLimit;
  414. }
  415. public class SearchMissionPayload //搜索任务载荷
  416. {
  417. [JsonProperty("任务载荷")]
  418. public string SearchPayload;
  419. [JsonProperty("应用飞机编号")]
  420. public string AircraftId;
  421. //探测波长(m)
  422. [JsonProperty("探测波长(m)")]
  423. public double DetectionWavelength;
  424. //最小可检测信号(dBm)
  425. [JsonProperty("最小可检测信号(dBm)")]
  426. public double MinDetectionSignal;
  427. //雷达发射机发射信号功率(dBm)
  428. [JsonProperty("雷达发射机发射信号功率(dBm)")]
  429. public double RadarTransmitterPower;
  430. //发射天线增益(dB)
  431. [JsonProperty("发射天线增益(dB)")]
  432. public double TransmitAntennaGain;
  433. //接受天线增益(dB)
  434. [JsonProperty("接受天线增益(dB)")]
  435. public double ReceiveAntennaGain;
  436. //光电转塔水平范围
  437. [JsonProperty("光电转塔水平范围")]
  438. public double OpticalTowerHorizontalRange;
  439. //红外探测器视场角
  440. [JsonProperty("红外探测器视场角")]
  441. public double InfraredDetectorFieldAngle;
  442. //背景亮度
  443. [JsonProperty("背景亮度")]
  444. public double BgBrightness;
  445. //飞行高度
  446. [JsonProperty("飞行高度")]
  447. public double FlightHeight;
  448. }
  449. public class SearchMissionMode //搜索方式
  450. {
  451. [JsonProperty("搜索方式")]
  452. public string SearchMode;
  453. [JsonProperty("应用飞机编号")]
  454. public string AircraftId;
  455. //搜索扫视宽度
  456. [JsonProperty("搜索扫视宽度")]
  457. public double SearchWidth;
  458. [JsonProperty("多边形边界")]
  459. public List<double[]> Poly;
  460. [JsonProperty("等高线高度间隔")]
  461. public double interval;
  462. [JsonProperty("最小等高线节点数")]
  463. public int MinLength;
  464. [JsonProperty("航线真实高度")]
  465. public double TrueH;
  466. [JsonProperty("输出等高线节点间隔")]
  467. public int JG;
  468. [JsonProperty("环境搜索覆盖面积")]
  469. public double LandArea;
  470. }
  471. public class MHTaskConfig
  472. {
  473. [JsonProperty("总灭火任务编号")]
  474. public int TotalMHId;
  475. [JsonProperty("火点ID")]
  476. public int FirePointId;
  477. [JsonProperty("执行次数")]
  478. public int RunTimes;
  479. [JsonProperty("吊桶洒水灭火任务")]
  480. public List<MHTask> mHTask = new List<MHTask>();
  481. [JsonProperty("机降灭火任务")]
  482. public List<DMMHTask> dMMHTask = new List<DMMHTask>();
  483. [JsonProperty("索滑降灭火任务")]
  484. public List<SHJTask> sHJTask = new List<SHJTask>();
  485. }
  486. public class TaskConfig
  487. {
  488. [JsonProperty("灭火任务")]
  489. public List<MHTaskConfig> mHTaskConfigs = new List<MHTaskConfig>();
  490. [JsonProperty("火场侦查任务")]
  491. public List<ZCTask> zCTask = new List<ZCTask>();
  492. [JsonProperty("防火巡护任务")]
  493. public List<XHTask> xHTask = new List<XHTask>();
  494. [JsonProperty("海上搜救任务")]
  495. public List<SeaSouJiuTask> seaSouJiuTasks = new List<SeaSouJiuTask>();
  496. [JsonProperty("陆上搜寻任务")]
  497. public List<LandSouXunTask> LandSouXunTasks = new List<LandSouXunTask>();
  498. [JsonProperty("空中吊运救援任务")]
  499. public List<KZDYTask> KZDYTasks = new List<KZDYTask>();
  500. [JsonProperty("空投空送任务")]
  501. public List<KTKSTask> KTKSTasks = new List<KTKSTask>();
  502. [JsonProperty("着水救援任务")]
  503. public List<ZSJYTask> ZSJYTasks = new List<ZSJYTask>();
  504. [JsonProperty("机降救援任务")]
  505. public List<JJJYTask> JJJYTasks = new List<JJJYTask>();
  506. [JsonProperty("索滑降救援任务")]
  507. public List<SHJTask> SHJTasks = new List<SHJTask>();
  508. [JsonProperty("现场急救")]
  509. public List<XCJJTask> XCJJTasks = new List<XCJJTask>();
  510. [JsonProperty("医疗转运任务")]
  511. public List<YLZYTask> YLZYTasks = new List<YLZYTask>();
  512. [JsonProperty("医疗物品运送")]
  513. public List<YLWPYSTask> YLWPYSTasks = new List<YLWPYSTask>();
  514. [JsonProperty("绞车吊载转运任务")]
  515. public List<JCDZZYTask> JCDZZYTasks = new List<JCDZZYTask>();
  516. }