TaskConfig.cs 12 KB

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