Imports System.Data.SQLite Imports UTS_Core.Database.Sqlite Imports UTS_Core.UTSModule.DatabaseTable Namespace UTSModule.Project Public Class StationPlanCommandHelper Sub New() Params = New List(Of Station.CommandParam)() End Sub Public Property CommandIndex() As String Public Property CommandType() As String Public Property CommandName() As String Public Property CommandDesc() As String Public Property Retry() As String Public Property RetryInterval() As String Public Property Record() As String Public Property RecordName() As String Public Property PassGoto() As String Public Property FailGoto() As String Public Property ErrorCode() As String Public Property ErrorMessage() As String Public Property Help() As String Public Property Params() As List(Of Station.CommandParam) Private Shared Function SearchCommand(path As String, password As String) As DataTable Dim connectString As String = CommandHelpers.ConnectionString(path, password) Using sqliteConn As New SQLiteConnection(connectString) sqliteConn.Open() Dim tableName As String = CommandHelperTable.TableName Dim colNames As New List(Of String) colNames.Add(CommandHelperTable.ColNamesEnum.ID.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.CommandIndex.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.CommandType.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.CommandName.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.CommandDesc.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.Retry.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.RetryInterval.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.Record.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.RecordName.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.PassGoto.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.FailGoto.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ErrorCode.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ErrorMessage.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.Help.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamDesc1.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamType1.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamLower1.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamUpper1.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamValue1.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamDesc2.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamType2.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamLower2.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamUpper2.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamValue2.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamDesc3.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamType3.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamLower3.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamUpper3.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamValue3.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamDesc4.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamType4.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamLower4.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamUpper4.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamValue4.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamDesc5.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamType5.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamLower5.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamUpper5.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamValue5.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamDesc6.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamType6.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamLower6.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamUpper6.ToString()) colNames.Add(CommandHelperTable.ColNamesEnum.ParamValue6.ToString()) Return Executor.Search(sqliteConn, tableName, colNames) sqliteConn.Close() End Using End Function Public Function InitCommandHelper(dtRow As DataRow) As Boolean CommandIndex = dtRow.Item(CommandHelperTable.ColNamesEnum.CommandIndex).ToString() CommandType = dtRow.Item(CommandHelperTable.ColNamesEnum.CommandType).ToString() CommandName = dtRow.Item(CommandHelperTable.ColNamesEnum.CommandName).ToString() CommandDesc = dtRow.Item(CommandHelperTable.ColNamesEnum.CommandDesc).ToString() Retry = dtRow.Item(CommandHelperTable.ColNamesEnum.Retry).ToString() RetryInterval = dtRow.Item(CommandHelperTable.ColNamesEnum.RetryInterval).ToString() Record = dtRow.Item(CommandHelperTable.ColNamesEnum.Record).ToString() RecordName = dtRow.Item(CommandHelperTable.ColNamesEnum.RecordName).ToString() PassGoto = dtRow.Item(CommandHelperTable.ColNamesEnum.PassGoto).ToString() FailGoto = dtRow.Item(CommandHelperTable.ColNamesEnum.FailGoto).ToString() ErrorCode = dtRow.Item(CommandHelperTable.ColNamesEnum.ErrorCode).ToString() ErrorMessage = dtRow.Item(CommandHelperTable.ColNamesEnum.ErrorMessage).ToString() Help = dtRow.Item(CommandHelperTable.ColNamesEnum.Help).ToString() Params.Clear() Dim param As New Station.CommandParam param.Desc = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamDesc1).ToString() param.Type = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamType1).ToString() param.LowerLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamLower1).ToString() param.UpperLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamUpper1).ToString() param.Value = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamValue1).ToString() if String.IsNullOrEmpty(param.Desc) Then param.Desc = "未使用" Params.Add(param) Dim param2 As New Station.CommandParam param2.Desc = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamDesc2).ToString() param2.Type = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamType2).ToString() param2.LowerLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamLower2).ToString() param2.UpperLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamUpper2).ToString() param2.Value = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamValue2).ToString() if String.IsNullOrEmpty(param2.Desc) Then param2.Desc = "未使用" Params.Add(param2) Dim param3 As New Station.CommandParam param3.Desc = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamDesc3).ToString() param3.Type = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamType3).ToString() param3.LowerLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamLower3).ToString() param3.UpperLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamUpper3).ToString() param3.Value = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamValue3).ToString() if String.IsNullOrEmpty(param3.Desc) Then param3.Desc = "未使用" Params.Add(param3) Dim param4 As New Station.CommandParam param4.Desc = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamDesc4).ToString() param4.Type = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamType4).ToString() param4.LowerLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamLower5).ToString() param4.UpperLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamUpper5).ToString() param4.Value = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamValue5).ToString() if String.IsNullOrEmpty(param4.Desc) Then param4.Desc = "未使用" Params.Add(param4) Dim param5 As New Station.CommandParam param5.Desc = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamDesc5).ToString() param5.Type = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamType5).ToString() param5.LowerLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamLower5).ToString() param5.UpperLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamUpper5).ToString() param5.Value = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamValue5).ToString() if String.IsNullOrEmpty(param5.Desc) Then param5.Desc = "未使用" Params.Add(param5) Dim param6 As New Station.CommandParam param6.Desc = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamDesc6).ToString() param6.Type = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamType6).ToString() param6.LowerLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamLower6).ToString() param6.UpperLimit = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamUpper6).ToString() param6.Value = dtRow.Item(CommandHelperTable.ColNamesEnum.ParamValue6).ToString() if String.IsNullOrEmpty(param6.Desc) Then param6.Desc = "未使用" Params.Add(param6) Return True End Function Public Shared Function InitCommandHelper(dtCommand As DataTable) As Dictionary(Of String, StationPlanCommandHelper) Dim dicCommandHelpers As New Dictionary(Of String, StationPlanCommandHelper) For row As Integer = 0 To dtCommand.Rows.Count - 1 Dim commandHelper As New StationPlanCommandHelper commandHelper.InitCommandHelper(dtCommand.Rows(row)) dicCommandHelpers.Add(commandHelper.CommandIndex, commandHelper) Next Return dicCommandHelpers End Function ''' ''' 初始化流程站帮助信息 ''' 从本地数据库中读取 ''' ''' 本地数据库路径 ''' 本地数据库密码 ''' 初始化是否成功 Public Shared Function InitCommandHelper(path As String, password As String) As Dictionary(Of String, StationPlanCommandHelper) '查询数据表 Dim dtCommand As DataTable = SearchCommand(path, password) '赋值 Return InitCommandHelper(dtCommand) End Function End Class End Namespace