Files
SDL/SDL/cATLAS_FSS.vb

262 lines
11 KiB
VB.net

Imports System.Text
Imports System.IO
Public Class cATLAS_FSS
Dim trennzeichen As String = Chr(29)
Dim mydocpath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\VERAG\SDL\ATLAS_FSS"
Dim enc As Encoding = System.Text.Encoding.ASCII '.GetEncoding(1252) '1252 = ANSI
Dim serverpath = ""
Dim serverpathOUT = ""
Dim server As String = ""
Public serverpath_SUB As String = "\\192.168.0.95\G\atlas\atlas"
Public serverpath_SBG As String = "\\192.168.133.98\G\atlas\atlas"
'Schreiben Dat-Datei
Public Function sendArtikelToATLAS(server_tmp As String, artikel As cArtikel) As String
server = server_tmp
If server = "SUB" Then
serverpath = serverpath_SUB & "\fssinbas\"
serverpathOUT = serverpath_SUB & "\fsslgbas\"
ElseIf server = "SBG" Then
serverpath = serverpath_SBG & "\fssinbas\"
serverpathOUT = serverpath_SBG & "\fsslgbas\"
Else
Return ""
End If
Try
Dim filename = genFile(artikel)
If System.IO.File.Exists(serverpath & filename) Then
' MsgBox("true")
Return serverpathOUT & filename
Else
' MsgBox("false")
Return "ERROR: Ausgabedatei existiert nicht."
End If
'MsgBox(mydocpath & "\" & filename)
'MsgBox("\\192.168.0.95\G\atlas\atlas\fssinbas\" & filename)
'System.IO.File.Copy(mydocpath & "\" & filename, "\\192.168.0.95\G\atlas\atlas\fssinbas\" & filename)
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Übertragen der Daten aufgetreten:" & vbNewLine & vbNewLine & ex.Message)
End Try
Return ""
End Function
Public Function genFile(artikel As cArtikel, Optional kundennummer As String = "") As String
' Set a variable to the My Documents path.
' MsgBox(My.Computer.FileSystem.SpecialDirectories.MyDocuments)
If Not System.IO.Directory.Exists(mydocpath) Then
System.IO.Directory.CreateDirectory(mydocpath)
End If
Dim sb As New StringBuilder()
' Enumerate the files in teh My Documents path, filtering for text files only.
' Open a stream reader and write the name of the file, a visual separator, and the contents
' of the file to the stream.
sb.AppendLine(genHEAD())
' If verarbeitungskennzeichen <> "" Then
'artikel.Verarbeitungskennzeichen = verarbeitungskennzeichen
' End If
artikel.Teilsatzschlüssel = "ART"
artikel.Verarbeitungskennzeichen = "0" 'Keine Änderung möglich
Dim line As String = ""
line &= artikel.Teilsatzschlüssel & trennzeichen
line &= artikel.Verarbeitungskennzeichen & trennzeichen
line &= artikel.Artikelnummer & trennzeichen
line &= artikel.Dynamische_Ergänzung_1 & trennzeichen
line &= artikel.Dynamische_Ergänzung_2 & trennzeichen
line &= artikel.Kundennummer & trennzeichen
line &= artikel.Warencodenummer & trennzeichen
line &= artikel.Löschkennzeichen_Warencodenummer & trennzeichen
line &= artikel.Zusatzcode_1 & trennzeichen
line &= artikel.Löschkennzeichen_Zusatzcode_1 & trennzeichen
line &= artikel.Zusatzcode_2 & trennzeichen
line &= artikel.Löschkennzeichen_Zusatzcode_2 & trennzeichen
line &= artikel.Kennzeichen_Gültig & trennzeichen
line &= artikel.Kurzbezeichnung & trennzeichen
line &= artikel.Löschkennzeichen_Kurzbezeichnung & trennzeichen
line &= artikel.Warenbeschreibung & trennzeichen
line &= artikel.Löschkennzeichen_Warenbeschreibung & trennzeichen
line &= artikel.Statistische_Maßeinheit & trennzeichen
line &= artikel.Löschkennzeichen_Statistische_Maßeinheit & trennzeichen
line &= artikel.Statistische_Maßeinheit_Qualifikator & trennzeichen
line &= artikel.Löschkennzeichen_Statistische_Maßeinheit_Qualifikator & trennzeichen
line &= artikel.Besondere_Maßeinheit & trennzeichen
line &= artikel.Löschkennzeichen_Besondere_Maßeinheit & trennzeichen
line &= artikel.Besondere_Maßeinheit_Qualifikator & trennzeichen
line &= artikel.Löschkennzeichen_Besondere_Maßeinheit_Qualifikator & trennzeichen
line &= artikel.Gewicht & trennzeichen
line &= artikel.Löschkennzeichen_Gewicht & trennzeichen
line &= artikel.Menge & trennzeichen
line &= artikel.Löschkennzeichen_Menge
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= trennzeichen
line &= Now.ToString("yyyyMMdd")
sb.AppendLine(line)
Try
' Write the stream cotnents to a new file named "AllTxtFiles.txt"'
Dim filename As String = "FSS_ARTIKEL_" & Now.ToString("yyyyMMddHHmmssfff")
'Dim filename As String = "A421S0002"
'Using outfile As New StreamWriter(mydocpath & "\" & filename, False, enc)
Try
' My.Computer.Network.UploadFile("C:\Test.txt", "\\pc2\Folder") ???
Using outfile As New StreamWriter(serverpath & filename, False, enc)
outfile.Write(sb.ToString())
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return filename
Catch ex As Exception
Return ""
End Try
End Function
Public Function genHEAD() As String
Dim headsrt As String = ""
Dim head As New cHEAD
If server = "SBG" Then
head.kundennummer = "0617"
head.niederlassung = "SBG"
End If
If server = "SUB" Then
head.kundennummer = "0421"
head.niederlassung = "SUB"
End If
headsrt &= head.key & trennzeichen
headsrt &= head.strukturtyp & trennzeichen
headsrt &= head.art & trennzeichen
headsrt &= head.richtung & trennzeichen
headsrt &= head.iso & trennzeichen
headsrt &= head.dateiname & trennzeichen
headsrt &= head.version & trennzeichen
headsrt &= head.kundennummer & trennzeichen
headsrt &= head.tin & trennzeichen
headsrt &= head.niederlassungsnummer & trennzeichen
headsrt &= head.verfahrensbereich & trennzeichen
headsrt &= head.dienststellennummer & trennzeichen
headsrt &= head.nachrichtenname & trennzeichen
headsrt &= head.schemaVersion & trennzeichen
headsrt &= head.testFlag & trennzeichen
headsrt &= head.datumUhrzeit & trennzeichen
headsrt &= head.mandant & trennzeichen
headsrt &= head.niederlassung & trennzeichen
headsrt &= head.zabisModul & trennzeichen
headsrt &= head.statuskennzeichen & trennzeichen
headsrt &= head.rueckmeldungskennzeichen & trennzeichen
headsrt &= head.kennzeichenVerfahren & trennzeichen
headsrt &= head.messageId & trennzeichen
headsrt &= head.inreplyTo & trennzeichen
headsrt &= head.Subtyp
Return headsrt
End Function
End Class
Public Class cHEAD
Property key As String = "HEAD"
Property strukturtyp As String = "001"
Property art As String = "inh"
Property richtung As String = "KD_ZAB"
Property iso As String = "1"
Property dateiname As String = "A421S0002"
Property version As String = "07000"
Property kundennummer As String = "0421"
Property tin As String = ""
Property niederlassungsnummer As String = ""
Property verfahrensbereich As String = ""
Property dienststellennummer As String = ""
Property nachrichtenname As String = "BAR"
Property schemaVersion As String = ""
Property testFlag As String = ""
Property datumUhrzeit As String = Now.ToString("yyyyMMddhhmmss")
Property mandant As String = "VERA"
Property niederlassung As String = "SUB"
Property zabisModul As String = "BAS"
Property statuskennzeichen As String = ""
Property rueckmeldungskennzeichen As String = ""
Property kennzeichenVerfahren As String = ""
Property messageId As String = ""
Property inreplyTo As String = ""
Property Subtyp As String = "1"
End Class
Public Class cArtikel
Property zollArt_id As Integer = -1
Property Teilsatzschlüssel As String = ""
Property Verarbeitungskennzeichen As String = ""
Property Artikelnummer As String = ""
Property Dynamische_Ergänzung_1 As String = ""
Property Dynamische_Ergänzung_2 As String = ""
Property Kundennummer As String = ""
Property Warencodenummer As String = ""
Property Löschkennzeichen_Warencodenummer As String = ""
Property Zusatzcode_1 As String = ""
Property Löschkennzeichen_Zusatzcode_1 As String = ""
Property Zusatzcode_2 As String = ""
Property Löschkennzeichen_Zusatzcode_2 As String = ""
Property Kennzeichen_Gültig As String = "1" ' 1 =gültig für alle NL
Property Kurzbezeichnung As String = ""
Property Löschkennzeichen_Kurzbezeichnung As String = ""
Property Warenbeschreibung As String = ""
Property Löschkennzeichen_Warenbeschreibung As String = ""
Property Statistische_Maßeinheit As String = ""
Property Löschkennzeichen_Statistische_Maßeinheit As String = ""
Property Statistische_Maßeinheit_Qualifikator As String = ""
Property Löschkennzeichen_Statistische_Maßeinheit_Qualifikator As String = ""
Property Besondere_Maßeinheit As String = ""
Property Löschkennzeichen_Besondere_Maßeinheit As String = ""
Property Besondere_Maßeinheit_Qualifikator As String = ""
Property Löschkennzeichen_Besondere_Maßeinheit_Qualifikator As String = ""
Property Gewicht As String = ""
Property Löschkennzeichen_Gewicht As String = ""
Property Menge As String = ""
Property Löschkennzeichen_Menge As String = ""
Property tmp_rueckgabeFileSUB As String = ""
Property tmp_rueckgabeFileSBG As String = ""
Property tmp_rueckgabetextSUB As String = ""
Property tmp_rueckgabeSUB As Boolean = False
Property tmp_rueckgabetextSBG As String = ""
Property tmp_rueckgabeSBG As Boolean = False
Property status As String = ""
End Class