From f1fac249aec3a5390152fa2a9a13e8da98283c3b Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 20 十二月 2024 18:19:21 +0800
Subject: [PATCH] 水池修改

---
 BLL/HStation.BLL.Assets.Core/03-localclient/15-Tank/AssetsTankSeries.cs |  121 +++++++++++++++++++++++-----------------
 1 files changed, 69 insertions(+), 52 deletions(-)

diff --git a/BLL/HStation.BLL.Assets.Core/03-localclient/15-Tank/AssetsTankSeries.cs b/BLL/HStation.BLL.Assets.Core/03-localclient/15-Tank/AssetsTankSeries.cs
index b5679d6..87d9c05 100644
--- a/BLL/HStation.BLL.Assets.Core/03-localclient/15-Tank/AssetsTankSeries.cs
+++ b/BLL/HStation.BLL.Assets.Core/03-localclient/15-Tank/AssetsTankSeries.cs
@@ -1,14 +1,11 @@
-锘縰sing HStation.Dto;
-using Yw.Dto;
-
-namespace HStation.CAL.LocalClient
+锘縩amespace HStation.CAL.LocalClient
 {
     /// <summary>
     /// 姘存睜绯诲垪
-    ///</summary>
+    /// </summary>
     public class AssetsTankSeries : IAssetsTankSeries
     {
-        private readonly Service.AssetsTankSeries _service = new();
+        private readonly HStation.Service.AssetsTankSeries _service = new();
 
         #region Query
 
@@ -50,31 +47,9 @@
             });
         }
 
-        /// <summary>
-        /// 鑾峰彇鏈�澶ф帓搴忕爜
-        /// </summary>
-        public async Task<int> GetMaxSortCode()
-        {
-            return await Task.Factory.StartNew(() =>
-            {
-                var sort_code = _service.GetMaxSortCode();
-                return sort_code;
-            });
-        }
-
-        /// <summary>
-        /// 鑾峰彇鏈�澶ф帓搴忕爜
-        /// </summary>
-        public async Task<int> GetMaxSortCode(long ParentID)
-        {
-            return await Task.Factory.StartNew(() =>
-            {
-                var sort_code = _service.GetMaxSortCode(ParentID);
-                return sort_code;
-            });
-        }
-
         #endregion Query
+
+
 
         #region Insert
 
@@ -85,16 +60,26 @@
         {
             return await Task.Factory.StartNew(() =>
             {
+                var parentIds = new List<long>();
+                if (input.ParentID > 0)
+                {
+                    var parent = _service.GetByID(input.ParentID);
+                    if (parent == null)
+                    {
+                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ParentID:{input.ParentID} 鏁版嵁涓嶅瓨鍦�");
+                    }
+                    parentIds = TreeParentIdsHelper.GetChildParentIds(parent.ID, parent.ParentIds);
+                }
                 if (!string.IsNullOrEmpty(input.TagName))
                 {
                     if (_service.IsExistTagName(input.TagName))
                     {
-                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName}", "鏍囪宸插瓨鍦�");
+                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName} 鏍囪宸插瓨鍦�");
                     }
                 }
                 var model = input.Adapt<AddAssetsTankSeriesInput, Model.AssetsTankSeries>();
-                var parent_id = Yw.Untity.TreeParentIdsHelper.GetLastParentID(input.ParentIds);
-                model.SortCode = _service.GetMaxSortCode(parent_id) + 1;
+                model.ParentIds = parentIds;
+                model.SortCode = _service.GetMaxSortCode(input.ParentID) + 1;
                 var id = _service.Insert(model);
                 return id;
             });
@@ -138,12 +123,11 @@
                 {
                     throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 鏁版嵁涓嶅瓨鍦�");
                 }
-
                 if (!string.IsNullOrEmpty(input.TagName))
                 {
                     if (_service.IsExistTagNameExceptID(input.TagName, input.ID))
                     {
-                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName}", "鏍囪宸插瓨鍦�");
+                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName} 鏍囪宸插瓨鍦�");
                     }
                 }
                 var rhs = new Model.AssetsTankSeries(model);
@@ -201,25 +185,56 @@
         }
 
         /// <summary>
-        /// 鏇存柊鏍戞帓搴�
+        /// 鏇存柊鏍戞帓搴忕爜
         /// </summary>
         public async Task<bool> UpdateTreeSortCode(long ID, long ParentID, int SortCode)
         {
             return await Task.Factory.StartNew(() =>
             {
-                var bol = _service.UpdateTreeSortCode(ID, new List<long>() { ParentID }, SortCode);
-                return bol;
-            });
-        }
-
-        /// <summary>
-        /// 鏇存柊鏍戞帓搴忕爜
-        /// </summary>
-        public async Task<bool> UpdateTreeSortCode(long ID, List<long> ParentIds, int SortCode)
-        {
-            return await Task.Factory.StartNew(() =>
-            {
-                var bol = _service.UpdateTreeSortCode(ID, ParentIds, SortCode);
+                var model = _service.GetByID(ID);
+                if (model == null)
+                {
+                    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{ID} 鏁版嵁涓嶅瓨鍦�");
+                }
+                var parentIds = new List<long>();
+                if (ParentID > 0)
+                {
+                    var parent = _service.GetByID(ParentID);
+                    if (parent == null)
+                    {
+                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ParentID:{ParentID} 鏁版嵁涓嶅瓨鍦�");
+                    }
+                    parentIds = TreeParentIdsHelper.GetChildParentIds(parent.ID, parent.ParentIds);
+                }
+                var sorterList = new List<Yw.Model.TreeSorter>()
+                {
+                    new Yw.Model.TreeSorter()
+                    {
+                        ID=ID,
+                        ParentIds=parentIds,
+                        SortCode=SortCode
+                    }
+                };
+                if (TreeParentIdsHelper.ToString(parentIds) != TreeParentIdsHelper.ToString(model.ParentIds))
+                {
+                    var children = _service.GetChildrenByID(ID);
+                    if (children != null && children.Count > 0)
+                    {
+                        foreach (var item in children)
+                        {
+                            var itemParent = sorterList.Find(x => x.ID == item.ParentIds.Last());
+                            var itemParentIds = TreeParentIdsHelper.GetChildParentIds(itemParent.ID, itemParent.ParentIds);
+                            var sorter = new Yw.Model.TreeSorter()
+                            {
+                                ID = item.ID,
+                                ParentIds = itemParentIds,
+                                SortCode = item.SortCode
+                            };
+                            sorterList.Add(sorter);
+                        }
+                    }
+                }
+                var bol = _service.UpdateTreeSorter(sorterList);
                 return bol;
             });
         }
@@ -272,7 +287,7 @@
         #region Exist
 
         /// <summary>
-        /// 鍒ゆ柇TagName鏄惁瀛樺湪
+        ///
         /// </summary>
         public async Task<bool> IsExistTagName(string TagName)
         {
@@ -284,7 +299,7 @@
         }
 
         /// <summary>
-        /// 鍒ゆ柇TagName鏄惁瀛樺湪 ExceptID
+        ///
         /// </summary>
         public async Task<bool> IsExistTagNameExceptID(string TagName, long ExceptID)
         {
@@ -327,8 +342,9 @@
         }
 
         /// <summary>
-        /// 鍏ㄩ儴鍒犻櫎
+        /// 鍒犻櫎鍏ㄩ儴
         /// </summary>
+        /// <returns></returns>
         public async Task<bool> DeleteAll()
         {
             return await Task.Factory.StartNew(() =>
@@ -338,5 +354,6 @@
         }
 
         #endregion Delete
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3