using Entity.Api.Req;
using Entity.Api.Resp;
using Entity.Base;
using Entity.DbModel.Station;
using HybirdFrameworkCore.Entity;
using HybirdFrameworkCore.Entity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.VisualBasic;
using Service.Plc.Client;
using Service.Station;
using Service.System;
namespace WebStarter.Controllers;
///
/// 充电大屏
///
[ApiController]
[Route("api/[controller]")]
public class ChargeMonitorController
{
private readonly BinInfoService _binInfoService;
private readonly MonitorService _monitorService;
public ChargeMonitorController(BinInfoService binInfoService, MonitorService monitorService)
{
_binInfoService = binInfoService;
_monitorService = monitorService;
}
///
/// 充电仓查询:条件:仓位编号 仓位名称
///
[HttpPost("ChargePositionQuery")]
public async Task> ChargePositionQuery(
[FromBody] ChargePositionQueryReq chargePositionQueryReq)
{
return await _binInfoService.ChargePositionQuery(chargePositionQueryReq);
}
///
/// 充电仓 0:禁用 1:启用
///
/// 仓位编号
/// 仓位状态:0-禁用、1-启用
///
///
[HttpPost("SetChargingBinStatus/{binNo}/{status}")]
public async Task> ChargingBinDisable(string binNo, int status)
{
BinInfo binInfo = await _binInfoService.QueryByClauseAsync(u => u.No == binNo);
if (binInfo == null)
throw new Exception("充电仓不存在");
binInfo.Status = status;
bool result = await _binInfoService.UpdateAsync(binInfo);
if (result)
return Result.Success(result);
else
return Result.Fail(result);
}
///
/// 电池移仓
///
/// 取仓号
/// 放仓号
///
[HttpGet("BatteryRelocation")]
public async Task> BatteryRelocation(ushort removeBinNo, ushort putBinNo)
{
return _monitorService.BatteryRelocation(removeBinNo, putBinNo);
}
///
/// 移仓时下拉项 仓位电池状态
///
[HttpGet("GetChargeBinOption")]
public Result> GetChargeBinOption()
{
return _monitorService.GetChargeBinOption();
}
}