master
xiaochanghai 1 month ago
parent eaadbffcfa
commit 7c71643c6d
  1. 2
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
  2. 68
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs

@ -1404,6 +1404,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
if (filter.pageSize == 0)
filter.pageSize = 10000;
sql += conditions;
totalCount = await Db.Ado.GetIntAsync($"SELECT COUNT(0) from ({sql}) A WHERE 1=1");
var sql1 = GetQueryString(sql, filter.pageNum, filter.pageSize, filter.orderBy);
@ -1460,7 +1461,6 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
data[i].PassPercent = passCount / examCount;
}
totalCount = await Db.Ado.GetIntAsync("SELECT COUNT(0) from Ghre_CourseScene_V A WHERE 1=1");
return new ServicePageResult<CourseAndScene>(filter.pageNum, totalCount, filter.pageSize, data);

@ -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);
}

Loading…
Cancel
Save