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