From c018353d12883b8f785f72b65d97580d079aefef Mon Sep 17 00:00:00 2001
From: tq <1916474859@qq,com>
Date: Fri, 26 Jul 2024 15:18:29 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AB=99=E5=A4=96=E4=B8=8B=E5=8F=91=E5=85=85?=
=?UTF-8?q?=E7=94=B5=E5=90=8E,=E4=BF=AE=E6=94=B9=E5=85=85=E7=94=B5?=
=?UTF-8?q?=E4=BB=93=E7=8A=B6=E6=80=81=E4=B8=BA=E5=8D=A0=E7=94=A8,?=
=?UTF-8?q?=E9=81=BF=E5=85=8D=E7=AB=99=E5=86=85=E5=8F=91=E9=80=81=E8=87=AA?=
=?UTF-8?q?=E5=8A=A8=E5=85=85=E7=94=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Entity/DbModel/Station/BinInfo.cs | 2 +-
Service/Charger/Client/ChargerClient.cs | 15 ++++++++-------
Service/Charger/MyTask/AutoChargeTask.cs | 2 +-
WebStarter/Controllers/OutChargerController.cs | 10 +++++++++-
4 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/Entity/DbModel/Station/BinInfo.cs b/Entity/DbModel/Station/BinInfo.cs
index e1f3cf5..bfc3b21 100644
--- a/Entity/DbModel/Station/BinInfo.cs
+++ b/Entity/DbModel/Station/BinInfo.cs
@@ -155,7 +155,7 @@ namespace Entity.DbModel.Station
public int? BatteryEnterSeq { get; set; }
///
- /// Desc:充电状态;0-未知;1-正在充电;2-无电池;3-禁用;4-充电停止
+ /// Desc:充电状态;0-未知;1-正在充电;2-无电池;3-禁用;4-充电停止 增加5-站外下发占用
/// Default:0
/// Nullable:True
///
diff --git a/Service/Charger/Client/ChargerClient.cs b/Service/Charger/Client/ChargerClient.cs
index 418ca0a..29a21bd 100644
--- a/Service/Charger/Client/ChargerClient.cs
+++ b/Service/Charger/Client/ChargerClient.cs
@@ -313,14 +313,15 @@ public class ChargerClient : TcpClient
return Result.Fail($"充电机{BinNo}未连接");
}
- if (ChargerMode != mode)
+ Result sendChangeChargeMode = SendChangeChargeMode(mode);
+ if (sendChangeChargeMode.IsSuccess)
{
- Result sendChangeChargeMode = SendChangeChargeMode(mode);
- if (sendChangeChargeMode.IsSuccess)
- {
- ChargerMode = mode;
- Thread.Sleep(3000);
- }
+ ChargerMode = mode;
+ Thread.Sleep(3000);
+ }
+ else
+ {
+ return Result.Fail("充电机切换充电模式发送失败");
}
if (string.IsNullOrWhiteSpace(chargeOrderNo))
diff --git a/Service/Charger/MyTask/AutoChargeTask.cs b/Service/Charger/MyTask/AutoChargeTask.cs
index 7558eef..780ddfc 100644
--- a/Service/Charger/MyTask/AutoChargeTask.cs
+++ b/Service/Charger/MyTask/AutoChargeTask.cs
@@ -172,7 +172,7 @@ public class AutoChargeTask : ITask
{
float? chargePower = EquipInfoRepository.QueryPowerByCode(binInfo.ChargerNo);
float? power = chargePower == null ? StaticStationInfo.ChargePower : chargePower;
- if (binInfo.ChargeStatus != 1)
+ if (binInfo.ChargeStatus != 1 && binInfo.ChargeStatus != 5)
{
//没有充电时候在充电
Result? result = ClientMgr.GetBySn(binInfo.ChargerNo)
diff --git a/WebStarter/Controllers/OutChargerController.cs b/WebStarter/Controllers/OutChargerController.cs
index 994be48..65fcc20 100644
--- a/WebStarter/Controllers/OutChargerController.cs
+++ b/WebStarter/Controllers/OutChargerController.cs
@@ -20,9 +20,12 @@ public class OutChargerController
{
private ChargeOrderRepository _chargeOrderRepository;
- public OutChargerController(ChargeOrderRepository chargeOrderRepository)
+ private BinInfoRepository _binInfoRepository;
+
+ public OutChargerController(ChargeOrderRepository chargeOrderRepository,BinInfoRepository binInfoRepository)
{
_chargeOrderRepository = chargeOrderRepository;
+ _binInfoRepository = binInfoRepository;
}
///
@@ -59,6 +62,9 @@ public class OutChargerController
byte chargeSoc = StaticStationInfo.ChargeSoc;
// 下发充电枪充电
chargerClient.SendRemoteStartCharging((byte)ChargerModeConst.OutsideTheStation, chargeSoc, 360, 1, chargeGunOrder);
+
+ _binInfoRepository.Update(i => i.ChargeStatus == 5, i => i.ChargerNo == chargerClient.Sn);
+
// 初始化订单
_chargeOrderRepository.SaveChargeGunOrder(chargeGunOrder, httpReq.con, chargerCode, httpReq.pn,
chargerCode);
@@ -85,6 +91,8 @@ public class OutChargerController
// 下发充电枪停止充电
chargerClient.SendRemoteStopCharging();
+
+ _binInfoRepository.Update(i => i.ChargeStatus == 4, i => i.ChargerNo == chargerClient.Sn);
return Result.Success(true);
}