From 055084a369abc0d03a41b495c955d95a64852fb5 Mon Sep 17 00:00:00 2001 From: tangxu <76880903@qq.com> Date: 星期日, 09 十月 2022 10:48:02 +0800 Subject: [PATCH] 水位计划调度分析 --- Entry/IStation.WebApi.Entry.Dispatch/Program.cs | 3 Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaCalculatorFactory.cs | 9 Entry/IStation.WebApi.Entry.Dispatch/Properties/launchSettings.json | 31 + Calculation/IStation.Calculation.Dispatch/IOptAnaCalc.cs | 3 Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml | 20 + Application/IStation.Application.OpenApi/shys/plan/shys/shys长兴泵站.cs | 189 ++++----- Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml.user | 11 Settings/IStation.Settings/paras_settings.json | 56 +- Entry/IStation.WebApi.Entry.Dispatch/.config/dotnet-tools.json | 12 /dev/null | 84 ---- Settings/IStation.Settings/IStation.Settings.csproj | 2 Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaBaseCalculator.cs | 140 +++++++ Entry/IStation.WebApi.Entry.Dispatch/appsettings.Development.json | 8 Entry/IStation.WebApi.Entry.Dispatch/appsettings.json | 12 Calculation/IStation.Calculation.Plan/calc/PlanAnaCalculator.cs | 26 + Application/IStation.Application.OpenApi/shys/plan/dto/PlanAnaConstant.cs | 33 - Settings/IStation.Settings/paras_settings_debug.json | 280 +++++++++++++++ Calculation/IStation.Calculation.Dispatch/base/CalculatorOptAnaBase.cs | 70 +++ Entry/IStation.WebApi.Entry.Dispatch/IStation.WebApi.Entry.Dispatch.csproj | 28 + IStation.Server.Eta.v12.suo | 0 IStation.WebApi.Dispatch.sln | 12 21 files changed, 760 insertions(+), 269 deletions(-) diff --git a/Application/IStation.Application.OpenApi/shys/plan/dto/PlanAnaConstant.cs b/Application/IStation.Application.OpenApi/shys/plan/dto/PlanAnaConstant.cs index ea7a85f..42e1240 100644 --- a/Application/IStation.Application.OpenApi/shys/plan/dto/PlanAnaConstant.cs +++ b/Application/IStation.Application.OpenApi/shys/plan/dto/PlanAnaConstant.cs @@ -36,38 +36,7 @@ }; - - /// <summary> - /// 鏃跺瓧鍏� - /// </summary> - //public static Dictionary<int,string> HourDict = new Dictionary<int,string>() - //{ - // { 0,"00:00"}, - // { 1,"01:00"}, - // { 2,"02:00"}, - // { 3,"03:00"}, - // { 4,"04:00"}, - // { 5,"05:00"}, - // { 6,"06:00"}, - // { 7,"07:00"}, - // { 8,"08:00"}, - // { 9,"09:00"}, - // { 10,"10:00"}, - // { 11,"11:00"}, - // { 12,"12:00"}, - // { 13,"13:00"}, - // { 14,"14:00"}, - // { 15,"15:00"}, - // { 16,"16:00"}, - // { 17,"17:00"}, - // { 18,"18:00"}, - // { 19,"19:00"}, - // { 20,"20:00"}, - // { 21,"21:00"}, - // { 22,"22:00"}, - // { 23,"23:00"} - //}; - + } } diff --git a/Application/IStation.Application.OpenApi/shys/plan/helper/IPlanAnaCalculator.cs b/Application/IStation.Application.OpenApi/shys/plan/helper/IPlanAnaCalculator.cs deleted file mode 100644 index 3c5dd7c..0000000 --- a/Application/IStation.Application.OpenApi/shys/plan/helper/IPlanAnaCalculator.cs +++ /dev/null @@ -1,84 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using IStation.Application; -using IStation.Dto; - -namespace IStation.Calculation -{ - /// <summary> - /// 璁″垝鍒嗘瀽璁$畻鍣ㄦ帴鍙� - /// </summary> - public class PlanAnaCalculator - { - /// <summary> - /// - /// </summary> - protected IStation.Calculation.DispatchAna.IOptAnaCalc _dispatchAnaCalc = null; - /// <summary> - /// - /// </summary> - public virtual List<Dto.MonthCalcuResult> Calc ( - Model.Station station,int factoryId, - List<Dto.MonthSumRecord> sumRecordList, - out string error_info) - { - if(_dispatchAnaCalc == null) - { - error_info = "鏈瀯寤篋ispatchAna.IOptAnaCalc"; - return null; - } - int year = DateTime.Now.Year; - - List<Dto.MonthCalcuResult> monthRecordList = new List<Dto.MonthCalcuResult>(); - - - foreach (var monthRecord in sumRecordList) - { - // - List<IStation.Calculation.DispatchAna.Model.HourRequest> HourRequests = - BuildHourRequest(monthRecord.HourRecords,out error_info); - if(HourRequests == null || HourRequests.Count() == 0) - { - error_info = "闈掕崏娌� 鏋勫缓DHourRequests 澶辫触,鍘熷洜:" + error_info; - return null; - } - - var dayNumber = DateTime.DaysInMonth(year, monthRecord.Month); - - var daySum = this._dispatchAnaCalc.CalcSumData(HourRequests, out error_info); - if (daySum == null || daySum.Qt<=0) - { - error_info = "闈掕崏娌�,璋冨害鍒嗘瀽澶辫触,鍘熷洜:" + error_info; - return null; - } - Dto.MonthCalcuResult monthSum = new Dto.MonthCalcuResult(); - monthSum.Month = monthRecord.Month; - monthSum.Qt = daySum.Qt * dayNumber; - monthSum.Dt = daySum.Dt * dayNumber; - monthSum.WP = daySum.WP; - monthRecordList.Add(monthSum); - } - error_info = null; - return monthRecordList; - } - - /// <summary> - /// - /// </summary> - /// <param name="HourSumRecords"></param> - /// <param name="error_info"></param> - /// <returns></returns> - protected virtual List<IStation.Calculation.DispatchAna.Model.HourRequest> BuildHourRequest( - List<IStation.Dto.HourSumRecord> HourSumRecords, - out string error_info) - { - error_info = "鏈疄渚嬪寲"; - return null; - } - - - } -} diff --git a/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaBaseCalculator.cs b/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaBaseCalculator.cs new file mode 100644 index 0000000..a02cac2 --- /dev/null +++ b/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaBaseCalculator.cs @@ -0,0 +1,140 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using IStation.Application; +using IStation.Dto; + +namespace IStation.Calculation +{ + /// <summary> + /// 璁″垝鍒嗘瀽璁$畻鍣ㄦ帴鍙� + /// </summary> + public class PlanAnaBaseCalculator + { + /// <summary> + /// + /// </summary> + protected IStation.Calculation.DispatchAna.IOptAnaCalc _dispatchAnaCalc = null; + + /// <summary> + /// + /// </summary> + protected long _corpID = 0; + /// <summary> + /// + /// </summary> + protected long _stationID = 0; + /// <summary> + /// + /// </summary> + /// <param name="corpID"></param> + /// <param name="stationID"></param> + public void SetStationID(long corpID,long stationID) + { + this._corpID = corpID; + this._stationID = stationID; + } + + /// <summary> + /// + /// </summary> + public virtual List<Dto.MonthCalcuResult> Calc ( + Model.Station station,int factoryId, + List<Dto.MonthSumRecord> allMonthSumRecord, + out string error_info) + { + if(_dispatchAnaCalc == null) + { + //鐢辩户鎵跨被璁剧疆璋冨害杈呭姪绫� + error_info = "鏈瀯寤篋ispatchAna.IOptAnaCalc"; + return null; + } + int year = DateTime.Now.Year; + + List<Dto.MonthCalcuResult> monthRecordList = new List<Dto.MonthCalcuResult>(); + foreach (var monthRecord in allMonthSumRecord) + { + //鏋勫缓姣忓皬鏃剁殑鍙傛暟 + List<IStation.Calculation.DispatchAna.Model.HourRequest> allHourRequests = + BuildHourRequest(monthRecord.HourRecords,out error_info); + if(allHourRequests == null || allHourRequests.Count() == 0) + { + error_info = "鏋勫缓 HourRequests 澶辫触,鍘熷洜:" + error_info; + return null; + } + if (!string.IsNullOrEmpty(error_info)) + { + error_info = "鏋勫缓 HourRequests 澶辫触,鍘熷洜:" + error_info; + return null; + } + //涓�涓湀鐨勫ぉ鏁� + var dayNumber = DateTime.DaysInMonth(year, monthRecord.Month); + //姣忓ぉ鐨勬眹鎬� + var daySum = this._dispatchAnaCalc.CalcSumData(allHourRequests,true, out error_info); + if (daySum == null || daySum.Qt <= 0) + { + error_info = "闈掕崏娌�,璋冨害鍒嗘瀽澶辫触,鍘熷洜:" + error_info; + return null; + } + //璁$畻姣忔湀鐨勬眹鎬� + Dto.MonthCalcuResult monthSum = new Dto.MonthCalcuResult(); + monthSum.Month = monthRecord.Month; + monthSum.Qt = Math.Round(daySum.Qt * dayNumber, 1); + monthSum.Dt = Math.Round(daySum.Dt * dayNumber, 2); + monthSum.WP = Math.Round(daySum.WP, 3); + monthRecordList.Add(monthSum); + } + error_info = null; + return monthRecordList; + } + + /// <summary> + /// 鏋勫缓姣忓皬鏃剁殑鍙傛暟 + /// </summary> + /// <param name="HourSumRecords"></param> + /// <param name="error_info"></param> + /// <returns></returns> + protected virtual List<IStation.Calculation.DispatchAna.Model.HourRequest> BuildHourRequest( + List<IStation.Dto.HourSumRecord> HourSumRecords, + out string error_info) + { + List<IStation.Calculation.DispatchAna.Model.HourRequest> allHourRequests = new List<DispatchAna.Model.HourRequest>(); + + for (int i = 0; i <= 23; i++) + { + var hourSumRecord = new IStation.Calculation.DispatchAna.Model.HourRequest(); + hourSumRecord.Hour = i; + + var allRecords_hour = HourSumRecords[i].Records; + hourSumRecord.Request = BuildDispatchAnaRequest(allRecords_hour,out error_info); + + if(hourSumRecord.Request == null) + { + return allHourRequests; + } + + allHourRequests.Add(hourSumRecord); + } + + error_info = null; + return allHourRequests; + } + + /// <summary> + /// 鏍规嵁涓夐珮鎻愪緵鐨勫弬鏁�,鏋勫缓璋冨害鍒嗘瀽鎵�闇�鐨勫弬鏁�, 姣忎釜娉电珯, 杩欎釜鍦版柟閮戒笉涓�鏍� + /// </summary> + /// <param name="allRecords_hour"></param> + /// <param name="error_info"></param> + /// <returns></returns> + protected virtual DispatchAna.Model.RequestParasComplex BuildDispatchAnaRequest( + List<IStation.Dto.MonitorRecord4SG> allRecords_hour, + out string error_info) + { + error_info = "鏈疄渚嬪寲BuildDispatchAnaRequest"; + return null; + } + + } +} diff --git a/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaCalculatorFactory.cs b/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaCalculatorFactory.cs index 4535a6d..9cef9da 100644 --- a/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaCalculatorFactory.cs +++ b/Application/IStation.Application.OpenApi/shys/plan/helper/PlanAnaCalculatorFactory.cs @@ -8,9 +8,9 @@ /// <summary> /// 鍒涘缓璁$畻鍣� /// </summary> - public static PlanAnaCalculator CreateCalculator(long corpId, string objectType, long objectId) + public static PlanAnaBaseCalculator CreateCalculator(long corpId, string objectType, long objectId) { - PlanAnaCalculator calculator = null; + PlanAnaBaseCalculator calculator = null; if (objectType == ObjectType.Station) { switch (objectId) @@ -22,7 +22,10 @@ default: break; } } - + if(calculator != null) + { + calculator.SetStationID(corpId, objectId); + } return calculator; } diff --git "a/Application/IStation.Application.OpenApi/shys/plan/shys/shys\351\225\277\345\205\264\346\263\265\347\253\231.cs" "b/Application/IStation.Application.OpenApi/shys/plan/shys/shys\351\225\277\345\205\264\346\263\265\347\253\231.cs" index 2fef580..48a3720 100644 --- "a/Application/IStation.Application.OpenApi/shys/plan/shys/shys\351\225\277\345\205\264\346\263\265\347\253\231.cs" +++ "b/Application/IStation.Application.OpenApi/shys/plan/shys/shys\351\225\277\345\205\264\346\263\265\347\253\231.cs" @@ -6,119 +6,106 @@ namespace IStation.Calculation { - internal class shys闀垮叴娉电珯: PlanAnaCalculator + internal class shys闀垮叴娉电珯: PlanAnaBaseCalculator { public shys闀垮叴娉电珯( ) { this._dispatchAnaCalc = new IStation.Calculation.DispatchAna.Calculator_OptAna_SHYS_闀垮叴宀�(); } - protected override List<IStation.Calculation.DispatchAna.Model.HourRequest> BuildHourRequest( - List<IStation.Dto.HourSumRecord> HourSumRecords, - out string error_info) - { - - List<IStation.Calculation.DispatchAna.Model.HourRequest> HourRequests = new List<DispatchAna.Model.HourRequest>(); - - - for (int i = 0; i <= 23; i++) - { - var hourSumRecord = new IStation.Calculation.DispatchAna.Model.HourRequest(); - hourSumRecord.Hour = i; - hourSumRecord.Request = new DispatchAna.Model.RequestParasComplex(); - var Records = HourSumRecords[i].Records; - var water_level = Records.Find(x => x.MonitorTag == monitor娉电珯鍓嶆睜娑蹭綅.Item1); - if(water_level == null) - { - water_level = Records.Find(x => x.MonitorTag == monitor闈掕崏娌欐按搴撴恫浣�.Item1); - if (water_level == null) - { - error_info = "闈掕崏娌欐按搴撴恫浣嶆祴鐐规湭鎵惧埌"; - return HourRequests; - } - } - var pipe1_flow = Records.Find(x => x.MonitorTag == monitor姘寸閬�1娴侀噺.Item1); - if (pipe1_flow == null) - { - error_info = "闈掕崏娌欐按绠¢亾1娴侀噺娴嬬偣鏈壘鍒�"; - return HourRequests; - } - - var pipe1_press = Records.Find(x => x.MonitorTag == monitor姘寸閬�1鍘嬪姏.Item1); - if (pipe1_press == null) - { - error_info = "闈掕崏娌欐按绠¢亾1鍘嬪姏娴嬬偣鏈壘鍒�"; - return HourRequests; - } - - - var pipe2_flow = Records.Find(x => x.MonitorTag == monitor姘寸閬�2娴侀噺.Item1); - if (pipe2_flow == null) - { - error_info = "闈掕崏娌欐按绠¢亾2娴侀噺娴嬬偣鏈壘鍒�"; - return HourRequests; - } - var pipe2_press = Records.Find(x => x.MonitorTag == monitor姘寸閬�2鍘嬪姏.Item1); - if (pipe2_press == null) - { - error_info = "闈掕崏娌欐按绠¢亾2鍘嬪姏娴嬬偣鏈壘鍒�"; - return HourRequests; - } - hourSumRecord.Request.CorpID = 4; - hourSumRecord.Request.StationID = 2; - hourSumRecord.Request.SchemeNumber = 1; - hourSumRecord.Request.PressValueType = DispatchAna.Model.RequestParasComplex.ePressValueType.鍘嬪姏; - hourSumRecord.Request.WaterLevelPara = new List<DispatchAna.Model.WaterLevelPara>() - { - new DispatchAna.Model.WaterLevelPara(){ Name="姘存睜", Value = water_level.RecordValue} - }; - hourSumRecord.Request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>(); - hourSumRecord.Request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara() - { - Name = "涓�鍙风璺�", - TargetFlow = pipe1_flow.RecordValue, - TargetPress = pipe1_press.RecordValue, - }); - hourSumRecord.Request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara() - { - Name = "浜屽彿绠¤矾", - TargetFlow = pipe2_flow.RecordValue, - TargetPress = pipe2_press.RecordValue, - }); - - hourSumRecord.Request.ValvePara = new List<DispatchAna.Model.ValvePara>(); - hourSumRecord.Request.ValvePara.Add(new DispatchAna.Model.ValvePara() { Name = "涓棿闃�闂�", OpenStatus = 0 }); - //if (factoryData.result != null && factoryData.result.Count > 0) - //{ - // foreach (var resultItem in factoryData.result) - // { - // var resultRecord = new Calculation.PlanAna.MonitorRecord(); - // resultRecord.MonitorId = PlanAnaConstant.MonitorDict[resultItem.tagname]; - // resultRecord.RecordValue = resultItem.values.Find(t => t.datetime.Trim() == PlanAnaConstant.HourDict[i]).value; - // hourSumRecord.Records.Add(resultRecord); - // } - HourRequests.Add(hourSumRecord); - } - - error_info = null; - return HourRequests; - } - /// <summary> - /// 娴嬬偣瀛楀吀 + /// 娴嬬偣瀛楀吀(杩欎釜姣忎釜娉电珯閮戒笉涓�鏍�) /// </summary> - private Tuple<string, long> monitor闈掕崏娌欐按搴撴恫浣� = new Tuple<string, long>("_0402010403030103001", 69); + private Tuple<string, long> monitor姘村簱娑蹭綅 = new Tuple<string, long>("_0402010403030103001", 69); private Tuple<string, long> monitor娉电珯鍓嶆睜娑蹭綅 = new Tuple<string, long>("_0402010404030103001", 70); private Tuple<string, long> monitor姘寸閬�1娴侀噺 = new Tuple<string, long>("_0402010403030002001", 73); private Tuple<string, long> monitor姘寸閬�1鍘嬪姏 = new Tuple<string, long>("_0402010403030002005", 72); private Tuple<string, long> monitor姘寸閬�2娴侀噺 = new Tuple<string, long>("_0402010403030002002", 77); private Tuple<string, long> monitor姘寸閬�2鍘嬪姏 = new Tuple<string, long>("_0402010403030002006", 76); - //{"_0402010403030103001",69},//闈掕崏娌欐按搴撴恫浣� - // {"_0402010404030103001",70},//闈掕崏娌欐按搴撳惛姘翠簳娑蹭綅-闀垮叴娉电珯鍓嶆睜娑蹭綅 - // {"_0402010403030002001",73},//闀垮叴娉电珯杈撴按娉靛嚭姘寸閬�1娴侀噺 - // {"_0402010403030002005",72},//闀垮叴娉电珯杈撴按绠¢亾1#鍘嬪姏 - // {"_0402010403030002002",77},//闀垮叴娉电珯杈撴按娉靛嚭姘寸閬�2娴侀噺 - // {"_0402010403030002006",76},//闀垮叴娉电珯杈撴按绠¢亾2#鍘嬪姏 - //}; + + /// <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姘寸閬�1娴侀噺.Item1); + if (pipe1_flow == null) + { + error_info = "闈掕崏娌欐按绠¢亾1娴侀噺娴嬬偣鏈壘鍒�"; + return null; + } + + var pipe1_press = allRecords_hour.Find(x => x.MonitorTag == monitor姘寸閬�1鍘嬪姏.Item1); + if (pipe1_press == null) + { + error_info = "闈掕崏娌欐按绠¢亾1鍘嬪姏娴嬬偣鏈壘鍒�"; + return null; + } + + + var pipe2_flow = allRecords_hour.Find(x => x.MonitorTag == monitor姘寸閬�2娴侀噺.Item1); + if (pipe2_flow == null) + { + error_info = "闈掕崏娌欐按绠¢亾2娴侀噺娴嬬偣鏈壘鍒�"; + return null; + } + var pipe2_press = allRecords_hour.Find(x => x.MonitorTag == monitor姘寸閬�2鍘嬪姏.Item1); + if (pipe2_press == null) + { + error_info = "闈掕崏娌欐按绠¢亾2鍘嬪姏娴嬬偣鏈壘鍒�"; + 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, + }); + complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara() + { + Name = "浜屽彿绠¤矾", + TargetFlow = pipe2_flow.RecordValue, + TargetPress = pipe2_press.RecordValue, + }); + + complex_dispatch_request.ValvePara = new List<DispatchAna.Model.ValvePara>(); + complex_dispatch_request.ValvePara.Add(new DispatchAna.Model.ValvePara() { Name = "涓棿闃�闂�", OpenStatus = 0 }); + + + error_info = null; + return complex_dispatch_request; + } + + } } diff --git a/Calculation/IStation.Calculation.Dispatch/IOptAnaCalc.cs b/Calculation/IStation.Calculation.Dispatch/IOptAnaCalc.cs index 307d3a3..2e468b0 100644 --- a/Calculation/IStation.Calculation.Dispatch/IOptAnaCalc.cs +++ b/Calculation/IStation.Calculation.Dispatch/IOptAnaCalc.cs @@ -30,9 +30,10 @@ /// 璁$畻鏃ユ眹鎬� /// </summary> /// <param name="HourRequests"></param> + /// <param name="isUseCache">鏄惁鐢ㄧ紦瀛�</param> /// <param name="error_info"></param> /// <returns></returns> public IStation.Calculation.DispatchAna.Model.DaySumData CalcSumData( - List<HourRequest> HourRequests, out string error_info); + List<HourRequest> HourRequests, bool isUseCache, out string error_info); } } diff --git a/Calculation/IStation.Calculation.Dispatch/base/CalculatorOptAnaBase.cs b/Calculation/IStation.Calculation.Dispatch/base/CalculatorOptAnaBase.cs index 2ee6a11..50c3be7 100644 --- a/Calculation/IStation.Calculation.Dispatch/base/CalculatorOptAnaBase.cs +++ b/Calculation/IStation.Calculation.Dispatch/base/CalculatorOptAnaBase.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using System.IO.Pipelines; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -12,7 +13,7 @@ public class CalculatorOptAnaBase: CalculatorBase { /// <summary> - /// + /// 璁$畻鏈�浼樻柟妗� /// </summary> /// <param name="complex_request_paras"></param> /// <param name="machine_run_status"></param> @@ -27,15 +28,16 @@ return null; } - + Dictionary<string, IStation.Calculation.DispatchAna.Model.AnaScheme> _dict = new Dictionary<string, Model.AnaScheme>(); /// <summary> /// 璁$畻姹囨�绘暟鎹� /// </summary> /// <param name="HourRequests"></param> + /// <param name="isUseCache">鏄惁鐢ㄧ紦瀛�</param> /// <param name="error_info"></param> /// <returns></returns> - public virtual IStation.Calculation.DispatchAna.Model.DaySumData CalcSumData( - List<Model.HourRequest> HourRequests, out string error_info) + public virtual IStation.Calculation.DispatchAna.Model.DaySumData CalcSumData( + List<Model.HourRequest> HourRequests, bool isUseCache, out string error_info) { error_info = null; IStation.Calculation.DispatchAna.Model.DaySumData sum = new Model.DaySumData(); @@ -43,25 +45,67 @@ foreach (var hourRequest in HourRequests) { var complex_request_paras = hourRequest.Request; + + #region 妫�鏌ユ暟鎹� if (complex_request_paras.OutletPipePara == null || complex_request_paras.OutletPipePara.Count < 1) { error_info = string.Format("绗瑊0},鍒嗘瀽鍑洪敊,鍘熷洜鏄�:{1}", hourRequest.Hour + 1, "鍑哄彛绠¤矾鍙傛暟鏈夎, 璇风‘璁ゆ槸鍚﹁祴鍊�, ERROR 35"); return null; } - double target_flow = complex_request_paras.OutletPipePara[0].TargetFlow; - if (target_flow < 50) + + StringBuilder cacheNameBuilder = new StringBuilder(); + + double target_flow = 0; + bool isHaveSetPress = false; + foreach (var pipe in complex_request_paras.OutletPipePara) { + target_flow += pipe.TargetFlow; + if (pipe.TargetPress > 0.01) + { + isHaveSetPress = true; + } + cacheNameBuilder.AppendFormat("Q{0}H{1}", Math.Round(pipe.TargetFlow, 0), Math.Round(pipe.TargetPress, 3)); + } + if (target_flow < 50) + {//妫�鏌ユ祦閲� continue; } - - var result_anaSchemes = CalcSchemes鍘嬪姏(hourRequest.Request, null, out error_info); - if (result_anaSchemes == null || result_anaSchemes.Count == 0) - { - error_info = string.Format("绗瑊0},鍒嗘瀽鍑洪敊,鍘熷洜鏄�:{1}", hourRequest.Hour + 1, error_info); - return null; + if (!isHaveSetPress) + {//妫�鏌ュ帇鍔� + continue; } - var opt_anaScheme = result_anaSchemes.First(); + if (complex_request_paras.WaterLevelPara != null) + { + foreach (var wl in complex_request_paras.WaterLevelPara) + { + cacheNameBuilder.AppendFormat("V{0}", Math.Round(wl.Value, 0)); + } + } + #endregion + + + //鐢变簬寰幆璋冨彇,鎵�浠ヤ互鍓嶅垎鏋愭暟鎹紦瀛樿捣鏉� + var cacheName = cacheNameBuilder.ToString(); + IStation.Calculation.DispatchAna.Model.AnaScheme opt_anaScheme; + if (_dict.ContainsKey(cacheName)) + { + opt_anaScheme = _dict[cacheName]; + } + else + { + var result_anaSchemes = CalcSchemes鍘嬪姏(complex_request_paras, null, out error_info); + if (result_anaSchemes == null || result_anaSchemes.Count == 0) + { + error_info = string.Format("绗瑊0},鍒嗘瀽鍑洪敊,鍘熷洜鏄�:{1}", hourRequest.Hour + 1, error_info); + return null; + } + opt_anaScheme = result_anaSchemes.First(); + _dict[cacheName] = opt_anaScheme; + } + + + //姹囨�� sum.Qt = sum.Qt + opt_anaScheme.TotalWrkQ; sum.Dt = sum.Dt + opt_anaScheme.TotalWrkP; } diff --git a/Calculation/IStation.Calculation.Plan/calc/PlanAnaCalculator.cs b/Calculation/IStation.Calculation.Plan/calc/PlanAnaCalculator.cs new file mode 100644 index 0000000..c40496a --- /dev/null +++ b/Calculation/IStation.Calculation.Plan/calc/PlanAnaCalculator.cs @@ -0,0 +1,26 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IStation.Calculation.PlanAna +{ + internal class PlanAnaCalculator: IPlanAnaCalculator + { + IStation.Calculation.DispatchAna.IOptAnaCalc _dispatchAnaCalc = null; + public PlanAnaCalculator(IStation.Calculation.DispatchAna.IOptAnaCalc DispatchAnaCalc) + { + this._dispatchAnaCalc = DispatchAnaCalc; + } + public List<MonthCalcuResult> Calc(Model.Station station, List<MonthSumRecord> monthRecordList) + { + foreach(var monthRecord in monthRecordList) + { + //this._dispatchAnaCalc + } + + return null; + } + } +} diff --git a/Entry/IStation.WebApi.Entry.Dispatch/.config/dotnet-tools.json b/Entry/IStation.WebApi.Entry.Dispatch/.config/dotnet-tools.json new file mode 100644 index 0000000..98091c9 --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "6.0.8", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/Entry/IStation.WebApi.Entry.Dispatch/IStation.WebApi.Entry.Dispatch.csproj b/Entry/IStation.WebApi.Entry.Dispatch/IStation.WebApi.Entry.Dispatch.csproj new file mode 100644 index 0000000..54c0b58 --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/IStation.WebApi.Entry.Dispatch.csproj @@ -0,0 +1,28 @@ +锘�<Project Sdk="Microsoft.NET.Sdk.Web"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <Nullable>disable</Nullable> + <ImplicitUsings>enable</ImplicitUsings> + <AssemblyName>IStation.WebApi.Entry</AssemblyName> + <RootNamespace>IStation.WebApi</RootNamespace> + <GenerateDocumentationFile>True</GenerateDocumentationFile> + <Version /> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Application\IStation.Application.Basic\IStation.Application.Basic.csproj" /> + <ProjectReference Include="..\..\Application\IStation.Application.Eta\IStation.Application.Eta.csproj" /> + <ProjectReference Include="..\..\Application\IStation.Application.OpenApi\IStation.Application.OpenApi.csproj" /> + <ProjectReference Include="..\..\Core\IStation.WebApi.Core\IStation.WebApi.Core.csproj" /> + </ItemGroup> + + <ItemGroup> + <Content Update="appsettings.json"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + </ItemGroup> + + <ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions> + +</Project> diff --git a/Entry/IStation.WebApi.Entry.Dispatch/Program.cs b/Entry/IStation.WebApi.Entry.Dispatch/Program.cs new file mode 100644 index 0000000..6010138 --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/Program.cs @@ -0,0 +1,3 @@ +var builder = WebApplication.CreateBuilder(args).Inject(); +var app = builder.Build(); +app.Run(); \ No newline at end of file diff --git a/Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml b/Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..500e9ad --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,20 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <DeleteExistingFiles>false</DeleteExistingFiles> + <ExcludeApp_Data>false</ExcludeApp_Data> + <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish> + <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> + <LastUsedPlatform>Any CPU</LastUsedPlatform> + <PublishProvider>FileSystem</PublishProvider> + <PublishUrl>bin\Release\net6.0\publish\</PublishUrl> + <WebPublishMethod>FileSystem</WebPublishMethod> + <SiteUrlToLaunchAfterPublish /> + <TargetFramework>net6.0</TargetFramework> + <ProjectGuid>a709d273-838e-4aa9-9b6a-7266840262ba</ProjectGuid> + <SelfContained>false</SelfContained> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml.user b/Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..6495620 --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,11 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <_PublishTargetUrl>D:\WorkData\IStation\IStationV4.1\Core\Service.V4.1\Entry\IStation.WebApi.Entry\bin\Release\net6.0\publish\</_PublishTargetUrl> + <History>True|2022-10-08T01:23:21.6592006Z;True|2022-10-07T15:35:37.7532304+08:00;True|2022-10-07T15:04:51.9161653+08:00;False|2022-10-07T14:58:32.8816319+08:00;False|2022-10-07T14:54:55.4175944+08:00;False|2022-10-07T14:52:46.7215376+08:00;False|2022-10-07T14:51:14.0508027+08:00;False|2022-10-07T14:49:57.6007572+08:00;False|2022-10-07T14:48:56.6085134+08:00;False|2022-10-07T14:47:54.7931315+08:00;True|2022-09-22T13:35:52.6495568+08:00;True|2022-09-22T13:19:28.3609130+08:00;True|2022-09-22T09:45:29.7312648+08:00;True|2022-09-21T17:11:30.6881814+08:00;True|2022-09-15T16:32:44.8582766+08:00;True|2022-09-04T14:21:59.9156800+08:00;True|2022-09-03T18:27:37.0001278+08:00;True|2022-08-29T10:26:27.0532192+08:00;True|2022-08-24T13:40:25.0333335+08:00;True|2022-08-23T10:20:23.3347504+08:00;True|2022-08-19T15:24:53.5488496+08:00;False|2022-08-19T15:24:15.4430294+08:00;True|2022-08-19T11:51:17.0556654+08:00;True|2022-08-19T11:45:03.9834334+08:00;True|2022-08-19T10:56:27.1184994+08:00;True|2022-08-18T16:31:26.4673400+08:00;True|2022-08-18T10:37:50.8776926+08:00;True|2022-08-17T17:10:09.3527873+08:00;True|2022-08-17T16:04:30.4487827+08:00;True|2022-08-15T13:35:48.4976973+08:00;True|2022-08-15T13:35:34.4046702+08:00;True|2022-08-15T13:31:44.3380038+08:00;True|2022-08-15T13:07:03.2183172+08:00;True|2022-07-25T15:14:36.3659352+08:00;True|2022-07-25T15:10:01.3426246+08:00;True|2022-07-25T13:20:08.1574461+08:00;True|2022-07-19T10:26:17.1257582+08:00;True|2022-07-14T10:30:13.1942620+08:00;True|2022-07-13T14:35:30.0524912+08:00;True|2022-07-08T14:32:42.4327635+08:00;True|2022-07-05T11:08:07.0982998+08:00;True|2022-07-04T10:33:11.4756479+08:00;True|2022-07-01T22:05:04.4907981+08:00;True|2022-07-01T15:57:41.6399584+08:00;True|2022-06-29T10:33:01.2518877+08:00;True|2022-06-29T09:35:04.8176716+08:00;True|2022-06-22T10:29:08.8189250+08:00;True|2022-06-21T20:20:26.7306581+08:00;True|2022-06-21T09:54:59.2174617+08:00;True|2022-06-20T16:05:34.5414017+08:00;True|2022-06-16T13:17:09.9717924+08:00;True|2022-06-16T09:40:45.1175998+08:00;True|2022-06-15T18:01:54.0267150+08:00;False|2022-06-15T18:00:46.8407587+08:00;True|2022-06-15T15:22:18.3048191+08:00;True|2022-06-15T14:10:37.0479735+08:00;False|2022-06-15T14:08:52.7287625+08:00;True|2022-06-15T11:52:36.3090013+08:00;True|2022-06-15T10:29:17.8467709+08:00;True|2022-06-15T09:53:07.0983926+08:00;False|2022-06-15T09:51:02.1269263+08:00;True|2022-06-14T16:42:04.7964854+08:00;True|2022-06-14T14:08:49.4227432+08:00;True|2022-06-14T14:04:00.9153594+08:00;True|2022-06-13T14:57:09.1986107+08:00;True|2022-06-12T10:12:40.2143903+08:00;True|2022-06-12T09:59:01.3527438+08:00;True|2022-06-09T17:47:54.0302121+08:00;True|2022-06-09T17:30:21.7998171+08:00;True|2022-06-09T13:53:49.3251173+08:00;True|2022-06-09T11:06:42.0691794+08:00;True|2022-06-09T10:24:37.1232972+08:00;True|2022-06-09T10:00:30.4180885+08:00;True|2022-06-08T16:55:14.5816280+08:00;True|2022-06-08T16:02:29.3874857+08:00;True|2022-06-08T13:37:33.4098629+08:00;True|2022-06-08T11:05:09.3848401+08:00;True|2022-06-08T10:21:11.6630897+08:00;True|2022-06-08T09:38:48.6605705+08:00;True|2022-06-08T09:38:12.5509843+08:00;True|2022-06-08T09:37:38.2420697+08:00;True|2022-06-08T09:33:06.1943764+08:00;True|2022-06-07T17:26:45.0216506+08:00;True|2022-06-07T17:15:13.6540984+08:00;True|2022-06-07T13:30:54.6796254+08:00;True|2022-06-06T17:33:50.9010674+08:00;True|2022-06-06T17:32:21.9276179+08:00;True|2022-06-06T15:59:31.7116819+08:00;True|2022-06-06T15:29:18.4459191+08:00;True|2022-06-06T14:17:56.0946686+08:00;True|2022-06-02T09:13:02.9635258+08:00;True|2022-06-01T17:15:47.4170975+08:00;True|2022-06-01T14:06:29.6241464+08:00;True|2022-06-01T13:27:18.8319582+08:00;True|2022-06-01T13:14:07.7862232+08:00;True|2022-06-01T09:48:16.4577267+08:00;True|2022-05-30T09:57:00.6017913+08:00;True|2022-05-28T15:54:16.3134700+08:00;True|2022-05-28T11:46:55.8201686+08:00;True|2022-05-28T00:40:34.8169520+08:00;</History> + <LastFailureDetails /> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Entry/IStation.WebApi.Entry.Dispatch/Properties/launchSettings.json b/Entry/IStation.WebApi.Entry.Dispatch/Properties/launchSettings.json new file mode 100644 index 0000000..a3e94e9 --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/Properties/launchSettings.json @@ -0,0 +1,31 @@ +锘縶 + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:31950", + "sslPort": 44347 + } + }, + "profiles": { + "IStation.Entry": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "", + "applicationUrl": "https://localhost:7143;http://localhost:5143", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Entry/IStation.WebApi.Entry.Dispatch/appsettings.Development.json b/Entry/IStation.WebApi.Entry.Dispatch/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/Entry/IStation.WebApi.Entry.Dispatch/appsettings.json b/Entry/IStation.WebApi.Entry.Dispatch/appsettings.json new file mode 100644 index 0000000..759a4dc --- /dev/null +++ b/Entry/IStation.WebApi.Entry.Dispatch/appsettings.json @@ -0,0 +1,12 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "IgnoreConfigurationFiles": [ + "paras_settings.json" + ] +} diff --git a/IStation.Server.Eta.v12.suo b/IStation.Server.Eta.v12.suo new file mode 100644 index 0000000..f736c12 --- /dev/null +++ b/IStation.Server.Eta.v12.suo Binary files differ diff --git a/IStation.WebApi.Dispatch.sln b/IStation.WebApi.Dispatch.sln index b80386e..a23d931 100644 --- a/IStation.WebApi.Dispatch.sln +++ b/IStation.WebApi.Dispatch.sln @@ -53,8 +53,6 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Calculation", "Calculation", "{B1548C2C-C3C2-47C0-8F6E-B265D0603099}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IStation.WebApi.Entry", "Entry\IStation.WebApi.Entry\IStation.WebApi.Entry.csproj", "{A709D273-838E-4AA9-9B6A-7266840262BA}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{1210D17D-0A3C-4A99-8FF0-0D0BC8CF9501}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IStation.WebApi.Core", "Core\IStation.WebApi.Core\IStation.WebApi.Core.csproj", "{7E6E6576-F2D2-40FB-A35B-068CF81BADB5}" @@ -223,6 +221,8 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IStation.Application.OpenApi", "Application\IStation.Application.OpenApi\IStation.Application.OpenApi.csproj", "{1CDB8D9B-0DCF-4DB7-A193-96005E4E0554}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IStation.WebApi.Entry.Dispatch", "Entry\IStation.WebApi.Entry.Dispatch\IStation.WebApi.Entry.Dispatch.csproj", "{A2A87128-A935-400E-B0BD-D5D5F7D1DAF8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -289,10 +289,6 @@ {88D30DC4-B441-4D26-BAF6-C3C4026671CC}.Debug|Any CPU.Build.0 = Debug|Any CPU {88D30DC4-B441-4D26-BAF6-C3C4026671CC}.Release|Any CPU.ActiveCfg = Release|Any CPU {88D30DC4-B441-4D26-BAF6-C3C4026671CC}.Release|Any CPU.Build.0 = Release|Any CPU - {A709D273-838E-4AA9-9B6A-7266840262BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A709D273-838E-4AA9-9B6A-7266840262BA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A709D273-838E-4AA9-9B6A-7266840262BA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A709D273-838E-4AA9-9B6A-7266840262BA}.Release|Any CPU.Build.0 = Release|Any CPU {7E6E6576-F2D2-40FB-A35B-068CF81BADB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7E6E6576-F2D2-40FB-A35B-068CF81BADB5}.Debug|Any CPU.Build.0 = Debug|Any CPU {7E6E6576-F2D2-40FB-A35B-068CF81BADB5}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -621,6 +617,10 @@ {1CDB8D9B-0DCF-4DB7-A193-96005E4E0554}.Debug|Any CPU.Build.0 = Debug|Any CPU {1CDB8D9B-0DCF-4DB7-A193-96005E4E0554}.Release|Any CPU.ActiveCfg = Release|Any CPU {1CDB8D9B-0DCF-4DB7-A193-96005E4E0554}.Release|Any CPU.Build.0 = Release|Any CPU + {A2A87128-A935-400E-B0BD-D5D5F7D1DAF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A2A87128-A935-400E-B0BD-D5D5F7D1DAF8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A2A87128-A935-400E-B0BD-D5D5F7D1DAF8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A2A87128-A935-400E-B0BD-D5D5F7D1DAF8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Settings/IStation.Settings/IStation.Settings.csproj b/Settings/IStation.Settings/IStation.Settings.csproj index 661f441..cbbbba2 100644 --- a/Settings/IStation.Settings/IStation.Settings.csproj +++ b/Settings/IStation.Settings/IStation.Settings.csproj @@ -16,7 +16,7 @@ <ItemGroup> <None Update="paras_settings.json"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <CopyToOutputDirectory>Never</CopyToOutputDirectory> </None> </ItemGroup> diff --git a/Settings/IStation.Settings/paras_settings.json b/Settings/IStation.Settings/paras_settings.json index 7b07d8f..95589bb 100644 --- a/Settings/IStation.Settings/paras_settings.json +++ b/Settings/IStation.Settings/paras_settings.json @@ -7,13 +7,13 @@ }, "MemoryCache": { - "KeepTime": 30, //分钟 - "RandomTime": 300, //秒 - "Level1": 600, //秒 - "Level2": 300, //秒 - "Level3": 160, //秒 - "Level4": 120, //秒 - "Level5": 60 //秒 + "KeepTime": 30, //锟斤拷锟斤拷 + "RandomTime": 300, //锟斤拷 + "Level1": 600, //锟斤拷 + "Level2": 300, //锟斤拷 + "Level3": 160, //锟斤拷 + "Level4": 120, //锟斤拷 + "Level5": 60 //锟斤拷 }, "RabbitMq": { @@ -128,25 +128,25 @@ "ResetFrequency": 60 }, "Sum": { - "HourCron": "0 20 00 * * ?", //每天 20分执行 - "DayCron": "0 40 00 * * ?", // 每天上午 00:40 执行 - "WeekCron": "0 40 1 ? * MON", //每周一上午 1点40 分执行 - "MonthCron": "0 40 2 1 * ?", //每月1号上午 2:40 执行 - "YearCron": "0 40 3 1 1 ?" //每年1月上午3:40执行 + "HourCron": "0 20 00 * * ?", //每锟斤拷 20锟斤拷执锟斤拷 + "DayCron": "0 40 00 * * ?", // 每锟斤拷锟斤拷锟斤拷 00锟斤拷40 执锟斤拷 + "WeekCron": "0 40 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷40 锟斤拷执锟斤拷 + "MonthCron": "0 40 2 1 * ?", //每锟斤拷1锟斤拷锟斤拷锟斤拷 2锟斤拷40 执锟斤拷 + "YearCron": "0 40 3 1 1 ?" //每锟斤拷1锟斤拷锟斤拷锟斤拷3锟斤拷40执锟斤拷 }, "Accord": { - "HourCron": "0 25 00 * * ?", //每天 25分执行 - "DayCron": "0 45 00 * * ?", // 每天上午 00:45 执行 - "WeekCron": "0 45 1 ? * MON", //每周一上午 1点45 分执行 - "MonthCron": "0 45 2 1 * ?", //每月1号上午 2:45 执行 - "YearCron": "0 45 3 1 1 ?" //每年1月上午3:45执行 + "HourCron": "0 25 00 * * ?", //每锟斤拷 25锟斤拷执锟斤拷 + "DayCron": "0 45 00 * * ?", // 每锟斤拷锟斤拷锟斤拷 00锟斤拷45 执锟斤拷 + "WeekCron": "0 45 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷45 锟斤拷执锟斤拷 + "MonthCron": "0 45 2 1 * ?", //每锟斤拷1锟斤拷锟斤拷锟斤拷 2锟斤拷45 执锟斤拷 + "YearCron": "0 45 3 1 1 ?" //每锟斤拷1锟斤拷锟斤拷锟斤拷3锟斤拷45执锟斤拷 }, "Standard": { - "HourCron": "0 30 00 * * ?", //每天 30分执行 - "DayCron": "0 50 00 * * ?", // 每天上午 00:50 执行 - "WeekCron": "0 50 1 ? * MON", //每周一上午 1点50 分执行 - "MonthCron": "0 50 2 1 * ?", //每月1号上午 2:50 执行 - "YearCron": "0 50 3 1 1 ?" //每年1月上午3:50执行 + "HourCron": "0 30 00 * * ?", //每锟斤拷 30锟斤拷执锟斤拷 + "DayCron": "0 50 00 * * ?", // 每锟斤拷锟斤拷锟斤拷 00锟斤拷50 执锟斤拷 + "WeekCron": "0 50 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷50 锟斤拷执锟斤拷 + "MonthCron": "0 50 2 1 * ?", //每锟斤拷1锟斤拷锟斤拷锟斤拷 2锟斤拷50 执锟斤拷 + "YearCron": "0 50 3 1 1 ?" //每锟斤拷1锟斤拷锟斤拷锟斤拷3锟斤拷50执锟斤拷 } }, "Analy": { @@ -211,15 +211,15 @@ "ContainsChildren": false }, "Fluct": { - "Cron": "0 00 02 * * ?" //每日 02:00 执行 + "Cron": "0 00 02 * * ?" //每锟斤拷 02锟斤拷00 执锟斤拷 }, "General": { "RealResetFrequency": 60, - "HourCron": "0 20 * * * ?", //每时 00:20 执行 - "DayCron": "0 00 01 * * ?", //每日 01:00 执行 - "WeekCron": "0 30 1 ? * MON", //每周一上午 1点30 分执行 - "MonthCron": "0 00 2 1 * ?", //每月1号2点00执行 - "YearCron": "0 0 6 1 1 ? *" //每年 1月1日 6:00执行 + "HourCron": "0 20 * * * ?", //每时 00:20 执锟斤拷 + "DayCron": "0 00 01 * * ?", //每锟斤拷 01锟斤拷00 执锟斤拷 + "WeekCron": "0 30 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷30 锟斤拷执锟斤拷 + "MonthCron": "0 00 2 1 * ?", //每锟斤拷1锟斤拷2锟斤拷00执锟斤拷 + "YearCron": "0 0 6 1 1 ? *" //每锟斤拷 1锟斤拷1锟斤拷 6锟斤拷00执锟斤拷 }, "Alarm": { "InterruptAnalyFrequency": 120 diff --git a/Settings/IStation.Settings/paras_settings_debug.json b/Settings/IStation.Settings/paras_settings_debug.json new file mode 100644 index 0000000..95589bb --- /dev/null +++ b/Settings/IStation.Settings/paras_settings_debug.json @@ -0,0 +1,280 @@ +{ + "File": { + "IsEncryption": false, + "EncryptionKey": "123456", + "DataFolder": "Data", + "FileStorageFolder": "FileStorage" + }, + + "MemoryCache": { + "KeepTime": 30, //锟斤拷锟斤拷 + "RandomTime": 300, //锟斤拷 + "Level1": 600, //锟斤拷 + "Level2": 300, //锟斤拷 + "Level3": 160, //锟斤拷 + "Level4": 120, //锟斤拷 + "Level5": 60 //锟斤拷 + }, + + "RabbitMq": { + "HostName": "47.116.64.138", + "UserName": "admin", + "Password": "admin" + }, + + "Redis": { + "Url": "47.116.97.43:6379" + }, + + "SqlSugar": { + "SnowFlakeWorkId": 1 + }, + + "RedisCache": { + "RunKeyPrefix": "istation-run-core-test", + "EtaKeyPrefix": "istation-eta-core-test", + "VibrationKeyPrefix": "istation-vibration-core-test" + }, + + "Queue": { + "DataDockingQueueName": "data_docking_queue_test", + "StoreQueueName": "store_queue_test", + "RunExChangeName": "run_exchange_test" + }, + + "Basic": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_basic_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Bimface": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_bimface_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + }, + "Account": { + "AppKey": "GPg7TMfOJxF10QHm2PirACyI21nv0qJX", + "AppSecret": "lakJejzxiKbsuBM7Pn0P0czfeYvXTnWW" + } + }, + + "Dma": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_dma_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Main": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_main_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Map": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_map_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Monitor": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_monitor_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + }, + "Flag": "monitor" + }, + + "Organize": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_organize_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Product": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_product_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "User": { + "DefaultLoginPwd": "123456", + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_user_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;", + "UserLoginConnectString": "PORT=5432;DATABASE=istation_user_login_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Run": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_run_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;", + "MonitorRecordConnectString": "PORT=5432;DATABASE=istation_monitor_record_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Eta": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_eta_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;", + "RecordConnectString": "PORT=5432;DATABASE=istation_eta_record_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + }, + "Debug": { + "IsDebug": true, + "IsWriteLog": true + }, + "Target": { + "CorpIds": [ 1 ], + "ContainsChildren": true + }, + "Cron": { + "Real": { + "ResetFrequency": 60 + }, + "Sum": { + "HourCron": "0 20 00 * * ?", //每锟斤拷 20锟斤拷执锟斤拷 + "DayCron": "0 40 00 * * ?", // 每锟斤拷锟斤拷锟斤拷 00锟斤拷40 执锟斤拷 + "WeekCron": "0 40 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷40 锟斤拷执锟斤拷 + "MonthCron": "0 40 2 1 * ?", //每锟斤拷1锟斤拷锟斤拷锟斤拷 2锟斤拷40 执锟斤拷 + "YearCron": "0 40 3 1 1 ?" //每锟斤拷1锟斤拷锟斤拷锟斤拷3锟斤拷40执锟斤拷 + }, + "Accord": { + "HourCron": "0 25 00 * * ?", //每锟斤拷 25锟斤拷执锟斤拷 + "DayCron": "0 45 00 * * ?", // 每锟斤拷锟斤拷锟斤拷 00锟斤拷45 执锟斤拷 + "WeekCron": "0 45 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷45 锟斤拷执锟斤拷 + "MonthCron": "0 45 2 1 * ?", //每锟斤拷1锟斤拷锟斤拷锟斤拷 2锟斤拷45 执锟斤拷 + "YearCron": "0 45 3 1 1 ?" //每锟斤拷1锟斤拷锟斤拷锟斤拷3锟斤拷45执锟斤拷 + }, + "Standard": { + "HourCron": "0 30 00 * * ?", //每锟斤拷 30锟斤拷执锟斤拷 + "DayCron": "0 50 00 * * ?", // 每锟斤拷锟斤拷锟斤拷 00锟斤拷50 执锟斤拷 + "WeekCron": "0 50 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷50 锟斤拷执锟斤拷 + "MonthCron": "0 50 2 1 * ?", //每锟斤拷1锟斤拷锟斤拷锟斤拷 2锟斤拷50 执锟斤拷 + "YearCron": "0 50 3 1 1 ?" //每锟斤拷1锟斤拷锟斤拷锟斤拷3锟斤拷50执锟斤拷 + } + }, + "Analy": { + "Method": 1 + } + }, + + "Repair": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_repair_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Job": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_job_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + }, + "Execution": { + "CustomRealResetThreshold": 60, + "CustomCronResetThreshold": 1440 + } + }, + + "Epanet": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_epanet_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "Inspect": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_inspect_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;", + "RecordConnectString": "PORT=5432;DATABASE=istation_inspect_record_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + } + }, + + "DataDocking": { + "Task": { + "ResetFrequency": 60 + }, + "Target": { + "CorpIds": [ 3 ], + "ContainsChildren": false + } + }, + + "Handle": { + "Debug": { + "IsWriteLog": true + } + }, + + "Store": { + "Debug": { + "IsWriteLog": true + } + }, + + "Analy": { + "Target": { + "CorpIds": [ 4 ], + "ContainsChildren": false + }, + "Fluct": { + "Cron": "0 00 02 * * ?" //每锟斤拷 02锟斤拷00 执锟斤拷 + }, + "General": { + "RealResetFrequency": 60, + "HourCron": "0 20 * * * ?", //每时 00:20 执锟斤拷 + "DayCron": "0 00 01 * * ?", //每锟斤拷 01锟斤拷00 执锟斤拷 + "WeekCron": "0 30 1 ? * MON", //每锟斤拷一锟斤拷锟斤拷 1锟斤拷30 锟斤拷执锟斤拷 + "MonthCron": "0 00 2 1 * ?", //每锟斤拷1锟斤拷2锟斤拷00执锟斤拷 + "YearCron": "0 0 6 1 1 ? *" //每锟斤拷 1锟斤拷1锟斤拷 6锟斤拷00执锟斤拷 + }, + "Alarm": { + "InterruptAnalyFrequency": 120 + } + }, + + "WebApi": { + "EnableJwt": false, + "OpenApi": { + "SanGaoDispatchUrl": "http://192.168.60.228:8821/Api/wsmp/v1/Chengtou/factoryCalc", + "SanGaoPlanUrl": "http://192.168.60.228:8821/Api/wsmp/v1/Chengtou/factoryCalc_New" + } + + }, + + "Transfer": { + "Expert": { + "SDC800": { + "ServerPort": 9988, + "TransferUrl": "http://172.100.17.23:8081/smi/vibration/zept" + } + }, + "HangTian801": { + "TransferUrl": "http://172.100.17.23:8081/smi/vibration/hangtian" + } + }, + + "Vibration": { + "Smi": { + "Expert": { + "IsWriteLog": true, + "CorpID": 5, + "ConfigureID": 1532223215940800512 + }, + "HangTian": { + "IsWriteLog": true, + "CorpID": 5, + "ConfigureID": 0 + } + } + }, + + "LinuxTest": { + "DataBase": { + "ConnectString": "PORT=5432;DATABASE=istation_linux_test;HOST=101.133.223.111;PASSWORD=Eventech2010;USER ID=postgres;" + }, + "Queue": { + "StoreQueueName": "linux_text_queue_name" + } + + }, + + "DataFile": { + "SaveFileUrl": "http://101.133.133.173:9019/", + "PdfFolder":"Report" + } + +} -- Gitblit v1.9.3