tangxu
2022-10-26 c5efa74e622a96e789e95cc8f18a11144f9d29a0
Calculation/IStation.Calculation.Dispatch/DispatchAnalyCalculatorFactory.cs
@@ -3,6 +3,8 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IStation.Calculation.DispatchAna;
using IStation.Numerics;
namespace IStation.Calculation
{
@@ -26,25 +28,104 @@
            EPT = 1
        }
        /// <summary>
        /// 创建计算器
        /// 创建计算器(当前调度信息)
        /// </summary>
        public static IDispatchAnalyCalculator CreateCalculator(long CorpID, string ObjectType,long ObjectID, eCalcTool? CalcTool)
        public static IGetCurrentRecord CreateGetCurrentRecord(
            long CorpID, string ObjectType, long ObjectID )
        {
            if(ObjectType == IStation.ObjectType.Station)
            if (ObjectType == IStation.ObjectType.Station)
            {
                if(CorpID == 4)
                IGetCurrentRecord calc = null;
                if (CorpID == 4)
                {//上海 原水
                    if (ObjectID == 2)
                    {
                        return new IStation.Calculation.DispatchAna.Calculator4ShysCxbz();
                    }
                        calc = new IStation.Calculation.DispatchAna.Calculator_Current_SHYS_长兴岛();
                    }
                }
                return new IStation.Calculation.DispatchAna.Calculator4StationGeneral();
                if (calc == null)
                {
                    var general =   new IStation.Calculation.DispatchAna.Calculator_Current_Gneral();
                    calc = general;
                }
                return calc;
            }
            return null;
        }
        /// <summary>
        /// 创建计算器(最优方案计算)
        /// </summary>
        public static IOptAnaCalc CreateOptAnaCalculator(
            long CorpID, string ObjectType, long ObjectID, eCalcTool? CalcTool)
        {
            if (ObjectType == IStation.ObjectType.Station)
            {
                IOptAnaCalc calc = null;
                if (CorpID == 4)
                {//上海 原水
                    if (ObjectID == 2)
                    {
                        calc = new IStation.Calculation.DispatchAna.Calculator_OptAna_SHYS_长兴岛();
                    }
                }
                if (calc == null)
                {
                    var general = new IStation.Calculation.DispatchAna.Calculator_OptAna_General();
                    calc = general;
                }
                return calc;
            }
            return null;
        }
        /// <summary>
        /// 创建计算器(最优方案计算)
        /// </summary>
        public static IKeepStatusCalc CreateKeepStatusCalculator(
            long CorpID, string ObjectType, long ObjectID, eCalcTool? CalcTool)
        {
            if (ObjectType == IStation.ObjectType.Station)
            {
                IKeepStatusCalc calc = null;
                if (CorpID == 4)
                {//上海 原水
                    if (ObjectID == 2)
                    {
                        calc = new IStation.Calculation.DispatchAna.Calculator_KeepStatus_SHYS_长兴岛();
                    }
                }
                if (calc == null)
                {
                    var general = new IStation.Calculation.DispatchAna.Calculator_KeepStatus_General();
                    calc = general;
                }
                return calc;
            }
            return null;
        }
    }
}