using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.Calculation.DispatchAna
|
{
|
/// <summary>
|
/// 长兴泵站调度方案计算器
|
/// </summary>
|
internal class Calculator_Current_SHYS_长兴岛: CalculatorBase_SHYS_长兴岛, IGetCurrentRecord
|
{
|
public Calculator_Current_SHYS_长兴岛()
|
{
|
|
}
|
/// <summary>
|
/// 获取当前调度信息
|
/// </summary>
|
/// <param name="CorpID"></param>
|
/// <param name="StationID"></param>
|
/// <param name="error_info"></param>
|
/// <returns></returns>
|
public Model.CurrentRecordBundle GetCurrentRecord(long CorpID, long StationID, out string error_info)
|
{
|
error_info = null;
|
var monitor_ids = new List<long>() { _montiro_id_water_level, _monitor_id_中间阀门状态, _monitor_id_pipe_press1, _monitor_id_pipe_flow1,
|
_monitor_id_pipe_press2, _monitor_id_pipe_flow2, 79 };
|
var monitor_records = new Service.MonitorRecord().GetLastRecord(_corpID, monitor_ids);
|
|
Model.CurrentRecordBundle bundle = new Model.CurrentRecordBundle();
|
|
var water_level = monitor_records.Find(x => x.MonitorPointID == _montiro_id_water_level);
|
if (water_level != null)
|
{
|
bundle.WaterLevelList = new List<Model.CurrentRecordBundle.RecordValue>();
|
bundle.WaterLevelList.Add(new Model.CurrentRecordBundle.RecordValue("进水液位", water_level, 2));
|
}
|
|
var pipe_press1 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_pipe_press1);
|
var pipe_press2 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_pipe_press2);
|
if (pipe_press1 != null && pipe_press2 != null)
|
{
|
bundle.PressList = new List<Model.CurrentRecordBundle.RecordValue>();
|
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_pipe_flow1);
|
var pipe_flow2 = monitor_records.Find(x => x.MonitorPointID == _monitor_id_pipe_flow2);
|
if (pipe_flow1 != null && pipe_flow2 != null)
|
{
|
bundle.FlowList = new List<Model.CurrentRecordBundle.RecordValue>();
|
bundle.FlowList.Add(new Model.CurrentRecordBundle.RecordValue("一号管", pipe_flow1, 0));
|
bundle.FlowList.Add(new Model.CurrentRecordBundle.RecordValue("二号管", pipe_flow2, 0));
|
|
var middle_valve = monitor_records.Find(x => x.MonitorPointID == _monitor_id_中间阀门状态);
|
if (middle_valve != null)
|
{
|
bundle.VavleOpenList = new List<Model.CurrentRecordBundle.RecordValue>();
|
bundle.VavleOpenList.Add(new Model.CurrentRecordBundle.RecordValue(middle_valve));
|
}
|
else
|
{
|
bundle.VavleOpenList = new List<Model.CurrentRecordBundle.RecordValue>();
|
bundle.VavleOpenList.Add(new Model.CurrentRecordBundle.RecordValue(0));
|
}
|
if (bundle.FlowList[0].Value < 100 || bundle.FlowList[1].Value < 100)
|
{
|
bundle.VavleOpenList[0].Value = 0;
|
}
|
}
|
|
|
return bundle;
|
}
|
|
|
|
}
|
}
|