wangzelong
2022-10-24 b814fd3e262f52365cf6c38d4e8d7230958c35e1
对接
已修改2个文件
已添加11个文件
1088 ■■■■■ 文件已修改
Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys严桥泵站.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys临江1号泵房.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys临江2号泵房.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys南汇北泵站.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys大桥泵站.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys徐泾泵站.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys松江泵站.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys泰和泵站.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys金泽泵站.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys金海泵站.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys陈行一输.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys陈行二输.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs
@@ -37,7 +37,18 @@
            _dict.Add(3, new StationInfo(9, new IStation.Calculation.shys五号沟金海方向()));//OK
            _dict.Add(4, new StationInfo(3, new IStation.Calculation.shys五号沟严桥方向1()));
            _dict.Add(5, new StationInfo(5, new IStation.Calculation.shys五号沟严桥方向2()));//OK
            _dict.Add(6, new StationInfo(4, new IStation.Calculation.shys五号沟严桥方向2()));//OK
            _dict.Add(6, new StationInfo(4, new IStation.Calculation.shys严桥泵站()));//OK
            _dict.Add(7, new StationInfo(6, new IStation.Calculation.shys临江1号泵房()));//OK
            _dict.Add(8, new StationInfo(7, new IStation.Calculation.shys临江2号泵房()));//OK
            _dict.Add(9, new StationInfo(8, new IStation.Calculation.shys徐泾泵站()));//OK
            _dict.Add(10, new StationInfo(10, new IStation.Calculation.shys金海泵站()));//OK
            _dict.Add(11, new StationInfo(11, new IStation.Calculation.shys南汇北泵站()));//OK
            _dict.Add(12, new StationInfo(15, new IStation.Calculation.shys陈行一输()));//OK
            _dict.Add(13, new StationInfo(16, new IStation.Calculation.shys陈行二输()));//OK
            _dict.Add(14, new StationInfo(17, new IStation.Calculation.shys泰和泵站()));//OK
            _dict.Add(15, new StationInfo(19, new IStation.Calculation.shys金泽泵站()));//OK
            _dict.Add(16, new StationInfo(20, new IStation.Calculation.shys松江泵站()));//OK
            _dict.Add(17, new StationInfo(21, new IStation.Calculation.shys大桥泵站()));//OK
            //{
            //    {1,2},//长兴泵站
Application/IStation.Application.OpenApi/shys/plan/shys/shysÑÏÇűÃÕ¾.cs
@@ -18,7 +18,7 @@
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor进水调节池液位 = new Tuple<string, long>("_0402010101089903001", 409);
        //private Tuple<string, long> monitor出水调节池液位 = new Tuple<string, long>("_0402010101089903002", 409);Istion没有
Application/IStation.Application.OpenApi/shys/plan/shys/shysÁÙ½­1ºÅ±Ã·¿.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys临江1号泵房 : PlanAnaBaseCalculator
    {
        public shys临江1号泵房()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor进水前池液位 = new Tuple<string, long>("_0402010102089903003", 456);
        private Tuple<string, long> monitor出水前池液位 = new Tuple<string, long>("_0402010102089903002", 458);
        /// <summary>
        ///
        /// </summary>
        /// <param name="tagname"></param>
        /// <returns></returns>
        public override bool Is液位Monitor(string tagname)
        {
            if (tagname == monitor进水前池液位.Item1)
                return true;
            else
                return false;
        }
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor进水前池液位.Item1);
            if (water_level == null)
            {
                water_level = allRecords_hour.Find(x => x.MonitorTag == monitor进水前池液位.Item1);
                if (water_level == null)
                {
                    error_info = "五号沟凌桥方向水库液位测点未找到";
                    return null;
                }
            }
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shysÁÙ½­2ºÅ±Ã·¿.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys临江2号泵房 : PlanAnaBaseCalculator
    {
        public shys临江2号泵房()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管1压力 = new Tuple<string, long>("_0402010601040104001", 510);
        private Tuple<string, long> monitor出水总管1瞬时流量= new Tuple<string, long>("_0402010601040105001", 511);
        private Tuple<string, long> monitor出水总管2压力 = new Tuple<string, long>("_0402010601040204001", 513);
        private Tuple<string, long> monitor出水总管2瞬时流量 = new Tuple<string, long>("_0402010601040205001", 514);
        private Tuple<string, long> monitor出水总管3压力 = new Tuple<string, long>("_0402010601040304001", 516);
        private Tuple<string, long> monitor出水总管3瞬时流量 = new Tuple<string, long>("_0402010601040305001", 517);
        private Tuple<string, long> monitor调节池液位 = new Tuple<string, long>("_0402010102089903001", 509);
        /// <summary>
        ///
        /// </summary>
        /// <param name="tagname"></param>
        /// <returns></returns>
        public override bool Is液位Monitor(string tagname)
        {
            if (tagname == monitor调节池液位.Item1)
                return true;
            else
                return false;
        }
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            if (water_level == null)
            {
                water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
                if (water_level == null)
                {
                    error_info = "五号沟凌桥方向水库液位测点未找到";
                    return null;
                }
            }
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shysÄϻ㱱±ÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys南汇北泵站 : PlanAnaBaseCalculator
    {
        public shys南汇北泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管1压力 = new Tuple<string, long>("_0402010503030107003", 739);
        private Tuple<string, long> monitor出水总管1瞬时流量 = new Tuple<string, long>("_0402010503030102003", 740);
        private Tuple<string, long> monitor出水总管2压力 = new Tuple<string, long>("_0402010503030207004", 742);
        private Tuple<string, long> monitor出水总管2瞬时流量 = new Tuple<string, long>("_0402010503030202003", 743);
        private Tuple<string, long> monitor进水总管1压力 = new Tuple<string, long>("_0402010503030107001", 733);
        private Tuple<string, long> monitor进水总管2压力 = new Tuple<string, long>("_0402010503030207002", 736);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shys´óÇűÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys大桥泵站 : PlanAnaBaseCalculator
    {
        public shys大桥泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管东调压池 = new Tuple<string, long>("_0402010301080103002", 1049);
        private Tuple<string, long> monitor出水总管西调压池 = new Tuple<string, long>("_0402010301080103001", 1050);
        private Tuple<string, long> monitor出水总管瞬时流量 = new Tuple<string, long>("_0402010301090103004", 1051);
        private Tuple<string, long> monitor进水井格栅前液位1 = new Tuple<string, long>("_0402010301034103001", 1044);
        private Tuple<string, long> monitor进水井格栅前液位2 = new Tuple<string, long>("_0402010301034203001", 1045);
        private Tuple<string, long> monitor进水井格栅前液位3 = new Tuple<string, long>("_0402010301034303001", 1046);
        private Tuple<string, long> monitor进水井格栅前液位4 = new Tuple<string, long>("_0402010301034403001", 1047);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shysÐìãþ±ÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys徐泾泵站 : PlanAnaBaseCalculator
    {
        public shys徐泾泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管压力 = new Tuple<string, long>("_0402010302080104002", 574);
        private Tuple<string, long> monitor出水总管1瞬时流量= new Tuple<string, long>("_0402010302080102002", 572);
        private Tuple<string, long> monitor进水总管压力 = new Tuple<string, long>("_0402010302080104001", 571);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shysËɽ­±ÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys松江泵站 : PlanAnaBaseCalculator
    {
        public shys松江泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管压力 = new Tuple<string, long>("_0402010791000000004", 1134);
        private Tuple<string, long> monitor出水总管瞬时流量 = new Tuple<string, long>("_0402010791000000005", 1135);
        private Tuple<string, long> monitor北侧前池液位 = new Tuple<string, long>("_0402010791000000101", 1129);
        private Tuple<string, long> monitor南侧前池液位 = new Tuple<string, long>("_0402010791000000100", 1130);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shysÌ©ºÍ±ÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys泰和泵站 : PlanAnaBaseCalculator
    {
        public shys泰和泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管1压力 = new Tuple<string, long>("_0402010602081304001", 989);
        private Tuple<string, long> monitor出水总管1瞬时流量 = new Tuple<string, long>("_0402010602081302001", 990);
        private Tuple<string, long> monitor出水总管2压力 = new Tuple<string, long>("_0402010602081404001", 992);
        private Tuple<string, long> monitor出水总管2瞬时流量 = new Tuple<string, long>("_0402010602081402001", 993);
        private Tuple<string, long> monitor进水进口压力 = new Tuple<string, long>("_0402010202010505001", 988);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shys½ðÔó±ÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys金泽泵站 : PlanAnaBaseCalculator
    {
        public shys金泽泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管压力 = new Tuple<string, long>("_0402010701020104001", 1207);
        private Tuple<string, long> monitor出水总管瞬时流量 = new Tuple<string, long>("_0402010701020103001", 1208);
        private Tuple<string, long> monitor东前池液位 = new Tuple<string, long>("_0402010701020106001", 1204);
        private Tuple<string, long> monitor西前池液位 = new Tuple<string, long>("_0402010701020106003", 1205);
        private Tuple<string, long> monitor中前池液位 = new Tuple<string, long>("_0402010701020106002", 1206);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shys½ðº£±ÃÕ¾.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys金海泵站 : PlanAnaBaseCalculator
    {
        public shys金海泵站()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水南汇1压力 = new Tuple<string, long>("_0402010502090105011", 615);
        private Tuple<string, long> monitor出水南汇1瞬时流量 = new Tuple<string, long>("_0402010502090103013", 616);
        private Tuple<string, long> monitor出水南汇2压力 = new Tuple<string, long>("_0402010502090105012", 618);
        private Tuple<string, long> monitor出水南汇2瞬时流量 = new Tuple<string, long>("_0402010502090103014", 619);
        //private Tuple<string, long> monitor出水川沙总管进水压力 = new Tuple<string, long>("_0402010502090105013", 613);
        private Tuple<string, long> monitor出水川沙总管压力 = new Tuple<string, long>("_0402010502090105013", 621);
        private Tuple<string, long> monitor出水川沙瞬时流量 = new Tuple<string, long>("_0402010502090103015", 622);
        private Tuple<string, long> monitor进水总管压力1 = new Tuple<string, long>("_0402010502090105001", 611);
        private Tuple<string, long> monitor进水总管压力2 = new Tuple<string, long>("_0402010502090205001", 613);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shys³ÂÐÐÒ»Êä.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys陈行一输 : PlanAnaBaseCalculator
    {
        public shys陈行一输()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管1压力 = new Tuple<string, long>("_0402010201090105001", 859);
        private Tuple<string, long> monitor出水总管1瞬时流量 = new Tuple<string, long>("_0402060601010103000", 860);
        private Tuple<string, long> monitor出水总管2压力 = new Tuple<string, long>("_0402010201090105002", 862);
        private Tuple<string, long> monitor出水总管2瞬时流量 = new Tuple<string, long>("_0402060601010203000", 863);
        private Tuple<string, long> monitor出水总管3压力 = new Tuple<string, long>("_0402060601010305000", 865);
        private Tuple<string, long> monitor出水总管3瞬时流量 = new Tuple<string, long>("_0402010503030202003", 866);
        private Tuple<string, long> monitor进水前池液位1 = new Tuple<string, long>("_0402010201090104011", 856);
        private Tuple<string, long> monitor进水前池液位2 = new Tuple<string, long>("_0402010201091104123", 857);
        private Tuple<string, long> monitor进水前池液位3 = new Tuple<string, long>("_0402010201091104122", 858);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}
Application/IStation.Application.OpenApi/shys/plan/shys/shys³ÂÐжþÊä.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Calculation
{
    internal class shys陈行二输 : PlanAnaBaseCalculator
    {
        public shys陈行二输()
        {
            this._corpID = 4;
            this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
        }
        /// <summary>
        /// æµ‹ç‚¹å­—å…¸(这个每个泵站都不一样)
        /// </summary>
        private Tuple<string, long> monitor出水总管1压力 = new Tuple<string, long>("_0402010201090105004", 917);
        private Tuple<string, long> monitor出水总管1瞬时流量 = new Tuple<string, long>("_0402010201090103020", 918);
        private Tuple<string, long> monitor出水总管2压力 = new Tuple<string, long>("_0402010201090105003", 920);
        private Tuple<string, long> monitor出水总管2瞬时流量 = new Tuple<string, long>("_0402010201090103017", 921);
        private Tuple<string, long> monitor进水前池液位 = new Tuple<string, long>("_0402010201080204002", 916);
        /// <summary>
        /// æ ¹æ®ä¸‰é«˜æä¾›çš„参数,构建调度分析所需的参数, (这个每个泵站都不一样)
        /// </summary>
        /// <param name="allRecords_hour"></param>
        /// <param name="error_info"></param>
        /// <returns></returns>
        protected override DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest(
            List<IStation.Dto.MonitorRecord4SG> allRecords_hour,
            out string error_info)
        {
            if (allRecords_hour == null || allRecords_hour.Count == 0)
            {
                error_info = "五号沟凌桥方向测点数据为空";
                return null;
            }
            var complex_dispatch_request = new DispatchAna.Model.RequestParasComplex();
            //var water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //if (water_level == null)
            //{
            //    water_level = allRecords_hour.Find(x => x.MonitorTag == monitor调节池液位.Item1);
            //    if (water_level == null)
            //    {
            //        error_info = "五号沟凌桥方向水库液位测点未找到";
            //        return null;
            //    }
            //}
            //var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管瞬时流量.Item1);
            //if (pipe1_flow == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1流量测点未找到";
            //    return null;
            //}
            //var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor出水总管压力.Item1);
            //if (pipe1_press == null)
            //{
            //    error_info = "五号沟凌桥方向水管道1压力测点未找到";
            //    return null;
            //}
            complex_dispatch_request.CorpID = this._corpID;
            complex_dispatch_request.StationID = this._stationID;
            complex_dispatch_request.SchemeNumber = 1;
            complex_dispatch_request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.压力;
            complex_dispatch_request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>()
                        {
                            //new DispatchAna.Model.WaterLevelPara(){ Name="æ°´æ± ", Value = water_level.RecordValue}
                        };
            complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>();
            complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara()
            {
                Name = "总管路",
                //TargetFlow = pipe1_flow.RecordValue,
                //TargetPress = pipe1_press.RecordValue,
            });
            error_info = null;
            return complex_dispatch_request;
        }
    }
}