ESS开班新增不学习直接考试

master
xiaochanghai 4 months ago
parent 131c6c70f9
commit 0d3bee9a26
  1. 2
      Tiobon.Core.Model/Models/Ghre/Ghre_OpenClass.cs
  2. 3
      Tiobon.Core.Model/View/Ghre/Ghre_StaffGroup.Dto.View.cs
  3. 3
      Tiobon.Core.Services/Ghre/Ghre_OpenClassServices.cs
  4. 101
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs

@ -178,7 +178,7 @@ public class Ghre_OpenClass : BasePoco
/// <summary>
/// 是否需要学习
/// </summary>
public int? IsRequireStudy { get; set; }
public bool? IsRequireStudy { get; set; }
/// <summary>
/// 发布状态

@ -101,4 +101,7 @@ public class Ghre_StaffGroupDto : Ghre_StaffGroup
/// 不包含员工
/// </summary>
public List<int> ExclStaffIds { get; set; } = new List<int>();
public int MasterId { get; set; }
public string DataType { get; set; }
}

@ -374,7 +374,8 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
CourseSceneId = entity.LinkType == "CourseScene" ? entity.LinkId : null,
ExamPaperId = entity.ExamPaperId,
OpenClassId = entity.Id,
Source = "OpenClass"
Source = "OpenClass",
IsRequireStudy = entity.IsRequireStudy
};
var examId = await Db.Insertable(exam).ExecuteReturnSnowflakeIdAsync();

@ -1099,6 +1099,8 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
filter.pageSize = 10000;
var staffId = App.User.StaffId;
var sql = @$"SELECT A.Id,
A.StartTime CourseBeginDate,
A.EndTime CourseEndDate,
@ -1106,7 +1108,7 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
A.RegisterEndTime,
A.ExamStartTime ExamBeginDate,
A.ExamEndTime ExamEndDate,
isnull (C.CourseName, D.SceneName) CourseName,
A.OpenClassName CourseName,
isnull (C.StandardHour, D.StandardHour) StandardHour,
isnull
(
@ -1125,73 +1127,11 @@ FROM Ghre_OpenClass A
LEFT JOIN Ghre_CourseScene D ON A.LinkId = D.Id
LEFT JOIN Ghre_ExamRecord E ON A.ExamId = E.ExamId AND E.StaffId = '{staffId}'
LEFT JOIN Ghre_StudyRecord F ON A.Id = F.OpenClassId
WHERE A.Status !='Temporary' AND EXISTS (
SELECT 1
FROM Ghra_Staff A
WHERE A.StaffID = '{staffId}'
AND A.StaffID IN (
SELECT value
FROM OPENJSON(B.StaffId)
)
AND A.StaffID NOT IN (
SELECT value
FROM OPENJSON(B.ExclStaffId)
)
AND A.StaffType1 IN (
SELECT value
FROM OPENJSON(B.StaffType1)
)
AND A.StaffType2 IN (
SELECT value
FROM OPENJSON(B.StaffType2)
)
AND A.ZoneId IN (
SELECT value
FROM OPENJSON(B.ZoneId)
)
AND A.ZoneId NOT IN (
SELECT value
FROM OPENJSON(B.ExclZoneId)
)
AND A.DeptId IN (
SELECT value
FROM OPENJSON(B.DeptId)
)
AND A.DeptId NOT IN (
SELECT value
FROM OPENJSON(B.ExclDeptId)
)
AND A.TitleId IN (
SELECT value
FROM OPENJSON(B.TitleId)
)
AND A.TitleId NOT IN (
SELECT value
FROM OPENJSON(B.ExclTitleId)
)
AND A.GradeId IN (
SELECT value
FROM OPENJSON(B.GradeId)
)
AND A.GradeId NOT IN (
SELECT value
FROM OPENJSON(B.ExclGradeId)
)
AND A.JobId IN (
SELECT value
FROM OPENJSON(B.JobId)
)
AND A.JobId NOT IN (
SELECT value
FROM OPENJSON(B.ExclJobId)
)
)
OR EXISTS (
SELECT 1
FROM Ghre_OpenClassStaff C
WHERE C.OpenClassId = A.ID
AND c.StaffId = '{staffId}'
)";
WHERE A.Status !='Temporary' AND ( EXISTS
(SELECT 1
FROM Ghre_OpenClassStaff C
WHERE C.OpenClassId = A.ID AND c.StaffId = '{staffId}')
OR dbo.[FE_CheckStaffGroup]({staffId},A.StaffGroupId)=1)";
string conditions = $"";
@ -1303,7 +1243,7 @@ WHERE A.Status !='Temporary' AND EXISTS (
var openClassStaffs = await Db.Queryable<Ghre_OpenClassStaff>().Where(x => x.OpenClassId != null && ids.Contains(x.OpenClassId.Value) && x.StaffId == staffId).ToListAsync();
var dt = DateTime.Now.Date;
var dt = DateTime.Now;
entitys.ForEach(x =>
{
@ -1311,11 +1251,25 @@ WHERE A.Status !='Temporary' AND EXISTS (
x.ShowExamBtn = false;
x.ShowRegisterBtn = false;
if (dt >= x.RegisterStartTime && dt <= x.RegisterEndTime && x.OpenClassStatus == "Publish" && !openClassStaffs.Any(o => o.OpenClassId == x.Id))
x.DisableExamBtn = true;
x.DisableStudyBtn = true;
if (x.OpenClassStatus == "Publish" && !openClassStaffs.Any(o => o.OpenClassId == x.Id))
{
x.ShowRegisterBtn = true;
x.DisableRegisterBtn = true;
if (dt >= x.RegisterStartTime && dt <= x.RegisterEndTime)
x.DisableRegisterBtn = false;
if (dt >= x.CourseBeginDate && dt <= x.CourseEndDate && (x.OpenClassStatus == "Publish" || x.OpenClassStatus == "Opening") && openClassStaffs.Any(o => o.OpenClassId == x.Id))
}else if (openClassStaffs.Any(o => o.OpenClassId == x.Id))
{
x.ShowStudyBtn = true;
x.ShowExamBtn = true;
}
if (dt >= x.CourseBeginDate && dt <= x.CourseEndDate && (x.OpenClassStatus == "Publish" || x.OpenClassStatus == "Opening") && openClassStaffs.Any(o => o.OpenClassId == x.Id))
x.DisableStudyBtn = false;
if (x.CourseBeginDate != null && x.CourseEndDate != null)
x.CourseDateString = DateTimeHelper.ConvertToDayString(x.CourseBeginDate) + "~" + DateTimeHelper.ConvertToDayString(x.CourseEndDate);
@ -1330,8 +1284,9 @@ WHERE A.Status !='Temporary' AND EXISTS (
//if (x.CourseBeginDate != null && x.CourseEndDate != null)
// if (x.StudyProgress >= 100 || !(x.CourseBeginDate.Value.Date <= DateTime.Now.Date && x.CourseEndDate.Value.Date >= DateTime.Now.Date))
// x.DisableStudyBtn = true;
if (!x.ExamId.IsNull())
x.ShowExamBtn = true;
if (!x.ExamId.IsNull() && x.ExamBeginDate != null && x.ExamEndDate != null && x.ExamBeginDate <= dt && x.ExamEndDate >= dt)
x.DisableExamBtn = false;
if (x.StudyProgress < 100 || x.ExamId.IsNull())
x.DisableExamBtn = true;
if (x.FeedbackOrderId.IsNull())

Loading…
Cancel
Save