考试管理根据考试人员配置 生成对应学习记录

master
xiaochanghai 11 months ago
parent 07114673a2
commit 8604591078
  1. 1549
      Model/Tiobon.Web.pdm
  2. 40
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 5
      Tiobon.Core.Model/Base/Ghre/Ghre_ExamStaff.Dto.Base.cs
  4. 11
      Tiobon.Core.Model/Base/Ghre/Ghre_StudyRecord.Dto.Base.cs
  5. 6
      Tiobon.Core.Model/Base/Ghre/Ghre_StudyRule.Dto.Base.cs
  6. 19
      Tiobon.Core.Model/Consts.cs
  7. 5
      Tiobon.Core.Model/Models/Ghre/Ghre_ExamStaff.cs
  8. 10
      Tiobon.Core.Model/Models/Ghre/Ghre_StudyRecord.cs
  9. 6
      Tiobon.Core.Model/Models/Ghre/Ghre_StudyRule.cs
  10. 10
      Tiobon.Core.Services/BASE/BaseServices.cs
  11. 80
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs
  12. 43
      Tiobon.Core.Services/Ghre/Ghre_StudyRuleServices.cs
  13. 30
      Tiobon.Core/Tiobon.Core.Model.xml

File diff suppressed because it is too large Load Diff

@ -3260,6 +3260,11 @@
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaffBase.StudyRuleId">
<summary>
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaffBase.Source">
<summary>
来源
@ -3905,6 +3910,11 @@
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSnapId">
<summary>
课程快照ID
@ -3915,6 +3925,11 @@
课程ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSceneId">
<summary>
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StudyRuleId">
<summary>
必选修规则ID
@ -4105,6 +4120,11 @@
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRuleBase.Result">
<summary>
结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRuleBase.IsDefault">
<summary>
默认标志
@ -9006,6 +9026,11 @@
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaff.StudyRuleId">
<summary>
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaff.Source">
<summary>
来源
@ -9651,6 +9676,11 @@
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSnapId">
<summary>
课程快照ID
@ -9661,6 +9691,11 @@
课程ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSceneId">
<summary>
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StudyRuleId">
<summary>
必选修规则ID
@ -9851,6 +9886,11 @@
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRule.Result">
<summary>
结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRule.IsDefault">
<summary>
默认标志

@ -36,6 +36,11 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public int? StaffId { get; set; }
/// <summary>
/// 员工ID
/// </summary>
public long? StudyRuleId { get; set; }
/// <summary>
/// 来源
/// </summary>

@ -31,6 +31,11 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public int? StaffId { get; set; }
/// <summary>
/// 考试ID
/// </summary>
public long? ExamId { get; set; }
/// <summary>
/// 课程快照ID
/// </summary>
@ -41,6 +46,12 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public long? CourseId { get; set; }
/// <summary>
/// 课程场景ID
/// </summary>
public long? CourseSceneId { get; set; }
/// <summary>
/// 必选修规则ID
/// </summary>

@ -90,6 +90,12 @@ namespace Tiobon.Core.Model.Models
[Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
/// <summary>
/// 结果
/// </summary>
[Display(Name = "Result"), Description("结果"), MaxLength(2000, ErrorMessage = "结果 不能超过 256 个字符")]
public string Result { get; set; }
/// <summary>
/// 默认标志
/// </summary>

@ -5,20 +5,27 @@
/// </summary>
public class Consts
{
#region 考试管理-状态
/// <summary>
/// 考试管理-状态-草稿箱
/// 考试管理-状态
/// </summary>
public static class DicExamStatus
{
/// <summary>
/// 草稿箱
/// </summary>
public const string DIC_EXAM_STATUS_DRAFT = "Draft";
public const string DRAFT = "Draft";
/// <summary>
/// 考试管理-状态-已发布
/// 已发布
/// </summary>
public const string DIC_EXAM_STATUS_RELEASED = "Released";
public const string RELEASED = "Released";
/// <summary>
/// 考试管理-状态-已归档
/// 已归档
/// </summary>
public const string DIC_EXAM_STATUS_DISABLED = "Disabled";
public const string DISABLED = "Disabled";
}
#endregion
#region 考试管理-日期类型

@ -38,6 +38,11 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public int? StaffId { get; set; }
/// <summary>
/// 员工ID
/// </summary>
public long? StudyRuleId { get; set; }
/// <summary>
/// 来源
/// </summary>

@ -33,6 +33,11 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public int? StaffId { get; set; }
/// <summary>
/// 考试ID
/// </summary>
public long? ExamId { get; set; }
/// <summary>
/// 课程快照ID
/// </summary>
@ -43,6 +48,11 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public long? CourseId { get; set; }
/// <summary>
/// 课程场景ID
/// </summary>
public long? CourseSceneId { get; set; }
/// <summary>
/// 必选修规则ID
/// </summary>

@ -92,6 +92,12 @@ namespace Tiobon.Core.Model.Models
[Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
/// <summary>
/// 结果
/// </summary>
[Display(Name = "Result"), Description("结果"), MaxLength(2000, ErrorMessage = "结果 不能超过 256 个字符")]
public string Result { get; set; }
/// <summary>
/// 默认标志
/// </summary>

@ -20,6 +20,7 @@ using Tiobon.Core.Model;
using Tiobon.Core.Model.Models;
using System.Reflection;
using System.Collections;
using Microsoft.IdentityModel.Tokens;
namespace Tiobon.Core.Services.BASE;
@ -1300,12 +1301,15 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
public string DealConditions(string conditions, string name, string value)
{
var jsonParam = JsonHelper.JsonToObj<JsonParam>(value);
switch (jsonParam.operationKey)
{
case "Include":
if (jsonParam.columnValue != null)
conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'";
break;
case "NotInclude":
if (jsonParam.columnValue != null)
conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'";
break;
case "IsNull":
@ -1315,21 +1319,27 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
conditions += $" AND {name} IS NOT NULL";
break;
case "Equal":
if (jsonParam.columnValue != null)
conditions += $" AND {name} ='{jsonParam.columnValue}'";
break;
case "NotEqual":
if (jsonParam.columnValue != null)
conditions += $" AND {name} !='{jsonParam.columnValue}'";
break;
case "GreaterOrEqual"://大于等于
if (jsonParam.columnValue != null)
conditions += $" AND {name} >='{jsonParam.columnValue}'";
break;
case "Greater"://大于
if (jsonParam.columnValue != null)
conditions += $" AND {name} >'{jsonParam.columnValue}'";
break;
case "LessOrEqual"://小于等于
if (jsonParam.columnValue != null)
conditions += $" AND {name} <='{jsonParam.columnValue}'";
break;
case "Less"://小于
if (jsonParam.columnValue != null)
conditions += $" AND {name} <'{jsonParam.columnValue}'";
break;
case "EqualAny"://

@ -16,6 +16,7 @@ using Tiobon.Core.Common.UserManager;
using MongoDB.Driver.Linq;
using Tiobon.Core.Common.DB.Dapper;
using Tiobon.Core.Common.Helper;
using System.Data;
namespace Tiobon.Core.Services;
@ -716,19 +717,19 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
{
x.ExamName = x.ExamName + "(" + x.ExamNo + ")";
if (x.Status == Consts.DIC_EXAM_STATUS_RELEASED || x.Status == Consts.DIC_EXAM_STATUS_DISABLED)
if (x.Status == Consts.DicExamStatus.RELEASED || x.Status == Consts.DicExamStatus.DISABLED)
{
x.canEdit = 0;
x.canDelete = 0;
}
if (x.Status == Consts.DIC_EXAM_STATUS_DRAFT)
if (x.Status == Consts.DicExamStatus.DRAFT)
{
x.showLink = 0;
x.showResult = 0;
x.canClose = 0;
}
if (x.Status == Consts.DIC_EXAM_STATUS_DISABLED)
if (x.Status == Consts.DicExamStatus.DISABLED)
{
x.canClose = 0;
x.canPreview = 0;
@ -1070,15 +1071,17 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if (id == 0)
{
if (string.IsNullOrEmpty(pageData.Status))
pageData.Status = Consts.DIC_EXAM_STATUS_DRAFT;
pageData.Status = Consts.DicExamStatus.DRAFT;
var insert = Mapper.Map(pageData).ToANew<InsertGhre_ExamInput>();
id = await base.Add(insert);
var insertStaffs = pageData.staffTableData.Select(x => new InsertGhre_ExamStaffInput()
var insertStaffs = pageData.staffTableData
.Where(x => x.DataSource == "Manual")
.Select(x => new InsertGhre_ExamStaffInput()
{
ExamId = id,
StaffId = x.StaffID,
Source = x.DataSource
Source = "Manual"
}).ToList();
await _ghre_ExamStaffServices.Add(insertStaffs);
@ -1097,12 +1100,12 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
}
var insert = Mapper.Map(pageData).ToANew<EditGhre_ExamInput>();
await base.Update(id, insert);
await _ghre_ExamStaffServices.Delete(x => x.ExamId == id);
var insertStaffs = pageData.staffTableData.Select(x => new InsertGhre_ExamStaffInput()
await _ghre_ExamStaffServices.Delete(x => x.ExamId == id && x.Source == "Manual");
var insertStaffs = pageData.staffTableData.Where(x => x.DataSource == "Manual").Select(x => new InsertGhre_ExamStaffInput()
{
ExamId = id,
StaffId = x.StaffID,
Source = x.DataSource
Source = "Manual"
}).ToList();
await _ghre_ExamStaffServices.Add(insertStaffs);
@ -1114,7 +1117,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
public async Task<ServiceResult> UpdateStatus(long[] ids, string status)
{
if (status == Consts.DIC_EXAM_STATUS_DRAFT)
if (status == Consts.DicExamStatus.DRAFT)
{
string sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
@ -1127,7 +1130,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
return ServiceResult.OprateFailed("暂无取消发布权限!");
}
if (status != Consts.DIC_EXAM_STATUS_RELEASED && status != Consts.DIC_EXAM_STATUS_DISABLED && status != Consts.DIC_EXAM_STATUS_DRAFT)
if (status != Consts.DicExamStatus.RELEASED && status != Consts.DicExamStatus.DISABLED && status != Consts.DicExamStatus.DRAFT)
throw new Exception("无效的状态");
HttpRequest request = UserContext.Context.Request;
@ -1146,10 +1149,10 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
ent.UpdateIP = ip;
ent.UpdateProg = api;
if (entity.Status == Consts.DIC_EXAM_STATUS_RELEASED && status == Consts.DIC_EXAM_STATUS_DRAFT && await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == "UnderWay"))
if (entity.Status == Consts.DicExamStatus.RELEASED && status == Consts.DicExamStatus.DRAFT && await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == "UnderWay"))
return ServiceResult.OprateFailed("已有学员参与考试,不可取消发布!");
if (entity.Status == Consts.DIC_EXAM_STATUS_DISABLED && status == Consts.DIC_EXAM_STATUS_RELEASED)
if (entity.Status == Consts.DicExamStatus.DISABLED && status == Consts.DicExamStatus.RELEASED)
{
if (entity.LinkType == "CourseId")
{
@ -1157,21 +1160,21 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if (course is null)
return ServiceResult.OprateFailed("该考试关联的课程已被删除,暂不可取消归档!");
if (course.Status != Consts.DIC_EXAM_STATUS_RELEASED)
return ServiceResult.OprateFailed($"该考试关联的课程【{course.CourseName}({course.CourseNo})】状态为【{(course.Status == Consts.DIC_EXAM_STATUS_DISABLED ? "" : "稿")}】,暂不可取消归档!");
if (course.Status != Consts.DicExamStatus.RELEASED)
return ServiceResult.OprateFailed($"该考试关联的课程【{course.CourseName}({course.CourseNo})】状态为【{(course.Status == Consts.DicExamStatus.DISABLED ? "" : "稿")}】,暂不可取消归档!");
}
var examPaper = await _ghre_ExamPaperServices.QueryById(entity.ExamPaperId);
if (examPaper is null)
return ServiceResult.OprateFailed("该考试关联的试卷已被删除,暂不可取消归档!");
if (examPaper.Status != Consts.DIC_EXAM_STATUS_RELEASED)
return ServiceResult.OprateFailed($"该考试关联的试卷【{examPaper.PaperName}({examPaper.PaperNo})】状态为【{(examPaper.Status == Consts.DIC_EXAM_STATUS_DISABLED ? "" : "稿")}】,暂不可取消归档!");
if (examPaper.Status != Consts.DicExamStatus.RELEASED)
return ServiceResult.OprateFailed($"该考试关联的试卷【{examPaper.PaperName}({examPaper.PaperNo})】状态为【{(examPaper.Status == Consts.DicExamStatus.DISABLED ? "" : "稿")}】,暂不可取消归档!");
}
if (entity.LinkType == Consts.DIC_EXAM_LINK_TYPE_COURSE)
{
#region 校验同一个课程下 考试时间不允许重叠
var exams = await base.Query(x => x.Status == Consts.DIC_EXAM_STATUS_RELEASED && x.CourseId == entity.CourseId && x.Id != id);
var exams = await base.Query(x => x.Status == Consts.DicExamStatus.RELEASED && x.CourseId == entity.CourseId && x.Id != id);
if (exams.Any())
for (int i = 0; i < exams.Count; i++)
{
@ -1195,7 +1198,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
else
{
#region 校验同一个课程场景下 考试时间不允许重叠
var exams = await base.Query(x => x.Status == Consts.DIC_EXAM_STATUS_RELEASED && x.CourseSceneId == entity.CourseSceneId && x.Id != id);
var exams = await base.Query(x => x.Status == Consts.DicExamStatus.RELEASED && x.CourseSceneId == entity.CourseSceneId && x.Id != id);
if (exams.Any())
for (int i = 0; i < exams.Count; i++)
{
@ -1214,8 +1217,39 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
#endregion
}
#region 生成学习记录
if (status == Consts.DicExamStatus.RELEASED && entity.Status == Consts.DicExamStatus.DRAFT)
{
var staffs = await _ghre_ExamStaffServices.Query(x => x.ExamId == id && x.Source == "Manual");
var inserts = new List<Ghre_StudyRecord>();
var snap = await Db.Queryable<Ghre_CourseSnap>().FirstAsync(x => x.CourseId == entity.CourseId);
DateTime courseTime = Db.GetDate();
for (int i = 0; i < staffs.Count; i++)
{
var staff = staffs[i];
inserts.Add(new Ghre_StudyRecord()
{
StaffId = staff.StaffId,
ExamId = id,
CourseSnapId = snap?.Id,
CourseId = entity.CourseId,
CourseSceneId = entity.CourseSceneId,
JoinTime = courseTime,
CourseBeginTime = courseTime,
CourseEndTime = courseTime.AddMonths(3),
CourseType = "ManualRequired",
CourseStatus = Consts.DIC_STUDY_RECORD_COURSE_STATUS_IN,
StudyStatus = Consts.DIC_STUDY_RECORD_STUDY_STATUS_NO_JOIN
});
}
if (inserts.Any())
await Db.Insertable(inserts).ExecuteReturnSnowflakeIdListAsync();
}
#endregion
if (status == Consts.DIC_EXAM_STATUS_RELEASED || status == Consts.DIC_EXAM_STATUS_DISABLED || status == Consts.DIC_EXAM_STATUS_DRAFT)
if (status == Consts.DicExamStatus.RELEASED || status == Consts.DicExamStatus.DISABLED || status == Consts.DicExamStatus.DRAFT)
{
entity.Status = status;
entities.Add(entity);
@ -1223,9 +1257,9 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
}
var result = await BaseDal.Update(entities);
if (status == Consts.DIC_EXAM_STATUS_RELEASED)
if (status == Consts.DicExamStatus.RELEASED)
return ServiceResult.OprateSuccess("发布成功!");
else if (status == Consts.DIC_EXAM_STATUS_DRAFT)
else if (status == Consts.DicExamStatus.DRAFT)
return ServiceResult.OprateSuccess("取消发布成功!");
else
return ServiceResult.OprateSuccess("停用成功!");
@ -1351,7 +1385,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
{
var exam = await base.QueryById(id);
var staffs = await _ghre_ExamStaffServices.Query(x => x.ExamId == id);
exam.Status = Consts.DIC_EXAM_STATUS_DRAFT;
exam.Status = Consts.DicExamStatus.DRAFT;
var insert = Mapper.Map(exam).ToANew<InsertGhre_ExamInput>();

@ -200,10 +200,12 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
await Db.Ado.BeginTranAsync();
var rule = await Db.Queryable<Ghre_StudyRule>().FirstAsync(x => x.Id == ruleId);
var ruleStaffs = await Db.Queryable<Ghre_StudyRuleStaff>().Where(x => x.StudyRuleId == ruleId).ToListAsync();
await Db.Updateable<Ghre_StudyRuleResult>().Where(x => x.StudyRuleId == ruleId && x.IsEnable == 1)
.SetColumns(it => new Ghre_StudyRuleResult() { IsEnable = 0 })//类只能在表达示里面不能提取
.SetColumns(it => new Ghre_StudyRuleResult() { IsEnable = 0 })
.ExecuteCommandAsync();
var ruleStaffIds = ruleStaffs.Select(x => x.StaffId).ToList();
@ -222,27 +224,41 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
{
DateTime courseTime = Db.GetDate();
var snap = await Db.Queryable<Ghre_CourseSnap>().FirstAsync(x => x.CourseId == rule.CourseId);
if (staffs.Any())
{
var inserts = new List<Ghre_StudyRecord>();
var insertExamStaffs = new List<Ghre_ExamStaff>();
var insertResults = new List<Ghre_StudyRuleResult>();
await Db.Deleteable<Ghre_StudyRecord>().Where(x => x.StudyRuleId == ruleId && x.BeginTime == null).ExecuteCommandAsync();
await Db.Deleteable<Ghre_ExamStaff>().Where(x => x.StudyRuleId == ruleId).ExecuteCommandAsync();
var exam = await Db.Queryable<Ghre_Exam>()
.WhereIF(rule.CourseId != null, x => x.CourseId == rule.CourseId)
.WhereIF(rule.CourseSceneId != null, x => x.CourseSceneId == rule.CourseSceneId)
.FirstAsync(x => x.Status == Consts.DIC_EXAM_STATUS_RELEASED);
for (int i = 0; i < staffs.Count; i++)
{
var staff = staffs[i];
var record = await Db.Queryable<Ghre_StudyRecord>()
var record = await Db.Queryable<Ghre_StudyRecordDto>()
.Where(x => x.StudyRuleId != ruleId && x.StaffId == staff.StaffID)
.WhereIF(!string.IsNullOrWhiteSpace(rule.Year), x => x.Year == rule.Year)
.FirstAsync();
.WhereIF(rule.CourseId != null, x => x.CourseId == rule.CourseId)
.WhereIF(rule.CourseSceneId != null, x => x.CourseSceneId == rule.CourseSceneId)
.AS("Ghre_StudyRecord_V").FirstAsync();
if (record is null)
{
inserts.Add(new Ghre_StudyRecord()
{
StaffId = staff.StaffID,
CourseSnapId = snap.Id,
ExamId = exam?.Id,
CourseSnapId = snap?.Id,
CourseId = rule.CourseId,
CourseSceneId = rule.CourseSceneId,
StudyRuleId = ruleId,
JoinTime = courseTime,
CourseBeginTime = courseTime,
@ -259,6 +275,16 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
Status = "SUCCESS",
RemarkSz = "生成成功"
});
if (exam != null)
if (!await Db.Queryable<Ghre_ExamStaff>().AnyAsync(x => x.ExamId == exam.Id && x.StaffId == staff.StaffID))
insertExamStaffs.Add(new Ghre_ExamStaff()
{
ExamId = exam.Id,
StudyRuleId = ruleId,
StaffId = staff.StaffID,
Source = "StudyRule" + rule.RuleType
});
}
else insertResults.Add(new Ghre_StudyRuleResult()
{
@ -274,16 +300,19 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
if (insertResults.Any())
await Db.Insertable(insertResults).ExecuteReturnSnowflakeIdListAsync();
rule.RemarkSz = "数据生成成功";
if (insertExamStaffs.Any())
await Db.Insertable(insertExamStaffs).ExecuteReturnSnowflakeIdListAsync();
rule.Result = "数据生成成功";
}
else
{
rule.RemarkSz = "未匹配到相关关人员数据!";
rule.Result = "未匹配到相关关人员数据!";
}
await Db.Updateable<Ghre_StudyRule>().Where(x => x.Id == ruleId)
.SetColumns(it => new Ghre_StudyRule() { RemarkSz = rule.RemarkSz })//类只能在表达示里面不能提取
.SetColumns(it => new Ghre_StudyRule() { Result = rule.Result })//类只能在表达示里面不能提取
.ExecuteCommandAsync();
}

@ -3905,6 +3905,11 @@
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSnapId">
<summary>
课程快照ID
@ -3915,6 +3920,11 @@
课程ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSceneId">
<summary>
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StudyRuleId">
<summary>
必选修规则ID
@ -4105,6 +4115,11 @@
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRuleBase.Result">
<summary>
结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRuleBase.IsDefault">
<summary>
默认标志
@ -9651,6 +9666,11 @@
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSnapId">
<summary>
课程快照ID
@ -9661,6 +9681,11 @@
课程ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSceneId">
<summary>
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StudyRuleId">
<summary>
必选修规则ID
@ -9851,6 +9876,11 @@
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRule.Result">
<summary>
结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRule.IsDefault">
<summary>
默认标志

Loading…
Cancel
Save