From 04504670fcafceb4e9d8a660d5db3f65bc135455 Mon Sep 17 00:00:00 2001 From: chr <chr@chr.com> Date: 星期三, 21 八月 2024 19:16:06 +0800 Subject: [PATCH] 新增非审核人员的送审记录查询; --- PdmSwPlugin.Common/Entity/DrawAudit/DrawAudit.cs | 16 + PdmSwPlugin.Main/SwAddIn/MainControl.cs | 8 PdmSwPlugin.Main/Constant/PluginConst.cs | 2 InnoSetupScript/PdmSwPlugin.iss | 2 PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml | 144 ++++++++++++ PdmSwPlugin.PDM/PdmControl.xaml.cs | 28 + .vs/SwPlugin/v17/DocumentLayout.json | 106 ++++++-- PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml.cs | 367 ++++++++++++++++++++++++++++++ PdmSwPlugin.DrawApprove/PdmSwPlugin.DrawApprove.csproj | 7 9 files changed, 638 insertions(+), 42 deletions(-) diff --git a/.vs/SwPlugin/v17/DocumentLayout.json b/.vs/SwPlugin/v17/DocumentLayout.json index d993371..1859f5b 100644 --- a/.vs/SwPlugin/v17/DocumentLayout.json +++ b/.vs/SwPlugin/v17/DocumentLayout.json @@ -3,28 +3,40 @@ "WorkspaceRootPath": "C:\\Workspace\\PdmSwPlugin2\\", "Documents": [ { - "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:{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:{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:{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}" }, { "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:{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:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|c:\\workspace\\pdmswplugin2\\pdmswplugin.drawapprove\\drawaudithiscontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawaudithiscontrol.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\\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:{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:{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\\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:{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:{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\\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}" } ], "DocumentGroupContainers": [ @@ -38,19 +50,57 @@ "Children": [ { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 2, + "Title": "DrawAuditHisControl.xaml.cs", + "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml.cs", + "ToolTip": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml.cs", + "ViewState": "AQIAABYBAAAAAAAAAAAiwCgBAAAgAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-21T08:12:02.317Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "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": "AQIAAHAAAAAAAAAAAAAAAHgAAABHAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-21T07:59:50.181Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "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": "AQIAAKAAAAAAAAAAAAAowBEAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-21T07:59:44.275Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 7, "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": "" + "WhenOpened": "2024-08-20T03:02:33.757Z" }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 8, "Title": "DrawAuditOrder.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", @@ -58,12 +108,11 @@ "RelativeToolTip": "PdmSwPlugin.Common\\Entity\\DrawAudit\\DrawAuditOrder.cs", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAFAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-20T02:13:49.926Z", - "EditorCaption": "" + "WhenOpened": "2024-08-20T02:13:49.926Z" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 0, "Title": "PluginConst.cs", "DocumentMoniker": "C:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", "RelativeDocumentMoniker": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", @@ -76,39 +125,38 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 1, "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", + "ViewState": "AQIAAFMEAAAAAAAAAAAAALEGAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-18T08:40:17.518Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 6, "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", + "ViewState": "AQIAAAEBAAAAAAAAAAAkwBcBAAA2AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-18T08:30:42.283Z", - "EditorCaption": "" + "WhenOpened": "2024-08-18T08:30:42.283Z" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 3, "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", + "ViewState": "AQIAAAYAAAAAAAAAAAAAABAAAAAWAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-18T08:28:05.337Z", "EditorCaption": "" diff --git a/InnoSetupScript/PdmSwPlugin.iss b/InnoSetupScript/PdmSwPlugin.iss index 83dde2b..79ff6a4 100644 --- a/InnoSetupScript/PdmSwPlugin.iss +++ b/InnoSetupScript/PdmSwPlugin.iss @@ -7,7 +7,7 @@ ; 自动更新程序路径 #define AutoUpdaterDir = "C:\Workspace\PdmSwPlugin2\PdmSw\bin\x64\Release\Release\AutoUpdater\" ; 版本 -#define Version = "0.0.0.35" +#define Version = "_TEST" ; 生成的Installer存放路径 #define OutPutDir = "Z:\Main\Workspace\Output" diff --git a/PdmSwPlugin.Common/Entity/DrawAudit/DrawAudit.cs b/PdmSwPlugin.Common/Entity/DrawAudit/DrawAudit.cs index 52fb104..304711e 100644 --- a/PdmSwPlugin.Common/Entity/DrawAudit/DrawAudit.cs +++ b/PdmSwPlugin.Common/Entity/DrawAudit/DrawAudit.cs @@ -12,6 +12,14 @@ set { _id = value; } } + private string _orderId; + + public string orderId + { + get => _orderId; + set => RaiseAndSetIfChanged(ref _orderId, value); + } + private string _orderCode; public string orderCode @@ -50,6 +58,14 @@ set => RaiseAndSetIfChanged(ref _requestUser, value); } + private string _requestUserId; + + public string requestUserId + { + get { return _requestUserId; } + set => RaiseAndSetIfChanged(ref _requestUserId, value); + } + private string _auditUser; public string auditUser diff --git a/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml b/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml new file mode 100644 index 0000000..2652a32 --- /dev/null +++ b/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml @@ -0,0 +1,144 @@ +锘�<UserControl x:Class="PdmSwPlugin.DrawApprove.DrawAuditHisControl" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:treeData="clr-namespace:PdmSwPlugin.Common.Control.TreeGrid;assembly=PdmSwPlugin.Common" + xmlns:system="clr-namespace:PdmSwPlugin.DrawApprove" + d:DataContext="{d:DesignInstance Type=system:DrawAuditHisControl}" + mc:Ignorable="d" + d:DesignHeight="900" d:DesignWidth="800"> + <UserControl.Resources> + <ResourceDictionary> + <!-- 搴曢儴鐘舵�佹爮鏍峰紡 --> + <Style x:Key="StatusBarTextBox" TargetType="TextBox"> + <Setter Property="Control.Background" Value="#FFF1EDED"/> + <Setter Property="Control.BorderThickness" Value="0"/> + <Setter Property="TextBlock.TextTrimming" Value="CharacterEllipsis"/> + </Style> + + <Style x:Key ="statusSlot" TargetType="TextBlock"> + <Setter Property="Foreground" Value="White"/> + <Style.Triggers> + <DataTrigger Binding="{Binding status}" Value="submitted"> + <Setter Property="Text" Value="宸叉彁浜�"/> + <Setter Property="Foreground" Value="Black"/> + <Setter Property="Background" Value="Orange"/> + </DataTrigger> + + <DataTrigger Binding="{Binding status}" Value="rejected"> + <Setter Property="Text" Value="宸查┏鍥�"/> + <Setter Property="Foreground" Value="White"/> + <Setter Property="Background" Value="Red"/> + </DataTrigger> + + <DataTrigger Binding="{Binding status}" Value="resubmitted"> + <Setter Property="Text" Value="閲嶆柊鎻愪氦"/> + <Setter Property="Foreground" Value="Black"/> + <Setter Property="Background" Value="Orange"/> + </DataTrigger> + + <DataTrigger Binding="{Binding status}" Value="completed"> + <Setter Property="Text" Value="宸插畬鎴�"/> + <Setter Property="Foreground" Value="Black"/> + <Setter Property="Background" Value="Green"/> + </DataTrigger> + </Style.Triggers> + </Style> + + <treeData:TreeItemDataConverter x:Key="TreeItemDataConverter"/> + + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="/PdmSwPlugin.Common;component/Control/TreeGrid/Themes/TreeGrid.xaml"/> + <ResourceDictionary Source="/PdmSwPlugin.Common;component/Control/TreeGrid/Themes/TreeItemContentControl.xaml"/> + <ResourceDictionary Source="/PdmSwPlugin.Common;component/Style/ToolBar.xaml"/> + <ResourceDictionary Source="/PdmSwPlugin.Common;component/Style/LinkButton.xaml"/> + </ResourceDictionary.MergedDictionaries> + </ResourceDictionary> + </UserControl.Resources> + <AdornerDecorator> + <Grid x:Name="sb"> + <DockPanel x:Name="content" LastChildFill="True"> + + <ToolBarTray DockPanel.Dock="Top" Background="#FFF" ToolBarTray.IsLocked="True" > + <ToolBar Style="{StaticResource CommonToolBar}" ToolBar.OverflowMode="Never" Band="1" BandIndex="1" Height="30" Background="#FFF"> + <Button ToolTip="鍒锋柊" Content="鍒锋柊" FontFamily="{StaticResource iconfont}" FontSize="16" + Click="Button_Click"/> + </ToolBar> + </ToolBarTray> + + <!-- 鏍戠粨鏋� --> + <treeData:TreeDataGrid x:Name="treeDataGrid" DockPanel.Dock="Top" + ColumnWidth="*" + ItemsSource="{Binding dataSource,Converter={StaticResource TreeItemDataConverter},ConverterParameter=children}" + AutoGenerateColumns="False" + CanUserAddRows="False" + CanUserSortColumns="False" + CanUserDeleteRows="False"> + <treeData:TreeDataGrid.Columns> + <DataGridTemplateColumn Width="25"> + <DataGridTemplateColumn.Header> + <CheckBox Checked="GlobalCheckBox_Checked" Unchecked="GlobalCheckBox_Checked" /> + </DataGridTemplateColumn.Header> + + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <CheckBox DataContext="{Binding Data}" + IsChecked="{Binding selected}" Checked="SingleCheckBox_Event" Unchecked="SingleCheckBox_Event"/> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <DataGridTemplateColumn Header="鐗╂枡缂栧彿" IsReadOnly="True"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal"> + <TextBox IsReadOnly="True" BorderThickness="0" HorizontalContentAlignment="Stretch" Text="{Binding Data.materialCode,Mode=OneWay}"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <DataGridTextColumn Header="娴佹按鍗曞彿" Width="80" IsReadOnly="True" Binding="{Binding Data.orderCode}"/> + <DataGridTextColumn Header="鍓嶄竴鐢宠浜�" Width="80" IsReadOnly="True" Binding="{Binding Data.requestUser}"/> + <DataGridTextColumn Header="鍓嶄竴瀹℃牳浜�" Width="80" IsReadOnly="True" Binding="{Binding Data.auditUser}"/> + <DataGridTextColumn Header="鎻愪氦鏃堕棿" Width="130" IsReadOnly="True" Binding="{Binding Data.updateTime}"/> + + <DataGridTemplateColumn Header="鐘舵��" Width="60" IsReadOnly="True"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <TextBlock Style="{StaticResource statusSlot}" DataContext="{Binding Data}" + MouseLeftButtonDown="TextBlock_MouseLeftButtonDown"/> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <DataGridTemplateColumn Header="鎿嶄綔" Width="200" IsReadOnly="True"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal"> + <Button Style="{StaticResource LinkButton}" DataContext="{Binding Data}" Click="Detail_Click">瀹℃牳璇︽儏</Button> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + + </treeData:TreeDataGrid.Columns> + </treeData:TreeDataGrid> + + <StatusBar DockPanel.Dock="Bottom" Height="20"> + <StatusBarItem > + <TextBox x:Name="activeDocPath" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding SelectBomText}"/> + </StatusBarItem> + <Separator/> + <StatusBarItem> + <TextBox x:Name="statusBarText" IsReadOnly="True" Style="{StaticResource StatusBarTextBox}" Text="{Binding StatusBarText}"/> + </StatusBarItem> + </StatusBar> + <Border></Border> + <!--<TextBox x:Name="console"></TextBox>--> + </DockPanel> + </Grid> + </AdornerDecorator> +</UserControl> diff --git a/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml.cs b/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml.cs new file mode 100644 index 0000000..63d4956 --- /dev/null +++ b/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml.cs @@ -0,0 +1,367 @@ +锘縰sing log4net; +using PdmSwPlugin.Commmon.Control; +using PdmSwPlugin.Commmon.Util.UI; +using PdmSwPlugin.Common; +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 SolidWorks.Interop.sldworks; +using SolidWorks.Interop.swconst; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Markup; + +namespace PdmSwPlugin.DrawApprove +{ + /// <summary> + /// UserControl1.xaml 鐨勪氦浜掗�昏緫 + /// </summary> + [PdmSwPlugin(Title = "閫佸璁板綍")] + public partial class DrawAuditHisControl : UserControl, ISwAppSetter, INotifyPropertyChanged + { + #region ... + public virtual event PropertyChangedEventHandler PropertyChanged; + + public virtual void RaisePropertyChanged(string name) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); + } + + public void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null) + { + old = @new; + if (propertyName != null) + { + RaisePropertyChanged(propertyName); + } + } + #endregion + + private static ILog Logger = LogManager.GetLogger("DrawAuditHis"); + + SldWorks SwApp; + + SldWorks ISwAppSetter.SwApp => SwApp; + + private readonly HttpClient Client; + private HttpClientCreator clientCreator { get; set; } + + /// <summary> + /// 鍏ㄩ儴BOM鏍戠姸缁撴瀯 + /// </summary> + private ObservableCollection<DrawAudit> _dataSource = new ObservableCollection<DrawAudit>(); + public ObservableCollection<DrawAudit> dataSource + { + get => _dataSource; + 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 DrawAuditHisControl() : this(null) + { + + } + + public DrawAuditHisControl(SldWorks swAddin) + { + SwApp = swAddin; + InitializeComponent(); + clientCreator = new HttpClientCreator(new HttpConfig(PluginSetting.Instance.BaseAddress)); + Client = clientCreator.GetClient(); + DataContext = this; + } + + public void SetSwApp(SldWorks SwApp) + { + this.SwApp = SwApp; + } + + /// <summary> + /// 鍏ㄩ�変簨浠� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void GlobalCheckBox_Checked(object sender, RoutedEventArgs e) + { + CheckBox cb = sender as CheckBox; + List<DrawAudit> datas = dataSource.ToList(); + foreach (DrawAudit data in datas) + { + 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) + { + MaskAdorner.ShowMask(content, "璇锋眰涓紝璇风◢鍚�..."); + Task.Run(() => + { + try + { + List<DrawAudit> datas = RefreshList(); + Dispatcher.Invoke(() => + { + dataSource = new ObservableCollection<DrawAudit>(datas); + }); + } + catch (Exception ex) + { + Logger.Error("UI update failed.", ex); + this.Error($"UI鏇存柊鍒楄〃澶辫触锛佸紓甯�:{ex}"); + dataSource = new ObservableCollection<DrawAudit>(); + } + finally + { + MaskAdorner.HideMask(content); + } + }); + } + + private void OpenDocMayError(string filePath, int docType, int option, string config) + { + int err = 0, warn = 0; + SwApp.OpenDoc6(filePath, docType, option, config, ref err, ref warn); + if (err == (int)swFileLoadError_e.swAddinInteruptError) + { + this.Error("鎵撳紑澶辫触锛佺敤鎴峰皾璇曟墦寮�鏂囦欢锛岀劧鍚庝腑鏂墦寮�鏂囦欢渚嬬▼浠ユ墦寮�鍏朵粬鏂囦欢"); + } + else if (err == (int)swFileLoadError_e.swApplicationBusy) + { + this.Error("鎵撳紑澶辫触锛丼olidworks绻佸繖"); + } + else if (err == (int)swFileLoadError_e.swFileCriticalDataRepairError) + { + this.Error("鎵撳紑澶辫触锛佹枃妗e瓨鍦ㄤ弗閲嶆暟鎹崯鍧�"); + } + else if (err == (int)swFileLoadError_e.swFileNotFoundError) + { + this.Error("鎵撳紑澶辫触锛佹棤娉曟壘鍒版枃浠�;鏈姞杞芥枃浠舵垨绂佹鏄剧ず寮曠敤鐨勬枃浠讹紙鍗崇粍浠讹級"); + } + else if (err == (int)swFileLoadError_e.swFileRequiresRepairError) + { + this.Error("鎵撳紑澶辫触锛佹枃妗e叿鏈夐潪鍏抽敭鑷畾涔夊睘鎬ф暟鎹崯鍧�"); + } + else if (err == (int)swFileLoadError_e.swFutureVersion) + { + this.Error("鎵撳紑澶辫触锛佹枃妗e凡淇濆瓨鍦� SOLIDWORKS 鐨勬湭鏉ョ増鏈腑"); + } + else if (err == (int)swFileLoadError_e.swInvalidFileTypeError) + { + this.Error("鎵撳紑澶辫触锛佹枃浠剁被鍨嬪弬鏁版棤鏁�"); + } + else if (err == (int)swFileLoadError_e.swLiquidMachineDoc) + { + this.Error("鎵撳紑澶辫触锛佺敱 Liquid Machines 鍔犲瘑鐨勬枃浠�"); + } + else if (err == (int)swFileLoadError_e.swLowResourcesError) + { + this.Error("鎵撳紑澶辫触锛佹枃浠惰鎵撳紑骞惰闃绘锛屽洜涓虹郴缁熷唴瀛樹笉瓒筹紝鎴栬�� GDI 鍙ユ焺鏁板凡瓒呰繃鍏佽鐨勬渶澶у��"); + } + else if (err == (int)swFileLoadError_e.swNoDisplayData) + { + this.Error("鎵撳紑澶辫触锛佹枃浠朵笉鍖呭惈鏄剧ず鏁版嵁"); + } + else if (err == (int)swFileLoadError_e.swFileWithSameTitleAlreadyOpen) + { + this.Error("鎵撳紑澶辫触锛佸叿鏈夌浉鍚屽悕绉扮殑鏂囨。宸叉墦寮�"); + //SwApp.ActivateDoc3(filePath, false, 0, ref err); + //if (err == 2) + //{ + // this.Error("闇�瑕侀噸鏂扮敓鎴愬凡婵�娲荤殑鏂囨。"); + //} + //else if (err == 1) + //{ + // this.Error("閬囧埌涓嶆槑閿欒锛屽苟涓旀湭婵�娲绘枃妗�"); + //} + } + else if (err != 0) + { + Logger.Error($"OpenDoc6 Failed,Error:{err}.See Solidworks Doc."); + } + else if (warn == 128) + { + SwApp.ActivateDoc3(filePath, false, 0, ref err); + if (err == 2) + { + this.Error("闇�瑕侀噸鏂扮敓鎴愬凡婵�娲荤殑鏂囨。"); + } + else if (err == 1) + { + this.Error("閬囧埌涓嶆槑閿欒锛屽苟涓旀湭婵�娲绘枃妗�"); + } + } + } + + private void Detail_Click(object sender, RoutedEventArgs e) + { + Button btn = sender as Button; + DrawAudit da = btn.DataContext as DrawAudit; + GetAuditHisDetailAndOpen(da); + } + + 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 filePath = GetRealFilePath(da.d3RelativePath); + if (!File.Exists(filePath)) + { + this.Error($"鏈嶅姟鍣ㄤ腑鏈壘鍒板浘绾告枃浠讹紝璺緞:{filePath}"); + return; + } + OpenDocMayError(filePath, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_ReadOnly, + ""); + } + + public List<DrawAudit> RefreshList() + { + try + { + Result<List<DrawAudit>> res = Client.GetSyncAction<List<DrawAudit>>("drawAudit/listQuery", new DrawAudit + { + requestUserId = PdmUser.LoginUser.id + }); + return res.HandleResult(); + } + catch (Exception ex) + { + Logger.Error("Get draw audit data list failed.", ex); + this.Error($"鍒锋柊鍒楄〃澶辫触锛佸紓甯�:{ex.Message}"); + return new List<DrawAudit>(); + } + } + + public void CloseAuditedDoc(DrawAudit da) + { + try + { + string modelPath = Path.Combine(PluginSetting.Instance.SwFilePath, Path.GetFileName(da.d3RelativePath)); + string drawingPath = Path.Combine(PluginSetting.Instance.SwFilePath, Path.GetFileName(da.d2RelativePath)); + SwApp.CloseDoc(modelPath); + SwApp.CloseDoc(drawingPath); + } + catch (Exception exx) + { + Logger.Error("Auto close open doc failed.", exx); + } + } + + /// <summary> + /// 鏌ヨ閫佸鍥剧焊鐨勫鏍歌鎯呭苟鍦ㄦ柊绐楀彛鎵撳紑 + /// </summary> + /// <param name="da"></param> + private void GetAuditHisDetailAndOpen(DrawAudit da) + { + MaskAdorner.ShowMask(content, "璇锋眰涓紝璇风◢鍚�..."); + Task.Run(() => + { + try + { + Result<List<DrawAuditHis>> res = Client.GetSyncAction<List<DrawAuditHis>>("drawAudit/listTaskHis", new DrawAudit + { + id = da.id + }); + var datas = res.HandleResult(); + Dispatcher.Invoke(() => + { + //DrawAuditHisWindow window = new DrawAuditHisWindow(this, $"銆恵bom.partModel}銆戝鏍歌鎯�", datas); + RichHisWindow window = new RichHisWindow(this, $"銆恵da.materialCode}銆戝鏍歌鎯�", datas); + + window.ShowDialog(); + }); + } + catch (Exception ex) + { + Logger.Error("Get draw audit history failed.", ex); + this.Error($"鑾峰彇瀹℃牳鍘嗗彶澶辫触锛亄ex.Message}"); + } + finally + { + MaskAdorner.HideMask(content); + } + }); + } + + private void TextBlock_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + // 妫�鏌ユ槸鍚︽槸鍙屽嚮 + if (e.ClickCount == 2) + { + TextBlock textBlock = sender as TextBlock; + DrawAudit data = textBlock.DataContext as DrawAudit; + GetAuditHisDetailAndOpen(data); + } + } + } +} diff --git a/PdmSwPlugin.DrawApprove/PdmSwPlugin.DrawApprove.csproj b/PdmSwPlugin.DrawApprove/PdmSwPlugin.DrawApprove.csproj index a8c85a4..3faa0ea 100644 --- a/PdmSwPlugin.DrawApprove/PdmSwPlugin.DrawApprove.csproj +++ b/PdmSwPlugin.DrawApprove/PdmSwPlugin.DrawApprove.csproj @@ -81,6 +81,9 @@ <Reference Include="PresentationFramework" /> </ItemGroup> <ItemGroup> + <Compile Include="DrawAuditHisControl.xaml.cs"> + <DependentUpon>DrawAuditHisControl.xaml</DependentUpon> + </Compile> <Compile Include="RejectWindow.xaml.cs"> <DependentUpon>RejectWindow.xaml</DependentUpon> </Compile> @@ -93,6 +96,10 @@ <Compile Include="XamlWindow.xaml.cs"> <DependentUpon>XamlWindow.xaml</DependentUpon> </Compile> + <Page Include="DrawAuditHisControl.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> <Page Include="DrawApprove.xaml"> <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> diff --git a/PdmSwPlugin.Main/Constant/PluginConst.cs b/PdmSwPlugin.Main/Constant/PluginConst.cs index 3961f77..d74daf9 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.36"; + public static readonly string Version = "0.0.0.37"; } } diff --git a/PdmSwPlugin.Main/SwAddIn/MainControl.cs b/PdmSwPlugin.Main/SwAddIn/MainControl.cs index 7c10e39..6f60026 100644 --- a/PdmSwPlugin.Main/SwAddIn/MainControl.cs +++ b/PdmSwPlugin.Main/SwAddIn/MainControl.cs @@ -126,6 +126,14 @@ /*UserSettingControl userSettingControl = new UserSettingControl(); HandlePlugin(userSettingControl, tabControl);*/ } + if (permissions.Contains("PDM:PLUGIN:CONTROL:DrawAuditHisQuery")) + { + // 鍥剧焊瀹℃牳 + DrawAuditHisControl drawAuditHisControl = new DrawAuditHisControl(SwApp); + HandlePlugin(drawAuditHisControl, tabControl); + /*UserSettingControl userSettingControl = new UserSettingControl(); + HandlePlugin(userSettingControl, tabControl);*/ + } } private void SetPlugin() diff --git a/PdmSwPlugin.PDM/PdmControl.xaml.cs b/PdmSwPlugin.PDM/PdmControl.xaml.cs index d4b28ac..b6ccdbe 100644 --- a/PdmSwPlugin.PDM/PdmControl.xaml.cs +++ b/PdmSwPlugin.PDM/PdmControl.xaml.cs @@ -1080,7 +1080,7 @@ // 涓嶆槸鍘嗗彶鏁版嵁骞朵笖鏈夋湭閫氳繃鐨勶紝鏍囪涓篺alse allSuccess = false; } - + if (!properties[key].HistoryData && msgs != null && msgs.Count > 0) { foreach (string msg in msgs) @@ -1245,6 +1245,7 @@ ConcurrentQueue<string> errs = new ConcurrentQueue<string>(); CountdownEvent counter = new CountdownEvent(boms.Count); + int successCount = 0; foreach (PdmBom bom in boms) { Task.Run(() => @@ -1275,6 +1276,7 @@ Result<DrawAudit> res = Client.PostSyncAction<DrawAudit>("drawAudit/add", httpContent); DrawAudit da = res.HandleResult(); + Interlocked.Increment(ref successCount); } catch (Exception ex) { @@ -1289,18 +1291,22 @@ } counter.Wait(); counter.Dispose(); - try + if (successCount > 0) { - var param = new DrawAudit + try { - count = boms.Count - }; - var msgRes = Client.PostSyncAction<object>(param, "drawAudit/sendToAuditor"); - msgRes.HandleResult(); - } - catch (Exception ig) - { - Logger.Error("鍙戦�侀�佸娑堟伅寮傚父", ig); + var param = new DrawAudit + { + orderId = daOrder.id, + count = successCount + }; + var msgRes = Client.PostSyncAction<object>(param, "drawAudit/sendToAuditor"); + msgRes.HandleResult(); + } + catch (Exception ig) + { + Logger.Error("鍙戦�侀�佸娑堟伅寮傚父", ig); + } } // 鍒锋柊鏈嶅姟鍣ㄤ笂鐨凚OM淇℃伅 RefreshWebBomInfo(); -- Gitblit v1.9.1