无卡取电回路关系对应服务信息

This commit is contained in:
2026-03-04 11:20:45 +08:00
parent 579f1d5541
commit 1d509f1729
24 changed files with 177 additions and 1519 deletions

View File

@@ -58,11 +58,15 @@ Public Class PowerSupply
Return
End Sub
Public Sub deleteG_TableGridService(intenndoe As DeviceChildNode)
Public Sub deleteG_TableGridService(intenndoe As DeviceChildNode, CardNodestr As String)
Dim portname, chname As String
Dim cbuf As String() = intenndoe.Description.Split(",")
If cbuf.Length > 1 Then
portname = cbuf(1)
If CardNodestr.Contains(portname) Then
Return
End If
Else
Return
End If
@@ -71,36 +75,47 @@ Public Class PowerSupply
chname = intenndoe.Name
If String.IsNullOrEmpty(portname) Then Return
'从名称中提取场景号绑定端口名称格式为 portname = $"{ TableGrid.Cell(i, TableColNumber.KeyName).Text}({TableGrid.Cell(i, TableColNumber.SceneID).Text})"
Dim addserviceData As String
Dim addserviceData, addserviceData1 As String
Dim sceneid As String = portname.Substring(portname.LastIndexOf("(") + 1, portname.LastIndexOf(")") - portname.LastIndexOf("(") - 1)
Dim serviceData As String
'遍历g_TableGrid表找到该场景号对应行
Dim tabrows As Integer = g_TableGrid.Rows - 2
Dim tabrows As Integer = g_TableGrid.Rows - 5
For tabrow = 1 To tabrows
serviceData = g_TableGrid.Cell(tabrow, TableColNumber.SceneID).Text
If g_TableGrid.Cell(tabrow, TableColNumber.SceneID).Text.Equals(sceneid) Then
serviceData = g_TableGrid.Cell(tabrow, TableColNumber.ServerAttribute).Text
If chname.Contains("CH1") Then
addserviceData = "13,1,0,1,"
Return
'addserviceData = "13,1,0,1,"
'addserviceData1 = "13,2,0,1,"
ElseIf chname.Contains("CH2") Then
addserviceData = "32,1,0,1,"
addserviceData1 = "32,2,0,1,"
ElseIf chname.Contains("CH3") Then
addserviceData = "33,1,0,1,"
addserviceData1 = "33,2,0,1,"
ElseIf chname.Contains("CH4") Then
addserviceData = "34,1,0,1,"
addserviceData1 = "34,2,0,1,"
ElseIf chname.Contains("CH5") Then
addserviceData = "35,1,0,1,"
addserviceData1 = "35,2,0,1,"
ElseIf chname.Contains("CH6") Then
addserviceData = "36,1,0,1,"
addserviceData1 = "36,2,0,1,"
ElseIf chname.Contains("CH7") Then
addserviceData = "37,1,0,1,"
addserviceData1 = "37,2,0,1,"
ElseIf chname.Contains("CH8") Then
addserviceData = "38,1,0,1,"
addserviceData1 = "38,2,0,1,"
ElseIf chname.Contains("CH9") Then
addserviceData = "39,1,0,1,"
addserviceData1 = "39,2,0,1,"
ElseIf chname.Contains("CH10") Then
addserviceData = "40,1,0,1,"
addserviceData1 = "40,2,0,1,"
Else
Return
End If
@@ -110,14 +125,45 @@ Public Class PowerSupply
serviceData = serviceData.Replace(addserviceData, "")
'更新g_TableGrid表中的ServerAttribute列
g_TableGrid.Cell(tabrow, TableColNumber.ServerAttribute).Text = serviceData.Trim
End If
Dim cloopkey = g_TableGrid.Cell(tabrow, TableColNumber.KeyVal).Text
deleteG_TableGridService2(tabrow, cloopkey, addserviceData1)
End If
Next
End Sub
Public Sub deleteG_TableGridService2(row As Integer, loopkey As String, scene As String)
Dim cloopkey, cscene, serviceData As String
Dim cscenebuf As String()
Dim cr As CtabRange = New CtabRange(g_TableGrid, row, TableColNumber.DeviceName)
'遍历行
For i = cr.fr To cr.lr
cloopkey = g_TableGrid.Cell(i, TableColNumber.KeyVal).Text
cscene = g_TableGrid.Cell(i, TableColNumber.SceneAttribute).Text
'判断loopkey是否相当于cloopkey
If cloopkey.Equals(loopkey) Then
cscenebuf = cscene.Split(",")
If cscenebuf(0).Equals("2") Then
serviceData = g_TableGrid.Cell(i, TableColNumber.ServerAttribute).Text
If serviceData.Contains(scene) Then
serviceData = serviceData.Replace(scene, "")
g_TableGrid.Cell(i, TableColNumber.ServerAttribute).Text = serviceData.Trim
End If
End If
End If
Next
End Sub
Public Sub SetG_TableGridService(portname As String, chname As String)
Dim serviceData As String
Dim addserviceData As String
Dim serviceData, cloopkey As String
Dim addserviceData, addserviceData1 As String
Dim crow As Integer
''遍历PortTable表
'For i = 1 To PortTable.Rows - 1
' '获取绑定端口名称
@@ -131,34 +177,48 @@ Public Class PowerSupply
For j = 1 To g_TableGrid.Rows - 1
If g_TableGrid.Cell(j, TableColNumber.SceneID).Text.Equals(sceneid) Then
serviceData = g_TableGrid.Cell(j, TableColNumber.ServerAttribute).Text
cloopkey = g_TableGrid.Cell(j, TableColNumber.KeyVal).Text
crow = j
'21,1,0,1,
'21,2,10,2,
If chname.Contains("CH1") Then
addserviceData = "13,1,0,1,"
addserviceData1 = "13,2,0,1,"
ElseIf chname.Contains("CH2") Then
addserviceData = "32,1,0,1,"
addserviceData1 = "32,2,0,1,"
ElseIf chname.Contains("CH3") Then
addserviceData = "33,1,0,1,"
addserviceData1 = "33,2,0,1,"
ElseIf chname.Contains("CH4") Then
addserviceData = "34,1,0,1,"
addserviceData1 = "34,2,0,1,"
ElseIf chname.Contains("CH5") Then
addserviceData = "35,1,0,1,"
addserviceData1 = "35,2,0,1,"
ElseIf chname.Contains("CH6") Then
addserviceData = "36,1,0,1,"
addserviceData1 = "36,2,0,1,"
ElseIf chname.Contains("CH7") Then
addserviceData = "37,1,0,1,"
addserviceData1 = "37,2,0,1,"
ElseIf chname.Contains("CH8") Then
addserviceData = "38,1,0,1,"
addserviceData1 = "38,2,0,1,"
ElseIf chname.Contains("CH9") Then
addserviceData = "39,1,0,1,"
addserviceData1 = "39,2,0,1,"
ElseIf chname.Contains("CH10") Then
addserviceData = "40,1,0,1,"
addserviceData1 = "40,2,0,1,"
Else
Return
Exit For
End If
'判断serviceData是否包含addserviceData
If serviceData.Contains(addserviceData) Then
Return
Exit For
End If
'判断serviceData是否为空
If String.IsNullOrEmpty(serviceData) Then
@@ -171,11 +231,62 @@ Public Class PowerSupply
End If
Next
If Not String.IsNullOrEmpty(addserviceData1) AndAlso Not String.IsNullOrEmpty(cloopkey) Then
SetG_TableGridService2(crow, cloopkey, addserviceData1)
End If
'Next
End Sub
Public Sub SetG_TableGridService2(row As Integer, loopkey As String, scene As String)
Dim cloopkey, cscene, serviceData As String
Dim cscenebuf As String()
Dim cr As CtabRange = New CtabRange(g_TableGrid, row, TableColNumber.DeviceName)
'遍历行
For i = cr.fr To cr.lr
cloopkey = g_TableGrid.Cell(i, TableColNumber.KeyVal).Text
cscene = g_TableGrid.Cell(i, TableColNumber.SceneAttribute).Text
'判断loopkey是否相当于cloopkey
If cloopkey.Equals(loopkey) Then
cscenebuf = cscene.Split(",")
If cscenebuf(0).Equals("2") Then
serviceData = g_TableGrid.Cell(i, TableColNumber.ServerAttribute).Text
If serviceData.Contains(scene) Then
Return
End If
'判断serviceData是否为空
If String.IsNullOrEmpty(serviceData) Then
serviceData = scene
Else
serviceData = $"{scene}{vbLf}{serviceData}"
End If
g_TableGrid.Cell(i, TableColNumber.ServerAttribute).Text = serviceData
Return
End If
End If
Next
G_TableInteraction.grdSetFocus(row, 2)
Console.WriteLine(g_TableGrid.ActiveCell.Row)
ToolStripMenuItem16Click()
ToolStripMenuItem17Click()
g_TableGrid.Cell(row + 1, TableColNumber.ServerAttribute).Text = scene
scene = g_TableGrid.Cell(row + 1, TableColNumber.SceneAttribute).Text
'将scene第一个字符换成2
scene = "2" & scene.Substring(1)
g_TableGrid.Cell(row + 1, TableColNumber.SceneAttribute).Text = scene
End Sub
Private Sub ToolStripMenuItem16Click()
If IsNothingG_TableInteraction Then Return
G_TableInteraction.CopySceneActionData()
End Sub
Private Sub ToolStripMenuItem17Click()
If IsNothingG_TableInteraction Then Return
G_TableInteraction.GlueSceneActionData()
End Sub
Public Sub SetDevDescription()
If IsNothing(UniqueDevice) Then Return
@@ -244,7 +355,9 @@ Public Class PowerSupply
' Continue For
End If
'rstr = rstr.Remove(0, 1)
deleteG_TableGridService(NoCardNode.Nodes(i - 1))
deleteG_TableGridService(NoCardNode.Nodes(i - 1), rstr)
NoCardNode.Nodes(i - 1).Description = rstr
Next
Else
@@ -263,7 +376,8 @@ Public Class PowerSupply
' Continue For
End If
'rstr = rstr.Remove(0, 1)
deleteG_TableGridService(NoCardNode.Nodes(i - 1))
deleteG_TableGridService(NoCardNode.Nodes(i - 1), rstr)
NoCardNode.Nodes(i - 1).Description = rstr
Next
End If
@@ -424,6 +538,7 @@ Public Class PowerSupply
'End Sub
Public g_TableGrid As FlexCell.Grid
Public G_ActionConfiguration As List(Of TableRowTag)
Public G_TableInteraction As TableInteraction
Public IsCheckBox5 As Boolean
Public Sub ParseDeviceList(Devicemodel As Dictionary(Of String DeviceModel, TableGrid As FlexCell.Grid)
Dic_Devicemodel = Devicemodel

View File

@@ -392,6 +392,7 @@ Public Class ServiceAttribute
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If Table_Grid1.ActiveCell.Row > 0 Then
'判断选中服务是否在25 到57区间
Dim tstr As String = Table_Grid1.Cell(Table_Grid1.ActiveCell.Row, STcolname.服务类型).Text.Trim
Dim arr As String() = tstr.Split(":")
Dim LoopAddri As Integer = Integer.Parse(arr(0).Trim)

View File

@@ -1383,6 +1383,7 @@ Public Class TableInteraction
Console.WriteLine($"Grid_DoubleClick{_grd.Cell(_grd.ActiveCell.Row, _grd.ActiveCell.Col).Text }")
If _grd.ActiveCell.Row = TableRowNumber.DeviceName AndAlso _grd.ActiveCell.Col = TableColNumber.DeviceName Then
Dim fromshow As New PowerSupply
fromshow.G_TableInteraction=Me
fromshow.G_ActionConfiguration = Dic_ActionConfiguration
fromshow.ParseDeviceList(Dic_Devicemodel, _grd)
@@ -2485,6 +2486,10 @@ Public Class TableInteraction
MsgBox("非场景动作数据不可复制!")
End If
End Sub
Public sub grdSetFocus( r As Integer ,c As Integer)
_grd.Cell(r,c).SetFocus
End sub
Public Sub GlueSceneActionData()
If CopyActionData.Count = 0 Then Return
If _grd.ActiveCell.Row > TableRowNumber.Max - 1 Then