Modifiche per comunicazione tra ViewerOptimizer e Supervisor

Correzioni e migliorie
This commit is contained in:
Emmanuele Sassi
2021-07-29 16:17:37 +02:00
parent 4e7017041d
commit b4e8d68c62
25 changed files with 263 additions and 245 deletions
@@ -1,4 +1,5 @@
Imports EgtBEAMWALL.DataLayer.DatabaseModels
Imports EgtBEAMWALL.Core
Imports EgtBEAMWALL.DataLayer.DatabaseModels
Public Class SupervisorComm
@@ -10,6 +11,8 @@ Public Class SupervisorComm
Friend Sub Timer_Tick()
' se sono in pagina vista
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
' se non c'e' un progetto attivo, esco
If IsNothing(Map.refProjManagerVM.CurrProj) Then Return
' verifico se c'e' un progetto aperto o in caricamento
'If IsNothing(Map.refProjManagerVM.CurrProj) OrElse Map.refProjManagerVM.bLoadingProj Then Return
' verifico se c'e' una sessione aperta sul progetto corrente
@@ -22,18 +25,39 @@ Public Class SupervisorComm
Next
If nModificationIndex = -1 Then Return
' verifico se ci sono modifiche
'If nModificationIndex <> Map.refProjManagerVM.CurrProj.nModificationIndex Then
' ' aggiorno stati dei pezzi e colore di visualizzazione
If nModificationIndex <> Map.refProjManagerVM.CurrProj.nModificationIndex Then
' recupero elementi modificati
Dim MachGroupList As List(Of StatusMapModel) = DbControllers.m_StatusMapController.GetFrom(Map.refProjManagerVM.CurrProj.nModificationIndex + 1)
Dim bReloadFile As Boolean = False
For Each MachGroupModification In MachGroupList
Select Case MachGroupModification.Operation
Case Core.StatusMapOpType.PartStart
' aggiorno stati dei pezzi e colore di visualizzazione
'End If
Case Core.StatusMapOpType.PartEnd
Case Core.StatusMapOpType.MachGroupRemovedFromSupervisor
Dim Machgroup As MyMachGroupVM = Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = MachGroupModification.ItemId)
Machgroup.ResetSupervisorId()
End Select
Next
End If
' se arriva richiesta da supervisore di blocco e salvataggio
' verifico se ho aperto lo stesso progetto
' chiedo se salvare
' blocco interfaccia fino a notifica di sblocco
' se sono in pagina ottimizzatore
ElseIf Map.refMainMenuVM.SelPage = Pages.MACHINING Then
' se non c'e' un progetto attivo, esco
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
' verifico se c'e' un progetto aperto o in caricamento
'If IsNothing(Map.refProdManagerVM.CurrProd) OrElse Map.refProdManagerVM.bLoadingProd Then Return
' verifico se c'e' una sessione aperta sul progetto corrente
@@ -46,17 +70,33 @@ Public Class SupervisorComm
Next
If nModificationIndex = -1 Then Return
' verifico se ci sono modifiche
'If nModificationIndex <> Map.refProjManagerVM.CurrProj.nModificationIndex Then
' ' aggiorno stati dei pezzi e colore di visualizzazione
'End If
' se arriva richiesta da supervisore di blocco e salvataggio
' chiedo se salvare
' blocco interfaccia fino a notifica di sblocco
If nModificationIndex <> Map.refProdManagerVM.CurrProd.nModificationIndex Then
' recupero elementi modificati
Dim MachGroupList As List(Of StatusMapModel) = DbControllers.m_StatusMapController.GetFrom(Map.refProdManagerVM.CurrProd.nModificationIndex + 1)
Dim bReloadFile As Boolean = False
For Each MachGroupModification In MachGroupList
Select Case MachGroupModification.Operation
Case Core.StatusMapOpType.PartStart
Case Core.StatusMapOpType.PartEnd
Case Core.StatusMapOpType.MachGroupRemovedFromSupervisor
Dim Machgroup As MyMachGroupVM = Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = MachGroupModification.ItemId)
Machgroup.ResetSupervisorId()
End Select
Next
' se arriva richiesta da supervisore di blocco e salvataggio
' verifico se ho aperto lo stesso progetto
' se si, chiedo se salvare
' blocco interfaccia fino a notifica di sblocco
End If
End If
' se c'e' un progetto aperto o in caricamento
'If IsNothing(Map.refProdManagerVM.CurrProd) OrElse Map.refProdManagerVM.bLoadingProd Then Return