优化 考试归档逻辑

master
xiaochanghai 10 months ago
parent 0e7a1072ae
commit c5109feaa8
  1. 18
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs

@ -1204,8 +1204,14 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if (await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == DIC_EXAM_RECORD_STATUS.EXAMING)) if (await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == DIC_EXAM_RECORD_STATUS.EXAMING))
return ServiceResult.OprateFailed("已有学员参与考试,不可取消发布!"); return ServiceResult.OprateFailed("已有学员参与考试,不可取消发布!");
} }
//--如果考试时间是区间,那过了这个区间后,员工学完也考不了。那么,只要是过了考试时间,后台可以手动归档。
//--如果考试时间是学完多久,需要等1)员工考完;2)员工没考完但过了学习时间,才能归档。
if (entity.Status == DIC_EXAM_STATUS.RELEASED && status == DIC_EXAM_STATUS.DISABLED) if (entity.Status == DIC_EXAM_STATUS.RELEASED && status == DIC_EXAM_STATUS.DISABLED)
{
if (entity.DateType == DicExamDateType.EXAM_DATE)
{
if (entity.BeginTime.Value.Date <= DateTime.Now.Date && entity.EndTime.Value.Date >= DateTime.Now.Date)
{ {
if (await Db.Queryable<Ghre_StudyRecord>().AnyAsync(x => x.ExamId == id && x.StudyStatus != DIC_STUDY_RECORD_STUDY_STATUS.NO_JOIN)) if (await Db.Queryable<Ghre_StudyRecord>().AnyAsync(x => x.ExamId == id && x.StudyStatus != DIC_STUDY_RECORD_STUDY_STATUS.NO_JOIN))
return ServiceResult.OprateFailed("已有学员正在学习,不可归档!"); return ServiceResult.OprateFailed("已有学员正在学习,不可归档!");
@ -1213,6 +1219,18 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if (await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == DIC_EXAM_RECORD_STATUS.EXAMING)) if (await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == DIC_EXAM_RECORD_STATUS.EXAMING))
return ServiceResult.OprateFailed("已有学员参与考试,不可归档!"); return ServiceResult.OprateFailed("已有学员参与考试,不可归档!");
} }
}
else
{
if (await Db.Queryable<Ghre_StudyRecord>().AnyAsync(x => x.ExamId == id && x.StudyStatus != DIC_STUDY_RECORD_STUDY_STATUS.NO_JOIN))
return ServiceResult.OprateFailed("已有学员正在学习,不可归档!");
if (await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id && x.Status == DIC_EXAM_RECORD_STATUS.EXAMING))
return ServiceResult.OprateFailed("已有学员参与考试,不可归档!");
}
}
if (entity.Status == DIC_EXAM_STATUS.DISABLED && status == DIC_EXAM_STATUS.RELEASED) if (entity.Status == DIC_EXAM_STATUS.DISABLED && status == DIC_EXAM_STATUS.RELEASED)
{ {

Loading…
Cancel
Save