|
|
|
@ -1,4 +1,6 @@ |
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
|
using NPOI.XWPF.UserModel; |
|
|
|
|
|
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 开班管理 (服务) |
|
|
|
@ -241,6 +243,37 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
public async Task<ServiceResult<ExcelData>> ExportStaff(long Id) |
|
|
|
|
{ |
|
|
|
|
var result1 = await _ghre_OpenClassStaffServices.QueryFilterPage(new QueryBody(), $"OpenClassId='{Id}'"); |
|
|
|
|
var result = new ExcelData(); |
|
|
|
|
result.fileName = $"开班学员{DateTimeHelper.ConvertToSecondString1(DateTime.Now)}.xlsx"; |
|
|
|
|
var fieldDescs = new Dictionary<string, string> |
|
|
|
|
{ |
|
|
|
|
{ "StaffNo", "工号" }, |
|
|
|
|
{ "StaffName", "姓名" }, |
|
|
|
|
{ "DeptName", "部门" }, |
|
|
|
|
{ "TitleName", "岗位" }, |
|
|
|
|
{ "Indate", "入职日期" }, |
|
|
|
|
{ "Email", "邮箱" }, |
|
|
|
|
{ "Source", "数据来源" } |
|
|
|
|
}; |
|
|
|
|
var dt = _ghre_OpenClassStaffServices.ToDataTable1(result1.result.DT_TableDataT1, fieldDescs, null); |
|
|
|
|
// 获取所有列名 |
|
|
|
|
var dtColumns = dt.Columns; |
|
|
|
|
|
|
|
|
|
var id = SnowFlakeSingle.instance.getID(); |
|
|
|
|
var physicsPath = $"{Environment.CurrentDirectory}{Path.DirectorySeparatorChar}wwwroot"; |
|
|
|
|
var path = $"{$"{Path.DirectorySeparatorChar}files{Path.DirectorySeparatorChar}export{Path.DirectorySeparatorChar}{id}{Path.DirectorySeparatorChar}"}"; |
|
|
|
|
if (!Directory.Exists(physicsPath + path)) |
|
|
|
|
Directory.CreateDirectory(physicsPath + path); |
|
|
|
|
|
|
|
|
|
path = path + result.fileName; |
|
|
|
|
NPOIHelper.ExportExcel(dt, "开班学员", "sheet1", physicsPath + path); |
|
|
|
|
|
|
|
|
|
result.filePath = "/Advanced" + path; |
|
|
|
|
return ServiceResult<ExcelData>.OprateSuccess("导出成功", result); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 费用 |
|
|
|
@ -389,8 +422,6 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 成绩 |
|
|
|
|
|
|
|
|
|
public async Task<ServiceResult<List<Ghre_OpenClassScore>>> QueryScore(long Id) |
|
|
|
@ -421,4 +452,28 @@ WHERE B.OpenClassId = '{Id}'"; |
|
|
|
|
return ServiceResult<List<Ghre_OpenClassScore>>.OprateSuccess("查询成功!", entitys); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 报名 |
|
|
|
|
/// <summary> |
|
|
|
|
/// 报名 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="Id">开班ID</param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
public async Task<ServiceResult> CheckIn(long Id) |
|
|
|
|
{ |
|
|
|
|
if (!await base.AnyAsync(x => x.Id == Id)) |
|
|
|
|
return ServiceResult.OprateSuccess("无效的开班ID!"); |
|
|
|
|
if (await Db.Queryable<Ghre_OpenClassStaff>().Where(x => x.StaffId == App.User.StaffId && x.OpenClassId == Id).AnyAsync()) |
|
|
|
|
return ServiceResult.OprateSuccess("已报名,请勿重复提交!"); |
|
|
|
|
|
|
|
|
|
var staff = new Ghre_OpenClassStaff() |
|
|
|
|
{ |
|
|
|
|
StaffId = App.User.StaffId, |
|
|
|
|
OpenClassId = Id, |
|
|
|
|
Source = "CheckIn" |
|
|
|
|
}; |
|
|
|
|
await Db.Insertable(staff).ExecuteReturnSnowflakeIdAsync(); |
|
|
|
|
return ServiceResult.OprateSuccess("报名成功!"); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
} |