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 ac92ccc8..c00015f1 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) @@ -17027,6 +17232,16 @@ Ghra_StaffEduBG (Dto.EditInput) + + + 人员群组 (Dto.EditInput) + + + + + 人员群组明细 (Dto.EditInput) + + Ghra_StaffLicence (Dto.EditInput) @@ -17642,6 +17857,16 @@ Ghra_StaffEduBG (Dto.InsertInput) + + + 人员群组 (Dto.InsertInput) + + + + + 人员群组明细 (Dto.InsertInput) + + Ghra_StaffLicence (Dto.InsertInput) @@ -19514,6 +19739,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) @@ -36228,6 +36658,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 6bbae7a7..a3569769 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.OprateSuccess("查询成功!", result); + } + + public class StaffInfoColumn() + { + public string StaffInfoColumnNo { get; set; } + public string StaffInfoColumnName { get; set; } + public string elementType { get; set; } + public string dataSourceType { get; set; } + public string dataSource { get; set; } + public int multipleSelect { get; set; } + + public string OperatorDataStr { get; set; } + public List operatorData { get; set; } + } + public class OperatorData() + { + public string operatorNo { get; set; } + public string ParaDetailName { get; set; } + public string operatorIcon { get; set; } + public string SortNo { get; set; } + } + } + + +} \ No newline at end of file diff --git a/Tiobon.Core/Tiobon.Core.Model.xml b/Tiobon.Core/Tiobon.Core.Model.xml index ac92ccc8..0eac1d52 100644 --- a/Tiobon.Core/Tiobon.Core.Model.xml +++ b/Tiobon.Core/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) @@ -17027,6 +17232,16 @@ Ghra_StaffEduBG (Dto.EditInput) + + + 人员群组 (Dto.EditInput) + + + + + 人员群组明细 (Dto.EditInput) + + Ghra_StaffLicence (Dto.EditInput) @@ -17642,6 +17857,16 @@ Ghra_StaffEduBG (Dto.InsertInput) + + + 人员群组 (Dto.InsertInput) + + + + + 人员群组明细 (Dto.InsertInput) + + Ghra_StaffLicence (Dto.InsertInput) @@ -19514,6 +19739,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) @@ -36228,6 +36658,36 @@ 修改信息 + + + 人员群组(Dto.View1) + + + + + 创建信息 + + + + + 修改信息 + + + + + 人员群组明细(Dto.View1) + + + + + 创建信息 + + + + + 修改信息 + + Ghra_StaffLicence(Dto.View) diff --git a/Tiobon.Core/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml index 6bbae7a7..9bccb472 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)