feat: 更新节能属性和服务行添加功能

- 在 EnergySavingAttribute.vb 中添加了全局亮度节能的字典初始化。
- 在 FrmMain.vb 中修改了 AddServiceRow 方法,增加了可选参数以支持显示标志。
- 在 PowerSupply.vb 中实现了删除和设置服务的功能,增强了对场景号的处理。
- 在 ServiceAttribute.vb 中增加了对服务类型的删除确认,避免误删系统服务。
- 更新了版本号至 4.4.5.42,并修改了相关的发布文件。
This commit is contained in:
2026-02-26 12:01:57 +08:00
parent 87cc292012
commit 579f1d5541
25 changed files with 258 additions and 100 deletions

View File

@@ -3589,25 +3589,30 @@ Public Class FrmCSeriesConfig
''' <param name="ep"></param>
Private Sub DealCmdCheckUpdate(dataBuff() As Byte, ep As IPEndPoint)
'Dim upgradeIndex As Integer = _upgrade.Item(ep)
Dim upkey As String = ep.Address.ToString & ":" & ep.Port
If Not _newupgrade.ContainsKey(upkey) Then
MsgBox($"未找到对应节点{upkey}")
End If
Dim upgradeIndex As Integer = _newupgrade.Item(upkey)
Try
Dim upkey As String = ep.Address.ToString & ":" & ep.Port
If Not _newupgrade.ContainsKey(upkey) Then
MsgBox($"未找到对应节点{upkey}")
End If
Dim upgradeIndex As Integer = _newupgrade.Item(upkey)
Select Case dataBuff(15)
Case &H1
_isCheckReply = True
UpgradeResultColor(upgradeIndex, $"校验成功", Color.Green)
Case &H2
_isCheckReply = False
UpgradeResultColor(upgradeIndex, $"校验失败", Color.Red)
Case &H3
_isCheckReply = False
UpgradeResultColor(upgradeIndex, $"未接收完成", Color.Yellow)
Case &H10
_isCheckReply = False
UpgradeResultColor(upgradeIndex, $"未知错误", Color.Red)
End Select
Case &H1
_isCheckReply = True
UpgradeResultColor(upgradeIndex, $"校验成功", Color.Green)
Case &H2
_isCheckReply = False
UpgradeResultColor(upgradeIndex, $"校验失败", Color.Red)
Case &H3
_isCheckReply = False
UpgradeResultColor(upgradeIndex, $"未接收完成", Color.Yellow)
Case &H10
_isCheckReply = False
UpgradeResultColor(upgradeIndex, $"未知错误", Color.Red)
End Select
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Sub
@@ -5539,7 +5544,7 @@ Public Class FrmCSeriesConfig
Dim data(0) As Byte
data(0) = &H1
Dim sendData As Byte() = FillSendData(cmd, data)
SendUDPData(sendData)
'SendUDPData(sendData)'CZH 20260130 曹聪要求不要发送D1命令
'Console.WriteLine($"查询设备状态:{ByteToString(sendData)}")
'GetMatchingHostsInfo()
@@ -9239,15 +9244,15 @@ Public Class FrmCSeriesConfig
End Function
Private Function UpdateMatching(rowid As Integer) As Boolean
'For index = 1 To _matchingType.Length - 1 '备注不参与匹配
' If GrdMatching.Cell(index, EnMatchingInfo.CKS).Text = 1 Then '选择匹配类型参与匹配
If GetMatchingCheck(GrdRCUHost.Cell(rowid, EnRCUHosts.MCUName).Text, _Mcus) = True Then
Button28.ForeColor = Color.Red
Button28.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Mismatching)}"
Return False
End If
' End If
'Next
''For index = 1 To _matchingType.Length - 1 '备注不参与匹配
'' If GrdMatching.Cell(index, EnMatchingInfo.CKS).Text = 1 Then '选择匹配类型参与匹配
'If GetMatchingCheck(GrdRCUHost.Cell(rowid, EnRCUHosts.MCUName).Text, _Mcus) = True Then
' Button28.ForeColor = Color.Red
' Button28.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.Mismatching)}"
' Return False
'End If
'' End If
''Next
Return True
End Function
@@ -9605,7 +9610,7 @@ Public Class FrmCSeriesConfig
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.SearchForTheHostToUpgrade)}!")
End If
Catch ex As Exception
MsgBox($"升级下发异常:{ex.Message}")
MsgBox($"升级下发异常:{ex.Message}")
End Try
BtnEnabledChange(Button25, True)
@@ -10027,6 +10032,16 @@ Public Class FrmCSeriesConfig
Return data.ToArray
End Function
Delegate Sub SetGrdRCUHostDelegate(bnx As Integer, bny As Integer, txt As String)
Public Sub SetGrdRCUHost(bnx As Integer, bny As Integer, txt As String)
If Me.InvokeRequired Then
Dim d As New SetGrdRCUHostDelegate(AddressOf SetGrdRCUHost)
Me.Invoke(d, New Object() {bnx, bny, txt})
Else
GrdRCUHost.Cell(bnx, bny).Text = txt
End If
End Sub
''' <summary>
''' 重发次数标志位
@@ -10062,7 +10077,8 @@ Public Class FrmCSeriesConfig
'SendUpdateData(burnPackage, ud.ReomteEP)
SendSocketData(csb, burnPackage, ud.ReomteEP)
GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"{packageNumber}/{blockCount}"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"{packageNumber}/{blockCount}"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"{packageNumber}/{blockCount}")
Console.WriteLine($"{Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}:开始发送第{packageNumber}包({burnPackage.Length }):{ByteToString(burnPackage)}")
If _upgradeSum = 1 Then
@@ -10075,27 +10091,33 @@ Public Class FrmCSeriesConfig
If _isTftpSendReply = True Then '重发机制
If packageNumber = blockCount Then
Console.WriteLine($"升级数据发送完成!")
GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"升级中"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"升级中"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"升级中")
If _updateWay = True Then
GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待校验"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待校验"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"等待校验")
'StateReplyLabel($"等待校验", Color.Blue)
CheckCmd(ud.ReomteEP.Address, _endPort)
WaitReplyCheckPacket(30000)
If _isCheckReply = True Then
ResetCmd(ud.ReomteEP.Address, _endPort)
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待复位"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待复位"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"等待复位")
'StateReplyLabel($"等待复位", Color.Blue)
WaitReplyResetPacket(2000)
If _isResetReply = True Then
GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待重启"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待重启"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"等待重启")
'StateReplyLabel($"升级完成", Color.Blue)
Else
If ResendReset(ud.ReomteEP) = True Then
GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待重启"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"等待重启"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"等待重启")
'StateReplyLabel($"升级完成", Color.Blue)
Else
GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"升级失败"
'GrdRCUHost.Cell(ud.Index, EnRCUHosts.Update).Text = $"升级失败"
SetGrdRCUHost(ud.Index, EnRCUHosts.Update, $"升级失败")
'StateReplyLabel($"升级失败", Color.Blue)
End If
BtnEnabledChange(Button25, True)