laatzen/Pruef2000/source/frmRZFehlerAbweichung.frm
2021-10-01 11:11:04 +02:00

252 lines
7.6 KiB
Plaintext

VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "msflxgrd.ocx"
Begin VB.Form frmRZFehlerAbweichung
BorderStyle = 3 'Fester Dialog
Caption = "Referenzzähler Abweichung "
ClientHeight = 6285
ClientLeft = 45
ClientTop = 330
ClientWidth = 7905
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6285
ScaleWidth = 7905
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows-Standard
Begin VB.TextBox txtMessage
Height = 1845
Left = 0
MultiLine = -1 'True
ScrollBars = 2 'Vertikal
TabIndex = 5
Top = 60
Width = 7845
End
Begin VB.Frame Frame2
Caption = "Strang B"
Height = 1815
Left = 0
TabIndex = 3
Top = 3690
Width = 7875
Begin MSFlexGridLib.MSFlexGrid MSFlexGridB
Height = 1515
Left = 120
TabIndex = 4
Top = 240
Width = 7665
_ExtentX = 13520
_ExtentY = 2672
_Version = 393216
Cols = 3
FixedCols = 2
End
End
Begin VB.Frame Frame1
Caption = "Strang A"
Height = 1785
Left = 0
TabIndex = 1
Top = 1890
Width = 7875
Begin MSFlexGridLib.MSFlexGrid MSFlexGridA
Height = 1335
Left = 60
TabIndex = 2
Top = 300
Width = 7725
_ExtentX = 13626
_ExtentY = 2355
_Version = 393216
Cols = 3
FixedCols = 2
End
End
Begin VB.CommandButton cmdClose
Caption = "vorrübergehend Schließen"
Height = 585
Left = 6060
TabIndex = 0
Top = 5610
Width = 1605
End
End
Attribute VB_Name = "frmRZFehlerAbweichung"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public m_blnIstBeendet As Boolean ' Wenn Prüfung beendet ist
Public m_blnClosed As Boolean ' Wenn auf Prüfung beendet ist und auf Schließen geklickt wurde
Public m_blnStationSperren As Boolean 'Wenn Station gesperrt wurde
Private Sub cmdClose_Click()
If m_blnIstBeendet = True Then
' Prüfung ist beendet
If m_blnStationSperren = True Then
' Gesperrt
If g_App.Mitarbeiter.GetPruefstellenleiter = False Then
' kein Pruefstellenleiter
' Pruefstellenleiter muß sich anmelden
DoLogin
If g_App.Mitarbeiter.GetPruefstellenleiter = True Then
' Form kann geschlossen werden
' Flag zum Beenden der EventSchleife setzen
m_blnClosed = True
Unload Me
Exit Sub
End If
MsgBox "Angemeldet ist '" & g_App.Mitarbeiter.getAnfangsbuchstabeVornameundName() & "'." & vbCrLf & "Nur ein Prüfstellenleiter kann diesen Dialog schließen."
Else
m_blnClosed = True
Unload Me
Exit Sub
End If
Else
' Prüfstation ist nicht gesperrt
m_blnClosed = True
Unload Me
Exit Sub
End If
Else
' Prüfung läuft noch, also nur Form unsichtbar machen
Me.Visible = False
End If
End Sub
Private Sub DoLogin()
Dim dlgLogin As frmLogin
Set dlgLogin = New frmLogin
If doModal(dlgLogin, True) <> IDOK Then
' cancel
Else
g_App.Mitarbeiter = dlgLogin.getMitarbeiter()
End If
End Sub
Private Sub Form_Load()
MSFlexGridA.ColAlignment(0) = vbRightJustify
MSFlexGridA.ColAlignment(1) = vbRightJustify
MSFlexGridB.ColAlignment(0) = vbRightJustify
MSFlexGridB.ColAlignment(1) = vbRightJustify
MSFlexGridA.FormatString = "NW | Q |Wdh|Fehler(alt)|Fehler(neu)|Abw. "
MSFlexGridB.FormatString = "NW | Q |Wdh|Fehler(alt)|Fehler(neu)|Abw. "
m_blnIstBeendet = False
m_blnStationSperren = False
m_blnClosed = False
End Sub
Public Sub WarteAufCloseButton()
m_blnClosed = False
Do While m_blnClosed = False
Me.Visible = True
DoEvents
Sleep 1000, True
Loop
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then
' Form [X] wurde geklickt
' Form noch nicht schließen
' Cancel = 1
End If
End Sub
Public Sub AddText(strText As String)
txtMessage.text = txtMessage.text & strText & vbCrLf
txtMessage.SelStart = Len(txtMessage.text)
Me.Visible = True
DoEvents
End Sub
Public Sub AddFehler(intNW As Integer, wdh As Integer, strDurchfluss As String, Fehler As Double, AlterFehler As Double, StrangA As Boolean)
Dim flexgrid As MSFlexGrid
Me.Visible = True
If StrangA Then
Set flexgrid = MSFlexGridA
Else
Set flexgrid = MSFlexGridB
End If
flexgrid.AddItem ""
flexgrid.row = flexgrid.Rows - 2
flexgrid.col = 0
flexgrid.text = intNW
flexgrid.col = 1
flexgrid.text = strDurchfluss
flexgrid.col = 2
flexgrid.text = wdh
flexgrid.col = 3
flexgrid.text = Round(AlterFehler, 2)
flexgrid.col = 4
flexgrid.text = Round(Fehler, 2)
flexgrid.col = 5
flexgrid.text = Round(Fehler - AlterFehler, 2)
If Abs(Fehler - AlterFehler) > g_App.Settings.get_RZ_Wiederholgenauigkeit() Then
flexgrid.CellBackColor = RGB(256, 128, 128)
End If
DoEvents
End Sub
Public Sub MailAnPruefstellenleitungUndDruck()
Dim strText As String
' Form wieder sichtbar machen
Me.Visible = True
DoEvents
strText = txtMessage.text & vbCrLf
strText = strText & "Strang A:" & vbCrLf
strText = strText & Flexgrid2Text(MSFlexGridA) & vbCrLf
strText = strText & "Strang B:" & vbCrLf
strText = strText & Flexgrid2Text(MSFlexGridB) & vbCrLf
Debug.Print strText
Printer.Print strText
Printer.EndDoc
AddText "Mails werden versendet (bitte warten) ..."
SendMail "nobody@sensus.com", "Peter.Sandvoss@sensus.com;Arno.Schramm@sensus.com;Juergen.Dreyer@sensus.com;Bernd.Raade@sensus.com", "RefZ.-Wiederholgenauigkeit ueberschritten an der Pruefstation " & g_App.PruefstationNr, strText
AddText "Es wurde ein Protokoll der Abweichung gedruckt und eine Mail an die Prüfstellenleitung gesendet."
End Sub
Public Sub PruefungIstBeendet()
m_blnIstBeendet = True
cmdClose.caption = "Schließen"
DoEvents
MailAnPruefstellenleitungUndDruck
' Eventschleife bis Close geklickt wurde
DoEvents
m_blnIstBeendet = True
Call WarteAufCloseButton
Unload Me
End Sub
Public Sub ErzwingeFreigabe()
' Form wieder sichtbar machen
Me.Visible = True
DoEvents
g_App.Settings.Gesperrt = 1
If m_blnStationSperren = False Then
' Diesen Text nur einmal anzeigen
AddText "Bis zur Klärung des Sachverhalts ist die Prüfstation nicht einsatzbereit."
AddText "Bitte informieren Sie die Prüfstellenleitung zwecks Freigabe der Prüfstation."
LogIntoDB "Prüftstation gesperrt durch Abweichung des RZ Fehlers.", "Sperrung"
End If
m_blnStationSperren = True
End Sub