Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/IReworkTrayEngine.vb =================================================================== diff -u --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/IReworkTrayEngine.vb (revision 0) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/IReworkTrayEngine.vb (revision 1655) @@ -0,0 +1,4 @@ +Public Interface IReworkTrayEngine + Sub VerdeelZijkantenOverTrays(zijkanten As List(Of Zijkant)) +End Interface + Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/MustInheritSifonLadeManager.vb =================================================================== diff -u --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/MustInheritSifonLadeManager.vb (revision 0) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/MustInheritSifonLadeManager.vb (revision 1655) @@ -0,0 +1,77 @@ +Imports TA_OR_rework + +Public MustInherit Class MustInheritSifonLadeManager(Of TLadeType As ISifonLade) + Inherits LadeManager(Of TLadeType) + + Private ReadOnly _specialLadenEngine As ISpecialLadeEngine(Of TLadeType) + Private ReadOnly _reworkTrayEngine As IReworkTrayEngine + + ''' + ''' Initialiseren met een special laden engine. + ''' + ''' De special laden engine + Public Sub New(specialLadenEngine As ISpecialLadeEngine(Of TLadeType), reworkTrayEngine As IReworkTrayEngine) + _specialLadenEngine = specialLadenEngine + _reworkTrayEngine = reworkTrayEngine + End Sub + + ''' + Protected Overrides Function LaadLadenData(identificatie As String) As List(Of TLadeType) + 'Laden opvragen met lade code en dan retourneren. + Return _specialLadenEngine.GeefLadenMetLadeCode(identificatie) + End Function + + ''' + ''' Alle laden updaten met waarden uit andere lade. + ''' + ''' De andere lade + Public Sub UpdateAlleLaden(gewijzigdeLade As TLadeType) + 'Controleer of lijst met laden leeg is. + If Laden Is Nothing OrElse Laden.Count = 0 Then + 'Lijst is leeg, update kan niet uitgevoerd worden. + Throw New Exception("Kon special laden niet updaten aan de hand van een gewijzigde lade. Geen laden aanwezig.") + End If + 'Lijst is niet leeg, hook aanroepen. + UpdateLaden(gewijzigdeLade) + End Sub + + ''' + ''' Hook voor alle laden te updaten met waarden uit andere lade. + ''' + ''' De andere lade + Protected MustOverride Sub UpdateLaden(gewijzigdeLade As TLadeType) + + ''' + ''' De laden in een afgewerkte staat brengen. + ''' + Public Sub BouwLaden() + 'Elke lade overlopen. + For Each lade in Laden + GenereerOnderdelen(lade) + VerdeelOverReworkTrays(lade) + GenereerOnderdeelDatas(lade) + Next + End Sub + + ''' + ''' Genereren van de onderdelen, zijkanten, bodem, ... + ''' + Private Sub GenereerOnderdelen(lade As TLadeType) + lade.MaakLade() + End Sub + + ''' + ''' Verdelen van de zijkanten over de rework trays. + ''' + Private Sub VerdeelOverReworkTrays(lade As TLadeType) + Dim zijkanten = lade.GeefAlleOnderdelen().Where(Function(onderdeel) typeof onderdeel Is Zijkant) + 'Data updaten in zijkanten (slotnummer en traynummer door te verdelen over de trays als paar (zijkantL en zijkantR) + _reworkTrayEngine.VerdeelZijkantenOverTrays(zijkanten) + End Sub + + ''' + ''' Andere data's genereren, kantenband, automilling, ... + ''' + Protected MustOverride Sub GenereerOnderdeelDatas(lade As TLadeType) + +End Class Index: TAOR-rework-bugfixing/TAOR rework/Rework/ReworkTraySlotRepository.vb =================================================================== diff -u -r1607 -r1655 --- TAOR-rework-bugfixing/TAOR rework/Rework/ReworkTraySlotRepository.vb (.../ReworkTraySlotRepository.vb) (revision 1607) +++ TAOR-rework-bugfixing/TAOR rework/Rework/ReworkTraySlotRepository.vb (.../ReworkTraySlotRepository.vb) (revision 1655) @@ -1,21 +1,25 @@ Public Class ReworkTraySlotRepository - Private _slots As List(Of Slot) + Private ReadOnly _slots As List(Of Slot) Public Sub New() _slots = ReworkTraySlotMapperXML.getDataFromFile() End Sub - Public Function slots() As List(Of Slot) + ''' + ''' Unieke sloten opvragen als lijst. + ''' + ''' + Public Function Slots() As List(Of Slot) Dim tempList As New List(Of Slot) For Each huidigSlot As Slot In _slots - Dim nieuwSlot As New Slot - nieuwSlot.nummer = huidigSlot.nummer - nieuwSlot.type = huidigSlot.type + 'Nieuw slot aanmaken en waarden invullen. + Dim nieuwSlot As New Slot With { + .nummer = huidigSlot.nummer, + .type = huidigSlot.type + } tempList.Add(nieuwSlot) Next - Return tempList - End Function End Class \ No newline at end of file FishEye: Tag 1655 refers to a dead (removed) revision in file `TAOR-rework-bugfixing/TAOR rework/laden/special laden/Sifonladen/MustInheritSifonLadeManager.vb'. FishEye: No comparison available. Pass `N' to diff? Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/implementaties/DubbeleSifonLadeManager.vb =================================================================== diff -u --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/implementaties/DubbeleSifonLadeManager.vb (revision 0) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/implementaties/DubbeleSifonLadeManager.vb (revision 1655) @@ -0,0 +1,32 @@ +Public Class DubbeleSifonLadeManager + Inherits MustInheritSifonLadeManager(Of ISifonLadeDubbel) + + ''' + ''' Initialiseren met een special laden engine. + ''' + ''' De special laden engine + Public Sub New(specialLadenEngine As ISpecialLadeEngine(Of ISifonLadeDubbel), reworkTrayEngine As IReworkTrayEngine) + MyBase.New(specialLadenEngine, reworkTrayEngine) + End Sub + + ''' + Protected Overrides Sub UpdateLaden(gewijzigdeLade As ISifonLadeDubbel) + 'Alle sifon laden overlopen. + For Each sifonLade In Laden + 'Updaten met wijzigbare waarden. + sifonLade.BreedteSifonuitsparingZ1 = gewijzigdeLade.BreedteSifonuitsparingZ1 + sifonLade.DiepteSifonuitsparingU1 = gewijzigdeLade.DiepteSifonuitsparingU1 + sifonLade.PositieSifonuitsparingL = gewijzigdeLade.PositieSifonuitsparingL + 'Dubbele sifonlade. + sifonLade.BreedteSifonuitsparingZ2 = gewijzigdeLade.BreedteSifonuitsparingZ2 + sifonLade.DiepteSifonuitsparingU2 = gewijzigdeLade.DiepteSifonuitsparingU2 + sifonLade.BreedteMiddenstuk = gewijzigdeLade.BreedteMiddenstuk + Next + End Sub + + ''' + Protected Overrides Sub GenereerOnderdeelDatas(lade As ISifonLadeDubbel) + Throw New NotImplementedException + End Sub + +End Class Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/ReworkTrayEngine.vb =================================================================== diff -u --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/ReworkTrayEngine.vb (revision 0) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/ReworkTrayEngine.vb (revision 1655) @@ -0,0 +1,34 @@ +Public Class ReworkTrayEngine + Implements IReworkTrayEngine + + Private _slotRepository As ReworkTraySlotRepository + + Public Sub New(slotRepository As ReworkTraySlotRepository) + _slotRepository = slotRepository + End Sub + + public Sub VerdeelZijkantenOverTrays(zijkanten As List(Of Zijkant))Implements IReworkTrayEngine.VerdeelZijkantenOverTrays + 'Controleren dat het anntal zijkanten wel even is. + If zijkanten.Count Mod 2 <> 0 Then + Throw New Exception("Het aantal zijkanten is niet gelijk en kan dus niet verdeeld worden als paar over de rework tray.") + End If + + 'Rework tray initialiseren. + Dim reworkTray As New ReworkTray(_slotRepository.Slots) + 'Zijkanten overlopen per 2 + For i = 0 To zijkanten.Count - 1 Step 2 + Dim zijkant1 = zijkanten(i) + Dim zijkant2 = zijkanten(i) + 'Controleren of alle paren volzitten. + If Not reworkTray.parenVol Then + reworkTray.voegPaarToe( + New List(Of ArdisData) From { + zijkant1.ArdisDataL, + zijkant2.ArdisDataL + }) + End If + Next + + End Sub + +End Class FishEye: Tag 1655 refers to a dead (removed) revision in file `TAOR-rework-bugfixing/TAOR rework/laden/special laden/LadeManager.vb'. FishEye: No comparison available. Pass `N' to diff? Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/implementaties/SifonLadeManager.vb =================================================================== diff -u --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/implementaties/SifonLadeManager.vb (revision 0) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/implementaties/SifonLadeManager.vb (revision 1655) @@ -0,0 +1,28 @@ +Public Class SifonLadeManager + inherits MustInheritSifonLadeManager(Of ISifonLade) + + ''' + ''' Initialiseren met een special laden engine. + ''' + ''' De special laden engine + Public Sub New(specialLadenEngine As ISpecialLadeEngine(Of ISifonLade), reworkTrayEngine As IReworkTrayEngine) + MyBase.new(specialLadenEngine, reworkTrayEngine) + End Sub + + ''' + Protected Overrides Sub UpdateLaden(gewijzigdeLade As ISifonLade) + 'Alle sifon laden overlopen. + For Each sifonLade In Laden + 'Updaten met wijzigbare waarden. + sifonLade.BreedteSifonuitsparingZ1 = gewijzigdeLade.BreedteSifonuitsparingZ1 + sifonLade.DiepteSifonuitsparingU1 = gewijzigdeLade.DiepteSifonuitsparingU1 + sifonLade.PositieSifonuitsparingL = gewijzigdeLade.PositieSifonuitsparingL + Next + End Sub + + ''' + Protected Overrides Sub GenereerOnderdeelDatas(lade As ISifonLade) + Throw New NotImplementedException + End Sub + +End Class Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/LadeManager.vb =================================================================== diff -u --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/LadeManager.vb (revision 0) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/LadeManager.vb (revision 1655) @@ -0,0 +1,78 @@ +Public MustInherit Class LadeManager(Of TLadeType As ISpecialLade) + + Protected Laden As List(Of TLadeType) + + ''' + ''' Eerste lade opvragen of Nothing retourneren. (FirstOrDefault) + ''' + ''' Eerste lade of Nothing + Public Function EersteOfStandaard() As TLadeType + Return Laden.FirstOrDefault() + End Function + + ''' + ''' Aantal laden opvragen. + ''' + ''' Het aantal laden + public Function AantalLaden As Integer + Return Laden.Count + End Function + + ''' + ''' De lade(n) inladen aan de hand van een parameter. + ''' + ''' Identificatie van de lade(n) + ''' True als er minstens 1 laden met de identificatie gevonden werd. + Public Function ZoekEnLaadLaden(identificatie As String) As Boolean + 'Laden opzoeken aan de hand van de hook met de identificatie. + Dim ingeladenLaden = LaadLadenData(identificatie) + 'Controleren dat de ingeladen laden niet leeg zijn. + If ingeladenLaden IsNot Nothing AndAlso ingeladenLaden.Count <> 0 Then + 'Ingeladen laden bijhouden. + Laden = ingeladenLaden + 'True retourneren, 1 of meer laden werden gevonden. + Return True + End If + 'Geen Laden werden gevonden. + Return False + End Function + + ''' + ''' De lade(n) inladen aan de hand van een parameter. + ''' + ''' Identificatie van de lade(n) + ''' Lijst van data + Protected MustOverride Function LaadLadenData(identificatie As String) As List(Of TLadeType) + + ''' + ''' Opvragen van de onderdelen en hun barcodes. + ''' + ''' Lijst van String arrays met {naam onderdeel, barcode} + Public Function GeefOrigineleOnderdelenEnBarcodes() As List(Of String()) + Dim onderdelenEnBarcodes As New List(Of String()) + For Each lade In Laden + 'Onderdelen opvragen en itereren. + For Each onderdeel In lade.GeefOrigineleOnderdelen() + 'Kijken of het 1 of 2 ardis data's bevat. + If TypeOf onderdeel Is IHeeftEnkeleArdisdata Then + 'Enkele Ardis data. + 'Casten. + Dim enkeleArdisData = CType(onderdeel, IHeeftEnkeleArdisdata).ArdisData + 'Toevoegen. + onderdelenEnBarcodes.Add(New String() {enkeleArdisData.PartRef, enkeleArdisData.PartCalc}) + ElseIf TypeOf onderdeel Is IHeeftDubbeleArdisData Then + 'Dubbel Ardis data. + 'Casten. + Dim dubbeleArdisData1 = CType(onderdeel, IHeeftDubbeleArdisData).ArdisData1 + Dim dubbeleArdisData2 = CType(onderdeel, IHeeftDubbeleArdisData).ArdisData2 + 'Toevoegen. + onderdelenEnBarcodes.Add(New String() {dubbeleArdisData1.PartRef, dubbeleArdisData1.PartCalc}) + onderdelenEnBarcodes.Add(New String() {dubbeleArdisData2.PartRef, dubbeleArdisData2.PartCalc}) + End If + Next + Next + 'Lijst van onderdelen en barcodes retourneren. + Return onderdelenEnBarcodes + End Function + +End Class FishEye: Tag 1655 refers to a dead (removed) revision in file `TAOR-rework-bugfixing/TAOR rework/laden/special laden/Sifonladen/implementaties/SifonLadeManager.vb'. FishEye: No comparison available. Pass `N' to diff? Index: TAOR-rework-bugfixing/TAOR rework/formulieren/Specials/FormSifonLade.vb =================================================================== diff -u -r1650 -r1655 --- TAOR-rework-bugfixing/TAOR rework/formulieren/Specials/FormSifonLade.vb (.../FormSifonLade.vb) (revision 1650) +++ TAOR-rework-bugfixing/TAOR rework/formulieren/Specials/FormSifonLade.vb (.../FormSifonLade.vb) (revision 1655) @@ -269,7 +269,7 @@ 'Ophalen van de informatie. 'Kijken welk type geladen moet worden. - If not DubbelCheckBox.Checked Then + If Not DubbelCheckBox.Checked Then 'Normale sifonlade. Dim info = SifonLadeController.GetInstance().GeefInformatieSifonLade() 'Informatie bovenaan @@ -363,6 +363,9 @@ DubbelCheckBox.Enabled = status 'De status van de velden van de dubbele sifonlade updaten. De checkbox moet aangeduid zijn en de status op true, voor die controls te enablen. UpdateEnableStatusDubbeleLadeVelden(DubbelCheckBox.Checked And status) + + 'Verwerkbutton + VerwerkButton.Enabled = status End Sub #Region "Dubbele lade uitsparing controls" @@ -480,31 +483,16 @@ End Sub Private Sub BtnVerwerk_Click(sender As System.Object, e As System.EventArgs) Handles VerwerkButton.Click - 'todo verwerken van laden. Try - 'vragen aan de gebruiker of het bestand verplaatst moet worden - If Domeincontroller.getInstance.heeftNogExtraSpecialLaden Then - Dim result As DialogResult = MessageBox.Show("Wilt u de verwerkte sifon laden uit het tekst bestand halen? (De onverwerkte blijven sowieso staan)", "Extra special laden", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - If result = Windows.Forms.DialogResult.Yes Then 'verplaatsen worden? - If Domeincontroller.getInstance.geefTypeSpecialLade = ItemType.Sifonlade Then 'sifonlade geselecteerd? - If Configs.geefVerwerkStatus Then - Domeincontroller.getInstance.verplaatsVerwerkteSifonLaden() 'verplaats - End If - ElseIf Domeincontroller.getInstance.geefTypeSpecialLade = ItemType.DubbeleSifonlade Then 'spoelbak lade geselecteerd - If Configs.geefVerwerkStatus Then - Domeincontroller.getInstance.verplaatsVerwerkteSpoelbakLaden() 'verplaats - End If - Else - Throw New Exception("Het type: " & EnumMapper.GeefTekstVanEnumOptie(Domeincontroller.getInstance.geefTypeSpecialLade) & " kon niet verplaatst worden in form special lade") - End If - - If Configs.geefVerwerkStatus Then - Domeincontroller.getInstance.opslaanNietVerwerkteSpecialLaden() - Domeincontroller.getInstance.verwijderSpecialLadenBestand() 'verwijder bestand - End If - End If + 'Kijken welk type sifonlade wordt verwerk. + If Not DubbelCheckBox.Checked Then + 'Enkele sifonlade. + SifonLadeController.GetInstance().VerdeelSifonLadenOverReworkTrays() + Else + 'Dubbele sifonlade. + SifonLadeController.GetInstance().VerdeelDubbeleSifonLadenOverReworkTrays() End If - Domeincontroller.getInstance.verdeelOverReworkTrays() 'verdelen, nog niet verwerken + FormController.getInstance.laadFormReworkTrayPrinter(Me) Catch ex As Exception MessageBox.Show(ex.Message, "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) Index: TAOR-rework-bugfixing/TAOR rework/controllers/SifonLadeController.vb =================================================================== diff -u -r1650 -r1655 --- TAOR-rework-bugfixing/TAOR rework/controllers/SifonLadeController.vb (.../SifonLadeController.vb) (revision 1650) +++ TAOR-rework-bugfixing/TAOR rework/controllers/SifonLadeController.vb (.../SifonLadeController.vb) (revision 1655) @@ -18,15 +18,18 @@ End Function Public Sub New() + 'Rework tray slot engine. + dim reworkTrayEngine As New ReworkTrayEngine(new ReworkTraySlotRepository()) + 'Special lade engine initialiseren met de juiste mapper. Dim sifonLadeEngine = New SpecialLadeEngine(Of ISifonLade)(New SifonLadenMapper) 'Manager initialiseren met de engine. - _sifonladeManager = New SifonLadeManager(sifonLadeEngine) + _sifonladeManager = New SifonLadeManager(sifonLadeEngine, reworkTrayEngine) 'Dubbele special lade engine initialiseren met de juiste mapper. Dim sifonladeDubbelEngine = New SpecialLadeEngine(Of ISifonLadeDubbel)(New SifonLadenDubbelMapper) 'Manager initialiseren met de engine. - _sifonladeDubbelManager = New DubbeleSifonLadeManager(sifonladeDubbelEngine) + _sifonladeDubbelManager = New DubbeleSifonLadeManager(sifonladeDubbelEngine, reworkTrayEngine) End Sub #Region "Normale sifon lade" @@ -90,6 +93,13 @@ 'Manager aanroepen om te updaten. _sifonladeManager.UpdateAlleLaden(sifonlade) End Sub + + ''' + ''' Sifonlade bouwen en zijkanten verdelen over rework trays. + ''' + Public Sub VerdeelSifonLadenOverReworkTrays() + _sifonladeManager.BouwLaden + End Sub #End Region #Region "Dubbele sifon lade" @@ -155,18 +165,15 @@ _sifonladeDubbelManager.UpdateAlleLaden(sifonlade) End Sub -#End Region - - Private Sub verdeelSifonLadenOverReworkTrays() - Dim zijkanten As New List(Of ArdisData) - 'For Each sifonLade In _specialLadenRep.sifonLaden - 'zijkanten - ' zijkanten.AddRange(sifonLade.zijkanten) - 'Next - 'special rework trays laten verwerken - 'todo voegReworkTraysSpecialLadeToe(zijkanten) + ''' + ''' Dubbele sifonlade bouwen en zijkanten verdelen over rework trays. + ''' + public Sub VerdeelDubbeleSifonLadenOverReworkTrays() + _sifonladeManager.BouwLaden End Sub +#End Region + Private Sub slaSifonLadenOp() 'todo Dim hoofdAansturingSifonLade As HoofdAansturingSpecialLade = New HoofdAansturingSifonLade(reworkTrayRep) 'hoofdAansturingSifonLade.verwerkenSpecialLadeMetTrays(_specialLadenRep.sifonLaden) Index: TAOR-rework-bugfixing/TAOR rework/TAOR rework.vbproj =================================================================== diff -u -r1651 -r1655 --- TAOR-rework-bugfixing/TAOR rework/TAOR rework.vbproj (.../TAOR rework.vbproj) (revision 1651) +++ TAOR-rework-bugfixing/TAOR rework/TAOR rework.vbproj (.../TAOR rework.vbproj) (revision 1655) @@ -163,29 +163,31 @@ - - + + + + + + - - Index: TAOR-rework-bugfixing/TAOR rework/laden/special laden/Sifonladen/implementaties/SifonLadeV2.vb =================================================================== diff -u -r1653 -r1655 --- TAOR-rework-bugfixing/TAOR rework/laden/special laden/Sifonladen/implementaties/SifonLadeV2.vb (.../SifonLadeV2.vb) (revision 1653) +++ TAOR-rework-bugfixing/TAOR rework/laden/special laden/Sifonladen/implementaties/SifonLadeV2.vb (.../SifonLadeV2.vb) (revision 1655) @@ -88,6 +88,7 @@ Return origineleOnderdelen End Function +#Region "Lade maken" ''' Public Sub MaakLade() Implements ISifonLade.MaakLade 'Binnenzijkant L en R genereren. @@ -157,7 +158,7 @@ ''' ''' Updaten van de etiketlijnen van de onderdelen, buiten die van de ruggen. ''' - private Sub UpdateEtiketten() + Private Sub UpdateEtiketten() 'Alle onderdelen overlopen. For Each onderdeel In EtiketUpdatableOnderdelen() 'Checken of onderdeel 1 of 2 Ardis data's bevat. @@ -181,7 +182,14 @@ ''' Protected Overridable Function EtiketUpdatableOnderdelen() As IEnumerable(Of IOnderdeel) 'Onderdeel mag geen rug zijn. - Return GeefAlleOnderdelen().ToList().Where(function(onderdeel) not TypeOf onderdeel Is Rug) + Return GeefAlleOnderdelen().ToList().Where(Function(onderdeel) Not TypeOf onderdeel Is Rug) End Function +#End Region +#Region "Data's genereren" + + + +#End Region + End Class FishEye: Tag 1655 refers to a dead (removed) revision in file `TAOR-rework-bugfixing/TAOR rework/laden/special laden/Sifonladen/implementaties/DubbeleSifonLadeManager.vb'. FishEye: No comparison available. Pass `N' to diff?