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