Index: TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisData.vb =================================================================== diff -u -r1732 -r1738 --- TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisData.vb (.../ArdisData.vb) (revision 1732) +++ TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisData.vb (.../ArdisData.vb) (revision 1738) @@ -1,4 +1,5 @@ Imports System.Diagnostics.Eventing.Reader +Imports System.Text.RegularExpressions Public Class ArdisData Public PartId As String @@ -38,6 +39,8 @@ Property KamerfreesSlotNr As String Property Bestandsnaam As String 'Naam van het bestand waar de Ardis data zich in bevindt voor special laden. + Property AndereZijkantVanPaar As ArdisData + Public Function ShallowCopy() As ArdisData Return DirectCast(Me.MemberwiseClone(), ArdisData) End Function @@ -185,13 +188,12 @@ ''' Nieuwe data voor een linkse rug. ''' ''' - ''' ''' - Public Sub SifonLadeNieuweRug1Data(positieSifon As Double, oorspronkelijkeLengteRug As String, isVerlaagdeRug As Boolean) + Public Sub SifonLadeNieuweRug1Data(positieSifon As Double, isVerlaagdeRug As Boolean, partExt01Zijkant As String) 'PartL updaten. Dim nieuwePartL = positieSifon - 23.5 'Ticketlijnen en PartL updaten. - SifonladeUpdatePartLEnEtiketlijnen(oorspronkelijkeLengteRug, nieuwePartL, isVerlaagdeRug, RugStuk.Links) + SifonladeUpdatePartLEnEtiketlijnen(nieuwePartL, isVerlaagdeRug, RugStuk.Links, partExt01Zijkant) 'Kleur aanpassen. PasKleurAanSpecial() End Sub @@ -201,13 +203,12 @@ ''' Nieuwe data voor een rechtse rug van een enkele sifonlade. ''' ''' - ''' ''' - Public Sub SifonLadeNieuweRug2Data(rest As Double, oorspronkelijkeLengteRug As String, isVerlaagdeRug As Boolean) + Public Sub SifonLadeNieuweRug2Data(rest As Double, isVerlaagdeRug As Boolean, partExt01Zijkant As String) 'PartL berekenen. Dim nieuwePartL = rest - 23.5 'Ticketlijnen en PartL updaten. - SifonladeUpdatePartLEnEtiketlijnen(oorspronkelijkeLengteRug, nieuwePartL, isVerlaagdeRug, RugStuk.Rechts) + SifonladeUpdatePartLEnEtiketlijnen(nieuwePartL, isVerlaagdeRug, RugStuk.Rechts, partExt01Zijkant) 'Kleur aanpassen. PasKleurAanSpecial() End Sub @@ -216,30 +217,37 @@ ''' Nieuwe data voor de middelste rug. ''' ''' - ''' - Public Sub SifonLadeNieuweRugMData(breedteMiddenstuk As Double, oorspronkelijkeLengteRug As String) + Public Sub SifonLadeNieuweRugMData(breedteMiddenstuk As Double, partExt01Zijkant As String) 'PartL berekenen. Dim nieuwePartL = breedteMiddenstuk - 15 'Zet type op Valligne. PartCalc = PartCalc.Substring(0, 2) & "A" & PartCalc.Substring(3) 'Ticketlijnen updaten. 'Ticketlijnen en PartL updaten. - SifonladeUpdatePartLEnEtiketlijnen(oorspronkelijkeLengteRug, nieuwePartL, False, RugStuk.Midden) + SifonladeUpdatePartLEnEtiketlijnen(nieuwePartL, False, RugStuk.Midden, partExt01Zijkant) 'Kleur aanpassen. PasKleurAanSpecial() End Sub ''' ''' PartExt01 aanpassen. ''' - ''' - Private Sub SifonLadeUpdateEtiketLijn1Rug(oorspronkelijkeLengteRug As String) + Private Sub SifonLadeUpdateEtiketLijn1Rug(partExt01Zijkant As String) Dim afdekKapjesEnSy As String = PartExt01.Substring(PartExt01.LastIndexOf("/")) Dim tempPartExt01 As String = PartExt01.Substring(0, PartExt01.LastIndexOf("/")) afdekKapjesEnSy = tempPartExt01.Substring(tempPartExt01.LastIndexOf("/")) & afdekKapjesEnSy tempPartExt01 = tempPartExt01.Substring(0, tempPartExt01.LastIndexOf("/")) afdekKapjesEnSy = tempPartExt01.Substring(tempPartExt01.LastIndexOf("/")) & afdekKapjesEnSy - PartExt01 = PartRef.Substring(0, 3) & "/" & PartExt07 & "-" & PartExt07 & "/" & CStr(CDbl(oorspronkelijkeLengteRug.Replace(".", ",")) + 5).Replace(",", ".") & "x" & PartW & "/" & PartRemark & afdekKapjesEnSy + + Dim r = New Regex("\/\w*-(\w*)-\w*\/", RegexOptions.IgnoreCase) + Dim m as Match= r.Match(partExt01Zijkant) + If Not m.Success Then + Throw New Exception("Kon materiaal voor etiketlijn 1 van een rug niet updaten, de juiste kleur is niet aanwezig in de partExt01 van de zijkant.") + End If + + dim materiaalZijkant = m.Groups(1).Value + + PartExt01 = $"{PartRef.Substring(0, 3)}/{PartExt07}-{materiaalZijkant}/{PartL}x{PartW}/{PartRemark}{afdekKapjesEnSy}" End Sub Private Enum RugStuk @@ -253,13 +261,12 @@ ''' Anders als PartL kleiner dan minimum lengte rug -> minimum lengte rug. ''' Als verlaagde rug en te kort dan PartL - 5.5 ''' - ''' ''' ''' - Private Sub SifonladeUpdatePartLEnEtiketlijnen(oorspronkelijkeLengteRug As String, nieuwePartL As Double, isVerlaagdeRug As Boolean, rugstuk As RugStuk) + Private Sub SifonladeUpdatePartLEnEtiketlijnen(nieuwePartL As Double, isVerlaagdeRug As Boolean, rugstuk As RugStuk, partExt01Zijkant As String) Dim isVergrootteBaliko As Boolean = False Dim isVergrootteVallinge As Boolean = False - dim isteKorteRug as Boolean = false + Dim isteKorteRug As Boolean = False 'Controleren of het een verlaagde rug is. If isVerlaagdeRug Then @@ -305,7 +312,7 @@ PartL = Configs.SifonLadeGeefMinimumLengteRug() End If - SifonLadeUpdateEtiketLijn1Rug(oorspronkelijkeLengteRug) + SifonLadeUpdateEtiketLijn1Rug(partExt01Zijkant) 'Bij etiketlijn 2 'kar' vervangen door 'sifon'. PartExt02 = PartExt02.Replace("KAR", "SIFON") @@ -357,7 +364,7 @@ If isTeKorteRug Then 'Te korte rug. lengte = nieuwePartL - elseIf Not ((Not isVerlaagdeRug) And isVergrootteVallinge) Then + ElseIf Not ((Not isVerlaagdeRug) And isVergrootteVallinge) Then 'Normaal. lengte = CDbl(PartL.Replace(".", ",")) - 5 Else @@ -392,6 +399,9 @@ 'Toewijzen aan variabele. PartCalc = nieuweBarcode + + 'PartExt04 aanpassen met nieuwe barcode. + PartExt04 = PartCalc & PartExt04.Substring(PartExt04.IndexOf("/")) End Sub Public Function sifonLadeGeefOorspronkelijkeLengteRug()