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.

429 lines
17 KiB

Imports System.Data
Imports System.IO
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports System.ComponentModel
Imports System.Drawing
Imports System.Drawing.Color
Public Class frmNotfallimport
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
InitializeComponent()
' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen
End Sub
' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
' Für Windows Form-Designer erforderlich
Private components As System.ComponentModel.IContainer
'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich
'Sie kann mit dem Windows Form-Designer modifiziert werden.
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar
Friend WithEvents ToolBarButton1 As System.Windows.Forms.ToolBarButton
Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents txtdokumenttypnr As System.Windows.Forms.TextBox
Friend WithEvents txtpartnernr As System.Windows.Forms.TextBox
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents txtbcknr As System.Windows.Forms.TextBox
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents btnSave As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents ImageList3 As System.Windows.Forms.ImageList
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmNotfallimport))
Me.ToolBar1 = New System.Windows.Forms.ToolBar()
Me.ToolBarButton1 = New System.Windows.Forms.ToolBarButton()
Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
Me.Label1 = New System.Windows.Forms.Label()
Me.txtdokumenttypnr = New System.Windows.Forms.TextBox()
Me.txtpartnernr = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.txtbcknr = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.btnSave = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label3 = New System.Windows.Forms.Label()
Me.ImageList3 = New System.Windows.Forms.ImageList(Me.components)
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.SuspendLayout()
'
'ToolBar1
'
Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.ToolBarButton1})
Me.ToolBar1.DropDownArrows = True
Me.ToolBar1.ImageList = Me.ImageList1
Me.ToolBar1.Name = "ToolBar1"
Me.ToolBar1.ShowToolTips = True
Me.ToolBar1.Size = New System.Drawing.Size(424, 25)
Me.ToolBar1.TabIndex = 0
'
'ToolBarButton1
'
Me.ToolBarButton1.ImageIndex = 0
Me.ToolBarButton1.ToolTipText = "Verlassen"
'
'ImageList1
'
Me.ImageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit
Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)
Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(8, 48)
Me.Label1.Name = "Label1"
Me.Label1.TabIndex = 1
Me.Label1.Text = "Dokumenttyp-Nr."
'
'txtdokumenttypnr
'
Me.txtdokumenttypnr.Location = New System.Drawing.Point(112, 48)
Me.txtdokumenttypnr.Name = "txtdokumenttypnr"
Me.txtdokumenttypnr.Size = New System.Drawing.Size(184, 20)
Me.txtdokumenttypnr.TabIndex = 2
Me.txtdokumenttypnr.Text = ""
Me.ToolTip1.SetToolTip(Me.txtdokumenttypnr, "Dokumenttypnr (Dokument unten rechts)")
'
'txtpartnernr
'
Me.txtpartnernr.Location = New System.Drawing.Point(112, 128)
Me.txtpartnernr.Name = "txtpartnernr"
Me.txtpartnernr.Size = New System.Drawing.Size(184, 20)
Me.txtpartnernr.TabIndex = 4
Me.txtpartnernr.Text = ""
Me.ToolTip1.SetToolTip(Me.txtpartnernr, "Eingabe der Partnernr (nicht zwingend)")
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(8, 128)
Me.Label2.Name = "Label2"
Me.Label2.TabIndex = 3
Me.Label2.Text = "Partner-Nr."
'
'txtbcknr
'
Me.txtbcknr.Location = New System.Drawing.Point(112, 160)
Me.txtbcknr.Name = "txtbcknr"
Me.txtbcknr.Size = New System.Drawing.Size(184, 20)
Me.txtbcknr.TabIndex = 6
Me.txtbcknr.Text = ""
Me.ToolTip1.SetToolTip(Me.txtbcknr, "Eingabe einer gültigen Barcodekleber-Nr.")
'
'Label5
'
Me.Label5.Location = New System.Drawing.Point(8, 160)
Me.Label5.Name = "Label5"
Me.Label5.TabIndex = 9
Me.Label5.Text = "Barcodekleber-Nr."
'
'btnSave
'
Me.btnSave.Location = New System.Drawing.Point(176, 192)
Me.btnSave.Name = "btnSave"
Me.btnSave.TabIndex = 11
Me.btnSave.Text = "Weiter >>"
Me.ToolTip1.SetToolTip(Me.btnSave, "Barcode-Dokument erstellen")
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(296, 48)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(120, 23)
Me.Button2.TabIndex = 13
Me.Button2.Text = "Dokumenttyp suchen"
Me.ToolTip1.SetToolTip(Me.Button2, "Dialog zur Vorlagenauswahl")
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(296, 128)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(120, 23)
Me.Button3.TabIndex = 14
Me.Button3.Text = "Partner suchen"
Me.ToolTip1.SetToolTip(Me.Button3, "Dialog zur Partnersuche")
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(296, 160)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(120, 23)
Me.Button1.TabIndex = 15
Me.Button1.Text = "nächster Barcode"
Me.ToolTip1.SetToolTip(Me.Button1, "Nächste Barcodenummer generieren")
'
'Label3
'
Me.Label3.ForeColor = System.Drawing.Color.Red
Me.Label3.Location = New System.Drawing.Point(112, 70)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(312, 50)
Me.Label3.TabIndex = 16
'
'ImageList3
'
Me.ImageList3.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit
Me.ImageList3.ImageSize = New System.Drawing.Size(16, 16)
Me.ImageList3.ImageStream = CType(resources.GetObject("ImageList3.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageList3.TransparentColor = System.Drawing.Color.Transparent
'
'frmNotfallimport
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(424, 221)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label3, Me.Button1, Me.Button3, Me.Button2, Me.btnSave, Me.txtbcknr, Me.Label5, Me.txtpartnernr, Me.Label2, Me.txtdokumenttypnr, Me.Label1, Me.ToolBar1})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmNotfallimport"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Notfall-Dokumentimport"
Me.ResumeLayout(False)
End Sub
#End Region
Dim Stdprofilnr As Integer = 0
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
Select Case ToolBar1.Buttons.IndexOf(e.Button)
Case 0 'close button
Me.Close()
Case Else
End Select
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
If Not doktypexists() Then Exit Sub
If Not check_barcodenr() Then Exit Sub
Dim f As New frmDokumentbearbeitungBC()
'Profile des angemeldeten Benutzers lesen
f.Profile = Mitarbeiterprofile_laden()
f.Profilnr = Me.Stdprofilnr
f.Notfallimport = True
f.Dokumenttypnr = Me.txtdokumenttypnr.Text
If Me.txtpartnernr.Text <> "" Then f.Partnernr = Me.txtpartnernr.Text
f.BarcodeID = Me.txtbcknr.Text
f.ShowDialog()
f.Dispose()
Me.txtdokumenttypnr.Focus()
End Sub
Private Function check_barcodenr() As Boolean
Dim v As Long
Try
v = Val(LTrim(RTrim(Me.txtbcknr.Text)))
Catch
MyMsg.show_standardmessage(36, MsgBoxStyle.Critical)
Me.txtbcknr.Select()
Me.txtbcknr.Focus()
Return False
Exit Function
End Try
Dim bc As New edokadb.clsBarcodeetikette()
bc.cpMainConnectionProvider = conn
Try
bc.iBarcodenr = New SqlInt32(CType(Me.txtbcknr.Text, String))
bc.SelectOne()
If bc.iBarcodenr.Value = v Then
If bc.sDokumentid.Value Is System.DBNull.Value Then
bc.sDokumentid = New SqlString(CType("res", String))
Else
If bc.sDokumentid.Value = "" Then
bc.sDokumentid = New SqlString(CType("res", String))
Else
MyMsg.show_standardmessage(37, MsgBoxStyle.Critical)
Me.txtbcknr.Select()
Me.txtbcknr.Focus()
Return False
Exit Function
End If
End If
End If
conn.OpenConnection()
bc.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
bc.iMutierer = New SqlInt32(CType(Globals.MitarbeiterNr, Int32))
bc.Update()
conn.CloseConnection(True)
Return True
Me.DialogResult = DialogResult.OK
Me.Close()
Catch
MyMsg.show_standardmessage(38, MsgBoxStyle.Critical)
Me.txtbcknr.SelectAll()
Me.txtbcknr.Focus()
Return False
End Try
End Function
Private Function Mitarbeiterprofile_laden() As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim s As String
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_notfallimport_profile"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
scmCmdToExecute.Parameters.Add(New SqlParameter("@stdnr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
sdaAdapter.Fill(dtToReturn)
Stdprofilnr = scmCmdToExecute.Parameters.Item("@stdnr").Value
Return dtToReturn
Catch ex As Exception
' // some error occured. Bubble it to caller and encapsulate Exception object
Throw New Exception("::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim f As New FrmPartnersuche()
f.ShowDialog()
f.NurAbfrage = True
If f.PartnerNr <> 0 Then Me.txtpartnernr.Text = f.PartnerNr.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String
Dim v As Long
s = Me.txtbcknr.Text
If Len(s) < 9 Then Exit Sub
If Len(s) > 10 Then Exit Sub
If Len(s) = 9 Then s = "0" + s
s = Microsoft.VisualBasic.Left(s, 9)
v = Val(s)
v = v + 1
s = v.ToString
If Len(s) = 0 Then s = "0" + s
s = s + LTrim(Pruefziffer(s))
Me.txtbcknr.Text = s
End Sub
Public Function Pruefziffer(ByVal zahl As String) As String
Dim ptab(9, 9) As Integer
Dim pz(9) As Integer
Dim s1, s2, s3 As String
Dim i1, i2 As Long
s1 = "0,9,4,6,8,2,7,1,3,5"
s2 = s1
For i1 = 0 To 9
For i2 = 0 To 9
ptab(i1, i2) = Mid(s2, (i2 * 2) + 1, 1)
Next
s3 = Microsoft.VisualBasic.Left(s1, 1)
s1 = Microsoft.VisualBasic.Right(s1, Len(s1) - 2)
s1 = s1 + "," + s3
s2 = s1
Next
pz(0) = 0
pz(1) = 9
pz(2) = 8
pz(3) = 7
pz(4) = 6
pz(5) = 5
pz(6) = 4
pz(7) = 3
pz(8) = 2
pz(9) = 1
Dim i, x, y, z, e As Integer
Dim xx As String
y = 0
For i = 1 To Len(zahl)
x = Val(Mid(zahl, i, 1))
y = ptab(x, y)
Next
Pruefziffer = Str(pz(y))
End Function
Private Sub txtdokumenttypnr_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtdokumenttypnr.Leave
doktypexists()
End Sub
Private Function doktypexists() As Boolean
Dim v As Integer
Try
v = Val(Me.txtdokumenttypnr.Text)
Catch
v = 0
End Try
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim s As String
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_notfallimport_DOKUMENTTYP"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, v))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttyp", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@doktypexists", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
sdaAdapter.Fill(dtToReturn)
Me.Label3.Text = scmCmdToExecute.Parameters("@dokumenttyp").Value
If scmCmdToExecute.Parameters("@doktypexists").Value = 1 Then
Return True
Else
Return False
End If
Catch ex As Exception
Throw New Exception("::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim f As New frmVorlagenauswahl()
f.Show_Favoriten = False
f.TVStruktur.ImageList = Me.ImageList3
f.Dokumentart = ""
f.Profile = Mitarbeiterprofile_laden()
f.ProfilNr = Me.Stdprofilnr
f.ShowDialog()
If f.DialogResult.OK Then
Me.txtdokumenttypnr.Text = f.Dokumentvorlage.ToString
doktypexists()
Me.txtpartnernr.Focus()
End If
f.Dispose()
End Sub
End Class