From 31a636e735a0addc56e4f4527f500b7aa0874eb5 Mon Sep 17 00:00:00 2001
From: chr <chr@mailcom>
Date: 星期五, 03 一月 2025 11:21:46 +0800
Subject: [PATCH] 改了一大堆;
---
PdmSwPlugin.Main/SwAddIn/MainControl.cs | 28
.vs/SwPlugin/v17/DocumentLayout.backup.json | 190 +-------
PdmSwPlugin.Common/Util/CustomPropertyUtil.cs | 5
PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs | 38 +
PdmSwPlugin.Common/Control/RichHisWindow.xaml.cs | 2
PdmSwPlugin.Common/Entity/Pdm/PdmBom.cs | 111 +++-
InnoSetupScript/PdmSwPlugin.iss | 2
PdmSwPlugin.Main/EventHandler/BaseAttacher.cs | 68 ++
PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs | 136 ++++-
PdmSw/SwAddin.cs | 7
PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs | 32 +
PdmSwPlugin.Common/Util/OpenDocContext.cs | 10
PdmSwPlugin.Main/Constant/PluginConst.cs | 2
PdmSwPlugin.Common/BomIniter/NameUtil.cs | 1
PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs | 11
PdmSwPlugin.PDM/Model/PdmControlModel.cs | 39 +
PdmSwPlugin.PDM/PdmControl.xaml.cs | 325 +++++++++-----
.vs/SwPlugin/v17/DocumentLayout.json | 190 +-------
PdmSwPlugin.Common/BomIniter/YwtBomIniter.cs | 2
PdmSwPlugin.PDM/PdmControl.xaml | 98 +++
20 files changed, 716 insertions(+), 581 deletions(-)
diff --git a/.vs/SwPlugin/v17/DocumentLayout.backup.json b/.vs/SwPlugin/v17/DocumentLayout.backup.json
index a0bc88a..6ae4a6d 100644
--- a/.vs/SwPlugin/v17/DocumentLayout.backup.json
+++ b/.vs/SwPlugin/v17/DocumentLayout.backup.json
@@ -3,190 +3,64 @@
"WorkspaceRootPath": "D:\\Workspace\\PdmSwPlugin2\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\entity\\pdm\\pdmbom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\entity\\pdm\\pdmbom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
- "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\bominiter\\ywtbominiter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\bominiter\\ywtbominiter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{3AEC586C-B22A-4ADB-B4AB-10AA660F79EC}|Md5Reader\\Md5Reader.csproj|D:\\Workspace\\PdmSwPlugin2\\md5reader\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{3AEC586C-B22A-4ADB-B4AB-10AA660F79EC}|Md5Reader\\Md5Reader.csproj|solutionrelative:md5reader\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{CB3551F6-0C4A-4537-9A04-1E40CD475479}|SolidWorksListener\\SolidWorksListener.csproj|D:\\Workspace\\PdmSwPlugin2\\solidworkslistener\\listener.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{CB3551F6-0C4A-4537-9A04-1E40CD475479}|SolidWorksListener\\SolidWorksListener.csproj|solutionrelative:solidworkslistener\\listener.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|D:\\Workspace\\PdmSwPlugin2\\wpfui\\asyncattacher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|solutionrelative:wpfui\\asyncattacher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
+ "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
}
],
"DocumentGroupContainers": [
{
- "Orientation": 0,
+ "Orientation": 1,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
- "DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "DockedHeight": 530,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 5,
- "Title": "YwtBomIniter.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "RelativeToolTip": "PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "ViewState": "AgIAAEEAAAAAAAAAAAAUwBIAAAAXAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T09:13:45.395Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "PdmControl.xaml",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml",
- "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml",
- "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
- "WhenOpened": "2024-10-31T09:12:36.773Z"
- },
- {
- "$type": "Document",
"DocumentIndex": 1,
- "Title": "PdmControl.xaml.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "ViewState": "AgIAALUEAAAAAAAAAAAuwMUEAABAAAAAAAAAAA==",
+ "Title": "CommonSettingControl.xaml.cs",
+ "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "RelativeToolTip": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "ViewState": "AgIAAAoBAAAAAAAAAAD4vx0BAAAgAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T08:50:14.505Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "BomTreeReader.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "RelativeToolTip": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "ViewState": "AgIAAPsAAAAAAAAAAAAUwBABAAAgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T08:33:38.547Z"
+ "WhenOpened": "2025-01-02T06:15:07.965Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "PluginConst.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "RelativeToolTip": "PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA==",
+ "Title": "JgjPartPanel.xaml.cs",
+ "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "ViewState": "AgIAAF4BAAAAAAAAAAAQwIABAABGAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T04:01:41.756Z",
+ "WhenOpened": "2025-01-02T06:10:11.494Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
- "Title": "PdmBom.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "RelativeToolTip": "PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "ViewState": "AgIAAIgAAAAAAAAAAAA+wJYAAAAdAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T08:32:38.632Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 6,
- "Title": "MainWindow.xaml.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\Md5Reader\\MainWindow.xaml.cs",
- "RelativeDocumentMoniker": "Md5Reader\\MainWindow.xaml.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\Md5Reader\\MainWindow.xaml.cs",
- "RelativeToolTip": "Md5Reader\\MainWindow.xaml.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAABDAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-30T02:39:22.183Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "MainControl.xaml.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs",
- "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml.cs",
- "ViewState": "AgIAAMAAAAAAAAAAAAAYwMoAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T04:24:56.766Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 8,
- "Title": "Listener.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\SolidWorksListener\\Listener.cs",
- "RelativeDocumentMoniker": "SolidWorksListener\\Listener.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\SolidWorksListener\\Listener.cs",
- "RelativeToolTip": "SolidWorksListener\\Listener.cs",
- "ViewState": "AgIAANAAAAAAAAAAAADwv90AAAAiAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T03:42:50.289Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 9,
- "Title": "AsyncAttacher.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\AsyncAttacher.cs",
- "RelativeDocumentMoniker": "WpfUI\\AsyncAttacher.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\AsyncAttacher.cs",
- "RelativeToolTip": "WpfUI\\AsyncAttacher.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T03:36:12.415Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 10,
- "Title": "SwAddin.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs",
- "RelativeDocumentMoniker": "PdmSw\\SwAddin.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs",
- "RelativeToolTip": "PdmSw\\SwAddin.cs",
- "ViewState": "AgIAABMBAAAAAAAAAAAkwCYBAAAkAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T01:09:55.509Z"
+ "Title": "JgjPartPanel.xaml",
+ "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
+ "WhenOpened": "2025-01-02T06:07:52.955Z",
+ "EditorCaption": ""
}
]
}
diff --git a/.vs/SwPlugin/v17/DocumentLayout.json b/.vs/SwPlugin/v17/DocumentLayout.json
index a0bc88a..6ae4a6d 100644
--- a/.vs/SwPlugin/v17/DocumentLayout.json
+++ b/.vs/SwPlugin/v17/DocumentLayout.json
@@ -3,190 +3,64 @@
"WorkspaceRootPath": "D:\\Workspace\\PdmSwPlugin2\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\entity\\pdm\\pdmbom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\entity\\pdm\\pdmbom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
- "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\bominiter\\ywtbominiter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\bominiter\\ywtbominiter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{3AEC586C-B22A-4ADB-B4AB-10AA660F79EC}|Md5Reader\\Md5Reader.csproj|D:\\Workspace\\PdmSwPlugin2\\md5reader\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{3AEC586C-B22A-4ADB-B4AB-10AA660F79EC}|Md5Reader\\Md5Reader.csproj|solutionrelative:md5reader\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{CB3551F6-0C4A-4537-9A04-1E40CD475479}|SolidWorksListener\\SolidWorksListener.csproj|D:\\Workspace\\PdmSwPlugin2\\solidworkslistener\\listener.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{CB3551F6-0C4A-4537-9A04-1E40CD475479}|SolidWorksListener\\SolidWorksListener.csproj|solutionrelative:solidworkslistener\\listener.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|D:\\Workspace\\PdmSwPlugin2\\wpfui\\asyncattacher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|solutionrelative:wpfui\\asyncattacher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
+ "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
}
],
"DocumentGroupContainers": [
{
- "Orientation": 0,
+ "Orientation": 1,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
- "DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "DockedHeight": 530,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 5,
- "Title": "YwtBomIniter.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "RelativeToolTip": "PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs",
- "ViewState": "AgIAAEEAAAAAAAAAAAAUwBIAAAAXAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T09:13:45.395Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "PdmControl.xaml",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml",
- "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml",
- "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
- "WhenOpened": "2024-10-31T09:12:36.773Z"
- },
- {
- "$type": "Document",
"DocumentIndex": 1,
- "Title": "PdmControl.xaml.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml.cs",
- "ViewState": "AgIAALUEAAAAAAAAAAAuwMUEAABAAAAAAAAAAA==",
+ "Title": "CommonSettingControl.xaml.cs",
+ "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "RelativeToolTip": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs",
+ "ViewState": "AgIAAAoBAAAAAAAAAAD4vx0BAAAgAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T08:50:14.505Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "BomTreeReader.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "RelativeToolTip": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs",
- "ViewState": "AgIAAPsAAAAAAAAAAAAUwBABAAAgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T08:33:38.547Z"
+ "WhenOpened": "2025-01-02T06:15:07.965Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "PluginConst.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "RelativeToolTip": "PdmSwPlugin.Main\\Constant\\PluginConst.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA==",
+ "Title": "JgjPartPanel.xaml.cs",
+ "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs",
+ "ViewState": "AgIAAF4BAAAAAAAAAAAQwIABAABGAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T04:01:41.756Z",
+ "WhenOpened": "2025-01-02T06:10:11.494Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
- "Title": "PdmBom.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "RelativeToolTip": "PdmSwPlugin.Common\\Entity\\Pdm\\PdmBom.cs",
- "ViewState": "AgIAAIgAAAAAAAAAAAA+wJYAAAAdAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-31T08:32:38.632Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 6,
- "Title": "MainWindow.xaml.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\Md5Reader\\MainWindow.xaml.cs",
- "RelativeDocumentMoniker": "Md5Reader\\MainWindow.xaml.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\Md5Reader\\MainWindow.xaml.cs",
- "RelativeToolTip": "Md5Reader\\MainWindow.xaml.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAABDAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-30T02:39:22.183Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "MainControl.xaml.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs",
- "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs",
- "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml.cs",
- "ViewState": "AgIAAMAAAAAAAAAAAAAYwMoAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T04:24:56.766Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 8,
- "Title": "Listener.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\SolidWorksListener\\Listener.cs",
- "RelativeDocumentMoniker": "SolidWorksListener\\Listener.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\SolidWorksListener\\Listener.cs",
- "RelativeToolTip": "SolidWorksListener\\Listener.cs",
- "ViewState": "AgIAANAAAAAAAAAAAADwv90AAAAiAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T03:42:50.289Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 9,
- "Title": "AsyncAttacher.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\AsyncAttacher.cs",
- "RelativeDocumentMoniker": "WpfUI\\AsyncAttacher.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\AsyncAttacher.cs",
- "RelativeToolTip": "WpfUI\\AsyncAttacher.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T03:36:12.415Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 10,
- "Title": "SwAddin.cs",
- "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs",
- "RelativeDocumentMoniker": "PdmSw\\SwAddin.cs",
- "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs",
- "RelativeToolTip": "PdmSw\\SwAddin.cs",
- "ViewState": "AgIAABMBAAAAAAAAAAAkwCYBAAAkAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-10-14T01:09:55.509Z"
+ "Title": "JgjPartPanel.xaml",
+ "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
+ "WhenOpened": "2025-01-02T06:07:52.955Z",
+ "EditorCaption": ""
}
]
}
diff --git a/InnoSetupScript/PdmSwPlugin.iss b/InnoSetupScript/PdmSwPlugin.iss
index b520d2d..23494a5 100644
--- a/InnoSetupScript/PdmSwPlugin.iss
+++ b/InnoSetupScript/PdmSwPlugin.iss
@@ -7,7 +7,7 @@
; 自动更新程序路径
#define AutoUpdaterDir = "D:\Workspace\PdmSwPlugin2\PdmSw\bin\x64\Release\AutoUpdater\"
; 版本
-#define Version = "_0.0.0.43_改"
+#define Version = "_0.0.0.45_审核质量"
; 生成的Installer存放路径
#define OutPutDir = "Z:\Output"
diff --git a/PdmSw/SwAddin.cs b/PdmSw/SwAddin.cs
index 937fea0..96adc0a 100644
--- a/PdmSw/SwAddin.cs
+++ b/PdmSw/SwAddin.cs
@@ -294,6 +294,7 @@
KeyPreview = true,
Dock = DockStyle.Fill
};
+ mainForm.FormClosed += MainForm_FormClosed;
mainForm.Controls.Add(host);
IntPtr ptr = mainForm.Handle;
// IntPtr ptr = WindowIntPtrUtil.FindWindow(null, "Window1");
@@ -301,6 +302,12 @@
mainForm.WindowState = FormWindowState.Maximized;
}
+ private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ /// 关闭时先执行DeActiveHandler,然后执行这个
+
+ }
+
private void LoadPlugins()
{
// 读图,估计是panel的图标
diff --git a/PdmSwPlugin.Common/BomIniter/NameUtil.cs b/PdmSwPlugin.Common/BomIniter/NameUtil.cs
index f3bb049..268e5be 100644
--- a/PdmSwPlugin.Common/BomIniter/NameUtil.cs
+++ b/PdmSwPlugin.Common/BomIniter/NameUtil.cs
@@ -1,5 +1,6 @@
锘縰sing PdmSwPlugin.Common.Setting;
using System;
+using System.Text.RegularExpressions;
namespace PdmSwPlugin.Common
{
diff --git a/PdmSwPlugin.Common/BomIniter/YwtBomIniter.cs b/PdmSwPlugin.Common/BomIniter/YwtBomIniter.cs
index 6b105f0..3b6379e 100644
--- a/PdmSwPlugin.Common/BomIniter/YwtBomIniter.cs
+++ b/PdmSwPlugin.Common/BomIniter/YwtBomIniter.cs
@@ -27,12 +27,14 @@
string jgjNameRegx = CustomerSetting.Instance["jgjNameRegx"];
string standardNameRegx = CustomerSetting.Instance["standardNameRegx"];
+ string specialJgjRegx = CustomerSetting.Instance["specialJgjRegx"];
if (Regex.IsMatch(childName, jgjNameRegx))
{
if (bom._drawInfo != null)
{
bom._drawInfo.HistoryData = NameUtil.IsHistoryDoc(childName);
+ bom._drawInfo.isSpecial = Regex.IsMatch(childName, specialJgjRegx);
}
string docType = bom.properties.Get("鏂囦欢鏍煎紡");
diff --git a/PdmSwPlugin.Common/Control/RichHisWindow.xaml.cs b/PdmSwPlugin.Common/Control/RichHisWindow.xaml.cs
index ce3c459..877c658 100644
--- a/PdmSwPlugin.Common/Control/RichHisWindow.xaml.cs
+++ b/PdmSwPlugin.Common/Control/RichHisWindow.xaml.cs
@@ -55,7 +55,7 @@
InitializeComponent();
this.title = title;
DataContext = this;
- if (hisList == null)
+ if (hisList == null || hisList.Count <= 0)
{
this.HisList = new ObservableCollection<DrawAuditHis>();
}
diff --git a/PdmSwPlugin.Common/Entity/Pdm/PdmBom.cs b/PdmSwPlugin.Common/Entity/Pdm/PdmBom.cs
index 7cddf17..5145fec 100644
--- a/PdmSwPlugin.Common/Entity/Pdm/PdmBom.cs
+++ b/PdmSwPlugin.Common/Entity/Pdm/PdmBom.cs
@@ -85,6 +85,14 @@
set => RaiseAndSetIfChanged(ref _status, value);
}
+ private bool? _inKeeDeeDb;
+
+ public bool? inKeeDeeDb
+ {
+ get => _inKeeDeeDb;
+ set => RaiseAndSetIfChanged(ref _inKeeDeeDb, value);
+ }
+
private string _auditId;
public string auditId
{
@@ -116,6 +124,26 @@
/// </summary>
public class DrawInfo : NotifyBase
{
+ /// <summary>
+ /// true璇存槑娌℃湁宸ョ▼鍥�
+ /// </summary>
+ public bool _noDrw = false;
+
+ public bool noDrw
+ {
+ get => _noDrw;
+ set => RaiseAndSetIfChanged(ref _noDrw, value);
+ }
+
+ public bool _inKeeDeeDb = false;
+
+ private bool _isSpecial;
+ public bool isSpecial
+ {
+ get => _isSpecial;
+ set => RaiseAndSetIfChanged(ref _isSpecial, value);
+ }
+
/// <summary>
/// 3Dmd5
/// </summary>
@@ -169,6 +197,10 @@
public List<string> errMessages { get; set; }
public Dictionary<string, string> allProperties { get; set; }
+
+ /// <summary>
+ /// 涓篢rue璇存槑娌℃湁宸ョ▼鍥�
+ /// </summary>
}
[Serializable]
@@ -197,6 +229,11 @@
set => RaiseAndSetIfChanged(ref _treeId, value);
}
+ /// <summary>
+ /// true璇存槑娌℃湁宸ョ▼鍥�
+ /// </summary>
+ public bool noDrw => (_drawInfo?.noDrw == true);
+
public string id => BomInfo?.id;
public string name => BomInfo?.name;
public string partNo => BomInfo?.partNo;
@@ -222,10 +259,6 @@
public string checkUserId => BomInfo?.checkUserId;
public string checkUserName => BomInfo?.checkUserName;
- #region 瑙勫垯妫�鏌ョ浉鍏冲瓧娈�
-
- #endregion
-
#region 鍥剧焊瀹℃牳鐩稿叧瀛楁
public string drawStatus => BomInfo?.status;
public string requestUserId => BomInfo?.requestUserId;
@@ -244,8 +277,15 @@
/// <summary>
/// 鍥剧焊鏄惁鍙戠敓鍙樻洿 闈炲巻鍙插浘绾哥湅2D鍥綧D5 鍘嗗彶鍥剧焊鐪嬩竴鑷存�ф鏌ユ病閫氳繃
/// </summary>
- public bool localDocChanged => (!IsHistoryData && localD2Md5 != _drawInfo?.d2Md5)
- || (IsHistoryData && _drawInfo?.checkRuleResult == 2); //localD3Md5 != _drawInfo?.d3Md5;
+ public bool localDocChanged
+ {
+ get
+ {
+ //if (!IsHistoryData) return localD2Md5 != _drawInfo?.d2Md5; //(!IsHistoryData && localD2Md5 != _drawInfo?.d2Md5)
+ //return (IsHistoryData && _drawInfo?.checkRuleResult == 2);
+ return false;
+ }
+ }
/// <summary>
/// 瑙勫垯妫�鏌ョ粨鏋�
/// </summary>
@@ -277,24 +317,29 @@
{
// 鎵句笉鍒版枃妗g殑涓嶅鏍�
if (lost) return false;
- // 涓嶅湪鐗╂枡鏄庣粏琛ㄤ腑涓嶅鏍�
- if (ExcludeFromBOM) return false;
- // 妯$粍涓嶅鏍�
- if (produceWay == "妯$粍") return false;
+ // 璺宠繃妫�鏌ョ殑涓嶅
+ if (skipCheck) return false;
+ // 杩涘叆绯荤粺鐨勪笉瀹℃牳
+ if (BomInfo.inKeeDeeDb == true) return false;
+ //if (_drawInfo.isSpecial) return false;
// 寰呭鏍哥殑涓嶉噸澶嶆彁浜�
if (drawStatus == "submitted" || drawStatus == "resubmitted") return false;
- if (IsHistoryData)
- {
- // 鍘嗗彶鍥剧焊鍙鏍镐竴鑷存�т笉閫氳繃鐨� 鍜岃椹冲洖鐨�
- return _drawInfo.checkRuleResult == 2 || drawStatus == "rejected";
- }
- else
- {
- // 闈炲巻鍙插浘绾稿彧瀹℃牳 鍏佽瀹℃牳鐨勫姞宸ヤ欢
- return produceWay == "鍔犲伐浠�"
- && (drawStatus != "submitted" && drawStatus != "resubmitted")
- && (drawStatus != "completed" || localDocChanged);
- }
+ return produceWay == "鍔犲伐浠�" && (drawStatus != "submitted" && drawStatus != "resubmitted")
+ && (drawStatus != "completed");
+
+ /// 浠ュ墠杩樿鍒嗗浘绾稿彉鏇达紝鐜板湪涓嶅紕浜�
+ //if (IsHistoryData)
+ //{
+ // // 鍘嗗彶鍥剧焊鍙鏍镐竴鑷存�т笉閫氳繃鐨� 鍜岃椹冲洖鐨�
+ // return _drawInfo.checkRuleResult == 2 || drawStatus == "rejected";
+ //}
+ //else
+ //{
+ // // 闈炲巻鍙插浘绾稿彧瀹℃牳 鍏佽瀹℃牳鐨勫姞宸ヤ欢
+ // return produceWay == "鍔犲伐浠�"
+ // && (drawStatus != "submitted" && drawStatus != "resubmitted")
+ // && (drawStatus != "completed" || localDocChanged);
+ //}
}
}
@@ -304,18 +349,18 @@
/// <returns></returns>
public string NeedStopCheckIn()
{
- if (produceWay == "妯$粍") return null;
- if (ExcludeFromBOM) return null;
+ if (skipCheck) return null;
+ if (BomInfo.inKeeDeeDb == true) return null;
if (IsHistoryData)
{
bool err = false;
string msg = $"鍘嗗彶鍥剧焊銆恵partModel}銆�";
- if (localDocChanged)
+ if (localDocChanged && !noDrw)
{
err = true;
msg += "鍙樻洿鍚庢湭閲嶆柊瀹℃牳;";
}
- else if (drawStatus == "rejected" || drawStatus == "submitted" || drawStatus == "resubmitted")
+ if ((drawStatus == "rejected" || drawStatus == "submitted" || drawStatus == "resubmitted") && BomInfo.inKeeDeeDb != true)
{
err = true;
msg += "鏈�氳繃瀹℃牳";
@@ -325,6 +370,11 @@
{
err = true;
msg += "琚殣钘�;";
+ }
+ if (noDrw)
+ {
+ err = true;
+ msg += "鏈壘鍒板伐绋嬪浘";
}
return err ? msg : null;
}
@@ -342,16 +392,21 @@
error = true;
msg += "琚殣钘�;";
}
- if (produceWay == "鍔犲伐浠�" && drawStatus != "completed")
+ if (produceWay == "鍔犲伐浠�" && drawStatus != "completed" && BomInfo.inKeeDeeDb != true)
{
error = true;
msg += "鏈�氳繃瀹℃牳;";
}
- if (produceWay == "鍔犲伐浠�" && drawStatus == "completed" && localDocChanged)
+ if (produceWay == "鍔犲伐浠�" && drawStatus == "completed" && localDocChanged && !noDrw)
{
error = true;
msg += "鍥剧焊鍙樻洿鍚庢湭閲嶆柊瀹℃牳";
}
+ if (noDrw)
+ {
+ error = true;
+ msg += "鏈壘鍒板伐绋嬪浘";
+ }
return error ? msg : null;
}
return null;
diff --git a/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs b/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs
index 136ad88..79b7a5a 100644
--- a/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs
+++ b/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs
@@ -212,8 +212,9 @@
/// </summary>
/// <param name="doc"></param>
/// <returns></returns>
- public static bool ClearAllCustomProperties(ModelDoc2 doc)
+ public static bool ClearAllCustomProperties(ModelDoc2 doc, out bool needSave)
{
+ needSave = false;
if (doc == null) return false;
Configuration activeConfig = doc.GetActiveConfiguration() as Configuration;
if (activeConfig == null)
@@ -230,8 +231,8 @@
}
foreach (var name in names)
{
-
cpm.Delete2(name);
+ needSave = true;
}
return true;
}
diff --git a/PdmSwPlugin.Common/Util/OpenDocContext.cs b/PdmSwPlugin.Common/Util/OpenDocContext.cs
index 217199d..872cc0a 100644
--- a/PdmSwPlugin.Common/Util/OpenDocContext.cs
+++ b/PdmSwPlugin.Common/Util/OpenDocContext.cs
@@ -5,18 +5,20 @@
{
public class OpenDocContext
{
- public static readonly Hashtable OpenDocs = new Hashtable();
+ public static readonly Hashtable OpenDocs = Hashtable.Synchronized(new Hashtable());
- public static void AddDoc(ModelDoc2 doc, object handler) {
+ public static void AddDoc(ModelDoc2 doc, object handler)
+ {
OpenDocs.Add(doc, handler);
}
- public static bool IsOpenDoc(ModelDoc2 doc) {
+ public static bool IsOpenDoc(ModelDoc2 doc)
+ {
return OpenDocs.ContainsKey(doc);
}
public static void RemoveDoc(ModelDoc2 doc)
- {
+ {
OpenDocs.Remove(doc);
}
diff --git a/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs b/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs
index f8bba5f..d0d5981 100644
--- a/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs
+++ b/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs
@@ -41,6 +41,8 @@
private int bomOrder = 0;
+ public ConcurrentQueue<string> needSaveList { get; set; } = new ConcurrentQueue<string>();
+
/// <summary>
/// 澶氱嚎绋嬩粠鎵撳紑鐨勬牴鏂囨。涓鍙朆OM淇℃伅
/// </summary>
@@ -59,10 +61,22 @@
{
return;
}
- CustomPropertyUtil.ClearAllCustomProperties(sldDoc);
-
Component2 rootComponent = activeConfiguration.GetRootComponent3(false);
string path = rootComponent.GetPathName();
+
+ CustomPropertyUtil.ClearAllCustomProperties(sldDoc, out bool needSave);
+ if (needSave)
+ {
+ int err = 0, warn = 0;
+ if (sldDoc.Save3((int)swSaveAsOptions_e.swSaveAsOptions_AvoidRebuildOnSave, ref err, ref warn))
+ {
+ needSaveList.Enqueue(path);
+ }
+ else
+ {
+ needSaveList.Enqueue($"{path}鑷姩淇濆瓨澶辫触锛屽紓甯镐唬鐮�:{err}");
+ }
+ }
BomInfo bomInfo = GetBomInfoFromDoc(rootComponent);
PdmBom bom = ConcatCacheBom(bomInfo, 0, null, rootComponent);
@@ -123,9 +137,22 @@
{
Component2 childComponent = child as Component2;
ModelDoc2 childDoc = childComponent.GetModelDoc2();
- // 娓呮鏍煎紡涓嶅鐨勫睘鎬�
- CustomPropertyUtil.ClearAllCustomProperties(childDoc);
string childPath = childComponent.GetPathName();
+ // 娓呴櫎鏍煎紡涓嶅鐨勫睘鎬�
+ CustomPropertyUtil.ClearAllCustomProperties(childDoc, out bool needSave);
+ if (needSave)
+ {
+ int err = 0, warn = 0;
+ if (childDoc.Save3((int)swSaveAsOptions_e.swSaveAsOptions_AvoidRebuildOnSave, ref err, ref warn))
+ {
+ needSaveList.Enqueue(childPath);
+ }
+ else
+ {
+ needSaveList.Enqueue($"{childPath}鑷姩淇濆瓨澶辫触锛屽紓甯镐唬鐮�:{err}");
+ }
+ }
+
PdmBom bom = null;
if (BomInfoCache.ContainsKey(childPath))
{
@@ -203,6 +230,7 @@
CacheList = new ConcurrentQueue<PdmBom>();
TreeList = new ConcurrentQueue<PdmBom>();
BomInfoCache = new ConcurrentDictionary<string, BomInfo>();
+ needSaveList = new ConcurrentQueue<string>();
GetBomsFromDocAsync(doc);
return TreeList.OrderBy(e => e.name).ToList(); ;
}
@@ -216,7 +244,7 @@
ModelDoc2 doc = component.GetModelDoc2();
// 鐩存帴鐢ㄦ枃浠跺悕锛屼互鍏� SolidWorks 鍥犱负鏈夊涓浉鍚屾枃浠惰�屾妸 Name2 鍔犱簡 -N 鐨勫悗缂�鍚�
string childPath = component.GetPathName();
- string childName = Path.GetFileNameWithoutExtension(childPath);
+ string childName = System.IO.Path.GetFileNameWithoutExtension(childPath);
if (ModelUtil.Is_Mn(childName))
{
diff --git a/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs b/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs
index 5083893..0baccba 100644
--- a/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs
+++ b/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs
@@ -38,6 +38,13 @@
set => RaiseAndSetIfChanged(ref _title, value);
}
+ private string _header;
+ public string header
+ {
+ get => _header;
+ set => RaiseAndSetIfChanged(ref _header, value);
+ }
+
private ObservableCollection<string> _exceptions;
public ObservableCollection<string> exceptions
@@ -47,11 +54,13 @@
}
- public MultiExWindow(DependencyObject parent, string title, List<string> exceptions)
+ public MultiExWindow(DependencyObject parent, string title, List<string> exceptions,string header = "寮傚父淇℃伅")
{
this.title = title;
+ this.header = header;
InitializeComponent();
DataContext = this;
+ table.Columns[0].Header = header;
if (exceptions == null)
{
this.exceptions = new ObservableCollection<string>();
diff --git a/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs b/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs
index 32b593d..464f6fa 100644
--- a/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs
+++ b/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs
@@ -385,17 +385,28 @@
this.Error($"鏈嶅姟鍣ㄤ腑鏈壘鍒板浘绾告枃浠讹紝璺緞:{filePath}");
return;
}
-
- double[] massData = SwDMUtil.GetMassProperty(filePath, out string errMsg);
- if (massData == null)
+ try
{
- this.Error($"鑾峰彇鍥剧焊涓�鑷存�ф暟鎹け璐ワ紒{errMsg}");
- return;
+ double[] massData = SwDMUtil.GetMassProperty(filePath, out string errMsg);
+ if (massData == null)
+ {
+ //this.Error($"鑾峰彇鍥剧焊涓�鑷存�ф暟鎹け璐ワ紒{errMsg}");
+ //return;
+ throw new Exception(errMsg);
+ }
+ da.fileName = Path.GetFileName(filePath);
+ da.volume = NumberUtil.HandleMass(massData[3]);
+ da.surfaceArea = NumberUtil.HandleMass(massData[4]);
+ da.mass = NumberUtil.HandleMass(massData[5]);
}
- da.fileName = Path.GetFileName(filePath);
- da.volume = NumberUtil.HandleMass(massData[3]);
- da.surfaceArea = NumberUtil.HandleMass(massData[4]);
- da.mass = NumberUtil.HandleMass(massData[5]);
+ catch (Exception ex)
+ {
+ Logger.Warn("Get Doc Mass Data Failed.", ex);
+ da.fileName = Path.GetFileName(filePath);
+ da.volume = 0;
+ da.surfaceArea = 0;
+ da.mass = 0;
+ }
da.pass = true;
Result<object> res = Client.PostSyncAction<object>(da, "drawAudit/complete");
object obj = res.HandleResult();
@@ -533,6 +544,8 @@
public void OnSwActiveDocChange(ModelDoc2 oldDoc, ModelDoc2 newDoc, Component2 comp)
{
+ long start = DateTime.Now.Millisecond;
+ Logger.Debug("Find Open Doc Start...");
string path = newDoc.GetPathName();
Uri fileName;
if (string.IsNullOrEmpty(path))
@@ -549,6 +562,7 @@
var d3Path = new Uri(GetRealFilePath(e.d3RelativePath));
e.IsOpening = fileName == d2Path || fileName == d3Path;
}
+ Logger.Debug($"Find Open Doc {path} End {DateTime.Now.Millisecond - start}ms.");
}
public void OnSwActiveDocSaved(ModelDoc2 doc, Component2 comp)
diff --git a/PdmSwPlugin.Main/Constant/PluginConst.cs b/PdmSwPlugin.Main/Constant/PluginConst.cs
index 522d835..dbef9ca 100644
--- a/PdmSwPlugin.Main/Constant/PluginConst.cs
+++ b/PdmSwPlugin.Main/Constant/PluginConst.cs
@@ -3,6 +3,6 @@
public class PluginConst
{
public static readonly string AppId = "DF23E96F-A469-4302-8367-7FA2F798CD09";
- public static readonly string Version = "0.0.0.44";
+ public static readonly string Version = "0.0.0.45";
}
}
diff --git a/PdmSwPlugin.Main/EventHandler/BaseAttacher.cs b/PdmSwPlugin.Main/EventHandler/BaseAttacher.cs
index 39d3dcb..70ce1ae 100644
--- a/PdmSwPlugin.Main/EventHandler/BaseAttacher.cs
+++ b/PdmSwPlugin.Main/EventHandler/BaseAttacher.cs
@@ -4,10 +4,14 @@
using SolidWorks.Interop.swconst;
using System;
using System.Collections;
+using System.Threading.Tasks;
using System.Windows.Controls;
namespace PdmSwPlugin.Main.EventHandler
{
+ /// <summary>
+ /// 浜嬩欢闄勫姞鍣�
+ /// </summary>
public class BaseAttacher : IEventAttacher, IDocEventHandler
{
public static ILog Logger { get; } = LogManager.GetLogger("SwAddin");
@@ -33,8 +37,9 @@
/// <returns></returns>
public virtual bool AttachEventHandlers()
{
+ // 娣诲姞搴旂敤浜嬩欢鐩戝惉
AttachSwEvents();
- //Listen for events on all currently open docs
+ // 娣诲姞鏂囨。浜嬩欢鐩戝惉
AttachEventsToAllDocuments();
return true;
}
@@ -60,14 +65,55 @@
private bool AttachEventsToAllDocuments()
{
- ModelDoc2 modDoc = (ModelDoc2)SwApp.GetFirstDocument();
- while (modDoc != null)
+ //ModelDoc2 modDoc = (ModelDoc2)SwApp.GetFirstDocument();
+ //while (modDoc != null)
+ //{
+ // if (!OpenDocContext.IsOpenDoc(modDoc))
+ // {
+ // AttachModelDocEventHandler(modDoc);
+ // }
+ // modDoc = (ModelDoc2)modDoc.GetNext();
+ //}
+
+ /// 璇曚竴涓嬪紓姝ラ檮鍔犱簨浠�
+ var objs = SwApp.GetDocuments();
+ if (objs != null && objs.Length > 0)
{
- if (!OpenDocContext.IsOpenDoc(modDoc))
+ Task[] tasks = new Task[objs.Length];
+ for (int i = 0; i < objs.Length; i++)
{
- AttachModelDocEventHandler(modDoc);
+ var obj = objs[i];
+ if (obj is ModelDoc2 modDoc)
+ {
+ tasks[i] = Task.Run(() =>
+ {
+ if (!OpenDocContext.IsOpenDoc(modDoc))
+ {
+ AttachModelDocEventHandler(modDoc);
+ }
+ });
+ }
}
- modDoc = (ModelDoc2)modDoc.GetNext();
+ Task.WaitAll(tasks);
+ }
+ return true;
+ }
+
+ private bool AttachEventsToAllDocuments(ModelDoc2 modDoc)
+ {
+ if (!OpenDocContext.IsOpenDoc(modDoc))
+ {
+ AttachModelDocEventHandler(modDoc);
+ }
+ return true;
+ }
+
+ private bool AttachEventsToAllDocuments(string fileName)
+ {
+ ModelDoc2 modDoc = SwApp.GetOpenDocument(fileName);
+ if (!OpenDocContext.IsOpenDoc(modDoc))
+ {
+ AttachModelDocEventHandler(modDoc);
}
return true;
}
@@ -208,7 +254,7 @@
public int OnFileNew(object newDoc, int docType, string templateName)
{
- AttachEventsToAllDocuments();
+ AttachEventsToAllDocuments((ModelDoc2)newDoc);
return 0;
}
@@ -217,7 +263,13 @@
return 0;
}
- public int FileOpenPostNotify(string FileName)
+ /// <summary>
+ /// Post-notifies an application when a file has been opened.
+ /// 鍦ㄦ墦寮�鏂囦欢鏃� Post-閫氱煡搴旂敤绋嬪簭銆�
+ /// </summary>
+ /// <param name="FileName"></param>
+ /// <returns></returns>
+ public int FileOpenPostNotify(string filePath)
{
AttachEventsToAllDocuments();
return 0;
diff --git a/PdmSwPlugin.Main/SwAddIn/MainControl.cs b/PdmSwPlugin.Main/SwAddIn/MainControl.cs
index 6b1208c..56b44f7 100644
--- a/PdmSwPlugin.Main/SwAddIn/MainControl.cs
+++ b/PdmSwPlugin.Main/SwAddIn/MainControl.cs
@@ -365,19 +365,29 @@
public void DeActiveHandler()
{
- foreach (TabItem item in mainTab.tabControl.Items)
+ try
{
- // 鍚戜富Control娉ㄥ唽浜嬩欢
- if (item.Content is IActiveDocChangeHandler handler)
+ if (mainTab?.tabControl != null)
{
- ActiveDocChangeEvent -= handler.OnSwActiveDocChange;
- ActiveDocSavedEvent -= handler.OnSwActiveDocSaved;
- ActiveDocCustomPropertyChange -= handler.OnCustomPropertyChange;
- DocDestroy -= handler.OnDocDestroy;
- AfterDocDestroy -= handler.AfterDocDestroy;
+ foreach (TabItem item in mainTab.tabControl.Items)
+ {
+ // 鍚戜富Control娉ㄥ唽浜嬩欢
+ if (item.Content is IActiveDocChangeHandler handler)
+ {
+ ActiveDocChangeEvent -= handler.OnSwActiveDocChange;
+ ActiveDocSavedEvent -= handler.OnSwActiveDocSaved;
+ ActiveDocCustomPropertyChange -= handler.OnCustomPropertyChange;
+ DocDestroy -= handler.OnDocDestroy;
+ AfterDocDestroy -= handler.AfterDocDestroy;
+ }
+ }
+ PluginInfos.Clear();
}
}
- PluginInfos.Clear();
+ catch (Exception ex)
+ {
+ Logger.Error("DeActiveHandler Failed.", ex);
+ }
}
/// <summary>
diff --git a/PdmSwPlugin.PDM/Model/PdmControlModel.cs b/PdmSwPlugin.PDM/Model/PdmControlModel.cs
index 7a71c9c..648c70a 100644
--- a/PdmSwPlugin.PDM/Model/PdmControlModel.cs
+++ b/PdmSwPlugin.PDM/Model/PdmControlModel.cs
@@ -44,7 +44,8 @@
public ObservableCollection<PdmBom> BomTree
{
get => _bomTree;
- set {
+ set
+ {
RaiseAndSetIfChanged(ref _bomTree, value);
int count = CacheList != null ? CacheList.Count : 0;
AllBomCount = $"鍏� {count} 鏉�";
@@ -52,8 +53,9 @@
}
}
- public void RefreshSelectedBomCount() {
- int count = CacheList != null ? CacheList.Where(e=>e.selected).Count() : 0;
+ public void RefreshSelectedBomCount()
+ {
+ int count = CacheList != null ? CacheList.Where(e => e.selected).Count() : 0;
SelectedBomCount = $"宸查�変腑 {count} 鏉�";
}
@@ -93,7 +95,7 @@
private Dictionary<string, BomInfo> GetBomsFromWeb(HttpClient Client, PdmBomParam param)
{
Result<Dictionary<string, BomInfo>> result =
- Client.PostSyncAction<Dictionary<string, BomInfo>>(param, "wpf/bom/openApi/bomInfo2");
+ Client.PostSyncAction<Dictionary<string, BomInfo>>(param, "wpf/bom/openApi/bomInfo3");
Dictionary<string, BomInfo> bomInfo = result.HandleResult();
return bomInfo;
}
@@ -113,7 +115,7 @@
allModels = models
};
Result<Dictionary<string, BomInfo>> result =
- Client.PostSyncAction<Dictionary<string, BomInfo>>(param, "wpf/bom/openApi/bomInfo2");
+ Client.PostSyncAction<Dictionary<string, BomInfo>>(param, "wpf/bom/openApi/bomInfo3");
Dictionary<string, BomInfo> bomInfos = result.HandleResult();
Dictionary<string, DrawInfo> drawInfos = new Dictionary<string, DrawInfo>();
FillBomInfo(BomTree.ToList(), bomInfos, drawInfos);
@@ -143,19 +145,22 @@
{
info = bomInfos[partModel];
bom.inDb = true;
- //bom.BomInfo = info;
- bom.BomInfo.id = info.id;
- bom.BomInfo.bomVersion = info.bomVersion;
- bom.BomInfo.checkStatus = info.checkStatus;
- bom.BomInfo.checkUserId = info.checkUserId;
- bom.BomInfo.checkUserName = info.checkUserName;
+ if (!string.IsNullOrEmpty(info.id))
+ {
+ //bom.BomInfo = info;
+ bom.BomInfo.id = info.id;
+ bom.BomInfo.bomVersion = info.bomVersion;
+ bom.BomInfo.checkStatus = info.checkStatus;
+ bom.BomInfo.checkUserId = info.checkUserId;
+ bom.BomInfo.checkUserName = info.checkUserName;
- bom.BomInfo.status = info.status;
- bom.BomInfo.requestUserId = info.requestUserId;
- bom.BomInfo.requestUser = info.requestUser;
- bom.BomInfo.auditUserId = info.auditUserId;
- bom.BomInfo.auditUser = info.auditUser;
-
+ bom.BomInfo.status = info.status;
+ bom.BomInfo.requestUserId = info.requestUserId;
+ bom.BomInfo.requestUser = info.requestUser;
+ bom.BomInfo.auditUserId = info.auditUserId;
+ bom.BomInfo.auditUser = info.auditUser;
+ }
+ bom.BomInfo.inKeeDeeDb = info.inKeeDeeDb;
}
else
{
diff --git a/PdmSwPlugin.PDM/PdmControl.xaml b/PdmSwPlugin.PDM/PdmControl.xaml
index 0870c68..5e8492e 100644
--- a/PdmSwPlugin.PDM/PdmControl.xaml
+++ b/PdmSwPlugin.PDM/PdmControl.xaml
@@ -117,6 +117,47 @@
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Gray"/>
</DataTrigger>
+
+ <DataTrigger Binding="{Binding drawInfo.noDrw}" Value="true">
+ <Setter Property="Text" Value="鏈�氳繃"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Red"/>
+ </DataTrigger>
+
+ <DataTrigger Binding="{Binding skipCheck}" Value="true">
+ <Setter Property="Text" Value="鏃犻渶妫�鏌�"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Gray"/>
+ </DataTrigger>
+
+ <!--<MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsHistoryData}" Value="true"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Text" Value="鏃犻渶妫�鏌�"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Gray"/>
+ </MultiDataTrigger>
+
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsHistoryData}" Value="true"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="true"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Text" Value="鏈�氳繃"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Red"/>
+ </MultiDataTrigger>-->
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding BomInfo.inKeeDeeDb}" Value="true"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Text" Value="宸插叆绯荤粺"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="DarkGreen"/>
+ </MultiDataTrigger>
</Style.Triggers>
</Style>
@@ -125,7 +166,7 @@
<Setter Property="Foreground" Value="Black"/>
<Setter Property="Background" Value="White"/>
<Style.Triggers>
- <DataTrigger Binding="{Binding produceWay}" Value="妯$粍">
+ <DataTrigger Binding="{Binding skipCheck}" Value="true">
<Setter Property="Text" Value="鏃犻渶瀹℃牳"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Gray"/>
@@ -137,7 +178,13 @@
<Setter Property="Background" Value="Gray"/>
</DataTrigger>
- <MultiDataTrigger>
+ <DataTrigger Binding="{Binding drawInfo.isSpecial}" Value="True">
+ <Setter Property="Text" Value="鏃犻渶瀹℃牳"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Gray"/>
+ </DataTrigger>
+
+ <!--<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding drawInfo.HistoryData}" Value="true"/>
<Condition Binding="{Binding localDocChanged}" Value="false"/>
@@ -145,16 +192,41 @@
<Setter Property="Text" Value="鏃犻渶瀹℃牳"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Gray"/>
- </MultiDataTrigger>
+ </MultiDataTrigger>-->
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding drawInfo.HistoryData}" Value="true"/>
<Condition Binding="{Binding localDocChanged}" Value="true"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="false"/>
+ <Condition Binding="{Binding skipCheck}" Value="false"/>
</MultiDataTrigger.Conditions>
<Setter Property="Text" Value="鍘嗗彶鍥剧焊鍙樻洿"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Blue"/>
+ </MultiDataTrigger>
+
+
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding BomInfo.status}" Value="completed"/>
+ <Condition Binding="{Binding localDocChanged}" Value="true"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="false"/>
+ <Condition Binding="{Binding skipCheck}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Text" Value="鏂囨。鍙樻洿"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Blue"/>
+ </MultiDataTrigger>
+
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding skipCheck}" Value="false"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="true"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Text" Value="鏈壘鍒板伐绋嬪浘"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="Red"/>
</MultiDataTrigger>
<MultiDataTrigger>
@@ -165,16 +237,6 @@
<Setter Property="Text" Value="宸查�氳繃"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Green"/>
- </MultiDataTrigger>
-
- <MultiDataTrigger>
- <MultiDataTrigger.Conditions>
- <Condition Binding="{Binding BomInfo.status}" Value="completed"/>
- <Condition Binding="{Binding localDocChanged}" Value="true"/>
- </MultiDataTrigger.Conditions>
- <Setter Property="Text" Value="鏂囨。鍙樻洿"/>
- <Setter Property="Foreground" Value="White"/>
- <Setter Property="Background" Value="Blue"/>
</MultiDataTrigger>
<DataTrigger Binding="{Binding BomInfo.status}" Value="submitted">
@@ -192,6 +254,16 @@
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Red"/>
</DataTrigger>
+
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding BomInfo.inKeeDeeDb}" Value="true"/>
+ <Condition Binding="{Binding drawInfo.noDrw}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Text" Value="宸插叆绯荤粺"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Background" Value="DarkGreen"/>
+ </MultiDataTrigger>
</Style.Triggers>
</Style>
diff --git a/PdmSwPlugin.PDM/PdmControl.xaml.cs b/PdmSwPlugin.PDM/PdmControl.xaml.cs
index 6e6148a..e7667fb 100644
--- a/PdmSwPlugin.PDM/PdmControl.xaml.cs
+++ b/PdmSwPlugin.PDM/PdmControl.xaml.cs
@@ -1,45 +1,40 @@
-锘縰sing PdmSwPlugin.Common.Interface;
-using SolidWorks.Interop.sldworks;
-using System.Collections.Generic;
-using System.Linq;
-using System.Windows.Controls;
-using PdmSwPlugin.Common;
-using System.Collections.ObjectModel;
-using System.Net.Http;
-using System.Threading.Tasks;
-using System.Windows;
-using System;
-using NPOI.SS.UserModel;
-using NPOI.XSSF.UserModel;
-using System.IO;
+锘縰sing log4net;
using Microsoft.Win32;
+using NPOI.SS.UserModel;
using NPOI.Util;
+using NPOI.XSSF.UserModel;
+using PdmSwPlugin.Commmon.Control;
+using PdmSwPlugin.Commmon.Util.UI;
+using PdmSwPlugin.Common;
using PdmSwPlugin.Common.Constants;
-using System.Threading;
-using log4net;
+using PdmSwPlugin.Common.Control.TreeGrid;
+using PdmSwPlugin.Common.Entity.DrawAudit;
+using PdmSwPlugin.Common.Entity.Pdm;
+using PdmSwPlugin.Common.Entity.System;
+using PdmSwPlugin.Common.Interface;
+using PdmSwPlugin.Common.Setting;
using PdmSwPlugin.Common.Util;
using PdmSwPlugin.Common.Util.Http;
-using PdmSwPlugin.Commmon.Util.UI;
-using PdmSwPlugin.Common.Entity.Pdm;
-using PdmSwPlugin.Common.Control.TreeGrid;
-using System.Windows.Data;
-using SolidWorks.Interop.swconst;
-using PdmSwPlugin.Common.Entity.DrawAudit;
-using System.Collections.Concurrent;
using PdmSwPlugin.Common.Util.UI;
-using PdmSwPlugin.Common.Setting;
-using PdmSwPlugin.PDM.Model;
-using System.Diagnostics;
using PdmSwPlugin.PDM.Constant;
-using static PdmSwPlugin.PDM.Event.PdmEvent;
+using PdmSwPlugin.PDM.Model;
+using SolidWorks.Interop.sldworks;
+using SolidWorks.Interop.swconst;
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
using System.Windows.Interop;
-using PdmSwPlugin.Commmon.Control;
-using PdmSwPlugin.Common.Entity.System;
-using System.Windows.Documents;
-using System.Windows.Input;
-using NPOI.POIFS.Properties;
-using NPOI.POIFS.Crypt;
-using System.Threading.Tasks.Schedulers;
+using static PdmSwPlugin.PDM.Event.PdmEvent;
namespace PdmSwPlugin.PDM
{
@@ -169,6 +164,15 @@
}
}
+ public void AutoSaveAlert(List<string> msgs)
+ {
+ //Dispatcher.Invoke(() =>
+ //{
+ // MultiExWindow exWin = new MultiExWindow(this, "浠ヤ笅鏂囨。鍥犲垹闄ょ壒瀹氶厤缃�岃淇濆瓨", msgs, "鏂囦欢璺緞");
+ // ShowExWindow(exWin);
+ //});
+ }
+
/// <summary>
/// 鍒锋柊鎸夐挳
/// </summary>
@@ -187,6 +191,11 @@
await Task.Run(() =>
{
RefreshBomList(SwApp.IActiveDoc2);
+ if (model.bomTreeReader.needSaveList.Count > 0)
+ {
+ List<string> msgs = new List<string>(model.bomTreeReader.needSaveList);
+ AutoSaveAlert(msgs);
+ }
});
Logger.Debug("PDM鎻掍欢锛屽垪琛ㄥ埛鏂板畬鎴愶紒");
}
@@ -1004,8 +1013,13 @@
allProperties["鍘嗗彶鍥剧焊"] = drawInfo.HistoryData.ToString();
string drawFilePath = filepath.Replace(Path.GetExtension(filepath), ".slddrw");
bool drawExists = File.Exists(drawFilePath);
- // 宸ョ▼鍥句竴鑷存�ф鏌�
+ // 宸ョ▼鍥句竴鑷存�ф鏌�
allProperties["宸ョ▼鍥炬槸鍚﹀瓨鍦�"] = drawExists.ToString();
+ // 涓嶈烦杩囨鏌ョ殑鍔犲伐浠讹紝濡傛灉宸ョ▼鍥句笉瀛樺湪锛岃缃畁oDrw涓簍rue
+ if (!drawExists && !bom.skipCheck && bom.produceWay == "鍔犲伐浠�")
+ {
+ drawInfo.noDrw = true;
+ }
allProperties["md5"] = bom.localD3Md5;
if (bom.lost || bom.BomInfo.isHidden || sldDoc == null)
{
@@ -1107,11 +1121,10 @@
if (!bom.skipCheck)
{
result[filepath] = GetSingleDrawInfo(bom);
+ if (bom.BomInfo.inKeeDeeDb == true) result[filepath]._inKeeDeeDb = true;
+
}
}
-
-
-
ObservableCollection<PdmBom> children = bom.modules;
if (children != null)
@@ -1186,7 +1199,7 @@
bool allSuccess = true;
Dictionary<string, DrawInfo> properties = GetAllPropertiesByTask(temp);
MaskAdorner.ShowMessage(content, "姝e湪璇锋眰鏁版嵁...");
- // var factory = LimitedConcurrencyLevelTaskScheduler.Factory;
+ // var factory = LimitedConcurrencyLevelTaskScheduler.Factory;
CountdownEvent counter = new CountdownEvent(properties.Count);
int iii = 0;
foreach (KeyValuePair<string, DrawInfo> property in properties)
@@ -1199,24 +1212,29 @@
try
{
Logger.Error($"{key} checking rule...");
+ DrawInfo checkResult;
Result<DrawInfo> result = Client.PostSyncAction<DrawInfo>(property.Value, "wpf/bom/openApi/checkRuleSingle");
- DrawInfo checkResult = result.HandleResult();
+ checkResult = result.HandleResult();
properties[key].checkRuleResult = checkResult.checkRuleResult;
properties[key].errMessages = checkResult.errMessages;
var msgs = checkResult.errMessages;
- if (!properties[key].HistoryData && (!checkResult.checkRuleOk||property.Value.isHidden))
+ if (property.Value.noDrw || property.Value.isHidden || (!properties[key].HistoryData && (!checkResult.checkRuleOk)))
{
allSuccess = false;
}
- if (!properties[key].HistoryData)
+ lock (temp)
{
- lock (temp)
+ if (property.Value.isHidden)
{
- if (property.Value.isHidden)
- {
- temp.Add($"鐗╂枡銆恵key}銆戣璁剧疆涓洪殣钘�!");
- }
+ temp.Add($"鐗╂枡銆恵key}銆戣璁剧疆涓洪殣钘�!");
+ }
+ if (property.Value.noDrw && property.Value.HistoryData)
+ {
+ temp.Add($"鐗╂枡銆恵key}銆戞湭鎵惧埌宸ョ▼鍥�!");
+ }
+ if (!properties[key].HistoryData)
+ {
if (msgs != null && msgs.Count > 0)
{
foreach (string msg in msgs)
@@ -1419,6 +1437,12 @@
try
{
RefreshBomList(SwApp.IActiveDoc2);
+ if (model.bomTreeReader.needSaveList.Count > 0)
+ {
+ List<string> infos = new List<string>(model.bomTreeReader.needSaveList);
+ AutoSaveAlert(infos);
+ }
+
if (!DoCheckRuleAsync(out List<string> msgs))
{
Dispatcher.Invoke(() =>
@@ -1468,7 +1492,7 @@
try
{
// 瀵规墍鏈夌殑BOM鍋氳鍒欐鏌�
- bool allSuccess = DoCheckRule(out _);
+ bool allSuccess = DoCheckRuleAsync(out _);
// 鍏堣幏鍙栨墍鏈夌殑BOM
HashSet<string> cache = new HashSet<string>();
// 鐒跺悗绛涢�夐�変腑鐨凚OM
@@ -1497,12 +1521,20 @@
if (!allSuccess)
{
// 濡傛灉鏈夋湭閫氳繃鐨勫浘绾革紝闇�瑕佹彁绀�
- var err = boms.Where(b => !b.IsHistoryData && !b.checkRuleOk).ToList();
+ var err = boms.Where(b => b.noDrw || b.isHidden || (!b.IsHistoryData && (!b.checkRuleOk))).ToList();
if (err != null && err.Count > 0)
{
List<string> msgs = new List<string>();
foreach (var ee in err)
{
+ if (ee.noDrw && ee.IsHistoryData)
+ {
+ msgs.Add($"鐗╂枡銆恵ee.partNo}銆戞湭閫氳繃瑙勫垯妫�鏌ワ紒鏈壘鍒板伐绋嬪浘");
+ }
+ if (ee.drawInfo.isHidden)
+ {
+ msgs.Add($"鐗╂枡銆恵ee.partNo}銆戞湭閫氳繃瑙勫垯妫�鏌ワ紒琚涓洪殣钘�");
+ }
if (ee.drawInfo.errMessages == null)
{
msgs.Add($"鐗╂枡銆恵ee.partNo}銆戞湭閫氳繃瑙勫垯妫�鏌ワ紒");
@@ -1524,6 +1556,10 @@
}
// 閮介�氳繃浜嗭紝鍐嶈繘琛屽鎵�
+
+ // 绛涢�夐潪鐗规畩鐨勫鏍�
+ boms = boms.Where(b => !b._drawInfo.isSpecial).ToList();
+ if (boms == null || boms.Count <= 0) return;
// 鍏堢敵璇峰崟鍙�
DrawAuditOrder daOrder = new DrawAuditOrder
@@ -1760,50 +1796,69 @@
/// <param name="e"></param>
private void TextBox_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
- // 妫�鏌ユ槸鍚︽槸鍙屽嚮
- if (e.ClickCount == 2)
+ try
{
- TextBlock textBlock = sender as TextBlock;
- PdmBom bom = textBlock.DataContext as PdmBom;
- if (bom.checkRuleResult == 0)
+ // 妫�鏌ユ槸鍚︽槸鍙屽嚮
+ if (e.ClickCount == 2)
{
- this.Warning("璇ュ浘绾歌繕鏈鏌�");
- return;
- }
- if (bom.checkRuleResult == 3)
- {
- string title = string.Empty;
- if (bom.IsHistoryData)
+ TextBlock textBlock = sender as TextBlock;
+ PdmBom bom = textBlock.DataContext as PdmBom;
+ if (bom.checkRuleResult == 0)
{
- title = "鍘嗗彶鍥剧焊鏃犻渶妫�鏌�";
+ this.Warning("璇ュ浘绾歌繕鏈鏌�");
+ return;
}
- else if (bom.ExcludeFromBOM)
- {
- title = "涓嶅湪鐗╂枡鏄庣粏琛ㄤ腑鐨勭墿鏂欐棤闇�妫�鏌�";
- }
- else if (bom.component?.IsVirtual == true)
- {
- title = "铏氭嫙浠舵棤闇�妫�鏌�";
- }
- this.Info(title);
- return;
- }
- if (bom.checkRuleOk && !bom.isHidden)
- {
- this.Show("瑙勫垯妫�鏌ラ�氳繃");
- }
- else
- {
List<string> errs = new List<string>();
+ if (bom.noDrw && bom.IsHistoryData)
+ {
+ errs.Add("宸ョ▼鍥句笉瀛樺湪 ");
+ }
if (bom.isHidden)
{
errs.Add("鏂囨。琚缃负闅愯棌");
}
- errs.AddRange(bom.drawInfo.errMessages);
- MultiExWindow exWin = new MultiExWindow(this, "妫�鏌ョ粨鏋�", errs);
- exWin.ShowDialog();
+ if (bom.drawInfo.errMessages != null)
+ {
+ errs.AddRange(bom.drawInfo.errMessages);
+ }
+ if (errs.Count > 0)
+ {
+ MultiExWindow exWin = new MultiExWindow(this, "妫�鏌ョ粨鏋�", errs);
+ exWin.ShowDialog();
+ }
+ else if (bom.checkRuleResult == 3)
+ {
+ string title = string.Empty;
+ if (bom.IsHistoryData)
+ {
+ title = "鍘嗗彶鍥剧焊鏃犻渶妫�鏌�";
+ }
+ else if (bom.ExcludeFromBOM)
+ {
+ title = "涓嶅湪鐗╂枡鏄庣粏琛ㄤ腑鐨勭墿鏂欐棤闇�妫�鏌�";
+ }
+ else if (bom.component?.IsVirtual == true)
+ {
+ title = "铏氭嫙浠舵棤闇�妫�鏌�";
+ }
+ else
+ {
+ title = "鏃犻渶妫�鏌�";
+ }
+ this.Info(title);
+ return;
+ }
+ else if (bom.checkRuleOk && !bom.isHidden)
+ {
+ this.Show("瑙勫垯妫�鏌ラ�氳繃");
+ }
}
+ }
+ catch (Exception ex)
+ {
+ Logger.Error("Double Click CheckRule Exception.", ex);
+ this.Error($"鏈煡寮傚父:{ex.Message}");
}
}
@@ -1814,59 +1869,77 @@
/// <param name="e"></param>
private void AuditTextBox_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
- // 妫�鏌ユ槸鍚︽槸鍙屽嚮
- if (e.ClickCount == 2)
+ try
{
- TextBlock textBlock = sender as TextBlock;
- PdmBom bom = textBlock.DataContext as PdmBom;
- if (string.IsNullOrEmpty(bom.BomInfo.status))
+ // 妫�鏌ユ槸鍚︽槸鍙屽嚮
+ if (e.ClickCount == 2)
{
- if (bom.produceWay == "妯$粍" || bom.produceWay == "鏍囧噯浠�")
+ TextBlock textBlock = sender as TextBlock;
+ PdmBom bom = textBlock.DataContext as PdmBom;
+ if (bom._drawInfo.isSpecial)
{
- this.Info($"{bom.produceWay}鏃犻渶瀹℃牳");
+ this.Info("鏃犻渶瀹℃牳");
return;
}
- if (bom.IsHistoryData && !bom.localDocChanged)
+ if (bom.BomInfo.inKeeDeeDb == true)
{
- this.Info("鍘嗗彶鍥剧焊鏃犻渶瀹℃牳");
+ this.Info("宸插叆绯荤粺");
return;
}
- if (bom.IsHistoryData && bom.localDocChanged)
+ if (string.IsNullOrEmpty(bom.BomInfo.status))
{
- this.Info("鍘嗗彶鍥剧焊涓�鑷存�у彉鏇达紝闇�瀹℃牳");
- return;
- }
- this.Warning("璇ュ浘绾告湭瀹℃牳");
- return;
- }
- MaskAdorner.ShowMask(content, "璇锋眰涓紝璇风◢鍚�...");
- Task.Run(() =>
- {
- try
- {
- Result<List<DrawAuditHis>> res = Client.GetSyncAction<List<DrawAuditHis>>("drawAudit/listTaskHis", new DrawAudit
+ if (bom.produceWay == "妯$粍" || bom.produceWay == "鏍囧噯浠�")
{
- id = bom.BomInfo.id
- });
- var datas = res.HandleResult();
- Dispatcher.Invoke(() =>
+ this.Info($"{bom.produceWay}鏃犻渶瀹℃牳");
+ return;
+ }
+ if (bom.IsHistoryData && !bom.localDocChanged)
{
- //DrawAuditHisWindow window = new DrawAuditHisWindow(this, $"銆恵bom.partModel}銆戝鏍歌鎯�", datas);
- RichHisWindow window = new RichHisWindow(this, $"銆恵bom.partModel}銆戝鏍歌鎯�", datas);
+ this.Info("鍘嗗彶鍥剧焊鏃犻渶瀹℃牳");
+ return;
+ }
+ if (bom.IsHistoryData && bom.localDocChanged)
+ {
+ this.Info("鍘嗗彶鍥剧焊涓�鑷存�у彉鏇达紝闇�瀹℃牳");
+ return;
+ }
+ this.Warning("璇ュ浘绾告湭瀹℃牳");
+ return;
+ }
+ MaskAdorner.ShowMask(content, "璇锋眰涓紝璇风◢鍚�...");
+ Task.Run(() =>
+ {
+ try
+ {
+ Result<List<DrawAuditHis>> res = Client.GetSyncAction<List<DrawAuditHis>>("drawAudit/listTaskHis", new DrawAudit
+ {
+ id = bom.BomInfo.id
+ });
+ var datas = res.HandleResult();
+ Dispatcher.Invoke(() =>
+ {
+ //DrawAuditHisWindow window = new DrawAuditHisWindow(this, $"銆恵bom.partModel}銆戝鏍歌鎯�", datas);
+ RichHisWindow window = new RichHisWindow(this, $"銆恵bom.partModel}銆戝鏍歌鎯�", datas);
- window.ShowDialog();
- });
- }
- catch (Exception ex)
- {
- Logger.Error($"V{PdmUser.LoginUser.pluginVersion}, Get draw audit history failed.", ex);
- this.Error($"V{PdmUser.LoginUser.pluginVersion}锛岃幏鍙栧鏍稿巻鍙插け璐ワ紒{ex.Message}");
- }
- finally
- {
- MaskAdorner.HideMask(content);
- }
- });
+ window.ShowDialog();
+ });
+ }
+ catch (Exception ex)
+ {
+ Logger.Error($"V{PdmUser.LoginUser.pluginVersion}, Get draw audit history failed.", ex);
+ this.Error($"V{PdmUser.LoginUser.pluginVersion}锛岃幏鍙栧鏍稿巻鍙插け璐ワ紒{ex.Message}");
+ }
+ finally
+ {
+ MaskAdorner.HideMask(content);
+ }
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ Logger.Error("Double Click Audit Status Exception.", ex);
+ this.Error($"鏈煡寮傚父:{ex.Message}");
}
}
@@ -1997,6 +2070,12 @@
{
throw new CantCheckInException(new List<string> { "璇锋墦寮�涓�寮犲浘绾�" });
}
+ if (model.bomTreeReader.needSaveList.Count > 0)
+ {
+ List<string> infos = new List<string>(model.bomTreeReader.needSaveList);
+ AutoSaveAlert(infos);
+ }
+
DoCheckRuleAsync(out _);
// 绛涢�夋墍鏈夊湪鐗╂枡鏄庣粏琛ㄤ腑锛屼笉璺宠繃妫�鏌ュ苟涓旀鏌ユ湭閫氳繃鐨勶紝绫诲瀷鏄姞宸ヤ欢鐨勬湭閫氳繃瀹℃牳鐨勶紝鍔犲伐浠跺鏍搁�氳繃鐨勪絾鍥剧焊鍙樻洿鐨�
List<string> errs = model.bomTreeReader.CacheList.Select(b => b.NeedStopCheckIn())
diff --git a/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs b/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs
index c9ae722..2ab4104 100644
--- a/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs
+++ b/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs
@@ -234,26 +234,33 @@
public void InitPropertyData()
{
- if (Client == null)
+ try
{
- Client = clientCreator.GetClient();
+ if (Client == null)
+ {
+ Client = clientCreator.GetClient();
+ }
+ DefaultPanel defaultPanel = new DefaultPanel();
+ controlCache.Add("default", defaultPanel);
+
+ JgjPartPanel jgjPart = new JgjPartPanel();
+ controlCache.Add("jgjPart", jgjPart);
+
+ JgjModulePanel jgjModule = new JgjModulePanel();
+ controlCache.Add("jgjModule", jgjModule);
+
+ var stPart = new StandardPartPanel();
+ controlCache.Add("standardPart", stPart);
+
+ var stModule = new StandardModulePanel();
+ controlCache.Add("standardModule", stModule);
+ LoadComboxItemSource();
+ Refresh_Click(null, null);
}
- DefaultPanel defaultPanel = new DefaultPanel();
- controlCache.Add("default", defaultPanel);
-
- JgjPartPanel jgjPart = new JgjPartPanel();
- controlCache.Add("jgjPart", jgjPart);
-
- JgjModulePanel jgjModule = new JgjModulePanel();
- controlCache.Add("jgjModule", jgjModule);
-
- var stPart = new StandardPartPanel();
- controlCache.Add("standardPart", stPart);
-
- var stModule = new StandardModulePanel();
- controlCache.Add("standardModule", stModule);
- LoadComboxItemSource();
- Refresh_Click(null, null);
+ catch (Exception ex)
+ {
+ Logger.Error($"PropertySetting Init Error!", ex);
+ }
}
private void Jgj_SinglePropertyChanged(object sender, string name, object value)
@@ -285,6 +292,8 @@
private void UpdateActiveDoc()
{
+ long start = DateTime.Now.Millisecond;
+ Logger.Debug("UpdateActiveDoc Start...");
if (activeDoc != null)
{
DetachDocNotify(activeDoc);
@@ -300,7 +309,11 @@
activeDoc.ClearSelection2(true);
}
}
+ Logger.Debug($"UpdateActiveDoc End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms.");
+ start = DateTime.Now.Millisecond;
+ Logger.Debug("UpdateUI Start...");
UpdateUI(activeDoc);
+ Logger.Debug($"UpdateUI End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms.");
}
/// <summary>
@@ -382,9 +395,10 @@
ReadDoc = doc;
Dispatcher.Invoke(() =>
{
- SwitchVisiable();
+
// LoadDocProperties();
});
+ SwitchVisiable();
}
private int Ass_UserSelectionPostNotify()
@@ -419,6 +433,9 @@
/// </summary>
private void SwitchVisiable()
{
+ var start = DateTime.Now.Millisecond;
+ Logger.Debug("SwitchVisiable Start...");
+
HashSet<string> skipName = new HashSet<string> {
NameConstant.materialCode
};
@@ -522,9 +539,15 @@
last = null;
}
ActiveOpter = control;
- contentPanel.Children.Clear();
newOne.UpdateProperty += Jgj_SinglePropertyChanged;
- contentPanel.Children.Add(control);
+
+ Dispatcher.Invoke(() =>
+ {
+ contentPanel.Children.Clear();
+ contentPanel.Children.Add(control);
+ });
+
+ Logger.Debug($"SwitchVisiable End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms.");
}
/// <summary>
@@ -694,11 +717,19 @@
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
- if (ReadDoc == null)
+ try
{
- return;
+ if (ReadDoc == null)
+ {
+ return;
+ }
+ SaveDoc(false);
}
- SaveDoc(false);
+ catch (Exception ex)
+ {
+ Logger.Error($"Property Setting Save Doc Error!", ex);
+ this.Error($"淇濆瓨澶辫触!{ex.Message}");
+ }
}
public void RefreshData()
@@ -773,12 +804,20 @@
public void OnCustomPropertyChange(string propName, string Configuration, string oldValue, string NewValue, int valueType)
{
- if (oldValue == NewValue)
+ try
{
- return;
+ if (oldValue == NewValue)
+ {
+ return;
+ }
+ IPropertyOpt opt = ActiveOpter as IPropertyOpt;
+ opt.UpdateSingleProperty(propName, NewValue);
}
- IPropertyOpt opt = ActiveOpter as IPropertyOpt;
- opt.UpdateSingleProperty(propName, NewValue);
+ catch (Exception ex)
+ {
+ Logger.Error("Property Setting OnCustomPropertyChange Error!", ex);
+ this.Error($"灞炴�у彉鏇村紓甯革紒{ex.Message}");
+ }
}
public void OnDocDestroy(ModelDoc2 doc)
@@ -796,6 +835,8 @@
/// </summary>
public void AlertSaveWindow()
{
+ var start = DateTime.Now.Millisecond;
+ Logger.Debug("AlertSaveWindow Start...");
IPropertyOpt opt = ActiveOpter as IPropertyOpt;
if (opt != null && opt.GetDocChanged())
{
@@ -818,29 +859,38 @@
opt.ResetProperty(out string errMsg);
}
}
+ Logger.Debug($"AlertSaveWindow End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms.");
}
public void OnTabControlSelectionChange(object sender, SelectionChangedEventArgs e)
{
- if (e.RemovedItems == null)
+ try
{
- return;
- }
-
- foreach (object obj in e.RemovedItems)
- {
- if (obj is TabItem item)
- {
- if (item.Content == this)
- {
- AlertSaveWindow();
- break;
- }
- }
- else
+ if (e.RemovedItems == null)
{
return;
}
+
+ foreach (object obj in e.RemovedItems)
+ {
+ if (obj is TabItem item)
+ {
+ if (item.Content == this)
+ {
+ AlertSaveWindow();
+ break;
+ }
+ }
+ else
+ {
+ return;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Logger.Error($"Property Setting OnTabControlSelectionChange Error!", ex);
+ this.Error($"{ex.Message}");
}
}
}
--
Gitblit v1.9.1