BLL/HStation.BLL.Assets.Core/03-localclient/01-PumpMainManage/PumpPart.cs
@@ -243,17 +243,16 @@ public async Task<bool> DeleteEx(long ID) { /* return await Task.Factory.StartNew(() => { var bol = _service.DeleteExByID(ID); if (!bol) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, "å é¤å¤±è´¥"); } return true; });*/ return false; } return await Task.Factory.StartNew(() => { var bol = _service.DeleteExByID(ID); if (!bol) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, "å é¤å¤±è´¥"); } return true; }); } /// <summary> /// éè¿ Ids å é¤ Dto/HStation.Dto.Assets.Core/05-ElbowManage/01-ElbowSeries/AddElbowSeriesInput.cs
ÎļþÒÑɾ³ý Dto/HStation.Dto.Assets.Core/05-ElbowManage/01-ElbowSeries/ElbowSeriesDto.cs
ÎļþÒÑɾ³ý Dto/HStation.Dto.Assets.Core/05-ElbowManage/01-ElbowSeries/UpdateElbowSeriesInput.cs
ÎļþÒÑɾ³ý Dto/HStation.Dto.Assets.Core/05-ElbowManage/02-ElbowMain/AddElbowMianInput.cs
ÎļþÒÑɾ³ý Dto/HStation.Dto.Assets.Core/05-ElbowManage/02-ElbowMain/ElbowMainDto.cs
ÎļþÒÑɾ³ý Dto/HStation.Dto.Assets.Core/05-ElbowManage/02-ElbowMain/UpdateElbowMainInput.cs
ÎļþÒÑɾ³ý Service/HStation.Service.Assets.Core/04-dal/02-postgresql/01-PumpMainManage/PumpPart.cs
@@ -48,6 +48,10 @@ { if (AssetsPumpPropContents != null) { foreach (var item in AssetsPumpPropContents) { item.PartID = result; } var content = db.Insertable(AssetsPumpPropContents).ExecuteReturnSnowflakeId(); if (content < 0) { Service/HStation.Service.Assets.Core/04-dal/03-sqlite/01-PumpMainManage/PumpPart.cs
@@ -48,6 +48,10 @@ { if (AssetsPumpPropContents != null) { foreach (var item in AssetsPumpPropContents) { item.PartID = result; } var content = db.Insertable(AssetsPumpPropContents).ExecuteReturnSnowflakeId(); if (content < 0) { Service/HStation.Service.Assets.Core/05-service/01-PumpMainManage/05-PumpPartMain/PumpPartMain.cs
@@ -195,7 +195,7 @@ if (id > 0) { UpdateCache(id); // AssetsPumpPropContent.UpdateCacheByPartID(id); AssetsPumpPropContent.UpdateCacheByPartID(id); AssetsPumpMainAndPartMap.UpdateCacheByPartID(id); } return id; @@ -327,22 +327,21 @@ return bol; } /* //éè¿ ID å é¤äº§å表å屿§è¡¨ public bool DeleteExByID(long ID) { var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPumpPartMain>(); var partmain = dal.GetByID(ID); var propmodellist = AssetsPumpPropContent.GetProplistByPartID(ID); var propentitylist = AssetsPumpPropContent.Model2Entities(propmodellist); var bol = dal.DeleteEx(partmain, propentitylist); if (bol) { RemoveCache(ID); AssetsPumpPropContent.RemoveCacheByIDs(propmodellist.Select(x => x.ID).ToList()); } return bol; } */ //éè¿ ID å é¤äº§å表å屿§è¡¨ public bool DeleteExByID(long ID) { var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPumpPartMain>(); var partmain = dal.GetByID(ID); var propmodellist = AssetsPumpPropContent.GetProplistByPartID(ID); var propentitylist = AssetsPumpPropContent.Model2Entities(propmodellist); var bol = dal.DeleteEx(partmain, propentitylist); if (bol) { RemoveCache(ID); AssetsPumpPropContent.RemoveCacheByIDs(propmodellist.Select(x => x.ID).ToList()); } return bol; } #endregion Delete } Service/HStation.Service.Assets.Core/05-service/01-PumpMainManage/06-PumpPropContent/PumpPropContent.cs
@@ -43,29 +43,28 @@ AssetsPumpSeriesCacheHelper.Trigger(); } /* //éè¿ äº§åID æ´æ°ç¼å public static void UpdateCacheByPartID(long ID) //éè¿ äº§åID æ´æ°ç¼å public static void UpdateCacheByPartID(long ID) { var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPumpPropContent>(); var alllist = dal.GetAll(); var selectlist = alllist.Where(x => x.PartID == ID).ToList(); var model_ds = Entity2Models(selectlist); var all = GetCache(); var model = all.Find(x => x.ID == ID); if (model == null) { all.AddRange(model_ds); } else { foreach (var item in model_ds) { var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPumpPropContent>(); var alllist = dal.GetAll(); var selectlist = alllist.Where(x => x.PartID == ID).ToList(); var model_ds = Entity2Models(selectlist); var all = GetCache(); var model = all.Find(x => x.ID == ID); if (model == null) { all.AddRange(model_ds); } else { foreach (var item in model_ds) { model.Reset(item); } } AssetsPumpSeriesCacheHelper.Trigger(); }*/ model.Reset(item); } } AssetsPumpSeriesCacheHelper.Trigger(); } //éè¿ Ids æ´æ°ç¼å public static void UpdateCache(List<long> Ids) @@ -142,6 +141,15 @@ } /// <summary> /// éè¿ äº§åID è·å /// </summary> public static List<Model.AssetsPumpPropContent> GetProplistByPartID(long ID) { var all = GetCache(); return all.Where(x => x.PartID == ID).ToList(); } /// <summary> /// éè¿ ID è·å /// </summary> public List<Model.AssetsPumpPropContent> GetByIds(List<long> Ids) Vmo/HStation.Vmo.Assets.Core/01-PumpMainManage/PumpPartMainVmo.cs
@@ -1,10 +1,4 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HStation.Vmo namespace HStation.Vmo { public class AssetsPumpPartMainVmo { @@ -14,6 +8,11 @@ public long ID { get; set; } /// <summary> /// 泵设å¤ID /// </summary> public long PartID { get; set; } /// <summary> /// 泵系åID /// </summary> public long SeriesID { get; set; } WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/00-ViewModel/CurrentPumpPartMainViewModel.cs
@@ -9,6 +9,7 @@ public CurrentPartMainViewModel(Vmo.AssetsPumpPartMainVmo rhs) : base() { this.ID = rhs.ID; this.PartID=rhs.PartID; this.Name = rhs.Name; this.NO = rhs.NO; this.Code = rhs.Code; @@ -21,6 +22,7 @@ this.Name = rhs.Name; this.NO = rhs.NO; this.Code = rhs.Code; this.PartID = rhs.PartID; this.SeriesID = rhs.SeriesID; } @@ -29,6 +31,11 @@ /// </summary> public long ID { get; set; } /// <summary> /// 泵设å¤ID /// </summary> public long PartID { get; set; } /// <summary> /// 泵系åID /// </summary> WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/01-EditPumpPartProp/EditPumpPartPropDlg.cs
@@ -1,4 +1,5 @@ using HStation.WinFrmUI.Xhs.PumpProduct; using NetTaste; namespace HStation.WinFrmUI { @@ -9,6 +10,7 @@ InitializeComponent(); this.gridView1.Columns["PropGroupName"].Group(); this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; this.pumpProductListBox1.MouseUp += PumpProductListBox1_MouseUp; } private BLL.AssetsPumpPartMain _bll = null; @@ -117,10 +119,9 @@ updatepart.Code = TextEditProductCode.Text; updatepart.SeriesID = _seriesID; var updateproplist = new List<UpdateAssetsPumpPropContentInput>(); // var update = _allPropList.Select(x => x.Adapt<AssetsPumpPropContentDto, UpdateAssetsPumpPropContentInput>()).ToList(); foreach (var item in _proplist) { if (_allPropList != null) if (_allPropList != null || _allBindingList.Count > 0) { _allPropList.Find(x => x.PropID == item.ID).PropValue = item.Value; } @@ -138,7 +139,7 @@ } //左侧æ å³å»èåäºä»¶ private void ListBoxPart_MouseUp(object sender, MouseEventArgs e) private void PumpProductListBox1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/01-EditPumpPartProp/PumpProductListBox.Designer.cs
@@ -38,6 +38,7 @@ barDockControlBottom = new DevExpress.XtraBars.BarDockControl(); barDockControlLeft = new DevExpress.XtraBars.BarDockControl(); barDockControlRight = new DevExpress.XtraBars.BarDockControl(); barBtnDelete = new DevExpress.XtraBars.BarButtonItem(); ((System.ComponentModel.ISupportInitialize)listBoxControl1).BeginInit(); ((System.ComponentModel.ISupportInitialize)barManager1).BeginInit(); SuspendLayout(); @@ -50,6 +51,7 @@ listBoxControl1.Size = new Size(247, 459); listBoxControl1.TabIndex = 0; listBoxControl1.SelectedIndexChanged += listBoxControl1_SelectedIndexChanged; listBoxControl1.MouseUp += listBoxControl1_MouseUp; // // barManager1 // @@ -59,8 +61,8 @@ barManager1.DockControls.Add(barDockControlLeft); barManager1.DockControls.Add(barDockControlRight); barManager1.Form = this; barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { BtnAddProductProp }); barManager1.MaxItemId = 1; barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { BtnAddProductProp, barBtnDelete }); barManager1.MaxItemId = 2; // // bar1 // @@ -68,7 +70,7 @@ bar1.DockCol = 0; bar1.DockRow = 0; bar1.DockStyle = DevExpress.XtraBars.BarDockStyle.Top; bar1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(BtnAddProductProp) }); bar1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(BtnAddProductProp), new DevExpress.XtraBars.LinkPersistInfo(barBtnDelete) }); bar1.OptionsBar.AllowQuickCustomization = false; bar1.OptionsBar.DrawBorder = false; bar1.OptionsBar.DrawDragBorder = false; @@ -118,6 +120,14 @@ barDockControlRight.Manager = barManager1; barDockControlRight.Size = new Size(0, 459); // // barBtnDelete // barBtnDelete.Caption = "å é¤å±æ§"; barBtnDelete.Id = 1; barBtnDelete.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnDelete.ImageOptions.SvgImage"); barBtnDelete.Name = "barBtnDelete"; barBtnDelete.ItemClick += barBtnDelete_ItemClick; // // PumpProductListBox // AutoScaleDimensions = new SizeF(7F, 14F); @@ -145,5 +155,6 @@ private DevExpress.XtraBars.BarDockControl barDockControlBottom; private DevExpress.XtraBars.BarDockControl barDockControlLeft; private DevExpress.XtraBars.BarDockControl barDockControlRight; private DevExpress.XtraBars.BarButtonItem barBtnDelete; } } WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/01-EditPumpPartProp/PumpProductListBox.cs
@@ -1,4 +1,6 @@ namespace HStation.WinFrmUI.Assets using DevExpress.XtraEditors; namespace HStation.WinFrmUI.Assets { public partial class PumpProductListBox : DevExpress.XtraEditors.XtraUserControl { @@ -11,11 +13,15 @@ public List<CurrentPartMainViewModel> _allBindingList = null; public BLL.AssetsPumpPartMain _Bll; public event Action<object, MouseEventArgs> MouseUp; public async void SetBindingData(Vmo.AssetsPumpMainVmo AssetsPumpMain) { _allBindingList = new List<CurrentPartMainViewModel>(); var _bll = new BLL.AssetsPumpPartMain(); var allpartlist = await _bll.GetByPumpMainID(AssetsPumpMain.ID); //è·åææäº§å _Bll = new BLL.AssetsPumpPartMain(); var allpartlist = await _Bll.GetByPumpMainID(AssetsPumpMain.ID); //è·åææäº§å var series = await new BLL.AssetsPumpSeries().GetByID(AssetsPumpMain.PumpSeriesID); //è·åç³»å if (allpartlist != null) { @@ -47,5 +53,33 @@ { SelectReloadEvent.Invoke(); } private void listBoxControl1_MouseUp(object sender, MouseEventArgs e) { MouseUp.Invoke(sender, e); } //å é¤å±æ§ private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.listBoxControl1.GetCurrentViewModel(_allBindingList); if (vm == null) { TipFormHelper.ShowWarn("è¯·éæ©æ°æ®è¡!"); return; } if (MessageBoxHelper.IsClickOk($"确认å 餿°æ®è¡?", "æç¤º")) return; if (await _Bll.DeleteEx(vm.ID)) { _allBindingList.Remove(vm); this.listBoxControl1.Refresh(); TipFormHelper.ShowSucceed("å 餿å!"); } else { TipFormHelper.ShowError("å é¤å¤±è´¥!"); } } } } WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/01-EditPumpPartProp/PumpProductListBox.resx
@@ -139,4 +139,27 @@ Cjwvc3ZnPgs= </value> </data> <data name="barBtnDelete.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJIDAAAC77u/ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4NCiAgICA8cGF0aCBk PSJNMTguOCwxNmw4LjktOC45YzAuNC0wLjQsMC40LTEsMC0xLjRsLTEuNC0xLjRjLTAuNC0wLjQtMS0w LjQtMS40LDBMMTYsMTMuMkw3LjEsNC4zYy0wLjQtMC40LTEtMC40LTEuNCwwICAgTDQuMyw1LjdjLTAu NCwwLjQtMC40LDEsMCwxLjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQs MS40YzAuNCwwLjQsMSwwLjQsMS40LDBsOC45LTguOWw4LjksOC45ICAgYzAuNCwwLjQsMSwwLjQsMS40 LDBsMS40LTEuNGMwLjQtMC40LDAuNC0xLDAtMS40TDE4LjgsMTZ6IiBjbGFzcz0iUmVkIiAvPg0KICA8 L2c+DQo8L3N2Zz4L </value> </data> </root> WinFrmUI/HStation.WinFrmUI.Assets.Core/HStation.WinFrmUI.Assets.Core.csproj.user
@@ -101,10 +101,10 @@ <Compile Update="07-fourLink\02-main\FourLinkManageMainPage.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="08-Nozzle\02-main\AddNozzleMainDlg.cs"> <Compile Update="08-nozzle\02-main\AddNozzleMainDlg.cs"> <SubType>Form</SubType> </Compile> <Compile Update="08-Nozzle\02-main\EditNozzleMainDlg.cs"> <Compile Update="08-nozzle\02-main\EditNozzleMainDlg.cs"> <SubType>Form</SubType> </Compile> <Compile Update="09-manufacturer\AddManufacturerDlg.cs"> WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingHelper.cs
@@ -1,5 +1,6 @@ using HStation.Vmo; using HStation.WinFrmUI.PhartRelation; using System.Windows.Input; namespace HStation.WinFrmUI { @@ -13,8 +14,9 @@ private const double _powerTolerance = 0.05; //èµäº§èªå¨å¹é public static async Task<bool> Matching(AssetsMatchingViewModel assetsAutoMatchingView) public static bool Matching(AssetsMatchingViewModel assetsAutoMatchingView, out string Error) { Error = string.Empty; bool IsMaching = false; var AssetsPumpMain = new BLL.AssetsPumpMain(); var adaptingManage = new BLL.AdaptingManage(); @@ -23,67 +25,74 @@ var AssetsElbowMain = new BLL.AssetsElbowMain(); var AssetsThreelinkMain = new BLL.AssetsThreelinkMain(); var AssetsFourlinkMain = new BLL.AssetsFourlinkMain(); var allPump = await AssetsPumpMain.GetAll(); var allAdapting = await adaptingManage.GetAll(); var allPipeLine = await pipeLineManage.GetAll(); var allValve = await AssetsValveMain.GetAll(); var allElbow = await AssetsElbowMain.GetAll(); var allThreeLink = await AssetsThreelinkMain.GetAll(); var allFourLink = await AssetsFourlinkMain.GetAll(); //æ³µå¹é foreach (var item in assetsAutoMatchingView.PumpMatchingList) try { if (await MatchingPumps(item, allPump)) var allPump = Task.Run(async () => await AssetsPumpMain.GetAll()).Result; var allAdapting = Task.Run(async () => await adaptingManage.GetAll()).Result; var allPipeLine = Task.Run(async () => await pipeLineManage.GetAll()).Result; var allValve = Task.Run(async () => await AssetsValveMain.GetAll()).Result; var allElbow = Task.Run(async () => await AssetsElbowMain.GetAll()).Result; var allThreeLink = Task.Run(async () => await AssetsThreelinkMain.GetAll()).Result; var allFourLink = Task.Run(async () => await AssetsFourlinkMain.GetAll()).Result; //æ³µå¹é foreach (var item in assetsAutoMatchingView.PumpMatchingList) { IsMaching = true; if (MatchingPumps(item, allPump)) { IsMaching = true; } } //ä¸éå¹é foreach (var item in assetsAutoMatchingView.ThreelinkMatchingList) { if (MatchingThreelink(item, allThreeLink)) { IsMaching = true; } } //åéå¹é foreach (var item in assetsAutoMatchingView.FourlinkMatchingList) { if (MatchingFourlink(item, allFourLink)) { IsMaching = true; } } //管éå¹é foreach (var item in assetsAutoMatchingView.PipeMatchingList) { if (MatchingPipe(item, allPipeLine)) { IsMaching = true; } } //éé¨å¹é foreach (var item in assetsAutoMatchingView.ValveMatchingList) { if (MatchingValve(item, allValve)) { IsMaching = true; } } //弯头å¹é foreach (var item in assetsAutoMatchingView.ElbowMatchingList) { if (MatchingElbow(item, allElbow)) { IsMaching = true; } } } //ä¸éå¹é foreach (var item in assetsAutoMatchingView.ThreelinkMatchingList) catch (Exception ex) { if (MatchingThreelink(item, allThreeLink)) { IsMaching = true; } } //åéå¹é foreach (var item in assetsAutoMatchingView.FourlinkMatchingList) { if (MatchingFourlink(item, allFourLink)) { IsMaching = true; } } //管éå¹é foreach (var item in assetsAutoMatchingView.PipeMatchingList) { if (MatchingPipe(item, allPipeLine)) { IsMaching = true; } } //éé¨å¹é foreach (var item in assetsAutoMatchingView.ValveMatchingList) { if (MatchingValve(item, allValve)) { IsMaching = true; } } //弯头å¹é foreach (var item in assetsAutoMatchingView.ElbowMatchingList) { if (MatchingElbow(item, allElbow)) { IsMaching = true; } Error = ex.Message; return false; } return IsMaching; } //æ³µå¹é public static async Task<bool> MatchingPumps(PumpMatchingViewModel InputModel, List<Vmo.AssetsPumpMainVmo> AssetsPumpMainVmos) public static bool MatchingPumps(PumpMatchingViewModel InputModel, List<Vmo.AssetsPumpMainVmo> AssetsPumpMainVmos) { if (AssetsPumpMainVmos == null) { @@ -151,7 +160,7 @@ InputModel.MatchingRatedP = vmo.RatedPower; InputModel.MatchingDbId = vmo.ID.ToString(); InputModel.MatchingModelType = vmo.Name; var list = await new BLL.XhsPumpMainPhartMappingExtensions().GetByPumpMainID(vmo.ID); var list = Task.Run(async () => await new BLL.XhsPumpMainPhartMappingExtensions().GetByPumpMainID(vmo.ID)).Result; if (list != null && list.Count > 0) { InputModel.MatchingCurveDbId = list.First().ID.ToString(); @@ -205,37 +214,35 @@ var absoluteMatch = adaptingManageVmos.Where(i => ((i.Caliber == null) || i.Caliber == input.Diameter) && ((input.Material == null) || i.MaterialName == input.Material)).ToList(); if (absoluteMatch.Any()) if (absoluteMatch.Count > 1) { foreach (var range in absoluteMatch) var allMatchingList = absoluteMatch .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, range.KeyWord); if (commonCount > firstCount) if (item.IsDefault) { vmo = range; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } else if (absoluteMatch.Count == 1) { vmo = absoluteMatch.First(); } else { //åºé´å¹é var rangeMatch = adaptingManageVmos.Where(item => { if (item.Caliber.HasValue) { return Math.Abs(Convert.ToInt64(item.Caliber - input.Diameter)) <= _caliberTolerance; } else { if (item.Caliber == null) { return true; } } return false; }) .ToList(); var rangeMatch = adaptingManageVmos .Where(item => item.Caliber == null || Math.Abs(Convert.ToInt64(item.Caliber) - Convert.ToInt64(input.Diameter)) <= _caliberTolerance) .ToList(); if (rangeMatch != null && rangeMatch.Count > 0) { var materialList = new List<Vmo.AssetsValveMainVmo>(); @@ -258,31 +265,26 @@ } //ç¨å·²ç»çé宿çå表ä¸ä»¥åç§°çé firstCount = 0; foreach (var material in materialList) if (materialList.Count < 1) return false; var allMatchingList = materialList .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, material.KeyWord); if (commonCount > firstCount) if (item.IsDefault) { vmo = material; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } } //å£å¾åææé½æ²¡æå¹é ä¸,å°±ç¨åå·åå¹é firstCount = 0; if (vmo == null) { foreach (var item in adaptingManageVmos) { int commonCount = GetIntersect(input.ModelType, item.KeyWord); if (commonCount > firstCount) { vmo = item; firstCount = commonCount; } } } if (vmo != null) { input.MatchingMinorLoss = vmo.Coefficient; @@ -305,63 +307,67 @@ return true; } Vmo.AssetsPipeMainVmo vmo = null; int StartCount = 0; int firstCount = 0; //å£å¾æå°å·®å¼ // ç»å¯¹å¹é var absoluteMatch = pipeLineManageVmos.Where(i => ((i.Caliber == null) || i.Caliber == input.Diameter) && ((input.Material == null) || i.MaterialName == input.Material)).ToList(); if (absoluteMatch.Any()) if (absoluteMatch.Count > 1) { foreach (var range in absoluteMatch) { int commonCount = GetIntersect(input.ModelType, range.KeyWord); if (commonCount > StartCount) { vmo = range; StartCount = commonCount; } } } else if (absoluteMatch.Count == 1) { vmo = absoluteMatch.First(); } else { //åºé´å¹é var rangeMatch = pipeLineManageVmos.Where(item => { if (item.Caliber != null) { return Math.Abs(Convert.ToInt64(item.Caliber - input.Diameter)) <= _caliberTolerance; } return false; }) .ToList(); var rangeMatch = pipeLineManageVmos .Where(item => item.Caliber == null || Math.Abs(Convert.ToInt64(item.Caliber) - Convert.ToInt64(input.Diameter)) <= _caliberTolerance) .ToList(); if (rangeMatch != null) { var materialList = new List<Vmo.AssetsPipeMainVmo>(); foreach (var range in rangeMatch) { //以ææä¸ºæ¡ä»¶å¼å§å¹é int commonCount = GetIntersect(input.Material, range.MaterialName); if (commonCount > StartCount) if (range.MaterialName == null) { vmo = range; StartCount = commonCount; materialList.Add(range); } else { int commonCount = GetIntersect(input.Material, range.MaterialName); if (commonCount > firstCount) { materialList.Add(range); firstCount = commonCount; } } } firstCount = 0; if (materialList.Count < 1) return false; var allMatchingList = materialList .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { if (item.IsDefault) { vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } } //å£å¾åææé½æ²¡æå¹é ä¸,å°±ç¨åå·åå¹é if (vmo == null) { foreach (var item in pipeLineManageVmos) { int commonCount = GetIntersect(input.ModelType, item.KeyWord); if (commonCount > StartCount) { vmo = item; StartCount = commonCount; } } } if (vmo != null) { switch (input.eAlgorithmType) @@ -400,42 +406,40 @@ } Vmo.AssetsElbowMainVmo vmo = null; int firstCount = 0; //å£å¾æå°å·®å¼ // ç»å¯¹å¹é var absoluteMatch = adaptingManageVmos.Where(i => ((input.Caliber == null && i.Caliber == null) || i.Caliber == input.Caliber) && ((input.Material == null) || i.MaterialName == input.Material)).ToList(); if (absoluteMatch.Any()) if (absoluteMatch.Count > 1) { foreach (var range in absoluteMatch) var allMatchingList = absoluteMatch .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, range.KeyWord); if (commonCount > firstCount) if (item.IsDefault) { vmo = range; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } else if (absoluteMatch.Count == 1) { vmo = absoluteMatch.First(); } else { //åºé´å¹é var rangeMatch = adaptingManageVmos.Where(item => { if (item.Caliber != null && input.Caliber != null) { return Math.Abs(Convert.ToInt64(item.Caliber - input.Caliber)) <= _caliberTolerance; } else { if (item.Caliber == null) { return true; } } return false; }) .ToList(); var rangeMatch = adaptingManageVmos .Where(item => input.Caliber == null || item.Caliber == null || Math.Abs(Convert.ToInt64(item.Caliber) - Convert.ToInt64(input.Caliber)) <= _caliberTolerance) .ToList(); if (rangeMatch != null && rangeMatch.Count > 0) { var materialList = new List<Vmo.AssetsElbowMainVmo>(); @@ -458,31 +462,26 @@ } //ç¨å·²ç»çé宿çå表ä¸ä»¥åç§°çé firstCount = 0; foreach (var material in materialList) if (materialList.Count < 1) return false; var allMatchingList = materialList .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, material.KeyWord); if (commonCount > firstCount) if (item.IsDefault) { vmo = material; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } } //å£å¾åææé½æ²¡æå¹é ä¸,å°±ç¨åå·åå¹é //精确å¹é åç²ç³å¹é 齿²¡æå¹é å°å°±è¿åé误 firstCount = 0; if (vmo == null) { foreach (var item in adaptingManageVmos) { int commonCount = GetIntersect(input.ModelType, item.Name); if (commonCount > firstCount) { vmo = item; firstCount = commonCount; } } } if (vmo != null) { input.MatchingMinorLoss = vmo.Coefficient; @@ -503,42 +502,40 @@ } Vmo.AssetsThreelinkMainVmo vmo = null; int firstCount = 0; //å£å¾æå°å·®å¼ // ç»å¯¹å¹é var absoluteMatch = adaptingManageVmos.Where(i => ((input.Caliber == null && i.Caliber == null) || i.Caliber == input.Caliber) && ((input.Material == null) || i.MaterialName == input.Material)).ToList(); if (absoluteMatch.Any()) if (absoluteMatch.Count > 1) { foreach (var range in absoluteMatch) var allMatchingList = absoluteMatch .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, range.Name); if (commonCount > firstCount) if (item.IsDefault) { vmo = range; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } else if (absoluteMatch.Count == 1) { vmo = absoluteMatch.First(); } else { //åºé´å¹é var rangeMatch = adaptingManageVmos.Where(item => { if (item.Caliber != null && input.Caliber != null) { return Math.Abs(Convert.ToInt64(item.Caliber - input.Caliber)) <= _caliberTolerance; } else { if (item.Caliber == null) { return true; } } return false; }) .ToList(); var rangeMatch = adaptingManageVmos .Where(item => input.Caliber == null || item.Caliber == null || Math.Abs(Convert.ToInt64(item.Caliber) - Convert.ToInt64(input.Caliber)) <= _caliberTolerance) .ToList(); if (rangeMatch != null && rangeMatch.Count > 0) { var materialList = new List<Vmo.AssetsThreelinkMainVmo>(); @@ -561,31 +558,26 @@ } //ç¨å·²ç»çé宿çå表ä¸ä»¥åç§°çé firstCount = 0; foreach (var material in materialList) if (materialList.Count < 1) return false; var allMatchingList = materialList .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, material.Name); if (commonCount > firstCount) if (item.IsDefault) { vmo = material; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } } //å£å¾åææé½æ²¡æå¹é ä¸,å°±ç¨åå·åå¹é //精确å¹é åç²ç³å¹é 齿²¡æå¹é å°å°±è¿åé误 firstCount = 0; if (vmo == null) { foreach (var item in adaptingManageVmos) { int commonCount = GetIntersect(input.ModelType, item.Name); if (commonCount > firstCount) { vmo = item; firstCount = commonCount; } } } if (vmo != null) { input.MatchingMinorLoss = vmo.Coefficient; @@ -606,42 +598,40 @@ } Vmo.AssetsFourlinkMainVmo vmo = null; int firstCount = 0; //å£å¾æå°å·®å¼ // ç»å¯¹å¹é var absoluteMatch = adaptingManageVmos.Where(i => ((input.Caliber == null && i.Caliber == null) || i.Caliber == input.Caliber) && ((input.Material == null) || i.MaterialName == input.Material)).ToList(); if (absoluteMatch.Any()) if (absoluteMatch.Count > 1) { foreach (var range in absoluteMatch) var allMatchingList = absoluteMatch .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, range.Name); if (commonCount > firstCount) if (item.IsDefault) { vmo = range; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } else if (absoluteMatch.Count == 1) { vmo = absoluteMatch.First(); } else { //åºé´å¹é var rangeMatch = adaptingManageVmos.Where(item => { if (item.Caliber != null && input.Caliber != null) { return Math.Abs(Convert.ToInt64(item.Caliber - input.Caliber)) <= _caliberTolerance; } else { if (item.Caliber == null) { return true; } } return false; }) .ToList(); var rangeMatch = adaptingManageVmos .Where(item => input.Caliber == null || item.Caliber == null || Math.Abs(Convert.ToInt64(item.Caliber) - Convert.ToInt64(input.Caliber)) <= _caliberTolerance) .ToList(); if (rangeMatch != null && rangeMatch.Count > 0) { var materialList = new List<Vmo.AssetsFourlinkMainVmo>(); @@ -664,31 +654,26 @@ } //ç¨å·²ç»çé宿çå表ä¸ä»¥åç§°çé firstCount = 0; foreach (var material in materialList) if (materialList.Count < 1) return false; var allMatchingList = materialList .Where(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType) >= 2) .OrderByDescending(x => GetIntersect(x.KeyWord == string.Empty ? x.Name : x.KeyWord, input.ModelType)) .ToList();//æ¾åºç¸åå符å¨2以ä¸å¹¶ä¸è¿è¡æåº if (allMatchingList.Count < 1) return false;//éè¿åå·åæ²¡ææ¾å°,åè§ä¸ºæ²¡æå¹é å° foreach (var item in allMatchingList) { int commonCount = GetIntersect(input.ModelType, material.Name); if (commonCount > firstCount) if (item.IsDefault) { vmo = material; firstCount = commonCount; vmo = item; } } vmo = allMatchingList.First();//å¦ææ²¡æè®¾ç½®é»è®¤å¼,åé»è®¤è¿åå¹é å符æå¤ç䏿¡æ°æ® } } //å£å¾åææé½æ²¡æå¹é ä¸,å°±ç¨åå·åå¹é //精确å¹é åç²ç³å¹é 齿²¡æå¹é å°å°±è¿åé误 firstCount = 0; if (vmo == null) { foreach (var item in adaptingManageVmos) { int commonCount = GetIntersect(input.ModelType, item.KeyWord); if (commonCount > firstCount) { vmo = item; firstCount = commonCount; } } } if (vmo != null) { input.MatchingMinorLoss = vmo.Coefficient; @@ -703,9 +688,6 @@ /// <summary> /// è·å两个åç¬¦ä¸²çææäº¤é /// </summary> /// <param name="str1"></param> /// <param name="str2"></param> /// <returns></returns> public static int GetIntersect(string str1, string str2) { if (str1 == null || str2 == null) return 0; WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
@@ -41,7 +41,7 @@ feedBackProgress?.Invoke(100, 5); #endregion #endregion ç¬¬ä¸æ¥ ä¸´æ¶æä»¶å¤çï¼è¿åº¦5%ï¼ #region ç¬¬äºæ¥ å建项ç®ï¼è¿åº¦ 10%ï¼ @@ -77,7 +77,7 @@ feedBackProgress?.Invoke(100, 10); #endregion #endregion ç¬¬äºæ¥ å建项ç®ï¼è¿åº¦ 10%ï¼ #region ç¬¬ä¸æ¥ 设置å°å¾ä½ç½®ï¼è¿åº¦ 20%ï¼ @@ -112,7 +112,7 @@ feedBackProgress?.Invoke(100, 20); #endregion #endregion ç¬¬ä¸æ¥ 设置å°å¾ä½ç½®ï¼è¿åº¦ 20%ï¼ #region ç¬¬åæ¥ å缩æä»¶è§£æ ï¼è¿åº¦25%ï¼ @@ -139,12 +139,11 @@ return true; } feedBackMsg?.Invoke("模åæä»¶è§£ææåããã", Color.Green); feedBackProgress?.Invoke(100, 25); #endregion #endregion ç¬¬åæ¥ å缩æä»¶è§£æ ï¼è¿åº¦25%ï¼ #region ç¬¬äºæ¥ è§£ææ°´åç»ææä»¶ ï¼è¿åº¦30%ï¼ @@ -188,11 +187,13 @@ feedBackMsg?.Invoke($"æä»¶ç¼ç ï¼{revitParter.Code}ï¼æä»¶å±æ§ï¼{revitParterPropStatus.PropName}ï¼é误ï¼{revitParterPropStatus.StatusInfo} ", Color.Red); } break; case Revit.ePropStatus.Lack: { feedBackMsg?.Invoke($"æä»¶ç¼ç ï¼{revitParter.Code}ï¼æä»¶å±æ§ï¼{revitParterPropStatus.PropName}ï¼ç¼ºçï¼{revitParterPropStatus.StatusInfo} ", Color.Gray); } break; case Revit.ePropStatus.Abnormal: { feedBackMsg?.Invoke($"æä»¶ç¼ç ï¼{revitParter.Code}ï¼æä»¶å±æ§ï¼{revitParterPropStatus.PropName}ï¼å¼å¸¸ï¼{revitParterPropStatus.StatusInfo} ", Color.Orange); @@ -209,7 +210,6 @@ feedBackProgress?.Invoke(100, 100); return true; } var hydroInfo = HStation.Hydro.TransferHelper.FromRevit(structRevitModel, out msg); if (hydroInfo == null) @@ -232,7 +232,7 @@ feedBackMsg?.Invoke("æ£å¨è¿è¡äº§åå¹é ...", Color.Black); hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroId); var matchingParas = AssetsMatchingParasHelper.Create(hydroInfo); if (await AssetsMatchingHelper.Matching(matchingParas)) if (AssetsMatchingHelper.Matching(matchingParas, out string error)) { if (AssetsMatchingParasHelper.Apply(hydroInfo, matchingParas)) { @@ -253,7 +253,7 @@ feedBackProgress?.Invoke(100, 30); vm.HydroID = hydroId; #endregion #endregion ç¬¬äºæ¥ è§£ææ°´åç»ææä»¶ ï¼è¿åº¦30%ï¼ #region ç¬¬å æ¥ å ³èæ°´åç»ææ¨¡åï¼è¿åº¦ 40%ï¼ @@ -288,12 +288,11 @@ return true; } vm.HydroRelationID = hydroRelationId; feedBackMsg?.Invoke("å ³èæ°´åç»ææ¨¡åæåããã", Color.Green); feedBackProgress?.Invoke(100, 40); #endregion #endregion ç¬¬å æ¥ å ³èæ°´åç»ææ¨¡åï¼è¿åº¦ 40%ï¼ #region ç¬¬ä¸æ¥ ä¸ä¼ Revit模åæä»¶ï¼è¿åº¦ 45%ï¼ @@ -321,7 +320,7 @@ feedBackMsg?.Invoke("è§£æRevit模åæä»¶æåããã", Color.Green); feedBackProgress?.Invoke(100, 45); #endregion #endregion ç¬¬ä¸æ¥ ä¸ä¼ Revit模åæä»¶ï¼è¿åº¦ 45%ï¼ #region ç¬¬å «æ¥ ä¿åBimfaceæä»¶ ï¼è¿åº¦ 50%ï¼ @@ -349,7 +348,7 @@ feedBackMsg?.Invoke("Bimfaceæä»¶ä¿åæåããã", Color.Green); feedBackProgress?.Invoke(100, 50); #endregion #endregion ç¬¬å «æ¥ ä¿åBimfaceæä»¶ ï¼è¿åº¦ 50%ï¼ #region ç¬¬ä¹æ¥ å ³èBimfaceæä»¶ï¼è¿åº¦ 55%ï¼ @@ -374,7 +373,7 @@ feedBackMsg?.Invoke("Bimfaceæä»¶å ³èæåããã", Color.Green); feedBackProgress?.Invoke(100, 55); #endregion #endregion ç¬¬ä¹æ¥ å ³èBimfaceæä»¶ï¼è¿åº¦ 55%ï¼ #region ç¬¬åæ¥ åèµ·bimface转æ¢ï¼è¿åº¦ 80%ï¼ @@ -407,7 +406,7 @@ feedBackProgress?.Invoke(100, 80); #endregion #endregion ç¬¬åæ¥ åèµ·bimface转æ¢ï¼è¿åº¦ 80%ï¼ #region 第å䏿¥ æ´æ°Bimfaceæä»¶ç¶æï¼è¿åº¦ 100%ï¼ @@ -428,10 +427,7 @@ feedBackMsg?.Invoke("项ç®å¯¼å ¥å®æããã", Color.Green); return true; #endregion #endregion 第å䏿¥ æ´æ°Bimfaceæä»¶ç¶æï¼è¿åº¦ 100%ï¼ } } } WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/02-pump/XhsPumpMatchingListCtrl.cs
@@ -36,7 +36,7 @@ foreach (var item in pumpMatchingViewModel) { await AssetsMatchingHelper.MatchingPumps(item, AssetsPumpMainVmos); AssetsMatchingHelper.MatchingPumps(item, AssetsPumpMainVmos); } _allBindingList.Clear(); foreach (var item in pumpMatchingViewModel)