diff --git a/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffTrainingController.cs b/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffTrainingController.cs
new file mode 100644
index 00000000..ec579cdc
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghra/Ghra_StaffTrainingController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// Ghra_StaffTraining(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghra)]
+public class Ghra_StaffTrainingController : BaseController
+{
+ public Ghra_StaffTrainingController(IGhra_StaffTrainingServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.IServices/Ghra/IGhra_StaffTrainingServices.cs b/Tiobon.Core.IServices/Ghra/IGhra_StaffTrainingServices.cs
new file mode 100644
index 00000000..7c41e175
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghra/IGhra_StaffTrainingServices.cs
@@ -0,0 +1,12 @@
+using Tiobon.Core.IServices.BASE;
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.IServices
+{
+ ///
+ /// Ghra_StaffTraining(自定义服务接口)
+ ///
+ public interface IGhra_StaffTrainingServices :IBaseServices
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Model/Base/Ghra/Ghra_StaffTraining.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghra/Ghra_StaffTraining.Dto.Base.cs
new file mode 100644
index 00000000..a56677f3
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghra/Ghra_StaffTraining.Dto.Base.cs
@@ -0,0 +1,141 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffTraining.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffTraining
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/9/18 15:41:18 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// Ghra_StaffTraining (Dto.Base)
+ ///
+ public class Ghra_StaffTrainingBase
+ {
+
+ ///
+ /// StaffTrainingID
+ ///
+ public int? StaffTrainingID { get; set; }
+
+ ///
+ /// StaffID
+ ///
+ public int? StaffID { get; set; }
+
+ ///
+ /// TrainingOrgID
+ ///
+ public int? TrainingOrgID { get; set; }
+
+ ///
+ /// TrainingOrgName
+ ///
+ [Display(Name = "TrainingOrgName"), Description("TrainingOrgName"), MaxLength(1000, ErrorMessage = "TrainingOrgName 不能超过 1000 个字符")]
+ public string TrainingOrgName { get; set; }
+
+ ///
+ /// CourseID
+ ///
+ public int? CourseID { get; set; }
+
+ ///
+ /// CourseName
+ ///
+ [Display(Name = "CourseName"), Description("CourseName"), MaxLength(1000, ErrorMessage = "CourseName 不能超过 1000 个字符")]
+ public string CourseName { get; set; }
+
+ ///
+ /// ClassHour
+ ///
+ [Display(Name = "ClassHour"), Description("ClassHour"), Column(TypeName = "decimal(18,2)")]
+ public decimal? ClassHour { get; set; }
+
+ ///
+ /// IsPass
+ ///
+ public int? IsPass { get; set; }
+
+ ///
+ /// ClassCredit
+ ///
+ [Display(Name = "ClassCredit"), Description("ClassCredit"), Column(TypeName = "decimal(18,2)")]
+ public decimal? ClassCredit { get; set; }
+
+ ///
+ /// BeginDate
+ ///
+ public DateTime? BeginDate { get; set; }
+
+ ///
+ /// EndDate
+ ///
+ public DateTime? EndDate { get; set; }
+
+ ///
+ /// AttachmentIDs
+ ///
+ [Display(Name = "AttachmentIDs"), Description("AttachmentIDs"), MaxLength(-1, ErrorMessage = "AttachmentIDs 不能超过 -1 个字符")]
+ public string AttachmentIDs { get; set; }
+
+ ///
+ /// RemarkSz
+ ///
+ [Display(Name = "RemarkSz"), Description("RemarkSz"), MaxLength(2000, ErrorMessage = "RemarkSz 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// SortNo
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// IsDefault
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// Reverse1
+ ///
+ [Display(Name = "Reverse1"), Description("Reverse1"), MaxLength(1000, ErrorMessage = "Reverse1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// Reverse2
+ ///
+ [Display(Name = "Reverse2"), Description("Reverse2"), MaxLength(1000, ErrorMessage = "Reverse2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// Reverse3
+ ///
+ [Display(Name = "Reverse3"), Description("Reverse3"), MaxLength(1000, ErrorMessage = "Reverse3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// Reverse4
+ ///
+ [Display(Name = "Reverse4"), Description("Reverse4"), MaxLength(1000, ErrorMessage = "Reverse4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// Reverse5
+ ///
+ [Display(Name = "Reverse5"), Description("Reverse5"), MaxLength(1000, ErrorMessage = "Reverse5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffTraining.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffTraining.Dto.EditInput.cs
new file mode 100644
index 00000000..8db2362b
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghra/Ghra_StaffTraining.Dto.EditInput.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffTraining.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffTraining
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/9/18 15:41:18 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// Ghra_StaffTraining (Dto.EditInput)
+ ///
+ public class EditGhra_StaffTrainingInput : Ghra_StaffTrainingBase
+ {
+ }
+}
diff --git a/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffTraining.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffTraining.Dto.InsertInput.cs
new file mode 100644
index 00000000..9c68655a
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghra/Ghra_StaffTraining.Dto.InsertInput.cs
@@ -0,0 +1,27 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffTraining.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffTraining
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/9/18 15:41:18 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// Ghra_StaffTraining (Dto.InsertInput)
+ ///
+ public class InsertGhra_StaffTrainingInput : Ghra_StaffTrainingBase
+ {
+ }
+}
diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_StaffTraining.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_StaffTraining.cs
new file mode 100644
index 00000000..38d34043
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghra/Ghra_StaffTraining.cs
@@ -0,0 +1,143 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffTraining.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffTraining
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/9/18 15:41:18 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using SqlSugar;
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// Ghra_StaffTraining (Model)
+ ///
+ [SugarTable("Ghra_StaffTraining", "Ghra_StaffTraining"), Entity(TableCnName = "Ghra_StaffTraining", TableName = "Ghra_StaffTraining")]
+ public class Ghra_StaffTraining : BasePoco1
+ {
+
+ ///
+ /// StaffTrainingID
+ ///
+ public int? StaffTrainingID { get; set; }
+
+ ///
+ /// StaffID
+ ///
+ public int? StaffID { get; set; }
+
+ ///
+ /// TrainingOrgID
+ ///
+ public int? TrainingOrgID { get; set; }
+
+ ///
+ /// TrainingOrgName
+ ///
+ [Display(Name = "TrainingOrgName"), Description("TrainingOrgName"), MaxLength(1000, ErrorMessage = "TrainingOrgName 不能超过 1000 个字符")]
+ public string TrainingOrgName { get; set; }
+
+ ///
+ /// CourseID
+ ///
+ public int? CourseID { get; set; }
+
+ ///
+ /// CourseName
+ ///
+ [Display(Name = "CourseName"), Description("CourseName"), MaxLength(1000, ErrorMessage = "CourseName 不能超过 1000 个字符")]
+ public string CourseName { get; set; }
+
+ ///
+ /// ClassHour
+ ///
+ [Display(Name = "ClassHour"), Description("ClassHour"), Column(TypeName = "decimal(18,2)")]
+ public decimal? ClassHour { get; set; }
+
+ ///
+ /// IsPass
+ ///
+ public int? IsPass { get; set; }
+
+ ///
+ /// ClassCredit
+ ///
+ [Display(Name = "ClassCredit"), Description("ClassCredit"), Column(TypeName = "decimal(18,2)")]
+ public decimal? ClassCredit { get; set; }
+
+ ///
+ /// BeginDate
+ ///
+ public DateTime? BeginDate { get; set; }
+
+ ///
+ /// EndDate
+ ///
+ public DateTime? EndDate { get; set; }
+
+ ///
+ /// AttachmentIDs
+ ///
+ [Display(Name = "AttachmentIDs"), Description("AttachmentIDs"), MaxLength(-1, ErrorMessage = "AttachmentIDs 不能超过 -1 个字符")]
+ public string AttachmentIDs { get; set; }
+
+ ///
+ /// RemarkSz
+ ///
+ [Display(Name = "RemarkSz"), Description("RemarkSz"), MaxLength(2000, ErrorMessage = "RemarkSz 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// SortNo
+ ///
+ public int? SortNo { get; set; }
+
+ ///
+ /// IsDefault
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// Reverse1
+ ///
+ [Display(Name = "Reverse1"), Description("Reverse1"), MaxLength(1000, ErrorMessage = "Reverse1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// Reverse2
+ ///
+ [Display(Name = "Reverse2"), Description("Reverse2"), MaxLength(1000, ErrorMessage = "Reverse2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// Reverse3
+ ///
+ [Display(Name = "Reverse3"), Description("Reverse3"), MaxLength(1000, ErrorMessage = "Reverse3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// Reverse4
+ ///
+ [Display(Name = "Reverse4"), Description("Reverse4"), MaxLength(1000, ErrorMessage = "Reverse4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// Reverse5
+ ///
+ [Display(Name = "Reverse5"), Description("Reverse5"), MaxLength(1000, ErrorMessage = "Reverse5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/View/Ghra/Ghra_StaffTraining.Dto.View.cs b/Tiobon.Core.Model/View/Ghra/Ghra_StaffTraining.Dto.View.cs
new file mode 100644
index 00000000..8a3d8955
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghra/Ghra_StaffTraining.Dto.View.cs
@@ -0,0 +1,34 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_StaffTraining.cs
+*
+*功 能: N / A
+* 类 名: Ghra_StaffTraining
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/9/18 15:41:18 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// Ghra_StaffTraining(Dto.View)
+///
+public class Ghra_StaffTrainingDto : Ghra_StaffTraining
+{
+///
+/// 创建信息
+///
+public string CreateDataInfo { get; set; }
+
+///
+/// 修改信息
+///
+public string UpdateDataInfo { get; set; }
+}
diff --git a/Tiobon.Core.Services/Ghra/Ghra_StaffTrainingServices.cs b/Tiobon.Core.Services/Ghra/Ghra_StaffTrainingServices.cs
new file mode 100644
index 00000000..60a29ed7
--- /dev/null
+++ b/Tiobon.Core.Services/Ghra/Ghra_StaffTrainingServices.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
+{
+ ///
+ /// Ghra_StaffTraining (服务)
+ ///
+ public class Ghra_StaffTrainingServices : BaseServices, IGhra_StaffTrainingServices
+ {
+ private readonly IBaseRepository _dal;
+ public Ghra_StaffTrainingServices(ICaching caching, IBaseRepository dal)
+ {
+ this._dal = dal;
+ base.BaseDal = dal;
+ base._caching = caching;
+ }
+ }
+}
\ No newline at end of file