jj 24.07, wix installer
This commit is contained in:
251
KommiCollo/frmAbschluss.vb
Normal file
251
KommiCollo/frmAbschluss.vb
Normal file
@@ -0,0 +1,251 @@
|
||||
Public Class frmAbschluss
|
||||
Dim Mandant As String
|
||||
Dim Mandant_ID As Integer
|
||||
Private Sub frmAbschluss_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
||||
Try
|
||||
Me.VWAbschlussTableAdapter.Connection.ConnectionString = My.Settings.ConfigConnectionString
|
||||
Me.TBKOMMCOLLI_MANDANTTableAdapter.Connection.ConnectionString = My.Settings.ConfigConnectionString
|
||||
Me.TBKOMMCOLLI_PAKET_KOPFTableAdapter.Connection.ConnectionString = My.Settings.ConfigConnectionString
|
||||
Me.TBKOMMCOLLI_PAKET_POSTableAdapter.Connection.ConnectionString = My.Settings.ConfigConnectionString
|
||||
Me.TBKOMMCOLLI_PAKET_POS_LSTableAdapter.Connection.ConnectionString = My.Settings.ConfigConnectionString
|
||||
|
||||
Me.VKKOPFTableAdapter.Connection.ConnectionString = My.Settings.ConfigConnStringMercator
|
||||
|
||||
Me.TBKOMMCOLLI_MANDANTTableAdapter.Fill(MyDataset.TBKOMMCOLLI_MANDANT)
|
||||
LoadProfilesInCombobox()
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bei Load: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub LoadProfilesInCombobox()
|
||||
Try
|
||||
Me.cmbMandant.Items.Clear()
|
||||
For Each row As DataRow In MyDataset.TBKOMMCOLLI_MANDANT
|
||||
cmbMandant.Items.Add(row.Item("KURZNAME"))
|
||||
Next
|
||||
If My.Settings.Default_Mandant <> String.Empty Then
|
||||
cmbMandant.SelectedIndex = cmbMandant.FindStringExact(My.Settings.Default_Mandant)
|
||||
Else
|
||||
cmbMandant.SelectedIndex = -1
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler beim Laden der Mandanten in die Auswahlliste" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
Private Function AbschlussPaket(Mandant_ID As Integer, Speicherort As String)
|
||||
Try
|
||||
'Schreibt Daten aus View_Export in Datei!!!
|
||||
Dim Save_Datei As String = Speicherort & "/" & Date.Now.ToShortDateString & "_exp.ar" '"E:\" & Date.Now.ToShortDateString & "_exp.ar" '
|
||||
|
||||
Dim Version As Integer = 0
|
||||
Do While IO.File.Exists(Save_Datei)
|
||||
Version += 1
|
||||
Save_Datei = Speicherort & "/" & Date.Now.ToShortDateString & "_exp~" & Version & ".ar"
|
||||
Loop
|
||||
'Setzt das Code-Format auf ASCII
|
||||
|
||||
Dim streamwriter As New System.IO.StreamWriter(Save_Datei, False, System.Text.Encoding.Default)
|
||||
Dim anz As Integer = 0
|
||||
Dim PAKET_ID As String
|
||||
'Jedes Paket durchlaufen
|
||||
For Each dbRow As DataRow In MyDataset.VWKOMMCOLLI_ABSCHLUSS_PAKET.Rows
|
||||
If CBool(dbRow.Item("Auswahl")) = True Then
|
||||
PAKET_ID = dbRow.Item("PAKET_ID").ToString
|
||||
If Verarbeite_Paket(streamwriter, dbRow.Item("GUID"), PAKET_ID, dbRow.Item("TERMIN_KZ").ToString, dbRow.Item("ANZ_PACKSTUECK").ToString, dbRow.Item("GESAMTGEWICHT").ToString) = True Then
|
||||
anz += 1
|
||||
VWAbschlussTableAdapter.cmdAbschluss(Save_Datei, dbRow.Item("GUID"))
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
streamwriter.Flush()
|
||||
streamwriter.Close()
|
||||
MsgBox("Es wurden " & anz.ToString & " Pakete erfolgreich abgeschlossen")
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bei AbschlussPaket: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
'
|
||||
End Function
|
||||
Function Verarbeite_Paket(sw As System.IO.StreamWriter, PAKET_GUID As Integer, PAKET_ID As String, Terminart As String, AnzPaket As Integer, GewichtGESAMT As String)
|
||||
Try
|
||||
Dim Paketschluessel As String = PAKET_ID
|
||||
Dim LieferscheinString As String
|
||||
'Das Gewicht "berechnen", hierzu wird das hitnerlegte Gewicht durch die Anzahl der Paakete geteilt
|
||||
GewichtGESAMT = GewichtGESAMT / AnzPaket
|
||||
If CDbl(GewichtGESAMT) > 40.0 Then
|
||||
MsgBox("Achtung: Das Gewicht des Pakets '" & PAKET_ID & "' überschreitet das Maximalgewicht von 40 kg!" & vbNewLine & "Bitte verständigen Sie Ihren Systembetreuuer", MsgBoxStyle.Critical, "Fehler")
|
||||
Return False
|
||||
End If
|
||||
Me.TBKOMMCOLLI_PAKET_POS_LSTableAdapter.Fill(Me.MyDataset.TBKOMMCOLLI_PAKET_POS_LS, PAKET_GUID)
|
||||
'Lieferschein-String laden
|
||||
Dim DTLS As DataTable = MyDataset.TBKOMMCOLLI_PAKET_POS_LS
|
||||
Dim a As Integer = 0
|
||||
Dim tempLS As String = ""
|
||||
If DTLS.Rows.Count > 0 Then
|
||||
For Each row As DataRow In DTLS.Rows
|
||||
If a = 0 Then
|
||||
tempLS = row.Item(0)
|
||||
Else
|
||||
tempLS = tempLS & "," & row.Item(0)
|
||||
End If
|
||||
a += 1
|
||||
Next
|
||||
Else
|
||||
tempLS = ""
|
||||
End If
|
||||
|
||||
LieferscheinString = tempLS
|
||||
|
||||
|
||||
If GewichtGESAMT.Contains(".") Then
|
||||
GewichtGESAMT = GewichtGESAMT.Replace(".", ",")
|
||||
End If
|
||||
If GewichtGESAMT.Contains(",") = False Then
|
||||
GewichtGESAMT = GewichtGESAMT & ",0"
|
||||
Else
|
||||
If GewichtGESAMT.Contains(",00") = True Then
|
||||
GewichtGESAMT = GewichtGESAMT.Replace(",00", ",0")
|
||||
End If
|
||||
End If
|
||||
|
||||
For i As Integer = 1 To AnzPaket
|
||||
PAKET_ID = Paketschluessel & "." & i.ToString
|
||||
'Den Builder für die Zeile definieren
|
||||
Dim ZeilenBuilder As System.Text.StringBuilder
|
||||
Dim DT As DataTable = MyDataset.TBKOMMCOLLI_PAKET_POS
|
||||
ZeilenBuilder = New System.Text.StringBuilder
|
||||
ZeilenBuilder.Append(PAKET_ID.PadRight(25))
|
||||
ZeilenBuilder.Append(";")
|
||||
Dim Name1, Name2, Name3, Strasse, PLZ, Ort, LAND As String
|
||||
Dim exists As Integer = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseExists(PAKET_GUID)
|
||||
'Für die Bestellnummer konnten Zeilen gefunden werden
|
||||
If exists > 0 Then
|
||||
Name1 = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseFirma1(PAKET_GUID)
|
||||
Name2 = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseFirma2(PAKET_GUID)
|
||||
Name3 = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseFirma3(PAKET_GUID)
|
||||
Strasse = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseStrasse(PAKET_GUID)
|
||||
PLZ = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweisePLZ(PAKET_GUID)
|
||||
Ort = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseOrt(PAKET_GUID)
|
||||
LAND = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseLAND(PAKET_GUID)
|
||||
'Gewicht = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdAllVerweiseGewicht(PAKET_GUID)
|
||||
Else
|
||||
Name1 = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrFirma1(PAKET_GUID)
|
||||
Name2 = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrFirma2(PAKET_GUID)
|
||||
Name3 = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrFirma3(PAKET_GUID)
|
||||
Strasse = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBEstellNrStrasse(PAKET_GUID)
|
||||
PLZ = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrPLZ(PAKET_GUID)
|
||||
Ort = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrOrt(PAKET_GUID)
|
||||
LAND = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrLand(PAKET_GUID)
|
||||
' Gewicht = TBKOMMCOLLI_PAKET_KOPFTableAdapter.cmdBestellNrGewicht(PAKET_GUID)
|
||||
End If
|
||||
If Name1 <> String.Empty Then
|
||||
ZeilenBuilder.Append(Name1.PadRight(30))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(Name2.PadRight(30))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(Name3.PadRight(30))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(Strasse.PadRight(30))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(PLZ.PadRight(10))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(Ort.PadRight(30))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(Paketschluessel.PadRight(30))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(LAND.PadRight(3))
|
||||
ZeilenBuilder.Append(";")
|
||||
|
||||
|
||||
ZeilenBuilder.Append(GewichtGESAMT.PadRight(6))
|
||||
ZeilenBuilder.Append(";")
|
||||
|
||||
Else
|
||||
MsgBox("Fehler beim Abschluss des Pakets '" & PAKET_ID & "'!" & vbNewLine & "Kein eindeutiger Datensatz zu VKOPF_BESTELLNR Und VKOPF_EINGANSNR gefunden." & _
|
||||
vbNewLine & "Bitte verständigen Sie Ihren Systembetreuuer", MsgBoxStyle.Critical, "Fehler")
|
||||
Return False
|
||||
End If
|
||||
ZeilenBuilder.Append(Terminart.PadRight(3))
|
||||
ZeilenBuilder.Append(";")
|
||||
ZeilenBuilder.Append(LieferscheinString)
|
||||
ZeilenBuilder.Append(";")
|
||||
'ZeilenBuilder.Append(AnzPaket.ToString.PadRight(3))
|
||||
'ZeilenBuilder.Append(";")
|
||||
sw.WriteLine(ZeilenBuilder.ToString)
|
||||
Next
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bei Verarbeite_Paket: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Function
|
||||
Private Sub tsbtcheck_all_Click(sender As System.Object, e As System.EventArgs) Handles tsbtcheck_all.Click
|
||||
Dim DT As DataTable = MyDataset.VWKOMMCOLLI_ABSCHLUSS_PAKET
|
||||
For Each DR As DataRow In DT.Rows
|
||||
DR.Item("Auswahl") = True
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub tsbtde_check_all_Click(sender As System.Object, e As System.EventArgs) Handles tsbtde_check_all.Click
|
||||
Dim DT As DataTable = MyDataset.VWKOMMCOLLI_ABSCHLUSS_PAKET
|
||||
For Each DR As DataRow In DT.Rows
|
||||
DR.Item("Auswahl") = False
|
||||
Next
|
||||
End Sub
|
||||
Sub Load_Pakete(vMandant As String)
|
||||
Try
|
||||
Mandant = vMandant
|
||||
Me.VWAbschlussTableAdapter.Fill(Me.MyDataset.VWKOMMCOLLI_ABSCHLUSS_PAKET, Mandant)
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bei Load_Pakete: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub btnAbschluss_Click(sender As System.Object, e As System.EventArgs) Handles btnAbschluss.Click
|
||||
Me.Validate()
|
||||
VWAbschlussBindingSource.EndEdit()
|
||||
' Fragen ob das Profil wirklich gelöscht werden soll
|
||||
Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass sie für die ausgewählten Pakete einen Abschluss durchführen wollen?", MsgBoxStyle.YesNo, "Abschluss bestätigen")
|
||||
' wenn das Profil gelöscht werden soll
|
||||
If result = MsgBoxResult.Yes Then
|
||||
Dim Speicherort As String
|
||||
Mandant_ID = 0
|
||||
|
||||
Mandant_ID = TBKOMMCOLLI_MANDANTTableAdapter.cmdGetGUIDbyKurzname(Mandant)
|
||||
Speicherort = TBKOMMCOLLI_MANDANTTableAdapter.cmdgetSpeicherort(Mandant_ID)
|
||||
If Speicherort IsNot Nothing Then
|
||||
AbschlussPaket(Mandant_ID, Speicherort)
|
||||
Else
|
||||
MsgBox("Achtung: Ein Mandant konnte nicht bestimmt werden!", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Load_Pakete(Mandant)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btndelete_Click(sender As System.Object, e As System.EventArgs) Handles btndelete.Click
|
||||
Me.Validate()
|
||||
VWAbschlussBindingSource.EndEdit()
|
||||
' Fragen ob das Profil wirklich gelöscht werden soll
|
||||
Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass sie die ausgewählten Pakete löschen wollen?", MsgBoxStyle.YesNo, "Löschen bestätigen")
|
||||
' wenn das Profil gelöscht werden soll
|
||||
If result = MsgBoxResult.Yes Then
|
||||
For Each dbRow As DataRow In MyDataset.VWKOMMCOLLI_ABSCHLUSS_PAKET.Rows
|
||||
If CBool(dbRow.Item("Auswahl")) = True Then
|
||||
'Positionen löschen
|
||||
TBKOMMCOLLI_PAKET_POSTableAdapter.cmdDeletePos(dbRow.Item("GUID"))
|
||||
'Kopf löschen
|
||||
TBKOMMCOLLI_PAKET_KOPFTableAdapter.CmdDeleteGUID(dbRow.Item("GUID"))
|
||||
End If
|
||||
Next
|
||||
Load_Pakete(Mandant)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub cmbMandant_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbMandant.SelectedIndexChanged
|
||||
If cmbMandant.SelectedIndex <> -1 Then
|
||||
Load_Pakete(cmbMandant.Text)
|
||||
btnAbschluss.Text = "Mandanten '" & cmbMandant.Text & "' abschliessen"
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user