Index: TAOR rework/TAOR rework/databases/Automilling/ZijkamerFreesProductieData.vb =================================================================== diff -u -r2079 -r2087 --- TAOR rework/TAOR rework/databases/Automilling/ZijkamerFreesProductieData.vb (.../ZijkamerFreesProductieData.vb) (revision 2079) +++ TAOR rework/TAOR rework/databases/Automilling/ZijkamerFreesProductieData.vb (.../ZijkamerFreesProductieData.vb) (revision 2087) @@ -172,7 +172,7 @@ Dim temp As String = ProgramRightInner ProgramRightInner = ProgramRightOuter ProgramRightOuter = temp - Else + Else ' Twee rechterkanten: In-Out-In-Out --> out-in-in-out Dim temp As String = ProgramLeftInner ProgramLeftInner = ProgramLeftOuter @@ -535,7 +535,7 @@ ProgramRightInner = "WORDT VERVANGEN" ProgramRightOuter = "WORDT VERVANGEN" PrintBarcodeLeft = barcodeA - PrintBarcodeRight = if (barcodeB.equals(""), barcodeA, barcodeB) 'Elimineren van lege rechterbarcode, bugfix 18/06/2021 + PrintBarcodeRight = If(barcodeB.Equals(""), barcodeA, barcodeB) 'Elimineren van lege rechterbarcode, bugfix 18/06/2021 PrintTextLeft1 = vItem.Label PrintTextLeft2 = $"ZIJ/" + $"{vItem.KleurBuiten}-{vItem.Kantenband}-{vItem.KleurBinnen}/" + @@ -576,6 +576,28 @@ #End Region +#Region "Rush" + + ''' + ''' PrintTextLeft1 en PrintTextRight1 updaten + ''' + Public Sub UpdateRush() + Try + Const rushString = "*RUSH*" + Dim aantalSpaties As Integer = Len(PrintTextLeft1) - PrintTextLeft1.LastIndexOf("/", StringComparison.Ordinal) - Len(rushString) + PrintTextLeft1 = PrintTextLeft1.Substring(0, PrintTextLeft1.LastIndexOf("/", StringComparison.Ordinal)) & rushString + PrintTextLeft1 &= If(aantalSpaties > 0, New String(" ", aantalSpaties), "") 'String even lang maken als daarvoor (automilling database quirks) + + aantalSpaties = Len(PrintTextRight1) - PrintTextRight1.LastIndexOf("/", StringComparison.Ordinal) - Len(rushString) + PrintTextRight1 = PrintTextRight1.Substring(0, PrintTextRight1.LastIndexOf("/", StringComparison.Ordinal)) & rushString + PrintTextRight1 &= If(aantalSpaties > 0, New String(" ", aantalSpaties), "") 'String even lang maken als daarvoor (automilling database quirks) + Catch ex As Exception + Throw New Exception($"Kon PrintTextLeft1 of PrintTextRight1 niet updaten omdat ze ongeldig zijn.{vbNewLine}{ex.Message}") + End Try + End Sub + +#End Region + End Class Index: TAOR rework/TAOR rework/databases/Automilling/AutomillingDto.vb =================================================================== diff -u --- TAOR rework/TAOR rework/databases/Automilling/AutomillingDto.vb (revision 0) +++ TAOR rework/TAOR rework/databases/Automilling/AutomillingDto.vb (revision 2087) @@ -0,0 +1,32 @@ +Public Class AutomillingDto + + Private ReadOnly _zijkamerFreesProductieData As ZijkamerFreesProductieData + + Public ReadOnly Property PrintBarcodeLeft() As String + Get + Return _zijkamerFreesProductieData.PrintBarcodeLeft + End Get + End Property + + Public ReadOnly Property PrintBarcodeRight() As String + Get + Return _zijkamerFreesProductieData.PrintBarcodeRight + End Get + End Property + + Public ReadOnly Property PrintTextLeft1() As String + Get + Return _zijkamerFreesProductieData.PrintTextLeft1 + End Get + End Property + + Public ReadOnly Property PrintTextRight1() As String + Get + Return _zijkamerFreesProductieData.PrintTextRight1 + End Get + End Property + + Sub New(zijkamerFreesProductieData As ZijkamerFreesProductieData) + _zijkamerFreesProductieData = zijkamerFreesProductieData + End Sub +End Class Index: TAOR rework/TAOR rework/databases/Ardis/ArdisMapper.vb =================================================================== diff -u -r2064 -r2087 --- TAOR rework/TAOR rework/databases/Ardis/ArdisMapper.vb (.../ArdisMapper.vb) (revision 2064) +++ TAOR rework/TAOR rework/databases/Ardis/ArdisMapper.vb (.../ArdisMapper.vb) (revision 2087) @@ -3,6 +3,9 @@ Public Module ArdisMapper Private ReadOnly SqlConnection As New SqlConnection With {.ConnectionString = My.Settings.ArdisConnectieString} + Private Const LijstKolommen = "PartId, OrderId, PartRef, PartQty, PartMat, PartL, PartW, PartCalc, PartRemark, PartRemark2, PartRemark3, PartGroup, PartLevel, PartExt01, PartExt02, PartExt03, PartExt04, PartExt05, PartExt06, PartExt07, PartExt08, PartExt09, PartD, PartProd, GroupCode, Status, Inserted, LastChanged, PartQtyCut, PartExt10, PartExt11" + + ''' ''' Hulpfunctie voor te connecteren met Ardis. ''' @@ -31,6 +34,20 @@ End Function ''' + ''' Uitvoeren van een manipulatie query + ''' + ''' De query + ''' Number of rows affected + Private Function ExecuteNonQuery(query As String) As Integer + Try + ConnectToArdis() + Return New SqlCommand(query, SqlConnection).ExecuteNonQuery() + Catch ex As Exception + Throw New Exception($"Kon datareader niet opvragen uit Ardis datatabank.{vbNewLine}{ex.Message}") + End Try + End Function + + ''' ''' Commando uitvoeren en eerste items per record retourneren als lijst van strings. ''' ''' De query @@ -70,37 +87,37 @@ 'Datareader lezen, eerste record ophalen en retourneren als Ardis data. dr.Read() Dim ardisData = New ArdisData With { - .PartId = CStr(dr.Item("PartId")), - .OrderId = CStr(dr.Item("OrderId")), - .PartRef = CStr(dr.Item("PartRef")), - .PartQty = CStr(dr.Item("PartQty")), - .PartMat = CStr(dr.Item("PartMat")), - .PartL = CStr(dr.Item("PartL")), - .PartW = CStr(dr.Item("PartW")), - .PartCalc = CStr(dr.Item("PartCalc")), - .PartRemark = CStr(dr.Item("PartRemark")), - .PartRemark2 = CStr(dr.Item("PartRemark2")), - .PartRemark3 = CStr(dr.Item("PartRemark3")), - .PartGroup = CStr(dr.Item("PartGroup")), - .PartLevel = CStr(dr.Item("PartLevel")), - .PartExt01 = CStr(dr.Item("PartExt01")), - .PartExt02 = CStr(dr.Item("PartExt02")), - .PartExt03 = CStr(dr.Item("PartExt03")), - .PartExt04 = CStr(dr.Item("PartExt04")), - .PartExt05 = If(IsDBNull(dr.Item("PartExt05")), Nothing, CStr(dr.Item("PartExt05"))), - .PartExt06 = CStr(dr.Item("PartExt06")), - .PartExt07 = CStr(dr.Item("PartExt07")), - .PartExt08 = CStr(dr.Item("PartExt08")), - .PartExt09 = CStr(dr.Item("PartExt09")), - .PartD = CStr(dr.Item("PartD")), - .PartProd = CStr(dr.Item("PartProd")), - .GroupCode = If(IsDBNull(dr.Item("GroupCode")), Nothing, CStr(dr.Item("GroupCode"))), - .Status = CStr(dr.Item("Status")), - .Inserted = CStr(dr.Item("Inserted")), - .LastChanged = CStr(dr.Item("LastChanged")), - .PartQtyCut = If(IsDBNull(dr.Item("PartQtyCut")), Nothing, CStr(dr.Item("PartQtyCut"))), - .PartExt10 = If(IsDBNull(dr.Item("PartExt10")), Nothing, CStr(dr.Item("PartExt10"))), - .PartExt11 = If(IsDBNull(dr.Item("PartExt11")), Nothing, CStr(dr.Item("PartExt11"))) + .PartId = CStr(dr.Item("PartId")), + .OrderId = If(IsDBNull(dr.Item("OrderId")), Nothing, CStr(dr.Item("OrderId"))), + .PartRef = If(IsDBNull(dr.Item("PartRef")), Nothing, CStr(dr.Item("PartRef"))), + .PartQty = CStr(dr.Item("PartQty")), + .PartMat = CStr(dr.Item("PartMat")), + .PartL = CStr(dr.Item("PartL")), + .PartW = CStr(dr.Item("PartW")), + .PartCalc = If(IsDBNull(dr.Item("PartCalc")), Nothing, CStr(dr.Item("PartCalc"))), + .PartRemark = If(IsDBNull(dr.Item("PartRemark")), Nothing, CStr(dr.Item("PartRemark"))), + .PartRemark2 = If(IsDBNull(dr.Item("PartRemark2")), Nothing, CStr(dr.Item("PartRemark2"))), + .PartRemark3 = If(IsDBNull(dr.Item("PartRemark3")), Nothing, CStr(dr.Item("PartRemark3"))), + .PartGroup = If(IsDBNull(dr.Item("PartGroup")), Nothing, CStr(dr.Item("PartGroup"))), + .PartLevel = If(IsDBNull(dr.Item("PartLevel")), Nothing, CStr(dr.Item("PartLevel"))), + .PartExt01 = If(IsDBNull(dr.Item("PartExt01")), Nothing, CStr(dr.Item("PartExt01"))), + .PartExt02 = If(IsDBNull(dr.Item("PartExt02")), Nothing, CStr(dr.Item("PartExt02"))), + .PartExt03 = If(IsDBNull(dr.Item("PartExt03")), Nothing, CStr(dr.Item("PartExt03"))), + .PartExt04 = If(IsDBNull(dr.Item("PartExt04")), Nothing, CStr(dr.Item("PartExt04"))), + .PartExt05 = If(IsDBNull(dr.Item("PartExt05")), Nothing, CStr(dr.Item("PartExt05"))), + .PartExt06 = If(IsDBNull(dr.Item("PartExt06")), Nothing, CStr(dr.Item("PartExt06"))), + .PartExt07 = If(IsDBNull(dr.Item("PartExt07")), Nothing, CStr(dr.Item("PartExt07"))), + .PartExt08 = If(IsDBNull(dr.Item("PartExt08")), Nothing, CStr(dr.Item("PartExt08"))), + .PartExt09 = If(IsDBNull(dr.Item("PartExt09")), Nothing, CStr(dr.Item("PartExt09"))), + .PartD = If(IsDBNull(dr.Item("PartD")), Nothing, CStr(dr.Item("PartD"))), + .PartProd = If(IsDBNull(dr.Item("PartProd")), Nothing, CStr(dr.Item("PartProd"))), + .GroupCode = If(IsDBNull(dr.Item("GroupCode")), Nothing, CStr(dr.Item("GroupCode"))), + .Status = If(IsDBNull(dr.Item("Status")), Nothing, CStr(dr.Item("Status"))), + .Inserted = If(IsDBNull(dr.Item("Inserted")), Nothing, CStr(dr.Item("Inserted"))), + .LastChanged = If(IsDBNull(dr.Item("LastChanged")), Nothing, CStr(dr.Item("LastChanged"))), + .PartQtyCut = If(IsDBNull(dr.Item("PartQtyCut")), Nothing, CStr(dr.Item("PartQtyCut"))), + .PartExt10 = If(IsDBNull(dr.Item("PartExt10")), Nothing, CStr(dr.Item("PartExt10"))), + .PartExt11 = If(IsDBNull(dr.Item("PartExt11")), Nothing, CStr(dr.Item("PartExt11"))) } 'Connectie met data reader sluiten. @@ -109,28 +126,181 @@ Return ardisData End Function + ''' + ''' Hulpfunctie voor een query uit te voeren en resultaten in een lijst te bundelen + ''' + ''' + ''' Lijst van de gevulde ArdisData's + Private Function ExecuteIntoList(query As String) As List(Of ArdisData) + 'Data reader opvragen. + Dim dr = ExecuteIntoDataReader(query) + + Dim resultaat As New List(Of ArdisData) + + 'Datareader lezen, eerste record ophalen en toevoegen aan de lijst. + While dr.Read() + Dim ardisData = New ArdisData With { + .PartId = CStr(dr.Item("PartId")), + .OrderId = If(IsDBNull(dr.Item("OrderId")), Nothing, CStr(dr.Item("OrderId"))), + .PartRef = If(IsDBNull(dr.Item("PartRef")), Nothing, CStr(dr.Item("PartRef"))), + .PartQty = CStr(dr.Item("PartQty")), + .PartMat = CStr(dr.Item("PartMat")), + .PartL = CStr(dr.Item("PartL")), + .PartW = CStr(dr.Item("PartW")), + .PartCalc = If(IsDBNull(dr.Item("PartCalc")), Nothing, CStr(dr.Item("PartCalc"))), + .PartRemark = If(IsDBNull(dr.Item("PartRemark")), Nothing, CStr(dr.Item("PartRemark"))), + .PartRemark2 = If(IsDBNull(dr.Item("PartRemark2")), Nothing, CStr(dr.Item("PartRemark2"))), + .PartRemark3 = If(IsDBNull(dr.Item("PartRemark3")), Nothing, CStr(dr.Item("PartRemark3"))), + .PartGroup = If(IsDBNull(dr.Item("PartGroup")), Nothing, CStr(dr.Item("PartGroup"))), + .PartLevel = If(IsDBNull(dr.Item("PartLevel")), Nothing, CStr(dr.Item("PartLevel"))), + .PartExt01 = If(IsDBNull(dr.Item("PartExt01")), Nothing, CStr(dr.Item("PartExt01"))), + .PartExt02 = If(IsDBNull(dr.Item("PartExt02")), Nothing, CStr(dr.Item("PartExt02"))), + .PartExt03 = If(IsDBNull(dr.Item("PartExt03")), Nothing, CStr(dr.Item("PartExt03"))), + .PartExt04 = If(IsDBNull(dr.Item("PartExt04")), Nothing, CStr(dr.Item("PartExt04"))), + .PartExt05 = If(IsDBNull(dr.Item("PartExt05")), Nothing, CStr(dr.Item("PartExt05"))), + .PartExt06 = If(IsDBNull(dr.Item("PartExt06")), Nothing, CStr(dr.Item("PartExt06"))), + .PartExt07 = If(IsDBNull(dr.Item("PartExt07")), Nothing, CStr(dr.Item("PartExt07"))), + .PartExt08 = If(IsDBNull(dr.Item("PartExt08")), Nothing, CStr(dr.Item("PartExt08"))), + .PartExt09 = If(IsDBNull(dr.Item("PartExt09")), Nothing, CStr(dr.Item("PartExt09"))), + .PartD = If(IsDBNull(dr.Item("PartD")), Nothing, CStr(dr.Item("PartD"))), + .PartProd = If(IsDBNull(dr.Item("PartProd")), Nothing, CStr(dr.Item("PartProd"))), + .GroupCode = If(IsDBNull(dr.Item("GroupCode")), Nothing, CStr(dr.Item("GroupCode"))), + .Status = If(IsDBNull(dr.Item("Status")), Nothing, CStr(dr.Item("Status"))), + .Inserted = If(IsDBNull(dr.Item("Inserted")), Nothing, CStr(dr.Item("Inserted"))), + .LastChanged = If(IsDBNull(dr.Item("LastChanged")), Nothing, CStr(dr.Item("LastChanged"))), + .PartQtyCut = If(IsDBNull(dr.Item("PartQtyCut")), Nothing, CStr(dr.Item("PartQtyCut"))), + .PartExt10 = If(IsDBNull(dr.Item("PartExt10")), Nothing, CStr(dr.Item("PartExt10"))), + .PartExt11 = If(IsDBNull(dr.Item("PartExt11")), Nothing, CStr(dr.Item("PartExt11"))) + } + + resultaat.Add(ardisData) + End While + + 'Connectie met data reader sluiten. + dr.Close() + + Return resultaat + End Function + + ''' ''' Ophalen van ArdisData aan de hand van een barcodeId. ''' ''' Het barcodeId ''' De ArdisData Public Function OphalenData(barcodeId As String) As ArdisData Try - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van Ardisdata met barcode '{barcodeId}'") + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van Ardisdata met barcode '{barcodeId}'") 'Opbouwen query. - Const lijstKolommen = "PartId, OrderId, PartRef, PartQty, PartMat, PartL, PartW, PartCalc, PartRemark, PartRemark2, PartRemark3, PartGroup, PartLevel, PartExt01, PartExt02, PartExt03, PartExt04, PartExt05, PartExt06, PartExt07, PartExt08, PartExt09, PartD, PartProd, GroupCode, Status, Inserted, LastChanged, PartQtyCut, PartExt10, PartExt11" - Dim query As String = $"Select top 1 {lijstKolommen} From [VH_Ardis_TST].[dbo].[Parts] where PartCalc='{barcodeId}' order by Inserted desc" + Dim query As String = $"Select top 1 {LijstKolommen} From [VH_Ardis_TST].[dbo].[Parts] where PartCalc='{barcodeId}' order by Inserted desc" 'Query uitvoeren en resultaat retourneren. Dim resultaat = ExecuteIntoResultset(query) - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van Ardisdata met barcode '{barcodeId}'", True) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van Ardisdata met barcode '{barcodeId}'", True) Return resultaat Catch ex As Exception Throw New Exception($"Kon ArdisData niet ophalen uit Ardis met barcode '{barcodeId}'{vbNewLine}{ex.Message}") End Try End Function ''' + ''' Ophalen van ArdisData aan de hand van een batch nummer. + ''' + ''' + ''' Lijst van ArdisData's + Public Function OphalenDataPerBatch(batchNummer As String) As List(Of ArdisData) + Try + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van Ardisdata's met batch '{batchNummer}'") + + 'Opbouwen query. + Dim query As String = $"Select {LijstKolommen} From [VH_Ardis_TST].[dbo].[Parts] where PartGroup like '{batchNummer}%' order by Inserted desc" + 'Query uitvoeren en resultaat retourneren. + Dim resultaat = ExecuteIntoList(query) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van Ardisdata's met batch '{batchNummer}'", True) + Return resultaat + Catch ex As Exception + Throw New Exception($"Kon ArdisData's niet ophalen uit Ardis met batch nummer '{batchNummer}'{vbNewLine}{ex.Message}") + End Try + End Function + + ''' + ''' Ophalen van ArdisData aan de hand van een lade code. + ''' + ''' + ''' Lijst van ArdisData's + Public Function OphalenDataPerLadeCode(ladeCode As String) As List(Of ArdisData) + Try + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van Ardisdata's met lade code '{ladeCode}'") + + 'Opbouwen query. + Dim query As String = $"Select {LijstKolommen} From [VH_Ardis_TST].[dbo].[Parts] where PartRemark='{ladeCode}' order by Inserted desc" + 'Query uitvoeren en resultaat retourneren. + Dim resultaat = ExecuteIntoList(query) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van Ardisdata's met lade code '{ladeCode}'", True) + Return resultaat + Catch ex As Exception + Throw New Exception($"Kon ArdisData's niet ophalen uit Ardis met lade code '{ladeCode}'{vbNewLine}{ex.Message}") + End Try + End Function + + ''' + ''' Updaten van Ardis met Ardisdata + ''' + ''' + Public Sub UpdateArdis(ardisData As ArdisData) + Try + LogBestandTextMapper.WriteToFile("Ardis", $"Updaten van Ardis met ArdisData '{ardisData.PartCalc}'") + 'Opbouwen query. + Dim query As String = "update [VH_Ardis_TST].[dbo].[Parts] set + OrderId=@OrderId,PartRef=@PartRef, PartQty=@PartQty, PartMat=@PartMat, + PartL = @PartL, PartW=@PartW, PartRemark=@PartRemark, PartRemark2=@PartRemark2, + PartRemark3=@PartRemark3, PartGroup=@PartGroup, PartLevel=@PartLevel, PartExt01=@PartExt01, PartExt02=@PartExt02, + PartExt03=@PartExt03, PartExt04=@PartExt04, PartExt05=@PartExt05, PartExt06=@PartExt06, PartExt07=@PartExt07, + PartExt08=@PartExt08, PartExt09=@PartExt09, PartD=@PartD, PartProd=@PartProd, GroupCode=@GroupCode, + Status=@Status, Inserted=@Inserted, LastChanged=@LastChanged, PartQtyCut=@PartQtyCut, PartExt10=@PartExt10, PartExt11=@PartExt11 + where PartCalc=@PartCalc" + ConnectToArdis() + Dim command = New SqlCommand(query, SqlConnection) + command.Parameters.Add("@OrderId", SqlDbType.Int).Value = If(ardisData.OrderId Is Nothing OrElse ardisData.OrderId.Equals(""), DBNull.Value, CInt(ardisData.OrderId)) + command.Parameters.Add("@PartRef", SqlDbType.NVarChar).Value = If(ardisData.PartRef Is Nothing OrElse ardisData.PartRef.Equals(""), DBNull.Value, ardisData.PartRef) + command.Parameters.Add("@PartQty", SqlDbType.Int).Value = If(ardisData.PartQty Is Nothing OrElse ardisData.PartQty.Equals(""), DBNull.Value, CInt(ardisData.PartQty)) + command.Parameters.Add("@PartMat", SqlDbType.NVarChar).Value = If(ardisData.PartMat Is Nothing OrElse ardisData.PartMat.Equals(""), DBNull.Value, ardisData.PartMat) + command.Parameters.Add("@PartL", SqlDbType.Float).Value = If(ardisData.PartL Is Nothing OrElse ardisData.PartL.Equals(""), DBNull.Value, CDbl(ardisData.PartL)) + command.Parameters.Add("@PartW", SqlDbType.Float).Value = If(ardisData.PartW Is Nothing OrElse ardisData.PartW.Equals(""), DBNull.Value, CDbl(ardisData.PartW)) + command.Parameters.Add("@PartRemark", SqlDbType.NVarChar).Value = If(ardisData.PartRemark, DBNull.Value) + command.Parameters.Add("@PartRemark2", SqlDbType.NVarChar).Value = If(ardisData.PartRemark2, DBNull.Value) + command.Parameters.Add("@PartRemark3", SqlDbType.NVarChar).Value = If(ardisData.PartRemark3, DBNull.Value) + command.Parameters.Add("@PartGroup", SqlDbType.NVarChar).Value = If(ardisData.PartGroup, DBNull.Value) + command.Parameters.Add("@PartLevel", SqlDbType.NVarChar).Value = If(ardisData.PartLevel, DBNull.Value) + command.Parameters.Add("@PartExt01", SqlDbType.NVarChar).Value = If(ardisData.PartExt01, DBNull.Value) + command.Parameters.Add("@PartExt02", SqlDbType.NVarChar).Value = If(ardisData.PartExt02, DBNull.Value) + command.Parameters.Add("@PartExt03", SqlDbType.NVarChar).Value = If(ardisData.PartExt03, DBNull.Value) + command.Parameters.Add("@PartExt04", SqlDbType.NVarChar).Value = If(ardisData.PartExt04, DBNull.Value) + command.Parameters.Add("@PartExt05", SqlDbType.NVarChar).Value = If(ardisData.PartExt05, DBNull.Value) + command.Parameters.Add("@PartExt06", SqlDbType.NVarChar).Value = If(ardisData.PartExt06, DBNull.Value) + command.Parameters.Add("@PartExt07", SqlDbType.NVarChar).Value = If(ardisData.PartExt07, DBNull.Value) + command.Parameters.Add("@PartExt08", SqlDbType.NVarChar).Value = If(ardisData.PartExt08, DBNull.Value) + command.Parameters.Add("@PartExt09", SqlDbType.NVarChar).Value = If(ardisData.PartExt09, DBNull.Value) + command.Parameters.Add("@PartD", SqlDbType.Int).Value = If(ardisData.PartD Is Nothing OrElse ardisData.PartD.Equals(""), DBNull.Value, CInt(ardisData.PartD)) + command.Parameters.Add("@PartProd", SqlDbType.Int).Value = If(ardisData.PartProd Is Nothing OrElse ardisData.PartProd.Equals(""), DBNull.Value, CInt(ardisData.PartProd)) + command.Parameters.Add("@GroupCode", SqlDbType.NVarChar).Value = If(ardisData.GroupCode, DBNull.Value) + command.Parameters.Add("@Status", SqlDbType.Int).Value = If(ardisData.Status Is Nothing OrElse ardisData.Status.Equals(""), DBNull.Value, CInt(ardisData.Status)) + command.Parameters.Add("@Inserted", SqlDbType.DateTime).Value = If(ardisData.Inserted Is Nothing OrElse ardisData.Inserted.Equals(""), DBNull.Value, ardisData.Inserted) + command.Parameters.Add("@LastChanged", SqlDbType.DateTime).Value = If(ardisData.LastChanged Is Nothing OrElse ardisData.LastChanged.Equals(""), DBNull.Value, ardisData.LastChanged) + command.Parameters.Add("@PartQtyCut", SqlDbType.Int).Value = If(ardisData.PartQtyCut Is Nothing OrElse ardisData.PartQtyCut.Equals(""), DBNull.Value, CInt(ardisData.PartQtyCut)) + command.Parameters.Add("@PartExt10", SqlDbType.NVarChar).Value = If(ardisData.PartExt10, DBNull.Value) + command.Parameters.Add("@PartExt11", SqlDbType.NVarChar).Value = If(ardisData.PartExt11, DBNull.Value) + + If ardisData.PartCalc Is Nothing Then Throw New Exception("PartCalc kan niet leeg zijn bij updaten van Ardis") + command.Parameters.Add("@PartCalc", SqlDbType.NVarChar).Value = ardisData.PartCalc + command.ExecuteNonQuery() + LogBestandTextMapper.WriteToFile("Ardis", $"Updaten van Ardis met ArdisData '{ardisData.PartCalc}'", True) + Catch ex As Exception + Throw New Exception($"Kon ArdisData niet updaten voor '{ardisData.PartCalc}'{vbNewLine}{ex.Message}") + End Try + End Sub + + ''' ''' Opvragen van barcodes aan de hand van parameters. ''' ''' De PartGroup @@ -140,14 +310,14 @@ ''' Lijst van barcodes 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}") + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van barcodes met info Partgroup, PartExt02, LinksOfRechts: {partgroup}{partExt02}{linksOfRechts}") 'Query opbouwen. Dim query As String = $"select distinct PartCalc from [VH_Ardis_TST].[dbo].[Parts] where partgroup='{partgroup}' and partext02='{partExt02}' and partl='{partL}' and partext01 like '%ZIJ-{linksOfRechts}%'" 'Query uitvoeren en resultaat retourneren. Dim result = ExecuteIntoListOfString(query) - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van barcodes met info Partgroup, PartExt02, LinksOfRechts: {partgroup}{partExt02}{linksOfRechts}", True) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van barcodes met info Partgroup, PartExt02, LinksOfRechts: {partgroup}{partExt02}{linksOfRechts}", True) Return result Catch ex As Exception Throw New Exception($"Kon barcodes niet ophalen uit Ardis met Partgroup, PartExt02, LinksOfRechts: {partgroup}{partExt02}{linksOfRechts}{vbNewLine}{ex.Message}") @@ -163,13 +333,13 @@ ''' Lijst van barcodes Public Function GeefBarcodesGegenereerdePlankjes(partgroup As String, partExt02 As String, partL As String) As List(Of String) Try - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van barcodes gegenereerde plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'") + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van barcodes gegenereerde plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'") 'Query opbouwen. Dim query = $"select top 2 PartCalc from [VH_Ardis_TST].[dbo].[Parts] where partgroup='{partgroup}' and partext02='{partExt02}' and partl='{partL}' and partext01 like '%ZIJ-%' and (partext09 ='{Configs.sifonLadeGeefPartExt09GegenereerdeZijkantLinks()}' or partext09='{Configs.sifonLadeGeefPartExt09GegenereerdeZijkantRechts()}') order by partid desc" 'Query uitvoeren en resultaat retourneren. Dim result = ExecuteIntoListOfString(query) - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van barcodes gegenereerde plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'", True) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van barcodes gegenereerde plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'", True) Return result Catch ex As Exception Throw New Exception($"Kon barcodes voor gegenereerde plankjes niet ophalen uit Ardis met Partgroup, PartExt02, LinksOfRechts: '{partgroup}' '{partExt02}' '{partL}' {vbNewLine}{ex.Message}") @@ -185,13 +355,13 @@ ''' Lijst van barcodes Public Function GeefBarcodeOrigineleBijGegenereerdePlankjes(ByVal partgroup As String, ByVal partExt02 As String, ByVal partL As String) As List(Of String) Try - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van barcodes originele plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'") + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van barcodes originele plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'") 'Query opbouwen. Dim query = $"select top 4 PartCalc from [VH_Ardis_TST].[dbo].[Parts] where partgroup='{partgroup}' and partext02='{partExt02}' and partl='{partL}' and partext01 like '%ZIJ-%' and (partext09 ='{Configs.sifonLadeGeefPartExt09GegenereerdeZijkantLinks()}' or partext09='{Configs.sifonLadeGeefPartExt09GegenereerdeZijkantRechts()}') order by partid desc" 'Query uitvoeren en resultaat retourneren. Dim result = ExecuteIntoListOfString(query) - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van barcodes originele plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'", True) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van barcodes originele plankjes met info Partgroup, PartExt02, PartL: '{partgroup}' '{partExt02}' '{partL}'", True) Return result Catch ex As Exception Throw New Exception($"Kon barcodes voor originele plankjes niet ophalen uit Ardis met Partgroup, PartExt02, LinksOfRechts: '{partgroup}' '{partExt02}' '{partL}' {vbNewLine}{ex.Message}") @@ -205,7 +375,7 @@ ''' De data table Public Function GeefDataTable(partCalc As String) As DataTable Try - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van data table met partCalc: '{partCalc}'") + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van data table met partCalc: '{partCalc}'") 'Query opbouwen. Dim query As String = $"select SUBSTRING(PartGroup, 0, 6) as BatchID, 'ToeleveringID' as ToeleveringID, substring(substring(PartExt03, CHARINDEX('/',PartExt03)+1, len(partext03)), CHARINDEX('/',substring(PartExt03, CHARINDEX('/',PartExt03)+1, len(partext03)))+1, CHARINDEX('/', substring(substring(PartExt03, CHARINDEX('/',PartExt03)+1, len(partext03)), CHARINDEX('/',substring(PartExt03, CHARINDEX('/',PartExt03)+1, len(partext03)))+1, len(partext03)))-1) as Naam, PartRemark as DossierCode, substring(substring(PartExt02, CHARINDEX('/',PartExt02)+1, len(partext02)), CHARINDEX('/',substring(PartExt02, CHARINDEX('/',PartExt02)+1, len(partext02)))+1,len(partext02)) as Kar, PartCalc as VerwerkingID, case PartRef when 'ZijkantPlaat' then 'Zijkant' else Partref end as Onderdeel, -1 as Status, 0 as Rework FROM [VH_Ardis_TST].[dbo].[Parts] where Partcalc ='{partCalc}' and PartRemark3='NoRework'" @@ -217,7 +387,7 @@ 'Connectie van datareader sluiten. dataReader.Close() 'Log - LogBestandTextMapper.writeToFile("Ardis", $"Opvragen van data table met partCalc: '{partCalc}'", True) + LogBestandTextMapper.WriteToFile("Ardis", $"Opvragen van data table met partCalc: '{partCalc}'", True) 'Retourneren van de datatable Return datatable Catch ex As Exception Index: TAOR rework/TAOR rework/databases/Ardis/ArdisData.vb =================================================================== diff -u -r2031 -r2087 --- TAOR rework/TAOR rework/databases/Ardis/ArdisData.vb (.../ArdisData.vb) (revision 2031) +++ TAOR rework/TAOR rework/databases/Ardis/ArdisData.vb (.../ArdisData.vb) (revision 2087) @@ -62,6 +62,10 @@ PartExt04 = Mid(PartExt04, 1, 11) & "/***REWORK***" End Sub + Public Function isRework() As Boolean + Return PartExt04.Contains("/***REWORK***") + End Function + Public Function geefLinksOfRechts() As String Dim letter = PartCalc.Substring(5).Substring(0, 1).ToUpper() 'Letters van gegenereerde zijkanten mappen (sifonlade) @@ -711,4 +715,16 @@ #End Region +#Region "Rush" + + ''' + ''' PartRemark3 en PartExt04 updaten + ''' + Public Sub UpdateRush() + PartRemark3 = "Rush" + PartExt04 = Mid(PartExt04, 1, 11) & "/*RUSH*" + End Sub + +#End Region + End Class Index: TAOR rework/TAOR rework/controllers/Domeincontroller.vb =================================================================== diff -u -r2073 -r2087 --- TAOR rework/TAOR rework/controllers/Domeincontroller.vb (.../Domeincontroller.vb) (revision 2073) +++ TAOR rework/TAOR rework/controllers/Domeincontroller.vb (.../Domeincontroller.vb) (revision 2087) @@ -1,4 +1,5 @@ -Imports TA_OR_rework +Imports System.Runtime.Remoting.Messaging +Imports TA_OR_rework Imports TA_OR_rework.SpecialLadenRepository Public Class Domeincontroller @@ -34,13 +35,13 @@ Return instance End Function - #Region "Extra" +#Region "Extra" ''' ''' Ardis writer flushen ''' - public sub FlushArdisWriter() + Public Sub FlushArdisWriter() ArdisTextMapper.stopArdisTextOpslag() - End sub + End Sub #End Region @@ -99,10 +100,10 @@ For Each reworkClass As Rework In reworkRep.getReworks Dim rework(3) As String - rework(0) = reworkClass.barcode - rework(1) = reworkClass.onderdeel - rework(2) = reworkClass.redenLabel - rework(3) = reworkClass.opslaanArdis + rework(0) = reworkClass.Barcode + rework(1) = reworkClass.Onderdeel + rework(2) = reworkClass.RedenLabel + rework(3) = reworkClass.OpslaanArdis reworks.Add(rework) Next Return reworks @@ -111,7 +112,7 @@ Public Function bestaatRework(ByVal barcode As String) Dim gevonden As Boolean = False For Each rework As Rework In reworkRep.getReworks - If rework.barcode.Equals(barcode) Then + If rework.Barcode.Equals(barcode) Then gevonden = True End If Next @@ -137,7 +138,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 - Dim onderdeel As String = rework.onderdeel.ToLower.Trim + Dim onderdeel As String = rework.Onderdeel.ToLower.Trim Select Case onderdeel Case "front" hoofdAansturingRework.VerwerkFront(rework) @@ -185,7 +186,7 @@ Dim reworks As List(Of Rework) = reworkRep.getReworks() Dim zijkanten As New List(Of Rework) For Each rework As Rework In reworks - If rework.onderdeel.ToUpper.Contains("ZIJKANT") Then + If rework.Onderdeel.ToUpper.Contains("ZIJKANT") Then zijkanten.Add(rework) End If Next @@ -209,16 +210,16 @@ Dim batch As String = "" Dim dossierCode As String = "" Do While reworkZijkanten.Count >= 1 - batch = reworkZijkanten(0).batch - dossierCode = reworkZijkanten(0).dossierCode + batch = reworkZijkanten(0).Batch + dossierCode = reworkZijkanten(0).DossierCode Dim eenBatchEnDossier As New List(Of Rework) eenBatchEnDossier.Add(reworkZijkanten(0)) reworkZijkanten.RemoveAt(0) Dim teller As Integer = 0 Do While teller < reworkZijkanten.Count - If reworkZijkanten(teller).batch.Equals(batch) And reworkZijkanten(teller).dossierCode.Equals(dossierCode) Then + If reworkZijkanten(teller).Batch.Equals(batch) And reworkZijkanten(teller).DossierCode.Equals(dossierCode) Then eenBatchEnDossier.Add(reworkZijkanten(teller)) reworkZijkanten.RemoveAt(teller) Else @@ -239,10 +240,10 @@ Do While gesplitsteReworksBatchEnDossier.Count > 0 Dim isGevonden As Boolean = False - Dim type As String = gesplitsteReworksBatchEnDossier(0).barcode.Substring(5, 1) + Dim type As String = gesplitsteReworksBatchEnDossier(0).Barcode.Substring(5, 1) For Each mogelijkZelfdeType As Rework In gesplitsteReworksBatchEnDossier If Not gesplitsteReworksBatchEnDossier(0).Equals(mogelijkZelfdeType) Then - Dim anderType As String = mogelijkZelfdeType.barcode.Substring(5, 1) + Dim anderType As String = mogelijkZelfdeType.Barcode.Substring(5, 1) 'kijken of de types paren vormen, in de twee richtingen If (type.Equals("A") And anderType.Equals("B")) Or (type.Equals("B") And anderType.Equals("A")) Or (type.Equals("L") And anderType.Equals("R")) Or (type.Equals("R") And anderType.Equals("L")) Or @@ -357,11 +358,11 @@ Dim content As New List(Of String) If Not (slot.zijkanten Is Nothing OrElse slot.zijkanten.Count <= 0) Then content.Add(slot.nummer) - content.Add(slot.zijkanten(0).barcode) - content.Add(slot.zijkanten(0).batch) - content.Add(slot.zijkanten(0).color) - content.Add(slot.zijkanten(0).length) - content.Add(slot.zijkanten(0).height) + content.Add(slot.zijkanten(0).Barcode) + content.Add(slot.zijkanten(0).Batch) + content.Add(slot.zijkanten(0).Color) + content.Add(slot.zijkanten(0).Length) + content.Add(slot.zijkanten(0).Height) Else 'de cijfers toch meegeven, maar gewoon geen andere informatie meegeven content.Add(teller + 1) @@ -915,7 +916,7 @@ Public Sub produceerFrontenVoorraad(aantal As Integer, label As String, breedte As Double, hoogte As String, materiaal As String, kantenband As String, letterBarcode As String, boringen As Integer) Try For i = 1 To aantal - frontVoorraadRepository.voegVoorraadItemToe(New FrontVoorraadItem(label, breedte, hoogte, materiaal, kantenband, letterBarcode,boringen)) + frontVoorraadRepository.voegVoorraadItemToe(New FrontVoorraadItem(label, breedte, hoogte, materiaal, kantenband, letterBarcode, boringen)) Next genereerFrontenVoorraadDatas() slaFrontenVoorraadOp() @@ -931,7 +932,7 @@ item.GenereerKantenbandData() Next Catch ex As Exception - throw new Exception($"Kon fronten voorraad datas niet genereren.{vbNewLine}{ex.Message}",ex) + Throw New Exception($"Kon fronten voorraad datas niet genereren.{vbNewLine}{ex.Message}", ex) End Try End Sub @@ -942,7 +943,7 @@ Next ArdisTextMapper.stopArdisTextOpslag() Catch ex As Exception - throw new Exception($"Kon fronten voorraad datas niet opslaan in de databanken.{vbNewLine}{ex.Message}",ex) + Throw New Exception($"Kon fronten voorraad datas niet opslaan in de databanken.{vbNewLine}{ex.Message}", ex) End Try End Sub @@ -970,4 +971,71 @@ End Sub #End Region +#Region "Rush" + + Private Sub RushGeefInformatie(ByRef ardisDataList As List(Of ArdisData), ByRef ardis As List(Of ArdisDataDto), ByRef automilling As List(Of AutomillingDto)) + ardis = New List(Of ArdisDataDto) + automilling = New List(Of AutomillingDto) + + ardis.AddRange(ardisDataList.Select(Function(x) New ArdisDataDto(x)).ToList()) + 'Per barcode de automilling data ophalen. De duplicaten eruit halen, mappen naar AuomillingDto en toevoegen + automilling.AddRange( + ardisDataList.Select(Function(ardisData) AutomillingMapper.OphalenUitProductie(ardisData.PartCalc)) _ + .Where(Function(zijkamerFreesProductieData) Not IsNothing(zijkamerFreesProductieData)) _ + .GroupBy(Function(zijkamerfreesProductieData) zijkamerfreesProductieData.PrintBarcodeLeft) _ + .Select(Function(zijkamerfreesProductieData) zijkamerfreesProductieData.First()) _ + .Select(Function(zijkamerfreesProductieData) New AutomillingDto(zijkamerfreesProductieData)).ToList() + ) + End Sub + + Public Sub RushGeefInformatieMetBatch(batch As String, ByRef ardis As List(Of ArdisDataDto), ByRef automilling As List(Of AutomillingDto)) + Dim ardisDataList = ArdisMapper.OphalenDataPerBatch(batch).FindAll(Function(x) Not x.isRework()) ' Filter out reworks + RushGeefInformatie(ardisDataList, ardis, automilling) + End Sub + + Public Sub RushGeefInformatieMetLadeCode(ladeCode As String, ByRef ardis As List(Of ArdisDataDto), ByRef automilling As List(Of AutomillingDto)) + Dim ardisDataList = ArdisMapper.OphalenDataPerLadeCode(ladeCode).FindAll(Function(x) Not x.isRework()) ' Filter out reworks + RushGeefInformatie(ardisDataList, ardis, automilling) + End Sub + + Private Sub UpdateRush(ByRef ardisDataList As List(Of ArdisData)) + For Each ardisData In ardisDataList + + 'Updaten Ardis + ardisData.UpdateRush() + If Configs.geefVerwerkStatus() Then + ArdisMapper.UpdateArdis(ardisData) + End If + + 'Updaten Automilling + Dim zijkamerFreesProductieData = AutomillingMapper.OphalenUitProductie(ardisData.PartCalc) + If IsNothing(zijkamerFreesProductieData) Then Continue For + + zijkamerFreesProductieData.UpdateRush() + If Configs.geefVerwerkStatus() Then + AutomillingMapper.update(zijkamerFreesProductieData) + End If + Next + End Sub + + ''' + ''' Ardis en Automilling updaten voor rush orders + ''' + ''' + Public Sub UpdateRushMetBatch(batch As String) + Dim ardisDataList = ArdisMapper.OphalenDataPerBatch(batch).FindAll(Function(x) Not x.isRework()) ' Filter out reworks + UpdateRush(ardisDataList) + End Sub + + ''' + ''' Ardis en Automilling updaten voor rush orders + ''' + ''' + Public Sub UpdateRushMetLadeCode(ladecode As String) + Dim ardisDataList = ArdisMapper.OphalenDataPerBatch(ladecode).FindAll(Function(x) Not x.isRework()) ' Filter out reworks + UpdateRush(ardisDataList) + End Sub + +#End Region + End Class Index: TAOR rework/TAOR rework/databases/Ardis/ArdisDataDto.vb =================================================================== diff -u --- TAOR rework/TAOR rework/databases/Ardis/ArdisDataDto.vb (revision 0) +++ TAOR rework/TAOR rework/databases/Ardis/ArdisDataDto.vb (revision 2087) @@ -0,0 +1,39 @@ +Public Class ArdisDataDto + + Private ReadOnly _ardisData As ArdisData + + Public ReadOnly Property Batch() As String + Get + Return _ardisData.GeefBatch() + End Get + End Property + + Public ReadOnly Property PartCalc() As String + Get + Return _ardisData.PartCalc + End Get + End Property + + Public ReadOnly Property Inserted() As String + Get + Return _ardisData.Inserted + End Get + End Property + + Public ReadOnly Property PartRemark3() As String + Get + Return _ardisData.PartRemark3 + End Get + End Property + + Public ReadOnly Property PartExt04() As String + Get + Return _ardisData.PartExt04 + End Get + End Property + + Public Sub New(ardisData As ArdisData) + _ardisData = ardisData + End Sub + +End Class Index: TAOR rework/TAOR rework/TAOR rework.vbproj =================================================================== diff -u -r2086 -r2087 --- TAOR rework/TAOR rework/TAOR rework.vbproj (.../TAOR rework.vbproj) (revision 2086) +++ TAOR rework/TAOR rework/TAOR rework.vbproj (.../TAOR rework.vbproj) (revision 2087) @@ -115,6 +115,8 @@ + + FormConfigsWijzigen.vb @@ -162,6 +164,12 @@ Form + + FormRush.vb + + + Form + FormStalen.vb @@ -373,6 +381,9 @@ FormReworkAutomilling.vb + + FormRush.vb + FormSifonLade.vb