删除自动风复选框及相关功能、增加发布时附加回路上传、优化温控提示音组包方式

This commit is contained in:
2026-03-12 11:31:54 +08:00
parent 4f6a56bf6e
commit fea9bbfc0d
11 changed files with 417 additions and 191 deletions

View File

@@ -2197,6 +2197,7 @@ Public Class FrmMain
If projectCompile(tmp_Local_XmlFullName, False, True, devdic) Then
'取当前时间
ReleaseConfigXmlToDB(tmpPath, tmpXmlName, cfgVer, newcfgVer, devdic)
UploadDeviceList1(cfgVer)
Else
End If
@@ -4856,6 +4857,8 @@ Public Class FrmMain
'取当前时间
ReleaseConfigBLVToDB(tmpPath, tmpXmlName, cfgVer, newcfgVer, devdic)
UploadDeviceList(cfgVer)
UploadConfigurationLoop()
Else
Releaseflag = True
End If
@@ -4869,6 +4872,206 @@ Public Class FrmMain
MsgBox("请选择发布节点")
End If
End Sub
'上传配置回路
Public Sub UploadConfigurationLoop()
Dim mSaveRoomTypeModal As SaveRoomTypeModal
Dim mSaveRoomTypeModalList As New List(Of SaveRoomTypeModal)
Dim mSaveRoomTypeModalDic As New Dictionary(Of String, SaveRoomTypeModal)
'mSaveRoomTypeModalList.AddRange(mSaveRoomTypeModalDic.Values.ToArray)
'获取本地配置回路
Dim nReportingScenario = _TableInteraction.TestReportingScenario1()
Dim li As List(Of MDevNodeMessage) = nReportingScenario.getDateDisposeRuning
Dim bdic As Dictionary(Of String, String) = nReportingScenario.getDevloop()
Dim roomtypeid As Integer = _project.RoomType(g_CurrentTreeNodeRoomTypeItemIndex).structRoomType_ID
For Each item In li
If mSaveRoomTypeModalDic.ContainsKey(item.ModalAddress) Then
Continue For
Else
mSaveRoomTypeModal = Localconfigurationloopfiltering(roomtypeid, item.ModalAddress, item.Name)
If Not IsNothing(mSaveRoomTypeModal) Then
'判断类型为 24 的 名称只取前2个字符
If item.Type.Equals("4") Then
'判断名称长度是否大于2
If item.Name.Length > 2 Then
mSaveRoomTypeModal.name = item.Name.Replace("服务", "")
mSaveRoomTypeModalDic.Add(item.ModalAddress, mSaveRoomTypeModal)
Else
mSaveRoomTypeModalDic.Add(item.ModalAddress, mSaveRoomTypeModal)
End If
Else
mSaveRoomTypeModalDic.Add(item.ModalAddress, mSaveRoomTypeModal)
End If
End If
End If
Next
For Each item In bdic
mSaveRoomTypeModal = Localconfigurationloopfiltering(roomtypeid, item.Key, item.Value)
If mSaveRoomTypeModalDic.ContainsKey(item.Key) Then
Continue For
Else
mSaveRoomTypeModalDic.Add(item.Key, mSaveRoomTypeModal)
End If
Next
'获取服务器回路
Dim jsonString As String = HttpMothod.PostData("https://www.boonlive-rcu.com/api/LoadRoomTypeModalsWithPage", $"roomTypeID={roomtypeid}")
If String.IsNullOrWhiteSpace(jsonString) Then
MsgBox("获取服务器回路信息失败!")
Return
End If
Dim login As RoomDeviceResponse = JsonConvert.DeserializeObject(Of RoomDeviceResponse)(jsonString)
'修正最终上传链表
If Not IsNothing(login) AndAlso login.total > 0 Then
For Each item In login.rows
If mSaveRoomTypeModalDic.ContainsKey(item.ModalAddress) Then
mSaveRoomTypeModal = mSaveRoomTypeModalDic.Item(item.ModalAddress)
mSaveRoomTypeModal.Abnormal = item.Abnormal
mSaveRoomTypeModal.id = 0
mSaveRoomTypeModal.roomTypeID = item.RoomTypeID
mSaveRoomTypeModal.modalAddress = item.ModalAddress
mSaveRoomTypeModal.outlet = item.Outlet
mSaveRoomTypeModal.englishName = item.EnglishName
mSaveRoomTypeModal.power = item.Power
mSaveRoomTypeModal.twName = item.TWName
mSaveRoomTypeModal.aliasName = item.AliasName
mSaveRoomTypeModal.type = item.Type
mSaveRoomTypeModal.sort = item.Sort
mSaveRoomTypeModal.color = item.Color
mSaveRoomTypeModal.ActiveIndicator = item.ActiveIndicator
mSaveRoomTypeModal.LowPower = item.LowPower
mSaveRoomTypeModal.OfflineDisplay = item.OfflineDisplay
mSaveRoomTypeModal.LowPowerDisplay = item.LowPowerDisplay
mSaveRoomTypeModal.Beep = item.Beep
mSaveRoomTypeModal.Abnormal = item.Abnormal
mSaveRoomTypeModal.MultipleGroupID = item.MultipleGroupID
mSaveRoomTypeModal.MultipleTCLName = item.MultipleTCLName
mSaveRoomTypeModal.TCLDeviceName = item.TCLDeviceName
mSaveRoomTypeModal.IsUploadBaoJing = 0
Else
mSaveRoomTypeModal = New SaveRoomTypeModal
mSaveRoomTypeModalDic.Add(item.ModalAddress, mSaveRoomTypeModal)
mSaveRoomTypeModal.Abnormal = item.Abnormal
mSaveRoomTypeModal.id = 0
mSaveRoomTypeModal.roomTypeID = item.RoomTypeID
mSaveRoomTypeModal.modalAddress = item.ModalAddress
mSaveRoomTypeModal.outlet = item.Outlet
mSaveRoomTypeModal.name = item.Name
mSaveRoomTypeModal.englishName = item.EnglishName
mSaveRoomTypeModal.power = item.Power
mSaveRoomTypeModal.twName = item.TWName
mSaveRoomTypeModal.aliasName = item.AliasName
mSaveRoomTypeModal.type = item.Type
mSaveRoomTypeModal.sort = item.Sort
mSaveRoomTypeModal.color = item.Color
mSaveRoomTypeModal.ActiveIndicator = item.ActiveIndicator
mSaveRoomTypeModal.LowPower = item.LowPower
mSaveRoomTypeModal.OfflineDisplay = item.OfflineDisplay
mSaveRoomTypeModal.LowPowerDisplay = item.LowPowerDisplay
mSaveRoomTypeModal.Beep = item.Beep
mSaveRoomTypeModal.Abnormal = item.Abnormal
mSaveRoomTypeModal.MultipleGroupID = item.MultipleGroupID
mSaveRoomTypeModal.MultipleTCLName = item.MultipleTCLName
mSaveRoomTypeModal.TCLDeviceName = item.TCLDeviceName
mSaveRoomTypeModal.IsUploadBaoJing = 0
End If
Next
End If
mSaveRoomTypeModalList.AddRange(mSaveRoomTypeModalDic.Values.ToArray)
Dim Data As String = JsonConvert.SerializeObject(mSaveRoomTypeModalList)
Dim url As String = "http://www.boonlive-rcu.com:7000/api/BaoYi/SaveRoomTypeModal"
jsonString = HttpMothod.PostData2(url, Data)
If String.IsNullOrWhiteSpace(jsonString) OrElse jsonString.ToUpper.Contains("False".ToUpper) Then
Console.WriteLine("保存失败!")
Else
Console.WriteLine("保存成功!")
End If
'item.Key, item.Value, "", "", "", "", "", "0", "0", "1", "0", "0", "0", "0", "1", "", "0", ""
End Sub
'本地配置回路过滤
Public Function Localconfigurationloopfiltering(roomtypeid As Integer, addr As String, name As String) As SaveRoomTypeModal
Dim mSaveRoomTypeModal As New SaveRoomTypeModal
mSaveRoomTypeModal.id = 0
mSaveRoomTypeModal.roomTypeID = roomtypeid
mSaveRoomTypeModal.modalAddress = addr
mSaveRoomTypeModal.name = name
mSaveRoomTypeModal.englishName = ""
mSaveRoomTypeModal.twName = ""
mSaveRoomTypeModal.aliasName = ""
mSaveRoomTypeModal.power = 0
mSaveRoomTypeModal.type = SetLoopInformation.GetLoopType1(mSaveRoomTypeModal.modalAddress)
mSaveRoomTypeModal.LowPower = 0
mSaveRoomTypeModal.ActiveIndicator = 1
mSaveRoomTypeModal.OfflineDisplay = 0
mSaveRoomTypeModal.LowPowerDisplay = 0
mSaveRoomTypeModal.Beep = 0
mSaveRoomTypeModal.Abnormal = 0
mSaveRoomTypeModal.sort = 1
mSaveRoomTypeModal.TCLDeviceName = ""
mSaveRoomTypeModal.MultipleGroupID = 0
mSaveRoomTypeModal.MultipleTCLName = ""
mSaveRoomTypeModal.IsUploadBaoJing = 0
mSaveRoomTypeModal.outlet = ""
mSaveRoomTypeModal.color = SetLoopInformation.GetColorFromString(mSaveRoomTypeModal.modalAddress)
'提取addr字符串中下标3到5的的字符
Dim devtype, devloop As String
devloop = addr.Substring(6, 3)
If devloop.Equals("000") Then
Return mSaveRoomTypeModal
End If
devtype = addr.Substring(0, 3)
Select Case devtype
Case "001"
If name.Contains("继电器") Then
Return Nothing
End If
Case "006" '开关类
mSaveRoomTypeModal.ActiveIndicator = 0
mSaveRoomTypeModal.OfflineDisplay = 1
Case "004"
Case "024"
If name.Contains("调光") Then
Return Nothing
End If
Case "052"
If name.Contains("色温调节") Then
Return Nothing
End If
Case "015"
mSaveRoomTypeModal.ActiveIndicator = 0
mSaveRoomTypeModal.OfflineDisplay = 1
Case "055"
Case "051"
Case "050"
Case "013"
Case "005"
Case "011"
Case "007"
mSaveRoomTypeModal.OfflineDisplay = 1
Case "054"
Case "037"
mSaveRoomTypeModal.ActiveIndicator = 0
mSaveRoomTypeModal.OfflineDisplay = 1
Case "009" '空气质量
Case Else
Return Nothing
End Select
Return mSaveRoomTypeModal
End Function
Private Sub ToolStripButton13_Click(sender As Object, e As EventArgs) Handles ToolStripButton13.Click
@@ -5099,6 +5302,7 @@ Public Class FrmMain
Private Sub ToolStripButton21_Click(sender As Object, e As EventArgs) Handles ToolStripButton21.Click
Dim tmpXmlName As String = ""
If Releaseflag And Not IsNothing(TvwMain.SelectedNode) Then
Else
MsgBox("请选择发布节点")
Return
@@ -5178,12 +5382,12 @@ Public Class FrmMain
End If
End If
UploadDeviceList(FVer)
UploadDeviceList(FVer, True)
End Sub
Public Sub UploadDeviceList(pzVer As Integer)
Public Sub UploadDeviceList(pzVer As Integer, Optional Releaseflag As Boolean = False)
' 1. 参数验证
If Not Releaseflag OrElse IsNothing(TvwMain.SelectedNode) Then
If IsNothing(TvwMain.SelectedNode) Then
MsgBox("请选择发布节点")
Return
End If
@@ -5240,11 +5444,14 @@ Public Class FrmMain
db.Close()
If result > 0 Then
MsgBox("设备列表上传成功")
Else
MsgBox("设备列表上传失败")
If Releaseflag Then
If result > 0 Then
MsgBox("设备列表上传成功")
Else
MsgBox("设备列表上传失败")
End If
End If
End Using
Catch ex As Exception
@@ -5290,12 +5497,12 @@ Public Class FrmMain
FVer = Convert.ToInt32(Firbuf(0))
End If
End If
UploadDeviceList1(FVer)
UploadDeviceList1(FVer, True)
End Sub
Public Sub UploadDeviceList1(pzVer As Integer)
Public Sub UploadDeviceList1(pzVer As Integer, Optional Releaseflag As Boolean = False)
Dim headnode As RowNode
headnode = _grdModel._rootNode
Dim childnode, D485node, Virtualnode As RowNode
@@ -5377,12 +5584,14 @@ Public Class FrmMain
Dim result As Integer = db.ExecuteNonQuery(insertStr)
db.Close()
If result > 0 Then
MsgBox("设备列表上传成功")
Else
MsgBox("设备列表上传失败")
If Releaseflag Then
If result > 0 Then
MsgBox("设备列表上传成功")
Else
MsgBox("设备列表上传失败")
End If
End If
End Using
Catch ex As Exception
@@ -5469,6 +5678,22 @@ Public Class FrmMain
Return updataDevnode
End Function
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
End Sub
Private Sub TabControl3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl3.SelectedIndexChanged
End Sub
Private Sub TabProject_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabProject.SelectedIndexChanged
End Sub
Private Sub TabControl2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl2.SelectedIndexChanged
End Sub