初始化项目

This commit is contained in:
2025-12-11 14:22:51 +08:00
commit 4243e3e4d8
919 changed files with 840529 additions and 0 deletions

View File

@@ -0,0 +1,470 @@
Imports System.Data.SqlClient
Public Class SqlServerDAL
''' <summary>
''' SQL连接
''' </summary>
Public _sqlConn As New SqlConnection
''' <summary>
''' SQL适配器
''' </summary>
Public _sqlDateAdap As New SqlDataAdapter
''' <summary>
''' SQL数据集
''' </summary>
Public _sqlDataSet As DataSet
Public DbConnString As String = "Server=blv-cloud-db.mysql.rds.aliyuncs.com;Port=3307;Database=blv_rcu_db;Uid=blv_rcu;Pwd=fnadiaJDIJ7546;charset=utf8;"
''' <summary>
''' 是否连接数据库
''' </summary>
Public _isConn As Boolean
''' <summary>
''' 初始化
''' </summary>
Sub New()
End Sub
Public Function SelectTable(sqlstr As String) As Dictionary(Of String, String)
Dim dic As New Dictionary(Of String, String)
Dim dt As New DataTable
Try
'Using db As New DbExecutor(DbExecutor.DbTypeEnum.Mssql, DbConnString)
Using db As New DbExecutor(DbExecutor.DbTypeEnum.Mysql, DbConnString)
db.Open()
dt = db.ExecuteDataTable(sqlstr)
db.Close()
End Using
If Not IsNothingdt Then
For Each dtrow As DataRow In dt.Rows
For i As Integer = 0 To dt.Columns.Count - 1
dic.Add(dt.Columns(i).ColumnName, dtrow.Item(i).ToString)
Next
Next
End If
Catch ex As Exception
End Try
Return dic
End Function
#Region "数据源连接"
''' <summary>
''' 连接数据库
''' </summary>
''' <param name="IPAddress">IP地址或计算名</param>
''' <param name="DataBaseName">数据库名</param>
''' <param name="Conn">安全连接情况真或假若是Windows验证方式则为真若是用户名及密码登录则为假</param>
''' <param name="User">上项为假时,提供用户名</param>
''' <param name="Password">上项为假时,提供密码</param>
Public Sub ConnDataBase(IPAddress As String, DataBaseName As String, Conn As Boolean, User As String, Password As String)
Dim cnStr As String = $"Data Source={IPAddress};Initial Catalog={DataBaseName};Integrated Security={Conn};User ID={User};Password={Password};"
Try
_sqlConn = New SqlConnection(cnStr)
_sqlConn.Open()
_isConn = True
Catch ex As SqlException
_isConn = False
MsgBox($"Error SqlConn! {ex.Message}")
Catch ex As Exception
_isConn = False
MsgBox($"Error Message! {ex.Message}")
End Try
End Sub
#End Region
#Region "多语种信息"
''' <summary>
''' 获取多语种版本信息
''' </summary>
''' <returns></returns>
Public Function GetCloudVersionInfo() As DataTable
Dim dtUser As DataTable = New DataTable()
Dim queryStr As String = $"Select a.Language, a.Version from TBL_Multilingual a
Left Join TBL_MultilingualApps b on a.ApplicationID = b.ID
where b.Application = '{Application.ProductName}'"
_sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
'Console.WriteLine($"查询语种版本:{queryStr}")
_sqlDateAdap.Fill(dtUser)
Return dtUser
End Function
''' <summary>
''' 获取多语种版本信息
''' </summary>
''' <returns></returns>
Public Function GetCloudDataInfo(languageName As String) As DataTable
Dim dtUser As DataTable = New DataTable()
Dim queryStr As String = $"Select a.{languageName} from TBL_MultilingualData a
left join TBL_Multilingual b on a.ApplicationID = b.ApplicationID
left join TBL_MultilingualApps c on b.ApplicationID = c.ID
where c.Application = '{Application.ProductName}' And b.Language = '{languageName}'"
_sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
Console.WriteLine($"查询语种数据:{queryStr}")
_sqlDateAdap.Fill(dtUser)
Return dtUser
End Function
#End Region
#Region "本地_数据源"
''' <summary>
''' SqlServer查询
''' </summary>
''' <param name="TableName">需要查询的数据表名</param>
''' <param name="grd">要显示的表格控件</param>
''' <param name="Conditions">需要查询的条件,默认为空</param>
Public Sub Query(TableName As String, grd As FlexCell.Grid, Optional Conditions As String = "")
_sqlDateAdap = New SqlDataAdapter($"select * from {TableName} {Conditions}", _sqlConn)
_sqlDataSet = New DataSet()
_sqlDateAdap.Fill(_sqlDataSet, $"{TableName}")
Console.WriteLine($"查询语句select * from {TableName} {Conditions}")
grd.DataSource = _sqlDataSet.Tables($"{TableName}")
grd.DisplayRowNumber = True
End Sub
''' <summary>
''' SqlServer查询
''' </summary>
''' <param name="queryCol">要查询的列</param>
''' <param name="TableName">需要查询的数据表名</param>
''' <param name="grd">要显示的表格控件</param>
''' <param name="Conditions">需要查询的条件,默认为空</param>
Public Sub Query(queryCol As String, TableName As String, grd As FlexCell.Grid, Optional Conditions As String = "")
_sqlDateAdap = New SqlDataAdapter($"select {queryCol} from {TableName} {Conditions}", _sqlConn)
_sqlDataSet = New DataSet()
Console.WriteLine($"查询语句select * from {TableName} {Conditions}")
_sqlDateAdap.Fill(_sqlDataSet, $"{TableName}")
grd.DataSource = _sqlDataSet.Tables($"{TableName}")
grd.DisplayRowNumber = True
End Sub
''' <summary>
''' SqlServer查询
''' </summary>
''' <param name="TableName">需要查询的数据表名</param>
''' <param name="Conditions">需要查询的条件,默认为空</param>
Public Function Query(TableName As String, Optional Conditions As String = "") As DataTable
_sqlDateAdap = New SqlDataAdapter($"select * from {TableName} {Conditions}", _sqlConn)
Dim sqlDataSet As DataTable = New DataTable()
Console.WriteLine($"查询语句select * from {TableName} {Conditions}")
_sqlDateAdap.Fill(sqlDataSet)
Return sqlDataSet
End Function
''' <summary>
''' SqlServer查询
''' </summary>
''' <param name="queryCol">需要查询的列</param>
''' <param name="TableName">需要查询的数据表名</param>
''' <param name="Conditions">需要查询的条件,默认为空</param>
''' <returns></returns>
Public Function Query(queryCol As String, TableName As String, Optional Conditions As String = "") As DataTable
_sqlDateAdap = New SqlDataAdapter($"select {queryCol} from {TableName} {Conditions}", _sqlConn)
Dim sqlDataSet As DataTable = New DataTable()
Console.WriteLine($"查询语句select {queryCol} from {TableName} {Conditions}")
_sqlDateAdap.Fill(sqlDataSet)
Return sqlDataSet
End Function
''' <summary>
''' SqlServer添加
''' </summary>
''' <param name="TableName">需要添加的数据表名</param>
''' <param name="grd">要显示的表格控件</param>
''' <param name="Conditions">需要添加的数据条件,(字段1字段2字段3) values(字段1值字段2值字段3值)</param>
''' (条件中若是包含中文则用N'{值}'表示)
Public Sub Add(TableName As String, grd As FlexCell.Grid, Optional Conditions As String = "")
Dim insert As String = $"insert into {TableName} {Conditions}"
_sqlDateAdap = New SqlDataAdapter(insert, _sqlConn)
_sqlDateAdap.Fill(_sqlDataSet, $"{TableName}")
Console.WriteLine($"插入语句:{insert}")
grd.DataSource = _sqlDataSet.Tables($"{TableName}")
grd.DisplayRowNumber = True
End Sub
''' <summary>
''' SqlServer添加
''' </summary>
''' <param name="TableName">需要添加的数据表名</param>
''' <param name="Conditions">需要添加的数据条件,(字段1字段2字段3) values(字段1值字段2值字段3值)</param>
''' (条件中若是包含中文则用N'{值}'表示)
Public Sub Add(TableName As String, Optional Conditions As String = "")
Dim insert As String = $"insert into {TableName} {Conditions}"
_sqlDateAdap = New SqlDataAdapter(insert, _sqlConn)
Dim sqlDataSet As DataTable = New DataTable()
Console.WriteLine($"插入语句:{insert}")
_sqlDateAdap.Fill(sqlDataSet)
End Sub
''' <summary>
''' SqlServer修改
''' </summary>
''' <param name="TableName">需要修改的数据表名</param>
''' <param name="grd">要显示的表格控件</param>
''' <param name="Conditions">需要修改的数据条件Set 字段1 = 修改后的值 Where 字段1 = 修改前的值</param>
''' (条件中若是包含中文则用N'{值}'表示)
Public Sub Modify(TableName As String, grd As FlexCell.Grid, Optional Conditions As String = "")
Dim modify As String = $"update {TableName} {Conditions}"
_sqlDateAdap = New SqlDataAdapter(modify, _sqlConn)
Console.WriteLine($"修改语句:{modify}")
_sqlDateAdap.Fill(_sqlDataSet, $"{TableName}")
grd.DataSource = _sqlDataSet.Tables($"{TableName}")
grd.DisplayRowNumber = True
End Sub
''' <summary>
''' SqlServer删除
''' </summary>
''' <param name="TableName">需要删除的数据表名</param>
''' <param name="grd">要显示的表格控件</param>
''' <param name="Conditions">需要删除的数据条件Where 字段1 = 字段1值 And 字段2 = 字段2值 And 字段3...</param>
''' (条件中若是包含中文则用N'{值}'表示)
Public Sub Delete(TableName As String, grd As FlexCell.Grid, Optional Conditions As String = "")
Dim delete As String = $"delete From {TableName} {Conditions}"
_sqlDateAdap = New SqlDataAdapter(delete, _sqlConn)
Console.WriteLine($"删除语句:{delete}")
_sqlDateAdap.Fill(_sqlDataSet, $"{TableName}")
grd.DataSource = _sqlDataSet.Tables($"{TableName}")
grd.DisplayRowNumber = True
End Sub
#End Region
#Region "登录_数据源"
''' <summary>
''' 获取匹配的用户信息
''' </summary>
''' <param name="userAccount">用户账号</param>
''' <param name="userPassword">用户密码</param>
''' <returns></returns>
Public Function GetUserInfo(userAccount As String, userPassword As String) As DataTable
Dim userInfo As String = UserInfoListDAL.UserInfo
Dim userAuthoes As String = UserInfoListDAL.UserAuthoes
Dim appAutho As String = UserInfoListDAL.AppAutho
Dim authority As String = UserInfoListDAL.Authority
Dim dtUser As DataTable = New DataTable()
Dim queryCol As String = $"Uid, Pwd"
Dim queryStr As String = $"Select a.Id, a.Uid, a.Pwd, a.CreateTime, b.AuthorityId, c.AuthorityName, b.HotelId, d.Name, d.Code, d.GroupId, e.Name from {userInfo} a
left join {userAuthoes} b on a.Id = b.UserId
left join {authority} c on b.AuthorityId = c.Id
left join dbo.Hotels d on b.HotelId = d.Id
left join dbo.HotelGroups e on d.GroupId = e.Id
left join dbo.AppAutho aa on c.id = aa.AuthorityId
where a.Uid = '{userAccount}' and b.AuthotypeId <> '1' and aa.AppId = '1'"
_sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
'_sqlDateAdap = New SqlDataAdapter($"select {queryCol} from {userInfo} Where Uid = '{userAccount}'", _sqlConn)
Console.WriteLine($"查询语句:{queryStr}")
_sqlDateAdap.Fill(dtUser)
Return dtUser
End Function
#End Region
#Region "后台_数据源"
'''' <summary>
'''' 获取后台数据源的房型
'''' </summary>
'''' <param name="projectNumber">项目编号</param>
'''' <returns></returns>
'Public Function GetProjectRoomTypeInfo(projectNumber As String) As DataTable
' Dim dtUser As DataTable = New DataTable()
' Dim queryStr As String = $"select a.ID, a.Code, a.Name, b.HostName, b.ID from tb_Sys_Hotels a
' left join dbo.tb_RoomType b
' on b.HotelID = a.ID
' where a.Code = '{projectNumber}'"
' _sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
' Console.WriteLine($"查询语句:{queryStr}")
' _sqlDateAdap.Fill(dtUser)
' Return dtUser
'End Function
'''' <summary>
'''' 获取后台数据源的房号
'''' </summary>
'''' <param name="projectNumber">项目编号</param>
'''' <param name="roomType">房型</param>
'''' <returns></returns>
'Public Function GetProjectRoomNumberInfo(projectNumber As String, roomType As String) As DataTable
' Dim dtUser As DataTable = New DataTable()
' Dim queryStr As String
' If roomType = $"全部" Then
' queryStr = $"select a.HotelID, b.Code, b.Name, c.HostName, a.RoomNumber, a.ID, c.ID from tb_Hosts a
' left join tb_Sys_Hotels b on b.ID = a.HotelID
' left join tb_RoomType c on c.ID = a.RoomTypeID
' where b.code = '{projectNumber}' and a.IsSyncRoomNumber = '1'
' order by a.RoomNumber asc"
' Else
' queryStr = $"select a.HotelID, b.Code, b.Name, c.HostName, a.RoomNumber, a.ID, c.ID from tb_Hosts a
' left join tb_Sys_Hotels b on b.ID = a.HotelID
' left join tb_RoomType c on c.ID = a.RoomTypeID
' where b.code = '{projectNumber}' and HostName = '{roomType}' and a.IsSyncRoomNumber = '1'
' order by a.RoomNumber asc"
' End If
' _sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
' Console.WriteLine($"查询语句:{queryStr}")
' _sqlDateAdap.Fill(dtUser)
' Return dtUser
'End Function
'''' <summary>
'''' 获取后台数据源的房型
'''' 已知项目编号和房号
'''' </summary>
'''' <param name="projectNumber">项目编号</param>
'''' <param name="roomNumber">房号</param>
'''' <returns></returns>
'Public Function GetProjectRoomNumberTypeInfo(projectNumber As String, roomNumber As String) As DataTable
' Dim dtUser As DataTable = New DataTable()
' Dim queryStr As String = $"select a.HotelID, b.Code, b.Name, c.HostName, a.RoomNumber, a.RoomTypeID from tb_Hosts a
' left join tb_Sys_Hotels b on b.ID = a.HotelID
' left join tb_RoomType c on c.ID = a.RoomTypeID
' where b.code = '{projectNumber}' and a.RoomNumber = '{roomNumber}' and a.IsSyncRoomNumber = '1'
' order by a.RoomNumber asc"
' _sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
' Console.WriteLine($"房号查询语句:{queryStr}")
' _sqlDateAdap.Fill(dtUser)
' Return dtUser
'End Function
'''' <summary>
'''' 获取后台数据源的房号
'''' </summary>
'''' <param name="projectNumber">项目编号</param>
'''' <returns></returns>
'Public Function GetMatchingInfo(projectNumber As String) As DataTable
' Dim dtUser As DataTable = New DataTable()
' Dim queryStr As String = $"select a.HotelID, b.Code, b.Name, a.ID, a.RoomNumber, c.ID, c.HostName, a.MAC from tb_Hosts a
' left join tb_Sys_Hotels b on b.ID = a.HotelID
' left join tb_RoomType c on c.ID = a.RoomTypeID
' where b.code = '{projectNumber}' and a.IsSyncRoomNumber = '1'
' order by a.RoomNumber asc"
' _sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
' Console.WriteLine($"查询语句:{queryStr}")
' _sqlDateAdap.Fill(dtUser)
' Return dtUser
'End Function
'''' <summary>
'''' 获取后台数据源的批量数据
'''' 已知项目编码
'''' </summary>
'''' <param name="projectNumber">项目编号</param>
'''' <returns></returns>
'Public Function GetBatchDataInfo(projectNumber As String) As DataTable
' Dim dtUser As DataTable = New DataTable()
' Dim queryStr As String = $"select a.RoomNumber, a.MAC, a.IP, a.Remark, a.ID, a.RoomTypeID, a.Port, a.Gateway, a.SubnetMask, a.DNS, a.LockStatus, a.AuthorizedHours from tb_Hosts a
' left join tb_Sys_Hotels b on a.HotelID = b.ID
' where b.Code = '{projectNumber}';"
' _sqlDateAdap = New SqlDataAdapter(queryStr, _sqlConn)
' Console.WriteLine($"批量数据查询结果:{queryStr}")
' _sqlDateAdap.Fill(dtUser)
' Return dtUser
'End Function
#End Region
#Region "更新绑定信息"
'''' <summary>
'''' 更新绑定信息
'''' </summary>
'''' <param name="projectNumber">项目编号</param>
'''' <param name="roomNumber">房号</param>
'''' <param name="mac">MAC</param>
'''' <returns></returns>
'Public Function UpdateMACInfo(projectNumber As String, roomNumber As String, mac As String) As Boolean
' Dim count As Integer = 0
' Dim dtUser As DataTable = New DataTable()
' Dim updateStr As String = $"update dbo.tb_Hosts set MAC = '{mac}' where RoomNumber='{roomNumber}' and HotelID=(select ID from tb_Sys_Hotels where Code='{projectNumber}');"
' Console.WriteLine($"更新语句:{updateStr}")
' _sqlDateAdap = New SqlDataAdapter(updateStr, _sqlConn)
' _sqlDateAdap.Fill(dtUser)
' Try
' count = _sqlDateAdap.Update(dtUser)
' Catch ex As Exception
' Return False
' End Try
' Return True
'End Function
#End Region
#Region "关闭连接"
''' <summary>
''' 关闭连接
''' </summary>
Public Sub ConnClose()
If _sqlConn IsNot Nothing AndAlso _sqlConn.State <> ConnectionState.Closed Then
_sqlConn.Close()
End If
End Sub
#End Region
End Class