public bool CanRequest() { missonNodes.Clear(); var agv_outmissions_atpreplace = missionContext.undo_outmissions.Where(x => x.Process == AgvMissonProcessEnum.AGVATPREPLACE).ToList() ?? new List <AgvOutMissonModel>(); foreach (var mission in agv_outmissions_atpreplace) { var brother_mission_type = missionContext.brotherMissionType[mission.Type]; var brother_inmission = missionContext.MissionInNodes .Where(x => x.ClientId == mission.ClientId && x.Type == brother_mission_type && x.Process >= AgvMissonProcessEnum.NEW && x.Process < AgvMissonProcessEnum.AGVPICKEDANDLEAVE) .FirstOrDefault(); //var feeding_signal = feedingSignals.Where(x => x.ClientId == mission.ClientId && x.Type == mission.Type).FirstOrDefault() ?? new AgvFeedingSignal { Value = true }; //测试用 料道信号判断是否单元入料道是否有箱子--忽略 var feeding_signal = new AgvFeedingSignal { Value = false }; if (brother_inmission == null && feeding_signal.Value == false && mission.Process == AgvMissonProcessEnum.AGVATPREPLACE) { missonNodes.Add(mission); } } return(missonNodes.Count > 0); }
public bool CanRequest() { missonModels.Clear(); var agv_inmissions_atprepick = missionContext.undo_inmissions.Where(x => x.Process == AgvMissonProcessEnum.AGVATPREPICK).ToList() ?? new List <AgvInMissonModel>(); foreach (var mission in agv_inmissions_atprepick) { //var brother_mission_type = brotherMissionType[mission.Type]; //var brother_inmission = OutMissions // .Where(x => x.ClientId == mission.ClientId // && x.Type == brother_mission_type // && x.Process >= AgvOutMissonProcessEnum.NEW && x.Process < AgvOutMissonProcessEnum.AGVPICKEDANDLEAVE) // .FirstOrDefault(); //var feeding_signal = feedingSignals.Where(x => x.ClientId == mission.ClientId && x.Type == mission.Type).FirstOrDefault() ?? new AgvFeedingSignal { Value = true }; //测试用 料道信号判断是否单元入料道是否有箱子--忽略 var feeding_signal = new AgvFeedingSignal { Value = true }; if (feeding_signal.Value == true && mission.Process == AgvMissonProcessEnum.AGVATPREPICK) { missonModels.Add(mission); } } return(missonModels.Count > 0); }
public void UpdataFeedingSignal(AgvFeedingSignal signal) { var sig = feedingSignals.Where(x => x.Id == signal.Id).FirstOrDefault(); if (sig == null) { feedingSignals.Add(signal); } else { sig.Value = signal.Value; } }
public SendFeedingSignalMessage(AgvFeedingSignal model) { Model = model; }
public void SendFeedingSignalMessage(AgvFeedingSignal message) { Clients.All.receiveFeedingSignalMessage(message); }