using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.Calculation.DispatchAna { /// /// 陈行二输泵站调度方案计算器 /// internal class Calculator_Current_SHYS_陈行二输: CalculatorBase_SHYS_陈行二输, IGetCurrentRecord { /// /// 获取当前调度信息 /// /// /// /// /// public Model.CurrentRecordBundle GetCurrentRecord(long CorpID, long StationID, out string error_info) { error_info = null; List monitor_ids = new List() { _monitor_id_液位, _monitor_id_一号管压力, _monitor_id_二号管压力, _monitor_id_一号管流量, _monitor_id_二号管流量 }; var monitor_records = new Service.MonitorRecord().GetLastRecord(_corpID, monitor_ids); Model.CurrentRecordBundle bundle = new Model.CurrentRecordBundle(); bundle.WaterLevelList = new List(); var water_level = monitor_records.Find(x => x.MonitorPointID == _monitor_id_液位); if (water_level != null) { bundle.WaterLevelList.Add(new Model.CurrentRecordBundle.RecordValue("液位", water_level, 2)); } var pipe_press1 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_一号管压力); var pipe_press2 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_二号管压力); if (pipe_press1 != null && pipe_press2 != null) { bundle.PressList = new List(); bundle.PressList.Add(new Model.CurrentRecordBundle.RecordValue("一号管", pipe_press1, 4)); bundle.PressList.Add(new Model.CurrentRecordBundle.RecordValue("二号管", pipe_press2, 4)); } var pipe_flow1 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_一号管流量); var pipe_flow2 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_二号管流量); if (pipe_flow1 != null && pipe_flow2 != null) { bundle.FlowList = new List(); bundle.FlowList.Add(new Model.CurrentRecordBundle.RecordValue("一号管", pipe_flow1, 0)); bundle.FlowList.Add(new Model.CurrentRecordBundle.RecordValue("二号管", pipe_flow2, 0)); } return bundle; } } }