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);
}