Commit 7e18084f 张东亮

移远成品在C1电梯交换料架后另一辆车接任务问题优化

1 个父辈 faf5080b
......@@ -9,6 +9,7 @@ using System.Threading.Tasks;
using System.Xml;
using Common;
using DeviceLibrary.bean.agv;
using DeviceLibrary.lift;
using DeviceLibrary.manager;
using log4net.Util;
using Newtonsoft.Json;
......@@ -257,26 +258,6 @@ namespace DeviceLibrary
return false;
}
/// <summary>
/// 是否有成品满料车在电梯中准备送出
/// </summary>
/// <param name="liftname"></param>
/// <returns></returns>
public bool HasFinishedShelfInLift(out string liftname, out lift.LiftStatus liftStatus)
{
liftname = "";
liftStatus = null;
string[] lifts = Scope.Remark.Split(',');
foreach (string item in lifts)
{
if (lift.LiftContext.HasFinishedShelfNeedLeave(item, Client, out liftStatus))
{
liftname = item;
return true;
}
}
return false;
}
/// <summary>
/// 任务重发
/// </summary>
public void Resend()
......
using Common;
using DeviceLibrary.lift;
using DeviceLibrary.manager;
using DeviceLibrary.service.model;
using System.Reflection;
namespace DeviceLibrary.bean.job
......@@ -359,6 +360,12 @@ namespace DeviceLibrary.bean.job
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.S1F_LiftD2ToLiftC1_20_02_TakeShelfOff);
service.model.MissionInfo missionInfo = manager.MissionManager.GetMission(JobParam.LiftStatus.missionId);
if (missionInfo != null)
{
//任务状态变更
MissionManager.SetMissionState(missionInfo.missionId, service.model.MissionState.离开电梯, out string msg);
}
runInfo = $"到达{JobParam.CurTargetNode.AliceName}临时点2的放料点,准备放下料车";
JobRunStep.Msg = runInfo;
AllocateTask(agv, $"{SettingString.TakeShelfOff}");
......@@ -448,6 +455,13 @@ namespace DeviceLibrary.bean.job
MissionManager.SetMissionState(JobParam.GetMissionInfo().missionId, service.model.MissionState.返回电梯运行, out string msg);
JobRunStep.Msg = runInfo;
ResetMissionOccupiedAgv(JobParam.GetMissionInfo());
service.model.MissionInfo missionInfo = manager.MissionManager.GetMission(JobParam.LiftStatus.missionId);
if (missionInfo != null)
{
//设置任务占用
MissionManager.SetMissionOccupied(missionInfo, agv);
}
ClearLiftNodeOccupied(agv);
}
......
......@@ -20,7 +20,7 @@ namespace DeviceLibrary.bean.jobType
}
else
{
if(agv.Scope.Floor.Equals(1) && agv.HasFinishedShelfInLift(out string liftname, out lift.LiftStatus lift))
if(agv.Scope.Floor.Equals(1))
{
service.model.MissionInfo missionInfo = manager.MissionManager.GetF1SendFullFinishedC1ToD2Mission(agv);
if(missionInfo!=null)
......
......@@ -455,7 +455,7 @@ namespace DeviceLibrary.lift
/// </summary>
/// <param name="liftId"></param>
/// <returns></returns>
static LiftStatus GetLiftStatus(string liftId)
public static LiftStatus GetLiftStatus(string liftId)
{
if (lifts.ContainsKey(liftId))
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!