新增考试管理人员自动匹配接口

master
xiaochanghai 11 months ago
parent 81e1b63444
commit ac01263e0f
  1. 15
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamController.cs
  2. 7
      Tiobon.Core.Api/Tiobon.Core.xml
  3. 2
      Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs
  4. 40
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs

@ -127,7 +127,6 @@ public class Ghre_ExamController : BaseController<IGhre_ExamServices, Ghre_Exam,
}
#endregion
#region 复制
/// <summary>
/// 复制
@ -174,4 +173,18 @@ public class Ghre_ExamController : BaseController<IGhre_ExamServices, Ghre_Exam,
return await _service.ExportExcel(body, status);
}
#region 获取考试关联人员
/// <summary>
/// 获取考试关联人员
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
[HttpPost, Route("QueryRuleStaff/{id}")]
public async Task<ServiceResult<List<StaffTableData>>> QueryRuleStaff(long id)
{
return await _service.QueryRuleStaff(id);
}
#endregion
}

@ -745,6 +745,13 @@
<param name="insert">insert</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.QueryRuleStaff(System.Int64)">
<summary>
获取考试关联人员
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamMessageLogController">
<summary>
考试通知记录(Controller)

@ -31,6 +31,8 @@ namespace Tiobon.Core.IServices
Task<ServiceResult> InsertMessageLog(Ghre_ExamMessageLogDto insert);
Task<ServiceResult<List<StaffTableData>>> QueryRuleStaff(long examId);
Task<ServiceResult<string>> ExportExcel(QueryExport body, string status);
}
}

@ -18,6 +18,7 @@ using Tiobon.Core.Common.DB.Dapper;
using Tiobon.Core.Common.Helper;
using System.Data;
using Snappier;
using Org.BouncyCastle.Crypto;
namespace Tiobon.Core.Services;
@ -1517,4 +1518,43 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
return ServiceResult.OprateSuccess("提交成功!");
}
public async Task<ServiceResult<List<StaffTableData>>> QueryRuleStaff(long examId)
{
var exam = await base.QuerySingle(examId);
var Ids = await Db.Queryable<Ghre_StudyRecord>()
.Where(x => x.ExamId == null)
.WhereIF(exam.CourseId != null, x => x.CourseId == exam.CourseId)
.WhereIF(exam.CourseSceneId != null, x => x.CourseSceneId == exam.CourseSceneId)
.Select(x => x.StaffId).Distinct().ToListAsync();
string sql = @"SELECT A.StaffID,
A.StaffName,
A.StaffNo,
A.Email Mail,
B.DeptName,
C.TitleName,
FORMAT(A.Indate, 'yyyy/MM/dd') Indate
FROM Ghra_Staff A
LEFT JOIN Ghro_Dept B ON A.DeptID = B.DeptID
LEFT JOIN Ghra_Title C ON A.TitleID = C.TitleID
WHERE 1=1 AND A.IsEnable=1 ";
//var list = await _ghra_StaffSceneServices.Query(x => Ids.Contains(x.StaffID));
if (Ids.Any())
sql += $"AND StaffID IN({string.Join(",", Ids)}) ";
else sql += "AND 1!=1 ";
var data = await Db.Ado.SqlQueryAsync<StaffTableData>(sql);
data.ForEach(x =>
{
if (x.DataSource.IsNull())
{
x.DataSource = Consts.DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED;
x.DataSourceLabel = "必修规则";
}
});
return ServiceResult<List<StaffTableData>>.OprateSuccess("查询成功!", data);
}
}
Loading…
Cancel
Save