diff --git a/Entity/Api/Resp/FireResp.cs b/Entity/Api/Resp/FireResp.cs
new file mode 100644
index 0000000..6075db0
--- /dev/null
+++ b/Entity/Api/Resp/FireResp.cs
@@ -0,0 +1,156 @@
+namespace Entity.Api.Resp;
+
+public partial class FireResp
+{
+ public Subzone2 Subzone2 = new Subzone2();
+ public Subzone5 Subzone5 = new Subzone5();
+ public Subzone7 Subzone7 = new Subzone7();
+}
+
+public class Subzone2
+{
+ ///
+ /// 启动喷洒 1:延时结束后,发出启动喷洒 信号0:默认状态
+ ///
+ public bool PrimingSpray { get; set; }
+
+ ///
+ /// 喷洒 1:存在喷洒状态, 即收到启动 反馈信号,表示灭火器启动成功 0:默认状态
+ ///
+ public bool Spray { get; set; }
+
+ ///
+ /// 声光报警状态 1:声光报警状态0:默认状态
+ ///
+ public bool AudibleVisualAlarmStatus { get; set; }
+
+ ///
+ /// 放气勿入状态 1:放气勿入状态0:默认状态
+ ///
+ public bool DeflatedDoNotEnter { get; set; }
+}
+
+public class Subzone5
+{
+ ///
+ /// 防护区
+ /// 防护区编号:
+ /// 1:表示电池仓
+ /// 2:表示充电室
+ /// 3:表示主控室
+ /// 4:表示换电通道
+ /// 5:表示电池仓 2
+ /// 6:表示充电室 2
+ /// 7:预留
+ /// 8:预留
+ ///
+ public byte ProtectionZone001 { get; set; }
+
+ ///
+ /// 类型
+ ///
+ public byte Type001 { get; set; }
+
+ ///
+ /// 探测器 ID 与探测器编号对应
+ ///
+ public byte DetectorID001 { get; set; }
+
+ ///
+ /// 报警等级 0x0000:正常0x0001:一级预警 0x0002:二级报警 0x0003:三级报警 0x0004:四级报警预留
+ ///
+ public byte AlarmLevel001 { get; set; }
+
+ ///
+ /// 温度 实际值=寄存器值 -40
+ ///
+ public byte Temperature001 { get; set; }
+
+ ///
+ /// 一氧化碳浓度 实际值=寄存器值 / 1000
+ ///
+ public byte CoConcentration001 { get; set; }
+
+ ///
+ /// VOC
+ ///
+ public byte VOC001 { get; set; }
+
+ ///
+ /// 烟雾 0xFF00 烟雾报警 0x0000 烟雾正常
+ ///
+ public byte Smoke001 { get; set; }
+
+ public byte ProtectionZone002 { get; set; }
+ public byte Type002 { get; set; }
+ public byte DetectorID002 { get; set; }
+ public byte AlarmLevel002 { get; set; }
+ public byte Temperature002 { get; set; }
+ public byte CoConcentration002 { get; set; }
+ public byte VOC002 { get; set; }
+ public byte Smoke002 { get; set; }
+ public byte ProtectionZone003 { get; set; }
+ public byte Type003 { get; set; }
+ public byte DetectorID003 { get; set; }
+ public byte AlarmLevel003 { get; set; }
+ public byte Temperature003 { get; set; }
+ public byte CoConcentration003 { get; set; }
+ public byte VOC003 { get; set; }
+ public byte Smoke003 { get; set; }
+ public byte ProtectionZone004 { get; set; }
+ public byte Type004 { get; set; }
+ public byte DetectorID004 { get; set; }
+ public byte AlarmLevel004 { get; set; }
+ public byte Temperature004 { get; set; }
+ public byte CoConcentration004 { get; set; }
+ public byte VOC004 { get; set; }
+ public byte Smoke004 { get; set; }
+ public byte ProtectionZone005 { get; set; }
+ public byte Type005 { get; set; }
+ public byte DetectorID005 { get; set; }
+ public byte AlarmLevel005 { get; set; }
+ public byte Temperature005 { get; set; }
+ public byte CoConcentration005 { get; set; }
+ public byte VOC005 { get; set; }
+ public byte Smoke005 { get; set; }
+ public byte ProtectionZone006 { get; set; }
+ public byte Type006 { get; set; }
+ public byte DetectorID006 { get; set; }
+ public byte AlarmLevel006 { get; set; }
+ public byte Temperature006 { get; set; }
+ public byte CoConcentration006 { get; set; }
+ public byte VOC006 { get; set; }
+ public byte Smoke006 { get; set; }
+}
+
+public class Subzone7
+{
+ ///
+ /// 1#灭火器状态
+ /// 0x0000:未启用,表示灭火器不存在
+ /// 0x0001:正常
+ /// 0x0002:喷洒,表示灭火 器正在启动中
+ /// 0x0003:失效,表示灭火 器已喷洒完毕
+ ///
+ public ushort FireExtinguisherStatus01 { get; set; }
+
+ ///
+ /// 1#灭火器防护区
+ /// 1:表示电池仓
+ /// 2:表示充电室
+ /// 3:表示主控室
+ /// 4:表示换电通道
+ /// 5:表示电池仓 2
+ /// 6:表示充电室 2
+ /// 7:预留
+ /// 8:预留
+ ///
+ public ushort FireExtinguisherProtectionArea01 { get; set; }
+
+ public ushort FireExtinguisherStatus02 { get; set; }
+ public ushort FireExtinguisherProtectionArea02 { get; set; }
+ public ushort FireExtinguisherStatus03 { get; set; }
+ public ushort FireExtinguisherProtectionArea03 { get; set; }
+ public ushort FireExtinguisherStatus04 { get; set; }
+ public ushort FireExtinguisherProtectionArea04 { get; set; }
+}
\ No newline at end of file
diff --git a/Service/FireControl/FireAutoMapper.cs b/Service/FireControl/FireAutoMapper.cs
new file mode 100644
index 0000000..1d60cab
--- /dev/null
+++ b/Service/FireControl/FireAutoMapper.cs
@@ -0,0 +1,37 @@
+using Entity.Api.Resp;
+
+namespace Service.FireControl;
+
+public class FireAutoMapper
+{
+ public static Entity.Api.Resp.Subzone2 Subzone2(Service.FireControl.Msg.Subzone2 subzone2)
+ {
+ Entity.Api.Resp.Subzone2 Subzone2 = new Subzone2();
+ Subzone2.PrimingSpray = subzone2.PrimingSpray.Value;
+ Subzone2.Spray = subzone2.Spray.Value;
+ Subzone2.AudibleVisualAlarmStatus = subzone2.AudibleVisualAlarmStatus.Value;
+ Subzone2.DeflatedDoNotEnter = subzone2.DeflatedDoNotEnter.Value;
+
+ return Subzone2;
+ }
+
+ public static Entity.Api.Resp.Subzone5 Subzone5(Service.FireControl.Msg.Subzone5 subzone5)
+ {
+ Entity.Api.Resp.Subzone5 Subzone5 = new Subzone5();
+ Subzone5.DetectorID001 = subzone5.DetectorID001.Value;
+ Subzone5.Temperature001 = subzone5.Temperature001.Value;
+ Subzone5.CoConcentration001 = subzone5.CoConcentration001.Value;
+ Subzone5.AlarmLevel001 = subzone5.AlarmLevel001.Value;
+ Subzone5.Smoke001 = subzone5.Smoke001.Value;
+
+ return Subzone5;
+ }
+
+ public static Entity.Api.Resp.Subzone7 Subzone7(Service.FireControl.Msg.Subzone7 subzone7)
+ {
+ Entity.Api.Resp.Subzone7 Subzone7 = new Subzone7();
+
+ return Subzone7;
+ }
+
+}
\ No newline at end of file
diff --git a/WebStarter/Controllers/FireControlController.cs b/WebStarter/Controllers/FireControlController.cs
index 12e1270..1cc22cb 100644
--- a/WebStarter/Controllers/FireControlController.cs
+++ b/WebStarter/Controllers/FireControlController.cs
@@ -1,5 +1,7 @@
-using HybirdFrameworkCore.Entity;
+using Entity.Api.Resp;
+using HybirdFrameworkCore.Entity;
using Microsoft.AspNetCore.Mvc;
+using Service.FireControl;
using Service.FireControl.Client;
using Service.FireControl.Msg;
@@ -23,7 +25,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.WriteExtinguisherOn(id));
}
-
+
///
/// 分区灭火器关
///
@@ -35,7 +37,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.WriteExtinguisherOff(id));
}
-
+
///
/// 复位开
///
@@ -47,7 +49,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.ResettingOn());
}
-
+
///
/// 复位关
///
@@ -59,7 +61,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.ResettingOff());
}
-
+
///
/// 报警消音开
///
@@ -71,7 +73,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.MuteAlarmToneOn());
}
-
+
///
/// 报警消音关
///
@@ -83,7 +85,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.MuteAlarmToneOff());
}
-
+
///
/// 自检关
///
@@ -95,7 +97,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.SelfInspectionOn());
}
-
+
///
/// 自检关
///
@@ -107,7 +109,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.SelfInspectionOff());
}
-
+
///
/// 声光报警开
///
@@ -119,7 +121,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.AudibleVisualAlarmOn());
}
-
+
///
/// 声光报警关
///
@@ -131,7 +133,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.AudibleVisualAlarmOff());
}
-
+
///
/// 手动模式开
///
@@ -143,7 +145,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.ManualModeOn());
}
-
+
///
/// 手动模式关
///
@@ -155,7 +157,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.ManualModeOff());
}
-
+
///
/// 自动模式关
///
@@ -167,7 +169,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.AutomaticModeOn());
}
-
+
///
/// 自动模式关
///
@@ -185,11 +187,11 @@ public class FireControlController
///
///
[HttpGet("GetSubzone2")]
- public Result GetSubzone2()
+ public Result GetSubzone2()
{
- return Result.Success(FireControlMgr.Subzone2);
+ return Result.Success(FireControlMgr.Subzone2);
}
-
+
///
/// 获取读取到的信息
///
@@ -199,7 +201,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.Subzone3);
}
-
+
///
/// 获取读取到的信息
///
@@ -209,17 +211,17 @@ public class FireControlController
{
return Result.Success(FireControlMgr.Subzone4);
}
-
+
///
/// 获取读取到的信息
///
///
[HttpGet("GetSubzone5")]
- public Result GetSubzone5()
+ public Result GetSubzone5()
{
- return Result.Success(FireControlMgr.Subzone5);
+ return Result.Success(FireControlMgr.Subzone5);
}
-
+
///
/// 获取读取到的信息
///
@@ -229,17 +231,17 @@ public class FireControlController
{
return Result.Success(FireControlMgr.Subzone6);
}
-
+
///
/// 获取读取到的信息
///
///
[HttpGet("GetSubzone7")]
- public Result GetSubzone7()
+ public Result GetSubzone7()
{
- return Result.Success(FireControlMgr.Subzone7);
+ return Result.Success(FireControlMgr.Subzone7);
}
-
+
///
/// 获取读取到的信息
///
@@ -249,7 +251,7 @@ public class FireControlController
{
return Result.Success(FireControlMgr.Subzone8);
}
-
+
///
/// 获取读取到的信息
///
@@ -259,4 +261,16 @@ public class FireControlController
{
return Result.Success(FireControlMgr.Subzone9);
}
+
+
+ [HttpGet("FireResp")]
+ public Result FireResp()
+ {
+ FireResp FireResp = new FireResp();
+ FireResp.Subzone2 = FireAutoMapper.Subzone2(FireControlMgr.Subzone2);
+ FireResp.Subzone5 = FireAutoMapper.Subzone5(FireControlMgr.Subzone5);
+ FireResp.Subzone7 = FireAutoMapper.Subzone7(FireControlMgr.Subzone7);
+
+ return Result.Success(FireResp);
+ }
}
\ No newline at end of file