From e9d7a5ef4c17e4804fb988dd193ff7d1fa36d52b Mon Sep 17 00:00:00 2001 From: chr <chr@chr.com> Date: 星期一, 12 八月 2024 09:08:43 +0800 Subject: [PATCH] 优化; --- PdmSwPlugin.PDM/PdmControl.xaml.cs | 101 +++++++++----------------------------------------- 1 files changed, 19 insertions(+), 82 deletions(-) diff --git a/PdmSwPlugin.PDM/PdmControl.xaml.cs b/PdmSwPlugin.PDM/PdmControl.xaml.cs index 5db4dda..909cb44 100644 --- a/PdmSwPlugin.PDM/PdmControl.xaml.cs +++ b/PdmSwPlugin.PDM/PdmControl.xaml.cs @@ -30,13 +30,10 @@ using PdmSwPlugin.Common.Setting; using PdmSwPlugin.PDM.Model; using System.Diagnostics; -using SolidWorks.Interop.gtswutilities; using PdmSwPlugin.PDM.Constant; using static PdmSwPlugin.PDM.Event.PdmEvent; -using NPOI.SS.Formula.PTG; -using PdmSwPlugin.Common.Entity.System; -using System.Windows.Input; using System.Windows.Interop; +using PdmSwPlugin.Commmon.Control; namespace PdmSwPlugin.PDM { @@ -1165,17 +1162,21 @@ if (!cache.Contains(b.partModel)) { cache.Add(b.partModel); + // 鏂囨。瀛樺湪鐨� return b.lost != true // && b.drawingType == (int)swDocumentTypes_e.swDocPART + // 鏄姞宸ヤ欢鐨� && b.produceWay == "鍔犲伐浠�" - && (b.drawStatus != "submitted" && b.drawStatus != "resubmitted"); + // 鏈鎻愪氦鐨� + && (b.drawStatus != "submitted" && b.drawStatus != "resubmitted") + && (b.drawStatus != "completed" || b.auditedMd5Changed); } return false; }).ToList(); if (boms == null || boms.Count <= 0) { - this.Warning("鍙湁鏈彁浜ょ殑鍔犲伐浠跺浘绾稿彲浠ヨ繘琛屽鏍�"); + this.Warning("鍙湁鏈彁浜よ繃鎴栧彂鐢熷彉鏇寸殑鍔犲伐浠跺浘绾稿彲浠ヨ繘琛屽鏍�"); return; } // 瀵规墍鏈夌殑BOM鍋氳鍒欐鏌� @@ -1386,7 +1387,11 @@ if (bom.checkRuleResult == 3) { string title = string.Empty; - if (bom.inBom) + if (bom.historyData) + { + title = "鍘嗗彶鍥剧焊鏃犻渶妫�鏌�"; + } + else if (bom.inBom) { title = "涓嶅湪鐗╂枡鏄庣粏琛ㄤ腑鐨勭墿鏂欐棤闇�妫�鏌�"; } @@ -1574,79 +1579,6 @@ } } - private void PtrHandler(IntPtr ptr, Action callback, Action<List<string>, Exception> reject) - { - - if (workStatus == PdmStatus.FREE) - { - WindowIntPtrUtil.ShowWindow(ptr, 6); - // 鎵ц瑙勫垯妫�鏌ュ苟鑾峰彇缁撴灉 - MaskAdorner.ShowMask(content, "妫�鏌ヤ腑锛岃绋嶅悗..."); - Task.Run(() => - { - try - { - RefreshBomList(SwApp.IActiveDoc2); - DoCheckRule(out _); - List<string> errs = model.bomTreeReader.CacheList.Where(b => - !b.inBom - && (!b.checkRuleOk || (b.produceWay == "鍔犲伐浠�" && b.drawStatus != "completed")) - ).Select(b => - { - string msg = $"銆恵b.partModel}銆�"; - if (!b.checkRuleOk) - { - msg += "鏈�氳繃瑙勫垯妫�鏌�;"; - } - if (b.produceWay == "鍔犲伐浠�" && b.drawStatus != "completed") - { - msg += "鏈�氳繃瀹℃牳;"; - } - return msg; - } - ).ToList(); - - if (errs != null && errs.Count > 0) - { - reject(errs, null); - Dispatcher.Invoke(() => - { - MultiExWindow exWin = new MultiExWindow(this, "妫�鍏ュ仠姝�", errs); - exWin.ShowDialog(); - }); - } - } - catch (Exception ex) - { - reject(null, ex); - Logger.Error("PDM check rule failed.", ex); - this.Show($"鍥剧焊妫�鏌ユ墽琛屽け璐ワ細{ex.Message}", true); - } - finally - { - workStatus = PdmStatus.FREE; - MaskAdorner.HideMask(content); - } - }); - } - else - { - reject(null, null); - if (workStatus == PdmStatus.CHECKING) - { - this.Info("姝e湪杩涜瑙勫垯妫�鏌ワ紝璇峰嬁妫�鍏�"); - } - else if (workStatus == PdmStatus.READING) - { - this.Info("姝e湪鍔犺浇锛岃鍕挎鍏�"); - } - else if (workStatus == PdmStatus.UPLOADING) - { - this.Info("姝e湪涓婁紶鍥剧焊锛岃鍕挎鍏�"); - } - } - } - private async Task PtrHandler2() { if (workStatus == PdmStatus.FREE) @@ -1660,17 +1592,18 @@ // 鎵ц瑙勫垯妫�鏌ュ苟鑾峰彇缁撴灉 RefreshBomList(SwApp.IActiveDoc2); DoCheckRule(out _); + // 绛涢�夋墍鏈夊湪鐗╂枡鏄庣粏琛ㄤ腑锛屼笉璺宠繃妫�鏌ュ苟涓旀鏌ユ湭閫氳繃鐨勶紝绫诲瀷鏄姞宸ヤ欢鐨勬湭閫氳繃瀹℃牳鐨勶紝鍔犲伐浠跺鏍搁�氳繃鐨勪絾鍥剧焊鍙樻洿鐨� List<string> errs = model.bomTreeReader.CacheList.Where(b => !b.inBom && ( - !b.checkRuleOk + (!b.skipCheck && !b.checkRuleOk) || (b.produceWay == "鍔犲伐浠�" && b.drawStatus != "completed") || (b.produceWay == "鍔犲伐浠�" && b.drawStatus == "completed" && b.auditedMd5Changed) ) ).Select(b => { string msg = $"銆恵b.partModel}銆�"; - if (!b.checkRuleOk) + if (!b.skipCheck && !b.checkRuleOk) { msg += "鏈�氳繃瑙勫垯妫�鏌�;"; } @@ -1678,6 +1611,10 @@ { msg += "鏈�氳繃瀹℃牳;"; } + if (b.produceWay == "鍔犲伐浠�" && b.drawStatus == "completed" && b.auditedMd5Changed) + { + msg += "鍥剧焊鍙樻洿鍚庢湭閲嶆柊瀹℃牳"; + } return msg; } ).ToList(); -- Gitblit v1.9.1