Files
ADMIN/initATLASAufschubkonten/cWorker_Verwahrung.vb

1021 lines
53 KiB
VB.net

Imports VERAG_PROG_ALLGEMEIN
Public Class cWorker_Verwahrung
Public Shared Dateiname = ""
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Public Class DAKOSY_STATUS
Public Const HEADER As String = "DAKOSY-DUMMY"
Public Const SEND As String = "DAKOSY-WAITING"
Public Const IMPORTED As String = "DAKOSY-IMPORTED"
Public Const USER As String = "DAKOSY-AUTO"
End Class
Shared Function readVW_SumAVerwahrungsinfo(FORM As frmDYNachrichtenVerarbeitung, d As String, saveVerwahrung As Boolean, sendMail As Boolean, testlauf As Boolean) As String
Try
Dim VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp = DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp.LoadFromFile(d)
Dim VorpapiernummerInput = ""
Dim RegistriernummerATLAS = ""
Dim VeralteteWeitereRegistriernummer = ""
Dim ankungsdatum As Object = Nothing
Dim gestellungsdatum As Object = Nothing
Dim posGestellung As New DataTable
readVW_SumAVerwahrungsinfo = ""
If VWI IsNot Nothing Then
If VWI.EinzelSumAVerwahrungsinfo IsNot Nothing Then
If VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung IsNot Nothing Then
If VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ObjektName IsNot Nothing Then
readVW_SumAVerwahrungsinfo = VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ObjektName 'Nur ObjektAntragsart VV (SumA Vorgang) /NE (NCTS-Vorgang )
End If
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten IsNot Nothing Then
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer IsNot Nothing Then
VorpapiernummerInput = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS IsNot Nothing Then
RegistriernummerATLAS = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer IsNot Nothing Then
VeralteteWeitereRegistriernummer = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum > "01.01.2000" Then
gestellungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Ankunftsdatum > "01.01.2000" Then
ankungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Ankunftsdatum
End If
If VWI.EinzelSumAVerwahrungsinfo.Position IsNot Nothing Then
For Each POS In VWI.EinzelSumAVerwahrungsinfo.Position
If POS.Positionsnummer IsNot Nothing AndAlso posGestellung IsNot Nothing Then
If Not posGestellung.Columns.Contains("AnzPackst") Then
posGestellung.Columns.Add("PosNr", GetType(Integer))
posGestellung.Columns.Add("AnzPackst", GetType(Integer))
posGestellung.Columns.Add("PackstArt", GetType(String))
posGestellung.Columns.Add("Rohmasse", GetType(Double))
posGestellung.Columns.Add("Warenbeschreibung", GetType(String))
posGestellung.Columns.Add("VerwahrerFirma", GetType(String))
posGestellung.Columns.Add("VerwahrerOrt", GetType(String))
posGestellung.Columns.Add("VerwahrerEORI", GetType(String))
posGestellung.Columns.Add("SpezifischerOrdnungsbegriffDaten", GetType(String))
End If
Dim ro As DataRow = posGestellung.NewRow
ro("PosNr") = POS.Positionsnummer
ro("AnzPackst") = POS.PackstueckAnzahl
ro("PackstArt") = POS.PackstueckArt
ro("Rohmasse") = POS.Rohmasse
ro("Warenbeschreibung") = POS.Warenbeschreibung
ro("VerwahrerFirma") = POS.Verwahrer.NameFirma
ro("VerwahrerOrt") = POS.Verwahrer.Ortsteil
ro("VerwahrerEORI") = POS.Verwahrer.TeilnehmerEORI
ro("SpezifischerOrdnungsbegriffDaten") = POS.SpezifischerOrdnungsbegriffDaten
posGestellung.Rows.Add(ro)
End If
Next
End If
End If
End If
End If
If readVW_SumAVerwahrungsinfo <> "" And VorpapiernummerInput <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(VWI.Transaktion.IOReferenz, VWI.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readVW_SumAVerwahrungsinfo
STATUS.dySt_artMitteilung = "VW_INFO"
STATUS.dySt_dyArt = "VW"
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_50
STATUS.dySt_ergCode = "GSTDATUM"
STATUS.dySt_ergMitteilung = ""
If gestellungsdatum IsNot Nothing Then STATUS.dySt_ergZeitpunkt = gestellungsdatum
STATUS.SAVE()
'LINKE SEITE BEI GESAMTSICHERHEITEN!!!!!!!!!!!!!
If saveVerwahrung Then saveVerwahrungseingang(readVW_SumAVerwahrungsinfo, VWI, RegistriernummerATLAS, posGestellung, VorpapiernummerInput, VeralteteWeitereRegistriernummer, sendMail, testlauf)
Anzeige:
FORM.addDGVEinarbeitung("VW: Eingang", STATUS.dySt_BezugsNr)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readVW_SumAVerwahrungsinfo = ""
End Try
End Function
Shared Function readEZA_SumAErledigungsinformationVorpapier_005(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean, sendMail As Boolean, testlauf As Boolean) As String
Try
Dim EZA As DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp = DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp.LoadFromFile(d)
Dim ART = ""
Dim RegistriernummerATLAS = ""
Dim posErledigung As New DataTable
' Dim details = ""
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
Dim veralteteregNR = ""
readEZA_SumAErledigungsinformationVorpapier_005 = ""
If EZA IsNot Nothing Then
If EZA.Transaktion IsNot Nothing Then
If EZA.Transaktion.IODivision3 IsNot Nothing Then
division = EZA.Transaktion.IODivision3
ElseIf EZA.Transaktion.IODivision1 IsNot Nothing Then
division = EZA.Transaktion.IODivision1
End If
End If
If EZA.EinzelSumAErledigungsinformation IsNot Nothing Then
If EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung IsNot Nothing Then
If EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ObjektName IsNot Nothing Then
readEZA_SumAErledigungsinformationVorpapier_005 = EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ObjektName
End If
zp = EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ZeitpunktNachrichteneingang
End If
If EZA.EinzelSumAErledigungsinformation.KopfDaten IsNot Nothing Then
If EZA.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung IsNot Nothing Then
ART = EZA.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung
End If
If EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise IsNot Nothing Then
regNR = EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise
End If
If EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise IsNot Nothing Then
veralteteregNR = EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise
End If
End If
If EZA.EinzelSumAErledigungsinformation.Position IsNot Nothing Then
For Each POS In EZA.EinzelSumAErledigungsinformation.Position
If POS.LaufendeNummer IsNot Nothing AndAlso posErledigung IsNot Nothing Then
If Not posErledigung.Columns.Contains("LaufendeNummer") Then
posErledigung.Columns.Add("LaufendeNummer", GetType(String))
posErledigung.Columns.Add("IDRegNrSumA", GetType(String))
posErledigung.Columns.Add("IDRegNrSumAPos", GetType(String))
posErledigung.Columns.Add("StornierungKz", GetType(String))
posErledigung.Columns.Add("StueckzahlErledigte", GetType(String))
End If
Dim ro As DataRow = posErledigung.NewRow
ro("LaufendeNummer") = POS.LaufendeNummer
ro("IDRegNrSumA") = POS.IDRegNrSumA
ro("IDRegNrSumAPos") = POS.IDRegNrSumAPos
ro("StornierungKz") = POS.StornierungKz
ro("StueckzahlErledigte") = POS.StueckzahlErledigte
posErledigung.Rows.Add(ro)
End If
Next
End If
End If
End If
If readEZA_SumAErledigungsinformationVorpapier_005 <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readEZA_SumAErledigungsinformationVorpapier_005
STATUS.dySt_artMitteilung = "VW_EVP"
STATUS.dySt_dyArt = "VW" '"EZA" 'T1/T2
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_60
STATUS.dySt_ergZeitpunkt = zp
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'----------------------------------------------------------------
'Verwahrung ABSCHREIBUNG - rechte Seite bei Gesamtsicherheiten
If saveAbschreibung Then
saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, zp, sendMail, testlauf)
Anzeige:
FORM.addDGVEinarbeitung("VW: Ausgang", STATUS.dySt_BezugsNr)
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readEZA_SumAErledigungsinformationVorpapier_005 = ""
End Try
End Function
Shared Function readEZA_SumAErledigungsinformationCDXWare007(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean) As String
Try
Dim EZA As DAKOSY_Worker.SumAErledigungsinformationCDXWare_007.SumAErledigungsinformationCDXWareSCTyp = DAKOSY_Worker.SumAErledigungsinformationCDXWare_007.SumAErledigungsinformationCDXWareSCTyp.LoadFromFile(d)
Dim ART = ""
' Dim details = ""
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
readEZA_SumAErledigungsinformationCDXWare007 = ""
If EZA IsNot Nothing Then
If EZA.Transaktion IsNot Nothing Then
If EZA.Transaktion.IODivision3 IsNot Nothing Then
division = EZA.Transaktion.IODivision3
ElseIf EZA.Transaktion.IODivision1 IsNot Nothing Then
division = EZA.Transaktion.IODivision1
End If
End If
If EZA.EinzelSumAErledigungsinformationCDXWare IsNot Nothing Then
If EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung IsNot Nothing Then
If EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ObjektName IsNot Nothing Then
readEZA_SumAErledigungsinformationCDXWare007 = EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ObjektName
End If
zp = EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ZeitpunktNachrichteneingang
End If
If EZA.EinzelSumAErledigungsinformationCDXWare.KopfDaten IsNot Nothing Then
If EZA.EinzelSumAErledigungsinformationCDXWare.KopfDaten.RegNrATLAS IsNot Nothing Then
regNR = EZA.EinzelSumAErledigungsinformationCDXWare.KopfDaten.RegNrATLAS
End If
End If
End If
End If
' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If readEZA_SumAErledigungsinformationCDXWare007 <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readEZA_SumAErledigungsinformationCDXWare007
STATUS.dySt_artMitteilung = "VW_EVP_CDX"
STATUS.dySt_dyArt = "VW" '"EZA" 'T1/T2
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_60 '???
STATUS.dySt_ergZeitpunkt = zp
' STATUS.dySt_ergDetails = details
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'----------------------------------------------------------------
If saveAbschreibung Then
Try
Catch ex As Exception
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End Try
End If
'----------------------------------------------------------------
FORM.addDGVEinarbeitung("VW: Erledigungsinformation-Vorpapier CDX", STATUS.dySt_BezugsNr)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readEZA_SumAErledigungsinformationCDXWare007 = ""
End Try
End Function
Shared Function readNCTS_SumAMassnahmenbekanntgabe(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean) As String
Try
Dim NCTS As DAKOSY_Worker.SumABekanntgabeMassnahme_005.SumABekanntgabeMassnahmeSBTyp = DAKOSY_Worker.SumABekanntgabeMassnahme_005.SumABekanntgabeMassnahmeSBTyp.LoadFromFile(d)
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
Dim posMassnahmen As New DataTable
readNCTS_SumAMassnahmenbekanntgabe = ""
If NCTS IsNot Nothing Then
If NCTS.Transaktion IsNot Nothing Then
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
division = NCTS.Transaktion.IODivision3
ElseIf NCTS.Transaktion.IODivision1 IsNot Nothing Then
division = NCTS.Transaktion.IODivision1
End If
End If
If NCTS.EinzelSumABekanntgabeMassnahme IsNot Nothing Then
If NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung IsNot Nothing Then
If NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ObjektName IsNot Nothing Then
readNCTS_SumAMassnahmenbekanntgabe = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ObjektName
End If
zp = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ZeitpunktNachrichteneingang
End If
If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten IsNot Nothing Then
If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten.RegistriernummerATLAS IsNot Nothing Then
regNR = NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten.RegistriernummerATLAS
End If
End If
End If
If NCTS.EinzelSumABekanntgabeMassnahme.Position IsNot Nothing Then
For Each POS In NCTS.EinzelSumABekanntgabeMassnahme.Position
If POS.MassnahmeCode IsNot Nothing AndAlso posMassnahmen IsNot Nothing Then
If Not posMassnahmen.Columns.Contains("MassnahmeText") Then
posMassnahmen.Columns.Add("MassnahmeCode", GetType(Integer))
posMassnahmen.Columns.Add("MassnahmeText", GetType(String))
posMassnahmen.Columns.Add("MassnahmeNichtzustellbarKz", GetType(String))
posMassnahmen.Columns.Add("PackstueckArt", GetType(String))
posMassnahmen.Columns.Add("PackstueckAnzahl", GetType(Integer))
End If
Dim ro As DataRow = posMassnahmen.NewRow
ro("MassnahmeText") = POS.MassnahmeText
ro("MassnahmeCode") = POS.MassnahmeCode
ro("MassnahmeNichtzustellbarKz") = POS.MassnahmeNichtzustellbarKz
ro("PackstueckAnzahl") = POS.PackstueckAnzahl
ro("PackstueckArt") = POS.PackstueckArt
posMassnahmen.Rows.Add(ro)
End If
Next
End If
End If
If readNCTS_SumAMassnahmenbekanntgabe <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
'-----------------------EMAIL-NOTIFYCATION----------------------------------------
If posMassnahmen.Rows.Count > 0 Then
Dim Mailext = createInfoMail(regNR, posMassnahmen, "MASSNAHME-DAKOSY")
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Massnahme DAKOSY - " & Now().ToShortDateString, Mailext,,,,, "d.breimaier@verag.ag")
End If
'----------------------------------------------------------------
FORM.addDGVEinarbeitung("VW: Bekanntgabe Massnahme", regNR)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readNCTS_SumAMassnahmenbekanntgabe = ""
End Try
End Function
Shared Function saveVerwahrungseingang(readVW_SumAVerwahrungsinfo As String, VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp, RegistriernummerATLAS As String, posGestellung As DataTable, VorpapiernummerInput As String, VeralteteWeitereRegistriernummer As String, sendInfoMail As Boolean, testlauf As Boolean)
Dim BezugsNr = readVW_SumAVerwahrungsinfo
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
Try
If VeralteteWeitereRegistriernummer = "" Then Return False
Dim filiale As String = ""
Dim abfertigungsnummer = ""
Dim Standort As String = ""
Dim Vorpapiernummer = ""
Dim laufnummer As Integer = -1
Dim parts() As String = VorpapiernummerInput.Split("-"c)
If parts.Length = 2 Then
Vorpapiernummer = parts(0)
Integer.TryParse(parts(1), laufnummer)
End If
If BezugsNr.Length > 4 AndAlso IsNumeric(BezugsNr.Substring(0, 4)) Then
If BezugsNr.Length > 4 Then
filiale = BezugsNr.Substring(0, 4)
End If
If BezugsNr.Length >= 14 Then
abfertigungsnummer = BezugsNr.Substring(5, 8)
End If
End If
If Vorpapiernummer <> "" Then
If Vorpapiernummer.Length > 18 Then
Vorpapiernummer = Vorpapiernummer.ToString.Substring(0, 18)
End If
Dim dtSendungsInfo As New DataTable
dtSendungsInfo = SQL.loadDgvBySql("SELECT [FilialenNr],[AbfertigungsNr],[UnterNr] FROM [dbo].[tblSendungen] where tblSnd_ATB_T1 = '" & Vorpapiernummer & "'", "AVISO")
If dtSendungsInfo.Rows.Count > 0 Then
filiale = dtSendungsInfo.Rows(0).Item("FilialenNr")
abfertigungsnummer = dtSendungsInfo.Rows(0).Item("AbfertigungsNr")
End If
Select Case filiale
Case "4803", "4809"
Standort = "VERAG AG"
Case "4810", "5103", "5901"
Standort = "VERAG GmbH"
Case "5501"
Standort = "IMEX"
Case Else
Return False
End Select
Dim dy_SendungsId = VWI.Transaktion.IOReferenz
If filiale <> "" AndAlso abfertigungsnummer <> "" AndAlso IsNumeric(filiale) AndAlso IsNumeric(abfertigungsnummer) Then
Dim SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(filiale, abfertigungsnummer)
If SND IsNot Nothing AndAlso SND.tblSnd_Abfertigungsart_ID = 44 Then
Dim existingEntries As DataTable
existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_DK_laufnr, gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where [gs_ATBNr] = '" & Vorpapiernummer & "' order by gs_datum desc", "AVISO")
If existingEntries.Rows.Count = 0 Then
'existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) or (gs_avisoId = " & SND.tblSnd_AvisoID & ") order by gs_datum desc", "AVISO")
existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_DK_laufnr,gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) order by gs_datum desc", "AVISO")
End If
If existingEntries.Rows.Count > 0 Then
Dim zubehandelndeGSPOS As Boolean = existingEntries.AsEnumerable().
Any(Function(r)
If r.IsNull("gs_DK_laufnr") OrElse r.Field(Of Integer)("gs_DK_laufnr") <> laufnummer Then
Return False
End If
Dim alt = If(r.IsNull("gs_VeralteteWeitereRegistriernummer"), "", r.Field(Of String)("gs_VeralteteWeitereRegistriernummer"))
Dim mrn = If(r.IsNull("gs_MRNNr"), "", r.Field(Of String)("gs_MRNNr"))
Return alt = VeralteteWeitereRegistriernummer OrElse mrn = RegistriernummerATLAS
End Function)
If zubehandelndeGSPOS Then
Return True 'bereits behandelt ->
End If
Dim DUMMYSicherheit As cSicherheiten
Dim rows = existingEntries.Select("gs_dakoyimport = true AND [gs_ATBNr] = '" & Vorpapiernummer & "' AND gs_freitext = '" & DAKOSY_STATUS.HEADER & "'")
If rows.Length > 0 Then
Dim row = rows(0)
DUMMYSicherheit = New cSicherheiten(row("gs_gsId"), row("gs_posNr"))
Else
Return False 'kein Dummy-Eintrag
End If
Dim newSicherheit As New cSicherheiten()
If Not DUMMYSicherheit.hasEntry Then
Return False
End If
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(DUMMYSicherheit.gs_standort)
Dim saldo = GesSichRef.CalcSaldo()
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
'Verwahrung ANSCHREIBUNG
newSicherheit.gs_systemuser = DAKOSY_STATUS.USER
newSicherheit.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
newSicherheit.gs_MRNNr = RegistriernummerATLAS 'wichtig für Zuweisung DAKOSY
newSicherheit.gs_gsNr = DUMMYSicherheit.gs_gsNr
newSicherheit.gs_ATBNr = DUMMYSicherheit.gs_ATBNr
Dim FreitextInfo As String = ""
If posGestellung.Rows.Count > 0 Then
If IsNumeric(posGestellung.Rows(0).Item("AnzPackst")) Then
newSicherheit.gs_EH_Anzahl = CInt(posGestellung.Rows(0).Item("AnzPackst"))
End If
If IsNumeric(posGestellung.Rows(0).Item("Rohmasse")) Then
newSicherheit.gs_gewicht = CDbl(posGestellung.Rows(0).Item("Rohmasse"))
End If
FreitextInfo = posGestellung.Rows(0).Item("PackstArt")
Else
FreitextInfo = DAKOSY_STATUS.SEND
End If
newSicherheit.gs_standort = DUMMYSicherheit.gs_standort
newSicherheit.gs_datum = DUMMYSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
newSicherheit.gs_erstellungsdatum = Now()
newSicherheit.gs_posNr = newSicherheit.getLatestPosNr(DUMMYSicherheit.gs_gsNr, DUMMYSicherheit.gs_ATBNr) + 1
newSicherheit.gs_DK_laufnr = laufnummer
newSicherheit.gs_freitext = FreitextInfo
newSicherheit.gs_abfertigungsnr = abfertigungsnummer
newSicherheit.gs_filialenNr = filiale
newSicherheit.gs_posSubNr = 1
newSicherheit.gs_LKWKZ = DUMMYSicherheit.gs_LKWKZ
newSicherheit.gs_zollsatz = DUMMYSicherheit.gs_zollsatz
If laufnummer = 1 Then
newSicherheit.gs_warenwert = DUMMYSicherheit.gs_warenwert
newSicherheit.gs_sicherheitsbetrag = DUMMYSicherheit.gs_sicherheitsbetrag
Else
newSicherheit.gs_warenwert = 0
newSicherheit.gs_sicherheitsbetrag = 0
End If
newSicherheit.gs_art = "OPEN"
newSicherheit.gs_saldo = saldo
newSicherheit.gs_avisoId = DUMMYSicherheit.gs_avisoId
newSicherheit.gs_warenort = DUMMYSicherheit.gs_warenort
newSicherheit.gs_dakoyimport = True
Dim gsid = newSicherheit.SAVEOBJECT()
If gsid > 0 AndAlso laufnummer = 1 Then
'wechsel des Sicherheitsbetrags und Warenwert von Dummypos auf erste Produkivposition
DUMMYSicherheit.gs_warenwert = 0
DUMMYSicherheit.gs_sicherheitsbetrag = 0
DUMMYSicherheit.SAVE()
End If
Dim CLOSED_DUMMY = New cGesamtsicherheitsPositionen(gsid, newSicherheit.gs_posNr)
With CLOSED_DUMMY
.gsp_gsNr = newSicherheit.gs_gsNr
.gsp_warenwert = 0 ' = 0 wichtig
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
.gsp_filialenNr = filiale
.gsp_art = "CLOSE"
.gsp_abfertigungsNr = abfertigungsnummer
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = ""
.gsp_freitext = DAKOSY_STATUS.SEND
.gsp_avisoId = DUMMYSicherheit.gs_avisoId
.gsp_systemuser = DAKOSY_STATUS.USER
End With
CLOSED_DUMMY.SAVE()
If posGestellung.Rows.Count > 1 Then
If True Then
For i As Integer = 2 To posGestellung.Rows.Count
Dim OPEN_DUMMY_SUBPOS As New cSicherheiten()
With OPEN_DUMMY_SUBPOS
.gs_systemuser = DAKOSY_STATUS.USER
.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
.gs_gsNr = DUMMYSicherheit.gs_gsNr
.gs_ATBNr = DUMMYSicherheit.gs_ATBNr
If IsNumeric(posGestellung.Rows(i - 1).Item("AnzPackst")) Then
.gs_EH_Anzahl = posGestellung.Rows(i - 1).Item("AnzPackst")
End If
If IsNumeric(posGestellung.Rows(i - 1).Item("Rohmasse")) Then
.gs_gewicht = posGestellung.Rows(i - 1).Item("Rohmasse")
End If
.gs_freitext = posGestellung.Rows(i - 1).Item("PackstArt")
.gs_MRNNr = RegistriernummerATLAS
.gs_standort = DUMMYSicherheit.gs_standort
.gs_datum = DUMMYSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
.gs_erstellungsdatum = Now()
.gs_abfertigungsnr = abfertigungsnummer
.gs_filialenNr = filiale
.gs_LKWKZ = DUMMYSicherheit.gs_LKWKZ
.gs_zollsatz = DUMMYSicherheit.gs_zollsatz
.gs_warenwert = 0
.gs_sicherheitsbetrag = 0
.gs_art = "OPEN"
.gs_saldo = saldo
.gs_avisoId = DUMMYSicherheit.gs_avisoId
.gs_warenort = DUMMYSicherheit.gs_warenort
.gs_posNr = newSicherheit.gs_posNr + i - 1
.gs_posSubNr = i
.gs_dakoyimport = True
.gs_DK_laufnr = laufnummer
End With
Dim gsid_SupPos = OPEN_DUMMY_SUBPOS.SAVEOBJECT()
Dim CLOSED_DUMMY_SUBPOS = New cGesamtsicherheitsPositionen()
With CLOSED_DUMMY_SUBPOS
.gsp_gspPosId = OPEN_DUMMY_SUBPOS.gs_posNr
.gsp_gsId = gsid_SupPos
.gsp_gsNr = DUMMYSicherheit.gs_gsNr
.gsp_warenwert = 0 ' = 0 wichtig
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
.gsp_filialenNr = filiale
.gsp_art = "CLOSE"
.gsp_abfertigungsNr = abfertigungsnummer
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = ""
.gsp_freitext = DAKOSY_STATUS.SEND
.gsp_avisoId = DUMMYSicherheit.gs_avisoId
.gsp_gsNr = DUMMYSicherheit.gs_gsNr
.gsp_systemuser = DAKOSY_STATUS.USER
End With
CLOSED_DUMMY_SUBPOS.SAVE()
Next
End If
End If
newSicherheit.rearangePosNrByDakosyLaufNr(newSicherheit.gs_gsNr, newSicherheit.gs_ATBNr)
If sendInfoMail Then
Dim InfoText As String = createInfoMail(RegistriernummerATLAS, posGestellung, "VW-EINGANG", newSicherheit)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungseingang aus DAKOSY - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag")
End If
Return True
End If
End If
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Finally
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
End Try
End Function
Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, veralteteregNR As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, Optional isNCTS As Boolean = False, Optional sicherheitsbetragInput As Double = 0)
Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
Try
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
If posErledigung IsNot Nothing AndAlso posErledigung.Rows.Count > 0 Then
For Each POS As DataRow In posErledigung.Rows
Dim MRNNR As String = ""
Dim existingEntryID As Integer = 0
If Not IsDBNull(POS("IDRegNrSumA")) AndAlso POS("IDRegNrSumA").ToString <> "" Then
Dim POSNr As Integer = If(IsDBNull(POS("IDRegNrSumAPos")), 0, CInt(POS("IDRegNrSumAPos")))
If MRNNR <> POS.Item("IDRegNrSumA") Then
MRNNR = POS.Item("IDRegNrSumA")
Dim sqlString = ""
If isNCTS Then
sqlString = "Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsId = gs.gs_gsId where [gs_MRNNr] = '" & MRNNR & "' and [gs_dakoyimport] = 1 order by gsp_gspPosId"
Else
sqlString = "Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsId = gs.gs_gsId where ([gs_VeralteteWeitereRegistriernummer] = '" & MRNNR & "' or [gs_MRNNr] = '" & regNR & "') and [gs_dakoyimport] = 1 order by gsp_gspPosId, gsp_MRNNr"
End If
Dim dtGesamtsicherheit = SQL.loadDgvBySql(sqlString, "AVISO")
If dtGesamtsicherheit.Rows.Count > 0 Then
Dim gs_row As Array = Nothing
'Dim gs_row As DataRow = dtGesamtsicherheit.Rows(0)
'Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
'If rows.Length > 0 Then
' Exit Sub 'bereits vorhanden -> keine INFO
'End If
If isNCTS Then
'gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & "")
gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
Else
gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
End If
If gs_row.Length = 0 Then
Continue For
End If
Dim gsrightRow As DataRow = gs_row(0) 'es gibt dann immer nur 1 Eintrag!
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(gsrightRow("gs_standort"))
Dim saldo As Double = GesSichRef.CalcSaldo()
Dim Warenwert As Double = 0
Dim Sicherheitsbetrag As Double = 0
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gsrightRow("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gsrightRow("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gsrightRow("gs_ATBNr") & "'", "AVISO")
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
Dim posNr_temp As String = gsrightRow.Item("gs_posNr")
If dtVorpapiere.Rows.Count > 0 Then
Dim rowsVorp = dtVorpapiere.AsEnumerable().Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso ((
r("tblSnd_Vorpapier_Pos").ToString() & "," &
r("tblSnd_Vorpapier2_Pos").ToString() & "," &
r("tblSnd_Vorpapier3_Pos").ToString()).Split(","c).Select(Function(x) x.Trim()).Where(Function(x) x <> "").Select(Function(x) CInt(x)).DefaultIfEmpty(Integer.MaxValue).Min() = CInt(posNr_temp))).ToArray()
If rowsVorp.Length > 0 Then
Dim row = rowsVorp(0)
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
End If
End If
Dim anzahlPackstuecke As Integer = -1
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
Dim StornierungKz As String = ""
If Not isNCTS Then
StornierungKz = IIf(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
End If
If Not IsDBNull(gsrightRow.Item("gs_EH_Anzahl")) AndAlso IsNumeric(gsrightRow.Item("gs_EH_Anzahl")) Then
Try
anzahlPackstuecke = CInt(gsrightRow.Item("gs_EH_Anzahl"))
Catch ex As Exception
anzahlPackstuecke = -1
End Try
If anzahlPackstuecke > 0 AndAlso anzahlPackstuecke <> AnzahlStückErledigt Then 'Hinweismeldung, wenn nicht alle erledigt wurden!
Dim dt As New DataTable
If Not dt.Columns.Contains("anzahlPackstuecke") Then
dt.Columns.Add("MRN", GetType(String))
dt.Columns.Add("LKW_ID", GetType(String))
dt.Columns.Add("anzahlPackstuecke", GetType(Integer))
If Not isNCTS Then dt.Columns.Add("StornierungKZ", GetType(String))
dt.Columns.Add("AnzahlStückErledigt", GetType(Integer))
End If
Dim ro As DataRow = dt.NewRow
ro("MRN") = gsrightRow.Item("gs_MRNNr")
ro("LKW_ID") = gsrightRow.Item("gs_avisoId")
ro("anzahlPackstuecke") = anzahlPackstuecke
ro("AnzahlStückErledigt") = AnzahlStückErledigt
If Not isNCTS Then ro("StornierungKZ") = StornierungKz
dt.Rows.Add(ro)
Dim InfoText As String = createInfoMail(MRNNR, dt, "")
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Erledigungsmeldung-DAKOSY fehlende Positionen - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag")
End If
Dim SicherheitsPos As New cGesamtsicherheitsPositionen()
With SicherheitsPos
.gsp_gsId = gsrightRow("gs_gsId")
'.gsp_gspPosId = CInt(POSNr)
.gsp_gspPosId = gsrightRow.Item("gs_posNr")
.gsp_warenwert = Warenwert
.gsp_sicherheitsbetrag = Sicherheitsbetrag
.gsp_freitext = DAKOSY_STATUS.IMPORTED
.gsp_filialenNr = gsrightRow("gs_filialenNr")
.gsp_art = "CLOSE"
.gsp_gsNr = gsrightRow("gs_gsnr")
.gsp_abfertigungsNr = gsrightRow("gs_abfertigungsnr")
.gsp_datum = nachrichtenDatum
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = gsrightRow("gs_ust")
If Not isNCTS Then
.gsp_ATCNr = IIf(veralteteregNR = "", MRNNR, veralteteregNR)
.gsp_MRNNr = IIf(regNR = "", MRNNR, regNR)
Else
.gsp_ATCNr = ""
.gsp_MRNNr = IIf(regNR = "", MRNNR.Trim(), regNR.Trim())
End If
.gsp_avisoId = gsrightRow("gs_avisoID")
.gsp_systemuser = "DAKOSY-AUTO"
.gsp_EH_Anzahl = AnzahlStückErledigt
End With
SicherheitsPos.SAVE()
GesSichRef.CalcSaldo()
If sendInfoMail Then
Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang aus DAKOSY " & IIf(isNCTS, "T1 ", "") & " - " & Now().ToShortDateString, InfoText2,,,,, "d.breimaier@verag.ag")
End If
End If
End If
End If
End If
Next
End If
'End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Finally
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
End Try
End Sub
Public Shared Function AddNewGesamtSichNr() As Integer
Dim sqlq As String = "select MAX([gs_gsNr]) as MaxGesSich from tblGesamtsicherheit"
Dim dt As New DataTable
dt = SQL.loadDgvBySql(sqlq, "AVISO", 100, True)
Dim LetzteGesSichNum As Integer = -1
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
LetzteGesSichNum = dt.Rows(0).Item(0)
Return LetzteGesSichNum + 1
End If
Return 0
End Function
Public Shared Function createInfoMail(regNR As String, dt As DataTable, typ As String, Optional GS As cSicherheiten = Nothing, Optional GSPOS As cGesamtsicherheitsPositionen = Nothing, Optional isNCTS As Boolean = False) As String
Dim TextHTMLtable As String
Select Case typ
Case "MASSNAHME-DAKOSY"
TextHTMLtable &= "Bei " & regNR & " wurden eine Zoll-Maßnahme ausgelöst." & vbNewLine & vbNewLine & vbNewLine
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>Code</td><td>Text</td><td>NichtzustellbarKz</td><td>PackstueckAnzahl</td><td>PackstueckArt</td></tr>"
For Each r As DataRow In dt.Rows
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeCode") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeText") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeNichtzustellbarKz") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("PackstueckAnzahl") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("PackstueckArt") & "</b></td>"
TextHTMLtable &= "</tr>"
Next
TextHTMLtable &= "</table>"
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
Return TextHTMLtable
Case "VW-EINGANG"
TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>PosNr</td><td>Vorpapier</td><td>MRN</td><td>LKWID</td></tr>"
If GS IsNot Nothing Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & GS.gs_posNr & "</b></td>"
TextHTMLtable &= "<td><b>" & GS.gs_ATBNr & "</b></td>"
TextHTMLtable &= "<td><b>" & GS.gs_MRNNr & "</b></td>"
TextHTMLtable &= "<td><b>" & GS.gs_avisoId & "</b></td>"
TextHTMLtable &= "</tr>"
End If
TextHTMLtable &= "</table>"
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
Return TextHTMLtable
Case "VW-AUSGANG"
TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>PosNr</td><td>MRN</td><td>ATC</td><td>AVISOID</td></tr>"
If GSPOS IsNot Nothing Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & GSPOS.gsp_gspPosId & "</b></td>"
TextHTMLtable &= "<td><b>" & GSPOS.gsp_MRNNr & "</b></td>"
TextHTMLtable &= "<td><b>" & GSPOS.gsp_ATCNr & "</b></td>"
TextHTMLtable &= "<td><b>" & GSPOS.gsp_avisoId & "</b></td>"
TextHTMLtable &= "</tr>"
End If
TextHTMLtable &= "</table>"
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
Return TextHTMLtable
Case Else
TextHTMLtable &= regNR & " wurde nicht vollständig aufgelöst." & vbNewLine & vbNewLine & vbNewLine
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>MRN-Nr</td><td>LKW-ID</td><td>Packstücke gesamt</td><td>Packstücke erledigt</td><td>Stornierung KZ</td></tr>"
For Each r As DataRow In dt.Rows
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & r.Item("MRN") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("LKW_ID") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("anzahlPackstuecke") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("AnzahlStückErledigt") & "</b></td>"
If Not isNCTS Then TextHTMLtable &= "<td><b>" & r.Item("StornierungKZ") & "</b></td>"
TextHTMLtable &= "</tr>"
Next
TextHTMLtable &= "</table>"
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
Return TextHTMLtable
End Select
End Function
End Class