ATEZ, USTV, etc.

This commit is contained in:
2025-04-08 13:12:39 +02:00
parent 80f9563bf6
commit b00baa6486
9 changed files with 731 additions and 611 deletions

View File

@@ -13,7 +13,6 @@ Public Class cUStVLeistender
Property UstV_Leistender_Adresse As Boolean
Property UStV_LeistenderId As Integer
Public hasEntry = False
Dim SQL As New SQL
@@ -59,10 +58,29 @@ Public Class cUStVLeistender
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Function SAVEID() As Integer
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUStVLeistender WHERE UStV_Leistender=@UStV_Leistender) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
UStV_LeistenderId = SQL.doSQLVarListID(UStV_LeistenderId, sqlstr, "FMZOLL", , list)
Return UStV_LeistenderId
End Function
Public Function INSERT() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()

View File

@@ -1,14 +1,10 @@
Imports System.Data.SqlClient
Imports System.Net
Imports System.Reflection
Imports System.ServiceModel.Configuration
Imports System.ServiceModel.Security
Imports System.Threading
Imports System.Web.Routing
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports Chilkat
Imports Newtonsoft.Json.Linq
Imports VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS
Public Class cATEZ_NCTS_Sessions
@@ -17,6 +13,7 @@ Public Class cATEZ_NCTS_Sessions
Public Property datetime As DateTime = Now()
Public Property refresh_token As String
Public Property token_validuntil As DateTime
Public Property program As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -30,18 +27,24 @@ Public Class cATEZ_NCTS_Sessions
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("datetime", datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("refresh_token", refresh_token))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("token_validuntil", token_validuntil))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("program", program))
Return list
End Function
Sub New()
LOAD()
LOAD("")
End Sub
Sub New(token As String, refreshtoken As String, timestamp As DateTime)
Sub New(Program As String)
LOAD(Program)
End Sub
Sub New(token As String, refreshtoken As String, timestamp As DateTime, program As String)
Me.token = token
Me.refresh_token = refreshtoken
token_validuntil = timestamp
program = program
SAVE()
End Sub
@@ -80,11 +83,11 @@ Public Class cATEZ_NCTS_Sessions
End Function
Public Sub LOAD()
Public Sub LOAD(Program As String)
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT TOP(1) * FROM tblATEZ_NCTS_Sessions where token_validuntil >= dateadd(minute,-10,getdate()) order by datetime desc ", conn)
Using cmd As New SqlCommand("SELECT TOP(1) * FROM tblATEZ_NCTS_Sessions where token_validuntil >= dateadd(minute,-10,getdate()) " & IIf(Program <> "", " AND program = '" & Program & "' ", "") & " order by datetime desc ", conn)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
@@ -630,17 +633,17 @@ Public Class cATEZ_NCTS_IN
API_STRING = API.Rows(0).Item("api_url")
If Not IsDBNull(API.Rows(0).Item("api_debugpath")) AndAlso API.Rows(0).Item("api_debugpath") <> "" Then
Rest.VerboseLogging = True
Rest.DebugLogFilePath = API.Rows(0).Item("api_debugpath") & program & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "_Test", "") & ".txt"
rest.VerboseLogging = True
rest.DebugLogFilePath = API.Rows(0).Item("api_debugpath") & program & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "_Test", "") & ".txt"
Else
Rest.VerboseLogging = False
rest.VerboseLogging = False
End If
End If
API_STRING = API.Rows(0).Item("api_url")
End Sub
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String) As String
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String, ByVal program As String, Optional client_id As String = "", Optional grant_type As String = "") As String
Try
Dim session = New cATEZ_NCTS_Sessions()
@@ -675,6 +678,8 @@ Public Class cATEZ_NCTS_IN
Dim json As New Chilkat.JsonObject
json.UpdateString("password", API.Rows(0).Item("api_password"))
json.UpdateString("username", API.Rows(0).Item("api_user"))
If client_id <> "" Then json.UpdateString("client_id", client_id)
If grant_type <> "" Then json.UpdateString("grant_type", grant_type)
rest.AddHeader("Content-Type", contentType)
@@ -697,10 +702,10 @@ Public Class cATEZ_NCTS_IN
jsonResp.LoadSb(sbResponseBody)
Itoken = jsonResp.StringOf("access_token")
token = Itoken
refresh_token = jsonResp.StringOf("refresh_token")
refresh_token = If(jsonResp.StringOf("refresh_token"), "")
Dim now As DateTime = DateTime.Now()
now = now.AddSeconds(jsonResp.IntOf("expires_in"))
session = New cATEZ_NCTS_Sessions(Itoken, refresh_token, now.ToString("yyyy-MM-dd HH:mm:ss"))
session = New cATEZ_NCTS_Sessions(Itoken, refresh_token, now.ToString("yyyy-MM-dd HH:mm:ss"), program)
sessionID = session.session_Id
Return rest.ResponseStatusCode
@@ -710,17 +715,25 @@ Public Class cATEZ_NCTS_IN
End Function
Shared Function authenticate() As String
Shared Function authenticate(program As String, Optional client_id As String = "", Optional grant_type As String = "") As String
Dim myUri As String = API_STRING & "/api/tds/auth/"
Dim response = SendRequestAuthentificationToken(myUri, "application/json", "POST", token)
Dim myUri As String = API_STRING
Dim contentType = "application/json"
Select Case program
Case "NCTS" : myUri &= "/api/tds/auth/"
Case "VAT" : myUri &= "/token" : contentType = "application/x-www-form-urlencoded"
End Select
Dim response = SendRequestAuthentificationToken(myUri, contentType, "POST", token, program, client_id, grant_type)
Return response
End Function
Shared Function SendRequestWithAuthHeader(acceptContentType As String, ByRef failureDesc As String) As String
Shared Function SendRequestWithAuthHeader(acceptContentType As String, ByRef failureDesc As String, myUrl As String, Method As String) As String
Try
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
@@ -755,7 +768,7 @@ Public Class cATEZ_NCTS_IN
'rest.PercentDoneOnSend = True
rest.IdleTimeoutMs = 5000 * 31
success = rest.SendReqSb("POST", "/api/integrations/verag", sbRequestBody)
success = rest.SendReqSb(Method, myUrl, sbRequestBody)
Dim responseStatusCode = rest.ReadResponseHeader()
If (responseStatusCode < 0) Then
@@ -816,7 +829,7 @@ Public Class cATEZ_NCTS_IN
End Try
End Function
Shared Function setJson(ncts As cATEZ_NCTS_DATA)
Shared Function setJsonNCTS(ncts As cATEZ_NCTS_DATA)
jsonData.Clear()
ncts.json = ""
@@ -868,6 +881,21 @@ Public Class cATEZ_NCTS_IN
End Function
Shared Function setJsonVAT(documentType As String, docID As Integer)
jsonData.Clear()
Dim success As Boolean
success = jsonData.UpdateString("document_type", documentType)
Dim base64 As Chilkat.BinData
success = base64.LoadFile(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(docID))
success = jsonData.UpdateString("document_base64", base64.GetEncoded("base64"))
Return success
End Function
Public Function setJsonPDF(ncts As cATEZ_NCTS_DATA, dgv As DataGridView)
Dim success As Boolean
@@ -894,4 +922,7 @@ Public Class cATEZ_NCTS_IN
End Function
End Class