TaskConfig.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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 int RefuelingBaseId;
  57. [JsonProperty("任务结束返回点")]
  58. public int 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 SHJParameter
  140. {
  141. [JsonProperty("应用飞机编号")]
  142. public string AircraftId;
  143. [JsonProperty("索滑降高度")]
  144. public double H;
  145. [JsonProperty("投送人数")]
  146. public int person_number;
  147. [JsonProperty("风速")]
  148. public double windspeed;
  149. [JsonProperty("能见度")]
  150. public double vis;
  151. [JsonProperty("索滑降速度")]
  152. public double descendspeed;
  153. [JsonProperty("索滑降点")]
  154. public MissionPoint[] MissionPoints;
  155. }
  156. public class DMMHTask
  157. {
  158. [JsonProperty("任务信息")]
  159. public MissionInformation missionInformation;
  160. [JsonProperty("应用航空器")]
  161. public AircraftInfo[] aircraftInfos;
  162. [JsonProperty("地面部署人数")]
  163. public double GroundPersonnel;
  164. [JsonProperty("机降人数")]
  165. public double LandingPersonnel;
  166. [JsonProperty("机降点")]
  167. public MissionPoint[] MissionPoints;
  168. [JsonProperty("下一个任务ID")]
  169. public string NextTaskId;
  170. }
  171. public class AirRoute
  172. {
  173. [JsonProperty("巡护航线名称")]
  174. public string AirRouteName;
  175. [JsonProperty("巡护航线点经度")]
  176. public double AirRouteLongitude;
  177. [JsonProperty("巡护航线点纬度")]
  178. public double AirRouteLatitude;
  179. [JsonProperty("巡护航线点海拔")]
  180. public double AirRouteHeight;
  181. }
  182. public class XHTask
  183. {
  184. public double DelayTime;
  185. [JsonProperty("任务信息")]
  186. public MissionInformation missionInformation;
  187. [JsonProperty("应用航空器")]
  188. public AircraftInfo[] aircraftInfos;
  189. [JsonProperty("巡护航线参数")]
  190. public AirRoute[] airroute;
  191. [JsonProperty("火点ID")]
  192. public int FirePointId;
  193. [JsonProperty("取水点")]
  194. public MissionPoint[] MissionPoints;
  195. [JsonProperty("下一个任务ID")]
  196. public string NextTaskId;
  197. }
  198. public class MHTask
  199. {
  200. [JsonProperty("任务信息")]
  201. public MissionInformation missionInformation;
  202. [JsonProperty("应用航空器")]
  203. public AircraftInfo[] aircraftInfos;
  204. [JsonProperty("取水点")]
  205. public MissionPoint[] MissionPoints;
  206. [JsonProperty("下一个任务ID")]
  207. public string NextTaskId;
  208. }
  209. public class SeaSouJiuTask
  210. {
  211. [JsonProperty("任务信息")]
  212. public MissionInformation missionInformation;
  213. [JsonProperty("应用航空器")]
  214. public AircraftInfo[] aircraftInfos;
  215. [JsonProperty("战术战法")]
  216. public Tactic Tactic;
  217. [JsonProperty("运行约束")]
  218. public RunConstraints RunConstraints;
  219. //[JsonProperty("目标点ID")]
  220. //public int TargetPointId;
  221. [JsonProperty("搜索任务载荷")]
  222. public SearchMissionPayload[] missionSearchPayloads;
  223. [JsonProperty("搜索方式")]
  224. public SearchMissionMode[] SearchModes;
  225. //[JsonProperty("下一个任务ID")]
  226. //public string NextTaskId;
  227. }
  228. public class Tactic
  229. {
  230. [JsonProperty("战术战法")]
  231. public string tactic;
  232. [JsonProperty("跟进间距")]
  233. public double Spacing;
  234. [JsonProperty("跟进高度差")]
  235. public double HeightDifference;
  236. }
  237. public class RunConstraints
  238. {
  239. [JsonProperty("搜索飞行速度限制")]
  240. public double speedLimit;
  241. }
  242. public class SearchMissionPayload //搜索任务载荷
  243. {
  244. [JsonProperty("任务载荷")]
  245. public string SearchPayload;
  246. [JsonProperty("应用飞机编号")]
  247. public string AircraftId;
  248. //探测波长(m)
  249. [JsonProperty("探测波长(m)")]
  250. public double DetectionWavelength;
  251. //最小可检测信号(dBm)
  252. [JsonProperty("最小可检测信号(dBm)")]
  253. public double MinDetectionSignal;
  254. //雷达发射机发射信号功率(dBm)
  255. [JsonProperty("雷达发射机发射信号功率(dBm)")]
  256. public double RadarTransmitterPower;
  257. //发射天线增益(dB)
  258. [JsonProperty("发射天线增益(dB)")]
  259. public double TransmitAntennaGain;
  260. //接受天线增益(dB)
  261. [JsonProperty("接受天线增益(dB)")]
  262. public double ReceiveAntennaGain;
  263. //光电转塔水平范围
  264. [JsonProperty("光电转塔水平范围")]
  265. public double OpticalTowerHorizontalRange;
  266. //红外探测器视场角
  267. [JsonProperty("红外探测器视场角")]
  268. public double InfraredDetectorFieldAngle;
  269. //飞行高度
  270. [JsonProperty("飞行高度")]
  271. public double FlightHeight;
  272. }
  273. public class SearchMissionMode //搜索方式
  274. {
  275. [JsonProperty("搜索方式")]
  276. public string SearchMode;
  277. [JsonProperty("应用飞机编号")]
  278. public string AircraftId;
  279. //搜索扫视宽度
  280. [JsonProperty("搜索扫视宽度")]
  281. public double SearchWidth;
  282. [JsonProperty("多边形边界")]
  283. public List<double[]> Poly;
  284. [JsonProperty("等高线高度间隔")]
  285. public double interval;
  286. [JsonProperty("最小等高线节点数")]
  287. public int MinLength;
  288. [JsonProperty("航线真实高度")]
  289. public double TrueH;
  290. [JsonProperty("输出等高线节点间隔")]
  291. public int JG;
  292. }
  293. public class LandSouXunTask
  294. {
  295. [JsonProperty("任务信息")]
  296. public MissionInformation missionInformation;
  297. [JsonProperty("应用航空器")]
  298. public AircraftInfo[] aircraftInfos;
  299. [JsonProperty("战术战法")]
  300. public Tactic Tactic;
  301. [JsonProperty("运行约束")]
  302. public RunConstraints RunConstraints;
  303. //搜索任务载荷
  304. [JsonProperty("搜索任务载荷")]
  305. public SearchMissionPayload[] missionSearchPayloads;
  306. //搜索方式
  307. [JsonProperty("搜索方式")]
  308. public SearchMissionMode[] SearchModes;
  309. //[JsonProperty("下一个任务ID")]
  310. //public string NextTaskId;
  311. }
  312. public class MHTaskConfig
  313. {
  314. [JsonProperty("总灭火任务编号")]
  315. public int TotalMHId;
  316. [JsonProperty("火点ID")]
  317. public int FirePointId;
  318. [JsonProperty("执行次数")]
  319. public int RunTimes;
  320. [JsonProperty("吊桶洒水灭火任务")]
  321. public List<MHTask> mHTask = new List<MHTask>();
  322. [JsonProperty("机降灭火任务")]
  323. public List<DMMHTask> dMMHTask = new List<DMMHTask>();
  324. [JsonProperty("索滑降灭火任务")]
  325. public List<SHJTask> sHJTask = new List<SHJTask>();
  326. }
  327. public class TaskConfig
  328. {
  329. [JsonProperty("灭火任务")]
  330. public List<MHTaskConfig> mHTaskConfigs = new List<MHTaskConfig>();
  331. [JsonProperty("火场侦查任务")]
  332. public List<ZCTask> zCTask = new List<ZCTask>();
  333. [JsonProperty("防火巡护任务")]
  334. public List<XHTask> xHTask = new List<XHTask>();
  335. [JsonProperty("海上搜救任务")]
  336. public List<SeaSouJiuTask> seaSouJiuTasks = new List<SeaSouJiuTask>();
  337. [JsonProperty("陆上搜寻任务")]
  338. public List<LandSouXunTask> LandSouXunTasks = new List<LandSouXunTask>();
  339. }