chat, essenebstellungen, vollmachten (gültig bis), bugfix laden bei sendungsdetails kunden (fehlermeldung), sprache bei verzollungsunterlagen BAR, Rechung an Atilla
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
Imports System.Net
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Net
|
||||
Imports System.Reflection
|
||||
|
||||
Public Class cMSEAPI
|
||||
|
||||
@@ -32,6 +34,7 @@ Public Class cMSEAPI
|
||||
|
||||
' Now build the JWT claims (also known as the payload)
|
||||
Dim claims As New Chilkat.JsonObject
|
||||
If API.Rows.Count = 0 Then Return "keine gültigen Zugangsdaten gefunden!"
|
||||
success = claims.AppendString("iss", API.Rows(0).Item("api_user"))
|
||||
Dim curDateTime As Integer = jwt.GenNumericDate(0)
|
||||
|
||||
@@ -59,6 +62,8 @@ Public Class cMSEAPI
|
||||
|
||||
Dim success As Boolean
|
||||
|
||||
'rest.DebugMode = True
|
||||
|
||||
rest.VerboseLogging = True
|
||||
Dim bTls As Boolean = True
|
||||
Dim port As Integer = 443
|
||||
@@ -98,6 +103,7 @@ Public Class cMSEAPI
|
||||
|
||||
Debug.WriteLine(responseJson)
|
||||
|
||||
'responseJson = "{""sender"":""MSTS"",""receiver"":""23771"",""datetime"":""2024-06-28 10:56:39"",""code"":""OK"",""message"":""OK"",""batch_seq_nr"":""2"",""customer_currency"":""EUR"",""total_pages"":100,""total_count"":99998,""total_amount"":291133.02,""page_nr"":1,""page_count"":999,""page_amount"":26238.88,""transactions"":[{""transaction_id"":1001723285,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-20 14:02:34"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-20 14:02:34"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723286,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-26 05:34:49"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-26 05:34:49"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723289,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-03 09:57:14"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-03 09:57:14"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723290,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-04 14:47:25"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-04 14:47:25"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""}]}"
|
||||
|
||||
Dim json As New Chilkat.JsonObject
|
||||
success = json.Load(responseJson)
|
||||
@@ -108,14 +114,181 @@ Public Class cMSEAPI
|
||||
Debug.WriteLine(json)
|
||||
|
||||
|
||||
Dim jsonArray As New Chilkat.JsonArray
|
||||
success = jsonArray.Load(responseJson)
|
||||
If (success <> True) Then
|
||||
Return jsonArray.LastErrorText
|
||||
Dim transactions As New Chilkat.JsonArray
|
||||
transactions = json.ArrayOf("transactions")
|
||||
If (json.LastMethodSuccess = False) Then
|
||||
Debug.WriteLine("transactions member not found.")
|
||||
End If
|
||||
|
||||
|
||||
Dim num As Integer = jsonArray.Size
|
||||
Dim num As Integer = transactions.Size
|
||||
If num = -1 Then
|
||||
Return "FEHLER"
|
||||
End If
|
||||
|
||||
saveTransactions(num, dt, transactions, json.StringOf("receiver"))
|
||||
|
||||
|
||||
Catch ex As WebException
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
|
||||
End Function
|
||||
|
||||
Public Function getTransactionsFromToDate(jwt As String, dt As DataTable, start_date As Date, end_date As Date) As String
|
||||
Try
|
||||
Dim returnText As String = ""
|
||||
Dim failureText As String = ""
|
||||
|
||||
Dim success As Boolean
|
||||
|
||||
'rest.DebugMode = True
|
||||
|
||||
rest.VerboseLogging = True
|
||||
Dim bTls As Boolean = True
|
||||
Dim port As Integer = 443
|
||||
Dim bAutoReconnect As Boolean = True
|
||||
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
failureText = rest.LastErrorText
|
||||
Return False
|
||||
End If
|
||||
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
failureText = rest.LastErrorText
|
||||
Return False
|
||||
End If
|
||||
|
||||
rest.ClearAllQueryParams()
|
||||
rest.AddHeader("X-API-Key", jwt)
|
||||
rest.AddQueryParam("start_date", start_date.ToString("yyyy-MM-dd"))
|
||||
rest.AddQueryParam("end_date", end_date.ToString("yyyy-MM-dd"))
|
||||
|
||||
rest.IdleTimeoutMs = 500000
|
||||
|
||||
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/transactions")
|
||||
If (rest.LastMethodSuccess <> True) Then
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
rest.IdleTimeoutMs = 30000 'defualt
|
||||
Return "rest.LastErrorText"
|
||||
End If
|
||||
|
||||
If (rest.ResponseStatusCode <> 200) Then
|
||||
Debug.WriteLine(rest.ResponseHeader)
|
||||
Return rest.LastErrorText
|
||||
End If
|
||||
|
||||
Debug.WriteLine(responseJson)
|
||||
|
||||
'responseJson = "{""sender"":""MSTS"",""receiver"":""23771"",""datetime"":""2024-06-28 10:56:39"",""code"":""OK"",""message"":""OK"",""batch_seq_nr"":""2"",""customer_currency"":""EUR"",""total_pages"":100,""total_count"":99998,""total_amount"":291133.02,""page_nr"":1,""page_count"":999,""page_amount"":26238.88,""transactions"":[{""transaction_id"":1001723285,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-20 14:02:34"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-20 14:02:34"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723286,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-26 05:34:49"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-26 05:34:49"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723289,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-03 09:57:14"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-03 09:57:14"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723290,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-04 14:47:25"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-04 14:47:25"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""}]}"
|
||||
|
||||
Dim json As New Chilkat.JsonObject
|
||||
success = json.Load(responseJson)
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine(json.LastErrorText)
|
||||
End If
|
||||
|
||||
Debug.WriteLine(json)
|
||||
|
||||
|
||||
Dim transactions As New Chilkat.JsonArray
|
||||
transactions = json.ArrayOf("transactions")
|
||||
If (json.LastMethodSuccess = False) Then
|
||||
Debug.WriteLine("transactions member not found.")
|
||||
End If
|
||||
|
||||
|
||||
Dim num As Integer = transactions.Size
|
||||
If num = -1 Then
|
||||
Return "FEHLER"
|
||||
End If
|
||||
|
||||
saveTransactions(num, dt, transactions, json.StringOf("receiver"))
|
||||
|
||||
|
||||
Catch ex As WebException
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Function getBilledTransactionsFromInvoiceID(jwt As String, dt As DataTable, invoiceID As String) As String
|
||||
Try
|
||||
Dim returnText As String = ""
|
||||
Dim failureText As String = ""
|
||||
|
||||
Dim success As Boolean
|
||||
|
||||
'rest.DebugMode = True
|
||||
|
||||
rest.VerboseLogging = True
|
||||
Dim bTls As Boolean = True
|
||||
Dim port As Integer = 443
|
||||
Dim bAutoReconnect As Boolean = True
|
||||
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
failureText = rest.LastErrorText
|
||||
Return False
|
||||
End If
|
||||
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
failureText = rest.LastErrorText
|
||||
Return False
|
||||
End If
|
||||
|
||||
rest.ClearAllQueryParams()
|
||||
|
||||
|
||||
rest.AddQueryParam("invoice_id", invoiceID)
|
||||
|
||||
rest.AddHeader("X-API-Key", jwt)
|
||||
|
||||
rest.IdleTimeoutMs = 500000
|
||||
|
||||
|
||||
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/settlements")
|
||||
If (rest.LastMethodSuccess <> True) Then
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
rest.IdleTimeoutMs = 30000 'defualt
|
||||
Return "rest.LastErrorText"
|
||||
End If
|
||||
|
||||
If (rest.ResponseStatusCode <> 200) Then
|
||||
Debug.WriteLine(rest.ResponseHeader)
|
||||
Return "rest.LastErrorText"
|
||||
End If
|
||||
|
||||
Debug.WriteLine(responseJson)
|
||||
|
||||
'responseJson = "{""sender"":""MSTS"",""receiver"":""10738"",""datetime"":""2024-07-25 14:17:45"",""code"":""OK"",""message"":""OK"",""customer_currency"":""EUR"",""total_pages"":1,""total_count"":56351,""total_amount"":164386.34,""page_nr"":1,""page_count"":56351,""page_amount"":164386.34,""settlements"":[{""transaction_id"":1001723285,""purchase_datetime"":""2024-06-25 21:29:16"",""partner_haulier_id"":""401058"",""transaction_net_amount"":9.08,""transaction_gross_amount"":10.9,""msts_fee_amount"":0.11,""msts_vat_amount"":0,""total_gross_amount"":11.01,""invoice_number"":""1753066"",""invoice_date"":""2024-07-15"",""specification_page_id"":197,""specification_page_name"":""French toll roads - TISPL"",""transaction_debit_or_credit"":""Debit"",""original_transaction_id"":null,""original_invoice_number"":null,""original_invoice_date"":null,""credit_comment"":null,""batch_seq_nr"":""1""},{""transaction_id"":1001723286,""purchase_datetime"":""2024-06-26 11:17:48"",""partner_haulier_id"":""401267"",""transaction_net_amount"":10.42,""transaction_gross_amount"":12.5,""msts_fee_amount"":0.13,""msts_vat_amount"":0,""total_gross_amount"":12.63,""invoice_number"":""1753066"",""invoice_date"":""2024-07-15"",""specification_page_id"":197,""specification_page_name"":""French toll roads - TISPL"",""transaction_debit_or_credit"":""Debit"",""original_transaction_id"":null,""original_invoice_number"":null,""original_invoice_date"":null,""credit_comment"":null,""batch_seq_nr"":""1""}]}"
|
||||
|
||||
Dim json As New Chilkat.JsonObject
|
||||
success = json.Load(responseJson)
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine(json.LastErrorText)
|
||||
End If
|
||||
|
||||
Debug.WriteLine(json)
|
||||
|
||||
|
||||
Dim transactions As New Chilkat.JsonArray
|
||||
transactions = json.ArrayOf("settlements")
|
||||
If (json.LastMethodSuccess = False) Then
|
||||
Debug.WriteLine("transactions member not found.")
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim num As Integer = transactions.Size
|
||||
If num = -1 Then
|
||||
Return "FEHLER"
|
||||
End If
|
||||
@@ -123,61 +296,258 @@ Public Class cMSEAPI
|
||||
|
||||
Dim j As Integer = 0
|
||||
|
||||
dt.Columns.Clear()
|
||||
|
||||
If dt IsNot Nothing And Not dt.Columns.Contains("transaction_id") Then
|
||||
|
||||
dt.Columns.Add("transaction_id", GetType(String))
|
||||
dt.Columns.Add("partner_haulier_id", GetType(Integer))
|
||||
dt.Columns.Add("supplier_name", GetType(String))
|
||||
dt.Columns.Add("transaction_country", GetType(String))
|
||||
dt.Columns.Add("transaction_domain", GetType(String))
|
||||
|
||||
dt.Columns.Add("purchase_datetime", GetType(DateTime))
|
||||
dt.Columns.Add("entry_point_name", GetType(String))
|
||||
dt.Columns.Add("entry_datetime", GetType(DateTime))
|
||||
dt.Columns.Add("exit_point_name", GetType(String))
|
||||
dt.Columns.Add("exit_datetime", GetType(DateTime))
|
||||
|
||||
dt.Columns.Add("device_product_type", GetType(String))
|
||||
dt.Columns.Add("device_product_number", GetType(String))
|
||||
dt.Columns.Add("transaction_product_id", GetType(Integer))
|
||||
dt.Columns.Add("transaction_product_name", GetType(String))
|
||||
dt.Columns.Add("license_plate_number", GetType(String))
|
||||
|
||||
dt.Columns.Add("vehicle_country", GetType(Integer))
|
||||
dt.Columns.Add("original_currency", GetType(String))
|
||||
dt.Columns.Add("original_net_amount", GetType(String))
|
||||
dt.Columns.Add("original_gross_amount", GetType(String))
|
||||
dt.Columns.Add("original_vat_percentage", GetType(Boolean))
|
||||
|
||||
dt.Columns.Add("transaction_net_amount", GetType(Integer))
|
||||
dt.Columns.Add("transaction_gross_amount", GetType(String))
|
||||
dt.Columns.Add("exempt_amount", GetType(String))
|
||||
dt.Columns.Add("msts_fee_amount", GetType(String))
|
||||
dt.Columns.Add("msts_vat_amount", GetType(Boolean))
|
||||
|
||||
dt.Columns.Add("msts_vat_percentage", GetType(Integer))
|
||||
dt.Columns.Add("total_gross_amount", GetType(String))
|
||||
dt.Columns.Add("transaction_status", GetType(String))
|
||||
'dt.Columns.Add("purchase_datetime", GetType(DateTime))
|
||||
'dt.Columns.Add("partner_haulier_id", GetType(Integer))
|
||||
'dt.Columns.Add("transaction_net_amount", GetType(String))
|
||||
'dt.Columns.Add("transaction_gross_amount", GetType(String))
|
||||
'dt.Columns.Add("msts_fee_amount", GetType(String))
|
||||
'dt.Columns.Add("msts_vat_amount", GetType(String))
|
||||
'dt.Columns.Add("total_gross_amount", GetType(String))
|
||||
dt.Columns.Add("invoice_number", GetType(String))
|
||||
dt.Columns.Add("invoice_date", GetType(String))
|
||||
dt.Columns.Add("specification_page_id", GetType(String))
|
||||
dt.Columns.Add("specification_page_name", GetType(String))
|
||||
dt.Columns.Add("transaction_debit_or_credit", GetType(String))
|
||||
dt.Columns.Add("original_transaction_id", GetType(String))
|
||||
dt.Columns.Add("credit_comment", GetType(Boolean))
|
||||
dt.Columns.Add("loading_date", GetType(Date))
|
||||
dt.Columns.Add("batch_seq_nr", GetType(Integer))
|
||||
|
||||
dt.Columns.Add("original_invoice_number", GetType(Integer))
|
||||
dt.Columns.Add("original_invoice_date", GetType(String))
|
||||
dt.Columns.Add("credit_comment", GetType(String))
|
||||
|
||||
While j < num
|
||||
|
||||
Dim transaction As Chilkat.JsonObject = jsonArray.ObjectAt(j)
|
||||
Dim transaction As Chilkat.JsonObject = transactions.ObjectAt(j)
|
||||
|
||||
Dim R As DataRow = dt.NewRow
|
||||
'R("id") = groups.IntOf("id")
|
||||
'R("name") = groups.StringOf("name")
|
||||
'R("groupType") = groups.StringOf("groupType")
|
||||
'R("info") = groups.StringOf("info")
|
||||
R("transaction_id") = transaction.StringOf("transaction_id")
|
||||
'R("purchase_datetime") = transaction.StringOf("purchase_datetime")
|
||||
'R("partner_haulier_id") = transaction.IntOf("partner_haulier_id")
|
||||
'R("transaction_net_amount") = transaction.IntOf("transaction_net_amount")
|
||||
'R("transaction_gross_amount") = transaction.StringOf("transaction_gross_amount")
|
||||
'R("msts_fee_amount") = transaction.StringOf("msts_fee_amount")
|
||||
'R("msts_vat_amount") = transaction.StringOf("msts_vat_amount")
|
||||
'R("total_gross_amount") = transaction.StringOf("total_gross_amount")
|
||||
R("invoice_number") = transaction.StringOf("invoice_number")
|
||||
R("invoice_date") = transaction.StringOf("invoice_date")
|
||||
R("specification_page_id") = transaction.StringOf("specification_page_id")
|
||||
R("specification_page_name") = transaction.StringOf("specification_page_name")
|
||||
R("transaction_debit_or_credit") = transaction.StringOf("transaction_debit_or_credit")
|
||||
R("original_transaction_id") = IIf(transaction.StringOf("original_transaction_id") <> "null", transaction.StringOf("original_transaction_id"), "")
|
||||
R("original_invoice_number") = IIf(transaction.StringOf("original_invoice_number") <> "null", transaction.StringOf("original_invoice_number"), DBNull.Value)
|
||||
R("original_invoice_date") = IIf(transaction.StringOf("original_invoice_date") <> "null", transaction.StringOf("original_invoice_date"), "")
|
||||
R("credit_comment") = IIf(transaction.StringOf("credit_comment") <> "null", transaction.StringOf("credit_comment"), "")
|
||||
|
||||
Dim trans = New cMSETransactions(R("transaction_id"))
|
||||
|
||||
trans.invoice_number = R("invoice_number")
|
||||
'trans.invoice_date = CDate(R("invoice_date"))
|
||||
'trans.specification_page_id = R("specification_page_id")
|
||||
'trans.specification_page_name = R("specification_page_name")
|
||||
'trans.transaction_debit_or_credit = R("transaction_debit_or_credit")
|
||||
'trans.original_transaction_id = IIf(R("original_transaction_id") <> "", R("original_transaction_id"), "")
|
||||
'trans.original_invoice_number = IIf(Not IsDBNull(R("original_invoice_number")), R("original_invoice_number"), "")
|
||||
'trans.credit_comment = IIf(R("credit_comment") <> "", R("credit_comment"), "")
|
||||
|
||||
|
||||
'trans.partner_haulier_id = R("partner_haulier_id")
|
||||
'trans.purchase_datetime = R("purchase_datetime")
|
||||
'trans.transaction_net_amount = CDbl(R("transaction_net_amount"))
|
||||
'trans.transaction_gross_amount = CDbl(R("transaction_gross_amount"))
|
||||
'trans.msts_fee_amount = CDbl(R("msts_fee_amount"))
|
||||
'trans.msts_vat_amount = CDbl(R("msts_vat_amount"))
|
||||
'trans.total_gross_amount = CDbl(R("total_gross_amount"))
|
||||
trans.invoice_number = R("invoice_number")
|
||||
trans.invoice_date = CDate(R("invoice_date"))
|
||||
trans.specification_page_id = R("specification_page_id")
|
||||
trans.specification_page_name = R("specification_page_name")
|
||||
trans.transaction_debit_or_credit = R("transaction_debit_or_credit")
|
||||
trans.original_transaction_id = IIf(R("original_transaction_id") <> "", R("original_transaction_id"), "")
|
||||
trans.original_invoice_number = IIf(Not IsDBNull(R("original_invoice_number")), R("original_invoice_number"), "")
|
||||
|
||||
If (R("original_invoice_date") <> "" AndAlso IsDate(R("original_invoice_date"))) Then
|
||||
trans.original_invoice_date = CDate(R("original_invoice_date"))
|
||||
Else
|
||||
trans.original_invoice_date = DBNull.Value
|
||||
End If
|
||||
|
||||
trans.credit_comment = IIf(R("credit_comment") <> "", R("credit_comment"), "")
|
||||
trans.SAVE()
|
||||
|
||||
'Property msts_fee_amount As Object = Nothing
|
||||
'Property msts_vat_amount As Object = Nothing
|
||||
'Property total_gross_amount As Object = Nothing
|
||||
'Property invoice_number As Object = Nothing
|
||||
'Property invoice_date As Object = Nothing
|
||||
'Property specification_page_id As Object = Nothing
|
||||
'Property specification_page_name As Object = Nothing
|
||||
'Property transaction_debit_or_credit As Object = Nothing
|
||||
'Property original_transaction_id As Object = Nothing
|
||||
'Property original_invoice_number As Object = Nothing
|
||||
'Property original_invoice_date As Object = Nothing
|
||||
'Property credit_comment As Object = Nothing
|
||||
'Property batch_seq_nr As Object = Nothing
|
||||
|
||||
'R("entry_point_name") = transaction.StringOf("entry_point_name")
|
||||
'R("entry_datetime") = transaction.DateOf("entry_datetime", New Chilkat.CkDateTime)
|
||||
'R("exit_point_name") = transaction.StringOf("exit_point_name")
|
||||
'R("exit_datetime") = transaction.DateOf("exit_datetime", New Chilkat.CkDateTime)
|
||||
|
||||
'R("device_product_type") = transaction.StringOf("device_product_type")
|
||||
'R("device_product_number") = transaction.StringOf("device_product_number")
|
||||
'R("transaction_product_id") = transaction.IntOf("transaction_product_id")
|
||||
'R("transaction_product_name") = transaction.StringOf("transaction_product_name")
|
||||
'R("license_plate_number") = transaction.StringOf("license_plate_number")
|
||||
|
||||
'R("vehicle_country") = transaction.IntOf("vehicle_country")
|
||||
'R("original_currency") = transaction.StringOf("original_currency")
|
||||
'R("original_net_amount") = transaction.StringOf("original_net_amount")
|
||||
|
||||
'R("original_gross_amount") = transaction.IntOf("original_gross_amount")
|
||||
'R("original_currency") = transaction.StringOf("original_currency")
|
||||
'R("original_vat_percentage") = transaction.BoolOf("original_vat_percentage")
|
||||
|
||||
'R("exempt_amount") = transaction.StringOf("exempt_amount")
|
||||
|
||||
dt.Rows.Add(R)
|
||||
j = j + 1
|
||||
End While
|
||||
|
||||
dt = dt.DefaultView.ToTable()
|
||||
|
||||
End If
|
||||
|
||||
Catch ex As WebException
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
|
||||
End Function
|
||||
|
||||
Public Function getInvoices(jwt As String, dt As DataTable, startDate As Date, end_date As Date) As String
|
||||
Try
|
||||
Dim returnText As String = ""
|
||||
Dim failureText As String = ""
|
||||
|
||||
Dim success As Boolean
|
||||
|
||||
rest.VerboseLogging = True
|
||||
Dim bTls As Boolean = True
|
||||
Dim port As Integer = 443
|
||||
Dim bAutoReconnect As Boolean = True
|
||||
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
failureText = rest.LastErrorText
|
||||
Return False
|
||||
End If
|
||||
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
failureText = rest.LastErrorText
|
||||
Return False
|
||||
End If
|
||||
|
||||
rest.ClearAllQueryParams()
|
||||
|
||||
|
||||
rest.AddQueryParam("start_date", startDate.ToString("yyyy-MM-dd"))
|
||||
rest.AddQueryParam("end_date", end_date.ToString("yyyy-MM-dd"))
|
||||
|
||||
rest.AddHeader("X-API-Key", jwt)
|
||||
|
||||
rest.IdleTimeoutMs = 500000
|
||||
|
||||
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/invoices")
|
||||
If (rest.LastMethodSuccess <> True) Then
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
rest.IdleTimeoutMs = 30000 'defualt
|
||||
Return "rest.LastErrorText"
|
||||
End If
|
||||
|
||||
If (rest.ResponseStatusCode <> 200) Then
|
||||
Debug.WriteLine(rest.ResponseHeader)
|
||||
Return "rest.LastErrorText"
|
||||
End If
|
||||
|
||||
Debug.WriteLine(responseJson)
|
||||
|
||||
|
||||
Dim json As New Chilkat.JsonObject
|
||||
success = json.Load(responseJson)
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine(json.LastErrorText)
|
||||
End If
|
||||
|
||||
Debug.WriteLine(json)
|
||||
|
||||
|
||||
Dim invoices As New Chilkat.JsonArray
|
||||
invoices = json.ArrayOf("pdf_invoices")
|
||||
If (json.LastMethodSuccess = False) Then
|
||||
Debug.WriteLine("pdf_invoices member not found.")
|
||||
End If
|
||||
|
||||
|
||||
Dim num As Integer = invoices.Size
|
||||
If num = -1 Then
|
||||
Return "FEHLER"
|
||||
End If
|
||||
|
||||
|
||||
Dim j As Integer = 0
|
||||
|
||||
If dt IsNot Nothing And Not dt.Columns.Contains("name") Then
|
||||
|
||||
dt.Columns.Add("name", GetType(String))
|
||||
dt.Columns.Add("url", GetType(String))
|
||||
dt.Columns.Add("total_amount_euro", GetType(String))
|
||||
dt.Columns.Add("total_vat_amount_euro", GetType(String))
|
||||
dt.Columns.Add("msts_vat_number", GetType(String))
|
||||
dt.Columns.Add("invoice_id", GetType(String))
|
||||
dt.Columns.Add("invoice_date", GetType(String))
|
||||
|
||||
While j < num
|
||||
|
||||
Dim invoice As Chilkat.JsonObject = invoices.ObjectAt(j)
|
||||
|
||||
Dim R As DataRow = dt.NewRow
|
||||
R("name") = invoice.StringOf("name")
|
||||
R("url") = invoice.StringOf("url")
|
||||
R("total_amount_euro") = invoice.StringOf("total_amount_euro")
|
||||
R("total_vat_amount_euro") = invoice.StringOf("total_vat_amount_euro")
|
||||
R("msts_vat_number") = invoice.StringOf("msts_vat_number")
|
||||
R("invoice_id") = invoice.StringOf("invoice_id")
|
||||
R("invoice_date") = invoice.StringOf("invoice_date")
|
||||
|
||||
Dim inv As New cMSEInvoices()
|
||||
inv.name = R("name")
|
||||
inv.total_amount_euro = IIf(R("total_amount_euro") = "null", 0, R("total_amount_euro"))
|
||||
inv.total_vat_amount_euro = IIf(R("total_vat_amount_euro") = "null", 0, R("total_vat_amount_euro"))
|
||||
inv.msts_vat_number = IIf(R("msts_vat_number") = "null", "", R("msts_vat_number"))
|
||||
inv.invoice_id = R("invoice_id")
|
||||
inv.invoice_date = CDate(R("invoice_date"))
|
||||
inv.SAVE()
|
||||
|
||||
dt.Rows.Add(R)
|
||||
j = j + 1
|
||||
End While
|
||||
|
||||
|
||||
For Each r As DataRow In dt.Rows
|
||||
|
||||
'\\fmzoll\f\FMZoll\MSE\TESTRECHNUNGEN
|
||||
'\\datenarchiv\Datenarchiv\MDM_SCHNITTSTELLEN\ECHTSYSTEM\Nachrichtendaten_ZIEL\MSE
|
||||
|
||||
If r("url") <> "" AndAlso r("name") <> "" AndAlso r("name").contains("VAT") Then 'only VAT-Invoices
|
||||
VERAG_PROG_ALLGEMEIN.cFormularManager.getPDFViaSpirePDF_FromURLStream(r("url"), r("name"), "\\fmzoll\f\FMZoll\MSE\TESTRECHNUNGEN", False)
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
dt = dt.DefaultView.ToTable()
|
||||
|
||||
@@ -192,4 +562,457 @@ Public Class cMSEAPI
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Public Sub saveTransactions(num As Integer, dt As DataTable, transactions As Chilkat.JsonArray, receiver As Integer)
|
||||
|
||||
Dim j As Integer = 0
|
||||
|
||||
If dt IsNot Nothing And Not dt.Columns.Contains("transaction_id") Then
|
||||
|
||||
dt.Columns.Add("transaction_id", GetType(String))
|
||||
dt.Columns.Add("partner_haulier_id", GetType(Integer))
|
||||
dt.Columns.Add("supplier_name", GetType(String))
|
||||
dt.Columns.Add("transaction_country", GetType(String))
|
||||
dt.Columns.Add("transaction_domain", GetType(String))
|
||||
dt.Columns.Add("purchase_datetime", GetType(DateTime))
|
||||
dt.Columns.Add("entry_point_name", GetType(String))
|
||||
dt.Columns.Add("entry_datetime", GetType(DateTime))
|
||||
dt.Columns.Add("exit_point_name", GetType(String))
|
||||
dt.Columns.Add("exit_datetime", GetType(DateTime))
|
||||
dt.Columns.Add("device_product_type", GetType(String))
|
||||
dt.Columns.Add("device_product_number", GetType(String))
|
||||
dt.Columns.Add("transaction_product_id", GetType(Integer))
|
||||
dt.Columns.Add("transaction_product_name", GetType(String))
|
||||
dt.Columns.Add("license_plate_number", GetType(String))
|
||||
dt.Columns.Add("vehicle_country", GetType(String))
|
||||
dt.Columns.Add("original_currency", GetType(String))
|
||||
dt.Columns.Add("original_net_amount", GetType(Double))
|
||||
dt.Columns.Add("original_gross_amount", GetType(Double))
|
||||
dt.Columns.Add("original_vat_percentage", GetType(Double))
|
||||
dt.Columns.Add("customer_currency", GetType(String))
|
||||
dt.Columns.Add("transaction_net_amount", GetType(Double))
|
||||
dt.Columns.Add("transaction_gross_amount", GetType(Double))
|
||||
dt.Columns.Add("exempt_amount", GetType(Double))
|
||||
dt.Columns.Add("msts_fee_amount", GetType(Double))
|
||||
dt.Columns.Add("msts_vat_amount", GetType(Double))
|
||||
dt.Columns.Add("msts_vat_percentage", GetType(Double))
|
||||
dt.Columns.Add("total_gross_amount", GetType(Double))
|
||||
dt.Columns.Add("transaction_status", GetType(String))
|
||||
dt.Columns.Add("original_transaction_id", GetType(String))
|
||||
dt.Columns.Add("loading_date", GetType(Date))
|
||||
dt.Columns.Add("batch_seq_nr", GetType(Integer))
|
||||
dt.Columns.Add("distance_km", GetType(Double))
|
||||
While j < num
|
||||
|
||||
Dim transaction As Chilkat.JsonObject = transactions.ObjectAt(j)
|
||||
|
||||
|
||||
Dim purchaseDate, entryDate, exitDate, loadingDate As New Chilkat.CkDateTime
|
||||
Dim getAsLocal As Boolean = False
|
||||
Dim dateTime As New Chilkat.CkDateTime
|
||||
|
||||
|
||||
Dim R As DataRow = dt.NewRow
|
||||
R("transaction_id") = transaction.StringOf("transaction_id")
|
||||
R("partner_haulier_id") = transaction.IntOf("partner_haulier_id")
|
||||
R("supplier_name") = transaction.StringOf("supplier_name")
|
||||
R("transaction_country") = transaction.StringOf("transaction_country")
|
||||
R("transaction_domain") = transaction.StringOf("transaction_domain")
|
||||
transaction.DateOf("purchase_datetime", purchaseDate)
|
||||
R("purchase_datetime") = purchaseDate.GetAsTimestamp(getAsLocal)
|
||||
R("entry_point_name") = transaction.StringOf("entry_point_name")
|
||||
transaction.DateOf("entry_datetime", entryDate)
|
||||
R("entry_datetime") = entryDate.GetAsTimestamp(getAsLocal)
|
||||
R("exit_point_name") = transaction.StringOf("exit_point_name")
|
||||
transaction.DateOf("exit_datetime", exitDate)
|
||||
R("exit_datetime") = exitDate.GetAsTimestamp(getAsLocal)
|
||||
R("device_product_type") = transaction.StringOf("device_product_type")
|
||||
R("device_product_number") = transaction.StringOf("device_product_number")
|
||||
R("transaction_product_id") = transaction.IntOf("transaction_product_id")
|
||||
R("transaction_product_name") = transaction.StringOf("transaction_product_name")
|
||||
R("license_plate_number") = transaction.StringOf("license_plate_number")
|
||||
R("vehicle_country") = IIf(transaction.StringOf("vehicle_country") = "null", "", transaction.StringOf("vehicle_country"))
|
||||
R("original_currency") = transaction.StringOf("original_currency")
|
||||
R("original_net_amount") = CDbl(transaction.StringOf("original_net_amount"))
|
||||
R("original_gross_amount") = CDbl(transaction.StringOf("original_gross_amount"))
|
||||
R("original_vat_percentage") = CDbl(IIf(transaction.StringOf("original_vat_percentage") = "null", 0, transaction.StringOf("original_vat_percentage")))
|
||||
R("transaction_net_amount") = CDbl(transaction.StringOf("transaction_net_amount"))
|
||||
R("transaction_gross_amount") = CDbl(transaction.StringOf("transaction_gross_amount"))
|
||||
R("exempt_amount") = CDbl(transaction.StringOf("exempt_amount"))
|
||||
R("msts_fee_amount") = CDbl(transaction.StringOf("msts_fee_amount"))
|
||||
R("msts_vat_amount") = CDbl(transaction.StringOf("msts_vat_amount"))
|
||||
R("msts_vat_percentage") = CDbl(transaction.StringOf("msts_vat_percentage"))
|
||||
R("total_gross_amount") = CDbl(transaction.StringOf("total_gross_amount"))
|
||||
R("transaction_status") = transaction.StringOf("transaction_status")
|
||||
transaction.DateOf("loading_date", loadingDate)
|
||||
R("loading_date") = CDate(loadingDate.GetAsTimestamp(getAsLocal))
|
||||
R("batch_seq_nr") = transaction.StringOf("batch_seq_nr")
|
||||
'R("distance_km") = transaction.StringOf("distance_km")
|
||||
|
||||
If CDate(R("purchase_datetime")) >= "01.07.2024" Then
|
||||
|
||||
Dim trans As New cMSETransactions()
|
||||
trans.transaction_id = R("transaction_id")
|
||||
trans.controller_id = receiver
|
||||
trans.partner_haulier_id = R("partner_haulier_id")
|
||||
trans.supplier_name = R("supplier_name")
|
||||
trans.transaction_country = R("transaction_country")
|
||||
trans.transaction_domain = R("transaction_domain")
|
||||
trans.purchase_datetime = purchaseDate.GetAsDateTime(getAsLocal)
|
||||
trans.entry_point_name = R("entry_point_name")
|
||||
trans.entry_datetime = entryDate.GetAsDateTime(getAsLocal)
|
||||
trans.exit_point_name = R("exit_point_name")
|
||||
trans.exit_datetime = exitDate.GetAsDateTime(getAsLocal)
|
||||
trans.device_product_type = R("device_product_type")
|
||||
trans.device_product_number = R("device_product_number")
|
||||
trans.transaction_product_id = R("transaction_product_id")
|
||||
trans.transaction_product_name = R("transaction_product_name")
|
||||
trans.license_plate_number = R("license_plate_number")
|
||||
trans.vehicle_country = R("vehicle_country")
|
||||
trans.original_currency = R("original_currency")
|
||||
trans.original_net_amount = R("original_net_amount")
|
||||
trans.original_gross_amount = R("original_gross_amount")
|
||||
trans.original_vat_percentage = R("original_vat_percentage")
|
||||
trans.transaction_net_amount = CDbl(R("transaction_net_amount"))
|
||||
trans.transaction_gross_amount = CDbl(R("transaction_gross_amount"))
|
||||
trans.msts_fee_amount = CDbl(R("msts_fee_amount"))
|
||||
trans.msts_vat_amount = CDbl(R("msts_vat_amount"))
|
||||
trans.total_gross_amount = CDbl(R("total_gross_amount"))
|
||||
trans.transaction_status = R("transaction_status")
|
||||
trans.loading_date = CDate(loadingDate.GetAsDateTime(getAsLocal))
|
||||
trans.batch_seq_nr = R("batch_seq_nr")
|
||||
'trans.distance_km = CDbl(R("distance_km"))
|
||||
trans.SAVE()
|
||||
|
||||
End If
|
||||
|
||||
|
||||
dt.Rows.Add(R)
|
||||
j = j + 1
|
||||
End While
|
||||
|
||||
|
||||
dt = dt.DefaultView.ToTable()
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Public Class cMSEInvoices
|
||||
Property id As Integer
|
||||
Property name As Object = Nothing
|
||||
Property total_amount_euro As Object = Nothing
|
||||
Property total_vat_amount_euro As Object = Nothing
|
||||
Property msts_vat_number As Object = Nothing
|
||||
Property invoice_id As Object = Nothing
|
||||
Property invoice_date As Object = Nothing
|
||||
|
||||
Public hasEntry = False
|
||||
|
||||
Dim SQL As New SQL
|
||||
|
||||
Sub New()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub New(name, invoice_id)
|
||||
Me.name = name
|
||||
Me.invoice_id = invoice_id
|
||||
LOAD()
|
||||
End Sub
|
||||
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_id", rmc_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("name", name))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("total_amount_euro", total_amount_euro))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("total_vat_amount_euro", total_vat_amount_euro))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_vat_number", msts_vat_number))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_id", invoice_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_date", invoice_date))
|
||||
|
||||
Return list
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Function SAVE() As Boolean
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMSEInvoices WHERE name=@name AND invoice_id = @invoice_id) " &
|
||||
" BEGIN " & getUpdateCmd() & " END " &
|
||||
" Else " &
|
||||
" BEGIN " & getInsertCmd() & " END " &
|
||||
" commit tran "
|
||||
|
||||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||||
End Function
|
||||
|
||||
Public Sub LOAD()
|
||||
Try
|
||||
hasEntry = False
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
Using cmd As New SqlCommand("SELECT * FROM tblMSEInvoices WHERE name=@name AND invoice_id = @invoice_id", conn)
|
||||
cmd.Parameters.AddWithValue("@name", name)
|
||||
cmd.Parameters.AddWithValue("@invoice_id", invoice_id)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
For Each li In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(Me, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(Me, dr.Item(li.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
hasEntry = True
|
||||
End If
|
||||
dr.Close()
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Function getUpdateCmd() As String
|
||||
Try
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
Dim str As String = ""
|
||||
For Each i In list
|
||||
If Not i.isPrimaryParam Then
|
||||
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
||||
End If
|
||||
Next
|
||||
str = str.Substring(0, str.Length - 1) 'wg. ','
|
||||
Return (" UPDATE tblMSEInvoices SET " & str & " WHERE name=@name AND invoice_id = @invoice_id ")
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
|
||||
Public Function getInsertCmd() As String
|
||||
Try
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
Dim str As String = ""
|
||||
Dim values As String = ""
|
||||
For Each i In list
|
||||
If Not i.isPrimaryParam Then
|
||||
str &= "[" & i.Text & "],"
|
||||
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
||||
End If
|
||||
Next
|
||||
str = str.Substring(0, str.Length - 1) 'wg. ','
|
||||
values = values.Substring(0, values.Length - 1) 'wg. ','
|
||||
Return (" INSERT INTO tblMSEInvoices (" & str & ") VALUES(" & values & ") ")
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
Return ""
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class cMSETransactions
|
||||
|
||||
Property transaction_id As Object = Nothing
|
||||
Property controller_id As Integer
|
||||
Property partner_haulier_id As Object = Nothing
|
||||
Property supplier_name As Object = Nothing
|
||||
Property transaction_country As Object = Nothing
|
||||
Property transaction_domain As Object = Nothing
|
||||
Property purchase_datetime As Object = Nothing
|
||||
Property entry_point_name As Object = Nothing
|
||||
Property entry_datetime As Object = Nothing
|
||||
Property exit_point_name As Object = Nothing
|
||||
Property exit_datetime As Object = Nothing
|
||||
Property device_product_type As Object = Nothing
|
||||
Property device_product_number As Object = Nothing
|
||||
Property transaction_product_id As Object = Nothing
|
||||
Property transaction_product_name As Object = Nothing
|
||||
Property license_plate_number As Object = Nothing
|
||||
Property vehicle_country As Object = Nothing
|
||||
Property original_currency As Object = Nothing
|
||||
Property original_net_amount As Object = Nothing
|
||||
Property original_gross_amount As Object = Nothing
|
||||
Property original_vat_percentage As Object = Nothing
|
||||
Property customer_currency As Object = Nothing
|
||||
Property transaction_net_amount As Object = Nothing
|
||||
Property transaction_gross_amount As Object = Nothing
|
||||
Property exempt_amount As Object = Nothing
|
||||
Property msts_fee_amount As Object = Nothing
|
||||
Property msts_vat_amount As Object = Nothing
|
||||
Property msts_vat_percentage As Object = Nothing
|
||||
Property total_gross_amount As Object = Nothing
|
||||
Property transaction_status As Object = Nothing
|
||||
Property loading_date As Object = Nothing
|
||||
Property batch_seq_nr As Object = Nothing
|
||||
Property distance_km As Object = Nothing
|
||||
Property invoice_number As Object = Nothing
|
||||
Property invoice_date As Object = Nothing
|
||||
Property specification_page_id As Object = Nothing
|
||||
Property specification_page_name As Object = Nothing
|
||||
Property transaction_debit_or_credit As Object = Nothing
|
||||
Property original_transaction_id As Object = Nothing
|
||||
Property original_invoice_number As Object = Nothing
|
||||
Property original_invoice_date As Object = Nothing
|
||||
Property credit_comment As Object = Nothing
|
||||
|
||||
|
||||
Public hasEntry = False
|
||||
|
||||
Dim SQL As New SQL
|
||||
|
||||
Sub New()
|
||||
End Sub
|
||||
|
||||
Sub New(transaction_id)
|
||||
Me.transaction_id = transaction_id
|
||||
LOAD()
|
||||
End Sub
|
||||
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_id", transaction_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("controller_id", controller_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("partner_haulier_id", partner_haulier_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("supplier_name", supplier_name))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_country", transaction_country))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_domain", transaction_domain))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("purchase_datetime", purchase_datetime))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("entry_point_name", entry_point_name))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("entry_datetime", entry_datetime))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exit_point_name", exit_point_name))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exit_datetime", exit_datetime))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("device_product_type", device_product_type))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("device_product_number", device_product_number))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_product_id", transaction_product_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_product_name", transaction_product_name))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("license_plate_number", license_plate_number))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vehicle_country", vehicle_country))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_currency", original_currency))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_net_amount", original_net_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_gross_amount", original_gross_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_vat_percentage", original_vat_percentage))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("customer_currency", customer_currency))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_net_amount", transaction_net_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_gross_amount", transaction_gross_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exempt_amount", exempt_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_fee_amount", msts_fee_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_vat_amount", msts_vat_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_vat_percentage", msts_vat_percentage))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("total_gross_amount", total_gross_amount))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_status", transaction_status))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("loading_date", loading_date))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("batch_seq_nr", batch_seq_nr))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("distance_km", distance_km))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_number", invoice_number))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_date", invoice_date))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("specification_page_id", specification_page_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("specification_page_name", specification_page_name))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_debit_or_credit", transaction_debit_or_credit))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_transaction_id", original_transaction_id))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_invoice_number", original_invoice_number))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_invoice_date", original_invoice_date))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("credit_comment", credit_comment))
|
||||
|
||||
|
||||
|
||||
|
||||
Return list
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Function SAVE() As Boolean
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMSETransactions WHERE transaction_id=@transaction_id) " &
|
||||
" BEGIN " & getUpdateCmd() & " END " &
|
||||
" Else " &
|
||||
" BEGIN " & getInsertCmd() & " END " &
|
||||
" commit tran "
|
||||
|
||||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||||
End Function
|
||||
|
||||
Public Sub LOAD()
|
||||
Try
|
||||
hasEntry = False
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
Using cmd As New SqlCommand("SELECT * FROM tblMSETransactions WHERE transaction_id=@transaction_id", conn)
|
||||
cmd.Parameters.AddWithValue("@transaction_id", transaction_id)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
For Each li In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(Me, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(Me, dr.Item(li.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
hasEntry = True
|
||||
End If
|
||||
dr.Close()
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Function getUpdateCmd() As String
|
||||
Try
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
Dim str As String = ""
|
||||
For Each i In list
|
||||
If Not i.isPrimaryParam Then
|
||||
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
||||
End If
|
||||
Next
|
||||
str = str.Substring(0, str.Length - 1) 'wg. ','
|
||||
Return (" UPDATE tblMSETransactions SET " & str & " WHERE transaction_id=@transaction_id")
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
|
||||
Public Function getInsertCmd() As String
|
||||
Try
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
Dim str As String = ""
|
||||
Dim values As String = ""
|
||||
For Each i In list
|
||||
If Not i.isPrimaryParam Then
|
||||
str &= "[" & i.Text & "],"
|
||||
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
||||
End If
|
||||
Next
|
||||
str = str.Substring(0, str.Length - 1) 'wg. ','
|
||||
values = values.Substring(0, values.Length - 1) 'wg. ','
|
||||
Return (" INSERT INTO tblMSETransactions (" & str & ") VALUES(" & values & ") ")
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
Return ""
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user