diff --git a/Service/Execute/Step/CarPrepareState.cs b/Service/Execute/Step/CarPrepareState.cs
index 80227c0..4ce1ec5 100644
--- a/Service/Execute/Step/CarPrepareState.cs
+++ b/Service/Execute/Step/CarPrepareState.cs
@@ -389,7 +389,7 @@ public class CarPrepareState : IState
//选包成功
_CommonMgr.LockBinAndUpdateAmt(orderBatteryInfo);
machine.SwapOrderBatteryInfo = orderBatteryInfo;
- _CommonMgr.SaveSwapBattery(machine);
+
machine.SelectPackFlag = true;
}
}, () =>
diff --git a/Service/Execute/Step/SwapDoneState.cs b/Service/Execute/Step/SwapDoneState.cs
index 75d0c98..8af8aec 100644
--- a/Service/Execute/Step/SwapDoneState.cs
+++ b/Service/Execute/Step/SwapDoneState.cs
@@ -29,11 +29,13 @@ public class SwapDoneState : IState
///
public StateResult Handle(SwappingStateMachine machine)
{
+
//更新换电订单
machine.SwapOrder!.SwapResult = machine.SwapStatus;
machine.SwapOrder.SwapEndTime = DateTime.Now;
machine.SwapOrder.FailReason = machine.SwapFailReason;
_CommonMgr.UpdateSwapOrder(machine);
+ _CommonMgr.SaveSwapBattery(machine);
//修改预约单
@@ -80,8 +82,6 @@ public class SwapDoneState : IState
{
return SwappingStateMachine.ReturnWithInvokeErr(existRadar, ExceptionReason.None);
}
-
-
return new StateResult()
{
SwappingState = SwappingState.StationReady
diff --git a/Service/MyTask/UpdateDownBatteryInfoTask.cs b/Service/MyTask/UpdateDownBatteryInfoTask.cs
index 6067bef..f4b95bc 100644
--- a/Service/MyTask/UpdateDownBatteryInfoTask.cs
+++ b/Service/MyTask/UpdateDownBatteryInfoTask.cs
@@ -47,9 +47,10 @@ public class UpdateDownBatteryInfoTask : ITask
return;
}
+
List downBatteryBinNos = batterys.Select(i => i.DownBatteryBinNo.ToString()).ToList();
Dictionary binInfosMap = _BinInfoRepository
- .QueryListByClause(i => downBatteryBinNos.Contains(i.No)).ToDictionary(i => i.No);
+ .QueryListByClause(i => downBatteryBinNos.Contains(i.No) && i.Exists==1).ToDictionary(i => i.No);
List updateDbBattery = new List();
@@ -66,6 +67,10 @@ public class UpdateDownBatteryInfoTask : ITask
continue;
}
+ if (!info.BatteryNo.Equals(battery.DownBatteryNo))
+ {
+ continue;
+ }
battery.DownBatteryNo = info.BatteryNo;
battery.DownBatterySoc = info.Soc;
battery.DownBatterySoe = info.Soe;
diff --git a/Service/Station/MonitorService.cs b/Service/Station/MonitorService.cs
index 692547f..553e8df 100644
--- a/Service/Station/MonitorService.cs
+++ b/Service/Station/MonitorService.cs
@@ -36,15 +36,15 @@ public class MonitorService
public PlcTaskMgr PlcTaskMgr { get; set; }
public MoveBinRecordRepository MoveBinRecordRepository { get; set; }
-
-
+
+
[DisplayName("获取移仓分页")]
public async Task> Page(PageMoveBinRecordReq input)
{
RefAsync total = 0;
-
+
var items = await MoveBinRecordRepository.QueryPageAsync(
- entity => true,
+ entity => true,
!string.IsNullOrWhiteSpace(input.UpBatterySoc), u => u.UpBatterySoc.Equals(input.UpBatterySoc.Trim()),
!string.IsNullOrWhiteSpace(input.UpBinNo), u => u.UpBinNo.Equals(input.UpBinNo.Trim()),
!string.IsNullOrWhiteSpace(input.UpBatteryNo), u => u.UpBatteryNo.Equals(input.UpBatteryNo.Trim()),
@@ -57,21 +57,22 @@ public class MonitorService
Rows = items,
};
}
-
+
public async Task Add(AddMoveBinRecordReq input)
{
string result = "";
MoveBinRecord moveBinRecord = await MoveBinRecordRepository.InsertAsync(input);
-
+
return "新增id:" + moveBinRecord.Id;
}
+
public virtual async Task Update(UpdateMoveBinRecordReq Req)
{
return await MoveBinRecordRepository.UpdateAsync(Req);
}
-
-
+
+
public virtual async Task Delete(DeleteMoveBinRecordReq input)
{
var user = await MoveBinRecordRepository.QueryByClauseAsync(u => u.Id == input.Id);
@@ -79,21 +80,22 @@ public class MonitorService
throw new ArgumentException($"不存在");
return await MoveBinRecordRepository.DeleteAsync(user);
}
+
public Result GetSwapMonitorData()
{
var configBinInfo =
new MapperConfiguration(cfg => cfg.CreateMap().ReverseMap());
IMapper mapperBinInfo = configBinInfo.CreateMapper();
-
-
+
+
List stateInfoList = new List();
ConcurrentDictionary dictionary = StationSoftMgr.SwappingStateMachine.StepModel;
stateInfoList = dictionary.Values
.OrderBy(model => model.StepNo)
.Select(model => mapperBinInfo.Map(model))
.ToList();
-
-
+
+
var tboxCarInfoModel = StationSoftMgr.SwappingStateMachine.BoxCarInfoModel;
List binInfos = BinInfoRepository.QueryListByClause(i => i.Exists == 1 && i.Status == 1);
@@ -274,7 +276,7 @@ public class MonitorService
Type = type,
CreatedTime = DateTime.Now
};
- moveBinRecord= MoveBinRecordRepository.Insert(moveBinRecord);
+ moveBinRecord = MoveBinRecordRepository.Insert(moveBinRecord);
result = PlcMgr.HoldOn();
if (!result)
@@ -299,6 +301,7 @@ public class MonitorService
MoveBinRecordRepository.Update(moveBinRecord);
return Result.Fail();
}
+
Log.Info($"move battery success update moveBin={JsonConvert.SerializeObject(moveBinRecord)}");
//如果是缓存仓 更新缓存仓的数据
@@ -315,14 +318,12 @@ public class MonitorService
}
- if (removeBin.CacheBinFlag == 1)
- {
- removeBin.Exists = 0;
- removeBin.BatteryNo = "-1";
- removeBin.Soc = -1;
- removeBin.Soe = -1;
- removeBin.Soh = -1;
- }
+ removeBin.Exists = 0;
+ removeBin.BatteryNo = "-1";
+ removeBin.Soc = -1;
+ removeBin.Soe = -1;
+ removeBin.Soh = -1;
+
removeBin.BatteryEnterSeq = 0;
BinInfoRepository.Update(removeBin);
@@ -336,10 +337,10 @@ public class MonitorService
Log.Error($"move battery fail e={e.Message}");
if (moveBinRecord != null)
{
-
moveBinRecord.Status = 3;
MoveBinRecordRepository.Update(moveBinRecord);
}
+
PlcMgr.PlcClient?.ResetTaskNo();
return Result.Fail();
@@ -358,4 +359,4 @@ public class MonitorService
return Result>.Success(mapperBinInfo.Map>(queryListByClause));
}
-}
+}
\ No newline at end of file