From 1e4b358de58e36bfbf692ab2538ff9e7d60fd025 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期五, 24 二月 2023 14:11:17 +0800 Subject: [PATCH] 曲线筛查 --- BLL/IStation.BLL.Logic/logic_tree/LogicTree.cs | 75 +++++++++++++++++++++++++++++++------ 1 files changed, 62 insertions(+), 13 deletions(-) diff --git a/BLL/IStation.BLL.Logic/logic_tree/LogicTree.cs b/BLL/IStation.BLL.Logic/logic_tree/LogicTree.cs index e8d5f59..3e6a51d 100644 --- a/BLL/IStation.BLL.Logic/logic_tree/LogicTree.cs +++ b/BLL/IStation.BLL.Logic/logic_tree/LogicTree.cs @@ -16,12 +16,12 @@ #region Cache - //鏍规嵁 projectId 鑾峰彇缂撳瓨 + //鏍规嵁 projectId 鏌ヨ缂撳瓨 private List<Model.LogicTree> GetProjectCache(long projectId) { return LogicTreeCacheHelper.GetSet(projectId, () => { - var entities = _dal.QueryAll(projectId); + var entities = _dal.GetAll(projectId); var models = Entity2Models(entities); if (models == null) { @@ -34,7 +34,7 @@ //鏍规嵁 Id 鏇存柊缂撳瓨 private void UpdateProjectCache(long projectId, long Id) { - var entity_ds = _dal.QueryById(projectId, Id); + var entity_ds = _dal.GetById(projectId, Id); var model_ds = Entity2Model(entity_ds); var all = GetProjectCache(projectId); var model = all.Find(x => x.Id == Id); @@ -53,7 +53,7 @@ { if (Ids == null || Ids.Count() < 1) return; - var entities = _dal.QueryByIds(projectId, Ids); + var entities = _dal.GetByIds(projectId, Ids); var models = Entity2Models(entities); var all = GetProjectCache(projectId); all.RemoveAll(x => Ids.Contains(x.Id)); @@ -72,35 +72,45 @@ #endregion - #region Query + #region Get /// <summary> /// 鏌ヨ鍏ㄩ儴 /// </summary> - public List<Model.LogicTree> QueryAll(long projectId) + public List<Model.LogicTree> GetAll(long projectId) { var all = GetProjectCache(projectId); return all.OrderBy(x => x.SortCode).ToList(); } /// <summary> - /// 鏍规嵁Id鏌ヨ + /// 鏍规嵁 Id鏌ヨ /// </summary> - public Model.LogicTree QueryById(long projectId, long Id) + public Model.LogicTree GetById(long projectId, long Id) { - var all = QueryAll(projectId); + var all = GetAll(projectId); return all.Find(x => x.Id == Id); } /// <summary> - /// 鏍规嵁 Ids 鑾峰彇 + /// 鏍规嵁 Ids 鏌ヨ /// </summary> - public List<Model.LogicTree> QueryByIds(long projectId, IEnumerable<long> Ids) + public List<Model.LogicTree> GetByIds(long projectId, IEnumerable<long> Ids) { if (Ids == null || Ids.Count() < 1) return default; - var all = QueryAll(projectId); + var all = GetAll(projectId); return all.Where(x => Ids.Contains(x.Id)).ToList(); + } + + + /// <summary> + /// 鏍规嵁 LogicType LogicId 鏌ヨ + /// </summary> + public Model.LogicTree GetByLogicTypeAndLogicId(long projectId, string logicType, long logicId) + { + var all = GetAll(projectId); + return all.Find(x => x.LogicType == logicType&&x.LogicId== logicId); } #endregion @@ -196,7 +206,7 @@ /// </summary> public bool IsExistById(long projectId, long Id) { - var all = QueryAll(projectId); + var all = GetAll(projectId); return all.Exists(x => x.Id == Id); } #endregion @@ -219,5 +229,44 @@ #endregion + #region Cover + + /// <summary> + /// 鎵归噺瑕嗙洊 + /// </summary> + public bool Covers(long projectId, IEnumerable<Model.LogicTree> list) + { + if (projectId < 1) + return default; + if (list == null || list.Count() < 1) + return default; + var entities = Model2Entities(list.ToList()); + var bol = _dal.Covers(projectId, entities); + if (bol) + { + LogicTreeCacheHelper.Remove(projectId); + } + return bol; + } + + /// <summary> + /// 鎵归噺瑕嗙洊骞惰繑鍥� + /// </summary> + public List<Entity.LogicTree> CoversR(long projectId, IEnumerable<Model.LogicTree> list) + { + if (projectId < 1) + return default; + if (list == null || list.Count() < 1) + return default; + var entities = Model2Entities(list.ToList()); + var models = _dal.CoversR(projectId, entities); + if (models != null && models.Count > 0) + { + LogicTreeCacheHelper.Remove(projectId); + } + return models; + } + + #endregion } } -- Gitblit v1.9.3