duheng
2025-02-19 ad8f813f5eddd66740b4e09801e4ea02ddf70a4a
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs
@@ -12,7 +12,7 @@
            this.gridView1.RegistCustomDrawCell();
            this.generalSearchCtrl1.SearchEvent += Search;
            this.generalSearchCtrl1.ClearEvent += Clear;
            this.phartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData;
            this.valvePhartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData;
        }
        public List<AssetsValveSingleMatchingViewModel> _allList = null;//所有列表
@@ -33,7 +33,7 @@
            public AssetsValveMainVmo Vmo { get; set; }
            public string MatchingCurveDbId { get; set; }
            public List<HydroCurvePointViewModel> MatchingCurveQL { get; set; }
            public List<HydroFactorCurveViewModel> MatchingCurvesQL { get; set; }
            public List<HydroCurvePointViewModel> MatchingCurveOL { get; set; }
        }
@@ -43,18 +43,21 @@
        public async void SetBindingData(string dbId, string curveDbId)
        {
            var allList = await BLLFactory<HStation.BLL.AssetsValveMain>.Instance.GetAll();
            _allList = new List<AssetsValveSingleMatchingViewModel>();
            allList.ForEach(x => _allList.Add(new AssetsValveSingleMatchingViewModel(x)));
            if (long.TryParse(dbId, out long id))
            if (allList != null)
            {
                var item = allList?.Find(x => x.ID == id);
                _selected = item;
                _allList = new List<AssetsValveSingleMatchingViewModel>();
                allList.ForEach(x => _allList.Add(new AssetsValveSingleMatchingViewModel(x)));
                if (long.TryParse(dbId, out long id))
                {
                    var item = allList?.Find(x => x.ID == id);
                    _selected = item;
                }
                if (long.TryParse(curveDbId, out long curveId))
                {
                    _curveDbId = curveId;
                }
                Search();
            }
            if (long.TryParse(curveDbId, out long curveId))
            {
                _curveDbId = curveId;
            }
            Search();
            await Task.Delay(300);
            if (_selected != null)
            {
@@ -134,33 +137,41 @@
            }
            _row = row;
            _viewModel.Vmo = row.Vmo;
            this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ValveMain, row.Vmo.ID, _curveDbId);
            this.valvePhartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ValveMain, row.Vmo.ID, _curveDbId);
        }
        //曲线数据关联变化
        private void SelectData(PhartDiagramRelationExtensionsVmo def)
        {
            /*if (def != null)
            if (def != null)
            {
                _viewModel.MatchingCurveDbId = def.ID.ToString();
                var curve = def.Diagram.GraphList[0].GetFeatPointList();
                if (_row.ValveType == HStation.Assets.eValveType.GPV)
                _viewModel.MatchingCurveOL = new List<HydroCurvePointViewModel>();
                _viewModel.MatchingCurvesQL = new List<HydroFactorCurveViewModel>();
                for (int i = 0; i < def.Diagram.GraphList.Count; i++)
                {
                    _viewModel.MatchingCurveQL = new List<HydroCurvePointViewModel>();
                    foreach (var item in curve)
                    var curve = def.Diagram.GraphList[i].GetFeatPointList();
                    if (def.Diagram.GraphList[i].GraphType == 11)
                    {
                        _viewModel.MatchingCurveQL.Add(new HydroCurvePointViewModel(item.X, item.Y));
                        var opening = Yw.WinFrmUI.PhartGraphHelper.GetGraphParas<Yw.WinFrmUI.Phart.QLGraphParasViewModel>((Yw.Ahart.eCurveType)def.Diagram.GraphList[i].GraphType, def.Diagram.GraphList[i].GraphParas);
                        var model = new HydroFactorCurveViewModel();
                        model.CurveFactor = opening.Opening ?? 0;
                        model.CurveData = new List<HydroCurvePointViewModel>();
                        foreach (var item in curve)
                        {
                            model.CurveData.Add(new HydroCurvePointViewModel(item.X, item.Y));
                        }
                        _viewModel.MatchingCurvesQL.Add(model);
                    }
                    else if (def.Diagram.GraphList[i].GraphType == 12)
                    {
                        foreach (var item in curve)
                        {
                            _viewModel.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y));
                        }
                    }
                }
                else if (_row.ValveType == HStation.Assets.eValveType.TCV)
                {
                    _viewModel.MatchingCurveOL = new List<HydroCurvePointViewModel>();
                    foreach (var item in curve)
                    {
                        _viewModel.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y));
                    }
                }
            }*/
            }
        }
    }
}