Feature Offertenarchivierung

This commit is contained in:
2022-11-21 16:42:29 +01:00
parent 579d56e057
commit 4b07117bf3
3 changed files with 91 additions and 35 deletions

View File

@@ -520,7 +520,7 @@ Partial Class usrCntlOfferte
Me.fbtnBearbeiten.FlatAppearance.BorderSize = 0
Me.fbtnBearbeiten.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.fbtnBearbeiten.ForeColor = System.Drawing.Color.Black
Me.fbtnBearbeiten.Location = New System.Drawing.Point(860, 7)
Me.fbtnBearbeiten.Location = New System.Drawing.Point(898, 5)
Me.fbtnBearbeiten.Name = "fbtnBearbeiten"
Me.fbtnBearbeiten.Size = New System.Drawing.Size(20, 20)
Me.fbtnBearbeiten.TabIndex = 3
@@ -546,6 +546,7 @@ Partial Class usrCntlOfferte
Me.cbxArchivierteOfferten._allowedValuesFreiText = Nothing
Me.cbxArchivierteOfferten._allowFreiText = False
Me.cbxArchivierteOfferten._value = ""
Me.cbxArchivierteOfferten.DropDownWidth = 250
Me.cbxArchivierteOfferten.FormattingEnabled = True
Me.cbxArchivierteOfferten.Location = New System.Drawing.Point(600, 3)
Me.cbxArchivierteOfferten.Name = "cbxArchivierteOfferten"
@@ -580,7 +581,7 @@ Partial Class usrCntlOfferte
Me.lblEditMode.AutoSize = True
Me.lblEditMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblEditMode.ForeColor = System.Drawing.Color.Red
Me.lblEditMode.Location = New System.Drawing.Point(895, 9)
Me.lblEditMode.Location = New System.Drawing.Point(957, 11)
Me.lblEditMode.Name = "lblEditMode"
Me.lblEditMode.Size = New System.Drawing.Size(64, 13)
Me.lblEditMode.TabIndex = 28

View File

@@ -1,7 +1,5 @@

Imports TAlex.WPF.Helpers
Public Class usrCntlOfferte
Dim FUNC As New cProgramFunctions
@@ -19,8 +17,11 @@ Public Class usrCntlOfferte
Dim currentOffertArchiv As VERAG_PROG_ALLGEMEIN.cOfferteArchiv
Dim edit As Boolean
Dim DGVHasChaged = False
Dim isStandard = False
Dim isStandard
Dim loaded = False
Dim isNew = False
Dim addLeistung = False
Dim ofID As Integer
Sub New()
InitializeComponent()
@@ -64,7 +65,7 @@ Public Class usrCntlOfferte
Sub initDGVOfferteDetails(OffertenNr)
loaded = False
DGVHasChaged = False
With dgvOfferteDetails
'.Columns.Clear()
@@ -142,14 +143,17 @@ Public Class usrCntlOfferte
loaded = True
End With
DGVHasChaged = False
End Sub
Private Sub dgvOfferteDetails_SelectionChanged(sender As Object, e As EventArgs) Handles dgvOfferte.SelectionChanged
isStandard = False
cbxArchivierteOffertenAnzeigen.Checked = False
cbxArchivierteOfferten.Items.Clear()
checkPermissions()
If dgvOfferte.RowCount > 0 Then
@@ -194,6 +198,7 @@ Public Class usrCntlOfferte
initDGVOfferte()
RaiseEvent OfferteChanged()
dgvOfferte.Enabled = True
isNew = True
End If
End Sub
@@ -276,7 +281,10 @@ Public Class usrCntlOfferte
If o.INSERT() Then
cboLeistungenAdd.changeItem("")
initDGVOfferteDetails(o.OffertenNr)
addLeistung = True
End If
DGVHasChaged = True
End Sub
@@ -303,8 +311,10 @@ Public Class usrCntlOfferte
If loaded = True Then
dgvOfferteDetails.Rows(e.RowIndex).Cells("Sachbearbeiter").Value = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
dgvOfferteDetails.Rows(e.RowIndex).Cells("Geändert am").Value = Now
DGVHasChaged = True
End If
DGVHasChaged = True
'DGVHasChaged = True
End Sub
@@ -322,12 +332,16 @@ Public Class usrCntlOfferte
Private Sub btnOfferteSpeichern_Click(sender As Object, e As EventArgs) Handles btnOfferteSpeichern.Click
KD_ERW.AutoFakturierung = cbxAutoFakturierung.Checked
KD_ERW.SAVE()
checkPerimissionsDGVDetails()
edit = False
handleEditMode(edit)
checkPerimissionsDGVDetails()
If isStandard = False Then OfferteArchivieren("Geändert")
saveArchivierteOfferte()
OFFERTEBind.updateBinding()
RaiseEvent OfferteChanged()
DGVHasChaged = False
End Sub
Private Sub fbtnBearbeiten_Click(sender As Object, e As EventArgs) Handles fbtnBearbeiten.Click
@@ -340,7 +354,6 @@ Public Class usrCntlOfferte
End Sub
Private Sub OfferteArchivieren(Optional Art As String = "")
If DGVHasChaged = False Then Exit Sub
currentOffertArchiv = New VERAG_PROG_ALLGEMEIN.cOfferteArchiv()
currentOffertArchiv.KundenNr = currentOffert.KundenNr
@@ -356,7 +369,7 @@ Public Class usrCntlOfferte
currentOffertArchiv.Gesperrt_Datum = currentOffert.Gesperrt_Datum
currentOffertArchiv.Gesperrt_Grund = currentOffert.Gesperrt_Grund
currentOffertArchiv.Art = Art
Dim ofID As Integer = currentOffertArchiv.SAVERETURNID()
ofID = currentOffertArchiv.SAVERETURNID()
If ofID > 0 Then
For Each row As DataRow In tmpDataTable.Rows
@@ -395,18 +408,23 @@ Public Class usrCntlOfferte
edit = True
handleEditMode(edit)
saveCurrentOffert()
OfferteArchivieren("Neuer Standard")
If SQL.doSQL("DELETE FROM Offerten where [KundenNr]='" & kdNr & "' AND [OffertenNr]='" & dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value & "' ", "FMZOLL") Then
If SQL.doSQL("DELETE FROM Offerten where [KundenNr]='" & kdNr & "' AND [OffertenNr]='" & dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value & "' ", "FMZOLL") Then
isStandard = True
isNew = True
currentOffert.SAVE()
currentOffert.LOAD_POSITIONEN()
If currentOffert.POSITIONEN.Count = 0 Then '
currentOffert.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, FIRMA_TMP)
End If
isStandard = True
'DGVHasChaged = False
initDGVOfferte()
RaiseEvent OfferteChanged()
saveCurrentOffert()
saveArchivierteOfferte()
End If
End Sub
@@ -440,7 +458,7 @@ Public Class usrCntlOfferte
cbxArchivierteOfferten.SelectedIndex = -1
cbxArchivierteOfferten.Items.Clear()
cbxArchivierteOfferten.Visible = True
cbxArchivierteOfferten.fillWithSQL("SELECT OfID, Concat(Cast([Archiviert am] AS DATE),' ' ,Art) as Archivierungsdatum, Art FROM [tblOffertenArchiv] WHERE KundenNr='" & kdNr & "' and OffertenNr='" & dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value & "'", False, "FMZOLL", True)
cbxArchivierteOfferten.fillWithSQL("SELECT OfID, CONCAT(FORMAT([Archiviert am], 'dd-MM.yyyy HH:mm'),'-',Art) as Archivierungsoffert FROM [tblOffertenArchiv] WHERE KundenNr='" & kdNr & "' and OffertenNr='" & dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value & "'", False, "FMZOLL", True)
fbtnBearbeiten.Visible = False
Else
@@ -487,6 +505,7 @@ Public Class usrCntlOfferte
loaded = False
DGVHasChaged = False
With dgvOfferteDetails
.Columns.Clear()
@@ -611,5 +630,40 @@ Public Class usrCntlOfferte
End If
End Sub
Private Sub saveArchivierteOfferte(Optional forceSave As Boolean = False)
If isNew = False AndAlso isStandard = False Or isNew AndAlso isStandard = False Then 'Neuanlage oder Anlage über "Standardoffert laden" speichern,
If DGVHasChaged = False Then Exit Sub
End If
If isStandard Then
If DGVHasChaged = False AndAlso isNew Then
OfferteArchivieren("Neuer Standard")
isNew = False
Exit Sub
End If
isStandard = False
Else
If DGVHasChaged Then
If isNew = False Then
OfferteArchivieren("Geändert")
Exit Sub
Else
If isNew Then
OfferteArchivieren("Neuanlage")
isNew = False
End If
End If
End If
End If
End Sub
End Class

View File

@@ -436,11 +436,12 @@ Public Class cOfferteArchiv
End Function
Public Function SAVE() As Boolean
Public Function UPDATE() As Boolean
Dim sqlstr = " BEGIN " & getInsertCmd() & " End "
Dim sqlstr = " BEGIN " & getUpdateCmd() & " End "
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
OfID = SQL.doSQLVarListID(OfID, sqlstr, "FMZOLL", , list)
Return OfID
End Function
Public Function SAVERETURNID() As Integer
@@ -547,24 +548,24 @@ Public Class cOfferteArchiv
Return ""
End Function
'Public Function getUpdateCmd() As String
' Try
' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
' Dim str As String = ""
' For Each i In list
' If Not i.isPrimaryParam Then
' str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
' End If
' Next
' str = str.Substring(0, str.Length - 1) 'wg. ','
' Return (" UPDATE [OffertenArchiv] SET " & str & " WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ")
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [OffertenArchiv] SET " & str & " WHERE IfID=@OfID ")
' Catch ex As Exception
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
' End Try
' Return ""
'End Function
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
'Function RESET_STANDARTOFFERTEN(Sachbearbeiter) As Boolean