neu
This commit is contained in:
283
Aviso/GVMS/frmGVMSNew.vb
Normal file
283
Aviso/GVMS/frmGVMSNew.vb
Normal file
@@ -0,0 +1,283 @@
|
||||
Imports System.Text.RegularExpressions
|
||||
|
||||
Public Class frmGVMSNew
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Dim RouteId As Integer = -1
|
||||
|
||||
Public GVMS As VERAG_PROG_ALLGEMEIN.cGVMS = Nothing
|
||||
|
||||
Sub New()
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
|
||||
End Sub
|
||||
|
||||
Sub New(GVMS As VERAG_PROG_ALLGEMEIN.cGVMS)
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
Me.GVMS = GVMS
|
||||
End Sub
|
||||
Private Sub frmGVMSNew_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
cboCarrier.fillWithSQL("SELECT [carrierId],[carrierName] + '(' + [countryCode] + ')' carrierName FROM [tblGVMS_Carriers]", False, "FMZOLL", True)
|
||||
cboDirection.fillWithSQL("SELECT distinct([routeDirection]) FROM [VERAG].[dbo].[tblGVMS_Routes] where [routeEffectiveFrom] <= GETDATE() and ([routeEffectiveTo]<= GETDATE() OR [routeEffectiveTo] is null) ORDER BY [routeDirection] DESC", False, "FMZOLL", True)
|
||||
cboPortVon.fillWithSQL("SELECT [portId],[portDescription]+ '(' + [portcountryCode] + ')' portDescription FROM [tblGVMS_Ports] WHERE [portEffectiveFrom] <= GETDATE() and ([portEffectiveTo]<= GETDATE() OR [portEffectiveTo] is null) ORDER BY [portDescription] ", False, "FMZOLL", True)
|
||||
cboPortNach.fillWithSQL("SELECT [portId],[portDescription]+ '(' + [portcountryCode] + ')' portDescription FROM [tblGVMS_Ports] WHERE [portEffectiveFrom] <= GETDATE() and ([portEffectiveTo]<= GETDATE() OR [portEffectiveTo] is null) ORDER BY [portDescription] ", False, "FMZOLL", True)
|
||||
|
||||
If GVMS IsNot Nothing Then
|
||||
setGVMS()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub cboCarrier_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboCarrier.SelectedIndexChanged, cboDirection.SelectedIndexChanged, cboPortVon.SelectedIndexChanged, cboPortNach.SelectedIndexChanged
|
||||
findRoute()
|
||||
End Sub
|
||||
|
||||
Function findRoute() As Boolean
|
||||
RouteId = -1
|
||||
lblRoute.Text = "-"
|
||||
PictureBox1.Image = Nothing
|
||||
If cboCarrier._value = "" Then Return False
|
||||
If cboDirection._value = "" Then Return False
|
||||
If cboPortVon._value = "" Then Return False
|
||||
If cboPortNach._value = "" Then Return False
|
||||
|
||||
|
||||
Dim dt As DataTable = SQL.loadDgvBySql("SELECT [routeId] FROM [tblGVMS_Routes] where [routeEffectiveFrom] <= GETDATE() and ([routeEffectiveTo]<= GETDATE() OR [routeEffectiveTo] is null)
|
||||
AND [routeDirection]='" & cboDirection._value & "'
|
||||
AND [departurePortId]='" & cboPortVon._value & "'
|
||||
AND [arrivalPortId]='" & cboPortNach._value & "'
|
||||
AND CarrierId='" & cboCarrier._value & "'
|
||||
", "FMZOLL")
|
||||
|
||||
If dt Is Nothing Then Return False
|
||||
If dt.Rows.Count = 1 Then
|
||||
RouteId = dt(0)("routeId")
|
||||
lblRoute.Text = RouteId
|
||||
PictureBox1.Image = My.Resources.ok
|
||||
Return True
|
||||
ElseIf dt.Rows.Count > 1 Then
|
||||
PictureBox1.Image = My.Resources.del
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
||||
If createGMR() Then
|
||||
Me.DialogResult = DialogResult.OK
|
||||
Else
|
||||
Me.DialogResult = DialogResult.None
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Function loadDGVPOS(ByRef GVMS As VERAG_PROG_ALLGEMEIN.cGVMS) As Boolean
|
||||
Dim formtErr As Boolean = False
|
||||
|
||||
For Each r As DataGridViewRow In dgvDeclarations.Rows
|
||||
For Each C As DataGridViewCell In r.Cells
|
||||
C.Style.BackColor = Color.White
|
||||
Next
|
||||
Next
|
||||
|
||||
For Each r As DataGridViewRow In dgvDeclarations.Rows
|
||||
If r.Cells("clmnArt").Value <> "" Then
|
||||
Dim POS As New VERAG_PROG_ALLGEMEIN.cGVMS_POS
|
||||
POS.gvms_art = getArt(r.Cells("clmnArt").Value)
|
||||
POS.gvms_RefNum = r.Cells("clmnRef").Value
|
||||
POS.gvms_SS = If(r.Cells("clmnss").Value <> "", r.Cells("clmnss").Value, Nothing)
|
||||
Dim RegExRef = ""
|
||||
Dim RegExSS = "^[A-Z0-9-)(/]{1,200}$"
|
||||
Select Case POS.gvms_art
|
||||
Case "EIDR" : RegExRef = "^[A-Z]{2}[0-9]{12,15}$"
|
||||
Case "EXPORT", "IMPORT" : RegExRef = "^[A-Z0-9-)(/]{1,200}$"
|
||||
'Case "IMPORT": RegExRef = "^[A-Z0-9-)(/]{1,200}$"
|
||||
Case "TAD" : RegExRef = "^\d{2}[A-Z]{2}[A-Z0-9]{14}$"
|
||||
Case "TSAD" : RegExRef = "^\d{2}[A-Z]{2}[A-Z0-9]{14}$"
|
||||
Case "ATA" : RegExRef = "^.{1,200}$"
|
||||
Case "TIR" : RegExRef = "^.{1,200}$"
|
||||
' Case "ORAL" : RegExRef = ""
|
||||
' Case "INDIRECT" : RegExRef = ""
|
||||
|
||||
End Select
|
||||
|
||||
If RegExRef <> "" AndAlso Not Regex.IsMatch(POS.gvms_RefNum, RegExRef) Then
|
||||
r.Cells("clmnRef").Style.BackColor = Color.PapayaWhip
|
||||
formtErr = True
|
||||
End If
|
||||
|
||||
If RegExSS <> "" AndAlso Not Regex.IsMatch(POS.gvms_RefNum, RegExSS) Then
|
||||
r.Cells("clmnRef").Style.BackColor = Color.PapayaWhip
|
||||
formtErr = True
|
||||
End If
|
||||
GVMS.GVMS_POSITIONEN.Add(POS)
|
||||
End If
|
||||
Next
|
||||
If formtErr Then Return False
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Function getArt(art As String) As String
|
||||
Select Case True
|
||||
Case art Like "EIDR" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.EIDR
|
||||
Case art Like "EXPORT*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.EXPORT
|
||||
Case art Like "IMPORT*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.IMPORT
|
||||
Case art Like "*TAD*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.TAD
|
||||
Case art Like "*TSAD*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.TSAD
|
||||
Case art Like "ATA*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.ATA
|
||||
Case art Like "TIR*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.TIR
|
||||
Case art Like "ORAL*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.ORAL
|
||||
Case art Like "INDIRECT*" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.INDIRECT
|
||||
End Select
|
||||
'Select Case art
|
||||
' Case "EIDR" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.EIDR
|
||||
' Case "EXPORT (CDS / CHIEF)" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.EXPORT
|
||||
' Case "IMPORT (CDS / CHIEF)" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.IMPORT
|
||||
' Case "TRANSIT (TAD)" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.TAD
|
||||
' Case "TRANSIT (TSAD)" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.TSAD
|
||||
' Case "ATA CARNET" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.ATA
|
||||
' Case "TIR CARNET" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.TIR
|
||||
' Case "ORAL Or BY CONDUCT" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.ORAL
|
||||
' Case "INDIRECT EXPORT DECLARATION" : Return VERAG_PROG_ALLGEMEIN.cGVMS_POS_DecArt.INDIRECT
|
||||
'End Select
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
Function setArt(art As String) As String
|
||||
'For Each i In DirectCast(dgvDeclarations.Columns(""), DataGridViewComboBoxColumn).Items
|
||||
' 'Dim ii = DirectCast(dgvDeclarations.Columns(""), DataGridViewComboBoxColumn).Items(0)
|
||||
' Dim item = i
|
||||
' If art Like "" Then
|
||||
' Select Case True
|
||||
' Case art Like "EIDR" : Return item
|
||||
' Case art Like "EXPORT*" : Return item
|
||||
' Case art Like "IMPORT*" : Return item
|
||||
' Case art Like "*TAD*" : Return item
|
||||
' Case art Like "*TSAD*" : Return item
|
||||
' Case art Like "ATA*" : Return item
|
||||
' Case art Like "TIR*" : Return item
|
||||
' Case art Like "ORAL*" : Return item
|
||||
' Case art Like "INDIRECT*" : Return item
|
||||
' End Select
|
||||
'Next
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
Function createGMR() As Boolean
|
||||
|
||||
If cbxUngebleitet.Checked Then
|
||||
If txtTrailor.Text.Trim = "" Then MsgBox("Anhänger angeben!") : Return False
|
||||
|
||||
End If
|
||||
If RouteId <= 0 Then MsgBox("Route fehlt!") : Return False
|
||||
If txtKennzeichen.Text = "" Then MsgBox("Kennzeichen angeben!") : Return False
|
||||
If Not Regex.IsMatch(txtKennzeichen.Text, "^[A-Z0-9-](?:[A-Z0-9 -]{1,30})?$") Then
|
||||
MsgBox("Formatfehler: Kennzeichen Fahrzeug.") : Return False
|
||||
End If
|
||||
If txtTrailor.Text <> "" AndAlso Not Regex.IsMatch(txtTrailor.Text, "^[A-Z0-9-](?:[A-Z0-9 -]{1,199})?$") Then
|
||||
MsgBox("Formatfehler: Kennzeichen Anhänger.") : Return False
|
||||
End If
|
||||
If txtSS.Text <> "" AndAlso Not Regex.IsMatch(txtSS.Text, "^[A-Z0-9-)(/]{1,200}$") Then
|
||||
MsgBox("Formatfehler: S&S MRN") : Return False
|
||||
End If
|
||||
|
||||
If datAbfahrt._value = "" Or datAbfahrtTime._value = "" Then MsgBox("Datum/Uhrzeit angeben!") : Return False
|
||||
|
||||
If Not cbxLeer.Checked Then
|
||||
If dgvDeclarations.Rows.Count <= 1 Then MsgBox("Keine Positionen!") : Return False
|
||||
|
||||
End If
|
||||
|
||||
If GVMS Is Nothing Then GVMS = New VERAG_PROG_ALLGEMEIN.cGVMS
|
||||
|
||||
If Not loadDGVPOS(GVMS) Then Return False
|
||||
|
||||
|
||||
GVMS.gvms_firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||
' GVMS.gvms_notification_id As Object = Nothing
|
||||
' GVMS.gvms_notification_boxid As Object = Nothing
|
||||
' GVMS.gvms_status As Object = Nothing
|
||||
' GVMS.gvms_GMR As Object = Nothing
|
||||
' GVMS.gvms_gmr_creationDate As Object = Nothing
|
||||
' GVMS.gvms_gmr_statusVersion As Object = Nothing
|
||||
|
||||
GVMS.gvms_routeId = RouteId
|
||||
GVMS.gvms_direction = cboDirection._value
|
||||
GVMS.gvms_vehicleRegNum = txtKennzeichen.Text
|
||||
If txtTrailor.Text <> "" Then GVMS.gvms_trailorRegNum = txtTrailor.Text
|
||||
|
||||
GVMS.gvms_isUnaccompanied = cbxUngebleitet.Checked
|
||||
GVMS.gvms_empty = cbxLeer.Checked
|
||||
If GVMS.gvms_empty Then GVMS.gvms_emptyisOwn = Not cboLeerVertrag.Checked
|
||||
GVMS.gvms_locateDateTimeOfDeparture = CDate(datAbfahrt._value).ToShortDateString & " " & datAbfahrtTime.Text
|
||||
|
||||
If txtSS.Text <> "" Then GVMS.gvms_SS = txtSS.Text
|
||||
|
||||
If GVMS.SAVE() Then
|
||||
If If(GVMS.gvms_GMR, "") <> "" Then
|
||||
cHMRC.SEND_GVMS(GVMS, GVMS.gvms_GMR) 'UPDATE
|
||||
Else
|
||||
cHMRC.SEND_GVMS(GVMS)
|
||||
End If
|
||||
|
||||
Return True
|
||||
End If
|
||||
|
||||
Return False
|
||||
|
||||
End Function
|
||||
|
||||
Sub setGVMS()
|
||||
If GVMS Is Nothing OrElse Not GVMS.hasEntry Then Exit Sub
|
||||
|
||||
|
||||
cboDirection.changeItem(GVMS.gvms_direction)
|
||||
txtKennzeichen.Text = If(GVMS.gvms_vehicleRegNum, "")
|
||||
txtTrailor.Text = If(GVMS.gvms_trailorRegNum, "")
|
||||
|
||||
cbxUngebleitet.Checked = If(GVMS.gvms_isUnaccompanied, False)
|
||||
cbxLeer.Checked = If(GVMS.gvms_empty, False)
|
||||
|
||||
If GVMS.gvms_empty Then
|
||||
cboLeerVertrag.Checked = If(GVMS.gvms_emptyisOwn, False)
|
||||
End If
|
||||
If IsDate(If(GVMS.gvms_locateDateTimeOfDeparture, "")) Then
|
||||
datAbfahrt._value = CDate(GVMS.gvms_locateDateTimeOfDeparture).ToShortDateString
|
||||
datAbfahrtTime._value = CDate(GVMS.gvms_locateDateTimeOfDeparture).ToString("HH:mm")
|
||||
End If
|
||||
|
||||
For Each POS In GVMS.GVMS_POSITIONEN
|
||||
dgvDeclarations.Rows.Add({POS.gvms_art, POS.gvms_RefNum, POS.gvms_SS})
|
||||
Next
|
||||
|
||||
txtSS.Text = If(GVMS.gvms_SS, "")
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles cbxLeer.CheckedChanged
|
||||
'dgvSfd.Visible = Not cbxLeer.Checked
|
||||
'dgvTAD.Visible = Not cbxLeer.Checked
|
||||
'dgvEIDR.Visible = Not cbxLeer.Checked
|
||||
'dgvATA.Visible = Not cbxLeer.Checked
|
||||
dgvDeclarations.Visible = Not cbxLeer.Checked
|
||||
cboLeerVertrag.Visible = cbxLeer.Checked
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
cboPortVon._value = "7054"
|
||||
cboPortNach._value = "1401"
|
||||
cboDirection._value = "UK_OUTBOUND"
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
cboPortVon._value = "1401"
|
||||
cboPortNach._value = "7054"
|
||||
cboDirection._value = "UK_INBOUND"
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user