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.
1896 lines
76 KiB
1896 lines
76 KiB
Imports System.Data.SqlClient
|
|
Imports SB
|
|
Imports System.Windows.Input
|
|
Imports C1.Win
|
|
Imports C1.Win.C1TrueDBGrid
|
|
Imports C1.Win.C1TrueDBGrid.BaseGrid
|
|
Imports Gnostice.Documents
|
|
Imports Syncfusion.Windows.Forms.Edit.Utils.Serializers
|
|
Imports Syncfusion.Windows.Forms.Tools
|
|
|
|
Public Class LeistungDruck
|
|
|
|
Dim db As New clsDB
|
|
Dim onload As Boolean = False
|
|
|
|
Dim m_behandlungnr As Integer
|
|
Property Behandlungnr As Integer
|
|
Get
|
|
Return m_behandlungnr
|
|
End Get
|
|
Set(value As Integer)
|
|
m_behandlungnr = value
|
|
Me.onload = True
|
|
Me.C1Produktzusatz.DataSource = Nothing
|
|
load_data()
|
|
Me.onload = False
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_dentotar As Boolean = False
|
|
Property Dentotar As Boolean
|
|
Get
|
|
Return m_dentotar
|
|
End Get
|
|
Set(value As Boolean)
|
|
If Globals.LeistungenLoaded = True Then Exit Property
|
|
m_dentotar = value
|
|
load_data()
|
|
Globals.LeistungenLoaded = True
|
|
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
|
|
enable_disable_fields()
|
|
|
|
Case Else
|
|
Me.grpLeistungsdetails.Enabled = False
|
|
Me.GrpTarif.Enabled = False
|
|
Me.BearbeitenToolStripMenuItem.Enabled = False
|
|
Me.LöschenToolStripMenuItem.Enabled = False
|
|
|
|
enable_disable_fields()
|
|
|
|
End Select
|
|
If Globals.Applicationtype = Applicationtype.Projektabrechnung Then
|
|
Me.TabPage1.Text = "Artikel"
|
|
Me.GrpTarif.Text = "Artikel"
|
|
End If
|
|
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 Kalkulationsmenge As Integer = 0
|
|
Dim Zuschlag_Rabatt As Double = 0
|
|
|
|
Dim WithEvents evh As Generic_Event_Handler = Globals.EVH
|
|
|
|
Sub load_data()
|
|
If Globals.DruckBranche = False Then Exit Sub
|
|
Try
|
|
If Globals.LeistungenLoaded = True Then Exit Sub
|
|
If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then
|
|
|
|
'GrpTarif.Width = 550
|
|
'GrpLeistungen.Left = GrpTarif.Left + GrpTarif.Width + 4
|
|
grpLeistungsdetails.Left = GrpTarif.Left + GrpTarif.Width + 4
|
|
Me.lblbehandler.Text = "Erbringer"
|
|
|
|
|
|
|
|
lblPosition.Left = lbldatum.Left
|
|
lblPosition.Top = lbldatum.Top + lbldatum.Height + 6
|
|
txtPosition.Top = lblPosition.Top
|
|
|
|
Me.lblBeschreibung.Top = Me.lblPosition.Top + Me.lblPosition.Height + 8
|
|
Me.txtBezD.Left = lblBeschreibung.Left
|
|
Me.txtBezD.Top = lblBeschreibung.Top + lblBeschreibung.Height + 2
|
|
Me.txtBezD.Width = 320
|
|
Me.txtBezD.Height = 58
|
|
|
|
Me.Label2.Visible = False
|
|
Me.txtErgänzung.Visible = False
|
|
|
|
|
|
Me.lblMenge.Top = Me.txtBezD.Top + Me.txtBezD.Height + 7
|
|
Me.DIMenge.Top = Me.lblMenge.Top - 2
|
|
Me.DIMenge.Left = Me.lblMenge.Left + Me.lblMenge.Width + 5
|
|
|
|
Me.lblTaxpunkte.Top = Me.lblMenge.Top
|
|
Me.lblTaxpunkte.Left = Me.DIMenge.Left + Me.DIMenge.Width + 10
|
|
Me.DIPunkte.Top = Me.DIMenge.Top
|
|
Me.DIPunkte.Left = Me.lblTaxpunkte.Left + Me.lblTaxpunkte.Width + 5
|
|
'Me.DIPunkte.Top = Me.DIPunkte.Top
|
|
Me.lblWert.Top = Me.lblMenge.Top
|
|
Me.lblWert.Left = Me.DIPunkte.Left + Me.DIPunkte.Width + 5
|
|
Me.diwert.Top = Me.DIMenge.Top
|
|
Me.diwert.Left = Me.lblWert.Left + Me.lblWert.Width + 5
|
|
Me.txtBezD.Width = Me.lblMenge.Left + Me.diwert.Left + Me.diwert.Width
|
|
|
|
|
|
End If
|
|
db.Get_Tarife()
|
|
Me.TreeTarifGruppen.Nodes.Clear()
|
|
If Dentotar = True Then
|
|
For Each r As DataRow In IntTables.Inttables.Tables("Tarife").Rows
|
|
Select Case True
|
|
Case Trim(r("Bezeichnung")).Contains("UV_MV_IV") Or Trim(r("Bezeichnung")).Contains("Dentotar")
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.DataKey = 222
|
|
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' and KapitelNrNeu<>'000' ", 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 Trim(r("Bezeichnung")).Contains("Zahntechnik (VZLS)")
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = r("Bezeichnung")
|
|
tn.DataKey = 223
|
|
Me.TreeTarifGruppen.Nodes.Add(tn)
|
|
Dim sortstring As String = "KapitelNrNeu"
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("dentotar_223"), "Level=1 and KapitelNrNeu<>'00' and KapitelNrNeu<>'000' ", 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 Trim(r("Bezeichnung")).Contains("SSO")
|
|
Case Else
|
|
If UCase(r("bezeichnung")).ToString.IndexOf("DH") < 0 And UCase(r("bezeichnung")).ToString.IndexOf("9000") < 0 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
|
|
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").ToString.IndexOf("Dentotar") < 0 And r("Bezeichnung").ToString.IndexOf("UV_MV_IV") < 0 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()
|
|
Try
|
|
Me.cbboxnrbehandler.SelectedValue = Me.behandler
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
Globals.LeistungenLoaded = True
|
|
|
|
|
|
End Sub
|
|
|
|
Sub Load_Tarif()
|
|
Dim isdentotar As Boolean = False
|
|
Dim isZahntechnik As Boolean = False
|
|
Dim dv As DataView
|
|
Dim dv1 As DataView
|
|
If Dentotar = True And Me.TreeTarifGruppen.SelectedNode.DataKey = 222 Then
|
|
isdentotar = True
|
|
End If
|
|
If Dentotar = True And Len(TreeTarifGruppen.SelectedNode.DataKeyString < 3) Then
|
|
Try
|
|
If TreeTarifGruppen.SelectedNode.Parent.DataKey = 222 Then
|
|
isdentotar = True
|
|
End If
|
|
Catch
|
|
End Try
|
|
|
|
End If
|
|
If isdentotar Then
|
|
Try
|
|
Dim Wherestring As String
|
|
Dim db As New DataView(IntTables.Inttables.Tables("Dentotar"))
|
|
Dim sortstring As String = "leistungnrneu, leistungd"
|
|
If Me.TreeTarifGruppen.SelectedNode.DataKeyString = "222" Then
|
|
Wherestring = "Kapitelleistung='Lei' and KapitelNrNeu like '" + "" + "%'"
|
|
Else
|
|
Wherestring = "Kapitelleistung='Lei' and KapitelNrNeu like '" + Me.TreeTarifGruppen.SelectedNode.DataKeyString + "%'"
|
|
|
|
End If
|
|
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
|
|
If Dentotar = True And Me.TreeTarifGruppen.SelectedNode.DataKey = 223 Then
|
|
isZahntechnik = True
|
|
End If
|
|
If Dentotar = True And Len(TreeTarifGruppen.SelectedNode.DataKeyString < 3) Then
|
|
Try
|
|
If TreeTarifGruppen.SelectedNode.Parent.DataKey = 223 Then
|
|
isZahntechnik = True
|
|
End If
|
|
Catch
|
|
End Try
|
|
|
|
End If
|
|
|
|
If isZahntechnik Then
|
|
Try
|
|
Dim wherestring As String
|
|
Dim db As New DataView(IntTables.Inttables.Tables("Dentotar_223"))
|
|
Dim sortstring As String = "leistungnrneu, leistungd"
|
|
If Me.TreeTarifGruppen.SelectedNode.DataKeyString = "223" Then
|
|
wherestring = "Kapitelleistung='Lei' and KapitelNrNeu like '" + "" + "%'"
|
|
Else
|
|
wherestring = "Kapitelleistung='Lei' and KapitelNrNeu like '" + Me.TreeTarifGruppen.SelectedNode.DataKeyString + "%'"
|
|
|
|
End If
|
|
|
|
dv = New DataView(IntTables.Inttables.Tables("dentotar_223"), 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
|
|
|
|
|
|
Dim T As New DataTable
|
|
T.Columns.Add("NR")
|
|
T.Columns.Add("NR_BEZ")
|
|
Dim SortString As String = ""
|
|
|
|
If Dentotar = True Then
|
|
|
|
Dim dv1 As New DataView(IntTables.Inttables.Tables("Dentotar"), "", "leistungnrneu", DataViewRowState.CurrentRows)
|
|
dv1.RowFilter = "nr_bez like '%" + Me.txtfilter.Text + "%'"
|
|
For Each rowView As DataRowView In dv1
|
|
Dim row As DataRow = rowView.Row
|
|
Dim nr As DataRow = T.NewRow
|
|
nr.Item(0) = row.Item("leistungnrneu")
|
|
nr.Item(1) = row.Item("nr_bez")
|
|
T.Rows.Add(nr)
|
|
Next
|
|
|
|
If intSort = 0 Then
|
|
SortString = "Nr_Bez asc"
|
|
Else
|
|
SortString = "Nr_Bez desc"
|
|
End If
|
|
|
|
Dim dv2 As New DataView(IntTables.Inttables.Tables("Tarif"), "", SortString, DataViewRowState.CurrentRows)
|
|
dv2.RowFilter = "NR_BEZ like '%" + Me.txtfilter.Text + "%'"
|
|
|
|
For Each rowView As DataRowView In dv2
|
|
Dim row As DataRow = rowView.Row
|
|
If row.Item("sso_nummer").ToString > "4999" Then
|
|
|
|
Dim nr As DataRow = T.NewRow
|
|
nr.Item(0) = row.Item("nrtarif")
|
|
nr.Item(1) = row.Item("nr_bez")
|
|
T.Rows.Add(nr)
|
|
End If
|
|
|
|
Next
|
|
Else
|
|
Dim dv2 As New DataView(IntTables.Inttables.Tables("Tarif"), "", SortString, DataViewRowState.CurrentRows)
|
|
dv2.RowFilter = "NR_BEZ like '%" + Me.txtfilter.Text + "%'"
|
|
|
|
For Each rowView As DataRowView In dv2
|
|
Dim row As DataRow = rowView.Row
|
|
|
|
|
|
Dim nr As DataRow = T.NewRow
|
|
nr.Item(0) = row.Item("nrtarif")
|
|
nr.Item(1) = row.Item("nr_bez")
|
|
T.Rows.Add(nr)
|
|
|
|
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
Me.lbtarif1.DataSource = Nothing
|
|
Me.lbtarif1.DataSource = T
|
|
Me.lbtarif1.DisplayMember = "nr_bez"
|
|
Me.lbtarif1.ValueMember = "nr"
|
|
Exit Sub
|
|
|
|
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"
|
|
|
|
Me.lbtarif1.DataSource = Nothing
|
|
|
|
If intSort = 0 Then
|
|
SortString = "Nr_Bez asc"
|
|
Else
|
|
SortString = "Nr_Bez desc"
|
|
End If
|
|
Exit Sub
|
|
'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"
|
|
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 Function Get_Tarifposition(ByVal value As String) As String
|
|
|
|
Dim wherestring As String = ""
|
|
Dim sortstring As String = ""
|
|
|
|
Try
|
|
wherestring = "Leistungnrneu='" + value + "'"
|
|
Dim db As New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
If db.Count > 0 Then
|
|
For Each drv As DataRowView In db
|
|
Return drv.Item("Leistungnrneu").ToString
|
|
Next
|
|
|
|
Exit Function
|
|
End If
|
|
Catch
|
|
End Try
|
|
|
|
Try
|
|
Dim db223 As New DataView(IntTables.Inttables.Tables("Dentotar_223"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
If db223.Count > 0 Then
|
|
For Each drv As DataRowView In db223
|
|
Return drv.Item("Leistungnrneu").ToString
|
|
Next
|
|
|
|
Exit Function
|
|
End If
|
|
Catch
|
|
End Try
|
|
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "nrtarif=" + value, "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv
|
|
Return drv.Item("sso_nummer").ToString
|
|
Next
|
|
End Function
|
|
Private Sub lbtarif1_ItemClick(sender As Object, e As EventArgs) Handles lbtarif1.ItemClick
|
|
Me.txtPosition.Text = Get_Tarifposition(Me.lbtarif1.SelectedValue.ToString)
|
|
txtPosition_TextChanged(sender, e)
|
|
Exit Sub
|
|
|
|
|
|
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 Then
|
|
If Me.txtPosition.Text.Substring(0, 1) = 4 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
|
|
Else
|
|
Dim dv1 As New DataView(IntTables.Inttables.Tables("Dentotar_223"), "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
|
|
End If
|
|
Dim found As Integer
|
|
Try
|
|
For Each t As DataTable In IntTables.Inttables.Tables
|
|
If t.TableName = "Tarif" Then
|
|
found = True
|
|
End If
|
|
If Not found Then
|
|
Dim xdb As New clsDB
|
|
db.Get_Tarif()
|
|
xdb.Dispose()
|
|
End If
|
|
Next
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
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
|
|
|
|
Sub update_lagerbesatnd()
|
|
If Globals.User_Lagerbestand Then
|
|
Me.lblLagerbewtand.Visible = True
|
|
Me.lblLageranzahl.Visible = True
|
|
Dim db As New clsDB
|
|
Try
|
|
db.Get_Tabledata("Lager", "", "Select isnull(lagerbestand,0) as lagerbestand from tarif where sso_nummer='" + Me.txtPosition.Text.ToString + "'")
|
|
Me.lblLageranzahl.Text = db.dsDaten.Tables(0).Rows(0).Item(0)
|
|
Catch
|
|
Finally
|
|
db.Dispose()
|
|
End Try
|
|
|
|
Else
|
|
Me.lblLagerbewtand.Visible = False
|
|
Me.lblLageranzahl.Visible = False
|
|
End If
|
|
End Sub
|
|
Dim interror As Integer = 0
|
|
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 Me.Dentotar = True And Me.txtPosition.Text.Substring(0, 1) = "4" Then
|
|
Dim s As String = Me.txtPosition.Text
|
|
If s.IndexOf(".") = -1 Then s = s.Substring(0, 1) + "." + s.Substring(1, Len(s) - 1)
|
|
If Len(s) < 6 Then
|
|
While Len(s) < 6
|
|
s = s + "0"
|
|
End While
|
|
End If
|
|
Me.txtPosition.Text = s
|
|
End If
|
|
|
|
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)
|
|
If dv1.Count > 0 Then
|
|
Dim dr As DataRowView
|
|
Try
|
|
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
|
|
Me.diwert.Text = Me.Frankenwert
|
|
Me.DIPunkte.Enabled = True
|
|
|
|
Else
|
|
Me.diwert.Text = dr.Item("betraginchf")
|
|
Me.DIPunkte.Enabled = False
|
|
End If
|
|
Me.DIMenge.Text = 1
|
|
Me.txtBezD.Text = dr.Item("LeistungD")
|
|
Exit Sub
|
|
Catch
|
|
interror = 1
|
|
MsgBox("Eingegebene Position ist nicht vorhanden.", vbExclamation)
|
|
Me.txtPosition.Focus()
|
|
Me.txtPosition.SelectAll()
|
|
Exit Sub
|
|
End Try
|
|
|
|
Exit Sub
|
|
|
|
End If
|
|
|
|
|
|
update_lagerbesatnd()
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "sso_nummer='" + Me.txtPosition.Text.ToString + "'", "", DataViewRowState.CurrentRows)
|
|
If dv.Count > 0 Then
|
|
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
|
|
If Globals.DruckBranche = True Then
|
|
If drv.Item("variabel") = True And Me.Kalkulationsmenge > 0 Then Me.diwert.Value = Globals.Round5(Me.diwert.Value / 1000 * Me.Kalkulationsmenge)
|
|
End If
|
|
Me.txtBezD.Text = drv.Item("BezD")
|
|
End If
|
|
Try
|
|
If drv.Item("Frankenbetrag") = 0 And drv.Item("maximaltarif") = 0 And +drv.Item("minimaltarif") = 0 And drv.Item("privattarif") = 0 And drv.Item("suvatarif") = 0 Then
|
|
diwert.Text = 0
|
|
|
|
End If
|
|
Catch
|
|
End Try
|
|
|
|
|
|
Exit Sub
|
|
Next
|
|
End If
|
|
|
|
sortstring = ""
|
|
wherestring = "LeistungnrNeu='" + Me.txtPosition.Text + "'"
|
|
Dim dvx As New DataView(IntTables.Inttables.Tables("Dentotar_223"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
If dvx.Count > 0 Then
|
|
Dim dr As DataRowView
|
|
Try
|
|
dr = dvx(0)
|
|
If dr.Item("Abrechnungseinheit") = "TP" Then
|
|
Select Case Me.TaxPunkte
|
|
Case Taxpunkttyp.Maximal
|
|
Me.DIPunkte.Value = dr.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Minmal
|
|
Me.DIPunkte.Value = dr.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Privat
|
|
Me.DIPunkte.Value = dr.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Suva
|
|
Me.DIPunkte.Value = dr.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Dentotar
|
|
Me.DIPunkte.Value = dr.Item("TP_Vertrag_mit_MwSt")
|
|
Case Else
|
|
End Select
|
|
End If
|
|
Me.DIMenge.Text = 1
|
|
Me.diwert.Text = Me.Frankenwert
|
|
Me.DIPunkte.Enabled = True
|
|
Me.txtBezD.Text = dr.Item("LeistungD")
|
|
Exit Sub
|
|
Catch
|
|
interror = 1
|
|
MsgBox("Eingegebene Position ist nicht vorhanden.", vbExclamation)
|
|
Me.txtPosition.Focus()
|
|
Me.txtPosition.SelectAll()
|
|
Exit Sub
|
|
End Try
|
|
|
|
Exit Sub
|
|
|
|
End If
|
|
|
|
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()
|
|
update_lagerbesatnd()
|
|
End Sub
|
|
|
|
Private Sub diwert_KeyDown(sender As Object, e As KeyEventArgs) Handles txtPosition.KeyDown, txtBezD.KeyDown, diwert.KeyDown, DIPunkte.KeyDown, DIMenge.KeyDown
|
|
If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then Exit Sub
|
|
If e.KeyCode = Keys.Enter Then
|
|
|
|
If sender.name = "txtPosition" Then Me.txtPosition_TextChanged(sender, e)
|
|
Leistung_Einfuegen()
|
|
update_lagerbesatnd()
|
|
Me.txtPosition.Focus()
|
|
Me.txtPosition.SelectAll()
|
|
End If
|
|
End Sub
|
|
|
|
Sub Leistung_Einfuegen_Dentotar(ByVal SSONummer As String, ByVal anzahl As Integer, Optional DentotarNr As String = "")
|
|
Dim LeistungOverwrite As Boolean = False
|
|
Dim dv As DataView
|
|
Dim isdentotar As Boolean = False
|
|
Dim iszahntechik As Boolean = False
|
|
Dim nrtarifgruppe As Integer
|
|
|
|
Dim sortstring As String = ""
|
|
Dim wherestring As String = "LeistungNrNeu='" + Me.txtPosition.Text.ToString + "'"
|
|
If DentotarNr <> "" Then
|
|
wherestring = "LeistungNrNeu='" + DentotarNr + "'"
|
|
End If
|
|
If SSONummer = "" Then
|
|
dv = New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
If dv.Count < 1 Then
|
|
dv = New DataView(IntTables.Inttables.Tables("Dentotar_223"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
iszahntechik = True
|
|
Else
|
|
isdentotar = True
|
|
End If
|
|
Else
|
|
wherestring = SSONummer
|
|
dv = New DataView(IntTables.Inttables.Tables("Dentotar"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
If dv.Count < 1 Then
|
|
dv = New DataView(IntTables.Inttables.Tables("Dentotar_223"), wherestring, sortstring, DataViewRowState.CurrentRows)
|
|
iszahntechik = True
|
|
Else
|
|
isdentotar = True
|
|
End If
|
|
End If
|
|
Dim drv As DataRowView
|
|
Try
|
|
drv = dv(0)
|
|
Catch
|
|
Dim f As New frmPosition
|
|
f.TextBox1.Text = Me.txtPosition.Text.ToString
|
|
f.TextBox2.Text = Me.txtBezD.Text.ToString
|
|
f.TextBox3.Text = Me.txtErgänzung.Text.ToString
|
|
f.ShowDialog()
|
|
|
|
If f.DialogResult <> DialogResult.OK Then Exit Sub
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Me.txtPosition.Text = f.TextBox1.Text
|
|
Me.txtBezD.Text = f.TextBox2.Text
|
|
Me.txtErgänzung.Text = f.TextBox3.Text
|
|
LeistungOverwrite = True
|
|
isdentotar = True
|
|
Else
|
|
MsgBox("Leistungsposition nicht vorhanden.")
|
|
Exit Sub
|
|
End If
|
|
End Try
|
|
|
|
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
|
|
If isdentotar Then
|
|
r.Item("nrtarif") = 5
|
|
Else
|
|
If iszahntechik Then r.Item("nrtarif") = 7
|
|
End If
|
|
If LeistungOverwrite Then
|
|
r.Item("sso_nummer") = Me.txtPosition.Text.ToString
|
|
Else
|
|
r.Item("sso_nummer") = drv("LeistungNrNeu")
|
|
|
|
End If
|
|
If SSONummer = "" Then
|
|
r.Item("bezd") = Me.txtBezD.Text + " " + Me.txtErgänzung.Text
|
|
Else
|
|
r.Item("bezd") = drv("Leistungd") + " " + Me.txtErgänzung.Text
|
|
End If
|
|
|
|
Dim betraginchf As Decimal
|
|
Try
|
|
If drv.Item("BetraginCHF") < 0.1 Then
|
|
betraginchf = 0
|
|
Else
|
|
betraginchf = drv.Item("BetraginCHF")
|
|
End If
|
|
Catch
|
|
betraginchf = 0
|
|
End Try
|
|
|
|
|
|
If SSONummer = "" And DentotarNr = "" Then
|
|
r.Item("taxpunkte") = Me.DIPunkte.Value
|
|
Else
|
|
Try
|
|
If betraginchf = 0 Then
|
|
If isdentotar 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
|
|
Else
|
|
Select Case Me.TaxPunkte
|
|
Case Taxpunkttyp.Maximal
|
|
r.Item("taxpunkte") = drv.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Minmal
|
|
r.Item("taxpunkte") = drv.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Privat
|
|
r.Item("taxpunkte") = drv.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Suva
|
|
r.Item("taxpunkte") = drv.Item("TP_Vertrag_mit_MwSt")
|
|
Case Taxpunkttyp.Dentotar
|
|
Me.DIPunkte.Value = drv.Item("TP_Vertrag_mit_MwSt")
|
|
Case Else
|
|
|
|
End Select
|
|
|
|
End If
|
|
End If
|
|
|
|
Catch
|
|
End Try
|
|
|
|
End If
|
|
|
|
If SSONummer = "" And DentotarNr = "" Then
|
|
r.Item("menge") = Me.DIMenge.Value
|
|
Else
|
|
r.Item("menge") = anzahl
|
|
End If
|
|
If SSONummer = "" And DentotarNr = "" Then
|
|
r.Item("frankenprotaxpunkt") = Me.diwert.Value
|
|
Else
|
|
r.Item("frankenprotaxpunkt") = Frankenwert
|
|
End If
|
|
|
|
If SSONummer = "" And DentotarNr = "" Then
|
|
r.Item("total") = Me.txtTotal.Text
|
|
Else
|
|
Dim total As Double
|
|
If betraginchf = 0 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, Optional VonPaket As Boolean = False)
|
|
' If ssonummer = "" Then Exit Sub
|
|
'If ssonummer = "7006" Then
|
|
' MsgBox("Hallo")
|
|
'End If
|
|
If interror > 0 Then
|
|
interror = 0
|
|
Exit Sub
|
|
End If
|
|
If Dentotar = True Then
|
|
If Me.txtPosition.Text.Substring(0, 1) = "4" Or Me.txtPosition.Text.Substring(0, 1) = "0" Or Me.txtPosition.Text.Substring(0, 1) = "1" Or Me.txtPosition.Text.Substring(0, 1) = "2" Or Me.txtPosition.Text.Substring(0, 1) = "3" Then
|
|
Leistung_Einfuegen_Dentotar(ssonummer, anzahl)
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
Dim dv As DataView
|
|
If ssonummer = "" Then
|
|
'IntTables.Inttables.Tables("tarif").WriteXml("o:\tarif.xml")
|
|
|
|
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
|
|
Dim leistungkey As Integer = newkey
|
|
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 + " " + Me.txtErgänzung.Text
|
|
Else
|
|
r.Item("bezd") = drv("bezd") + " " + Me.txtErgänzung.Text
|
|
End If
|
|
|
|
|
|
Try
|
|
If My.Settings.SoftwareType = "PADM" Then r.Item("bezf") = drv("bezf")
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
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
|
|
|
|
Dim leistungsbetrag As Double
|
|
If VonPaket = True Then
|
|
r.Item("frankenprotaxpunkt") = drv.Item("frankenbetrag")
|
|
Else
|
|
|
|
If ssonummer = "" Then
|
|
r.Item("frankenprotaxpunkt") = Me.diwert.Value
|
|
leistungsbetrag = Me.diwert.Value
|
|
Else
|
|
r.Item("frankenprotaxpunkt") = Frankenwert
|
|
leistungsbetrag = Frankenwert
|
|
End If
|
|
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 * leistungsbetrag
|
|
r.Item("total") = total.ToString("N2")
|
|
Else
|
|
total = anzahl * drv.Item("frankenbetrag")
|
|
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()
|
|
|
|
|
|
If db.Get_Option(70010) = "True" Then
|
|
Try
|
|
db.Update_Lager(Me.Behandlungnr, drv("Nrtarif"), anzahl, 1)
|
|
Catch
|
|
End Try
|
|
|
|
End If
|
|
|
|
db.Dispose()
|
|
|
|
Dim db1 As New clsDB
|
|
Dim r11 As DataRow
|
|
newkey = db1.Get_DBKey("Produkt_Kalkulation")
|
|
db1.dsDaten.Tables.Clear()
|
|
db1.Get_Tabledata("Produkt_Kalkulation", " where ID=0")
|
|
r11 = db1.dsDaten.Tables(0).NewRow
|
|
r11.Item(0) = newkey
|
|
r11.Item("Erstellt_am") = Now
|
|
r11.Item("mutiert_am") = Now
|
|
r11.Item("mutierer") = Globals.ActUser
|
|
r11.Item("aktiv") = True
|
|
r11.Item("produktid") = Me.C1Produkte.Columns("ID").Value
|
|
r11.Item("nrleistung") = leistungkey
|
|
db1.dsDaten.Tables(0).Rows.Add(r11)
|
|
db1.Update_Data()
|
|
refresh_leistungen()
|
|
|
|
End Sub
|
|
|
|
Dim ldb As New clsDB
|
|
Dim pdb As New clsDB
|
|
Dim pzdb As New clsDB
|
|
Dim spalten As New Tabellenspalte
|
|
Sub update_Produkte()
|
|
Me.C1Produkte.UpdateData()
|
|
pdb.Update_Data()
|
|
End Sub
|
|
|
|
Sub refresh_produkte()
|
|
Me.C1Produkte.Enabled = False
|
|
|
|
|
|
Me.C1Produkte.DataSource = Nothing
|
|
pdb.dsDaten.Tables.Clear()
|
|
pdb.Get_Tabledata("Produkt_Behandlung", "", "Select * from produkt_behandlung where behandlungnr=" + Me.Behandlungnr.ToString)
|
|
Dim aktiv As Boolean = False
|
|
For Each r As DataRow In pdb.dsDaten.Tables(0).Rows
|
|
If r("aktiv") = True Then aktiv = True
|
|
Next
|
|
Me.C1Produkte.DataSource = pdb.dsDaten.Tables(0)
|
|
Me.C1Produkte.DataMember = pdb.dsDaten.Tables(0).TableName
|
|
spalten.Spaltentitel_aktualisieren(Me.C1Produkte, pdb.dsDaten.Tables(0).TableName, pdb.dsDaten.Tables(0))
|
|
If aktiv = False Then
|
|
Me.GrpTarif.Enabled = False
|
|
Me.GrpLeistungen.Enabled = False
|
|
Me.GroupBox2.Enabled = False
|
|
Me.TabTarife.Enabled = False
|
|
Me.grpLeistungsdetails.Enabled = False
|
|
Else
|
|
Me.GrpTarif.Enabled = True
|
|
Me.GrpLeistungen.Enabled = True
|
|
|
|
Me.GroupBox2.Enabled = True
|
|
Me.TabTarife.Enabled = True
|
|
Me.grpLeistungsdetails.Enabled = True
|
|
End If
|
|
Me.C1Produkte.Enabled = True
|
|
enable_disable_fields()
|
|
|
|
End Sub
|
|
|
|
Sub Refresh_Produktzusatz()
|
|
Me.C1Produktzusatz.Enabled = False
|
|
Me.C1Produktzusatz.DataSource = Nothing
|
|
pzdb.dsDaten.Tables.Clear()
|
|
pzdb.Get_Tabledata("View_Produktzusatz", "", "Select * from view_produktzusatz where aktiv=1 and produktid=" + C1Produkte.Columns(0).Value.ToString)
|
|
Me.C1Produktzusatz.DataSource = pzdb.dsDaten.Tables(0)
|
|
Me.C1Produktzusatz.DataMember = pzdb.dsDaten.Tables(0).TableName
|
|
spalten.Spaltentitel_aktualisieren(Me.C1Produktzusatz, pzdb.dsDaten.Tables(0).TableName, pzdb.dsDaten.Tables(0))
|
|
Me.C1Produktzusatz.Enabled = True
|
|
End Sub
|
|
Sub refresh_leistungen()
|
|
Me.C1Leistungen.DataSource = Nothing
|
|
ldb.dsDaten.Tables.Clear()
|
|
ldb.Get_Tabledata("Leistung")
|
|
If Me.C1Produkte.Splits(0).Rows.Count < 1 Then
|
|
ldb.Get_Tabledata("Leistung", "", "Select * from leistung where aktiv=1 and nrleistung in (select nrleistung from produkt_kalkulation where aktiv=1 and ProduktID=-1) order by datum desc, nrtarif asc, sso_nummer asc")
|
|
Else
|
|
ldb.Get_Tabledata("Leistung", "", "Select * from leistung where aktiv=1 and nrleistung in (select nrleistung from produkt_kalkulation where aktiv=1 and ProduktID=" + Me.C1Produkte.Columns(0).Value.ToString + ") order by datum desc, nrtarif asc, sso_nummer asc")
|
|
|
|
End If
|
|
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()
|
|
update_lagerbesatnd()
|
|
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()
|
|
update_lagerbesatnd()
|
|
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()
|
|
update_lagerbesatnd()
|
|
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
|
|
If Me.Dentotar = True Then
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("paketpos"), "aktiv=1 and nrpaket=" + Me.lbPakete.SelectedValue.ToString, "", DataViewRowState.CurrentRows)
|
|
Dim dvt As DataView
|
|
For Each drv As DataRowView In dv
|
|
If drv.Item("Dentotar") = True Then
|
|
Dim s As String = drv.Item("nrtarif")
|
|
s = s.Substring(0, 1) + "." + s.Substring(1, 4)
|
|
' dvt = New DataView(IntTables.Inttables.Tables("Dentotar"), "Leistungnrneu=" + drv.Item("nrtarif").ToString, "", DataViewRowState.CurrentRows)
|
|
Leistung_Einfuegen_Dentotar("", Me.intAnzahl.Value, s)
|
|
Else
|
|
dvt = New DataView(IntTables.Inttables.Tables("Tarif"), "aktiv=1 and nrtarif=" + drv.Item("nrtarif").ToString, "", DataViewRowState.CurrentRows)
|
|
For Each dvtr As DataRowView In dvt
|
|
Dim s As String = dvtr("SSO_Nummer").ToString
|
|
s = s.Substring(0, 1) + "." + s.Substring(1, 3) + "0"
|
|
If s.Substring(0, 1) = "4" Then
|
|
Leistung_Einfuegen_Dentotar("", Me.intAnzahl.Value, s)
|
|
Else
|
|
Leistung_Einfuegen(dvtr("SSO_Nummer").ToString, Me.intAnzahl.Value)
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
Next
|
|
Else
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("paketpos"), "aktiv=1 and nrpaket=" + Me.lbPakete.SelectedValue.ToString, "", DataViewRowState.CurrentRows)
|
|
For Each drv As DataRowView In dv
|
|
Dim dvt As DataView
|
|
If drv.Item("Dentotar") = False Then
|
|
dvt = 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, True)
|
|
Next
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Public Function calc_Leistungstotal() As Double
|
|
Dim kalkulation As Decimal = 0
|
|
Dim zusatzleistung As Decimal = 0
|
|
|
|
Dim total As Double
|
|
For Each r As DataRow In ldb.dsDaten.Tables(0).Rows
|
|
If r("aktiv") = True Then
|
|
If r("sso_nummer") > 8999 Then
|
|
zusatzleistung = zusatzleistung + r("Total")
|
|
|
|
Else
|
|
kalkulation = Globals.Round5(kalkulation + r("Total"))
|
|
End If
|
|
|
|
total = total + Globals.Round5(r("Total"))
|
|
End If
|
|
Next
|
|
|
|
Me.C1Produkte.Columns("Kalkulation").Value = kalkulation
|
|
If Me.C1Produkte.Columns("Zuschlag_Rabatt").Value <> 0 Then
|
|
Dim w As Double = Globals.Round5((kalkulation / 100 * Me.C1Produkte.Columns("Zuschlag_Rabatt").Value) + kalkulation)
|
|
Me.C1Produkte.Columns("Kalkulation").Value = w
|
|
End If
|
|
|
|
Me.C1Produkte.Columns("Zusatzpositionen").Value = zusatzleistung
|
|
update_Produkte()
|
|
Return total
|
|
End Function
|
|
|
|
Public Function Recalc_Leistungen(Optional pid As Integer = 0)
|
|
Dim pd As New clsDB
|
|
If pid = 0 Then
|
|
pd.Get_Tabledata("Produte", "", "Select id from Produkt_Behandlung where behandlungnr=" + Me.Behandlungnr.ToString + " and aktiv=1")
|
|
Else
|
|
pd.Get_Tabledata("Produte", "", "Select id from Produkt_Behandlung where ID=" + pid.ToString + " and aktiv=1")
|
|
End If
|
|
For Each p As DataRow In pd.dsDaten.Tables(0).Rows
|
|
|
|
|
|
|
|
ldb.Get_Tabledata("Leistung", "", "Select * from leistung where aktiv=1 and nrleistung in (select nrleistung from produkt_kalkulation where aktiv=1 and ProduktID=" + p("id").ToString + ") order by datum desc, nrtarif asc, sso_nummer asc")
|
|
|
|
'' 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
|
|
For Each r As DataRow In ldb.dsDaten.Tables(0).Rows
|
|
Dim dv As New DataView(IntTables.Inttables.Tables("Tarif"), "sso_nummer='" + r("sso_nummer") + "'", "", DataViewRowState.CurrentRows)
|
|
For Each rowView As DataRowView In dv
|
|
Dim r2 As DataRow = rowView.Row
|
|
If r2("Variabel") = True Then
|
|
r("Total") = Globals.Round5(r("Menge") * r2("frankenbetrag") / 1000 * Me.Kalkulationsmenge)
|
|
r("frankenprotaxpunkt") = Globals.Round5(r("Total"))
|
|
|
|
End If
|
|
Next
|
|
Next
|
|
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 = "Leistungstotal: " + Total.ToString("N2")
|
|
End Sub
|
|
|
|
Private Sub C1Leistungen_DoubleClick(sender As Object, e As EventArgs) Handles C1Leistungen.DoubleClick
|
|
Try
|
|
If My.Settings.SoftwareType = "PADM" Then
|
|
Dim f1 As New frmLeistungDetailPADM
|
|
f1.cbboxnrbehandler.Dataselection = db.Get_SQL(2)
|
|
f1.cbboxnrbehandler.TableAlias = "Behandler_BH"
|
|
f1.cbboxnrbehandler.Table = "Behandler"
|
|
f1.cbboxnrbehandler.Displaymember = "Name"
|
|
f1.cbboxnrbehandler.Valuemember = "nrprivat"
|
|
f1.Leistungsnummer = C1Leistungen.Columns(0).Value.ToString
|
|
If Me.grpLeistungsdetails.Enabled = False Then f1.IsReadonly = True Else f1.IsReadonly = False
|
|
f1.ShowDialog()
|
|
Me.refresh_leistungen()
|
|
update_lagerbesatnd()
|
|
Exit Sub
|
|
End If
|
|
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()
|
|
update_lagerbesatnd()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
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)
|
|
|
|
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}")
|
|
If e.KeyCode = 190 Then SendKeys.SendWait("{TAB}")
|
|
|
|
End Sub
|
|
Sub delete_date(sender)
|
|
sender.value = Nothing
|
|
End Sub
|
|
|
|
Private Sub ContextMenuStrip1_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
|
|
If Dentotar = True Then Me.TarifdetailsToolStripMenuItem.Enabled = True Else Me.TarifdetailsToolStripMenuItem.Enabled = False
|
|
End Sub
|
|
|
|
Private Sub TarifdetailsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TarifdetailsToolStripMenuItem.Click
|
|
Dim f As New frmDentotarDetails
|
|
f.Show()
|
|
f.Update_Data(Me.lbtarif1.SelectedValue.ToString)
|
|
End Sub
|
|
|
|
Private Sub txtfilter_Click(sender As Object, e As EventArgs) Handles txtfilter.Click
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub LeistungsdatumÄndernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LeistungsdatumÄndernToolStripMenuItem.Click
|
|
Dim f As New frmKalender
|
|
f.ShowDialog()
|
|
If Me.C1Leistungen.SelectedRows.Count > 0 Then
|
|
Dim colRows As C1.Win.C1TrueDBGrid.SelectedRowCollection
|
|
colRows = Me.C1Leistungen.SelectedRows
|
|
Dim db As New clsDB
|
|
For i As Integer = 0 To colRows.Count - 1
|
|
Try
|
|
|
|
db.Get_Tabledata("Leistung", "where nrleistung=" + Me.C1Leistungen.Columns("nrleistung").CellValue(colRows(i)).ToString)
|
|
db.dsDaten.Tables(0).Rows(0).Item("Datum") = f.MaskedTextBox1.Text
|
|
db.Update_Data()
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
Next
|
|
db.Dispose()
|
|
refresh_leistungen()
|
|
Else
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("Leistung", "where nrleistung=" + Me.C1Leistungen.Columns("nrleistung").Value.ToString)
|
|
db.dsDaten.Tables(0).Rows(0).Item("Datum") = f.MaskedTextBox1.Text
|
|
db.Update_Data()
|
|
Me.C1Leistungen.Columns("datum").Value = f.MaskedTextBox1.Text
|
|
db.Dispose()
|
|
update_lagerbesatnd()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub lbtarif1_DoubleClick(sender As Object, e As EventArgs) Handles lbtarif1.DoubleClick
|
|
' Leistung_Einfuegen()
|
|
End Sub
|
|
|
|
Private Sub C1Leistungen_AfterColUpdate(sender As Object, e As ColEventArgs) Handles C1Leistungen.AfterColUpdate
|
|
'ldb.dsDaten.AcceptChanges()
|
|
Dim i As Integer
|
|
Try
|
|
i = Me.C1Leistungen.Bookmark
|
|
Me.C1Leistungen.Bookmark = -1
|
|
Me.C1Leistungen.Bookmark = i
|
|
Me.C1Leistungen.Columns("Total").Value = Globals.Round5(Me.C1Leistungen.Columns("Menge").Value * Me.C1Leistungen.Columns("Frankenprotaxpunkt").Value)
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Me.C1Leistungen.UpdateData()
|
|
ldb.Update_Data()
|
|
Me.refresh_leistungen()
|
|
update_lagerbesatnd()
|
|
'ldb.Update_Tabeldata()
|
|
End Sub
|
|
|
|
Private Sub txtTotal_TextChanged(sender As Object, e As EventArgs) Handles txtTotal.TextChanged
|
|
Try
|
|
Me.txtTotal.Text = Globals.SwissCommercialRound(txtTotal.Text).ToString("N2")
|
|
Catch
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub C1Leistungen_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Leistungen.MouseDown
|
|
Try
|
|
If e.Button = MouseButtons.Right Then
|
|
Me.C1Leistungen.Bookmark = Me.C1Leistungen.RowContaining(e.Y)
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
Private Sub C1Produkte_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Produkte.MouseDown
|
|
Try
|
|
Me.C1Produkte.Bookmark = Me.C1Produkte.RowContaining(e.Y)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub C1Produkte_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Produkte.RowColChange
|
|
If Me.onload Then Exit Sub
|
|
Try
|
|
Try
|
|
Me.Kalkulationsmenge = Me.C1Produkte.Columns("AnzKalkulation").Value
|
|
Catch
|
|
Me.Kalkulationsmenge = 0
|
|
End Try
|
|
Try
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
refresh_leistungen()
|
|
Refresh_Produktzusatz()
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
|
Dim f As New frmprodukt
|
|
f.produktnr = 0
|
|
f.Load_Data()
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Dim pbh As New clsDB
|
|
Dim newkey As Integer
|
|
pbh.Get_Tabledata("NewKey", "", "Select top 1 id from produkt_behandlung order by id desc")
|
|
newkey = pbh.dsDaten.Tables(0).Rows(0).Item(0) + 1
|
|
pbh.Get_Tabledata("Produkt_Behandlung", " where id=0")
|
|
|
|
Dim r As DataRow = pbh.dsDaten.Tables(0).NewRow
|
|
r.Item("ID") = newkey
|
|
r.Item("Behandlungnr") = Me.Behandlungnr
|
|
r.Item("produktnr") = f.ComboBoxEx1.SelectedValue
|
|
r.Item("Erstellt_am") = Now
|
|
r.Item("mutiert_am") = Now
|
|
r.Item("mutierer") = Globals.ActUser
|
|
r.Item("aktiv") = True
|
|
If f.TextBox2.Text = "" Then
|
|
r.Item("Bezeichnung") = f.ComboBoxEx1.Text
|
|
Else
|
|
r.Item("Bezeichnung") = f.TextBox2.Text
|
|
End If
|
|
|
|
r.Item("Anzahl") = 0
|
|
r.Item("Kalkulation") = 0
|
|
r.Item("Zusatzpositionen") = 0
|
|
r.Item("verrechnen") = 1
|
|
r.Item("Zuschlag_Rabatt") = 0
|
|
pbh.dsDaten.Tables(0).Rows.Add(r)
|
|
pbh.Update_Data()
|
|
|
|
Dim pkey As Integer = newkey
|
|
|
|
For i = 0 To f.C1Produkte.Splits(0).Rows.Count - 1
|
|
pbh.Get_Tabledata("NewKey", "", "Select top 1 id from Produkt_Zusatz order by id desc")
|
|
newkey = pbh.dsDaten.Tables(0).Rows(0).Item(0) + 1
|
|
pbh.Get_Tabledata("Produkt_Zusatz", " where id=0")
|
|
r = pbh.dsDaten.Tables(0).NewRow
|
|
r.Item(0) = newkey
|
|
r.Item(1) = pkey
|
|
r.Item(2) = f.C1Produkte.Columns("Nr").CellValue(i).ToString
|
|
r.Item(3) = f.C1Produkte.Columns("Beschreibung").CellValue(i).ToString
|
|
r.Item("Erstellt_am") = Now
|
|
r.Item("mutiert_am") = Now
|
|
r.Item("mutierer") = Globals.ActUser
|
|
r.Item("aktiv") = True
|
|
pbh.dsDaten.Tables(0).Rows.Add(r)
|
|
pbh.Update_Data()
|
|
Next
|
|
|
|
refresh_produkte()
|
|
Refresh_Produktzusatz()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub C1Produktzusatz_AfterUpdate(sender As Object, e As EventArgs) Handles C1Produktzusatz.AfterUpdate
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
|
|
C1Produktzusatz.UpdateData()
|
|
Dim zdb As New clsDB
|
|
For i = 0 To C1Produktzusatz.Splits(0).Rows.Count - 1
|
|
Dim id As Integer = C1Produktzusatz.Columns("id").CellValue(i)
|
|
Dim bezeichnung As String = C1Produktzusatz.Columns("bezeichnung").CellValue(i)
|
|
Dim detail As String = C1Produktzusatz.Columns("detail").CellValue(i)
|
|
Dim aktiv As Integer = C1Produktzusatz.Columns("aktiv").CellValue(i)
|
|
|
|
Dim sql As String = "Update produkt_zusatz set detail='" + detail + "', mutiert_am=getdate(), mutierer=" + Globals.ActUser.ToString + " where id=" + id.ToString
|
|
zdb.Exec_SQL(sql)
|
|
Next
|
|
zdb.Dispose()
|
|
Globals.ToastInfo.ShowSaveMesasge(Me.ParentForm)
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click
|
|
C1Produkte.Update()
|
|
pdb.Update_Data()
|
|
Globals.ToastInfo.ShowSaveMesasge(Me.ParentForm)
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
|
|
C1Produkte.Columns("aktiv").Value = 0
|
|
ToolStripButton3_Click(sender, e)
|
|
Dim i As Integer
|
|
Try
|
|
i = Me.C1Produkte.Bookmark
|
|
Me.C1Produkte.Bookmark = -1
|
|
Me.C1Produkte.Bookmark = i
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton5_Click(sender As Object, e As EventArgs) Handles ToolStripButton5.Click
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[sp_copy_druck]"
|
|
Dim conn As New SqlConnection(My.Settings.ConnectionString)
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
scmCmdToExecute.Connection = conn
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@behandlungsnr", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.Behandlungnr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@typ", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.C1Produkte.Columns("id").Value))
|
|
scmCmdToExecute.Connection.Open()
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
refresh_produkte()
|
|
Return
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
scmCmdToExecute.Connection.Close()
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub C1Produkte_AfterColEdit(sender As Object, e As ColEventArgs) Handles C1Produkte.AfterColEdit
|
|
Try
|
|
If C1Produkte.DataChanged Then
|
|
'C1Produkte.UpdateData()
|
|
C1Produkte.Update()
|
|
pdb.Update_Data()
|
|
Exit Sub
|
|
End If
|
|
|
|
' Dim bm As Integer = C1Produkte.Bookmark
|
|
' C1Produkte.Bookmark = 0
|
|
' C1Produkte.Update()
|
|
' C1Produkte.Bookmark = bm
|
|
' pdb.Update_Data()
|
|
|
|
Catch
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub C1Produkte_AfterColUpdate(sender As Object, e As ColEventArgs) Handles C1Produkte.AfterColUpdate
|
|
|
|
If e.Column.Name = "Anz.Kalkulation" Then
|
|
Dim pid As Integer = 0
|
|
ToolStripButton3_Click(sender, e)
|
|
Try
|
|
Me.Kalkulationsmenge = Me.C1Produkte.Columns("AnzKalkulation").Value
|
|
Catch
|
|
Me.Kalkulationsmenge = 0
|
|
End Try
|
|
Recalc_Leistungen(Me.C1Produkte.Columns("id").Value)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Panel3_Resize(sender As Object, e As EventArgs) Handles Panel3.Resize
|
|
GrpProdukte.Height = Panel3.Height / 4
|
|
' GrpTarif.Height = Panel3.Height / 4
|
|
GroupBox1.Width = Panel3.Width / 2
|
|
GroupBox2.Width = Panel3.Width / 2
|
|
End Sub
|
|
|
|
Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
|
|
Try
|
|
Dim f As New frmDetailbeschreibung
|
|
f.TextBox1.Text = Me.C1Produktzusatz.Columns("detail").Value
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Me.C1Produktzusatz.Columns("detail").Value = f.TextBox1.Text
|
|
|
|
End If
|
|
f.Dispose()
|
|
Dim i As Integer
|
|
i = Me.C1Produktzusatz.Bookmark
|
|
Me.C1Produktzusatz.Bookmark = -1
|
|
Me.C1Produktzusatz.Bookmark = i
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub GroupBox2_Resize(sender As Object, e As EventArgs) Handles GroupBox2.Resize
|
|
Try
|
|
Me.C1Produktzusatz.Splits(0).DisplayColumns("detail").Width = Me.C1Produktzusatz.Width - (20 + Me.C1Produktzusatz.Splits(0).DisplayColumns("bezeichnung").Width + Me.C1Produktzusatz.Splits(0).DisplayColumns("aktiv").Width)
|
|
|
|
Catch
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub C1Produktzusatz_FetchRowStyle(sender As Object, e As FetchRowStyleEventArgs) Handles C1Produktzusatz.FetchRowStyle
|
|
GroupBox2_Resize(sender, e)
|
|
'For Each row As ViewRow In C1Produktzusatz.Splits(0).Rows
|
|
' row.AutoSize()
|
|
' row.Height = row.Height * 2
|
|
'Next
|
|
End Sub
|
|
|
|
Private Sub C1Produkte_Resize(sender As Object, e As EventArgs) Handles C1Produkte.Resize
|
|
Try
|
|
'Dim w As Integer = 20
|
|
'For i As Integer = 0 To Me.C1Produkte.Splits(0).DisplayColumns.Count - 1
|
|
' If Me.C1Produkte.Splits(0).DisplayColumns(i).Visible = True Then w = w + Me.C1Produkte.Splits(0).DisplayColumns(i).Width
|
|
'Next
|
|
'Me.C1Produkte.Splits(0).DisplayColumns("Bezeichnung").Width = Me.C1Produkte.Width - w
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton6_Click(sender As Object, e As EventArgs) Handles ToolStripButton6.Click
|
|
Dim f As New frmprodukt
|
|
f.produktbehanldungid = C1Produkte.Columns(0).Value
|
|
|
|
|
|
f.Load_Data()
|
|
f.TextBox2.Text = Me.C1Produkte.Columns("Bezeichnung").Value.ToString
|
|
f.ComboBoxEx1.SelectedValue = Me.C1Produkte.Columns("PRODUKTNR").Value
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
For i = 0 To f.C1Produkte.Splits(0).Rows.Count - 1
|
|
db.Exec_SQL("Update produkt_zusatz set detail='" + f.C1Produkte.Columns(2).CellValue(i).ToString + "',mutiert_am = getdate(),mutierer=" + Globals.ActUser.ToString + " where id=" + f.C1Produkte.Columns(3).CellValue(i).ToString)
|
|
Next
|
|
If f.TextBox2.Text <> C1Produkte.Columns("Bezeichnung").Value.ToString Then
|
|
db.Exec_SQL("Update Produkt_Behandlung set bezeichnung='" + f.TextBox2.Text + "' where id=" + Me.C1Produkte.Columns("ID").Value.ToString)
|
|
End If
|
|
Dim ib As Integer
|
|
Try
|
|
ib = C1Produkte.Bookmark
|
|
C1Produkte.Bookmark = -1
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
refresh_produkte()
|
|
Refresh_Produktzusatz()
|
|
Try
|
|
C1Produkte.Bookmark = ib
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub NeuesProduktToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesProduktToolStripMenuItem.Click
|
|
ToolStripButton1_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub ProduktBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProduktBearbeitenToolStripMenuItem.Click
|
|
ToolStripButton6_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub ProduktLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProduktLöschenToolStripMenuItem.Click
|
|
ToolStripButton4_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub SpeichernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SpeichernToolStripMenuItem.Click
|
|
ToolStripButton3_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub ProduktKopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProduktKopierenToolStripMenuItem.Click
|
|
ToolStripButton5_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton7_Click(sender As Object, e As EventArgs) Handles ToolStripButton7.Click
|
|
ToolStripMenuItem1_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub enable_disable_fields(Optional enable As Boolean = False)
|
|
Select Case Me.Behandlungsstatus
|
|
Case 1, 4
|
|
|
|
enable = True
|
|
Case Else
|
|
|
|
enable = False
|
|
End Select
|
|
Me.GroupBox1.Enabled = enable
|
|
Me.GroupBox2.Enabled = enable
|
|
|
|
Me.GrpTarif.Enabled = enable
|
|
|
|
Me.grpLeistungsdetails.Enabled = enable
|
|
Me.GrpLeistungen.Enabled = enable
|
|
End Sub
|
|
|
|
Private Sub C1Produkte_BeforeRowColChange(sender As Object, e As CancelEventArgs) Handles C1Produkte.BeforeRowColChange
|
|
Dim i As Integer = 1
|
|
If Me.C1Produkte.DataChanged Then
|
|
C1Produkte.Update()
|
|
End If
|
|
End Sub
|
|
End Class
|