lixiaojun
2024-12-19 1dd158434a41627a6684cd630b2696fb83b1e3d6
BLL/HStation.BLL.Assets.Core/03-localclient/17-flowmeter/01-series/AssetsFlowmeterSeries.cs
ÎļþÃû´Ó BLL/HStation.BLL.Assets.Core/03-localclient/17-Flowmeter/AssetsFlowmeterSeries.cs ÐÞ¸Ä
@@ -1,14 +1,11 @@
using HStation.Dto;
using Yw.Dto;
namespace HStation.CAL.LocalClient
namespace HStation.CAL.LocalClient
{
    /// <summary>
    /// æµé‡è®¡ç³»åˆ—
    ///</summary>
    ///
    /// </summary>
    public class AssetsFlowmeterSeries : IAssetsFlowmeterSeries
    {
        private readonly Service.AssetsFlowmeterSeries _service = new();
        private readonly HStation.Service.AssetsFlowmeterSeries _service = new();
        #region Query
@@ -50,31 +47,7 @@
            });
        }
        /// <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
        #endregion
        #region Insert
@@ -85,16 +58,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<AddAssetsFlowmeterSeriesInput, Model.AssetsFlowmeterSeries>();
                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;
            });
@@ -122,7 +105,7 @@
            });
        }
        #endregion Insert
        #endregion
        #region Update
@@ -138,12 +121,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.AssetsFlowmeterSeries(model);
@@ -200,26 +182,58 @@
            });
        }
        /// <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;
            });
        }
@@ -267,12 +281,13 @@
            });
        }
        #endregion Update
        #endregion
        #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)
        {
@@ -295,7 +310,7 @@
            });
        }
        #endregion Exist
        #endregion
        #region Delete
@@ -327,8 +342,9 @@
        }
        /// <summary>
        /// å…¨éƒ¨åˆ é™¤
        /// åˆ é™¤å…¨éƒ¨
        /// </summary>
        /// <returns></returns>
        public async Task<bool> DeleteAll()
        {
            return await Task.Factory.StartNew(() =>
@@ -337,6 +353,8 @@
            });
        }
        #endregion Delete
        #endregion
    }
}