959 lines
45 KiB
VB.net
959 lines
45 KiB
VB.net
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class usrCntlIDSPreise
|
|
|
|
Dim FUNC As New cProgramFunctions
|
|
Dim SQL As New SQL
|
|
Public Event IDSChanged()
|
|
|
|
Public kdNr_filter As Boolean = False
|
|
Dim IDSDIESEL_Bind As cEasyBinding
|
|
Dim table
|
|
Public BIND_DB = "FMZOLL"
|
|
Dim tmpDataTable As New DataTable
|
|
Dim currentIDS As VERAG_PROG_ALLGEMEIN.cIDSDieselpreisRW
|
|
Dim edit As Boolean
|
|
Dim DGVHasChaged = False
|
|
Dim isStandard
|
|
Dim loaded = False
|
|
Dim ofID As Integer
|
|
Dim isVerag360 As Boolean = False
|
|
Dim dgvInitWait As Boolean = False
|
|
Dim RW As Double = -1
|
|
Dim Kunde As Integer = -1
|
|
|
|
Sub New()
|
|
InitializeComponent()
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Public Sub init(Optional _isVerag360 As Boolean = False)
|
|
edit = False
|
|
handleEditMode(edit)
|
|
isVerag360 = _isVerag360
|
|
|
|
End Sub
|
|
|
|
Sub initfilterColumnsWidth()
|
|
|
|
If dgvFILTER.ColumnCount > 0 AndAlso dgvFILTER.ColumnCount = dgvOfferteDetails.ColumnCount Then
|
|
|
|
dgvFILTER.Width = dgvOfferteDetails.Width
|
|
For Each c As DataGridViewColumn In dgvOfferteDetails.Columns
|
|
dgvFILTER.Columns(c.Index).Width = c.Width
|
|
Next
|
|
|
|
If kdNr_filter Then
|
|
Select Case cbxTypes._value
|
|
Case "LSK", "LK" : initKDFilter()
|
|
End Select
|
|
|
|
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Sub initFilter()
|
|
dgvInitWait = True
|
|
|
|
dgvFILTER.RowTemplate.Height = dgvFILTER.Height
|
|
'If Not fullyPainted Then Exit Sub ' nur wenn die usrcntl komplett gelden wurde...
|
|
'pnlFilter.Controls.Clear()
|
|
Try
|
|
dgvFILTER.Columns.Clear()
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
Dim sortedCols = dgvOfferteDetails.Columns.Cast(Of DataGridViewColumn)() _
|
|
.OrderBy(Function(c) c.DisplayIndex)
|
|
|
|
For Each c As DataGridViewColumn In sortedCols
|
|
|
|
If c.Visible Then
|
|
Dim cNew As DataGridViewColumn = c.Clone
|
|
|
|
|
|
If c.ReadOnly And c.Name = "CustomerCode" Then
|
|
cNew = New DataGridViewTextBoxColumn
|
|
cNew.Name = c.Name
|
|
cNew.Width = c.Width
|
|
cNew.Visible = c.Visible
|
|
'KundenNr
|
|
End If
|
|
cNew.MinimumWidth = c.Width
|
|
dgvFILTER.Columns.Add(cNew)
|
|
'cNew.DisplayIndex = counter
|
|
If cNew.GetType Is GetType(DataGridViewCheckBoxColumn) Then
|
|
DirectCast(cNew, DataGridViewCheckBoxColumn).ThreeState = True
|
|
DirectCast(cNew, DataGridViewCheckBoxColumn).DefaultCellStyle.NullValue = CheckState.Indeterminate
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
|
|
If dgvFILTER IsNot Nothing AndAlso dgvFILTER.ColumnCount > 0 Then
|
|
|
|
'dgv.AllowUserToAddRows = False
|
|
dgvFILTER.Rows.Add()
|
|
' pnlTest.Controls.Add(dgv)
|
|
' dgv.Top = 0
|
|
' dgv.Left = 0
|
|
dgvFILTER.Width = dgvOfferteDetails.Width
|
|
If kdNr_filter Then
|
|
initKDFilter()
|
|
End If
|
|
End If
|
|
|
|
dgvInitWait = False
|
|
|
|
End Sub
|
|
|
|
|
|
Sub initDGVDieselpreiseDetails(Optional OutletCountryCode As Integer = -1, Optional doFilter As Boolean = False)
|
|
loaded = False
|
|
Try
|
|
|
|
If cbxTypes._value = "" Then Exit Sub
|
|
|
|
With dgvOfferteDetails
|
|
|
|
Dim SQL_ = ""
|
|
Dim SQL_WHERE = ""
|
|
|
|
If doFilter Then
|
|
Dim filter As String = getFilter()
|
|
|
|
If filter <> "" Then
|
|
SQL_WHERE &= " AND " & filter
|
|
End If
|
|
' sql &= " ORDER BY sdl.[Erfassungsdatum] ASC"
|
|
Else
|
|
' clearFilter()
|
|
End If
|
|
|
|
dgvOfferteDetails.Columns.Clear()
|
|
|
|
Select Case cbxTypes._value
|
|
Case "L"
|
|
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Rechenwerte.OutletCountryCode,tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.ProductTypeCode,tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN tbl_IDS_Rechenwerte ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
Case "LS"
|
|
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName,tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
FROM tbl_IDS_Produkte
|
|
INNER JOIN (tbl_IDS_Länder
|
|
INNER JOIN (tbl_IDS_Stationen
|
|
INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode)
|
|
ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
Case "LK"
|
|
SQL_ = "SELECT tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName,tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN tbl_IDS_Rechenwerte ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
WHERE (((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.OutletCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
|
|
Case "LSK"
|
|
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry,tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN (tbl_IDS_Stationen INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
Case "KRW"
|
|
SQL_ = "SELECT tbl_IDS_Kategorien_Rechenwerte.ID as ID, tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Kategorien_Rechenwerte.Rechenwert, tbl_IDS_Kategorien_Rechenwerte.Zeitstempel, tbl_IDS_Kategorien_Rechenwerte.Sachbearbeiter
|
|
FROM tbl_IDS_Produkte INNER JOIN tbl_IDS_Kategorien_Rechenwerte ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode
|
|
WHERE 1 = 1 " & SQL_WHERE & "
|
|
ORDER BY tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode;"
|
|
|
|
|
|
Case "KOR"
|
|
SQL_ = "SELECT tbl_IDS_Kunden_ohne_Rabatt.CustomerCode, tbl_IDS_Kunden_ohne_Rabatt.Zeitstempel, tbl_IDS_Kunden_ohne_Rabatt.Sachbearbeiter
|
|
FROM tbl_IDS_Kunden_ohne_Rabatt
|
|
WHERE 1 = 1 " & SQL_WHERE & "
|
|
ORDER BY tbl_IDS_Kunden_ohne_Rabatt.CustomerCode;"
|
|
|
|
End Select
|
|
|
|
If SQL_ = "" Then Exit Sub
|
|
|
|
Try
|
|
IDSDIESEL_Bind = New cEasyBinding(BIND_DB)
|
|
IDSDIESEL_Bind.initBinding(SQL_, "tbl_IDS_Rechenwerte")
|
|
For Each c As DataColumn In IDSDIESEL_Bind.bindingdataTable.Columns
|
|
If c.ColumnName = "SSMA_TimeStamp" Then
|
|
IDSDIESEL_Bind.bindingdataTable.Columns.Remove(c)
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
.DataSource = IDSDIESEL_Bind.bindingdataTable
|
|
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
If edit Then
|
|
|
|
'Select Case cbxTypes._value
|
|
' Case "L"
|
|
' SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Rechenwerte.OutletCountryCode,tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.ProductTypeCode,tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
' FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN tbl_IDS_Rechenwerte ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
' WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
' ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
' Case "LS"
|
|
' SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName,tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
' FROM tbl_IDS_Produkte
|
|
' INNER JOIN (tbl_IDS_Länder
|
|
' INNER JOIN (tbl_IDS_Stationen
|
|
' INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode)
|
|
' ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
' WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
' ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
' Case "LK"
|
|
' FUNC.dgvCellToCbo(dgvOfferteDetails, 1, "OutletCountryCode", "OutletCountryCode", " SELECT [OutletCountryCode], OutletCountry FROM [tbl_IDS_Länder] ORDER BY OutletCountry ", "FMZOLL", 150)
|
|
' 'FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250)
|
|
|
|
' Case "LSK"
|
|
' SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry,tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter
|
|
' FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN (tbl_IDS_Stationen INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
|
|
' WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & "
|
|
' ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
|
|
|
|
' Case "KRW"
|
|
' SQL_ = "SELECT tbl_IDS_Kategorien_Rechenwerte.ID as ID, tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Kategorien_Rechenwerte.Rechenwert, tbl_IDS_Kategorien_Rechenwerte.Zeitstempel, tbl_IDS_Kategorien_Rechenwerte.Sachbearbeiter
|
|
' FROM tbl_IDS_Produkte INNER JOIN tbl_IDS_Kategorien_Rechenwerte ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode
|
|
' WHERE 1 = 1 " & SQL_WHERE & "
|
|
' ORDER BY tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode;"
|
|
|
|
|
|
' Case "KOR"
|
|
' SQL_ = "SELECT tbl_IDS_Kunden_ohne_Rabatt.CustomerCode, tbl_IDS_Kunden_ohne_Rabatt.Zeitstempel, tbl_IDS_Kunden_ohne_Rabatt.Sachbearbeiter
|
|
' FROM tbl_IDS_Kunden_ohne_Rabatt
|
|
' WHERE 1 = 1 " & SQL_WHERE & "
|
|
' ORDER BY tbl_IDS_Kunden_ohne_Rabatt.CustomerCode;"
|
|
|
|
'End Select
|
|
End If
|
|
|
|
|
|
'.DataSource = SQL.loadDgvBySql(" SELECT [LeistungsNr],[LeistungsBez],[BerechnungsartNr],[Preis],[Anzahl],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],[Eingegeben am],[Geändert am],[Sachbearbeiter],[PreisänderungProzent],[PreisAlt],[Preisänderung] " &
|
|
' " FROM [Offertenpositionen] " &
|
|
' " WHERE KundenNr='" & kdNr & "' and OffertenNr='" & OffertenNr & "' ORDER BY LeistungsNr ", "FMZOLL")
|
|
|
|
|
|
|
|
If .Columns.Contains("ID") Then .Columns("ID").Visible = False
|
|
If .Columns.Contains("Kz") Then .Columns("Kz").Width = 25
|
|
|
|
'If cbxTypes._value = "LS" Then
|
|
' If .Columns.Contains("OutletName") Then .Columns("OutletName").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
'Else
|
|
' If .Columns.Contains("CustomerName") Then .Columns("CustomerName").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
'End If
|
|
|
|
|
|
loaded = True
|
|
End With
|
|
|
|
If Not doFilter Then
|
|
initFilter()
|
|
End If
|
|
|
|
DGVHasChaged = False
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Function getSqlText(t) As String
|
|
Try
|
|
Return t.Replace("'", "")
|
|
Catch ex As Exception
|
|
Return ""
|
|
End Try
|
|
End Function
|
|
|
|
Function getFilter() As String
|
|
|
|
|
|
Dim filter As String = ""
|
|
Dim andstr As String = ""
|
|
|
|
'fehler bei:
|
|
'OutletCountryCode
|
|
|
|
|
|
|
|
|
|
If dgvFILTER.RowCount > 0 Then
|
|
For Each c As DataGridViewCell In dgvFILTER.Rows(0).Cells
|
|
If c.Value IsNot DBNull.Value Then
|
|
If c.GetType Is GetType(DataGridViewTextBoxCell) Then
|
|
If c.Value IsNot Nothing AndAlso c.Value <> "" Then
|
|
Dim srchstr = getSqlText(c.Value.ToString.Trim)
|
|
'MsgBox(c.OwningColumn.DataPropertyName)
|
|
If c.OwningColumn.Name.Contains("ProductTypeCode") Then
|
|
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
|
|
ElseIf c.OwningColumn.Name.Contains("OutletCountryCode") Then
|
|
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
|
|
|
|
ElseIf c.OwningColumn.Name.Contains("OutletCode") Then
|
|
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
|
|
|
|
ElseIf c.OwningColumn.Name.Contains("CustomerCode") Then
|
|
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
|
|
|
|
ElseIf c.OwningColumn.Name.Contains("CustomerName") Then
|
|
filter &= andstr & " Adressen.Ordnungsbegriff LIKE '%" & srchstr & "%' "
|
|
|
|
ElseIf IsNumeric(srchstr) Then
|
|
|
|
If srchstr.ToLower = "ist null" Then
|
|
filter &= andstr & "( [" & c.OwningColumn.Name & "] LIKE '' OR [" & c.OwningColumn.Name & "] is null ) "
|
|
Else
|
|
filter &= andstr & " [" & c.OwningColumn.Name & "] = " & srchstr.Replace(",", ".") & ""
|
|
End If
|
|
|
|
ElseIf IsDate(srchstr) Then
|
|
If srchstr.ToLower = "ist null" Then
|
|
filter &= andstr & "( [" & c.OwningColumn.Name & "] is null ) "
|
|
Else
|
|
filter &= andstr & " convert(varchar,[" & c.OwningColumn.Name & "] ,104) LIKE '%" & srchstr & "%' "
|
|
End If
|
|
|
|
|
|
Else
|
|
If srchstr.ToLower = "ist null" Then
|
|
filter &= andstr & "( [" & c.OwningColumn.Name & "] LIKE '' OR [" & c.OwningColumn.Name & "] is null ) "
|
|
Else
|
|
filter &= andstr & " [" & c.OwningColumn.Name & "] LIKE '%" & srchstr & "%' "
|
|
End If
|
|
End If
|
|
andstr = " AND "
|
|
End If
|
|
ElseIf c.GetType Is GetType(DataGridViewCheckBoxCell) Then
|
|
If c.Value IsNot Nothing AndAlso c.Value.ToString <> "" Then
|
|
If c.Value = CheckState.Checked Then
|
|
filter &= andstr & " [" & c.OwningColumn.Name & "] =1 "
|
|
andstr = " AND "
|
|
ElseIf c.Value = CheckState.Unchecked Then
|
|
filter &= andstr & " [" & c.OwningColumn.Name & "] =0 "
|
|
andstr = " AND "
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
Return filter
|
|
End Function
|
|
|
|
|
|
|
|
Private Sub dgvIDS_SelectionChanged(sender As Object, e As EventArgs) Handles dgvIDS.SelectionChanged
|
|
|
|
|
|
If dgvIDS.SelectedCells.Count > 0 Then
|
|
|
|
If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
|
|
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value)
|
|
Else
|
|
initDGVDieselpreiseDetails()
|
|
End If
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Public Shared Sub EnableDoubleBuffered(ByRef dgv As DataGridView)
|
|
'Dim dgvType As Type = dgv.[GetType]()
|
|
'Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance Or BindingFlags.NonPublic)
|
|
'pi.SetValue(dgv, True, Nothing)
|
|
End Sub
|
|
|
|
Sub initKDFilter()
|
|
|
|
dgvIDS.Columns("CustomerCode").ReadOnly = True
|
|
dgvIDS.Columns("CustomerCode").Visible = False
|
|
Try
|
|
|
|
dgvFILTER.Columns("CustomerCode").ReadOnly = True
|
|
dgvFILTER.Columns("CustomerCode").Visible = False
|
|
'DirectCast(pnlFilterInside.Controls("txtSrch_KundenNr"), TextBox).Text = kdNr
|
|
'DirectCast(pnlFilterInside.Controls("txtSrch_KundenNr"), TextBox).Enabled = False
|
|
' DirectCast(pnlFilterInside.Controls("txtSrch_KundenNr"), TextBox).ReadOnly = True
|
|
' initSearch(pnlFilterInside.Controls("txtSrch_KundenNr"), New EventArgs)
|
|
Catch ex As Exception
|
|
' MsgBox(ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub usrCntlOfferte_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
init(isVerag360)
|
|
|
|
cbxTypes.Items.Clear()
|
|
cbxTypes.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Länder", "L"))
|
|
cbxTypes.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Länder/Stationen", "LS"))
|
|
cbxTypes.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Kategorien/Rechenwerte", "KRW"))
|
|
cbxTypes.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Länder/Kunden", "LK"))
|
|
cbxTypes.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Länder/Stationen/Kunden", "LSK"))
|
|
cbxTypes.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Kunden ohne Rabatt", "KOR"))
|
|
|
|
checkPermissions()
|
|
|
|
|
|
Dim SQL_ As String = ""
|
|
SQL_ = "SELECT OutletCountry, OutletCountryCode FROM [VERAG].[dbo].[tbl_IDS_Länder] ORDER BY OutletCountry"
|
|
Dim dt As New DataTable
|
|
|
|
dt = SQL.loadDgvBySql(SQL_, "FMZOLL")
|
|
If dt.Rows.Count > 0 Then
|
|
Dim newRow As DataRow = dt.NewRow()
|
|
newRow("OutletCountry") = "Alle"
|
|
newRow("OutletCountryCode") = -1
|
|
dt.Rows.InsertAt(newRow, 0)
|
|
dt.AcceptChanges()
|
|
|
|
End If
|
|
|
|
With dgvIDS
|
|
.DataSource = dt
|
|
.Columns("OutletCountry").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("OutletCountry").HeaderText = "Bezeichnung"
|
|
.Columns("OutletCountryCode").Visible = False
|
|
End With
|
|
'EnableDoubleBuffered(dgvOfferteDetails)
|
|
dgvOfferteDetails.Columns.Clear()
|
|
dgvIDS.ClearSelection()
|
|
|
|
initDGVDieselpreiseDetails()
|
|
'initFilter()
|
|
initDGVWidth()
|
|
|
|
|
|
|
|
'AddHandler OFFERTEBind.bindingdataTable.ColumnChanged, Sub(ev As EventArgs, change As DataColumnChangeEventArgs)
|
|
' ' If change.Column.ColumnName=""
|
|
' 'Dim r_index = dgvOfferteDetails.Rows.IndexOf(change.Row)
|
|
' 'Dim c_index = dgvOfferteDetails.Columns.IndexOf(change.Column.ColumnName)
|
|
' 'dgvOfferteDetails.Rows(change.Row)
|
|
|
|
' End Sub
|
|
|
|
End Sub
|
|
|
|
Sub initDGVWidth()
|
|
Dim DGVwidth = 0
|
|
Dim reduceWidth = 0
|
|
For Each c As DataGridViewColumn In dgvOfferteDetails.Columns
|
|
DGVwidth += c.Width
|
|
Next
|
|
Dim DGVheight = 0
|
|
For Each r As DataGridViewRow In dgvOfferteDetails.Rows
|
|
DGVheight += r.Height
|
|
Next
|
|
DGVheight += 50
|
|
'
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub AddOffert_Click(sender As Object, e As EventArgs) Handles DToolStripMenuItem.Click
|
|
If sender.name.contains("tsmiOffertNr_") Then
|
|
' MsgBox(sender.name.ToString.Replace("tsmiSDLNr_", ""))
|
|
Dim OffertenNr As String = sender.tag
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub dgvOfferteDetails_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvOfferteDetails.CellValueChanged
|
|
Try
|
|
Select Case cbxTypes._value
|
|
Case "L", "LS", "LSK", "KRW", "LSK", "LK"
|
|
If loaded = True Then
|
|
If currentIDS IsNot Nothing Then
|
|
currentIDS.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
currentIDS.Zeitstempel = Now
|
|
|
|
Select Case cbxTypes._value
|
|
Case "L"
|
|
Select Case dgvOfferteDetails.CurrentCell.ColumnIndex
|
|
' Case 0 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.OutletCode = CInt(dgvOfferteDetails.CurrentCell.Value)
|
|
Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value)
|
|
Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString
|
|
End Select
|
|
|
|
Case "LS"
|
|
|
|
Select Case dgvOfferteDetails.CurrentCell.ColumnIndex
|
|
Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value)
|
|
Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString
|
|
End Select
|
|
|
|
Case "LK"
|
|
|
|
Select Case dgvOfferteDetails.CurrentCell.ColumnIndex
|
|
' Case 1 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.OutletCode = CInt(dgvOfferteDetails.CurrentCell.Value)
|
|
' Case 2 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" Then dgvOfferteDetails.CurrentRow.Cells("").Value =
|
|
Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value)
|
|
Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString
|
|
End Select
|
|
|
|
|
|
End Select
|
|
|
|
DGVHasChaged = True
|
|
If currentIDS.SAVE() Then
|
|
|
|
If dgvIDS.SelectedCells.Count > 0 Then
|
|
|
|
If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
|
|
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value)
|
|
End If
|
|
|
|
Else
|
|
initDGVDieselpreiseDetails()
|
|
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
End Select
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub btnOffertbearbeiten_Click(sender As Object, e As EventArgs) Handles btnEditIDS.Click
|
|
|
|
edit = True
|
|
handleEditMode(edit)
|
|
checkPerimissionsDGVDetails()
|
|
|
|
End Sub
|
|
|
|
Private Sub cbxArchivierteOfferten_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
|
|
checkPerimissionsDGVDetails()
|
|
|
|
End Sub
|
|
|
|
'Private Sub cbxArchivierteOffertenAnzeigen_CheckedChanged(sender As Object, e As EventArgs)
|
|
|
|
' If dgvIDS.SelectedRows.Count = 0 Then Exit Sub
|
|
|
|
' initDGVDieselpreiseDetails(dgvIDS.SelectedRows(0).Cells("OffertenNr").Value)
|
|
|
|
|
|
'End Sub
|
|
|
|
|
|
Private Sub checkPerimissionsDGVDetails()
|
|
|
|
Try
|
|
With dgvOfferteDetails
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DIESELPREISE_BEARBEITEN", "SDL") Then
|
|
For Each c As DataGridViewColumn In .Columns
|
|
c.ReadOnly = True
|
|
handleEditMode(False)
|
|
Next
|
|
dgvOfferteDetails.AllowUserToDeleteRows = False
|
|
Else
|
|
|
|
For Each c As DataGridViewColumn In .Columns
|
|
|
|
If isVerag360 Then
|
|
If (c.Name = "Rechenwert" Or c.Name = "Kz" Or c.Name = "OutletCountryCode" Or c.Name = "OutletCountry" Or c.Name = "ProductTypeCode" Or c.Name = "ProductDescription" Or c.Name = "KategorieNr" Or c.Name = "CustomerCode" Or c.Name = "CustomerName") Then
|
|
If edit Then
|
|
c.ReadOnly = False
|
|
handleEditMode(edit)
|
|
Else
|
|
c.ReadOnly = True
|
|
handleEditMode(edit)
|
|
End If
|
|
Else
|
|
c.ReadOnly = True
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
dgvOfferteDetails.AllowUserToDeleteRows = False
|
|
End If
|
|
|
|
End With
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub saveCurrentOffert()
|
|
Try
|
|
|
|
|
|
dgvIDS.Enabled = False
|
|
'currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(dgvIDS.SelectedRows(0).Cells("OffertenNr").Value, False)
|
|
Dim orgDataTable As DataTable = dgvOfferteDetails.DataSource
|
|
tmpDataTable = orgDataTable.Copy
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub checkPermissions()
|
|
|
|
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DIESELPREISE_BEARBEITEN", "SDL") Then
|
|
|
|
btnEditIDS.Visible = False
|
|
dgvIDS.ReadOnly = True
|
|
|
|
Else
|
|
dgvOfferteDetails.AllowUserToAddRows = True
|
|
dgvOfferteDetails.AllowUserToDeleteRows = True
|
|
dgvOfferteDetails.RowHeadersVisible = True
|
|
|
|
End If
|
|
|
|
|
|
If dgvIDS.SelectedRows.Count = 0 Then
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub handleEditMode(isInEditMode As Boolean)
|
|
|
|
If isInEditMode Then
|
|
|
|
dgvIDS.Enabled = False
|
|
dgvOfferteDetails.ReadOnly = False
|
|
btnOfferteSpeichern.Enabled = True
|
|
btnCloseEditMode.Visible = True
|
|
cbxTypes.Enabled = False
|
|
|
|
Else
|
|
|
|
dgvIDS.Enabled = True
|
|
dgvOfferteDetails.ReadOnly = True
|
|
btnOfferteSpeichern.Enabled = False
|
|
btnCloseEditMode.Visible = False
|
|
cbxTypes.Enabled = True
|
|
End If
|
|
|
|
lblEditMode.Visible = isInEditMode
|
|
End Sub
|
|
|
|
|
|
Private Sub dgvOfferteDetails_UserDeletingRow(sender As Object, e As DataGridViewRowCancelEventArgs) Handles dgvOfferteDetails.UserDeletingRow
|
|
DGVHasChaged = True
|
|
End Sub
|
|
|
|
Private Sub dgvOfferteDetails_KeyUp(sender As Object, e As KeyEventArgs) Handles dgvOfferteDetails.KeyUp
|
|
If e.KeyCode = Keys.Tab Then
|
|
|
|
dgvOfferteDetails.CurrentCell = GetNextCell(dgvOfferteDetails.CurrentCell)
|
|
e.Handled = True
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Function GetNextCell(currentCell As DataGridViewCell) As DataGridViewCell
|
|
|
|
Dim i As Integer = 0
|
|
Dim nextCell As DataGridViewCell = currentCell
|
|
Dim j = 0
|
|
Do
|
|
Dim nextCellIndex As Integer = (nextCell.ColumnIndex + j) Mod dgvOfferteDetails.ColumnCount
|
|
Dim nextRowIndex As Integer = If(nextCellIndex = 0, (nextCell.RowIndex + 1) Mod dgvOfferteDetails.RowCount, nextCell.RowIndex)
|
|
'lblIDS.Text = "C" & nextCellIndex & "R" & nextRowIndex & "RO" & IIf(nextCell.[ReadOnly], "1", "0") & "H" & IIf(Not nextCell.Visible, "1", "0")
|
|
nextCell = dgvOfferteDetails.Rows(nextRowIndex).Cells(nextCellIndex)
|
|
i += 1
|
|
j = 1
|
|
Loop While (i < (dgvOfferteDetails.RowCount * dgvOfferteDetails.ColumnCount) AndAlso (nextCell.[ReadOnly]) Or i < (dgvOfferteDetails.RowCount * dgvOfferteDetails.ColumnCount) AndAlso Not nextCell.Visible)
|
|
|
|
Return nextCell
|
|
|
|
End Function
|
|
|
|
Private Sub cbxTypes_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxTypes.SelectedIndexChanged
|
|
|
|
If dgvIDS.SelectedRows.Count > 0 Then
|
|
initDGVDieselpreiseDetails(dgvIDS.SelectedRows(0).Cells("OutletCountryCode").Value)
|
|
Else
|
|
initDGVDieselpreiseDetails()
|
|
End If
|
|
|
|
'initFilter()
|
|
initDGVWidth()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub dgvIDS_MouseDown(sender As Object, e As MouseEventArgs) Handles dgvIDS.MouseDown
|
|
|
|
Dim hit As DataGridView.HitTestInfo = dgvIDS.HitTest(e.X, e.Y)
|
|
|
|
' Prüfen ob NICHT auf eine Zelle geklickt wurde
|
|
If hit.Type = DataGridViewHitTestType.None OrElse hit.Type = DataGridViewHitTestType.ColumnHeader OrElse hit.Type = DataGridViewHitTestType.RowHeader Then
|
|
|
|
dgvIDS.ClearSelection()
|
|
initDGVDieselpreiseDetails()
|
|
Exit Sub
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub btnCloseEditMode_Click(sender As Object, e As EventArgs) Handles btnCloseEditMode.Click
|
|
edit = False
|
|
handleEditMode(edit)
|
|
checkPerimissionsDGVDetails()
|
|
End Sub
|
|
|
|
Private Sub dgvOfferteDetails_SelectionChanged(sender As Object, e As EventArgs) Handles dgvOfferteDetails.SelectionChanged
|
|
|
|
If dgvOfferteDetails.Columns.Contains("ID") Then
|
|
|
|
If dgvOfferteDetails.SelectedCells.Count > 0 Then
|
|
|
|
If dgvOfferteDetails.SelectedCells(0).RowIndex > -1 Then
|
|
currentIDS = New cIDSDieselpreisRW(dgvOfferteDetails.Rows(dgvOfferteDetails.SelectedCells(0).RowIndex).Cells("ID").Value)
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
|
|
'currentIDS = New cIDSDieselpreisRW()
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnKunde_Click(sender As Object, e As EventArgs) Handles btnKunde.Click
|
|
|
|
'1. Check ob der neue Kunde noch keine Einträge hat! -> ja -> abbrechen
|
|
'2. Check ob der Quellkunde Einträge besitzt! -> nein -> abbrechen
|
|
'3. alle Einträge durchlaufen und insert_into
|
|
|
|
If dgvOfferteDetails.Rows.Count > 0 Then
|
|
|
|
Dim newRWKunde As Integer = 0
|
|
|
|
Dim s = InputBox("Bitte die neuen IDS-KundenNr eingeben:", "KundenNr")
|
|
If Not IsNumeric(s) Then
|
|
Exit Sub
|
|
Else
|
|
newRWKunde = s
|
|
Dim adresse As New cAdressen(s)
|
|
If Not adresse.hasEntry Then
|
|
MsgBox("Der Kunde ist nicht in der Datenbank angelegt!" & vbNewLine & "Vorgang wird abgebrochen!")
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
Dim count As Integer = 0
|
|
|
|
Dim countString As String = SQL.getValueTxtBySql("select count(*) from tbl_IDS_Rechenwerte where CustomerCode =" & newRWKunde, "FMZOLL")
|
|
If countString <> "" Then
|
|
count = CInt(countString)
|
|
End If
|
|
|
|
If newRWKunde > 0 Then
|
|
|
|
If count > 0 Then
|
|
MsgBox("Es gibt bereits Rechnenwerte für die IDS-KundenNr " & newRWKunde & "!" & vbNewLine & "Vorgang wird abgebrochen!")
|
|
Exit Sub
|
|
End If
|
|
|
|
If vbYes = MsgBox("Möchten Sie die Rechenwerte von Kunden " & Kunde & " übernehmen?" & vbNewLine & "Es werden alle verfügbaren Rechenwerte auf den neuen Kunden kopiert!", vbYesNoCancel) Then
|
|
Dim counter As Integer = 0
|
|
'do-it
|
|
|
|
Dim dt As New DataTable
|
|
dt = SQL.loadDgvBySql("SELECT [OutletCountryCode],[OutletCode],[CustomerCode],[ProductTypeCode],[Rechenwert],[Kz],[Zeitstempel],[Sachbearbeiter],[KategorieNr] FROM tbl_IDS_Rechenwerte where CustomerCode =" & Kunde, "FMZOLL")
|
|
|
|
If dt IsNot Nothing Then
|
|
|
|
For Each r In dt.Rows
|
|
|
|
If SQL.doSQL("INSERT INTO [tbl_IDS_Rechenwerte] ([OutletCountryCode],[OutletCode],[CustomerCode],[ProductTypeCode],[Rechenwert],[Kz],[Zeitstempel],[Sachbearbeiter],[KategorieNr])
|
|
VALUES ('" & r(0) & "','" & r(1) & "','" & newRWKunde & "','" & r(3) & "','" & r(4) & "','" & r(5) & "','" & Now() & "','" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & "','" & r(8) & "')", "FMZOLL") Then counter += 1
|
|
|
|
Next
|
|
|
|
info(counter & " Datensätze wurden angelegt!")
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub dgvOfferteDetails_ColumnWidthChanged(sender As Object, e As DataGridViewColumnEventArgs) Handles dgvOfferteDetails.ColumnWidthChanged
|
|
initfilterColumnsWidth()
|
|
End Sub
|
|
|
|
Private Sub dgvFILTER_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFILTER.CellValueChanged
|
|
|
|
|
|
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
|
|
Dim dgv As DataGridView = CType(sender, DataGridView)
|
|
' Spaltenname
|
|
Dim colName As String = dgv.Columns(e.ColumnIndex).Name
|
|
|
|
' Neuer Wert (Nothing prüfen, falls leer)
|
|
Dim newValue As Object = dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
|
|
|
|
|
|
If colName = "CustomerCode" AndAlso IsNumeric(newValue) Then
|
|
Kunde = newValue
|
|
btnKunde.Visible = True
|
|
Else
|
|
btnKunde.Visible = False
|
|
End If
|
|
|
|
If colName = "Rechenwert" AndAlso IsNumeric(newValue) Then
|
|
RW = newValue
|
|
btnRW.Visible = True
|
|
Else
|
|
btnRW.Visible = False
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
If dgvIDS.SelectedCells.Count > 0 Then
|
|
|
|
If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
|
|
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value, True)
|
|
Else
|
|
initDGVDieselpreiseDetails(, True)
|
|
|
|
End If
|
|
Else
|
|
initDGVDieselpreiseDetails(, True)
|
|
|
|
End If
|
|
|
|
initfilterColumnsWidth()
|
|
End Sub
|
|
|
|
Private Sub dgvFILTER_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFILTER.CellContentClick
|
|
If dgvFILTER.Columns(e.ColumnIndex).GetType Is GetType(DataGridViewCheckBoxColumn) Then
|
|
dgvIDS.Focus()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub dgvFILTER_SelectionChanged(sender As Object, e As EventArgs) Handles dgvFILTER.SelectionChanged
|
|
dgvFILTER.ClearSelection()
|
|
End Sub
|
|
|
|
Private Sub btnRW_Click(sender As Object, e As EventArgs) Handles btnRW.Click
|
|
|
|
If dgvOfferteDetails.Rows.Count > 0 Then
|
|
|
|
Dim newRW As Double = 0
|
|
|
|
Dim s = InputBox("Bitte den neuen RW eingeben:", "Rechenwert")
|
|
If IsNumeric(s) Then
|
|
newRW = s
|
|
Else
|
|
Exit Sub
|
|
End If
|
|
|
|
If vbYes = MsgBox("Möchten Sie den Rechenwert von " & RW & " auf " & s & " setzen?", vbYesNoCancel) Then
|
|
|
|
Dim counter As Integer = 0
|
|
For Each r As DataGridViewRow In dgvOfferteDetails.Rows
|
|
|
|
If r.Cells("ID").Value IsNot Nothing AndAlso IsNumeric(r.Cells("ID").Value) Then
|
|
|
|
Dim curDP = New VERAG_PROG_ALLGEMEIN.cIDSDieselpreisRW(r.Cells("ID").Value)
|
|
curDP.Rechenwert = s.Replace(",", ".")
|
|
curDP.Zeitstempel = Now()
|
|
curDP.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
If curDP.SAVE() Then counter += 1
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
If dgvIDS.SelectedCells.Count > 0 Then
|
|
|
|
If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
|
|
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value, True)
|
|
Else
|
|
initDGVDieselpreiseDetails(, True)
|
|
|
|
End If
|
|
Else
|
|
initDGVDieselpreiseDetails(, True)
|
|
|
|
End If
|
|
|
|
info(counter & " Datensätze wurden aktualisiert!")
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub info(text As String)
|
|
|
|
If text <> "" Then
|
|
MsgBox(text)
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
End Class
|