步序初始化

zw
tq 5 months ago
parent 519b6bcafb
commit 173897b781

@ -16,6 +16,10 @@ public class SwappingStateInfoResp
/// <summary> /// <summary>
/// 换电步序时刻 /// 换电步序时刻
/// </summary> /// </summary>
public DateTime StartTime{ get; set; } public DateTime? StartTime{ get; set; }
/// <summary>
/// 步序执行状态
/// 0:初始化 1:执行完成
/// </summary>
public int Status{ get; set; }
} }

@ -39,12 +39,15 @@ public class CommonMgr
/// </summary> /// </summary>
public void InsertStep(InfoEnum.BusinessSwappingStep step, SwappingStateMachine machine) public void InsertStep(InfoEnum.BusinessSwappingStep step, SwappingStateMachine machine)
{ {
machine.StepModel.Add(new() var stepModel = new StepModel
{ {
StepName = BaseEnumExtensions.GetDescription(step), StepName = BaseEnumExtensions.GetDescription(step),
StepNo = (int)step, StepNo = (int)step,
StartTime = DateTime.Now StartTime = DateTime.Now,
}); Status = 1
};
machine.StepModel[step.ToString()] = stepModel;
_swapOrderStepService.InsertSwapStepForSwapMain(step, _swapOrderStepService.InsertSwapStepForSwapMain(step,
machine.StepSort++, machine.SwapOrder.Sn); machine.StepSort++, machine.SwapOrder.Sn);
} }

@ -19,5 +19,10 @@ public class StepModel
/// <summary> /// <summary>
/// 换电步序时刻 /// 换电步序时刻
/// </summary> /// </summary>
public DateTime StartTime{ get; set; } public DateTime? StartTime{ get; set; }
/// <summary>
/// 步序执行状态
/// 0:初始化 1:执行完成
/// </summary>
public int Status{ get; set; }
} }

@ -1,4 +1,5 @@
using Autofac; using System.Collections.Concurrent;
using Autofac;
using DotNetty.Common.Utilities; using DotNetty.Common.Utilities;
using Entity.Constant; using Entity.Constant;
using Entity.DbModel.Station; using Entity.DbModel.Station;
@ -66,9 +67,26 @@ public class SwappingStateMachine : IDisposable
public SwapOrderBatteryInfo? SwapOrderBatteryInfo = null; public SwapOrderBatteryInfo? SwapOrderBatteryInfo = null;
public List<StepModel> StepModel = null; public ConcurrentDictionary<string, StepModel> StepModel =
new ConcurrentDictionary<string, StepModel>
{
["1"] = new StepModel { StepNo = 1, Status = 0, StepName = "空闲" },
["2"] = new StepModel { StepNo = 2, Status = 0, StepName = "车辆到站(入口雷达检测到车辆驶入)" },
["3"] = new StepModel { StepNo = 3, Status = 0, StepName = "rfid扫描完成" },
["4"] = new StepModel { StepNo = 4, Status = 0, StepName = "云平台车辆认证" },
["5"] = new StepModel { StepNo = 5, Status = 0, StepName = "车辆到位" },
["6"] = new StepModel { StepNo = 6, Status = 0, StepName = "车辆解锁" },
["7"] = new StepModel { StepNo = 7, Status = 0, StepName = "下发plc选包" },
["8"] = new StepModel { StepNo = 8, Status = 0, StepName = "开始换电" },
["9"] = new StepModel { StepNo = 9, Status = 0, StepName = "拆旧电池完成" },
["10"] = new StepModel { StepNo = 10, Status = 0, StepName = "入库旧电池完成" },
["11"] = new StepModel { StepNo = 11, Status = 0, StepName = "搬运新电池完成" },
["12"] = new StepModel { StepNo = 12, Status = 0, StepName = "安装新电池完成" },
["13"] = new StepModel { StepNo = 13, Status = 0, StepName = "安装完成" },
["14"] = new StepModel { StepNo = 14, Status = 0, StepName = "车辆上锁" },
["15"] = new StepModel { StepNo = 15, Status = 0, StepName = "换电完成(车辆驶离)" },
["16"] = new StepModel { StepNo = 16, Status = 0, StepName = "换电失败(车辆驶离)" },
};
#region 小步状态 #region 小步状态
//雷达检测/车辆进入 //雷达检测/车辆进入
@ -323,7 +341,12 @@ public class SwappingStateMachine : IDisposable
SwapOrderBatteryInfo = null; SwapOrderBatteryInfo = null;
StepSort = 0; StepSort = 0;
StepModel = new List<StepModel>();
foreach (var key in StepModel.Keys.ToList())
{
StepModel[key].Status = 0;
StepModel[key].StartTime = null;
}
PlcSwapFlag = false; PlcSwapFlag = false;
ManualSwapSuccFlag = false; ManualSwapSuccFlag = false;

@ -1,10 +1,13 @@
using System.Collections.Concurrent;
using System.ComponentModel; using System.ComponentModel;
using Autofac;
using AutoMapper; using AutoMapper;
using Common.Util; using Common.Util;
using Entity.Api.Resp; using Entity.Api.Resp;
using Entity.Constant; using Entity.Constant;
using Entity.DbModel.Station; using Entity.DbModel.Station;
using Entity.Dto.Req; using Entity.Dto.Req;
using HybirdFrameworkCore.Autofac;
using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Autofac.Attribute;
using HybirdFrameworkCore.Entity; using HybirdFrameworkCore.Entity;
using log4net; using log4net;
@ -15,6 +18,7 @@ using Service.Cloud.Client;
using Service.Execute; using Service.Execute;
using Service.Execute.Api; using Service.Execute.Api;
using Service.Execute.Model; using Service.Execute.Model;
using Service.Execute.Utils;
using Service.Init; using Service.Init;
using Service.Mgr; using Service.Mgr;
using Service.Plc.Client; using Service.Plc.Client;
@ -81,8 +85,14 @@ public class MonitorService
new MapperConfiguration(cfg => cfg.CreateMap<StepModel, SwappingStateInfoResp>().ReverseMap()); new MapperConfiguration(cfg => cfg.CreateMap<StepModel, SwappingStateInfoResp>().ReverseMap());
IMapper mapperBinInfo = configBinInfo.CreateMapper(); IMapper mapperBinInfo = configBinInfo.CreateMapper();
List<SwappingStateInfoResp> stateInfoList =
mapperBinInfo.Map<List<SwappingStateInfoResp>>(StationSoftMgr.SwappingStateMachine.StepModel); List<SwappingStateInfoResp> stateInfoList = new List<SwappingStateInfoResp>();
ConcurrentDictionary<string, StepModel> dictionary = StationSoftMgr.SwappingStateMachine.StepModel;
stateInfoList = dictionary.Values
.OrderBy(model => model.StepNo)
.Select(model => mapperBinInfo.Map<SwappingStateInfoResp>(model))
.ToList();
var tboxCarInfoModel = StationSoftMgr.SwappingStateMachine.BoxCarInfoModel; var tboxCarInfoModel = StationSoftMgr.SwappingStateMachine.BoxCarInfoModel;

Loading…
Cancel
Save