This commit is contained in:
2022-07-08 08:12:43 +02:00
parent 697b78e3c9
commit 7f5057dc3e
121 changed files with 8039 additions and 19322 deletions

View File

@@ -1,6 +1,7 @@
Imports DAKOSY_Worker
Imports Tamir
Imports Tamir.SharpSsh
Imports Microsoft.Office.Interop
Public Class usrCntlATLAS_EZA
@@ -51,7 +52,7 @@ Public Class usrCntlATLAS_EZA
If DY_ANM IsNot Nothing Then
Me.EZA = DAKOSY_Worker.cDakosyEZA.LOADByAnmIDFull(DY_ANM.dy_Id, True)
Me.FIRMA_DY = Me.EZA.eza_firma
If Me.EZA IsNot Nothing AndAlso Me.EZA.eza_firma IsNot Nothing Then Me.FIRMA_DY = Me.EZA.eza_firma
End If
@@ -747,5 +748,172 @@ Public Class usrCntlATLAS_EZA
Private Sub BezugsnummerKopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BezugsnummerKopierenToolStripMenuItem.Click
Clipboard.SetText(lblBezugsnummer.Text)
End Sub
Private Sub DynamicAutomotiveXLSToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DynamicAutomotiveXLSToolStripMenuItem.Click
importExcel_DynamicAutomotive()
End Sub
Private Function checkExcel_DynamicAutomotive(Blatt As Excel.Worksheet) As Boolean
'Prüfung
Try
If Blatt Is Nothing Then Return False
If Blatt.Range("B23") Is Nothing Then Return False
If Blatt.Range("B23").Value.ToString <> "Code" Then Return False
Catch ex As Exception
MsgBox("Fehler bei der Prüfung!" & ex.Message)
Me.Cursor = Cursors.Default
Return False
End Try
Return True
End Function
Private Function importExcel_DynamicAutomotive() As Boolean
Dim fd As New OpenFileDialog
fd.Filter = "Excel Dateien|*.xls;*.xlsx"
Dim result As DialogResult = fd.ShowDialog()
If Not fd.FileName.EndsWith(".xls") And Not fd.FileName.EndsWith(".xlsx") Then
Me.Cursor = Cursors.Default
Return False
End If
If result = System.Windows.Forms.DialogResult.OK Then
Me.Cursor = Cursors.WaitCursor
Dim exclApp As New Excel.Application 'Object 'as Application
Dim Datei As Excel.Workbook ' 'as WorkBook
Dim Blatt As Excel.Worksheet 'Object 'as WorkSheet
With exclApp
Try
.CutCopyMode = False
.DisplayAlerts = False
Datei = .Workbooks.Open(fd.FileName)
Blatt = Datei.Worksheets(1)
Datei.Activate()
Try
Blatt.ShowAllData() 'Falls Filter ausgewählt wurde
Catch ex As Exception
End Try
Dim startFound As Boolean = False
Dim endFound As Boolean = False
If Not checkExcel_DynamicAutomotive(Blatt) Then 'VALIDIERUNG
Me.Cursor = Cursors.Default
Return False
End If
If EZA.eza_WARENPOS.Count > 0 Then
If vbYes = MsgBox("Sollten die aktuellen Einträge gelöscht werden?", vbYesNo) Then
EZA.eza_WARENPOS.Clear() 'Zurücksetzen
End If
End If
Dim startRows As Integer = 24
Dim endRows As Integer = startRows
While endRows < Blatt.UsedRange.Rows.Count
If Not Blatt.Range("B" & endRows) Is Nothing AndAlso Not Blatt.Range("B" & endRows).Value Is Nothing AndAlso Not Blatt.Range("B" & endRows).Value.ToString.Trim = "" Then
endFound = True
Else
Exit While
End If
endRows += 1
End While
endRows -= 1
If Not endFound Then
MsgBox("Keine Daten vorhanden!")
Me.Cursor = Cursors.Default
Return False
End If
'Laden des Bereiches aus dem Excel:
Dim myRange As Excel.Range
myRange = Blatt.Range("B" & startRows & ":I" & endRows & "")
Dim myArray As Object(,) '<-- declared as 2D Array
myArray = myRange.Value 'store the content of each cell
'myArray(i_soll2 - startRows + 1, 4)
Dim cnt = 0
Try
For i As Integer = 1 To endRows - startRows + 1 Step 1
Dim POSITION As New DAKOSY_Worker.cDakosy_EZA_Warenposition
POSITION.ezaWP_WarennummerEZT = myArray(i, 5).ToString()
POSITION.ezaWP_PackstueckAnzahl = myArray(i, 6).ToString()
POSITION.ezaWP_PackstueckArt = "PK"
POSITION.ezaWP_Artikelpreis = CDbl(myArray(i, 8).ToString()).ToString("N2")
POSITION.ezaWP_ArtikelpreisWaehrung = "EUR"
POSITION.ezaWP_Warenbezeichnung = myArray(i, 2).ToString()
Select Case myArray(i, 4).ToString
Case "TURKEY" : POSITION.ezaWP_UrsprungslandCode = "TR"
Case "ITALY" : POSITION.ezaWP_UrsprungslandCode = "IT"
Case "SPAIN" : POSITION.ezaWP_UrsprungslandCode = "ES"
Case "GERMANY" : POSITION.ezaWP_UrsprungslandCode = "DE"
Case "CZECH REPUBLIC" : POSITION.ezaWP_UrsprungslandCode = "CZ"
Case "FRANCE" : POSITION.ezaWP_UrsprungslandCode = "FR"
End Select
EZA.eza_WARENPOS.Add(POSITION)
cnt += 1
Next
Catch ex As Exception
MsgBox("Fehler beim Einlesen der Excel-Datei!" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
Me.Cursor = Cursors.Default
Return False
End Try
.Visible = False
' AddHandler exclApp.WorkbookBeforeClose, AddressOf BeforeBookClose
'Excelobjekte freistellten
' For Each obj In New Object() {exclApp, Datei, Datei, Blatt, Blatt}
' System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obj)
' Next
Datei.Close()
Me.FindForm.SuspendLayout()
POSITIONEN.setValues(EZA, True)
btnPositionen.PerformClick()
MsgBox(cnt & " Datensätze wurden eingelesen. ")
Me.FindForm.ResumeLayout()
Me.Cursor = Cursors.Default
Return True
Catch ex As Exception
'
Me.Cursor = Cursors.Default
MsgBox("FEHLER! Datei im richtigen Format?" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
' Return False
End Try
End With
Return True
Else
MsgBox("Keine Datei ausgewählt!")
End If
Me.Cursor = Cursors.Default
Return False
End Function
End Class