systa, etc.
This commit is contained in:
@@ -317,4 +317,126 @@ Public Class cSicherheiten
|
||||
SQL.doSQL("delete from [tblGesamtsicherheit] where gs_gsId = '" & Me.gs_gsId & "' AND gs_posNr='" & Me.gs_posNr & "'", "AVISO")
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Sub rearangePosNr(gsNr As Integer, ATBNr As String, posNr As Integer)
|
||||
|
||||
If posNr = -1 Or posNr = 1 Then Exit Sub
|
||||
|
||||
Dim sqlq As String = "select [gs_gsId], [gs_posNr] from [tblGesamtsicherheit] where gs_gsnr = " & gsNr & " AND gs_ATBNR = '" & ATBNr & "' AND gs_posNr >= " & posNr
|
||||
Dim dt As New DataTable
|
||||
dt = (New SQL).loadDgvBySql(sqlq, "AVISO", 100, True)
|
||||
|
||||
If (dt.Rows.Count = 0) Then Exit Sub
|
||||
|
||||
|
||||
For i As Integer = 0 To dt.Rows.Count - 1
|
||||
Dim sicherheit = New cSicherheiten(dt.Rows(i).Item("gs_gsId"), dt.Rows(i).Item("gs_posNr"))
|
||||
Dim currentPos = sicherheit.gs_posNr
|
||||
|
||||
If sicherheit.gs_posSubNr IsNot Nothing Then
|
||||
rearangeSubPosNr(gsNr, ATBNr, currentPos, sicherheit.gs_posSubNr)
|
||||
End If
|
||||
|
||||
If currentPos > 0 Then
|
||||
sicherheit.gs_posNr = currentPos - 1
|
||||
End If
|
||||
|
||||
sicherheit.UPDATEWithNewPosNr(True)
|
||||
|
||||
Next
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Shared Function rearangePosNrByDakosyLaufNr(gsNr As Integer, ATBNr As String)
|
||||
|
||||
If gsNr > 0 AndAlso ATBNr <> "" Then
|
||||
|
||||
Dim SQLString = "WITH Ordered AS (
|
||||
SELECT
|
||||
gs_gsId,
|
||||
ROW_NUMBER() OVER (
|
||||
ORDER BY gs_DK_laufnr, gs_posSubNr
|
||||
) - 1 AS NewPosNr
|
||||
FROM tblGesamtsicherheit
|
||||
WHERE gs_gsnr = " & gsNr & "
|
||||
AND gs_ATBNR = '" & ATBNr & "'
|
||||
)
|
||||
UPDATE t
|
||||
SET gs_posNr = o.NewPosNr
|
||||
FROM tblGesamtsicherheit t
|
||||
INNER JOIN Ordered o ON t.gs_gsId = o.gs_gsId"
|
||||
|
||||
If (New SQL).doSQL(SQLString, "AVISO") Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Shared Sub rearangeSubPosNr(gsNr As Integer, ATBNr As String, posNr As Integer, subposNr As Integer)
|
||||
|
||||
If subposNr = -1 Or subposNr = 1 Then Exit Sub
|
||||
|
||||
Dim sqlq As String = "select [gs_gsId], [gs_posNr] ,[gs_posSubNr] from [tblGesamtsicherheit] where gs_gsnr = " & gsNr & " AND gs_ATBNR = '" & ATBNr & "' AND gs_posSubNr >= " & subposNr
|
||||
Dim dt As New DataTable
|
||||
dt = (New SQL).loadDgvBySql(sqlq, "AVISO", 100, True)
|
||||
|
||||
If (dt.Rows.Count = 0) Then Exit Sub
|
||||
|
||||
|
||||
For i As Integer = 0 To dt.Rows.Count - 1
|
||||
Dim sicherheit = New cSicherheiten(dt.Rows(i).Item("gs_gsId"), dt.Rows(i).Item("gs_posNr"), dt.Rows(i).Item("gs_posSubNr"))
|
||||
Dim currentPos = sicherheit.gs_posSubNr
|
||||
sicherheit.gs_posSubNr = currentPos - 1
|
||||
sicherheit.UPDATEWithNewPosNr()
|
||||
|
||||
Next
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Shared Function getLatestPosNr(gs_gsnr As Integer, gs_ATBNr As String) As Integer
|
||||
Dim posNr As Integer = 0
|
||||
Dim sqlq As String = "Select MAX([gs_posNr]) As MaxPosNr from [tblGesamtsicherheit] where gs_gsnr = " & gs_gsnr & " And gs_ATBNR = '" & gs_ATBNr & "'"
|
||||
Dim dt As New DataTable
|
||||
dt = (New SQL).loadDgvBySql(sqlq, "AVISO", 100, True)
|
||||
|
||||
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
|
||||
|
||||
posNr = dt.Rows(0).Item(0)
|
||||
|
||||
End If
|
||||
|
||||
Return posNr
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
Public Shared Function getLatestSubPosNr(gs_gsnr As Integer, gs_ATBNr As String, gs_MRNNr As String) As Integer
|
||||
Dim posNr As Integer = 0
|
||||
Dim sqlq As String = "Select MAX([gs_posSubNr]) As MaxPosNr from [tblGesamtsicherheit] where gs_gsnr = " & gs_gsnr & " And gs_MRNNr is not null and gs_MRNNr = '" & gs_MRNNr & "' And gs_ATBNR = '" & gs_ATBNr & "'"
|
||||
Dim dt As New DataTable
|
||||
dt = (New SQL).loadDgvBySql(sqlq, "AVISO", 100, True)
|
||||
|
||||
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
|
||||
|
||||
posNr = dt.Rows(0).Item(0)
|
||||
|
||||
End If
|
||||
|
||||
Return posNr
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user