证书预览接口

master
xiaochanghai 1 month ago
parent 9ce5b6e110
commit 0dc5681100
  1. 90
      Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs
  2. 34
      Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs
  3. 50
      Tiobon.Core/Tiobon.Core.Model.xml
  4. 6
      Tiobon.Core/Tiobon.Core.xml

@ -1,4 +1,6 @@
namespace Tiobon.Core.Services;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
/// <summary>
/// 培训证书规则 (服务)
@ -211,6 +213,19 @@ public class Ghre_CertificateRuleServices : BaseServices<Ghre_CertificateRule, G
var design = await Db.Queryable<Ghre_CertificateDesign>().Where(x => x.CertificateRuleId == id).FirstAsync();
if (design != null)
{
var staff = await Db.Queryable<Ghra_Staff>().Where(x => x.StaffID == App.User.StaffId).FirstAsync();
var dept = await Db.Queryable<Ghro_Dept>().Where(x => x.DeptID == staff.DeptID).FirstAsync();
var title = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID == staff.TitleID).FirstAsync();
var examRecord = await Db.Queryable<Ghre_ExamRecord>()
.OrderByDescending(x => x.CreateTime)
.FirstAsync();
var exam = await Db.Queryable<Ghre_Exam>().FirstAsync();
var studyRecord = await Db.Queryable<Ghre_StudyRecord>().Where(x => x.Id == examRecord.StudyRecordId).FirstAsync();
var course = await Db.Queryable<Ghre_Course>().FirstAsync();
//var courseScene = await Db.Queryable<Ghre_CourseScene>().Where(x => x.Id == course.sc).FirstAsync();
var design1 = Mapper.Map(design).ToANew<CertificateDesignerData>();
var items = new List<CertificateDesignerItem>();
var designItems = await Db.Queryable<Ghre_CertificateDesignItem>().Where(x => x.CertificateRuleId == id).ToListAsync();
@ -218,13 +233,86 @@ public class Ghre_CertificateRuleServices : BaseServices<Ghre_CertificateRule, G
{
var item = Mapper.Map(x).ToANew<CertificateDesignerItem>();
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<Ghre_CertificateRuleDto>.OprateSuccess("查询成功!", result);
}

@ -253,31 +253,31 @@ public class Ghre_CertificateServices : BaseServices<Ghre_Certificate, Ghre_Cert
new Ghre_CertificateControlItem()
{
label="证书编号",
field="CertificateNo'",
field="CertificateNo",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="发证日期",
field="AwardDate'",
field="AwardDate",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="颁发机构",
field="CertificationBody'",
field="CertificationBody",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="有效期至",
field="ValidityPeriod'",
field="ValidityPeriod",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="电子章",
field="ElectronicSealUrl'",
field="ElectronicSealUrl",
type= "image"
}
}
@ -289,25 +289,25 @@ public class Ghre_CertificateServices : BaseServices<Ghre_Certificate, Ghre_Cert
new Ghre_CertificateControlItem()
{
label="员工姓名",
field="StaffName'",
field="StaffName",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="部门",
field="DeptName'",
field="DeptName",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="岗位",
field="TitleName'",
field="TitleName",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="照片",
field="PhotoUrl'",
field="PhotoUrl",
type= "fieldText"
}
}
@ -320,19 +320,19 @@ public class Ghre_CertificateServices : BaseServices<Ghre_Certificate, Ghre_Cert
new Ghre_CertificateControlItem()
{
label="课程名称",
field="CourseName'",
field="CourseName",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="课程场景",
field="CourseSceneName'",
field="CourseSceneName",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="学习时间",
field="StudyTime'",
field="StudyTime",
type= "fieldText"
}
}
@ -345,31 +345,31 @@ public class Ghre_CertificateServices : BaseServices<Ghre_Certificate, Ghre_Cert
new Ghre_CertificateControlItem()
{
label="考试名称",
field="ExamName'",
field="ExamName",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="考试编号",
field="ExamNo'",
field="ExamNo",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="考试分数",
field="ExamScore'",
field="ExamScore",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="考试结果",
field="ExamResult'",
field="ExamResult",
type= "fieldText"
},
new Ghre_CertificateControlItem()
{
label="考试评语",
field="ExamComment'",
field="ExamComment",
type= "fieldText"
}
}

@ -3000,6 +3000,31 @@
课程ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRuleBase.IssueOrgType">
<summary>
颁发机构类型
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRuleBase.IssueOrgId">
<summary>
颁发机构ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRuleBase.IssueOrgName">
<summary>
颁发机构名称
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRuleBase.IssueDeptId">
<summary>
颁发部门ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRuleBase.IssueCompanyId">
<summary>
颁发公司ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRuleBase.CourseSceneIds">
<summary>
课程场景ID
@ -22502,6 +22527,31 @@
课程ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRule.IssueOrgType">
<summary>
颁发机构类型
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRule.IssueOrgId">
<summary>
颁发机构ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRule.IssueOrgName">
<summary>
颁发机构名称
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRule.IssueDeptId">
<summary>
颁发部门ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CertificateRule.IssueCompanyId">
<summary>
颁发公司ID
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_Config">
<summary>
参数配置 (Model)

@ -764,6 +764,12 @@
培训证书规则(Controller)
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_CertificateRuleController.Preview(System.Int64)">
<summary>
证书预览
</summary>
<param name="id"></param>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ConfigController">
<summary>
参数配置(Controller)

Loading…
Cancel
Save