From 0dc56811003d898dab4899d5146a18c15c558463 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Tue, 20 May 2025 14:38:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=81=E4=B9=A6=E9=A2=84=E8=A7=88=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ghre/Ghre_CertificateRuleServices.cs | 90 ++++++++++++++++++- .../Ghre/Ghre_CertificateServices.cs | 34 +++---- Tiobon.Core/Tiobon.Core.Model.xml | 50 +++++++++++ Tiobon.Core/Tiobon.Core.xml | 6 ++ 4 files changed, 162 insertions(+), 18 deletions(-) diff --git a/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs index 1af37ca6..72f9f28e 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs @@ -1,4 +1,6 @@ -namespace Tiobon.Core.Services; +using static Tiobon.Core.Model.Consts; + +namespace Tiobon.Core.Services; /// /// 培训证书规则 (服务) @@ -211,6 +213,19 @@ public class Ghre_CertificateRuleServices : BaseServices().Where(x => x.CertificateRuleId == id).FirstAsync(); if (design != null) { + var staff = await Db.Queryable().Where(x => x.StaffID == App.User.StaffId).FirstAsync(); + var dept = await Db.Queryable().Where(x => x.DeptID == staff.DeptID).FirstAsync(); + var title = await Db.Queryable().Where(x => x.TitleID == staff.TitleID).FirstAsync(); + + var examRecord = await Db.Queryable() + .OrderByDescending(x => x.CreateTime) + .FirstAsync(); + var exam = await Db.Queryable().FirstAsync(); + var studyRecord = await Db.Queryable().Where(x => x.Id == examRecord.StudyRecordId).FirstAsync(); + + var course = await Db.Queryable().FirstAsync(); + //var courseScene = await Db.Queryable().Where(x => x.Id == course.sc).FirstAsync(); + var design1 = Mapper.Map(design).ToANew(); var items = new List(); var designItems = await Db.Queryable().Where(x => x.CertificateRuleId == id).ToListAsync(); @@ -218,13 +233,86 @@ public class Ghre_CertificateRuleServices : BaseServices(); item.id = x.id1; + + if (item.type == "fieldText" || item.type == "fieldImage") + { + switch (item.field) + { + case "CertificateNo"://证书编号 + + if (item.certNoRule == "random") + item.text = SnowFlakeSingle.Instance.NextId().ObjToString(); + break; + case "AwardDate"://发证日期 + if (item.dateFormat == "YYYY年MM月DD日") + item.text = DateTimeHelper.ConvertToDayString(DateTime.Now); + break; + case "CertificationBody"://颁发机构 + item.text = result.IssueOrgName; + + break; + case "ValidityPeriod"://有效期至 + + if (result.ValidityType == "Option") + item.text = DateTimeHelper.ConvertToDayString(result.ValidityTime); + + break; + case "StaffName"://员工姓名 + item.text = staff.StaffName; + break; + case "DeptName"://部门 + item.text = dept.DeptName; + break; + case "TitleName"://岗位 + item.text = title.TitleName; + + break; + case "PhotoUrl"://照片 + item.text = staff.PhotoUrl; + break; + case "CourseName"://课程名称 + item.text = course.CourseName; + break; + case "CourseSceneName"://课程场景 + item.text = ""; + + break; + case "StudyTime"://学习时间 + item.text = $"{studyRecord.BeginTime}~{studyRecord.EndTime}"; + + break; + case "ExamName"://考试名称 + item.text = exam?.ExamName; + break; + case "ExamNo"://考试编号 + item.text = exam?.ExamNo; + break; + case "ExamScore"://考试分数 + item.text = examRecord?.FinallyScore.ObjToString(); + break; + case "ExamResult"://考试结果 + item.text = examRecord?.FinallyIsPass == true ? "通过" : "未通过"; + break; + case "ExamComment"://考试评语 + item.text = examRecord?.Comment; + break; + default: + break; + } + } + items.Add(item); }); design1.containerItems = items; + + + result.CertificateDesignerData = design1; } + + return ServiceResult.OprateSuccess("查询成功!", result); } diff --git a/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs index d073f989..66c37425 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs @@ -253,31 +253,31 @@ public class Ghre_CertificateServices : BaseServices + + + 颁发机构类型 + + + + + 颁发机构ID + + + + + 颁发机构名称 + + + + + 颁发部门ID + + + + + 颁发公司ID + + 课程场景ID @@ -22502,6 +22527,31 @@ 课程ID + + + 颁发机构类型 + + + + + 颁发机构ID + + + + + 颁发机构名称 + + + + + 颁发部门ID + + + + + 颁发公司ID + + 参数配置 (Model) diff --git a/Tiobon.Core/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml index 8ad11a2a..21c91235 100644 --- a/Tiobon.Core/Tiobon.Core.xml +++ b/Tiobon.Core/Tiobon.Core.xml @@ -764,6 +764,12 @@ 培训证书规则(Controller) + + + 证书预览 + + + 参数配置(Controller)