Files
DPM_PADM/DPM2016 - Kopie/Behandlung/clsFakturaFunktionen.vb
2022-07-27 12:02:47 +02:00

237 lines
12 KiB
VB.net

Public Class clsFakturaFunktionen
Public Sub Vorschau_Rechnung(ByVal nrbehandlung As String)
Dim db As New clsDB
Dim db1 As New clsDB
Dim anzahlraten As Integer = 0
'db.Get_Tabledata("Behandlu", "where nrbehandlung=" + Me.Behandlungsnr.ToString)
db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung)
db1.Get_Tabledata("estyp", "where nrestyp=" + db.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString)
anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten")
If anzahlraten = 0 Then anzahlraten = 1
Dim reportnr As Integer
reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp"))
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")
While doloop = True
For i As Integer = 1 To anzahlraten
' Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + Me.Behandlungsnr.ToString, Me.Behandlungsnr.ToString)
Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + nrbehandlung, nrbehandlung)
f.Show()
f.Print_Rechnung(True, False, i)
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 = " + nrbehandlung, nrbehandlung)
f1.Show()
f1.Print_Rechnung(True, False, i)
reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp"))
End If
Next i
If Folgeauswertung > 0 And anzahlraten < 2 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")
Else
doloop = False
End If
End While
End Sub
Public Sub Rechnungskopie(ByVal nrbehandlung As String, Optional preview As Boolean = False, Optional asPDF As Boolean = False, Optional PerMail As Boolean = False)
Globals.pdfCollection.Clear()
Dim db As New clsDB
Dim db1 As New clsDB
Dim db2 As New clsDB
Globals.RGCollection.Clear()
Dim anzahlraten As Integer = 0
Dim Empfaenger As String = ""
db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung)
Dim behandlungsnr As Integer = db.dsDaten.Tables(0).Rows(0).Item("nrbehandlung")
anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten")
Empfaenger = db.dsDaten.Tables(0).Rows(0).Item("Empfaenger")
If anzahlraten = 0 Then anzahlraten = 1
db.Get_Tabledata("estyp", "where nrestyp=" + db.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString)
Dim reportnr As Integer
Dim ReportNrOriginal As Integer
reportnr = db.Get_ReportNr(db.dsDaten.Tables(0).Rows(0).Item("estyp"))
ReportNrOriginal = reportnr
Dim fakturanr As Integer
Try
db2.Get_Tabledata("Faktura", "", "Select top 10 nrfaktura from faktura where nrbehandlung=" + behandlungsnr.ToString + " and status <> 9 order by erstellt_am asc ")
fakturanr = db2.dsDaten.Tables(0).Rows(0).Item(0)
Catch
fakturanr = 0
End Try
Globals.FakturaNr = fakturanr
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
fakturanr = db2.dsDaten.Tables(0).Rows(i - 1).Item(0)
Globals.FakturaNr = fakturanr
If i = 1 And Empfaenger <> "" Then
Dim f0 As New frmReportView(9999, False, "Vorschau Rechung", " where nrbehandlung = " + nrbehandlung.ToString, nrbehandlung.ToString, asPDF)
f0.Visible = False
f0.Show()
f0.Visible = False
f0.Fakturierung(9999, nrbehandlung, "", i, buchen:=False)
f0.Close()
Globals.FakturaNr = 0
End If
Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + behandlungsnr.ToString, behandlungsnr.ToString, asPDF)
If Not preview Then f.Visible = False Else f.Visible = True
If fakturanr = 0 Then
If preview Then
f.Fakturierung_Vorschau(reportnr, behandlungsnr, "", i, 1, fakturanr)
Else
f.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr)
End If
Else
If preview Then
f.Fakturierung_Vorschau(reportnr, behandlungsnr, "", i, 1, fakturanr)
Else
f.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr)
End If
End If
If Not preview Then 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 = " + behandlungsnr.ToString, behandlungsnr.ToString, asPDF)
f1.Visible = False
f1.Show()
f1.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr)
f1.Close()
reportnr = ReportNrOriginal
'fakturanr = fakturanr - 1
End If
'fakturanr = fakturanr + 1
Next i
If Folgeauswertung > 0 And anzahlraten < 2 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")
Else
doloop = False
End If
End While
If preview = False Then
Dim pdfh As New clspdfhelper
pdfh.HandlePDF(asPDF, PerMail, 2, clsMailClient.EmpfangerFrom.Behandlung, nrbehandlung)
End If
End Sub
Public Sub Mahnung(ByVal Fakturanr As String, ByVal Stufe As Integer, Optional Preview As Boolean = False, Optional Design As Boolean = False)
Globals.pdfCollection.Clear()
Dim db As New clsDB
Dim db1 As New clsDB
Dim anzahlraten As Integer = 0
Dim Behandlungsnr As Integer
Dim Empfaenger As String = ""
db.Get_Tabledata("Faktura", "", "Select nrbehandlung from faktura where nrfaktura=" + Fakturanr)
Behandlungsnr = db.dsDaten.Tables(0).Rows(0).Item("nrbehandlung")
db.Get_Tabledata("Behandlu", "where nrbehandlung=" + db.dsDaten.Tables(0).Rows(0).Item("nrbehandlung").ToString)
db1.Get_Tabledata("estyp", "where nrestyp=" + db.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString)
anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten")
Empfaenger = db.dsDaten.Tables(0).Rows(0).Item("Empfaenger")
If anzahlraten = 0 Then anzahlraten = 1
Dim reportnr As Integer
reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp"))
reportnr = db1.dsDaten.Tables(0).Rows(0).Item("mahnnummer") + Stufe
Globals.FakturaNr = 0
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
Dim buchen As Boolean = False
If Preview = False And Design = False Then buchen = True
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 = " + Behandlungsnr.ToString, Behandlungsnr.ToString)
f0.Visible = False
f0.Show()
f0.Visible = False
f0.Fakturierung(9999, Behandlungsnr.ToString, "", i, buchen:=False)
f0.Close()
Globals.FakturaNr = 0
End If
Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + Behandlungsnr.ToString, Behandlungsnr.ToString)
f.Visible = False
f.Show()
If Not Preview And Not Design Then f.Visible = False
f.Mahnungg(Stufe, reportnr, Behandlungsnr, "", i, True, Fakturanr, buchen, Preview, Design)
If Not Preview Then f.Close()
If Design Then 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 = " + Behandlungsnr.ToString, Behandlungsnr.ToString)
f1.Visible = False
f1.Show()
If Not Preview And Not Design Then f1.Visible = False
f1.Mahnungg(Stufe, reportnr, Behandlungsnr, "", i, True, Fakturanr, buchen, Preview, Design)
f1.Close()
reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp"))
reportnr = db1.dsDaten.Tables(0).Rows(0).Item("mahnnummer") + Stufe
End If
Next i
If Folgeauswertung > 0 And anzahlraten < 2 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")
Else
doloop = False
End If
End While
If Preview = False And Design = False Then
Dim pdfh As New clspdfhelper
pdfh.Create_Archivdoc(clspdfhelper.GetEmpfaengerType.FromFaktura, Fakturanr, "Mahnung:")
pdfh = Nothing
End If
Globals.pdfCollection.Clear()
End Sub
End Class