| | |
| | | using DevExpress.CodeParser; |
| | | using DevExpress.Diagram.Core.Native; |
| | | using DevExpress.Mvvm.Native; |
| | | using DevExpress.Office.Utils; |
| | | using DevExpress.Utils.MVVM; |
| | | using DevExpress.Xpo.Helpers; |
| | | using DevExpress.XtraMap; |
| | | using HStation.WinFrmUI.PhartRelation; |
| | | using Mapster; |
| | |
| | | /// 新增工况事件 |
| | | /// </summary> |
| | | public event Action<HydroWorkingVmo> AppendWorkingEvent; |
| | | |
| | | /// <summary> |
| | | /// 保存模型事件 |
| | | /// </summary> |
| | | public event Func<Yw.Model.HydroModelInfo, Task<Yw.Model.HydroModelInfo>> SaveModelEvent; |
| | | |
| | | /// <summary> |
| | | /// 刷新模型事件 |
| | |
| | | return _propStatusHelper; |
| | | } |
| | | |
| | | //获取属性状态Db列表 |
| | | private async Task<List<HydroParterPropStatusInfo>> GetPropStatusDbList() |
| | | { |
| | | var helper = await GetPropStatusHelper(); |
| | | return helper.GetPropStatusDbList(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 更改状态 |
| | | |
| | | //改变辅助类 |
| | | private HydroChangeHelper _changeHelper = null; |
| | | |
| | | //获取改变辅助类 |
| | | private HydroChangeHelper GetChangeHelper() |
| | | { |
| | | if (_hydroInfo == null) |
| | | { |
| | | return default; |
| | | } |
| | | if (_changeHelper == null) |
| | | { |
| | | _changeHelper = new HydroChangeHelper(_hydroInfo); |
| | | } |
| | | return _changeHelper; |
| | | } |
| | | |
| | | //附加改变构件 |
| | | private void AppendChangeParter(HydroParterInfo parter, eChangeType changeType) |
| | | { |
| | | var helper = GetChangeHelper(); |
| | | helper.Append(parter, changeType); |
| | | } |
| | | |
| | | //获取增加构件列表 |
| | | private List<HydroParterInfo> GetAddParterList() |
| | | { |
| | | var helper = GetChangeHelper(); |
| | | return helper.GetAddParterList(); |
| | | } |
| | | |
| | | //获取更新构件列表 |
| | | private List<HydroParterInfo> GetUpdateParterList() |
| | | { |
| | | var helper = GetChangeHelper(); |
| | | return helper.GetUpdateParterList(); |
| | | } |
| | | |
| | | //获取移除构件列表 |
| | | private List<string> GetRemoveParters() |
| | | { |
| | | var helper = GetChangeHelper(); |
| | | return helper.GetRemoveParters(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region BIM控件 |
| | |
| | | this.tabPageBimface.Controls.Add(bimfaceCtrl); |
| | | } |
| | | |
| | | #endregion BIM控件 |
| | | #endregion |
| | | |
| | | #region Q3d控件 |
| | | |
| | |
| | | this.tabPageQ3d.Controls.Add(q3dCtrl); |
| | | } |
| | | |
| | | #endregion Q3d控件 |
| | | #endregion |
| | | |
| | | #region 属性控件 |
| | | |
| | |
| | | var gradingHelper = await GetGradingHelper(); |
| | | gradingHelper.Set(visual); |
| | | }; |
| | | _propertyCtrl.FlowEffectPropertyValueChangedEvent += async (visual) => |
| | | _propertyCtrl.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | //流向属性发生改变 |
| | | //判断流向是否加载,如果加载则更新流向,最好是更新单个流向 |
| | | var flowEffectHelper = await GetFlowEffectHelper(); |
| | | flowEffectHelper.Set(visual); |
| | | if (parter == null) |
| | | { |
| | | return; |
| | | } |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | } |
| | | return _propertyCtrl; |
| | |
| | | { |
| | | SelectVisual(_visual, eSimulationVisualSource.List); |
| | | }; |
| | | _visualListCtrl.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | } |
| | | return _visualListCtrl; |
| | | } |
| | |
| | | |
| | | #endregion 构件显示 |
| | | |
| | | #endregion 构件明细 |
| | | #endregion |
| | | |
| | | #region 一键显隐 |
| | | |
| | |
| | | |
| | | #region 保存信息 |
| | | |
| | | //保存锁定对象 |
| | | private object _locker_save = new(); |
| | | private bool _isSaving = false;//正在保存 |
| | | |
| | | //保存 |
| | | private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | |
| | | { |
| | | return; |
| | | } |
| | | if (this.SaveModelEvent == null) |
| | | { |
| | | return; |
| | | } |
| | | var hydroInfo = await this.SaveModelEvent.Invoke(_hydroInfo); |
| | | if (hydroInfo == null) |
| | | { |
| | | TipFormHelper.ShowError("保存失败!"); |
| | | return; |
| | | } |
| | | _hydroInfo = hydroInfo; |
| | | |
| | | TipFormHelper.ShowSucceed("保存成功!"); |
| | | lock (_locker_save) |
| | | { |
| | | if (_isSaving) |
| | | { |
| | | TipFormHelper.ShowWarn("正在保存,请稍后重试!"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | _isSaving = true; |
| | | |
| | | var addParterList = GetAddParterList(); |
| | | var updateParterList = GetUpdateParterList(); |
| | | var removeParters = GetRemoveParters(); |
| | | |
| | | this.FindForm().ShowAlertInfo("水力信息保存", "正在更新水力信息!"); |
| | | var bol = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance |
| | | .Update(_hydroInfo, addParterList, updateParterList, removeParters); |
| | | if (!bol) |
| | | { |
| | | this.FindForm().ShowAlertInfo("水力信息保存", "水力信息更新失败!"); |
| | | return; |
| | | } |
| | | this.FindForm().ShowAlertInfo("水力信息保存", "水力信息更新成功!"); |
| | | |
| | | this.FindForm().ShowAlertInfo("水力信息保存", "正在保存属性状态!"); |
| | | var propStatusDbList = await GetPropStatusDbList(); |
| | | bol = await BLLFactory<Yw.BLL.HydroParterPropStatusInfo>.Instance.Save(_hydroInfo.ID, propStatusDbList); |
| | | if (bol) |
| | | { |
| | | this.FindForm().ShowAlertInfo("水力信息保存", "属性状态保存成功!"); |
| | | } |
| | | else |
| | | { |
| | | this.FindForm().ShowAlertInfo("水力信息保存", "属性状态保存失败!"); |
| | | } |
| | | _isSaving = false; |
| | | |
| | | //Stopwatch sw = new Stopwatch(); |
| | | //sw.Start(); |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //水池 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //连接节点 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //弯头 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //四通 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //流量计 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //喷嘴 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //管道 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //水泵 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //换热器 |
| | |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //压缩机 |
| | |
| | | { |
| | | SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); |
| | | UpdateVisualListCtrl(); |
| | | }; |
| | | dlg.ParterChangedEvent += (parter, changeType) => |
| | | { |
| | | AppendChangeParter(parter, changeType); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | } |
| | | } |
| | | |
| | | #endregion 批量配置 |
| | | #endregion |
| | | |
| | | #region 构件查询 |
| | | |
| | |
| | | markHelper.Set(); |
| | | } |
| | | |
| | | #endregion 模型标注 |
| | | #endregion |
| | | |
| | | #region 颜色分级 |
| | | |