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