缺陷修复

master
xiaochanghai 1 year ago
parent 6f9547993c
commit 36f987cce2
  1. 2
      Tiobon.Core.Model/View/Ghre/Ghre_CourseWare.Dto.View.cs
  2. 2
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
  3. 5
      Tiobon.Core.Services/Ghre/Ghre_CourseWareServices.cs
  4. 172
      Tiobon.Core.Services/Ghre/Ghre_ExamPaperServices.cs
  5. 4
      Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs

@ -36,4 +36,6 @@ public class Ghre_CourseWareDto : Ghre_CourseWare
public List<Ghre_CourseWareAttachment> Attachments { get; set; } public List<Ghre_CourseWareAttachment> Attachments { get; set; }
public string StudyDuration { get; set; }
public string SourceLabel { get; set; }
} }

@ -135,7 +135,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
E.CourseWareName, E.CourseWareName,
F.StaffName ManagerStaffName, F.StaffName ManagerStaffName,
G.UserName CreateName, G.UserName CreateName,
G.UserName UpdateName, H.UserName UpdateName,
CASE A.InOrOut CASE A.InOrOut
WHEN 'In' THEN F.StaffName WHEN 'In' THEN F.StaffName
WHEN 'Out' THEN J.TeacherName WHEN 'Out' THEN J.TeacherName

@ -81,10 +81,13 @@ namespace Tiobon.Core.Services
public override async Task<ServicePageResult<Ghre_CourseWareDto>> QueryFilterPage(QueryBody body) public override async Task<ServicePageResult<Ghre_CourseWareDto>> QueryFilterPage(QueryBody body)
{ {
var result = await base.QueryFilterPage(body); var result = await base.QueryFilterPage(body);
result.result.DT_TableDataT1.ForEach(x => result.result.DT_TableDataT1.ForEach(async x =>
{ {
if (!string.IsNullOrWhiteSpace(x.CourseIds)) if (!string.IsNullOrWhiteSpace(x.CourseIds))
x.CourseIds2 = JsonConvert.DeserializeObject<List<long>>(x.CourseIds); x.CourseIds2 = JsonConvert.DeserializeObject<List<long>>(x.CourseIds);
x.StudyDuration = $"{x.Hours}小时{x.Minutes}分钟";
x.SourceLabel = await GetParaLabel("CourseWareSource", x.Source);
}); });
return result; return result;

@ -64,41 +64,41 @@ namespace Tiobon.Core.Services
return entity; return entity;
} }
public override async Task<ServicePageResult<Ghre_ExamPaperDto>> QueryFilterPage(QueryBody body) //public override async Task<ServicePageResult<Ghre_ExamPaperDto>> QueryFilterPage(QueryBody body)
{ //{
var data = await BaseDal.QueryFilterPage(body); // var data = await BaseDal.QueryFilterPage(body);
var data1 = Mapper.Map(data.result.DT_TableDataT1).ToANew<List<Ghre_ExamPaperDto>>(); // var data1 = Mapper.Map(data.result.DT_TableDataT1).ToANew<List<Ghre_ExamPaperDto>>();
var linkIds = data1.Where(x => x.LinkId != null).Select(x => x.LinkId.Value).Distinct().ToList(); // var linkIds = data1.Where(x => x.LinkId != null).Select(x => x.LinkId.Value).Distinct().ToList();
var courses = await _ghre_CourseServices.Query(x => linkIds.Contains(x.Id)); // var courses = await _ghre_CourseServices.Query(x => linkIds.Contains(x.Id));
var courseScenes = await _ghre_CourseSceneServices.Query(x => linkIds.Contains(x.Id)); // var courseScenes = await _ghre_CourseSceneServices.Query(x => linkIds.Contains(x.Id));
data1.ForEach(async x => // data1.ForEach(async x =>
{ // {
try // try
{ // {
x.ScoreMethodLabel = await GetParaLabel("ScoreMethod", x.ScoreMethod); // x.ScoreMethodLabel = await GetParaLabel("ScoreMethod", x.ScoreMethod);
x.TotalScore1 = Regex.Replace(x.PassScore.ToString(), @"\.(0+)$", "") + "/" + Regex.Replace(x.TotalScore.ToString(), @"\.(0+)$", ""); // x.TotalScore1 = Regex.Replace(x.PassScore.ToString(), @"\.(0+)$", "") + "/" + Regex.Replace(x.TotalScore.ToString(), @"\.(0+)$", "");
x.SetMethodLabel = await GetParaLabel("SetMethod", x.SetMethod); // x.SetMethodLabel = await GetParaLabel("SetMethod", x.SetMethod);
if (x.LinkType == "CourseId") // if (x.LinkType == "CourseId")
x.CourseName = courses.FirstOrDefault(o => o.Id == x.LinkId)?.CourseName; // x.CourseName = courses.FirstOrDefault(o => o.Id == x.LinkId)?.CourseName;
else if (x.LinkType == "CourseSceneId") // else if (x.LinkType == "CourseSceneId")
x.CourseName = courseScenes.FirstOrDefault(o => o.Id == x.LinkId)?.SceneName; // x.CourseName = courseScenes.FirstOrDefault(o => o.Id == x.LinkId)?.SceneName;
} // }
catch (Exception) // catch (Exception)
{ // {
} // }
}); // });
return new ServicePageResult<Ghre_ExamPaperDto>(body.pageNum, data.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data1); // return new ServicePageResult<Ghre_ExamPaperDto>(body.pageNum, data.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data1);
} //}
public async Task<ServicePageResult<Ghre_ExamPaperDto>> QueryList(QueryBody body, string status) public async Task<ServicePageResult<Ghre_ExamPaperDto>> QueryList(QueryBody body, string status)
{ {
var data = await QueryFilterPage1(body, status); var data = await base.QueryFilterPage(body, $"Status='{status}'");
var data1 = Mapper.Map(data.result.DT_TableDataT1).ToANew<List<Ghre_ExamPaperDto>>(); var data1 = Mapper.Map(data.result.DT_TableDataT1).ToANew<List<Ghre_ExamPaperDto>>();
var linkIds = data1.Where(x => x.LinkId != null).Select(x => x.LinkId.Value).Distinct().ToList(); var linkIds = data1.Where(x => x.LinkId != null).Select(x => x.LinkId.Value).Distinct().ToList();
@ -128,60 +128,60 @@ namespace Tiobon.Core.Services
return new ServicePageResult<Ghre_ExamPaperDto>(body.pageNum, data.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data1); return new ServicePageResult<Ghre_ExamPaperDto>(body.pageNum, data.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data1);
} }
public async Task<ServicePageResult<Ghre_ExamPaper>> QueryFilterPage1(QueryBody filter, string status = null) //public async Task<ServicePageResult<Ghre_ExamPaper>> QueryFilterPage1(QueryBody filter, string status = null)
{ //{
if (string.IsNullOrWhiteSpace(filter.orderBy)) // if (string.IsNullOrWhiteSpace(filter.orderBy))
filter.orderBy = "CreateTime DESC"; // filter.orderBy = "CreateTime DESC";
RefAsync<int> totalCount = 0; // RefAsync<int> totalCount = 0;
var query = Db.Queryable<Ghre_ExamPaper>(); // var query = Db.Queryable<Ghre_ExamPaper>();
if (!string.IsNullOrWhiteSpace(status)) // if (!string.IsNullOrWhiteSpace(status))
query = query.Where(x => x.Status == status); // query = query.Where(x => x.Status == status);
string conditions = "1=1"; // string conditions = "1=1";
if (filter.jsonParam != null) // if (filter.jsonParam != null)
foreach (JProperty jProperty in filter.jsonParam.Properties()) // foreach (JProperty jProperty in filter.jsonParam.Properties())
{ // {
var name = jProperty.Name; // var name = jProperty.Name;
var value = jProperty.Value.ToString(); // var value = jProperty.Value.ToString();
if (name == "page" || name == "pageSize") // if (name == "page" || name == "pageSize")
continue; // continue;
if (!string.IsNullOrWhiteSpace(value)) // if (!string.IsNullOrWhiteSpace(value))
{ // {
var jsonParam = JsonConvert.DeserializeObject<JsonParam>(value); // var jsonParam = JsonConvert.DeserializeObject<JsonParam>(value);
switch (jsonParam.operationKey) // switch (jsonParam.operationKey)
{ // {
case "Include": // case "Include":
conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'"; // conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'";
break; // break;
case "NotInclude": // case "NotInclude":
conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'"; // conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'";
break; // break;
case "IsNull": // case "IsNull":
conditions += $" AND {name} IS NULL"; // conditions += $" AND {name} IS NULL";
break; // break;
case "NotNull": // case "NotNull":
conditions += $" AND {name} IS NOT NULL"; // conditions += $" AND {name} IS NOT NULL";
break; // break;
case "Equal": // case "Equal":
conditions += $" AND {name} ='{jsonParam.columnValue}'"; // conditions += $" AND {name} ='{jsonParam.columnValue}'";
break; // break;
case "NotEqual": // case "NotEqual":
conditions += $" AND {name} !='{jsonParam.columnValue}'"; // conditions += $" AND {name} !='{jsonParam.columnValue}'";
break; // break;
default: // default:
break; // break;
} // }
} // }
} // }
if (filter.pageSize == 0) // if (filter.pageSize == 0)
filter.pageSize = 10000; // filter.pageSize = 10000;
query = query.Where(conditions); // query = query.Where(conditions);
var list = await query // var list = await query
.OrderByIF(!string.IsNullOrEmpty(filter.orderBy), filter.orderBy) // .OrderByIF(!string.IsNullOrEmpty(filter.orderBy), filter.orderBy)
.ToPageListAsync(filter.pageNum, filter.pageSize, totalCount); // .ToPageListAsync(filter.pageNum, filter.pageSize, totalCount);
return new ServicePageResult<Ghre_ExamPaper>(filter.pageNum, totalCount, filter.pageSize, list); // return new ServicePageResult<Ghre_ExamPaper>(filter.pageNum, totalCount, filter.pageSize, list);
} //}
public async Task<ServiceResult<DefaultGhre_ExamPaperInput>> QueryDefault(long Id) public async Task<ServiceResult<DefaultGhre_ExamPaperInput>> QueryDefault(long Id)
{ {

@ -162,10 +162,14 @@ public class Ghre_QuestionServices : BaseServices<Ghre_Question, Ghre_QuestionDt
FROM (SELECT A.*, FROM (SELECT A.*,
B.CourseName, B.CourseName,
C.Id CourseTypeId, C.Id CourseTypeId,
G.UserName CreateDataInfo,
H.UserName UpdateDataInfo,
C.ClassName CourseType C.ClassName CourseType
FROM Ghre_Question A FROM Ghre_Question A
LEFT JOIN Ghre_Course B ON A.CourseId = B.Id LEFT JOIN Ghre_Course B ON A.CourseId = B.Id
LEFT JOIN Ghre_CourseClass C ON B.CourseClassId = C.Id LEFT JOIN Ghre_CourseClass C ON B.CourseClassId = C.Id
LEFT JOIN Ghrs_User G ON A.CreateBy = G.UserId
LEFT JOIN Ghrs_User H ON A.UpdateBy = H.UserId
WHERE A.IsEnable = 1) A"; WHERE A.IsEnable = 1) A";
if (string.IsNullOrWhiteSpace(filter.orderBy)) if (string.IsNullOrWhiteSpace(filter.orderBy))

Loading…
Cancel
Save