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.
327 lines
13 KiB
327 lines
13 KiB
Imports C1.Win.C1TrueDBGrid
|
|
|
|
Public Class Finanzen
|
|
|
|
Dim dbz As New clsDB
|
|
Dim dbk As New clsDB
|
|
Dim spalten As New Tabellenspalte
|
|
Dim m_patientnr As Integer
|
|
Property Patientnr As Integer
|
|
Get
|
|
Return m_patientnr
|
|
End Get
|
|
Set(value As Integer)
|
|
m_patientnr = value
|
|
refresh_konto()
|
|
Refresh_Zahlungen()
|
|
End Set
|
|
End Property
|
|
|
|
Dim Zahlungen As New DataTable
|
|
Dim Offene_Rechnungen As New DataTable
|
|
Sub Refresh_Zahlungen()
|
|
Try
|
|
dbz.Get_Tabledata("Zahlung", "", dbz.Get_SQL(19), Me.Patientnr.ToString)
|
|
Zahlungen = dbz.dsDaten.Tables(0).Copy
|
|
Me.C1Zahlungen.DataSource = Nothing
|
|
Me.C1Zahlungen.DataSource = Zahlungen
|
|
Me.C1Zahlungen.DataMember = dbz.dsDaten.Tables(0).TableName
|
|
spalten.Spaltentitel_aktualisieren(Me.C1Zahlungen, "Zahlungen", Zahlungen)
|
|
dbz.Get_Tabledata("OffeneRechnungen", "", dbz.Get_SQL(22), Me.Patientnr.ToString)
|
|
Offene_Rechnungen = dbz.dsDaten.Tables(0).Copy
|
|
Me.C1OffeneRechnungen.DataSource = Nothing
|
|
Me.C1OffeneRechnungen.DataSource = Offene_Rechnungen
|
|
Me.C1OffeneRechnungen.DataMember = Offene_Rechnungen.TableName
|
|
spalten.Spaltentitel_aktualisieren(Me.C1OffeneRechnungen, "Offene_Rechnungen", Offene_Rechnungen)
|
|
|
|
Me.Mahndatum1.Text = ""
|
|
Me.Mahndatum2.Text = ""
|
|
Me.Mahndatum3.Text = ""
|
|
Me.Mahnfaelligkeit1.Text = ""
|
|
Me.Mahnfaelligkeit2.Text = ""
|
|
Me.Mahnfaelligkeit3.Text = ""
|
|
Me.Mahngebühr1.Text = ""
|
|
Me.Mahngebühr2.Text = ""
|
|
Me.Mahngebühr3.Text = ""
|
|
|
|
Me.btnZurücksetzen1.Visible = False
|
|
Me.btnzurücksetzen2.Visible = False
|
|
Me.btnzurücksetzen3.Visible = False
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End Sub
|
|
Public Sub Refresh_Data()
|
|
refresh_konto()
|
|
Refresh_Zahlungen()
|
|
Get_Mahndaten()
|
|
End Sub
|
|
Sub refresh_konto()
|
|
dbk.Get_Tabledata("Konto", "where aktiv=1 order by reihenfolge")
|
|
Me.cbboxKonto.DataSource = dbk.dsDaten.Tables(0)
|
|
Me.cbboxKonto.Displaymember = "Konto"
|
|
Me.cbboxKonto.Valuemember = "nrkonto"
|
|
End Sub
|
|
|
|
Private Sub txtRGNummer_TextChanged(sender As Object, e As EventArgs) Handles txtRGNummer.TextChanged
|
|
If Me.txtRGNummer.Text <> "" Then
|
|
Me.chkVorauszahlung.Checked = False
|
|
Me.chkVorauszahlung.Enabled = False
|
|
Else
|
|
Me.chkVorauszahlung.Enabled = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnBuchen_Click(sender As Object, e As EventArgs) Handles btnBuchen.Click
|
|
Dim db5 As New clsDB
|
|
Dim vz As String = ""
|
|
Dim Storno As String = ""
|
|
Dim Debitor As Integer = 0
|
|
If chkVorauszahlung.Checked = False And Me.txtRGNummer.Text = "" Then
|
|
MsgBox("Zahlung kann nicht verbucht werden. Entweder als Vorauszahlung oder mit gültiger Rechnungsnummer.", MsgBoxStyle.Exclamation)
|
|
Exit Sub
|
|
End If
|
|
Dim newkey As Integer = dbz.Get_DBKey("Zahlung")
|
|
dbz.Get_Tabledata("Zahlung", "where nrzahlung=0")
|
|
Dim r As DataRow = dbz.dsDaten.Tables(0).NewRow
|
|
r("nrzahlung") = newkey
|
|
If Me.chkVorauszahlung.Checked = True Then r("nrfaktura") = 0 Else r("nrfaktura") = txtRGNummer.Text
|
|
r("vorauszahlung") = chkVorauszahlung.Checked
|
|
r("mandant") = 1
|
|
If r("nrfaktura") <> 0 Then
|
|
Try
|
|
db5.Get_Tabledata("Fakt", "", "Select * from faktura where nrfaktura='" + r("nrfaktura").ToString + "'")
|
|
Debitor = db5.dsDaten.Tables(0).Rows(0).Item("nrdebitor")
|
|
Catch
|
|
Debitor = 0
|
|
End Try
|
|
|
|
End If
|
|
If Me.Patientnr <> Debitor And Debitor > 0 Then
|
|
r("nrdebotir") = Debitor
|
|
Else
|
|
r("nrdebitor") = Me.Patientnr
|
|
End If
|
|
r("nrdebitor") = Me.Patientnr
|
|
r("betrag") = Me.diBetrag.Value
|
|
r("nrkonto") = cbboxKonto.SelectedValue
|
|
r("valuta") = Me.dtdatum.Value
|
|
r("nrbehandlung") = 0
|
|
r("status") = 0
|
|
If chkVorauszahlung.Checked Then
|
|
r("status") = 1
|
|
vz = "J"
|
|
End If
|
|
r("statusdatum") = Now
|
|
r("erstellt_am") = Now
|
|
r("mutiert_am") = Now
|
|
r("mutierer") = Globals.ActUser
|
|
r("aktiv") = True
|
|
dbz.dsDaten.Tables(0).Rows.Add(r)
|
|
dbz.Update_Data()
|
|
|
|
db5.Insert_ZJournal(r("nrfaktura"), r("nrdebitor"), db5.Get_Datavalue("Select dbo.get_name(" + r.Item("nrdebitor").ToString + ")"), r.Item("Betrag"), db5.Get_Datavalue("Select Konto from konto where nrkonto=" + r.Item("nrkonto").ToString), vz, "")
|
|
db5.Exec_SQL("Update debitor set mutiert_am=getdate(),betrag=betrag-" + r("betrag").ToString + "where nrfaktura=" + r("nrfaktura").ToString)
|
|
Me.Refresh_Zahlungen()
|
|
If vz = "J" Then
|
|
If MsgBox("Vorauszahlung einer Behandlung zuweisen?", vbYesNo + vbQuestion) Then
|
|
VorauszahlungAnBehandlungZuweisenToolStripMenuItem_Click(sender, e)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
|
|
|
|
End Sub
|
|
|
|
Private Sub C1OffeneRechnungen_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1OffeneRechnungen.RowColChange
|
|
Try
|
|
Me.dtdatum.Value = Now
|
|
Me.txtRGNummer.Text = Me.C1OffeneRechnungen.Columns("nrfaktura").Value
|
|
Me.diBetrag.Value = Me.C1OffeneRechnungen.Columns("Betrag").Value
|
|
get_mahndaten
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
Sub Get_Mahndaten()
|
|
Me.Mahndatum1.Text = ""
|
|
Me.Mahndatum2.Text = ""
|
|
Me.Mahndatum3.Text = ""
|
|
Me.Mahnfaelligkeit1.Text = ""
|
|
Me.Mahnfaelligkeit2.Text = ""
|
|
Me.Mahnfaelligkeit3.Text = ""
|
|
Me.Mahngebühr1.Text = ""
|
|
Me.Mahngebühr2.Text = ""
|
|
Me.Mahngebühr3.Text = ""
|
|
Me.btnZurücksetzen1.Visible = False
|
|
Me.btnzurücksetzen2.Visible = False
|
|
Me.btnzurücksetzen3.Visible = False
|
|
Dim dd As Date
|
|
Try
|
|
Me.Mahndatum1.Text = ShortDate(Me.C1OffeneRechnungen.Columns("Mahndatum1").Value.ToString)
|
|
Me.Mahndatum2.Text = ShortDate(Me.C1OffeneRechnungen.Columns("Mahndatum2").Value.ToString)
|
|
Me.Mahndatum3.Text = ShortDate(Me.C1OffeneRechnungen.Columns("Mahndatum3").Value.ToString)
|
|
|
|
Me.Mahnfaelligkeit1.Text = ShortDate(Me.C1OffeneRechnungen.Columns("mahnfaelligkeit1").Value.ToString)
|
|
Me.Mahnfaelligkeit2.Text = ShortDate(Me.C1OffeneRechnungen.Columns("mahnfaelligkeit2").Value.ToString)
|
|
Me.Mahnfaelligkeit3.Text = ShortDate(Me.C1OffeneRechnungen.Columns("mahnfaelligkeit3").Value.ToString)
|
|
|
|
Me.Mahngebühr1.Text = Me.C1OffeneRechnungen.Columns("mahngebuehr1").Value.ToString
|
|
Me.Mahngebühr2.Text = Me.C1OffeneRechnungen.Columns("mahngebuehr2").Value.ToString
|
|
Me.Mahngebühr3.Text = Me.C1OffeneRechnungen.Columns("mahngebuehr3").Value.ToString
|
|
|
|
If Me.Mahndatum3.Text <> "" Then
|
|
Me.btnzurücksetzen3.Visible = True
|
|
Else
|
|
If Me.Mahndatum2.Text <> "" Then
|
|
Me.btnzurücksetzen2.Visible = True
|
|
Else
|
|
If Me.Mahndatum1.Text <> "" Then
|
|
Me.btnZurücksetzen1.Visible = True
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
Catch
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Function ShortDate(ByVal dd As String) As String
|
|
Try
|
|
Dim d As Date
|
|
d = dd
|
|
Return d
|
|
Catch
|
|
Return ""
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
Private Sub ZahlungBuchenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ZahlungBuchenToolStripMenuItem.Click
|
|
btnBuchen_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub ZahlungStornierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ZahlungStornierenToolStripMenuItem.Click
|
|
If MsgBox("Zahlung stornieren?", vbYesNo + vbQuestion) <> vbYes Then Exit Sub
|
|
Dim fakt As New clsFakturierung
|
|
fakt.Storno_Zahlung(Me.C1Zahlungen.Columns("nrzahlung").Value)
|
|
Me.Refresh_Zahlungen()
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
Me.txtRGNummer.Text = ""
|
|
End Sub
|
|
|
|
Private Sub ContextMenuStrip2_CursorChanged(sender As Object, e As EventArgs) Handles ContextMenuStrip2.Opening
|
|
If Me.C1Zahlungen.Columns("Zahlungsstatus").Value = "Vorauszahlung" Then
|
|
If Me.C1Zahlungen.Columns("nrbehandlung").Value = 0 Then
|
|
|
|
VorauszahlungAnBehandlungZuweisenToolStripMenuItem.Enabled = True
|
|
VorauszahlungVonBehandlungLösenToolStripMenuItem.Enabled = False
|
|
|
|
Exit Sub
|
|
Else
|
|
VorauszahlungAnBehandlungZuweisenToolStripMenuItem.Enabled = False
|
|
VorauszahlungVonBehandlungLösenToolStripMenuItem.Enabled = True
|
|
Exit Sub
|
|
End If
|
|
Else
|
|
If Me.C1Zahlungen.Columns("Status").Value = 9 Then
|
|
ZahlungStornierenToolStripMenuItem.Enabled = False
|
|
Else
|
|
ZahlungStornierenToolStripMenuItem.Enabled = True
|
|
End If
|
|
VorauszahlungAnBehandlungZuweisenToolStripMenuItem.Enabled = False
|
|
VorauszahlungVonBehandlungLösenToolStripMenuItem.Enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub VorauszahlungAnBehandlungZuweisenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VorauszahlungAnBehandlungZuweisenToolStripMenuItem.Click
|
|
Dim f As New frmOffeneBehandlungen
|
|
f.NrPatient = Me.Patientnr
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Dim db As New clsDB
|
|
db.Exec_SQL("Update zahlung set nrbehandlung=" + f.NrBehandlung.ToString + ", mutiert_am=getdate() where nrzahlung=" + Me.C1Zahlungen.Columns("nrzahlung").Value.ToString)
|
|
Me.Refresh_Zahlungen()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub VorauszahlungVonBehandlungLösenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VorauszahlungVonBehandlungLösenToolStripMenuItem.Click
|
|
If MsgBox("Vorauszahlung von Behandlung entfernen?", vbYesNo + vbQuestion) = vbYes Then
|
|
Dim db As New clsDB
|
|
db.Exec_SQL("Update zahlung set nrbehandlung=0, mutiert_am=getdate() where nrzahlung=" + Me.C1Zahlungen.Columns("nrzahlung").Value.ToString)
|
|
Me.Refresh_Zahlungen()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub dtdatum_Click(sender As Object, e As EventArgs) Handles dtdatum.Click
|
|
|
|
End Sub
|
|
|
|
Private Sub dtdatum_KeyDown(sender As Object, e As KeyEventArgs) Handles dtdatum.KeyDown
|
|
|
|
If e.KeyCode = Keys.Escape Then delete_date(sender)
|
|
If e.KeyCode = Keys.Decimal Then SendKeys.SendWait("{TAB}")
|
|
|
|
End Sub
|
|
Sub delete_date(sender)
|
|
sender.value = Nothing
|
|
End Sub
|
|
|
|
Private Sub btnZurücksetzen1_Click(sender As Object, e As EventArgs) Handles btnZurücksetzen1.Click
|
|
If MsgBox("Mahnstufe 1 zurückseten?", vbYesNo + vbQuestion) = vbYes Then
|
|
Mahnstufe_Zurücksetzen(1)
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub btnzurücksetzen2_Click(sender As Object, e As EventArgs) Handles btnzurücksetzen2.Click
|
|
If MsgBox("Mahnstufe 2 zurückseten?", vbYesNo + vbQuestion) = vbYes Then
|
|
Mahnstufe_Zurücksetzen(2)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnzurücksetzen3_Click(sender As Object, e As EventArgs) Handles btnzurücksetzen3.Click
|
|
If MsgBox("Mahnstufe 3 zurückseten?", vbYesNo + vbQuestion) = vbYes Then
|
|
Mahnstufe_Zurücksetzen(3)
|
|
End If
|
|
End Sub
|
|
|
|
Sub Mahnstufe_Zurücksetzen(ByVal typ As Integer)
|
|
Dim db As New clsDB
|
|
Dim sql As String
|
|
|
|
Select Case typ
|
|
Case 1
|
|
sql = "Exec sp_reset_mahnstufe 1," + Me.C1OffeneRechnungen.Columns("nrfaktura").Value.ToString
|
|
db.Exec_SQL(sql)
|
|
Case 2
|
|
sql = "Exec sp_reset_mahnstufe 2," + Me.C1OffeneRechnungen.Columns("nrfaktura").Value.ToString
|
|
db.Exec_SQL(sql)
|
|
Case 3
|
|
sql = "Exec sp_reset_mahnstufe 3," + Me.C1OffeneRechnungen.Columns("nrfaktura").Value.ToString
|
|
db.Exec_SQL(sql)
|
|
|
|
End Select
|
|
Refresh_Zahlungen()
|
|
Get_Mahndaten()
|
|
End Sub
|
|
|
|
Private Sub C1Zahlungen_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Zahlungen.MouseDown
|
|
Me.C1Zahlungen.Bookmark = Me.C1Zahlungen.RowContaining(e.Y)
|
|
End Sub
|
|
|
|
Private Sub C1OffeneRechnungen_MouseDown(sender As Object, e As MouseEventArgs) Handles C1OffeneRechnungen.MouseDown
|
|
Me.C1OffeneRechnungen.Bookmark = Me.C1OffeneRechnungen.RowContaining(e.Y)
|
|
End Sub
|
|
End Class
|