diff --git a/Tiobon.Core.Api/Controllers/Ghra/Ghra_LegalCompanyController.cs b/Tiobon.Core.Api/Controllers/Ghra/Ghra_LegalCompanyController.cs
new file mode 100644
index 00000000..df427176
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghra/Ghra_LegalCompanyController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// Ghra_LegalCompany(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghra)]
+public class Ghra_LegalCompanyController : BaseController
+{
+ public Ghra_LegalCompanyController(IGhra_LegalCompanyServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
index 60d9e59b..b99d2c17 100644
--- a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
+++ b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
@@ -352,12 +352,12 @@ public class Ghrh_ResumeController : BaseController
/// 简历Id
- /// Offer内容
+ /// 扩展栏位
///
[HttpPost, Route("SendOffer/{id}")]
- public async Task SendOffer(long id, [FromBody] string content)
+ public async Task SendOffer(long id, [FromBody] Dictionary extFields)
{
- return await _service.SendOffer(id, content);
+ return await _service.SendOffer(id, extFields);
}
#endregion
diff --git a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_TemplateController.cs b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_TemplateController.cs
index a00257a4..22aa0dbc 100644
--- a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_TemplateController.cs
+++ b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_TemplateController.cs
@@ -38,6 +38,6 @@ public class Ghrh_TemplateController : BaseController
///
[HttpPost("Preview/{resumeId}")]
- public async Task> Preview(long resumeId) => await _service.Preview(resumeId);
+ public async Task> Preview(long resumeId, Dictionary extFields) => await _service.Preview(resumeId, extFields);
#endregion
}
\ 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 31fc5eee..aed56ef7 100644
--- a/Tiobon.Core.Api/Tiobon.Core.Model.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml
@@ -244,6 +244,166 @@
Reverse9
+
+
+ Ghra_LegalCompany (Dto.Base)
+
+
+
+
+ LegalCompanyID
+
+
+
+
+ LegalCompanyNo
+
+
+
+
+ LegalCompanyName
+
+
+
+
+ LegalCompanyEname
+
+
+
+
+ ShortName
+
+
+
+
+ MKey
+
+
+
+
+ TaxFirstType
+
+
+
+
+ LegalCompanyTypeID
+
+
+
+
+ LegalPerson
+
+
+
+
+ CompanyTel
+
+
+
+
+ RegisteredAddress
+
+
+
+
+ PostalCode
+
+
+
+
+ RelationAddress
+
+
+
+
+ RelationAddressEname
+
+
+
+
+ Email
+
+
+
+
+ WebSite
+
+
+
+
+ Fax
+
+
+
+
+ CertificateNo
+
+
+
+
+ RemarkSz
+
+
+
+
+ SortNo
+
+
+
+
+ IsDefault
+
+
+
+
+ Reverse1
+
+
+
+
+ Reverse2
+
+
+
+
+ Reverse3
+
+
+
+
+ Reverse4
+
+
+
+
+ Reverse5
+
+
+
+
+ Reverse6
+
+
+
+
+ Reverse7
+
+
+
+
+ Reverse8
+
+
+
+
+ Reverse9
+
+
+
+
+ DataBelongID
+
+
Ghra_Staff (Dto.Base)
@@ -11367,6 +11527,11 @@
Ghra_Job (Dto.EditInput)
+
+
+ Ghra_LegalCompany (Dto.EditInput)
+
+
Ghra_Staff (Dto.EditInput)
@@ -11782,6 +11947,11 @@
Ghra_Job (Dto.InsertInput)
+
+
+ Ghra_LegalCompany (Dto.InsertInput)
+
+
Ghra_Staff (Dto.InsertInput)
@@ -12603,6 +12773,166 @@
Reverse9
+
+
+ Ghra_LegalCompany (Model)
+
+
+
+
+ LegalCompanyID
+
+
+
+
+ LegalCompanyNo
+
+
+
+
+ LegalCompanyName
+
+
+
+
+ LegalCompanyEname
+
+
+
+
+ ShortName
+
+
+
+
+ MKey
+
+
+
+
+ TaxFirstType
+
+
+
+
+ LegalCompanyTypeID
+
+
+
+
+ LegalPerson
+
+
+
+
+ CompanyTel
+
+
+
+
+ RegisteredAddress
+
+
+
+
+ PostalCode
+
+
+
+
+ RelationAddress
+
+
+
+
+ RelationAddressEname
+
+
+
+
+ Email
+
+
+
+
+ WebSite
+
+
+
+
+ Fax
+
+
+
+
+ CertificateNo
+
+
+
+
+ RemarkSz
+
+
+
+
+ SortNo
+
+
+
+
+ IsDefault
+
+
+
+
+ Reverse1
+
+
+
+
+ Reverse2
+
+
+
+
+ Reverse3
+
+
+
+
+ Reverse4
+
+
+
+
+ Reverse5
+
+
+
+
+ Reverse6
+
+
+
+
+ Reverse7
+
+
+
+
+ Reverse8
+
+
+
+
+ Reverse9
+
+
+
+
+ DataBelongID
+
+
Ghra_Staff (Model)
@@ -24547,6 +24877,21 @@
修改信息
+
+
+ Ghra_LegalCompany(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
Ghra_Staff(Dto.View)
diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml
index afcc6cd3..a9b64c5c 100644
--- a/Tiobon.Core.Api/Tiobon.Core.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.xml
@@ -677,6 +677,11 @@
Ghra_Job(Controller)
+
+
+ Ghra_LegalCompany(Controller)
+
+
Ghra_Staff(Controller)
@@ -1493,12 +1498,12 @@
简历Id,列表
-
+
发offer
简历Id
- Offer内容
+ 扩展栏位
@@ -1705,7 +1710,7 @@
-
+
Offer支持的字段
diff --git a/Tiobon.Core.IServices/Ghra/IGhra_LegalCompanyServices.cs b/Tiobon.Core.IServices/Ghra/IGhra_LegalCompanyServices.cs
new file mode 100644
index 00000000..72372570
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghra/IGhra_LegalCompanyServices.cs
@@ -0,0 +1,11 @@
+using Tiobon.Core.IServices.BASE;
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.IServices;
+
+///
+/// Ghra_LegalCompany(自定义服务接口)
+///
+public interface IGhra_LegalCompanyServices : IBaseServices
+{
+}
\ No newline at end of file
diff --git a/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs b/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
index 75c2f08a..62957604 100644
--- a/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
+++ b/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
@@ -53,7 +53,7 @@ public interface IGhrh_ResumeServices : IBaseServices ModifyInterviewer(long id, List InterviewStaffs);
Task SendOffer(List ids);
- Task SendOffer(long id, string content);
+ Task SendOffer(long id, Dictionary extFields);
Task RemindHasOffer(List ids);
diff --git a/Tiobon.Core.IServices/Ghrh/IGhrh_TemplateServices.cs b/Tiobon.Core.IServices/Ghrh/IGhrh_TemplateServices.cs
index 79ce4168..1390c2c3 100644
--- a/Tiobon.Core.IServices/Ghrh/IGhrh_TemplateServices.cs
+++ b/Tiobon.Core.IServices/Ghrh/IGhrh_TemplateServices.cs
@@ -13,5 +13,5 @@ public interface IGhrh_TemplateServices : IBaseServices>> QueryOfferTags();
- Task> Preview(long resumeId);
+ Task> Preview(long resumeId, Dictionary extFields);
}
\ No newline at end of file
diff --git a/Tiobon.Core.Model/Base/Ghra/Ghra_LegalCompany.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghra/Ghra_LegalCompany.Dto.Base.cs
new file mode 100644
index 00000000..b1a5f683
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghra/Ghra_LegalCompany.Dto.Base.cs
@@ -0,0 +1,206 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_LegalCompany.cs
+*
+*功 能: N / A
+* 类 名: Ghra_LegalCompany
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/9 10:50:26 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghra_LegalCompany (Dto.Base)
+///
+public class Ghra_LegalCompanyBase
+{
+
+ ///
+ /// LegalCompanyID
+ ///
+ public int? LegalCompanyID { get; set; }
+
+ ///
+ /// LegalCompanyNo
+ ///
+ [Display(Name = "LegalCompanyNo"), Description("LegalCompanyNo"), MaxLength(100, ErrorMessage = "LegalCompanyNo 不能超过 100 个字符")]
+ public string LegalCompanyNo { get; set; }
+
+ ///
+ /// LegalCompanyName
+ ///
+ [Display(Name = "LegalCompanyName"), Description("LegalCompanyName"), MaxLength(1000, ErrorMessage = "LegalCompanyName 不能超过 1000 个字符")]
+ public string LegalCompanyName { get; set; }
+
+ ///
+ /// LegalCompanyEname
+ ///
+ [Display(Name = "LegalCompanyEname"), Description("LegalCompanyEname"), MaxLength(1000, ErrorMessage = "LegalCompanyEname 不能超过 1000 个字符")]
+ public string LegalCompanyEname { get; set; }
+
+ ///
+ /// ShortName
+ ///
+ [Display(Name = "ShortName"), Description("ShortName"), MaxLength(1000, ErrorMessage = "ShortName 不能超过 1000 个字符")]
+ public string ShortName { get; set; }
+
+ ///
+ /// MKey
+ ///
+ [Display(Name = "MKey"), Description("MKey"), MaxLength(200, ErrorMessage = "MKey 不能超过 200 个字符")]
+ public string MKey { get; set; }
+
+ ///
+ /// TaxFirstType
+ ///
+ [Display(Name = "TaxFirstType"), Description("TaxFirstType"), MaxLength(100, ErrorMessage = "TaxFirstType 不能超过 100 个字符")]
+ public string TaxFirstType { get; set; }
+
+ ///
+ /// LegalCompanyTypeID
+ ///
+ public int? LegalCompanyTypeID { get; set; }
+
+ ///
+ /// LegalPerson
+ ///
+ [Display(Name = "LegalPerson"), Description("LegalPerson"), MaxLength(100, ErrorMessage = "LegalPerson 不能超过 100 个字符")]
+ public string LegalPerson { get; set; }
+
+ ///
+ /// CompanyTel
+ ///
+ [Display(Name = "CompanyTel"), Description("CompanyTel"), MaxLength(1000, ErrorMessage = "CompanyTel 不能超过 1000 个字符")]
+ public string CompanyTel { get; set; }
+
+ ///
+ /// RegisteredAddress
+ ///
+ [Display(Name = "RegisteredAddress"), Description("RegisteredAddress"), MaxLength(1000, ErrorMessage = "RegisteredAddress 不能超过 1000 个字符")]
+ public string RegisteredAddress { get; set; }
+
+ ///
+ /// PostalCode
+ ///
+ [Display(Name = "PostalCode"), Description("PostalCode"), MaxLength(1000, ErrorMessage = "PostalCode 不能超过 1000 个字符")]
+ public string PostalCode { get; set; }
+
+ ///
+ /// RelationAddress
+ ///
+ [Display(Name = "RelationAddress"), Description("RelationAddress"), MaxLength(1000, ErrorMessage = "RelationAddress 不能超过 1000 个字符")]
+ public string RelationAddress { get; set; }
+
+ ///
+ /// RelationAddressEname
+ ///
+ [Display(Name = "RelationAddressEname"), Description("RelationAddressEname"), MaxLength(1000, ErrorMessage = "RelationAddressEname 不能超过 1000 个字符")]
+ public string RelationAddressEname { get; set; }
+
+ ///
+ /// Email
+ ///
+ [Display(Name = "Email"), Description("Email"), MaxLength(1000, ErrorMessage = "Email 不能超过 1000 个字符")]
+ public string Email { get; set; }
+
+ ///
+ /// WebSite
+ ///
+ [Display(Name = "WebSite"), Description("WebSite"), MaxLength(1000, ErrorMessage = "WebSite 不能超过 1000 个字符")]
+ public string WebSite { get; set; }
+
+ ///
+ /// Fax
+ ///
+ [Display(Name = "Fax"), Description("Fax"), MaxLength(1000, ErrorMessage = "Fax 不能超过 1000 个字符")]
+ public string Fax { get; set; }
+
+ ///
+ /// CertificateNo
+ ///
+ [Display(Name = "CertificateNo"), Description("CertificateNo"), MaxLength(1000, ErrorMessage = "CertificateNo 不能超过 1000 个字符")]
+ public string CertificateNo { 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; }
+
+ ///
+ /// DataBelongID
+ ///
+ public int? DataBelongID { get; set; }
+}
diff --git a/Tiobon.Core.Model/Edit/Ghra/Ghra_LegalCompany.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghra/Ghra_LegalCompany.Dto.EditInput.cs
new file mode 100644
index 00000000..2ba632cc
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghra/Ghra_LegalCompany.Dto.EditInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_LegalCompany.cs
+*
+*功 能: N / A
+* 类 名: Ghra_LegalCompany
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/9 10:50:26 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghra_LegalCompany (Dto.EditInput)
+///
+public class EditGhra_LegalCompanyInput : Ghra_LegalCompanyBase
+{
+}
diff --git a/Tiobon.Core.Model/Insert/Ghra/Ghra_LegalCompany.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghra/Ghra_LegalCompany.Dto.InsertInput.cs
new file mode 100644
index 00000000..feae0935
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghra/Ghra_LegalCompany.Dto.InsertInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_LegalCompany.cs
+*
+*功 能: N / A
+* 类 名: Ghra_LegalCompany
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/9 10:50:26 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghra_LegalCompany (Dto.InsertInput)
+///
+public class InsertGhra_LegalCompanyInput : Ghra_LegalCompanyBase
+{
+}
diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_LegalCompany.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_LegalCompany.cs
new file mode 100644
index 00000000..7973913a
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghra/Ghra_LegalCompany.cs
@@ -0,0 +1,208 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_LegalCompany.cs
+*
+*功 能: N / A
+* 类 名: Ghra_LegalCompany
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/9 10:50:26 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghra_LegalCompany (Model)
+///
+[SugarTable("Ghra_LegalCompany", "Ghra_LegalCompany"), Entity(TableCnName = "Ghra_LegalCompany", TableName = "Ghra_LegalCompany")]
+public class Ghra_LegalCompany : BasePoco1
+{
+
+ ///
+ /// LegalCompanyID
+ ///
+ [SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = true), Display(Name = "表主键")]
+ public int? LegalCompanyID { get; set; }
+
+ ///
+ /// LegalCompanyNo
+ ///
+ [Display(Name = "LegalCompanyNo"), Description("LegalCompanyNo"), MaxLength(100, ErrorMessage = "LegalCompanyNo 不能超过 100 个字符")]
+ public string LegalCompanyNo { get; set; }
+
+ ///
+ /// LegalCompanyName
+ ///
+ [Display(Name = "LegalCompanyName"), Description("LegalCompanyName"), MaxLength(1000, ErrorMessage = "LegalCompanyName 不能超过 1000 个字符")]
+ public string LegalCompanyName { get; set; }
+
+ ///
+ /// LegalCompanyEname
+ ///
+ [Display(Name = "LegalCompanyEname"), Description("LegalCompanyEname"), MaxLength(1000, ErrorMessage = "LegalCompanyEname 不能超过 1000 个字符")]
+ public string LegalCompanyEname { get; set; }
+
+ ///
+ /// ShortName
+ ///
+ [Display(Name = "ShortName"), Description("ShortName"), MaxLength(1000, ErrorMessage = "ShortName 不能超过 1000 个字符")]
+ public string ShortName { get; set; }
+
+ ///
+ /// MKey
+ ///
+ [Display(Name = "MKey"), Description("MKey"), MaxLength(200, ErrorMessage = "MKey 不能超过 200 个字符")]
+ public string MKey { get; set; }
+
+ ///
+ /// TaxFirstType
+ ///
+ [Display(Name = "TaxFirstType"), Description("TaxFirstType"), MaxLength(100, ErrorMessage = "TaxFirstType 不能超过 100 个字符")]
+ public string TaxFirstType { get; set; }
+
+ ///
+ /// LegalCompanyTypeID
+ ///
+ public int? LegalCompanyTypeID { get; set; }
+
+ ///
+ /// LegalPerson
+ ///
+ [Display(Name = "LegalPerson"), Description("LegalPerson"), MaxLength(100, ErrorMessage = "LegalPerson 不能超过 100 个字符")]
+ public string LegalPerson { get; set; }
+
+ ///
+ /// CompanyTel
+ ///
+ [Display(Name = "CompanyTel"), Description("CompanyTel"), MaxLength(1000, ErrorMessage = "CompanyTel 不能超过 1000 个字符")]
+ public string CompanyTel { get; set; }
+
+ ///
+ /// RegisteredAddress
+ ///
+ [Display(Name = "RegisteredAddress"), Description("RegisteredAddress"), MaxLength(1000, ErrorMessage = "RegisteredAddress 不能超过 1000 个字符")]
+ public string RegisteredAddress { get; set; }
+
+ ///
+ /// PostalCode
+ ///
+ [Display(Name = "PostalCode"), Description("PostalCode"), MaxLength(1000, ErrorMessage = "PostalCode 不能超过 1000 个字符")]
+ public string PostalCode { get; set; }
+
+ ///
+ /// RelationAddress
+ ///
+ [Display(Name = "RelationAddress"), Description("RelationAddress"), MaxLength(1000, ErrorMessage = "RelationAddress 不能超过 1000 个字符")]
+ public string RelationAddress { get; set; }
+
+ ///
+ /// RelationAddressEname
+ ///
+ [Display(Name = "RelationAddressEname"), Description("RelationAddressEname"), MaxLength(1000, ErrorMessage = "RelationAddressEname 不能超过 1000 个字符")]
+ public string RelationAddressEname { get; set; }
+
+ ///
+ /// Email
+ ///
+ [Display(Name = "Email"), Description("Email"), MaxLength(1000, ErrorMessage = "Email 不能超过 1000 个字符")]
+ public string Email { get; set; }
+
+ ///
+ /// WebSite
+ ///
+ [Display(Name = "WebSite"), Description("WebSite"), MaxLength(1000, ErrorMessage = "WebSite 不能超过 1000 个字符")]
+ public string WebSite { get; set; }
+
+ ///
+ /// Fax
+ ///
+ [Display(Name = "Fax"), Description("Fax"), MaxLength(1000, ErrorMessage = "Fax 不能超过 1000 个字符")]
+ public string Fax { get; set; }
+
+ ///
+ /// CertificateNo
+ ///
+ [Display(Name = "CertificateNo"), Description("CertificateNo"), MaxLength(1000, ErrorMessage = "CertificateNo 不能超过 1000 个字符")]
+ public string CertificateNo { 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; }
+
+ ///
+ /// DataBelongID
+ ///
+ public int? DataBelongID { get; set; }
+}
diff --git a/Tiobon.Core.Model/View/Ghra/Ghra_LegalCompany.Dto.View.cs b/Tiobon.Core.Model/View/Ghra/Ghra_LegalCompany.Dto.View.cs
new file mode 100644
index 00000000..18e28e2f
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghra/Ghra_LegalCompany.Dto.View.cs
@@ -0,0 +1,34 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghra_LegalCompany.cs
+*
+*功 能: N / A
+* 类 名: Ghra_LegalCompany
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2024/12/9 10:50:26 SimonHsiao 初版
+*
+* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// Ghra_LegalCompany(Dto.View1)
+///
+public class Ghra_LegalCompanyDto : Ghra_LegalCompany
+{
+ ///
+ /// 创建信息
+ ///
+ public string CreateDataInfo { get; set; }
+
+ ///
+ /// 修改信息
+ ///
+ public string UpdateDataInfo { get; set; }
+}
diff --git a/Tiobon.Core.Model/ViewModels/Extend/CustomFieldView.cs b/Tiobon.Core.Model/ViewModels/Extend/CustomFieldView.cs
index dfbbaff3..bf2610c4 100644
--- a/Tiobon.Core.Model/ViewModels/Extend/CustomFieldView.cs
+++ b/Tiobon.Core.Model/ViewModels/Extend/CustomFieldView.cs
@@ -11,6 +11,7 @@ public class CustomFieldView
/// 字段
///
public List Fields { get; set; }
+ public List ExtFields { get; set; }
}
///
@@ -78,4 +79,8 @@ public class OfferTemplate
[Description("入职日期")]
public string InDate { get; set; }
+ [Description("公司类别")]
+ public string CompanyName { get; set; }
+
+
}
\ No newline at end of file
diff --git a/Tiobon.Core.Services/Ghra/Ghra_LegalCompanyServices.cs b/Tiobon.Core.Services/Ghra/Ghra_LegalCompanyServices.cs
new file mode 100644
index 00000000..83fc4f32
--- /dev/null
+++ b/Tiobon.Core.Services/Ghra/Ghra_LegalCompanyServices.cs
@@ -0,0 +1,15 @@
+namespace Tiobon.Core.Services;
+
+///
+/// Ghra_LegalCompany (服务)
+///
+public class Ghra_LegalCompanyServices : BaseServices, IGhra_LegalCompanyServices
+{
+ private readonly IBaseRepository _dal;
+ public Ghra_LegalCompanyServices(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 a056847d..3b9f5b27 100644
--- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
+++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
@@ -3,6 +3,7 @@ using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using System.IO.Compression;
+using Tiobon.Core.IServices;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
@@ -45,6 +46,7 @@ public class Ghrh_ResumeServices : BaseServices SendOffer(long id, string content)
+ public async Task SendOffer(long id, Dictionary extFields)
{
var entity = await base.QueryById(id);
if (entity == null)
@@ -2027,6 +2031,7 @@ END";
await LogRecord(order.Id, "变更状态为:已发offer!");
+ var content = (await _ghrh_TemplateServices.Preview(id, null)).Data;
#region 发送邮件
var mailOutbox = new Ghrs_MailOutbox();
mailOutbox.TOMail = entity.Email;
@@ -3140,30 +3145,37 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status";
}
}
- if (order.Status == DIC_INTERVIEW_ORDER_STATUS.InterviewFail || order.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview)
- return ServiceResult.OprateSuccess();
+ if (status == 1)
+ {
+ if (order.Status == DIC_INTERVIEW_ORDER_STATUS.InterviewFail || order.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview)
+ return ServiceResult.OprateSuccess();
- string Status = isPass == false ? DIC_INTERVIEW_ORDER_STATUS.InterviewFail : DIC_INTERVIEW_ORDER_STATUS.HasInterview;
- string InterviewResult = isPass == false ? "面试不通过" : "面试通过";
+ string Status = isPass == false ? DIC_INTERVIEW_ORDER_STATUS.InterviewFail : DIC_INTERVIEW_ORDER_STATUS.HasInterview;
+ string InterviewResult = isPass == false ? "面试不通过" : "面试通过";
- order.Status = Status;
- order.IsPass = isPass;
- order.InterviewResult = InterviewResult;
- order.InterviewContent = evaluateContent;
- order.InterviewResultRemark = evaluateContent;
- await _ghrh_InterviewOrderServices.Update(order, ["Status", "IsPass", "InterviewResult", "InterviewContent", "InterviewResultRemark"]);
+ order.Status = Status;
+ order.IsPass = isPass;
+ order.InterviewResult = InterviewResult;
+ order.InterviewContent = evaluateContent;
+ order.InterviewResultRemark = evaluateContent;
+ await _ghrh_InterviewOrderServices.Update(order, ["Status", "IsPass", "InterviewResult", "InterviewContent", "InterviewResultRemark"]);
- var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id && x.StaffId == GetStaffId());
- record.InterviewResult = InterviewResult;
- record.InterviewResultRemark = evaluateContent;
- record.IsPass = isPass;
- record.AssessTime = DateTime.Now;
- record.Status = Status;
- await _ghrh_InterviewRecordServices.Update(record, ["AssessTime", "Status", "IsPass", "InterviewResult", "InterviewResultRemark"]);
+ var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id && x.StaffId == GetStaffId());
+ record.InterviewResult = InterviewResult;
+ record.InterviewResultRemark = evaluateContent;
+ record.IsPass = isPass;
+ record.AssessTime = DateTime.Now;
+ record.Status = Status;
+ await _ghrh_InterviewRecordServices.Update(record, ["AssessTime", "Status", "IsPass", "InterviewResult", "InterviewResultRemark"]);
- await UpdateResumeStatus(entity, Status);
+ await UpdateResumeStatus(entity, Status);
+
+ await LogRecord(order.Id, $"提交了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "通过" : "不通过")},内容:{evaluateContent}!");
+ await LogRecord(order.Id, $"提交了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "通过" : "不通过")},内容:{evaluateContent}!");
+ }
+ else
+ await LogRecord(order.Id, $"提暂存了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "通过" : "不通过")},内容:{evaluateContent}!");
- await LogRecord(order.Id, $"填写了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "通过" : "不通过")},内容:{evaluateContent}!");
return ServiceResult.OprateSuccess();
}
diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_TemplateServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_TemplateServices.cs
index 0d1cfbf8..bc38a220 100644
--- a/Tiobon.Core.Services/Ghrh/Ghrh_TemplateServices.cs
+++ b/Tiobon.Core.Services/Ghrh/Ghrh_TemplateServices.cs
@@ -1,4 +1,6 @@
-namespace Tiobon.Core.Services;
+using AgileObjects.AgileMapper.Extensions;
+
+namespace Tiobon.Core.Services;
///
/// 招聘模板 (服务)
@@ -45,17 +47,55 @@ public class Ghrh_TemplateServices : BaseServices>> QueryOfferTags()
{
+ int? extColumCount = 5;
+ var config = await Db.Queryable().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Offer_Ext_Column_Count").FirstAsync();
+ if (config != null)
+ {
+ try
+ {
+ extColumCount = config?.ConfigValue.ObjToInt();
+ }
+ catch (Exception)
+ {
+
+ }
+ }
+ var extColumnFields = new List();
+ var extColumnFields1 = new List();
+
+ for (int i = 1; i <= extColumCount; i++)
+ {
+ extColumnFields.Add(new ModelTagView2Item()
+ {
+ Name = "扩展栏位" + i,
+ Code = "扩展栏位" + i,
+ });
+ extColumnFields1.Add(new ModelTagView2Item()
+ {
+ Name = "ExtField" + i,
+ Code = "ExtField" + i
+ });
+ }
+
var list = new List()
{
- new CustomFieldView { GroupName = "中文", Fields = StringHelper.GetFieldDesc().Select(o => new ModelTagView2Item { Name=o.Key,Code=o.Key}).ToList() },
- new CustomFieldView { GroupName = "英文", Fields = StringHelper.GetFieldDesc().Select(o => new ModelTagView2Item { Name=o.Value+"_EN",Code=o.Value+"_EN"}).ToList() },
+ new CustomFieldView {
+ GroupName = "中文",
+ Fields = StringHelper.GetFieldDesc().Select(o => new ModelTagView2Item { Name=o.Key,Code=o.Key}).ToList(),
+ ExtFields = extColumnFields
+ },
+ new CustomFieldView {
+ GroupName = "英文",
+ Fields = StringHelper.GetFieldDesc().Select(o => new ModelTagView2Item { Name=o.Value+"_EN",Code=o.Value+"_EN"}).ToList(),
+ ExtFields = extColumnFields1
+ },
};
return await Task.FromResult(ServiceResult>.OprateSuccess("查询成功!", list));
}
#endregion
#region 预览Offer简历
- public async Task> Preview(long resumeId)
+ public async Task> Preview(long resumeId, Dictionary extFields)
{
var resume = await Db.Queryable().Where(x => x.Id == resumeId).SingleAsync();
var result = string.Empty;
@@ -121,7 +161,55 @@ public class Ghrh_TemplateServices : BaseServices().Where(x => x.LegalCompanyID == offerApplyOrder.CompanyId).SingleAsync();
+ //var sql = $"Select * from Ghra_LegalCompany where LegalCompanyID='{offerApplyOrder.CompanyId}'";
+ result = result.Replace("[CompanyName_EN]", company?.LegalCompanyEname);
+ result = result.Replace("[公司类别]", company?.LegalCompanyName);
+ }
+ else
+ {
+ result = result.Replace("[CompanyName_EN]", null);
+ result = result.Replace("[公司类别]", null);
+ }
+ #endregion
+ }
+
+ int? extColumCount = 5;
+ var config = await Db.Queryable().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Offer_Ext_Column_Count").FirstAsync();
+ if (config != null)
+ {
+ try
+ {
+ extColumCount = config?.ConfigValue.ObjToInt();
+ }
+ catch (Exception)
+ {
+
+ }
}
+
+ extFields.ForEach(x =>
+ {
+ result = result.Replace("[" + x.Key + "]", x.Value);
+ });
+
+
+ for (int i = 1; i <= extColumCount; i++)
+ {
+ result = result.Replace("[ExtField" + i + "]", null);
+ result = result.Replace("[扩展栏位" + i + "]", null);
+ }
+
+ StringHelper.GetFieldDesc().Select(o => new ModelTagView2Item { Name = o.Key, Code = o.Key }).ToList()
+ .ForEach(x =>
+ {
+ result = result.Replace("[" + x.Code + "]", null);
+ result = result.Replace("[" + x.Code + "_EN]", null);
+ });
}
return await Task.FromResult(ServiceResult.OprateSuccess("查询成功!", result));
}
diff --git a/Tiobon.Core/Tiobon.Core.Model.xml b/Tiobon.Core/Tiobon.Core.Model.xml
index 31fc5eee..aed56ef7 100644
--- a/Tiobon.Core/Tiobon.Core.Model.xml
+++ b/Tiobon.Core/Tiobon.Core.Model.xml
@@ -244,6 +244,166 @@
Reverse9
+
+
+ Ghra_LegalCompany (Dto.Base)
+
+
+
+
+ LegalCompanyID
+
+
+
+
+ LegalCompanyNo
+
+
+
+
+ LegalCompanyName
+
+
+
+
+ LegalCompanyEname
+
+
+
+
+ ShortName
+
+
+
+
+ MKey
+
+
+
+
+ TaxFirstType
+
+
+
+
+ LegalCompanyTypeID
+
+
+
+
+ LegalPerson
+
+
+
+
+ CompanyTel
+
+
+
+
+ RegisteredAddress
+
+
+
+
+ PostalCode
+
+
+
+
+ RelationAddress
+
+
+
+
+ RelationAddressEname
+
+
+
+
+ Email
+
+
+
+
+ WebSite
+
+
+
+
+ Fax
+
+
+
+
+ CertificateNo
+
+
+
+
+ RemarkSz
+
+
+
+
+ SortNo
+
+
+
+
+ IsDefault
+
+
+
+
+ Reverse1
+
+
+
+
+ Reverse2
+
+
+
+
+ Reverse3
+
+
+
+
+ Reverse4
+
+
+
+
+ Reverse5
+
+
+
+
+ Reverse6
+
+
+
+
+ Reverse7
+
+
+
+
+ Reverse8
+
+
+
+
+ Reverse9
+
+
+
+
+ DataBelongID
+
+
Ghra_Staff (Dto.Base)
@@ -11367,6 +11527,11 @@
Ghra_Job (Dto.EditInput)
+
+
+ Ghra_LegalCompany (Dto.EditInput)
+
+
Ghra_Staff (Dto.EditInput)
@@ -11782,6 +11947,11 @@
Ghra_Job (Dto.InsertInput)
+
+
+ Ghra_LegalCompany (Dto.InsertInput)
+
+
Ghra_Staff (Dto.InsertInput)
@@ -12603,6 +12773,166 @@
Reverse9
+
+
+ Ghra_LegalCompany (Model)
+
+
+
+
+ LegalCompanyID
+
+
+
+
+ LegalCompanyNo
+
+
+
+
+ LegalCompanyName
+
+
+
+
+ LegalCompanyEname
+
+
+
+
+ ShortName
+
+
+
+
+ MKey
+
+
+
+
+ TaxFirstType
+
+
+
+
+ LegalCompanyTypeID
+
+
+
+
+ LegalPerson
+
+
+
+
+ CompanyTel
+
+
+
+
+ RegisteredAddress
+
+
+
+
+ PostalCode
+
+
+
+
+ RelationAddress
+
+
+
+
+ RelationAddressEname
+
+
+
+
+ Email
+
+
+
+
+ WebSite
+
+
+
+
+ Fax
+
+
+
+
+ CertificateNo
+
+
+
+
+ RemarkSz
+
+
+
+
+ SortNo
+
+
+
+
+ IsDefault
+
+
+
+
+ Reverse1
+
+
+
+
+ Reverse2
+
+
+
+
+ Reverse3
+
+
+
+
+ Reverse4
+
+
+
+
+ Reverse5
+
+
+
+
+ Reverse6
+
+
+
+
+ Reverse7
+
+
+
+
+ Reverse8
+
+
+
+
+ Reverse9
+
+
+
+
+ DataBelongID
+
+
Ghra_Staff (Model)
@@ -24547,6 +24877,21 @@
修改信息
+
+
+ Ghra_LegalCompany(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
Ghra_Staff(Dto.View)
diff --git a/Tiobon.Core/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml
index afcc6cd3..a9b64c5c 100644
--- a/Tiobon.Core/Tiobon.Core.xml
+++ b/Tiobon.Core/Tiobon.Core.xml
@@ -677,6 +677,11 @@
Ghra_Job(Controller)
+
+
+ Ghra_LegalCompany(Controller)
+
+
Ghra_Staff(Controller)
@@ -1493,12 +1498,12 @@
简历Id,列表
-
+
发offer
简历Id
- Offer内容
+ 扩展栏位
@@ -1705,7 +1710,7 @@
-
+
Offer支持的字段