Index: TAOR-rework-bugfixing/TAOR rework/Domeincontroller.vb =================================================================== diff -u -r1596 -r1599 --- TAOR-rework-bugfixing/TAOR rework/Domeincontroller.vb (.../Domeincontroller.vb) (revision 1596) +++ TAOR-rework-bugfixing/TAOR rework/Domeincontroller.vb (.../Domeincontroller.vb) (revision 1599) @@ -1,4 +1,6 @@ -Imports TA_OR_rework.SpecialLadenRepository +Imports TA_OR_rework.Rework +Imports TA_OR_rework.SpecialLadenRepository +Imports TA_OR_rework.Stalen Public Class Domeincontroller Private Shared instance As Domeincontroller @@ -66,7 +68,7 @@ End Function Public Sub addRework(ByVal barcode As String, ByVal reden() As String, ByVal onderdeel As String, ByVal voorVoorraad As String, ByVal etiketTekst As String) - reworkRep.addRework(New Rework(barcode, reden, onderdeel, voorVoorraad, etiketTekst)) + reworkRep.addRework(New Rework.Rework(barcode, reden, onderdeel, voorVoorraad, etiketTekst)) End Sub Public Sub verwijderRework(ByVal barcode As String) @@ -84,7 +86,7 @@ Public Function geefReworks() As List(Of String()) Dim reworks As List(Of String()) = New List(Of String()) - For Each reworkClass As Rework In reworkRep.getReworks + For Each reworkClass As Rework.Rework In reworkRep.getReworks Dim rework(3) As String rework(0) = reworkClass.barcode rework(1) = reworkClass.onderdeel @@ -97,7 +99,7 @@ Public Function bestaatRework(ByVal barcode As String) Dim gevonden As Boolean = False - For Each rework As Rework In reworkRep.getReworks + For Each rework As Rework.Rework In reworkRep.getReworks If rework.barcode.Equals(barcode) Then gevonden = True End If @@ -123,7 +125,7 @@ Public Sub verwerkReworks() 'de reworks die niet in een van de trays zitten (dus geen zijkant zijn) verwerken - For Each rework As Rework In reworkRep.getReworks + For Each rework As Rework.Rework In reworkRep.getReworks Dim onderdeel As String = rework.onderdeel.ToLower.Trim Select Case onderdeel Case "front" @@ -134,7 +136,7 @@ hoofdAansturingRework.verwerkBodem(rework) Case Else If Not onderdeel.Contains("zijkant") Then - MsgBox("Tussen de geselecteerde reworks zit een onderdeel waar nog geen productieproces voor is gedefinieerd, gelieve dit aan te passen in de Domeincontroller en HoofdAansturing, het onderdeel in kwestie is: " & onderdeel.ToUpper) + MsgBox($"Tussen de geselecteerde reworks zit een onderdeel waar nog geen productieproces voor is gedefinieerd, gelieve dit aan te passen in de Domeincontroller en HoofdAansturing, het onderdeel in kwestie is: {onderdeel.ToUpper}") End If End Select Next @@ -169,9 +171,9 @@ reworkRep.updateAllReworks() Try - Dim reworks As List(Of Rework) = reworkRep.getReworks() - Dim zijkanten As New List(Of Rework) - For Each rework As Rework In reworks + Dim reworks As List(Of Rework.Rework) = reworkRep.getReworks() + Dim zijkanten As New List(Of Rework.Rework) + For Each rework As Rework.Rework In reworks If rework.onderdeel.ToUpper.Contains("ZIJKANT") Then zijkanten.Add(rework) End If @@ -190,16 +192,16 @@ End Try End Sub - Private Sub handelZijkantReworkAf(ByVal reworkZijkanten As List(Of Rework)) - Dim zelfdeBatchEnDossier As New List(Of List(Of Rework)) + Private Sub handelZijkantReworkAf(ByVal reworkZijkanten As List(Of Rework.Rework)) + Dim zelfdeBatchEnDossier As New List(Of List(Of Rework.Rework)) Dim batch As String = "" Dim dossierCode As String = "" Do While reworkZijkanten.Count >= 1 batch = reworkZijkanten(0).batch dossierCode = reworkZijkanten(0).dossierCode - Dim eenBatchEnDossier As New List(Of Rework) + Dim eenBatchEnDossier As New List(Of Rework.Rework) eenBatchEnDossier.Add(reworkZijkanten(0)) reworkZijkanten.RemoveAt(0) @@ -216,18 +218,18 @@ zelfdeBatchEnDossier.Add(eenBatchEnDossier) Loop - Dim paren As New List(Of Rework()) - Dim enkelen As New List(Of Rework) + Dim paren As New List(Of Rework.Rework()) + Dim enkelen As New List(Of Rework.Rework) Do While zelfdeBatchEnDossier.Count > 0 - Dim gesplitsteReworksBatchEnDossier As List(Of Rework) = zelfdeBatchEnDossier(0) + Dim gesplitsteReworksBatchEnDossier As List(Of Rework.Rework) = zelfdeBatchEnDossier(0) zelfdeBatchEnDossier.RemoveAt(0) Do While gesplitsteReworksBatchEnDossier.Count > 0 Dim isGevonden As Boolean = False Dim type As String = gesplitsteReworksBatchEnDossier(0).barcode.Substring(5, 1) - For Each mogelijkZelfdeType As Rework In gesplitsteReworksBatchEnDossier + For Each mogelijkZelfdeType As Rework.Rework In gesplitsteReworksBatchEnDossier If Not gesplitsteReworksBatchEnDossier(0).Equals(mogelijkZelfdeType) Then Dim anderType As String = mogelijkZelfdeType.barcode.Substring(5, 1) 'kijken of de types paren vormen, in de twee richtingen @@ -243,7 +245,7 @@ (type.Equals("D") And anderType.Equals("D")) Or (type.Equals("E") And anderType.Equals("E")) Or (type.Equals("F") And anderType.Equals("F")) Then - Dim paar(1) As Rework + Dim paar(1) As Rework.Rework paar(0) = gesplitsteReworksBatchEnDossier(0) paar(1) = mogelijkZelfdeType paren.Add(paar) @@ -270,7 +272,7 @@ End Sub Dim traynummer As Integer = 0 - Private Sub verdeelParenEnEnkeleOverTrays(ByVal paren As List(Of Rework()), ByVal enkel As List(Of Rework)) + Private Sub verdeelParenEnEnkeleOverTrays(ByVal paren As List(Of Rework.Rework()), ByVal enkel As List(Of Rework.Rework)) Do While paren.Count > 0 Or enkel.Count > 0 Dim reworkTray As ReworkTray = New ReworkTray(reworkTrayslotRep.slots) Index: TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisMapper.vb =================================================================== diff -u -r1596 -r1599 --- TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisMapper.vb (.../ArdisMapper.vb) (revision 1596) +++ TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisMapper.vb (.../ArdisMapper.vb) (revision 1599) @@ -109,7 +109,7 @@ End Try End Function - Public Function geefBarcode(ByVal Partgroup As String, ByVal PartExt02 As String, ByVal PartL As String, ByVal LinksOfRechts As String) As List(Of String) + Public Function geefBarcodes(ByVal Partgroup As String, ByVal PartExt02 As String, ByVal PartL As String, ByVal LinksOfRechts As String) As List(Of String) Try LogBestandTextMapper.writeToFile("Ardis", "Opvragen van barcodes met info " & " Partgroup, PartExt02, LinksOfRechts: " & Partgroup & ", " & PartExt02 & ", " & LinksOfRechts) Index: TAOR-rework-bugfixing/TAOR rework/Rework/HoofdAansturingRework.vb =================================================================== diff -u -r1598 -r1599 --- TAOR-rework-bugfixing/TAOR rework/Rework/HoofdAansturingRework.vb (.../HoofdAansturingRework.vb) (revision 1598) +++ TAOR-rework-bugfixing/TAOR rework/Rework/HoofdAansturingRework.vb (.../HoofdAansturingRework.vb) (revision 1599) @@ -27,7 +27,7 @@ ''' Herzagen van het de rework. ''' ''' De rework die zal herzaagt worden. - Private Sub HerzaagRework(rework As Rework) + Private Shared Sub HerzaagRework(rework As Rework) 'Andere functie aanroepen met lege tray- en slotnummer. HerzaagRework(rework, String.Empty, String.Empty) End Sub @@ -39,14 +39,14 @@ ''' De rework die zal herzaagt worden. ''' De traynummer. ''' Het slotnummer. - Private Sub HerzaagRework(rework As Rework, trayNummer As String, slotNummer As String) + Private Shared Sub HerzaagRework(rework As Rework, trayNummer As String, slotNummer As String) 'Controleer of het wel moet worden opgeslagen in Ardis. If Not rework.opslaanArdis Then Return 'Zo ja, controleer of het onderdeel geen zijkant is. If Not rework.onderdeel.ToLower.Contains("zijkant") Then 'Reworks van niet-zijkanten worden herzaagt aan de hand van hun barcode. - HerzaagMetBarcode(rework.barcode) + HerzaagOnderdeelMetBarcode(rework.barcode) Else 'Voor zijkanten wordt gekeken of het links, rechts, beide of gewoon een zijkant is. Dim linksEnOfRechts As String = rework.onderdeel.ToUpper() @@ -72,30 +72,47 @@ End If End Sub - Private Sub HerzaagZijkant(rework As Rework, linksOfRechts As String, trayNummer As String, slotNummer As String) + ''' + ''' Hulpfunctie voor het herzagen van zijkant reworks. + ''' + ''' De rework. + ''' Type zijkant: L; R; LR + ''' Het traynummer. + ''' Het slotnummer. + Private Shared Sub HerzaagZijkant(rework As Rework, linksOfRechts As String, trayNummer As String, slotNummer As String) Try + 'Ophalen van de ArdisData met de barcode. Dim ardisData As ArdisData = ArdisMapper.OphalenData(rework.barcode) + 'Controleren of de Ardisdata niet leeg is. If ardisData Is Nothing Then - Throw New Exception("Ardisdata kon niet worden opgevraagd voor rework met barcode: " & rework.barcode) + Throw New Exception($"Ardisdata kon niet worden opgevraagd voor zijkant rework met barcode: {rework.barcode}.") End If - 'als het een speciale zijkant is moeten we het corresponderende plankje vinden, aka A of B - Dim barcodes As List(Of String) + + Dim barcodes As ICollection(Of String) + 'Controleren of het een speciaal gegenereerd plankje is. If Not (ardisData.isSpecialGegenereerd()) Then - barcodes = ArdisMapper.geefBarcode(ardisData.PartGroup, ardisData.PartExt02, ardisData.PartL, linksOfRechts) + 'Zo neen, de barcodes ophalen aan de hand van de data. + barcodes = ArdisMapper.geefBarcodes(ardisData.PartGroup, ardisData.PartExt02, ardisData.PartL, linksOfRechts) Else + 'Als het een speciale zijkant is moeten we het corresponderende plankje vinden, aka A of B barcodes = ArdisMapper.geefBarcodeGegenereerdePlankjes(ardisData.PartGroup, ardisData.PartExt02, ardisData.PartL) End If - If barcodes Is Nothing Then - Throw New Exception("Er is iets foutgelopen bij het ophalen van de barcodes van de zijkanten uit de Ardis databank") + 'Lijst van barcodes controleren. + If barcodes Is Nothing AndAlso Not barcodes.Count = 0 Then + 'Lijst met barcodes mag niet null of leeg zijn. + Throw New Exception("Er is iets foutgelopen bij het ophalen van de barcodes van de zijkanten uit de Ardis databank, Partgroup='{ardisData.PartGroup}', 'PartExt02={ardisData.PartExt02}', PartL='{ardisData.PartL}'.") ElseIf barcodes.Count > 2 Then - Throw New Exception("Er zijn teveel barcodes gevonden bij het ophalen van de barcodes van de zijkanten uit de Ardis databank, Partgroup, PartExt02: " & ardisData.PartGroup & ", " & ardisData.PartExt02) + 'Lijst met barcodes mag niet meer dan twee items bevatten. + Throw New Exception($"Er zijn teveel barcodes gevonden bij het ophalen van de barcodes van de zijkanten uit de Ardis databank, Partgroup='{ardisData.PartGroup}', 'PartExt02={ardisData.PartExt02}', PartL='{ardisData.PartL}'.") End If + + 'Elke barcode overlopen en laten verwerken. For Each barcode In barcodes - HerzaagMetBarcode(barcode, trayNummer, slotNummer) + HerzaagOnderdeelMetBarcode(barcode, trayNummer, slotNummer) Next Catch ex As Exception - Throw ex + Throw New Exception($"Kon rework zijkant niet herzagen.{vbNewLine}{ex.Message}") End Try End Sub @@ -105,7 +122,7 @@ For Each slot As Slot In tray.geefNietLegeSlots If slot.zijkanten.Count > 0 Then - opslaanInAutomilling() + OpslaanInAutomilling() For Each zijkant As Rework In slot.zijkanten 'de opdracht resetten in de afkanter @@ -143,25 +160,43 @@ ''' De barcode van het onderdeel. Private Shared Sub ResetOpdrachtAfkanter(ByVal barcodeId As String) Try - 'kijken of het wel moet worden opgeslagen + 'Kijken of het wel moet worden verwerkt. If Configs.geefVerwerkStatus Then KantenbandMapper.resetOpdracht(barcodeId) End If Catch ex As Exception - Throw ex + Throw New Exception($"De opdracht van de rework met barcode '{barcodeId}' kon niet gereset worden in de kantenband.") End Try End Sub - Private Sub HerzaagMetBarcode(ByVal BarcodeID As String, Optional trayNummer As String = "", Optional slotNummer As String = "") + ''' + ''' Herzagen van een onderdeel aan de hand van een barcode. + ''' + ''' De barcode van het onderdeel. + Private Shared Sub HerzaagOnderdeelMetBarcode(ByVal barcodeId As String) + 'Aanroepen functie met lege tray- en slotnummer + HerzaagOnderdeelMetBarcode(barcodeId, String.Empty, String.Empty) + End Sub + + ''' + ''' Herzagen van een onderdeel aan de hand van een barcode. + ''' + ''' De barcode van het onderdeel. + ''' Het traynummer. + ''' Het slotnummer. + Private Shared Sub HerzaagOnderdeelMetBarcode(ByVal barcodeId As String, trayNummer As String, slotNummer As String) Try - Dim ardisData As ArdisData = ArdisMapper.OphalenData(BarcodeID) + 'Opvragen van de ardisdata met de barcode. + Dim ardisData As ArdisData = ArdisMapper.OphalenData(barcodeId) + 'Updaten van de data. ardisData.aanpassenDataRework() - 'kijken of het wel moet worden opgeslagen + + 'Kijken of het wel moet worden opgeslagen. If Configs.geefVerwerkStatus Then ArdisTextMapper.opslaan(ItemType.REWORK, ardisData, trayNummer, slotNummer) End If Catch ex As Exception - Throw ex + Throw New Exception($"Kon onderdeel met barcode '{barcodeId}' niet herzagen. {vbNewLine}{ex.Message}") End Try End Sub