diff --git a/Tiobon.Core.Api/Controllers/Ghre/Ghre_CertificateDesignController.cs b/Tiobon.Core.Api/Controllers/Ghre/Ghre_CertificateDesignController.cs
new file mode 100644
index 00000000..2d7c43d6
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghre/Ghre_CertificateDesignController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// Ghre_CertificateDesign(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghre)]
+public class Ghre_CertificateDesignController : BaseController
+{
+ public Ghre_CertificateDesignController(IGhre_CertificateDesignServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Controllers/Ghre/Ghre_CertificateDesignItemController.cs b/Tiobon.Core.Api/Controllers/Ghre/Ghre_CertificateDesignItemController.cs
new file mode 100644
index 00000000..3fe850ac
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/Ghre/Ghre_CertificateDesignItemController.cs
@@ -0,0 +1,14 @@
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// Ghre_CertificateDesignItem(Controller)
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghre)]
+public class Ghre_CertificateDesignItemController : BaseController
+{
+ public Ghre_CertificateDesignItemController(IGhre_CertificateDesignItemServices service) : base(service)
+ {
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Tiobon.Core.Model.xml b/Tiobon.Core.Api/Tiobon.Core.Model.xml
index dee3b3f2..0233430f 100644
--- a/Tiobon.Core.Api/Tiobon.Core.Model.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml
@@ -2530,6 +2530,316 @@
预留字段12
+
+
+ Ghre_CertificateDesign (Dto.Base)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ bgColor
+
+
+
+
+ bgImgSize
+
+
+
+
+ bgImgUrl
+
+
+
+
+ height
+
+
+
+
+ opacity
+
+
+
+
+ thumbnailImage
+
+
+
+
+ width
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ Ghre_CertificateDesignItem (Dto.Base)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ 培训证书设计ID
+
+
+
+
+ certNoFixed
+
+
+
+
+ certNoRule
+
+
+
+
+ color
+
+
+
+
+ customDate
+
+
+
+
+ dateFormat
+
+
+
+
+ dateRule
+
+
+
+
+ elBgColor
+
+
+
+
+ field
+
+
+
+
+ fontSize
+
+
+
+
+ fontWeight
+
+
+
+
+ height
+
+
+
+
+ id1
+
+
+
+
+ imageSize
+
+
+
+
+ imageUrl
+
+
+
+
+ left
+
+
+
+
+ lineHeight
+
+
+
+
+ padding
+
+
+
+
+ text
+
+
+
+
+ top
+
+
+
+
+ type
+
+
+
+
+ width
+
+
+
+
+ zIndex
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
培训证书规则 (Dto.Base)
@@ -17642,6 +17952,16 @@
培训记录 (Dto.EditInput)
+
+
+ Ghre_CertificateDesign (Dto.EditInput)
+
+
+
+
+ Ghre_CertificateDesignItem (Dto.EditInput)
+
+
培训证书规则 (Dto.EditInput)
@@ -18277,6 +18597,16 @@
培训记录 (Dto.InsertInput)
+
+
+ Ghre_CertificateDesign (Dto.InsertInput)
+
+
+
+
+ Ghre_CertificateDesignItem (Dto.InsertInput)
+
+
培训证书规则 (Dto.InsertInput)
@@ -21527,6 +21857,316 @@
预留字段12
+
+
+ Ghre_CertificateDesign (Model)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ bgColor
+
+
+
+
+ bgImgSize
+
+
+
+
+ bgImgUrl
+
+
+
+
+ height
+
+
+
+
+ opacity
+
+
+
+
+ thumbnailImage
+
+
+
+
+ width
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ Ghre_CertificateDesignItem (Model)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ 培训证书设计ID
+
+
+
+
+ certNoFixed
+
+
+
+
+ certNoRule
+
+
+
+
+ color
+
+
+
+
+ customDate
+
+
+
+
+ dateFormat
+
+
+
+
+ dateRule
+
+
+
+
+ elBgColor
+
+
+
+
+ field
+
+
+
+
+ fontSize
+
+
+
+
+ fontWeight
+
+
+
+
+ height
+
+
+
+
+ id1
+
+
+
+
+ imageSize
+
+
+
+
+ imageUrl
+
+
+
+
+ left
+
+
+
+
+ lineHeight
+
+
+
+
+ padding
+
+
+
+
+ text
+
+
+
+
+ top
+
+
+
+
+ type
+
+
+
+
+ width
+
+
+
+
+ zIndex
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
培训证书规则 (Model)
@@ -37688,6 +38328,36 @@
证书名称
+
+
+ Ghre_CertificateDesign(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
+
+
+ Ghre_CertificateDesignItem(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
培训证书规则(Dto.View)
@@ -41043,6 +41713,151 @@
Type Description balabala
+
+
+ bgColor
+
+
+
+
+ bgImgSize
+
+
+
+
+ bgImgUrl
+
+
+
+
+ height
+
+
+
+
+ opacity
+
+
+
+
+ thumbnailImage
+
+
+
+
+ width
+
+
+
+
+ certNoFixed
+
+
+
+
+ certNoRule
+
+
+
+
+ color
+
+
+
+
+ customDate
+
+
+
+
+ dateFormat
+
+
+
+
+ dateRule
+
+
+
+
+ elBgColor
+
+
+
+
+ field
+
+
+
+
+ fontSize
+
+
+
+
+ fontWeight
+
+
+
+
+ height
+
+
+
+
+ id1
+
+
+
+
+ imageSize
+
+
+
+
+ imageUrl
+
+
+
+
+ left
+
+
+
+
+ lineHeight
+
+
+
+
+ padding
+
+
+
+
+ text
+
+
+
+
+ top
+
+
+
+
+ type
+
+
+
+
+ width
+
+
+
+
+ zIndex
+
+
封面图
diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml
index 23ba768e..b08cf52d 100644
--- a/Tiobon.Core.Api/Tiobon.Core.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.xml
@@ -749,6 +749,16 @@
培训记录(Controller)
+
+
+ Ghre_CertificateDesign(Controller)
+
+
+
+
+ Ghre_CertificateDesignItem(Controller)
+
+
培训证书规则(Controller)
diff --git a/Tiobon.Core.IServices/Ghre/IGhre_CertificateDesignItemServices.cs b/Tiobon.Core.IServices/Ghre/IGhre_CertificateDesignItemServices.cs
new file mode 100644
index 00000000..afcb6004
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghre/IGhre_CertificateDesignItemServices.cs
@@ -0,0 +1,8 @@
+namespace Tiobon.Core.IServices;
+
+///
+/// Ghre_CertificateDesignItem(自定义服务接口)
+///
+public interface IGhre_CertificateDesignItemServices :IBaseServices
+{
+ }
\ No newline at end of file
diff --git a/Tiobon.Core.IServices/Ghre/IGhre_CertificateDesignServices.cs b/Tiobon.Core.IServices/Ghre/IGhre_CertificateDesignServices.cs
new file mode 100644
index 00000000..02983bee
--- /dev/null
+++ b/Tiobon.Core.IServices/Ghre/IGhre_CertificateDesignServices.cs
@@ -0,0 +1,8 @@
+namespace Tiobon.Core.IServices;
+
+///
+/// Ghre_CertificateDesign(自定义服务接口)
+///
+public interface IGhre_CertificateDesignServices : IBaseServices
+{
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateDesign.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateDesign.Dto.Base.cs
new file mode 100644
index 00000000..b3a609bb
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateDesign.Dto.Base.cs
@@ -0,0 +1,153 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesign.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesign
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:10 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models
+{
+
+ ///
+ /// Ghre_CertificateDesign (Dto.Base)
+ ///
+ public class Ghre_CertificateDesignBase
+ {
+
+ ///
+ /// 培训证书规则ID
+ ///
+ public long? CertificateRuleId { get; set; }
+
+ ///
+ /// bgColor
+ ///
+ [Display(Name = "bgColor"), Description("bgColor"), MaxLength(32, ErrorMessage = "bgColor 不能超过 32 个字符")]
+ public string bgColor { get; set; }
+
+ ///
+ /// bgImgSize
+ ///
+ [Display(Name = "bgImgSize"), Description("bgImgSize"), MaxLength(32, ErrorMessage = "bgImgSize 不能超过 32 个字符")]
+ public string bgImgSize { get; set; }
+
+ ///
+ /// bgImgUrl
+ ///
+ [Display(Name = "bgImgUrl"), Description("bgImgUrl"), MaxLength(200, ErrorMessage = "bgImgUrl 不能超过 200 个字符")]
+ public string bgImgUrl { get; set; }
+
+ ///
+ /// height
+ ///
+ public int? height { get; set; }
+
+ ///
+ /// opacity
+ ///
+ [Display(Name = "opacity"), Description("opacity"), Column(TypeName = "decimal(20,2)")]
+ public decimal? opacity { get; set; }
+
+ ///
+ /// thumbnailImage
+ ///
+ [Display(Name = "thumbnailImage"), Description("thumbnailImage"), MaxLength(200, ErrorMessage = "thumbnailImage 不能超过 200 个字符")]
+ public string thumbnailImage { get; set; }
+
+ ///
+ /// width
+ ///
+ public int? width { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+ }
+}
diff --git a/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateDesignItem.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateDesignItem.Dto.Base.cs
new file mode 100644
index 00000000..ef2dc38d
--- /dev/null
+++ b/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateDesignItem.Dto.Base.cs
@@ -0,0 +1,238 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesignItem.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesignItem
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:03 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesignItem (Dto.Base)
+///
+public class Ghre_CertificateDesignItemBase
+{
+
+ ///
+ /// 培训证书规则ID
+ ///
+ public long? CertificateDesignId { get; set; }
+
+ ///
+ /// 培训证书设计ID
+ ///
+ public long? CertificateRuleId { get; set; }
+
+ ///
+ /// certNoFixed
+ ///
+ [Display(Name = "certNoFixed"), Description("certNoFixed"), MaxLength(32, ErrorMessage = "certNoFixed 不能超过 32 个字符")]
+ public string certNoFixed { get; set; }
+
+ ///
+ /// certNoRule
+ ///
+ [Display(Name = "certNoRule"), Description("certNoRule"), MaxLength(32, ErrorMessage = "certNoRule 不能超过 32 个字符")]
+ public string certNoRule { get; set; }
+
+ ///
+ /// color
+ ///
+ [Display(Name = "color"), Description("color"), MaxLength(32, ErrorMessage = "color 不能超过 32 个字符")]
+ public string color { get; set; }
+
+ ///
+ /// customDate
+ ///
+ public DateTime? customDate { get; set; }
+
+ ///
+ /// dateFormat
+ ///
+ [Display(Name = "dateFormat"), Description("dateFormat"), MaxLength(32, ErrorMessage = "dateFormat 不能超过 32 个字符")]
+ public string dateFormat { get; set; }
+
+ ///
+ /// dateRule
+ ///
+ [Display(Name = "dateRule"), Description("dateRule"), MaxLength(32, ErrorMessage = "dateRule 不能超过 32 个字符")]
+ public string dateRule { get; set; }
+
+ ///
+ /// elBgColor
+ ///
+ [Display(Name = "elBgColor"), Description("elBgColor"), MaxLength(32, ErrorMessage = "elBgColor 不能超过 32 个字符")]
+ public string elBgColor { get; set; }
+
+ ///
+ /// field
+ ///
+ [Display(Name = "field"), Description("field"), MaxLength(32, ErrorMessage = "field 不能超过 32 个字符")]
+ public string field { get; set; }
+
+ ///
+ /// fontSize
+ ///
+ public int? fontSize { get; set; }
+
+ ///
+ /// fontWeight
+ ///
+ public int? fontWeight { get; set; }
+
+ ///
+ /// height
+ ///
+ public int? height { get; set; }
+
+ ///
+ /// id1
+ ///
+ [Display(Name = "id1"), Description("id1"), MaxLength(64, ErrorMessage = "id1 不能超过 64 个字符")]
+ public string id1 { get; set; }
+
+ ///
+ /// imageSize
+ ///
+ [Display(Name = "imageSize"), Description("imageSize"), MaxLength(32, ErrorMessage = "imageSize 不能超过 32 个字符")]
+ public string imageSize { get; set; }
+
+ ///
+ /// imageUrl
+ ///
+ [Display(Name = "imageUrl"), Description("imageUrl"), MaxLength(32, ErrorMessage = "imageUrl 不能超过 32 个字符")]
+ public string imageUrl { get; set; }
+
+ ///
+ /// left
+ ///
+ public decimal? left { get; set; }
+
+ ///
+ /// lineHeight
+ ///
+ public int? lineHeight { get; set; }
+
+ ///
+ /// padding
+ ///
+ public int? padding { get; set; }
+
+ ///
+ /// text
+ ///
+ [Display(Name = "text"), Description("text"), MaxLength(32, ErrorMessage = "text 不能超过 32 个字符")]
+ public string text { get; set; }
+
+ ///
+ /// top
+ ///
+ public decimal? top { get; set; }
+
+ ///
+ /// type
+ ///
+ [Display(Name = "type"), Description("type"), MaxLength(32, ErrorMessage = "type 不能超过 32 个字符")]
+ public string type { get; set; }
+
+ ///
+ /// width
+ ///
+ public int? width { get; set; }
+
+ ///
+ /// zIndex
+ ///
+ public int? zIndex { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+}
diff --git a/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateRule.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateRule.Dto.Base.cs
index 09255093..c10cd1c4 100644
--- a/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateRule.Dto.Base.cs
+++ b/Tiobon.Core.Model/Base/Ghre/Ghre_CertificateRule.Dto.Base.cs
@@ -14,6 +14,8 @@
*│ 作者:SimonHsiao │
*└──────────────────────────────────┘
*/
+using Tiobon.Core.Model.ViewModels.Extend;
+
namespace Tiobon.Core.Model.Models;
@@ -191,4 +193,7 @@ public class Ghre_CertificateRuleBase
/// 课程ID
///
public List CourseIds { get; set; }
+
+ public CertificateDesignerData CertificateDesignerData { get; set; } = new CertificateDesignerData();
+
}
diff --git a/Tiobon.Core.Model/Edit/Ghre/Ghre_CertificateDesign.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghre/Ghre_CertificateDesign.Dto.EditInput.cs
new file mode 100644
index 00000000..17e197ba
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghre/Ghre_CertificateDesign.Dto.EditInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesign.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesign
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:10 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesign (Dto.EditInput)
+///
+public class EditGhre_CertificateDesignInput : Ghre_CertificateDesignBase
+{
+}
diff --git a/Tiobon.Core.Model/Edit/Ghre/Ghre_CertificateDesignItem.Dto.EditInput.cs b/Tiobon.Core.Model/Edit/Ghre/Ghre_CertificateDesignItem.Dto.EditInput.cs
new file mode 100644
index 00000000..f497c412
--- /dev/null
+++ b/Tiobon.Core.Model/Edit/Ghre/Ghre_CertificateDesignItem.Dto.EditInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesignItem.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesignItem
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:03 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesignItem (Dto.EditInput)
+///
+public class EditGhre_CertificateDesignItemInput : Ghre_CertificateDesignItemBase
+{
+}
diff --git a/Tiobon.Core.Model/Insert/Ghre/Ghre_CertificateDesign.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghre/Ghre_CertificateDesign.Dto.InsertInput.cs
new file mode 100644
index 00000000..a9a6fa68
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghre/Ghre_CertificateDesign.Dto.InsertInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesign.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesign
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:10 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesign (Dto.InsertInput)
+///
+public class InsertGhre_CertificateDesignInput : Ghre_CertificateDesignBase
+{
+}
diff --git a/Tiobon.Core.Model/Insert/Ghre/Ghre_CertificateDesignItem.Dto.InsertInput.cs b/Tiobon.Core.Model/Insert/Ghre/Ghre_CertificateDesignItem.Dto.InsertInput.cs
new file mode 100644
index 00000000..c2bd8f21
--- /dev/null
+++ b/Tiobon.Core.Model/Insert/Ghre/Ghre_CertificateDesignItem.Dto.InsertInput.cs
@@ -0,0 +1,26 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesignItem.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesignItem
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:03 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesignItem (Dto.InsertInput)
+///
+public class InsertGhre_CertificateDesignItemInput : Ghre_CertificateDesignItemBase
+{
+}
diff --git a/Tiobon.Core.Model/Models/Ghre/Ghre_CertificateDesign.cs b/Tiobon.Core.Model/Models/Ghre/Ghre_CertificateDesign.cs
new file mode 100644
index 00000000..a43f5548
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghre/Ghre_CertificateDesign.cs
@@ -0,0 +1,152 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesign.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesign
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:10 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesign (Model)
+///
+[SugarTable("Ghre_CertificateDesign", "Ghre_CertificateDesign"), Entity(TableCnName = "Ghre_CertificateDesign", TableName = "Ghre_CertificateDesign")]
+public class Ghre_CertificateDesign : BasePoco
+{
+
+ ///
+ /// 培训证书规则ID
+ ///
+ public long? CertificateRuleId { get; set; }
+
+ ///
+ /// bgColor
+ ///
+ [Display(Name = "bgColor"), Description("bgColor"), MaxLength(32, ErrorMessage = "bgColor 不能超过 32 个字符")]
+ public string bgColor { get; set; }
+
+ ///
+ /// bgImgSize
+ ///
+ [Display(Name = "bgImgSize"), Description("bgImgSize"), MaxLength(32, ErrorMessage = "bgImgSize 不能超过 32 个字符")]
+ public string bgImgSize { get; set; }
+
+ ///
+ /// bgImgUrl
+ ///
+ [Display(Name = "bgImgUrl"), Description("bgImgUrl"), MaxLength(200, ErrorMessage = "bgImgUrl 不能超过 200 个字符")]
+ public string bgImgUrl { get; set; }
+
+ ///
+ /// height
+ ///
+ public int? height { get; set; }
+
+ ///
+ /// opacity
+ ///
+ [Display(Name = "opacity"), Description("opacity"), Column(TypeName = "decimal(20,2)")]
+ public decimal? opacity { get; set; }
+
+ ///
+ /// thumbnailImage
+ ///
+ [Display(Name = "thumbnailImage"), Description("thumbnailImage"), MaxLength(200, ErrorMessage = "thumbnailImage 不能超过 200 个字符")]
+ public string thumbnailImage { get; set; }
+
+ ///
+ /// width
+ ///
+ public int? width { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+}
diff --git a/Tiobon.Core.Model/Models/Ghre/Ghre_CertificateDesignItem.cs b/Tiobon.Core.Model/Models/Ghre/Ghre_CertificateDesignItem.cs
new file mode 100644
index 00000000..7175feee
--- /dev/null
+++ b/Tiobon.Core.Model/Models/Ghre/Ghre_CertificateDesignItem.cs
@@ -0,0 +1,239 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesignItem.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesignItem
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:03 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+namespace Tiobon.Core.Model.Models;
+
+
+///
+/// Ghre_CertificateDesignItem (Model)
+///
+[SugarTable("Ghre_CertificateDesignItem", "Ghre_CertificateDesignItem"), Entity(TableCnName = "Ghre_CertificateDesignItem", TableName = "Ghre_CertificateDesignItem")]
+public class Ghre_CertificateDesignItem : BasePoco
+{
+
+ ///
+ /// 培训证书规则ID
+ ///
+ public long? CertificateDesignId { get; set; }
+
+ ///
+ /// 培训证书设计ID
+ ///
+ public long? CertificateRuleId { get; set; }
+
+ ///
+ /// certNoFixed
+ ///
+ [Display(Name = "certNoFixed"), Description("certNoFixed"), MaxLength(32, ErrorMessage = "certNoFixed 不能超过 32 个字符")]
+ public string certNoFixed { get; set; }
+
+ ///
+ /// certNoRule
+ ///
+ [Display(Name = "certNoRule"), Description("certNoRule"), MaxLength(32, ErrorMessage = "certNoRule 不能超过 32 个字符")]
+ public string certNoRule { get; set; }
+
+ ///
+ /// color
+ ///
+ [Display(Name = "color"), Description("color"), MaxLength(32, ErrorMessage = "color 不能超过 32 个字符")]
+ public string color { get; set; }
+
+ ///
+ /// customDate
+ ///
+ public DateTime? customDate { get; set; }
+
+ ///
+ /// dateFormat
+ ///
+ [Display(Name = "dateFormat"), Description("dateFormat"), MaxLength(32, ErrorMessage = "dateFormat 不能超过 32 个字符")]
+ public string dateFormat { get; set; }
+
+ ///
+ /// dateRule
+ ///
+ [Display(Name = "dateRule"), Description("dateRule"), MaxLength(32, ErrorMessage = "dateRule 不能超过 32 个字符")]
+ public string dateRule { get; set; }
+
+ ///
+ /// elBgColor
+ ///
+ [Display(Name = "elBgColor"), Description("elBgColor"), MaxLength(32, ErrorMessage = "elBgColor 不能超过 32 个字符")]
+ public string elBgColor { get; set; }
+
+ ///
+ /// field
+ ///
+ [Display(Name = "field"), Description("field"), MaxLength(32, ErrorMessage = "field 不能超过 32 个字符")]
+ public string field { get; set; }
+
+ ///
+ /// fontSize
+ ///
+ public int? fontSize { get; set; }
+
+ ///
+ /// fontWeight
+ ///
+ public int? fontWeight { get; set; }
+
+ ///
+ /// height
+ ///
+ public int? height { get; set; }
+
+ ///
+ /// id1
+ ///
+ [Display(Name = "id1"), Description("id1"), MaxLength(64, ErrorMessage = "id1 不能超过 64 个字符")]
+ public string id1 { get; set; }
+
+ ///
+ /// imageSize
+ ///
+ [Display(Name = "imageSize"), Description("imageSize"), MaxLength(32, ErrorMessage = "imageSize 不能超过 32 个字符")]
+ public string imageSize { get; set; }
+
+ ///
+ /// imageUrl
+ ///
+ [Display(Name = "imageUrl"), Description("imageUrl"), MaxLength(32, ErrorMessage = "imageUrl 不能超过 32 个字符")]
+ public string imageUrl { get; set; }
+
+ ///
+ /// left
+ ///
+ public decimal? left { get; set; }
+
+ ///
+ /// lineHeight
+ ///
+ public int? lineHeight { get; set; }
+
+ ///
+ /// padding
+ ///
+ public int? padding { get; set; }
+
+ ///
+ /// text
+ ///
+ [Display(Name = "text"), Description("text"), MaxLength(32, ErrorMessage = "text 不能超过 32 个字符")]
+ public string text { get; set; }
+
+ ///
+ /// top
+ ///
+ public decimal? top { get; set; }
+
+ ///
+ /// type
+ ///
+ [Display(Name = "type"), Description("type"), MaxLength(32, ErrorMessage = "type 不能超过 32 个字符")]
+ public string type { get; set; }
+
+ ///
+ /// width
+ ///
+ public int? width { get; set; }
+
+ ///
+ /// zIndex
+ ///
+ public int? zIndex { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
+ public string RemarkSz { get; set; }
+
+ ///
+ /// 默认标志
+ ///
+ public int? IsDefault { get; set; }
+
+ ///
+ /// 预留字段1
+ ///
+ [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
+ public string Reverse1 { get; set; }
+
+ ///
+ /// 预留字段2
+ ///
+ [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
+ public string Reverse2 { get; set; }
+
+ ///
+ /// 预留字段3
+ ///
+ [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
+ public string Reverse3 { get; set; }
+
+ ///
+ /// 预留字段4
+ ///
+ [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
+ public string Reverse4 { get; set; }
+
+ ///
+ /// 预留字段5
+ ///
+ [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
+ public string Reverse5 { get; set; }
+
+ ///
+ /// 预留字段6
+ ///
+ [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
+ public string Reverse6 { get; set; }
+
+ ///
+ /// 预留字段7
+ ///
+ [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
+ public string Reverse7 { get; set; }
+
+ ///
+ /// 预留字段8
+ ///
+ [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
+ public string Reverse8 { get; set; }
+
+ ///
+ /// 预留字段9
+ ///
+ [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
+ public string Reverse9 { get; set; }
+
+ ///
+ /// 预留字段10
+ ///
+ [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
+ public string Reverse10 { get; set; }
+
+ ///
+ /// 预留字段11
+ ///
+ public int? ReverseI1 { get; set; }
+
+ ///
+ /// 预留字段12
+ ///
+ public int? ReverseI2 { get; set; }
+}
diff --git a/Tiobon.Core.Model/View/Ghre/Ghre_CertificateDesign.Dto.View.cs b/Tiobon.Core.Model/View/Ghre/Ghre_CertificateDesign.Dto.View.cs
new file mode 100644
index 00000000..ed463bdd
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghre/Ghre_CertificateDesign.Dto.View.cs
@@ -0,0 +1,34 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesign.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesign
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:10 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// Ghre_CertificateDesign(Dto.View1)
+///
+public class Ghre_CertificateDesignDto : Ghre_CertificateDesign
+{
+ ///
+ /// 创建信息
+ ///
+ public string CreateDataInfo { get; set; }
+
+ ///
+ /// 修改信息
+ ///
+ public string UpdateDataInfo { get; set; }
+}
diff --git a/Tiobon.Core.Model/View/Ghre/Ghre_CertificateDesignItem.Dto.View.cs b/Tiobon.Core.Model/View/Ghre/Ghre_CertificateDesignItem.Dto.View.cs
new file mode 100644
index 00000000..29e9b384
--- /dev/null
+++ b/Tiobon.Core.Model/View/Ghre/Ghre_CertificateDesignItem.Dto.View.cs
@@ -0,0 +1,34 @@
+/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
+* Ghre_CertificateDesignItem.cs
+*
+*功 能: N / A
+* 类 名: Ghre_CertificateDesignItem
+*
+* Ver 变更日期 负责人 变更内容
+* ───────────────────────────────────
+*V0.01 2025/5/12 15:44:03 SimonHsiao 初版
+*
+* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
+*┌──────────────────────────────────┐
+*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
+*│ 作者:SimonHsiao │
+*└──────────────────────────────────┘
+*/
+
+namespace Tiobon.Core.Model.Models;
+
+///
+/// Ghre_CertificateDesignItem(Dto.View1)
+///
+public class Ghre_CertificateDesignItemDto : Ghre_CertificateDesignItem
+{
+ ///
+ /// 创建信息
+ ///
+ public string CreateDataInfo { get; set; }
+
+ ///
+ /// 修改信息
+ ///
+ public string UpdateDataInfo { get; set; }
+}
diff --git a/Tiobon.Core.Model/View/Ghre/Ghre_CertificateRule.Dto.View.cs b/Tiobon.Core.Model/View/Ghre/Ghre_CertificateRule.Dto.View.cs
index c29f0249..a99612ac 100644
--- a/Tiobon.Core.Model/View/Ghre/Ghre_CertificateRule.Dto.View.cs
+++ b/Tiobon.Core.Model/View/Ghre/Ghre_CertificateRule.Dto.View.cs
@@ -15,6 +15,8 @@
*└──────────────────────────────────┘
*/
+using Tiobon.Core.Model.ViewModels.Extend;
+
namespace Tiobon.Core.Model.Models;
///
@@ -58,4 +60,7 @@ public class Ghre_CertificateRuleDto : Ghre_CertificateRule
/// 课程ID
///
public List CourseIds { get; set; } = new List();
+
+ public CertificateDesignerData CertificateDesignerData { get; set; } = new CertificateDesignerData();
+
}
diff --git a/Tiobon.Core.Model/ViewModels/Extend/CertificateDesignerData.cs b/Tiobon.Core.Model/ViewModels/Extend/CertificateDesignerData.cs
new file mode 100644
index 00000000..a28499f4
--- /dev/null
+++ b/Tiobon.Core.Model/ViewModels/Extend/CertificateDesignerData.cs
@@ -0,0 +1,174 @@
+using Tiobon.Core.Model.Models;
+
+namespace Tiobon.Core.Model.ViewModels.Extend;
+
+public class CertificateDesignerData
+
+{
+ ///
+ /// bgColor
+ ///
+ [Display(Name = "bgColor"), Description("bgColor"), MaxLength(32, ErrorMessage = "bgColor 不能超过 32 个字符")]
+ public string bgColor { get; set; }
+
+ ///
+ /// bgImgSize
+ ///
+ [Display(Name = "bgImgSize"), Description("bgImgSize"), MaxLength(32, ErrorMessage = "bgImgSize 不能超过 32 个字符")]
+ public string bgImgSize { get; set; }
+
+ ///
+ /// bgImgUrl
+ ///
+ [Display(Name = "bgImgUrl"), Description("bgImgUrl"), MaxLength(200, ErrorMessage = "bgImgUrl 不能超过 200 个字符")]
+ public string bgImgUrl { get; set; }
+
+ ///
+ /// height
+ ///
+ public int? height { get; set; }
+
+ ///
+ /// opacity
+ ///
+ [Display(Name = "opacity"), Description("opacity"), Column(TypeName = "decimal(20,2)")]
+ public decimal? opacity { get; set; }
+
+ ///
+ /// thumbnailImage
+ ///
+ [Display(Name = "thumbnailImage"), Description("thumbnailImage"), MaxLength(200, ErrorMessage = "thumbnailImage 不能超过 200 个字符")]
+ public string thumbnailImage { get; set; }
+
+ ///
+ /// width
+ ///
+ public int? width { get; set; }
+ public List containerItems { get; set; } = new List();
+}
+
+public class CertificateDesignerItem
+{
+ public string id { get; set; }
+ ///
+ /// certNoFixed
+ ///
+ [Display(Name = "certNoFixed"), Description("certNoFixed"), MaxLength(32, ErrorMessage = "certNoFixed 不能超过 32 个字符")]
+ public string certNoFixed { get; set; }
+
+ ///
+ /// certNoRule
+ ///
+ [Display(Name = "certNoRule"), Description("certNoRule"), MaxLength(32, ErrorMessage = "certNoRule 不能超过 32 个字符")]
+ public string certNoRule { get; set; }
+
+ ///
+ /// color
+ ///
+ [Display(Name = "color"), Description("color"), MaxLength(32, ErrorMessage = "color 不能超过 32 个字符")]
+ public string color { get; set; }
+
+ ///
+ /// customDate
+ ///
+ public DateTime? customDate { get; set; }
+
+ ///
+ /// dateFormat
+ ///
+ [Display(Name = "dateFormat"), Description("dateFormat"), MaxLength(32, ErrorMessage = "dateFormat 不能超过 32 个字符")]
+ public string dateFormat { get; set; }
+
+ ///
+ /// dateRule
+ ///
+ [Display(Name = "dateRule"), Description("dateRule"), MaxLength(32, ErrorMessage = "dateRule 不能超过 32 个字符")]
+ public string dateRule { get; set; }
+
+ ///
+ /// elBgColor
+ ///
+ [Display(Name = "elBgColor"), Description("elBgColor"), MaxLength(32, ErrorMessage = "elBgColor 不能超过 32 个字符")]
+ public string elBgColor { get; set; }
+
+ ///
+ /// field
+ ///
+ [Display(Name = "field"), Description("field"), MaxLength(32, ErrorMessage = "field 不能超过 32 个字符")]
+ public string field { get; set; }
+
+ ///
+ /// fontSize
+ ///
+ public int? fontSize { get; set; }
+
+ ///
+ /// fontWeight
+ ///
+ public int? fontWeight { get; set; }
+
+ ///
+ /// height
+ ///
+ public int? height { get; set; }
+
+ ///
+ /// id1
+ ///
+ [Display(Name = "id1"), Description("id1"), MaxLength(64, ErrorMessage = "id1 不能超过 64 个字符")]
+ public string id1 { get; set; }
+
+ ///
+ /// imageSize
+ ///
+ [Display(Name = "imageSize"), Description("imageSize"), MaxLength(32, ErrorMessage = "imageSize 不能超过 32 个字符")]
+ public string imageSize { get; set; }
+
+ ///
+ /// imageUrl
+ ///
+ [Display(Name = "imageUrl"), Description("imageUrl"), MaxLength(32, ErrorMessage = "imageUrl 不能超过 32 个字符")]
+ public string imageUrl { get; set; }
+
+ ///
+ /// left
+ ///
+ public decimal? left { get; set; }
+
+ ///
+ /// lineHeight
+ ///
+ public int? lineHeight { get; set; }
+
+ ///
+ /// padding
+ ///
+ public int? padding { get; set; }
+
+ ///
+ /// text
+ ///
+ [Display(Name = "text"), Description("text"), MaxLength(32, ErrorMessage = "text 不能超过 32 个字符")]
+ public string text { get; set; }
+
+ ///
+ /// top
+ ///
+ public decimal? top { get; set; }
+
+ ///
+ /// type
+ ///
+ [Display(Name = "type"), Description("type"), MaxLength(32, ErrorMessage = "type 不能超过 32 个字符")]
+ public string type { get; set; }
+
+ ///
+ /// width
+ ///
+ public int? width { get; set; }
+
+ ///
+ /// zIndex
+ ///
+ public int? zIndex { get; set; }
+}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_CertificateDesignItemServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateDesignItemServices.cs
new file mode 100644
index 00000000..465cb7aa
--- /dev/null
+++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateDesignItemServices.cs
@@ -0,0 +1,15 @@
+namespace Tiobon.Core.Services;
+
+///
+/// Ghre_CertificateDesignItem (服务)
+///
+public class Ghre_CertificateDesignItemServices : BaseServices, IGhre_CertificateDesignItemServices
+{
+ private readonly IBaseRepository _dal;
+ public Ghre_CertificateDesignItemServices(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/Ghre/Ghre_CertificateDesignServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateDesignServices.cs
new file mode 100644
index 00000000..00e3bfed
--- /dev/null
+++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateDesignServices.cs
@@ -0,0 +1,15 @@
+namespace Tiobon.Core.Services;
+
+///
+/// Ghre_CertificateDesign (服务)
+///
+public class Ghre_CertificateDesignServices : BaseServices, IGhre_CertificateDesignServices
+{
+ private readonly IBaseRepository _dal;
+ public Ghre_CertificateDesignServices(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/Ghre/Ghre_CertificateRuleServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs
index 3edd02bf..25048d60 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs
@@ -1,6 +1,7 @@
using static Tiobon.Core.Model.Consts;
using Tiobon.Core.Common.DB.Dapper.Extensions;
using System.Collections.Generic;
+using NPOI.XWPF.UserModel;
namespace Tiobon.Core.Services;
@@ -121,6 +122,21 @@ public class Ghre_CertificateRuleServices : BaseServices();
+ design.CertificateRuleId = result;
+ var items = new List();
+ var designId = await Db.Insertable(design).ExecuteReturnSnowflakeIdAsync();
+ if (entity.CertificateDesignerData.containerItems != null)
+ for (int i = 0; i < entity.CertificateDesignerData.containerItems.Count; i++)
+ {
+ var item = Mapper.Map(entity.CertificateDesignerData.containerItems[i]).ToANew();
+ item.id1 = entity.CertificateDesignerData.containerItems[i].id;
+ item.CertificateRuleId = result;
+ item.CertificateDesignId = designId;
+ item.Id = UtilHelper.GetSysId();
+ await Db.Insertable(item).ExecuteReturnSnowflakeIdAsync();
+ }
+
return result;
}
@@ -130,6 +146,25 @@ public class Ghre_CertificateRuleServices : BaseServices().Where(x => x.CertificateRuleId == Id).ExecuteCommandAsync();
+ await Db.Deleteable().Where(x => x.CertificateRuleId == Id).ExecuteCommandAsync();
+
+ var design = Mapper.Map(editModel.CertificateDesignerData).ToANew();
+ design.CertificateRuleId = Id;
+ var items = new List();
+ var designId = await Db.Insertable(design).ExecuteReturnSnowflakeIdAsync();
+ if (editModel.CertificateDesignerData.containerItems != null)
+ for (int i = 0; i < editModel.CertificateDesignerData.containerItems.Count; i++)
+ {
+ var item = Mapper.Map(editModel.CertificateDesignerData.containerItems[i]).ToANew();
+ item.id1 = editModel.CertificateDesignerData.containerItems[i].id;
+ item.CertificateRuleId = Id;
+ item.CertificateDesignId = designId;
+ item.Id = UtilHelper.GetSysId();
+ await Db.Insertable(item).ExecuteReturnSnowflakeIdAsync();
+ }
+
var result = await base.Update(Id, editModel);
return result;
}
@@ -144,6 +179,25 @@ public class Ghre_CertificateRuleServices : BaseServices>(CourseSceneId1);
+ var design = await Db.Queryable().Where(x => x.CertificateRuleId == body.id).FirstAsync();
+ if (design != null)
+ {
+ var design1 = Mapper.Map(design).ToANew();
+ var items = new List();
+ var designItems = await Db.Queryable().Where(x => x.CertificateRuleId == body.id).ToListAsync();
+ designItems.ForEach(x =>
+ {
+ var item = Mapper.Map(x).ToANew();
+ item.id = x.id1;
+ items.Add(item);
+ });
+
+ design1.containerItems = items;
+ result.result.DT_TableDataT1[0].CertificateDesignerData = design1;
+
+ }
+
+
return result;
}
diff --git a/Tiobon.Core/Tiobon.Core.Model.xml b/Tiobon.Core/Tiobon.Core.Model.xml
index dee3b3f2..0233430f 100644
--- a/Tiobon.Core/Tiobon.Core.Model.xml
+++ b/Tiobon.Core/Tiobon.Core.Model.xml
@@ -2530,6 +2530,316 @@
预留字段12
+
+
+ Ghre_CertificateDesign (Dto.Base)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ bgColor
+
+
+
+
+ bgImgSize
+
+
+
+
+ bgImgUrl
+
+
+
+
+ height
+
+
+
+
+ opacity
+
+
+
+
+ thumbnailImage
+
+
+
+
+ width
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ Ghre_CertificateDesignItem (Dto.Base)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ 培训证书设计ID
+
+
+
+
+ certNoFixed
+
+
+
+
+ certNoRule
+
+
+
+
+ color
+
+
+
+
+ customDate
+
+
+
+
+ dateFormat
+
+
+
+
+ dateRule
+
+
+
+
+ elBgColor
+
+
+
+
+ field
+
+
+
+
+ fontSize
+
+
+
+
+ fontWeight
+
+
+
+
+ height
+
+
+
+
+ id1
+
+
+
+
+ imageSize
+
+
+
+
+ imageUrl
+
+
+
+
+ left
+
+
+
+
+ lineHeight
+
+
+
+
+ padding
+
+
+
+
+ text
+
+
+
+
+ top
+
+
+
+
+ type
+
+
+
+
+ width
+
+
+
+
+ zIndex
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
培训证书规则 (Dto.Base)
@@ -17642,6 +17952,16 @@
培训记录 (Dto.EditInput)
+
+
+ Ghre_CertificateDesign (Dto.EditInput)
+
+
+
+
+ Ghre_CertificateDesignItem (Dto.EditInput)
+
+
培训证书规则 (Dto.EditInput)
@@ -18277,6 +18597,16 @@
培训记录 (Dto.InsertInput)
+
+
+ Ghre_CertificateDesign (Dto.InsertInput)
+
+
+
+
+ Ghre_CertificateDesignItem (Dto.InsertInput)
+
+
培训证书规则 (Dto.InsertInput)
@@ -21527,6 +21857,316 @@
预留字段12
+
+
+ Ghre_CertificateDesign (Model)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ bgColor
+
+
+
+
+ bgImgSize
+
+
+
+
+ bgImgUrl
+
+
+
+
+ height
+
+
+
+
+ opacity
+
+
+
+
+ thumbnailImage
+
+
+
+
+ width
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
+
+
+ Ghre_CertificateDesignItem (Model)
+
+
+
+
+ 培训证书规则ID
+
+
+
+
+ 培训证书设计ID
+
+
+
+
+ certNoFixed
+
+
+
+
+ certNoRule
+
+
+
+
+ color
+
+
+
+
+ customDate
+
+
+
+
+ dateFormat
+
+
+
+
+ dateRule
+
+
+
+
+ elBgColor
+
+
+
+
+ field
+
+
+
+
+ fontSize
+
+
+
+
+ fontWeight
+
+
+
+
+ height
+
+
+
+
+ id1
+
+
+
+
+ imageSize
+
+
+
+
+ imageUrl
+
+
+
+
+ left
+
+
+
+
+ lineHeight
+
+
+
+
+ padding
+
+
+
+
+ text
+
+
+
+
+ top
+
+
+
+
+ type
+
+
+
+
+ width
+
+
+
+
+ zIndex
+
+
+
+
+ 备注
+
+
+
+
+ 默认标志
+
+
+
+
+ 预留字段1
+
+
+
+
+ 预留字段2
+
+
+
+
+ 预留字段3
+
+
+
+
+ 预留字段4
+
+
+
+
+ 预留字段5
+
+
+
+
+ 预留字段6
+
+
+
+
+ 预留字段7
+
+
+
+
+ 预留字段8
+
+
+
+
+ 预留字段9
+
+
+
+
+ 预留字段10
+
+
+
+
+ 预留字段11
+
+
+
+
+ 预留字段12
+
+
培训证书规则 (Model)
@@ -37688,6 +38328,36 @@
证书名称
+
+
+ Ghre_CertificateDesign(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
+
+
+ Ghre_CertificateDesignItem(Dto.View1)
+
+
+
+
+ 创建信息
+
+
+
+
+ 修改信息
+
+
培训证书规则(Dto.View)
@@ -41043,6 +41713,151 @@
Type Description balabala
+
+
+ bgColor
+
+
+
+
+ bgImgSize
+
+
+
+
+ bgImgUrl
+
+
+
+
+ height
+
+
+
+
+ opacity
+
+
+
+
+ thumbnailImage
+
+
+
+
+ width
+
+
+
+
+ certNoFixed
+
+
+
+
+ certNoRule
+
+
+
+
+ color
+
+
+
+
+ customDate
+
+
+
+
+ dateFormat
+
+
+
+
+ dateRule
+
+
+
+
+ elBgColor
+
+
+
+
+ field
+
+
+
+
+ fontSize
+
+
+
+
+ fontWeight
+
+
+
+
+ height
+
+
+
+
+ id1
+
+
+
+
+ imageSize
+
+
+
+
+ imageUrl
+
+
+
+
+ left
+
+
+
+
+ lineHeight
+
+
+
+
+ padding
+
+
+
+
+ text
+
+
+
+
+ top
+
+
+
+
+ type
+
+
+
+
+ width
+
+
+
+
+ zIndex
+
+
封面图
diff --git a/Tiobon.Core/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml
index 23ba768e..b08cf52d 100644
--- a/Tiobon.Core/Tiobon.Core.xml
+++ b/Tiobon.Core/Tiobon.Core.xml
@@ -749,6 +749,16 @@
培训记录(Controller)
+
+
+ Ghre_CertificateDesign(Controller)
+
+
+
+
+ Ghre_CertificateDesignItem(Controller)
+
+
培训证书规则(Controller)