必选修查询表 场景时课程特殊处理

master
xiaochanghai 10 months ago
parent 3a02203589
commit 82ba59b077
  1. 27
      Tiobon.Core.Model/Models/Ghre/Ghre_CourseScene.cs
  2. 2
      Tiobon.Core.Model/View/Ghre/Ghre_RequiredCourse.Dto.View.cs
  3. 9
      Tiobon.Core.Services/Ghre/Ghre_RequiredCourseServices.cs
  4. 23
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs
  5. 50
      Tiobon.Core/Tiobon.Core.Model.xml

@ -63,6 +63,33 @@ namespace Tiobon.Core.Model.Models
/// </summary> /// </summary>
public int? SortNo { get; set; } public int? SortNo { get; set; }
/// <summary>
/// 标准课时
/// </summary>
public int? StandardHour { get; set; }
/// <summary>
/// 学分
/// </summary>
public int? CreditPoints { get; set; }
/// <summary>
/// 封面图
/// </summary>
[Display(Name = "CoverUrl"), Description("封面图"), MaxLength(2000, ErrorMessage = "封面图 不能超过 2000 个字符")]
public string CoverUrl { get; set; }
/// <summary>
/// 是否使用默认封面
/// </summary>
public bool? UseDefaultCoverImage { get; set; }
/// <summary>
/// 默认封面图Name
/// </summary>
[Display(Name = "DefaultCoverImageName"), Description("默认封面图Name"), MaxLength(32, ErrorMessage = "默认封面图Name 不能超过 32 个字符")]
public string DefaultCoverImageName { get; set; }
/// <summary> /// <summary>
/// 默认标志 /// 默认标志
/// </summary> /// </summary>

@ -50,7 +50,9 @@ public class Ghre_RequiredCourseDto : Ghre_RequiredCourse
public string InStatusLabel { get; set; } public string InStatusLabel { get; set; }
public string DueDate1 { get; set; } public string DueDate1 { get; set; }
public string Indate1 { get; set; } public string Indate1 { get; set; }
public long? CourseSceneId { get; set; }
public string ExamDate1 public string ExamDate1
{ {
get; set; get; set;

@ -73,6 +73,9 @@ public class Ghre_RequiredCourseServices : BaseServices<Ghre_RequiredCourse, Ghr
sql += " WHERE NUM <= " + filter.pageNum * filter.pageSize + " AND NUM >" + (filter.pageNum - 1) * filter.pageSize; sql += " WHERE NUM <= " + filter.pageNum * filter.pageSize + " AND NUM >" + (filter.pageNum - 1) * filter.pageSize;
var entitys = await Db.Ado.SqlQueryAsync<Ghre_RequiredCourseDto>(sql); var entitys = await Db.Ado.SqlQueryAsync<Ghre_RequiredCourseDto>(sql);
var courseSceneIds = entitys.Select(x => x.CourseSceneId).Distinct().ToList();
var courses = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId != null && courseSceneIds.Contains(x.CourseSceneId)).ToListAsync();
entitys.ForEach(async x => entitys.ForEach(async x =>
{ {
@ -85,6 +88,12 @@ public class Ghre_RequiredCourseServices : BaseServices<Ghre_RequiredCourse, Ghr
x.DueDate1 = DateTimeHelper.ConvertToDayString(x.DueDate); x.DueDate1 = DateTimeHelper.ConvertToDayString(x.DueDate);
x.ExamDate1 = DateTimeHelper.ConvertToDayString(x.ExamDate); x.ExamDate1 = DateTimeHelper.ConvertToDayString(x.ExamDate);
#region 处理场景对应课程
if (x.CourseSceneId.IsNotEmptyOrNull())
{
x.CourseName = string.Join("\n", courses.Where(x => x.CourseSceneId == x.CourseSceneId).Select(x => x.CourseName + " (" + x.CourseNo + ")"));
}
#endregion
}); });
return new ServicePageResult<Ghre_RequiredCourseDto>(filter.pageNum, total, filter.pageSize, entitys); return new ServicePageResult<Ghre_RequiredCourseDto>(filter.pageNum, total, filter.pageSize, entitys);

@ -19,7 +19,6 @@ using NPOI.SS.Util;
using NPOI.XSSF.UserModel; using NPOI.XSSF.UserModel;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using System.Data; using System.Data;
using Org.BouncyCastle.Crypto;
namespace Tiobon.Core.Services; namespace Tiobon.Core.Services;
@ -101,6 +100,10 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
var entitys = await Db.Ado.SqlQueryAsync<Ghre_StudyRecordDto>(sql); var entitys = await Db.Ado.SqlQueryAsync<Ghre_StudyRecordDto>(sql);
var courseSceneIds = entitys.Select(x => x.CourseSceneId).Distinct().ToList();
var courses = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId != null && courseSceneIds.Contains(x.CourseSceneId)).ToListAsync();
entitys.ForEach(entity => entitys.ForEach(entity =>
{ {
if (!string.IsNullOrWhiteSpace(entity.Indate)) if (!string.IsNullOrWhiteSpace(entity.Indate))
@ -118,6 +121,13 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
if (entity.ExamStatus != "SystemEnd" && entity.ExamStatus.IsNotEmptyOrNull()) if (entity.ExamStatus != "SystemEnd" && entity.ExamStatus.IsNotEmptyOrNull())
entity.IsViewResult = true; entity.IsViewResult = true;
#region 处理场景对应课程
if (entity.CourseSceneId.IsNotEmptyOrNull())
{
entity.CourseName = string.Join("\n", courses.Where(x => x.CourseSceneId == entity.CourseSceneId).Select(x => x.CourseName + " (" + x.CourseNo + ")"));
}
#endregion
}); });
return new ServicePageResult<Ghre_StudyRecordDto>(filter.pageNum, total, filter.pageSize, entitys); return new ServicePageResult<Ghre_StudyRecordDto>(filter.pageNum, total, filter.pageSize, entitys);
@ -181,6 +191,10 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
var entitys = await Db.Ado.SqlQueryAsync<Ghre_StudyRecordDto>(sql); var entitys = await Db.Ado.SqlQueryAsync<Ghre_StudyRecordDto>(sql);
var courseSceneIds = entitys.Select(x => x.CourseSceneId).Distinct().ToList();
var courses = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId != null && courseSceneIds.Contains(x.CourseSceneId)).ToListAsync();
entitys.ForEach(entity => entitys.ForEach(entity =>
{ {
if (!string.IsNullOrWhiteSpace(entity.Indate)) if (!string.IsNullOrWhiteSpace(entity.Indate))
@ -197,7 +211,12 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
entity.UpdateYN = 1; entity.UpdateYN = 1;
if (entity.ExamStatus != "SystemEnd" && entity.ExamStatus.IsNotEmptyOrNull()) if (entity.ExamStatus != "SystemEnd" && entity.ExamStatus.IsNotEmptyOrNull())
entity.IsViewResult = true; entity.IsViewResult = true;
#region 处理场景对应课程
if (entity.CourseSceneId.IsNotEmptyOrNull())
{
entity.CourseName = string.Join("\n", courses.Where(x => x.CourseSceneId == entity.CourseSceneId).Select(x => x.CourseName + " (" + x.CourseNo + ")"));
}
#endregion
}); });
return new ServicePageResult<Ghre_StudyRecordDto>(filter.pageNum, total, filter.pageSize, entitys); return new ServicePageResult<Ghre_StudyRecordDto>(filter.pageNum, total, filter.pageSize, entitys);

@ -1955,6 +1955,31 @@
排序 排序
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.StandardHour">
<summary>
标准课时
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.CreditPoints">
<summary>
学分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.CoverUrl">
<summary>
封面图
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.UseDefaultCoverImage">
<summary>
是否使用默认封面
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.DefaultCoverImageName">
<summary>
默认封面图Name
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.IsDefault"> <member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.IsDefault">
<summary> <summary>
默认标志 默认标志
@ -8666,6 +8691,31 @@
排序 排序
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.StandardHour">
<summary>
标准课时
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.CreditPoints">
<summary>
学分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.CoverUrl">
<summary>
封面图
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.UseDefaultCoverImage">
<summary>
是否使用默认封面
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.DefaultCoverImageName">
<summary>
默认封面图Name
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.IsDefault"> <member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.IsDefault">
<summary> <summary>
默认标志 默认标志

Loading…
Cancel
Save