This commit is contained in:
2020-06-22 13:32:28 +02:00
parent 3d67139c09
commit 2d85480c4c
25 changed files with 30373 additions and 2360 deletions

View File

@@ -16,6 +16,17 @@ Public Class cMAVIGetMsgType
End Function
Shared Function isTRNCTS_VersandanmeldungXML_CC015B_RES(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("CC015B_RES").Count > 0 Then
Return True
End If
End If
Return False
End Function
Shared Function isTRNCTS_BestaetigungZollXML_CC029B(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("CC029B").Count > 0 Then
@@ -25,4 +36,26 @@ Public Class cMAVIGetMsgType
Return False
End Function
Shared Function isTRNCTS_BestaetigungZollXML_ARR_INF(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("ARR_INF").Count > 0 Then
Return True
End If
End If
Return False
End Function
Shared Function isTRNCTS_ErledigungsmitteilungXML_CC045A(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("CC045A").Count > 0 Then
Return True
End If
End If
Return False
End Function
End Class

View File

@@ -159,6 +159,10 @@ Public Class cNCTS_TR
Property ncts_SumA_Befoerderer_Ort As Object = Nothing
Property ncts_Stammreferenz As Object = Nothing
Property ncts_GUID As Object = Nothing
Property ncts_Eroeffnung As Object = Nothing
Property ncts_Ankunft As Object = Nothing
Property ncts_Erledigung As Object = Nothing
Property ncts_SICHERHEITSANGABEN As New List(Of cNCTS_TR_Sicherheitsangaben)
Property ncts_WARENPOS As New List(Of cNCTS_TR_Warenposition)
@@ -353,6 +357,10 @@ Public Class cNCTS_TR
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Ort", ncts_SumA_Befoerderer_Ort))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Stammreferenz", ncts_Stammreferenz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GUID", ncts_GUID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Eroeffnung", ncts_Eroeffnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Ankunft", ncts_Ankunft))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erledigung", ncts_Erledigung))
Return list
End Function
@@ -517,7 +525,21 @@ Public Class cNCTS_TR
End Try
Return LOADByAnmID
End Function
Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False) As cNCTS_TR
Shared Function LOADByBezugsNr_or_GUID_or_MRN(bezugsNr As String, GUID As String, MRN As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
LOADByBezugsNr_or_GUID_or_MRN = New cNCTS_TR
If bezugsNr <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByBezugsNr(bezugsNr, loadALL, checkValidStatus, Partnersystem)
If LOADByBezugsNr_or_GUID_or_MRN.ncts_Id <= 0 Then
If GUID <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByGUID(GUID, loadALL, checkValidStatus, Partnersystem)
End If
If LOADByBezugsNr_or_GUID_or_MRN.ncts_Id <= 0 Then
If MRN <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByMRN(MRN, loadALL, checkValidStatus, Partnersystem)
End If
End Function
Shared Function LOADByMRN(MRN As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
Try
Dim NCTS As New cNCTS_TR
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -525,7 +547,47 @@ Public Class cNCTS_TR
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_LetzteBearbeitung desc", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_MRN LIKE @MRN " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn)
'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ")
cmd.Parameters.AddWithValue("@MRN", MRN)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each l In NCTS.getParameterList()
Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable)
If dr.Item(l.Text) Is DBNull.Value Then
propInfo.SetValue(NCTS, Nothing)
Else
propInfo.SetValue(NCTS, dr.Item(l.Text))
End If
Next
If loadALL Then
NCTS.LOAD_Sicherheitsangaben()
NCTS.LOAD_Warenposition()
End If
dr.Close()
Return NCTS
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return Nothing
End Function
Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
Try
Dim NCTS As New cNCTS_TR
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn)
'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ")
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
Dim dr = cmd.ExecuteReader()
@@ -557,6 +619,46 @@ Public Class cNCTS_TR
Return Nothing
End Function
Shared Function LOADByGUID(GUID As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
Try
Dim NCTS As New cNCTS_TR
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_GUID LIKE @GUID " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn)
'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ")
cmd.Parameters.AddWithValue("@GUID", GUID)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each l In NCTS.getParameterList()
Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable)
If dr.Item(l.Text) Is DBNull.Value Then
propInfo.SetValue(NCTS, Nothing)
Else
propInfo.SetValue(NCTS, dr.Item(l.Text))
End If
Next
If loadALL Then
NCTS.LOAD_Sicherheitsangaben()
NCTS.LOAD_Warenposition()
End If
dr.Close()
Return NCTS
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return Nothing
End Function
Public Function UPDATE_Status(status As Integer) As String
If ncts_Id > 0 Then
@@ -834,10 +936,10 @@ Public Class cNCTS_TR
Shared Function getAdresseFromEORI(EORI As String, SQL As VERAG_PROG_ALLGEMEIN.SQL)
Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL)
If EORI Is Nothing Then Return Nothing
If If(EORI, "") <> "" Then
Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI)
Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL)
If IsNumeric(kdNrTmp) Then
Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp)
Return ADRESSE