新增考试结束自动发放证书

master
xiaochanghai 4 months ago
parent 2e44395223
commit 41f1bbe7a9
  1. 7104
      Model/Tiobon.Web.pdm
  2. 7
      Tiobon.Core.Model/Models/Ghre/Ghre_ExamRecord.cs
  3. 7
      Tiobon.Core.Model/Models/Ghre/Ghre_StudyRecord.cs
  4. 38
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs

File diff suppressed because it is too large Load Diff

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2025/1/13 16:14:43 SimonHsiao
*V0.01 2025/3/7 15:08:29 SimonHsiao
*
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
*
@ -236,4 +236,9 @@ public class Ghre_ExamRecord : BasePoco
/// 课程ID
/// </summary>
public long? CourseId { get; set; }
/// <summary>
/// 是否发放证书
/// </summary>
public bool? IsIssueCertificate { get; set; }
}

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2025/2/24 14:54:30 SimonHsiao
*V0.01 2025/3/7 15:08:16 SimonHsiao
*
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
*
@ -220,4 +220,9 @@ public class Ghre_StudyRecord : BasePoco
/// 有效结束时间
/// </summary>
public DateTime? ValidEndTime { get; set; }
/// <summary>
/// 是否发放证书
/// </summary>
public bool? IsIssueCertificate { get; set; }
}

@ -1449,9 +1449,45 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
/// <returns></returns>
public async Task<ServiceResult> IssueCertificate()
{
//抓取当天提交考试的数据
var records = await Db.Queryable<Ghre_ExamRecord>()
.Where(x =>
x.ExamDate != null &&
x.ExamDate.Value.Date == DateTime.Now.Date &&
x.IsPass == true &&
(x.IsIssueCertificate == null || x.IsIssueCertificate == false))
.ToListAsync();
var rules = await Db.Queryable<Ghre_CertificateRule>().ToListAsync();
for (int i = 0; i < records.Count; i++)
{
var record = records[i];
var studyRecord = await Db.Queryable<Ghre_StudyRecord>().Where(x => x.Id == record.StudyRecordId).FirstAsync();
if (studyRecord != null)
{
if (studyRecord.CourseId.IsNotEmptyOrNull())
{
var rules1 = rules.Where(x => x.CourseId1 != null && x.CourseId1.Contains(studyRecord.CourseId.ObjToString())).ToList();
for (int j = 0; j < rules1.Count; j++)
{
var rule = rules1[j];
var courseIds = JsonHelper.JsonToObj<List<long>>(rule.CourseId1);
//if (courseIds.Any())
}
}
else if (studyRecord.CourseSceneId.IsNotEmptyOrNull())
{
}
}
record.IsIssueCertificate = true;
}
await Db.Updateable(records)
.UpdateColumns(it => new { it.IsIssueCertificate }, true)
.ExecuteCommandAsync();
return ServiceResult.OprateSuccess("发放成功!");
}
#endregion

Loading…
Cancel
Save