|
|
|
@ -1,4 +1,5 @@ |
|
|
|
|
using MongoDB.Driver.Linq; |
|
|
|
|
using System.Drawing.Drawing2D; |
|
|
|
|
using static Tiobon.Core.Model.Consts; |
|
|
|
|
|
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
@ -345,6 +346,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr |
|
|
|
|
{ |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
TableColumns = TableColumns.Where(x => x.field != "ExamModeLabel").ToList(); |
|
|
|
|
var SearchFormFields = Mapper.Map(TableColumns).ToANew<List<TableColumn>>(); |
|
|
|
|
SearchFormFields.ForEach(x => |
|
|
|
|
{ |
|
|
|
@ -462,6 +464,10 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr |
|
|
|
|
WHEN A.LinkType = 'CourseId' THEN B.CourseName |
|
|
|
|
WHEN A.LinkType = 'CourseSceneId' THEN D.SceneName |
|
|
|
|
END CourseName, |
|
|
|
|
CASE |
|
|
|
|
WHEN A.LinkType = 'CourseId' THEN A.CourseId |
|
|
|
|
WHEN A.LinkType = 'CourseSceneId' THEN A.CourseSceneId |
|
|
|
|
END CourseSceneId1, |
|
|
|
|
E.PaperName ExamPaperName, ISNULL(A.UpdateTime, A.CreateTime) CreateTime1 |
|
|
|
|
FROM Ghre_Exam A |
|
|
|
|
LEFT JOIN Ghre_Course B ON A.CourseId = B.Id |
|
|
|
@ -1132,7 +1138,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr |
|
|
|
|
ORDER BY D.CreateTime ASC";
|
|
|
|
|
|
|
|
|
|
var data = await Db.Ado.SqlQueryAsync<StaffTableData>(sql); |
|
|
|
|
data.ForEach(x => |
|
|
|
|
data.ForEach(async x => |
|
|
|
|
{ |
|
|
|
|
if (x.DataSource.IsNull()) |
|
|
|
|
x.DataSource = DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED; |
|
|
|
@ -1143,8 +1149,12 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr |
|
|
|
|
x.DataSourceLabel = "必修规则"; |
|
|
|
|
else if (x.DataSource == DIC_EXAM_STAFF_SOURCE.MANUAL_ELECTIVE) |
|
|
|
|
x.DataSourceLabel = "手动选修"; |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult<List<StaffTableData>>.OprateSuccess("查询成功!", data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1195,6 +1205,17 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr |
|
|
|
|
|
|
|
|
|
await _ghre_ExamStaffServices.Add(insertStaffs); |
|
|
|
|
|
|
|
|
|
insertStaffs = pageData.staffTableData |
|
|
|
|
.Where(x => x.DataSource == Consts.DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED) |
|
|
|
|
.Select(x => new InsertGhre_ExamStaffInput() |
|
|
|
|
{ |
|
|
|
|
ExamId = id, |
|
|
|
|
StaffId = x.StaffID, |
|
|
|
|
Source = x.DataSource ?? Consts.DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED |
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
await _ghre_ExamStaffServices.Add(insertStaffs); |
|
|
|
|
|
|
|
|
|
await Db.Updateable<Ghre_ExamPaper>().SetColumns(it => it.LinkTimes == it.LinkTimes + 1).Where(it => it.Id == insert.ExamPaperId).ExecuteCommandAsync(); |
|
|
|
|
|
|
|
|
|
return ServiceResult<long>.OprateSuccess("添加成功!", id); |
|
|
|
@ -1209,13 +1230,27 @@ 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 && (x.Source == Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED || x.Source == null)); |
|
|
|
|
var insertStaffs = pageData.staffTableData.Where(x => x.DataSource == Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED).Select(x => new InsertGhre_ExamStaffInput() |
|
|
|
|
{ |
|
|
|
|
ExamId = id, |
|
|
|
|
StaffId = x.StaffID, |
|
|
|
|
Source = x.DataSource ?? Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED |
|
|
|
|
}).ToList(); |
|
|
|
|
await _ghre_ExamStaffServices.Delete(x => x.ExamId == id && (x.Source == DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED || x.Source == null)); |
|
|
|
|
var staffIds = await Db.Queryable<Ghre_ExamStaff>().Where(x => x.ExamId == id && x.Source == DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED).Select(x => x.StaffId).ToListAsync(); |
|
|
|
|
|
|
|
|
|
var insertStaffs = pageData.staffTableData.Where(x => x.DataSource == DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED) |
|
|
|
|
.Select(x => new InsertGhre_ExamStaffInput() |
|
|
|
|
{ |
|
|
|
|
ExamId = id, |
|
|
|
|
StaffId = x.StaffID, |
|
|
|
|
Source = x.DataSource ?? DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED |
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
await _ghre_ExamStaffServices.Add(insertStaffs); |
|
|
|
|
|
|
|
|
|
insertStaffs = pageData.staffTableData |
|
|
|
|
.Where(x => !staffIds.Contains(x.StaffID) && x.DataSource == DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED) |
|
|
|
|
.Select(x => new InsertGhre_ExamStaffInput() |
|
|
|
|
{ |
|
|
|
|
ExamId = id, |
|
|
|
|
StaffId = x.StaffID, |
|
|
|
|
Source = x.DataSource ?? DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED |
|
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
|
|
await _ghre_ExamStaffServices.Add(insertStaffs); |
|
|
|
|
|
|
|
|
@ -1735,15 +1770,30 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr |
|
|
|
|
sql += $"AND StaffID IN({string.Join(",", Ids)}) "; |
|
|
|
|
else sql += "AND 1!=1 "; |
|
|
|
|
var data = await Db.Ado.SqlQueryAsync<StaffTableData>(sql); |
|
|
|
|
data.ForEach(x => |
|
|
|
|
data.ForEach(async x => |
|
|
|
|
{ |
|
|
|
|
if (x.DataSource.IsNull()) |
|
|
|
|
{ |
|
|
|
|
x.DataSource = Consts.DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED; |
|
|
|
|
x.DataSourceLabel = "必修规则"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//if (!await _ghre_ExamStaffServices.AnyAsync(o => o.ExamId == examId && o.StaffId == x.StaffID)) |
|
|
|
|
//{ |
|
|
|
|
// var insertStaffs = new InsertGhre_ExamStaffInput() |
|
|
|
|
// { |
|
|
|
|
// ExamId = examId, |
|
|
|
|
// StaffId = x.StaffID, |
|
|
|
|
// Source = x.DataSource |
|
|
|
|
// }; |
|
|
|
|
// await _ghre_ExamStaffServices.Add(insertStaffs); |
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult<List<StaffTableData>>.OprateSuccess("查询成功!", data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|