From bac7b490bedc6e09e678ea0e347d2c09659e81eb Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Wed, 16 Jun 2021 09:31:07 +0200 Subject: [PATCH] Correzioni e migliorie Aggiunto reset stato calc in prod su modifiche --- EgtBEAMWALL.Core/BeamM.vb | 11 ++- .../MachGroup Model/MyMachGroupM.vb | 46 ++++++++---- EgtBEAMWALL.Core/PartM.vb | 74 ++++++------------- .../Controllers/PartController .cs | 2 +- .../MachGroupPanel/MyMachGroupVM.vb | 2 +- .../MachGroupPanel/PartVM.vb | 14 ++-- .../BTLParam/PartInRawPartListV.xaml | 4 +- .../BTLParam/PartInRawPartListVM.vb | 4 +- .../Integration/CalcIntegration.vb | 8 +- .../MachGroupPanel/BeamMachGroupVM.vb | 33 +++++++-- .../MachGroupPanel/BeamVM.vb | 2 + .../MachGroupPanel/MyMachGroupVM.vb | 46 ++++++------ .../MachGroupPanel/PartVM.vb | 39 +++++----- 13 files changed, 149 insertions(+), 136 deletions(-) diff --git a/EgtBEAMWALL.Core/BeamM.vb b/EgtBEAMWALL.Core/BeamM.vb index 4c8910bb..5155f93c 100644 --- a/EgtBEAMWALL.Core/BeamM.vb +++ b/EgtBEAMWALL.Core/BeamM.vb @@ -91,7 +91,7 @@ Public Class BeamM EgtGetInfo(nPartId, ITG_PROD_FALL, nFall) EgtGetInfo(nPartId, ITG_PROD_MSG, sMsg) If Not bCalc Then - NewBeamM.m_nState = CalcStates.NOTCALCULATED + NewBeamM.m_nCALC_State = CalcStates.NOTCALCULATED NewBeamM.m_nCALC_ERR = -1 NewBeamM.m_nCALC_ROT = 0 NewBeamM.m_nCALC_FALL = 0 @@ -102,11 +102,11 @@ Public Class BeamM NewBeamM.m_nCALC_FALL = nFall NewBeamM.m_sCALC_MSG = sMsg If nErr = 0 Then - NewBeamM.m_nState = CalcStates.OK + NewBeamM.m_nCALC_State = CalcStates.OK ElseIf nErr > 1 Then - NewBeamM.m_nState = CalcStates.ERROR_ + NewBeamM.m_nCALC_State = CalcStates.ERROR_ ElseIf nErr < 1 Then - NewBeamM.m_nState = CalcStates.NOTCALCULATED + NewBeamM.m_nCALC_State = CalcStates.NOTCALCULATED End If End If EgtGetInfo(nPartId, ITG_PROD_TIME, NewBeamM.m_nCALC_TIME) @@ -198,8 +198,7 @@ Public Class BeamM If nBeamIndex > 0 Then m_dOffset = dPOSX - (ParentMachGroup.PartMList(nBeamIndex - 1).dPOSX + ParentMachGroup.PartMList(nBeamIndex - 1).dL) Else - Dim BeamMachGroup As BeamMachGroupM = DirectCast(ParentMachGroup, BeamMachGroupM) - m_dOffset = BeamMachGroup.dStartCut + m_dOffset = dPOSX End If End Sub diff --git a/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb b/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb index df81f7f4..ae61cbec 100644 --- a/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb +++ b/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb @@ -170,13 +170,13 @@ Public MustInherit Class MyMachGroupM End Set End Property - Public m_nGlobalState As CalcStates = CalcStates.NOTCALCULATED - Public Property nGlobalState As CalcStates + Public m_nCALC_GlobalState As CalcStates = CalcStates.NOTCALCULATED + Public Property nCALC_GlobalState As CalcStates Get - Return m_nGlobalState + Return m_nCALC_GlobalState End Get Set(value As CalcStates) - m_nGlobalState = value + m_nCALC_GlobalState = value End Set End Property @@ -190,13 +190,33 @@ Public MustInherit Class MyMachGroupM End Set End Property - Public m_nState As CalcStates = CalcStates.NOTCALCULATED - Public Property nState As CalcStates + Public m_nCALC_State As CalcStates = CalcStates.NOTCALCULATED + Public Property nCALC_State As CalcStates Get - Return m_nState + Return m_nCALC_State End Get Set(value As CalcStates) - m_nState = value + m_nCALC_State = value + End Set + End Property + + Protected m_sSupervisorId As String + Public Property sSupervisorId As String + Get + Return m_sSupervisorId + End Get + Set(value As String) + m_sSupervisorId = value + End Set + End Property + + Protected m_nPriorityIndex As Integer + Public Property nPriorityIndex As Integer + Get + Return m_nPriorityIndex + End Get + Set(value As Integer) + m_nPriorityIndex = value End Set End Property @@ -265,7 +285,7 @@ Public MustInherit Class MyMachGroupM EgtGetInfo(NewMachgroup.Id, ITG_PROD_ROT, nRot) EgtGetInfo(NewMachgroup.Id, ITG_PROD_MSG, sMsg) If Not bCalc Then - NewMachgroup.m_nState = CalcStates.NOTCALCULATED + NewMachgroup.m_nCALC_State = CalcStates.NOTCALCULATED NewMachgroup.m_nCALC_ERR = 0 NewMachgroup.m_nCALC_ROT = 0 NewMachgroup.m_sCALC_MSG = "" @@ -274,13 +294,13 @@ Public MustInherit Class MyMachGroupM NewMachgroup.m_nCALC_ROT = nRot NewMachgroup.m_sCALC_MSG = sMsg If nErr = 0 Then - NewMachgroup.nState = CalcStates.OK + NewMachgroup.nCALC_State = CalcStates.OK ElseIf nErr = 17 Then - NewMachgroup.nState = CalcStates.WARNING + NewMachgroup.nCALC_State = CalcStates.WARNING ElseIf nErr > 0 Then - NewMachgroup.nState = CalcStates.ERROR_ + NewMachgroup.nCALC_State = CalcStates.ERROR_ ElseIf nErr < 0 Then - NewMachgroup.nState = CalcStates.INFO + NewMachgroup.nCALC_State = CalcStates.INFO End If End If EgtGetInfo(NewMachgroup.Id, ITG_PROD_TIME, NewMachgroup.m_nCALC_TIME) diff --git a/EgtBEAMWALL.Core/PartM.vb b/EgtBEAMWALL.Core/PartM.vb index cad84913..d1179357 100644 --- a/EgtBEAMWALL.Core/PartM.vb +++ b/EgtBEAMWALL.Core/PartM.vb @@ -184,13 +184,13 @@ Public MustInherit Class PartM End Set End Property - Protected m_nGlobalState As CalcStates = -1 - Public Property nGlobalState As CalcStates + Protected m_nCALC_GlobalState As CalcStates = -1 + Public Property nCALC_GlobalState As CalcStates Get - Return m_nGlobalState + Return m_nCALC_GlobalState End Get Set(value As CalcStates) - m_nGlobalState = value + m_nCALC_GlobalState = value End Set End Property @@ -204,13 +204,13 @@ Public MustInherit Class PartM End Set End Property - Protected m_nState As CalcStates = -1 - Public Property nState As CalcStates + Protected m_nCALC_State As CalcStates = -1 + Public Property nCALC_State As CalcStates Get - Return m_nState + Return m_nCALC_State End Get Set(value As CalcStates) - m_nState = value + m_nCALC_State = value End Set End Property @@ -295,6 +295,16 @@ Public MustInherit Class PartM End Set End Property + Protected m_nProductionState As Integer = 0 + Public ReadOnly Property nProductionState As Integer + Get + Return m_nProductionState + End Get + End Property + Public Sub SetProductionState(nState As CalcStates) + m_nProductionState = nState + End Sub + Protected m_nBTLPartId As Integer Public ReadOnly Property nBTLPartId As Integer Get @@ -345,7 +355,7 @@ Public MustInherit Class PartM EgtGetInfo(NewPart.nPartId, ITG_PROD_ROT, nRot) EgtGetInfo(NewPart.nPartId, ITG_PROD_MSG, sMsg) If Not bCalc Then - NewPart.m_nState = CalcStates.NOTCALCULATED + NewPart.m_nCALC_State = CalcStates.NOTCALCULATED NewPart.m_nCALC_ERR = 0 NewPart.m_nCALC_ROT = 0 NewPart.m_sCALC_MSG = "" @@ -354,13 +364,13 @@ Public MustInherit Class PartM NewPart.m_nCALC_ROT = nRot NewPart.m_sCALC_MSG = sMsg If nErr = 0 Then - NewPart.nState = CalcStates.OK + NewPart.nCALC_State = CalcStates.OK ElseIf nErr = 17 Then - NewPart.nState = CalcStates.WARNING + NewPart.nCALC_State = CalcStates.WARNING ElseIf nErr > 0 Then - NewPart.nState = CalcStates.ERROR_ + NewPart.nCALC_State = CalcStates.ERROR_ ElseIf nErr < 0 Then - NewPart.nState = CalcStates.INFO + NewPart.nCALC_State = CalcStates.INFO End If End If EgtGetInfo(NewPart.nPartId, ITG_PROD_TIME, NewPart.m_nCALC_TIME) @@ -368,42 +378,4 @@ Public MustInherit Class PartM #End Region ' METHODS - ' funzione che aggiorna lo stato e gli errori dopo calcolo - Public Sub CalcPartUpdate(bCalc As Boolean, ERR As Integer, ROT As Integer, FALL As Integer, MSG As String) - If Not bCalc Then - nState = CalcStates.NOTCALCULATED - m_nCALC_ERR = 0 - m_nCALC_ROT = 0 - m_nCALC_FALL = 0 - m_sCALC_MSG = "" - Else - m_nCALC_ERR = ERR - m_nCALC_ROT = ROT - m_nCALC_FALL = 0 - m_sCALC_MSG = MSG - If ERR = 0 Then - nState = CalcStates.OK - ElseIf ERR > 1 Then - nState = CalcStates.ERROR_ - ElseIf ERR < 1 Then - nState = CalcStates.NOTCALCULATED - End If - End If - End Sub - - ' funzione che aggiorna lo stato e gli errori dopo calcolo - Public Sub CalcFeatureUpdate() - m_nGlobalState = nState - For Each Feature In FeatureMList - If Not Feature.bDO Then - - ElseIf Feature.nState < 0 Then - m_nGlobalState = CalcStates.NOTCALCULATED - Exit For - ElseIf Feature.nState > 0 AndAlso m_nGlobalState = CalcStates.OK Then - m_nGlobalState = CalcStates.ERROR_ - End If - Next - End Sub - End Class diff --git a/EgtBEAMWALL.DataLayer/Controllers/PartController .cs b/EgtBEAMWALL.DataLayer/Controllers/PartController .cs index 119c49c2..57085667 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/PartController .cs +++ b/EgtBEAMWALL.DataLayer/Controllers/PartController .cs @@ -184,7 +184,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers ROT = corePart.nCALC_ROT, //GRP = corePart.sGRP, //UNT = corePart.nUNT, - CALC_State = (int)corePart.nState + CALC_State = (int)corePart.nCALC_State }; } return answ; diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb index 7fd8c2e4..7afa6d6a 100644 --- a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb +++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb @@ -129,7 +129,7 @@ Public MustInherit Class MyMachGroupVM Public ReadOnly Property nState As CalcStates Get - Return MyMachGroupM.nState + Return MyMachGroupM.nCALC_State End Get End Property diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb index 8dbf2da6..5e5a24b6 100644 --- a/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb +++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb @@ -133,16 +133,16 @@ Public MustInherit Class PartVM Public ReadOnly Property nGlobalState As CalcStates Get - Return m_PartM.nGlobalState + Return m_PartM.nCALC_GlobalState End Get End Property Public Property nState As CalcStates Get - Return m_PartM.nState + Return m_PartM.nProductionState End Get Set(value As CalcStates) - m_PartM.nState = value + m_PartM.SetProductionState(value) End Set End Property @@ -300,15 +300,15 @@ Public MustInherit Class PartVM ' funzione che aggiorna lo stato e gli errori dopo calcolo Public Sub CalcFeatureUpdate() - m_PartM.nGlobalState = nState + m_PartM.nCALC_GlobalState = nState For Each Feature In FeatureVMList If Not Feature.bDO Then ElseIf Feature.nState < 0 Then - m_PartM.nGlobalState = CalcStates.NOTCALCULATED + m_PartM.nCALC_GlobalState = CalcStates.NOTCALCULATED Exit For - ElseIf Feature.nState > 0 AndAlso m_PartM.nGlobalState = CalcStates.OK Then - m_PartM.nGlobalState = CalcStates.ERROR_ + ElseIf Feature.nState > 0 AndAlso m_PartM.nCALC_GlobalState = CalcStates.OK Then + m_PartM.nCALC_GlobalState = CalcStates.ERROR_ End If Next NotifyPropertyChanged(NameOf(Calc_Background)) diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml index 1e8392e3..d4285be3 100644 --- a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml +++ b/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml @@ -162,7 +162,7 @@ - + @@ -172,7 +172,7 @@ - + diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListVM.vb index 3e79e381..ba0be01a 100644 --- a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListVM.vb @@ -95,12 +95,14 @@ Public Class PartInRawPartListVM If nMachType = MachineType.BEAM Then If Not IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_ROT)) Then m_PartInRawPartColumns.Remove(COL_ROT) If Not IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_FLIP)) Then m_PartInRawPartColumns.Remove(COL_FLIP) + If Not IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_POSX)) Then m_PartInRawPartColumns.Remove(COL_POSX) If Not IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_POSY)) Then m_PartInRawPartColumns.Remove(COL_POSY) - If IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_OFFSET)) Then m_PartInRawPartColumns.Insert(7, COL_OFFSET) + If IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_OFFSET)) Then m_PartInRawPartColumns.Insert(6, COL_OFFSET) ElseIf nMachType = MachineType.WALL Then If Not IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_OFFSET)) Then m_PartInRawPartColumns.Remove(COL_OFFSET) If IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_ROT)) Then m_PartInRawPartColumns.Insert(6, COL_ROT) If IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_FLIP)) Then m_PartInRawPartColumns.Insert(7, COL_FLIP) + If IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_POSX)) Then m_PartInRawPartColumns.Insert(8, COL_POSX) If IsNothing(m_PartInRawPartColumns.FirstOrDefault(Function(x) x = COL_POSY)) Then m_PartInRawPartColumns.Insert(9, COL_POSY) End If End Sub diff --git a/EgtBEAMWALL.ViewerOptimizer/Integration/CalcIntegration.vb b/EgtBEAMWALL.ViewerOptimizer/Integration/CalcIntegration.vb index edbdff38..f6c35d88 100644 --- a/EgtBEAMWALL.ViewerOptimizer/Integration/CalcIntegration.vb +++ b/EgtBEAMWALL.ViewerOptimizer/Integration/CalcIntegration.vb @@ -383,14 +383,14 @@ Public Class CalcIntegration If Bar.nBarType = ProjectType.PROJ Then ' Inizializzo il pezzo in verifica Dim BTLPart As BTLPartVM = GetBTLPartVMFromPartId(Bar.nBarId) - BTLPart.CalcPartUpdate( 0, 0, "") + BTLPart.CalcPartUpdate(0, 0, "") Else ' Inizializzo i pezzi del gruppo di lavoro in verifica Dim Machgroup As MyMachGroupVM = GetMachgroupVMFromMachgroupId(Bar.nBarId) For Each Part In Machgroup.PartVMList - Part.CalcPartUpdate( 0, 0, "") + Part.CalcPartUpdate(0, 0, "") Next - Machgroup.CalcMachGroupUpdate( 0, 0, "") + Machgroup.CalcMachGroupUpdate(0, 0, "") End If ' Ciclo ... Dim nCUTID As Integer = -1 @@ -469,7 +469,7 @@ Public Class CalcIntegration Else Dim Machgroup As MyMachGroupVM = GetMachgroupVMFromMachgroupId(Bar.nBarId) For Each Part In Machgroup.PartVMList - Part.CalcGlobalUpdate() + Part.CalcGlobalUpdate() Next Machgroup.CalcGlobalUpdate() End If diff --git a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamMachGroupVM.vb b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamMachGroupVM.vb index 98a539cf..570a43d2 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamMachGroupVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamMachGroupVM.vb @@ -36,6 +36,12 @@ Public Class BeamMachGroupVM Beam.m_BeamM.UpdateOffset() Beam.NotifyPropertyChanged(NameOf(Beam.sOffset)) End If + ' resetto validazione del pezzo primo pezzo + If PartVMList.Count > 0 Then + PartVMList(0).ResetCalcPart() + Else + ResetCalcMachGroup() + End If Else NotifyPropertyChanged(NameOf(sStartCut)) End If @@ -153,7 +159,9 @@ Public Class BeamMachGroupVM EgtRemoveRawPart(nRawId) nRawId = EgtGetFirstRawPart() End While + If Not ExecBeam(Map.refMainWindowVM.MainWindowM.sTempDir, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdType.RAWPART, False) Then Return False + Return True End Function @@ -338,15 +346,24 @@ Public Class BeamMachGroupVM End Sub Private Sub OnBeamVMListChanged(sender As Object, e As NotifyCollectionChangedEventArgs) - If Not IsNothing(e.NewItems) AndAlso e.NewItems.Count > 0 Then - For Each BeamVM As BeamVM In e.NewItems - AddHandler BeamVM.PropertyChanged, AddressOf OnBeamVMPropertyChanged - Next + If e.Action = NotifyCollectionChangedAction.Add Then + If Not IsNothing(e.NewItems) AndAlso e.NewItems.Count > 0 Then + For Each BeamVM As BeamVM In e.NewItems + AddHandler BeamVM.PropertyChanged, AddressOf OnBeamVMPropertyChanged + Next + End If End If - If Not IsNothing(e.OldItems) AndAlso e.OldItems.Count > 0 Then - For Each BeamVM As BeamVM In e.OldItems - RemoveHandler BeamVM.PropertyChanged, AddressOf OnBeamVMPropertyChanged - Next + If e.Action = NotifyCollectionChangedAction.Remove Then + If Not IsNothing(e.OldItems) AndAlso e.OldItems.Count > 0 Then + For Each BeamVM As BeamVM In e.OldItems + RemoveHandler BeamVM.PropertyChanged, AddressOf OnBeamVMPropertyChanged + Next + End If + End If + If e.Action = NotifyCollectionChangedAction.Move Then + Dim ItemVM As PartVM = e.OldItems(0) + m_BeamMachGroupM.PartMList.RemoveAt(e.OldStartingIndex) + m_BeamMachGroupM.PartMList.Insert(e.NewStartingIndex, ItemVM.PartM) End If End Sub diff --git a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamVM.vb b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamVM.vb index 39c5a0b6..393297a1 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/BeamVM.vb @@ -33,6 +33,8 @@ Public Class BeamVM BeamMachGroup.dStartCut = dOldValue BeamMachGroup.ReDrawBeamMachgroup() End If + ' resetto validazione del pezzo + ResetCalcPart() Else NotifyPropertyChanged(NameOf(sOffset)) End If diff --git a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/MyMachGroupVM.vb b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/MyMachGroupVM.vb index b69b209e..ab6bdc23 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/MyMachGroupVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/MyMachGroupVM.vb @@ -163,19 +163,19 @@ Public MustInherit Class MyMachGroupVM Public Property nGlobalState As CalcStates Get - Return MyMachGroupM.nGlobalState + Return MyMachGroupM.nCALC_GlobalState End Get Set(value As CalcStates) - MyMachGroupM.nGlobalState = value + MyMachGroupM.nCALC_GlobalState = value End Set End Property Public Property nState As CalcStates Get - Return MyMachGroupM.nState + Return MyMachGroupM.nCALC_State End Get Set(value As CalcStates) - MyMachGroupM.nState = value + MyMachGroupM.nCALC_State = value End Set End Property @@ -187,15 +187,15 @@ Public MustInherit Class MyMachGroupVM Public ReadOnly Property Calc_Background As SolidColorBrush Get - If MyMachGroupM.nGlobalState = CalcStates.OK Then + If MyMachGroupM.nCALC_GlobalState = CalcStates.OK Then Return Brushes.Green - ElseIf MyMachGroupM.nGlobalState = CalcStates.NOTCALCULATED Then + ElseIf MyMachGroupM.nCALC_GlobalState = CalcStates.NOTCALCULATED Then Return Brushes.LightGray - ElseIf MyMachGroupM.nGlobalState = CalcStates.INFO Then + ElseIf MyMachGroupM.nCALC_GlobalState = CalcStates.INFO Then Return Brushes.Green - ElseIf MyMachGroupM.nGlobalState = CalcStates.WARNING Then + ElseIf MyMachGroupM.nCALC_GlobalState = CalcStates.WARNING Then Return Brushes.Gold - ElseIf MyMachGroupM.nGlobalState = CalcStates.ERROR_ Then + ElseIf MyMachGroupM.nCALC_GlobalState = CalcStates.ERROR_ Then Return Brushes.Red Else Return Brushes.Red @@ -234,7 +234,7 @@ Public MustInherit Class MyMachGroupVM Public ReadOnly Property CALC_ERR_Foreground As SolidColorBrush Get - Select Case MyMachGroupM.m_nGlobalState + Select Case MyMachGroupM.m_nCALC_GlobalState Case CalcStates.ERROR_ Return Brushes.Red Case CalcStates.WARNING @@ -290,8 +290,8 @@ Public MustInherit Class MyMachGroupVM EgtRemoveInfo(Id, ITG_PROJ_ERR) EgtRemoveInfo(Id, ITG_PROJ_MSG) EgtRemoveInfo(Id, ITG_PROJ_ROT) - MyMachGroupM.nGlobalState = CalcStates.NOTCALCULATED - MyMachGroupM.nState = CalcStates.NOTCALCULATED + MyMachGroupM.nCALC_GlobalState = CalcStates.NOTCALCULATED + MyMachGroupM.nCALC_State = CalcStates.NOTCALCULATED MyMachGroupM.nCALC_GlobalERR = 0 MyMachGroupM.nCALC_ERR = 0 MyMachGroupM.nCALC_ROT = 0 @@ -307,19 +307,19 @@ Public MustInherit Class MyMachGroupVM ' funzione che aggiorna lo stato e gli errori dopo calcolo Friend Sub CalcGlobalUpdate() MyMachGroupM.nCALC_GlobalERR = nCALC_ERR - MyMachGroupM.nGlobalState = nState + MyMachGroupM.nCALC_GlobalState = nState For Each Part In MyMachGroupM.PartMList - If Part.nGlobalState = CalcStates.NOTCALCULATED Then - MyMachGroupM.nGlobalState = CalcStates.NOTCALCULATED + If Part.nCALC_GlobalState = CalcStates.NOTCALCULATED Then + MyMachGroupM.nCALC_GlobalState = CalcStates.NOTCALCULATED Exit For - ElseIf Part.nGlobalState = CalcStates.OK AndAlso MyMachGroupM.m_nGlobalState = Core.CalcStates.NOTCALCULATED Then - MyMachGroupM.nGlobalState = CalcStates.OK - ElseIf Part.nGlobalState = CalcStates.INFO And (MyMachGroupM.nGlobalState = CalcStates.OK Or MyMachGroupM.nGlobalState = CalcStates.NOTCALCULATED) Then - MyMachGroupM.nGlobalState = CalcStates.INFO - ElseIf Part.nGlobalState = CalcStates.WARNING And (MyMachGroupM.nGlobalState = CalcStates.OK Or MyMachGroupM.nGlobalState = CalcStates.INFO Or MyMachGroupM.nGlobalState = CalcStates.NOTCALCULATED) Then - MyMachGroupM.nGlobalState = CalcStates.WARNING - ElseIf Part.nGlobalState = CalcStates.ERROR_ And (MyMachGroupM.nGlobalState = CalcStates.OK Or MyMachGroupM.nGlobalState = CalcStates.INFO Or MyMachGroupM.nGlobalState = CalcStates.WARNING Or MyMachGroupM.nGlobalState = CalcStates.NOTCALCULATED) Then - MyMachGroupM.nGlobalState = CalcStates.ERROR_ + ElseIf Part.nCALC_GlobalState = CalcStates.OK AndAlso MyMachGroupM.m_nCALC_GlobalState = Core.CalcStates.NOTCALCULATED Then + MyMachGroupM.nCALC_GlobalState = CalcStates.OK + ElseIf Part.nCALC_GlobalState = CalcStates.INFO And (MyMachGroupM.nCALC_GlobalState = CalcStates.OK Or MyMachGroupM.nCALC_GlobalState = CalcStates.NOTCALCULATED) Then + MyMachGroupM.nCALC_GlobalState = CalcStates.INFO + ElseIf Part.nCALC_GlobalState = CalcStates.WARNING And (MyMachGroupM.nCALC_GlobalState = CalcStates.OK Or MyMachGroupM.nCALC_GlobalState = CalcStates.INFO Or MyMachGroupM.nCALC_GlobalState = CalcStates.NOTCALCULATED) Then + MyMachGroupM.nCALC_GlobalState = CalcStates.WARNING + ElseIf Part.nCALC_GlobalState = CalcStates.ERROR_ And (MyMachGroupM.nCALC_GlobalState = CalcStates.OK Or MyMachGroupM.nCALC_GlobalState = CalcStates.INFO Or MyMachGroupM.nCALC_GlobalState = CalcStates.WARNING Or MyMachGroupM.nCALC_GlobalState = CalcStates.NOTCALCULATED) Then + MyMachGroupM.nCALC_GlobalState = CalcStates.ERROR_ End If If Part.nCALC_GlobalERR = 22 Then MyMachGroupM.nCALC_GlobalERR = 22 diff --git a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/PartVM.vb b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/PartVM.vb index 5c79315c..1e809a5f 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/PartVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MachGroupPanel/PartVM.vb @@ -149,7 +149,7 @@ Public MustInherit Class PartVM Public ReadOnly Property nGlobalState As CalcStates Get - Return m_PartM.nGlobalState + Return m_PartM.nCALC_GlobalState End Get End Property @@ -164,24 +164,24 @@ Public MustInherit Class PartVM Public Property nState As CalcStates Get - Return m_PartM.nState + Return m_PartM.nCALC_State End Get Set(value As CalcStates) - m_PartM.nState = value + m_PartM.nCALC_State = value End Set End Property Public ReadOnly Property Calc_Background As SolidColorBrush Get - If m_PartM.nGlobalState = CalcStates.OK Then + If m_PartM.nCALC_GlobalState = CalcStates.OK Then Return Brushes.Green - ElseIf m_PartM.nGlobalState = CalcStates.NOTCALCULATED Then + ElseIf m_PartM.nCALC_GlobalState = CalcStates.NOTCALCULATED Then Return Brushes.LightGray - ElseIf m_PartM.nGlobalState = CalcStates.INFO Then + ElseIf m_PartM.nCALC_GlobalState = CalcStates.INFO Then Return Brushes.Green - ElseIf m_PartM.nGlobalState = CalcStates.WARNING Then + ElseIf m_PartM.nCALC_GlobalState = CalcStates.WARNING Then Return Brushes.Orange - ElseIf m_PartM.nGlobalState = CalcStates.ERROR_ Then + ElseIf m_PartM.nCALC_GlobalState = CalcStates.ERROR_ Then Return Brushes.Red Else Return Brushes.Red @@ -220,7 +220,7 @@ Public MustInherit Class PartVM Public ReadOnly Property CALC_ERR_Foreground As SolidColorBrush Get - Select Case m_PartM.nGlobalState + Select Case m_PartM.nCALC_GlobalState Case CalcStates.ERROR_ Return Brushes.Red Case CalcStates.WARNING @@ -379,8 +379,8 @@ Public MustInherit Class PartVM EgtRemoveInfo(nPartId, ITG_PROD_MSG) EgtRemoveInfo(nPartId, ITG_PROD_ROT) EgtRemoveInfo(nPartId, ITG_PROD_FALL) - m_PartM.nGlobalState = CalcStates.NOTCALCULATED - m_PartM.nState = CalcStates.NOTCALCULATED + m_PartM.nCALC_GlobalState = CalcStates.NOTCALCULATED + m_PartM.nCALC_State = CalcStates.NOTCALCULATED m_PartM.nCALC_GlobalERR = 0 m_PartM.nCALC_ERR = 0 m_PartM.nCALC_ROT = 0 @@ -391,6 +391,7 @@ Public MustInherit Class PartVM NotifyPropertyChanged(NameOf(CALC_ROT_Visibility)) NotifyPropertyChanged(NameOf(CALC_ERR_Letter)) NotifyPropertyChanged(NameOf(CALC_ERR_Foreground)) + ParentMachGroupVM.ResetCalcMachGroup() End Sub Public Sub CalcFallUpdate(FALL As Integer) @@ -401,18 +402,18 @@ Public MustInherit Class PartVM ' funzione che aggiorna lo stato e gli errori dopo calcolo Public Sub CalcGlobalUpdate() - m_PartM.nGlobalState = nState + m_PartM.nCALC_GlobalState = nState For Each Feature In FeatureVMList If Not Feature.bDO Then ElseIf Feature.nState = CalcStates.NOTCALCULATED Then - m_PartM.nGlobalState = CalcStates.NOTCALCULATED + m_PartM.nCALC_GlobalState = CalcStates.NOTCALCULATED Exit For - ElseIf Feature.nState = CalcStates.INFO And m_PartM.nGlobalState = CalcStates.OK Then - m_PartM.nGlobalState = CalcStates.INFO - ElseIf Feature.nState = CalcStates.WARNING And (m_PartM.nGlobalState = CalcStates.OK Or m_PartM.nGlobalState = CalcStates.INFO) Then - m_PartM.nGlobalState = CalcStates.WARNING - ElseIf Feature.nState = CalcStates.ERROR_ And (m_PartM.nGlobalState = CalcStates.OK Or m_PartM.nGlobalState = CalcStates.INFO Or m_PartM.nGlobalState = CalcStates.WARNING) Then - m_PartM.nGlobalState = CalcStates.ERROR_ + ElseIf Feature.nState = CalcStates.INFO And m_PartM.nCALC_GlobalState = CalcStates.OK Then + m_PartM.nCALC_GlobalState = CalcStates.INFO + ElseIf Feature.nState = CalcStates.WARNING And (m_PartM.nCALC_GlobalState = CalcStates.OK Or m_PartM.nCALC_GlobalState = CalcStates.INFO) Then + m_PartM.nCALC_GlobalState = CalcStates.WARNING + ElseIf Feature.nState = CalcStates.ERROR_ And (m_PartM.nCALC_GlobalState = CalcStates.OK Or m_PartM.nCALC_GlobalState = CalcStates.INFO Or m_PartM.nCALC_GlobalState = CalcStates.WARNING) Then + m_PartM.nCALC_GlobalState = CalcStates.ERROR_ End If If Feature.nCALC_ERR = 22 Then m_PartM.nCALC_GlobalERR = 22