diff --git a/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffGroupController.cs b/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffGroupController.cs
new file mode 100644
index 00000000..b4819bfd
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffGroupController.cs
@@ -0,0 +1,21 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// 人员群组(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghra)]
+public class Ghra_StaffGroupController : BaseController
+{
+ public Ghra_StaffGroupController(IGhra_StaffGroupServices service) : base(service)
+ {
+
+ }
+ ///
+ /// 获取配置
+ ///
+ ///
+ [HttpPost, Route("GetStaffInfoColumnData")]
+ public async Task> GetStaffInfoColumnData(string Stage) => await _service.GetStaffInfoColumnData();
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffGroupDetailController.cs b/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffGroupDetailController.cs
new file mode 100644
index 00000000..8e4b0cec
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffGroupDetailController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// 人员群组明细(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghra)]
+public class Ghra_StaffGroupDetailController : BaseController
+{
+ public Ghra_StaffGroupDetailController(IGhra_StaffGroupDetailServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Tiobon.Core.Model.xml b/Tiobon.Core.Api/Tiobon.Core.Model.xml
index c1515958..0bdd0484 100644
--- a/Tiobon.Core.Api/Tiobon.Core.Model.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml
@@ -1114,6 +1114,211 @@
Reverse5
+
+
+ 人员群组 (Dto.Base)
+
+
+
+
+ 群组编号
+
+
+
+
+ 群组名称
+
+
+
+
+ 群组类别
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
+
+
+ 人员群组明细 (Dto.Base)
+
+
+
+
+ 群组ID
+
+
+
+
+ 字段
+
+
+
+
+ 包含/不包含
+
+
+
+
+ 字段所选值
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
Ghra_StaffLicence (Dto.Base)
@@ -17052,6 +17257,16 @@
Ghra_StaffEduBG (Dto.EditInput)
+
+
+ 人员群组 (Dto.EditInput)
+
+
+
+
+ 人员群组明细 (Dto.EditInput)
+
+
Ghra_StaffLicence (Dto.EditInput)
@@ -17667,6 +17882,16 @@
Ghra_StaffEduBG (Dto.InsertInput)
+
+
+ 人员群组 (Dto.InsertInput)
+
+
+
+
+ 人员群组明细 (Dto.InsertInput)
+
+
Ghra_StaffLicence (Dto.InsertInput)
@@ -19539,6 +19764,211 @@
Reverse5
+
+
+ 人员群组 (Model)
+
+
+
+
+ 群组编号
+
+
+
+
+ 群组名称
+
+
+
+
+ 群组类别
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
+
+
+ 人员群组明细 (Model)
+
+
+
+
+ 群组ID
+
+
+
+
+ 字段
+
+
+
+
+ 包含/不包含
+
+
+
+
+ 字段所选值
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
Ghra_StaffLicence (Model)
@@ -36278,6 +36708,36 @@
修改信息
+
+
+ 人员群组(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
+
+
+ 人员群组明细(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
Ghra_StaffLicence(Dto.View)
diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml
index 51a10ad9..1330b0d6 100644
--- a/Tiobon.Core.Api/Tiobon.Core.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.xml
@@ -683,6 +683,22 @@
Ghra_StaffEduBG(Controller)
+
+
+ 人员群组(Controller)
+
+
+
+
+ 获取配置
+
+
+
+
+
+ 人员群组明细(Controller)
+
+
Ghra_StaffLicence(Controller)
diff --git a/Tiobon.Core.IServices/Ghra/IGhra_StaffGroupDetailServices.cs b/Tiobon.Core.IServices/Ghra/IGhra_StaffGroupDetailServices.cs
new file mode 100644
index 00000000..554c32fc
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghra/IGhra_StaffGroupDetailServices.cs
@@ -0,0 +1,12 @@
+using Tiobon.Core.IServices.BASE;
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.IServices
+{
+ ///
+ /// 人员群组明细(自定义服务接口)
+ ///
+ public interface IGhra_StaffGroupDetailServices :IBaseServices
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.IServices/Ghra/IGhra_StaffGroupServices.cs b/Tiobon.Core.IServices/Ghra/IGhra_StaffGroupServices.cs
new file mode 100644
index 00000000..a567b2ba
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghra/IGhra_StaffGroupServices.cs
@@ -0,0 +1,14 @@
+using Tiobon.Core.IServices.BASE;
+using Tiobon.Core.Model;
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.IServices
+{
+ ///
+ /// 人员群组(自定义服务接口)
+ ///
+ public interface IGhra_StaffGroupServices :IBaseServices
+ {
+ Task> GetStaffInfoColumnData();
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Model/Base/Ghra/Ghra_StaffGroup.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghra/Ghra_StaffGroup.Dto.Base.cs
new file mode 100644
index 00000000..a09260bb
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghra/Ghra_StaffGroup.Dto.Base.cs
@@ -0,0 +1,138 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroup.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroup
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:02 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组 (Dto.Base)
+ ///
+ public class Ghra_StaffGroupBase
+ {
+
+ ///
+ /// 群组编号
+ ///
+ [Display(Name = "StaffGroupNo"), Description("群组编号"), MaxLength(100, ErrorMessage = "群组编号 不能超过 100 个字符")]
+ public string StaffGroupNo { get; set; }
+
+ ///
+ /// 群组名称
+ ///
+ [Display(Name = "StaffGroupName"), Description("群组名称"), MaxLength(100, ErrorMessage = "群组名称 不能超过 100 个字符")]
+ public string StaffGroupName { get; set; }
+
+ ///
+ /// 群组类别
+ ///
+ [Display(Name = "GroupType"), Description("群组类别"), MaxLength(100, ErrorMessage = "群组类别 不能超过 100 个字符")]
+ public string GroupType { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+
+ ///
+ /// 内置
+ ///
+ public int? BuiltIn { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Base/Ghra/Ghra_StaffGroupDetail.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghra/Ghra_StaffGroupDetail.Dto.Base.cs
new file mode 100644
index 00000000..08d1dcd1
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghra/Ghra_StaffGroupDetail.Dto.Base.cs
@@ -0,0 +1,143 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroupDetail.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroupDetail
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:15 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组明细 (Dto.Base)
+ ///
+ public class Ghra_StaffGroupDetailBase
+ {
+
+ ///
+ /// 群组ID
+ ///
+ public long? StaffGroupID { get; set; }
+
+ ///
+ /// 字段
+ ///
+ [Display(Name = "StaffField"), Description("字段"), MaxLength(100, ErrorMessage = "字段 不能超过 100 个字符")]
+ public string StaffField { get; set; }
+
+ ///
+ /// 包含/不包含
+ ///
+ [Display(Name = "Operator"), Description("条件"), MaxLength(100, ErrorMessage = "条件 不能超过 100 个字符")]
+ public string Operator { get; set; }
+
+ ///
+ /// 字段所选值
+ ///
+ [Display(Name = "FieldValue"), Description("字段所选值"), MaxLength(-1, ErrorMessage = "字段所选值 不能超过 -1 个字符")]
+ public string FieldValue { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+
+ ///
+ /// 内置
+ ///
+ public int? BuiltIn { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffGroup.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffGroup.Dto.EditInput.cs
new file mode 100644
index 00000000..af987bc6
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffGroup.Dto.EditInput.cs
@@ -0,0 +1,28 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroup.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroup
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:02 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组 (Dto.EditInput)
+ ///
+ public class EditGhra_StaffGroupInput : Ghra_StaffGroupBase
+ {
+ public List StaffGroupDetail { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffGroupDetail.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffGroupDetail.Dto.EditInput.cs
new file mode 100644
index 00000000..3421d7d3
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffGroupDetail.Dto.EditInput.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroupDetail.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroupDetail
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:15 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组明细 (Dto.EditInput)
+ ///
+ public class EditGhra_StaffGroupDetailInput : Ghra_StaffGroupDetailBase
+ {
+ }
+}
diff --git a/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffGroup.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffGroup.Dto.InsertInput.cs
new file mode 100644
index 00000000..45b9ebf1
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffGroup.Dto.InsertInput.cs
@@ -0,0 +1,28 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroup.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroup
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:02 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组 (Dto.InsertInput)
+ ///
+ public class InsertGhra_StaffGroupInput : Ghra_StaffGroupBase
+ {
+ public List StaffGroupDetail { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffGroupDetail.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffGroupDetail.Dto.InsertInput.cs
new file mode 100644
index 00000000..c0175edf
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffGroupDetail.Dto.InsertInput.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroupDetail.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroupDetail
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:15 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组明细 (Dto.InsertInput)
+ ///
+ public class InsertGhra_StaffGroupDetailInput : Ghra_StaffGroupDetailBase
+ {
+ }
+}
diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_StaffGroup.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_StaffGroup.cs
new file mode 100644
index 00000000..85d84b3d
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghra/Ghra_StaffGroup.cs
@@ -0,0 +1,140 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroup.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroup
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:02 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using SqlSugar;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组 (Model)
+ ///
+ [SugarTable("Ghra_StaffGroup", "Ghra_StaffGroup"), Entity(TableCnName = "人员群组", TableName = "Ghra_StaffGroup")]
+ public class Ghra_StaffGroup : BasePoco
+ {
+
+ ///
+ /// 群组编号
+ ///
+ [Display(Name = "StaffGroupNo"), Description("群组编号"), MaxLength(100, ErrorMessage = "群组编号 不能超过 100 个字符")]
+ public string StaffGroupNo { get; set; }
+
+ ///
+ /// 群组名称
+ ///
+ [Display(Name = "StaffGroupName"), Description("群组名称"), MaxLength(100, ErrorMessage = "群组名称 不能超过 100 个字符")]
+ public string StaffGroupName { get; set; }
+
+ ///
+ /// 群组类别
+ ///
+ [Display(Name = "GroupType"), Description("群组类别"), MaxLength(100, ErrorMessage = "群组类别 不能超过 100 个字符")]
+ public string GroupType { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+
+ ///
+ /// 内置
+ ///
+ public int? BuiltIn { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_StaffGroupDetail.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_StaffGroupDetail.cs
new file mode 100644
index 00000000..0251e3cb
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghra/Ghra_StaffGroupDetail.cs
@@ -0,0 +1,145 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroupDetail.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroupDetail
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:15 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using SqlSugar;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// 人员群组明细 (Model)
+ ///
+ [SugarTable("Ghra_StaffGroupDetail", "Ghra_StaffGroupDetail"), Entity(TableCnName = "人员群组明细", TableName = "Ghra_StaffGroupDetail")]
+ public class Ghra_StaffGroupDetail : BasePoco
+ {
+
+ ///
+ /// 群组ID
+ ///
+ public long? StaffGroupID { get; set; }
+
+ ///
+ /// 字段
+ ///
+ [Display(Name = "StaffField"), Description("字段"), MaxLength(100, ErrorMessage = "字段 不能超过 100 个字符")]
+ public string StaffField { get; set; }
+
+ ///
+ /// 包含/不包含
+ ///
+ [Display(Name = "Operator"), Description("条件"), MaxLength(100, ErrorMessage = "条件 不能超过 100 个字符")]
+ public string Operator { get; set; }
+
+ ///
+ /// 字段所选值
+ ///
+ [Display(Name = "FieldValue"), Description("字段所选值"), MaxLength(-1, ErrorMessage = "字段所选值 不能超过 -1 个字符")]
+ public string FieldValue { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+
+ ///
+ /// 内置
+ ///
+ public int? BuiltIn { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/View/Ghra/Ghra_StaffGroup.Dto.View.cs b/Tiobon.Core.Model/View/Ghra/Ghra_StaffGroup.Dto.View.cs
new file mode 100644
index 00000000..d7dd6cfe
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghra/Ghra_StaffGroup.Dto.View.cs
@@ -0,0 +1,41 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroup.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroup
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:02 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// 人员群组(Dto.View1)
+///
+public class Ghra_StaffGroupDto : Ghra_StaffGroup
+{
+ ///
+ /// 创建信息
+ ///
+ public string CreateDataInfo { get; set; }
+
+ ///
+ /// 修改信息
+ ///
+ public string UpdateDataInfo { get; set; }
+
+ public List StaffGroupDetail { get; set; }
+
+ public string DetailInfo { get; set; }
+ public string InDetailInfo { get; set; }
+ public string NotInDetailInfo { get; set; }
+
+}
diff --git a/Tiobon.Core.Model/View/Ghra/Ghra_StaffGroupDetail.Dto.View.cs b/Tiobon.Core.Model/View/Ghra/Ghra_StaffGroupDetail.Dto.View.cs
new file mode 100644
index 00000000..1aa2cd88
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghra/Ghra_StaffGroupDetail.Dto.View.cs
@@ -0,0 +1,34 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffGroupDetail.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffGroupDetail
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/4/27 14:32:15 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// 人员群组明细(Dto.View1)
+///
+public class Ghra_StaffGroupDetailDto : Ghra_StaffGroupDetail
+{
+///
+/// 创建信息
+///
+public string CreateDataInfo { get; set; }
+
+///
+/// 修改信息
+///
+public string UpdateDataInfo { get; set; }
+}
diff --git a/Tiobon.Core.Services/Ghra/Ghra_StaffGroupDetailServices.cs b/Tiobon.Core.Services/Ghra/Ghra_StaffGroupDetailServices.cs
new file mode 100644
index 00000000..82bdfceb
--- /dev/null
+++ b/Tiobon.Core.Services/Ghra/Ghra_StaffGroupDetailServices.cs
@@ -0,0 +1,23 @@
+
+using Tiobon.Core.IServices;
+using Tiobon.Core.Model.Models;
+using Tiobon.Core.Services.BASE;
+using Tiobon.Core.IRepository.Base;
+using Tiobon.Core.Common.Caches;
+
+namespace Tiobon.Core.Services
+{
+ ///
+ /// 人员群组明细 (服务)
+ ///
+ public class Ghra_StaffGroupDetailServices : BaseServices, IGhra_StaffGroupDetailServices
+ {
+ private readonly IBaseRepository _dal;
+ public Ghra_StaffGroupDetailServices(ICaching caching, IBaseRepository dal)
+ {
+ this._dal = dal;
+ base.BaseDal = dal;
+ base._caching = caching;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Services/Ghra/Ghra_StaffGroupServices.cs b/Tiobon.Core.Services/Ghra/Ghra_StaffGroupServices.cs
new file mode 100644
index 00000000..ea6e1e63
--- /dev/null
+++ b/Tiobon.Core.Services/Ghra/Ghra_StaffGroupServices.cs
@@ -0,0 +1,149 @@
+
+using Tiobon.Core.IServices;
+using Tiobon.Core.Model.Models;
+using Tiobon.Core.Services.BASE;
+using Tiobon.Core.IRepository.Base;
+using Tiobon.Core.Common.Caches;
+using System.Collections.Generic;
+using MySqlX.XDevAPI.Relational;
+using Microsoft.EntityFrameworkCore.Metadata.Internal;
+using NPOI.POIFS.NIO;
+
+namespace Tiobon.Core.Services
+{
+ ///
+ /// 人员群组 (服务)
+ ///
+ public class Ghra_StaffGroupServices : BaseServices, IGhra_StaffGroupServices
+ {
+ private readonly IBaseRepository _dal;
+ private IGhra_StaffGroupDetailServices _StaffGroupDetailServices;
+ public Ghra_StaffGroupServices(ICaching caching, IBaseRepository dal,
+ IGhra_StaffGroupDetailServices StaffGroupDetailServices
+ )
+ {
+ this._dal = dal;
+ base.BaseDal = dal;
+ base._caching = caching;
+ _StaffGroupDetailServices = StaffGroupDetailServices;
+ }
+
+ public override async Task Add(InsertGhra_StaffGroupInput entity)
+ {
+
+ var result = await base.Add(entity);
+ entity.StaffGroupDetail.ForEach(x =>
+ {
+ x.StaffGroupID = result;
+ });
+
+ await _StaffGroupDetailServices.Add(entity.StaffGroupDetail);
+
+ return result;
+ }
+
+ public override async Task Update(long Id, EditGhra_StaffGroupInput editModel)
+ {
+ await _StaffGroupDetailServices.Delete(x => x.StaffGroupID == Id);
+ editModel.StaffGroupDetail.ForEach(x =>
+ {
+ x.StaffGroupID = Id;
+ });
+ await _StaffGroupDetailServices.Add(editModel.StaffGroupDetail);
+
+ return await base.Update(Id, editModel);
+ }
+
+ public override async Task> QueryForm(QueryForm body)
+ {
+ var result = await base.QueryForm(body);
+
+ var StaffGroupDetail = await _StaffGroupDetailServices.Query(x => x.StaffGroupID == body.id);
+ result.result.DT_TableDataT1[0].StaffGroupDetail = StaffGroupDetail.OrderBy(x => x.SortNo).ToList();
+
+ if (body.doType == "Copy")
+ {
+ result.result.DT_TableDataT1[0].StaffGroupNo = null;
+ result.result.DT_TableDataT1[0].StaffGroupName = null;
+ }
+ return result;
+ }
+ public override async Task> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
+ {
+
+ var result = await base.QueryFilterPage(filter, condition, IsEnable);
+ //var a = await _StaffGroupDetailServices.Query();
+ //result.result.DT_TableDataT1.ForEach(async x =>
+ //{
+ // x.DetailInfo = (await _StaffGroupDetailServices.Query(a => a.StaffGroupID == x.Id))
+ // .Select(a => a.StaffField).ToString();
+ //});
+
+ return result;
+ }
+
+ public async Task> GetStaffInfoColumnData()
+ {
+ string sql = @$"select StaffInfoColumnNo,
+ dbo.FLangKeyToValue(MKey,1,StaffInfoColumnName) StaffInfoColumnName,
+ ColumnType elementType,
+ DataType dataType,
+ case when ColumnType in ('OrgTreeSelect','ApiSelect','StaffSelect') then 'dict'
+ else '' end dataSourceType,
+ dbo.FS_GetdataSourceBySet('',DataSourceType, DataSource) dataSource ,
+ case when ColumnType in ('OrgTreeSelect','ApiSelect','StaffSelect') then 1
+ else 0 end multipleSelect,
+ (select ParaDetailNo operatorNo,ParaDetailName operatorDesc,SqlFunction operatorIcon,SortNo
+ from Ghrs_ParaDetail where IsEnable= 1
+ and ParaDetailNo in (select value from dbo.Fs1_GHR30_SplitString(case when ColumnType in ('OrgTreeSelect','ApiSelect','StaffSelect')
+ then 'EqualAny,NotEqualAny'
+ when ColumnType in ('Input')
+ then 'Include,NotInclude,Equal,NotEqual'
+ when ColumnType in ('InputNumber')
+ then 'Equal,NotEqual,Greater,GreaterOrEqual,Less,LessOrEqual'
+ when ColumnType in ('GDatePicker')
+ then 'Greater,GreaterOrEqual,Less,LessOrEqual'
+ when ColumnType in ('Switch')
+ then 'Equal,NotEqual'
+ else 'Equal,NotEqual,Include,NotInclude,EqualAny,NotEqualAny,IsNull,NotNull,Greater,GreaterOrEqual,Less,LessOrEqual,Range'
+ end,','))
+ and ParaMasterNo = 'DataQueryOperator'
+ and ParaTypeNo='GHRPara'
+ order by SortNo for JSON path ) OperatorDataStr
+ from Ghra_StaffInfoColumn
+ where IsEnable = 1
+ and StaffInfoGroupId = 1
+ and IsRelease = 1
+ and StaffInfoColumnNo != 'AttachmentIDs' ";
+
+ var result = Db.Ado.SqlQuery(sql);
+ result.ForEach( x =>
+ {
+ x.operatorData = JsonConvert.DeserializeObject>(x.OperatorDataStr);
+ });
+ return ServiceResult
+
+
+ 人员群组 (Dto.Base)
+
+
+
+
+ 群组编号
+
+
+
+
+ 群组名称
+
+
+
+
+ 群组类别
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
+
+
+ 人员群组明细 (Dto.Base)
+
+
+
+
+ 群组ID
+
+
+
+
+ 字段
+
+
+
+
+ 包含/不包含
+
+
+
+
+ 字段所选值
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
Ghra_StaffLicence (Dto.Base)
@@ -17047,6 +17252,16 @@
Ghra_StaffEduBG (Dto.EditInput)
+
+
+ 人员群组 (Dto.EditInput)
+
+
+
+
+ 人员群组明细 (Dto.EditInput)
+
+
Ghra_StaffLicence (Dto.EditInput)
@@ -17662,6 +17877,16 @@
Ghra_StaffEduBG (Dto.InsertInput)
+
+
+ 人员群组 (Dto.InsertInput)
+
+
+
+
+ 人员群组明细 (Dto.InsertInput)
+
+
Ghra_StaffLicence (Dto.InsertInput)
@@ -19534,6 +19759,211 @@
Reverse5
+
+
+ 人员群组 (Model)
+
+
+
+
+ 群组编号
+
+
+
+
+ 群组名称
+
+
+
+
+ 群组类别
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
+
+
+ 人员群组明细 (Model)
+
+
+
+
+ 群组ID
+
+
+
+
+ 字段
+
+
+
+
+ 包含/不包含
+
+
+
+
+ 字段所选值
+
+
+
+
+ 备注
+
+
+
+
+ 排序
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ 内置
+
+
Ghra_StaffLicence (Model)
@@ -36268,6 +36698,36 @@
修改信息
+
+
+ 人员群组(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
+
+
+ 人员群组明细(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
Ghra_StaffLicence(Dto.View)
diff --git a/Tiobon.Core/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml
index 51a10ad9..e8114d37 100644
--- a/Tiobon.Core/Tiobon.Core.xml
+++ b/Tiobon.Core/Tiobon.Core.xml
@@ -683,6 +683,16 @@
Ghra_StaffEduBG(Controller)
+
+
+ 人员群组(Controller)
+
+
+
+
+ 人员群组明细(Controller)
+
+
Ghra_StaffLicence(Controller)