using KYFramework; using Model; using MongoDB.Bson; namespace SimulationServer; public class StaticCapacity { // 初次出动准备时间 public string 初次出动准备时间; //再次补给时间 public string 再次补给时间; //任务载荷装载时间 public string 任务载荷装载时间; //舱内载荷 public string 舱内载荷; //外吊挂载荷 public string 外吊挂载荷; //空投精度 public string 空投精度; //有效投放率 public string 有效投放率; //巡航飞行速度 public string 巡航飞行速度; //载荷飞行速度 public string 载荷飞行速度; //最大载油量 public string 最大载油量; //抗风等级 public string 抗风等级; //起降距离 public string 起降距离; //起降场地要求 public string 起降场地要求; //夜间作业能力 public string 夜间作业能力; //可靠性 public string 可靠性; } // 静态能力组件 public class StaticCapacityComponent : Component { public AircraftEntity aircraft; public StaticCapacity StaticCapacity = new StaticCapacity(); public void FillData(AircraftDB db) { var aircraft = GetParent(); StaticCapacity.初次出动准备时间 = aircraft.TaskReadyTime.ToString(); StaticCapacity.再次补给时间 = db.fjysj == null ? "0" : db.fjysj.ToString(); StaticCapacity.任务载荷装载时间 = db.fjssj == null ? "0" : db.fjssj.ToString();; StaticCapacity.舱内载荷 = db.fzdnz == null ? "0" : db.fzdnz.ToString(); StaticCapacity.外吊挂载荷 = db.fzdwgz == null ? "0" : db.fzdwgz.ToString(); StaticCapacity.空投精度 = AirdropAccuracy.GetIpForType(db.fConcreateType.ToString()).ToString(); StaticCapacity.有效投放率 = 0.75.ToString(); StaticCapacity.巡航飞行速度 = db.fzdss == null ? "0" : db.fzdss.ToString(); StaticCapacity.载荷飞行速度 = db.fzhfxsd == null ? "0" : db.fzhfxsd.ToString(); StaticCapacity.抗风等级 = "八级"; StaticCapacity.起降距离 = db.fjjcdc == null ? "0" : db.fqfpdc.ToString(); StaticCapacity.起降场地要求 = db.fqjcdyq == null ? "0" : db.fqjcdyq.ToString(); StaticCapacity.夜间作业能力 = "0"; StaticCapacity.可靠性 = "0"; double zdzjl = 0; if(aircraft.fireGround.FirePoint.Altitude < 3000) zdzjl = double.Parse(db.f_fjzh.ToString()) - double.Parse(db.f_sslwater.ToString()) - double.Parse(db.f_jzrs.ToString())* 80; else zdzjl = double.Parse(db.f_gyfjzh.ToString()) - double.Parse(db.f_gysslwater.ToString()) - double.Parse(db.f_jzrs.ToString())* 80; StaticCapacity.最大载油量 =zdzjl.ToString("#0.00"); } public Dictionary> GetReport() { Dictionary> report = new Dictionary>(); report["静态能力"] = new Dictionary { { "初次出动准备时间/s", StaticCapacity.初次出动准备时间.ToString() }, { "再次补给时间/s", StaticCapacity.再次补给时间.ToString() }, { "任务载荷装载时间/s", StaticCapacity.任务载荷装载时间.ToString() }, { "舱内载荷/kg", StaticCapacity.舱内载荷.ToString() }, { "外吊挂载荷/kg", StaticCapacity.外吊挂载荷.ToString() }, { "最大载油量/kg", StaticCapacity.最大载油量.ToString()}, { "空投精度/-", StaticCapacity.空投精度.ToString() }, { "有效投放率/-", StaticCapacity.有效投放率.ToString() }, { "巡航飞行速度/km/h", StaticCapacity.巡航飞行速度.ToString() }, { "载荷飞行速度/km/h", StaticCapacity.载荷飞行速度.ToString() }, { "抗风等级/-", StaticCapacity.抗风等级.ToString() }, { "起降距离/m", StaticCapacity.起降距离.ToString() }, { "起降场地要求/-", StaticCapacity.起降场地要求.ToString() }, { "夜间作业能力/-", StaticCapacity.夜间作业能力.ToString() }, { "可靠性/-", StaticCapacity.可靠性.ToString() } }; return report; } }