437 lines
13 KiB
VB.net
437 lines
13 KiB
VB.net
Imports EgtBEAMWALL.Core
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class TopPanelVM
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Friend Enum Tabs As Integer
|
|
OPTIMIZATION = 0
|
|
STATISTICS = 1
|
|
End Enum
|
|
|
|
Private m_SelTab As Tabs = Tabs.OPTIMIZATION
|
|
Public Property SelTab As Integer
|
|
Get
|
|
Return m_SelTab
|
|
End Get
|
|
Set(value As Integer)
|
|
m_SelTab = value
|
|
End Set
|
|
End Property
|
|
Friend Sub SetSelTab(SelTab As Tabs)
|
|
If m_SelTab = Tabs.STATISTICS Then
|
|
Map.refInstrumentPanelVM.SetStatisticsIsChecked(False)
|
|
End If
|
|
m_SelTab = SelTab
|
|
NotifyPropertyChanged(NameOf(SelTab))
|
|
End Sub
|
|
|
|
Private m_TopPanel_IsEnabled As Boolean = True
|
|
Public ReadOnly Property TopPanel_IsEnabled As Boolean
|
|
Get
|
|
Return m_TopPanel_IsEnabled
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdProduceAllRawPart As ICommand
|
|
Private m_cmdProduceRawPart As ICommand
|
|
Private m_cmdResetCALCRawPart As ICommand
|
|
Private m_cmdCopyRawPart As ICommand
|
|
Private m_cmdRemoveRawPart As ICommand
|
|
Private m_cmdRemovePart As ICommand
|
|
Private m_cmdMoveUpPart As ICommand
|
|
Private m_cmdMoveDownPart As ICommand
|
|
Private m_cmdReOrderPart As ICommand
|
|
|
|
Public ReadOnly Property MovePart_Visibility As Visibility
|
|
Get
|
|
If Not IsNothing(Map.refProjectVM) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
|
|
Return If(Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM, Visibility.Visible, Visibility.Collapsed)
|
|
End If
|
|
Return Visibility.Collapsed
|
|
End Get
|
|
End Property
|
|
|
|
#Region "Messages"
|
|
|
|
Public ReadOnly Property ProduceRawPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61912)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ResetCALCRawPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61924)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ProduceAllRawPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61913)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property CopyRawPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61914)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property RemoveRawPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61915)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ReOrderPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61916)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MoveUpPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61917)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MoveDownPart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61918)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property RemovePart_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61919)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' Messages
|
|
|
|
#End Region 'FIELDS & PROPERTIES
|
|
|
|
Sub New()
|
|
' imposto riferimento su mappa
|
|
Map.SetRefTopPanelVM(Me)
|
|
End Sub
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Sub SetTopPanelIsEnabled(bIsEnabled As Boolean)
|
|
m_TopPanel_IsEnabled = bIsEnabled
|
|
NotifyPropertyChanged(NameOf(TopPanel_IsEnabled))
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "ProduceRawPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property ProduceRawPart_Command As ICommand
|
|
Get
|
|
If m_cmdProduceRawPart Is Nothing Then
|
|
m_cmdProduceRawPart = New Command(AddressOf ProduceRawPart)
|
|
End If
|
|
Return m_cmdProduceRawPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub ProduceRawPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Produce(Map.refMachGroupPanelVM.SelectedMachGroup)
|
|
End Sub
|
|
|
|
Private Sub Produce(MachGroup As MyMachGroupVM)
|
|
If IsNothing(MachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If MachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
If MachGroup.nGlobalState = CalcStates.OK Or MachGroup.nGlobalState = CalcStates.INFO Then
|
|
' se ci sono modifiche, salvo il pogetto
|
|
If EgtGetModified() Then
|
|
Map.refProdManagerVM.Save()
|
|
End If
|
|
' mando al supervisore
|
|
DbControllers.m_MachGroupController.UpdateSupervisor(Map.refProdManagerVM.CurrProd.nProdId, MachGroup.Id, DbControllers.m_SupervisorId)
|
|
DbControllers.m_MachGroupController.UpdateOrder(Map.refProdManagerVM.CurrProd.nProdId, MachGroup.Id, 10000)
|
|
MachGroup.SentToSupervisor()
|
|
Else
|
|
MessageBox.Show("Impossibile mandarlo in produzione perche' non lavorabile!")
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' ProduceRawPart
|
|
|
|
#Region "ProduceAllRawPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property ProduceAllRawPart_Command As ICommand
|
|
Get
|
|
If m_cmdProduceAllRawPart Is Nothing Then
|
|
m_cmdProduceAllRawPart = New Command(AddressOf ProduceAllRawPart)
|
|
End If
|
|
Return m_cmdProduceAllRawPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub ProduceAllRawPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
If Map.refMachGroupPanelVM.MachGroupVMList.Count > 0 Then
|
|
For Each Machgroup In Map.refMachGroupPanelVM.MachGroupVMList
|
|
Produce(Machgroup)
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' ProduceAllRawPart
|
|
|
|
#Region "ResetCALCRawPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property ResetCALCRawPart_Command As ICommand
|
|
Get
|
|
If m_cmdResetCALCRawPart Is Nothing Then
|
|
m_cmdResetCALCRawPart = New Command(AddressOf ResetCALCRawPart)
|
|
End If
|
|
Return m_cmdResetCALCRawPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub ResetCALCRawPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
If SelMachGroup.nGlobalState <> CalcStates.NOTCALCULATED Then
|
|
SelMachGroup.ResetCalcMachGroup()
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' ResetCALCRawPart
|
|
|
|
#Region "CopyRawPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property CopyRawPart_Command As ICommand
|
|
Get
|
|
If m_cmdCopyRawPart Is Nothing Then
|
|
m_cmdCopyRawPart = New Command(AddressOf CopyRawPart)
|
|
End If
|
|
Return m_cmdCopyRawPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub CopyRawPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' creo copia
|
|
Dim NewMachGroup As MyMachGroupVM = SelMachGroup.Copy()
|
|
If Not IsNothing(NewMachGroup) Then
|
|
' lo seleziono
|
|
Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup = NewMachGroup
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' CopyRawPart
|
|
|
|
#Region "RemoveRawPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property RemoveRawPart_Command As ICommand
|
|
Get
|
|
If m_cmdRemoveRawPart Is Nothing Then
|
|
m_cmdRemoveRawPart = New Command(AddressOf RemoveRawPart)
|
|
End If
|
|
Return m_cmdRemoveRawPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub RemoveRawPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
SelMachGroup.DeleteMachGroup()
|
|
End Sub
|
|
|
|
#End Region ' RemoveRawPart
|
|
|
|
#Region "RemovePart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property RemovePart_Command As ICommand
|
|
Get
|
|
If m_cmdRemovePart Is Nothing Then
|
|
m_cmdRemovePart = New Command(AddressOf RemovePart)
|
|
End If
|
|
Return m_cmdRemovePart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub RemovePart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
Dim SelPart As PartVM = SelMachGroup.SelPart
|
|
If IsNothing(SelPart) Then Return
|
|
SelPart.DeletePart()
|
|
SelMachGroup.ResetCalcMachGroup()
|
|
End Sub
|
|
|
|
#End Region ' RemovePart
|
|
|
|
#Region "MoveUpPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property MoveUpPart_Command As ICommand
|
|
Get
|
|
If m_cmdMoveUpPart Is Nothing Then
|
|
m_cmdMoveUpPart = New Command(AddressOf MoveUpPart)
|
|
End If
|
|
Return m_cmdMoveUpPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub MoveUpPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
Dim SelPart As PartVM = SelMachGroup.SelPart
|
|
If IsNothing(SelPart) Then Return
|
|
If SelMachGroup.nType = MachineType.BEAM Then
|
|
SelMachGroup.MoveBeam(SelPart, MoveDirections.UP)
|
|
EgtDraw()
|
|
' riseleziono trave
|
|
SelMachGroup.SelPart = SelPart
|
|
End If
|
|
SelMachGroup.ResetCalcMachGroup()
|
|
End Sub
|
|
|
|
#End Region ' MoveUpPart
|
|
|
|
#Region "MoveDownPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property MoveDownPart_Command As ICommand
|
|
Get
|
|
If m_cmdMoveDownPart Is Nothing Then
|
|
m_cmdMoveDownPart = New Command(AddressOf MoveDownPart)
|
|
End If
|
|
Return m_cmdMoveDownPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub MoveDownPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
Dim SelPart As PartVM = SelMachGroup.SelPart
|
|
If IsNothing(SelPart) Then Return
|
|
If SelMachGroup.nType = MachineType.BEAM Then
|
|
SelMachGroup.MoveBeam(SelPart, MoveDirections.DOWN)
|
|
EgtDraw()
|
|
' riseleziono trave
|
|
SelMachGroup.SelPart = SelPart
|
|
End If
|
|
SelMachGroup.ResetCalcMachGroup()
|
|
End Sub
|
|
|
|
#End Region ' MoveDownPart
|
|
|
|
#Region "ReOrderPart"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property ReOrderPart_Command As ICommand
|
|
Get
|
|
If m_cmdReOrderPart Is Nothing Then
|
|
m_cmdReOrderPart = New Command(AddressOf ReOrderPart)
|
|
End If
|
|
Return m_cmdReOrderPart
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub ReOrderPart()
|
|
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
|
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
|
If IsNothing(SelMachGroup) Then Return
|
|
' se barra gia' assegnata a supervisore, esco
|
|
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
|
Dim SelPart As PartVM = SelMachGroup.SelPart
|
|
If IsNothing(SelPart) Then Return
|
|
If SelMachGroup.nType = MachineType.BEAM Then
|
|
SelMachGroup.ReorderBeam()
|
|
' riseleziono trave
|
|
If Not IsNothing(SelPart) AndAlso (IsNothing(SelMachGroup.SelPart) OrElse SelPart.nPartId <> SelMachGroup.SelPart.nPartId) Then
|
|
SelMachGroup.SelPart = SelPart
|
|
End If
|
|
End If
|
|
SelMachGroup.ResetCalcMachGroup()
|
|
End Sub
|
|
|
|
#End Region ' ReOrderPart
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|