diff --git a/Aviso/My Project/AssemblyInfo.vb b/Aviso/My Project/AssemblyInfo.vb index 3c2ceea..4afd36d 100644 --- a/Aviso/My Project/AssemblyInfo.vb +++ b/Aviso/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Aviso/frmGesamtsicherheitenNEU.vb b/Aviso/frmGesamtsicherheitenNEU.vb index 2628772..d45033c 100644 --- a/Aviso/frmGesamtsicherheitenNEU.vb +++ b/Aviso/frmGesamtsicherheitenNEU.vb @@ -714,7 +714,14 @@ Public Class frmGesamtsicherheitenNEU Case Else With OPEN .gs_posNr = getLatestPosNr(gessicherheitID, txtSicherheitATBNr.Text) + 1 - .gs_posSubNr = getLatestSubPosNr(gessicherheitID, txtMRNNr.Text) + 1 + + If .gs_MRNNr <> "" Then + .gs_posSubNr = getLatestSubPosNr(gessicherheitID, txtSicherheitATBNr.Text, txtMRNNr.Text) + 1 + Else + .gs_posSubNr = Nothing + End If + + End With attachPosNrToExistingATB = True indexGsId = OPEN.SAVEOBJECT() @@ -777,7 +784,11 @@ Public Class frmGesamtsicherheitenNEU .gs_gsNr = gessicherheitID .gs_ATBNr = "" .gs_MRNNr = "" - .gs_posSubNr = Me.getLatestSubPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_MRNNr) + 1 + If .gs_MRNNr <> "" Then + .gs_posSubNr = Me.getLatestSubPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_ATBNr, currentSicherheit.gs_MRNNr) + 1 + Else + .gs_posSubNr = Nothing + End If .gs_posNr = Me.getLatestPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_ATBNr) + 1 .gs_datum = DateTimeString2DateTimeKonvertinator(txtPosDat.Text, txtPosTime.Text) .gs_warenwert = 0 @@ -1003,7 +1014,11 @@ Public Class frmGesamtsicherheitenNEU .gs_ATBNr = txtSicherheitATBNr.Text .gs_MRNNr = txtMRNNr.Text .gs_posNr = Integer.Parse(setNullToZero(txtAnzahlPos.Text)) - .gs_posSubNr = IIf(Integer.Parse(setNullToZero(txtSPosNr.Text)) <> 0, Integer.Parse(setNullToZero(txtSPosNr.Text)), Me.getLatestSubPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_MRNNr) + 1) + If .gs_MRNNr <> "" Then + .gs_posSubNr = IIf(Integer.Parse(setNullToZero(txtSPosNr.Text)) <> 0, Integer.Parse(setNullToZero(txtSPosNr.Text)), Me.getLatestSubPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_ATBNr, currentSicherheit.gs_MRNNr) + 1) + Else + .gs_posSubNr = Nothing + End If .gs_datum = DateTimeString2DateTimeKonvertinator(txtSicherheitDat.Text, txtSicherheitTime.Text) .gs_warenwert = Double.Parse(txtSicherheitWarenwert.Text) .gs_sicherheitsbetrag = Double.Parse(txtSicherheitSicherheitsbetrag.Text) @@ -1101,8 +1116,10 @@ Public Class frmGesamtsicherheitenNEU Dim posNr = currentSicherheit.gs_posNr Dim ATBNr = currentSicherheit.gs_ATBNr Dim gsNr = currentSicherheit.gs_gsNr + Dim subPosNr = currentSicherheit.gs_posSubNr currentSicherheit.Delete() rearangePosNr(gsNr, ATBNr, posNr) + 'rearangeSubPosNr(gsNr, ATBNr, posNr, subPosNr) btnUpdateSicherheit.Visible = False btnAddSicherheit.Visible = True btnDeleteSicherheit.Visible = False @@ -1192,9 +1209,9 @@ Public Class frmGesamtsicherheitenNEU End Function - Private Function getLatestSubPosNr(gs_gsnr As Integer, gs_MRNNr As String) As Integer + Private 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 = '" & gs_MRNNr & "'" + 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 = SQL.loadDgvBySql(sqlq, "AVISO", 100, True) @@ -1246,7 +1263,7 @@ Public Class frmGesamtsicherheitenNEU ' Return False 'End If - If (offenerSicherheitsbetrag < 0 Or offenerSicherheitsbetrag < offenerSicherheitsbetragPos) Then + If (offenerSicherheitsbetrag <0 Or offenerSicherheitsbetrag '" & posNr & "'" + 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 = SQL.loadDgvBySql(sqlq, "AVISO", 100, True) @@ -1628,10 +1645,39 @@ Public Class frmGesamtsicherheitenNEU For i As Integer = 0 To dt.Rows.Count - 1 - 'MsgBox("gs_gsId: " & dt.Rows(i).Item("gs_gsId").ToString & " " & "gs_posNr: " & dt.Rows(i).Item("gs_posNr").ToString) 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 + sicherheit.gs_posNr = currentPos - 1 + + sicherheit.UPDATEWithNewPosNr(True) + + Next + + + End Sub + + + Private 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_posNr >= " & posNr & " AND gs_posSubNr >= " & subposNr + 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 = 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 @@ -1912,7 +1958,7 @@ Public Class frmGesamtsicherheitenNEU Private Sub changeLabel(Optional isATR As Boolean = True) If Standort = "Verag GmbH" Then - Label1.Text = "Reg-Nr." + 'Label1.Text = "Reg-Nr." If isATR Then Label12.Text = "Reg-Nr. / MRN" @@ -1924,10 +1970,10 @@ Public Class frmGesamtsicherheitenNEU ElseIf Standort = "VERAG AG" Then Label12.Text = "T1 CRN" - Label1.Text = "T1 MRN" + 'Label1.Text = "T1 MRN" Else Label12.Text = "EZA / T1 CRN" - Label1.Text = "T1 MRN" + 'Label1.Text = "T1 MRN" End If End Sub @@ -1944,7 +1990,13 @@ Public Class frmGesamtsicherheitenNEU .gs_ATBNr = "Korrekt. Rundungsdiff. " & gessicherheitID .gs_MRNNr = "" .gs_posNr = Me.getLatestPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_ATBNr) + 1 - .gs_posSubNr = Me.getLatestSubPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_MRNNr) + 1 + + If .gs_MRNNr <> "" Then + .gs_posSubNr = Me.getLatestSubPosNr(currentSicherheit.gs_gsNr, currentSicherheit.gs_ATBNr, currentSicherheit.gs_MRNNr) + 1 + Else + .gs_posSubNr = Nothing + End If + .gs_datum = DateTime.Now .gs_warenwert = 0 .gs_sicherheitsbetrag = 0 @@ -2103,9 +2155,12 @@ Public Class frmGesamtsicherheitenNEU Dim posNr = currentSicherheit.gs_posNr Dim ATBNr = currentSicherheit.gs_ATBNr Dim gsNr = currentSicherheit.gs_gsNr + Dim subPosNr = currentSicherheit.gs_posSubNr + If currentSicherheit.hasEntry Then currentSicherheit.Delete() rearangePosNr(gsNr, ATBNr, posNr) + ' If subPosNr IsNot Nothing Then rearangeSubPosNr(gsNr, ATBNr, posNr, subPosNr) End If