|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 充电大屏
|
|
|
|
|
/// </summary>
|
|
|
|
|
[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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 充电仓查询:条件:仓位编号 仓位名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[HttpPost("ChargePositionQuery")]
|
|
|
|
|
public async Task<SqlSugarPagedList<BinInfo>> ChargePositionQuery(
|
|
|
|
|
[FromBody] ChargePositionQueryReq chargePositionQueryReq)
|
|
|
|
|
{
|
|
|
|
|
return await _binInfoService.ChargePositionQuery(chargePositionQueryReq);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 充电仓 0:禁用 1:启用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="binNo">仓位编号</param>
|
|
|
|
|
/// <param name="status">仓位状态:0-禁用、1-启用</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
/// <exception cref="Exception"></exception>
|
|
|
|
|
[HttpPost("SetChargingBinStatus/{binNo}/{status}")]
|
|
|
|
|
public async Task<Result<bool>> 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<bool>.Success(result);
|
|
|
|
|
else
|
|
|
|
|
return Result<bool>.Fail(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 电池移仓
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="removeBinNo">取仓号</param>
|
|
|
|
|
/// <param name="putBinNo">放仓号</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet("BatteryRelocation")]
|
|
|
|
|
public async Task<Result<bool>> BatteryRelocation(ushort removeBinNo, ushort putBinNo)
|
|
|
|
|
{
|
|
|
|
|
return _monitorService.BatteryRelocation(removeBinNo, putBinNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 移仓时下拉项 仓位电池状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
[HttpGet("GetChargeBinOption")]
|
|
|
|
|
public Result<List<BinInfoResp>> GetChargeBinOption()
|
|
|
|
|
{
|
|
|
|
|
return _monitorService.GetChargeBinOption();
|
|
|
|
|
}
|
|
|
|
|
}
|