- Aggiunta verifica automatica quando si manda barra al supervisore

This commit is contained in:
Emmanuele Sassi
2022-07-06 09:28:47 +02:00
parent 8822da5d09
commit 22ed5c599c
3 changed files with 34 additions and 0 deletions
+1
View File
@@ -43,6 +43,7 @@ Public Module ConstIni
Public Const K_UPDATEBTL As String = "UpdateBtl"
Public Const K_DATADIR As String = "DataDir"
Public Const K_ENABLEEDIT As String = "EnableEdit"
Public Const K_FASTPRODUCE As String = "FastProduce"
'Public Const S_LANGUAGES As String = "Languages"
'Public Const K_LANGUAGE As String = "Language"
@@ -8,11 +8,22 @@ Imports System.Windows.Threading
Public Class CALCPanelVM
Inherits VMBase
Public Enum ProduceType As Integer
NULL = 0
PRODUCE = 1
PRODUCEALL = 2
End Enum
' timer e variabile per ricaricare progetto dopo edit
Private m_Waiting_Timer As New DispatcherTimer
Private m_ReloadEditedFile As Boolean = False
Private m_OrigSelectedMachine As Machine = Nothing
' imposta se il calcolo e' stato lanciato dal tasto produci(1), produci tutti(2) o nessuno(0)
Private m_FromProduce As ProduceType = ProduceType.NULL
Friend Sub SetFromProduce(value As ProduceType)
m_FromProduce = value
End Sub
Private m_IsMachineApplied As Boolean = False
Public Property IsMachineApplied As Boolean
@@ -234,6 +245,16 @@ Public Class CALCPanelVM
End If
Map.refProjectVM.SetCalcRunning(False)
Map.refMyStatusBarVM.ResetStopProgress()
' se lanciato dal produci, eseguo produci
If m_FromProduce <> ProduceType.NULL Then
Select Case m_FromProduce
Case ProduceType.PRODUCE
Map.refTopPanelVM.ProduceRawPart()
Case ProduceType.PRODUCEALL
Map.refTopPanelVM.ProduceAllRawPart()
End Select
m_FromProduce = ProduceType.NULL
End If
End Sub
Private Sub Waiting_Timer_Tick()
@@ -227,6 +227,12 @@ Public Class TopPanelVM
Public Sub ProduceRawPart()
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
Dim ErrorMsg As String = ""
' se attiva opzione e non ancora calcolato
If GetMainPrivateProfileInt(S_GENERAL, K_FASTPRODUCE, 0) = 1 And Map.refMachGroupPanelVM.SelectedMachGroup.nGlobalState = CalcStates.NOTCALCULATED Then
Map.refCALCPanelVM.SetFromProduce(CALCPanelVM.ProduceType.PRODUCE)
Map.refCALCPanelVM.Verify()
Return
End If
If Not Produce(Map.refMachGroupPanelVM.SelectedMachGroup, ErrorMsg) AndAlso Not String.IsNullOrWhiteSpace(ErrorMsg) Then
MessageBox.Show(ErrorMsg)
End If
@@ -285,6 +291,12 @@ Public Class TopPanelVM
''' </summary>
Public Sub ProduceAllRawPart()
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
' se attiva opzione e non ancora calcolato
If GetMainPrivateProfileInt(S_GENERAL, K_FASTPRODUCE, 0) = 1 And Map.refMachGroupPanelVM.MachGroupVMList.Any(Function(x As MyMachGroupVM) x.nGlobalState = CalcStates.NOTCALCULATED) Then
Map.refCALCPanelVM.SetFromProduce(CALCPanelVM.ProduceType.PRODUCEALL)
Map.refCALCPanelVM.VerifyAll()
Return
End If
If Map.refMachGroupPanelVM.MachGroupVMList.Count > 0 Then
Dim MachgroupErrorList As New List(Of MachGroupVM)
For Each Machgroup In Map.refMachGroupPanelVM.MachGroupVMList