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.

247 lines
9.6 KiB

Public Class frmFakturierung
Dim db As New clsDB
Dim abgeschlossen As New DataTable
Dim ausgeschlossen As New DataTable
Dim spalten As New Tabellenspalte
Private Sub frmFakturierung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
db.Get_Tabledata("view_abgeschlossene_Behandlungen", "")
abgeschlossen = db.dsDaten.Tables(0).Copy
ausgeschlossen = abgeschlossen.Copy
ausgeschlossen.Rows.Clear()
Me.C1Abgeschlossen.DataSource = abgeschlossen
Me.C1Abgeschlossen.DataMember = abgeschlossen.TableName
spalten.Spaltentitel_aktualisieren(Me.C1Abgeschlossen, abgeschlossen.TableName, abgeschlossen)
Me.C1Ausgeschlossen.DataSource = ausgeschlossen
Me.C1Ausgeschlossen.DataMember = ausgeschlossen.TableName
spalten.Spaltentitel_aktualisieren(Me.C1Ausgeschlossen, ausgeschlossen.TableName, ausgeschlossen)
refresh_total()
Me.DateTimePicker1.Left = Me.Width - Me.DateTimePicker1.Width - 20
Me.Label1.Left = Me.DateTimePicker1.Left - Me.Label1.Width - 20
End Sub
Sub refresh_total()
Try
Dim betrag As Double = 0
For Each r As DataRow In abgeschlossen.Rows
betrag = betrag + r.Item("total")
Next
Me.lblbetrag.Text = FormatNumber(CDbl(betrag), 2)
Catch
Me.lblbetrag.Text = "n.a."
End Try
End Sub
Private Sub ToolStripButton5_Click(sender As Object, e As EventArgs) Handles ToolStripButton5.Click
If MsgBox("Fakturierung ausführen?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Dim fp As New frmFortschritt
fp.Show()
Dim dt As New DataTable
dt = Me.C1Abgeschlossen.DataSource
fp.ProgressBar1.Minimum = 1
fp.ProgressBar1.Maximum = dt.Rows.Count + 1
fp.ProgressBar1.Value = 1
For Each r In dt.Rows
Faktura_Aufbereiten(r)
fp.ProgressBar1.Value = fp.ProgressBar1.Value + 1
fp.Refresh()
Next
fp.Close()
Me.Close()
Exit Sub
Dim f As New frmReportView()
For Each r In dt.Rows
If r.item("raten") > 0 Then
Dim i As Integer
For i = 1 To r.item("raten")
f.Fakturierung(r.item("nrestyp"), r.item("nrbehandlung"), " where nrbehandlung = " + r.item("nrbehandlung").ToString, i)
Next
Else
f.Fakturierung(r.item("nrestyp"), r.item("nrbehandlung"), " where nrbehandlung = " + r.item("nrbehandlung").ToString, 0)
End If
Next
f.Visible = False
f.Close()
End Sub
Sub Faktura_Aufbereiten(ByVal r As DataRow)
Globals.pdfCollection.Clear()
Dim buchen As Boolean = True
Dim anzahlraten As Integer = 0
Dim Empfaenger As String = ""
db.Get_Tabledata("Behandlu", "where nrbehandlung=" + r.Item("nrbehandlung").ToString)
If Me.DateTimePicker1.Value.ToShortDateString <> Now.ToShortDateString Then
Dim r1 As DataRow
r1 = db.dsDaten.Tables(0).Rows(0)
r1.Item("RGdatum") = Me.DateTimePicker1.Value
db.Update_Data()
End If
anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten")
Empfaenger = db.dsDaten.Tables(0).Rows(0).Item("Empfaenger")
If anzahlraten = 0 Then anzahlraten = 1
Globals.FakturaNr = 0
Dim reportnr As Integer
reportnr = db.Get_ReportNr_by_ESTypnr(r.Item("nrestyp"))
Dim OriginalReportnr As Integer
OriginalReportnr = reportnr
Dim Folgeauswertung As Integer
Dim Separater_Druckjob As Boolean
Dim doloop As Boolean = True
db.Get_Tabledata("Auswertung", "where auswertungnr=" + reportnr.ToString)
Folgeauswertung = db.dsDaten.Tables(0).Rows(0).Item("Folge_Report")
Separater_Druckjob = db.dsDaten.Tables(0).Rows(0).Item("Folgereport_Sep_Druckjob")
Dim hauptfaktura As Integer
While doloop = True
For i As Integer = 1 To anzahlraten
If i = 1 And Empfaenger <> "" Then
Dim f0 As New frmReportView(9999, False, "Vorschau Rechung", " where nrbehandlung = " + r.Item("nrbehandlung").ToString, r.Item("nrbehandlung").ToString, r.Item("permail"))
f0.Visible = False
f0.Show()
f0.Visible = False
f0.Fakturierung(9999, r.Item("nrbehandlung").ToString, "", i, buchen:=False)
f0.Close()
Globals.FakturaNr = 0
End If
Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + r.Item("nrbehandlung").ToString, r.Item("nrbehandlung").ToString, r.Item("permail"))
f.Visible = False
f.Show()
f.Visible = False
f.Fakturierung(reportnr, r.Item("nrbehandlung"), "", i, buchen:=buchen)
f.Close()
If anzahlraten > 1 And i < 2 And Folgeauswertung > 0 Then
reportnr = Folgeauswertung
db.Get_Tabledata("Auswertung", "where auswertungnr=" + Folgeauswertung.ToString)
Folgeauswertung = db.dsDaten.Tables(0).Rows(0).Item("Folge_Report")
Separater_Druckjob = db.dsDaten.Tables(0).Rows(0).Item("Folgereport_Sep_Druckjob")
Dim f1 As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + r.Item("nrbehandlung").ToString, r.Item("nrbehandlung").ToString, r.Item("permail"))
f1.Visible = False
f1.Show()
f1.Fakturierung(reportnr, r.Item("nrbehandlung"), "", i, buchen:=buchen)
f1.Close()
reportnr = OriginalReportnr
End If
Next i
If Folgeauswertung > 0 And anzahlraten < 2 Then
buchen = False
reportnr = Folgeauswertung
db.Get_Tabledata("Auswertung", "where auswertungnr=" + Folgeauswertung.ToString)
Folgeauswertung = db.dsDaten.Tables(0).Rows(0).Item("Folge_Report")
Separater_Druckjob = db.dsDaten.Tables(0).Rows(0).Item("Folgereport_Sep_Druckjob")
Else
doloop = False
End If
End While
Dim pdfh As New clspdfhelper
pdfh.Create_Archivdoc(clspdfhelper.GetEmpfaengerType.FromLastFaktura, "", "Rechnung:")
If r.Item("permail") = True Then
pdfh.HandlePDF(True, True, 2, clspdfhelper.GetEmpfaengerType.FromLastFaktura, 0)
End If
pdfh = Nothing
Globals.pdfCollection.Clear()
Globals.FakturaNr = 0
End Sub
Private Sub ToolStripButton6_Click(sender As Object, e As EventArgs) Handles ToolStripButton6.Click
Dim f As New frmPrinterselect
f.MdiParent = Me.MdiParent
f.Show()
End Sub
Private Sub tsbtnquit_Click(sender As Object, e As EventArgs) Handles tsbtnquit.Click
Me.Close()
End Sub
Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub ToolStripMenuAusschliessen_Click(sender As Object, e As EventArgs) Handles ToolStripMenuAusschliessen.Click
Try
Dim i As Integer = 0
Dim bhnr As Integer = Me.C1Abgeschlossen.Columns("NrBehandlung").Value
For Each r As DataRow In abgeschlossen.Rows
If r.Item("nrbehandlung") = bhnr Then
ausgeschlossen.ImportRow(r)
abgeschlossen.Rows(i).Delete()
End If
i = i + 1
Next
Catch ex As Exception
Finally
abgeschlossen.AcceptChanges()
ausgeschlossen.AcceptChanges()
End Try
End Sub
Private Sub toolstripmenuAusschlussaufheben_Click(sender As Object, e As EventArgs) Handles toolstripmenuAusschlussaufheben.Click
Try
Dim i As Integer = 0
Dim bhnr As Integer = Me.C1Ausgeschlossen.Columns("NrBehandlung").Value
For Each r As DataRow In ausgeschlossen.Rows
If r.Item("nrbehandlung") = bhnr Then
abgeschlossen.ImportRow(r)
ausgeschlossen.Rows(i).Delete()
End If
i = i + 1
Next
Catch ex As Exception
Finally
abgeschlossen.AcceptChanges()
ausgeschlossen.AcceptChanges()
End Try
End Sub
Private Sub ToolStripAbschlussVorschau_Click(sender As Object, e As EventArgs) Handles ToolStripAbschlussVorschau.Click
Try
Globals.Rg_Funktionen.Vorschau_Rechnung(C1Abgeschlossen.Columns("NRBEHANDLUNG").Value)
Catch
End Try
End Sub
Private Sub ToolstripAusschlussVorschau_Click(sender As Object, e As EventArgs) Handles ToolstripAusschlussVorschau.Click
Try
Globals.Rg_Funktionen.Vorschau_Rechnung(C1Ausgeschlossen.Columns("NRBEHANDLUNG").Value)
Catch
End Try
End Sub
Private Sub ToolStripLabel1_Click(sender As Object, e As EventArgs)
End Sub
Private Sub C1Abgeschlossen_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Abgeschlossen.MouseDown
Me.C1Abgeschlossen.Bookmark = Me.C1Abgeschlossen.RowContaining(e.Y)
End Sub
Private Sub C1Ausgeschlossen_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Ausgeschlossen.MouseDown
Me.C1Ausgeschlossen.Bookmark = Me.C1Ausgeschlossen.RowContaining(e.Y)
End Sub
End Class