You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
10 KiB
211 lines
10 KiB
Imports System.Data
|
|
Imports System.Data.SqlClient
|
|
Imports System.Data.SqlTypes
|
|
Public Class frmSBEdit
|
|
#Region "Deklarationen"
|
|
Public sb As edokadb.clsEdex_sb_serienbrief
|
|
Private EmpfData As New DataTable
|
|
Public ResultatDaten As New DataTable
|
|
#End Region
|
|
|
|
Sub New(ByRef serienbrief As edokadb.clsEdex_sb_serienbrief, ByRef daten As DataTable)
|
|
Me.InitializeComponent()
|
|
|
|
Me.sb = serienbrief
|
|
Me.EmpfData = daten.Copy
|
|
Me.ResultatDaten = daten.Copy
|
|
End Sub
|
|
Private Sub frmSBEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Try
|
|
Me.txtStatus.Text = Me.sb.iStatus.Value.ToString
|
|
Me.txtfehlerhaft.Text = Me.sb.iFehlerhaft.Value.ToString
|
|
Me.txtinbearbeitung.Text = Me.sb.iInBearbeitung.Value.ToString
|
|
Me.txterstellt.Text = Me.sb.iErstellt.Value.ToString
|
|
Me.txtgedruckt.Text = Me.sb.iGedruckt.Value.ToString
|
|
Me.txtbestätigt.Text = Me.sb.iBestaetigt.Value.ToString
|
|
Me.txtausgelöst.Text = Me.sb.iAusgeloest.Value.ToString
|
|
Me.txtBLDossier.Text = Me.sb.iBldossier.Value.ToString
|
|
|
|
Me.empflist.DataSource = Me.EmpfData
|
|
Me.empflist.DataMember = Me.EmpfData.TableName
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub SpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpeichernToolStripMenuItem.Click
|
|
Me.sb.iStatus = New SqlInt32(CType(Me.txtStatus.Text, Int32))
|
|
Me.sb.iFehlerhaft = New SqlInt32(CType(Me.txtfehlerhaft.Text, Int32))
|
|
Me.sb.iInBearbeitung = New SqlInt32(CType(Me.txtinbearbeitung.Text, Int32))
|
|
Me.sb.iErstellt = New SqlInt32(CType(Me.txterstellt.Text, Int32))
|
|
Me.sb.iGedruckt = New SqlInt32(CType(Me.txtgedruckt.Text, Int32))
|
|
Me.sb.iBestaetigt = New SqlInt32(CType(Me.txtbestätigt.Text, Int32))
|
|
Me.sb.iAusgeloest = New SqlInt32(CType(Me.txtausgelöst.Text, Int32))
|
|
Me.sb.iBldossier = New SqlInt32(CType(Me.txtBLDossier.Text, Int32))
|
|
Me.ResultatDaten.Clear()
|
|
Me.ResultatDaten = Me.EmpfData.Copy
|
|
End Sub
|
|
|
|
Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
|
|
|
|
End Sub
|
|
|
|
Private Sub StatusEmpfängerlisteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusEmpfängerlisteToolStripMenuItem.Click
|
|
Dim res As String = "-99"
|
|
res = InputBox("Status der Einträge in der Empängerliste:", "Status Empfängerliste setzen")
|
|
If res <> "-99" Then
|
|
For Each dr As DataRow In Me.EmpfData.Rows
|
|
dr.Item("Status") = res
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DruckstapelLöschenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DruckstapelLöschenToolStripMenuItem.Click
|
|
If MsgBox("Es werden alle Druckstapel gelöscht. Die Löschung kann nicht mehr rückgängig gemacht werde. Fortfahren?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Druckstapel löschen") = MsgBoxResult.Yes Then
|
|
set_druckjobstatus(3, Me.sb.iSerienbriefnr.Value)
|
|
End If
|
|
End Sub
|
|
|
|
Private Function set_druckjobstatus(ByVal status As Integer, ByVal serienbriefnr As Integer) As DataTable
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
Dim i As Integer
|
|
Dim dtToReturn As DataTable = New DataTable()
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
scmCmdToExecute.CommandText = "sp_edex_sb_set_druckjobstatus"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@druckjobnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, status))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@serienbriefnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, serienbriefnr))
|
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
Return dtToReturn
|
|
Catch ex As Exception
|
|
Throw New Exception("sp_check_dokumentreaktivierung::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
Finally
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub DokumentePruefenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DokumentePruefenToolStripMenuItem.Click
|
|
Try
|
|
Cursor = Cursors.WaitCursor
|
|
Dim i As Integer
|
|
Dim tmpdata As New DataTable
|
|
Dim errorstring As String = "Folgende Dokumente sind nicht im EDOKA:"
|
|
Dim dok As New edokadb.clsDokument
|
|
dok.cpMainConnectionProvider = Globals.conn
|
|
For i = 0 To EmpfData.Rows.Count - 1
|
|
tmpdata.Rows.Clear()
|
|
dok.sDokumentid = New SqlString(CType(EmpfData.Rows(i).Item("Dokumentid"), String))
|
|
tmpdata = dok.SelectOne()
|
|
If tmpdata.Rows.Count = 0 Then
|
|
errorstring = errorstring + vbCrLf + EmpfData.Rows(i).Item("Partnernr").ToString + ": " + EmpfData.Rows(i).Item("Dokumentid").ToString
|
|
End If
|
|
Next
|
|
tmpdata.Dispose()
|
|
dok.Dispose()
|
|
If errorstring <> "Folgende Dokumente sind nicht im EDOKA:" Then
|
|
MsgBox(errorstring, MsgBoxStyle.Critical)
|
|
Else
|
|
MsgBox("Alle Dokumente im EDOKA vorhanden.")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Bei der Prüfung ist ein Fehler aufgetreten:" + ex.Message)
|
|
Cursor = Cursors.Default
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub IndexdatenFürMarkierteDatensätzeGenerierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IndexdatenFürMarkierteDatensätzeGenerierenToolStripMenuItem.Click
|
|
If Not IO.File.Exists(Globals.Applikationsdaten.Rows(0).Item("pfad_temporaer_dokumente") + "\EDKB08Struktur.xml") Then
|
|
MsgBox("Die Datei 'EDKB08Struktur.xml' muss für diesen Vorgang im Verzeichnis " + Globals.Applikationsdaten.Rows(0).Item("pfad_temporaer_dokumente") + " zur Verfügung stehen.", MsgBoxStyle.Critical)
|
|
Exit Sub
|
|
End If
|
|
Dim importdata As New DataSet()
|
|
importdata.ReadXml(Globals.Applikationsdaten.Rows(0).Item("pfad_temporaer_dokumente") + "\EDKB08Struktur.xml")
|
|
importdata.Tables(0).Rows.Clear()
|
|
importdata.Tables(0).Columns.Add("BLKunde")
|
|
importdata.Tables(0).Columns.Add("Dokumentidbdr")
|
|
importdata.Tables(0).Columns.Add("Dokumentid")
|
|
importdata.Tables(0).Columns.Add("Bezeichnung")
|
|
|
|
Dim i As Integer = 0
|
|
Dim s As String = ""
|
|
|
|
Dim row As Long
|
|
Dim col As C1.Win.C1TrueDBGrid.C1DataColumn
|
|
Dim cols As Integer, rows As Long
|
|
If Me.empflist.SelectedRows.Count = 0 Then
|
|
s = Me.empflist.Columns("Dokumentid").Text
|
|
Insert_datarow(importdata, s)
|
|
Else
|
|
For Each row In Me.empflist.SelectedRows
|
|
For Each col In Me.empflist.Columns
|
|
If col.Caption = "DOKUMENTID" Then
|
|
s = col.CellText(row)
|
|
Insert_datarow(importdata, s)
|
|
End If
|
|
Next
|
|
Next
|
|
End If
|
|
importdata.WriteXml(Globals.Applikationsdaten.Rows(0).Item("pfad_temporaer_dokumente") + "\" + Me.sb.iSerienbriefnr.Value.ToString + "_EDKB08_Import.xml")
|
|
MsgBox("Die Datei " + Globals.Applikationsdaten.Rows(0).Item("pfad_temporaer_dokumente") + "\" + Me.sb.iSerienbriefnr.Value.ToString + "_EDKB08_Import.xml mit den generierten Indexdaten wurde erstellt.")
|
|
End Sub
|
|
Private Function Insert_datarow(ByVal importdata As DataSet, ByVal dokumentid As String)
|
|
Dim i As Integer
|
|
For Each dv As DataRow In EmpfData.Rows
|
|
If dv.Item("Dokumentid") = dokumentid Then
|
|
Dim dr As DataRow
|
|
dr = importdata.Tables(0).NewRow
|
|
Try
|
|
While i < 40
|
|
dr.Item(i) = ""
|
|
i = i + 1
|
|
End While
|
|
Catch
|
|
End Try
|
|
dr.Item("Funktion") = "ADD"
|
|
dr.Item("PARTNERNR") = dv.Item("Partnernr")
|
|
dr.Item("Dokumenttypnr") = sb.iDokumenttypnr.Value
|
|
dr.Item("dateiname") = dv.Item("Dokumentid") + ".pdf"
|
|
dr.Item("Dateiformat") = "PDF"
|
|
dr.Item("Archivdatum") = Now.ToString
|
|
Dim ma As New edokadb.clsMitarbeiter
|
|
ma.cpMainConnectionProvider = Globals.conn
|
|
ma.iMitarbeiternr = New SqlInt32(CType(dv.Item("Ersteller"), Int32))
|
|
ma.SelectOne()
|
|
dr.Item("Ersteller") = ma.sTgnummer.Value.ToString
|
|
ma.Dispose()
|
|
dr.Item("HERKUNFTSAPPLIKATION") = "EDKB09"
|
|
dr.Item("Dokumentid") = dv.Item("Dokumentid")
|
|
dr.Item("Dokumentidbdr") = dv.Item("Dokumentidbdr")
|
|
|
|
'Rel. 4.1 - Nur als BL-Kunde kennzeichnen, sofern so im Serienbrief festgehalten
|
|
If sb.iBldossier.Value.ToString = "1" Then
|
|
dr.Item("BLKunde") = dv.Item("BLKUNDE")
|
|
Else
|
|
If dv.Item("BLKunde") = "1" Then
|
|
'insert_sb_bl_physiche_ablage_journal(Me.Serienbriefnr, sb.sBezeichnung.Value.ToString, get_tgnummer(dv.Item("Ersteller")), dv.Item("Partnernr"), dv.Item("DokumentID"))
|
|
End If
|
|
dr.Item("BLKunde") = "0"
|
|
End If
|
|
|
|
dr.Item("Bezeichnung") = sb.sBezeichnung.Value
|
|
dr.Item("DOKUMENTWERT2") = "Serienbriefnr;" + sb.iSerienbriefnr.ToString
|
|
importdata.Tables(0).Rows.Add(dr)
|
|
End If
|
|
Next
|
|
End Function
|
|
End Class |