diff --git a/Tiobon.Core.Api/Controllers/Ghrc/Ghrc_PeriodMasterController.cs b/Tiobon.Core.Api/Controllers/Ghrc/Ghrc_PeriodMasterController.cs
new file mode 100644
index 00000000..230ad34e
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghrc/Ghrc_PeriodMasterController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// Ghrc_PeriodMaster(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghrc)]
+public class Ghrc_PeriodMasterController : BaseController
+{
+ public Ghrc_PeriodMasterController(IGhrc_PeriodMasterServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.IServices/Ghrc/IGhrc_PeriodMasterServices.cs b/Tiobon.Core.IServices/Ghrc/IGhrc_PeriodMasterServices.cs
new file mode 100644
index 00000000..5edf6580
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghrc/IGhrc_PeriodMasterServices.cs
@@ -0,0 +1,11 @@
+using Tiobon.Core.IServices.BASE;
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.IServices;
+
+///
+/// Ghrc_PeriodMaster(自定义服务接口)
+///
+public interface IGhrc_PeriodMasterServices : IBaseServices
+{
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Model/Base/Ghrc/Ghrc_PeriodMaster.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghrc/Ghrc_PeriodMaster.Dto.Base.cs
new file mode 100644
index 00000000..a13353a7
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghrc/Ghrc_PeriodMaster.Dto.Base.cs
@@ -0,0 +1,149 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghrc_PeriodMaster.cs
+*
+*功 能: N / A
+* 类 名: Ghrc_PeriodMaster
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/10 14:31:24 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghrc_PeriodMaster (Dto.Base)
+///
+public class Ghrc_PeriodMasterBase
+{
+
+ ///
+ /// PeriodMasterID
+ ///
+ public int? PeriodMasterID { get; set; }
+
+ ///
+ /// PeriodMasterNo
+ ///
+ [Display(Name = "PeriodMasterNo"), Description("PeriodMasterNo"), MaxLength(100, ErrorMessage = "PeriodMasterNo 不能超过 100 个字符")]
+ public string PeriodMasterNo { get; set; }
+
+ ///
+ /// PeriodMasterName
+ ///
+ [Display(Name = "PeriodMasterName"), Description("PeriodMasterName"), MaxLength(1000, ErrorMessage = "PeriodMasterName 不能超过 1000 个字符")]
+ public string PeriodMasterName { get; set; }
+
+ ///
+ /// MKey
+ ///
+ [Display(Name = "MKey"), Description("MKey"), MaxLength(200, ErrorMessage = "MKey 不能超过 200 个字符")]
+ public string MKey { get; set; }
+
+ ///
+ /// DataBelongID
+ ///
+ [Display(Name = "DataBelongID"), Description("DataBelongID"), MaxLength(-1, ErrorMessage = "DataBelongID 不能超过 -1 个字符")]
+ public string DataBelongID { get; set; }
+
+ ///
+ /// SalaryBegin
+ ///
+ public int? SalaryBegin { get; set; }
+
+ ///
+ /// SalaryBeginType
+ ///
+ public int? SalaryBeginType { get; set; }
+
+ ///
+ /// AttendBegin
+ ///
+ public int? AttendBegin { get; set; }
+
+ ///
+ /// AttendBeginType
+ ///
+ public int? AttendBeginType { get; set; }
+
+ ///
+ /// TaxYearBeginType
+ ///
+ public int? TaxYearBeginType { 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; }
+
+ ///
+ /// Reverse6
+ ///
+ [Display(Name = "Reverse6"), Description("Reverse6"), MaxLength(1000, ErrorMessage = "Reverse6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// Reverse7
+ ///
+ [Display(Name = "Reverse7"), Description("Reverse7"), MaxLength(1000, ErrorMessage = "Reverse7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// Reverse8
+ ///
+ [Display(Name = "Reverse8"), Description("Reverse8"), MaxLength(1000, ErrorMessage = "Reverse8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// Reverse9
+ ///
+ [Display(Name = "Reverse9"), Description("Reverse9"), MaxLength(1000, ErrorMessage = "Reverse9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+}
diff --git a/Tiobon.Core.Model/Base/Ghrz/Ghrz_Shihua_OA_Employment.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghrz/Ghrz_Shihua_OA_Employment.Dto.Base.cs
index 1a7f401e..2906c9b0 100644
--- a/Tiobon.Core.Model/Base/Ghrz/Ghrz_Shihua_OA_Employment.Dto.Base.cs
+++ b/Tiobon.Core.Model/Base/Ghrz/Ghrz_Shihua_OA_Employment.Dto.Base.cs
@@ -6,7 +6,7 @@
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
-*V0.01 2024/12/10 13:43:11 SimonHsiao 初版
+*V0.01 2024/12/10 14:20:49 SimonHsiao 初版
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*┌──────────────────────────────────┐
@@ -35,185 +35,185 @@ public class Ghrz_Shihua_OA_EmploymentBase
public string UserNo { get; set; }
///
- /// WorkNo
+ /// 单号
///
- [Display(Name = "WorkNo"), Description("WorkNo"), MaxLength(100, ErrorMessage = "WorkNo 不能超过 100 个字符")]
+ [Display(Name = "WorkNo"), Description("单号"), MaxLength(100, ErrorMessage = "单号 不能超过 100 个字符")]
public string WorkNo { get; set; }
///
- /// WorkType
+ /// 单据类别
///
- [Display(Name = "WorkType"), Description("WorkType"), MaxLength(100, ErrorMessage = "WorkType 不能超过 100 个字符")]
+ [Display(Name = "WorkType"), Description("单据类别"), MaxLength(100, ErrorMessage = "单据类别 不能超过 100 个字符")]
public string WorkType { get; set; }
///
- /// StaffNo
+ /// 发起人工号
///
- [Display(Name = "StaffNo"), Description("StaffNo"), MaxLength(100, ErrorMessage = "StaffNo 不能超过 100 个字符")]
+ [Display(Name = "StaffNo"), Description("发起人工号"), MaxLength(100, ErrorMessage = "发起人工号 不能超过 100 个字符")]
public string StaffNo { get; set; }
///
- /// EmployName
+ /// 候选人姓名
///
- [Display(Name = "EmployName"), Description("EmployName"), MaxLength(100, ErrorMessage = "EmployName 不能超过 100 个字符")]
+ [Display(Name = "EmployName"), Description("候选人姓名"), MaxLength(100, ErrorMessage = "候选人姓名 不能超过 100 个字符")]
public string EmployName { get; set; }
///
- /// IDCardType
+ /// 身份证类别
///
- [Display(Name = "IDCardType"), Description("IDCardType"), MaxLength(100, ErrorMessage = "IDCardType 不能超过 100 个字符")]
+ [Display(Name = "IDCardType"), Description("身份证类别"), MaxLength(100, ErrorMessage = "身份证类别 不能超过 100 个字符")]
public string IDCardType { get; set; }
///
- /// IDCardNo
+ /// 身份证号
///
- [Display(Name = "IDCardNo"), Description("IDCardNo"), MaxLength(100, ErrorMessage = "IDCardNo 不能超过 100 个字符")]
+ [Display(Name = "IDCardNo"), Description("身份证号"), MaxLength(100, ErrorMessage = "身份证号 不能超过 100 个字符")]
public string IDCardNo { get; set; }
///
- /// EffectDate
+ /// 生效日期
///
public DateTime? EffectDate { get; set; }
///
- /// StaffType
+ /// 员工性质
///
- [Display(Name = "StaffType"), Description("StaffType"), MaxLength(100, ErrorMessage = "StaffType 不能超过 100 个字符")]
+ [Display(Name = "StaffType"), Description("员工性质"), MaxLength(100, ErrorMessage = "员工性质 不能超过 100 个字符")]
public string StaffType { get; set; }
///
- /// EduDegree
+ /// 学历编号
///
- [Display(Name = "EduDegree"), Description("EduDegree"), MaxLength(100, ErrorMessage = "EduDegree 不能超过 100 个字符")]
+ [Display(Name = "EduDegree"), Description("学历编号"), MaxLength(100, ErrorMessage = "学历编号 不能超过 100 个字符")]
public string EduDegree { get; set; }
///
- /// PeriodMasterNo
+ /// 计薪类别编号
///
- [Display(Name = "PeriodMasterNo"), Description("PeriodMasterNo"), MaxLength(100, ErrorMessage = "PeriodMasterNo 不能超过 100 个字符")]
+ [Display(Name = "PeriodMasterNo"), Description("计薪类别编号"), MaxLength(100, ErrorMessage = "计薪类别编号 不能超过 100 个字符")]
public string PeriodMasterNo { get; set; }
///
- /// DeptNo
+ /// 部门编号
///
- [Display(Name = "DeptNo"), Description("DeptNo"), MaxLength(100, ErrorMessage = "DeptNo 不能超过 100 个字符")]
+ [Display(Name = "DeptNo"), Description("部门编号"), MaxLength(100, ErrorMessage = "部门编号 不能超过 100 个字符")]
public string DeptNo { get; set; }
///
- /// InDate
+ /// 入职日
///
public DateTime? InDate { get; set; }
///
- /// TitleNo
+ /// 岗位编号
///
- [Display(Name = "TitleNo"), Description("TitleNo"), MaxLength(100, ErrorMessage = "TitleNo 不能超过 100 个字符")]
+ [Display(Name = "TitleNo"), Description("岗位编号"), MaxLength(100, ErrorMessage = "岗位编号 不能超过 100 个字符")]
public string TitleNo { get; set; }
///
- /// CostCenterNo
+ /// 成本中心编号
///
- [Display(Name = "CostCenterNo"), Description("CostCenterNo"), MaxLength(100, ErrorMessage = "CostCenterNo 不能超过 100 个字符")]
+ [Display(Name = "CostCenterNo"), Description("成本中心编号"), MaxLength(100, ErrorMessage = "成本中心编号 不能超过 100 个字符")]
public string CostCenterNo { get; set; }
///
- /// GradeNo
+ /// 职级编号
///
- [Display(Name = "GradeNo"), Description("GradeNo"), MaxLength(100, ErrorMessage = "GradeNo 不能超过 100 个字符")]
+ [Display(Name = "GradeNo"), Description("职级编号"), MaxLength(100, ErrorMessage = "职级编号 不能超过 100 个字符")]
public string GradeNo { get; set; }
///
- /// RecruitFrom
+ /// 招聘途径
///
- [Display(Name = "RecruitFrom"), Description("RecruitFrom"), MaxLength(100, ErrorMessage = "RecruitFrom 不能超过 100 个字符")]
+ [Display(Name = "RecruitFrom"), Description("招聘途径"), MaxLength(100, ErrorMessage = "招聘途径 不能超过 100 个字符")]
public string RecruitFrom { get; set; }
///
- /// ZoneNo
+ /// 厂区编号
///
- [Display(Name = "ZoneNo"), Description("ZoneNo"), MaxLength(100, ErrorMessage = "ZoneNo 不能超过 100 个字符")]
+ [Display(Name = "ZoneNo"), Description("厂区编号"), MaxLength(100, ErrorMessage = "厂区编号 不能超过 100 个字符")]
public string ZoneNo { get; set; }
///
- /// S02
+ /// 基本工资
///
- [Display(Name = "S02"), Description("S02"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S02"), Description("基本工资"), Column(TypeName = "decimal(18,2)")]
public decimal? S02 { get; set; }
///
- /// S03
+ /// 职务加给基数
///
- [Display(Name = "S03"), Description("S03"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S03"), Description("职务加给基数"), Column(TypeName = "decimal(18,2)")]
public decimal? S03 { get; set; }
///
- /// S04
+ /// 保密费
///
- [Display(Name = "S04"), Description("S04"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S04"), Description("保密费"), Column(TypeName = "decimal(18,2)")]
public decimal? S04 { get; set; }
///
- /// S05
+ /// 岗位技能工资
///
- [Display(Name = "S05"), Description("S05"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S05"), Description("岗位技能工资"), Column(TypeName = "decimal(18,2)")]
public decimal? S05 { get; set; }
///
- /// S06
+ /// 全勤奖基数
///
- [Display(Name = "S06"), Description("S06"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S06"), Description("全勤奖基数"), Column(TypeName = "decimal(18,2)")]
public decimal? S06 { get; set; }
///
- /// S21
+ /// 管理绩效
///
- [Display(Name = "S21"), Description("S21"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S21"), Description("管理绩效"), Column(TypeName = "decimal(18,2)")]
public decimal? S21 { get; set; }
///
- /// S22
+ /// 岗位流动金
///
- [Display(Name = "S22"), Description("S22"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S22"), Description("岗位流动金"), Column(TypeName = "decimal(18,2)")]
public decimal? S22 { get; set; }
///
- /// S23
+ /// 房贴
///
- [Display(Name = "S23"), Description("S23"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S23"), Description("房贴"), Column(TypeName = "decimal(18,2)")]
public decimal? S23 { get; set; }
///
- /// S66
+ /// 交通费
///
- [Display(Name = "S66"), Description("S66"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S66"), Description("交通费"), Column(TypeName = "decimal(18,2)")]
public decimal? S66 { get; set; }
///
- /// S68
+ /// 岗位津贴-无尘衣
///
- [Display(Name = "S68"), Description("S68"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S68"), Description("岗位津贴-无尘衣"), Column(TypeName = "decimal(18,2)")]
public decimal? S68 { get; set; }
///
- /// S70
+ /// 岗位津贴化学品
///
- [Display(Name = "S70"), Description("S70"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S70"), Description("岗位津贴化学品"), Column(TypeName = "decimal(18,2)")]
public decimal? S70 { get; set; }
///
- /// TotalAmount
+ /// 总金额
///
- [Display(Name = "TotalAmount"), Description("TotalAmount"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "TotalAmount"), Description("总金额"), Column(TypeName = "decimal(18,2)")]
public decimal? TotalAmount { get; set; }
///
- /// RemarkSz
+ /// 备注
///
- [Display(Name = "RemarkSz"), Description("RemarkSz"), MaxLength(2000, ErrorMessage = "RemarkSz 不能超过 2000 个字符")]
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
///
- /// IsRead
+ /// 是否已读取
///
public int? IsRead { get; set; }
diff --git a/Tiobon.Core.Model/Edit/Ghrc/Ghrc_PeriodMaster.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghrc/Ghrc_PeriodMaster.Dto.EditInput.cs
new file mode 100644
index 00000000..c9b907b9
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghrc/Ghrc_PeriodMaster.Dto.EditInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghrc_PeriodMaster.cs
+*
+*功 能: N / A
+* 类 名: Ghrc_PeriodMaster
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/10 14:31:24 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghrc_PeriodMaster (Dto.EditInput)
+///
+public class EditGhrc_PeriodMasterInput : Ghrc_PeriodMasterBase
+{
+}
diff --git a/Tiobon.Core.Model/Insert/Ghrc/Ghrc_PeriodMaster.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghrc/Ghrc_PeriodMaster.Dto.InsertInput.cs
new file mode 100644
index 00000000..cd8175f6
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghrc/Ghrc_PeriodMaster.Dto.InsertInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghrc_PeriodMaster.cs
+*
+*功 能: N / A
+* 类 名: Ghrc_PeriodMaster
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/10 14:31:24 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghrc_PeriodMaster (Dto.InsertInput)
+///
+public class InsertGhrc_PeriodMasterInput : Ghrc_PeriodMasterBase
+{
+}
diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_Title.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_Title.cs
index e314b436..8c6b9e67 100644
--- a/Tiobon.Core.Model/Models/Ghra/Ghra_Title.cs
+++ b/Tiobon.Core.Model/Models/Ghra/Ghra_Title.cs
@@ -27,6 +27,7 @@ public class Ghra_Title : BasePoco1
///
/// TitleID
///
+ [SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = true), Display(Name = "表主键")]
public int? TitleID { get; set; }
///
diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_Zone.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_Zone.cs
index 10bcb339..e36681af 100644
--- a/Tiobon.Core.Model/Models/Ghra/Ghra_Zone.cs
+++ b/Tiobon.Core.Model/Models/Ghra/Ghra_Zone.cs
@@ -27,6 +27,7 @@ public class Ghra_Zone : BasePoco1
///
/// ZoneID
///
+ [SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = true), Display(Name = "表主键")]
public int? ZoneID { get; set; }
///
diff --git a/Tiobon.Core.Model/Models/Ghrc/Ghrc_PeriodMaster.cs b/Tiobon.Core.Model/Models/Ghrc/Ghrc_PeriodMaster.cs
new file mode 100644
index 00000000..7395a1f5
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghrc/Ghrc_PeriodMaster.cs
@@ -0,0 +1,151 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghrc_PeriodMaster.cs
+*
+*功 能: N / A
+* 类 名: Ghrc_PeriodMaster
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/10 14:31:24 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghrc_PeriodMaster (Model)
+///
+[SugarTable("Ghrc_PeriodMaster", "Ghrc_PeriodMaster"), Entity(TableCnName = "Ghrc_PeriodMaster", TableName = "Ghrc_PeriodMaster")]
+public class Ghrc_PeriodMaster : BasePoco1
+{
+
+ ///
+ /// PeriodMasterID
+ ///
+ [SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = true), Display(Name = "表主键")]
+ public int? PeriodMasterID { get; set; }
+
+ ///
+ /// PeriodMasterNo
+ ///
+ [Display(Name = "PeriodMasterNo"), Description("PeriodMasterNo"), MaxLength(100, ErrorMessage = "PeriodMasterNo 不能超过 100 个字符")]
+ public string PeriodMasterNo { get; set; }
+
+ ///
+ /// PeriodMasterName
+ ///
+ [Display(Name = "PeriodMasterName"), Description("PeriodMasterName"), MaxLength(1000, ErrorMessage = "PeriodMasterName 不能超过 1000 个字符")]
+ public string PeriodMasterName { get; set; }
+
+ ///
+ /// MKey
+ ///
+ [Display(Name = "MKey"), Description("MKey"), MaxLength(200, ErrorMessage = "MKey 不能超过 200 个字符")]
+ public string MKey { get; set; }
+
+ ///
+ /// DataBelongID
+ ///
+ [Display(Name = "DataBelongID"), Description("DataBelongID"), MaxLength(-1, ErrorMessage = "DataBelongID 不能超过 -1 个字符")]
+ public string DataBelongID { get; set; }
+
+ ///
+ /// SalaryBegin
+ ///
+ public int? SalaryBegin { get; set; }
+
+ ///
+ /// SalaryBeginType
+ ///
+ public int? SalaryBeginType { get; set; }
+
+ ///
+ /// AttendBegin
+ ///
+ public int? AttendBegin { get; set; }
+
+ ///
+ /// AttendBeginType
+ ///
+ public int? AttendBeginType { get; set; }
+
+ ///
+ /// TaxYearBeginType
+ ///
+ public int? TaxYearBeginType { 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; }
+
+ ///
+ /// Reverse6
+ ///
+ [Display(Name = "Reverse6"), Description("Reverse6"), MaxLength(1000, ErrorMessage = "Reverse6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// Reverse7
+ ///
+ [Display(Name = "Reverse7"), Description("Reverse7"), MaxLength(1000, ErrorMessage = "Reverse7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// Reverse8
+ ///
+ [Display(Name = "Reverse8"), Description("Reverse8"), MaxLength(1000, ErrorMessage = "Reverse8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// Reverse9
+ ///
+ [Display(Name = "Reverse9"), Description("Reverse9"), MaxLength(1000, ErrorMessage = "Reverse9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+}
diff --git a/Tiobon.Core.Model/Models/Ghro/Ghro_Dept.cs b/Tiobon.Core.Model/Models/Ghro/Ghro_Dept.cs
index fb868d47..a6c5be34 100644
--- a/Tiobon.Core.Model/Models/Ghro/Ghro_Dept.cs
+++ b/Tiobon.Core.Model/Models/Ghro/Ghro_Dept.cs
@@ -27,6 +27,7 @@ public class Ghro_Dept : BasePoco1
///
/// DeptID
///
+ [SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = true), Display(Name = "表主键")]
public int? DeptID { get; set; }
///
diff --git a/Tiobon.Core.Model/Models/Ghrz/Ghrz_Shihua_OA_Employment.cs b/Tiobon.Core.Model/Models/Ghrz/Ghrz_Shihua_OA_Employment.cs
index c327898f..94f81f61 100644
--- a/Tiobon.Core.Model/Models/Ghrz/Ghrz_Shihua_OA_Employment.cs
+++ b/Tiobon.Core.Model/Models/Ghrz/Ghrz_Shihua_OA_Employment.cs
@@ -6,7 +6,7 @@
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
-*V0.01 2024/12/10 13:43:11 SimonHsiao 初版
+*V0.01 2024/12/10 14:20:49 SimonHsiao 初版
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*┌──────────────────────────────────┐
@@ -36,185 +36,185 @@ public class Ghrz_Shihua_OA_Employment : BasePoco
public string UserNo { get; set; }
///
- /// WorkNo
+ /// 单号
///
- [Display(Name = "WorkNo"), Description("WorkNo"), MaxLength(100, ErrorMessage = "WorkNo 不能超过 100 个字符")]
+ [Display(Name = "WorkNo"), Description("单号"), MaxLength(100, ErrorMessage = "单号 不能超过 100 个字符")]
public string WorkNo { get; set; }
///
- /// WorkType
+ /// 单据类别
///
- [Display(Name = "WorkType"), Description("WorkType"), MaxLength(100, ErrorMessage = "WorkType 不能超过 100 个字符")]
+ [Display(Name = "WorkType"), Description("单据类别"), MaxLength(100, ErrorMessage = "单据类别 不能超过 100 个字符")]
public string WorkType { get; set; }
///
- /// StaffNo
+ /// 发起人工号
///
- [Display(Name = "StaffNo"), Description("StaffNo"), MaxLength(100, ErrorMessage = "StaffNo 不能超过 100 个字符")]
+ [Display(Name = "StaffNo"), Description("发起人工号"), MaxLength(100, ErrorMessage = "发起人工号 不能超过 100 个字符")]
public string StaffNo { get; set; }
///
- /// EmployName
+ /// 候选人姓名
///
- [Display(Name = "EmployName"), Description("EmployName"), MaxLength(100, ErrorMessage = "EmployName 不能超过 100 个字符")]
+ [Display(Name = "EmployName"), Description("候选人姓名"), MaxLength(100, ErrorMessage = "候选人姓名 不能超过 100 个字符")]
public string EmployName { get; set; }
///
- /// IDCardType
+ /// 身份证类别
///
- [Display(Name = "IDCardType"), Description("IDCardType"), MaxLength(100, ErrorMessage = "IDCardType 不能超过 100 个字符")]
+ [Display(Name = "IDCardType"), Description("身份证类别"), MaxLength(100, ErrorMessage = "身份证类别 不能超过 100 个字符")]
public string IDCardType { get; set; }
///
- /// IDCardNo
+ /// 身份证号
///
- [Display(Name = "IDCardNo"), Description("IDCardNo"), MaxLength(100, ErrorMessage = "IDCardNo 不能超过 100 个字符")]
+ [Display(Name = "IDCardNo"), Description("身份证号"), MaxLength(100, ErrorMessage = "身份证号 不能超过 100 个字符")]
public string IDCardNo { get; set; }
///
- /// EffectDate
+ /// 生效日期
///
public DateTime? EffectDate { get; set; }
///
- /// StaffType
+ /// 员工性质
///
- [Display(Name = "StaffType"), Description("StaffType"), MaxLength(100, ErrorMessage = "StaffType 不能超过 100 个字符")]
+ [Display(Name = "StaffType"), Description("员工性质"), MaxLength(100, ErrorMessage = "员工性质 不能超过 100 个字符")]
public string StaffType { get; set; }
///
- /// EduDegree
+ /// 学历编号
///
- [Display(Name = "EduDegree"), Description("EduDegree"), MaxLength(100, ErrorMessage = "EduDegree 不能超过 100 个字符")]
+ [Display(Name = "EduDegree"), Description("学历编号"), MaxLength(100, ErrorMessage = "学历编号 不能超过 100 个字符")]
public string EduDegree { get; set; }
///
- /// PeriodMasterNo
+ /// 计薪类别编号
///
- [Display(Name = "PeriodMasterNo"), Description("PeriodMasterNo"), MaxLength(100, ErrorMessage = "PeriodMasterNo 不能超过 100 个字符")]
+ [Display(Name = "PeriodMasterNo"), Description("计薪类别编号"), MaxLength(100, ErrorMessage = "计薪类别编号 不能超过 100 个字符")]
public string PeriodMasterNo { get; set; }
///
- /// DeptNo
+ /// 部门编号
///
- [Display(Name = "DeptNo"), Description("DeptNo"), MaxLength(100, ErrorMessage = "DeptNo 不能超过 100 个字符")]
+ [Display(Name = "DeptNo"), Description("部门编号"), MaxLength(100, ErrorMessage = "部门编号 不能超过 100 个字符")]
public string DeptNo { get; set; }
///
- /// InDate
+ /// 入职日
///
public DateTime? InDate { get; set; }
///
- /// TitleNo
+ /// 岗位编号
///
- [Display(Name = "TitleNo"), Description("TitleNo"), MaxLength(100, ErrorMessage = "TitleNo 不能超过 100 个字符")]
+ [Display(Name = "TitleNo"), Description("岗位编号"), MaxLength(100, ErrorMessage = "岗位编号 不能超过 100 个字符")]
public string TitleNo { get; set; }
///
- /// CostCenterNo
+ /// 成本中心编号
///
- [Display(Name = "CostCenterNo"), Description("CostCenterNo"), MaxLength(100, ErrorMessage = "CostCenterNo 不能超过 100 个字符")]
+ [Display(Name = "CostCenterNo"), Description("成本中心编号"), MaxLength(100, ErrorMessage = "成本中心编号 不能超过 100 个字符")]
public string CostCenterNo { get; set; }
///
- /// GradeNo
+ /// 职级编号
///
- [Display(Name = "GradeNo"), Description("GradeNo"), MaxLength(100, ErrorMessage = "GradeNo 不能超过 100 个字符")]
+ [Display(Name = "GradeNo"), Description("职级编号"), MaxLength(100, ErrorMessage = "职级编号 不能超过 100 个字符")]
public string GradeNo { get; set; }
///
- /// RecruitFrom
+ /// 招聘途径
///
- [Display(Name = "RecruitFrom"), Description("RecruitFrom"), MaxLength(100, ErrorMessage = "RecruitFrom 不能超过 100 个字符")]
+ [Display(Name = "RecruitFrom"), Description("招聘途径"), MaxLength(100, ErrorMessage = "招聘途径 不能超过 100 个字符")]
public string RecruitFrom { get; set; }
///
- /// ZoneNo
+ /// 厂区编号
///
- [Display(Name = "ZoneNo"), Description("ZoneNo"), MaxLength(100, ErrorMessage = "ZoneNo 不能超过 100 个字符")]
+ [Display(Name = "ZoneNo"), Description("厂区编号"), MaxLength(100, ErrorMessage = "厂区编号 不能超过 100 个字符")]
public string ZoneNo { get; set; }
///
- /// S02
+ /// 基本工资
///
- [Display(Name = "S02"), Description("S02"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S02"), Description("基本工资"), Column(TypeName = "decimal(18,2)")]
public decimal? S02 { get; set; }
///
- /// S03
+ /// 职务加给基数
///
- [Display(Name = "S03"), Description("S03"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S03"), Description("职务加给基数"), Column(TypeName = "decimal(18,2)")]
public decimal? S03 { get; set; }
///
- /// S04
+ /// 保密费
///
- [Display(Name = "S04"), Description("S04"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S04"), Description("保密费"), Column(TypeName = "decimal(18,2)")]
public decimal? S04 { get; set; }
///
- /// S05
+ /// 岗位技能工资
///
- [Display(Name = "S05"), Description("S05"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S05"), Description("岗位技能工资"), Column(TypeName = "decimal(18,2)")]
public decimal? S05 { get; set; }
///
- /// S06
+ /// 全勤奖基数
///
- [Display(Name = "S06"), Description("S06"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S06"), Description("全勤奖基数"), Column(TypeName = "decimal(18,2)")]
public decimal? S06 { get; set; }
///
- /// S21
+ /// 管理绩效
///
- [Display(Name = "S21"), Description("S21"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S21"), Description("管理绩效"), Column(TypeName = "decimal(18,2)")]
public decimal? S21 { get; set; }
///
- /// S22
+ /// 岗位流动金
///
- [Display(Name = "S22"), Description("S22"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S22"), Description("岗位流动金"), Column(TypeName = "decimal(18,2)")]
public decimal? S22 { get; set; }
///
- /// S23
+ /// 房贴
///
- [Display(Name = "S23"), Description("S23"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S23"), Description("房贴"), Column(TypeName = "decimal(18,2)")]
public decimal? S23 { get; set; }
///
- /// S66
+ /// 交通费
///
- [Display(Name = "S66"), Description("S66"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S66"), Description("交通费"), Column(TypeName = "decimal(18,2)")]
public decimal? S66 { get; set; }
///
- /// S68
+ /// 岗位津贴-无尘衣
///
- [Display(Name = "S68"), Description("S68"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S68"), Description("岗位津贴-无尘衣"), Column(TypeName = "decimal(18,2)")]
public decimal? S68 { get; set; }
///
- /// S70
+ /// 岗位津贴化学品
///
- [Display(Name = "S70"), Description("S70"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "S70"), Description("岗位津贴化学品"), Column(TypeName = "decimal(18,2)")]
public decimal? S70 { get; set; }
///
- /// TotalAmount
+ /// 总金额
///
- [Display(Name = "TotalAmount"), Description("TotalAmount"), Column(TypeName = "decimal(18,2)")]
+ [Display(Name = "TotalAmount"), Description("总金额"), Column(TypeName = "decimal(18,2)")]
public decimal? TotalAmount { get; set; }
///
- /// RemarkSz
+ /// 备注
///
- [Display(Name = "RemarkSz"), Description("RemarkSz"), MaxLength(2000, ErrorMessage = "RemarkSz 不能超过 2000 个字符")]
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
///
- /// IsRead
+ /// 是否已读取
///
public int? IsRead { get; set; }
diff --git a/Tiobon.Core.Model/View/Ghrc/Ghrc_PeriodMaster.Dto.View.cs b/Tiobon.Core.Model/View/Ghrc/Ghrc_PeriodMaster.Dto.View.cs
new file mode 100644
index 00000000..4be2f09a
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghrc/Ghrc_PeriodMaster.Dto.View.cs
@@ -0,0 +1,34 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghrc_PeriodMaster.cs
+*
+*功 能: N / A
+* 类 名: Ghrc_PeriodMaster
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/10 14:31:24 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// Ghrc_PeriodMaster(Dto.View1)
+///
+public class Ghrc_PeriodMasterDto : Ghrc_PeriodMaster
+{
+ ///
+ /// 创建信息
+ ///
+ public string CreateDataInfo { get; set; }
+
+ ///
+ /// 修改信息
+ ///
+ public string UpdateDataInfo { get; set; }
+}
diff --git a/Tiobon.Core.Services/Ghrc/Ghrc_PeriodMasterServices.cs b/Tiobon.Core.Services/Ghrc/Ghrc_PeriodMasterServices.cs
new file mode 100644
index 00000000..e89502fb
--- /dev/null
+++ b/Tiobon.Core.Services/Ghrc/Ghrc_PeriodMasterServices.cs
@@ -0,0 +1,15 @@
+namespace Tiobon.Core.Services;
+
+///
+/// Ghrc_PeriodMaster (服务)
+///
+public class Ghrc_PeriodMasterServices : BaseServices, IGhrc_PeriodMasterServices
+{
+ private readonly IBaseRepository _dal;
+ public Ghrc_PeriodMasterServices(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/Ghrh/Ghrh_ResumeServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
index c2ccd1b1..598db085 100644
--- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
+++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
@@ -2,7 +2,9 @@
using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
+using NPOI.OpenXmlFormats.Wordprocessing;
using System.IO.Compression;
+using System.Threading.Channels;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
@@ -3287,11 +3289,35 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status";
{
var data = list[i];
+ var deptId = (await Db.Queryable().Where(x => x.DeptNo == data.DeptNo).FirstAsync())?.DeptID;
+ var titleId = (await Db.Queryable().Where(x => x.TitleNo == data.TitleNo).FirstAsync())?.TitleID;
+ var gradeId = (await Db.Queryable().Where(x => x.GradeNo == data.GradeNo).FirstAsync())?.GradeID;
+ var workAddress = (await Db.Queryable().Where(x => x.ZoneNo == data.ZoneNo).FirstAsync())?.ZoneName;
+ var periodMasterId = (await Db.Queryable().Where(x => x.PeriodMasterNo == data.PeriodMasterNo).FirstAsync())?.PeriodMasterID;
+
+ var items = new List();
+ var insert = new Ghrh_OfferApplyOrder()
+ {
+ OrderNo = data.WorkNo,
+ DeptId = deptId,
+ TitleId = titleId,
+ Channel = data.RecruitFrom,
+ StaffName = data.EmployName,
+ IdCardNo = data.IDCardNo,
+ InDate = data.InDate,
+ StaffType = data.StaffType,
+ GradeId = gradeId,
+ WorkAddress = workAddress,
+ ProbationSalary = data.TotalAmount,
+ PeriodMasterId = periodMasterId
+ };
+ long id = Db.Insertable(insert).ExecuteReturnSnowflakeId();
- var insert = new InsertGhrh_OfferApplyOrderInput()
+ if (data.S02.IsNotEmptyOrNull())
{
- OrderNo = data.WorkNo
- };
+
+ }
+
}
}
#endregion