WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/02-list/SimulationVisualListHelper.cs
@@ -33,22 +33,14 @@ { return; } _dict = new Dictionary<string, HydroVisualInfo>(); var allVisualList = this.HydroInfo.GetAllVisuals(); allVisualList?.ForEach(x => _dict.Add(x.Code, x)); _dict = hydroInfo?.GetVisualDict(); } /// <summary> /// è·åå¯è§åå ¸ /// </summary> public Dictionary<string, HydroVisualInfo> GetVisualDict() { if (_hydroInfo == null) { return default; } return _dict; } @@ -57,10 +49,6 @@ /// </summary> public List<HydroVisualInfo> GetVisualList() { if (_hydroInfo == null) { return default; } return _dict?.Values.ToList(); } @@ -69,11 +57,7 @@ /// </summary> public List<HydroNodeInfo> GetNodeList() { if (_hydroInfo == null) { return default; } var nodes = _hydroInfo.GetAllNodes(); var nodes = _hydroInfo?.GetAllNodes(); return nodes; } @@ -82,11 +66,7 @@ /// </summary> public List<HydroLinkInfo> GetLinkList() { if (_hydroInfo == null) { return default; } var links = _hydroInfo.GetAllLinks(); var links = _hydroInfo?.GetAllLinks(); return links; } @@ -95,10 +75,6 @@ /// </summary> public HydroVisualInfo GetVisual(string code) { if (_hydroInfo == null) { return default; } if (_dict == null || _dict.Count < 1) { return default; WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.Designer.cs
@@ -37,20 +37,18 @@ barBtnVisualList = new DevExpress.XtraBars.BarButtonItem(); barBtnWorkingParallel = new DevExpress.XtraBars.BarButtonItem(); barBtnSearch = new DevExpress.XtraBars.BarButtonItem(); barBtnSetGradingList = new DevExpress.XtraBars.BarButtonItem(); barBtnApplyGradingList = new DevExpress.XtraBars.BarButtonItem(); barBtnSetMark = new DevExpress.XtraBars.BarButtonItem(); barBtnSetMonitorValue = new DevExpress.XtraBars.BarButtonItem(); barBtnShowMonitorValue = new DevExpress.XtraBars.BarButtonItem(); barCkMonitor = new DevExpress.XtraBars.BarCheckItem(); barCkMark = new DevExpress.XtraBars.BarCheckItem(); barCkFlowEffect = new DevExpress.XtraBars.BarCheckItem(); barCkGrading = new DevExpress.XtraBars.BarCheckItem(); barCkCalcu = new DevExpress.XtraBars.BarCheckItem(); barBtnWorkingLossCurve = new DevExpress.XtraBars.BarButtonItem(); barBtnWorkingLossScale = new DevExpress.XtraBars.BarButtonItem(); barBtnWorkingLossStatistics = new DevExpress.XtraBars.BarButtonItem(); barBtnWorkingPower = new DevExpress.XtraBars.BarButtonItem(); barBtnWorkingAnaly = new DevExpress.XtraBars.BarButtonItem(); barBtnPumpParallel = new DevExpress.XtraBars.BarButtonItem(); barBtnWorkingEvaluation = new DevExpress.XtraBars.BarButtonItem(); barBtnSetVisualVisible = new DevExpress.XtraBars.BarButtonItem(); barCkDecorator = new DevExpress.XtraBars.BarCheckItem(); @@ -59,8 +57,8 @@ ribbonPageGroup6 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup7 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup5 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup9 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup4 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); tabPane1 = new DevExpress.XtraBars.Navigation.TabPane(); tabPageBimface = new DevExpress.XtraBars.Navigation.TabNavigationPage(); @@ -82,7 +80,7 @@ // ribbonControl1.ExpandCollapseItem.Id = 0; ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic; ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnExportInp, barBtnVisualList, barBtnWorkingParallel, barBtnSearch, barBtnSetGradingList, barBtnApplyGradingList, barBtnSetMark, barBtnSetMonitorValue, barCkMonitor, barCkMark, barCkFlowEffect, barCkGrading, barCkCalcu, barBtnWorkingLossCurve, barBtnWorkingLossScale, barBtnWorkingPower, barBtnWorkingAnaly, barBtnPumpParallel, barBtnWorkingEvaluation, barBtnSetVisualVisible, barCkDecorator }); ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnExportInp, barBtnVisualList, barBtnWorkingParallel, barBtnSearch, barBtnApplyGradingList, barBtnSetMark, barBtnShowMonitorValue, barCkMonitor, barCkMark, barCkFlowEffect, barCkGrading, barCkCalcu, barBtnWorkingLossCurve, barBtnWorkingLossStatistics, barBtnWorkingPower, barBtnWorkingAnaly, barBtnWorkingEvaluation, barBtnSetVisualVisible, barCkDecorator }); ribbonControl1.Location = new Point(0, 0); ribbonControl1.MaxItemId = 80; ribbonControl1.Name = "ribbonControl1"; @@ -101,7 +99,6 @@ barBtnExportInp.Id = 4; barBtnExportInp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnExportInp.ImageOptions.SvgImage"); barBtnExportInp.Name = "barBtnExportInp"; barBtnExportInp.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnExportInp.ItemClick += barBtnExportInp_ItemClick; // // barBtnVisualList @@ -116,7 +113,8 @@ // barBtnWorkingParallel.Caption = "æ°´æ³µåæ"; barBtnWorkingParallel.Id = 31; barBtnWorkingParallel.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnWorkingParallel.ImageOptions.SvgImage"); barBtnWorkingParallel.ImageOptions.Image = Xhs.Core.Properties.Resources.pump_run_32; barBtnWorkingParallel.ImageOptions.LargeImage = Xhs.Core.Properties.Resources.pump_run_32; barBtnWorkingParallel.Name = "barBtnWorkingParallel"; barBtnWorkingParallel.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnWorkingParallel.ItemClick += barBtnAnaly_ItemClick; @@ -129,14 +127,6 @@ barBtnSearch.Name = "barBtnSearch"; barBtnSearch.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnSearch.ItemClick += barBtnSearch_ItemClick; // // barBtnSetGradingList // barBtnSetGradingList.Caption = "é ç½®"; barBtnSetGradingList.Id = 34; barBtnSetGradingList.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSetGradingList.ImageOptions.SvgImage"); barBtnSetGradingList.Name = "barBtnSetGradingList"; barBtnSetGradingList.ItemClick += barBtnSetGradingList_ItemClick; // // barBtnApplyGradingList // @@ -153,17 +143,16 @@ barBtnSetMark.Id = 40; barBtnSetMark.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSetMark.ImageOptions.SvgImage"); barBtnSetMark.Name = "barBtnSetMark"; barBtnSetMark.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnSetMark.ItemClick += barBtnSetMark_ItemClick; // // barBtnSetMonitorValue // barBtnShowMonitorValue // barBtnSetMonitorValue.Caption = "çæµå¼"; barBtnSetMonitorValue.Id = 57; barBtnSetMonitorValue.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSetMonitorValue.ImageOptions.SvgImage"); barBtnSetMonitorValue.Name = "barBtnSetMonitorValue"; barBtnSetMonitorValue.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnSetMonitorValue.ItemClick += barBtnSetMonitorValue_ItemClick; barBtnShowMonitorValue.Caption = "çæµå¼"; barBtnShowMonitorValue.Id = 57; barBtnShowMonitorValue.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnShowMonitorValue.ImageOptions.SvgImage"); barBtnShowMonitorValue.Name = "barBtnShowMonitorValue"; barBtnShowMonitorValue.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnShowMonitorValue.ItemClick += barBtnShowMonitorValue_ItemClick; // // barCkMonitor // @@ -214,14 +203,14 @@ barBtnWorkingLossCurve.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnWorkingLossCurve.ItemClick += barBtnWorkingLossCurve_ItemClick; // // barBtnWorkingLossScale // barBtnWorkingLossStatistics // barBtnWorkingLossScale.Caption = "æå¤±æ¯ä¾"; barBtnWorkingLossScale.Id = 70; barBtnWorkingLossScale.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnWorkingLossScale.ImageOptions.SvgImage"); barBtnWorkingLossScale.Name = "barBtnWorkingLossScale"; barBtnWorkingLossScale.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnWorkingLossScale.ItemClick += barBtnWorkingLossScale_ItemClick; barBtnWorkingLossStatistics.Caption = "æå¤±æ¯ä¾"; barBtnWorkingLossStatistics.Id = 70; barBtnWorkingLossStatistics.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnWorkingLossScale.ImageOptions.SvgImage"); barBtnWorkingLossStatistics.Name = "barBtnWorkingLossStatistics"; barBtnWorkingLossStatistics.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnWorkingLossStatistics.ItemClick += barBtnWorkingLossStatistics_ItemClick; // // barBtnWorkingPower // @@ -241,14 +230,6 @@ barBtnWorkingAnaly.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large; barBtnWorkingAnaly.ItemClick += barBtnWorkingAnaly_ItemClick; // // barBtnPumpParallel // barBtnPumpParallel.Caption = "å¹¶èæ¨¡æ"; barBtnPumpParallel.Id = 73; barBtnPumpParallel.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnParallel.ImageOptions.SvgImage"); barBtnPumpParallel.Name = "barBtnPumpParallel"; barBtnPumpParallel.ItemClick += barBtnParallel_ItemClick; // // barBtnWorkingEvaluation // barBtnWorkingEvaluation.Caption = "精度è¯ä¼°"; @@ -264,7 +245,6 @@ barBtnSetVisualVisible.Id = 77; barBtnSetVisualVisible.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSetVisualVisible.ImageOptions.SvgImage"); barBtnSetVisualVisible.Name = "barBtnSetVisualVisible"; barBtnSetVisualVisible.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barBtnSetVisualVisible.ItemClick += barBtnSetVisualVisible_ItemClick; // // barCkDecorator @@ -275,12 +255,11 @@ barCkDecorator.Id = 78; barCkDecorator.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barCkDecorator.ImageOptions.SvgImage"); barCkDecorator.Name = "barCkDecorator"; barCkDecorator.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText; barCkDecorator.CheckedChanged += barCkDecorator_CheckedChanged; // // ribbonPage1 // ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { pageGroupModel, ribbonPageGroup6, ribbonPageGroup1, ribbonPageGroup7, ribbonPageGroup5, ribbonPageGroup9 }); ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { pageGroupModel, ribbonPageGroup6, ribbonPageGroup1, ribbonPageGroup7, ribbonPageGroup9, ribbonPageGroup2 }); ribbonPage1.Name = "ribbonPage1"; ribbonPage1.Text = "ribbonPage1"; // @@ -304,7 +283,6 @@ // // ribbonPageGroup1 // ribbonPageGroup1.ItemLinks.Add(barBtnSetGradingList); ribbonPageGroup1.ItemLinks.Add(barBtnApplyGradingList); ribbonPageGroup1.ItemLinks.Add(barCkGrading); ribbonPageGroup1.Name = "ribbonPageGroup1"; @@ -312,28 +290,27 @@ // // ribbonPageGroup7 // ribbonPageGroup7.ItemLinks.Add(barBtnSetMonitorValue); ribbonPageGroup7.ItemLinks.Add(barBtnShowMonitorValue); ribbonPageGroup7.ItemLinks.Add(barCkMonitor); ribbonPageGroup7.Name = "ribbonPageGroup7"; ribbonPageGroup7.Text = "çæµ"; // // ribbonPageGroup5 // ribbonPageGroup5.ItemLinks.Add(barBtnPumpParallel); ribbonPageGroup5.Name = "ribbonPageGroup5"; ribbonPageGroup5.Text = "æ°´æ³µ"; // // ribbonPageGroup9 // ribbonPageGroup9.ItemLinks.Add(barBtnExportInp); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingParallel); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingEvaluation); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingPower); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingLossCurve); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingLossScale); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingLossStatistics); ribbonPageGroup9.ItemLinks.Add(barBtnWorkingAnaly); ribbonPageGroup9.Name = "ribbonPageGroup9"; ribbonPageGroup9.Text = "åæ"; // // ribbonPageGroup2 // ribbonPageGroup2.ItemLinks.Add(barBtnExportInp); ribbonPageGroup2.Name = "ribbonPageGroup2"; ribbonPageGroup2.Text = "æ´å¤"; // // ribbonPageGroup4 // @@ -452,13 +429,12 @@ private DevExpress.XtraBars.Ribbon.RibbonPageGroup pageGroupModel; private DevExpress.XtraBars.Docking.DockPanel docPnlBottom; private DevExpress.XtraBars.Docking.ControlContainer controlContainerBottom; private DevExpress.XtraBars.BarButtonItem barBtnSetGradingList; private DevExpress.XtraBars.BarButtonItem barBtnApplyGradingList; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1; private DevExpress.XtraBars.BarButtonItem barBtnSetMark; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup6; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup7; private DevExpress.XtraBars.BarButtonItem barBtnSetMonitorValue; private DevExpress.XtraBars.BarButtonItem barBtnShowMonitorValue; private DevExpress.XtraBars.BarCheckItem barCkMonitor; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup9; private DevExpress.XtraBars.BarCheckItem barCkMark; @@ -466,13 +442,12 @@ private DevExpress.XtraBars.BarCheckItem barCkGrading; private DevExpress.XtraBars.BarCheckItem barCkCalcu; private DevExpress.XtraBars.BarButtonItem barBtnWorkingLossCurve; private DevExpress.XtraBars.BarButtonItem barBtnWorkingLossScale; private DevExpress.XtraBars.BarButtonItem barBtnWorkingLossStatistics; private DevExpress.XtraBars.BarButtonItem barBtnWorkingPower; private DevExpress.XtraBars.BarButtonItem barBtnWorkingAnaly; private DevExpress.XtraBars.BarButtonItem barBtnPumpParallel; private DevExpress.XtraBars.BarButtonItem barBtnWorkingEvaluation; private DevExpress.XtraBars.BarButtonItem barBtnSetVisualVisible; private DevExpress.XtraBars.BarCheckItem barCkDecorator; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup5; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup2; } } WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs
@@ -94,17 +94,18 @@ _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); _bimfaceCtrl.Dock = DockStyle.Fill; await _bimfaceCtrl.InitialData(_project, _projectSite); _bimfaceCtrl.LoadCompletedEvent += () => _bimfaceCtrl.LoadCompletedEvent += async () => {//viewå è½½å®æäºä»¶ if (_hydroInfo == null) { return; } await InitialWorking(); this.barCkDecorator.Checked = false; this.barCkMonitor.Checked = true; this.barCkGrading.Checked = true; this.barCkCalcu.Checked = true; CalcuWorking(); }; _bimfaceCtrl.HydroMouseLeftClickEvent += (code) => {//é¼ æ å·¦é®ç¹å»äºä»¶ @@ -776,36 +777,6 @@ return _gradingHelper; } //设置é¢è²å级å表 private async void SetGradingList() { if (_hydroInfo == null) { return; } var gradingHelper = await GetGradingHelper(); var allGradingList = await gradingHelper.GetGradingList(); var dlg = new SetHydroGradingTreeDlg(); dlg.SetBindingData(_hydroInfo, allGradingList); dlg.ReloadDataEvent += (list) => { gradingHelper.SetGradingList(list); gradingHelper.Set(); }; dlg.ApplyDataEvent += (catalog, propName) => { gradingHelper.UpdateApply(catalog, propName); gradingHelper.Set(); }; dlg.ShowDialog(); } //é ç½®é¢è²å级 private void barBtnSetGradingList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SetGradingList(); } //åºç¨é¢è²å级å表 private async void ApplyGradingList() { @@ -930,42 +901,6 @@ return _monitorHelper; } //è®¾ç½®çæµç¹å表 private async void SetMonitorList(HydroVisualInfo visual) { if (_hydroInfo == null) { return; } var monitorHelper = GetMonitorHelper(); var allMonitorList = await monitorHelper.Get(); var dlg = new SetHydroMonitorListDlg(); dlg.SetBindingData(_hydroInfo, visual, allMonitorList); dlg.ReloadDataEvent += async (list) => { var bol = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.Save(_hydroInfo.ID, visual.Code, list); if (!bol) { TipFormHelper.ShowError("设置失败ï¼"); return; } TipFormHelper.ShowSucceed("设置æåï¼"); var monitorList = await monitorHelper.Update(visual.Code); var monitorValueHelper = GetMonitorValueHelper(); monitorValueHelper.Update(visual.Code, monitorList); var monitorMarkerHelper = await GetMonitorMarkerHelper(); monitorMarkerHelper.Update(visual.Code, monitorList); monitorMarkerHelper.Set(); }; dlg.ShowDialog(); } //è®¾ç½®çæµç¹ private void barBtnSetMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SetMonitorList(_visual); } #endregion #region çæµå¼ @@ -999,6 +934,7 @@ { _monitorValueListCtrl = new HydroMonitorValueListCtrl(); _monitorValueListCtrl.Dock = DockStyle.Fill; _monitorValueListCtrl.SetViewBoard(); _monitorValueListCtrl.HydroViewEvent += (code) => { var visualListHelper = GetVisualListHelper(); @@ -1045,8 +981,8 @@ monitorValueListCtrl.SetBindingData(allMonitorValueList); } //è®¾ç½®çæµå¼ private void barBtnSetMonitorValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) //æ¾ç¤ºçæµå¼ private void barBtnShowMonitorValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { ShowMonitorValueListCtrl(); } @@ -1340,59 +1276,6 @@ #endregion #region å·¥åµè®¡ç® //计ç®å·¥åµ private async void CalcuWorking() { if (_hydroInfo == null) { return; } if (_working == null) { return; } _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo); var workingHelper = GetWorkingHelper(); //æ ¡éª var checkResult = _hydroInfo.Check(); if (!checkResult.Succeed) { workingHelper.InitialData(_hydroInfo, _working, checkResult, null); ShowCheckCtrl(checkResult); TipFormHelper.ShowError("æ ¡éªå¤±è´¥ï¼è¯·æ£æ¥åéè¯"); return; } //è®¡ç® var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); workingHelper.InitialData(_hydroInfo, _working, checkResult, calcuResult); if (calcuResult.Succeed) { if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0) { ShowCalcuWarningCtrl(calcuResult); } TipFormHelper.ShowSucceed("è®¡ç®æåï¼"); } else { ShowCalcuFailedCtrl(calcuResult); TipFormHelper.ShowError("计ç®å¤±è´¥ï¼"); } #region è®¡ç®æ ç¾ var calcuResultLabelHelper = await GetCalcuResultLabelHelper(); calcuResultLabelHelper.Set(); #endregion } #endregion #region 管ç½ä¿®å¤ //ä¿®å¤ç®¡ç½ @@ -1598,6 +1481,50 @@ return workingHelper.CalcuResult; } //åå§åå·¥åµ private async Task InitialWorking() { if (_hydroInfo == null) { return; } if (_working == null) { return; } _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo); var monitorValueHelper = GetMonitorValueHelper(); var allMonitorValueList = await monitorValueHelper.Get(); allMonitorValueList.UpdateMonitorValue(_working.MonitorInfo); var workingHelper = GetWorkingHelper(); //æ ¡éª var checkResult = _hydroInfo.Check(); if (!checkResult.Succeed) { workingHelper.InitialData(_hydroInfo, _working, checkResult, null); ShowCheckCtrl(checkResult); TipFormHelper.ShowError("æ ¡éªå¤±è´¥ï¼"); return; } //è®¡ç® var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); workingHelper.InitialData(_hydroInfo, _working, checkResult, calcuResult); if (calcuResult.Succeed) { if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0) { ShowCalcuWarningCtrl(calcuResult); } } else { ShowCalcuFailedCtrl(calcuResult); TipFormHelper.ShowError("计ç®å¤±è´¥ï¼"); } } #endregion #region å·¥åµåæ @@ -1709,59 +1636,60 @@ #endregion #region å·¥åµè½æ //è½æåæ private void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { XtraMessageBox.Show("æ£å¨å¼åä¸ï¼æ¬è¯·æå¾ ï¼"); } #endregion #region æå¤±æ²çº¿ private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_visual == null) { XtraMessageBox.Show("è¯·éæ©èç¹åéè¯ï¼"); return; } if (!(_visual is Yw.Model.HydroNodeInfo)) { XtraMessageBox.Show("è¯·éæ©èç¹åéè¯ï¼"); return; } var network = _hydroInfo.ToNetwork(); var calcuResult = network.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); var allNodeList = network.GetAllNodes(); var node = allNodeList.Find(x => x.Id == _visual.Code); var allPathList = network.AnalyzeDownstreamPath(node, calcuResult); var allEpaLossList = network.GetChartNodeByPathLinks(allPathList, calcuResult); var allLossList = allEpaLossList?.Select(x => new HydroNodeLossViewModel(x)).ToList(); var dlg = new HydroSingleLossCurveDlg(); dlg.SetBindingData(allLossList); var workingHelper = GetWorkingHelper(); var dlg = new SimulationSingleWorkingEnergyDlg(); dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); dlg.ShowDialog(); } #endregion #region æå¤±æ¯ä¾ private void barBtnWorkingLossScale_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) //æå¤±æ²çº¿ private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { XtraMessageBox.Show("æ£å¨å¼åä¸ï¼æ¬è¯·æå¾ ï¼"); var workingHelper = GetWorkingHelper(); if (!workingHelper.Initialized) { TipFormHelper.ShowError("å·¥åµè®¡ç®å¤±è´¥ï¼"); return; } if (_visual == null) { TipFormHelper.ShowWarn("è¯·éæ©æä»¶ï¼"); return; } HydroVisualInfo visual = _visual; if (_visual is HydroLinkInfo linkInfo) { var visualListHelper = GetVisualListHelper(); visual = visualListHelper.GetVisual(linkInfo.StartCode); } var dlg = new HydroSingleLossCurveDlg(); dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult, visual); dlg.ShowDialog(); } #endregion //æå¤±ç»è®¡ private void barBtnWorkingLossStatistics_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var workingHelper = GetWorkingHelper(); if (!workingHelper.Initialized) { TipFormHelper.ShowError("å·¥åµè®¡ç®å¤±è´¥ï¼"); return; } var dlg = new HydroSingleWorkingLossStatisticsDlg(); dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); dlg.ShowDialog(); } #region 综ååæ //综ååæ private void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { XtraMessageBox.Show("æ£å¨å¼åä¸ï¼æ¬è¯·æå¾ ï¼"); } #endregion #endregion WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.resx
@@ -168,25 +168,6 @@ MjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== </value> </data> <data name="barBtnWorkingParallel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMYCAAAC77u/ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh Y2U9InByZXNlcnZlIiBpZD0iQ3JlYXRlX0Z1bGxfU3RhY2tlZF9MaW5lX0NoYXJ0X05vX01hcmtlcnMi IHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRl eHQvY3NzIj4KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuUmVk e2ZpbGw6I0QxMUMxQzt9Cjwvc3R5bGU+DQogIDxyZWN0IHg9IjIiIHk9IjQiIHdpZHRoPSIyNiIgaGVp Z2h0PSIyIiBjbGFzcz0iUmVkIiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjEuNywxMy45IDEuNywxMy45 IDIuMywxMiAxNCwxNS45IDI3LjcsMTIgMjguMywxMy45IDE0LDE4IDEuNywxMy45ICIgY2xhc3M9Illl bGxvdyIgLz4NCiAgPHBhdGggZD0iTTIuNCwyOS45TDIuNCwyOS45TDIuNCwyOS45TDIuNCwyOS45TDIu NCwyOS45eiBNMS42LDI4LjFMMTMuOSwyMmwxNC40LDQuMUwyNy43LDI4bC0xMy42LTMuOUwyLjQsMjku OSAgTDEuNiwyOC4xTDEuNiwyOC4xeiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L </value> </data> <data name="barBtnSearch.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 @@ -211,35 +192,6 @@ ICAgYzAuOS0zLDMuNy01LDctNXM2LjEsMiw3LDVDMjkuMSwyNiwyNi4zLDI4LDIzLDI4eiBNMjMsMjZj LTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzI0LjcsMjYsMjMsMjZ6IiBjbGFzcz0i QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs= </value> </data> <data name="barBtnSetGradingList.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAsFAAAC77u/ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdENvbG9ycyI+DQogICAgPHBhdGggZD0i TTI5LDBIMUMwLjUsMCwwLDAuNSwwLDF2MjhjMCwwLjUsMC41LDEsMSwxaDI4YzAuNSwwLDEtMC41LDEt MVYxQzMwLDAuNSwyOS41LDAsMjksMHogTTI4LDI4SDJWMmgyNlYyOHoiIGNsYXNzPSJCbGFjayIgLz4N CiAgICA8cGF0aCBkPSJNMTAsMTBINFY0aDZWMTB6IE0xOCw0aC02djZoNlY0eiBNMTAsMTJINHY2aDZW MTJ6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxwYXRoIGQ9Ik0xMCwyNkg0di02aDZWMjZ6IE0xOCwx MmgtNnY2aDZWMTJ6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTI2LDEwaC02VjRoNlYx MHogTTI2LDEyaC02djZoNlYxMnoiIGNsYXNzPSJSZWQiIC8+DQogICAgPHBhdGggZD0iTTI2LDI2aC02 di02aDZWMjZ6IE0xOCwyMGgtNnY2aDZWMjB6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8ZyBjbGFzcz0i c3QxIj4NCiAgICAgIDxyZWN0IHg9IjQiIHk9IjEyIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiBjbGFzcz0i R3JlZW4iIC8+DQogICAgICA8cGF0aCBkPSJNMTgsMTBoLTZWNGg2VjEweiBNMjYsMjBoLTZ2Nmg2VjIw eiIgY2xhc3M9IlJlZCIgLz4NCiAgICAgIDxwYXRoIGQ9Ik0yNiwxOGgtNnYtNmg2VjE4eiBNMTgsMTJo LTZ2Nmg2VjEyeiIgY2xhc3M9IkJsdWUiIC8+DQogICAgPC9nPg0KICAgIDxnIGNsYXNzPSJzdDEiPg0K ICAgICAgPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiBjbGFzcz0iQmx1ZSIg Lz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs= </value> </data> <data name="barBtnApplyGradingList.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> @@ -283,7 +235,7 @@ LDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== </value> </data> <data name="barBtnSetMonitorValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="barBtnShowMonitorValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl @@ -407,25 +359,6 @@ eiBNMzAsMjZIMlY2aDI4VjI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwb2x5bGluZSBwb2ludHM9 IjQsMjAgOCwxNiAxMCwxOCAxNiwxMiAxOCwxNCAyNCw4IDI4LDEyIDI4LDE1IDI0LDExIDE4LDE3IDE2 LDE1IDEwLDIxIDgsMTkgNCwyMyA0LDIwICAiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs= </value> </data> <data name="barBtnParallel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMYCAAAC77u/ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh Y2U9InByZXNlcnZlIiBpZD0iQ3JlYXRlX0Z1bGxfU3RhY2tlZF9MaW5lX0NoYXJ0X05vX01hcmtlcnMi IHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRl eHQvY3NzIj4KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuUmVk e2ZpbGw6I0QxMUMxQzt9Cjwvc3R5bGU+DQogIDxyZWN0IHg9IjIiIHk9IjQiIHdpZHRoPSIyNiIgaGVp Z2h0PSIyIiBjbGFzcz0iUmVkIiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjEuNywxMy45IDEuNywxMy45 IDIuMywxMiAxNCwxNS45IDI3LjcsMTIgMjguMywxMy45IDE0LDE4IDEuNywxMy45ICIgY2xhc3M9Illl bGxvdyIgLz4NCiAgPHBhdGggZD0iTTIuNCwyOS45TDIuNCwyOS45TDIuNCwyOS45TDIuNCwyOS45TDIu NCwyOS45eiBNMS42LDI4LjFMMTMuOSwyMmwxNC40LDQuMUwyNy43LDI4bC0xMy42LTMuOUwyLjQsMjku OSAgTDEuNiwyOC4xTDEuNiwyOC4xeiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L </value> </data> <data name="barBtnWorkingEvaluation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
@@ -102,6 +102,7 @@ <Content Include="map\gaode\js\xhs_base64.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> <None Include="Resources\pump_run_32.png" /> <None Include="Resources\Cancel.svg" /> <None Include="Resources\Close32.png" /> <None Include="Resources\Folder.svg" /> WinFrmUI/HStation.WinFrmUI.Xhs.Core/Properties/Resources.Designer.cs
@@ -111,6 +111,16 @@ } /// <summary> /// æ¥æ¾ System.Drawing.Bitmap ç±»åçæ¬å°åèµæºã /// </summary> internal static System.Drawing.Bitmap pump_run_32 { get { object obj = ResourceManager.GetObject("pump_run_32", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// <summary> /// æ¥æ¾ DevExpress.Utils.Svg.SvgImage ç±»åçæ¬å°åèµæºã /// </summary> internal static DevExpress.Utils.Svg.SvgImage Remove { WinFrmUI/HStation.WinFrmUI.Xhs.Core/Properties/Resources.resx
@@ -145,4 +145,7 @@ <data name="IncomingCall" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\IncomingCall.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> </data> <data name="pump_run_32" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\pump_run_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> </root> WinFrmUI/HStation.WinFrmUI.Xhs.Core/Resources/pump_run_32.png
WinFrmUI/Yw.WinFrmUI.Core/01-tip/TipForm.Designer.cs
@@ -28,63 +28,62 @@ /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TipForm)); this.labText = new DevExpress.XtraEditors.LabelControl(); this.img32 = new DevExpress.Utils.ImageCollection(this.components); this.timer1 = new System.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.img32)).BeginInit(); this.SuspendLayout(); components = new Container(); ComponentResourceManager resources = new ComponentResourceManager(typeof(TipForm)); labText = new LabelControl(); img32 = new ImageCollection(components); timer1 = new System.Windows.Forms.Timer(components); ((ISupportInitialize)img32).BeginInit(); SuspendLayout(); // // labText // this.labText.AllowHtmlString = true; this.labText.Appearance.BackColor = System.Drawing.Color.White; this.labText.Appearance.FontSizeDelta = 1; this.labText.Appearance.Options.UseBackColor = true; this.labText.Appearance.Options.UseFont = true; this.labText.Appearance.Options.UseTextOptions = true; this.labText.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; this.labText.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center; this.labText.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; this.labText.Dock = System.Windows.Forms.DockStyle.Fill; this.labText.ImageAlignToText = DevExpress.XtraEditors.ImageAlignToText.LeftCenter; this.labText.ImageOptions.ImageIndex = 0; this.labText.ImageOptions.Images = this.img32; this.labText.ImageOptions.SvgImageSize = new System.Drawing.Size(24, 24); this.labText.Location = new System.Drawing.Point(1, 1); this.labText.Name = "labText"; this.labText.Size = new System.Drawing.Size(298, 78); this.labText.TabIndex = 0; labText.AllowHtmlString = true; labText.Appearance.BackColor = Color.White; labText.Appearance.FontSizeDelta = 1; labText.Appearance.Options.UseBackColor = true; labText.Appearance.Options.UseFont = true; labText.Appearance.Options.UseTextOptions = true; labText.Appearance.TextOptions.HAlignment = HorzAlignment.Center; labText.Appearance.TextOptions.VAlignment = VertAlignment.Center; labText.AutoSizeMode = LabelAutoSizeMode.None; labText.Dock = DockStyle.Fill; labText.ImageAlignToText = ImageAlignToText.LeftCenter; labText.ImageOptions.ImageIndex = 0; labText.ImageOptions.Images = img32; labText.ImageOptions.SvgImageSize = new Size(24, 24); labText.Location = new Point(1, 1); labText.Name = "labText"; labText.Size = new Size(298, 78); labText.TabIndex = 0; // // img32 // this.img32.ImageSize = new System.Drawing.Size(32, 32); this.img32.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("img32.ImageStream"))); this.img32.Images.SetKeyName(0, "info32.png"); this.img32.Images.SetKeyName(1, "success32.png"); this.img32.Images.SetKeyName(2, "error32.png"); this.img32.Images.SetKeyName(3, "warning32.png"); img32.ImageSize = new Size(32, 32); img32.ImageStream = (ImageCollectionStreamer)resources.GetObject("img32.ImageStream"); img32.Images.SetKeyName(0, "info32.png"); img32.Images.SetKeyName(1, "success32.png"); img32.Images.SetKeyName(2, "warning32.png"); img32.Images.SetKeyName(3, "error32.png"); // // timer1 // this.timer1.Interval = 2000; this.timer1.Tick += new System.EventHandler(this.timer_Tick); timer1.Interval = 2000; timer1.Tick += timer_Tick; // // NormalTipFrm // TipForm // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(300, 80); this.Controls.Add(this.labText); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.Name = "NormalTipFrm"; this.Padding = new System.Windows.Forms.Padding(1); this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.TopMost = true; ((System.ComponentModel.ISupportInitialize)(this.img32)).EndInit(); this.ResumeLayout(false); AutoScaleDimensions = new SizeF(7F, 14F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(300, 80); Controls.Add(labText); FormBorderStyle = FormBorderStyle.None; Name = "TipForm"; Padding = new Padding(1); StartPosition = FormStartPosition.CenterScreen; TopMost = true; ((ISupportInitialize)img32).EndInit(); ResumeLayout(false); } #endregion WinFrmUI/Yw.WinFrmUI.Core/01-tip/TipForm.resx
@@ -1,17 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> <root> <!-- <!-- Microsoft ResX Schema Version 2.0 The primary goals of this format is to allow a simple XML format that is mostly human readable. The generation and parsing of the various data types are done through the TypeConverter classes The primary goals of this format is to allow a simple XML format that is mostly human readable. The generation and parsing of the various data types are done through the TypeConverter classes associated with the data types. Example: ... ado.net/XML headers & schema ... <resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="version">2.0</resheader> @@ -26,36 +26,36 @@ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <comment>This is a comment</comment> </data> There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple name/value pairs. Each data row contains a name, and value. The row also contains a type or mimetype. Type corresponds to a .NET class that support text/value conversion through the TypeConverter architecture. Classes that don't support this are serialized and stored with the Each data row contains a name, and value. The row also contains a type or mimetype. Type corresponds to a .NET class that support text/value conversion through the TypeConverter architecture. Classes that don't support this are serialized and stored with the mimetype set. The mimetype is used for serialized objects, and tells the ResXResourceReader how to depersist the object. This is currently not The mimetype is used for serialized objects, and tells the ResXResourceReader how to depersist the object. This is currently not extensible. For a given mimetype the value must be set accordingly: Note - application/x-microsoft.net.object.binary.base64 is the format that the ResXResourceWriter will generate, however the reader can Note - application/x-microsoft.net.object.binary.base64 is the format that the ResXResourceWriter will generate, however the reader can read any of the formats listed below. mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with value : The object must be serialized with : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.bytearray.base64 value : The object must be serialized into a byte array value : The object must be serialized into a byte array : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> @@ -120,11 +120,11 @@ <metadata name="img32.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>107, 17</value> </metadata> <assembly alias="DevExpress.Utils.v23.2" name="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Utils.v23.2" name="DevExpress.Utils.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <data name="img32.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu Ni4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMy4yLCBWZXJzaW9uPTIzLjIu NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0 cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P// @@ -148,27 +148,27 @@ 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 </value> </data> <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs
@@ -1,8 +1,5 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Yw.EPAnet; using Yw.Hydro; using Yw.Model; namespace Yw.WinFrmUI @@ -25,6 +22,195 @@ return allVisualList?.ToDictionary(x => x.Code); } /// <summary> /// è®¡ç® /// </summary> public static HydroCalcuResult Calcu(this Yw.Model.HydroModelInfo hydroInfo, string calcuMode = Yw.EPAnet.CalcuMode.Simple) { var network = hydroInfo.ToNetwork(); if (network == null) { return default; } var calcuResult = network.Calcu(calcuMode); if (calcuResult == null) { return default; } return hydroInfo.GetCalcuResult(calcuResult); } /// <summary> /// è·å计ç®ç»æ /// </summary> public static HydroCalcuResult GetCalcuResult(this Yw.Model.HydroModelInfo hydroInfo, Yw.EPAnet.CalcuResult calcuResult) { if (hydroInfo == null) { return default; } if (calcuResult == null) { return default; } var hydroCalcuResult = new HydroCalcuResult(calcuResult); //æµé计 var allFlowmeterList = hydroInfo.Flowmeters; if (allFlowmeterList != null && allFlowmeterList.Count > 0) { var allLinkList = hydroInfo.GetAllLinks(); foreach (var flowmeter in allFlowmeterList) { var calcuFlowmeterResult = hydroCalcuResult.NodeList?.Find(x => x.Code == flowmeter.Code); if (calcuFlowmeterResult != null) { var calcuFlowmeterNewResult = new HydroCalcuFlowmeterResult(calcuFlowmeterResult); var calcuFlowmeterLinkResultList = new List<HydroCalcuLinkResult>(); var flowmeterLinkList = allLinkList?.Where(x => x.StartCode == flowmeter.Code || x.EndCode == flowmeter.Code).ToList(); if (flowmeterLinkList != null && flowmeterLinkList.Count > 0) { foreach (var flowmeterLink in flowmeterLinkList) { var calcuFlowmeterLinkResult = hydroCalcuResult.LinkList?.Find(x => x.Code == flowmeterLink.Code); if (calcuFlowmeterLinkResult != null) { calcuFlowmeterLinkResultList.Add(calcuFlowmeterLinkResult); } } } if (calcuFlowmeterLinkResultList.Exists(x => x.CalcuFlow.HasValue)) { calcuFlowmeterNewResult.CalcuQ = calcuFlowmeterLinkResultList.Where(x => x.CalcuFlow.HasValue).Average(x => x.CalcuFlow.Value); } hydroCalcuResult.NodeList.Remove(calcuFlowmeterResult); hydroCalcuResult.NodeList.Add(calcuFlowmeterNewResult); } } } //åå表 var allPressmeterList = hydroInfo.Pressmeters; if (allPressmeterList != null && allPressmeterList.Count > 0) { foreach (var pressmeter in allPressmeterList) { var calcuPressmeterResult = hydroCalcuResult.NodeList?.Find(x => x.Code == pressmeter.Code); if (calcuPressmeterResult != null) { var calcuPressmeterNewResult = new HydroCalcuPressmeterResult(calcuPressmeterResult); calcuPressmeterNewResult.CalcuPr = calcuPressmeterResult.CalcuPress; hydroCalcuResult.NodeList.Remove(calcuPressmeterResult); hydroCalcuResult.NodeList.Add(calcuPressmeterNewResult); } } } //æ°´æ³µ var allPumpList = hydroInfo.Pumps; if (allPumpList != null && allPumpList.Count > 0) { foreach (var pump in allPumpList) { var calcuPumpResult = hydroCalcuResult.LinkList.Find(x => x.Code == pump.Code); if (calcuPumpResult != null) { var calcuPumpNewResult = new HydroCalcuPumpResult(calcuPumpResult); calcuPumpNewResult.CalcuQ = calcuPumpResult.CalcuFlow; if (calcuPumpNewResult.CalcuQ.HasValue) { var calcuNodeStartResult = hydroCalcuResult.NodeList?.Find(x => x.Code == pump.StartCode); var calcuNodeEndResult = hydroCalcuResult.NodeList?.Find(x => x.Code == pump.EndCode); if (calcuNodeStartResult != null && calcuNodeEndResult != null) { if (calcuNodeStartResult.CalcuPress.HasValue && calcuNodeEndResult.CalcuPress.HasValue) { calcuPumpNewResult.CalcuH = Math.Abs(calcuNodeStartResult.CalcuPress.Value - calcuNodeEndResult.CalcuPress.Value); } if (pump.LinkStatus == Yw.Hydro.PumpStatus.Open && pump.RatedN.HasValue) { var curveqp = hydroInfo.Curves?.Find(x => x.Code == pump.CurveQP); if (curveqp != null) { if (curveqp.CurveData != null && curveqp.CurveData.Count > 3) { var point2dList = curveqp.CurveData.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); var point2dSimularList = point2dList.GetQPPointListByN(pump.RatedN.Value, pump.RatedN.Value * pump.SpeedRatio); var pumpCurveQp = new Yw.Pump.CurveQP(eFeatType.Cubic, point2dSimularList); calcuPumpNewResult.CalcuP = pumpCurveQp.FeatCurve.GetPointY(calcuPumpNewResult.CalcuQ.Value); } } } if (calcuPumpNewResult.CalcuH.HasValue && calcuPumpNewResult.CalcuP.HasValue) { calcuPumpNewResult.CalcuE = Yw.Pump.CalculationHelper.CalcuE(calcuPumpNewResult.CalcuQ.Value, calcuPumpNewResult.CalcuH.Value, calcuPumpNewResult.CalcuP.Value); } } } hydroCalcuResult.LinkList.Remove(calcuPumpResult); hydroCalcuResult.LinkList.Add(calcuPumpNewResult); switch (pump.LinkStatus) { case Yw.Hydro.PumpStatus.Open: { if (calcuPumpNewResult.CalcuFlow.HasValue) { if (calcuPumpNewResult.CalcuFlow.Value <= 0) { hydroCalcuResult.WainingList.Add(new HydroCalcuWarning() { Code = pump.Code, Message = $"[{pump.Name}]䏿»¡è¶³å½åå·¥åµ " }); } } else { hydroCalcuResult.WainingList.Add(new HydroCalcuWarning() { Code = pump.Code, Message = $"[{pump.Name}]æµé计ç®å¤±è´¥ " }); } } break; case Yw.Hydro.PumpStatus.Closed: { if (calcuPumpNewResult.CalcuFlow.HasValue) { if (calcuPumpNewResult.CalcuFlow.Value > 0) { hydroCalcuResult.WainingList.Add(new HydroCalcuWarning() { Code = pump.Code, Message = $"[{pump.Name}]䏿»¡è¶³å½åå·¥åµ " }); } } else { hydroCalcuResult.WainingList.Add(new HydroCalcuWarning() { Code = pump.Code, Message = $"[{pump.Name}]æµé计ç®å¤±è´¥ " }); } } break; default: break; } } } } return hydroCalcuResult; } } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResult.cs
@@ -18,6 +18,19 @@ } /// <summary> /// /// </summary> public HydroCalcuResult(Yw.EPAnet.CalcuResult calcuResult) { this.Succeed = calcuResult.Succeed; this.FailedList = calcuResult.FailedList?.Select(x => new HydroCalcuFailed(x)).ToList(); this.NodeList = calcuResult.NodeList?.Select(x => new HydroCalcuNodeResult(x)).ToList(); this.LinkList = calcuResult.LinkList?.Select(x => new HydroCalcuLinkResult(x)).ToList(); this.WainingList = new List<HydroCalcuWarning>(); this.EPAnetCalcuResult = calcuResult; } /// <summary> /// æ¯å¦æå /// </summary> public bool Succeed { get; set; } @@ -43,6 +56,11 @@ public List<HydroCalcuWarning> WainingList { get; set; } /// <summary> /// EPAnet 计ç®ç»æ /// </summary> public Yw.EPAnet.CalcuResult EPAnetCalcuResult { get; set; } /// <summary> /// è·åå¯è§å表 /// </summary> public List<HydroCalcuVisualResult> GetVisualList() WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResultHelper.cs
ÎļþÒÑɾ³ý WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/00-core/HydroMonitorValueExtensions.cs
@@ -1,12 +1,32 @@ using DevExpress.CodeParser; namespace Yw.WinFrmUI namespace Yw.WinFrmUI { /// <summary> /// çæµå¼æå± /// </summary> public static class HydroMonitorValueExtensions { /// <summary> /// æ´æ°çæµå¼å表 /// </summary> public static void UpdateMonitorValue(this List<HydroMonitorValueViewModel> allMonitorValueList, string monitorInfo) { if (allMonitorValueList == null || allMonitorValueList.Count < 1) { return; } if (string.IsNullOrEmpty(monitorInfo)) { return; } var allWorkingMonitorList = JsonHelper.Json2Object<List<HydroWorkingMonitorViewModel>>(monitorInfo); if (allWorkingMonitorList == null || allWorkingMonitorList.Count < 1) { return; } allMonitorValueList.UpdateMonitorValue(allWorkingMonitorList); } /// <summary> /// æ´æ°çæµå¼å表 /// </summary> WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/02-value/HydroMonitorValueListCtrl.Designer.cs
@@ -31,16 +31,16 @@ components = new Container(); ComponentResourceManager resources = new ComponentResourceManager(typeof(HydroMonitorValueListCtrl)); gridControl1 = new DevExpress.XtraGrid.GridControl(); hydroMonitorValueViewModelBindingSource = new BindingSource(components); gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView(); colRelation = new DevExpress.XtraGrid.Columns.GridColumn(); colPropName = new DevExpress.XtraGrid.Columns.GridColumn(); colMonitorValue = new DevExpress.XtraGrid.Columns.GridColumn(); colUnitName = new DevExpress.XtraGrid.Columns.GridColumn(); colDescription = new DevExpress.XtraGrid.Columns.GridColumn(); hydroMonitorValueViewModelBindingSource = new BindingSource(components); colVisualName = new DevExpress.XtraGrid.Columns.GridColumn(); ((ISupportInitialize)gridControl1).BeginInit(); ((ISupportInitialize)gridView1).BeginInit(); ((ISupportInitialize)hydroMonitorValueViewModelBindingSource).BeginInit(); ((ISupportInitialize)gridView1).BeginInit(); SuspendLayout(); // // gridControl1 @@ -54,22 +54,16 @@ gridControl1.TabIndex = 0; gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 }); // // hydroMonitorValueViewModelBindingSource // hydroMonitorValueViewModelBindingSource.DataSource = typeof(HydroMonitorValueViewModel); // // gridView1 // gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colRelation, colPropName, colMonitorValue, colUnitName, colDescription }); gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colVisualName, colPropName, colMonitorValue, colUnitName, colDescription }); gridView1.GridControl = gridControl1; gridView1.Name = "gridView1"; gridView1.RowClick += gridView1_RowClick; // // colRelation // colRelation.FieldName = "Relation"; colRelation.MaxWidth = 250; colRelation.MinWidth = 150; colRelation.Name = "colRelation"; colRelation.Visible = true; colRelation.VisibleIndex = 0; colRelation.Width = 150; // // colPropName // @@ -77,6 +71,7 @@ colPropName.MaxWidth = 250; colPropName.MinWidth = 150; colPropName.Name = "colPropName"; colPropName.OptionsColumn.AllowEdit = false; colPropName.Visible = true; colPropName.VisibleIndex = 1; colPropName.Width = 150; @@ -99,6 +94,7 @@ colUnitName.MaxWidth = 100; colUnitName.MinWidth = 100; colUnitName.Name = "colUnitName"; colUnitName.OptionsColumn.AllowEdit = false; colUnitName.Visible = true; colUnitName.VisibleIndex = 3; colUnitName.Width = 100; @@ -108,24 +104,32 @@ colDescription.FieldName = "Description"; colDescription.MinWidth = 100; colDescription.Name = "colDescription"; colDescription.OptionsColumn.AllowEdit = false; colDescription.Visible = true; colDescription.VisibleIndex = 4; colDescription.Width = 100; // // hydroMonitorValueViewModelBindingSource // colVisualName // hydroMonitorValueViewModelBindingSource.DataSource = typeof(HydroMonitorValueViewModel); colVisualName.FieldName = "VisualName"; colVisualName.MaxWidth = 250; colVisualName.MinWidth = 150; colVisualName.Name = "colVisualName"; colVisualName.OptionsColumn.AllowEdit = false; colVisualName.Visible = true; colVisualName.VisibleIndex = 0; colVisualName.Width = 150; // // HydroVisualMonitorValueListCtrl // HydroMonitorValueListCtrl // AutoScaleDimensions = new SizeF(7F, 14F); AutoScaleMode = AutoScaleMode.Font; Controls.Add(gridControl1); Name = "HydroVisualMonitorValueListCtrl"; Name = "HydroMonitorValueListCtrl"; Size = new Size(913, 394); ((ISupportInitialize)gridControl1).EndInit(); ((ISupportInitialize)gridView1).EndInit(); ((ISupportInitialize)hydroMonitorValueViewModelBindingSource).EndInit(); ((ISupportInitialize)gridView1).EndInit(); ResumeLayout(false); } @@ -133,11 +137,11 @@ private DevExpress.XtraGrid.GridControl gridControl1; private DevExpress.XtraGrid.Views.Grid.GridView gridView1; private DevExpress.XtraGrid.Columns.GridColumn colRelation; private DevExpress.XtraGrid.Columns.GridColumn colPropName; private DevExpress.XtraGrid.Columns.GridColumn colMonitorValue; private DevExpress.XtraGrid.Columns.GridColumn colDescription; private DevExpress.XtraGrid.Columns.GridColumn colUnitName; private BindingSource hydroMonitorValueViewModelBindingSource; private DevExpress.XtraGrid.Columns.GridColumn colVisualName; } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/02-value/HydroMonitorValueListCtrl.cs
@@ -10,8 +10,9 @@ InitializeComponent(); this.gridView1.SetNormalEditView(30); this.gridView1.RegistCustomDrawRowIndicator(40); this.colRelation.OptionsColumn.AllowEdit = false; this.colVisualName.OptionsColumn.AllowEdit = false; this.colPropName.OptionsColumn.AllowEdit = false; this.colUnitName.OptionsColumn.AllowEdit = false; this.colDescription.OptionsColumn.AllowEdit = false; } @@ -25,12 +26,21 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(List<HydroMonitorValueViewModel> allValueList) public void SetBindingData(List<HydroMonitorValueViewModel> allMonitorValueList) { _allBindingList = new BindingList<HydroMonitorValueViewModel>(); allValueList?.OrderBy(x => x.SortCode).ForEach(x => _allBindingList.Add(x)); allMonitorValueList?.OrderBy(x => x.SortCode).ForEach(x => _allBindingList.Add(x)); this.hydroMonitorValueViewModelBindingSource.DataSource = _allBindingList; this.hydroMonitorValueViewModelBindingSource.ResetBindings(false); } /// <summary> /// 设置è§å¾é¢æ¿ /// </summary> public void SetViewBoard() { this.colMonitorValue.OptionsColumn.AllowEdit = false; this.colMonitorValue.ImageOptions.SvgImage = null; } //è¡ç¹å» @@ -43,5 +53,8 @@ } this.HydroViewEvent?.Invoke(row.Vmo.Relation); } } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/02-value/HydroMonitorValueViewModel.cs
@@ -15,7 +15,7 @@ /// </summary> public HydroMonitorValueViewModel(Yw.Vmo.HydroMonitorVmo vmo, Yw.Model.HydroVisualInfo visual) { this.Relation = visual.Name; this.VisualName = visual.Name; this.PropName = HydroVisualCalcuPropHelper.GetName(vmo.PropName); this.MonitorValue = null; this.UnitName = HydroVisualCalcuPropHelper.GetUnit(vmo.PropName); @@ -25,11 +25,12 @@ this.Vmo = vmo; } /// <summary> /// æä»¶ /// </summary> [DisplayName("æä»¶")] public string Relation { get; set; } public string VisualName { get; set; } /// <summary> /// 屿§ WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveCtrl.cs
@@ -22,7 +22,7 @@ } /// <summary> /// /// ç»å®æ°æ® /// </summary> public void SetBindingData(List<HydroNodeLossViewModel> allNodeLossList) { WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveDlg.cs
@@ -1,4 +1,7 @@ namespace Yw.WinFrmUI using Yw.Hydro; using Yw.EPAnet; namespace Yw.WinFrmUI { public partial class HydroSingleLossCurveDlg : DevExpress.XtraBars.Ribbon.RibbonForm { @@ -9,23 +12,35 @@ } /// <summary> /// /// ç»å®æ°æ® /// </summary> public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult, Yw.Model.HydroVisualInfo visual) { if (hydroInfo == null) { return; } var network = hydroInfo.ToNetwork(); if (network == null) { return; } var node = network.GetAllNodes()?.Find(x => x.Id == visual.Code); if (node == null) { return; } var allPathList = network.AnalyzeDownstreamPath(node, calcuResult.EPAnetCalcuResult); var allEpaLossList = network.GetChartNodeByPathLinks(allPathList, calcuResult.EPAnetCalcuResult); var allNodeLossList = allEpaLossList?.Select(x => new HydroNodeLossViewModel(x)).ToList(); SetBindingData(allNodeLossList); } /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(List<HydroNodeLossViewModel> allNodeLossList) { //allNodeLossList = new List<HydroNodeLossViewModel>() //{ // new HydroNodeLossViewModel(){ Code="1",Elev=10,StartHead=666,EndHead=623,Distance=10}, // new HydroNodeLossViewModel(){ Code="2",Elev=20,StartHead=600,EndHead=567,Distance=30}, // new HydroNodeLossViewModel(){ Code="3",Elev=25,StartHead=544,EndHead=521,Distance=100}, // new HydroNodeLossViewModel(){ Code="4",Elev=19,StartHead=500,EndHead=789,Distance=110}, // new HydroNodeLossViewModel(){ Code="5",Elev=23,StartHead=700,EndHead=677,Distance=150}, // new HydroNodeLossViewModel(){ Code="6",Elev=22,StartHead=632,EndHead=600,Distance=200}, // new HydroNodeLossViewModel(){ Code="7",Elev=13,StartHead=550,EndHead=510,Distance=300}, // new HydroNodeLossViewModel(){ Code="8",Elev=13,StartHead=500,EndHead=345,Distance=500}, // new HydroNodeLossViewModel(){ Code="9",Elev=11,StartHead=300,EndHead=289,Distance=700}, // new HydroNodeLossViewModel(){ Code="10",Elev=10,StartHead=260,EndHead=150,Distance=820}, //}; this.hydroSingleLossCurveCtrl1.SetBindingData(allNodeLossList); } WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/03-statistics/HydroSingleWorkingLossStatisticsDlg.cs
@@ -16,17 +16,47 @@ /// </summary> public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) { var network = hydroInfo.ToNetwork(); var calcuResult = network.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); var allEnergyPointList = network.AnalyzeEnergy(calcuResult); SetBindingData(hydroInfo, allEnergyPointList); if (hydroInfo == null) { return; } var calcuResult = hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); SetBindingData(hydroInfo, calcuResult); } /// <summary> /// /// ç»å®æ°æ® /// </summary> public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult) { if (hydroInfo == null) { return; } List<Yw.EPAnet.EnergyPoint> allEnergyList = null; var network = hydroInfo.ToNetwork(); if (network != null) { if (calcuResult != null) { if (calcuResult.EPAnetCalcuResult != null) { allEnergyList = network.AnalyzeEnergy(calcuResult.EPAnetCalcuResult); } } } SetBindingData(hydroInfo, allEnergyList); } /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<Yw.EPAnet.EnergyPoint> allEnergyList) { if (hydroInfo == null) { return; } this.hydroSingleWorkingLossStatisticsCtrl1.SetBindingData(hydroInfo, allEnergyList); }