MS FlowSearch und Ansatz DocumentResultlist

This commit is contained in:
2021-02-02 11:06:42 +01:00
parent 15653490b1
commit de685806f0
20 changed files with 635 additions and 156 deletions

View File

@@ -2,6 +2,7 @@
Imports DevExpress.XtraEditors
Imports DigitalData.GUIs.Common
Imports DevExpress.XtraSplashScreen
Imports DevExpress.XtraBars
Public Class frmFlowSearch
Private Logger As Logger
@@ -14,6 +15,9 @@ Public Class frmFlowSearch
Dim BASE_SEARCHCommand As String
Private LastSearchForm As frmDocumentResultList
Private ASorDB As ClassDataASorDB
Private EventtoggleChange As Boolean = False
Private SEARCH_FACT_DATE As String = "MONTH(OBJ.ADDED_WHEN) <> 13"
Public Sub New(pBaseSearchSql As String)
@@ -33,7 +37,7 @@ Public Class frmFlowSearch
Exit Sub
End If
lblFoundResult.Visible = False
SearchContent(Trim(txtSearch.Text))
Start_FlowSearch()
Catch ex As Exception
lblFoundResult.Text = "Unexpected error in FlowSearch - Check Your log"
@@ -49,6 +53,11 @@ Public Class frmFlowSearch
Try
oLastAttribute = ""
Dim oSQL = BASE_SEARCHCommand.Replace("@SEARCH_STRING", oSearchValue)
If BarToggleSwitchItemDateALL.Checked = False Then
oSQL = oSQL.Replace("MONTH(OBJ.ADDED_WHEN) <> 13", SEARCH_FACT_DATE)
End If
Dim oResultCountAttributes As Integer = 0
TileControlMatch.Groups.Clear()
@@ -100,7 +109,8 @@ Public Class frmFlowSearch
Else
If oResultsfromSearchDT.Rows.Count = 0 Then
Reset_Form()
lblFoundResult.Text = "No Results"
lblFoundResult.Visible = True
End If
End If
@@ -122,9 +132,14 @@ Public Class frmFlowSearch
Try
oHandle = SplashScreenManager.ShowOverlayForm(Me)
Dim oEXECSQL = $"EXEC PRFLOW_SEARCH_GET_RESULT '{pSearchValue}',{My.Application.User.UserId},'{oSearchData.SelectInStringAttributeIds}','{oSearchData.SelectInIntegerAttributeIds}'"
Dim oEXECSQL = $"EXEC PRFLOW_SEARCH_GET_RESULT '{pSearchValue}','{SEARCH_FACT_DATE}', {My.Application.User.UserId},'{oSearchData.SelectInStringAttributeIds}','{oSearchData.SelectInIntegerAttributeIds}'"
Dim oDTOBJECT_RESULT As DataTable = My.DatabaseIDB.GetDatatable(oEXECSQL)
If Not IsNothing(oDTOBJECT_RESULT) Then
If oDTOBJECT_RESULT.Rows.Count = 0 Then
lblFoundResult.Text = "No Results"
lblFoundResult.Visible = True
Return False
End If
oItemsFound = True
OpenResultForm(oDTOBJECT_RESULT)
End If
@@ -296,4 +311,115 @@ Public Class frmFlowSearch
Logger.Error(ex)
End Try
End Sub
Private Sub BarToggleSwitchItem_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarToggleSwitchItemCURRENTYEAR.CheckedChanged, BarToggleSwitchItemLASTYEAR.CheckedChanged, BarToggleSwitchItemCURRENTMONTH.CheckedChanged,
BarToggleSwitchItemLASTMONTH.CheckedChanged, BarToggleSwitchItemTODAY.CheckedChanged, BarToggleSwitchItemYESTERDAY.CheckedChanged
Dim btsi As BarToggleSwitchItem = TryCast(sender, BarToggleSwitchItem)
If btsi.Checked = True Then
BarToggleSwitchItemDateALL.Checked = False
Dim oWHENDATE As String
Select Case btsi.Name
Case "BarToggleSwitchItemCURRENTYEAR"
oWHENDATE = "YEAR(OBJ.ADDED_WHEN) = YEAR(GETDATE())"
Case "BarToggleSwitchItemLASTYEAR"
oWHENDATE = "YEAR(OBJ.ADDED_WHEN) = (YEAR(GETDATE()) -1)"
Case "BarToggleSwitchItemCURRENTMONTH"
Case "BarToggleSwitchItemLASTMONTH"
Dim currentDate As DateTime = DateTime.Now
If currentDate.Month = 1 Then
oWHENDATE = "MONTH(OBJ.ADDED_WHEN) = 12 " & vbNewLine & "AND YEAR(OBJ.ADDED_WHEN) = (YEAR(GETDATE()) -1)"
Else
oWHENDATE = "MONTH(OBJ.ADDED_WHEN) = MONTH(GETDATE())"
End If
Case "BarToggleSwitchItemTODAY"
oWHENDATE = "convert(DATE,OBJ.ADDED_WHEN) = convert(DATE,GETDATE())"
Case "BarToggleSwitchItemYESTERDAY"
oWHENDATE = "convert(DATE,OBJ.ADDED_WHEN) = convert(DATE,GETDATE()-1)"
End Select
SEARCH_FACT_DATE = oWHENDATE
Select Case btsi.Name
Case "BarToggleSwitchItemCURRENTYEAR"
BarToggleSwitchItemLASTYEAR.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemLASTMONTH.Checked = False
BarToggleSwitchItemTODAY.Checked = False
BarToggleSwitchItemYESTERDAY.Checked = False
Case "BarToggleSwitchItemLASTYEAR"
BarToggleSwitchItemCURRENTYEAR.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemLASTMONTH.Checked = False
BarToggleSwitchItemTODAY.Checked = False
BarToggleSwitchItemYESTERDAY.Checked = False
Case "BarToggleSwitchItemCURRENTMONTH"
BarToggleSwitchItemCURRENTYEAR.Checked = False
BarToggleSwitchItemLASTYEAR.Checked = False
BarToggleSwitchItemLASTMONTH.Checked = False
BarToggleSwitchItemTODAY.Checked = False
BarToggleSwitchItemYESTERDAY.Checked = False
Case "BarToggleSwitchItemLASTMONTH"
BarToggleSwitchItemCURRENTYEAR.Checked = False
BarToggleSwitchItemLASTYEAR.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemTODAY.Checked = False
BarToggleSwitchItemYESTERDAY.Checked = False
Case "BarToggleSwitchItemTODAY"
BarToggleSwitchItemCURRENTYEAR.Checked = False
BarToggleSwitchItemLASTYEAR.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemYESTERDAY.Checked = False
Case "BarToggleSwitchItemYESTERDAY"
BarToggleSwitchItemCURRENTYEAR.Checked = False
BarToggleSwitchItemLASTYEAR.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemTODAY.Checked = False
End Select
Start_FlowSearch()
End If
End Sub
Private Sub BarToggleSwitchItemDateALL_CheckedChanged(sender As Object, e As ItemClickEventArgs) Handles BarToggleSwitchItemDateALL.CheckedChanged
Dim btn As BarToggleSwitchItem = TryCast(sender, BarToggleSwitchItem)
If btn.Checked = True Then
BarToggleSwitchItemCURRENTYEAR.Checked = False
BarToggleSwitchItemLASTYEAR.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemLASTMONTH.Checked = False
BarToggleSwitchItemCURRENTMONTH.Checked = False
BarToggleSwitchItemTODAY.Checked = False
SEARCH_FACT_DATE = "MONTH(OBJ.ADDED_WHEN) <> 13"
End If
Start_FlowSearch()
End Sub
Sub Start_FlowSearch(Optional AllOver As Boolean = False)
If txtSearch.Text <> String.Empty Or AllOver = True Then
SearchContent(Trim(txtSearch.Text))
End If
End Sub
Private Sub btnFindAll_Click(sender As Object, e As EventArgs)
End Sub
Private Sub CheckButton1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckButton1.CheckedChanged
If BarToggleSwitchItemDateALL.Checked = True Then
Dim result As MsgBoxResult
If My.Application.User.Language = "de-DE" Then
result = MessageBox.Show("Wollen Sie wirklich eine Suche über alle Objekte starten?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Else
result = MessageBox.Show("Do You really want to start a search without limitation?", "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
End If
If result = MsgBoxResult.No Then
Exit Sub
End If
End If
StartSearch_Full("")
CheckButton1.Checked = True
End Sub
Private Sub btnFindAll_Click_1(sender As Object, e As EventArgs)
End Sub
End Class