diff --git a/initATLASAufschubkonten/cWorker_Verwahrung.vb b/initATLASAufschubkonten/cWorker_Verwahrung.vb index 812ce01..97112a9 100644 --- a/initATLASAufschubkonten/cWorker_Verwahrung.vb +++ b/initATLASAufschubkonten/cWorker_Verwahrung.vb @@ -1,6 +1,4 @@ -Imports com.sun.xml.internal.bind.v2.model.core -Imports Microsoft.Office.Core -Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN Public Class cWorker_Verwahrung Public Shared Dateiname = "" @@ -190,8 +188,6 @@ Anzeige: posErledigung.Rows.Add(ro) End If - - Next @@ -199,9 +195,6 @@ Anzeige: End If End If - ' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. - - If readEZA_SumAErledigungsinformationVorpapier_005 <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit) @@ -212,24 +205,7 @@ Anzeige: 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") - 'Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA - - ''???????? REGNR - 'If regNR <> "" Then - ' STATUS.dySt_ergCode = "REGNr" - ' STATUS.dySt_ergMitteilung = regNR - ' EZA_TMP = FORM.saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), regNR) - 'Else - ' STATUS.dySt_ergCode = "ART" - ' If ART <> "" Then STATUS.dySt_ergMitteilung = ART - ' EZA_TMP = FORM.saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit)) - 'End If - - 'FORM.SaveEZA_FirmaNL(EZA_TMP, DY_TMP, division) If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() @@ -311,13 +287,9 @@ Anzeige: If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id STATUS.SAVE() - - '---------------------------------------------------------------- - 'Verwahrung ABSCHREIBUNG - If saveAbschreibung Then Try @@ -330,11 +302,6 @@ Anzeige: End Try - - - - - End If @@ -352,14 +319,14 @@ Anzeige: Shared Function readNCTS_SumAMassnahmenbekanntgabe(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean) As String Try - Dim NCTS As DAKOSY_Worker.SumAErledigungsinformationCDXWare_007.SumAErledigungsinformationCDXWareSCTyp = DAKOSY_Worker.SumAErledigungsinformationCDXWare_007.SumAErledigungsinformationCDXWareSCTyp.LoadFromFile(d) - Dim ART = "" - ' Dim details = "" + 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 @@ -371,69 +338,71 @@ Anzeige: End If End If - If NCTS.EinzelSumAErledigungsinformationCDXWare IsNot Nothing Then - If NCTS.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung IsNot Nothing Then - If NCTS.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ObjektName IsNot Nothing Then - readNCTS_SumAMassnahmenbekanntgabe = NCTS.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ObjektName + 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.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ZeitpunktNachrichteneingang + zp = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ZeitpunktNachrichteneingang End If - If NCTS.EinzelSumAErledigungsinformationCDXWare.KopfDaten IsNot Nothing Then + If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten IsNot Nothing Then - If NCTS.EinzelSumAErledigungsinformationCDXWare.KopfDaten.RegNrATLAS IsNot Nothing Then - regNR = NCTS.EinzelSumAErledigungsinformationCDXWare.KopfDaten.RegNrATLAS + 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 - ' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. + If readNCTS_SumAMassnahmenbekanntgabe <> "" Then 'BEZUGSNR vorhanden Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit) - STATUS.dySt_BezugsNr = readNCTS_SumAMassnahmenbekanntgabe - 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, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS") - - If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id - STATUS.SAVE() - - - - '---------------------------------------------------------------- - - - 'Verwahrung ABSCHREIBUNG - - If saveAbschreibung Then - - Try - - - - Catch ex As Exception - - End Try - - - + '-----------------------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: Erledigungsinformation-Vorpapier CDX", STATUS.dySt_BezugsNr) + 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) @@ -756,14 +725,34 @@ Anzeige: 'Dim dtSendungen = SQL.loadDgvBySql("SELECT") Dim anzahlPackstuecke As Integer = -1 Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte"))) - Dim AnzahlStückStorniert As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte"))) + Dim StornierungKz As String = If(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz")) If gs_row.Item("gs_freitext") <> "" Then anzahlPackstuecke = CInt(System.Text.RegularExpressions.Regex.Match(gs_row.Item("gs_freitext"), "\d+").Value) End If If anzahlPackstuecke > 0 AndAlso anzahlPackstuecke <> AnzahlStückErledigt Then 'Hinweismeldung, wenn nicht alle erledigt wurden! - 'verwahrung@verag.ag - VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Erledigungsmeldung-DAKOSY fehlende Positionen - " & Now().ToShortDateString, "Bei " & MRNNR & "/" & regNR & " wurden nur " & AnzahlStückErledigt & " von " & gs_row.Item("gs_freitext") & " erledigt" & vbNewLine & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag") + 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)) + dt.Columns.Add("StornierungKZ", GetType(String)) + dt.Columns.Add("AnzahlStückErledigt", GetType(Integer)) + End If + + Dim ro As DataRow = dt.NewRow + ro("MRN") = gs_row.Item("gs_MRNNr") + ro("LKW_ID") = gs_row.Item("gs_avisoId") + ro("anzahlPackstuecke") = anzahlPackstuecke + ro("AnzahlStückErledigt") = AnzahlStückErledigt + 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() @@ -831,4 +820,63 @@ Anzeige: Return 0 End Function + + Public Shared Function createInfoMail(regNR As String, dt As DataTable, typ As String) As String + + Dim TextHTMLtable As String + + If typ = "MASSNAHME-DAKOSY" Then + + 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 + + Else + + TextHTMLtable &= "Bei " & 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 &= "" + 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 If + + + + + End Function End Class