This commit is contained in:
2020-01-08 13:18:12 +01:00
parent de1d935624
commit a6964d7082
28 changed files with 3853 additions and 1086 deletions

View File

@@ -19,8 +19,9 @@ Public Class cDakosyFunftions
Dim DY_pwd = ""
Dim DY_port = ""
Dim DY_PFAD_IN = ""
Dim DY_PFAD_IN_KD = ""
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "")
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "", DY_PFAD_IN_KD)
Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd))
Using client = New SftpClient(ConnectionInfo)
@@ -72,15 +73,17 @@ Public Class cDakosyFunftions
Dim DY_pwd = ""
Dim DY_port = ""
Dim DY_PFAD_IN = ""
Dim DY_PFAD_IN_KD = ""
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "")
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "", DY_PFAD_IN_KD)
Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd))
Using client = New SftpClient(ConnectionInfo)
client.Connect()
'client.Create(file, file)
If misc Then
client.ChangeDirectory(DY_PFAD_IN.Replace("gebox", "misc"))
client.ChangeDirectory(DY_PFAD_IN_KD) 'DY_PFAD_IN.Replace("gebox", "misc"))
Else
client.ChangeDirectory(DY_PFAD_IN)
End If
@@ -107,21 +110,31 @@ Public Class cDakosyFunftions
End Function
Shared Sub getSFTPLoginData(ByRef DY_server, ByRef DY_name, ByRef DY_pwd, ByRef DY_port, ByRef DY_PFAD_IN, ByRef DY_PFAD_OUT)
Shared Sub getSFTPLoginData(ByRef DY_server, ByRef DY_name, ByRef DY_pwd, ByRef DY_port, ByRef DY_PFAD_IN, ByRef DY_PFAD_OUT, ByRef DY_PFAD_IN_KD)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
DY_server = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_SERVER", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_name = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_NAME", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_pwd = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_PASSWORD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_port = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_PORT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_IN = "in/test/gebox/"
DY_PFAD_OUT = "out/test/"
DY_PFAD_IN = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_OUT = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_OUT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If DY_PFAD_IN = "" Then DY_PFAD_IN = "in/test/gebox/"
If DY_PFAD_OUT = "" Then DY_PFAD_OUT = "out/test/"
DY_PFAD_IN_KD = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN_KD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Else
DY_server = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_SERVER", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_name = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_NAME", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_pwd = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_PASSWORD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_port = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_PORT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_IN = "in/prod/gebox/"
DY_PFAD_OUT = "out/prod/"
DY_PFAD_IN = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_OUT = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_OUT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If DY_PFAD_IN = "" Then DY_PFAD_IN = "in/prod/gebox/"
If DY_PFAD_OUT = "" Then DY_PFAD_OUT = "out/prod/"
DY_PFAD_IN_KD = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN_KD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
End If
End Sub
@@ -162,7 +175,14 @@ Public Class cDakosyFunftions
End Function
Shared Function sendData(Optional defaultFolder As String = "", Optional Dakosy_Mandant As String = "VERG")
Shared Function sendData(Optional defaultFolder As String = "") ', Optional Dakosy_Mandant As String = "VERG")
Dim Dakosy_Mandant = "VERG"
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "UNISPED" : Dakosy_Mandant = "UNAT"
'Case Else
' Dakosy_Mandant = "VERG"
End Select
Dim dt = DAKOSY_Worker.cDakosyFunftions.getKDData
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
@@ -179,7 +199,14 @@ Public Class cDakosyFunftions
Return False
End Function
Shared Function sendDataByKdNr(KdNr As Integer, Optional defaultFolder As String = "", Optional Dakosy_Mandant As String = "VERG")
Shared Function sendDataByKdNr(KdNr As Integer, Optional defaultFolder As String = "") ', Optional Dakosy_Mandant As String = "VERG")
Dim Dakosy_Mandant = "VERG"
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "UNISPED" : Dakosy_Mandant = "UNAT"
'Case Else
' Dakosy_Mandant = "VERG"
End Select
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then
MsgBox("Übertrag derzeit nicht möglich!")
Return False
@@ -219,6 +246,14 @@ Public Class cDakosyFunftions
End Function
Shared Function generateVERAGKdData(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean
Select Case Dakosy_Mandant
Case "UNAT" : Return generateVERAGKdData_V2(dt, path, saveFile, Dakosy_Mandant)
Case Else : Return generateVERAGKdData_V1(dt, path, saveFile, Dakosy_Mandant)
End Select
End Function
Shared Function generateVERAGKdData_V1(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean
Try
Dim Interface_VERSION = "003"
@@ -314,4 +349,113 @@ Public Class cDakosyFunftions
End Function
Shared Function generateVERAGKdData_V2(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean
Try
'Dim Interface_VERSION = "003"
Dim XML As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORT
Dim TRANS As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTTransaktion
TRANS.Version = "002"
TRANS.IOPartner = Dakosy_Mandant
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "IMEX" : TRANS.IODivision1 = "IMEX"
Case "UNISPED" : TRANS.IODivision1 = "UNAT" : TRANS.IOPartner = "UNAT"
Case "ATILLA" : TRANS.IODivision1 = "ATIL"
Case Else
TRANS.IODivision1 = "VERG"
End Select
XML.Transaktion = TRANS
For Each ROW As DataRow In dt.Rows
Dim KD As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDaten
KD.Dakosy_Mandant = Dakosy_Mandant
KD.KundenNr = ROW("KundenNr")
KD.EORI = ROW("EORITIN")
If ROW("EORITIN_NL") Is DBNull.Value OrElse If(ROW("EORITIN_NL"), "") = "" Then
KD.EORI_Niederlassung = "0000"
Else
KD.EORI_Niederlassung = ROW("EORITIN_NL")
End If
If ROW("Ordnungsbegriff") IsNot DBNull.Value Then KD.Kurzname = ROW("Ordnungsbegriff")
If ROW("Name 1") IsNot DBNull.Value Then KD.Name1 = ROW("Name 1")
If ROW("Name 2") IsNot DBNull.Value Then KD.Name2 = ROW("Name 2")
If ROW("UstIdKz") IsNot DBNull.Value And ("UstIdNr") IsNot DBNull.Value Then KD.UID_Nr = ROW("UstIdKz") & ROW("UstIdNr")
KD.Adresse = New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAdresse
If ROW("Straße") IsNot DBNull.Value Then KD.Adresse.Strasse = ROW("Straße")
If ROW("PLZ") IsNot DBNull.Value Then KD.Adresse.Plz = ROW("PLZ")
If ROW("Ort") IsNot DBNull.Value Then KD.Adresse.Ort = ROW("Ort")
If ROW("LandKz") IsNot DBNull.Value Then KD.Adresse.LandKz = ROW("LandKzISO2")
KD.Kontakt = New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenKontakt
If ROW("E-Mail") IsNot DBNull.Value Then KD.Kontakt.EMail = ROW("E-Mail")
If ROW("Telefon") IsNot DBNull.Value Then KD.Kontakt.Tel = ROW("Telefon")
If ROW("Telefax") IsNot DBNull.Value Then KD.Kontakt.Fax = ROW("Telefax")
If ROW("Ansprechpartner") IsNot DBNull.Value Then KD.Kontakt.Ansprechpartner = If(ROW("Anrede") IsNot DBNull.Value, ROW("Anrede") & " ", "") & ROW("Ansprechpartner")
Dim KD_AKTO = VERAG_PROG_ALLGEMEIN.cKundenAufschubkonten.LOAD_ListAufschubKTOByKdNr(KD.KundenNr)
If KD_AKTO IsNot Nothing Then
Dim AKTOLIST = New List(Of VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschub)
For Each KTO In KD_AKTO
If If(KTO.kdAkto_bin, "").ToString.Trim <> String.Empty And
If(KTO.kdAkto_eori, "").ToString.Trim <> String.Empty And
If(KTO.kdAkto_hauptzollamt, "").ToString.Trim <> String.Empty And
If(KTO.kdAkto_kontonummer, "").ToString.Trim <> String.Empty Then
Dim AUFSCH As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschub
Select Case KTO.kdAkto_art
Case "10" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item10
Case "15" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item15
Case "20" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item20
End Select
AUFSCH.BIN = KTO.kdAkto_bin
AUFSCH.EORI = KTO.kdAkto_eori
If KTO.kdAkto_eoriNL IsNot Nothing Then AUFSCH.EORI_Niederlassung = KTO.kdAkto_eoriNL Else AUFSCH.EORI_Niederlassung = "0000"
AUFSCH.Hauptzollamt = KTO.kdAkto_hauptzollamt
AUFSCH.KontoNr = KTO.kdAkto_kontonummer
AKTOLIST.Add(AUFSCH)
If AKTOLIST.Count = 2 Then Exit For 'max. 2 Aufschub
End If
Next
If AKTOLIST.Count > 0 Then KD.Aufschubkonten = AKTOLIST
End If
XML.KundenDaten.Add(KD)
Next
Dim saveDir = path
If Not IO.Directory.Exists(saveDir) Then
IO.Directory.CreateDirectory(saveDir)
End If
Dim counter = 1
While IO.File.Exists(saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml")
counter += 1
End While
saveFile = saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml"
XML.SaveToFile(saveFile)
Return True
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
Return False
End Try
End Function
End Class