public void Refresh(bool refr_1 = true, bool refr_2 = true, bool refr_3 = true, bool refr_4 = true) { if (refr_1) { AreaList.Clear(); AreaList.AddRange(PubMaster.Mod.AreaSql.QueryAreaList()); } if (refr_2) { AreaDevList.Clear(); AreaDevList.AddRange(PubMaster.Mod.AreaSql.QueryAreaDeviceList()); } if (refr_3) { AreaTraList.Clear(); AreaTraList.AddRange(PubMaster.Mod.AreaSql.QueryAreaTrackList()); } if (refr_4) { AreaDevTraList.Clear(); AreaDevTraList.AddRange(PubMaster.Mod.AreaSql.QueryAreaDeviceTrackList()); } }
/// <summary> /// 倒库专用:找到上砖摆渡轨道 /// </summary> /// <param name="trans"></param> /// <returns></returns> public List <uint> GetFerryTrackSortIds(StockTrans trans, bool istrackid) { List <uint> list = new List <uint>(); List <AreaDevice> ferrys = AreaDevList.FindAll(c => c.area_id == trans.area_id && c.DevType == DeviceTypeE.摆渡); if (ferrys != null && ferrys.Count > 0) { foreach (AreaDevice device in ferrys) { if (AreaDevTraList.Exists(c => c.device_id == device.device_id && c.area_id == device.area_id && c.track_id == trans.give_track_id)) { if (istrackid) { uint trackid = PubMaster.Device.GetFerryTrackId(device.device_id); if (trackid > 0) { list.Add(trackid); } } else { list.Add(device.device_id); } } } } return(list); }
/// <summary> /// 获取摆渡车ID或摆渡车轨道的ID /// </summary> /// <param name="trans"></param> /// <param name="istrackid"></param> /// <returns></returns> public List <uint> GetFerryWithTrackInOut(DeviceTypeE ferrytype, uint areaid, uint taketrackid, uint givetrackid, uint cartrackid, bool istrackid) { List <uint> list = new List <uint>(); List <AreaDevice> ferrys = AreaDevList.FindAll(c => c.area_id == areaid && c.DevType == ferrytype); if (ferrys != null && ferrys.Count > 0) { bool takematch, givematch, carmatch; foreach (AreaDevice device in ferrys) { takematch = taketrackid == 0 || AreaDevTraList.Exists(c => c.device_id == device.device_id && c.area_id == device.area_id && c.track_id == taketrackid); givematch = givetrackid == 0 || AreaDevTraList.Exists(c => c.device_id == device.device_id && c.area_id == device.area_id && c.track_id == givetrackid); carmatch = cartrackid == 0 || AreaDevTraList.Exists(c => c.device_id == device.device_id && c.area_id == device.area_id && c.track_id == cartrackid); if (takematch && givematch && carmatch) { if (istrackid) { uint trackid = PubMaster.Device.GetFerryTrackId(device.device_id); if (trackid > 0) { list.Add(trackid); } } else { list.Add(device.device_id); } } } } return(list); }
internal List <uint> GetAreaTileIds(uint areaid) { return(AreaDevList.FindAll(c => c.area_id == areaid && (c.DevType == DeviceTypeE.砖机 || c.DevType == DeviceTypeE.砖机)) .Select(c => c.device_id).ToList()); }
public uint GetAreaId(uint id) { return(AreaDevList.Find(c => c.device_id == id)?.area_id ?? 0); }
public List <AreaDevice> GetAreaDevList(uint area_id, DeviceTypeE devtype) { return(AreaDevList.FindAll(c => c.area_id == area_id && c.DevType == devtype)); }
public List <AreaDevice> GetAreaDevList(uint area_id) { return(AreaDevList.FindAll(c => c.area_id == area_id)); }
public bool IsFerryInArea(uint filterareaid, uint iD) { return(AreaDevList.Exists(c => c.area_id == filterareaid && c.device_id == iD)); }
public List <AreaDevice> GetAreaDevListWithType(DeviceTypeE devtype) { return(AreaDevList.FindAll(c => c.DevType == devtype)); }