From 3b65e9ecd2989348349fbcb6ed3768e6d3f1e2a1 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 24 Mar 2026 08:47:29 +0100 Subject: [PATCH] dakosy-sumA, etc. --- initATLASAufschubkonten/cGetMsgType.vb | 16 +++ initATLASAufschubkonten/cWorker_NCTS.vb | 2 +- initATLASAufschubkonten/cWorker_Verwahrung.vb | 119 +++++++++++++++++- .../frmDYNachrichtenVerarbeitung.vb | 8 ++ 4 files changed, 139 insertions(+), 6 deletions(-) diff --git a/initATLASAufschubkonten/cGetMsgType.vb b/initATLASAufschubkonten/cGetMsgType.vb index 8d2312a..7f58af0 100644 --- a/initATLASAufschubkonten/cGetMsgType.vb +++ b/initATLASAufschubkonten/cGetMsgType.vb @@ -14,6 +14,7 @@ Public Class cGetMsgType End If Return False + End Function Shared Function isEZA_FreierVerkehrAktVeredelUmwandlung(lines() As String) As Boolean @@ -41,6 +42,21 @@ Public Class cGetMsgType End Function + Shared Function isSumAErledigungsinformation(doc As XmlDocument, ByRef version As String) As Boolean + If doc.HasChildNodes Then + If doc.GetElementsByTagName("SumAErledigungsinformation").Count > 0 Then + '005 + If doc.GetElementsByTagName("Version").Count > 0 Then + version = doc.GetElementsByTagName("Version")(0).InnerText + End If + + Return True + End If + End If + Return False + End Function + + Shared Function isNCTS_Ueberlassungsmeldung(doc As XmlDocument, ByRef version As String) As Boolean If doc.HasChildNodes Then If doc.GetElementsByTagName("UeberlassungsmeldungNCTSDE").Count > 0 Then diff --git a/initATLASAufschubkonten/cWorker_NCTS.vb b/initATLASAufschubkonten/cWorker_NCTS.vb index eb84e99..d155a82 100644 --- a/initATLASAufschubkonten/cWorker_NCTS.vb +++ b/initATLASAufschubkonten/cWorker_NCTS.vb @@ -4104,7 +4104,7 @@ Public Class cWorker_NCTS If saveVerwahrung Then 'saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf) - cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, True) + cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, True, "T1") End If diff --git a/initATLASAufschubkonten/cWorker_Verwahrung.vb b/initATLASAufschubkonten/cWorker_Verwahrung.vb index 714ae16..2687989 100644 --- a/initATLASAufschubkonten/cWorker_Verwahrung.vb +++ b/initATLASAufschubkonten/cWorker_Verwahrung.vb @@ -125,6 +125,115 @@ Anzeige: 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 RegistriernummerATLAS = "" + Dim VeralteteWeitereRegistriernummer = "" + Dim VeralteteWeitereNachweise = "" + 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.RegNrATLASWeitereNachweise IsNot Nothing Then + RegistriernummerATLAS = VWI.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise + End If + + If VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise IsNot Nothing Then + VeralteteWeitereNachweise = VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise + End If + + If VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereRegistriernummer IsNot Nothing Then + VeralteteWeitereRegistriernummer = VWI.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereRegistriernummer + End If + + If VWI.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung IsNot Nothing Then + ArtErledigung = VWI.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung + 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") = RegistriernummerATLAS + ro("IDRegNrSumAPos") = POS.Positionsnummer + 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 RegistriernummerATLAS <> "" 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(RegistriernummerATLAS, posErledigung, VeralteteWeitereRegistriernummer, zp, sendMail, testlauf,, "SumAErledigung") + +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 + + + @@ -222,7 +331,7 @@ Anzeige: 'Verwahrung ABSCHREIBUNG - rechte Seite bei Gesamtsicherheiten If saveAbschreibung AndAlso ART <> "NCTS" Then 'bei NCTS wird der Ausgang über ein UeberlassungsmeldungNCTSDE aufgelöst!!!!!! - saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, zp, sendMail, testlauf) + saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, zp, sendMail, testlauf,, "SumAErledigung-VP") Anzeige: @@ -708,7 +817,7 @@ Anzeige: 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) + 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 zusätzlicheInfo As String = "") Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM @@ -857,13 +966,13 @@ Anzeige: End With - SicherheitsPos.SAVE() - GesSichRef.CalcSaldo() + 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") + 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 diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb index d7a4e1e..211ce7b 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb @@ -415,6 +415,14 @@ Public Class frmDYNachrichtenVerarbeitung End If + If Not found And cGetMsgType.isSumAErledigungsinformation(doc, VERSION) Then + Select Case VERSION + Case "005" :: If cWorker_Verwahrung.readVW_SumAErledigungsinformation(Me, d, saveVerwahrung, sendMail, GESTELLUNG_TESTLAUF) <> "" Then found = True '--> TEIL DER VERWAHRUNG - RECHTE SEITE + Case Else : If cWorker_Verwahrung.readVW_SumAErledigungsinformation(Me, d, saveVerwahrung, sendMail, GESTELLUNG_TESTLAUF) <> "" Then found = True '--> TEIL DER VERWAHRUNG - RECHTE SEITE + End Select + End If + + 'VW: SumAErledigungsinformationVorpapier If Not found And cGetMsgType.isEZA_SumAErledigungsinformationVorpapier(doc, VERSION) Then Select Case VERSION