Index: TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisData.vb =================================================================== diff -u -r1611 -r1636 --- TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisData.vb (.../ArdisData.vb) (revision 1611) +++ TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisData.vb (.../ArdisData.vb) (revision 1636) @@ -36,6 +36,7 @@ Property Label As String Property KamerfreesTrayId As String Property KamerfreesSlotNr As String + Property Bestandsnaam As string 'Naam van het bestand waar de Ardis data zich in bevindt voor special laden. Public Function ShallowCopy() As ArdisData Return DirectCast(Me.MemberwiseClone(), ArdisData) Index: TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisTextMapper.vb =================================================================== diff -u -r1634 -r1636 --- TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisTextMapper.vb (.../ArdisTextMapper.vb) (revision 1634) +++ TAOR-rework-bugfixing/TAOR rework/databases/Ardis/ArdisTextMapper.vb (.../ArdisTextMapper.vb) (revision 1636) @@ -13,7 +13,7 @@ End Sub Private Sub startNieuweArdisDataOpslag(pathNaarMap As String) - LogBestandTextMapper.writeToFile("ArdisText", "Starten van nieuwe dataopslag van text bestand") + LogBestandTextMapper.WriteToFile("ArdisText", "Starten van nieuwe dataopslag van text bestand") Dim regDate As Date = Date.Now() @@ -30,15 +30,15 @@ 'header (wordt genegeerd door ardis) writer.WriteLine("Rol" & vbTab & "Aantal" & vbTab & "PlaatMateriaal" & vbTab & "Barcode" & vbTab & "LadeSequentieNr" & vbTab & "DossierCode" & vbTab & "ExtraInfo" & vbTab & "Lengte" & vbTab & "Breedte" & vbTab & "Dikte" & vbTab & "Kleur" & vbTab & "Decor" & vbTab & "EtiketLijn1" & vbTab & "EtiketLijn2" & vbTab & "EtiketLijn3" & vbTab & "EtiketInfo" & vbTab & "EtiketLijn4" & vbTab & "Rework" & vbTab & "Kar" & vbTab & "Banding" & vbTab & "KamerfreesTrayId" & vbTab & "KamerfreesSlotNr") - LogBestandTextMapper.writeToFile("ArdisText", "Starten van nieuwe dataopslag van text bestand", True) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten van nieuwe dataopslag van text bestand", True) Catch ex As Exception Throw New Exception("Ardis text bestand kon niet worden aangemaakt " & ex.Message) End Try End Sub Public Sub opslaan(type As ItemType, ardisdata As ArdisData, Optional trayNummer As String = "", Optional slotNummer As String = "") - Dim typeNaam As String = EnumMapper.geefArdisTextBijItemType(type) - LogBestandTextMapper.writeToFile("ArdisText", "Starten opslag " & typeNaam & " met ardisData") + Dim typeNaam As String = EnumMapper.GeefArdisTextBijItemType(type) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten opslag " & typeNaam & " met ardisData") bestandsNaam = "ImportFile_" & typeNaam & "_" @@ -48,38 +48,38 @@ opslaan(ardisdata, trayNummer, slotNummer) - LogBestandTextMapper.writeToFile("ArdisText", "Starten opslag " & typeNaam & " met ardisData", True) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten opslag " & typeNaam & " met ardisData", True) End Sub 'opslaan van de sifonladen die verwerkt gaan worden voor ze verwerkt zijn Public Sub opslaanSifonLadeVoorVerwerking(ardisdata As ArdisData, bestandsNaamSifon As String) - LogBestandTextMapper.writeToFile("ArdisText", "Starten opslag sifon lade voor verwerking met barcode: " & ardisdata.PartCalc) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten opslag sifon lade voor verwerking met barcode: " & ardisdata.PartCalc) bestandsNaam = bestandsNaamSifon.Replace(".txt", "") & "_Verwerkt_Sifon_" If writer Is Nothing Then startNieuweArdisDataOpslag(Configs.sifonLadeGeefVerplaatsFolderPath) End If opslaan(ardisdata, "", "") - LogBestandTextMapper.writeToFile("ArdisText", "Starten opslag sifon lade voor verwerking met barcode: " & ardisdata.PartCalc, True) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten opslag sifon lade voor verwerking met barcode: " & ardisdata.PartCalc, True) End Sub 'opslaan van de spoelbakLaden die verwerkt gaan worden voor ze verwerkt zijn Public Sub opslaanSpoelbakLadeVoorVerwerking(ardisdata As ArdisData, bestandsNaamSpoelbak As String) - LogBestandTextMapper.writeToFile("ArdisText", "Starten opslag spoelbak lade voor verwerking met barcode: " & ardisdata.PartCalc) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten opslag spoelbak lade voor verwerking met barcode: " & ardisdata.PartCalc) bestandsNaam = bestandsNaamSpoelbak.Replace(".txt", "") & "_Verwerkte_Spoelbak_" If writer Is Nothing Then startNieuweArdisDataOpslag(Configs.spoelbakLadeGeefVerplaatsFolderPath) End If opslaan(ardisdata, "", "") - LogBestandTextMapper.writeToFile("ArdisText", "Starten opslag spoelbak lade voor verwerking met barcode: " & ardisdata.PartCalc, True) + LogBestandTextMapper.WriteToFile("ArdisText", "Starten opslag spoelbak lade voor verwerking met barcode: " & ardisdata.PartCalc, True) End Sub 'opslaan van de laden die niet voldeden aan de dossiercoden en dus niet verwerkt zijn geweest Public Sub opslaanNietVerwerkteSpecialLaden(lijnen As List(Of String), bestandsNaamSpecial As String) - LogBestandTextMapper.writeToFile("ArdisText", "Opslaan niet verwerkte special laden") + LogBestandTextMapper.WriteToFile("ArdisText", "Opslaan niet verwerkte special laden") Dim nieuweBestandsNaam = "" Dim indexVanUitgelezenInfo As Integer = bestandsNaamSpecial.IndexOf("_Uitgelezen_") @@ -98,7 +98,7 @@ writer.WriteLine(lijn) Next - LogBestandTextMapper.writeToFile("ArdisText", "Opslaan niet verwerkte special laden", True) + LogBestandTextMapper.WriteToFile("ArdisText", "Opslaan niet verwerkte special laden", True) Catch ex As Exception Throw New Exception("Fout bij wegschrijven niet verwerkte special laden" & ex.Message) End Try @@ -119,7 +119,7 @@ End Sub Private Sub opslaan(ByVal ardisdata As ArdisData, trayNummer As String, slotNummer As String) - LogBestandTextMapper.writeToFile("ArdisText", " - Starten opslag van ardisData " & If(trayNummer.Equals(""), "", "met traynummer, slotnummer: " & trayNummer & "," & slotNummer)) + LogBestandTextMapper.WriteToFile("ArdisText", " - Starten opslag van ardisData " & If(trayNummer.Equals(""), "", "met traynummer, slotnummer: " & trayNummer & "," & slotNummer)) ardisdata.updateKommasNaarPunten() Try @@ -148,23 +148,23 @@ writer.WriteLine() - LogBestandTextMapper.writeToFile("ArdisText", " - Starten opslag van ardisData " & If(trayNummer.Equals(""), "", "met traynummer, slotnummer: " & trayNummer & "," & slotNummer), True) + LogBestandTextMapper.WriteToFile("ArdisText", " - Starten opslag van ardisData " & If(trayNummer.Equals(""), "", "met traynummer, slotnummer: " & trayNummer & "," & slotNummer), True) Catch ex As Exception Throw New Exception("Ardis data kon niet worden opgeslagen" & ex.Message) End Try End Sub Public Function geefSpecialLadenMetDossierCode(dossierCode As String) As SpecialLadenOnderdelen - LogBestandTextMapper.writeToFile("ArdisText", "Opvragen sifonLade met dossierCode: " & dossierCode) + LogBestandTextMapper.WriteToFile("ArdisText", "Opvragen sifonLade met dossierCode: " & dossierCode) Dim specialLaden As SpecialLadenOnderdelen = opvragenSpecialLadenOnderdelen(dossierCode, True) - LogBestandTextMapper.writeToFile("ArdisText", "Opvragen sifonLade met dossierCode: " & dossierCode, True) + LogBestandTextMapper.WriteToFile("ArdisText", "Opvragen sifonLade met dossierCode: " & dossierCode, True) Return specialLaden End Function Function geefSpecialLadenMetBatchnummer(batchnummer As String) As SpecialLadenOnderdelen - LogBestandTextMapper.writeToFile("ArdisText", "Opvragen sifonLade met batchnummer: " & batchnummer) + LogBestandTextMapper.WriteToFile("ArdisText", "Opvragen sifonLade met batchnummer: " & batchnummer) Dim specialLaden As SpecialLadenOnderdelen = opvragenSpecialLadenOnderdelen(batchnummer, False) - LogBestandTextMapper.writeToFile("ArdisText", "Opvragen sifonLade met batchnummer: " & batchnummer, True) + LogBestandTextMapper.WriteToFile("ArdisText", "Opvragen sifonLade met batchnummer: " & batchnummer, True) Return specialLaden End Function @@ -235,7 +235,81 @@ Return nieuweSpecialLaden End Function - Private Function maakArdisData(velden As String()) As ArdisData + ''' + ''' Opvragen van Ardis data's aan de hand van de lade code. + ''' + ''' De lade code + ''' Lijst van Ardis data's + Public Function GeefArdisDatasMetLadeCode(ladeCode As String) As List(Of ArdisData) + LogBestandTextMapper.WriteToFile("ArdisText", $"Opvragen sifonladen met lade code: {ladeCode}") + Dim ardisDatas As List(Of ArdisData) = OphalenArdisDatasMetCode(ladeCode, True) + LogBestandTextMapper.WriteToFile("ArdisText", $"Opvragen sifonladen met lade code: {ladeCode}", True) + Return ardisDatas + End Function + + ''' + ''' Opvragen van Ardis data's aan de hand van het batch nummer. + ''' + ''' Het batch nummer + ''' Lijst van Ardis datbatchNummera's + Public Function GeefArdisDatasMetBatchNummer(batchNummer As String) As List(Of ArdisData) + LogBestandTextMapper.WriteToFile("ArdisText", $"Opvragen sifonladen met batch nummer: {batchNummer}") + Dim ardisDatas As List(Of ArdisData) = OphalenArdisDatasMetCode(batchNummer, False) + LogBestandTextMapper.WriteToFile("ArdisText", $"Opvragen sifonladen met batch nummer: {batchNummer}", True) + Return ardisDatas + End Function + + Private Function OphalenArdisDatasMetCode(code As String, isLadeCode As Boolean) As List(Of ArdisData) + 'Lijst initialiseren. + Dim ardisDatas As New List(Of ArdisData) + 'Alle bestanden overlopen in de directory met bestanden. + For Each tekstBestandPath As String In Directory.GetFiles(Configs.geefPathArdisSpecialFolder) + 'Alle tekst uit een bestand lezen en spaties vooraan en achteraan verwijderen. + Dim allText As String = My.Computer.FileSystem.ReadAllText(tekstBestandPath).Trim() + 'De verschillende lijnen omzetten in een array. + Dim lijnen As String() = allText.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) + 'De lijnen overlopen. + For Each lijn As String In lijnen + 'Controleren of een lijn de juiste code bevat. Dit gebeurt hier, omdat de conversie naar Ardis data teveel tijd zou kosten. + + 'Bijhouden of lijn de juiste code bevat. + Dim bevatCode As Boolean = False + + 'Alle velden scheiden. + Dim velden = lijn.Split(New String() {vbTab}, StringSplitOptions.None) + + 'Controleren of de lijn wel lang genoeg is. + If velden.Count > 19 Then + 'Genoeg lijnen, controleren welk type code is gebruikt, dossier (lade) code of batchnummer. + If isLadeCode Then + 'Dossier (lade) code controleren. + bevatCode = velden(5).Equals(code) 'PartRemark + Else + 'Batch nummer controleren. De kar bevat dit nummer. + bevatCode = velden(18).Contains(code) 'PartGroup + End If + End If + + 'Als de lijn de correcte code bevat wordt het geconverteerd naar Ardis data en toegevoegd aan de lijst. + If bevatCode Then + 'Aanmaken ardis data. + Dim ardisData As ArdisData = maakArdisData(velden) + 'Toevoegen bestandsnaam. + ardisData.Bestandsnaam = tekstBestandPath.Substring(tekstBestandPath.LastIndexOf("\", StringComparison.Ordinal) + 1) + 'Toevoegen aan lijst. + ardisDatas.Add(ardisData) + End If + Next + Next + Return ardisDatas + End Function + + ''' + ''' Ardis data maken aan de hand van de verschillende velden van 1 lijn. + ''' + ''' Velden van 1 lijn. + ''' Nieuwe Ardis data + Private Function MaakArdisData(velden As String()) As ArdisData Dim ardisData As New ArdisData ardisData.PartRef = velden(0) 'rol ardisData.PartQty = velden(1) 'aantal Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/SpecialLadeEngine.vb =================================================================== diff -u -r1635 -r1636 --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/SpecialLadeEngine.vb (.../SpecialLadeEngine.vb) (revision 1635) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/SpecialLadeEngine.vb (.../SpecialLadeEngine.vb) (revision 1636) @@ -17,16 +17,16 @@ ''' public Function GeefLadenMetLadeCode(ladeCode As String) As List(Of TLadeType) Implements ISpecialLadeEngine(Of TLadeType).GeefLadenMetLadeCode - 'todo ardisdata opvragen met ladecode - Dim ardisDatas As List(Of ArdisData) + 'Ardis datas opvragen met ladecode. + Dim ardisDatas As List(Of ArdisData) = ArdisTextMapper.GeefArdisDatasMetLadeCode(ladeCode) 'De data converteren en retourneren. Return ArdisDatasConverteren(ardisDatas) End Function ''' - public Function GeefLadenMetBatch(batch As String) As List(Of TLadeType) Implements ISpecialLadeEngine(Of TLadeType).GeefLadenMetBatch - 'todo ardisdata opvragen met batch - Dim ardisDatas As List(Of ArdisData) + public Function GeefLadenMetBatch(batchNummer As String) As List(Of TLadeType) Implements ISpecialLadeEngine(Of TLadeType).GeefLadenMetBatch + 'Ardis datas opvragen met batch nummer. + Dim ardisDatas As List(Of ArdisData) = ArdisTextMapper.GeefArdisDatasMetBatchNummer(batchNummer) 'De data converteren en retourneren. Return ArdisDatasConverteren(ardisDatas) End Function Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/ISpecialLadeEngine.vb =================================================================== diff -u -r1635 -r1636 --- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/ISpecialLadeEngine.vb (.../ISpecialLadeEngine.vb) (revision 1635) +++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/engines/ISpecialLadeEngine.vb (.../ISpecialLadeEngine.vb) (revision 1636) @@ -10,7 +10,7 @@ ''' ''' Lijst van laden retourneren, opgehaald aan de hand van een batch nummer. ''' - ''' De batch nummer + ''' Het batch nummer ''' De laden. Een lege lijst als er geen resultaten waren. - Function GeefLadenMetBatch(batch As String) As List(Of TLadeType) + Function GeefLadenMetBatch(batchNummer As String) As List(Of TLadeType) End Interface