using Entity.Api.Req; using Entity.Api.Resp; using Entity.Constant; using HybirdFrameworkCore.Entity; using Microsoft.AspNetCore.Mvc; using Service.Execute; using Service.Init; using Service.Plc.Client; using Service.Station; namespace WebStarter.Controllers; /// /// 换电大屏 /// [ApiController] [Route("api/[controller]")] public class SwapMonitorController : ControllerBase { private readonly SwapMonitorService? _swapMonitorService; public SwapMonitorController(SwapMonitorService? swapMonitorService) { _swapMonitorService = swapMonitorService; } /// /// 获取设备连接状态 目前 Tbox 云平台 plc /// /// [HttpPost("GetDeviceState")] public async Task> GetDeviceState() { return _swapMonitorService.GetDeviceState(); } /// /// 首页换电状态信息 /// /// [HttpPost("GetSwapMonitorData")] public async Task> GetSwapMonitorData() { return _swapMonitorService.GetSwapMonitorData(); } /// /// 获取模式类 /// /// [HttpPost("GetModel")] public async Task> GetModel() { return _swapMonitorService.GetModel(); } /// /// 获取充电监控大屏 充电次数 每五分钟获取一次 /// [HttpPost("GetSwapAndChargingCount")] public async Task> SwapAndChargingCount() { return Result.Success(null); } /// /// 设置换电模式:1:本地换电 2:远程换电 /// [HttpPost("SetSwapModel/{swapModel}")] public async Task> SetSwapModel(int swapModel) { StaticStationInfo.StationModel = swapModel; return Result.Success(); } /// /// 设置换电方式:1:自动换电 2:手动换电 /// [HttpPost("SetSwapWay/{swapWay}")] public async Task> SetSwapWay(int stationSwapWay) { StaticStationInfo.StationWay = stationSwapWay; return Result.Success(); } /// /// 换电复位 /// [HttpPost("SwapReset")] public async Task> SwapReset() { StationSoftMgr.SwappingStateMachineCancel(); return Result.Success(); } /// /// 红绿灯操控 /// 0:无颜色 /// 1000:绿灯 /// 1010:绿灯闪烁 /// 1020:红灯 /// 1030:红灯闪烁 /// 1040:黄灯 /// 1050:黄灯闪烁 /// 1100:所有灯亮 /// /// /// [HttpPost("OperateOutstationLamp")] public async Task> OperateOutstationLamp(byte lampCmd) { return PlcMgr.WriteEntranceLamp(lampCmd) ? Result.Success(true) : Result.Fail(); } /// /// 换电大屏 换电成功 按钮 status :1成功 2:失败 /// /// /// /*[HttpGet("ManualSwapStatus/{swapNo}/{status}")] public async Task> ManualChangeSuccess(string swapNo, int status) { return Result.Success(); }*/ /// /// 切换成 手动换电 /// [HttpPost("ManualSwapping")] public Result ManualSwapping() { StaticStationInfo.StationWay = (int)StationConstant.StationWay.Manual; return Result.Success(); } /// /// 切换成 自动换电 /// [HttpPost("AutoSwapping")] public Result AutoSwapping() { StaticStationInfo.StationWay = (int)StationConstant.StationWay.Auto; return Result.Success(); } }