TaskConfig.cs 14 KB

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