Datenarchivarchiv
This commit is contained in:
@@ -4,56 +4,120 @@ Public Class frmDatenarchivarchiv
|
||||
|
||||
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
Try
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
If txtMax._value = "" Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If Not IsNumeric(txtMax._value) Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If Not IsDate(txtVon._value) Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If Not IsDate(txtBis._value) Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If txtKategorie.Text Is String.Empty Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If txtOrdner.Text Is String.Empty Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
|
||||
Dim DT = SQL.loadDgvBySql(" SELECT TOP (" & txtMax._value & ") [da_id] FROM [tblDatenarchiv] inner join tblDatenarchiv_Collection on da_id=coll_daId
|
||||
where da_vorlage=0 and coll_date BETWEEN '" & txtVon._value & "' and '" & txtBis._value & "' and coll_pfad NOT LIKE '%\\stor01.verag.ost.dmn\DatenArchivArchiv%' and coll_pfad NOT LIKE '\\DELETED\%'
|
||||
AND da_kategorie='" & txtKategorie.Text & "' and da_ordner='" & txtOrdner.Text & "'
|
||||
and da_id>=392150 group by [da_id] order by [da_id] ", "FMZOLL")
|
||||
Dim maxEintraege As Integer
|
||||
Dim datumVon As Date
|
||||
Dim datumBis As Date
|
||||
|
||||
If DT Is Nothing Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If DT.Rows.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub
|
||||
If Not Integer.TryParse(txtMax._value, maxEintraege) OrElse maxEintraege <= 0 Then Exit Sub
|
||||
If Not Date.TryParse(txtVon._value, datumVon) Then Exit Sub
|
||||
If Not Date.TryParse(txtBis._value, datumBis) Then Exit Sub
|
||||
If datumVon.Date > datumBis.Date Then Exit Sub
|
||||
If String.IsNullOrWhiteSpace(txtKategorie.Text) Then Exit Sub
|
||||
If String.IsNullOrWhiteSpace(txtOrdner.Text) Then Exit Sub
|
||||
|
||||
If vbYes = MsgBox("Es werden '" & DT.Rows.Count & "' Einträge verschoben - fortfahren?", vbYesNoCancel) Then
|
||||
Dim sqlText As String =
|
||||
"SELECT TOP (" & maxEintraege & ") da.da_id " &
|
||||
"FROM tblDatenarchiv da " &
|
||||
"WHERE da.da_vorlage = 0 " &
|
||||
"AND da.da_kategorie = '" & txtKategorie.Text.Replace("'", "''") & "' " &
|
||||
"AND da.da_ordner = '" & txtOrdner.Text.Replace("'", "''") & "' " &
|
||||
"AND da.da_id >= 392150 " &
|
||||
"AND EXISTS (" &
|
||||
"SELECT 1 FROM tblDatenarchiv_Collection coll " &
|
||||
"WHERE coll.coll_daId = da.da_id " &
|
||||
"AND coll.coll_date >= '" & datumVon.ToString("yyyyMMdd") & "' " &
|
||||
"AND coll.coll_date < '" & datumBis.AddDays(1).ToString("yyyyMMdd") & "' " &
|
||||
"AND coll.coll_pfad NOT LIKE '%\\stor01.verag.ost.dmn\DatenArchivArchiv%' " &
|
||||
"AND coll.coll_pfad NOT LIKE '\\DELETED\%' " &
|
||||
") ORDER BY da.da_id"
|
||||
|
||||
ProgressBar1.Minimum = 1
|
||||
ProgressBar1.Maximum = DT.Rows.Count
|
||||
ProgressBar1.Step = 1
|
||||
ProgressBar1.Value = 1
|
||||
Dim DT = SQL.loadDgvBySql(sqlText, "FMZOLL")
|
||||
|
||||
For Each ROW In DT.Rows
|
||||
'Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(txtKategorie._value, txtOrdner._value, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, txtMax._value)
|
||||
If DT Is Nothing OrElse DT.Rows.Count = 0 Then Exit Sub
|
||||
|
||||
If MsgBox("Es werden '" & DT.Rows.Count & "' Einträge verschoben - fortfahren?", vbYesNoCancel) <> vbYes Then Exit Sub
|
||||
|
||||
ProgressBar1.Minimum = 0
|
||||
ProgressBar1.Maximum = DT.Rows.Count
|
||||
ProgressBar1.Value = 0
|
||||
|
||||
Dim erfolgreich As Integer = 0
|
||||
Dim fehler As Integer = 0
|
||||
|
||||
For Each ROW As DataRow In DT.Rows
|
||||
Try
|
||||
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(ROW("da_id"))
|
||||
|
||||
If DS.DATA_LIST.LIST.Count > 0 Then
|
||||
DS.moveTo_ARCHIVARCHIV()
|
||||
End If
|
||||
ProgressBar1.PerformStep()
|
||||
|
||||
Label1.Text = ProgressBar1.Value & "/" & DT.Rows.Count
|
||||
|
||||
If DT.Rows.Count < 100 Then
|
||||
Me.Refresh()
|
||||
Else
|
||||
If ProgressBar1.Value Mod 20 = 0 Then
|
||||
Me.Refresh()
|
||||
If DS.moveTo_ARCHIVARCHIV() Then
|
||||
erfolgreich += 1
|
||||
Else
|
||||
fehler += 1
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
Catch ex2 As Exception
|
||||
fehler += 1
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex2.Message, "da_id: " & ROW("da_id").ToString() & vbNewLine & ex2.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
||||
End Try
|
||||
|
||||
ProgressBar1.Value += 1
|
||||
Label1.Text = ProgressBar1.Value & "/" & DT.Rows.Count & " | Fehler: " & fehler
|
||||
|
||||
If DT.Rows.Count < 10 OrElse ProgressBar1.Value Mod 20 = 0 Then
|
||||
Me.Refresh()
|
||||
End If
|
||||
Next
|
||||
|
||||
MsgBox("Archivierung abgeschlossen." & vbNewLine &
|
||||
"Erfolgreich: " & erfolgreich & vbNewLine &
|
||||
"Fehler: " & fehler, vbInformation)
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
||||
Finally
|
||||
Me.Cursor = Cursors.Default
|
||||
End Try
|
||||
Me.Cursor = Cursors.Default
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub frmDatenarchivarchiv_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Dim monate As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
|
||||
|
||||
For i As Integer = 1 To 12
|
||||
monate.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(New Date(2000, i, 1).ToString("MMMM", New System.Globalization.CultureInfo("de-AT")), i.ToString()))
|
||||
Next
|
||||
|
||||
MyComboBox1.fillWithMyListItem(monate)
|
||||
MyComboBox1._value = Date.Today.Month.ToString()
|
||||
MyTextBox1._value = Date.Today.Year.ToString()
|
||||
|
||||
UpdateZeitraum()
|
||||
End Sub
|
||||
|
||||
Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged
|
||||
UpdateZeitraum()
|
||||
End Sub
|
||||
|
||||
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.TextChanged
|
||||
UpdateZeitraum()
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateZeitraum()
|
||||
Dim jahr As Integer
|
||||
Dim monat As Integer
|
||||
|
||||
If Not Integer.TryParse(MyTextBox1._value, jahr) Then Exit Sub
|
||||
If Not Integer.TryParse(MyComboBox1._value, monat) Then Exit Sub
|
||||
If jahr < 1 OrElse jahr > 9999 OrElse monat < 1 OrElse monat > 12 Then Exit Sub
|
||||
|
||||
txtVon._value = New Date(jahr, monat, 1).ToString("dd.MM.yyyy")
|
||||
txtBis._value = New Date(jahr, monat, Date.DaysInMonth(jahr, monat)).ToString("dd.MM.yyyy")
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user