duheng
2024-12-20 f1fac249aec3a5390152fa2a9a13e8da98283c3b
BLL/HStation.BLL.Assets.Core/03-localclient/15-Tank/AssetsTankSeries.cs
@@ -1,14 +1,11 @@
using HStation.Dto;
using Yw.Dto;
namespace HStation.CAL.LocalClient
namespace 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
    }
}