Sicherheiten -> CBAM

This commit is contained in:
2026-11-06 11:02:06 +01:00
parent 01995273bf
commit 77b757b031
2 changed files with 118 additions and 6 deletions

View File

@@ -43,6 +43,7 @@ Partial Class usrCntlDatenarchiv
Me.txtMaxSrch = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtMaxSrch = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.Button10 = New System.Windows.Forms.Button() Me.Button10 = New System.Windows.Forms.Button()
Me.Button11 = New System.Windows.Forms.Button() Me.Button11 = New System.Windows.Forms.Button()
Me.lblWorkingArea = New System.Windows.Forms.Label()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout() Me.SplitContainer.Panel1.SuspendLayout()
Me.SplitContainer.Panel2.SuspendLayout() Me.SplitContainer.Panel2.SuspendLayout()
@@ -98,6 +99,7 @@ Partial Class usrCntlDatenarchiv
' '
'SplitContainer1.Panel1 'SplitContainer1.Panel1
' '
Me.SplitContainer1.Panel1.Controls.Add(Me.lblWorkingArea)
Me.SplitContainer1.Panel1.Controls.Add(Me.lblfehlendeDokumente) Me.SplitContainer1.Panel1.Controls.Add(Me.lblfehlendeDokumente)
Me.SplitContainer1.Panel1.Controls.Add(Me.Button1) Me.SplitContainer1.Panel1.Controls.Add(Me.Button1)
Me.SplitContainer1.Panel1.Controls.Add(Me.cbxTestsystem) Me.SplitContainer1.Panel1.Controls.Add(Me.cbxTestsystem)
@@ -115,7 +117,7 @@ Partial Class usrCntlDatenarchiv
' '
Me.lblfehlendeDokumente.AutoSize = True Me.lblfehlendeDokumente.AutoSize = True
Me.lblfehlendeDokumente.ForeColor = System.Drawing.Color.Red Me.lblfehlendeDokumente.ForeColor = System.Drawing.Color.Red
Me.lblfehlendeDokumente.Location = New System.Drawing.Point(617, 15) Me.lblfehlendeDokumente.Location = New System.Drawing.Point(449, 54)
Me.lblfehlendeDokumente.Name = "lblfehlendeDokumente" Me.lblfehlendeDokumente.Name = "lblfehlendeDokumente"
Me.lblfehlendeDokumente.Size = New System.Drawing.Size(0, 13) Me.lblfehlendeDokumente.Size = New System.Drawing.Size(0, 13)
Me.lblfehlendeDokumente.TabIndex = 57 Me.lblfehlendeDokumente.TabIndex = 57
@@ -326,6 +328,15 @@ Partial Class usrCntlDatenarchiv
Me.Button11.TabIndex = 4 Me.Button11.TabIndex = 4
Me.Button11.UseVisualStyleBackColor = True Me.Button11.UseVisualStyleBackColor = True
' '
'lblWorkingArea
'
Me.lblWorkingArea.AutoSize = True
Me.lblWorkingArea.ForeColor = System.Drawing.Color.Black
Me.lblWorkingArea.Location = New System.Drawing.Point(449, 36)
Me.lblWorkingArea.Name = "lblWorkingArea"
Me.lblWorkingArea.Size = New System.Drawing.Size(0, 13)
Me.lblWorkingArea.TabIndex = 58
'
'usrCntlDatenarchiv 'usrCntlDatenarchiv
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -371,4 +382,5 @@ Partial Class usrCntlDatenarchiv
Friend WithEvents btnSave As Button Friend WithEvents btnSave As Button
Friend WithEvents Button1 As Button Friend WithEvents Button1 As Button
Friend WithEvents lblfehlendeDokumente As Label Friend WithEvents lblfehlendeDokumente As Label
Friend WithEvents lblWorkingArea As Label
End Class End Class

View File

@@ -179,13 +179,17 @@ Public Class usrCntlDatenarchiv
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim jahr As Integer = 2026 Dim jahr As Integer = 2026
Dim zupruefendeDokumente As String = " select top(100000) * from [tblDatenarchiv_Collection] where Year(coll_date) = " & jahr & " and coll_archiv = 0 and isnull(coll_pfad,'') <> '' order by coll_date desc " 'Dim zupruefendeDokumente As String = " select top(100000) * from [tblDatenarchiv_Collection] where Year(coll_date) = " & jahr & " and coll_archiv = 0 and isnull(coll_pfad,'') <> '' order by coll_date desc "
Dim zupruefendeDokumente As String = " select top(100000) * from [tblDatenarchiv_Collection] where cast(coll_date as Date) = '29.10.2026' and coll_archiv = 0 and isnull(coll_pfad,'') <> '' order by coll_date desc "
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim Datenarchiv_DOKS As DataTable = SQL.loadDgvBySql(zupruefendeDokumente, "FMZOLL") Dim Datenarchiv_DOKS As DataTable = SQL.loadDgvBySql(zupruefendeDokumente, "FMZOLL")
Dim dtFehlendeDOKS = Datenarchiv_DOKS.Clone() Dim dtFehlendeDOKS = Datenarchiv_DOKS.Clone()
Dim listOfSources As New List(Of String)
Dim listOfCOLL_DAID As New List(Of Integer)
If Datenarchiv_DOKS.Rows.Count > 0 Then If Datenarchiv_DOKS.Rows.Count > 0 Then
@@ -194,13 +198,16 @@ Public Class usrCntlDatenarchiv
If r.Item("coll_pfad") <> "" Then If r.Item("coll_pfad") <> "" Then
If Not System.IO.File.Exists(r.Item("coll_pfad")) Then If Not System.IO.File.Exists(r.Item("coll_pfad")) Then
dtFehlendeDOKS.ImportRow(r) dtFehlendeDOKS.ImportRow(r)
lblfehlendeDokumente.Text = "fehlende Doks.: " & dtFehlendeDOKS.Rows.Count lblfehlendeDokumente.Text = "fehlende DOK.: " & dtFehlendeDOKS.Rows.Count
Me.Refresh() addToLlist(listOfSources, listOfCOLL_DAID, r)
If dtFehlendeDOKS.Rows.Count >= 10000 Then Exit For 'Me.Refresh()
If dtFehlendeDOKS.Rows.Count >= 1000 Then Exit For
End If End If
End If End If
lblWorkingArea.Text = "geprüft DOK.: : " & Datenarchiv_DOKS.Rows.IndexOf(r) & "/" & Datenarchiv_DOKS.Rows.Count
Me.Refresh()
Next Next
@@ -209,9 +216,53 @@ Public Class usrCntlDatenarchiv
MsgBox("Es existieren " & dtFehlendeDOKS.Rows.Count & " Datenarchiv-Datensätze, die kein zugeordnetes Dokument besitzen!") MsgBox("Es existieren " & dtFehlendeDOKS.Rows.Count & " Datenarchiv-Datensätze, die kein zugeordnetes Dokument besitzen!")
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtFehlendeDOKS,,,,, True,,, True) VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtFehlendeDOKS,,,,, True,,, True)
Dim deleted As Boolean = False
If vbYes = MsgBox("Sollen diese Datenarchiveinträge gelöscht werden?" & vbNewLine & "Bitte vorher Excelliste prüfen!", vbYesNo) Then
Dim Where As String = ""
For Each DAID In listOfCOLL_DAID
Where &= DAID & ","
Next
Where = Where.Substring(0, Where.Length - 1)
deleted = SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_daId] in (" & Where & ")", "FMZOLL")
deleted = SQL.doSQL("DELETE FROM [tblDatenarchiv] WHERE [da_id] in (" & Where & ")", "FMZOLL")
If deleted Then
For Each source In listOfSources
'Hier muss die DA-ID in der verknüpften Tabelle auf NULL gesetzt werden!
Select Case source
Case "AVISO_ANHAENGE" : SQL.doSQL("UPDATE tblAvisoAnhaenge set tblAvisoAnhaenge.anh_docId = NULL where tblAvisoAnhaenge.anh_docId in (" & Where & ")", "AVISO") ' -> Eintrag auch gleich löschen- > NEIN nur DA_ID laut Andreas, wegen Nachvollziehbarkeit: 05.11.2026
'Case "UID_PRUEFUNG"; EORI_PRUEFUNG -> Über AVISO-Anhänge
Case "RECHNUNGEN" : SQL.doSQL("UPDATE Rechnungsausgang set Rechnungsausgang.dsId = NULL where Rechnungsausgang.dsId in (" & Where & ")", "FMZOLL")
Case "ZUGFERD" : SQL.doSQL("UPDATE Rechnungsausgang set Rechnungsausgang.zugferdcheck_daid = NULL where Rechnungsausgang.zugferdcheck_daid in (" & Where & ")", "FMZOLL")
Case "CREDITSAFE" : SQL.doSQL("UPDATE tblBonitaetsauskunft set tblBonitaetsauskunft.ba_datenarchivId = NULL where tblBonitaetsauskunft.ba_datenarchivId in (" & Where & ")", "FMZOLL")
'3x weil 3 versch. Felder!
Case "VOLLMACHTEN"
SQL.doSQL("UPDATE tblKundenVollmachten set tblKundenVollmachten.kdvm_datenarchivId = NULL where tblKundenVollmachten.kdvm_datenarchivId in (" & Where & ")", "FMZOLL")
SQL.doSQL("UPDATE tblKundenVollmachten set tblKundenVollmachten.kdvm_emailId = NULL where tblKundenVollmachten.kdvm_emailId in (" & Where & ")", "FMZOLL")
SQL.doSQL("UPDATE tblKundenVollmachten set tblKundenVollmachten.kdvm_datenarchivId_2 = NULL where tblKundenVollmachten.kdvm_datenarchivId_2 in (" & Where & ")", "FMZOLL")
'MDM
Case "USTVA" : SQL.doSQL("UPDATE tblUStVPositionen set tblUStVPositionen.UStVPo_daId = NULL where UStVPo_daId_loeschbar = 1 AND tblUStVPositionen.UStVPo_daId in (" & Where & ")", "FMZOLL")
Case "USTVERS" : SQL.doSQL("UPDATE tblUStVErstattung set tblUStVErstattung.UStVEr_daId = NULL where tblUStVErstattung.UStVEr_daId in (" & Where & ")", "FMZOLL")
End Select
Next
End If
If vbYes = MsgBox("Sollen diese Datenarchiveinträge gelöscht werden?", vbYesNo) Then If deleted Then
MsgBox("Daten wurden erfolgreich bereinigt!")
Else
MsgBox("Fehler beim Bereinigen der Daten!")
End If
End If End If
@@ -227,4 +278,53 @@ Public Class usrCntlDatenarchiv
End Sub End Sub
Private Sub addToLlist(listOfSources As List(Of String), listOfCOLL_DAID As List(Of Integer), r As DataRow)
Dim da_id As Integer
If Not IsDBNull(r.Item("coll_daId")) AndAlso Integer.TryParse(Convert.ToString(r.Item("coll_daId")).Trim(), da_id) Then
If Not listOfCOLL_DAID.Contains(da_id) Then
listOfCOLL_DAID.Add(da_id)
End If
End If
If r.Item("coll_pfad").ToString.Contains("AVISO_ANHAENGE") Then
If Not listOfSources.Contains("AVISO_ANHAENGE") Then listOfSources.Add("AVISO_ANHAENGE")
ElseIf r.Item("coll_pfad").ToString.Contains("RECHNUNGEN") Then
If Not listOfSources.Contains("RECHNUNGEN") Then listOfSources.Add("RECHNUNGEN")
ElseIf r.Item("coll_pfad").ToString.Contains("CHAT_ANHAENGE") Then
If Not listOfSources.Contains("CHAT_ANHAENGE") Then listOfSources.Add("CHAT_ANHAENGE")
ElseIf r.Item("coll_pfad").ToString.Contains("VOLLMACHTEN") Then
If Not listOfSources.Contains("VOLLMACHTEN") Then listOfSources.Add("VOLLMACHTEN")
ElseIf r.Item("coll_pfad").ToString.Contains("CREDITSAFE") Then
If Not listOfSources.Contains("CREDITSAFE") Then listOfSources.Add("CREDITSAFE")
ElseIf r.Item("coll_pfad").ToString.Contains("ZUGFERD") Then
If Not listOfSources.Contains("ZUGFERD") Then listOfSources.Add("ZUGFERD")
ElseIf r.Item("coll_pfad").ToString.Contains("KD_VERTRÄGE") Then
If Not listOfSources.Contains("KD_VERTRÄGE") Then listOfSources.Add("KD_VERTRÄGE")
ElseIf r.Item("coll_pfad").ToString.Contains("ZOLLDATEN") AndAlso r.Item("coll_pfad").ToString.Contains("DAKOSY") Then
If Not listOfSources.Contains("ZOLLDATEN") Then listOfSources.Add("ZOLLDATEN_DAKOSY")
ElseIf r.Item("coll_pfad").ToString.Contains("UID_PRUEFUNG") Then
If Not listOfSources.Contains("UID_PRUEFUNG") Then listOfSources.Add("UID_PRUEFUNG")
ElseIf r.Item("coll_pfad").ToString.Contains("EORI_PRUEFUNG") Then
If Not listOfSources.Contains("EORI_PRUEFUNG") Then listOfSources.Add("EORI_PRUEFUNG")
End If
'MDM-Spezifisch
If r.Item("coll_pfad").ToString.Contains("USTVERS_") AndAlso r.Item("coll_pfad").ToString.Contains("MDM") Then
If Not listOfSources.Contains("USTVERS_") Then listOfSources.Add("USTVERS")
End If
If r.Item("coll_pfad").ToString.Contains("USTVA_") AndAlso r.Item("coll_pfad").ToString.Contains("MDM") Then
If Not listOfSources.Contains("USTVA_") Then listOfSources.Add("USTVA")
End If
End Sub
End Class End Class