Files

457 lines
15 KiB
VB.net
Raw Permalink Normal View History

2025-12-11 10:06:44 +08:00
Imports System.ComponentModel
Public Class FrmHotelList
#Region "多语种信息"
''' <summary>
''' 初始化界面控件文本
''' </summary>
Private Sub MultiLanguageInfo()
Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.HotelList)
Button5.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.Checked)
Button1.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.HomeExit)
End Sub
#End Region
#Region "初始化信息"
Private _count As Integer = 0
Public FCsConfig As FrmCSeriesConfig
''' <summary>
''' 初始化酒店列表
''' </summary>
''' <param name="match"></param>
Public Sub InitHotelList(match As Boolean, mainfrom As FrmCSeriesConfig)
FCsConfig = mainfrom
If match = False Then
TreeView1.Nodes.Clear()
Grid5.NewFile()
InitHotelTable()
_count = 0
Button5.ForeColor = Color.Green
Button5.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Checked)}"
TreeView1.Enabled = True
Grid5.Enabled = True
End If
LblUserInfo.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.WelcomeYou)}{_userNames} {LanguageData.StringList(MultiLanguageDAL.StringEnum.PleaseSelectYourHotel)}"
_count += 1
If _count = 1 Then
MultiLanguageInfo()
InitHotelInfo()
End If
InitLoadHotelInfo()
End Sub
#End Region
#Region "权限管理_酒店管理"
''' <summary>
''' 权限列表
''' </summary>
Enum EnAuthInfo
''' <summary> 空 </summary>
Null
''' <summary> 锁定权限 </summary>
Lock
''' <summary> 授权时间 </summary>
AuthorizedTime
Auth3
Auth4
Auth5
Auth6
Auth7
Auth8
Auth9
''' <summary> 升级/房态/季节 </summary>
UpdateAndRoomStateAndSeason
Auth11
Auth12
Auth13
Auth14
Auth15
Auth16
''' <summary> 研发管理 </summary>
ResearchManage
Auth18
''' <summary> 批量下发 </summary>
BatchIssued
End Enum
Private Sub Grid5_Click(Sender As Object, e As EventArgs) Handles Grid5.Click
If Grid5.ActiveCell.Row > 0 Then
_projectNumber = Grid5.Cell(Grid5.ActiveCell.Row, HotelDataCol.ProjectNumber).Text
_HotelName = Grid5.Cell(Grid5.ActiveCell.Row, HotelDataCol.HotelName).Text
End If
End Sub
''' <summary>
''' 选择酒店事件
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Buttin5click()
End Sub
Public Sub Buttin5click()
FCsConfig.NoAuthority()
If Button5.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Checked)}" Then
If TipInfo() = False Then Return
AddAuthorityInfo()
Button5.ForeColor = Color.Red
Button5.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Loosen)}"
TreeView1.Enabled = False
Grid5.Enabled = False
ElseIf Button5.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Loosen)}" Then
Button5.ForeColor = Color.Green
Button5.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Checked)}"
TreeView1.Enabled = True
Grid5.Enabled = True
End If
FCsConfig.LblUserNames.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.TheCurrentHotel)}{_projectNumber}-{_HotelName} | {_userNames} {LanguageData.StringList(MultiLanguageDAL.StringEnum.WelcomeYou)} "
FCsConfig.TextBox9.Text = _projectNumber
'FCsConfig.ComboBox16.Text = ""
FCsConfig.ComboBox16.Items.Clear()
FCsConfig.ComboBox17.Text = ""
FCsConfig.ComboBox17.Items.Clear()
FCsConfig.CBoRoomTpRemark.Checked = False
FCsConfig.CBoRoomNuRemark.Checked = False
FCsConfig.CheckBox37.Checked = False
FCsConfig.Network_cke.Checked = False
FCsConfig.Iptype_txt.Text = ""
FCsConfig.Loadip_txt.Text = ""
FCsConfig.IPMask_txt.Text = ""
FCsConfig.IPGateway_txt.Text = ""
FCsConfig.ServerIP_txt.Text = ""
FCsConfig.ipconfig_txt.Text = ""
FCsConfig.IpDns_txt.Text = ""
FCsConfig.IpPort_txt.Text = ""
FCsConfig.TextBox25.Text = ""
FCsConfig.TextBox21.Text = ""
AuthorityInfo(FCsConfig)
End Sub
''' <summary>
''' 提示信息
''' </summary>
''' <returns></returns>
Private Function TipInfo() As Boolean
If Grid5.Cell(Grid5.ActiveCell.Row, HotelDataCol.ProjectNumber).Text = Nothing Then
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.PleaseSelectTheHotelUnderYourName)}")
Return False
End If
If _projectNumber = $"" Then
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.PleaseSelectTheHotelUnderYourName)}")
Return False
End If
If _HotelName = $"" Then
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.PleaseSelectTheHotelUnderYourName)}")
Return False
End If
Return True
End Function
''' <summary>
''' 添加权限
''' </summary>
Public Sub AddAuthorityInfo()
_authorityInfo.Clear()
For index = 0 To _loginData.Values.Count - 1
If _HotelName = _loginData.Values(index).HotelName AndAlso _projectNumber = _loginData.Values(index).Code Then
_authorityInfo.Add(_loginData.Values(index).AuthorityId, _loginData.Values(index).AuthotypeId)
End If
Next
End Sub
''' <summary>
''' 添加上一次保存的酒店权限
''' </summary>
Public Sub AddLastTimeAuthorityInfo()
_authorityInfo.Clear()
For index = 0 To _loginData.Values.Count - 1
If My.Settings.HotelName = _loginData.Values(index).HotelName AndAlso My.Settings.ProjectCode = _loginData.Values(index).Code Then
_authorityInfo.Add(_loginData.Values(index).AuthorityId, _loginData.Values(index).AuthotypeId)
End If
Next
End Sub
''' <summary>
''' 权限管理_权限信息
''' </summary>
Public Sub AuthorityInfo(Config As FrmCSeriesConfig)
FCsConfig = Config
For index = 0 To _authorityInfo.Count - 1
Select Case _authorityInfo.Keys(index)
Case EnAuthInfo.Lock '锁定
FCsConfig.LockAuth(_authorityInfo.Values(index))
Case EnAuthInfo.AuthorizedTime '授权时间
FCsConfig.AuthorizedTimeAuth(_authorityInfo.Values(index))
Case EnAuthInfo.UpdateAndRoomStateAndSeason '升级&房态&季节
FCsConfig.UpdateRoomStateSeasonAuth(_authorityInfo.Values(index))
Case EnAuthInfo.ResearchManage '研发管理
FCsConfig.UpdateResearchManageAuth(_authorityInfo.Values(index))
Case EnAuthInfo.BatchIssued '批量下发
FCsConfig.UpdateBatchIssuedAuth(_authorityInfo.Values(index))
End Select
Next
End Sub
'''' <summary>
'''' 选择页面
'''' </summary>
'''' <param name="sender"></param>
'''' <param name="e"></param>
'Private Sub TabControl1_Selecting(sender As Object, e As TabControlCancelEventArgs) Handles TabControl1.Selecting
' If Button5.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Checked)}" Then
' MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.PleaseSelectTheHotelUnderYourName)}")
' e.Cancel = True
' End If
'End Sub
''' <summary>
''' 初始化酒店区域信息
''' </summary>
Public Sub InitHotelInfo()
InitHotelTable()
Dim nodeOne As TreeNode = TreeView1.Nodes.Add($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.AllHotel)}")
Dim dic As Dictionary(Of String, Integer) = AddHotelInfo()
For index = 0 To dic.Count - 1
nodeOne.Nodes.Add(dic.ElementAt(index).Key & "-(" & dic.ElementAt(index).Value & ")")
Next
End Sub
Public Function AddHotelInfo()
Dim dic As New Dictionary(Of String, Integer)
dic.Clear()
Dim txt As String
For index = 0 To _loginData.Count - 1
txt = _loginData.Values(index).HotelGroupsName
If dic.ContainsKey(txt) Then
dic(txt) += 1
Else
dic.Add(txt, 1)
'nodeOne.Nodes.Add(txt)
End If
Next
Return dic
End Function
''' <summary>
''' 树状目录点击事件
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub TreeView1_NodeMouseClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
'Console.WriteLine(e.Node.Text & " " & e.Node.Index & " " & e.Node.Level & " " & e.Node.FullPath)
'Grid5.DisplayRowNumber = True
Dim str As String() = e.Node.Text.Split($"-")
'Console.WriteLine($"点击酒店:" & str(0))
Grid5.NewFile()
InitHotelTable()
Dim rowCount As Integer = 0
Dim dic As New Dictionary(Of String, Integer)
For index = 0 To _loginData.Values.Count - 1
If str(0) = _loginData.Values(index).HotelGroupsName Then
'HotelGroupsName = _loginData.Values(index).HotelGroupsName
If dic.ContainsKey(_loginData.Values(index).Code) = False Then
dic.Add(_loginData.Values(index).Code, 1)
Grid5.Rows += 1
rowCount += 1
Grid5.Cell(rowCount, 1).Text = _loginData.Values(index).Code
Grid5.Cell(rowCount, 2).Text = _loginData.Values(index).HotelName
'Grid5.Cell(rowCount, 1).Text = _loginData.Values(_loginData.Values.Count - 1 - index).Code
'Grid5.Cell(rowCount, 2).Text = _loginData.Values(_loginData.Values.Count - 1 - index).HotelName
End If
ElseIf str(0) = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.AllHotel)}" Then
'HotelGroupsName = _loginData.Values(index).HotelGroupsName
If dic.ContainsKey(_loginData.Values(index).Code) = False Then
dic.Add(_loginData.Values(index).Code, 1)
Grid5.Rows += 1
rowCount += 1
Grid5.Cell(rowCount, 1).Text = _loginData.Values(index).Code
Grid5.Cell(rowCount, 2).Text = _loginData.Values(index).HotelName
'Grid5.Cell(rowCount, 1).Text = _loginData.Values(_loginData.Values.Count - 1 - index).Code
'Grid5.Cell(rowCount, 2).Text = _loginData.Values(_loginData.Values.Count - 1 - index).HotelName
End If
End If
Next
End Sub
''' <summary>
''' 酒店区域表列名_枚举
''' </summary>
Enum HotelDataCol
''' <summary> 空 </summary>
Null
''' <summary> 项目编码 </summary>
ProjectNumber
''' <summary> 酒店名称 </summary>
HotelName
End Enum
''' <summary>
''' 酒店区域表列名
''' </summary>
Private _hotelTable() As String = {$"0", $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.ProjectCode)}", $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.HotelName)}"}
''' <summary>
''' 初始化酒店表格
''' </summary>
Private Sub InitHotelTable()
Grid5.Column(0).Width = 0
Grid5.Cols = _hotelTable.Length
Grid5.Rows = 1
For index = 1 To Grid5.Cols - 1
With Grid5.Cell(0, index)
.ForeColor = Color.Blue
.Text = _hotelTable(index)
.ForeColor = Color.DarkCyan
End With
With Grid5.Column(index)
.Alignment = FlexCell.AlignmentEnum.CenterCenter
If index = HotelDataCol.ProjectNumber Then
.Width = 75
Else
.Width = 180
End If
End With
Next
Grid5.SelectionMode = FlexCell.SelectionModeEnum.ByRow '设置选中行
Grid5.AllowUserSort = True
End Sub
Private Sub InitLoadHotelInfo()
Dim amountGrpByDates = From row In _userData
Group row By dateGroup = New With {
Key .Code = row.Field(Of Integer)(_userData.Columns(8).ColumnName),
Key .Name = row.Field(Of String)(_userData.Columns(7).ColumnName)
} Into Group
Select New With {
Key .Code = dateGroup.Code,
.Name = dateGroup.Name}
Dim lst = amountGrpByDates.ToList
For index = 0 To lst.Count - 1
Grid5.Rows += 1
Grid5.Cell(index + 1, 1).Text = lst(index).Code '项目编码
Grid5.Cell(index + 1, 2).Text = lst(index).Name '酒店名称
Next
End Sub
''' <summary>
''' 关闭窗体
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
My.Settings.ProjectCode = _projectNumber
My.Settings.HotelName = _HotelName
My.Settings.UserName = _userNames
My.Settings.Save()
Close()
End Sub
#End Region
#Region "窗体关闭事件"
''' <summary>
''' 窗体关闭事件
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub FrmHotelList_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
My.Settings.ProjectCode = _projectNumber
My.Settings.HotelName = _HotelName
My.Settings.UserName = _userNames
My.Settings.Save()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If IsNothing(Grid5) AndAlso Grid5.Rows < 1 AndAlso String.IsNullOrEmptyTextBox1.Text.Trim Then Return
Dim tabstr As String
For index As Integer = 1 To Grid5.Rows - 1
tabstr = Grid5.Cell(index, 1).Text.Trim & Grid5.Cell(index, 2).Text.Trim
If tabstr.Contains(TextBox1.Text.Trim) Then
Grid5.Row(index).Position = 1
End If
Next
End Sub
#End Region
End Class