From f5d5095385e30da65699cf396a8ec05d7fa08391 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Mon, 9 Dec 2024 13:18:17 +0800 Subject: [PATCH] =?UTF-8?q?Offer=E6=A8=A1=E6=9D=BF=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=9A=E5=85=AC=E5=8F=B8=E7=B1=BB=E5=88=AB?= =?UTF-8?q?=EF=BC=88=E4=B8=AD=E8=8B=B1=E6=96=87=EF=BC=89=EF=BC=8C=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ghra/Ghra_LegalCompanyController.cs | 14 + .../Controllers/Ghrh/Ghrh_ResumeController.cs | 6 +- .../Ghrh/Ghrh_TemplateController.cs | 2 +- Tiobon.Core.Api/Tiobon.Core.Model.xml | 345 ++++++++++++++++++ Tiobon.Core.Api/Tiobon.Core.xml | 11 +- .../Ghra/IGhra_LegalCompanyServices.cs | 11 + .../Ghrh/IGhrh_ResumeServices.cs | 2 +- .../Ghrh/IGhrh_TemplateServices.cs | 2 +- .../Base/Ghra/Ghra_LegalCompany.Dto.Base.cs | 206 +++++++++++ .../Ghra/Ghra_LegalCompany.Dto.EditInput.cs | 26 ++ .../Ghra/Ghra_LegalCompany.Dto.InsertInput.cs | 26 ++ .../Models/Ghra/Ghra_LegalCompany.cs | 208 +++++++++++ .../View/Ghra/Ghra_LegalCompany.Dto.View.cs | 34 ++ .../ViewModels/Extend/CustomFieldView.cs | 5 + .../Ghra/Ghra_LegalCompanyServices.cs | 15 + .../Ghrh/Ghrh_ResumeServices.cs | 52 ++- .../Ghrh/Ghrh_TemplateServices.cs | 96 ++++- Tiobon.Core/Tiobon.Core.Model.xml | 345 ++++++++++++++++++ Tiobon.Core/Tiobon.Core.xml | 11 +- 19 files changed, 1381 insertions(+), 36 deletions(-) create mode 100644 Tiobon.Core.Api/Controllers/Ghra/Ghra_LegalCompanyController.cs create mode 100644 Tiobon.Core.IServices/Ghra/IGhra_LegalCompanyServices.cs create mode 100644 Tiobon.Core.Model/Base/Ghra/Ghra_LegalCompany.Dto.Base.cs create mode 100644 Tiobon.Core.Model/Edit/Ghra/Ghra_LegalCompany.Dto.EditInput.cs create mode 100644 Tiobon.Core.Model/Insert/Ghra/Ghra_LegalCompany.Dto.InsertInput.cs create mode 100644 Tiobon.Core.Model/Models/Ghra/Ghra_LegalCompany.cs create mode 100644 Tiobon.Core.Model/View/Ghra/Ghra_LegalCompany.Dto.View.cs create mode 100644 Tiobon.Core.Services/Ghra/Ghra_LegalCompanyServices.cs 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支持的字段