Feature: Offerten

This commit is contained in:
2022-11-16 17:18:30 +01:00
parent ddd6682105
commit 6b278a1f60
4 changed files with 395 additions and 210 deletions

View File

@@ -1,4 +1,7 @@
Public Class usrCntlOfferte
Imports System.Web.UI.WebControls.Expressions
Imports DocumentFormat.OpenXml.Presentation
Public Class usrCntlOfferte
Dim FUNC As New cProgramFunctions
Public kdNr As Integer = -1
@@ -6,9 +9,13 @@
Public KD_ERW As VERAG_PROG_ALLGEMEIN.cKundenErweitert
Public Event OfferteChanged()
Dim OFFERTEBind As cEasyBinding
Dim table
Public BIND_DB = "FMZOLL"
Dim tmpDataTable As New DataTable
Dim currentOffert As VERAG_PROG_ALLGEMEIN.cOfferte
Dim edit As Boolean
Dim loaded = False
@@ -25,9 +32,10 @@
Public Sub init(kdNr)
Me.kdNr = kdNr
initDGVOfferte()
edit = False
KD_ERW = New VERAG_PROG_ALLGEMEIN.cKundenErweitert(kdNr)
cbxAutoFakturierung.Checked = KD_ERW.AutoFakturierung
End Sub
Sub initDGVOfferte()
dgvOfferteDetails.Columns.Clear()
@@ -91,7 +99,11 @@
Else
For Each c As DataGridViewColumn In .Columns
If (c.Name = "Preis" Or c.Name = "LeistungsBez" Or c.Name = "Anzahl" Or c.Name = "BerechnungsartNr" Or c.Name = "BerechnungsartPosInkludiert") Then
c.ReadOnly = False
If edit Then
c.ReadOnly = False
Else
c.ReadOnly = True
End If
Else
c.ReadOnly = True
End If
@@ -171,14 +183,20 @@
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_BEARBEITEN", "SDL") Then
pnlEdit.Visible = False
pnlSperre.Visible = False
FlatButton1.Visible = False
btnCreateOffert.Visible = False
dgvOfferte.ReadOnly = True
fbtnBearbeiten.Visible = False
btnStandardLaden.Visible = False
Else
dgvOfferteDetails.AllowUserToAddRows = True
dgvOfferteDetails.AllowUserToDeleteRows = True
dgvOfferteDetails.RowHeadersVisible = True
fbtnBearbeiten.Visible = True
btnStandardLaden.Visible = True
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_LOESCHEN", "SDL") Then
FlatButton3.Visible = True
btnDeleteOfferte.Visible = True
End If
End If
@@ -194,15 +212,16 @@
End Sub
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
Private Sub btnCreateOffert_Click(sender As Object, e As EventArgs) Handles btnCreateOffert.Click
Dim f As New frmOffertenBearbeiten(kdNr)
If f.ShowDialog() = DialogResult.OK Then
initDGVOfferte()
RaiseEvent OfferteChanged()
dgvOfferte.Enabled = True
End If
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
Private Sub btnAddLeistung_Click(sender As Object, e As EventArgs) Handles btnAddLeistung.Click
Dim SQLsrt = " SELECT (select case when COUNT(*)>0 then 1 else 0 end FROM Offertenpositionen where KundenNr=" & kdNr & " and [Offertenpositionen].[OffertenNr]=[Offertenstamm].[OffertenNr]) as vorhanden," &
@@ -222,7 +241,7 @@
btn.ContextMenuStrip = cntxtAddSdl
btnAddLeistung.ContextMenuStrip = cntxtAddSdl
' cntxtAddSdl
Dim ptLowerLeft As New Point(sender.width, sender.Height)
ptLowerLeft = sender.PointToScreen(ptLowerLeft)
@@ -241,15 +260,8 @@
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnOfferteSpeichern.Click
KD_ERW.AutoFakturierung = cbxAutoFakturierung.Checked
KD_ERW.SAVE()
OFFERTEBind.updateBinding()
RaiseEvent OfferteChanged()
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
Private Sub btnHinzufuegen_Click_1(sender As Object, e As EventArgs) Handles btnHinzufuegen.Click
lblLeistunAddErr.Visible = False
lblLeistunAddErr2.Visible = False
Label3.Visible = False
@@ -294,7 +306,7 @@
Private Sub cboLeistungenAdd_KeyDown(sender As Object, e As KeyEventArgs) Handles cboLeistungenAdd.KeyDown, MyTextBox1.KeyDown
If e.KeyCode = Keys.Return Then
Button2.PerformClick()
btnHinzufuegen.PerformClick()
End If
End Sub
@@ -315,7 +327,7 @@
End Sub
Private Sub FlatButton3_Click(sender As Object, e As EventArgs) Handles FlatButton3.Click
Private Sub btnDeleteOfferte_Click(sender As Object, e As EventArgs) Handles btnDeleteOfferte.Click
If dgvOfferte.SelectedRows.Count = 1 Then
If vbYes = MsgBox("Möchten Sie das Offert '" & dgvOfferte.SelectedRows(0).Cells("OffertenBez").Value & "' wirklich löschen", vbYesNoCancel) Then
If SQL.doSQL("DELETE FROM Offerten where [KundenNr]='" & kdNr & "' AND [OffertenNr]='" & dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value & "' ", "FMZOLL") Then
@@ -325,4 +337,74 @@
End If
End If
End Sub
Private Sub btnOfferteSpeichern_Click(sender As Object, e As EventArgs) Handles btnOfferteSpeichern.Click
KD_ERW.AutoFakturierung = cbxAutoFakturierung.Checked
KD_ERW.SAVE()
edit = False
dgvOfferte.Enabled = True
OFFERTEBind.updateBinding()
RaiseEvent OfferteChanged()
End Sub
Private Sub fbtnBearbeiten_Click(sender As Object, e As EventArgs) Handles fbtnBearbeiten.Click
edit = True
dgvOfferte.Enabled = False
currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(kdNr, dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value, True)
tmpDataTable = dgvOfferteDetails.DataSource
End Sub
Private Sub OffertenArchivieren()
If currentOffert.SAVETOARCHIVE() Then
For Each row As DataRow In tmpDataTable.Rows
Dim oP As New VERAG_PROG_ALLGEMEIN.cOffertPosition
oP.KundenNr = currentOffert.KundenNr
oP.LeistungsNr = row("LeistungsNr")
oP.LeistungsBez = row("LeistungsBez")
oP.OffertenNr = currentOffert.OffertenNr
oP.BerechnungsartNr = row("BerechnungsartNr")
oP.Preis = row("Preis")
oP.Anzahl = row("Anzahl")
oP.BGebLeistungsNr = row("BGebLeistungsNr")
oP.BGebProzent = row("BGebProzent")
oP.BGebMinBetrag = row("BGebMinBetrag")
oP.Eingegeben_am = row("Eingegeben am")
oP.Geändert_am = row("Geändert am")
oP.Sachbearbeiter = row("Sachbearbeiter")
oP.Preisänderung = row("Preisänderung")
oP.PreisänderungProzent = row("PreisänderungProzent")
oP.PreisAlt = row("PreisAlt")
oP.BerechnungsartPosInkludiert = row("BerechnungsartPosInkludiert")
oP.INSERTTOARCHIVE()
Next
End If
End Sub
Private Sub btnStandardLaden_Click(sender As Object, e As EventArgs) Handles btnStandardLaden.Click
edit = True
dgvOfferte.Enabled = False
currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(kdNr, dgvOfferte.SelectedRows(0).Cells("OffertenNr").Value, True)
tmpDataTable = dgvOfferteDetails.DataSource
End Sub
Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxArchivierteOfferten.SelectedIndexChanged
End Sub
Private Sub cbxArchivierteOffertenAnzeigen_CheckedChanged(sender As Object, e As EventArgs) Handles cbxArchivierteOffertenAnzeigen.CheckedChanged
If cbxArchivierteOffertenAnzeigen.Checked Then
cbxArchivierteOfferten.Visible = True
Else
cbxArchivierteOfferten.Visible = False
End If
End Sub
End Class