From db26311246d1c1cecadf4a22dc44ffa570ee40f2 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 07 一月 2025 11:35:55 +0800 Subject: [PATCH] 批量修改数据同步修改 --- WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/HydroPipeListCtrl.cs | 62 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleDlg.cs | 55 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.resx | 2 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.cs | 58 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionListDlg.cs | 29 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/HydroValveListCtrl.cs | 58 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpListDlg.cs | 30 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroChangeHelper.cs | 9 Hydro/HStation.Hydro.Core/HStation.Hydro.Core.csproj | 2 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorDlg.cs | 44 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListCtrl.cs | 47 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterDlg.cs | 36 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeDlg.cs | 49 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirListDlg.cs | 28 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs | 131 + WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/HydroTankListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.cs | 62 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/HydroTranslationListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs | 20 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/IHydroVisualList.cs | 13 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkDlg.cs | 55 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkListDlg.cs | 28 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationListDlg.cs | 30 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.cs | 60 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionDlg.cs | 34 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 302 +-- WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/HydroJunctionListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowListDlg.cs | 28 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankListDlg.cs | 28 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadDlg.cs | 48 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadListDlg.cs | 28 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowDlg.cs | 56 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleListDlg.cs | 29 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/HydroPumpListCtrl.cs | 57 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 20 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/HydroElbowListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirDlg.cs | 25 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/HydroFourlinkListCtrl.cs | 59 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.Designer.cs | 160 +- WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationDlg.cs | 51 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.cs | 59 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/HydroWaterboxListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/HydroExchangerListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterDlg.cs | 41 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerListDlg.cs | 30 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListDlg.cs | 22 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.Designer.cs | 46 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/HydroFlowmeterListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.Designer.cs | 1 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantDlg.cs | 46 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/HydroBluntheadListCtrl.cs | 58 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/HydroPressmeterListCtrl.cs | 58 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.Designer.cs | 41 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/HydroThreelinkListCtrl.cs | 56 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterListDlg.cs | 29 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerDlg.cs | 44 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorListDlg.cs | 30 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingListDlg.cs | 30 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs | 56 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterDlg.cs | 36 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/00-core/HydroNodeViewModel.cs | 2 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxListDlg.cs | 32 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/HydroCompressorListCtrl.cs | 60 WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj | 2 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/HydroReservoirListCtrl.cs | 115 + WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterListDlg.cs | 29 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.Designer.cs | 147 +- WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveDlg.cs | 44 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkListDlg.cs | 28 Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj | 2 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantListDlg.cs | 28 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpDlg.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveListDlg.cs | 29 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeListDlg.cs | 29 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs | 43 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/HydroNozzleListCtrl.cs | 57 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/02-emitter/00-core/HydroEmitterViewModel.cs | 47 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.cs | 60 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterListDlg.cs | 29 80 files changed, 2,583 insertions(+), 1,229 deletions(-) diff --git a/Hydro/HStation.Hydro.Core/HStation.Hydro.Core.csproj b/Hydro/HStation.Hydro.Core/HStation.Hydro.Core.csproj index 53f2441..b35a2c1 100644 --- a/Hydro/HStation.Hydro.Core/HStation.Hydro.Core.csproj +++ b/Hydro/HStation.Hydro.Core/HStation.Hydro.Core.csproj @@ -7,7 +7,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Yw.Service.Hydro.Core" Version="3.9.7" /> + <PackageReference Include="Yw.Service.Hydro.Core" Version="3.9.8" /> </ItemGroup> <ItemGroup> diff --git a/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj b/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj index 4db97b1..81657bf 100644 --- a/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj +++ b/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj @@ -8,7 +8,7 @@ <ItemGroup> <PackageReference Include="Yw.Geometry.Core" Version="3.3.0" /> - <PackageReference Include="Yw.Service.Hydro.Core" Version="3.9.7" /> + <PackageReference Include="Yw.Service.Hydro.Core" Version="3.9.8" /> </ItemGroup> <ItemGroup> diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs index 11c72dc..90e6d3f 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs @@ -22,7 +22,6 @@ this.hydroVisualPropertyCtrl1.PropertyValueChangedEvent += HydroVisualPropertyCtrl1_PropertyValueChangedEvent; this.hydroVisualPropertyCtrl1.MarkPropertyValueChangedEvent += HydroVisualPropertyCtrl1_MarkPropertyValueChangedEvent; this.hydroVisualPropertyCtrl1.GradingPropertyValueChangedEvent += HydroPVisualPropertyCtrl1_GradingPropertyValueChangedEvent; - this.hydroVisualPropertyCtrl1.ParterChangedEvent += HydroVisualPropertyCtrl1_ParterChangedEvent; } #region 浜嬩欢闆嗗悎 @@ -54,19 +53,18 @@ /// </summary> public event Action<HydroVisualInfo> GradingPropertyValueChangedEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; - #endregion /// <summary> /// 鍒濆鍖栨暟鎹� /// </summary> - public void InitialData(HydroPropStatusHelper propStatusHelper) + public void InitialData + ( + HydroChangeHelper changeHelper, + HydroPropStatusHelper propStatusHelper + ) { - this.hydroVisualPropertyCtrl1.InitialData(propStatusHelper); + this.hydroVisualPropertyCtrl1.InitialData(changeHelper, propStatusHelper); } #region 灞炴�ц祴鍊� @@ -583,12 +581,6 @@ private void HydroPVisualPropertyCtrl1_GradingPropertyValueChangedEvent(HydroVisualViewModel vm) { this.GradingPropertyValueChangedEvent?.Invoke(vm?.Vmo); - } - - //鏋勪欢鏀瑰彉浜嬩欢 - private void HydroVisualPropertyCtrl1_ParterChangedEvent(HydroParterInfo parter, eChangeType changeType) - { - this.ParterChangedEvent?.Invoke(parter, changeType); } diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs index 430df55..1875592 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -389,11 +389,12 @@ } if (_propertyCtrl == null) { + var changeHelper = GetChangeHelper(); var propStatusHelper = await GetPropStatusHelper(); _propertyCtrl = new SimulationPropertyCtrl(); _propertyCtrl.Dock = DockStyle.Fill; _propertyCtrl.AllowEdit = true; - _propertyCtrl.InitialData(propStatusHelper); + _propertyCtrl.InitialData(changeHelper, propStatusHelper); _propertyCtrl.CalcuResult = () => GetCalcuResult(); _propertyCtrl.HydroViewEvent += (visual) => { @@ -459,14 +460,6 @@ //鍒ゆ柇褰撳墠鏄惁鏈夊垎绾у睍绀猴紝鑻ユ湁鍒欐洿鏂板垎绾э紝鏈�濂芥槸鏇存柊鍗曚釜鍒嗙骇 var gradingHelper = await GetGradingHelper(); gradingHelper.Set(visual); - }; - _propertyCtrl.ParterChangedEvent += (parter, changeType) => - { - if (parter == null) - { - return; - } - AppendChangeParter(parter, changeType); }; } return _propertyCtrl; @@ -751,10 +744,6 @@ { SelectVisual(_visual, eSimulationVisualSource.List); }; - _visualListCtrl.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); - }; } return _visualListCtrl; } @@ -779,7 +768,7 @@ } //鏄剧ず鏋勪欢鏄庣粏鎺т欢 - private void ShowVisualListCtrl() + private async void ShowVisualListCtrl() { if (_hydroInfo == null) { @@ -795,8 +784,10 @@ this.docPnlBottom.Height = 350; } var visualVmListHelper = GetVisualVmListHelper(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var allVisualVmList = visualVmListHelper.GetVisualList(); - visualListCtrl.SetBindingData(allVisualVmList); + visualListCtrl.SetBindingData(allVisualVmList, changeHelper, propStatusHelper); var calcuResult = GetCalcuResult(); if (calcuResult != null && calcuResult.Succeed) { @@ -833,7 +824,7 @@ ShowVisualListCtrl(); } - #endregion 鏄庣粏鎺т欢 + #endregion #region 鏋勪欢鏄剧ず @@ -948,38 +939,62 @@ { if (_isSaving) { - TipFormHelper.ShowWarn("姝e湪淇濆瓨锛岃绋嶅悗閲嶈瘯锛�"); + this.FindForm().ShowAlertInfo("淇濆瓨", "姝e湪淇濆瓨锛岃绋嶅悗閲嶈瘯锛�"); return; } } _isSaving = true; - var addParterList = GetAddParterList(); - var updateParterList = GetUpdateParterList(); - var removeParters = GetRemoveParters(); + var changeHelper = GetChangeHelper(); - this.FindForm().ShowAlertInfo("姘村姏淇℃伅淇濆瓨", "姝e湪鏇存柊姘村姏淇℃伅锛�"); + var addParterList = changeHelper.GetAddParterList(); + var updateParterList = changeHelper.GetUpdateParterList(); + var removeParters = changeHelper.GetRemoveParters(); + + if (addParterList == null || addParterList.Count < 1) + { + if (updateParterList == null || updateParterList.Count < 1) + { + if (removeParters == null || removeParters.Count < 1) + { + TipFormHelper.ShowWarn("鏈娴嬪埌淇敼锛屾棤闇�淇濆瓨锛�"); + _isSaving = false; + return; + } + } + } + + WaitFormHelper.ShowWaitForm("姝e湪淇濆瓨锛岃绋嶅悗..."); + var bol = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance .Update(_hydroInfo, addParterList, updateParterList, removeParters); if (!bol) { - this.FindForm().ShowAlertInfo("姘村姏淇℃伅淇濆瓨", "姘村姏淇℃伅鏇存柊澶辫触锛�"); + WaitFormHelper.HideWaitForm(); + TipFormHelper.ShowError("姘村姏淇℃伅鏇存柊澶辫触锛�"); + _isSaving = false; return; } - this.FindForm().ShowAlertInfo("姘村姏淇℃伅淇濆瓨", "姘村姏淇℃伅鏇存柊鎴愬姛锛�"); + changeHelper.Reset(); - this.FindForm().ShowAlertInfo("姘村姏淇℃伅淇濆瓨", "姝e湪淇濆瓨灞炴�х姸鎬侊紒"); - var propStatusDbList = await GetPropStatusDbList(); - bol = await BLLFactory<Yw.BLL.HydroParterPropStatusInfo>.Instance.Save(_hydroInfo.ID, propStatusDbList); - if (bol) + var propStatusHelper = await GetPropStatusHelper(); + var updatePropStatusList = propStatusHelper.GetUpdatePropStatusDbList(); + if (updatePropStatusList != null && updatePropStatusList.Count > 0) { - this.FindForm().ShowAlertInfo("姘村姏淇℃伅淇濆瓨", "灞炴�х姸鎬佷繚瀛樻垚鍔燂紒"); + bol = await BLLFactory<Yw.BLL.HydroParterPropStatusInfo>.Instance.Update(_hydroInfo.ID, updatePropStatusList); + if (!bol) + { + WaitFormHelper.HideWaitForm(); + TipFormHelper.ShowWarn("灞炴�х姸鎬佹洿鏂板け璐ワ紒"); + _isSaving = false; + return; + } } - else - { - this.FindForm().ShowAlertInfo("姘村姏淇℃伅淇濆瓨", "灞炴�х姸鎬佷繚瀛樺け璐ワ紒"); - } + propStatusHelper.Reset(); + + WaitFormHelper.HideWaitForm(); + TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); _isSaving = false; //Stopwatch sw = new Stopwatch(); @@ -998,11 +1013,13 @@ private void RegistBulkSetEvents() { //姘村簱 - this.barBtnSetReservoirList.ItemClick += delegate + this.barBtnSetReservoirList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroReservoirListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1011,19 +1028,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //姘存睜 - this.barBtnSetTankList.ItemClick += delegate + this.barBtnSetTankList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroTankListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1032,19 +1047,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //姘寸 - this.barBtnSetWaterboxList.ItemClick += delegate + this.barBtnSetWaterboxList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroWaterboxListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1053,19 +1066,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //杩炴帴鑺傜偣 - this.barBtnSetJunctionList.ItemClick += delegate + this.barBtnSetJunctionList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroJunctionListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1074,19 +1085,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //闂峰ご - this.barBtnSetBluntheadList.ItemClick += delegate + this.barBtnSetBluntheadList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroBluntheadListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1095,19 +1104,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //寮ご - this.barBtnSetElbowsList.ItemClick += delegate + this.barBtnSetElbowsList.ItemClick += async delegate { var allVisualVmList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroElbowListDlg(); - dlg.SetBindingData(allVisualVmList); + dlg.SetBindingData(allVisualVmList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1116,19 +1123,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //涓夐�� - this.barBtnSetThreelinkList.ItemClick += delegate + this.barBtnSetThreelinkList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroThreelinkListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1137,19 +1142,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //鍥涢�� - this.barBtnSetFourlinkList.ItemClick += delegate + this.barBtnSetFourlinkList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroFourlinkListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1158,19 +1161,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //姘磋〃 - this.barBtnSetMeterList.ItemClick += delegate + this.barBtnSetMeterList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroMeterListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1179,19 +1180,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //娴侀噺璁� - this.barBtnSetFlowmeterList.ItemClick += delegate + this.barBtnSetFlowmeterList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroFlowmeterListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1200,19 +1199,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //鍘嬪姏琛� - this.barBtnSetPressmeterList.ItemClick += delegate + this.barBtnSetPressmeterList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroPressmeterListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1221,19 +1218,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //鍠峰槾 - this.barBtnSetNozzleList.ItemClick += delegate + this.barBtnSetNozzleList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroNozzleListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1242,19 +1237,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //鍐峰嵈濉� - this.barBtnSetCoolingList.ItemClick += delegate + this.barBtnSetCoolingList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroCoolingListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1263,19 +1256,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //绠¢亾 - this.barBtnSetPipeList.ItemClick += delegate + this.barBtnSetPipeList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroPipeListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1284,19 +1275,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //杩囨浮浠� - this.barBtnSetTranslationList.ItemClick += delegate + this.barBtnSetTranslationList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroTranslationListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1305,19 +1294,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //姘存车 - this.barBtnSetPumpList.ItemClick += delegate + this.barBtnSetPumpList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroPumpListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1326,19 +1313,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //闃�闂� - this.barBtnSetValveList.ItemClick += delegate + this.barBtnSetValveList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroValveListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1347,19 +1332,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //鎹㈢儹鍣� - this.barBtnSetExchangerList.ItemClick += delegate + this.barBtnSetExchangerList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroExchangerListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1368,19 +1351,17 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; //鍘嬬缉鏈� - this.barBtnSetCompressorList.ItemClick += delegate + this.barBtnSetCompressorList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroCompressorListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1389,10 +1370,6 @@ { SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); - }; - dlg.ParterChangedEvent += (parter, changeType) => - { - AppendChangeParter(parter, changeType); }; dlg.ShowDialog(); }; @@ -1866,39 +1843,6 @@ } #endregion 浜哄伐鍒锋柊 - - #region 姘存祦鍔ㄧ敾 - - //姘存祦鍔ㄧ敾杈呭姪绫� - private SimulationFlowEffectHelper _flowEffectHelper = null; - - //鑾峰彇姘存祦鍔ㄧ敾杈呭姪绫� - private async Task<SimulationFlowEffectHelper> GetFlowEffectHelper() - { - if (_hydroInfo == null) - { - return default; - } - if (_flowEffectHelper == null) - { - var visualListHelper = GetVisualListHelper(); - var bimfaceCtrl = await GetBimfaceCtrl(); - _flowEffectHelper = new SimulationFlowEffectHelper(visualListHelper, bimfaceCtrl); - var calcuResult = GetCalcuResult(); - _flowEffectHelper.InitialData(calcuResult); - } - return _flowEffectHelper; - } - - //姘存祦鍔ㄧ敾鏄惁鍙 - private async void barCkFlowEffect_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var flowEffectHelper = await GetFlowEffectHelper(); - //flowEffectHelper.Visible = this.barCkFlowEffect.Checked; - //flowEffectHelper.Set(); - } - - #endregion #region 鐩戞祴鐐� diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroChangeHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroChangeHelper.cs index f921485..c64d04e 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroChangeHelper.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroChangeHelper.cs @@ -101,6 +101,15 @@ return _removeParterList.Select(x => x.Code).Distinct().ToList(); } + /// <summary> + /// 閲嶇疆 + /// </summary> + public void Reset() + { + _addParterList.Clear(); + _updateParterList.Clear(); + _removeParterList.Clear(); + } } } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs index 55307b9..9dec32d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs @@ -1,4 +1,6 @@ -锘縰sing Yw.Hydro; +锘縰sing DevExpress.Xpo.Helpers; +using NPOI.SS.Formula.Functions; +using Yw.Hydro; using Yw.Model; using Yw.Service; @@ -24,6 +26,7 @@ private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dict = null;//瀛楀吀 + private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dictUpdate = null;//鏇存柊瀛楀吀 /// <summary> /// 鑾峰彇灞炴�х姸鎬佷俊鎭� @@ -62,6 +65,23 @@ public List<Yw.Model.HydroParterPropStatusInfo> GetPropStatusDbList() { return _hydroInfo.ToPropStatusDbList(_dict); + } + + /// <summary> + /// 鑾峰彇鏇存柊灞炴�х姸鎬丏b鍒楄〃 + /// </summary> + /// <returns></returns> + public List<Yw.Model.HydroParterPropStatusInfo> GetUpdatePropStatusDbList() + { + return _hydroInfo.ToPropStatusDbList(_dictUpdate); + } + + /// <summary> + /// 閲嶇疆 + /// </summary> + public void Reset() + { + _dictUpdate?.Clear(); } /// <summary> @@ -110,6 +130,40 @@ } propStatusInfo.PropStatus = propStatus; propStatusInfo.StatusInfo = statusInfo; + + AppendUpdatePropStatus(propStatusInfo); + } + + //闄勫姞鏇存柊灞炴�х姸鎬� + private void AppendUpdatePropStatus(HydroParterPropStatusInfo propStatusInfo) + { + if (propStatusInfo == null) + { + return; + } + if (string.IsNullOrEmpty(propStatusInfo.Parter)) + { + return; + } + if (string.IsNullOrEmpty(propStatusInfo.PropName)) + { + return; + } + if (_dictUpdate == null) + { + _dictUpdate = new Dictionary<string, List<HydroParterPropStatusInfo>>(); + } + if (!_dictUpdate.ContainsKey(propStatusInfo.Parter)) + { + _dictUpdate.Add(propStatusInfo.Parter, new List<HydroParterPropStatusInfo>()); + } + if (_dictUpdate[propStatusInfo.Parter] == null) + { + _dictUpdate[propStatusInfo.Parter] = new List<Model.HydroParterPropStatusInfo>(); + } + var list = _dictUpdate[propStatusInfo.Parter]; + list.RemoveAll(x => x.PropName == propStatusInfo.PropName); + list.Add(propStatusInfo); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs index 3695dea..3eb3ed4 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs @@ -19,11 +19,17 @@ private const double _valve_minorloss_default = 0.3d; //闃�闂ㄩ粯璁ゅ眬闃荤郴鏁� private const double _resistance_minorloss_default = 9d;//闃讳欢榛樿灞�闃荤郴鏁� private const double _blunthead_minorloss_default = 0.1d;//闂峰ご灞�閮ㄩ樆鍔涚郴鏁� + private const double _cooling_coefficient_default = 100000d;//鍐峰嵈濉旀祦閲忕郴鏁� /// <summary> /// 淇鍙傛暟 /// </summary> - public static void RepairParas(this Yw.Model.HydroModelInfo hydroInfo, HydroPropStatusHelper propStatusHelper, out string msg) + public static void RepairParas + ( + this Yw.Model.HydroModelInfo hydroInfo, + HydroPropStatusHelper propStatusHelper, + out string msg + ) { msg = string.Empty; if (hydroInfo == null) @@ -261,6 +267,37 @@ #endregion + #region 鍐峰嵈濉� + + if (hydroInfo.Coolings != null && hydroInfo.Coolings.Count > 0) + { + foreach (var cooling in hydroInfo.Coolings) + { + if (cooling.Coefficient < 1) + { + cooling.Coefficient = _cooling_coefficient_default; + propStatusHelper.UpdatePropStatus(cooling.Code, nameof(cooling.Coefficient), ePropStatus.Abnormal, $"銆愭祦閲忕郴鏁般�戞暟鎹紓甯革紝浣跨敤榛樿鍊糩{_cooling_coefficient_default}]淇"); + } + if (cooling.Caliber < 1) + { + var link = allLinks.Find(x => x.StartCode == cooling.Code || x.EndCode == cooling.Code); + if (link != null) + { + if (link is HydroPipeInfo pipe) + { + if (pipe.Diameter > 0) + { + cooling.Caliber = pipe.Diameter; + propStatusHelper.UpdatePropStatus(cooling.Code, nameof(cooling.Caliber), ePropStatus.Abnormal, $"銆愬彛寰勩�戞暟鎹紓甯革紝浣跨敤鐩搁偦绠¢亾淇"); + } + } + } + } + } + } + + #endregion + } @@ -269,9 +306,9 @@ #region 瑁呯疆璁$畻 /// <summary> - /// 鑾峰彇鎵▼ + /// 鑾峰彇寮�濮嬪帇鍔�(m) /// </summary> - public static double GetHead(this Yw.Model.HydroModelInfo hydroInfo) + public static double GetStartHead(this Yw.Model.HydroModelInfo hydroInfo) { if (hydroInfo == null) { @@ -303,7 +340,18 @@ } } } + return startHeadValue; + } + /// <summary> + /// 鑾峰彇缁撴潫鍘嬪姏(m) + /// </summary> + public static double GetEndHead(this Yw.Model.HydroModelInfo hydroInfo) + { + if (hydroInfo == null) + { + return default; + } double endHeadValue = 0; var allNodeList = hydroInfo.GetAllNodes(); if (allNodeList != null && allNodeList.Count > 0) @@ -316,7 +364,7 @@ }); if (endSource == null) { - endSource = allSourceList.Matching(new List<string>() + endSource = allNodeList.Matching(new List<string>() { Yw.Hydro.Flags.姘存簮, Yw.Hydro.Flags.鏈 @@ -334,7 +382,20 @@ } } } + return endHeadValue; + } + /// <summary> + /// 鑾峰彇鎵▼ + /// </summary> + public static double GetHead(this Yw.Model.HydroModelInfo hydroInfo) + { + if (hydroInfo == null) + { + return default; + } + var startHeadValue = GetStartHead(hydroInfo); + var endHeadValue = GetEndHead(hydroInfo); return endHeadValue - startHeadValue; } @@ -397,6 +458,64 @@ } /// <summary> + /// 鑾峰彇鎬荤缁撴潫鍘嬪姏锛堢粷瀵瑰帇鍔涳級 + /// </summary> + public static double? GetPipeEndHead(this Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuVisualDict) + { + if (hydroInfo == null) + { + return default; + } + if (allCalcuVisualDict == null || allCalcuVisualDict.Count < 1) + { + return default; + } + var allNodeList = hydroInfo.GetAllNodes(); + if (allNodeList == null || allNodeList.Count < 1) + { + return default; + } + var node = allNodeList.Matching(new List<string>() + { + Yw.Hydro.Flags.鎬荤, + Yw.Hydro.Flags.鍑哄彛, + Yw.Hydro.Flags.榛樿 + }); + if (node == null) + { + node = allNodeList.Matching(new List<string>() + { + Yw.Hydro.Flags.鎬荤, + Yw.Hydro.Flags.鍑哄彛 + }); + } + if (node == null) + { + return default; + } + + var calcuVisualResult = allCalcuVisualDict.GetValue(node.Code); + if (calcuVisualResult == null) + { + return default; + } + var calcuValue = calcuVisualResult.GetCalcuValue(Yw.Hydro.VisualCalcuProp.CalcuHead); + if (calcuValue == null) + { + return default; + } + return Math.Round(calcuValue.Value, 2); + } + + /// <summary> + /// 鑾峰彇鎬荤缁撴潫鍘嬪姏锛堢粷瀵瑰帇鍔涳級 + /// </summary> + public static double? GetPipeEndHead(this Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult) + { + return GetPipeEndHead(hydroInfo, calcuResult?.GetVisualDict()); + } + + /// <summary> /// 鑾峰彇鎬荤鍘嬪姏锛堢粷瀵瑰帇鍔涳級 /// </summary> public static double? GetPipeHead(this Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult) @@ -451,7 +570,9 @@ { return default; } - return Math.Round(calcuValue.Value, 2); + var endHeadValue = calcuValue.Value; + var startHeadValue = GetStartHead(hydroInfo); + return Math.Round(endHeadValue - startHeadValue, 2); } #endregion diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/00-core/HydroNodeViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/00-core/HydroNodeViewModel.cs index 6c851f3..a61300f 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/00-core/HydroNodeViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/00-core/HydroNodeViewModel.cs @@ -26,6 +26,7 @@ [DisplayName("鑷敱鍘嬪姏")] [Display(Name = "鑷敱鍘嬪姏(m)")] [DisplayUnit("m")] + [Description("涓嶅寘鍚爣楂橈紝鐩稿綋浜庤〃鍊�")] [HydroCalcuPro] [PropertyOrder(10001)] [ShowEditor(false)] @@ -39,6 +40,7 @@ [DisplayName("缁濆鍘嬪姏")] [DisplayUnit("m")] [Display(Name = "缁濆鍘嬪姏(m)")] + [Description("鍖呭惈鏍囬珮")] [HydroCalcuPro] [PropertyOrder(10002)] [ShowEditor(false)] diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/02-emitter/00-core/HydroEmitterViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/02-emitter/00-core/HydroEmitterViewModel.cs index 109161f..479f25c 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/02-emitter/00-core/HydroEmitterViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/02-emitter/00-core/HydroEmitterViewModel.cs @@ -1,4 +1,6 @@ -锘縩amespace Yw.WinFrmUI +锘縰sing System.Data.Odbc; + +namespace Yw.WinFrmUI { /// <summary> /// 鎵╂暎鍣ㄨ鍥� @@ -21,6 +23,16 @@ } /// <summary> + /// 鎹熷け绯绘暟 + /// </summary> + [Category("鏁版嵁")] + [DisplayName("鎹熷け绯绘暟")] + [Display(Name = "鎹熷け绯绘暟")] + [PropertyOrder(2002)] + [Browsable(false)] + public override double MinorLoss { get; set; } + + /// <summary> /// 鏉愭枡 /// </summary> [Category("鏁版嵁")] @@ -35,21 +47,48 @@ /// </summary> [Category("鏁版嵁")] [DisplayName("鍙e緞")] - [Display(Name = "鍙e緞(mm)")] [DisplayUnit("mm")] + [Display(Name = "鍙e緞(mm)")] [PropertyOrder(3002)] [Browsable(true)] public double Caliber { get; set; } /// <summary> - /// 鍠峰皠绯绘暟 + /// 娴侀噺绯绘暟 /// </summary> [Category("鏁版嵁")] - [DisplayName("鍠峰皠绯绘暟")] + [DisplayName("娴侀噺绯绘暟")] [PropertyOrder(3003)] [Browsable(true)] public virtual double Coefficient { get; set; } + /// <summary> + /// 鑷敱鍘嬪姏 + /// </summary> + [Category("璁$畻缁撴灉")] + [DisplayName("鑷敱鍘嬪姏")] + [Display(Name = "鑷敱鍘嬪姏(m)")] + [DisplayUnit("m")] + [Description("涓嶅寘鍚爣楂橈紝鐩稿綋浜庤〃鍊�")] + [HydroCalcuPro] + [PropertyOrder(10001)] + [ShowEditor(false)] + [Browsable(false)] + public override double? CalcuPress { get; set; } + + /// <summary> + /// 缁濆鍘嬪姏 + /// </summary> + [Category("璁$畻缁撴灉")] + [DisplayName("缁濆鍘嬪姏")] + [DisplayUnit("m")] + [Display(Name = "缁濆鍘嬪姏(m)")] + [Description("鍖呭惈鏍囬珮")] + [HydroCalcuPro] + [PropertyOrder(10002)] + [ShowEditor(false)] + [Browsable(false)] + public override double? CalcuHead { get; set; } /// <summary> /// 娴侀噺 diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs index 2a66b1b..186b114 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs @@ -44,11 +44,6 @@ /// </summary> public event Action<HydroVisualViewModel> GradingPropertyValueChangedEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; - /// <summary> /// 寮鸿皟杩炴帴鑺傜偣浜嬩欢 @@ -61,14 +56,19 @@ /// </summary> public event Action<HydroVisualViewModel> HydroViewEvent; - //灞炴�х姸鎬佽緟鍔╃被 - private HydroPropStatusHelper _propStatusHelper = null; + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 鍒濆鍖栨暟鎹� /// </summary> - public void InitialData(HydroPropStatusHelper propStatusHelper) + public void InitialData + ( + HydroChangeHelper changeHelper, + HydroPropStatusHelper propStatusHelper + ) { + _changeHelper = changeHelper; _propStatusHelper = propStatusHelper; } @@ -670,8 +670,8 @@ this.propertyGridControl1.UpdateRows(); } + _changeHelper?.Append(vm.Vmo, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(vm.Code, realFieldName, Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃灞炴�ф帶浠朵慨鏀�"); - this.ParterChangedEvent?.Invoke(vm.Vmo, eChangeType.Update); } //Db鍖归厤 @@ -846,7 +846,7 @@ var dlg = new HydroCurveEditDlg(); dlg.ReloadDataEvent += (rhs) => { - this.ParterChangedEvent?.Invoke(rhs, eChangeType.Update); + _changeHelper?.Append(rhs, eChangeType.Update); }; dlg.SetBindingData(curve); dlg.ShowDialog(); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListCtrl.cs index 1660e39..8058039 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListCtrl.cs @@ -27,10 +27,6 @@ { this.HydroChangedViewEvent?.Invoke(viewList); }; - ctrl.ParterChangedEvent += (parter, changeType) => - { - this.ParterChangedEvent?.Invoke(parter, changeType); - }; } } } @@ -53,11 +49,6 @@ public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; - - /// <summary> /// 鍒楄〃涓虹┖鏃堕殣钘廝age /// </summary> [Browsable(true)] @@ -73,24 +64,41 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + this.SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { if (hydroInfo == null) { @@ -100,7 +108,7 @@ { if (page.Controls[0] is IHydroVisualList ctrl) { - ctrl.SetBindingData(hydroInfo, allCalcuResultVisualDict); + ctrl.SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); if (HidePageWhenListIsNull) { if (!ctrl.HasHydroList) @@ -115,7 +123,12 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { if (allVisualViewModelList == null || allVisualViewModelList.Count < 1) { @@ -125,7 +138,7 @@ { if (page.Controls[0] is IHydroVisualList ctrl) { - ctrl.SetBindingData(allVisualViewModelList); + ctrl.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); if (HidePageWhenListIsNull) { if (!ctrl.HasHydroList) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListDlg.cs index 5a79a4a..05e0ea3 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/HydroVisualListDlg.cs @@ -1,4 +1,6 @@ -锘縩amespace Yw.WinFrmUI +锘縰sing DevExpress.XtraGauges.Core.Model; + +namespace Yw.WinFrmUI { public partial class HydroVisualListDlg : DevExpress.XtraEditors.XtraForm { @@ -33,18 +35,28 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroVisualListCtrl1.SetBindingData(hydroInfo); + this.hydroVisualListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroVisualListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroVisualListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroVisualListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroVisualListCtrl1.SetBulkView(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/IHydroVisualList.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/IHydroVisualList.cs index c068726..261d124 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/IHydroVisualList.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/00-core/IHydroVisualList.cs @@ -27,11 +27,6 @@ /// </summary> event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - event Action<HydroParterInfo, eChangeType> ParterChangedEvent; - /// <summary> /// 鏄惁鏈夋按鍔涘垪琛� @@ -41,22 +36,22 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - void SetBindingData(Yw.Model.HydroModelInfo hydroInfo); + void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, HydroChangeHelper changeHelper = null, HydroPropStatusHelper propStatusHelper = null); /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList); + void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList, HydroChangeHelper changeHelper = null, HydroPropStatusHelper propStatusHelper = null); /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict); + void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, HydroChangeHelper changeHelper = null, HydroPropStatusHelper propStatusHelper = null); /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList); + void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList, HydroChangeHelper changeHelper = null, HydroPropStatusHelper propStatusHelper = null); /// <summary> /// 鏇存柊缁戝畾鏁版嵁 diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/HydroReservoirListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/HydroReservoirListCtrl.cs index 278850c..4a6aff1 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/HydroReservoirListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/HydroReservoirListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,32 +40,50 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroReservoirViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroReservoirViewModel> _allBindingList = null; + + private List<HydroReservoirViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroReservoirViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultList: null); + SetBindingData(hydroInfo, allCalcuResultList: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroReservoirViewModel>(); if (hydroInfo != null && hydroInfo.Reservoirs != null && hydroInfo.Reservoirs.Count > 0) @@ -85,13 +99,20 @@ _allList.Add(vm); } } + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; Search(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroReservoirViewModel>(); allVisualViewModelList?.ForEach(x => @@ -101,6 +122,8 @@ _allList.Add(x as HydroReservoirViewModel); } }); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; Search(); } @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroReservoirDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,9 +284,41 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list?.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); + } + + //琛屽崟鍏冩牸鐐瑰嚮浜嬩欢 + private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) + { + var row = this.gridView1.GetRow(e.RowHandle) as HydroReservoirViewModel; + if (row == null) + { + return; + } + + if (e.Column == this.colSet) + { + var dlg = new SetHydroReservoirDlg(); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); + dlg.ReloadDataEvent += (list) => + { + if (list == null || list.Count < 1) + { + return; + } + row.UpdateProperty(); + this.gridView1.RefreshRow(e.RowHandle); + this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); + this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); + }; + dlg.ShowDialog(); + } + else + { + this.HydroClickViewEvent?.Invoke(row); + this.HydroClickInfoEvent?.Invoke(row.Vmo); + } } /// <summary> @@ -371,35 +426,7 @@ this.colSet.Visible = false; } - //琛屽崟鍏冩牸鐐瑰嚮浜嬩欢 - private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) - { - var row = this.gridView1.GetRow(e.RowHandle) as HydroReservoirViewModel; - if (row == null) - { - return; - } - if (e.Column == this.colSet) - { - var dlg = new SetHydroReservoirDlg(); - dlg.SetBindingData(row.Vmo); - dlg.ReloadDataEvent += (list) => - { - row.UpdateProperty(); - this.gridView1.RefreshRow(e.RowHandle); - this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); - this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); - }; - dlg.ShowDialog(); - } - else - { - this.HydroClickViewEvent?.Invoke(row); - this.HydroClickInfoEvent?.Invoke(row.Vmo); - } - } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirDlg.cs index 6bf3a07..d2700b6 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirDlg.cs @@ -16,22 +16,36 @@ public event Action<List<Yw.Model.HydroReservoirInfo>> ReloadDataEvent; private List<Yw.Model.HydroReservoirInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroReservoirInfo visual) + public void SetBindingData + ( + Yw.Model.HydroReservoirInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroReservoirInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroReservoirInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroReservoirInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var reservoir = _allVisualList.FirstOrDefault(); @@ -51,6 +65,11 @@ { if (head.HasValue) { + if (x.Head != head.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Head), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Head = head.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirListDlg.cs index beca21b..9aa24c4 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/01-reservoir/SetHydroReservoirListDlg.cs @@ -12,7 +12,6 @@ this.hydroReservoirListCtrl1.HydroClickViewEvent += HydroReservoirListCtrl1_HydroClickViewEvent; this.hydroReservoirListCtrl1.HydroChangedInfoEvent += HydroReservoirListCtrl1_HydroChangedInfoEvent; this.hydroReservoirListCtrl1.HydroChangedViewEvent += HydroReservoirListCtrl1_HydroChangedViewEvent; - this.hydroReservoirListCtrl1.ParterChangedEvent += HydroReservoirListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroReservoirListCtrl1.SetBindingData(hydroInfo); + this.hydroReservoirListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroReservoirListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroReservoirListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroReservoirListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroReservoirListCtrl1.SetBulkView(); } @@ -79,11 +84,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //鏋勪欢鏀瑰彉浜嬩欢 - private void HydroReservoirListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/HydroTankListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/HydroTankListCtrl.cs index e4a63b3..417b02a 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/HydroTankListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/HydroTankListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,32 +40,50 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroTankViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroTankViewModel> _allBindingList = null; + + private List<HydroTankViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroTankViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroTankViewModel>(); if (hydroInfo != null && hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0) @@ -85,13 +99,20 @@ _allList.Add(vm); } } + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; Search(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroTankViewModel>(); allVisualViewModelList?.ForEach(x => @@ -101,6 +122,8 @@ _allList.Add(x as HydroTankViewModel); } }); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; Search(); } @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroTankDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -278,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroTankDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -289,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.Designer.cs index 783de4c..dde6927 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.Designer.cs @@ -42,7 +42,8 @@ layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); - emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + txtMinVol = new DevExpress.XtraEditors.TextEdit(); + layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); ((ISupportInitialize)layoutControl1).BeginInit(); layoutControl1.SuspendLayout(); ((ISupportInitialize)txtDN.Properties).BeginInit(); @@ -57,11 +58,13 @@ ((ISupportInitialize)layoutControlItem4).BeginInit(); ((ISupportInitialize)layoutControlItem6).BeginInit(); ((ISupportInitialize)layoutControlItem9).BeginInit(); - ((ISupportInitialize)emptySpaceItem1).BeginInit(); + ((ISupportInitialize)txtMinVol.Properties).BeginInit(); + ((ISupportInitialize)layoutControlItem2).BeginInit(); SuspendLayout(); // // layoutControl1 // + layoutControl1.Controls.Add(txtMinVol); layoutControl1.Controls.Add(generalOkAndCancelCtrl1); layoutControl1.Controls.Add(txtDN); layoutControl1.Controls.Add(txtMaxLevel); @@ -92,6 +95,7 @@ // txtDN.Location = new Point(76, 60); txtDN.Name = "txtDN"; + txtDN.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtDN.Properties.DisplayFormat.FormatString = "{0}m"; txtDN.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; txtDN.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); @@ -104,6 +108,7 @@ // txtMaxLevel.Location = new Point(272, 36); txtMaxLevel.Name = "txtMaxLevel"; + txtMaxLevel.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtMaxLevel.Properties.DisplayFormat.FormatString = "{0}m"; txtMaxLevel.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; txtMaxLevel.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); @@ -116,6 +121,7 @@ // txtMinLevel.Location = new Point(76, 36); txtMinLevel.Name = "txtMinLevel"; + txtMinLevel.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtMinLevel.Properties.DisplayFormat.FormatString = "{0}m"; txtMinLevel.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; txtMinLevel.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); @@ -128,6 +134,7 @@ // txtInitLevel.Location = new Point(272, 12); txtInitLevel.Name = "txtInitLevel"; + txtInitLevel.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtInitLevel.Properties.DisplayFormat.FormatString = "{0}m"; txtInitLevel.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; txtInitLevel.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); @@ -140,6 +147,7 @@ // txtPoolElev.Location = new Point(76, 12); txtPoolElev.Name = "txtPoolElev"; + txtPoolElev.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtPoolElev.Properties.DisplayFormat.FormatString = "{0}m"; txtPoolElev.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; txtPoolElev.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); @@ -152,7 +160,7 @@ // Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; Root.GroupBordersVisible = false; - Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem5, layoutControlItem7, layoutControlItem4, layoutControlItem6, layoutControlItem9, emptySpaceItem1 }); + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem5, layoutControlItem7, layoutControlItem4, layoutControlItem6, layoutControlItem9, layoutControlItem2 }); Root.Name = "Root"; Root.Size = new Size(413, 122); Root.TextVisible = false; @@ -211,13 +219,27 @@ layoutControlItem9.TextSize = new Size(0, 0); layoutControlItem9.TextVisible = false; // - // emptySpaceItem1 + // txtMinVol // - emptySpaceItem1.AllowHotTrack = false; - emptySpaceItem1.Location = new Point(196, 48); - emptySpaceItem1.Name = "emptySpaceItem1"; - emptySpaceItem1.Size = new Size(197, 24); - emptySpaceItem1.TextSize = new Size(0, 0); + txtMinVol.Location = new Point(272, 60); + txtMinVol.Name = "txtMinVol"; + txtMinVol.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; + txtMinVol.Properties.DisplayFormat.FormatString = "{0}m鲁"; + txtMinVol.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; + txtMinVol.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); + txtMinVol.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False"); + txtMinVol.Size = new Size(129, 20); + txtMinVol.StyleController = layoutControl1; + txtMinVol.TabIndex = 6; + // + // layoutControlItem2 + // + layoutControlItem2.Control = txtMinVol; + layoutControlItem2.Location = new Point(196, 48); + layoutControlItem2.Name = "layoutControlItem2"; + layoutControlItem2.Size = new Size(197, 24); + layoutControlItem2.Text = "鏈�灏忓绉�:"; + layoutControlItem2.TextSize = new Size(52, 14); // // SetHydroTankDlg // @@ -243,7 +265,8 @@ ((ISupportInitialize)layoutControlItem4).EndInit(); ((ISupportInitialize)layoutControlItem6).EndInit(); ((ISupportInitialize)layoutControlItem9).EndInit(); - ((ISupportInitialize)emptySpaceItem1).EndInit(); + ((ISupportInitialize)txtMinVol.Properties).EndInit(); + ((ISupportInitialize)layoutControlItem2).EndInit(); ResumeLayout(false); } @@ -263,6 +286,7 @@ private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; private GeneralOkAndCancelCtrl generalOkAndCancelCtrl1; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; - private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraEditors.TextEdit txtMinVol; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.cs index 9b4953b..dc02013 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankDlg.cs @@ -16,24 +16,37 @@ /// </summary> public event Action<List<Yw.Model.HydroTankInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroTankInfo> _allVisualList = null; + private List<Yw.Model.HydroTankInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroTankInfo parter) + public void SetBindingData + ( + Yw.Model.HydroTankInfo parter, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allParterList = parter == null ? null : new List<Yw.Model.HydroTankInfo>() { parter }; - SetBindingData(allParterList); + SetBindingData(allParterList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroTankInfo> allParterList) + public void SetBindingData + ( + List<Yw.Model.HydroTankInfo> allParterList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allParterList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -42,6 +55,7 @@ this.txtMinLevel.EditValue = visual.MinLevel; this.txtMaxLevel.EditValue = visual.MaxLevel; this.txtDN.EditValue = visual.DN; + this.txtMinVol.EditValue = visual.MinVol; } } @@ -57,28 +71,63 @@ double? minLevel = this.txtMinLevel.EditValue == null ? null : double.Parse(this.txtMinLevel.EditValue.ToString()); double? maxLevel = this.txtMaxLevel.EditValue == null ? null : double.Parse(this.txtMaxLevel.EditValue.ToString()); double? dn = this.txtDN.EditValue == null ? null : double.Parse(this.txtDN.EditValue.ToString()); + double? minVol = this.txtMinVol.EditValue == null ? null : double.Parse(this.txtMinVol.EditValue.ToString()); _allVisualList.ForEach(x => { if (poolElev.HasValue) { + if (x.PoolElev != poolElev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.PoolElev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.PoolElev = poolElev.Value; } if (initLevel.HasValue) { + if (x.InitLevel != initLevel.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.InitLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.InitLevel = initLevel.Value; } if (minLevel.HasValue) { + if (x.MinLevel != minLevel.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinLevel = minLevel.Value; } if (maxLevel.HasValue) { + if (x.MaxLevel != maxLevel.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MaxLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MaxLevel = maxLevel.Value; } if (dn.HasValue) { + if (x.DN != dn.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.DN), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.DN = dn.Value; } + if (minVol.HasValue) + { + if (x.MinVol != minVol.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinVol), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } + x.MinVol = minVol.Value; + } }); this.ReloadDataEvent?.Invoke(_allVisualList); this.DialogResult = DialogResult.OK; diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankListDlg.cs index 5386f7a..63755f6 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/02-tank/SetHydroTankListDlg.cs @@ -12,7 +12,6 @@ this.hydroTankListCtrl1.HydroClickViewEvent += HydroTankListCtrl1_HydroClickViewEvent; this.hydroTankListCtrl1.HydroChangedInfoEvent += HydroTankListCtrl1_HydroChangedInfoEvent; this.hydroTankListCtrl1.HydroChangedViewEvent += HydroTankListCtrl1_HydroChangedViewEvent; - this.hydroTankListCtrl1.ParterChangedEvent += HydroTankListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroTankListCtrl1.SetBindingData(hydroInfo); + this.hydroTankListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroTankListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroTankListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroTankListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroTankListCtrl1.SetBulkView(); } @@ -79,11 +84,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //鏋勪欢鏀瑰彉浜嬩欢 - private void HydroTankListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/HydroWaterboxListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/HydroWaterboxListCtrl.cs index d566885..e024ff8 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/HydroWaterboxListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/HydroWaterboxListCtrl.cs @@ -33,10 +33,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; #endregion @@ -48,34 +44,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroWaterboxViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroWaterboxViewModel> _allBindingList = null; + + private List<HydroWaterboxViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroWaterboxViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroWaterboxViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0) { foreach (var visual in hydroInfo.Waterboxs) @@ -95,9 +111,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroWaterboxViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Waterbox) @@ -252,7 +275,7 @@ return; } var dlg = new SetHydroWaterboxDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -265,7 +288,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -282,7 +304,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroWaterboxDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -293,7 +315,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.Designer.cs index e44c5a1..87dfb24 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.Designer.cs @@ -42,7 +42,8 @@ layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); - emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + txtMinVol = new DevExpress.XtraEditors.TextEdit(); + layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); ((ISupportInitialize)layoutControl1).BeginInit(); layoutControl1.SuspendLayout(); ((ISupportInitialize)txtDN.Properties).BeginInit(); @@ -57,11 +58,13 @@ ((ISupportInitialize)layoutControlItem4).BeginInit(); ((ISupportInitialize)layoutControlItem6).BeginInit(); ((ISupportInitialize)layoutControlItem9).BeginInit(); - ((ISupportInitialize)emptySpaceItem1).BeginInit(); + ((ISupportInitialize)txtMinVol.Properties).BeginInit(); + ((ISupportInitialize)layoutControlItem2).BeginInit(); SuspendLayout(); // // layoutControl1 // + layoutControl1.Controls.Add(txtMinVol); layoutControl1.Controls.Add(generalOkAndCancelCtrl1); layoutControl1.Controls.Add(txtDN); layoutControl1.Controls.Add(txtMaxLevel); @@ -157,7 +160,7 @@ // Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; Root.GroupBordersVisible = false; - Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem5, layoutControlItem7, layoutControlItem4, layoutControlItem6, layoutControlItem9, emptySpaceItem1 }); + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem5, layoutControlItem7, layoutControlItem4, layoutControlItem6, layoutControlItem9, layoutControlItem2 }); Root.Name = "Root"; Root.Size = new Size(419, 125); Root.TextVisible = false; @@ -216,13 +219,27 @@ layoutControlItem9.TextSize = new Size(0, 0); layoutControlItem9.TextVisible = false; // - // emptySpaceItem1 + // txtMinVol // - emptySpaceItem1.AllowHotTrack = false; - emptySpaceItem1.Location = new Point(199, 48); - emptySpaceItem1.Name = "emptySpaceItem1"; - emptySpaceItem1.Size = new Size(200, 24); - emptySpaceItem1.TextSize = new Size(0, 0); + txtMinVol.Location = new Point(275, 60); + txtMinVol.Name = "txtMinVol"; + txtMinVol.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; + txtMinVol.Properties.DisplayFormat.FormatString = "{0}m鲁"; + txtMinVol.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; + txtMinVol.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); + txtMinVol.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False"); + txtMinVol.Size = new Size(132, 20); + txtMinVol.StyleController = layoutControl1; + txtMinVol.TabIndex = 6; + // + // layoutControlItem2 + // + layoutControlItem2.Control = txtMinVol; + layoutControlItem2.Location = new Point(199, 48); + layoutControlItem2.Name = "layoutControlItem2"; + layoutControlItem2.Size = new Size(200, 24); + layoutControlItem2.Text = "鏈�灏忓绉�:"; + layoutControlItem2.TextSize = new Size(52, 14); // // SetHydroWaterboxDlg // @@ -248,7 +265,8 @@ ((ISupportInitialize)layoutControlItem4).EndInit(); ((ISupportInitialize)layoutControlItem6).EndInit(); ((ISupportInitialize)layoutControlItem9).EndInit(); - ((ISupportInitialize)emptySpaceItem1).EndInit(); + ((ISupportInitialize)txtMinVol.Properties).EndInit(); + ((ISupportInitialize)layoutControlItem2).EndInit(); ResumeLayout(false); } @@ -268,6 +286,7 @@ private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; private GeneralOkAndCancelCtrl generalOkAndCancelCtrl1; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; - private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraEditors.TextEdit txtMinVol; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.cs index 90b71e0..75b3b11 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.cs @@ -15,24 +15,38 @@ /// </summary> public event Action<List<Yw.Model.HydroWaterboxInfo>> ReloadDataEvent; - //鎵�鏈夐儴浠跺垪琛� - private List<Yw.Model.HydroWaterboxInfo> _allVisualList = null; + + private List<Yw.Model.HydroWaterboxInfo> _allVisualList = null;//鎵�鏈夐儴浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroWaterboxInfo visual) + public void SetBindingData + ( + Yw.Model.HydroWaterboxInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroWaterboxInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroWaterboxInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroWaterboxInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -41,6 +55,7 @@ this.txtMinLevel.EditValue = Math.Round(visual.MinLevel, 4); this.txtMaxLevel.EditValue = Math.Round(visual.MaxLevel, 4); this.txtDN.EditValue = Math.Round(visual.DN, 4); + this.txtMinVol.EditValue = Math.Round(visual.MinVol, 2); } } @@ -56,28 +71,63 @@ double? minLevel = this.txtMinLevel.EditValue == null ? null : double.Parse(this.txtMinLevel.EditValue.ToString()); double? maxLevel = this.txtMaxLevel.EditValue == null ? null : double.Parse(this.txtMaxLevel.EditValue.ToString()); double? dn = this.txtDN.EditValue == null ? null : double.Parse(this.txtDN.EditValue.ToString()); + double? minVol = this.txtMinVol.EditValue == null ? null : double.Parse(this.txtMinVol.EditValue.ToString()); _allVisualList.ForEach(x => { if (poolElev.HasValue) { + if (x.PoolElev != poolElev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.PoolElev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.PoolElev = poolElev.Value; } if (initLevel.HasValue) { + if (x.InitLevel != initLevel.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.InitLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.InitLevel = initLevel.Value; } if (minLevel.HasValue) { + if (x.MinLevel != minLevel.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinLevel = minLevel.Value; } if (maxLevel.HasValue) { + if (x.MaxLevel != maxLevel.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MaxLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MaxLevel = maxLevel.Value; } if (dn.HasValue) { + if (x.DN != dn.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.DN), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.DN = dn.Value; } + if (minVol.HasValue) + { + if (x.MinVol != minVol.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinVol), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } + x.MinVol = minVol.Value; + } }); this.ReloadDataEvent?.Invoke(_allVisualList); this.DialogResult = DialogResult.OK; diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxListDlg.cs index 02b81fb..9d6e6bb 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxListDlg.cs @@ -1,6 +1,4 @@ -锘縰sing Yw.Model; - -namespace Yw.WinFrmUI +锘縩amespace Yw.WinFrmUI { public partial class SetHydroWaterboxListDlg : DevExpress.XtraEditors.XtraForm { @@ -12,7 +10,6 @@ this.hydroWaterboxListCtrl1.HydroClickViewEvent += HydroWaterboxListCtrl1_HydroClickViewEvent; this.hydroWaterboxListCtrl1.HydroChangedInfoEvent += HydroWaterboxListCtrl1_HydroChangedInfoEvent; this.hydroWaterboxListCtrl1.HydroChangedViewEvent += HydroWaterboxListCtrl1_HydroChangedViewEvent; - this.hydroWaterboxListCtrl1.ParterChangedEvent += HydroWaterboxListCtrl1_ParterChangedEvent; } @@ -32,26 +29,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroWaterboxListCtrl1.SetBindingData(hydroInfo); + this.hydroWaterboxListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroWaterboxListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroWaterboxListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroWaterboxListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroWaterboxListCtrl1.SetBulkView(); } @@ -79,11 +82,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroWaterboxListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/HydroJunctionListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/HydroJunctionListCtrl.cs index 517ce6e..d33aed7 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/HydroJunctionListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/HydroJunctionListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroJunctionViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroJunctionViewModel> _allBindingList = null; + + private List<HydroJunctionViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroJunctionViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroJunctionViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Junctions != null && hydroInfo.Junctions.Count > 0) { foreach (var visual in hydroInfo.Junctions) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroJunctionViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Junction) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroJunctionDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -277,7 +299,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroJunctionDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -288,7 +310,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionDlg.cs index 8fec89c..940e7f7 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionDlg.cs @@ -15,24 +15,38 @@ /// </summary> public event Action<List<Yw.Model.HydroJunctionInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroJunctionInfo> _allVisualList = null; + + private List<Yw.Model.HydroJunctionInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroJunctionInfo visual) + public void SetBindingData + ( + Yw.Model.HydroJunctionInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Model.HydroJunctionInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroJunctionInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroJunctionInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -54,10 +68,20 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionListDlg.cs index e74ce27..236acf0 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/04-junction/SetHydroJunctionListDlg.cs @@ -12,7 +12,6 @@ this.hydroJunctionListCtrl1.HydroClickViewEvent += HydroJunctionListCtrl1_HydroClickViewEvent; this.hydroJunctionListCtrl1.HydroChangedInfoEvent += HydroJunctionListCtrl1_HydroChangedInfoEvent; this.hydroJunctionListCtrl1.HydroChangedViewEvent += HydroJunctionListCtrl1_HydroChangedViewEvent; - this.hydroJunctionListCtrl1.ParterChangedEvent += HydroJunctionListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroJunctionListCtrl1.SetBindingData(hydroInfo); + this.hydroJunctionListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroJunctionListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroJunctionListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroJunctionListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroJunctionListCtrl1.SetBulkView(); } @@ -79,11 +84,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroJunctionListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/HydroBluntheadListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/HydroBluntheadListCtrl.cs index 8cecc5b..3d64396 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/HydroBluntheadListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/HydroBluntheadListCtrl.cs @@ -32,10 +32,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> @@ -46,34 +42,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroBluntheadViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroBluntheadViewModel> _allBindingList = null; + + private List<HydroBluntheadViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroBluntheadViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroBluntheadViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Bluntheads != null && hydroInfo.Bluntheads.Count > 0) { foreach (var visual in hydroInfo.Bluntheads) @@ -93,9 +109,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroBluntheadViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Blunthead) @@ -250,7 +273,7 @@ return; } var dlg = new SetHydroBluntheadDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -263,11 +286,11 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } + //琛屽崟鍏冪偣鍑讳簨浠� private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { var row = this.gridView1.GetRow(e.RowHandle) as HydroBluntheadViewModel; @@ -279,7 +302,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroBluntheadDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -290,7 +313,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadDlg.cs index 4515029..3d72e5d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadDlg.cs @@ -7,6 +7,7 @@ InitializeComponent(); this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; this.layoutControl1.SetupLayoutControl(); + this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; } /// <summary> @@ -14,24 +15,37 @@ /// </summary> public event Action<List<Yw.Model.HydroBluntheadInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroBluntheadInfo> _allVisualList = null; + private List<Yw.Model.HydroBluntheadInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroBluntheadInfo visual) + public void SetBindingData + ( + Yw.Model.HydroBluntheadInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroBluntheadInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroBluntheadInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroBluntheadInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -42,8 +56,8 @@ } } - // - private void btnOk_Click(object sender, EventArgs e) + //纭畾 + private void GeneralOkAndCancelCtrl1_OkEvent() { if (_allVisualList == null || _allVisualList.Count < 1) { @@ -57,18 +71,38 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (caliber.HasValue) { + if (x.Caliber != caliber.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Caliber), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Caliber = caliber.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadListDlg.cs index 8675232..b4b7931 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/05-blunthead/SetHydroBluntheadListDlg.cs @@ -12,7 +12,6 @@ this.hydroBluntheadListCtrl1.HydroClickViewEvent += HydroBluntheadListCtrl1_HydroClickViewEvent; this.hydroBluntheadListCtrl1.HydroChangedInfoEvent += HydroBluntheadListCtrl1_HydroChangedInfoEvent; this.hydroBluntheadListCtrl1.HydroChangedViewEvent += HydroBluntheadListCtrl1_HydroChangedViewEvent; - this.hydroBluntheadListCtrl1.ParterChangedEvent += HydroBluntheadListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroBluntheadListCtrl1.SetBindingData(hydroInfo); + this.hydroBluntheadListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroBluntheadListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroBluntheadListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroBluntheadListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroBluntheadListCtrl1.SetBulkView(); } @@ -79,11 +84,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //鏋勬灦鏀瑰彉浜嬩欢 - private void HydroBluntheadListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/HydroElbowListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/HydroElbowListCtrl.cs index 4fb90c7..c155a6b 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/HydroElbowListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/HydroElbowListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄剧ず鏌ヨ闈㈡澘 @@ -56,34 +52,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroElbowViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroElbowViewModel> _allBindingList = null; + + private List<HydroElbowViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroElbowViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroElbowViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Elbows != null && hydroInfo.Elbows.Count > 0) { foreach (var visual in hydroInfo.Elbows) @@ -103,9 +119,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroElbowViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Elbow) @@ -279,7 +302,7 @@ return; } var dlg = new SetHydroElbowDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -292,7 +315,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -309,7 +331,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroElbowDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -320,7 +342,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowDlg.cs index 3972369..be44a52 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowDlg.cs @@ -15,25 +15,37 @@ /// </summary> public event Action<List<Yw.Model.HydroElbowInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - - private List<Yw.Model.HydroElbowInfo> _allVisualList = null; + private List<Yw.Model.HydroElbowInfo> _allVisualList = null; //鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroElbowInfo visual) + public void SetBindingData + ( + Yw.Model.HydroElbowInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroElbowInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroElbowInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroElbowInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -41,7 +53,7 @@ this.txtCaliber.EditValue = visual.Caliber; this.txtBendingAngle.EditValue = visual.BendingAngle; this.txtElbowType.EditValue = visual.ElbowType; - this.txtElev.EditValue = visual.Elev; + this.txtElev.EditValue = Math.Round(visual.Elev, 4); this.txtMinorLoss.EditValue = visual.MinorLoss; } } @@ -63,26 +75,56 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (caliber.HasValue) { + if (x.Caliber != caliber.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Caliber), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Caliber = caliber.Value; } if (blendingAngle.HasValue) { + if (x.BendingAngle != blendingAngle.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.BendingAngle), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.BendingAngle = blendingAngle.Value; } if (!string.IsNullOrEmpty(elbowType)) { + if (x.ElbowType != elbowType) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.ElbowType), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.ElbowType = elbowType; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowListDlg.cs index f3d6b66..a5de18e 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/06-elbow/SetHydroElbowListDlg.cs @@ -13,7 +13,6 @@ this.hydroElbowListCtrl1.HydroClickViewEvent += HydroElbowListCtrl1_HydroClickViewEvent; this.hydroElbowListCtrl1.HydroChangedInfoEvent += HydroElbowListCtrl1_HydroChangedInfoEvent; this.hydroElbowListCtrl1.HydroChangedViewEvent += HydroElbowListCtrl1_HydroChangedViewEvent; - this.hydroElbowListCtrl1.ParterChangedEvent += HydroElbowListCtrl1_ParterChangedEvent; } @@ -33,26 +32,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroElbowListCtrl1.SetBindingData(hydroInfo); + this.hydroElbowListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroElbowListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroElbowListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroElbowListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroElbowListCtrl1.SetBulkView(); } @@ -80,11 +85,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroElbowListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/HydroThreelinkListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/HydroThreelinkListCtrl.cs index 1cdd359..cda70a4 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/HydroThreelinkListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/HydroThreelinkListCtrl.cs @@ -32,10 +32,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -45,34 +41,53 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroThreelinkViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroThreelinkViewModel> _allBindingList = null; + private List<HydroThreelinkViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroThreelinkViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroThreelinkViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Threelinks != null && hydroInfo.Threelinks.Count > 0) { foreach (var visual in hydroInfo.Threelinks) @@ -92,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroThreelinkViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Threelink) @@ -268,7 +290,7 @@ return; } var dlg = new SetHydroThreelinkDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -281,7 +303,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -315,7 +336,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroThreelinkDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -326,7 +347,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkDlg.cs index 29a08c0..ddbd6a3 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkDlg.cs @@ -15,28 +15,41 @@ /// </summary> public event Action<List<Yw.Model.HydroThreelinkInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroThreelinkInfo> _allVisualList = null; + private List<Yw.Model.HydroThreelinkInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroThreelinkInfo visual) + public void SetBindingData + ( + Yw.Model.HydroThreelinkInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroThreelinkInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroThreelinkInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroThreelinkInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); - this.txtElev.EditValue = visual.Elev; + this.txtElev.EditValue = Math.Round(visual.Elev, 4); this.txtMinorLoss.EditValue = visual.MinorLoss; this.txtMaterial.EditValue = visual.Material; this.txtCaliber.EditValue = visual.Caliber; @@ -63,26 +76,56 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (caliber.HasValue) { + if (x.Caliber != caliber.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Caliber), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Caliber = caliber.Value; } if (runningThroughLoss.HasValue) { + if (x.RunningThroughLoss != runningThroughLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RunningThroughLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.RunningThroughLoss = runningThroughLoss.Value; } if (branchThroughLoss.HasValue) { + if (x.BranchThroughLoss != branchThroughLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.BranchThroughLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.BranchThroughLoss = branchThroughLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkListDlg.cs index bb9dd9d..b6da8bc 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/07-threelink/SetHydroThreelinkListDlg.cs @@ -12,7 +12,6 @@ this.hydroThreelinkListCtrl1.HydroClickViewEvent += HydroThreelinkListCtrl1_HydroClickViewEvent; this.hydroThreelinkListCtrl1.HydroChangedInfoEvent += HydroThreelinkListCtrl1_HydroChangedInfoEvent; this.hydroThreelinkListCtrl1.HydroChangedViewEvent += HydroThreelinkListCtrl1_HydroChangedViewEvent; - this.hydroThreelinkListCtrl1.ParterChangedEvent += HydroThreelinkListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroThreelinkListCtrl1.SetBindingData(hydroInfo); + this.hydroThreelinkListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroThreelinkListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroThreelinkListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroThreelinkListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroThreelinkListCtrl1.SetBulkView(); } @@ -79,11 +84,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroThreelinkListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/HydroFourlinkListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/HydroFourlinkListCtrl.cs index a1368d6..637f275 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/HydroFourlinkListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/HydroFourlinkListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroFourlinkViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroFourlinkViewModel> _allBindingList = null; + + private List<HydroFourlinkViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroFourlinkViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroFourlinkViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Fourlinks != null && hydroInfo.Fourlinks.Count > 0) { foreach (var visual in hydroInfo.Fourlinks) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroFourlinkViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Fourlink) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroFourlinkDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,13 +284,12 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } - + //琛屽崟鍏冪偣鍑讳簨浠� private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { var row = this.gridView1.GetRow(e.RowHandle) as HydroFourlinkViewModel; @@ -279,7 +301,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroFourlinkDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -290,7 +312,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs index 1972925..1772578 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs @@ -15,24 +15,37 @@ /// </summary> public event Action<List<Yw.Model.HydroFourlinkInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroFourlinkInfo> _allVisualList = null; + private List<Yw.Model.HydroFourlinkInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroFourlinkInfo visual) + public void SetBindingData + ( + Yw.Model.HydroFourlinkInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroFourlinkInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroFourlinkInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroFourlinkInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -59,18 +72,38 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (caliber.HasValue) { + if (x.Caliber != caliber.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Caliber), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Caliber = caliber.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkListDlg.cs index 37fd538..252bdda 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkListDlg.cs @@ -12,7 +12,6 @@ this.hydroFourlinkListCtrl1.HydroClickViewEvent += HydroFourlinkListCtrl1_HydroClickViewEvent; this.hydroFourlinkListCtrl1.HydroChangedInfoEvent += HydroFourlinkListCtrl1_HydroChangedInfoEvent; this.hydroFourlinkListCtrl1.HydroChangedViewEvent += HydroFourlinkListCtrl1_HydroChangedViewEvent; - this.hydroFourlinkListCtrl1.ParterChangedEvent += HydroFourlinkListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroFourlinkListCtrl1.SetBindingData(hydroInfo); + this.hydroFourlinkListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroFourlinkListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroFourlinkListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroFourlinkListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroFourlinkListCtrl1.SetBulkView(); } @@ -79,11 +84,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - // 姘村姏鏀瑰彉浜嬩欢 - private void HydroFourlinkListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs index 688f53e..1d2fa56 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroHydrantViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroHydrantViewModel> _allBindingList = null; + + private List<HydroHydrantViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroHydrantViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroHydrantViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Hydrants != null && hydroInfo.Hydrants.Count > 0) { foreach (var visual in hydroInfo.Hydrants) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroHydrantViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Hydrant) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroHydrantDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -277,7 +299,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroHydrantDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -288,7 +310,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantDlg.cs index 0587acc..902558d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantDlg.cs @@ -15,28 +15,42 @@ /// </summary> public event Action<List<Yw.Model.HydroHydrantInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroHydrantInfo> _allVisualList = null; + + private List<Yw.Model.HydroHydrantInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroHydrantInfo visual) + public void SetBindingData + ( + Yw.Model.HydroHydrantInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroHydrantInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroHydrantInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroHydrantInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); - this.txtElev.EditValue = visual.Elev; + this.txtElev.EditValue = Math.Round(visual.Elev, 4); this.txtMinorLoss.EditValue = visual.MinorLoss; this.txtDemand.EditValue = visual.Demand; this.txtCoefficient.EditValue = visual.Coefficient; @@ -58,18 +72,38 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (demand.HasValue) { + if (x.Demand != demand.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Demand), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Demand = demand.Value; } if (coefficient.HasValue) { + if (x.Coefficient != coefficient.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Coefficient), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Coefficient = coefficient.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantListDlg.cs index 6b2faa7..041fb90 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/SetHydroHydrantListDlg.cs @@ -1,4 +1,5 @@ -锘縰sing Yw.Model; +锘縰sing DevExpress.XtraGauges.Core.Model; +using Yw.Model; namespace Yw.WinFrmUI { @@ -12,7 +13,6 @@ this.hydroHydrantListCtrl1.HydroClickViewEvent += HydroHydrantListCtrl1_HydroClickViewEvent; this.hydroHydrantListCtrl1.HydroChangedInfoEvent += HydroHydrantListCtrl1_HydroChangedInfoEvent; this.hydroHydrantListCtrl1.HydroChangedViewEvent += HydroHydrantListCtrl1_HydroChangedViewEvent; - this.hydroHydrantListCtrl1.ParterChangedEvent += HydroHydrantListCtrl1_ParterChangedEvent; } @@ -40,18 +40,28 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroHydrantListCtrl1.SetBindingData(hydroInfo); + this.hydroHydrantListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroHydrantListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroHydrantListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroHydrantListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroHydrantListCtrl1.SetBulkView(); } @@ -79,11 +89,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - // 姘村姏鏀瑰彉浜嬩欢 - private void HydroHydrantListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/HydroNozzleListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/HydroNozzleListCtrl.cs index a3d823d..8331e5a 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/HydroNozzleListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/HydroNozzleListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroNozzleViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroNozzleViewModel> _allBindingList = null; + + private List<HydroNozzleViewModel> _allList = null; //鎵�鏈夊垪琛� + private List<HydroNozzleViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroNozzleViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Nozzles != null && hydroInfo.Nozzles.Count > 0) { foreach (var visual in hydroInfo.Nozzles) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroNozzleViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Nozzle) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroNozzleDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -277,7 +299,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroNozzleDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -288,7 +310,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleDlg.cs index d1cdba2..0dd3019 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleDlg.cs @@ -15,31 +15,44 @@ /// </summary> public event Action<List<Yw.Model.HydroNozzleInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroNozzleInfo> _allVisualList = null; + private List<Yw.Model.HydroNozzleInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroNozzleInfo parter) + public void SetBindingData + ( + Yw.Model.HydroNozzleInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - var allParterList = parter == null ? null : new List<Yw.Model.HydroNozzleInfo>() { parter }; - SetBindingData(allParterList); + var allVisualList = visual == null ? null : new List<Yw.Model.HydroNozzleInfo>() { visual }; + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroNozzleInfo> allNozzleList) + public void SetBindingData + ( + List<Yw.Model.HydroNozzleInfo> allNozzleList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allNozzleList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { - var parter = _allVisualList.First(); - this.txtElev.EditValue = Math.Round(parter.Elev, 4); - this.txtMinorLoss.EditValue = parter.MinorLoss; - this.txtCoefficient.EditValue = parter.Coefficient; - this.txtDemand.EditValue = parter.Demand; + var visual = _allVisualList.First(); + this.txtElev.EditValue = Math.Round(visual.Elev, 4); + this.txtMinorLoss.EditValue = visual.MinorLoss; + this.txtCoefficient.EditValue = visual.Coefficient; + this.txtDemand.EditValue = visual.Demand; } } @@ -58,18 +71,38 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (demand.HasValue) { + if (x.Demand != demand.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Demand), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Demand = demand.Value; } if (coefficient.HasValue) { + if (x.Coefficient != coefficient.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Coefficient), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Coefficient = coefficient.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleListDlg.cs index 70327ab..0d62958 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/10-nozzle/SetHydroNozzleListDlg.cs @@ -12,7 +12,6 @@ this.hydroNozzleListCtrl1.HydroClickViewEvent += HydroNozzleListCtrl1_HydroClickViewEvent; this.hydroNozzleListCtrl1.HydroChangedInfoEvent += HydroNozzleListCtrl1_HydroChangedInfoEvent; this.hydroNozzleListCtrl1.HydroChangedViewEvent += HydroNozzleListCtrl1_HydroChangedViewEvent; - this.hydroNozzleListCtrl1.ParterChangedEvent += HydroNozzleListCtrl1_ParterChangedEvent; } @@ -32,26 +31,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroNozzleListCtrl1.SetBindingData(hydroInfo); + this.hydroNozzleListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroNozzleListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroNozzleListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroNozzleListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroNozzleListCtrl1.SetBulkView(); } @@ -79,11 +85,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroNozzleListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.Designer.cs index 47c0eff..a4e4d9c 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.Designer.cs @@ -29,12 +29,12 @@ private void InitializeComponent() { components = new Container(); - DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions(); - DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject(); - DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject(); - DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject(); - DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject(); ComponentResourceManager resources = new ComponentResourceManager(typeof(HydroCoolingListCtrl)); + DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions(); + DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject(); + DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject(); + DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject(); + DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject(); gridControl1 = new DevExpress.XtraGrid.GridControl(); hydroCoolingViewModelBindingSource = new BindingSource(components); gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView(); @@ -42,12 +42,16 @@ colCode = new DevExpress.XtraGrid.Columns.GridColumn(); colName = new DevExpress.XtraGrid.Columns.GridColumn(); colModelType = new DevExpress.XtraGrid.Columns.GridColumn(); + colMaterial = new DevExpress.XtraGrid.Columns.GridColumn(); + colCaliber = new DevExpress.XtraGrid.Columns.GridColumn(); colCoefficient = new DevExpress.XtraGrid.Columns.GridColumn(); + colLowerLimit = new DevExpress.XtraGrid.Columns.GridColumn(); colElev = new DevExpress.XtraGrid.Columns.GridColumn(); - colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn(); colHasDb = new DevExpress.XtraGrid.Columns.GridColumn(); colFlags = new DevExpress.XtraGrid.Columns.GridColumn(); colDescription = new DevExpress.XtraGrid.Columns.GridColumn(); + colCalcuQ = new DevExpress.XtraGrid.Columns.GridColumn(); + colCalcuPr = new DevExpress.XtraGrid.Columns.GridColumn(); colSet = new DevExpress.XtraGrid.Columns.GridColumn(); repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); @@ -62,11 +66,6 @@ layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); - colMaterial = new DevExpress.XtraGrid.Columns.GridColumn(); - colLowerLimit = new DevExpress.XtraGrid.Columns.GridColumn(); - colCalcuQ = new DevExpress.XtraGrid.Columns.GridColumn(); - colCalcuPr = new DevExpress.XtraGrid.Columns.GridColumn(); - colCaliber = new DevExpress.XtraGrid.Columns.GridColumn(); ((ISupportInitialize)gridControl1).BeginInit(); ((ISupportInitialize)hydroCoolingViewModelBindingSource).BeginInit(); ((ISupportInitialize)gridView1).BeginInit(); @@ -102,7 +101,7 @@ // // gridView1 // - gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colCode, colName, colModelType, colMaterial, colCaliber, colCoefficient, colLowerLimit, colElev, colMinorLoss, colHasDb, colFlags, colDescription, colCalcuQ, colCalcuPr, colSet }); + gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colCode, colName, colModelType, colMaterial, colCaliber, colCoefficient, colLowerLimit, colElev, colHasDb, colFlags, colDescription, colCalcuQ, colCalcuPr, colSet }); gridView1.GridControl = gridControl1; gridView1.Name = "gridView1"; gridView1.RowCellClick += gridView1_RowCellClick; @@ -148,6 +147,26 @@ colModelType.VisibleIndex = 3; colModelType.Width = 100; // + // colMaterial + // + colMaterial.FieldName = "Material"; + colMaterial.MaxWidth = 100; + colMaterial.MinWidth = 100; + colMaterial.Name = "colMaterial"; + colMaterial.Visible = true; + colMaterial.VisibleIndex = 4; + colMaterial.Width = 100; + // + // colCaliber + // + colCaliber.FieldName = "Caliber"; + colCaliber.MaxWidth = 100; + colCaliber.MinWidth = 100; + colCaliber.Name = "colCaliber"; + colCaliber.Visible = true; + colCaliber.VisibleIndex = 5; + colCaliber.Width = 100; + // // colCoefficient // colCoefficient.FieldName = "Coefficient"; @@ -157,6 +176,16 @@ colCoefficient.Visible = true; colCoefficient.VisibleIndex = 6; colCoefficient.Width = 100; + // + // colLowerLimit + // + colLowerLimit.FieldName = "LowerLimit"; + colLowerLimit.MaxWidth = 100; + colLowerLimit.MinWidth = 100; + colLowerLimit.Name = "colLowerLimit"; + colLowerLimit.Visible = true; + colLowerLimit.VisibleIndex = 7; + colLowerLimit.Width = 100; // // colElev // @@ -168,16 +197,6 @@ colElev.VisibleIndex = 8; colElev.Width = 100; // - // colMinorLoss - // - colMinorLoss.FieldName = "MinorLoss"; - colMinorLoss.MaxWidth = 100; - colMinorLoss.MinWidth = 100; - colMinorLoss.Name = "colMinorLoss"; - colMinorLoss.Visible = true; - colMinorLoss.VisibleIndex = 9; - colMinorLoss.Width = 100; - // // colHasDb // colHasDb.FieldName = "HasDb"; @@ -185,7 +204,7 @@ colHasDb.MinWidth = 40; colHasDb.Name = "colHasDb"; colHasDb.Visible = true; - colHasDb.VisibleIndex = 10; + colHasDb.VisibleIndex = 9; colHasDb.Width = 40; // // colFlags @@ -195,7 +214,7 @@ colFlags.MinWidth = 100; colFlags.Name = "colFlags"; colFlags.Visible = true; - colFlags.VisibleIndex = 11; + colFlags.VisibleIndex = 10; colFlags.Width = 100; // // colDescription @@ -204,8 +223,34 @@ colDescription.MinWidth = 100; colDescription.Name = "colDescription"; colDescription.Visible = true; - colDescription.VisibleIndex = 12; + colDescription.VisibleIndex = 11; colDescription.Width = 100; + // + // colCalcuQ + // + colCalcuQ.FieldName = "CalcuQ"; + colCalcuQ.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Right; + colCalcuQ.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("colCalcuQ.ImageOptions.SvgImage"); + colCalcuQ.ImageOptions.SvgImageSize = new Size(16, 16); + colCalcuQ.MaxWidth = 100; + colCalcuQ.MinWidth = 100; + colCalcuQ.Name = "colCalcuQ"; + colCalcuQ.Visible = true; + colCalcuQ.VisibleIndex = 12; + colCalcuQ.Width = 100; + // + // colCalcuPr + // + colCalcuPr.FieldName = "CalcuPr"; + colCalcuPr.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Right; + colCalcuPr.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("colCalcuPr.ImageOptions.SvgImage"); + colCalcuPr.ImageOptions.SvgImageSize = new Size(16, 16); + colCalcuPr.MaxWidth = 100; + colCalcuPr.MinWidth = 100; + colCalcuPr.Name = "colCalcuPr"; + colCalcuPr.Visible = true; + colCalcuPr.VisibleIndex = 13; + colCalcuPr.Width = 100; // // colSet // @@ -216,15 +261,15 @@ colSet.MinWidth = 60; colSet.Name = "colSet"; colSet.Visible = true; - colSet.VisibleIndex = 15; + colSet.VisibleIndex = 14; colSet.Width = 60; // // repositoryItemButtonEdit1 // repositoryItemButtonEdit1.AutoHeight = false; - editorButtonImageOptions2.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions2.SvgImage"); - editorButtonImageOptions2.SvgImageSize = new Size(20, 20); - repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, true, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default) }); + editorButtonImageOptions1.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions1.SvgImage"); + editorButtonImageOptions1.SvgImageSize = new Size(20, 20); + repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default) }); repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1"; repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; // @@ -356,62 +401,6 @@ layoutControlItem8.TextSize = new Size(0, 0); layoutControlItem8.TextVisible = false; // - // colMaterial - // - colMaterial.FieldName = "Material"; - colMaterial.MaxWidth = 100; - colMaterial.MinWidth = 100; - colMaterial.Name = "colMaterial"; - colMaterial.Visible = true; - colMaterial.VisibleIndex = 4; - colMaterial.Width = 100; - // - // colLowerLimit - // - colLowerLimit.FieldName = "LowerLimit"; - colLowerLimit.MaxWidth = 100; - colLowerLimit.MinWidth = 100; - colLowerLimit.Name = "colLowerLimit"; - colLowerLimit.Visible = true; - colLowerLimit.VisibleIndex = 7; - colLowerLimit.Width = 100; - // - // colCalcuQ - // - colCalcuQ.FieldName = "CalcuQ"; - colCalcuQ.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Right; - colCalcuQ.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("colCalcuQ.ImageOptions.SvgImage"); - colCalcuQ.ImageOptions.SvgImageSize = new Size(16, 16); - colCalcuQ.MaxWidth = 100; - colCalcuQ.MinWidth = 100; - colCalcuQ.Name = "colCalcuQ"; - colCalcuQ.Visible = true; - colCalcuQ.VisibleIndex = 13; - colCalcuQ.Width = 100; - // - // colCalcuPr - // - colCalcuPr.FieldName = "CalcuPr"; - colCalcuPr.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Right; - colCalcuPr.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("colCalcuPr.ImageOptions.SvgImage"); - colCalcuPr.ImageOptions.SvgImageSize = new Size(16, 16); - colCalcuPr.MaxWidth = 100; - colCalcuPr.MinWidth = 100; - colCalcuPr.Name = "colCalcuPr"; - colCalcuPr.Visible = true; - colCalcuPr.VisibleIndex = 14; - colCalcuPr.Width = 100; - // - // colCaliber - // - colCaliber.FieldName = "Caliber"; - colCaliber.MaxWidth = 100; - colCaliber.MinWidth = 100; - colCaliber.Name = "colCaliber"; - colCaliber.Visible = true; - colCaliber.VisibleIndex = 5; - colCaliber.Width = 100; - // // HydroCoolingListCtrl // AutoScaleDimensions = new SizeF(7F, 14F); @@ -450,7 +439,6 @@ private DevExpress.XtraGrid.Columns.GridColumn colDbLocked; private DevExpress.XtraGrid.Columns.GridColumn colModelType; private DevExpress.XtraGrid.Columns.GridColumn colHasDb; - private DevExpress.XtraGrid.Columns.GridColumn colMinorLoss; private DevExpress.XtraLayout.LayoutControl layoutControl1; private DevExpress.XtraEditors.TextEdit txtName; private DevExpress.XtraEditors.TextEdit txtModelType; diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.cs index 34a2cf3..6283f16 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroCoolingViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroCoolingViewModel> _allBindingList = null; + + private List<HydroCoolingViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroCoolingViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroCoolingViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Coolings != null && hydroInfo.Coolings.Count > 0) { foreach (var visual in hydroInfo.Coolings) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroCoolingViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Cooling) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroCoolingDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -277,7 +299,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroCoolingDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -288,7 +310,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } @@ -315,7 +336,6 @@ this.colCoefficient.Visible = true; this.colLowerLimit.Visible = true; this.colElev.Visible = false; - this.colMinorLoss.Visible = false; this.colHasDb.Visible = false; this.colFlags.Visible = true; this.colDescription.Visible = true; @@ -339,7 +359,6 @@ this.colCoefficient.Visible = true; this.colLowerLimit.Visible = true; this.colElev.Visible = true; - this.colMinorLoss.Visible = true; this.colHasDb.Visible = true; this.colFlags.Visible = true; this.colDescription.Visible = true; @@ -363,7 +382,6 @@ this.colCoefficient.Visible = true; this.colLowerLimit.Visible = true; this.colElev.Visible = true; - this.colMinorLoss.Visible = true; this.colHasDb.Visible = true; this.colFlags.Visible = true; this.colDescription.Visible = true; @@ -387,7 +405,6 @@ this.colCoefficient.Visible = true; this.colLowerLimit.Visible = true; this.colElev.Visible = true; - this.colMinorLoss.Visible = true; this.colHasDb.Visible = true; this.colFlags.Visible = true; this.colDescription.Visible = true; @@ -411,7 +428,6 @@ this.colCoefficient.Visible = true; this.colLowerLimit.Visible = true; this.colElev.Visible = true; - this.colMinorLoss.Visible = true; this.colHasDb.Visible = true; this.colFlags.Visible = true; this.colDescription.Visible = true; diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.resx index f2e2f9f..abe3222 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.resx +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/HydroCoolingListCtrl.resx @@ -213,7 +213,7 @@ Pg0KICA8L2c+DQo8L3N2Zz4L </value> </data> - <data name="editorButtonImageOptions2.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <data name="editorButtonImageOptions1.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.Designer.cs index 41d2038..1bc2071 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.Designer.cs @@ -29,46 +29,66 @@ private void InitializeComponent() { layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + txtCaliber = new DevExpress.XtraEditors.TextEdit(); + txtMaterial = new DevExpress.XtraEditors.TextEdit(); generalOkAndCancelCtrl1 = new GeneralOkAndCancelCtrl(); txtCoefficient = new DevExpress.XtraEditors.TextEdit(); txtLowerLimit = new DevExpress.XtraEditors.TextEdit(); - txtMinorLoss = new DevExpress.XtraEditors.TextEdit(); - txtElev = new DevExpress.XtraEditors.TextEdit(); Root = new DevExpress.XtraLayout.LayoutControlGroup(); - layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); - layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); ((ISupportInitialize)layoutControl1).BeginInit(); layoutControl1.SuspendLayout(); + ((ISupportInitialize)txtCaliber.Properties).BeginInit(); + ((ISupportInitialize)txtMaterial.Properties).BeginInit(); ((ISupportInitialize)txtCoefficient.Properties).BeginInit(); ((ISupportInitialize)txtLowerLimit.Properties).BeginInit(); - ((ISupportInitialize)txtMinorLoss.Properties).BeginInit(); - ((ISupportInitialize)txtElev.Properties).BeginInit(); ((ISupportInitialize)Root).BeginInit(); - ((ISupportInitialize)layoutControlItem1).BeginInit(); ((ISupportInitialize)layoutControlItem5).BeginInit(); - ((ISupportInitialize)layoutControlItem4).BeginInit(); ((ISupportInitialize)layoutControlItem9).BeginInit(); ((ISupportInitialize)layoutControlItem2).BeginInit(); + ((ISupportInitialize)layoutControlItem3).BeginInit(); + ((ISupportInitialize)layoutControlItem10).BeginInit(); SuspendLayout(); // // layoutControl1 // + layoutControl1.Controls.Add(txtCaliber); + layoutControl1.Controls.Add(txtMaterial); layoutControl1.Controls.Add(generalOkAndCancelCtrl1); layoutControl1.Controls.Add(txtCoefficient); layoutControl1.Controls.Add(txtLowerLimit); - layoutControl1.Controls.Add(txtMinorLoss); - layoutControl1.Controls.Add(txtElev); layoutControl1.Dock = DockStyle.Fill; layoutControl1.Location = new Point(0, 0); layoutControl1.Name = "layoutControl1"; layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(670, 266, 650, 400); layoutControl1.Root = Root; - layoutControl1.Size = new Size(412, 100); + layoutControl1.Size = new Size(400, 98); layoutControl1.TabIndex = 1; layoutControl1.Text = "layoutControl1"; + // + // txtCaliber + // + txtCaliber.Location = new Point(265, 12); + txtCaliber.Name = "txtCaliber"; + txtCaliber.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; + txtCaliber.Properties.DisplayFormat.FormatString = "{0}mm"; + txtCaliber.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; + txtCaliber.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); + txtCaliber.Size = new Size(123, 20); + txtCaliber.StyleController = layoutControl1; + txtCaliber.TabIndex = 7; + // + // txtMaterial + // + txtMaterial.Location = new Point(76, 12); + txtMaterial.Name = "txtMaterial"; + txtMaterial.Size = new Size(121, 20); + txtMaterial.StyleController = layoutControl1; + txtMaterial.TabIndex = 3; // // generalOkAndCancelCtrl1 // @@ -78,8 +98,8 @@ generalOkAndCancelCtrl1.ButtonOkMinSize = new Size(100, 26); generalOkAndCancelCtrl1.Location = new Point(12, 60); generalOkAndCancelCtrl1.Name = "generalOkAndCancelCtrl1"; - generalOkAndCancelCtrl1.Size = new Size(388, 28); - generalOkAndCancelCtrl1.TabIndex = 5; + generalOkAndCancelCtrl1.Size = new Size(376, 26); + generalOkAndCancelCtrl1.TabIndex = 6; // // txtCoefficient // @@ -88,45 +108,22 @@ txtCoefficient.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtCoefficient.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); txtCoefficient.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False"); - txtCoefficient.Size = new Size(128, 20); + txtCoefficient.Size = new Size(121, 20); txtCoefficient.StyleController = layoutControl1; - txtCoefficient.TabIndex = 3; + txtCoefficient.TabIndex = 4; // // txtLowerLimit // - txtLowerLimit.Location = new Point(272, 36); + txtLowerLimit.Location = new Point(265, 36); txtLowerLimit.Name = "txtLowerLimit"; txtLowerLimit.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; txtLowerLimit.Properties.DisplayFormat.FormatString = "{0}m"; txtLowerLimit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; txtLowerLimit.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); txtLowerLimit.Properties.NullValuePrompt = "m"; - txtLowerLimit.Size = new Size(128, 20); + txtLowerLimit.Size = new Size(123, 20); txtLowerLimit.StyleController = layoutControl1; - txtLowerLimit.TabIndex = 4; - // - // txtMinorLoss - // - txtMinorLoss.Location = new Point(272, 12); - txtMinorLoss.Name = "txtMinorLoss"; - txtMinorLoss.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; - txtMinorLoss.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); - txtMinorLoss.Size = new Size(128, 20); - txtMinorLoss.StyleController = layoutControl1; - txtMinorLoss.TabIndex = 2; - // - // txtElev - // - txtElev.Location = new Point(76, 12); - txtElev.Name = "txtElev"; - txtElev.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; - txtElev.Properties.DisplayFormat.FormatString = "{0}m"; - txtElev.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom; - txtElev.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); - txtElev.Properties.NullValuePrompt = "m"; - txtElev.Size = new Size(128, 20); - txtElev.StyleController = layoutControl1; - txtElev.TabIndex = 0; + txtLowerLimit.TabIndex = 5; // // Root // @@ -134,45 +131,27 @@ Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; Root.GroupBordersVisible = false; - Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem5, layoutControlItem4, layoutControlItem9, layoutControlItem2 }); + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5, layoutControlItem9, layoutControlItem2, layoutControlItem3, layoutControlItem10 }); Root.Name = "Root"; - Root.Size = new Size(412, 100); + Root.Size = new Size(400, 98); Root.TextVisible = false; - // - // layoutControlItem1 - // - layoutControlItem1.Control = txtElev; - layoutControlItem1.Location = new Point(0, 0); - layoutControlItem1.Name = "layoutControlItem1"; - layoutControlItem1.Size = new Size(196, 24); - layoutControlItem1.Text = "鏍囬珮:"; - layoutControlItem1.TextSize = new Size(52, 14); // // layoutControlItem5 // layoutControlItem5.Control = txtLowerLimit; - layoutControlItem5.Location = new Point(196, 24); + layoutControlItem5.Location = new Point(189, 24); layoutControlItem5.Name = "layoutControlItem5"; - layoutControlItem5.Size = new Size(196, 24); + layoutControlItem5.Size = new Size(191, 24); layoutControlItem5.Text = "鏈�灏忓帇鍔�:"; layoutControlItem5.TextSize = new Size(52, 14); - // - // layoutControlItem4 - // - layoutControlItem4.Control = txtMinorLoss; - layoutControlItem4.Location = new Point(196, 0); - layoutControlItem4.Name = "layoutControlItem4"; - layoutControlItem4.Size = new Size(196, 24); - layoutControlItem4.Text = "灞�闃荤郴鏁�:"; - layoutControlItem4.TextSize = new Size(52, 14); // // layoutControlItem9 // layoutControlItem9.Control = txtCoefficient; layoutControlItem9.Location = new Point(0, 24); layoutControlItem9.Name = "layoutControlItem9"; - layoutControlItem9.Size = new Size(196, 24); - layoutControlItem9.Text = "鍠峰皠绯绘暟:"; + layoutControlItem9.Size = new Size(189, 24); + layoutControlItem9.Text = "娴侀噺绯绘暟:"; layoutControlItem9.TextSize = new Size(52, 14); // // layoutControlItem2 @@ -180,15 +159,33 @@ layoutControlItem2.Control = generalOkAndCancelCtrl1; layoutControlItem2.Location = new Point(0, 48); layoutControlItem2.Name = "layoutControlItem2"; - layoutControlItem2.Size = new Size(392, 32); + layoutControlItem2.Size = new Size(380, 30); layoutControlItem2.TextSize = new Size(0, 0); layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + layoutControlItem3.Control = txtMaterial; + layoutControlItem3.Location = new Point(0, 0); + layoutControlItem3.Name = "layoutControlItem3"; + layoutControlItem3.Size = new Size(189, 24); + layoutControlItem3.Text = "鏉愯川:"; + layoutControlItem3.TextSize = new Size(52, 14); + // + // layoutControlItem10 + // + layoutControlItem10.Control = txtCaliber; + layoutControlItem10.Location = new Point(189, 0); + layoutControlItem10.Name = "layoutControlItem10"; + layoutControlItem10.Size = new Size(191, 24); + layoutControlItem10.Text = "鍙e緞:"; + layoutControlItem10.TextSize = new Size(52, 14); // // SetHydroCoolingDlg // AutoScaleDimensions = new SizeF(7F, 14F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(412, 100); + ClientSize = new Size(400, 98); Controls.Add(layoutControl1); MaximizeBox = false; Name = "SetHydroCoolingDlg"; @@ -196,28 +193,24 @@ Text = "璁剧疆"; ((ISupportInitialize)layoutControl1).EndInit(); layoutControl1.ResumeLayout(false); + ((ISupportInitialize)txtCaliber.Properties).EndInit(); + ((ISupportInitialize)txtMaterial.Properties).EndInit(); ((ISupportInitialize)txtCoefficient.Properties).EndInit(); ((ISupportInitialize)txtLowerLimit.Properties).EndInit(); - ((ISupportInitialize)txtMinorLoss.Properties).EndInit(); - ((ISupportInitialize)txtElev.Properties).EndInit(); ((ISupportInitialize)Root).EndInit(); - ((ISupportInitialize)layoutControlItem1).EndInit(); ((ISupportInitialize)layoutControlItem5).EndInit(); - ((ISupportInitialize)layoutControlItem4).EndInit(); ((ISupportInitialize)layoutControlItem9).EndInit(); ((ISupportInitialize)layoutControlItem2).EndInit(); + ((ISupportInitialize)layoutControlItem3).EndInit(); + ((ISupportInitialize)layoutControlItem10).EndInit(); ResumeLayout(false); } #endregion private DevExpress.XtraLayout.LayoutControl layoutControl1; - private DevExpress.XtraEditors.TextEdit txtElev; private DevExpress.XtraLayout.LayoutControlGroup Root; - private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; private DevExpress.XtraEditors.TextEdit txtLowerLimit; - private DevExpress.XtraEditors.TextEdit txtMinorLoss; - private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; @@ -226,5 +219,9 @@ private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; private GeneralOkAndCancelCtrl generalOkAndCancelCtrl1; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.TextEdit txtCaliber; + private DevExpress.XtraEditors.TextEdit txtMaterial; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.cs index c98c68f..e6336c8 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingDlg.cs @@ -15,29 +15,43 @@ /// </summary> public event Action<List<Yw.Model.HydroCoolingInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroCoolingInfo> _allVisualList = null; + + private List<Yw.Model.HydroCoolingInfo> _allVisualList = null; //鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroCoolingInfo visual) + public void SetBindingData + ( + Yw.Model.HydroCoolingInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroCoolingInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroCoolingInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroCoolingInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var parter = _allVisualList.First(); - this.txtElev.EditValue = Math.Round(parter.Elev, 4); - this.txtMinorLoss.EditValue = parter.MinorLoss; + this.txtMaterial.EditValue = parter.Material; + this.txtCaliber.EditValue = parter.Caliber; this.txtCoefficient.EditValue = parter.Coefficient; this.txtLowerLimit.EditValue = parter.LowerLimit; } @@ -50,26 +64,46 @@ { return; } - double? elev = this.txtElev.EditValue == null ? null : double.Parse(this.txtElev.EditValue.ToString()); - double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString()); + string material = this.txtMaterial.Text.Trim(); + double? caliber = this.txtCaliber.EditValue == null ? null : double.Parse(this.txtCaliber.EditValue.ToString()); double? coefficient = this.txtCoefficient.EditValue == null ? null : double.Parse(this.txtCoefficient.EditValue.ToString()); double? lowerLimit = this.txtLowerLimit.EditValue == null ? null : double.Parse(this.txtLowerLimit.EditValue.ToString()); _allVisualList.ForEach(x => { - if (elev.HasValue) + if (!string.IsNullOrEmpty(material)) { - x.Elev = elev.Value; + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } + x.Material = material; } - if (minorLoss.HasValue) + if (caliber.HasValue) { - x.MinorLoss = minorLoss.Value; + if (x.Caliber != caliber.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Caliber), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } + x.Caliber = caliber.Value; } if (coefficient.HasValue) { + if (x.Coefficient != coefficient.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Coefficient), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Coefficient = coefficient.Value; } if (lowerLimit.HasValue) { + if (x.LowerLimit != lowerLimit.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LowerLimit), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.LowerLimit = lowerLimit.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingListDlg.cs index 00c27d9..41faf68 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/11-cooling/SetHydroCoolingListDlg.cs @@ -12,7 +12,6 @@ this.hydroCoolingListCtrl1.HydroClickViewEvent += HydroCoolingListCtrl1_HydroClickViewEvent; this.hydroCoolingListCtrl1.HydroChangedInfoEvent += HydroCoolingListCtrl1_HydroChangedInfoEvent; this.hydroCoolingListCtrl1.HydroChangedViewEvent += HydroCoolingListCtrl1_HydroChangedViewEvent; - this.hydroCoolingListCtrl1.ParterChangedEvent += HydroCoolingListCtrl1_ParterChangedEvent; } @@ -32,26 +31,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroCoolingListCtrl1.SetBindingData(hydroInfo); + this.hydroCoolingListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroCoolingListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroCoolingListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroCoolingListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroCoolingListCtrl1.SetBulkView(); } @@ -79,11 +85,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroCoolingListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.Designer.cs index 69a5193..884903e 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.Designer.cs @@ -102,6 +102,7 @@ gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colName, colCode, colModelType, colElev, colMinorLoss, colHasDb, colFlags, colDescription, colCalcuPress, colCalcuHead, colCalcuDemand, colSet }); gridView1.GridControl = gridControl1; gridView1.Name = "gridView1"; + gridView1.RowCellClick += gridView1_RowCellClick; // // colDbLocked // diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.cs index 1a85864..3b1c249 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/HydroMeterListCtrl.cs @@ -31,10 +31,7 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +41,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroMeterViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroMeterViewModel> _allBindingList = null; + + private List<HydroMeterViewModel> _allList = null; //鎵�鏈夊垪琛� + private List<HydroMeterViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroMeterViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Meters != null && hydroInfo.Meters.Count > 0) { foreach (var visual in hydroInfo.Meters) @@ -91,9 +108,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroMeterViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Meter) @@ -248,7 +272,7 @@ return; } var dlg = new SetHydroMeterDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +285,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -277,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroMeterDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -288,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterDlg.cs index 31f894c..e5e22de 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterDlg.cs @@ -17,28 +17,42 @@ /// </summary> public event Action<List<Yw.Model.HydroMeterInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroMeterInfo> _allVisualList = null; + + private List<Yw.Model.HydroMeterInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroMeterInfo visual) + public void SetBindingData + ( + Yw.Model.HydroMeterInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroMeterInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroMeterInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroMeterInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); - this.txtElev.EditValue = visual.Elev; + this.txtElev.EditValue = Math.Round(visual.Elev, 4); this.txtMinorLoss.EditValue = visual.MinorLoss; this.txtDemand.EditValue = visual.Demand; } @@ -58,14 +72,29 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (demand.HasValue) { + if (x.Demand != demand.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Demand), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Demand = demand.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterListDlg.cs index 27b5acb..76fa3aa 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/12-meter/SetHydroMeterListDlg.cs @@ -12,7 +12,6 @@ this.hydroMeterListCtrl1.HydroClickViewEvent += HydroMeterListCtrl1_HydroClickViewEvent; this.hydroMeterListCtrl1.HydroChangedInfoEvent += HydroMeterListCtrl1_HydroChangedInfoEvent; this.hydroMeterListCtrl1.HydroChangedViewEvent += HydroMeterListCtrl1_HydroChangedViewEvent; - this.hydroMeterListCtrl1.ParterChangedEvent += HydroMeterListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroMeterListCtrl1.SetBindingData(hydroInfo); + this.hydroMeterListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroMeterListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroMeterListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroMeterListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroMeterListCtrl1.SetBulkView(); } @@ -79,11 +84,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroMeterListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/HydroFlowmeterListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/HydroFlowmeterListCtrl.cs index 9014d9a..7c8c16a 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/HydroFlowmeterListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/HydroFlowmeterListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroFlowmeterViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroFlowmeterViewModel> _allBindingList = null; + + private List<HydroFlowmeterViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroFlowmeterViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroFlowmeterViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Flowmeters != null && hydroInfo.Flowmeters.Count > 0) { foreach (var visual in hydroInfo.Flowmeters) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroFlowmeterViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Flowmeter) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroFlowmeterDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -278,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroFlowmeterDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -289,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterDlg.cs index 3715ab6..c24a71e 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterDlg.cs @@ -15,28 +15,42 @@ /// </summary> public event Action<List<Yw.Model.HydroFlowmeterInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroFlowmeterInfo> _allVisualList = null; + + private List<Yw.Model.HydroFlowmeterInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroFlowmeterInfo visual) + public void SetBindingData + ( + Yw.Model.HydroFlowmeterInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroFlowmeterInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroFlowmeterInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroFlowmeterInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var meter = _allVisualList.First(); - this.txtElev.EditValue = meter.Elev; + this.txtElev.EditValue = Math.Round(meter.Elev, 4); this.txtMinorLoss.EditValue = meter.MinorLoss; } } @@ -53,10 +67,20 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterListDlg.cs index a76202e..6ed791f 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/13-flowmeter/SetHydroFlowmeterListDlg.cs @@ -12,7 +12,6 @@ this.hydroFlowmeterListCtrl1.HydroClickViewEvent += HydroFlowmeterListCtrl1_HydroClickViewEvent; this.hydroFlowmeterListCtrl1.HydroChangedInfoEvent += HydroFlowmeterListCtrl1_HydroChangedInfoEvent; this.hydroFlowmeterListCtrl1.HydroChangedViewEvent += HydroFlowmeterListCtrl1_HydroChangedViewEvent; - this.hydroFlowmeterListCtrl1.ParterChangedEvent += HydroFlowmeterListCtrl1_ParterChangedEvent; } /// <summary> @@ -31,26 +30,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroFlowmeterListCtrl1.SetBindingData(hydroInfo); + this.hydroFlowmeterListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroFlowmeterListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroFlowmeterListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroFlowmeterListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroFlowmeterListCtrl1.SetBulkView(); } @@ -78,11 +84,6 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroFlowmeterListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/HydroPressmeterListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/HydroPressmeterListCtrl.cs index 4cdda42..5e8330b 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/HydroPressmeterListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/HydroPressmeterListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroPressmeterViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroPressmeterViewModel> _allBindingList = null; + + private List<HydroPressmeterViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroPressmeterViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroPressmeterViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Pressmeters != null && hydroInfo.Pressmeters.Count > 0) { foreach (var visual in hydroInfo.Pressmeters) @@ -86,15 +102,21 @@ } } Search(); - } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroPressmeterViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Pressmeter) @@ -249,7 +271,7 @@ return; } var dlg = new SetHydroPressmeterDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -262,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -279,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroPressmeterDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -290,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterDlg.cs index d009779..f84a48a 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterDlg.cs @@ -15,28 +15,42 @@ /// </summary> public event Action<List<Yw.Model.HydroPressmeterInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroPressmeterInfo> _allVisualList = null; + + private List<Yw.Model.HydroPressmeterInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroPressmeterInfo visual) + public void SetBindingData + ( + Yw.Model.HydroPressmeterInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroPressmeterInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroPressmeterInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroPressmeterInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); - this.txtElev.EditValue = visual.Elev; + this.txtElev.EditValue = Math.Round(visual.Elev, 4); this.txtMinorLoss.EditValue = visual.MinorLoss; } } @@ -53,10 +67,20 @@ { if (elev.HasValue) { + if (x.Elev != elev.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Elev = elev.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterListDlg.cs index 2260ab6..b14817d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/14-pressmeter/SetHydroPressmeterListDlg.cs @@ -12,7 +12,6 @@ this.hydroPressmeterListCtrl1.HydroClickViewEvent += HydroPressmeterListCtrl1_HydroClickViewEvent; this.hydroPressmeterListCtrl1.HydroChangedInfoEvent += HydroPressmeterListCtrl1_HydroChangedInfoEvent; this.hydroPressmeterListCtrl1.HydroChangedViewEvent += HydroPressmeterListCtrl1_HydroChangedViewEvent; - this.hydroPressmeterListCtrl1.ParterChangedEvent += HydroPressmeterListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroPressmeterListCtrl1.SetBindingData(hydroInfo); + this.hydroPressmeterListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroPressmeterListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroPressmeterListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroPressmeterListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroPressmeterListCtrl1.SetBulkView(); } @@ -79,11 +84,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroPressmeterListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/HydroPipeListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/HydroPipeListCtrl.cs index d2434cb..420a7a2 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/HydroPipeListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/HydroPipeListCtrl.cs @@ -31,10 +31,7 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +41,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroPipeViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroPipeViewModel> _allBindingList = null; + + private List<HydroPipeViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroPipeViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroPipeViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Pipes != null && hydroInfo.Pipes.Count > 0) { foreach (var visual in hydroInfo.Pipes) @@ -91,9 +108,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroPipeViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Pipe) @@ -248,7 +272,7 @@ return; } var dlg = new SetHydroPipeDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,12 +285,11 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } - + //琛屽崟鍏冪偣鍑讳簨浠� private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { var row = this.gridView1.GetRow(e.RowHandle) as HydroPipeViewModel; @@ -278,7 +301,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroPipeDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -289,7 +312,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } @@ -435,5 +457,7 @@ this.colCalcuQ.Visible = true; this.colSet.Visible = false; } + + } } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeDlg.cs index 74a3803..508840f 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeDlg.cs @@ -15,24 +15,38 @@ /// </summary> public event Action<List<Yw.Model.HydroPipeInfo>> ReloadDataEvent; - //鎵�鏈夐儴浠跺垪琛� - private List<Yw.Model.HydroPipeInfo> _allVisualList = null; + + private List<Yw.Model.HydroPipeInfo> _allVisualList = null;//鎵�鏈夐儴浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroPipeInfo visual) + public void SetBindingData + ( + Yw.Model.HydroPipeInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allParterList = visual == null ? null : new List<Yw.Model.HydroPipeInfo>() { visual }; - this.SetBindingData(allParterList); + this.SetBindingData(allParterList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroPipeInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroPipeInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -60,22 +74,47 @@ { if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (diameter.HasValue) { + if (x.Diameter != diameter) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Diameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Diameter = diameter.Value; } if (length.HasValue) { + if (x.Length != length) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Length), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Length = length.Value; } if (roughness.HasValue) { + if (x.Roughness != roughness) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Roughness), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Roughness = roughness.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeListDlg.cs index 678e7ab..b89562d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-pipe/SetHydroPipeListDlg.cs @@ -12,7 +12,6 @@ this.hydroPipeListCtrl1.HydroClickViewEvent += HydroPipeListCtrl1_HydroClickViewEvent; this.hydroPipeListCtrl1.HydroChangedInfoEvent += HydroPipeListCtrl1_HydroChangedInfoEvent; this.hydroPipeListCtrl1.HydroChangedViewEvent += HydroPipeListCtrl1_HydroChangedViewEvent; - this.hydroPipeListCtrl1.ParterChangedEvent += HydroPipeListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroPipeListCtrl1.SetBindingData(hydroInfo); + this.hydroPipeListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroPipeListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroPipeListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroPipeListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroPipeListCtrl1.SetBulkView(); } @@ -79,11 +84,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - // 姘村姏鏀瑰彉浜嬩欢 - private void HydroPipeListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/HydroTranslationListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/HydroTranslationListCtrl.cs index 7673b19..6492f41 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/HydroTranslationListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/HydroTranslationListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroTranslationViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroTranslationViewModel> _allBindingList = null; + + private List<HydroTranslationViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroTranslationViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroTranslationViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Translations != null && hydroInfo.Translations.Count > 0) { foreach (var visual in hydroInfo.Translations) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroTranslationViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Translation) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroTranslationDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -278,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroTranslationDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -289,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationDlg.cs index 0ee4a38..260c607 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationDlg.cs @@ -15,24 +15,38 @@ /// </summary> public event Action<List<Yw.Model.HydroTranslationInfo>> ReloadDataEvent; - //鎵�鏈夐儴浠跺垪琛� - private List<Yw.Model.HydroTranslationInfo> _allVisualList = null; + + private List<Yw.Model.HydroTranslationInfo> _allVisualList = null;//鎵�鏈夐儴浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroTranslationInfo parter) + public void SetBindingData + ( + Yw.Model.HydroTranslationInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - var allParterList = parter == null ? null : new List<Yw.Model.HydroTranslationInfo>() { parter }; - this.SetBindingData(allParterList); + var allVisualList = visual == null ? null : new List<Yw.Model.HydroTranslationInfo>() { visual }; + this.SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroTranslationInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroTranslationInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -61,22 +75,47 @@ { if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (diameter.HasValue) { + if (x.Diameter != diameter) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Diameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Diameter = diameter.Value; } if (length.HasValue) { + if (x.Length != length) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Length), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Length = length.Value; } if (roughness.HasValue) { + if (x.Roughness != roughness) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Roughness), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Roughness = roughness.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationListDlg.cs index 31a822a..a139ab8 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/16-translation/SetHydroTranslationListDlg.cs @@ -12,7 +12,6 @@ this.hydroTranslationListCtrl1.HydroClickViewEvent += HydroTranslationListCtrl1_HydroClickViewEvent; this.hydroTranslationListCtrl1.HydroChangedInfoEvent += HydroTranslationListCtrl1_HydroChangedInfoEvent; this.hydroTranslationListCtrl1.HydroChangedViewEvent += HydroTranslationListCtrl1_HydroChangedViewEvent; - this.hydroTranslationListCtrl1.ParterChangedEvent += HydroTranslationListCtrl1_ParterChangedEvent; } @@ -32,26 +31,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroTranslationListCtrl1.SetBindingData(hydroInfo); + this.hydroTranslationListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroTranslationListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroTranslationListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroTranslationListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroTranslationListCtrl1.SetBulkView(); } @@ -79,11 +85,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - // 姘村姏鏀瑰彉閮ㄤ欢浜嬩欢 - private void HydroTranslationListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/HydroPumpListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/HydroPumpListCtrl.cs index d3a1021..2028dd7 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/HydroPumpListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/HydroPumpListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> @@ -45,34 +41,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroPumpViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroPumpViewModel> _allBindingList = null; + + private List<HydroPumpViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroPumpViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroPumpViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0) { foreach (var visual in hydroInfo.Pumps) @@ -92,9 +108,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroPumpViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Pump) @@ -249,7 +272,7 @@ return; } var dlg = new SetHydroPumpDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -262,7 +285,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -279,7 +301,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroPumpDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -290,7 +312,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpDlg.cs index 78bf0a4..0ed56d3 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpDlg.cs @@ -16,24 +16,38 @@ /// </summary> public event Action<List<Yw.Model.HydroPumpInfo>> ReloadDataEvent; - //鎵�鏈夐儴浠跺垪琛� - private List<Yw.Model.HydroPumpInfo> _allVisualList = null; + + private List<Yw.Model.HydroPumpInfo> _allVisualList = null;//鎵�鏈夐儴浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroPumpInfo visual) + public void SetBindingData + ( + Yw.Model.HydroPumpInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Model.HydroPumpInfo>() { visual }; - SetBindingData(allVisualList); + SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroPumpInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroPumpInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -73,26 +87,57 @@ { if (!string.IsNullOrEmpty(linkStatus)) { + if (x.LinkStatus != linkStatus) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LinkStatus), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.LinkStatus = linkStatus; } if (currentHz.HasValue) { - x.SpeedRatio = currentHz.Value / x.RatedHz; + var speedRatio = currentHz.Value / x.RatedHz; + if (x.SpeedRatio != speedRatio) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.SpeedRatio), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } + x.SpeedRatio = speedRatio; } if (ratedQ.HasValue) { + if (x.RatedQ != ratedQ.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedQ), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.RatedQ = ratedQ.Value; } if (ratedH.HasValue) { + if (x.RatedH != ratedH.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedH), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.RatedH = ratedH.Value; } if (ratedP.HasValue) { + if (x.RatedP != ratedP.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedP), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.RatedP = ratedP.Value; } if (ratedN.HasValue) { + if (x.RatedN != ratedN.Value) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedN), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.RatedN = ratedN.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpListDlg.cs index 7268b7c..8cbc8ab 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/17-pump/SetHydroPumpListDlg.cs @@ -12,7 +12,6 @@ this.hydroPumpListCtrl1.HydroClickViewEvent += HydroPumpListCtrl1_HydroClickViewEvent; this.hydroPumpListCtrl1.HydroChangedInfoEvent += HydroPumpListCtrl1_HydroChangedInfoEvent; this.hydroPumpListCtrl1.HydroChangedViewEvent += HydroPumpListCtrl1_HydroChangedViewEvent; - this.hydroPumpListCtrl1.ParterChangedEvent += HydroPumpListCtrl1_ParterChangedEvent; } @@ -32,26 +31,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroPumpListCtrl1.SetBindingData(hydroInfo); + this.hydroPumpListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroPumpListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroPumpListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroPumpListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroPumpListCtrl1.SetBulkView(); } @@ -79,11 +85,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //姘村姏鏀瑰彉浜嬩欢 - private void HydroPumpListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } } \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/HydroValveListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/HydroValveListCtrl.cs index 8aca587..df4680b 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/HydroValveListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/HydroValveListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,33 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroValveViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroValveViewModel> _allBindingList = null; + + private List<HydroValveViewModel> _allList = null; //鎵�鏈夊垪琛� + private List<HydroValveViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroValveViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Valves != null && hydroInfo.Valves.Count > 0) { foreach (var visual in hydroInfo.Valves) @@ -90,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroValveViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Valve) @@ -247,7 +271,7 @@ return; } var dlg = new SetHydroValveDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -260,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -277,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroValveDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -288,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveDlg.cs index 9788b75..0a1f872 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveDlg.cs @@ -16,24 +16,38 @@ /// </summary> public event Action<List<Yw.Model.HydroValveInfo>> ReloadDataEvent; - //鎵�鏈夋瀯浠跺垪琛� - private List<Yw.Model.HydroValveInfo> _allVisualList = null; + + private List<Yw.Model.HydroValveInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroValveInfo visial) + public void SetBindingData + ( + Yw.Model.HydroValveInfo visial, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visial == null ? null : new List<Yw.Model.HydroValveInfo>() { visial }; - this.SetBindingData(allVisualList); + this.SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroValveInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroValveInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -71,18 +85,38 @@ { if (!string.IsNullOrEmpty(linkStatus)) { + if (x.LinkStatus != linkStatus) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LinkStatus), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.LinkStatus = linkStatus; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (diameter.HasValue) { + if (x.Diameter != diameter) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Diameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Diameter = diameter.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } if (x.LinkStatus == Yw.Hydro.ValveStatus.Closed) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveListDlg.cs index 44ffe09..a18c588 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/18-valve/SetHydroValveListDlg.cs @@ -12,7 +12,6 @@ this.hydroValveListCtrl1.HydroClickViewEvent += HydroValveListCtrl1_HydroClickViewEvent; this.hydroValveListCtrl1.HydroChangedInfoEvent += HydroValveListCtrl1_HydroChangedInfoEvent; this.hydroValveListCtrl1.HydroChangedViewEvent += HydroValveListCtrl1_HydroChangedViewEvent; - this.hydroValveListCtrl1.ParterChangedEvent += HydroValveListCtrl1_ParterChangedEvent; } @@ -32,26 +31,32 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroValveListCtrl1.SetBindingData(hydroInfo); + this.hydroValveListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroValveListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroValveListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroValveListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroValveListCtrl1.SetBulkView(); } @@ -79,11 +84,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //鏋勪欢鏀瑰彉浜嬩欢 - private void HydroValveListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/HydroExchangerListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/HydroExchangerListCtrl.cs index 5334ace..b22afc4 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/HydroExchangerListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/HydroExchangerListCtrl.cs @@ -31,10 +31,6 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,34 +40,54 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroExchangerViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroExchangerViewModel> _allBindingList = null; + + private List<HydroExchangerViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroExchangerViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroExchangerViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (hydroInfo != null && hydroInfo.Exchangers != null && hydroInfo.Exchangers.Count > 0) { foreach (var visual in hydroInfo.Exchangers) @@ -91,9 +107,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroExchangerViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Exchanger) @@ -248,7 +271,7 @@ return; } var dlg = new SetHydroExchangerDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +284,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -278,7 +300,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroExchangerDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -289,7 +311,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerDlg.cs index 8a9fb53..be84db3 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerDlg.cs @@ -16,24 +16,38 @@ /// </summary> public event Action<List<Yw.Model.HydroExchangerInfo>> ReloadDataEvent; - //鎵�鏈夐儴浠跺垪琛� - private List<Yw.Model.HydroExchangerInfo> _allVisualList = null; + + private List<Yw.Model.HydroExchangerInfo> _allVisualList = null;//鎵�鏈夐儴浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroExchangerInfo visual) + public void SetBindingData + ( + Yw.Model.HydroExchangerInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroExchangerInfo>() { visual }; - this.SetBindingData(allVisualList); + this.SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroExchangerInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroExchangerInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -71,18 +85,38 @@ { if (!string.IsNullOrEmpty(linkStatus)) { + if (x.LinkStatus != linkStatus) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LinkStatus), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.LinkStatus = linkStatus; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (diameter.HasValue) { + if (x.Diameter != diameter) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Diameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Diameter = diameter.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerListDlg.cs index 2fe6aca..969e027 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/19-exchanger/SetHydroExchangerListDlg.cs @@ -12,7 +12,6 @@ this.hydroExchangerListCtrl1.HydroClickViewEvent += HydroExchangerListCtrl1_HydroClickViewEvent; this.hydroExchangerListCtrl1.HydroChangedInfoEvent += HydroExchangerListCtrl1_HydroChangedInfoEvent; this.hydroExchangerListCtrl1.HydroChangedViewEvent += HydroExchangerListCtrl1_HydroChangedViewEvent; - this.hydroExchangerListCtrl1.ParterChangedEvent += HydroExchangerListCtrl1_ParterChangedEvent; } @@ -32,26 +31,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroExchangerListCtrl1.SetBindingData(hydroInfo); + this.hydroExchangerListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroExchangerListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroExchangerListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroExchangerListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroExchangerListCtrl1.SetBulkView(); } @@ -79,11 +85,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //鏋勪欢鏀瑰彉浜嬩欢 - private void HydroExchangerListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/HydroCompressorListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/HydroCompressorListCtrl.cs index c9203e2..f7c13e9 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/HydroCompressorListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/HydroCompressorListCtrl.cs @@ -31,10 +31,7 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 鏄惁鎷ユ湁姘村姏鍒楄〃 @@ -44,35 +41,55 @@ get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� - private List<HydroCompressorViewModel> _allList = null; - //鎵�鏈夌粦瀹氬垪琛� - private List<HydroCompressorViewModel> _allBindingList = null; + + private List<HydroCompressorViewModel> _allList = null;//鎵�鏈夊垪琛� + private List<HydroCompressorViewModel> _allBindingList = null; //鎵�鏈夌粦瀹氬垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - SetBindingData(hydroInfo, allCalcuResultVisualDict: null); + SetBindingData(hydroInfo, allCalcuResultVisualDict: null, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + List<HydroCalcuVisualResult> allCalcuResultList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); - SetBindingData(hydroInfo, allCalcuResultVisualDict); + SetBindingData(hydroInfo, allCalcuResultVisualDict, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + public void SetBindingData + ( + HydroModelInfo hydroInfo, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroCompressorViewModel>(); - if (hydroInfo != null && hydroInfo.Exchangers != null && hydroInfo.Exchangers.Count > 0) + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; + if (hydroInfo != null && hydroInfo.Compressors != null && hydroInfo.Compressors.Count > 0) { foreach (var visual in hydroInfo.Compressors) { @@ -91,9 +108,16 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allList = new List<HydroCompressorViewModel>(); + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; allVisualViewModelList?.ForEach(x => { if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Compressor) @@ -248,7 +272,7 @@ return; } var dlg = new SetHydroCompressorDlg(); - dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); + dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList(), _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -261,7 +285,6 @@ this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); - list.ForEach(x => this.ParterChangedEvent?.Invoke(x, eChangeType.Update)); }; dlg.ShowDialog(); } @@ -278,7 +301,7 @@ if (e.Column == this.colSet) { var dlg = new SetHydroCompressorDlg(); - dlg.SetBindingData(row.Vmo); + dlg.SetBindingData(row.Vmo, _changeHelper, _propStatusHelper); dlg.ReloadDataEvent += (list) => { if (list == null || list.Count < 1) @@ -289,7 +312,6 @@ this.gridView1.RefreshRow(e.RowHandle); this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); - this.ParterChangedEvent?.Invoke(row.Vmo, eChangeType.Update); }; dlg.ShowDialog(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorDlg.cs index 25b966f..b0bf9fb 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorDlg.cs @@ -16,24 +16,38 @@ /// </summary> public event Action<List<Yw.Model.HydroCompressorInfo>> ReloadDataEvent; - //鎵�鏈夐儴浠跺垪琛� - private List<Yw.Model.HydroCompressorInfo> _allVisualList = null; + + private List<Yw.Model.HydroCompressorInfo> _allVisualList = null;//鎵�鏈夐儴浠跺垪琛� + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroCompressorInfo visual) + public void SetBindingData + ( + Yw.Model.HydroCompressorInfo visual, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { var allVisualList = visual == null ? null : new List<Yw.Model.HydroCompressorInfo>() { visual }; - this.SetBindingData(allVisualList); + this.SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<Yw.Model.HydroCompressorInfo> allVisualList) + public void SetBindingData + ( + List<Yw.Model.HydroCompressorInfo> allVisualList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { _allVisualList = allVisualList; + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); @@ -71,18 +85,38 @@ { if (!string.IsNullOrEmpty(linkStatus)) { + if (x.LinkStatus != linkStatus) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LinkStatus), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.LinkStatus = linkStatus; } if (!string.IsNullOrEmpty(material)) { + if (x.Material != material) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Material = material; } if (diameter.HasValue) { + if (x.Diameter != diameter) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Diameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.Diameter = diameter.Value; } if (minorLoss.HasValue) { + if (x.MinorLoss != minorLoss) + { + _changeHelper.Append(x, eChangeType.Update); + _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼"); + } x.MinorLoss = minorLoss.Value; } }); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorListDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorListDlg.cs index 7423209..ca5ea4e 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorListDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/20-compressor/SetHydroCompressorListDlg.cs @@ -12,7 +12,6 @@ this.hydroCompressorListCtrl1.HydroClickViewEvent += HydroCompressorListCtrl1_HydroClickViewEvent; this.hydroCompressorListCtrl1.HydroChangedInfoEvent += HydroCompressorListCtrl1_HydroChangedInfoEvent; this.hydroCompressorListCtrl1.HydroChangedViewEvent += HydroCompressorListCtrl1_HydroChangedViewEvent; - this.hydroCompressorListCtrl1.ParterChangedEvent += HydroCompressorListCtrl1_ParterChangedEvent; } /// <summary> @@ -31,26 +30,33 @@ /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 /// </summary> public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; - /// <summary> - /// 鏋勪欢鏀瑰彉浜嬩欢 - /// </summary> - public event Action<HydroParterInfo, eChangeType> ParterChangedEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) + public void SetBindingData + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroCompressorListCtrl1.SetBindingData(hydroInfo); + this.hydroCompressorListCtrl1.SetBindingData(hydroInfo, changeHelper, propStatusHelper); this.hydroCompressorListCtrl1.SetBulkView(); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + public void SetBindingData + ( + List<HydroVisualViewModel> allVisualViewModelList, + HydroChangeHelper changeHelper = null, + HydroPropStatusHelper propStatusHelper = null + ) { - this.hydroCompressorListCtrl1.SetBindingData(allVisualViewModelList); + this.hydroCompressorListCtrl1.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); this.hydroCompressorListCtrl1.SetBulkView(); } @@ -78,11 +84,7 @@ this.HydroChangedViewEvent?.Invoke(obj); } - //鏋勪欢鏀瑰彉浜嬩欢 - private void HydroCompressorListCtrl1_ParterChangedEvent(HydroParterInfo arg1, eChangeType arg2) - { - this.ParterChangedEvent?.Invoke(arg1, arg2); - } + diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj index 149861d..d34ff83 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj @@ -53,7 +53,7 @@ <ItemGroup> <PackageReference Include="DevExpress.Win.Design" Version="23.2.4" /> <PackageReference Include="Yw.BLL.Basic.Core" Version="3.3.0" /> - <PackageReference Include="Yw.BLL.Hydro.Core" Version="3.8.0" /> + <PackageReference Include="Yw.BLL.Hydro.Core" Version="3.8.1" /> <PackageReference Include="Yw.Pump.Core" Version="3.2.1" /> </ItemGroup> -- Gitblit v1.9.3