ningshuxia
2025-03-20 a84a83d842f4fa220a8cf1b704e6ed6573684eef
Service/HStation.Service.Xhs.Core/05-service/03-scheme/XhsScheme.cs
@@ -160,6 +160,20 @@
        }
        /// <summary>
        /// 通过 ProjectID 获取
        /// </summary>
        public List<Model.XhsScheme> GetByProjectID(long ProjectID)
        {
            var allSiteList = new HStation.Service.XhsProjectSite().GetByProjectID(ProjectID);
            if (allSiteList == null || allSiteList.Count < 1)
            {
                return default;
            }
            var allSiteIds = allSiteList.Select(x => x.ID).Distinct().ToList();
            return GetBySiteIds(allSiteIds);
        }
        /// <summary>
        /// 获取最大排序码
        /// </summary>
        public int GetMaxSortCode(long SiteID)
@@ -170,6 +184,18 @@
                return 0;
            }
            return all.Max(x => x.SortCode);
        }
        /// <summary>
        /// 创建编号
        /// </summary>
        public string CreateNO(long SiteID)
        {
            var all = GetBySiteID(SiteID);
            var allNoList = all.Select(x => x.NO).Distinct().ToList();
            var prefix = $"SCHEME-{DateTime.Now:yyyy-MM-dd}";
            var no = new Yw.Untity.UniqueNameCreater().Create(prefix, allNoList, "-");
            return no;
        }
        #endregion 
@@ -188,6 +214,10 @@
            if (model.SiteID < 1)
            {
                return default;
            }
            if (string.IsNullOrEmpty(model.NO))
            {
                model.NO = CreateNO(model.SiteID);
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsScheme>();
            var entity = Model2Entity(model);
@@ -212,6 +242,13 @@
            {
                return false;
            }
            list.ForEach(x =>
            {
                if (string.IsNullOrEmpty(x.NO))
                {
                    x.NO = CreateNO(x.SiteID);
                }
            });
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsScheme>();
            var entity_list = Model2Entities(list);
            var ids = dal.InsertsR(entity_list);
@@ -393,6 +430,21 @@
            return all.Exists(x => x.SiteID == SiteID);
        }
        /// <summary>
        /// 通过 ProjectID 判断是否存在
        /// </summary>
        public bool IsExistByProjectID(long ProjectID)
        {
            var allSiteList = new HStation.Service.XhsProjectSite().GetByProjectID(ProjectID);
            if (allSiteList == null || allSiteList.Count < 1)
            {
                return false;
            }
            var allSiteIds = allSiteList.Select(x => x.ID).Distinct().ToList();
            var all = GetAll();
            return all.Exists(x => allSiteIds.Contains(x.SiteID));
        }
        #endregion
@@ -428,6 +480,6 @@
            return bol;
        }
        #endregion Delete
        #endregion
    }
}