plose, etc.
This commit is contained in:
@@ -20,6 +20,8 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
' Dim BOX_VERSION = "8.8"
|
||||
|
||||
Dim Dateiname = ""
|
||||
Public newFormatTR As Boolean = False
|
||||
Public newFormatINV As Boolean = False
|
||||
|
||||
Sub New()
|
||||
|
||||
@@ -46,10 +48,23 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
'VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\TESTSYSTEM\Nachrichtendaten_Ablage\"
|
||||
Me.ERROR_PFAD = MDM_Worker.cMDM_Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
||||
'VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\TESTSYSTEM\Nachrichtendaten_ERROR\"
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
||||
Me.TELOTEC_PFAD = Me.TELOTEC_PFAD.ToString.Replace("ECHTSYSTEM", "TESTSYSTEM")
|
||||
Me.VERARBEITUNGS_PFAD = Me.VERARBEITUNGS_PFAD.ToString.Replace("ECHTSYSTEM", "TESTSYSTEM")
|
||||
Me.ZIEL_PFAD = Me.ZIEL_PFAD.ToString.Replace("ECHTSYSTEM", "TESTSYSTEM")
|
||||
Me.ERROR_PFAD = Me.ERROR_PFAD.ToString.Replace("ECHTSYSTEM", "TESTSYSTEM")
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Not System.IO.Directory.Exists(VERARBEITUNGS_PFAD) Then System.IO.Directory.CreateDirectory(VERARBEITUNGS_PFAD)
|
||||
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
|
||||
If Not System.IO.Directory.Exists(ERROR_PFAD) Then System.IO.Directory.CreateDirectory(ERROR_PFAD)
|
||||
|
||||
|
||||
|
||||
'Me.BOX_VERSION = MDM_Worker.cDY_Paramter.GET_PARAM_ByName("BOX_VERSION", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
||||
|
||||
End Sub
|
||||
@@ -356,7 +371,7 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For i = 1 To 6
|
||||
For i = 1 To 5
|
||||
|
||||
For Each d In System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
|
||||
Try
|
||||
@@ -382,9 +397,11 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
'------------------------------------------
|
||||
If fi.Extension.ToLower = ".csv" Then
|
||||
|
||||
If Not found And cGetMsgType.isPLOSE_Detail(d) Then
|
||||
If Not newFormatTR AndAlso (Not found And cGetMsgType.isPLOSE_Detail(d)) Then
|
||||
If readPLOSE_Detail(d) <> "" Then found = True
|
||||
' If bezugsNr <> "" Then addDGVEinarbeitung("NCTS: Versandbestätigung", bezugsNr) : found = True
|
||||
|
||||
ElseIf newFormatTR AndAlso (Not found And cGetMsgType.isPLOSE_NewFormat_TR(d)) Then
|
||||
If readPLOSE_Detail_NEW_FORMAT(d) <> "" Then found = True
|
||||
End If
|
||||
If found Then cntDatenEingelesen += 1
|
||||
End If
|
||||
@@ -407,27 +424,21 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
'------------------------------------------
|
||||
|
||||
If fi.Extension.ToLower = ".csv" Then
|
||||
If Not found And cGetMsgType.isPLOSE_INVData(d) Then
|
||||
|
||||
|
||||
If Not newFormatINV AndAlso Not found And cGetMsgType.isPLOSE_INVData(d) Then
|
||||
If readPLOSE_INVData(d) <> "" Then found = True
|
||||
' ' If bezugsNr <> "" Then addDGVEinarbeitung("NCTS: Versandbestätigung", bezugsNr) : found = True
|
||||
ElseIf newFormatINV AndAlso Not found And cGetMsgType.isPLOSE_NewFormat_INV(d) Then
|
||||
If readPLOSE_INVData_NEW_FORMAT(d) <> "" Then found = True
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If found Then cntDatenEingelesen += 1
|
||||
End If
|
||||
|
||||
'Case 4
|
||||
' '------------------------------------------
|
||||
' '------- NEW FORMAT - TRANS-FILE ----------
|
||||
' '------------------------------------------
|
||||
' If fi.Extension.ToLower = ".csv" Then
|
||||
|
||||
' If Not found And cGetMsgType.isPLOSE_NewFormat_TR(d) Then
|
||||
' If readPLOSE_Detail_NEW_FORMAT(d) <> "" Then found = True
|
||||
|
||||
' End If
|
||||
' If found Then cntDatenEingelesen += 1
|
||||
' End If
|
||||
|
||||
Case 5
|
||||
Case 4
|
||||
'------------------------------------------
|
||||
'------------------ PDF ------------------
|
||||
'------------------------------------------
|
||||
@@ -486,7 +497,7 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
|
||||
|
||||
|
||||
Case 6
|
||||
Case 5
|
||||
frmStartOptions.moveFile_DateBack(d, ERROR_PFAD)
|
||||
dsNichtErkannt += 1
|
||||
End Select
|
||||
@@ -759,7 +770,7 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Function readPLOSE_Detail_NEW_FORMAT(d As String) As String
|
||||
Function readPLOSE_Detail_NEW_FORMAT(d As String) As String 'neues Format der Transaktion-Files
|
||||
Try
|
||||
readPLOSE_Detail_NEW_FORMAT = ""
|
||||
Dim KdnR = ""
|
||||
@@ -777,22 +788,40 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
Dim plose_Lieferant = Nothing
|
||||
|
||||
Dim fi As FileInfo = New FileInfo(d)
|
||||
If fi.Name.Length > 8 Then
|
||||
|
||||
plose_RechnungsJahr = fi.Name.Substring(0, 2)
|
||||
plose_RechnungsLieferantCode = fi.Name.Substring(2, 1)
|
||||
Dim fileName As String = System.IO.Path.GetFileNameWithoutExtension(fi.Name)
|
||||
|
||||
' _RGDAT_... entfernen
|
||||
fileName = fileName.Split("_"c)(0)
|
||||
|
||||
'--------> auslesen [tblPLOSE_Lieferant]
|
||||
Select Case plose_RechnungsLieferantCode
|
||||
Case "0" : plose_Lieferant = "PLOSE Sistem Service"
|
||||
Case "7" : plose_Lieferant = "Consortio PLOSE"
|
||||
Case "1" : plose_Lieferant = "Plose Union"
|
||||
Case "9" : plose_Lieferant = "PLOSE UNION SOCIETA COOPERATIVA"
|
||||
End Select
|
||||
'File Name: {company}-{country}-{document type}-{document number}-{document year-month}-{document year-month-day}-{customercode}-{partner/reseller customer code}
|
||||
|
||||
Dim parts() As String = fileName.Split("-"c)
|
||||
|
||||
If parts.Length >= 8 Then
|
||||
Dim company As String = parts(0)
|
||||
Dim country As String = parts(1)
|
||||
Dim documentType As String = parts(2)
|
||||
Dim documentNumber As String = parts(3)
|
||||
Dim documentYear As String = parts(4)
|
||||
Dim documentMonth As String = parts(5)
|
||||
Dim documentDay As String = parts(6)
|
||||
Dim customerCode As String = parts(7)
|
||||
Dim partnerCustomerCode As String = parts(8)
|
||||
plose_RechnungsJahr = documentYear
|
||||
plose_RechnungsLieferantCode = company
|
||||
End If
|
||||
|
||||
'--------> auslesen [tblPLOSE_Lieferant]
|
||||
Select Case plose_RechnungsLieferantCode
|
||||
Case "0" : plose_Lieferant = "PLOSE Sistem Service"
|
||||
Case "7" : plose_Lieferant = "Consortio PLOSE"
|
||||
Case "1" : plose_Lieferant = "Plose Union"
|
||||
Case "9" : plose_Lieferant = "PLOSE UNION SOCIETA COOPERATIVA"
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser(d, Encoding.UTF8)
|
||||
MyReader.TextFieldType = FileIO.FieldType.Delimited
|
||||
MyReader.SetDelimiters(";")
|
||||
@@ -801,105 +830,123 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
Dim cnt = 0
|
||||
If True Then
|
||||
|
||||
|
||||
|
||||
While Not MyReader.EndOfData
|
||||
Try
|
||||
|
||||
|
||||
currentRow = MyReader.ReadFields()
|
||||
|
||||
|
||||
If True Then 'fi.Name.Length > 8 Then
|
||||
|
||||
|
||||
|
||||
'Select Case currentRow(0)
|
||||
' Case "TR1"
|
||||
'RECHNUGNSDATUM
|
||||
If currentRow.Length > 1 AndAlso currentRow(11).ToString.Length = 8 Then
|
||||
Dim datumParse = DateTime.ParseExact(currentRow(11), "yyyyMMdd", Nothing)
|
||||
plose_RechnungsDat = datumParse
|
||||
End If
|
||||
'RECHNUGNSNR
|
||||
If currentRow.Length > 2 Then 'AndAlso currentRow(1).ToString.Length = 8 Then
|
||||
plose_RechnungsNr = SQL.isleernothing(currentRow(12)) 'Rechnungsdatum aus TR1 Datensatz, überschreibt den Wert aus der Dateierstellung
|
||||
End If
|
||||
|
||||
'Case "TR5"
|
||||
If currentRow.Length > 24 AndAlso currentRow(12) <> "839160" Then 'KDNR <> VERAG --> Die Kosten bleiben uns
|
||||
Dim PLOSE As New MDM_Worker.cPLOSE
|
||||
|
||||
PLOSE.plose_Dateiname = fi.Name
|
||||
PLOSE.plose_RechnungsNr = plose_RechnungsNr
|
||||
PLOSE.plose_Lieferant = plose_Lieferant
|
||||
PLOSE.plose_LieferantCode = plose_RechnungsLieferantCode
|
||||
PLOSE.plose_RechnungsJahr = plose_RechnungsJahr
|
||||
If plose_RechnungsDat IsNot Nothing Then PLOSE.plose_RechnungsDatum = plose_RechnungsDat
|
||||
PLOSE.plose_Datensatztyp = SQL.isleernothing(currentRow(0))
|
||||
PLOSE.plose_KodexMautTankstelle = SQL.isleernothing(currentRow(1))
|
||||
PLOSE.plose_BeschreibungMautTankstelle = SQL.isleernothing(currentRow(2))
|
||||
PLOSE.plose_KodexEinfahrt = SQL.isleernothing(currentRow(3))
|
||||
PLOSE.plose_BeschreibungEinfahrt = SQL.isleernothing(currentRow(4))
|
||||
PLOSE.plose_KodexAusfahrt = SQL.isleernothing(currentRow(5))
|
||||
PLOSE.plose_BeschreibungAusfahrt = SQL.isleernothing(currentRow(6))
|
||||
PLOSE.plose_Kartenkodex = SQL.isleernothing(currentRow(7))
|
||||
PLOSE.plose_Kontonummer = SQL.isleernothing(currentRow(8))
|
||||
PLOSE.plose_NummerKarteGeraet = SQL.isleernothing(currentRow(9))
|
||||
PLOSE.plose_Kennzeichen = SQL.isleernothing(currentRow(10))
|
||||
PLOSE.plose_InterneNrFahrzeug = SQL.isleernothing(currentRow(11))
|
||||
PLOSE.plose_POLSEKundennummer = SQL.isleernothing(currentRow(12))
|
||||
PLOSE.plose_Firmenname = SQL.isleernothing(currentRow(13))
|
||||
PLOSE.plose_DatumTransaktion = SQL.isleernothingDateFormatstring(currentRow(14))
|
||||
PLOSE.plose_Produktbeschreibung = SQL.isleernothing(currentRow(15))
|
||||
PLOSE.plose_Menge = SQL.isNullNothingDbl(currentRow(16))
|
||||
PLOSE.plose_Preis = SQL.isNullNothingDbl(currentRow(17))
|
||||
PLOSE.Einheitsrabatt = SQL.isleernothing(currentRow(18))
|
||||
PLOSE.plose_NettobetragTransaktion = SQL.isNullNothingDbl(currentRow(19))
|
||||
PLOSE.plose_MWSTBetrag = SQL.isNullNothingDbl(currentRow(20))
|
||||
PLOSE.plose_BruttobetragTransaktion = SQL.isNullNothingDbl(currentRow(21))
|
||||
PLOSE.plose_NettobetragWaehrungAbbuchung = SQL.isNullNothingDbl(currentRow(22))
|
||||
PLOSE.plose_MWSTBetragWaehrungAbbuchung = SQL.isNullNothingDbl(currentRow(23))
|
||||
PLOSE.plose_BruttobetragWaehrungAbbuchung = SQL.isNullNothingDbl(currentRow(24))
|
||||
PLOSE.plose_WaehrungLandDiesntleistung = SQL.isleernothing(currentRow(25))
|
||||
PLOSE.plose_WaehrungAbbuchung = SQL.isleernothing(currentRow(26))
|
||||
PLOSE.plose_DokumentNrQuittungUhrzeit = SQL.isleernothing(currentRow(27))
|
||||
PLOSE.plose_ArtTransaktion = SQL.isleernothing(currentRow(28))
|
||||
PLOSE.plose_Fahrzeugklasse = SQL.isleernothing(currentRow(29))
|
||||
PLOSE.plose_KlassenidentifikationEURO = SQL.isleernothing(currentRow(30))
|
||||
PLOSE.plose_ProduktbeschreibungShort = SQL.isleernothing(currentRow(31))
|
||||
PLOSE.plose_DokumentNrQuittungUhrzeit = SQL.isleernothing(currentRow(32))
|
||||
PLOSE.plose_Geraetetyp = SQL.isleernothing(currentRow(33))
|
||||
PLOSE.plose_ProduktCode = SQL.isleernothing(currentRow(34))
|
||||
PLOSE.plose_ReferenzenBuchungMaut = SQL.isleernothing(currentRow(35))
|
||||
|
||||
If currentRow.Length > 36 Then PLOSE.plose_SupplierRechnungsNr = SQL.isleernothing(currentRow(36))
|
||||
If currentRow.Length > 37 AndAlso currentRow(37).ToString.Length = 8 Then
|
||||
Dim datumParse = DateTime.ParseExact(currentRow(37), "yyyyMMdd", Nothing)
|
||||
PLOSE.plose_SupplierRechnungsDatum = datumParse
|
||||
End If
|
||||
|
||||
If If(PLOSE.plose_SupplierRechnungsNr, "").contains("-SFC-") Then ' SOFICO
|
||||
PLOSE.plose_LieferantCode = "90"
|
||||
PLOSE.plose_Lieferant = SQL.DLookup("pl_Bezeichnung", "tblPLOSE_Lieferant", " [pl_LieferantCode]='" & PLOSE.plose_LieferantCode & "' ", "FMZOLL", "")
|
||||
End If
|
||||
|
||||
''''''''''''
|
||||
If PLOSE.SAVE() Then
|
||||
savedTrans += 1
|
||||
End If
|
||||
|
||||
counTrans += 1
|
||||
|
||||
End If
|
||||
'End Select
|
||||
|
||||
If cnt = 0 Then
|
||||
cnt += 1
|
||||
Continue While ' erste Zeile überspringen
|
||||
End If
|
||||
|
||||
|
||||
'For Each currentField In currentRow
|
||||
'Next
|
||||
If currentRow.Length < 45 Then Continue While
|
||||
|
||||
'RECHNUGNSDATUM
|
||||
If currentRow.Length > 1 AndAlso currentRow(36).ToString.Length = 19 Then
|
||||
Dim datumParse = DateTime.ParseExact(currentRow(36).ToString(), "dd/MM/yyyy HH:mm:ss", Globalization.CultureInfo.InvariantCulture)
|
||||
plose_RechnungsDat = datumParse
|
||||
End If
|
||||
'RECHNUGNSNR
|
||||
If currentRow.Length > 2 Then
|
||||
plose_RechnungsNr = SQL.isleernothing(currentRow(35))
|
||||
End If
|
||||
|
||||
If currentRow.Length > 24 AndAlso currentRow(0) <> "839160" Then 'KDNR <> VERAG --> Die Kosten bleiben uns
|
||||
Dim PLOSE As New MDM_Worker.cPLOSE
|
||||
|
||||
PLOSE.plose_Dateiname = fi.Name
|
||||
PLOSE.plose_RechnungsNr = plose_RechnungsNr
|
||||
PLOSE.plose_Lieferant = plose_Lieferant
|
||||
PLOSE.plose_LieferantCode = plose_RechnungsLieferantCode
|
||||
PLOSE.plose_RechnungsJahr = plose_RechnungsJahr
|
||||
If plose_RechnungsDat IsNot Nothing Then PLOSE.plose_RechnungsDatum = plose_RechnungsDat
|
||||
PLOSE.plose_Datensatztyp = "NEW"
|
||||
PLOSE.plose_KodexMautTankstelle = SQL.isleernothing(currentRow(15))
|
||||
|
||||
Dim BeschreibungMaut = SQL.isleernothing(currentRow(16))
|
||||
If BeschreibungMaut IsNot Nothing AndAlso BeschreibungMaut <> "" AndAlso BeschreibungMaut.ToString.Length > 12 Then
|
||||
BeschreibungMaut = BeschreibungMaut.ToString.Substring(0, 12)
|
||||
End If
|
||||
|
||||
PLOSE.plose_BeschreibungMautTankstelle = BeschreibungMaut
|
||||
PLOSE.plose_KodexEinfahrt = SQL.isleernothing(currentRow(17))
|
||||
PLOSE.plose_BeschreibungEinfahrt = SQL.isleernothing(currentRow(18))
|
||||
PLOSE.plose_KodexAusfahrt = SQL.isleernothing(currentRow(19))
|
||||
PLOSE.plose_BeschreibungAusfahrt = SQL.isleernothing(currentRow(20))
|
||||
PLOSE.plose_Kartenkodex = SQL.isleernothing(currentRow(8))
|
||||
PLOSE.plose_Kontonummer = SQL.isleernothing(currentRow(7))
|
||||
PLOSE.plose_NummerKarteGeraet = SQL.isleernothing(currentRow(12))
|
||||
PLOSE.plose_Kennzeichen = SQL.isleernothing(currentRow(13))
|
||||
'PLOSE.plose_InterneNrFahrzeug = SQL.isleernothing(currentRow(11))
|
||||
PLOSE.plose_POLSEKundennummer = SQL.isleernothing(currentRow(0))
|
||||
Dim Firmenname = SQL.isleernothing(currentRow(1))
|
||||
If Firmenname IsNot Nothing AndAlso Firmenname <> "" AndAlso Firmenname.ToString.Length > 35 Then
|
||||
Firmenname = Firmenname.ToString.Substring(0, 35)
|
||||
End If
|
||||
|
||||
PLOSE.plose_Firmenname = Firmenname
|
||||
PLOSE.plose_DatumTransaktion = SQL.isleernothingDateFormatstring(currentRow(23))
|
||||
|
||||
|
||||
Dim ProduktBeschreibung = SQL.isleernothing(currentRow(22))
|
||||
If ProduktBeschreibung IsNot Nothing AndAlso ProduktBeschreibung <> "" AndAlso ProduktBeschreibung.ToString.Length > 15 Then
|
||||
ProduktBeschreibung = ProduktBeschreibung.ToString.Substring(0, 15)
|
||||
End If
|
||||
PLOSE.plose_Produktbeschreibung = ProduktBeschreibung
|
||||
|
||||
'PLOSE.plose_Menge = SQL.isNullNothingDbl(currentRow(24))
|
||||
'PLOSE.plose_Preis = SQL.isNullNothingDbl(currentRow(26))
|
||||
|
||||
PLOSE.plose_Menge = CDbl(SQL.isNullReturnValue(currentRow(24), 0).replace(".", ","))
|
||||
PLOSE.plose_Preis = CDbl(SQL.isNullReturnValue(currentRow(26), 0).replace(".", ","))
|
||||
|
||||
PLOSE.Einheitsrabatt = SQL.isleernothing(0) 'gibts nicht mehr?? in neuer Datei!
|
||||
PLOSE.plose_NettobetragTransaktion = CDbl(SQL.isNullReturnValue(currentRow(27), 0).replace(".", ","))
|
||||
PLOSE.plose_MWSTBetrag = CDbl(CDbl(SQL.isNullReturnValue(currentRow(29), 0).replace(".", ",")) - CDbl(SQL.isNullReturnValue(currentRow(27), 0).replace(".", ","))) 'selbst ausrechnen!!!
|
||||
PLOSE.plose_BruttobetragTransaktion = CDbl(SQL.isNullReturnValue(currentRow(29), 0).replace(".", ","))
|
||||
PLOSE.plose_NettobetragWaehrungAbbuchung = CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ","))
|
||||
PLOSE.plose_MWSTBetragWaehrungAbbuchung = CDbl(CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ",")) - CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ","))) 'selbst ausrechnen!!!
|
||||
PLOSE.plose_BruttobetragWaehrungAbbuchung = CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ","))
|
||||
PLOSE.plose_WaehrungLandDiesntleistung = SQL.isleernothing(currentRow(25))
|
||||
PLOSE.plose_WaehrungAbbuchung = SQL.isleernothing(currentRow(30))
|
||||
PLOSE.plose_ProduktCode = SQL.isleernothing(currentRow(21))
|
||||
'PLOSE.plose_ProduktbeschreibungShort = SQL.isleernothing(currentRow(22))
|
||||
PLOSE.plose_KlassenidentifikationEURO = SQL.isleernothing(currentRow(39))
|
||||
PLOSE.plose_Fahrzeugklasse = SQL.isleernothing(currentRow(40))
|
||||
|
||||
'das stimmt nicht so.....
|
||||
'PLOSE.plose_DokumentNrQuittungUhrzeit = SQL.isleernothing(currentRow(27)) '???
|
||||
'PLOSE.plose_ArtTransaktion = SQL.isleernothing(currentRow(39)) -> Gibt nicht mehr!
|
||||
'PLOSE.plose_Geraetetyp = SQL.isleernothing(currentRow(33)) -> Gibt nicht mehr!
|
||||
' PLOSE.plose_ReferenzenBuchungMaut = SQL.isleernothing(currentRow(35)) -> Gibt nicht mehr!
|
||||
|
||||
PLOSE.plose_SupplierRechnungsNr = SQL.isleernothing(currentRow(37))
|
||||
If currentRow(38).ToString.Length = 19 Then
|
||||
Dim datumParse = DateTime.ParseExact(currentRow(38).ToString(), "dd/MM/yyyy HH:mm:ss", Globalization.CultureInfo.InvariantCulture)
|
||||
PLOSE.plose_SupplierRechnungsDatum = datumParse 'ItalianDocDate -> vom Lieferanten!
|
||||
End If
|
||||
|
||||
If If(PLOSE.plose_SupplierRechnungsNr, "").contains("-SFC-") Then ' SOFICO
|
||||
PLOSE.plose_LieferantCode = "90"
|
||||
PLOSE.plose_Lieferant = SQL.DLookup("pl_Bezeichnung", "tblPLOSE_Lieferant", " [pl_LieferantCode]='" & PLOSE.plose_LieferantCode & "' ", "FMZOLL", "")
|
||||
End If
|
||||
|
||||
''''''''''''
|
||||
If PLOSE.SAVE() Then
|
||||
savedTrans += 1
|
||||
End If
|
||||
|
||||
counTrans += 1
|
||||
|
||||
End If
|
||||
|
||||
|
||||
cnt += 1
|
||||
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
@@ -1125,6 +1172,143 @@ Public Class frmMDMNachrichtenVerarbeitung
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Function readPLOSE_INVData_NEW_FORMAT(d As String) As String
|
||||
Try
|
||||
Dim cnt = 0
|
||||
readPLOSE_INVData_NEW_FORMAT = ""
|
||||
|
||||
|
||||
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser(d, Encoding.UTF8)
|
||||
MyReader.TextFieldType = FileIO.FieldType.Delimited
|
||||
MyReader.SetDelimiters(";")
|
||||
Dim currentRow As String()
|
||||
|
||||
|
||||
Dim fi As FileInfo = New FileInfo(d)
|
||||
|
||||
Dim fileName As String = System.IO.Path.GetFileNameWithoutExtension(fi.Name)
|
||||
|
||||
'Alles ab "_RGDAT_" entfernen
|
||||
fileName = fileName.Split("_"c)(0)
|
||||
|
||||
Dim parts() As String = fileName.Split("-"c)
|
||||
|
||||
If parts.Length >= 10 Then
|
||||
Dim company As String = parts(0)
|
||||
Dim documentType As String = parts(1) 'rdoc
|
||||
Dim documentNumber As String = parts(2)
|
||||
Dim documentYearMonth As String = parts(3) & "-" & parts(4)
|
||||
Dim documentYearMonthDay As String = parts(5) & "-" & parts(6) & "-" & parts(7)
|
||||
Dim customerCode As String = parts(8)
|
||||
Dim partnerCustomerCode As String = parts(9)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
While Not MyReader.EndOfData
|
||||
Try
|
||||
currentRow = MyReader.ReadFields()
|
||||
|
||||
|
||||
If cnt = 0 Then
|
||||
cnt += 1
|
||||
Continue While ' erste Zeile überspringen
|
||||
End If
|
||||
|
||||
If currentRow.Length >= 28 Then
|
||||
Dim PLOSE_INV As New MDM_Worker.cPLOSE_Inv_Data
|
||||
PLOSE_INV.plInv_SupplierRechnungsDatum = SQL.isleernothingDateFormatstring(currentRow(8))
|
||||
PLOSE_INV.plInv_SupplierRechnungsNr = SQL.isleernothing(currentRow(9))
|
||||
PLOSE_INV.plInv_SupplierCountry = SQL.isleernothing(currentRow(7))
|
||||
PLOSE_INV.plInv_Lieferant = SQL.isleernothing(currentRow(5))
|
||||
PLOSE_INV.plInv_LieferantCode = SQL.isleernothing(currentRow(3))
|
||||
PLOSE_INV.plInv_LieferantUID = SQL.isleernothing(currentRow(6))
|
||||
PLOSE_INV.plInv_PdfFileName = SQL.isleernothing(currentRow(22))
|
||||
If If(PLOSE_INV.plInv_PdfFileName, "") <> "" Then
|
||||
If Not PLOSE_INV.plInv_PdfFileName.ToString.ToLower.EndsWith(".pdf") Then PLOSE_INV.plInv_PdfFileName += ".pdf" ' Falls Endung nciht .pdf --> anfügen
|
||||
End If
|
||||
|
||||
Dim origCurrency = SQL.isleernothing(currentRow(11))
|
||||
|
||||
|
||||
PLOSE_INV.plInv_Einlesedatum = Now.ToShortDateString
|
||||
PLOSE_INV.plInv_Datensatztyp = "PDF"
|
||||
PLOSE_INV.plInv_PLOSEKundennummer = SQL.isleernothing(currentRow(0))
|
||||
PLOSE_INV.plInv_Firmenname = SQL.isleernothing(currentRow(1))
|
||||
PLOSE_INV.plInv_Services = SQL.isleernothing(currentRow(21))
|
||||
|
||||
Select Case origCurrency 'HUF immer in Fremdwährung abpeichern...
|
||||
Case "HUF"
|
||||
PLOSE_INV.plInv_Currency = "HUF"
|
||||
PLOSE_INV.plInv_Nettobetrag = CDbl(CDbl(SQL.isNullReturnValue(currentRow(12), 0).replace(".", ",")))
|
||||
PLOSE_INV.plInv_MWSTBetrag = CDbl(SQL.isNullReturnValue(currentRow(13), 0).replace(".", ","))
|
||||
PLOSE_INV.plInv_Bruttobetrag = CDbl(SQL.isNullReturnValue(currentRow(15), 0).replace(".", ","))
|
||||
|
||||
Case Else
|
||||
PLOSE_INV.plInv_Currency = "EUR"
|
||||
PLOSE_INV.plInv_Nettobetrag = CDbl(CDbl(SQL.isNullReturnValue(currentRow(16), 0).replace(".", ",")))
|
||||
PLOSE_INV.plInv_MWSTBetrag = CDbl(SQL.isNullReturnValue(currentRow(17), 0).replace(".", ","))
|
||||
PLOSE_INV.plInv_Bruttobetrag = CDbl(SQL.isNullReturnValue(currentRow(19), 0).replace(".", ","))
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
' [plInv_daId]
|
||||
|
||||
'If If(PLOSE_INV.plInv_PdfFileName, "") <> "" Then 'And PLOSE_INV.plInv_daId Is Nothing Then
|
||||
' PLOSE_INV.plInv_daId = SQL.getValueTxtBySql("SELECT TOP (1) [da_id] FROM [tblDatenarchiv] where da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' and da_name='" & PLOSE_INV.plInv_PdfFileName & "' order by da_id desc", "FMZOLL",,, Nothing)
|
||||
'End If
|
||||
|
||||
|
||||
PLOSE_INV.plInv_Dateiname = fi.Name
|
||||
|
||||
''''''''''''
|
||||
If PLOSE_INV.SAVEUNQIUE() Then
|
||||
|
||||
' UPDATE tblPLOSE_Details:
|
||||
SQL.doSQL("UPDATE [tblPLOSE_Details] SET [plose_plInvId] ='" & PLOSE_INV.plInv_Id & "' where plose_SupplierRechnungsNr='" & PLOSE_INV.plInv_SupplierRechnungsNr & "' AND plose_SupplierRechnungsDatum='" & PLOSE_INV.plInv_SupplierRechnungsDatum & "'", "FMZOLL")
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
cnt += 1
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
End While
|
||||
|
||||
|
||||
readPLOSE_INVData_NEW_FORMAT = "Zeilen: " & cnt
|
||||
|
||||
End Using
|
||||
|
||||
|
||||
|
||||
|
||||
Try
|
||||
' System.IO.File.Delete(p)
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
|
||||
addDGVEinarbeitung("PLOSE: INV_DATA (" & cnt & ")", readPLOSE_INVData_NEW_FORMAT)
|
||||
|
||||
' End Using
|
||||
|
||||
'End If
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
MsgBox(ex.StackTrace & ex.Message)
|
||||
readPLOSE_INVData_NEW_FORMAT = ""
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Private Sub dgvEinarbeitung_SelectionChanged(sender As Object, e As EventArgs) Handles dgvEinarbeitung.SelectionChanged
|
||||
dgvEinarbeitung.ClearSelection()
|
||||
|
||||
Reference in New Issue
Block a user