diff --git a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
index 4c035ae8..53c50dc6 100644
--- a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
+++ b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
@@ -1010,6 +1010,9 @@
+
+
+ IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.ViewerOptimizerR32.exe
diff --git a/EgtBEAMWALL.ViewerOptimizer/Resources/PDFEditor/PrintPDF.png b/EgtBEAMWALL.ViewerOptimizer/Resources/PDFEditor/PrintPDF.png
new file mode 100644
index 00000000..f157e996
Binary files /dev/null and b/EgtBEAMWALL.ViewerOptimizer/Resources/PDFEditor/PrintPDF.png differ
diff --git a/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorV.xaml b/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorV.xaml
index 033fa6ad..f01e6e4c 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorV.xaml
@@ -1,11 +1,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorVM.vb b/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorVM.vb
index 9ffbabe2..86578a9e 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFEditorVM.vb
@@ -8,7 +8,12 @@ Public Class PDFEditorVM
#Region "FIELDS & PROPERTIES"
- 'Lista contenente le singole categorie
+ Private Enum PDFPage As Integer
+ VIEW = 0 ' PDF Visualizzatore
+ MACHING = 1 ' PDF Ottimizzatore
+ End Enum
+
+ ' Lista contenente le singole categorie
Private m_ExpanderList As New ObservableCollection(Of ExpanderPDF)
Public ReadOnly Property ExpanderList As ObservableCollection(Of ExpanderPDF)
Get
@@ -16,18 +21,84 @@ Public Class PDFEditorVM
End Get
End Property
+ ' PDF visualizzato come preview nella sezione PDF Editor
+ Private m_WebAddress As String
+ Public Property WebAddress As String
+ Get
+ Return m_WebAddress
+ End Get
+ Set(value As String)
+ m_WebAddress = value
+ NotifyPropertyChanged(NameOf(WebAddress))
+ End Set
+ End Property
+
+
+ ' Definizione comandi
+ Private m_cmdCreatePDFPreviewVis As ICommand
+ Private m_cmdCreatePDFPreviewOtt As ICommand
+
#End Region
Sub New()
- Map.SetRefPDFEditorVM(Me)
m_ExpanderList.Add(New ExpanderPDF(ListTypes.MACHGROUPTOT))
m_ExpanderList.Add(New ExpanderPDF(ListTypes.MACHGROUP))
m_ExpanderList.Add(New ExpanderPDF(ListTypes.PART_LIST))
m_ExpanderList.Add(New ExpanderPDF(ListTypes.RAWPART))
m_ExpanderList.Add(New ExpanderPDF(ListTypes.PART_TOT))
m_ExpanderList.Add(New ExpanderPDF(ListTypes.PART))
+ m_WebAddress = "about:blank" ' Pagina vuota
+ Map.SetRefPDFEditorVM(Me)
End Sub
+#Region "COMMANDS"
+
+#Region "CreatePreviewVis"
+
+ Public ReadOnly Property CreatePreviewVis_Command As ICommand
+ Get
+ If m_cmdCreatePDFPreviewVis Is Nothing Then
+ m_cmdCreatePDFPreviewVis = New Command(AddressOf CreatePreviewVis)
+ End If
+ Return m_cmdCreatePDFPreviewVis
+ End Get
+ End Property
+
+ '''
+ ''' Funzione per la visualizzazione della preview del PDF della sezione visualizzatore
+ '''
+ Public Sub CreatePreviewVis()
+ Map.refStatisticsVM.CreatePrintPDF(PDFPage.VIEW, True)
+ m_WebAddress = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics - Visualization.pdf"
+ NotifyPropertyChanged(NameOf(WebAddress))
+ End Sub
+
+#End Region ' CreatePreviewVis
+
+#Region "CreatePreviewOt"
+
+ Public ReadOnly Property CreatePreviewOtt_Command As ICommand
+ Get
+ If m_cmdCreatePDFPreviewOtt Is Nothing Then
+ m_cmdCreatePDFPreviewOtt = New Command(AddressOf CreatePreviewOtt)
+ End If
+ Return m_cmdCreatePDFPreviewOtt
+ End Get
+ End Property
+
+ '''
+ ''' Funzione per la visualizzazione della preview del PDF della sezione ottimizzatore
+ '''
+ Public Sub CreatePreviewOtt()
+ Map.refStatisticsVM.CreatePrintPDF(PDFPage.MACHING, True)
+ m_WebAddress = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics - Optimizer.pdf"
+ NotifyPropertyChanged(NameOf(WebAddress))
+ End Sub
+
+#End Region ' CreatePreviewVis
+
+#End Region ' Commands
+
End Class
Public Class ExpanderPDF
@@ -61,34 +132,34 @@ Public Class ExpanderPDF
Sub New(nListType As Integer)
Select Case nListType
Case ListTypes.MACHGROUPTOT
- m_sNameCategory = EgtMsg(61729)
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61721)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61717)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61719)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61718)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61720)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61722)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61723)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61724)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61725)))
+ m_sNameCategory = EgtMsg(61729) ' Titolo Categoria: MachGroup Totals
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61721))) ' Numero di grezzi
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61717))) ' Volume totale
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61719))) ' Tempo totole stimato
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61718))) ' Tempo totale
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61720))) ' Tempo rimanente
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61722))) ' Numero di pezzi da BTL
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61723))) ' Numero di pezzi aggiunti
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61724))) ' Numero di pezzi inseriti nei grezzi
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61725))) ' Numero di pezzi completati
Case ListTypes.MACHGROUP
- m_sNameCategory = EgtMsg(61730)
- m_ExpanderElementList.Add(New ExpanderTable(S_OPTIMIZERSTATISTICS))
+ m_sNameCategory = EgtMsg(61730) ' Titolo Categoria: MachGroup List
+ m_ExpanderElementList.Add(New ExpanderTable(S_OPTIMIZERSTATISTICS)) ' Tabella MachGroupList
Case ListTypes.PART_LIST
- m_sNameCategory = EgtMsg(61731)
- m_ExpanderElementList.Add(New ExpanderTable(S_STATISTICS_PART))
+ m_sNameCategory = EgtMsg(61731) ' Titolo Categoria: Raw Part
+ m_ExpanderElementList.Add(New ExpanderTable(S_STATISTICS_PART)) ' Tabella RawPart + Sezione e Immagine
Case ListTypes.RAWPART
- m_sNameCategory = EgtMsg(61732)
- m_ExpanderElementList.Add(New ExpanderTable(S_RAWPARTSTATISTICS))
+ m_sNameCategory = EgtMsg(61732) ' Titolo Categoria: RawPart List
+ m_ExpanderElementList.Add(New ExpanderTable(S_RAWPARTSTATISTICS)) ' Tabella RawPartList
Case ListTypes.PART_TOT
- m_sNameCategory = EgtMsg(61734)
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61716)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61717)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61718)))
- m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61720)))
+ m_sNameCategory = EgtMsg(61734) ' Titolo Categoria: Part Totals
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61716))) ' Numero totale di pezzi
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61717))) ' Volume totale
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61718))) ' Tempo totale
+ m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61720))) ' Tempo rimanente
Case ListTypes.PART
- m_sNameCategory = EgtMsg(61733)
- m_ExpanderElementList.Add(New ExpanderTable(S_STATISTICS))
+ m_sNameCategory = EgtMsg(61733) ' Titolo Categoria: Part List
+ m_ExpanderElementList.Add(New ExpanderTable(S_STATISTICS)) ' Tabella PartList
End Select
End Sub
@@ -223,6 +294,9 @@ Public Class ExpanderTable
End Get
End Property
+ '''
+ ''' Funzione per spostare in alto la colonna
+ '''
Public Sub MoveUpOrder()
If IsNothing(m_RawPartColumns) Then Return
Dim nIndex As Integer = m_RawPartColumns.IndexOf(m_SelColumns)
@@ -243,6 +317,9 @@ Public Class ExpanderTable
End Get
End Property
+ '''
+ ''' Funzione per spostare in basso la colonna
+ '''
Public Sub MoveDownOrder()
If IsNothing(m_RawPartColumns) Then Return
Dim nIndex As Integer = m_RawPartColumns.IndexOf(m_SelColumns)
@@ -254,4 +331,30 @@ Public Class ExpanderTable
#End Region ' COMMANDS
+End Class
+
+
+' Classe gestione binding Web browser
+Public Class WebBrowserUtility
+
+ Public Shared ReadOnly BindableSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("BindableSource",
+ GetType(String),
+ GetType(WebBrowserUtility),
+ New UIPropertyMetadata(Nothing, AddressOf BindableSourcePropertyChanged))
+
+ Public Shared Function GetBindableSource(obj As DependencyObject) As String
+ Return DirectCast(obj.GetValue(BindableSourceProperty), String)
+ End Function
+
+ Public Shared Sub SetBindableSource(obj As DependencyObject, value As String)
+ obj.SetValue(BindableSourceProperty, value)
+ End Sub
+
+ Public Shared Sub BindableSourcePropertyChanged(o As DependencyObject, e As DependencyPropertyChangedEventArgs)
+ Dim browser As WebBrowser = TryCast(o, WebBrowser)
+ If browser IsNot Nothing Then
+ Dim uri As String = TryCast(e.NewValue, String)
+ browser.Source = If(uri IsNot Nothing, New Uri(uri), Nothing)
+ End If
+ End Sub
End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFHelper.vb b/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFHelper.vb
index 7a757951..31df9311 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFHelper.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Statistics/PDFHelper.vb
@@ -39,119 +39,119 @@ Module PDFHelper
' Return document
'End Function
- Public Function CreateStatReport(ActivePage As Pages) As Document
+ Public Function CreateStatReport(ActivePage As Pages, bPreview As Boolean) As Document
' creo nuovo documento MigraDoc
Dim document As Document = New Document()
Dim Project As ProjectFileVM = Map.refProdManagerVM.CurrProd
- Select Case ActivePage
- Case Pages.VIEW
- Project = Map.refProjManagerVM.CurrProj
- document.Info.Title = Project.sProjId & " - " & Project.BTLFileName_Msg & " - Statistics"
- Case Pages.MACHINING
- Project = Map.refProdManagerVM.CurrProd
- document.Info.Title = Project.sProdId & " - " & Project.ListName_Msg & " - Statistics"
- End Select
+ If bPreview Then
+ document.Info.Title = "135 - TestProject - Statistics"
+ Else
+ Select Case ActivePage
+ Case Pages.VIEW
+ Project = Map.refProjManagerVM.CurrProj
+ document.Info.Title = Project.sProjId & " - " & Project.BTLFileName_Msg & " - Statistics"
+ Case Pages.MACHINING
+ Project = Map.refProdManagerVM.CurrProd
+ document.Info.Title = Project.sProdId & " - " & Project.ListName_Msg & " - Statistics"
+ End Select
+ End If
document.Info.Subject = "Production statistics of the project"
document.Info.Author = "EgtBEAMWALL"
DefineStyles(document)
+ 'Logo
+ Dim section As Section = document.AddSection()
+ document.DefaultPageSetup.DifferentFirstPageHeaderFooter = True
+ Dim sImageLogo As String = Map.refMainWindowVM.MainWindowM.sTempDir & "/Image" & "Logo landscape" & ".png"
+ DefineLogo(section, sImageLogo)
Select Case ActivePage
Case Pages.VIEW
- DefinePartTotals(document)
- DefineItemList(document, ListTypes.PART)
+ DefinePartTotals(document, section, bPreview)
+ DefineItemList(document, ListTypes.PART, bPreview)
Case Pages.MACHINING
- DefineMachGroupTotals(document)
- DefineItemList(document, ListTypes.MACHGROUP)
- DefineItemList(document, ListTypes.RAWPART)
+ DefineMachGroupTotals(document, section, bPreview)
+ DefineItemList(document, ListTypes.MACHGROUP, bPreview)
+ DefineItemList(document, ListTypes.RAWPART, bPreview)
If True Then
- DefineRawPartPictures(document)
+ CreateRawPartPages(document, bPreview)
End If
End Select
Return document
End Function
- Public Sub DefinePartTotals(ByVal document As Document)
- Dim section As Section = document.AddSection()
- 'Logo
- document.DefaultPageSetup.DifferentFirstPageHeaderFooter = True
- Dim sImageLogo As String = Map.refMainWindowVM.MainWindowM.sTempDir & "/Image" & "Logo landscape" & ".png"
- DefineLogo(section, sImageLogo)
- ' cambio orientamento a orizzontale
+ Public Sub DefinePartTotals(document As Document, section As Section, bPreview As Boolean)
Dim pgSetup As PageSetup = document.DefaultPageSetup.Clone()
pgSetup.Orientation = Orientation.Landscape
section.PageSetup = pgSetup
Dim paragraph As Paragraph = section.AddParagraph("Part Totals", "Heading2")
paragraph.Format.SpaceBefore = "3.0cm"
- Dim sPartTot As ExpanderPDF = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61734))
- Dim sBTLTotParts As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61716))
- Dim sBTLTotVolume As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61717))
- Dim sBTLTotTime As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61718))
- Dim sBTLRemainingTime As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61720))
- If sBTLTotParts.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotParts_Msg & Map.refProjectVM.BTLStructureVM.sBTLTotParts)
- If sBTLTotVolume.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotVolume_Msg & Map.refProjectVM.BTLStructureVM.sBTLTotVolume)
- If sBTLTotTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotTime_Msg & Map.refProjectVM.BTLStructureVM.sBTLTotTime)
- If sBTLRemainingTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLRemainingTime_Msg & Map.refProjectVM.BTLStructureVM.sBTLRemainingTime)
+ Dim sPartTot As ExpanderPDF = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61734)) ' Recupero lista Part Totals
+ Dim sBTLTotParts As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61716)) ' Recupero Numero totale pezzi con relativo checkbox
+ Dim sBTLTotVolume As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61717)) ' Recupero Volume totale con relativo checkbox
+ Dim sBTLTotTime As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61718)) ' Recupero Tempo totale con relativo checkbox
+ Dim sBTLRemainingTime As ExpanderElement = sPartTot.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61720)) ' Recupero Tempo rimanente con relativo checkbox
+ If sBTLTotParts.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotParts_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sBTLTotParts, ""))
+ If sBTLTotVolume.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotVolume_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sBTLTotVolume, ""))
+ If sBTLTotTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotTime_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sBTLTotTime, ""))
+ If sBTLRemainingTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLRemainingTime_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sBTLRemainingTime, ""))
End Sub
- Public Sub DefineMachGroupTotals(ByVal document As Document)
- Dim section As Section = document.AddSection()
- 'Logo
- document.DefaultPageSetup.DifferentFirstPageHeaderFooter = True
- Dim sImageLogo As String = Map.refMainWindowVM.MainWindowM.sTempDir & "/Image" & "Logo landscape" & ".png"
- DefineLogo(section, sImageLogo)
+ Public Sub DefineMachGroupTotals(ByVal document As Document, section As Section, bPreview As Boolean)
+ 'Dim section As Section = document.AddSection()
' cambio orientamento a orizzontale
Dim pgSetup As PageSetup = document.DefaultPageSetup.Clone()
pgSetup.Orientation = Orientation.Landscape
section.PageSetup = pgSetup
Dim paragraph As Paragraph = section.AddParagraph("Machgroup Totals", "Heading2")
paragraph.Format.SpaceBefore = "3.0cm"
- Dim sMachGroup As ExpanderPDF = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61729))
- Dim sNumberBlanks As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61721))
- Dim sTotalVolume As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61717))
- Dim sEstimatedTotalTime As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61719))
- Dim sTotalTime As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61718))
- Dim sRemainingTime As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61720))
- Dim sNumberPiecesBLT As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61722))
- Dim sNumberPiecesAdded As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61723))
- Dim sNumberPiecesInsertedBlanks As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61724))
- Dim sNumberPiecesCompleted As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61725))
- If sNumberBlanks.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotMachGroups_Msg & Map.refProjectVM.MachGroupPanelVM.sTotMachGroups)
- If sTotalVolume.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotVolume_Msg & Map.refProjectVM.MachGroupPanelVM.sTotVolume)
- If sEstimatedTotalTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotEstimatedTime_Msg & Map.refProjectVM.MachGroupPanelVM.sTotEstimatedTime)
- If sTotalTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotTime_Msg & Map.refProjectVM.MachGroupPanelVM.sTotTime)
- If sRemainingTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLRemainingTime_Msg & Map.refProjectVM.MachGroupPanelVM.sRemainingTime)
- If sNumberPiecesBLT.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotCNTParts_Msg & Map.refProjectVM.BTLStructureVM.sTotCNTParts)
- If sNumberPiecesAdded.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotADDEDParts_Msg & Map.refProjectVM.BTLStructureVM.sTotADDEDParts)
- If sNumberPiecesInsertedBlanks.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotINPRODParts_Msg & Map.refProjectVM.BTLStructureVM.sTotINPRODParts)
- If sNumberPiecesCompleted.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotDONEParts_Msg & Map.refProjectVM.BTLStructureVM.sTotDONEParts)
+ Dim sMachGroup As ExpanderPDF = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61729)) ' Recupero lista Machgroup Totals
+ Dim sNumberBlanks As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61721)) ' Recupero Numero di grezzi con relativo checkbox
+ Dim sTotalVolume As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61717)) ' Recupero Volume totale con relativo checkbox
+ Dim sEstimatedTotalTime As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61719)) ' Recupero Tempo totale stimato con relativo checkbox
+ Dim sTotalTime As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61718)) ' Recupero Tempo totale con relativo checkbox
+ Dim sRemainingTime As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61720)) ' Recupero Tempo rimanente con relativo checkbox
+ Dim sNumberPiecesBLT As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61722)) ' Recupero Numero di pezzi da BTL con relativo checkbox
+ Dim sNumberPiecesAdded As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61723)) ' Recupero Numero di pezzi aggiunti con relativo checkbox
+ Dim sNumberPiecesInsertedBlanks As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61724)) ' Recupero Numero di pezzi inseriti nei grezzi con relativo checkbox
+ Dim sNumberPiecesCompleted As ExpanderElement = sMachGroup.ExpanderElementList.FirstOrDefault(Function(x As ExpanderElement) x.sNameParameter = EgtMsg(61725)) ' Recupero Numero di pezzi completati con relativo checkbox
+ If sNumberBlanks.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotMachGroups_Msg & If(Not bPreview, Map.refProjectVM.MachGroupPanelVM.sTotMachGroups, ""))
+ If sTotalVolume.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotVolume_Msg & If(Not bPreview, Map.refProjectVM.MachGroupPanelVM.sTotVolume, ""))
+ If sEstimatedTotalTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotEstimatedTime_Msg & If(Not bPreview, Map.refProjectVM.MachGroupPanelVM.sTotEstimatedTime, ""))
+ If sTotalTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLTotTime_Msg & If(Not bPreview, Map.refProjectVM.MachGroupPanelVM.sTotTime, ""))
+ If sRemainingTime.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.BTLRemainingTime_Msg & If(Not bPreview, Map.refProjectVM.MachGroupPanelVM.sRemainingTime, ""))
+ If sNumberPiecesBLT.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotCNTParts_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sTotCNTParts, ""))
+ If sNumberPiecesAdded.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotADDEDParts_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sTotADDEDParts, ""))
+ If sNumberPiecesInsertedBlanks.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotINPRODParts_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sTotINPRODParts, ""))
+ If sNumberPiecesCompleted.bParameter_IsChecked Then paragraph = section.AddParagraph(Map.refStatisticsVM.TotDONEParts_Msg & If(Not bPreview, Map.refProjectVM.BTLStructureVM.sTotDONEParts, ""))
End Sub
- Public Sub DefineItemList(ByVal document As Document, nListType As ListTypes)
+ Public Sub DefineItemList(ByVal document As Document, nListType As ListTypes, bPreview As Boolean)
document.DefaultPageSetup.DifferentFirstPageHeaderFooter = True
+ 'Recupero la lista delle colonne delle tabelle
Dim sMachGroupList As ExpanderTable = Nothing
If nListType = ListTypes.MACHGROUP Then
- sMachGroupList = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61730)).ExpanderElementList.FirstOrDefault()
+ sMachGroupList = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61730)).ExpanderElementList.FirstOrDefault() ' Lista Tabella MachGroup List
ElseIf nListType = ListTypes.RAWPART Then
- sMachGroupList = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61732)).ExpanderElementList.FirstOrDefault()
+ sMachGroupList = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61732)).ExpanderElementList.FirstOrDefault() ' Lista Tabella Raw Part List
ElseIf nListType = ListTypes.PART Then
- sMachGroupList = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61733)).ExpanderElementList.FirstOrDefault()
+ sMachGroupList = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61733)).ExpanderElementList.FirstOrDefault() ' Lista Tabella Part List
End If
- Dim sName As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_NAME)
- Dim sW As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_W)
- Dim sH As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_H)
- Dim sL As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_L)
- Dim sMaterial As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_MATERIAL)
- Dim sUsage As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_USAGE)
- Dim sWaste As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_WASTE)
- Dim sUTime As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_UNITTIME)
- Dim sQty As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_QTY)
- Dim sPDN As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_PDN)
- Dim sDesc As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_DESC)
- Dim sCNT As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_CNT)
- Dim sAdded As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_ADDED)
- Dim sDone As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_DONE)
- Dim sUVolume As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_UNITVOLUME)
- Dim sTVolume As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_TOTVOLUME)
- Dim sTTime As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_TOTTIME)
+ Dim sName As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_NAME) ' Recupero colonna 'colName' con relativo checkbox
+ Dim sW As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_W) ' Recupero colonna 'colW' con relativo checkbox
+ Dim sH As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_H) ' Recupero colonna 'colH' con relativo checkbox
+ Dim sL As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_L) ' Recupero colonna 'colL' con relativo checkbox
+ Dim sMaterial As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_MATERIAL) ' Recupero colonna 'colMaterial' con relativo checkbox
+ Dim sUsage As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_USAGE) ' Recupero colonna 'colUsage' con relativo checkbox
+ Dim sWaste As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_WASTE) ' Recupero colonna 'colWaste' con relativo checkbox
+ Dim sUTime As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_UNITTIME) ' Recupero colonna 'colUnitTime' con relativo checkbox
+ Dim sQty As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_QTY) ' Recupero colonna 'colQuantity' con relativo checkbox
+ Dim sPDN As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_PDN) ' Recupero colonna 'colPDN' con relativo checkbox
+ Dim sDesc As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_DESC) ' Recupero colonna 'colDescription' con relativo checkbox
+ Dim sCNT As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_CNT) ' Recupero colonna 'colCNT' con relativo checkbox
+ Dim sAdded As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_ADDED) ' Recupero colonna 'colAdded' con relativo checkbox
+ Dim sDone As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_DONE) ' Recupero colonna 'colDone' con relativo checkbox
+ Dim sUVolume As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_UNITVOLUME) ' Recupero colonna 'colUnitVolume' con relativo checkbox
+ Dim sTVolume As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_TOTVOLUME) ' Recupero colonna 'colTotVolume' con relativo checkbox
+ Dim sTTime As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_TOTTIME) ' Recupero colonna 'colTotTime' con relativo checkbox
Dim section As Section = document.LastSection()
Select Case nListType
Case ListTypes.PART
@@ -168,14 +168,19 @@ Module PDFHelper
' -1 -> riempio colonne della riga degli header
' >=0 -> riempio le colonne con i valori dei pezzi
Dim Itemlist As IEnumerable(Of Object) = Nothing
- Select Case nListType
- Case ListTypes.PART
- Itemlist = Map.refProjectVM.BTLStructureVM.BTLPartVMList
- Case ListTypes.MACHGROUP
- Itemlist = Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
- Case ListTypes.RAWPART
- Itemlist = Map.refStatisticsVM.RawPartList
- End Select
+ ' Controllo se bPreview è true mostra il PDF di preview se no il PDF completo
+ If bPreview Then
+ Itemlist = New List(Of Object)
+ Else
+ Select Case nListType
+ Case ListTypes.PART
+ Itemlist = Map.refProjectVM.BTLStructureVM.BTLPartVMList
+ Case ListTypes.MACHGROUP
+ Itemlist = Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
+ Case ListTypes.RAWPART
+ Itemlist = Map.refStatisticsVM.RawPartList
+ End Select
+ End If
'If m_ActivePage = Pages.VIEW Then
' Itemlist = Map.refProjectVM.BTLStructureVM.BTLPartVMList.ToList()
'ElseIf m_ActivePage = Pages.MACHINING Then
@@ -221,12 +226,16 @@ Module PDFHelper
For ColumnIndex = 0 To Columnlist.Count - 1
Select Case Columnlist(ColumnIndex).Name
Case "colPDN"
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(1.5))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.PDN_Msg)
- ElseIf nListType = ListTypes.PART Then
- row.Cells(ColumnIndex).AddParagraph(BTLPartVM.nPDN)
+ If sPDN.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(1.5))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.PDN_Msg)
+ ElseIf nListType = ListTypes.PART Then
+ row.Cells(ColumnIndex).AddParagraph(BTLPartVM.nPDN)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
End If
Case "colID"
If PartIndex = -2 Then
@@ -627,154 +636,25 @@ Module PDFHelper
document.LastSection.Add(table)
End Sub
- Public Sub DefineRawPartPictures(ByVal document As Document)
+ Public Sub CreateRawPartPages(ByVal document As Document, bPreview As Boolean)
document.DefaultPageSetup.DifferentFirstPageHeaderFooter = False
- Dim sMachGroupList As ExpanderTable = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61731)).ExpanderElementList.FirstOrDefault()
- Dim sPDN As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_PDN)
- Dim sW As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_W)
- Dim sH As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_H)
- Dim sL As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_L)
- Dim sDesc As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_DESC)
- Dim sMaterial As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_MATERIAL)
+ 'Recupero la lista delle colonne delle tabelle
+ Dim sMachGroupList As ExpanderTable = Map.refPDFEditorVM.ExpanderList.FirstOrDefault(Function(x) x.sNameCategory = EgtMsg(61731)).ExpanderElementList.FirstOrDefault() ' Lista Tabella Raw Part
+ Dim sPDN As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_PDN) ' Recupero colonna 'colPDN' con relativo checkbox
+ Dim sW As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_W) ' Recupero colonna 'colW' con relativo checkbox
+ Dim sH As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_H) ' Recupero colonna 'colH' con relativo checkbox
+ Dim sL As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_L) ' Recupero colonna 'colL' con relativo checkbox
+ Dim sDesc As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_DESC) ' Recupero colonna 'colDescription' con relativo checkbox
+ Dim sMaterial As EgtDataGridColumn = sMachGroupList.RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_MATERIAL) ' Recupero colonna 'colMaterial' con relativo checkbox
Dim nOrigMachGroupId As Integer = EgtGetCurrMachGroup()
- For Each RawPart As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
- Dim section As Section = document.AddSection()
- ' cambio orientamento a verticale
- Dim pgSetup As PageSetup = document.DefaultPageSetup.Clone()
- pgSetup.Orientation = Orientation.Landscape
- section.PageSetup = pgSetup
- ' creo immagine
- EgtSetCurrMachGroup(RawPart.Id)
- 'If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
- ' EgtSetView(VT.FRONT, False)
- 'Else
- ' EgtSetView(VT.TOP, False)
- 'End If
- Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.FRONT, VT.TOP), False)
- EgtZoom(ZM.ALL, False)
- Dim sImagePath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "/Image" & RawPart.Id & ".png"
- EgtGetImage(SM.HIDDENLINE, New Color3d(255, 255, 255), New Color3d(255, 255, 255), 3000, 1000, sImagePath)
- ' aggiungo immagine
- If sMachGroupList.bSection_IsChecked Then section.AddParagraph(RawPart.Name)
- If sMachGroupList.bImage_IsChecked Then
- Dim Image As Image = section.AddImage(sImagePath)
- Image.LockAspectRatio = True
- Image.Width = Unit.FromMillimeter(275)
- Image.RelativeHorizontal = RelativeHorizontal.Page
- Image.RelativeVertical = RelativeHorizontal.Page
- Image.Left = 30
- End If
- ' aggiungo tabella dei pezzi
- Dim table As Table = New Table()
- table.Borders.Width = 0.75
- For PartIndex = -2 To RawPart.PartVMList.Count - 1
- Dim PartVM As PartVM = Nothing
- Dim row As Row = Nothing
- If PartIndex <> -2 Then
- ' aggiungo riga
- row = table.AddRow()
- End If
- If PartIndex = -1 Then
- ' imposto la riga come header che si ripetera' all'inizio di ogni pagina
- row.HeadingFormat = True
- ' coloro sfondo riga degli header
- row.Shading.Color = Colors.Aqua
- ElseIf PartIndex >= 0 Then
- ' recupero elemento della riga
- PartVM = RawPart.PartVMList(PartIndex)
- End If
- Dim Columnlist As ObservableCollection(Of EgtDataGridColumn) = Nothing
- 'Columnlist = Map.refStatisticsVM.StatisticsColumns
- Columnlist = sMachGroupList.RawPartColumns
- For ColumnIndex = 0 To Columnlist.Count - 1
- Select Case Columnlist(ColumnIndex).Name
- Case "colPDN"
- If sPDN.bIsChecked Then
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(1.5))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.PDN_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.nPDN)
- End If
- ElseIf PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(0))
- End If
- Case "colW"
- If sW.bIsChecked Then
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(2))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.W_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.sW)
- End If
- ElseIf PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(0))
- End If
- Case "colH"
- If sH.bIsChecked Then
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(2))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.H_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.sH)
- End If
- ElseIf PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(0))
- End If
- Case "colL"
- If sL.bIsChecked Then
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(2))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.L_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.sL)
- End If
- ElseIf PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(0))
- End If
- Case "colDESC"
- If sDesc.bIsChecked Then
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(4))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.NAM_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.sNAM)
- End If
- ElseIf PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(0))
- End If
- Case "colNAME"
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(4))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.NAM_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.sNAM)
- End If
- Case "colMATERIAL"
- If sMaterial.bIsChecked Then
- If PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(2))
- ElseIf PartIndex = -1 Then
- row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.MAT_Msg)
- Else
- row.Cells(ColumnIndex).AddParagraph(PartVM.sMATERIAL)
- End If
- ElseIf PartIndex = -2 Then
- table.AddColumn(Unit.FromCentimeter(0))
- End If
- End Select
- Next
+ ' Controllo se bPreview è true mostra il PDF di preview se no il PDF completo
+ If bPreview Then
+ CreateRawPartPage(document, sMachGroupList, sPDN, sW, sH, sL, sDesc, sMaterial, Nothing)
+ Else
+ For Each RawPart As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
+ CreateRawPartPage(document, sMachGroupList, sPDN, sW, sH, sL, sDesc, sMaterial, RawPart)
Next
- ' aggiungo tabella all'ultima sezione
- section.Add(table)
-
- Next
+ End If
'Dim paragraph As Paragraph = section.AddParagraph("Machgroup Totals", "Heading2")
'paragraph = section.AddParagraph(Map.refStatisticsVM.TotMachGroups_Msg & Map.refProjectVM.MachGroupPanelVM.sTotMachGroups)
@@ -788,9 +668,159 @@ Module PDFHelper
'paragraph = section.AddParagraph(Map.refStatisticsVM.TotDONEParts_Msg & Map.refProjectVM.BTLStructureVM.sTotDONEParts)
End Sub
+ Private Sub CreateRawPartPage(document As Document, sMachGroupList As ExpanderTable, sPDN As EgtDataGridColumn, sW As EgtDataGridColumn, sH As EgtDataGridColumn, sL As EgtDataGridColumn, sDesc As EgtDataGridColumn, sMaterial As EgtDataGridColumn, RawPart As MyMachGroupVM)
+ Dim section As Section = document.AddSection()
+ ' cambio orientamento a verticale
+ Dim pgSetup As PageSetup = document.DefaultPageSetup.Clone()
+ pgSetup.Orientation = Orientation.Landscape
+ section.PageSetup = pgSetup
+ Dim PartVMList As IEnumerable(Of Object)
+ If IsNothing(RawPart) Then
+ PartVMList = New List(Of Object)
+ CreateRawPartImage(section, sMachGroupList, 1, 1)
+ Else
+ PartVMList = RawPart.PartVMList
+ CreateRawPartImage(section, sMachGroupList, RawPart.Id, RawPart.Name)
+ End If
+
+ ' aggiungo tabella dei pezzi
+ Dim table As Table = New Table()
+ table.Borders.Width = 0.75
+ For PartIndex = -2 To PartVMList.Count - 1
+ Dim PartVM As PartVM = Nothing
+ Dim row As Row = Nothing
+ If PartIndex <> -2 Then
+ ' aggiungo riga
+ row = table.AddRow()
+ End If
+ If PartIndex = -1 Then
+ ' imposto la riga come header che si ripetera' all'inizio di ogni pagina
+ row.HeadingFormat = True
+ ' coloro sfondo riga degli header
+ row.Shading.Color = Colors.Aqua
+ ElseIf PartIndex >= 0 Then
+ ' recupero elemento della riga
+ PartVM = PartVMList(PartIndex)
+ End If
+ Dim Columnlist As ObservableCollection(Of EgtDataGridColumn) = Nothing
+ 'Columnlist = Map.refStatisticsVM.StatisticsColumns
+ Columnlist = sMachGroupList.RawPartColumns
+ For ColumnIndex = 0 To Columnlist.Count - 1
+ Select Case Columnlist(ColumnIndex).Name
+ Case "colPDN"
+ If sPDN.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(1.5))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.PDN_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.nPDN)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
+ End If
+ Case "colW"
+ If sW.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(2))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.W_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.sW)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
+ End If
+ Case "colH"
+ If sH.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(2))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.H_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.sH)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
+ End If
+ Case "colL"
+ If sL.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(2))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.L_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.sL)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
+ End If
+ Case "colDESC"
+ If sDesc.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(4))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.NAM_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.sNAM)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
+ End If
+ Case "colNAME"
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(4))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.NAM_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.sNAM)
+ End If
+ Case "colMATERIAL"
+ If sMaterial.bIsChecked Then
+ If PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(2))
+ ElseIf PartIndex = -1 Then
+ row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.MAT_Msg)
+ Else
+ row.Cells(ColumnIndex).AddParagraph(PartVM.sMATERIAL)
+ End If
+ ElseIf PartIndex = -2 Then
+ table.AddColumn(Unit.FromCentimeter(0))
+ End If
+ End Select
+ Next
+ Next
+ ' aggiungo tabella all'ultima sezione
+ section.Add(table)
+ End Sub
+
+ Private Sub CreateRawPartImage(section As Section, sMachGroupList As ExpanderTable, RawPartId As Integer, RawPartName As String)
+ ' creo immagine
+ EgtSetCurrMachGroup(RawPartId)
+ 'If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
+ ' EgtSetView(VT.FRONT, False)
+ 'Else
+ ' EgtSetView(VT.TOP, False)
+ 'End If
+ Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.FRONT, VT.TOP), False)
+ EgtZoom(ZM.ALL, False)
+ Dim sImagePath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "/Image" & RawPartId & ".png"
+ EgtGetImage(SM.HIDDENLINE, New Color3d(255, 255, 255), New Color3d(255, 255, 255), 3000, 1000, sImagePath)
+ ' aggiungo immagine
+ If sMachGroupList.bSection_IsChecked Then section.AddParagraph(RawPartName)
+ If sMachGroupList.bImage_IsChecked Then
+ Dim Image As Image = section.AddImage(sImagePath)
+ Image.LockAspectRatio = True
+ Image.Width = Unit.FromMillimeter(275)
+ Image.RelativeHorizontal = RelativeHorizontal.Page
+ Image.RelativeVertical = RelativeHorizontal.Page
+ Image.Left = 30
+ End If
+ End Sub
+
Public Sub DefineLogo(section As Section, sImageLogo As String)
Dim Image As MigraDoc.DocumentObjectModel.Shapes.Image = section.Headers.FirstPage.AddImage(sImageLogo)
- Image.Width = Unit.FromMillimeter(250)
+ Image.Width = Unit.FromMillimeter(245)
Image.Height = Unit.FromMillimeter(40)
Image.LockAspectRatio = True
Image.RelativeVertical = RelativeVertical.Line
diff --git a/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb b/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
index ae757482..9f8cd869 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
@@ -317,33 +317,26 @@ Public Class StatisticsVM
End Select
End Sub
-#End Region ' METHODS
-
-#Region "COMMANDS"
-
-#Region "PrintPDF"
-
- Public ReadOnly Property PrintPDF_Command As ICommand
- Get
- If m_cmdPrintPDF Is Nothing Then
- m_cmdPrintPDF = New Command(AddressOf PrintPDF)
- End If
- Return m_cmdPrintPDF
- End Get
- End Property
-
- Public Sub PrintPDF()
+ Public Sub CreatePrintPDF(ActivePage As Integer, bPreview As Boolean)
LoadingWndHelper.OpenLoadingWnd(ActiveIds.CREATINGPDF, 1, "Creating PDF", "", 100)
Try
' creo documento MigraDoc
- Dim document As Document = PDFHelper.CreateStatReport(Map.refMainMenuVM.SelPage)
+ Dim document As Document = PDFHelper.CreateStatReport(ActivePage, bPreview)
Dim documentPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\MigraDoc.mdddl"
MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(document, documentPath)
Dim renderer As PdfDocumentRenderer = New PdfDocumentRenderer(True)
renderer.Document = document
renderer.RenderDocument()
' salvo il documento
- Dim sFileName As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
+ Dim sFileName As String = ""
+ ' Controllo la pagina e se bPreview e' True
+ If ActivePage = 0 AndAlso bPreview Then
+ sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics - Visualization.pdf" ' Se la pagina e' 0 e' bPreview e' True creo PDF Visualization
+ ElseIf ActivePage = 1 AndAlso bPreview Then
+ sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics - Optimizer.pdf" ' Se la pagina e' 1 e' bPreview e' True creo PDF Optimizer
+ Else
+ sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf" ' Altrimenti se bPreview e' Falso creo PDF Statistics
+ End If
Select Case Map.refMainMenuVM.SelPage
Case Pages.VIEW
sFileName = Map.refProjManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
@@ -363,11 +356,15 @@ Public Class StatisticsVM
EgtZoom(ZM.ALL, True)
End Select
+ ' avvio il visualizzatore
renderer.PdfDocument.Save(sFileName)
' cancello file MigraDoc
File.Delete(documentPath)
- ' avvio il visualizzatore
- Process.Start(sFileName)
+
+ If bPreview Then
+ Else
+ Process.Start(sFileName)
+ End If
Catch ex As Exception
EgtOutLog("Error genereting pdf: " & ex.ToString())
End Try
@@ -375,6 +372,65 @@ Public Class StatisticsVM
End Sub
+#End Region ' METHODS
+
+#Region "COMMANDS"
+
+#Region "PrintPDF"
+
+ Public ReadOnly Property PrintPDF_Command As ICommand
+ Get
+ If m_cmdPrintPDF Is Nothing Then
+ m_cmdPrintPDF = New Command(AddressOf PrintPDF)
+ End If
+ Return m_cmdPrintPDF
+ End Get
+ End Property
+
+ Public Sub PrintPDF()
+ CreatePrintPDF(Map.refMainMenuVM.SelPage, False)
+ 'LoadingWndHelper.OpenLoadingWnd(ActiveIds.CREATINGPDF, 1, "Creating PDF", "", 100)
+ 'Try
+ ' ' creo documento MigraDoc
+ ' Dim document As Document = PDFHelper.CreateStatReport(Map.refMainMenuVM.SelPage, False)
+ ' Dim documentPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\MigraDoc.mdddl"
+ ' MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(document, documentPath)
+ ' Dim renderer As PdfDocumentRenderer = New PdfDocumentRenderer(True)
+ ' renderer.Document = document
+ ' renderer.RenderDocument()
+ ' ' salvo il documento
+ ' Dim sFileName As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
+ ' Select Case Map.refMainMenuVM.SelPage
+ ' Case Pages.VIEW
+ ' sFileName = Map.refProjManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
+ ' Case Pages.MACHINING
+ ' sFileName = Map.refProdManagerVM.CurrProd.sProdDirPath & "\" & Map.refProdManagerVM.CurrProd.sProdId & " - " & "Statistics.pdf"
+ ' ' ripristino selezione precedente
+ ' Dim nCurrMachGroupId As Integer = EgtGetCurrMachGroup()
+ ' If Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup) AndAlso nCurrMachGroupId <> Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id Then
+ ' EgtSetCurrMachGroup(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id)
+ ' End If
+ ' 'If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
+ ' ' EgtSetView(VT.ISO_SW, False)
+ ' 'Else
+ ' ' EgtSetView(VT.TOP, False)
+ ' 'End If
+ ' Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
+ ' EgtZoom(ZM.ALL, True)
+ ' End Select
+
+ ' renderer.PdfDocument.Save(sFileName)
+ ' ' cancello file MigraDoc
+ ' File.Delete(documentPath)
+ ' ' avvio il visualizzatore
+ ' Process.Start(sFileName)
+ 'Catch ex As Exception
+ ' EgtOutLog("Error genereting pdf: " & ex.ToString())
+ 'End Try
+ 'LoadingWndHelper.CloseLoadingWnd(ActiveIds.CREATINGPDF)
+
+ End Sub
+
#End Region ' PrintPDF
#End Region ' COMMANDS
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml b/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
index a81677b8..16137429 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
@@ -189,6 +189,19 @@
+
+