785 lines
30 KiB
VB.net
785 lines
30 KiB
VB.net
Public Class Leistungen
|
|
|
|
Dim db As New clsDB
|
|
|
|
Dim m_behandlungnr As Integer
|
|
Property Behandlungnr As Integer
|
|
Get
|
|
Return m_behandlungnr
|
|
End Get
|
|
Set(value As Integer)
|
|
m_behandlungnr = value
|
|
load_data()
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_dentotar As Boolean = False
|
|
Property Dentotar As Boolean
|
|
Get
|
|
Return m_dentotar
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_dentotar = value
|
|
load_data()
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_Behandlungsstatus As Integer
|
|
Property Behandlungsstatus As Integer
|
|
Get
|
|
Return m_Behandlungsstatus
|
|
End Get
|
|
Set(value As Integer)
|
|
m_Behandlungsstatus = value
|
|
Select Case value
|
|
Case 1, 4
|
|
Me.grpLeistungsdetails.Enabled = True
|
|
Me.GrpTarif.Enabled = True
|
|
Me.BearbeitenToolStripMenuItem.Enabled = True
|
|
Me.LöschenToolStripMenuItem.Enabled = True
|
|
Case Else
|
|
Me.grpLeistungsdetails.Enabled = False
|
|
Me.GrpTarif.Enabled = False
|
|
Me.BearbeitenToolStripMenuItem.Enabled = False
|
|
Me.LöschenToolStripMenuItem.Enabled = False
|
|
End Select
|
|
End Set
|
|
End Property
|
|
|
|
|
|
|
|
Enum Taxpunkttyp
|
|
Privat = 1
|
|
Suva = 2
|
|
Minmal = 3
|
|
Maximal = 4
|
|
Dentotar = 5
|
|
End Enum
|
|
Dim m_taxpunkte As Taxpunkttyp
|
|
Property TaxPunkte As Taxpunkttyp
|
|
Get
|
|
Return m_taxpunkte
|
|
End Get
|
|
Set(value As Taxpunkttyp)
|
|
m_taxpunkte = value
|
|
End Set
|
|
End Property
|
|
|
|
Dim intSort As Integer = 0
|
|
|
|
Dim m_frankenwert As Double
|
|
Property Frankenwert As Double
|
|
Get
|
|
Return m_frankenwert
|
|
End Get
|
|
Set(value As Double)
|
|
m_frankenwert = value
|
|
Me.diwert.Value = value
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_behandler As Integer
|
|
Property behandler As Integer
|
|
Get
|
|
Return m_behandler
|
|
End Get
|
|
Set(value As Integer)
|
|
m_behandler = value
|
|
End Set
|
|
End Property
|
|
|
|
Dim WithEvents evh As Generic_Event_Handler = Globals.EVH
|
|
|
|
Sub load_data()
|
|
Try
|
|
|
|
db.Get_Tarife()
|
|
Me.TreeTarifGruppen.Nodes.Clear()
|
|
If Dentotar = True Then
|
|
For Each r As DataRow In IntTables.Inttables.Tables("Tarife").Rows
|
|
Select Case Trim(r("Bezeichnung"))
|
|
Case "Dentotar"
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = r("Bezeichnung")
|
|
Me.TreeTarifGruppen.Nodes.Add(tn)
|
|
Dim sortstring As String = "KapitelNrNeu"
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("dentotar"), "Level=1 and KapitelNrNeu<>'00'", sortstring, DataViewRowState.CurrentRows)
|
|
For Each rowView As DataRowView In dv
|
|
Dim r2 As DataRow = rowView.Row
|
|
Dim tn1 As New DevComponents.AdvTree.Node
|
|
tn1.Text = r2("Leistungd")
|
|
tn1.DataKey = r2("KapitelnrNeu")
|
|
tn1.Tag = r2("KapitelLeistung")
|
|
tn.Nodes.Add(tn1)
|
|
Next
|
|
|
|
Case "SSO-Tarif 01.04.1994"
|
|
Case Else
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = r("bezeichnung")
|
|
tn.DataKey = r("nummervon")
|
|
tn.Tag = r("nummerbis")
|
|
'tn.Tag = r("nummervon")
|
|
Me.TreeTarifGruppen.Nodes.Add(tn)
|
|
For Each r1 As DataRow In IntTables.Inttables.Tables("tarifgrp").Rows
|
|
If r1("tarifvon").ToString >= tn.DataKey.ToString And r1("tarifbis").ToString <= tn.Tag.ToString Then
|
|
Dim tn1 As New DevComponents.AdvTree.Node
|
|
tn1.Text = r1("tarifgruppe")
|
|
tn1.DataKey = r1("tarifvon")
|
|
tn1.Tag = r1("tarifbis")
|
|
tn.Nodes.Add(tn1)
|
|
End If
|
|
Next
|
|
|
|
End Select
|
|
Next
|
|
|
|
Me.lbPakete.Items.Clear()
|
|
Me.lbPakete.DataSource = IntTables.Inttables.Tables("Tarpaket")
|
|
Me.lbPakete.DisplayMember = "Paketbezeichnung"
|
|
Me.lbPakete.ValueMember = "nrpaket"
|
|
Me.lbPakete.SelectedIndex = 0
|
|
|
|
Me.TreeTarifGruppen.SelectedNode = Me.TreeTarifGruppen.Nodes(0)
|
|
Me.cbboxnrbehandler.Dataselection = db.Get_SQL(2)
|
|
Me.cbboxnrbehandler.TableAlias = "Behandler_BH"
|
|
Me.cbboxnrbehandler.Table = "Behandler"
|
|
Me.cbboxnrbehandler.Displaymember = "Name"
|
|
Me.cbboxnrbehandler.Valuemember = "nrprivat"
|
|
Load_Tarif()
|
|
|
|
Exit Sub
|
|
End If
|
|
|
|
For Each r As DataRow In IntTables.Inttables.Tables("Tarife").Rows
|
|
If r("Bezeichnung") <> "Dentotar" Then
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = r("bezeichnung")
|
|
tn.DataKey = r("nummervon")
|
|
tn.Tag = r("nummerbis")
|
|
'tn.Tag = r("nummervon")
|
|
Me.TreeTarifGruppen.Nodes.Add(tn)
|
|
For Each r1 As DataRow In IntTables.Inttables.Tables("tarifgrp").Rows
|
|
If r1("tarifvon").ToString >= tn.DataKey.ToString And r1("tarifbis").ToString <= tn.Tag.ToString Then
|
|
Dim tn1 As New DevComponents.AdvTree.Node
|
|
tn1.Text = r1("tarifgruppe")
|
|
tn1.DataKey = r1("tarifvon")
|
|
tn1.Tag = r1("tarifbis")
|
|
tn.Nodes.Add(tn1)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
Next
|
|
|
|
Me.lbPakete.Items.Clear()
|
|
Me.lbPakete.DataSource = IntTables.Inttables.Tables("Tarpaket")
|
|
Me.lbPakete.DisplayMember = "Paketbezeichnung"
|
|
Me.lbPakete.ValueMember = "nrpaket"
|
|
Me.lbPakete.SelectedIndex = 0
|
|
|
|
Me.TreeTarifGruppen.SelectedNode = Me.TreeTarifGruppen.Nodes(0)
|
|
Me.cbboxnrbehandler.Dataselection = db.Get_SQL(2)
|
|
Me.cbboxnrbehandler.TableAlias = "Behandler_BH"
|
|
Me.cbboxnrbehandler.Table = "Behandler"
|
|
Me.cbboxnrbehandler.Displaymember = "Name"
|
|
Me.cbboxnrbehandler.Valuemember = "nrprivat"
|
|
Load_Tarif()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
Sub Load_Tarif()
|
|
Dim dv As DataView
|
|
Dim dv1 As DataView
|
|
If Dentotar = True And Len(Me.TreeTarifGruppen.SelectedNode.DataKeyString) < 3 Then
|
|
|
|
Try
|
|
Dim db As New DataView(IntTables.Inttables.Tables("Dentotar"))
|
|
Dim sortstring As String = "leistungnrneu, leistungd"
|
|
Dim Wherestring As String = "Level=3 and Kapitelleistung='Lei' and KapitelNrNeu like '" + Me.TreeTarifGruppen.SelectedNode.DataKeyString + "%'"
|
|
dv = New DataView(IntTables.Inttables.Tables("dentotar"), Wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
Me.lbtarif1.DataSource = Nothing
|
|
Me.lbtarif1.DataSource = dv
|
|
Me.lbtarif1.DisplayMember = "nr_bez"
|
|
Me.lbtarif1.ValueMember = "LeistungNrNeu"
|
|
Exit Sub
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End If
|
|
db.Get_Tarif()
|
|
Try
|
|
Dim SortString As String = ""
|
|
If intSort = 0 Then
|
|
SortString = "Nr_Bez asc"
|
|
Else
|
|
SortString = "Nr_Bez desc"
|
|
End If
|
|
dv1 = New DataView(IntTables.Inttables.Tables("Tarif"), "SSO_Nummer >=" + Me.TreeTarifGruppen.SelectedNode.DataKeyString + " and SSO_Nummer <=" + Me.TreeTarifGruppen.SelectedNode.TagString, SortString, DataViewRowState.CurrentRows)
|
|
|
|
|
|
|
|
lbtarif1.DataSource = Nothing
|
|
lbtarif1.DataSource = dv1
|
|
lbtarif1.DisplayMember = "nr_Bez"
|
|
lbtarif1.ValueMember = "nrtarif"
|
|
|
|
Catch ex As Exception
|
|
'MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub lbtarif_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
Load_Tarif()
|
|
End Sub
|
|
|
|
Private Sub tsUp_Click(sender As Object, e As EventArgs) Handles tsUp.Click
|
|
intSort = 0
|
|
Load_Tarif()
|
|
End Sub
|
|
|
|
Private Sub tsDown_Click(sender As Object, e As EventArgs) Handles tsDown.Click
|
|
intSort = 1
|
|
Load_Tarif()
|
|
End Sub
|
|
|
|
Private Sub txtfilter_KeyDown(sender As Object, e As KeyEventArgs) Handles txtfilter.KeyDown
|
|
If e.KeyCode <> Keys.Enter Then
|
|
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txtfilter_KeyUp(sender As Object, e As KeyEventArgs) Handles txtfilter.KeyUp
|
|
If Dentotar = True And Len(Me.TreeTarifGruppen.SelectedNode.DataKeyString) < 3 Then
|
|
If e.KeyCode <> Keys.Enter Then
|
|
Me.lbtarif1.DataSource = Nothing
|
|
Dim sortstring As String
|
|
Dim wherestring As String
|
|
|
|
Dim db As New DataView(IntTables.Inttables.Tables("Dentotar"), "", "leistungnrneu", DataViewRowState.CurrentRows)
|
|
db.RowFilter = "nr_bez like '%" + Me.txtfilter.Text + "%'"
|
|
Me.lbtarif1.DataSource = db
|
|
Me.lbtarif1.DisplayMember = "nr_bez"
|
|
Me.lbtarif1.ValueMember = "LeistungNrNeu"
|
|
End If
|
|
Exit Sub
|
|
End If
|
|
|
|
If e.KeyCode <> Keys.Enter Then
|
|
Me.lbtarif1.DataSource = Nothing
|
|
Dim SortString As String = ""
|
|
If intSort = 0 Then
|
|
SortString = "Nr_Bez asc"
|
|
Else
|
|
SortString = "Nr_Bez desc"
|
|
End If
|
|
|
|
'Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "nrtarifgruppe=" + Me.lbtarife.SelectedValue.ToString, SortString, DataViewRowState.CurrentRows)
|
|
'Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "SSO_Nummer >=" + Me.TreeTarifGruppen.SelectedNode.DataKeyString + " and SSO_Nummer <=" + Me.TreeTarifGruppen.SelectedNode.TagString, SortString, DataViewRowState.CurrentRows)
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "", SortString, DataViewRowState.CurrentRows)
|
|
|
|
dv.RowFilter = "NR_BEZ like '%" + Me.txtfilter.Text + "%'"
|
|
Me.lbtarif1.DataSource = dv
|
|
Me.lbtarif1.DisplayMember = "nr_Bez"
|
|
Me.lbtarif1.ValueMember = "nrtarif"
|
|
Else
|
|
Try
|
|
If Me.lbtarif1.SelectedItems.Count = 1 Then
|
|
Me.lbtarif1_ItemClick(sender, e)
|
|
Me.lbtarif1_ItemDoubleClick(sender, e)
|
|
Me.txtfilter.SelectAll()
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
Me.txtfilter.SelectAll()
|
|
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub lbtarif1_ItemClick(sender As Object, e As EventArgs) Handles lbtarif1.ItemClick
|
|
If Dentotar = True And Len(Me.TreeTarifGruppen.SelectedNode.DataKeyString) < 3 Then
|
|
Dim sortstring As String = ""
|
|
Dim wherestring As String = "Leistungnrneu='" + Me.lbtarif1.SelectedValue.ToString + "'"
|
|
Dim db As New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
'Me.txtPosition.Text = db.Item("Leistungnrneu").ToString
|
|
Me.txtPosition.Text = Me.lbtarif1.SelectedValue.ToString
|
|
txtPosition_TextChanged(sender, e)
|
|
Exit Sub
|
|
|
|
End If
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "nrtarif=" + Me.lbtarif1.SelectedValue.ToString, "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv
|
|
Me.txtPosition.Text = drv.Item("sso_nummer").ToString
|
|
txtPosition_TextChanged(sender, e)
|
|
Exit Sub
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub lbtarif1_ItemDoubleClick(sender As Object, e As EventArgs) Handles lbtarif1.ItemDoubleClick
|
|
If Dentotar = True And Len(Me.TreeTarifGruppen.SelectedNode.DataKeyString) < 3 Then
|
|
Dim dv1 As New DataView(IntTables.Inttables.Tables("Dentotar"), "Leistungnrneu='" + Me.lbtarif1.SelectedValue.ToString + "'", "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv1
|
|
Me.txtPosition.Text = drv.Item("Leistungnrneu").ToString
|
|
txtPosition_TextChanged(sender, e)
|
|
Me.BtnInsertLeistung_Click(sender, e)
|
|
Exit Sub
|
|
Next
|
|
|
|
Exit Sub
|
|
|
|
End If
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "nrtarif=" + Me.lbtarif1.SelectedValue.ToString, "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv
|
|
Me.txtPosition.Text = drv.Item("sso_nummer").ToString
|
|
txtPosition_TextChanged(sender, e)
|
|
Me.BtnInsertLeistung_Click(sender, e)
|
|
Exit Sub
|
|
Next
|
|
|
|
End Sub
|
|
|
|
Private Sub txtPosition_TextChanged(sender As Object, e As EventArgs) Handles txtPosition.Leave
|
|
If Me.dtdatum.Value = "00:00:00" Then Me.dtdatum.Value = Now
|
|
Try
|
|
If cbboxnrbehandler.SelectedValue < 1 Then Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
Catch ex As Exception
|
|
Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
End Try
|
|
'Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
If Dentotar = True And Len(Me.TreeTarifGruppen.SelectedNode.DataKeyString) < 3 Then
|
|
Dim sortstring As String = ""
|
|
Dim wherestring As String = "LeistungnrNeu='" + Me.txtPosition.Text + "'"
|
|
Dim dv1 As New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
Dim dr As DataRowView
|
|
dr = dv1(0)
|
|
If dr.Item("Abrechnungseinheit") = "TP" Then
|
|
Select Case Me.TaxPunkte
|
|
Case Taxpunkttyp.Maximal
|
|
Me.DIPunkte.Value = dr.Item("pp_max")
|
|
Case Taxpunkttyp.Minmal
|
|
Me.DIPunkte.Value = dr.Item("pp_min")
|
|
Case Taxpunkttyp.Privat
|
|
Me.DIPunkte.Value = dr.Item("pp_privat")
|
|
Case Taxpunkttyp.Suva
|
|
Me.DIPunkte.Value = dr.Item("Taxpunkte_UV_MV_IV")
|
|
Case Taxpunkttyp.Dentotar
|
|
Me.DIPunkte.Value = dr.Item("Taxpunkte_UV_MV_IV")
|
|
Case Else
|
|
|
|
End Select
|
|
End If
|
|
Me.DIMenge.Text = 1
|
|
Me.diwert.Text = 1
|
|
Me.DIPunkte.Enabled = True
|
|
Me.txtBezD.Text = dr.Item("LeistungD")
|
|
Exit Sub
|
|
|
|
End If
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "sso_nummer=" + Me.txtPosition.Text.ToString, "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv
|
|
If drv.Item("Frankenbetrag") < 0.1 Then
|
|
Select Case Me.TaxPunkte
|
|
Case Taxpunkttyp.Maximal
|
|
Me.DIPunkte.Value = drv.Item("maximaltarif")
|
|
Case Taxpunkttyp.Minmal
|
|
Me.DIPunkte.Value = drv.Item("minimaltarif")
|
|
Case Taxpunkttyp.Privat
|
|
Me.DIPunkte.Value = drv.Item("privattarif")
|
|
Case Taxpunkttyp.Suva
|
|
Me.DIPunkte.Value = drv.Item("suvatarif")
|
|
Case Taxpunkttyp.Dentotar
|
|
Me.DIPunkte.Value = drv.Item("Taxpunkte_UV_MV_IV")
|
|
Case Else
|
|
|
|
End Select
|
|
Me.DIMenge.Text = 1
|
|
Me.diwert.Text = Me.Frankenwert
|
|
Me.DIPunkte.Enabled = True
|
|
Me.txtBezD.Text = drv.Item("BezD")
|
|
Else
|
|
Me.DIPunkte.Value = 0
|
|
Me.DIPunkte.Enabled = False
|
|
Me.DIMenge.Value = 1
|
|
Dim b As Double
|
|
|
|
b = drv.Item("Frankenbetrag")
|
|
Me.diwert.Value = b
|
|
Me.txtBezD.Text = drv.Item("BezD")
|
|
End If
|
|
Exit Sub
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub DIPunkte_ValueChanged(sender As Object, e As EventArgs) Handles DIPunkte.ValueChanged, DIMenge.ValueChanged, diwert.ValueChanged
|
|
Try
|
|
Dim total As Double
|
|
If DIPunkte.Value > 0 Then
|
|
total = DIPunkte.Value * DIMenge.Value * diwert.Value
|
|
Me.txtTotal.Text = total.ToString("N2")
|
|
Else
|
|
total = DIMenge.Value * diwert.Value
|
|
Me.txtTotal.Text = total.ToString("N2")
|
|
End If
|
|
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub BtnInsertLeistung_Click(sender As Object, e As EventArgs) Handles BtnInsertLeistung.Click
|
|
leistung_einfuegen()
|
|
End Sub
|
|
|
|
Private Sub diwert_KeyDown(sender As Object, e As KeyEventArgs) Handles txtPosition.KeyDown, txtBezD.KeyDown, diwert.KeyDown, DIPunkte.KeyDown, DIMenge.KeyDown
|
|
If e.KeyCode = Keys.Enter Then
|
|
|
|
If sender.name = "txtPosition" Then Me.txtPosition_TextChanged(sender, e)
|
|
Leistung_Einfuegen()
|
|
Me.txtPosition.Focus()
|
|
Me.txtPosition.SelectAll()
|
|
End If
|
|
End Sub
|
|
|
|
Sub Leistung_Einfuegen_Dentotar(ByVal SSONummer As String, ByVal anzahl As Integer)
|
|
Dim dv As DataView
|
|
Dim sortstring As String = ""
|
|
Dim wherestring As String = "LeistungNrNeu='" + Me.txtPosition.Text.ToString + "'"
|
|
|
|
If SSONummer = "" Then
|
|
dv = New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
Else
|
|
wherestring = SSONummer
|
|
dv = New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
|
|
End If
|
|
Dim drv As DataRowView = dv(0)
|
|
Dim db As New clsDB
|
|
Dim newkey As Integer = db.Get_DBKey("Leistung")
|
|
|
|
db.Get_Tabledata("Leistung", " where nrleistung=0")
|
|
|
|
Dim r As DataRow
|
|
r = db.dsDaten.Tables(0).NewRow
|
|
|
|
r.Item(0) = newkey
|
|
r.Item("Erstellt_am") = Now
|
|
r.Item("mutiert_am") = Now
|
|
r.Item("mutierer") = Globals.ActUser
|
|
r.Item("aktiv") = True
|
|
|
|
r.Item("Datum") = Me.dtdatum.Value
|
|
r.Item("nrbehandlung") = Me.Behandlungnr
|
|
r.Item("mandant") = 1
|
|
r.Item("nrtarifgruppe") = 0
|
|
r.Item("nrtarif") = 0
|
|
r.Item("sso_nummer") = drv("LeistungNrNeu")
|
|
If SSONummer = "" Then
|
|
r.Item("bezd") = Me.txtBezD.Text
|
|
Else
|
|
r.Item("bezd") = drv("Leistungd")
|
|
End If
|
|
|
|
If SSONummer = "" Then
|
|
r.Item("taxpunkte") = Me.DIPunkte.Value
|
|
Else
|
|
If drv.Item("Frankenbetrag") < 0.1 Then
|
|
Select Case Me.TaxPunkte
|
|
Case Taxpunkttyp.Maximal
|
|
r.Item("taxpunkte") = drv.Item("pp_amx")
|
|
Case Taxpunkttyp.Minmal
|
|
r.Item("taxpunkte") = drv.Item("pp_min")
|
|
Case Taxpunkttyp.Privat
|
|
r.Item("taxpunkte") = drv.Item("pp_privat")
|
|
Case Taxpunkttyp.Suva
|
|
r.Item("taxpunkte") = drv.Item("Taxpunkte_UV_MV_IV")
|
|
Case Taxpunkttyp.Dentotar
|
|
Me.DIPunkte.Value = drv.Item("Taxpunkte_UV_MV_IV")
|
|
Case Else
|
|
|
|
End Select
|
|
End If
|
|
End If
|
|
|
|
If SSONummer = "" Then
|
|
r.Item("menge") = Me.DIMenge.Value
|
|
Else
|
|
r.Item("menge") = anzahl
|
|
End If
|
|
If SSONummer = "" Then
|
|
r.Item("frankenprotaxpunkt") = Me.diwert.Value
|
|
Else
|
|
r.Item("frankenprotaxpunkt") = Frankenwert
|
|
End If
|
|
|
|
If SSONummer = "" Then
|
|
r.Item("total") = Me.txtTotal.Text
|
|
Else
|
|
Dim total As Double
|
|
If drv.Item("frankenbetrag") < 0.1 Then
|
|
total = r.Item("taxpunkte") * anzahl * 1
|
|
r.Item("total") = total.ToString("N2")
|
|
Else
|
|
total = anzahl * 1
|
|
r.Item("total") = total.ToString("N2")
|
|
|
|
End If
|
|
End If
|
|
|
|
If DIPunkte.Enabled = False Then r.Item("absolut") = 1 Else r.Item("absolut") = 0
|
|
r.Item("nrbehandler") = Me.cbboxnrbehandler.SelectedValue
|
|
db.dsDaten.Tables(0).Rows.Add(r)
|
|
db.Update_Data()
|
|
db.Dispose()
|
|
refresh_leistungen()
|
|
|
|
End Sub
|
|
|
|
Sub Leistung_Einfuegen(Optional ssonummer As String = "", Optional anzahl As Integer = 1)
|
|
If Dentotar = True And Len(Me.TreeTarifGruppen.SelectedNode.DataKeyString) < 3 Then
|
|
Leistung_Einfuegen_Dentotar(ssonummer, anzahl)
|
|
Exit Sub
|
|
End If
|
|
|
|
|
|
Dim dv As DataView
|
|
If ssonummer = "" Then
|
|
dv = New DataView(IntTables.Inttables.Tables("Tarif"), "sso_nummer=" + Me.txtPosition.Text.ToString, "", DataViewRowState.CurrentRows)
|
|
Else
|
|
dv = New DataView(IntTables.Inttables.Tables("Tarif"), "sso_nummer=" + ssonummer.ToString, "", DataViewRowState.CurrentRows)
|
|
End If
|
|
Dim drv As DataRowView = dv(0)
|
|
|
|
Dim db As New clsDB
|
|
Dim newkey As Integer = db.Get_DBKey("Leistung")
|
|
|
|
db.Get_Tabledata("Leistung", " where nrleistung=0")
|
|
|
|
Dim r As DataRow
|
|
r = db.dsDaten.Tables(0).NewRow
|
|
|
|
r.Item(0) = newkey
|
|
r.Item("Erstellt_am") = Now
|
|
r.Item("mutiert_am") = Now
|
|
r.Item("mutierer") = Globals.ActUser
|
|
r.Item("aktiv") = True
|
|
|
|
r.Item("Datum") = Me.dtdatum.Value
|
|
r.Item("nrbehandlung") = Me.Behandlungnr
|
|
r.Item("mandant") = 1
|
|
r.Item("nrtarifgruppe") = drv("NrTarifgruppe")
|
|
r.Item("nrtarif") = drv("Nrtarif")
|
|
r.Item("sso_nummer") = drv("SSO_Nummer")
|
|
If ssonummer = "" Then
|
|
r.Item("bezd") = Me.txtBezD.Text
|
|
Else
|
|
r.Item("bezd") = drv("bezd")
|
|
End If
|
|
|
|
If ssonummer = "" Then
|
|
r.Item("taxpunkte") = Me.DIPunkte.Value
|
|
Else
|
|
If drv.Item("Frankenbetrag") < 0.1 Then
|
|
Select Case Me.TaxPunkte
|
|
Case Taxpunkttyp.Maximal
|
|
r.Item("taxpunkte") = drv.Item("maximaltarif")
|
|
Case Taxpunkttyp.Minmal
|
|
r.Item("taxpunkte") = drv.Item("minimaltarif")
|
|
Case Taxpunkttyp.Privat
|
|
r.Item("taxpunkte") = drv.Item("privattarif")
|
|
Case Taxpunkttyp.Suva
|
|
r.Item("taxpunkte") = drv.Item("suvatarif")
|
|
Case Taxpunkttyp.Dentotar
|
|
Me.DIPunkte.Value = drv.Item("Taxpunkte_UV_MV_IV")
|
|
Case Else
|
|
|
|
End Select
|
|
End If
|
|
End If
|
|
|
|
If ssonummer = "" Then
|
|
r.Item("menge") = Me.DIMenge.Value
|
|
Else
|
|
r.Item("menge") = anzahl
|
|
End If
|
|
If ssonummer = "" Then
|
|
r.Item("frankenprotaxpunkt") = Me.diwert.Value
|
|
Else
|
|
r.Item("frankenprotaxpunkt") = Frankenwert
|
|
End If
|
|
|
|
If ssonummer = "" Then
|
|
r.Item("total") = Me.txtTotal.Text
|
|
Else
|
|
Dim total As Double
|
|
If drv.Item("frankenbetrag") < 0.1 Then
|
|
total = r.Item("taxpunkte") * anzahl * r.Item("Frankenprotaxpunkt")
|
|
r.Item("total") = total.ToString("N2")
|
|
Else
|
|
total = anzahl * r.Item("frankenprotaxpunkt").value
|
|
r.Item("total") = total.ToString("N2")
|
|
|
|
End If
|
|
End If
|
|
|
|
If DIPunkte.Enabled = False Then r.Item("absolut") = 1 Else r.Item("absolut") = 0
|
|
r.Item("nrbehandler") = Me.cbboxnrbehandler.SelectedValue
|
|
db.dsDaten.Tables(0).Rows.Add(r)
|
|
db.Update_Data()
|
|
db.Dispose()
|
|
refresh_leistungen()
|
|
|
|
End Sub
|
|
|
|
Dim ldb As New clsDB
|
|
Dim spalten As New Tabellenspalte
|
|
Sub refresh_leistungen()
|
|
Me.C1Leistungen.DataSource = Nothing
|
|
ldb.dsDaten.Tables.Clear()
|
|
ldb.Get_Tabledata("Leistung", " where aktiv=1 and nrbehandlung=" + Me.Behandlungnr.ToString + " and aktiv=1")
|
|
Me.C1Leistungen.DataSource = ldb.dsDaten.Tables(0)
|
|
Me.C1Leistungen.DataMember = ldb.dsDaten.Tables(0).TableName
|
|
spalten.Spaltentitel_aktualisieren(Me.C1Leistungen, ldb.dsDaten.Tables(0).TableName, ldb.dsDaten.Tables(0))
|
|
EVH.Fire_Leistung_Changed(Me.Behandlungnr, calc_Leistungstotal)
|
|
End Sub
|
|
|
|
Private Sub BearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BearbeitenToolStripMenuItem.Click
|
|
Me.C1Leistungen_DoubleClick(sender, e)
|
|
End Sub
|
|
|
|
Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click
|
|
Try
|
|
If MsgBox("Leistung wirklich löschen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then
|
|
If Me.C1Leistungen.SelectedRows.Count < 2 Then
|
|
ldb.delete_leistung(Me.C1Leistungen.Columns("nrleistung").Value)
|
|
refresh_leistungen()
|
|
Exit Sub
|
|
End If
|
|
If Me.C1Leistungen.SelectedRows.Count > 1 Then
|
|
Dim colRows As C1.Win.C1TrueDBGrid.SelectedRowCollection
|
|
|
|
Dim cl As New Collection
|
|
|
|
colRows = Me.C1Leistungen.SelectedRows
|
|
For ic = 0 To colRows.Count - 1
|
|
cl.Add(Me.C1Leistungen.Columns(0).CellValue(colRows(ic)))
|
|
Next ic
|
|
For i = 1 To cl.Count
|
|
ldb.delete_leistung(cl(i))
|
|
Next
|
|
refresh_leistungen()
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub TreeTarifGruppen_NodeClick(sender As Object, e As DevComponents.AdvTree.TreeNodeMouseEventArgs) Handles TreeTarifGruppen.NodeClick
|
|
Load_Tarif()
|
|
End Sub
|
|
|
|
Private Sub btnPaketeinfuegen_Click(sender As Object, e As EventArgs) Handles btnPaketeinfuegen.Click
|
|
If Me.dtdatum.Value = "00:00:00" Then Me.dtdatum.Value = Now
|
|
Try
|
|
If cbboxnrbehandler.SelectedValue < 1 Then Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
Catch ex As Exception
|
|
Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
End Try
|
|
Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("paketpos"), "nrpaket=" + Me.lbPakete.SelectedValue.ToString, "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv
|
|
Dim dvt As New DataView(IntTables.Inttables.Tables("Tarif"), "nrtarif=" + drv.Item("nrtarif").ToString, "", DataViewRowState.CurrentRows)
|
|
For Each dvtr As DataRowView In dvt
|
|
Leistung_Einfuegen(dvtr("SSO_Nummer").ToString, Me.intAnzahl.Value)
|
|
Next
|
|
Next
|
|
|
|
End Sub
|
|
|
|
|
|
Public Function calc_Leistungstotal() As Double
|
|
Dim total As Double
|
|
For Each r As DataRow In ldb.dsDaten.Tables(0).Rows
|
|
If r("aktiv") = True Then
|
|
total = total + r("Total")
|
|
End If
|
|
Next
|
|
Return total
|
|
End Function
|
|
|
|
Public Function Recalc_Leistungen()
|
|
ldb.Get_Tabledata("Leistung", " where aktiv=1 and nrbehandlung=" + Me.Behandlungnr.ToString + " and aktiv=1")
|
|
For Each r As DataRow In ldb.dsDaten.Tables(0).Rows
|
|
If r("absolut") = 0 Then
|
|
r("frankenprotaxpunkt") = Me.Frankenwert
|
|
r("total") = Globals.Round5(r("Menge") * r("Taxpunkte") * r("frankenprotaxpunkt"))
|
|
End If
|
|
Next
|
|
ldb.Update_Data()
|
|
refresh_leistungen()
|
|
End Function
|
|
|
|
Private Sub lbPakete_DoubleClick(sender As Object, e As EventArgs) Handles lbPakete.DoubleClick
|
|
btnPaketeinfuegen_Click(sender, e)
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub evh_Total_Berechnet(behandlungsnummer As Integer, Total As Double) Handles evh.Total_Berechnet
|
|
If Me.Behandlungnr = behandlungsnummer Then Me.tslabelbhtotal.Text = "Behandlungstotal: " + Total.ToString("N2")
|
|
End Sub
|
|
|
|
Private Sub C1Leistungen_DoubleClick(sender As Object, e As EventArgs) Handles C1Leistungen.DoubleClick
|
|
Try
|
|
Dim f As New frmLeistungDetail
|
|
f.cbboxnrbehandler.Dataselection = db.Get_SQL(2)
|
|
f.cbboxnrbehandler.TableAlias = "Behandler_BH"
|
|
f.cbboxnrbehandler.Table = "Behandler"
|
|
f.cbboxnrbehandler.Displaymember = "Name"
|
|
f.cbboxnrbehandler.Valuemember = "nrprivat"
|
|
f.Leistungsnummer = C1Leistungen.Columns(0).Value
|
|
If Me.grpLeistungsdetails.Enabled = False Then f.IsReadonly = True Else f.IsReadonly = False
|
|
f.ShowDialog()
|
|
Me.refresh_leistungen()
|
|
Catch
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub AnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AnzeigenToolStripMenuItem.Click
|
|
Dim f As New frmLeistungDetail
|
|
f.cbboxnrbehandler.Dataselection = db.Get_SQL(2)
|
|
f.cbboxnrbehandler.TableAlias = "Behandler_BH"
|
|
f.cbboxnrbehandler.Table = "Behandler"
|
|
f.cbboxnrbehandler.Displaymember = "Name"
|
|
f.cbboxnrbehandler.Valuemember = "nrprivat"
|
|
f.Leistungsnummer = C1Leistungen.Columns(0).Value
|
|
f.IsReadonly = True
|
|
f.ShowDialog()
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub GrpTarif_Enter(sender As Object, e As EventArgs) Handles GrpTarif.Enter
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
|
|
|
|
End Sub
|
|
End Class
|