.vs/SwPlugin/v17/DocumentLayout.json
@@ -3,36 +3,28 @@ "WorkspaceRootPath": "C:\\Workspace\\PdmSwPlugin2\\", "Documents": [ { "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|c:\\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:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|c:\\workspace\\pdmswplugin2\\pdmswplugin.common\\entity\\drawaudit\\drawaudit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\entity\\drawaudit\\drawaudit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|C:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\control\\richhiswindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\control\\richhiswindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" "AbsoluteMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|c:\\workspace\\pdmswplugin2\\pdmswplugin.drawapprove\\drawapprove.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawapprove.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" }, { "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|C:\\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:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|c:\\workspace\\pdmswplugin2\\pdmswplugin.drawapprove\\drawapprove.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawapprove.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|C:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\bominiter\\bominiter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\bominiter\\bominiter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|c:\\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:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|C:\\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:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|c:\\workspace\\pdmswplugin2\\pdmswplugin.common\\entity\\drawaudit\\drawauditorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\entity\\drawaudit\\drawauditorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|C:\\Workspace\\PdmSwPlugin2\\pdmsw\\prodsettings\\pluginsetting.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\prodsettings\\pluginsetting.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" }, { "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|C:\\Workspace\\PdmSwPlugin2\\pdmsw\\settings\\pluginsetting.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\settings\\pluginsetting.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" }, { "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|C:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\swaddin\\maincontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\swaddin\\maincontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|c:\\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}" } ], "DocumentGroupContainers": [ @@ -42,103 +34,84 @@ "DocumentGroups": [ { "DockedWidth": 200, "SelectedChildIndex": 0, "SelectedChildIndex": 5, "Children": [ { "$type": "Document", "DocumentIndex": 0, "Title": "SwAddin.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs", "RelativeDocumentMoniker": "PdmSw\\SwAddin.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs", "RelativeToolTip": "PdmSw\\SwAddin.cs", "ViewState": "AQIAAAcAAAAAAAAAAAAAABIAAAAnAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-16T02:28:52.727Z", "DocumentIndex": 1, "Title": "DrawApprove.xaml", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml", "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml", "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", "WhenOpened": "2024-08-20T03:02:33.757Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 1, "Title": "RichHisWindow.xaml", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Control\\RichHisWindow.xaml", "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Control\\RichHisWindow.xaml", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Control\\RichHisWindow.xaml", "RelativeToolTip": "PdmSwPlugin.Common\\Control\\RichHisWindow.xaml", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", "WhenOpened": "2024-08-16T02:26:26.745Z" }, { "$type": "Document", "DocumentIndex": 2, "Title": "YwtBomIniter.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs", "RelativeToolTip": "PdmSwPlugin.Common\\BomIniter\\YwtBomIniter.cs", "ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAABLAAAA", "DocumentIndex": 4, "Title": "DrawAuditOrder.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", "RelativeToolTip": "PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAFAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-15T08:33:54.519Z" }, { "$type": "Document", "DocumentIndex": 3, "Title": "BomIniter.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\BomIniter.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Common\\BomIniter\\BomIniter.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\BomIniter\\BomIniter.cs", "RelativeToolTip": "PdmSwPlugin.Common\\BomIniter\\BomIniter.cs", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-15T08:33:51.192Z" "WhenOpened": "2024-08-20T02:13:49.926Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 5, "Title": "PluginSetting.xml", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSw\\ProdSettings\\PluginSetting.xml", "RelativeDocumentMoniker": "PdmSw\\ProdSettings\\PluginSetting.xml", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSw\\ProdSettings\\PluginSetting.xml", "RelativeToolTip": "PdmSw\\ProdSettings\\PluginSetting.xml", "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAAPAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003576|", "WhenOpened": "2024-08-12T10:16:18.735Z" }, { "$type": "Document", "DocumentIndex": 6, "Title": "PluginSetting.xml", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSw\\Settings\\PluginSetting.xml", "RelativeDocumentMoniker": "PdmSw\\Settings\\PluginSetting.xml", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSw\\Settings\\PluginSetting.xml", "RelativeToolTip": "PdmSw\\Settings\\PluginSetting.xml", "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAXAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003576|", "WhenOpened": "2024-08-12T10:16:06.032Z" }, { "$type": "Document", "DocumentIndex": 4, "Title": "MainControl.xaml.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs", "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml.cs", "ViewState": "AQIAAIUAAAAAAAAAAAAAAJAAAAANAAAA", "Title": "PluginConst.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", "RelativeToolTip": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-12T10:08:35.904Z" "WhenOpened": "2024-08-18T12:05:54.617Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 7, "Title": "MainControl.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", "RelativeToolTip": "PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", "ViewState": "AQIAADcAAAAAAAAAAAAkwG0AAAANAAAA", "DocumentIndex": 3, "Title": "PdmControl.xaml.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs", "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs", "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml.cs", "ViewState": "AQIAAMoEAAAAAAAAAAApwNoEAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-12T09:19:59.648Z" "WhenOpened": "2024-08-18T08:40:17.518Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 2, "Title": "DrawApprove.xaml.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml.cs", "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml.cs", "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml.cs", "ViewState": "AQIAABoBAAAAAAAAAAAcwCUBAAAdAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-18T08:30:42.283Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 0, "Title": "DrawAudit.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAudit.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAudit.cs", "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAudit.cs", "RelativeToolTip": "PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAudit.cs", "ViewState": "AQIAAAYAAAAAAAAAAAAAABAAAAAfAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-18T08:28:05.337Z", "EditorCaption": "" } ] } InnoSetupScript/PdmSwPlugin.iss
File was renamed from SetupScript/SetupScript.iss @@ -3,14 +3,14 @@ ; AppName #define AppName = "PdmSwPlugin" ; 打包的应用文件夹路径 #define AppDir = "C:\Users\cheng\Documents\Workspace\PdmSw\bin\x64\Debug\" #define AppDir = "C:\Workspace\PdmSwPlugin2\PdmSw\bin\x64\Release\" ; 自动更新程序路径 #define AutoUpdaterDir = "C:\Users\cheng\Documents\Workspace\PdmSw\bin\x64\Debug\AutoUpdater\" #define AutoUpdaterDir = "C:\Workspace\PdmSwPlugin2\PdmSw\bin\x64\Release\Release\AutoUpdater\" ; 版本 #define Version = "0.1" #define Version = "0.0.0.35" ; 生成的Installer存放路径 #define OutPutDir = "C:\temp\Test" #define OutPutDir = "Z:\Main\Workspace\Output" #define DllName = "PdmSwPlugin.dll" @@ -22,14 +22,14 @@ AppVersion={#Version} ;AppVerName=Test 1.0 ; 安装路径 C:\Program Files (x86)\LHJ\PdmSwPlugin DefaultDirName={autopf}\LHJ\PdmSwPlugin DefaultDirName={autopf}\HengXin\PdmSwPlugin DisableDirPage=yes DefaultGroupName=PdmSwPlugin DisableProgramGroupPage=yes ; Uncomment the following line to run in non administrative install mode (install for current user only.) ;PrivilegesRequired=lowest OutputDir={#OutputDir} OutputBaseFilename=PdmSwPluginInstaller OutputBaseFilename=PdmSwPluginInstaller_V{#Version} Compression=lzma SolidCompression=yes WizardStyle=modern @@ -61,12 +61,12 @@ ; 32 Root: HKLM; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; Flags: uninsdeletekey Root: HKLM; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: dword; ValueName: ""; ValueData: 0; Flags: deletevalue Root: HKLM; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: string; ValueName: "Description"; ValueData: "LHJ插件"; Flags: deletevalue Root: HKLM; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: string; ValueName: "Description"; ValueData: "PDM插件"; Flags: deletevalue Root: HKLM; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: string; ValueName: "Title"; ValueData: "PdmSw"; Flags: deletevalue ; 64 Root: HKLM64; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; Flags: uninsdeletekey Root: HKLM64; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: dword; ValueName: ""; ValueData: 0; Flags: deletevalue Root: HKLM64; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: string; ValueName: "Description"; ValueData: "LHJ插件"; Flags: deletevalue Root: HKLM64; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: string; ValueName: "Description"; ValueData: "PDM插件"; Flags: deletevalue Root: HKLM64; Subkey: "SOFTWARE\SolidWorks\Addins\{{{#AppId}}"; ValueType: string; ValueName: "Title"; ValueData: "PdmSw"; Flags: deletevalue [Icons] PdmSw/Settings/PluginSetting.xmlBinary files differ
PdmSwPlugin.Common/BomIniter/YwtBomIniter.cs
@@ -29,7 +29,9 @@ if (Regex.IsMatch(childName, jgjNameRegx)) { bom.historyData = NameUtil.IsHistoryDoc(childName); if (bom._drawInfo != null) { bom._drawInfo.HistoryData = NameUtil.IsHistoryDoc(childName); } string docType = bom.properties.Get("文件格式"); if (string.IsNullOrEmpty(docType)) PdmSwPlugin.Common/Entity/DrawAudit/DrawAudit.cs
@@ -12,6 +12,15 @@ set { _id = value; } } private string _orderCode; public string orderCode { get => _orderCode; set => RaiseAndSetIfChanged(ref _orderCode, value); } private string _materialCode; public string materialCode @@ -107,5 +116,32 @@ set => RaiseAndSetIfChanged(ref _count, value); } private string _fileName; public string fileName { get => _fileName; set => RaiseAndSetIfChanged(ref _fileName, value); } private double? _volume; public double? volume { get => _volume; set => RaiseAndSetIfChanged(ref _volume, value); } private double? _surfaceArea; public double? surfaceArea { get => _surfaceArea; set => RaiseAndSetIfChanged(ref _surfaceArea, value); } private double? _mass; public double? mass { get => _mass; set => RaiseAndSetIfChanged(ref _mass, value); } } } PdmSwPlugin.Common/Entity/DrawAudit/DrawAuditOrder.cs
New file @@ -0,0 +1,16 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PdmSwPlugin.Common.Entity.DrawAudit { public class DrawAuditOrder { public string id { get; set; } public string code { get; set; } public string requestUserId { get; set; } public string requestUser { get; set; } } } PdmSwPlugin.Common/Entity/Pdm/PdmBom.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Windows.Interop; namespace PdmSwPlugin.Common.Entity.Pdm { @@ -35,6 +36,8 @@ public string filePath { get; set; } public int level { get; set; } public int drawingType { get; set; } public bool HistoryData = false; public ModelDoc2 doc { get; set; } public Component2 component { get; set; } @@ -152,6 +155,14 @@ public bool checkRuleOk => checkRuleResult == 1 || checkRuleResult == 3; private bool _HistoryData = false; public bool HistoryData { get => _HistoryData; set => RaiseAndSetIfChanged(ref _HistoryData, value); } public List<string> errMessages { get; set; } public Dictionary<string, string> allProperties { get; set; } @@ -216,15 +227,101 @@ public string auditUserId => BomInfo?.auditUserId; public string auditUser => BomInfo?.auditUser; public bool inBom /// <summary> /// 是否是历史图纸 /// </summary> public bool IsHistoryData => _drawInfo?.HistoryData == true; /// <summary> /// 是否跳过规则检查 /// </summary> public bool skipCheck => produceWay == "模组" || ExcludeFromBOM || component?.IsVirtual == true; /// <summary> /// 图纸是否发生变更 非历史图纸看2D图MD5 历史图纸看一致性检查没通过 /// </summary> public bool localDocChanged => (!IsHistoryData && localD2Md5 != _drawInfo?.d2Md5) || (IsHistoryData && _drawInfo?.checkRuleResult == 2); //localD3Md5 != _drawInfo?.d3Md5; /// <summary> /// 规则检查结果 /// </summary> public int? checkRuleResult => (IsHistoryData || skipCheck) ? 3 : _drawInfo?.checkRuleResult; /// <summary> /// 检查是否OK /// </summary> public bool checkRuleOk => _drawInfo != null && _drawInfo.checkRuleOk; /// <summary> /// 是否不在物料明细表中 /// </summary> public bool ExcludeFromBOM { get => component == null ? false : component.ExcludeFromBOM; set { InBomChanged?.Invoke(this, value); // RaiseAndSetIfChanged(ref _inBom, value); } } /// <summary> /// 是否需要审核 /// </summary> public bool NeedAudit { get { // 找不到文档的不审核 if (lost) return false; // 不在物料明细表中不审核 if (ExcludeFromBOM) return false; if (IsHistoryData) { // 历史图纸只审核一致性不通过的 return _drawInfo.checkRuleResult == 2; } else { // 非历史图纸只审核 允许审核的加工件 return produceWay == "加工件" && (drawStatus != "submitted" && drawStatus != "resubmitted") && (drawStatus != "completed" || localDocChanged); } } } /// <summary> /// 是否需要终止检入/导入 /// </summary> /// <returns></returns> public string NeedStopCheckIn() { if (produceWay == "模组") return null; if (ExcludeFromBOM) return null; if (IsHistoryData && localDocChanged) { return $"历史图纸【{partModel}】变更后未重新审核"; } if (!IsHistoryData) { bool error = false; string msg = $"【{partModel}】"; if (!skipCheck && !checkRuleOk) { error = true; msg += "未通过规则检查"; } if (produceWay == "加工件" && drawStatus != "completed") { error = true; msg += "未通过审核;"; } if (produceWay == "加工件" && drawStatus == "completed" && localDocChanged) { error = true; msg += "图纸变更后未重新审核"; } return error ? msg : null; } return null; } public void UpdateInBom(bool value) { @@ -430,15 +527,13 @@ if (e.PropertyName == "checkRuleResult") { RaisePropertyChanged("checkRuleResult"); RaisePropertyChanged("localDocChanged"); } else if (e.PropertyName == "HistoryData") { RaisePropertyChanged("IsHistoryData"); } } // 模组 不在物料明细表 巡检跳过检查 public bool historyData { get; set; } = false; public bool skipCheck => historyData || produceWay == "模组" || inBom || component?.IsVirtual == true; public int? checkRuleResult => skipCheck ? 3 : _drawInfo?.checkRuleResult; public bool checkRuleOk => _drawInfo != null && _drawInfo.checkRuleOk; public string d3Md5 => _drawInfo == null ? null : _drawInfo.d3Md5; public string d2Md5 => _drawInfo == null ? null : _drawInfo.d2Md5; @@ -459,14 +554,13 @@ public bool checkBoxEnabled => !(xcChild || (lost == true) || produceWay == "标准件" || (produceWay == "模组" && drawingType == (int)swDocumentTypes_e.swDocPART) || (inBom && drawingType == (int)swDocumentTypes_e.swDocPART) || (ExcludeFromBOM && drawingType == (int)swDocumentTypes_e.swDocPART) // BomInfo.jgj == "标准件" //|| component?.IsVirtual == true ); public bool d3Changed => localD3Md5 != _drawInfo?.d3Md5; public bool auditedMd5Changed => localD2Md5 != _drawInfo?.d2Md5; //localD3Md5 != _drawInfo?.d3Md5; public int order { get; set; } PdmSwPlugin.Common/PdmSwPlugin.Common.csproj
@@ -76,6 +76,7 @@ <Compile Include="Entity\BusinessType.cs" /> <Compile Include="Entity\DrawAudit\DrawAudit.cs" /> <Compile Include="Entity\DrawAudit\DrawAuditHis.cs" /> <Compile Include="Entity\DrawAudit\DrawAuditOrder.cs" /> <Compile Include="Entity\NoteAndPos.cs" /> <Compile Include="Entity\NotifyBase.cs" /> <Compile Include="Entity\Page.cs" /> @@ -102,6 +103,7 @@ <Compile Include="Setting\YwtUserSetting.cs" /> <Compile Include="Util\DictionaryUtil.cs" /> <Compile Include="Util\LimitedConcurrencyLevelTaskScheduler.cs" /> <Compile Include="Util\NumberUtil.cs" /> <Compile Include="Util\OpenDocContext.cs" /> <Compile Include="Util\Pdm\ComponentAndTask.cs" /> <Compile Include="Util\Pdm\BomTreeReader.cs" /> PdmSwPlugin.Common/Util/NumberUtil.cs
New file @@ -0,0 +1,16 @@ using SolidWorks.Interop.sldworks; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PdmSwPlugin.Common.Util { public class NumberUtil { public static double HandleMass(double mass) { return Math.Round(mass, 6); } } } PdmSwPlugin.DrawApprove/DrawApprove.xaml
@@ -84,7 +84,7 @@ <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox DataContext="{Binding Data}" IsChecked="{Binding selected}"/> IsChecked="{Binding selected}" Checked="SingleCheckBox_Event" Unchecked="SingleCheckBox_Event"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> @@ -100,6 +100,7 @@ </DataGridTemplateColumn> <DataGridTextColumn Header="申请人" Width="80" IsReadOnly="True" Binding="{Binding Data.requestUser}"/> <DataGridTextColumn Header="流水单号" Width="80" IsReadOnly="True" Binding="{Binding Data.orderCode}"/> <DataGridTextColumn Header="前一审核人" Width="80" IsReadOnly="True" Binding="{Binding Data.auditUser}"/> <DataGridTextColumn Header="提交时间" Width="130" IsReadOnly="True" Binding="{Binding Data.updateTime}"/> @@ -131,7 +132,7 @@ <StatusBar DockPanel.Dock="Bottom" Height="20"> <StatusBarItem > <TextBox x:Name="activeDocPath" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding ActiveDocPath}"/> <TextBox x:Name="activeDocPath" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding SelectBomText}"/> </StatusBarItem> <Separator/> <StatusBarItem> PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs
@@ -64,8 +64,36 @@ public ObservableCollection<DrawAudit> dataSource { get => _dataSource; set => RaiseAndSetIfChanged(ref _dataSource, value); set { RaiseAndSetIfChanged(ref _dataSource, value); if (value == null) { StatusBarText = $"共 0 条"; } else { StatusBarText = $"共 {value.Count} 条"; } RefreshSelectedCount(); } } private string _SelectBomText = "已选中 0 条"; public string SelectBomText { get => _SelectBomText; set => RaiseAndSetIfChanged(ref _SelectBomText, value); } private string _StatusBarText = "共 0 条"; public string StatusBarText { get { return _StatusBarText; } set => RaiseAndSetIfChanged(ref _StatusBarText, value); } public DrawApproveControl() : this(null) @@ -100,7 +128,32 @@ { data.selected = cb.IsChecked.Value; } int count = cb.IsChecked.Value ? (dataSource == null ? 0 : dataSource.Count) : 0; SelectBomText = $"已选中 {count} 条"; } private void RefreshSelectedCount() { if (dataSource == null || dataSource.Count <= 0) { SelectBomText = "已选中 0 条"; return; } int count = dataSource.Where(e => e.selected).Count(); SelectBomText = $"已选中 {count} 条"; } /// <summary> /// 单个点选事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SingleCheckBox_Event(object sender, RoutedEventArgs e) { RefreshSelectedCount(); } private void Button_Click(object sender, RoutedEventArgs e) { @@ -207,39 +260,34 @@ { Button btn = sender as Button; DrawAudit da = btn.DataContext as DrawAudit; string fileName = Path.GetFileName(da.d2RelativePath); if (string.IsNullOrEmpty(fileName)) string filePath = GetRealFilePath(da.d2RelativePath); if (!File.Exists(filePath)) { this.Error("无效文件名"); this.Error($"服务器中未找到工程图文件,路径:{filePath}"); return; } fileName = Path.Combine(PluginSetting.Instance.SwFilePath, fileName); if (!File.Exists(fileName)) { this.Error($"服务器中未找到工程图文件,路径:{fileName}"); return; } OpenDocMayError(fileName, (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_ReadOnly, OpenDocMayError(filePath, (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_ReadOnly, ""); } private string GetRealFilePath(string dbPath) { string fileName = Path.GetFileName(dbPath); string filePath = Path.Combine(PluginSetting.Instance.SwFilePath, fileName); return filePath; } private void OpenDoc_Click(object sender, RoutedEventArgs e) { Button btn = sender as Button; DrawAudit da = btn.DataContext as DrawAudit; string fileName = Path.GetFileName(da.d3RelativePath); if (string.IsNullOrEmpty(fileName)) string filePath = GetRealFilePath(da.d3RelativePath); if (!File.Exists(filePath)) { this.Error("无效文件名"); this.Error($"服务器中未找到图纸文件,路径:{filePath}"); return; } fileName = Path.Combine(PluginSetting.Instance.SwFilePath, fileName); if (!File.Exists(fileName)) { this.Error($"服务器中未找到工程图文件,路径:{fileName}"); return; } OpenDocMayError(fileName, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_ReadOnly, OpenDocMayError(filePath, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_ReadOnly, ""); } @@ -295,6 +343,23 @@ { try { string filePath = GetRealFilePath(da.d3RelativePath); if (!File.Exists(filePath)) { this.Error($"服务器中未找到图纸文件,路径:{filePath}"); return; } double[] massData = SwDMUtil.GetMassProperty(filePath, out string errMsg); if (massData == null) { this.Error($"获取图纸一致性数据失败!{errMsg}"); return; } da.fileName = Path.GetFileName(filePath); da.volume = NumberUtil.HandleMass(massData[3]); da.surfaceArea = NumberUtil.HandleMass(massData[4]); da.mass = NumberUtil.HandleMass(massData[5]); da.pass = true; Result<object> res = Client.PostSyncAction<object>(da, "drawAudit/complete"); object obj = res.HandleResult(); @@ -307,6 +372,7 @@ catch (Exception ex) { Logger.Error("Draw complete failed.", ex); this.Error($"审核失败!{ex.Message}"); } finally { 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.34"; public static readonly string Version = "0.0.0.36"; } } PdmSwPlugin.PDM/Model/PdmControlModel.cs
@@ -13,6 +13,27 @@ { public partial class PdmControlModel : NotifyBase { private string _SelectedBomCount = "已选中 0 条"; public string SelectedBomCount { get => _SelectedBomCount; set { RaiseAndSetIfChanged(ref _SelectedBomCount, value); } } private string _AllBomCount = "共 0 条"; public string AllBomCount { get => _AllBomCount; set { RaiseAndSetIfChanged(ref _AllBomCount, value); } } public BomTreeReader bomTreeReader { get; private set; } = new BomTreeReader(); @@ -23,7 +44,17 @@ public ObservableCollection<PdmBom> BomTree { get => _bomTree; set => RaiseAndSetIfChanged(ref _bomTree, value); set { RaiseAndSetIfChanged(ref _bomTree, value); int count = CacheList != null ? CacheList.Count : 0; AllBomCount = $"共 {count} 条"; RefreshSelectedBomCount(); } } public void RefreshSelectedBomCount() { int count = CacheList != null ? CacheList.Where(e=>e.selected).Count() : 0; SelectedBomCount = $"已选中 {count} 条"; } public List<PdmBom> CacheList => bomTreeReader?.CacheList.ToList(); @@ -167,6 +198,7 @@ drawInfos.Add(partModel, drawInfo); } bom.drawInfo = drawInfo; bom.Init(); ICollection<PdmBom> children = bom.modules; if (children != null && children.Count > 0) PdmSwPlugin.PDM/PdmControl.xaml
@@ -111,6 +111,12 @@ <Setter Property="Foreground" Value="White"/> <Setter Property="Background" Value="Gray"/> </DataTrigger> <DataTrigger Binding="{Binding IsHistoryData}" Value="true"> <Setter Property="Text" Value="无需检查"/> <Setter Property="Foreground" Value="White"/> <Setter Property="Background" Value="Gray"/> </DataTrigger> </Style.Triggers> </Style> @@ -119,42 +125,6 @@ <Setter Property="Foreground" Value="Black"/> <Setter Property="Background" Value="White"/> <Style.Triggers> <DataTrigger Binding="{Binding BomInfo.status}" Value="submitted"> <Setter Property="Text" Value="审核中"/> <Setter Property="Background" Value="Orange"/> </DataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding BomInfo.status}" Value="completed"/> <Condition Binding="{Binding auditedMd5Changed}" Value="false"/> </MultiDataTrigger.Conditions> <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 auditedMd5Changed}" 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="resubmitted"> <Setter Property="Text" Value="重新审核"/> <Setter Property="Background" Value="Orange"/> </DataTrigger> <DataTrigger Binding="{Binding BomInfo.status}" Value="rejected"> <Setter Property="Text" Value="未通过"/> <Setter Property="Foreground" Value="White"/> <Setter Property="Background" Value="Red"/> </DataTrigger> <DataTrigger Binding="{Binding produceWay}" Value="模组"> <Setter Property="Text" Value="无需审核"/> <Setter Property="Foreground" Value="White"/> @@ -165,6 +135,62 @@ <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"/> </MultiDataTrigger.Conditions> <Setter Property="Text" Value="无需审核"/> <Setter Property="Foreground" Value="White"/> <Setter Property="Background" Value="Gray"/> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding drawInfo.HistoryData}" Value="true"/> <Condition Binding="{Binding localDocChanged}" Value="true"/> </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="false"/> </MultiDataTrigger.Conditions> <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"> <Setter Property="Text" Value="审核中"/> <Setter Property="Background" Value="Orange"/> </DataTrigger> <DataTrigger Binding="{Binding BomInfo.status}" Value="resubmitted"> <Setter Property="Text" Value="重新审核"/> <Setter Property="Background" Value="Orange"/> </DataTrigger> <DataTrigger Binding="{Binding BomInfo.status}" Value="rejected"> <Setter Property="Text" Value="未通过"/> <Setter Property="Foreground" Value="White"/> <Setter Property="Background" Value="Red"/> </DataTrigger> </Style.Triggers> </Style> @@ -308,6 +334,7 @@ <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox DataContext="{Binding Data}" Checked="SingleCheckBox_Event" Unchecked="SingleCheckBox_Event" IsEnabled="{Binding checkBoxEnabled}" IsChecked="{Binding selected}"/> </DataTemplate> @@ -330,7 +357,7 @@ <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox DataContext="{Binding Data}" IsChecked="{Binding inBom}"/> IsChecked="{Binding ExcludeFromBOM}"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> @@ -394,7 +421,7 @@ </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTemplateColumn Header="审批状态" Width="60" IsReadOnly="True" pm:PermissionUtil.HasPermission="PDM:PLUGIN:CONTROL:PDM:RuleCheckAndApprove"> <DataGridTemplateColumn Header="审批状态" Width="80" IsReadOnly="True" pm:PermissionUtil.HasPermission="PDM:PLUGIN:CONTROL:PDM:RuleCheckAndApprove"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Style="{StaticResource drawStatusSlot}" DataContext="{Binding Data}" @@ -411,11 +438,11 @@ <StatusBar Grid.Row="2" > <StatusBarItem > <TextBox x:Name="activeDocPath" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding ActiveDocPath}"/> <TextBox x:Name="activeDocPath" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding SelectedBomCount}"/> </StatusBarItem> <Separator/> <StatusBarItem> <TextBox x:Name="statusBarText" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding StatusBarText}"/> <TextBox x:Name="statusBarText" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding AllBomCount}"/> </StatusBarItem> </StatusBar> </Grid> PdmSwPlugin.PDM/PdmControl.xaml.cs
@@ -34,6 +34,7 @@ using static PdmSwPlugin.PDM.Event.PdmEvent; using System.Windows.Interop; using PdmSwPlugin.Commmon.Control; using PdmSwPlugin.Common.Entity.System; namespace PdmSwPlugin.PDM { @@ -856,6 +857,12 @@ List<PdmBom> treeBoms = model.bomTreeReader.TreeList.ToList(); if (treeBoms == null || treeBoms.Count <= 0) return; treeBoms[0].selected = cb.IsChecked.Value; model.RefreshSelectedBomCount(); } private void SingleCheckBox_Event(object sender, RoutedEventArgs e) { model.RefreshSelectedBomCount(); } /// <summary> @@ -898,6 +905,11 @@ return result; } /// <summary> /// 处理质量,保留6位小数 /// </summary> /// <param name="number"></param> /// <returns></returns> public static string HandleMass(double number) { return Math.Round(number, 6).ToString("0.000000"); @@ -925,6 +937,7 @@ allProperties["文件后缀"] = Path.GetExtension(filepath); // 文件路径 allProperties["文件路径"] = filepath; allProperties["历史图纸"] = drawInfo.HistoryData.ToString(); string drawFilePath = filepath.Replace(Path.GetExtension(filepath), ".slddrw"); bool drawExists = File.Exists(drawFilePath); // 工程图一致性检查 @@ -988,6 +1001,10 @@ return drawInfo; } /// <summary> /// 获取全部属性 /// </summary> /// <param name="param"></param> public void GetAll(object param) { object[] datas = param as object[]; @@ -1055,14 +1072,16 @@ Dictionary<string, DrawInfo> checkResult = result.HandleResult(); foreach (string key in properties.Keys) { if (!checkResult[key].checkRuleOk) { allSuccess = false; } properties[key].checkRuleResult = checkResult[key].checkRuleResult; properties[key].errMessages = checkResult[key].errMessages; var msgs = checkResult[key].errMessages; if (msgs != null && msgs.Count > 0) if (!properties[key].HistoryData && !checkResult[key].checkRuleOk) { // 不是历史数据并且有未通过的,标记为false allSuccess = false; } if (!properties[key].HistoryData && msgs != null && msgs.Count > 0) { foreach (string msg in msgs) { @@ -1148,6 +1167,8 @@ { try { // 对所有的BOM做规则检查 bool allSuccess = DoCheckRule(out _); // 先获取所有的BOM HashSet<string> cache = new HashSet<string>(); // 然后筛选选中的BOM @@ -1156,20 +1177,13 @@ { // 如果没有选中的BOM,那就是所有BOM boms = model.bomTreeReader.CacheList.ToList(); } // 筛选有图纸的,未提交的,零件体加工件进行上传 // 筛选有图纸的,在物料明细中,未提交的,在物料明细表中的零件体加工件进行上传 boms = boms.Where(b => { 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 != "completed" || b.auditedMd5Changed); return b.NeedAudit; } return false; }).ToList(); @@ -1179,12 +1193,11 @@ this.Warning("只有未提交过或发生变更的加工件图纸可以进行审核"); return; } // 对所有的BOM做规则检查 bool allSuccess = DoCheckRule(out _); if (!allSuccess) { // 如果有未通过的图纸,需要提示 var err = boms.Where(b => !b.checkRuleOk).ToList(); var err = boms.Where(b => !b.IsHistoryData && !b.checkRuleOk).ToList(); if (err != null && err.Count > 0) { List<string> msgs = new List<string>(); @@ -1192,6 +1205,7 @@ { if (ee.drawInfo.errMessages == null) { msgs.Add($"物料【{ee.partNo}】未通过规则检查!"); continue; } foreach (string msg in ee.drawInfo.errMessages) @@ -1207,18 +1221,28 @@ }); return; } // 不相关的规则检查不通过就无所谓了 /*int res = SwApp.SendMsgToUser2("有未通过规则检查的图纸,是否继续?", (int)swMessageBoxIcon_e.swMbWarning, (int)swMessageBoxBtn_e.swMbOkCancel); if (res == (int)swMessageBoxResult_e.swMbHitCancel) { return; }*/ } // 都通过了,再进行审批 // 先申请单号 DrawAuditOrder daOrder = new DrawAuditOrder { requestUserId = PdmUser.LoginUser.id, requestUser = PdmUser.LoginUser.realname }; try { Result<DrawAuditOrder> res = Client.PostSyncAction<DrawAuditOrder>(daOrder, "drawAudit/order/create"); daOrder = res.HandleResult(); } catch (Exception ex) { Logger.Error($"请求审批单号失败", ex); this.Error($"请求审批单号失败! {ex.Message}"); return; } ConcurrentQueue<string> errs = new ConcurrentQueue<string>(); CountdownEvent counter = new CountdownEvent(boms.Count); foreach (PdmBom bom in boms) @@ -1243,6 +1267,7 @@ MultipartFormDataContent httpContent = new MultipartFormDataContent(); httpContent.Add(new StringContent(bom.partNo), "materialCode"); httpContent.Add(new StringContent(bom.partNo), "materialModel"); httpContent.Add(new StringContent(daOrder.id), "orderId"); fileInfo = new FileInfo(d3FilePath); FileInfo file2Info = new FileInfo(d2FilePath); httpContent.Add(new ByteArrayContent(FileUtil.toByteArray(d3FilePath)), "d3File", fileInfo.Name); @@ -1387,11 +1412,11 @@ if (bom.checkRuleResult == 3) { string title = string.Empty; if (bom.historyData) if (bom.IsHistoryData) { title = "历史图纸无需检查"; } else if (bom.inBom) else if (bom.ExcludeFromBOM) { title = "不在物料明细表中的物料无需检查"; } @@ -1432,6 +1457,16 @@ if (bom.produceWay == "模组" || bom.produceWay == "标准件") { this.Info($"{bom.produceWay}无需审核"); return; } if (bom.IsHistoryData && !bom.localDocChanged) { this.Info("历史图纸无需审核"); return; } if (bom.IsHistoryData && bom.localDocChanged) { this.Info("历史图纸一致性变更,需审核"); return; } this.Warning("该图纸未审核"); @@ -1593,31 +1628,8 @@ RefreshBomList(SwApp.IActiveDoc2); DoCheckRule(out _); // 筛选所有在物料明细表中,不跳过检查并且检查未通过的,类型是加工件的未通过审核的,加工件审核通过的但图纸变更的 List<string> errs = model.bomTreeReader.CacheList.Where(b => !b.inBom && ( (!b.skipCheck && !b.checkRuleOk) || (b.produceWay == "加工件" && b.drawStatus != "completed") || (b.produceWay == "加工件" && b.drawStatus == "completed" && b.auditedMd5Changed) ) ).Select(b => { string msg = $"【{b.partModel}】"; if (!b.skipCheck && !b.checkRuleOk) { msg += "未通过规则检查;"; } if (b.produceWay == "加工件" && b.drawStatus != "completed") { msg += "未通过审核;"; } if (b.produceWay == "加工件" && b.drawStatus == "completed" && b.auditedMd5Changed) { msg += "图纸变更后未重新审核"; } return msg; } ).ToList(); List<string> errs = model.bomTreeReader.CacheList.Select(b => b.NeedStopCheckIn()) .Where(s => s != null).ToList(); if (errs != null && errs.Count > 0) { SetupScript/.vs/SetupScript.csproj.dtbcache.json
File was deleted SetupScript/SetupScript.csproj
File was deleted