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" Public Const NOTCOMPLETED As String = "DAKOSY-NOT-COMPLETED" 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 Vorpapiernummer = "" Dim MRN_SUMA = "" Dim MRN_SUMA_veraltet = "" 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 Vorpapiernummer = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer End If If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS IsNot Nothing Then MRN_SUMA = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS 'MRN (SumA) End If If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer IsNot Nothing Then MRN_SUMA_veraltet = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer End If If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum > "01.01.2000" Then gestellungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum 'Datum der Anmeldung zur vorübergehenden Verwahrung End If If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Ankunftsdatum > "01.01.2000" Then ankungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Ankunftsdatum '(erwartetes) Ankunftsdatum des Beförderungsmittels 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("Anmeldefrist", GetType(String)) 'Datum des Verwahrungsfristendes posGestellung.Columns.Add("Rohmasse", GetType(Double)) 'Gewicht in kg 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("Anmeldefrist") = POS.Anmeldefrist 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 Vorpapiernummer <> "" 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, MRN_SUMA, posGestellung, Vorpapiernummer, MRN_SUMA_veraltet, 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 readVW_SumAErledigungsinformation(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean, sendMail As Boolean, testlauf As Boolean) As String Try Dim VWI As DAKOSY_Worker.SumAErledigungsinformation_005.SumAErledigungsinformationSISUMTyp = DAKOSY_Worker.SumAErledigungsinformation_005.SumAErledigungsinformationSISUMTyp.LoadFromFile(d) Dim MRN_SUMA = "" Dim MRN_SUMA_veraltet = "" Dim MRN_Eledigungsvorgang = "" Dim MRN_Eledigungsvorgang_veraltet = "" Dim MRN_Sonstige_Nr = "" Dim ArtErledigung = "" Dim zp As Object = Nothing Dim posErledigung As New DataTable readVW_SumAErledigungsinformation = "" If VWI IsNot Nothing Then If VWI.EinzelSumAErledigungsinformation IsNot Nothing Then If VWI.EinzelSumAErledigungsinformation.ObjektIdentifizierung IsNot Nothing Then zp = VWI.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ZeitpunktNachrichteneingang If VWI.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ObjektName IsNot Nothing Then readVW_SumAErledigungsinformation = VWI.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ObjektName 'Nur ObjektAntragsart VV (SumA Vorgang) /NE (NCTS-Vorgang ) End If End If If VWI.EinzelSumAErledigungsinformation.KopfDaten IsNot Nothing Then If VWI.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLAS IsNot Nothing Then MRN_SUMA = VWI.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLAS 'MRN (SumA) End If If VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereRegistriernummer IsNot Nothing Then MRN_SUMA_veraltet = VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereRegistriernummer 'Veraltete weitere Registriernummer -> läuft aus!! End If If VWI.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise IsNot Nothing Then MRN_Eledigungsvorgang = VWI.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise 'MRN des Erledigungsvorgangs End If If VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise IsNot Nothing Then MRN_Eledigungsvorgang_veraltet = VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise End If If VWI.EinzelSumAErledigungsinformation.KopfDaten.SonstigeNummer IsNot Nothing Then MRN_Sonstige_Nr = VWI.EinzelSumAErledigungsinformation.KopfDaten.SonstigeNummer End If If VWI.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung IsNot Nothing Then ArtErledigung = VWI.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung End If If MRN_Eledigungsvorgang = "" AndAlso MRN_Sonstige_Nr <> "" Then MRN_Eledigungsvorgang = MRN_Sonstige_Nr End If If VWI.EinzelSumAErledigungsinformation.Position IsNot Nothing Then For Each POS In VWI.EinzelSumAErledigungsinformation.Position If POS.Positionsnummer 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.Positionsnummer ro("IDRegNrSumA") = MRN_SUMA 'MRN (SumA) Zugehörige ATLAS - Registrierung. ro("IDRegNrSumAPos") = POS.Positionsnummer 'Positionsnummer in der Summarischen Anmeldung ro("StornierungKz") = POS.StornierungKz ro("StueckzahlErledigte") = POS.StueckzahlErledigte posErledigung.Rows.Add(ro) End If Next End If End If End If End If If readVW_SumAErledigungsinformation <> "" And MRN_SUMA <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(VWI.Transaktion.IOReferenz, VWI.Transaktion.IODatumZeit) STATUS.dySt_BezugsNr = readVW_SumAErledigungsinformation STATUS.dySt_artMitteilung = "SUMA_Erledigung" STATUS.dySt_dyArt = "VW" STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_50 STATUS.dySt_ergCode = "GSTDATUM" STATUS.dySt_ergMitteilung = "" If zp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = zp STATUS.SAVE() 'rechte SEITE BEI GESAMTSICHERHEITEN!!!!!!!!!!!!! If saveAbschreibung Then saveVerwahrungsAusgang(MRN_Eledigungsvorgang, posErledigung, MRN_Eledigungsvorgang_veraltet, zp, sendMail, testlauf,, "SumAErledigung", MRN_Sonstige_Nr) 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) readVW_SumAErledigungsinformation = "" 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 posErledigung As New DataTable Dim zp As Object = Nothing Dim division = "" Dim MRN_Eledigungsvorgang = "" Dim MRN_Eledigungsvorgang_veraltet = "" 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 MRN_Eledigungsvorgang = EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise 'MRN des Erledigungsvorgangs End If If EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise IsNot Nothing Then MRN_Eledigungsvorgang_veraltet = EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise 'Registriernummer des Erledigungsvorgangs -> läuft aus!! 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 'Laufende Nummer der Erledigungsinformation ro("IDRegNrSumA") = POS.IDRegNrSumA 'MRN (SumA) Zugehörige ATLAS - Registrierung. ro("IDRegNrSumAPos") = POS.IDRegNrSumAPos 'Positionsnummer in der Summarischen Anmeldung ro("StornierungKz") = POS.StornierungKz 'Kennzeichnung, dass eine Erledigung durch den Benutzer storniert wurde. ro("StueckzahlErledigte") = POS.StueckzahlErledigte 'Anzahl der erledigten Packstücke 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 AndAlso ART <> "NCTS" Then 'bei NCTS wird der Ausgang über ein UeberlassungsmeldungNCTSDE aufgelöst!!!!!! saveVerwahrungsAusgang(MRN_Eledigungsvorgang, posErledigung, MRN_Eledigungsvorgang_veraltet, zp, sendMail, testlauf,, "SumAErledigung-VP") 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, MRN_SUMA As String, posGestellung As DataTable, VorpapiernummerInput As String, MRN_SUMA_veraltet As String, sendInfoMail As Boolean, testlauf As Boolean) Dim BezugsNr = readVW_SumAVerwahrungsinfo VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf Try 'If MRN_SUMA_veraltet = "" Then Return False 'warum nochmals, kann das weg??? 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 & "' and tblSnd_Abfertigungsart_ID = 44", "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 = MRN_SUMA_veraltet OrElse mrn = MRN_SUMA 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 = MRN_SUMA_veraltet 'wichtig für Zuweisung DAKOSY newSicherheit.gs_MRNNr = MRN_SUMA '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 = MRN_SUMA_veraltet '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 = MRN_SUMA .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(MRN_SUMA, 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(MRN_Erledigung As String, posErledigung As DataTable, MRN_Erledigung_veraltet As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, Optional isNCTS As Boolean = False, Optional zusätzlicheInfo As String = "", Optional sonstigeMRNNr As String = "") 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 isCompletelyFinished As Boolean = True Dim MRN_SUMA As String = "" Dim existingEntryID As Integer = 0 If Not IsDBNull(POS("IDRegNrSumA")) AndAlso POS("IDRegNrSumA").ToString <> "" Then 'MRN (SumA) Zugehörige ATLAS - Registrierung. Dim SUMA_POSNr As Integer = If(IsDBNull(POS("IDRegNrSumAPos")), 0, CInt(POS("IDRegNrSumAPos"))) 'Positionsnummer in der Summarischen Anmeldung If MRN_SUMA <> POS.Item("IDRegNrSumA") Then MRN_SUMA = 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] = '" & MRN_SUMA & "' and [gs_dakoyimport] = 1 order by gsp_gspPosId" 'dieser wird bei NCTS explizit angegeben! Else Dim StringSub As String = "" If MRN_Erledigung <> "" Then StringSub = " or [gs_VeralteteWeitereRegistriernummer] = '" & MRN_Erledigung & "'" Else End If sqlString = "Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsId = gs.gs_gsId where ([gs_MRNNr] = '" & MRN_SUMA & "'" & StringSub & ") 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 gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & SUMA_POSNr & " AND isnull(gsp_MRNNr,'') = ''") 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") & "') and tblSnd_Vorpapier_Pos <> '?'", "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 isCompletelyFinished = False 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(MRN_SUMA, 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(gsrightRow("gs_gsId"), gsrightRow.Item("gs_posNr")) With SicherheitsPos '.gsp_gsId = gsrightRow("gs_gsId") '.gsp_gspPosId = gsrightRow.Item("gs_posNr") .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") .gsp_EH_Anzahl += AnzahlStückErledigt If .gsp_EH_Anzahl = CInt(gsrightRow.Item("gs_EH_Anzahl")) Then isCompletelyFinished = True 'wenn alle Teile da sind, dann komplett! .gsp_freitext = IIf(isCompletelyFinished, DAKOSY_STATUS.IMPORTED, DAKOSY_STATUS.NOTCOMPLETED) .gsp_warenwert = IIf(isCompletelyFinished, Warenwert, 0) .gsp_sicherheitsbetrag = IIf(isCompletelyFinished, Sicherheitsbetrag, 0) If isCompletelyFinished Then If Not isNCTS Then .gsp_ATCNr = IIf(MRN_Erledigung_veraltet = "", MRN_SUMA, MRN_Erledigung_veraltet) .gsp_MRNNr = IIf(MRN_Erledigung = "", MRN_SUMA, MRN_Erledigung) Else .gsp_ATCNr = "" .gsp_MRNNr = IIf(MRN_Erledigung = "", MRN_SUMA.Trim(), MRN_Erledigung.Trim()) End If End If .gsp_avisoId = gsrightRow("gs_avisoID") .gsp_systemuser = "DAKOSY-AUTO" End With SicherheitsPos.SAVE() GesSichRef.CalcSaldo() If sendInfoMail Then Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS, sonstigeMRNNr) VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang aus DAKOSY " & zusätzlicheInfo & " - " & 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, Optional sonstigeMRNNR As String = "") 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 &= "" TextHTMLtable &= "" For Each r As DataRow In dt.Rows TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" Next TextHTMLtable &= "
CodeTextNichtzustellbarKzPackstueckAnzahlPackstueckArt
" & r.Item("MassnahmeCode") & "" & r.Item("MassnahmeText") & "" & r.Item("MassnahmeNichtzustellbarKz") & "" & r.Item("PackstueckAnzahl") & "" & r.Item("PackstueckArt") & "
" TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*" Return TextHTMLtable Case "VW-EINGANG" TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine TextHTMLtable &= "" TextHTMLtable &= "" If GS IsNot Nothing Then TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" End If TextHTMLtable &= "
PosNrVorpapierMRNLKWID
" & GS.gs_posNr & "" & GS.gs_ATBNr & "" & GS.gs_MRNNr & "" & GS.gs_avisoId & "
" TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*" Return TextHTMLtable Case "VW-AUSGANG" TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine TextHTMLtable &= "" TextHTMLtable &= "" & IIf(sonstigeMRNNR <> "", "", "") & "" If GSPOS IsNot Nothing Then TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" If sonstigeMRNNR <> "" Then TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" End If TextHTMLtable &= "
PosNrMRNATCsonstige MRNAVISOID
" & GSPOS.gsp_gspPosId & "" & GSPOS.gsp_MRNNr & "" & GSPOS.gsp_ATCNr & "" & sonstigeMRNNR & "" & GSPOS.gsp_avisoId & "
" TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*" Return TextHTMLtable Case Else TextHTMLtable &= regNR & " wurde nicht vollständig aufgelöst." & vbNewLine & vbNewLine & vbNewLine TextHTMLtable &= "" TextHTMLtable &= "" For Each r As DataRow In dt.Rows TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" TextHTMLtable &= "" If Not isNCTS Then TextHTMLtable &= "" TextHTMLtable &= "" Next TextHTMLtable &= "
MRN-NrLKW-IDPackstücke gesamtPackstücke erledigtStornierung KZ
" & r.Item("MRN") & "" & r.Item("LKW_ID") & "" & r.Item("anzahlPackstuecke") & "" & r.Item("AnzahlStückErledigt") & "" & r.Item("StornierungKZ") & "
" TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*" Return TextHTMLtable End Select End Function End Class