Optmizer 3.0.1.5
-sistemata grafica progressbar per verifica -aggiunto creazione btlinfo nuovo progetto -aggiunto reset feature -sistemato creazione pdf
This commit is contained in:
@@ -463,6 +463,10 @@ Public Class BTLPartManagerVM
|
||||
|
||||
Public Sub ResetCalc()
|
||||
If IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Return
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
|
||||
MyExecProcessManager.nProjIndex = 0
|
||||
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLPart
|
||||
If IsNothing(SelPart) Then Return
|
||||
If SelPart.nGlobalState <> CalcStates.NOTCALCULATED Then
|
||||
|
||||
@@ -2379,6 +2379,9 @@ Public Class BTLPartVM
|
||||
|
||||
Friend Sub Verify()
|
||||
If IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Return
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
MyExecProcessManager.nProjIndex = -1
|
||||
Map.refCALCPanelVM.Verify(ProjectType.PROJ)
|
||||
Return
|
||||
End Sub
|
||||
|
||||
@@ -577,7 +577,7 @@ Public Class CALCPanelVM
|
||||
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(False)
|
||||
Map.refSceneBuildingVM.SetViewPanel_IsEnable(False)
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Scena assemblato disabilitata durante la verifica")
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Verifica in corso...")
|
||||
' Imposto contesto scena principale
|
||||
Dim CurrContext As Integer = EgtGetCurrentContext()
|
||||
Dim MainSceneContext As Integer = Map.refSceneHostVM.MainScene.GetCtx()
|
||||
@@ -629,7 +629,7 @@ Public Class CALCPanelVM
|
||||
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(False)
|
||||
Map.refSceneBuildingVM.SetViewPanel_IsEnable(False)
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Scena assemblato disabilitata durante la verifica")
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Verifica in corso...")
|
||||
' Imposto contesto scena principale
|
||||
Dim CurrContext As Integer = EgtGetCurrentContext()
|
||||
Dim MainSceneContext As Integer = Map.refSceneHostVM.MainScene.GetCtx()
|
||||
|
||||
@@ -81,9 +81,15 @@ Module MyExecProcessManager
|
||||
Map.refCALCPanelVM.ProcessResults(sBarPath, nProgramPage, nBarId)
|
||||
' Gestione progressbar per verificare l'inizio e la fine della verifica
|
||||
If nProgramPage = ProjectType.PROJ Then
|
||||
Map.refMyStatusBarVM.MaximumValue = Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(nProjIndex)
|
||||
nProjIndex += 1
|
||||
If nProjIndex = -1 Then
|
||||
Map.refMyStatusBarVM.MaximumValue = 1
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(1)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
|
||||
Else
|
||||
Map.refMyStatusBarVM.MaximumValue = Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(nProjIndex)
|
||||
nProjIndex += 1
|
||||
End If
|
||||
If nProjIndex = Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1 Then
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
|
||||
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(True)
|
||||
@@ -91,9 +97,15 @@ Module MyExecProcessManager
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
|
||||
End If
|
||||
Else
|
||||
Map.refMyStatusBarVM.MaximumValue = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(nProdIndex)
|
||||
nProdIndex += 1
|
||||
If nProdIndex = -1 Then
|
||||
Map.refMyStatusBarVM.MaximumValue = 1
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(1)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
|
||||
Else
|
||||
Map.refMyStatusBarVM.MaximumValue = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(nProdIndex)
|
||||
nProdIndex += 1
|
||||
End If
|
||||
If nProdIndex = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1 Then
|
||||
Map.refMyStatusBarVM.SetOutputMessage("Verifica Completata")
|
||||
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(True)
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
<Button Content="MAT"
|
||||
ToolTip="{Binding ChangeMaterial_ToolTip}"
|
||||
Command="{Binding ChangeMaterial_Command}"
|
||||
Visibility="{Binding ChangeMaterial_Visibility}"
|
||||
Visibility="Collapsed"
|
||||
IsEnabled="{Binding InstrumentPanel_IsEnabled}"
|
||||
Style="{StaticResource InstrumentPanel_Button}"/>
|
||||
|
||||
<!--Visibility="{Binding ChangeMaterial_Visibility}"-->
|
||||
</StackPanel>
|
||||
|
||||
@@ -329,6 +329,7 @@ Public Class LeftPanelVM
|
||||
If (IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM)) Then Return
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
|
||||
MyExecProcessManager.nProjIndex = 0
|
||||
For Each Part In Map.refProjectVM.BTLStructureVM.BTLPartVMList
|
||||
If Part.nGlobalState <> CalcStates.NOTCALCULATED Then
|
||||
|
||||
@@ -969,6 +969,9 @@ Public Class MyMachGroupVM
|
||||
|
||||
Friend Sub Verify()
|
||||
If ((IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM))) Then Return
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
MyExecProcessManager.nProdIndex = -1
|
||||
Map.refCALCPanelVM.Verify(ProjectType.PROD)
|
||||
Return
|
||||
End Sub
|
||||
@@ -1247,6 +1250,10 @@ Public Class MyMachGroupVM
|
||||
|
||||
Public Sub ResetCalc()
|
||||
If ((IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM))) Then Return
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
|
||||
MyExecProcessManager.nProdIndex = 0
|
||||
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
||||
If IsNothing(SelMachGroup) Then Return
|
||||
' se barra gia' assegnata a supervisore, esco
|
||||
|
||||
@@ -67,5 +67,5 @@ Imports System.Windows
|
||||
' Revision
|
||||
'
|
||||
|
||||
<Assembly: AssemblyVersion("3.1.0.4")>
|
||||
<Assembly: AssemblyFileVersion("3.1.0.4")>
|
||||
<Assembly: AssemblyVersion("3.1.0.5")>
|
||||
<Assembly: AssemblyFileVersion("3.1.0.5")>
|
||||
|
||||
@@ -96,6 +96,7 @@ Public Class OptimizePanelVM
|
||||
Return m_Optimize_IsEnabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_CalcRotFlip_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property CalcRotFlip_IsEnabled As Boolean
|
||||
Get
|
||||
|
||||
@@ -919,6 +919,11 @@ Public Class ProdManagerVM
|
||||
' Disabilito pulsante assemblato
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
|
||||
|
||||
' creo BTLINFO
|
||||
Dim nBTLInfoLayer As Integer = EgtCreateGroup(GDB_ID.ROOT)
|
||||
EgtSetName(nBTLInfoLayer, BTLINFO)
|
||||
EgtSetLevel(nBTLInfoLayer, GDB_LV.SYSTEM)
|
||||
|
||||
' creo PROJECTINFO
|
||||
Dim nProjectInfoLayer As Integer = EgtCreateGroup(GDB_ID.ROOT)
|
||||
EgtSetName(nProjectInfoLayer, PROJECTINFO)
|
||||
@@ -955,7 +960,6 @@ Public Class ProdManagerVM
|
||||
End If
|
||||
End While
|
||||
' scrivo info proj e type su layer BtlInfo
|
||||
Dim nBTLInfoLayer As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
|
||||
EgtSetInfo(nBTLInfoLayer, BTL_PRT_PROJ, nProjId)
|
||||
EgtSetInfo(nBTLInfoLayer, BTL_GEN_PROJTYPE, nType)
|
||||
' scrivo info proj su layer AsseBase
|
||||
@@ -1028,7 +1032,7 @@ Public Class ProdManagerVM
|
||||
Return False
|
||||
End If
|
||||
' se la macchina del progetto in apertura non è tra le macchine disponibili lo segnalo ed esco
|
||||
Dim OpenProjectMachine As MyMachine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) x.Name = m_TempCurrProd.sMachine)
|
||||
Dim OpenProjectMachine As MyMachine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) String.Equals(x.Name, m_TempCurrProd.sMachine, StringComparison.OrdinalIgnoreCase))
|
||||
If IsNothing(OpenProjectMachine) Then
|
||||
' rimuovo il file in apertura dalla lista degli MRU
|
||||
m_MruFiles.Remove(sFilePath)
|
||||
@@ -1125,7 +1129,7 @@ Public Class ProdManagerVM
|
||||
' carico filtri di ricerca
|
||||
Map.refProjectVM.BTLStructureVM.LoadFilters()
|
||||
' imposto macchina del progetto
|
||||
Map.refMachinePanelVM.SelectedMachine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) x.Name = ProjectManagerVM.CurrProd.sMachine)
|
||||
Map.refMachinePanelVM.SelectedMachine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) String.Equals(x.Name, ProjectManagerVM.CurrProd.sMachine, StringComparison.OrdinalIgnoreCase))
|
||||
Map.refMachinePanelVM.SetSelMachineName(Map.refMachinePanelVM.SelectedMachine.Name)
|
||||
Map.refMachinePanelVM.SetStrategyManagerIsChecked(True)
|
||||
Core.ViewPanelVM.UpdateBWType(ProjectManagerVM.CurrProd.nType)
|
||||
@@ -1266,7 +1270,7 @@ Public Class ProdManagerVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub OpenOnlyProjectFromSupervisor(ProjIdToOpen As Integer)
|
||||
Public Sub OpenProjectFromSupervisor(ProjIdToOpen As Integer)
|
||||
If Not IsNothing(ProjectManagerVM.CurrProd) Then
|
||||
m_nProjIdToOpen = ProjIdToOpen
|
||||
m_bOpenProj = True
|
||||
@@ -1612,7 +1616,7 @@ Public Class ProdManagerVM
|
||||
Dim nImpExpPartId = EgtGetFirstNameInGroup(GDB_ID.ROOT, EXP_PART)
|
||||
Dim sMachine As String = ""
|
||||
EgtGetInfo(nImpExpPartId, EXP_MACHINE, sMachine)
|
||||
Dim Machine As Machine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) x.Name = sMachine)
|
||||
Dim Machine As Machine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) String.Equals(x.Name, sMachine, StringComparison.OrdinalIgnoreCase))
|
||||
|
||||
' se la macchina del progetto in apertura non è tra le macchine disponibili lo segnalo e apro un progetto vuoto
|
||||
Dim nType As Integer = BWType.NULL
|
||||
@@ -1746,6 +1750,12 @@ Public Class ProdManagerVM
|
||||
End If
|
||||
Next
|
||||
|
||||
' imposto progetto corrente
|
||||
If NewProjIdList.Count > 0 Then
|
||||
SetCurrProj(NewProjIdList(0))
|
||||
SetCurrProd(nProdId)
|
||||
End If
|
||||
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 AndAlso GetMainPrivateProfileInt(S_MACH, K_EXPORTBWE, 0) = 1 Then
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
@@ -1804,12 +1814,7 @@ Public Class ProdManagerVM
|
||||
DbControllers.m_ProdController.LockByProdId(nProdId, False, Map.refMainWindowVM.MainWindowM.GetKeyNumber())
|
||||
End If
|
||||
DbControllers.m_ProdController.ResetController()
|
||||
' imposto progetto corrente
|
||||
If NewProjIdList.Count > 0 Then
|
||||
SetCurrProj(NewProjIdList(0))
|
||||
SetCurrProd(nProdId)
|
||||
OpenProject(CurrProd)
|
||||
End If
|
||||
OpenProject(CurrProd)
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_LASTNGEXPDIR, Path.GetDirectoryName(ImportDlg.FileName))
|
||||
LoadingWndHelper.CloseLoadingWnd(ActiveIds.IMPORTPROJECT)
|
||||
End Sub
|
||||
|
||||
@@ -688,6 +688,8 @@ Public Class ProjectVM
|
||||
Next
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(Visibility.Collapsed)
|
||||
End If
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.ResetCalcFeature()
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
|
||||
If Map.refProdManagerVM.ListProjAsseBase.Count > 0 Then UpdatePart()
|
||||
Map.refProjectVM.SetRawPartManagerVisibility(Visibility.Visible)
|
||||
Map.refProjectVM.SetStrategyManagerVisibility(Visibility.Collapsed)
|
||||
|
||||
@@ -803,6 +803,7 @@ Public Class RawPartManagerVM
|
||||
Map.refMyStatusBarVM.SetLoadingProgress(0)
|
||||
Map.refMyStatusBarVM.SetOutputMessage("")
|
||||
MyExecProcessManager.nProdIndex = 0
|
||||
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
|
||||
For Each MachGroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
|
||||
If MachGroup.nProduction_State >= ItemState.Assigned Then Continue For
|
||||
If MachGroup.nGlobalState <> CalcStates.NOTCALCULATED Then
|
||||
|
||||
@@ -56,11 +56,13 @@ Public Class ShowBeamPanelVM
|
||||
Map.refProjectVM.SetSceneShowBuldingVisibility(Visibility.Visible)
|
||||
Map.refProjectVM.SetManagerTabVisibility(Visibility.Collapsed)
|
||||
Map.refProjectVM.SetFeatureListVisibility(Visibility.Collapsed)
|
||||
Map.refOptimizePanelVM.SetOptimizePanelIsEnabled(False)
|
||||
Else
|
||||
EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx())
|
||||
Map.refProjectVM.SetSceneShowBuldingVisibility(Visibility.Collapsed)
|
||||
Map.refProjectVM.SetManagerTabVisibility(Visibility.Visible)
|
||||
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Map.refProjectVM.SetFeatureListVisibility(Visibility.Visible)
|
||||
Map.refOptimizePanelVM.SetOptimizePanelIsEnabled(True)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(ShowBuilding_IsChecked))
|
||||
End Set
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
Public Class OptimizerStatisticsV
|
||||
|
||||
Private m_StatisticsVM As StatisticsVM
|
||||
|
||||
Private Sub PrintBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyToClipboardBtn.Click
|
||||
m_StatisticsVM = Me.DataContext()
|
||||
CopyToClipboard(dgOptimizerStatistics, dgRawPartStatistics, m_StatisticsVM)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
Imports MigraDoc.DocumentObjectModel
|
||||
Imports MigraDoc.DocumentObjectModel.Shapes.Charts
|
||||
Imports MigraDoc.DocumentObjectModel.Tables
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.IO
|
||||
Imports EgtBEAMWALL.Core
|
||||
Imports EgtBEAMWALL.Core.ConstGen
|
||||
Imports EgtUILib
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports MigraDoc.DocumentObjectModel
|
||||
Imports MigraDoc.DocumentObjectModel.Shapes
|
||||
Imports System.IO
|
||||
Imports MigraDoc.DocumentObjectModel.Shapes.Charts
|
||||
Imports MigraDoc.DocumentObjectModel.Tables
|
||||
Imports PdfSharp.Pdf.Content.Objects
|
||||
|
||||
Module PDFHelper
|
||||
|
||||
@@ -140,367 +141,201 @@ Module PDFHelper
|
||||
End Sub
|
||||
|
||||
Private Sub DefineItem(document As Document, nListType As ListTypes, bPreview As Boolean, sMachGroupList As ExpanderTable, sName As EgtDataGridColumn, sW As EgtDataGridColumn, sH As EgtDataGridColumn, sL As EgtDataGridColumn, sMaterial As EgtDataGridColumn, sUsage As EgtDataGridColumn, sWaste As EgtDataGridColumn, sUTime As EgtDataGridColumn, sQty As EgtDataGridColumn, sPDN As EgtDataGridColumn, sDesc As EgtDataGridColumn, sCNT As EgtDataGridColumn, sAdded As EgtDataGridColumn, sDone As EgtDataGridColumn, sUVolume As EgtDataGridColumn, sTVolume As EgtDataGridColumn, sTTime As EgtDataGridColumn, sINProd As EgtDataGridColumn, section As Section)
|
||||
Dim countItemList As Integer
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
section.AddParagraph(EgtMsg(61733), "Heading2")
|
||||
Case ListTypes.MACHGROUP
|
||||
section.AddParagraph(EgtMsg(61730), "Heading2")
|
||||
Case ListTypes.RAWPART
|
||||
section.AddParagraph(EgtMsg(61732), "Heading2")
|
||||
Case ListTypes.PART : section.AddParagraph(EgtMsg(61733), "Heading2")
|
||||
Case ListTypes.MACHGROUP : section.AddParagraph(EgtMsg(61730), "Heading2")
|
||||
Case ListTypes.RAWPART : section.AddParagraph(EgtMsg(61732), "Heading2")
|
||||
End Select
|
||||
|
||||
Dim items As IList(Of Object) = GetItemList(nListType, bPreview)
|
||||
If Not bPreview AndAlso (IsNothing(items) OrElse items.Count = 0) Then Return
|
||||
|
||||
Dim activeColumns As New List(Of Integer)
|
||||
|
||||
For i As Integer = 0 To sMachGroupList.RawPartColumns.Count - 1
|
||||
Dim colName As String = sMachGroupList.RawPartColumns(i).Name
|
||||
|
||||
If ColumnIsEnabled(colName, sPDN, sName, sW, sH, sL, sMaterial, sUsage, sWaste, sUTime, sQty, sDesc, sCNT, sAdded, sDone, sUVolume, sTVolume, sTTime, sINProd) Then
|
||||
activeColumns.Add(i)
|
||||
End If
|
||||
Next
|
||||
|
||||
If activeColumns.Count = 0 Then Return
|
||||
|
||||
Dim table As New Table()
|
||||
table.Borders.Width = 0.75
|
||||
' ciclo sulle colonne per creare la tabella e riempirne i campi
|
||||
' -2 -> creo colonne
|
||||
' -1 -> riempio colonne della riga degli header
|
||||
' >=0 -> riempio le colonne con i valori dei pezzi
|
||||
Dim Itemlist As IEnumerable(Of Object) = Nothing
|
||||
' 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
|
||||
Map.refStatisticsVM.LoadRawPart()
|
||||
Itemlist = Map.refStatisticsVM.RawPartList
|
||||
End Select
|
||||
End If
|
||||
countItemList = If(bPreview, Itemlist.Count, Itemlist.Count - 1)
|
||||
|
||||
For PartIndex = -2 To countItemList
|
||||
Dim BTLPartVM As BTLPartVM = Nothing
|
||||
Dim MachGroupVM As MyMachGroupVM = Nothing
|
||||
Dim RawPart As SParam = 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
|
||||
If bPreview Then
|
||||
' recupero elemento della riga
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
BTLPartVM = Nothing
|
||||
Case ListTypes.MACHGROUP
|
||||
MachGroupVM = Nothing
|
||||
Case ListTypes.RAWPART
|
||||
RawPart = Nothing
|
||||
End Select
|
||||
Else
|
||||
' recupero elemento della riga
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList(PartIndex)
|
||||
Case ListTypes.MACHGROUP
|
||||
MachGroupVM = Map.refProjectVM.MachGroupPanelVM.MachGroupVMList(PartIndex)
|
||||
Case ListTypes.RAWPART
|
||||
RawPart = Map.refStatisticsVM.RawPartList(PartIndex)
|
||||
End Select
|
||||
End If
|
||||
End If
|
||||
For ColumnIndex = 0 To sMachGroupList.RawPartColumns.Count - 1
|
||||
Select Case sMachGroupList.RawPartColumns(ColumnIndex).Name
|
||||
Case COL_PDN
|
||||
If sPDN.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.PDN_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 1, BTLPartVM.nPDN))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_ID
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1.5))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Map.refStatisticsVM.ID_Msg)
|
||||
ElseIf nListType = ListTypes.MACHGROUP Then
|
||||
row.Cells(ColumnIndex).AddParagraph(MachGroupVM.Id)
|
||||
End If
|
||||
Case COL_W
|
||||
If sW.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
table.AddColumn(Unit.FromCentimeter(1))
|
||||
Case ListTypes.MACHGROUP, ListTypes.RAWPART
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
End Select
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.W_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, 200, 120))
|
||||
Else
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
row.Cells(ColumnIndex).AddParagraph(BTLPartVM.sW)
|
||||
Case ListTypes.MACHGROUP
|
||||
row.Cells(ColumnIndex).AddParagraph(MachGroupVM.dW)
|
||||
Case ListTypes.RAWPART
|
||||
row.Cells(ColumnIndex).AddParagraph(RawPart.sW)
|
||||
End Select
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_H
|
||||
If sH.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
table.AddColumn(Unit.FromCentimeter(1))
|
||||
Case ListTypes.MACHGROUP, ListTypes.RAWPART
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
End Select
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.H_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, 360, 160))
|
||||
Else
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
row.Cells(ColumnIndex).AddParagraph(BTLPartVM.sH)
|
||||
Case ListTypes.MACHGROUP
|
||||
row.Cells(ColumnIndex).AddParagraph(MachGroupVM.dH)
|
||||
Case ListTypes.RAWPART
|
||||
row.Cells(ColumnIndex).AddParagraph(RawPart.sH)
|
||||
End Select
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_L
|
||||
If sL.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
table.AddColumn(Unit.FromCentimeter(1.6))
|
||||
Case ListTypes.MACHGROUP, ListTypes.RAWPART
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
End Select
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.L_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, 6672.6, 15000))
|
||||
Else
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
row.Cells(ColumnIndex).AddParagraph(BTLPartVM.sL)
|
||||
Case ListTypes.MACHGROUP
|
||||
row.Cells(ColumnIndex).AddParagraph(MachGroupVM.dL)
|
||||
Case ListTypes.RAWPART
|
||||
row.Cells(ColumnIndex).AddParagraph(RawPart.sL)
|
||||
End Select
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_DESC
|
||||
If sDesc.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(4))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.NAM_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, EgtMsg(63032), 1))
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, BTLPartVM.sNAM, MachGroupVM.nName))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_NAME
|
||||
If sName.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(4))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.NAM_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, EgtMsg(63032), 1))
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, BTLPartVM.sNAM, MachGroupVM.nName))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_MATERIAL
|
||||
If sMaterial.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.MAT_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph("GL24h")
|
||||
Else
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
row.Cells(ColumnIndex).AddParagraph(BTLPartVM.sMATERIAL)
|
||||
Case ListTypes.MACHGROUP
|
||||
row.Cells(ColumnIndex).AddParagraph(MachGroupVM.sMATERIAL)
|
||||
Case ListTypes.RAWPART
|
||||
row.Cells(ColumnIndex).AddParagraph(RawPart.sMaterial)
|
||||
End Select
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_CNT
|
||||
If sCNT.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1.6))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.CNT_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 1, BTLPartVM.sCNT))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_ADDED
|
||||
If sAdded.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1.5))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.ADDED_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 0, BTLPartVM.sADDED))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_INPROD
|
||||
If sINProd.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2.5))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.INPROD_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 0, BTLPartVM.nINPROD))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_DONE
|
||||
If sDone.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1.5))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.DONE_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 0, BTLPartVM.nDONE))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_USAGE
|
||||
If sUsage.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.Used_Msg)
|
||||
ElseIf nListType = ListTypes.MACHGROUP Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 99.719, MachGroupVM.sUsage))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_WASTE
|
||||
If sWaste.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.Waste_Msg)
|
||||
ElseIf nListType = ListTypes.MACHGROUP Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 0.5, MachGroupVM.sWaste))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_UNITVOLUME
|
||||
If sUVolume.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(If(nListType = ListTypes.PART, Unit.FromCentimeter(1.5), Unit.FromCentimeter(2)))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.UNIT_VOLUME_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(0.48)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, BTLPartVM.sUnitVolume, MachGroupVM.dUnitVolume))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_TOTVOLUME
|
||||
If sTVolume.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1.5))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.TOT_VOLUME_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 0.48, BTLPartVM.sTotVolume))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_UNITTIME
|
||||
If sUTime.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2.2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.UNIT_TIME_Msg)
|
||||
ElseIf bPreview Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, "00:00:00", "00:13:07"))
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(nListType = ListTypes.PART, BTLPartVM.sUnitTime, MachGroupVM.sUnitTime))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_TOTTIME
|
||||
If sTTime.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.TOT_TIME_Msg)
|
||||
ElseIf nListType = ListTypes.PART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, "00:00:00", BTLPartVM.sTotTime))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_QTY
|
||||
If sQty.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.QTY_Msg)
|
||||
ElseIf nListType = ListTypes.RAWPART Then
|
||||
row.Cells(ColumnIndex).AddParagraph(If(bPreview, 11, RawPart.nQuantity))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
For Each colIndex As Integer In activeColumns
|
||||
Dim width As Unit = GetColumnWidth(sMachGroupList.RawPartColumns(colIndex).Name, nListType)
|
||||
table.AddColumn(width)
|
||||
Next
|
||||
' aggiungo tabella all'ultima sezione
|
||||
document.LastSection.Add(table)
|
||||
|
||||
Dim header As Row = table.AddRow()
|
||||
header.HeadingFormat = True
|
||||
header.Shading.Color = Colors.Aqua
|
||||
|
||||
For j As Integer = 0 To activeColumns.Count - 1
|
||||
Dim colName As String = sMachGroupList.RawPartColumns(activeColumns(j)).Name
|
||||
header.Cells(j).AddParagraph(GetHeaderText(colName))
|
||||
Next
|
||||
|
||||
If bPreview Then
|
||||
Dim row As Row = table.AddRow()
|
||||
For j As Integer = 0 To activeColumns.Count - 1
|
||||
Dim colName As String = sMachGroupList.RawPartColumns(activeColumns(j)).Name
|
||||
row.Cells(j).AddParagraph(GetCellValue(colName, Nothing, nListType, bPreview))
|
||||
Next
|
||||
Else
|
||||
For Each item As Object In items
|
||||
Dim row As Row = table.AddRow()
|
||||
|
||||
For j As Integer = 0 To activeColumns.Count - 1
|
||||
Dim colName As String = sMachGroupList.RawPartColumns(activeColumns(j)).Name
|
||||
row.Cells(j).AddParagraph(GetCellValue(colName, item, nListType, bPreview))
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
|
||||
If table.Columns.Count > 0 AndAlso table.Rows.Count > 0 Then document.LastSection.Add(table)
|
||||
End Sub
|
||||
|
||||
Private Function ColumnIsEnabled(colName As String, sPDN As EgtDataGridColumn, sName As EgtDataGridColumn, sW As EgtDataGridColumn, sH As EgtDataGridColumn, sL As EgtDataGridColumn, sMaterial As EgtDataGridColumn, sUsage As EgtDataGridColumn, sWaste As EgtDataGridColumn, sUTime As EgtDataGridColumn, sQty As EgtDataGridColumn, sDesc As EgtDataGridColumn, sCNT As EgtDataGridColumn, sAdded As EgtDataGridColumn, sDone As EgtDataGridColumn, sUVolume As EgtDataGridColumn, sTVolume As EgtDataGridColumn, sTTime As EgtDataGridColumn, sINProd As EgtDataGridColumn) As Boolean
|
||||
Select Case colName
|
||||
Case COL_PDN : Return sPDN.bIsChecked
|
||||
Case COL_NAME, COL_DESC : Return Not IsNothing(sName) AndAlso sName.bIsChecked Or Not IsNothing(sDesc) AndAlso sDesc.bIsChecked
|
||||
Case COL_W : Return sW.bIsChecked
|
||||
Case COL_H : Return sH.bIsChecked
|
||||
Case COL_L : Return sL.bIsChecked
|
||||
Case COL_MATERIAL : Return sMaterial.bIsChecked
|
||||
Case COL_USAGE : Return sUsage.bIsChecked
|
||||
Case COL_WASTE : Return sWaste.bIsChecked
|
||||
Case COL_UNITTIME : Return sUTime.bIsChecked
|
||||
Case COL_QTY : Return sQty.bIsChecked
|
||||
Case COL_CNT : Return sCNT.bIsChecked
|
||||
Case COL_ADDED : Return sAdded.bIsChecked
|
||||
Case COL_DONE : Return sDone.bIsChecked
|
||||
Case COL_UNITVOLUME : Return sUVolume.bIsChecked
|
||||
Case COL_TOTVOLUME : Return sTVolume.bIsChecked
|
||||
Case COL_TOTTIME : Return sTTime.bIsChecked
|
||||
Case COL_INPROD : Return sINProd.bIsChecked
|
||||
Case COL_ID : Return True
|
||||
Case Else : Return False
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetColumnWidth(colName As String, nListType As ListTypes) As Unit
|
||||
Select Case colName
|
||||
Case COL_PDN : Return Unit.FromCentimeter(1)
|
||||
Case COL_ID : Return Unit.FromCentimeter(1.5)
|
||||
Case COL_W, COL_H : Return If(nListType = ListTypes.PART, Unit.FromCentimeter(1), Unit.FromCentimeter(2))
|
||||
Case COL_L : Return If(nListType = ListTypes.PART, Unit.FromCentimeter(1.6), Unit.FromCentimeter(2))
|
||||
Case COL_NAME, COL_DESC : Return Unit.FromCentimeter(4)
|
||||
Case COL_MATERIAL : Return Unit.FromCentimeter(2)
|
||||
Case COL_CNT : Return Unit.FromCentimeter(1.6)
|
||||
Case COL_ADDED : Return Unit.FromCentimeter(1.5)
|
||||
Case COL_INPROD : Return Unit.FromCentimeter(2.5)
|
||||
Case COL_DONE : Return Unit.FromCentimeter(1.5)
|
||||
Case COL_USAGE, COL_WASTE : Return Unit.FromCentimeter(2)
|
||||
Case COL_UNITVOLUME : Return If(nListType = ListTypes.PART, Unit.FromCentimeter(1.5), Unit.FromCentimeter(2))
|
||||
Case COL_TOTVOLUME : Return Unit.FromCentimeter(1.5)
|
||||
Case COL_UNITTIME : Return Unit.FromCentimeter(2.2)
|
||||
Case COL_TOTTIME : Return Unit.FromCentimeter(2)
|
||||
Case COL_QTY : Return Unit.FromCentimeter(2)
|
||||
Case Else : Return Unit.FromCentimeter(2)
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetHeaderText(colName As String) As String
|
||||
Select Case colName
|
||||
Case COL_PDN : Return Statistic_Messages.PDN_Msg
|
||||
Case COL_ID : Return Map.refStatisticsVM.ID_Msg
|
||||
Case COL_W : Return Statistic_Messages.W_Msg
|
||||
Case COL_H : Return Statistic_Messages.H_Msg
|
||||
Case COL_L : Return Statistic_Messages.L_Msg
|
||||
Case COL_NAME, COL_DESC : Return Statistic_Messages.NAM_Msg
|
||||
Case COL_MATERIAL : Return Statistic_Messages.MAT_Msg
|
||||
Case COL_CNT : Return Statistic_Messages.CNT_Msg
|
||||
Case COL_ADDED : Return Statistic_Messages.ADDED_Msg
|
||||
Case COL_INPROD : Return Statistic_Messages.INPROD_Msg
|
||||
Case COL_DONE : Return Statistic_Messages.DONE_Msg
|
||||
Case COL_USAGE : Return Statistic_Messages.Used_Msg
|
||||
Case COL_WASTE : Return Statistic_Messages.Waste_Msg
|
||||
Case COL_UNITVOLUME : Return Statistic_Messages.UNIT_VOLUME_Msg
|
||||
Case COL_TOTVOLUME : Return Statistic_Messages.TOT_VOLUME_Msg
|
||||
Case COL_UNITTIME : Return Statistic_Messages.UNIT_TIME_Msg
|
||||
Case COL_TOTTIME : Return Statistic_Messages.TOT_TIME_Msg
|
||||
Case COL_QTY : Return Statistic_Messages.QTY_Msg
|
||||
Case Else : Return ""
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetItemList(nListType As ListTypes, bPreview As Boolean) As IList(Of Object)
|
||||
If bPreview Then Return New List(Of Object)()
|
||||
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
Return Map.refProjectVM.BTLStructureVM.BTLPartVMList.Cast(Of Object)().ToList()
|
||||
Case ListTypes.MACHGROUP
|
||||
Return Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Cast(Of Object)().ToList()
|
||||
Case ListTypes.RAWPART
|
||||
Map.refStatisticsVM.LoadRawPart()
|
||||
Return Map.refStatisticsVM.RawPartList.Cast(Of Object)().ToList()
|
||||
Case Else
|
||||
Return New List(Of Object)()
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetCellValue(colName As String, item As Object, nListType As ListTypes, bPreview As Boolean) As String
|
||||
Select Case nListType
|
||||
Case ListTypes.PART
|
||||
Dim Part As BTLPartVM = CType(item, BTLPartVM)
|
||||
|
||||
Select Case colName
|
||||
Case COL_PDN : Return If(bPreview, "1", Part.nPDN)
|
||||
Case COL_W : Return If(bPreview, "200", Part.sW)
|
||||
Case COL_H : Return If(bPreview, "360", Part.sH)
|
||||
Case COL_L : Return If(bPreview, "6672.6", Part.sL)
|
||||
Case COL_NAME, COL_DESC : Return Part.sNAM
|
||||
Case COL_MATERIAL : Return Part.sMATERIAL
|
||||
Case COL_CNT : Return If(bPreview, "1", Part.sCNT)
|
||||
Case COL_ADDED : Return If(bPreview, "0", Part.sADDED)
|
||||
Case COL_INPROD : Return If(bPreview, "0", Part.nINPROD)
|
||||
Case COL_DONE : Return If(bPreview, "0", Part.nDONE)
|
||||
Case COL_UNITVOLUME : Return If(bPreview, "0.48", Part.sUnitVolume)
|
||||
Case COL_TOTVOLUME : Return If(bPreview, "0.48", Part.sTotVolume)
|
||||
Case COL_UNITTIME : Return If(bPreview, "00:00:00", Part.sUnitTime)
|
||||
Case COL_TOTTIME : Return If(bPreview, "00:00:00", Part.sTotTime)
|
||||
End Select
|
||||
Case ListTypes.MACHGROUP
|
||||
Dim Machgroup As MyMachGroupVM = CType(item, MyMachGroupVM)
|
||||
|
||||
Select Case colName
|
||||
Case COL_ID : Return Machgroup.Id
|
||||
Case COL_W : Return If(bPreview, "120", Machgroup.dW)
|
||||
Case COL_H : Return If(bPreview, "160", Machgroup.dH)
|
||||
Case COL_L : Return If(bPreview, "15000", Machgroup.dL)
|
||||
Case COL_NAME, COL_DESC : Return Machgroup.nName
|
||||
Case COL_MATERIAL : Return Machgroup.sMATERIAL
|
||||
Case COL_USAGE : Return If(bPreview, "99.719", Machgroup.sUsage)
|
||||
Case COL_WASTE : Return If(bPreview, "0.5", Machgroup.sWaste)
|
||||
Case COL_UNITVOLUME : Return If(bPreview, "0.48", Machgroup.dUnitVolume)
|
||||
Case COL_UNITTIME : Return If(bPreview, "00:13:07", Machgroup.sUnitTime)
|
||||
End Select
|
||||
Case ListTypes.RAWPART
|
||||
Dim RawPart As SParam = CType(item, SParam)
|
||||
|
||||
Select Case colName
|
||||
Case COL_W : Return If(bPreview, "120", RawPart.sW)
|
||||
Case COL_H : Return If(bPreview, "160", RawPart.sH)
|
||||
Case COL_L : Return If(bPreview, "15000", RawPart.sL)
|
||||
Case COL_MATERIAL : Return RawPart.sMaterial
|
||||
Case COL_QTY : Return If(bPreview, "11", RawPart.nQuantity)
|
||||
End Select
|
||||
End Select
|
||||
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
Public Sub CreateRawPartPages(ByVal document As Document, bPreview As Boolean)
|
||||
document.DefaultPageSetup.DifferentFirstPageHeaderFooter = False
|
||||
'Recupero la lista delle colonne delle tabelle
|
||||
@@ -524,131 +359,120 @@ Module PDFHelper
|
||||
|
||||
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, bPreview As Boolean)
|
||||
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)
|
||||
Dim countPartVMList As Integer
|
||||
|
||||
Dim items As IList(Of Object)
|
||||
|
||||
If IsNothing(RawPart) Then
|
||||
PartVMList = New List(Of Object)
|
||||
items = New List(Of Object)()
|
||||
CreateRawPartImage(section, sMachGroupList, 44143, 1, bPreview)
|
||||
countPartVMList = PartVMList.Count
|
||||
Else
|
||||
PartVMList = RawPart.PartVMList
|
||||
items = RawPart.PartVMList.Cast(Of Object)().ToList()
|
||||
CreateRawPartImage(section, sMachGroupList, RawPart.Id, RawPart.Name, bPreview)
|
||||
countPartVMList = PartVMList.Count - 1
|
||||
End If
|
||||
|
||||
' aggiungo tabella dei pezzi
|
||||
Dim table As Table = New Table()
|
||||
table.Borders.Width = 0.75
|
||||
For PartIndex = -2 To countPartVMList
|
||||
Dim PartVM As PartVM = Nothing
|
||||
Dim row As Row = Nothing
|
||||
If PartIndex <> -2 Then
|
||||
' aggiungo riga
|
||||
row = table.AddRow()
|
||||
If Not bPreview AndAlso items.Count = 0 Then Exit Sub
|
||||
|
||||
Dim activeColumns As New List(Of Integer)
|
||||
|
||||
For i = 0 To sMachGroupList.RawPartColumns.Count - 1
|
||||
Dim colName = sMachGroupList.RawPartColumns(i).Name
|
||||
|
||||
If ColumnRawPartIsEnabled(colName, sPDN, Nothing, sW, sH, sL, sMaterial, Nothing, Nothing, Nothing, Nothing, sDesc, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing) Then
|
||||
activeColumns.Add(i)
|
||||
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) = sMachGroupList.RawPartColumns
|
||||
For ColumnIndex = 0 To Columnlist.Count - 1
|
||||
Select Case Columnlist(ColumnIndex).Name
|
||||
Case COL_PDN
|
||||
If sPDN.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(1.5))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.PDN_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(IsNothing(RawPart), 55, PartVM.nPDN))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_W
|
||||
If sW.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.W_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(IsNothing(RawPart), 120, PartVM.sW))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_H
|
||||
If sH.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.H_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(IsNothing(RawPart), 160, PartVM.sH))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_L
|
||||
If sL.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.L_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(IsNothing(RawPart), 185.9, PartVM.sL))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_DESC
|
||||
If sDesc.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(4))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.NAM_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(IsNothing(RawPart), EgtMsg(63033), PartVM.sNAM))
|
||||
End If
|
||||
ElseIf PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(0))
|
||||
End If
|
||||
Case COL_NAME
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(4))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.NAM_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(PartVM.sNAM)
|
||||
End If
|
||||
Case COL_MATERIAL
|
||||
If sMaterial.bIsChecked Then
|
||||
If PartIndex = -2 Then
|
||||
table.AddColumn(Unit.FromCentimeter(2))
|
||||
ElseIf PartIndex = -1 Then
|
||||
row.Cells(ColumnIndex).AddParagraph(Statistic_Messages.MAT_Msg)
|
||||
Else
|
||||
row.Cells(ColumnIndex).AddParagraph(If(IsNothing(RawPart), "GL24h", 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)
|
||||
|
||||
If activeColumns.Count = 0 Then Return
|
||||
|
||||
' --- CREA TABELLA ---
|
||||
Dim table As New Table()
|
||||
table.Borders.Width = 0.75
|
||||
|
||||
For Each colIndex In activeColumns
|
||||
Dim width = GetRawPartColumnWidth(sMachGroupList.RawPartColumns(colIndex).Name)
|
||||
table.AddColumn(width)
|
||||
Next
|
||||
|
||||
Dim header = table.AddRow()
|
||||
header.HeadingFormat = True
|
||||
header.Shading.Color = Colors.Aqua
|
||||
|
||||
For j = 0 To activeColumns.Count - 1
|
||||
Dim colName = sMachGroupList.RawPartColumns(activeColumns(j)).Name
|
||||
header.Cells(j).AddParagraph(GetRawPartHeader(colName))
|
||||
Next
|
||||
|
||||
If bPreview Then
|
||||
Dim row = table.AddRow()
|
||||
For j = 0 To activeColumns.Count - 1
|
||||
Dim colName = sMachGroupList.RawPartColumns(activeColumns(j)).Name
|
||||
row.Cells(j).AddParagraph(GetRawPartValue(colName, Nothing, bPreview))
|
||||
Next
|
||||
Else
|
||||
For Each obj In items
|
||||
Dim p = CType(obj, PartVM)
|
||||
Dim row = table.AddRow()
|
||||
|
||||
For j = 0 To activeColumns.Count - 1
|
||||
Dim colName = sMachGroupList.RawPartColumns(activeColumns(j)).Name
|
||||
row.Cells(j).AddParagraph(GetRawPartValue(colName, p, bPreview))
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
|
||||
If table.Columns.Count > 0 AndAlso table.Rows.Count > 0 Then section.Add(table)
|
||||
End Sub
|
||||
|
||||
Private Function ColumnRawPartIsEnabled(colName As String, sPDN As EgtDataGridColumn, sName As EgtDataGridColumn, sW As EgtDataGridColumn, sH As EgtDataGridColumn, sL As EgtDataGridColumn, sMaterial As EgtDataGridColumn, sUsage As EgtDataGridColumn, sWaste As EgtDataGridColumn, sUTime As EgtDataGridColumn, sQty As EgtDataGridColumn, sDesc As EgtDataGridColumn, sCNT As EgtDataGridColumn, sAdded As EgtDataGridColumn, sDone As EgtDataGridColumn, sUVolume As EgtDataGridColumn, sTVolume As EgtDataGridColumn, sTTime As EgtDataGridColumn, sINProd As EgtDataGridColumn) As Boolean
|
||||
Select Case colName
|
||||
Case COL_PDN : Return sPDN.bIsChecked
|
||||
Case COL_W : Return sW.bIsChecked
|
||||
Case COL_H : Return sH.bIsChecked
|
||||
Case COL_L : Return sL.bIsChecked
|
||||
Case COL_DESC : Return sDesc.bIsChecked
|
||||
Case COL_MATERIAL : Return sMaterial.bIsChecked
|
||||
Case COL_NAME : Return True
|
||||
Case Else : Return False
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetRawPartColumnWidth(colName As String) As Unit
|
||||
Select Case colName
|
||||
Case COL_PDN : Return Unit.FromCentimeter(1.5)
|
||||
Case COL_W, COL_H, COL_L : Return Unit.FromCentimeter(2)
|
||||
Case COL_DESC, COL_NAME : Return Unit.FromCentimeter(4)
|
||||
Case COL_MATERIAL : Return Unit.FromCentimeter(2)
|
||||
Case Else : Return Unit.FromCentimeter(2)
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetRawPartHeader(colName As String) As String
|
||||
Select Case colName
|
||||
Case COL_PDN : Return Statistic_Messages.PDN_Msg
|
||||
Case COL_W : Return Statistic_Messages.W_Msg
|
||||
Case COL_H : Return Statistic_Messages.H_Msg
|
||||
Case COL_L : Return Statistic_Messages.L_Msg
|
||||
Case COL_DESC, COL_NAME : Return Statistic_Messages.NAM_Msg
|
||||
Case COL_MATERIAL : Return Statistic_Messages.MAT_Msg
|
||||
Case Else : Return ""
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetRawPartValue(colName As String, p As PartVM, bPreview As Boolean) As String
|
||||
Select Case colName
|
||||
Case COL_PDN : Return If(bPreview, "55", p.nPDN)
|
||||
Case COL_W : Return If(bPreview, "120", p.sW)
|
||||
Case COL_H : Return If(bPreview, "160", p.sH)
|
||||
Case COL_L : Return If(bPreview, "185.9", p.sL)
|
||||
Case COL_DESC, COL_NAME : Return If(bPreview, EgtMsg(63033), p.sNAM)
|
||||
Case COL_MATERIAL : Return If(bPreview, "GL24h", p.sMATERIAL)
|
||||
Case Else : Return ""
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Sub CreateRawPartImage(section As Section, sMachGroupList As ExpanderTable, RawPartId As Integer, RawPartName As String, bPreview As Boolean)
|
||||
Dim sImagePath As String = String.Empty
|
||||
' creo immagine
|
||||
@@ -656,16 +480,13 @@ Module PDFHelper
|
||||
EgtSetMachineLook(MCH_LOOK.TAB)
|
||||
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.FRONT, VT.TOP), False)
|
||||
EgtZoom(ZM.ALL, False)
|
||||
If Not File.Exists(Map.refMainWindowVM.MainWindowM.sTempDir & "\Image" & RawPartId & ".png") Then
|
||||
sImagePath = Map.refMainWindowVM.MainWindowM.sTempDir & "\Image" & RawPartId & ".png"
|
||||
ElseIf bPreview Then
|
||||
sImagePath = Map.refMainWindowVM.MainWindowM.sTempDir & "\ImageTest.png"
|
||||
Else
|
||||
Return
|
||||
End If
|
||||
Dim basePath = Map.refMainWindowVM.MainWindowM.sTempDir
|
||||
Dim realImage = $"{basePath}\Image{RawPartId}.png"
|
||||
Dim previewImage = $"{basePath}\ImageTest.png"
|
||||
sImagePath = If(bPreview, previewImage, realImage)
|
||||
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)
|
||||
' aggiungo immagine
|
||||
If sMachGroupList.bImage_IsChecked Then
|
||||
Dim Image As Image = section.AddImage(sImagePath)
|
||||
Image.LockAspectRatio = True
|
||||
@@ -678,12 +499,12 @@ Module PDFHelper
|
||||
|
||||
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(245)
|
||||
Image.Width = Unit.FromMillimeter(40)
|
||||
Image.Height = Unit.FromMillimeter(40)
|
||||
Image.LockAspectRatio = True
|
||||
Image.RelativeVertical = RelativeVertical.Line
|
||||
Image.Top = ShapePosition.Top
|
||||
Image.Left = ShapePosition.Left
|
||||
Image.Left = ShapePosition.Right
|
||||
Image.WrapFormat.Style = WrapStyle.Through
|
||||
Image.RelativeHorizontal = RelativeHorizontal.Margin
|
||||
End Sub
|
||||
|
||||
@@ -36,7 +36,7 @@ Public Class SupervisorComm
|
||||
Case StatusMapOpType.OpenPageInViewOptimRequest
|
||||
Map.refMainMenuVM.OpenPageFromSupervisor(Math.Abs(Message.ItemId))
|
||||
Case StatusMapOpType.ChangeProdInOptimizerRequest
|
||||
Map.refProdManagerVM.OpenOnlyProjectFromSupervisor(Message.ItemId)
|
||||
Map.refProdManagerVM.OpenProjectFromSupervisor(Message.ItemId)
|
||||
End Select
|
||||
End Select
|
||||
Next
|
||||
|
||||
Reference in New Issue
Block a user