配合前端对接开班接口

master
xiaochanghai 4 months ago
parent 97bfaaefe0
commit 3e7b3d1649
  1. 22
      Tiobon.Core.Api/Controllers/Ghre/Ghre_OpenClassController.cs
  2. 36
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 15
      Tiobon.Core.Api/Tiobon.Core.xml
  4. 4
      Tiobon.Core.IServices/Ghre/IGhre_OpenClassServices.cs
  5. 16
      Tiobon.Core.Model/Base/Ghre/Ghre_OpenClass.Dto.Base.cs
  6. 13
      Tiobon.Core.Model/Base/Ghre/Ghre_OpenClassSchedule.Dto.Base.cs
  7. 24
      Tiobon.Core.Model/View/Ghre/Ghre_OpenClass.Dto.View.cs
  8. 33
      Tiobon.Core.Services/CommonServices.cs
  9. 147
      Tiobon.Core.Services/Ghre/Ghre_OpenClassServices.cs
  10. 36
      Tiobon.Core/Tiobon.Core.Model.xml
  11. 15
      Tiobon.Core/Tiobon.Core.xml

@ -92,4 +92,26 @@ public class Ghre_OpenClassController : BaseController<IGhre_OpenClassServices,
[HttpPost, Route("DeleteFee")]
public async Task<ServiceResult> DeleteFee([FromBody] List<long> ids) => await _service.DeleteFee(ids);
#endregion
#region 总结
/// <summary>
/// 总结查询
/// </summary>
/// <param name="Id">开班ID</param>
/// <returns></returns>
[HttpPost, Route("QuerySummary/{Id}")]
public async Task<ServiceResult<Ghre_OpenClassDto>> QuerySummary(long Id) => await _service.QuerySummary(Id);
/// <summary>
/// 总结新增
/// </summary>
/// <param name="Id">开班ID</param>
/// <param name="insert">员工ID列表</param>
/// <returns></returns>
[HttpPost, Route("InsertSummary/{Id}")]
public async Task<ServiceResult> InsertSummary(long Id, [FromBody] InsertGhre_OpenClassInput insert) => await _service.InsertSummary(Id, insert);
#endregion
}

@ -5040,6 +5040,16 @@
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassBase.Schedules">
<summary>
开班课表
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassBase.Attachments">
<summary>
开班课表
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_OpenClassAttendBase">
<summary>
开班打卡 (Dto.Base)
@ -5330,6 +5340,16 @@
预留字段12
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassScheduleBase.Schedules">
<summary>
开班课表
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassScheduleBase.Attachments">
<summary>
开班课表
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_OpenClassScoresBase">
<summary>
开班成绩 (Dto.Base)
@ -29877,17 +29897,17 @@
关联课程/场景
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.StartEndTime">
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.StartEndTime1">
<summary>
开班起止日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.RegisterStartEndTime">
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.RegisterStartEndTime1">
<summary>
报名起止日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.ExamStartEndTime">
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.ExamStartEndTime1">
<summary>
考试起止日期
</summary>
@ -29917,6 +29937,16 @@
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.Schedules">
<summary>
开班课表
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.Attachments">
<summary>
开班课表
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_OpenClassAttendDto">
<summary>
开班打卡(Dto.View1)

@ -1205,6 +1205,21 @@
<param name="ids">费用数据ID列表</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_OpenClassController.QuerySummary(System.Int64)">
<summary>
总结查询
</summary>
<param name="Id">开班ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_OpenClassController.InsertSummary(System.Int64,Tiobon.Core.Model.Models.InsertGhre_OpenClassInput)">
<summary>
总结新增
</summary>
<param name="Id">开班ID</param>
<param name="insert">员工ID列表</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_OpenClassFeeController">
<summary>
开班费用(Controller)

@ -19,4 +19,8 @@ public interface IGhre_OpenClassServices : IBaseServices<Ghre_OpenClass, Ghre_Op
Task<ServiceResult> InsertFee(long Id, InsertGhre_OpenClassFeeInput fee);
Task<ServiceResult> DeleteFee(List<long> feeIds);
Task<ServiceResult<Ghre_OpenClassDto>> QuerySummary(long Id);
Task<ServiceResult> InsertSummary(long Id, InsertGhre_OpenClassInput entity);
}

@ -290,4 +290,20 @@ public class Ghre_OpenClassBase
/// 课程场景ID
/// </summary>
public long? CourseSceneId { get; set; }
public List<DateTime> StartEndTime { get; set; } = new List<DateTime>();
public List<DateTime> RegisterStartEndTime { get; set; } = new List<DateTime>();
public List<DateTime> ExamStartEndTime { get; set; } = new List<DateTime>();
/// <summary>
/// 开班课表
/// </summary>
public List<InsertGhre_OpenClassScheduleInput> Schedules { get; set; } = new List<InsertGhre_OpenClassScheduleInput>();
/// <summary>
/// 开班课表
/// </summary>
public List<Ghre_Attachment> Attachments { get; set; } = new List<Ghre_Attachment>();
}

@ -134,4 +134,17 @@ public class Ghre_OpenClassScheduleBase
/// 预留字段12
/// </summary>
public int? ReverseI2 { get; set; }
public List<DateTime> StartEndTime { get; set; } = new List<DateTime>();
/// <summary>
/// 开班课表
/// </summary>
public List<InsertGhre_OpenClassScheduleInput> Schedules { get; set; } = new List<InsertGhre_OpenClassScheduleInput>();
/// <summary>
/// 开班课表
/// </summary>
public List<Ghre_Attachment> Attachments { get; set; } = new List<Ghre_Attachment>();
}

@ -40,24 +40,24 @@ public class Ghre_OpenClassDto : Ghre_OpenClass
/// <summary>
/// 开班起止日期
/// </summary>
public string StartEndTime { get; set; }
public string StartEndTime1 { get; set; }
/// <summary>
/// 报名起止日期
/// </summary>
public string RegisterStartEndTime { get; set; }
public string RegisterStartEndTime1 { get; set; }
/// <summary>
/// 考试起止日期
/// </summary>
public string ExamStartEndTime { get; set; }
public string ExamStartEndTime1 { get; set; }
/// <summary>
/// 试卷
/// </summary>
public string ExamPaperName { get; set; }
/// <summary>
/// 开班负责人
@ -78,5 +78,21 @@ public class Ghre_OpenClassDto : Ghre_OpenClass
/// 课程场景ID
/// </summary>
public long? CourseSceneId { get; set; }
public List<DateTime?> StartEndTime { get; set; } = new List<DateTime?>();
public List<DateTime?> RegisterStartEndTime { get; set; } = new List<DateTime?>();
public List<DateTime?> ExamStartEndTime { get; set; } = new List<DateTime?>();
/// <summary>
/// 开班课表
/// </summary>
public List<Ghre_OpenClassScheduleDto> Schedules { get; set; } = new List<Ghre_OpenClassScheduleDto>();
/// <summary>
/// 开班课表
/// </summary>
public List<Ghre_Attachment> Attachments { get; set; } = new List<Ghre_Attachment>();
}

@ -1961,7 +1961,6 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
break;
case "F_OpenCLassTemporary":
case "F_OpenCLassPublish":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD1YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();
@ -1971,7 +1970,37 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD4YN";
break;
case "F_OpenCLassPublish":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD1YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD2YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD3YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD4YN";
break;
case "F_OpenCLassOpening":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD1YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD2YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD3YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD4YN";
break;
case "F_OpenCLassClose":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD1YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD2YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD3YN";
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD4YN";
break;
}

@ -1,4 +1,7 @@
namespace Tiobon.Core.Services;
using MathNet.Numerics.Distributions;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
namespace Tiobon.Core.Services;
/// <summary>
/// 开班管理 (服务)
@ -7,17 +10,20 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
{
private readonly IGhre_OpenClassStaffServices _ghre_OpenClassStaffServices;
private readonly IGhre_OpenClassFeeServices _ghre_OpenClassFeeServices;
private readonly IGhre_OpenClassScheduleServices _ghre_OpenClassScheduleServices;
private readonly IBaseRepository<Ghre_OpenClass> _dal;
public Ghre_OpenClassServices(ICaching caching,
IBaseRepository<Ghre_OpenClass> dal,
IGhre_OpenClassStaffServices ghre_OpenClassStaffServices,
IGhre_OpenClassFeeServices ghre_OpenClassFeeServices)
IGhre_OpenClassFeeServices ghre_OpenClassFeeServices,
IGhre_OpenClassScheduleServices ghre_OpenClassScheduleServices)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_ghre_OpenClassStaffServices = ghre_OpenClassStaffServices;
_ghre_OpenClassFeeServices = ghre_OpenClassFeeServices;
_ghre_OpenClassScheduleServices = ghre_OpenClassScheduleServices;
}
public override async Task<ServicePageResult<Ghre_OpenClassDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
@ -59,13 +65,13 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
DT_TableDataT1.CourseOrSceneName = (await Db.Queryable<Ghre_CourseScene>().FirstAsync(x => x.Id == DT_TableDataT1.LinkId))?.SceneName;
if (DT_TableDataT1.StartTime != null && DT_TableDataT1.EndTime != null)
DT_TableDataT1.StartEndTime = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.StartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.EndTime)}";
DT_TableDataT1.StartEndTime1 = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.StartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.EndTime)}";
if (DT_TableDataT1.RegisterStartTime != null && DT_TableDataT1.RegisterEndTime != null)
DT_TableDataT1.RegisterStartEndTime = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.RegisterStartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.RegisterEndTime)}";
DT_TableDataT1.RegisterStartEndTime1 = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.RegisterStartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.RegisterEndTime)}";
if (DT_TableDataT1.ExamStartTime != null && DT_TableDataT1.ExamEndTime != null)
DT_TableDataT1.ExamStartEndTime = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.ExamStartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.ExamEndTime)}";
DT_TableDataT1.ExamStartEndTime1 = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.ExamStartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.ExamEndTime)}";
if (DT_TableDataT1.ExamPaperId != null)
DT_TableDataT1.ExamPaperName = (await Db.Queryable<Ghre_ExamPaper>().FirstAsync(x => x.Id == DT_TableDataT1.ExamPaperId))?.PaperName;
@ -93,17 +99,93 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
else
prefixTemp = (await Db.Queryable<Ghre_CourseScene>().FirstAsync(x => x.Id == entity.CourseSceneId))?.SceneNo;
if (entity.StartEndTime.Count == 2)
{
entity.StartTime = entity.StartEndTime[0];
entity.EndTime = entity.StartEndTime[1];
}
if (entity.RegisterStartEndTime.Count == 2)
{
entity.RegisterStartTime = entity.RegisterStartEndTime[0];
entity.RegisterEndTime = entity.RegisterStartEndTime[1];
}
if (entity.ExamStartEndTime.Count == 2)
{
entity.ExamStartTime = entity.ExamStartEndTime[0];
entity.ExamEndTime = entity.ExamStartEndTime[1];
}
prefixTemp = prefixTemp + "K";
entity.OpenClassNo = await GenerateContinuousSequence("Ghre_OpenClass", "OpenClassNo", prefixTemp, prefixTemp.Length + 4, 4);
var result = await base.Add(entity);
if (entity.Schedules != null && entity.Schedules.Any())
{
entity.Schedules.ForEach(x =>
{
x.OpenClassId = result;
if (x.StartEndTime.Count == 2)
{
x.StartTime = x.StartEndTime[0];
x.EndTime = x.StartEndTime[1];
}
});
await _ghre_OpenClassScheduleServices.Add(entity.Schedules);
}
if (entity.Attachments != null && entity.Attachments.Any())
{
var paths = entity.Attachments.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghre_Attachment>()
.SetColumns(it => new Ghre_Attachment() { TableName = result.ObjToString(), AttachmentGroupID = 1 })
.Where(it => paths.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
return result;
}
public override async Task<bool> Update(long Id, EditGhre_OpenClassInput editModel)
public override async Task<bool> Update(long Id, EditGhre_OpenClassInput entity)
{
editModel.LinkId = editModel.LinkType == "Course" ? editModel.CourseId : editModel.CourseSceneId;
var result = await base.Update(Id, editModel, null, ["Status"]);
entity.LinkId = entity.LinkType == "Course" ? entity.CourseId : entity.CourseSceneId;
if (entity.StartEndTime.Count == 2)
{
entity.StartTime = entity.StartEndTime[0];
entity.EndTime = entity.StartEndTime[2];
}
if (entity.RegisterStartEndTime.Count == 2)
{
entity.RegisterStartTime = entity.RegisterStartEndTime[0];
entity.RegisterEndTime = entity.RegisterStartEndTime[2];
}
if (entity.ExamStartEndTime.Count == 2)
{
entity.ExamStartTime = entity.ExamStartEndTime[0];
entity.ExamEndTime = entity.ExamStartEndTime[2];
}
await _ghre_OpenClassScheduleServices.Delete(x => x.OpenClassId == Id);
if (entity.Schedules != null && entity.Schedules.Any())
{
entity.Schedules.ForEach(x => x.OpenClassId = Id);
await _ghre_OpenClassScheduleServices.Add(entity.Schedules);
}
await Db.Updateable<Ghre_Attachment>()
.SetColumns(it => new Ghre_Attachment() { TableName = null, AttachmentGroupID = null })
.Where(it => it.TableName == Id.ObjToString() && it.AttachmentGroupID == 1)
.ExecuteCommandAsync();
if (entity.Attachments != null && entity.Attachments.Any())
{
var paths = entity.Attachments.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghre_Attachment>()
.SetColumns(it => new Ghre_Attachment() { TableName = Id.ObjToString(), AttachmentGroupID = 1 })
.Where(it => paths.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
var result = await base.Update(Id, entity, null, ["Status"]);
return result;
}
@ -118,9 +200,19 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
result.result.DT_TableDataT1[0].CourseId = result.result.DT_TableDataT1[0].LinkId;
else
result.result.DT_TableDataT1[0].CourseSceneId = result.result.DT_TableDataT1[0].LinkId;
result.result.DT_TableDataT1[0].StartEndTime.Add(result.result.DT_TableDataT1[0].StartTime);
result.result.DT_TableDataT1[0].StartEndTime.Add(result.result.DT_TableDataT1[0].EndTime);
result.result.DT_TableDataT1[0].RegisterStartEndTime.Add(result.result.DT_TableDataT1[0].RegisterStartTime);
result.result.DT_TableDataT1[0].RegisterStartEndTime.Add(result.result.DT_TableDataT1[0].RegisterEndTime);
result.result.DT_TableDataT1[0].ExamStartEndTime.Add(result.result.DT_TableDataT1[0].ExamStartTime);
result.result.DT_TableDataT1[0].ExamStartEndTime.Add(result.result.DT_TableDataT1[0].ExamEndTime);
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();
}
return result;
}
#region 学员
@ -182,4 +274,39 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas
return ServiceResult.OprateSuccess();
}
#endregion
#region 总结
public async Task<ServiceResult<Ghre_OpenClassDto>> QuerySummary(long Id)
{
var result = await base.QueryById(Id);
var result1 = new Ghre_OpenClassDto();
result1.Summary = result.Summary;
result1.Attachments = await Db.Queryable<Ghre_Attachment>().Where(x => x.TableName == Id.ObjToString() && x.AttachmentGroupID == 2).ToListAsync();
return ServiceResult<Ghre_OpenClassDto>.OprateSuccess("查询成功!", result1);
}
public async Task<ServiceResult> InsertSummary(long Id, InsertGhre_OpenClassInput entity)
{
await Db.Updateable<Ghre_OpenClass>()
.SetColumns(it => new Ghre_OpenClass() { Summary = entity.Summary })
.Where(it => it.Id == Id)
.ExecuteCommandAsync();
await Db.Updateable<Ghre_Attachment>()
.SetColumns(it => new Ghre_Attachment() { TableName = null, AttachmentGroupID = null })
.Where(it => it.TableName == Id.ObjToString() && it.AttachmentGroupID == 2)
.ExecuteCommandAsync();
if (entity.Attachments != null && entity.Attachments.Any())
{
var paths = entity.Attachments.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghre_Attachment>()
.SetColumns(it => new Ghre_Attachment() { TableName = Id.ObjToString(), AttachmentGroupID = 2 })
.Where(it => paths.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
return ServiceResult.OprateSuccess();
}
#endregion
}

@ -5040,6 +5040,16 @@
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassBase.Schedules">
<summary>
开班课表
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassBase.Attachments">
<summary>
开班课表
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_OpenClassAttendBase">
<summary>
开班打卡 (Dto.Base)
@ -5330,6 +5340,16 @@
预留字段12
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassScheduleBase.Schedules">
<summary>
开班课表
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassScheduleBase.Attachments">
<summary>
开班课表
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_OpenClassScoresBase">
<summary>
开班成绩 (Dto.Base)
@ -29877,17 +29897,17 @@
关联课程/场景
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.StartEndTime">
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.StartEndTime1">
<summary>
开班起止日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.RegisterStartEndTime">
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.RegisterStartEndTime1">
<summary>
报名起止日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.ExamStartEndTime">
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.ExamStartEndTime1">
<summary>
考试起止日期
</summary>
@ -29917,6 +29937,16 @@
课程场景ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.Schedules">
<summary>
开班课表
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_OpenClassDto.Attachments">
<summary>
开班课表
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_OpenClassAttendDto">
<summary>
开班打卡(Dto.View1)

@ -1205,6 +1205,21 @@
<param name="ids">费用数据ID列表</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_OpenClassController.QuerySummary(System.Int64)">
<summary>
总结查询
</summary>
<param name="Id">开班ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_OpenClassController.InsertSummary(System.Int64,Tiobon.Core.Model.Models.InsertGhre_OpenClassInput)">
<summary>
总结新增
</summary>
<param name="Id">开班ID</param>
<param name="insert">员工ID列表</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_OpenClassFeeController">
<summary>
开班费用(Controller)

Loading…
Cancel
Save