Files
DPM_PADM/DPM2016 - Kopie (2)/Sysadmin/frmStammdaten.vb
2023-12-29 07:39:01 +01:00

273 lines
10 KiB
VB.net

Imports System.ComponentModel
Imports FlexCel.XlsAdapter
Public Class frmStammdaten
Dim db As New clsDB
Dim spalten As New Tabellenspalte
Private Sub SchliessenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SchliessenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
Refresh_Details()
End Sub
Sub Refresh_Details()
Try
Select Case UCase(TreeView1.SelectedNode.Tag)
Case "DEMO"
If Globals.License.DemoMode = True Then
Me.ClsStammdaten_Bez1.Visible = False
Me.ClsStammdaten_flat1.Visible = False
MsgBox("Diese Funktion ist im DEMO-Modus nicht verfügbar.")
Exit Sub
End If
Case "DMS"
If Globals.License.DMS = False Then
MsgBox("Für diese Funktion haben Sie keine entsprechende Lizenz.")
Me.ClsStammdaten_Bez1.Visible = False
Me.ClsStammdaten_flat1.Visible = False
'MsgBox("Diese Funktion ist im DEMO-Modus nicht verfügbar.")
Exit Sub
End If
Case "DENTOTAR"
End Select
Me.ClsStammdaten_Bez1.Visible = True
Me.ClsStammdaten_flat1.Visible = True
Dim t As String = Me.TreeView1.SelectedNode.Tag
t = UCase(t)
If t <> "" And t <> "DEMO" And t <> "DMS" Then
Dim splitter()
splitter = Me.TreeView1.SelectedNode.Tag.ToString.Split(";")
If splitter.Length > 1 Then
Dim i As Integer = 0
For Each s As String In splitter
i = i + 1
If i = 1 Then ClsStammdaten_Bez1.KeyField_left = s
If i = 2 Then ClsStammdaten_Bez1.Keyfieldbez_left = s
If i = 3 Then ClsStammdaten_Bez1.KeyField_right = s
If i = 4 Then ClsStammdaten_Bez1.Keyfieldbez_right = s
If i = 5 Then ClsStammdaten_Bez1.Tablename_left = s
If i = 6 Then ClsStammdaten_Bez1.Tablename_right = s
If i = 7 Then ClsStammdaten_Bez1.Tablename_bottom = s
Try
Catch ex As Exception
End Try
Next
End If
Me.ClsStammdaten_flat1.Visible = False
Me.ClsStammdaten_Bez1.Visible = True
Me.ClsStammdaten_Bez1.Dock = DockStyle.Fill
Me.ClsStammdaten_Bez1.Width = Me.ClsStammdaten_Bez1.Width + 1
Exit Sub
End If
Me.ClsStammdaten_flat1.Check_Changes()
Me.ClsStammdaten_Bez1.Visible = False
Me.ClsStammdaten_flat1.Visible = True
Me.ClsStammdaten_flat1.Dock = DockStyle.Fill
If Me.TreeView1.SelectedNode.Nodes.Count = 0 Then Me.ClsStammdaten_flat1.Visible = True Else Me.ClsStammdaten_flat1.Visible = False
Me.ClsStammdaten_flat1.Tablename = Me.TreeView1.SelectedNode.Name
'If Globals.License.DemoMode Then
' If Me.TreeView1.SelectedNode.Tag = "Demo" Then
' MsgBox("Im Demo-Modus steht diese Funktion nicht zur Verfügung.")
' Exit Sub
' End If
'End If
Me.ClsStammdaten_flat1.get_data()
Try
Catch
End Try
Catch
End Try
End Sub
Private Sub frmStammdaten_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.TreeView1.ExpandAll()
Me.TreeView1.SelectedNode = Me.TreeView1.Nodes(0)
If My.Settings.SoftwareType = "PADM" Or Globals.DruckBranche = True Then
Me.DentotarImportToolStripMenuItem.Visible = False
For Each n As TreeNode In TreeView1.Nodes
For Each nn As TreeNode In n.Nodes
Try
Select Case nn.Text
Case "Tarif"
nn.Text = "Artikel"
Case "Tarife"
nn.Text = "Artikel-Kategorien"
Case "TarifGruppe"
nn.Text = "Artikel-Gruppen"
Case "Tarifpakete"
nn.Text = "Artikel-Pakete"
Case "Produkt Zusatz"
Case "Produkt Zusatz Details"
End Select
Catch
End Try
Next
If n.Text = "Tarif" Then n.Text = "Artikel"
If n.Text = "Patienten" Then n.Text = "Allgemein"
Next
For i As Integer = 1 To 10
Try
For Each n As TreeNode In TreeView1.Nodes
For Each nn As TreeNode In n.Nodes
If nn.Text = "Dentotar" Then
nn.Remove()
End If
If nn.Text = "Dentotar_Parameter" Then
nn.Remove()
End If
If nn.Text = "Taxpunkte" Then
nn.Remove()
End If
If nn.Text = "Zahntechnik (223)" Then
nn.Remove()
End If
If nn.Text = "Behandlungsart" Then
nn.Remove()
End If
If nn.Text = "Gesetz" Then
nn.Remove()
End If
Next
Next
Catch
End Try
Next i
Else
For i As Integer = 1 To 10
Try
For Each n As TreeNode In TreeView1.Nodes
For Each nn As TreeNode In n.Nodes
If nn.Text = "Produkt Zusatz" Then
nn.Remove()
End If
If nn.Text = "Produkt Zusatz Details" Then
nn.Remove()
End If
Next
Next
Catch
End Try
Next i
End If
End Sub
Private Sub DentotarImportToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DentotarImportToolStripMenuItem.Click
If MsgBox("Sind Sie sicher, dass Dentotaf neu importier werden soll?", vbYesNo + vbQuestion) = vbYes Then
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
import_dentotar(OpenFileDialog1.FileName)
End If
End If
End Sub
Private Sub import_dentotar(ByVal Filename As String)
Try
Dim xls As New XlsFile(Filename)
Dim f As New frmprogress(1, xls.RowCount, "Dentotar einlesen")
f.Show()
Dim db As New clsDB
db.Get_Tabledata_for_Update("Dentotar", False, False)
db.daten.WriteXml(Globals.ActUser)
Dim dt As New DataTable
Dim dt_Original As New DataTable
dt = db.daten.Tables(0).Copy
dt_Original = db.daten.Tables(0).Copy
db.Exec_Prod("sp_update_dentotar")
dt.Rows.Clear()
dt.AcceptChanges()
Dim colindex1 As Integer
xls.ActiveSheet = 1
Dim i As Integer = 0
For row As Integer = 2 To xls.RowCount
Dim dr As DataRow = dt.NewRow
i = row
Application.DoEvents()
f.ProgressBar1.Value = row
For colIndex As Integer = 1 To 18
Try
dr.Item(colIndex - 1) = xls.GetCellValue(row, colIndex)
Catch
dr.Item(colIndex - 1) = System.DBNull.Value
End Try
Next
dt.Rows.Add(dr)
Next
f.Init_Progressbar(1, i, "Privat-Punkte nachführen")
For Each r As DataRow In dt.Rows
f.ProgressBar1.Value = f.ProgressBar1.Value + 1
Application.DoEvents()
If Not IsDBNull(r.Item("Leistungnrneu")) Then
Dim dv As New DataView(dt_Original, "leistungnrneu='" + r.Item("Leistungnrneu") + "'", "", DataViewRowState.CurrentRows)
Dim drv As DataRowView = dv.Item(0)
r.Item("PP_Privat") = drv.Item("PP_Privat")
End If
'For Each rr As DataRow In dt_Original.Rows
' Try
' If r.Item("LeistungNrneu") = rr.Item("Leistungnrneu") Then
' Try
' r.Item("PP_Privat") = rr.Item("PP_Privat")
' Catch
' End Try
' Exit For
' End If
' Catch
' End Try
'Next
Next
f.Close()
db.daten.Tables.Clear()
db.daten.Tables.Add(dt.Copy)
db.Update_Tabeldata()
Try
IntTables.Inttables.Tables.Remove("Dentotar")
Catch
End Try
MsgBox("Update Dentotar ist abgeschossen.", vbInformation)
Catch ex As Exception
MsgBox("Update Dentotar: Fehler: " + ex.Message)
End Try
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs)
Me.Close()
End Sub
Private Sub TreeView1_Click(sender As Object, e As EventArgs) Handles TreeView1.Click
'Refresh_Details()
End Sub
Private Sub ClsStammdaten_flat1_Load(sender As Object, e As EventArgs) Handles ClsStammdaten_flat1.Load
End Sub
Private Sub frmStammdaten_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
IntTables.Inttables.Tables.Clear()
End Sub
End Class