master
xiaochanghai 1 month ago
parent 14c70dedb5
commit ea3f5b42de
  1. 4
      Tiobon.Core.Api/Controllers/Ghre/Ghre_OpenClassController.cs
  2. 36
      Tiobon.Core.Services/Ghre/Ghre_OpenClassServices.cs
  3. 7
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs
  4. 3
      Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs

@ -151,10 +151,10 @@ public class Ghre_OpenClassController : BaseController<IGhre_OpenClassServices,
#region 取消开课
[HttpPost, Route("CancelOpening/{Id}")]
public async Task<ServiceResult> CancelOpening(long Id) => await _service.UpdateStatus([Id], "Publish");
public async Task<ServiceResult> CancelOpening(long Id) => await _service.UpdateStatus([Id], "Publish", "CancelOpening");
[HttpPost, Route("CancelOpening")]
public async Task<ServiceResult> CancelOpening([FromBody] List<long> Ids) => await _service.UpdateStatus(Ids, "Publish");
public async Task<ServiceResult> CancelOpening([FromBody] List<long> Ids) => await _service.UpdateStatus(Ids, "Publish", "CancelOpening");
#endregion
#region 转入已结案

@ -260,6 +260,14 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
result.result.DT_TableDataT1[0].Schedules = await _ghre_OpenClassScheduleServices.QueryDto(x => x.OpenClassId == body.id);
result.result.DT_TableDataT1[0].Attachments = await Db.Queryable<Ghre_Attachment>().Where(x => x.TableName == body.id.ObjToString() && x.AttachmentGroupID == 1).ToListAsync();
result.result.DT_TableDataT1[0].Attachments?.ForEach(x =>
{
x.FileURL = "Advanced/" + x.FileURL;
x.PhysicsPath = "Advanced/" + x.PhysicsPath;
x.RelativePath = "Advanced/" + x.RelativePath;
x.ThumbnailPath = "Advanced/" + x.ThumbnailPath;
});
}
return result;
}
@ -534,6 +542,29 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
break;
case "CancelOpening":
var message = "";
var list2 = await Query(x => ids.Contains(x.Id));
for (int i = 0; i < list2.Count; i++)
{
var entity = list2[i];
if (await Db.Queryable<Ghre_StudyRecord>()
.Where(it => it.OpenClassId != null && it.OpenClassId == entity.Id && it.BeginTime != null)
.AnyAsync())
return ServiceResult.OprateFailed($"开班【{entity.OpenClassName}】,已有人考试,暂不可取消开课!");
if (message.IsNullOrEmpty() && await Db.Queryable<Ghre_ExamRecord>()
.Where(it => it.OpenClassId != null && it.OpenClassId == entity.Id && it.ActualBeginTime != null)
.AnyAsync())
return ServiceResult.OprateFailed($"开班【{entity.OpenClassName}】,已有人考试,暂不可取消开课!");
}
if (message.IsNotEmptyOrNull())
throw new Exception();
break;
case "CancelPublished":
var list1 = await Query(x => ids.Contains(x.Id));
@ -543,13 +574,14 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
if (await Db.Queryable<Ghre_StudyRecord>()
.Where(it => it.OpenClassId != null && it.OpenClassId == entity.Id && it.BeginTime != null)
.AnyAsync())
throw new Exception($"开班【{entity.OpenClassName}】,已有人学习,暂不可取消发布!");
return ServiceResult.OprateFailed($"开班【{entity.OpenClassName}】,已有人学习,暂不可取消发布!");
if (await Db.Queryable<Ghre_ExamRecord>()
.Where(it => it.OpenClassId != null && it.OpenClassId == entity.Id && it.ActualBeginTime != null)
.AnyAsync())
throw new Exception($"开班【{entity.OpenClassName}】,已有人考试,暂不可取消发布!");
return ServiceResult.OprateFailed($"开班【{entity.OpenClassName}】,已有人学习,暂不可取消发布!");
}
await Db.Deleteable<Ghre_StudyRecord>()
.Where(it => it.OpenClassId != null && ids.Contains(it.OpenClassId.Value))

@ -186,8 +186,9 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
var courses = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId != null && courseSceneIds.Contains(x.CourseSceneId)).ToListAsync();
entitys.ForEach(async entity =>
for (int i = 0; i < entitys.Count; i++)
{
var entity = entitys[i];
if (!string.IsNullOrWhiteSpace(entity.Indate))
entity.Indate = DateTimeHelper.ConvertToDayString(entity.Indate);
entity.ExamDate = DateTimeHelper.ConvertToDayString(entity.ExamDate);
@ -231,7 +232,9 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
ExamTime = x.ExamTime.ObjToString() + (x.Score != null ? $"得分:{x.Score}" : ""),
}).ToList();
}
});
entitys[i] = entity;
}
return new ServicePageResult<Ghre_StudyRecordDto>(filter.pageNum, total, filter.pageSize, entitys);
}

@ -103,6 +103,9 @@ public class Ghre_SurveyServices : BaseServices<Ghre_Survey, Ghre_SurveyDto, Ins
var entity = await BaseDal.QueryById(id);
if (entity.Status == "Publish" && status == "Temporary")
if (await Db.Queryable<Ghre_OpenClass>().Where(x => x.FeedbackId == id || x.ParentFeedbackId == id).AnyAsync())
throw new Exception($"问卷【{entity.SurveyName}】已被开班引用,暂不可取消发布!");
entity.UpdateIP = ip;
entity.UpdateProg = api;
entity.Status = status;

Loading…
Cancel
Save