From a302d7d16e6bed80511cb49813d16829eb933560 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 18 十一月 2024 09:34:12 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Assets.Core/05-elbow/02-main/EditElbowMainDlg.cs | 90 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 83 insertions(+), 7 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/05-elbow/02-main/EditElbowMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/05-elbow/02-main/EditElbowMainDlg.cs index d12086b..47e8c70 100644 --- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/05-elbow/02-main/EditElbowMainDlg.cs +++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/05-elbow/02-main/EditElbowMainDlg.cs @@ -1,5 +1,7 @@ 锘縰sing DevExpress.Utils; using DevExpress.XtraEditors.Controls; +using HStation.Assets; +using HStation.Vmo; namespace HStation.WinFrmUI.Assets { @@ -13,8 +15,13 @@ private Vmo.AssetsElbowMainVmo _ElbowVmo = null; + private List<Vmo.AssetsElbowCoefficientVmo> _AssetsElbowCoefficient; + public async void SetBindingData(Vmo.AssetsElbowMainVmo ElbowVmo) { + var bll = new BLL.AssetsElbowCoefficient(); + _AssetsElbowCoefficient = await bll.GetAll(); + this.elbowCoefficientViewModelBindingSource.DataSource = _AssetsElbowCoefficient; _ElbowVmo = ElbowVmo; var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1"); if (allCaliber != null) @@ -42,18 +49,21 @@ { TextEditCaliber.EditValue = _ElbowVmo.Caliber.ToString(); } - if (_ElbowVmo.MaterialName == null) + if (_ElbowVmo.Material == null) { TextEditMaterial.EditValue = "榛樿"; } else { - TextEditMaterial.EditValue = _ElbowVmo.MaterialName.ToString(); + TextEditMaterial.EditValue = _ElbowVmo.Material.ToString(); } + this.imageComboBoxEditConnectlenght.Properties.AddEnum(typeof(eLengthType)); + this.imageComboBoxEditConnectlenght.EditValue = _ElbowVmo.ElbowLengthType; + this.textEditAngle.Text = _ElbowVmo.Angle.ToString(); this.TextEditName.Text = _ElbowVmo.Name; - this.TextEditCoefficient.Text = _ElbowVmo.Coefficient.ToString(); + this.TextEditCoefficient.Text = _ElbowVmo.MinorLoss.ToString(); this.DescriptionTextEdit.Text = _ElbowVmo.Description; - this.TextEditKeyWorld.Text = _ElbowVmo.KeyWord; + this.TextEditKeyWorld.Text = string.Join(",", _ElbowVmo.KeyWord); } public event Func<Vmo.AssetsElbowMainVmo, Task<bool>> ReloadDataEvent = null; @@ -70,6 +80,67 @@ return true; } + //鏉愭枡閫夋嫨鍙樺寲浜嬩欢 + private void TextEditMaterial_SelectedIndexChanged(object sender, EventArgs e) + { + if (_AssetsElbowCoefficient == null) + return; + + var select = GetCoefficientByMaterial(TextEditMaterial.Text); + if (select == null) + { + this.TextEditCoefficient.Text = string.Empty; + return; + } + this.TextEditCoefficient.Text = select.MinorLoss.ToString(); + } + + //鍙e緞閫夋嫨鍙樺寲浜嬩欢 + private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e) + { + if (_AssetsElbowCoefficient == null) + return; + + if (double.TryParse(TextEditCaliber.Text, out double caliber)) + { + foreach (var item in _AssetsElbowCoefficient) + { + if (item.Caliber.HasValue) + { + if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10) + { + this.TextEditCoefficient.Text = item.MinorLoss.ToString(); + return; + } + } + } + } + } + + //鎵惧埌鏈�鐩歌繎鐨勬潗鏂� + private AssetsElbowCoefficientVmo GetCoefficientByMaterial(string name) + { + AssetsElbowCoefficientVmo select = null; + int maxMatchedChars = 0; + foreach (var item in _AssetsElbowCoefficient) + { + int matchedChars = GetIntersect(item.Material, name); + if (matchedChars > maxMatchedChars) + { + maxMatchedChars = matchedChars; + select = item; + return select; + } + } + return select; + } + + private int GetIntersect(string str1, string str2) + { + if (str1 == null || str2 == null) return 0; + return string.Join("", str1.Intersect(str2)).Count(); + } + //瀹屾垚 private async void BtnOk_ClickAsync(object sender, EventArgs e) { @@ -77,16 +148,21 @@ return; _ElbowVmo.Description = DescriptionTextEdit.Text.Trim(); _ElbowVmo.Name = TextEditName.Text.Trim(); - _ElbowVmo.KeyWord = TextEditKeyWorld.Text.Trim(); - _ElbowVmo.MaterialName = TextEditMaterial.Text.Trim(); + _ElbowVmo.KeyWord = this.TextEditKeyWorld.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); + _ElbowVmo.Material = TextEditMaterial.Text.Trim(); if (double.TryParse(TextEditCaliber.Text, out double caliber)) { _ElbowVmo.Caliber = caliber; } if (double.TryParse(TextEditCoefficient.Text, out double Coefficient)) { - _ElbowVmo.Coefficient = Coefficient; + _ElbowVmo.MinorLoss = Coefficient; } + if (int.TryParse(textEditAngle.Text, out int angle)) + { + _ElbowVmo.Angle = angle; + } + _ElbowVmo.ElbowLengthType = (eLengthType)this.imageComboBoxEditConnectlenght.EditValue; if (await this.ReloadDataEvent.Invoke(_ElbowVmo)) { TipFormHelper.ShowSucceed("淇敼鎴愬姛!"); -- Gitblit v1.9.3