MS V 2.6.9 Indexierung Vektorfeld mit Vektor
This commit is contained in:
parent
8c824f3f59
commit
48d21617c9
@ -208,24 +208,16 @@ Public Class ClassPatterns
|
||||
|
||||
If oFoundControl IsNot Nothing Then
|
||||
Dim oValue As String = String.Empty
|
||||
|
||||
Dim oTypeString = oFoundControl
|
||||
LOGGER.Debug("Found Control [{0}], continuing with setting value..", oFoundControl.Name)
|
||||
|
||||
If TypeOf oFoundControl Is TextEdit Then
|
||||
Try
|
||||
oValue = DirectCast(oFoundControl, TextEdit).Text
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Warn("Control Value for TextBox [{0}] could not be retrieved!", oFoundControl.Name)
|
||||
End Try
|
||||
ElseIf TypeOf oFoundControl Is CheckBox Then
|
||||
Try
|
||||
oValue = IIf(DirectCast(oFoundControl, CheckBox).Checked, 1, 0)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Warn("Control Value for CheckBox [{0}] could not be retrieved!", oFoundControl.Name)
|
||||
End Try
|
||||
ElseIf TypeOf oFoundControl Is LookupControl3 Then
|
||||
If TypeOf (oFoundControl) Is LookupControl3 Then
|
||||
LOGGER.Debug("oTypeString LookupControl3")
|
||||
ElseIf TypeOf (oFoundControl) Is Checkbox Then
|
||||
LOGGER.Debug("oTypeString CheckBox")
|
||||
ElseIf TypeOf (oFoundControl) Is TextEdit Then
|
||||
LOGGER.Debug("oTypeString TextEdit")
|
||||
End If
|
||||
If TypeOf (oFoundControl) Is LookupControl3 Then
|
||||
Try
|
||||
Dim oLookupControl = DirectCast(oFoundControl, LookupControl3)
|
||||
|
||||
@ -234,8 +226,19 @@ Public Class ClassPatterns
|
||||
Case ClassConstants.INDEX_TYPE_INTEGER
|
||||
oValue = String.Join(",", oLookupControl.Properties.SelectedValues)
|
||||
Case ClassConstants.INDEX_TYPE_VARCHAR
|
||||
Dim oWrapped = oLookupControl.Properties.SelectedValues
|
||||
oValue = String.Join(",", oWrapped)
|
||||
Dim oIndex As Integer = 0
|
||||
For Each oString As String In oLookupControl.Properties.SelectedValues
|
||||
If oIndex = 0 Then
|
||||
oValue = "'" + oString + "'"
|
||||
Else
|
||||
oValue += ", '" + oString + "'"
|
||||
End If
|
||||
oIndex += 1
|
||||
Next
|
||||
|
||||
|
||||
'Dim oWrapped = oLookupControl.Properties.SelectedValues
|
||||
'oValue = String.Join(",", oWrapped)
|
||||
Case Else
|
||||
LOGGER.Warn("Lookup Control with [{0}] is not supported!", oFoundType)
|
||||
End Select
|
||||
@ -246,6 +249,20 @@ Public Class ClassPatterns
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Warn("Control Value for LookupControl3 [{0}] could not be retrieved!", oFoundControl.Name)
|
||||
End Try
|
||||
ElseIf TypeOf (oFoundControl) Is TextEdit Then
|
||||
Try
|
||||
oValue = DirectCast(oFoundControl, TextEdit).Text
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Warn("Control Value for TextBox [{0}] could not be retrieved!", oFoundControl.Name)
|
||||
End Try
|
||||
ElseIf TypeOf (oFoundControl) Is CheckBox Then
|
||||
Try
|
||||
oValue = IIf(DirectCast(oFoundControl, CheckBox).Checked, 1, 0)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Warn("Control Value for CheckBox [{0}] could not be retrieved!", oFoundControl.Name)
|
||||
End Try
|
||||
Else
|
||||
LOGGER.Debug("Unknown Control type for type [{0}], setting value to empty string.", oFoundControl.Name)
|
||||
oValue = ""
|
||||
|
||||
@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.8.3")>
|
||||
<Assembly: AssemblyVersion("2.6.9.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
|
||||
<Assembly: NeutralResourcesLanguageAttribute("")>
|
||||
2
Global_Indexer/frmIndex.designer.vb
generated
2
Global_Indexer/frmIndex.designer.vb
generated
@ -236,7 +236,7 @@ Partial Class frmIndex
|
||||
resources.ApplyResources(Me.btnOK, "btnOK")
|
||||
Me.btnOK.Appearance.Font = CType(resources.GetObject("btnOK.Appearance.Font"), System.Drawing.Font)
|
||||
Me.btnOK.Appearance.Options.UseFont = True
|
||||
Me.btnOK.ImageOptions.SvgImage = CType(resources.GetObject("btnOK.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.btnOK.ImageOptions.Image = CType(resources.GetObject("btnOK.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.btnOK.Name = "btnOK"
|
||||
'
|
||||
'ComboboxDoctype
|
||||
|
||||
@ -444,21 +444,28 @@
|
||||
<data name="btnOK.Appearance.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 11.25pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="btnOK.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btnOK.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEQCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
|
||||
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
|
||||
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
|
||||
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
|
||||
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
|
||||
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
|
||||
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFycm93NFJpZ2h0Ij4NCiAgICA8cG9seWdvbiBwb2lu
|
||||
dHM9IjE4LDYgMTIuMyw2IDIwLjMsMTQgNCwxNCA0LDE4IDIwLjMsMTggMTIuMywyNiAxOCwyNiAyOCwx
|
||||
NiAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAEXRFWHRUaXRsZQBQbGF5O1N0
|
||||
YXJ0O11hQHoAAAP6SURBVFhHxZZ9UFRVHIY145pMNukflul/NX3MGKI2sWqBKbPysSaN60fZmGgSOJpa
|
||||
jk0oybCyuCQIiLiuH+vigpECq0IYM62ZgrB8udaIkSCuZug4WTbONM3Y2++ebkznnEuDMGvPzDvDfe45
|
||||
5733XHbvDgHwv0ZfBhGpSxRMBhGpSxRMBhGpSxRMBhGpSxRM8gy1f/l6xY7j8WO140EhdYmCSZ5h9hNz
|
||||
QPl5Z1X8u6a3n3tI8wNC6hIFkzwhO78wob7LDcfXK1BYbfLmH417Wjt330hdomCSR9lxPA43f/Pjyu0m
|
||||
HPZtAh3fzffErn/fGvGwNqbfSF2iYJJHyfPEoudOC/zX96HzVjWarpTD4U3G9srY5uzPjOHauH4hdYmC
|
||||
SR4lp3w2rv/aiOZAAcuFnlIEbp+Fp9kCOvfHtiPGLRt3RT6ijf9PpC5RMMmjZH9uxNVfzsAXyOfSfuMI
|
||||
/D9WYfdXK2ErM160lkRHanP6ROoSBZM8SlZpNLpu1aKxe7uU1qsOXLxRgWMtNtC4e5nuWUVpjqjHtLkS
|
||||
UpcomORRthyciXPXXKjrsqH+co5u1PMXemqw37saluKZgQzXa/HafA6pSxRM8ijpzhnwdRfi6PllON2Z
|
||||
hbrObN2cvZwL/7ViVLfl4NOKhdi8P6o01f7qGG0dhtQlCiZ5lLQ9kVSwDWUtC1DetgTe7zfj9CVbn2ns
|
||||
LkL7T5UoqlkGmnuT1uj98pK6RMEkj/Kx/RWc7LCgtHmeFjM859+DtyMDp37I6s03l7bSR3Q3PQ43XKfW
|
||||
gubdW18wzUlrDPt7qQFewIbCaahtT4Xbl8ClxPcGDrcuQdW3a+gCtqIl4ES130rbvwjrcg3fmVNeMNH8
|
||||
RymDu4AP8gxUsg6uhjlSSnxmeizL4TmXgvQyIxVH3EncGP5J6MgQ9dmPoKjflkPVhVSkLlEwyaOsyXkZ
|
||||
lW3JcNbHcTnU9CYqWpNgO2YCjfkzKWNy5dSY8S/SHPWuQyjSi0vqEgWTPMoq20v0D7gUe+tiWFwNCezY
|
||||
fnIeNhyIQkrm5I6EFc+aaezjlOEUdct77/rfSF2iYJJHSbFOgbtxIfacmY0D9XNR3GBG6sEZSM6ccvet
|
||||
DydYRz8x4kkaF0rhtlsPqUsUTPIoSZZJcNYlUObCUj4LqwoMeCc1rMYQM24SnR9J0d1uPaQuUTDJoyxP
|
||||
D0debTTWOqZj6aaJ3fGJzywmP4qivoD63G49pC5RMMmjJKaFUXHY7/NXP587ZnzoOHL92m49pC5RMMkT
|
||||
svijCSciYp4y0N/qS0ahDPhnmdQlCiZ51C1WP8/3vd16SF2iYJJHLVTveFDF/yB1iYLJICJ1iYLJICJ1
|
||||
ieJBR1c+uGDIX5FNOTp9s3ZWAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
|
||||
@ -2196,9 +2196,10 @@ Public Class frmIndex
|
||||
If oDatatable.Rows.Count = 0 Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
Dim oIndexName As String
|
||||
' 1. Schritt: Einfach-Indexe und Platzhalter ersetzen
|
||||
For Each oRow As DataRow In oDatatable
|
||||
oIndexName = oRow.Item("INDEXNAME")
|
||||
_Logger.Info("Working on AutomaticIndex: " & oRow.Item("INDEXNAME") & "...")
|
||||
Dim oSqlResult As String = oRow.ItemEx("SQL_RESULT", "")
|
||||
Dim oSqlActive As Boolean = oRow.ItemEx("SQL_ACTIVE", False)
|
||||
@ -2268,33 +2269,51 @@ Public Class frmIndex
|
||||
|
||||
' 2. Schritt: Vektorfelder ersetzen
|
||||
Dim oVectorMatches As MatchCollection = oRegex.Matches(oSqlResult)
|
||||
If oVectorMatches.Count > 0 Then
|
||||
_Logger.Info(" There are " & oVectorMatches.Count & " matches for vectors!")
|
||||
Dim oIsFirstMatch = True
|
||||
|
||||
For Each oVectorMatch As Match In oVectorMatches
|
||||
Dim oIndexValue As String = StripPlaceholder(oVectorMatch.Value)
|
||||
Dim oOptionalIndex = False
|
||||
Dim oManualIndexResult As String = Nothing
|
||||
|
||||
oOptionalIndex = DATABASE_ECM.GetScalarValue($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')")
|
||||
oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex)
|
||||
|
||||
Dim oVectorIndexValues = oManualIndexResult.Split(ClassConstants.VECTORSEPARATOR).ToList()
|
||||
|
||||
For Each oVectorIndexValue In oVectorIndexValues
|
||||
Dim oTempSql = oSqlResult.Replace(oVectorMatch.Value, oVectorIndexValue)
|
||||
Dim oResult = GetAutomaticIndexSQLValue(oTempSql, oSqlConnectionId, oSqlProvider)
|
||||
oEndResult.Add(oResult)
|
||||
Next
|
||||
|
||||
' Verhindert, dass die Schleife mehrmals durchlaufen wird
|
||||
If oIsFirstMatch Then
|
||||
Exit For
|
||||
If oVectorMatches.Count > 0 Or oIndexName.Contains("Vektor") Then
|
||||
Dim oResult = GetAutomaticIndexSQLValue(oSqlResult, oSqlConnectionId, oSqlProvider)
|
||||
Dim oConnectionString As String
|
||||
oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(oSqlConnectionId)
|
||||
Try
|
||||
Dim oResultDT As DataTable = DATABASE_ECM.GetDatatable(oSqlResult)
|
||||
If Not IsNothing(oResultDT) Then
|
||||
_Logger.Info("We got [" & oResultDT.Rows.Count & "] result(s) for the vector-field!")
|
||||
For Each oResultRow As DataRow In oResultDT.Rows
|
||||
oEndResult.Add(oResultRow.Item(0))
|
||||
Next
|
||||
End If
|
||||
oRow.Item("Indexiert") = True
|
||||
oRow.Item("Indexwert") = String.Join(ClassConstants.VECTORSEPARATOR, oEndResult.ToArray)
|
||||
Next
|
||||
If oEndResult.Count > 0 Then
|
||||
oRow.Item("Indexiert") = True
|
||||
oRow.Item("Indexwert") = String.Join(ClassConstants.VECTORSEPARATOR, oEndResult.ToArray)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ShowErrorMessage(ex, $"FillIndexe_Autom - Vektorfield [{oIndexName}] ")
|
||||
End Try
|
||||
|
||||
'Dim oIsFirstMatch = True
|
||||
'D
|
||||
'For Each oVectorMatch As Match In oVectorMatches
|
||||
' Dim oIndexValue As String = StripPlaceholder(oVectorMatch.Value)
|
||||
' Dim oOptionalIndex = False
|
||||
' Dim oManualIndexResult As String = Nothing
|
||||
|
||||
' oOptionalIndex = DATABASE_ECM.GetScalarValue($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')")
|
||||
' oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex)
|
||||
|
||||
' Dim oVectorIndexValues = oManualIndexResult.Split(ClassConstants.VECTORSEPARATOR).ToList()
|
||||
|
||||
' For Each oVectorIndexValue In oVectorIndexValues
|
||||
' Dim oTempSql = oSqlResult.Replace(oVectorMatch.Value, oVectorIndexValue)
|
||||
' Dim oResult = GetAutomaticIndexSQLValue(oTempSql, oSqlConnectionId, oSqlProvider)
|
||||
' oEndResult.Add(oResult)
|
||||
' Next
|
||||
|
||||
' ' Verhindert, dass die Schleife mehrmals durchlaufen wird
|
||||
' If oIsFirstMatch Then
|
||||
' Exit For
|
||||
' End If
|
||||
' oRow.Item("Indexiert") = True
|
||||
' oRow.Item("Indexwert") = String.Join(ClassConstants.VECTORSEPARATOR, oEndResult.ToArray)
|
||||
'Next
|
||||
Else
|
||||
Dim oResult = GetAutomaticIndexSQLValue(oSqlResult, oSqlConnectionId, oSqlProvider)
|
||||
_Logger.Info("Got a simple SQLResult: " & oResult.ToString)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user