孤兰 2 months ago
commit 22b85a0627
  1. 6378
      Model/Tiobon.Web.pdm
  2. 11
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamRecordController.cs
  3. 62
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  4. 7
      Tiobon.Core.Api/Tiobon.Core.xml
  5. 3
      Tiobon.Core.Common/Helper/DateTimeHelper.cs
  6. 2
      Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs
  7. 16
      Tiobon.Core.Model/Base/Ghre/Ghre_ExternalTrainApplyOrder_Boltone.Dto.Base.cs
  8. 8
      Tiobon.Core.Model/Base/Ghre/Ghre_Request.Dto.Base.cs
  9. 8
      Tiobon.Core.Model/Base/Ghre/Ghre_StudyRecord.Dto.Base.cs
  10. 8
      Tiobon.Core.Model/Base/Ghre/Ghre_SurveyQuestion.Dto.Base.cs
  11. 3
      Tiobon.Core.Model/Base/Ghrh/Ghrh_ResumeEduBG.Dto.Base.cs
  12. 1
      Tiobon.Core.Model/Base/Ghrh/Ghrh_ResumeTraining.Dto.Base.cs
  13. 4
      Tiobon.Core.Model/Consts.cs
  14. 2
      Tiobon.Core.Model/Edit/Ghrh/Ghrh_ResumeEduBG.Dto.EditInput.cs
  15. 2
      Tiobon.Core.Model/Edit/Ghrh/Ghrh_ResumeTraining.Dto.EditInput.cs
  16. 19
      Tiobon.Core.Model/Models/Ghre/Ghre_ExternalTrainApplyOrder_Boltone.cs
  17. 8
      Tiobon.Core.Model/Models/Ghre/Ghre_Request.cs
  18. 8
      Tiobon.Core.Model/Models/Ghre/Ghre_StudyRecord.cs
  19. 8
      Tiobon.Core.Model/Models/Ghre/Ghre_SurveyQuestion.cs
  20. 5
      Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeEduBG.Dto.View.cs
  21. 4
      Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeLicence.Dto.View.cs
  22. 6
      Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeTraining.Dto.View.cs
  23. 2
      Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeWorkExp.Dto.View.cs
  24. 3
      Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs
  25. 6
      Tiobon.Core.Model/ViewModels/Extend/InsertGhre_SurveyExtend.cs
  26. 8
      Tiobon.Core.Services/CommonServices.cs
  27. 2
      Tiobon.Core.Services/Ghra/Ghra_StaffServices.cs
  28. 24
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
  29. 80
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
  30. 20
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs
  31. 4
      Tiobon.Core.Services/Ghre/Ghre_RequestServices.cs
  32. 32
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs
  33. 25
      Tiobon.Core.Services/Ghre/Ghre_StudyRuleServices.cs
  34. 26
      Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs
  35. 6
      Tiobon.Core.Services/Ghre/Ghre_TitleSkill_BoltoneServices.cs
  36. 42
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeEduBGServices.cs
  37. 48
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeLicenceServices.cs
  38. 44
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeTrainingServices.cs
  39. 46
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeWorkExpServices.cs
  40. 52
      Tiobon.Core/Tiobon.Core.Model.xml
  41. 7
      Tiobon.Core/Tiobon.Core.xml

File diff suppressed because it is too large Load Diff

@ -280,4 +280,15 @@ public class Ghre_ExamRecordController : BaseController<IGhre_ExamRecordServices
{ {
return await _service.SubmitAttachment(examRecordId, attachments); return await _service.SubmitAttachment(examRecordId, attachments);
} }
/// <summary>
/// 查询考试组
/// </summary>
/// <param name="examRecordId"></param>
/// <returns></returns>
[HttpPost("QueryGroups/{examRecordId}")]
public async Task<ServiceResult<List<ExamGroup>>> QueryGroups(long examRecordId)
{
return await _service.QueryGroups(examRecordId);
}
} }

@ -5740,6 +5740,16 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_BoltoneBase.SchoolName1">
<summary>
SchoolName1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_BoltoneBase.CourseName1">
<summary>
CourseName1
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitleBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitleBase">
<summary> <summary>
多岗维护 (Dto.Base) 多岗维护 (Dto.Base)
@ -7345,6 +7355,11 @@
系统内置 系统内置
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_RequestBase.OutSideOrg">
<summary>
外训机构
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourseBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourseBase">
<summary> <summary>
必选修查询 (Dto.Base) 必选修查询 (Dto.Base)
@ -8115,6 +8130,11 @@
是否发放学分 是否发放学分
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CompleteStatus">
<summary>
完成状态
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetailBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetailBase">
<summary> <summary>
培训记录明细 (Dto.Base) 培训记录明细 (Dto.Base)
@ -9020,6 +9040,11 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_SurveyQuestionBase.WordCloudKeywords">
<summary>
词云图关键字
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecordBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecordBase">
<summary> <summary>
Ghre_SurveyRecord (Dto.Base) Ghre_SurveyRecord (Dto.Base)
@ -13890,7 +13915,7 @@
预留字段11 预留字段11
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeTrainingBase.ReverseI2"> <member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeTrainingBase.IsPass1">
<summary> <summary>
预留字段12 预留字段12
</summary> </summary>
@ -24352,6 +24377,16 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_Boltone.SchoolName1">
<summary>
SchoolName1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_Boltone.CourseName1">
<summary>
CourseName1
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitle"> <member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitle">
<summary> <summary>
多岗维护 (Model) 多岗维护 (Model)
@ -25937,6 +25972,11 @@
系统内置 系统内置
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Request.OutSideOrg">
<summary>
外训机构
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourse"> <member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourse">
<summary> <summary>
必选修查询 (Model) 必选修查询 (Model)
@ -26637,6 +26677,11 @@
是否发放学分 是否发放学分
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CompleteStatus">
<summary>
完成状态
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetail"> <member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetail">
<summary> <summary>
培训记录明细 (Model) 培训记录明细 (Model)
@ -27542,6 +27587,11 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_SurveyQuestion.WordCloudKeywords">
<summary>
词云图关键字
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecord"> <member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecord">
<summary> <summary>
Ghre_SurveyRecord (Model) Ghre_SurveyRecord (Model)
@ -39513,6 +39563,11 @@
必修规则 必修规则
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_ELECTIVE">
<summary>
手动选修
</summary>
</member>
<member name="T:Tiobon.Core.Model.Consts.DIC_TRAINING_STUDY_RULE_TRAIN_TYPE"> <member name="T:Tiobon.Core.Model.Consts.DIC_TRAINING_STUDY_RULE_TRAIN_TYPE">
<summary> <summary>
培训规则种类 培训规则种类
@ -40398,6 +40453,11 @@
图标 图标
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyQuestionExtendBase.WordCloudKeywords">
<summary>
词云图关键字
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyQuestionExtendBase.RemarkSz"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyQuestionExtendBase.RemarkSz">
<summary> <summary>
备注 备注

@ -1101,6 +1101,13 @@
<param name="examRecordId"></param> <param name="examRecordId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamRecordController.QueryGroups(System.Int64)">
<summary>
查询考试组
</summary>
<param name="examRecordId"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController"> <member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController">
<summary> <summary>
Ghre_ExamRecordDetail(Controller) Ghre_ExamRecordDetail(Controller)

@ -222,6 +222,9 @@ public class DateTimeHelper
/// <returns></returns> /// <returns></returns>
public static string ConvertToSecondString(object dateTime) public static string ConvertToSecondString(object dateTime)
{ {
if (dateTime == null)
return "";
if (string.IsNullOrEmpty(Convert.ToString(dateTime))) if (string.IsNullOrEmpty(Convert.ToString(dateTime)))
{ {
return ""; return "";

@ -36,4 +36,6 @@ public interface IGhre_ExamRecordServices : IBaseServices<Ghre_ExamRecord, Ghre_
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
Task<ServiceResult> IssueCertificate(); Task<ServiceResult> IssueCertificate();
Task<ServiceResult<List<ExamGroup>>> QueryGroups(long examRecordId);
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/4/11 11:35:25 SimonHsiao *V0.01 2025/4/25 12:00:26 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -319,6 +319,19 @@ public class Ghre_ExternalTrainApplyOrder_BoltoneBase
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
/// <summary>
/// SchoolName1
/// </summary>
[Display(Name = "SchoolName1"), Description("SchoolName1"), MaxLength(128, ErrorMessage = "SchoolName1 不能超过 128 个字符")]
public string SchoolName1 { get; set; }
/// <summary>
/// CourseName1
/// </summary>
[Display(Name = "CourseName1"), Description("CourseName1"), MaxLength(128, ErrorMessage = "CourseName1 不能超过 128 个字符")]
public string CourseName1 { get; set; }
public List<Ghre_Attachment1> ExternalAttachments { get; set; } = new List<Ghre_Attachment1>(); public List<Ghre_Attachment1> ExternalAttachments { get; set; } = new List<Ghre_Attachment1>();
public List<Ghre_Attachment1> ContractAttachments { get; set; } = new List<Ghre_Attachment1>(); public List<Ghre_Attachment1> ContractAttachments { get; set; } = new List<Ghre_Attachment1>();
@ -328,3 +341,4 @@ public class Ghre_ExternalTrainApplyOrder_BoltoneBase
public string AttachmentTemplateLink { get; set; } = "/Advanced/files/外训申请附件.zip" public string AttachmentTemplateLink { get; set; } = "/Advanced/files/外训申请附件.zip"
; ;
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/4/8 11:44:56 SimonHsiao *V0.01 2025/4/25 15:13:56 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -322,4 +322,10 @@ public class Ghre_RequestBase
/// 系统内置 /// 系统内置
/// </summary> /// </summary>
public int? BuiltIn { get; set; } public int? BuiltIn { get; set; }
/// <summary>
/// 外训机构
/// </summary>
[Display(Name = "OutSideOrg"), Description("外训机构"), MaxLength(128, ErrorMessage = "外训机构 不能超过 128 个字符")]
public string OutSideOrg { get; set; }
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/3/26 16:46:15 SimonHsiao *V0.01 2025/4/29 11:11:35 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -234,4 +234,10 @@ public class Ghre_StudyRecordBase
/// 是否发放学分 /// 是否发放学分
/// </summary> /// </summary>
public bool? IsIssueCredit { get; set; } public bool? IsIssueCredit { get; set; }
/// <summary>
/// 完成状态
/// </summary>
[Display(Name = "CompleteStatus"), Description("完成状态"), MaxLength(32, ErrorMessage = "完成状态 不能超过 32 个字符")]
public string CompleteStatus { get; set; }
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/4/1 15:14:42 SimonHsiao *V0.01 2025/4/27 11:47:54 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -154,4 +154,10 @@ public class Ghre_SurveyQuestionBase
/// 预留字段12 /// 预留字段12
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
/// <summary>
/// 词云图关键字
/// </summary>
[Display(Name = "WordCloudKeywords"), Description("词云图关键字"), MaxLength(2000, ErrorMessage = "词云图关键字 不能超过 2000 个字符")]
public string WordCloudKeywords { get; set; }
} }

@ -141,4 +141,7 @@ public class Ghrh_ResumeEduBGBase
/// 预留字段12 /// 预留字段12
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
public int? IsGraduate1 { get; set; }
} }

@ -140,5 +140,6 @@ public class Ghrh_ResumeTrainingBase
/// <summary> /// <summary>
/// 预留字段12 /// 预留字段12
/// </summary> /// </summary>
public int? IsPass1 { get; set; }
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
} }

@ -152,6 +152,10 @@ public class Consts
/// 必修规则 /// 必修规则
/// </summary> /// </summary>
public const string STUDY_RULE_REQUIRED = "StudyRuleRequired"; public const string STUDY_RULE_REQUIRED = "StudyRuleRequired";
/// <summary>
/// 手动选修
/// </summary>
public const string MANUAL_ELECTIVE = "ManualElective";
} }
#endregion #endregion

@ -24,5 +24,5 @@ namespace Tiobon.Core.Model.Models;
public class EditGhrh_ResumeEduBGInput : Ghrh_ResumeEduBGBase public class EditGhrh_ResumeEduBGInput : Ghrh_ResumeEduBGBase
{ {
public List<Ghre_Attachment> AttachmentIDs { get; set; } public List<Ghre_Attachment> AttachmentIDs { get; set; } = new List<Ghre_Attachment>();
} }

@ -24,4 +24,6 @@ namespace Tiobon.Core.Model.Models;
public class EditGhrh_ResumeTrainingInput : Ghrh_ResumeTrainingBase public class EditGhrh_ResumeTrainingInput : Ghrh_ResumeTrainingBase
{ {
public List<Ghre_Attachment> AttachmentIDs { get; set; } public List<Ghre_Attachment> AttachmentIDs { get; set; }
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/4/11 11:35:25 SimonHsiao *V0.01 2025/4/25 12:00:26 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -18,8 +18,8 @@ using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using SqlSugar; using SqlSugar;
namespace Tiobon.Core.Model.Models namespace Tiobon.Core.Model.Models;
{
/// <summary> /// <summary>
/// 外训申请_宝连通 (Model) /// 外训申请_宝连通 (Model)
@ -321,5 +321,16 @@ namespace Tiobon.Core.Model.Models
/// 预留字段12 /// 预留字段12
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
}
/// <summary>
/// SchoolName1
/// </summary>
[Display(Name = "SchoolName1"), Description("SchoolName1"), MaxLength(128, ErrorMessage = "SchoolName1 不能超过 128 个字符")]
public string SchoolName1 { get; set; }
/// <summary>
/// CourseName1
/// </summary>
[Display(Name = "CourseName1"), Description("CourseName1"), MaxLength(128, ErrorMessage = "CourseName1 不能超过 128 个字符")]
public string CourseName1 { get; set; }
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/4/8 11:44:56 SimonHsiao *V0.01 2025/4/25 15:13:56 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -323,4 +323,10 @@ public class Ghre_Request : BasePoco
/// 系统内置 /// 系统内置
/// </summary> /// </summary>
public int? BuiltIn { get; set; } public int? BuiltIn { get; set; }
/// <summary>
/// 外训机构
/// </summary>
[Display(Name = "OutSideOrg"), Description("外训机构"), MaxLength(128, ErrorMessage = "外训机构 不能超过 128 个字符")]
public string OutSideOrg { get; set; }
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/3/26 16:46:15 SimonHsiao *V0.01 2025/4/29 11:11:35 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -235,4 +235,10 @@ public class Ghre_StudyRecord : BasePoco
/// 是否发放学分 /// 是否发放学分
/// </summary> /// </summary>
public bool? IsIssueCredit { get; set; } public bool? IsIssueCredit { get; set; }
/// <summary>
/// 完成状态
/// </summary>
[Display(Name = "CompleteStatus"), Description("完成状态"), MaxLength(32, ErrorMessage = "完成状态 不能超过 32 个字符")]
public string CompleteStatus { get; set; }
} }

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2025/4/1 15:14:42 SimonHsiao *V0.01 2025/4/27 11:47:54 SimonHsiao
* *
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
@ -155,4 +155,10 @@ public class Ghre_SurveyQuestion : BasePoco
/// 预留字段12 /// 预留字段12
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
/// <summary>
/// 词云图关键字
/// </summary>
[Display(Name = "WordCloudKeywords"), Description("词云图关键字"), MaxLength(2000, ErrorMessage = "词云图关键字 不能超过 2000 个字符")]
public string WordCloudKeywords { get; set; }
} }

@ -41,6 +41,9 @@ public class Ghrh_ResumeEduBGDto : Ghrh_ResumeEduBG
public string IsGraduateLabel { get; set; } public string IsGraduateLabel { get; set; }
public string StaffName { get; set; } public string StaffName { get; set; }
public List<ResumeAttachment> AttachmentIDs { get; set; } public int? IsGraduate1 { get; set; }
public List<Ghrs_Attachment> AttachmentIDs { get; set; } = new List<Ghrs_Attachment>();
} }

@ -15,8 +15,6 @@
* *
*/ */
using Tiobon.Core.Model.ViewModels.Extend;
namespace Tiobon.Core.Model.Models; namespace Tiobon.Core.Model.Models;
/// <summary> /// <summary>
@ -33,7 +31,7 @@ public class Ghrh_ResumeLicenceDto : Ghrh_ResumeLicence
/// 修改信息 /// 修改信息
/// </summary> /// </summary>
public string UpdateDataInfo { get; set; } public string UpdateDataInfo { get; set; }
public List<ResumeAttachment> AttachmentIDs { get; set; } public List<Ghrs_Attachment> AttachmentIDs { get; set; }
/// <summary> /// <summary>
/// 生效日 /// 生效日
/// </summary> /// </summary>

@ -33,7 +33,7 @@ public class Ghrh_ResumeTrainingDto : Ghrh_ResumeTraining
/// 修改信息 /// 修改信息
/// </summary> /// </summary>
public string UpdateDataInfo { get; set; } public string UpdateDataInfo { get; set; }
public List<ResumeAttachment> AttachmentIDs { get; set; } public List<Ghrs_Attachment> AttachmentIDs { get; set; }
/// <summary> /// <summary>
/// 开始日期 /// 开始日期
/// </summary> /// </summary>
@ -49,4 +49,8 @@ public class Ghrh_ResumeTrainingDto : Ghrh_ResumeTraining
/// </summary> /// </summary>
public string IsPassLabel { get; set; } public string IsPassLabel { get; set; }
public string StaffName { get; set; } public string StaffName { get; set; }
public int? IsPass1 { get; set; }
} }

@ -39,6 +39,6 @@ public class Ghrh_ResumeWorkExpDto : Ghrh_ResumeWorkExp
public string EndDate1 { get; set; } public string EndDate1 { get; set; }
public List<ResumeAttachment> AttachmentIDs { get; set; } public List<Ghrs_Attachment> AttachmentIDs { get; set; } = new List<Ghrs_Attachment>();
public string StaffName { get; set; } public string StaffName { get; set; }
} }

@ -121,7 +121,8 @@ public class ExamGroup
{ {
public long? GroupId { get; set; } public long? GroupId { get; set; }
public long? ExamRecordId { get; set; } public long? ExamRecordId { get; set; }
public DateTime? ExamTime { get; set; } public string ExamTime { get; set; }
public decimal Score { get; set; }
} }
public class CommentData public class CommentData

@ -178,6 +178,12 @@ public class Ghre_SurveyQuestionExtendBase
[Display(Name = "QuestionIcon"), Description("图标"), MaxLength(32, ErrorMessage = "图标 不能超过 32 个字符")] [Display(Name = "QuestionIcon"), Description("图标"), MaxLength(32, ErrorMessage = "图标 不能超过 32 个字符")]
public string QuestionIcon { get; set; } public string QuestionIcon { get; set; }
/// <summary>
/// 词云图关键字
/// </summary>
[Display(Name = "WordCloudKeywords"), Description("词云图关键字"), MaxLength(2000, ErrorMessage = "词云图关键字 不能超过 2000 个字符")]
public string WordCloudKeywords { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

@ -4291,8 +4291,6 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
//dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R"); //dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R");
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync(); id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_ExternalTrainApplyOrder_Boltone WHERE Id !='{id}' and len(Id) !=19"; sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_ExternalTrainApplyOrder_Boltone WHERE Id !='{id}' and len(Id) !=19";
var id1 = await Db.Ado.GetLongAsync(sql); var id1 = await Db.Ado.GetLongAsync(sql);
sql = $"UPDATE Ghre_ExternalTrainApplyOrder_Boltone SET Id={id1} WHERE Id ='{id}'"; sql = $"UPDATE Ghre_ExternalTrainApplyOrder_Boltone SET Id={id1} WHERE Id ='{id}'";
@ -4356,6 +4354,7 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
case "Apply": case "Apply":
case "BatchApply": case "BatchApply":
#region 写入数据,并判断是否有错误 #region 写入数据,并判断是否有错误
string json = param.jsonParam.ToString(); string json = param.jsonParam.ToString();
var dict = JsonHelper.JsonToObj<Ghre_TrainFeeApplyOrder_Boltone>(json); var dict = JsonHelper.JsonToObj<Ghre_TrainFeeApplyOrder_Boltone>(json);
@ -4363,6 +4362,11 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
//dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R"); //dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R");
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync(); id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
//var StaffUserId = await Db.Queryable<Ghrs_User>().Where(x => x.UserStaffID == dict.TeacherId).Select(x => x.UserId).FirstAsync();
//if (StaffUserId > 0)
// param.userId = StaffUserId;
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_TrainFeeApplyOrder_Boltone WHERE Id !='{id}' and len(Id) !=19"; sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_TrainFeeApplyOrder_Boltone WHERE Id !='{id}' and len(Id) !=19";
var id1 = await Db.Ado.GetLongAsync(sql); var id1 = await Db.Ado.GetLongAsync(sql);
sql = $"UPDATE Ghre_TrainFeeApplyOrder_Boltone SET Id={id1} WHERE Id ='{id}'"; sql = $"UPDATE Ghre_TrainFeeApplyOrder_Boltone SET Id={id1} WHERE Id ='{id}'";

@ -61,7 +61,7 @@ public class Ghra_StaffServices : BaseServices<Ghra_Staff, Ghra_StaffDto, Insert
if (dept != null) if (dept != null)
entity.DeptName = dept.DeptName; entity.DeptName = dept.DeptName;
dept = await Db.Queryable<Ghro_Dept>().Where(x => x.ParentDeptID == entity.DeptId).FirstAsync(); dept = await Db.Queryable<Ghro_Dept>().Where(x => x.DeptID == dept.ParentDeptID).FirstAsync();
if (dept != null) if (dept != null)
entity.ParentDeptName = dept.DeptName; entity.ParentDeptName = dept.DeptName;
} }

@ -28,7 +28,6 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
RefAsync<int> totalCount = 0; RefAsync<int> totalCount = 0;
string sql = @"SELECT * string sql = @"SELECT *
FROM (SELECT A.*, FROM (SELECT A.*,
D.SceneName + ' (' + D.SceneNo + ')' CourseSceneName,
E.CourseWareName + ' (' + E.CourseWareNo + ')' CourseWareName, E.CourseWareName + ' (' + E.CourseWareNo + ')' CourseWareName,
F.StaffName + ' (' + F.StaffNo + ')' ManagerStaffName, F.StaffName + ' (' + F.StaffNo + ')' ManagerStaffName,
G.UserName CreateName, G.UserName CreateName,
@ -39,7 +38,6 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
END TeacherName, END TeacherName,
ISNULL (A.UpdateTime, A.CreateTime) CreateTime1 ISNULL (A.UpdateTime, A.CreateTime) CreateTime1
FROM Ghre_Course A FROM Ghre_Course A
LEFT JOIN Ghre_CourseScene D ON A.CourseSceneId = D.Id
LEFT JOIN Ghre_CourseWare E ON A.CourseWareId = E.Id LEFT JOIN Ghre_CourseWare E ON A.CourseWareId = E.Id
LEFT JOIN Ghra_Staff F ON A.ManagerId = F.StaffID LEFT JOIN Ghra_Staff F ON A.ManagerId = F.StaffID
LEFT JOIN Ghrs_User G ON A.CreateBy = G.UserId LEFT JOIN Ghrs_User G ON A.CreateBy = G.UserId
@ -161,11 +159,11 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
courseSceneIds = courseSceneIds.Concat(JsonConvert.DeserializeObject<List<long>>(x)).ToList(); courseSceneIds = courseSceneIds.Concat(JsonConvert.DeserializeObject<List<long>>(x)).ToList();
}); });
data.ForEach(x => //data.ForEach(x =>
{ //{
if (x.CourseSceneId != null) // if (x.CourseSceneId != null)
courseSceneIds.Add(x.CourseSceneId.Value); // courseSceneIds.Add(x.CourseSceneId.Value);
}); //});
courseSceneIds = courseSceneIds.Distinct().ToList(); courseSceneIds = courseSceneIds.Distinct().ToList();
var courseScenes = await Db.Queryable<Ghre_CourseScene>().Where(x => courseSceneIds.Contains(x.Id)).ToListAsync(); var courseScenes = await Db.Queryable<Ghre_CourseScene>().Where(x => courseSceneIds.Contains(x.Id)).ToListAsync();
@ -188,11 +186,11 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
} }
} }
else if (x.CourseSceneId != null) //else if (x.CourseSceneId != null)
{ //{
var courseScene = courseScenes.Where(a => a.Id == x.CourseSceneId).ToList(); // var courseScene = courseScenes.Where(a => a.Id == x.CourseSceneId).ToList();
x.CourseSceneName = string.Join(",", courseScene.Select(a => a.SceneName + " (" + a.SceneNo + ")")); // x.CourseSceneName = string.Join(",", courseScene.Select(a => a.SceneName + " (" + a.SceneNo + ")"));
} //}
x.BuiltInLabel = x.BuiltIn == 1 ? "是" : "否"; x.BuiltInLabel = x.BuiltIn == 1 ? "是" : "否";
}); });
@ -691,7 +689,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
sql += $"AND ( CourseNo like '%{keyWords}%' or CourseName like '%{keyWords}%')"; sql += $"AND ( CourseNo like '%{keyWords}%' or CourseName like '%{keyWords}%')";
if (linkId.HasValue) if (linkId.HasValue)
sql += $" AND CourseSceneId='{linkId}'"; sql += $" AND (CourseSceneId='{linkId}' or CourseSceneIds like '%{linkId}%')";
sql += $" ORDER BY UpdateTime DESC, CreateTime DESC"; sql += $" ORDER BY UpdateTime DESC, CreateTime DESC";
dt = await Db.Ado.GetDataTableAsync(sql); dt = await Db.Ado.GetDataTableAsync(sql);

@ -463,6 +463,15 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
await Db.Updateable(record).ExecuteCommandAsync(); await Db.Updateable(record).ExecuteCommandAsync();
await Db.Updateable(details).ExecuteCommandAsync(); await Db.Updateable(details).ExecuteCommandAsync();
var groupId = details.First()?.GroupId;
var group = await Db.Queryable<Ghre_ExamRecordGroup>().Where(x => x.Id == groupId).FirstAsync();
if (group != null)
{
group.Score = record.Score;
await Db.Updateable(group).UpdateColumns(it => new { it.Score }, true)
.ExecuteCommandAsync();
}
return ServiceResult.OprateSuccess("提交成功!"); return ServiceResult.OprateSuccess("提交成功!");
} }
@ -813,7 +822,7 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
extend.ExamEndDate = DateTimeHelper.ConvertToDayString(record.EndTime); extend.ExamEndDate = DateTimeHelper.ConvertToDayString(record.EndTime);
} }
extend.ExamStatus = record.Status; extend.ExamStatus = record.Status;
extend.TotalScore = record.TotalScore; extend.TotalScore = details.Where(x => x.Score != null).Sum(x => x.Score);
extend.Id = record.Id; extend.Id = record.Id;
extend.CourseName = record.CourseName; extend.CourseName = record.CourseName;
extend.CanRetake = true; extend.CanRetake = true;
@ -882,15 +891,23 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
} }
#endregion #endregion
extend.Groups = await Db.Queryable<Ghre_ExamRecordGroup>() var Groups = await Db.Queryable<Ghre_ExamRecordGroup>()
.OrderByDescending(x => x.ExamTime) .OrderByDescending(x => x.ExamTime)
.Where(x => x.ExamRecordId == record.Id) .Where(x => x.ExamRecordId == record.Id)
.Select(x => new ExamGroup() .Select(x => new
{ {
GroupId = x.Id, GroupId = x.Id,
ExamRecordId = x.ExamRecordId, x.ExamRecordId,
ExamTime = x.ExamTime, x.ExamTime,
x.Score
}).ToListAsync(); }).ToListAsync();
extend.Groups = Groups
.Select(x => new ExamGroup()
{
GroupId = x.GroupId,
ExamRecordId = x.ExamRecordId,
ExamTime = x.ExamTime.ObjToString() + (x.Score != null ? $"得分:{x.Score}" : ""),
}).ToList();
return ServiceResult<QueryExam>.OprateSuccess("查询成功!", extend); return ServiceResult<QueryExam>.OprateSuccess("查询成功!", extend);
} }
@ -1016,11 +1033,11 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
//多次考试成绩认定,Latest,最新分数; Highest,最高分数; Lowest,最低分数 //多次考试成绩认定,Latest,最新分数; Highest,最高分数; Lowest,最低分数
var ScoreRecognition = exam.ScoreRule ?? "Latest"; var ScoreRecognition = exam.ScoreRule ?? "Latest";
if (exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM && ScoreRecognition != "Latest") //if (exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM && ScoreRecognition != "Latest")
{ //{
sql = $@"UPDATE Ghre_ExamRecordDetail SET IsEnable=2 WHERE ExamRecordId='{record.Id}'; // sql = $@"UPDATE Ghre_ExamRecordDetail SET IsEnable=2 WHERE ExamRecordId='{record.Id}';
UPDATE Ghre_ExamRecordAnswer SET IsEnable=2 WHERE ExamRecordId='{record.Id}';"; // UPDATE Ghre_ExamRecordAnswer SET IsEnable=2 WHERE ExamRecordId='{record.Id}';";
} //}
await Db.Ado.ExecuteCommandAsync(sql); await Db.Ado.ExecuteCommandAsync(sql);
var questionIds = answers.Select(x => x.QuestionId).ToList(); var questionIds = answers.Select(x => x.QuestionId).ToList();
@ -1158,20 +1175,24 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
} }
#endregion #endregion
group.Score = record.Score;
await Db.Updateable(group).UpdateColumns(it => new { it.Score }, true)
.ExecuteCommandAsync();
#region 多次考试成绩认定 #region 多次考试成绩认定
if (exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM && (ScoreRecognition == "Highest" || ScoreRecognition == "Lowest")) if (exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM && (ScoreRecognition == "Highest" || ScoreRecognition == "Lowest"))
{ {
if ((ScoreRecognition == "Highest" && record.Score < lastScore) || ScoreRecognition == "Lowest" && record.Score > lastScore) if ((ScoreRecognition == "Highest" && record.Score < lastScore) || ScoreRecognition == "Lowest" && record.Score > lastScore)
{ {
record.Score = lastScore; record.Score = lastScore;
sql = $@"UPDATE Ghre_ExamRecordDetail SET IsEnable=0 WHERE ExamRecordId='{record.Id}'; //sql = $@"UPDATE Ghre_ExamRecordDetail SET IsEnable=0 WHERE ExamRecordId='{record.Id}';
UPDATE Ghre_ExamRecordAnswer SET IsEnable=0 WHERE ExamRecordId='{record.Id}';"; // UPDATE Ghre_ExamRecordAnswer SET IsEnable=0 WHERE ExamRecordId='{record.Id}';";
await Db.Ado.ExecuteCommandAsync(sql); //await Db.Ado.ExecuteCommandAsync(sql);
sql = $@"UPDATE Ghre_ExamRecordDetail SET IsEnable=1 WHERE IsEnable=2 AND ExamRecordId='{record.Id}'; //sql = $@"UPDATE Ghre_ExamRecordDetail SET IsEnable=1 WHERE IsEnable=2 AND ExamRecordId='{record.Id}';
UPDATE Ghre_ExamRecordAnswer SET IsEnable=1 WHERE IsEnable=2 AND ExamRecordId='{record.Id}';"; // UPDATE Ghre_ExamRecordAnswer SET IsEnable=1 WHERE IsEnable=2 AND ExamRecordId='{record.Id}';";
await Db.Ado.ExecuteCommandAsync(sql); //await Db.Ado.ExecuteCommandAsync(sql);
} }
#region 处理最终得分 #region 处理最终得分
@ -1655,4 +1676,31 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
return ServiceResult.OprateSuccess("发放成功!"); return ServiceResult.OprateSuccess("发放成功!");
} }
#endregion #endregion
#region 查询考试组
public async Task<ServiceResult<List<ExamGroup>>> QueryGroups(long examRecordId)
{
var Groups = await Db.Queryable<Ghre_ExamRecordGroup>()
.OrderByDescending(x => x.ExamTime)
.Where(x => x.ExamRecordId == examRecordId)
.Select(x => new
{
GroupId = x.Id,
x.ExamRecordId,
x.ExamTime,
x.Score
}).ToListAsync();
var groups = Groups
.Select(x => new ExamGroup()
{
GroupId = x.GroupId,
ExamRecordId = x.ExamRecordId,
ExamTime = x.ExamTime.ObjToString() + (x.Score != null ? $"得分:{x.Score}" : ""),
}).ToList();
return ServiceResult<List<ExamGroup>>.OprateSuccess("成功!", groups);
}
#endregion
} }

@ -801,6 +801,8 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
{ {
var input = new DefaultGhre_ExamInput(); var input = new DefaultGhre_ExamInput();
var companyCode = await QueryCompanyCode();
#region baseColumns #region baseColumns
var baseColumns = new List<DefaultGhre_ExamColumn> var baseColumns = new List<DefaultGhre_ExamColumn>
{ {
@ -949,7 +951,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
label = "考试成绩规则", label = "考试成绩规则",
field = "ScoreRule", field = "ScoreRule",
elementType = "ApiSelect", elementType = "ApiSelect",
required = false, required = true,
multipleSelect = false, multipleSelect = false,
editable = true, editable = true,
dataSource = "TBParaDetail_Train_TrainScoreRule" dataSource = "TBParaDetail_Train_TrainScoreRule"
@ -959,7 +961,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
label = "学习完成规则", label = "学习完成规则",
field = "StudyFinishedRule", field = "StudyFinishedRule",
elementType = "ApiSelect", elementType = "ApiSelect",
required = false, required= companyCode == "Viavi"?false: true,
multipleSelect = false, multipleSelect = false,
editable = true, editable = true,
dataSource = "TBParaDetail_Train_TrainStudyFinishedRule" dataSource = "TBParaDetail_Train_TrainStudyFinishedRule"
@ -969,7 +971,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
label = "是否允许查看答案和解析", label = "是否允许查看答案和解析",
field = "IsViewResult", field = "IsViewResult",
elementType = "RadioBox", elementType = "RadioBox",
required = false, required = true,
multipleSelect = false, multipleSelect = false,
editable = true editable = true
}, },
@ -978,7 +980,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
label = " 查看答案和解析后,是否允许重新考试", label = " 查看答案和解析后,是否允许重新考试",
field = "IsAfterViewResultRetake", field = "IsAfterViewResultRetake",
elementType = "RadioBox", elementType = "RadioBox",
required = false, required = true,
multipleSelect = false, multipleSelect = false,
editable = true editable = true
}, },
@ -993,7 +995,6 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
} }
}; };
var companyCode = await QueryCompanyCode();
if (companyCode == "Viavi") if (companyCode == "Viavi")
baseColumns = baseColumns.Where(x => x.field != "ExamMode1").ToList(); baseColumns = baseColumns.Where(x => x.field != "ExamMode1").ToList();
#endregion #endregion
@ -1071,6 +1072,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
var staffTableData = await QueryStaff1(Id); var staffTableData = await QueryStaff1(Id);
pageData.staffTableData = staffTableData.Data; pageData.staffTableData = staffTableData.Data;
} }
else input.pageData.ScoreRule = "Highest";
#endregion #endregion
input.baseColumns = baseColumns; input.baseColumns = baseColumns;
@ -1133,12 +1135,14 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
data.ForEach(x => data.ForEach(x =>
{ {
if (x.DataSource.IsNull()) if (x.DataSource.IsNull())
x.DataSource = Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED; x.DataSource = DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED;
if (x.DataSource == Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED) if (x.DataSource == DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED)
x.DataSourceLabel = "手动必修"; x.DataSourceLabel = "手动必修";
else if (x.DataSource == Consts.DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED) else if (x.DataSource == DIC_EXAM_STAFF_SOURCE.STUDY_RULE_REQUIRED)
x.DataSourceLabel = "必修规则"; x.DataSourceLabel = "必修规则";
else if (x.DataSource == DIC_EXAM_STAFF_SOURCE.MANUAL_ELECTIVE)
x.DataSourceLabel = "手动选修";
}); });
return ServiceResult<List<StaffTableData>>.OprateSuccess("查询成功!", data); return ServiceResult<List<StaffTableData>>.OprateSuccess("查询成功!", data);

@ -693,7 +693,7 @@ FROM Ghre_Request A
CreateProg, CreateProg,
DeptNo, DeptNo,
StaffNo, StaffNo,
LastUpdateDate,TrainStaffId,TrainClass,InOrOut) LastUpdateDate,TrainStaffId,TrainClass,InOrOut,OutSideOrg)
SELECT A.Id, SELECT A.Id,
A.RequestSource, A.RequestSource,
c.DeptName, c.DeptName,
@ -714,7 +714,7 @@ FROM Ghre_Request A
SELECT ',' + S.StaffNo SELECT ',' + S.StaffNo
FROM OPENJSON(A.TrainStaffId) WITH (TrainStaffId INT '$') AS JsonData FROM OPENJSON(A.TrainStaffId) WITH (TrainStaffId INT '$') AS JsonData
INNER JOIN Ghra_Staff S ON JsonData.TrainStaffId = S.StaffID INNER JOIN Ghra_Staff S ON JsonData.TrainStaffId = S.StaffID
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS StaffNames,A.TrainClass,A.InOrOut FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS StaffNames,A.TrainClass,A.InOrOut,OutSideOrg
FROM Ghre_Request A FROM Ghre_Request A
LEFT JOIN [120.26.205.42].[GhrUshio].[dbo].Ghre_GHR50Request B LEFT JOIN [120.26.205.42].[GhrUshio].[dbo].Ghre_GHR50Request B
ON B.RequestID = A.Id ON B.RequestID = A.Id

@ -1,12 +1,9 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using MongoDB.Driver.Linq; using MongoDB.Driver.Linq;
using NPOI.HSSF.UserModel; using NPOI.HSSF.UserModel;
using NPOI.SS.Formula.Functions;
using NPOI.SS.UserModel; using NPOI.SS.UserModel;
using NPOI.SS.Util; using NPOI.SS.Util;
using NPOI.XSSF.UserModel; using NPOI.XSSF.UserModel;
using Tiobon.Core.Model.Models;
using static System.Runtime.InteropServices.JavaScript.JSType;
using static Tiobon.Core.DataAccess.ReportHelper; using static Tiobon.Core.DataAccess.ReportHelper;
using static Tiobon.Core.Model.Consts; using static Tiobon.Core.Model.Consts;
@ -268,12 +265,6 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
public override async Task<long> Add(InsertGhre_StudyRecordInput entity) public override async Task<long> Add(InsertGhre_StudyRecordInput entity)
{ {
if (await Db.Queryable<Ghre_StudyRecord>()
.WhereIF(!entity.CourseId.IsNullOrEmpty(), x => x.CourseId == entity.CourseId)
.WhereIF(!entity.CourseSceneId.IsNullOrEmpty(), x => x.CourseSceneId == entity.CourseSceneId)
.AnyAsync(x => x.StaffId == entity.StaffId))
throw new Exception("该用户存在相同学习记录!");
if (entity.BeginTime != null && entity.EndTime != null) if (entity.BeginTime != null && entity.EndTime != null)
{ {
if (entity.EndTime < entity.BeginTime) if (entity.EndTime < entity.BeginTime)
@ -287,6 +278,14 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
entity.CourseBeginTime = entity.BeginTime; entity.CourseBeginTime = entity.BeginTime;
entity.CourseEndTime = entity.EndTime; entity.CourseEndTime = entity.EndTime;
} }
if (await Db.Queryable<Ghre_StudyRecord>()
.WhereIF(!entity.CourseId.IsNullOrEmpty(), x => x.CourseId == entity.CourseId)
.WhereIF(!entity.CourseSceneId.IsNullOrEmpty(), x => x.CourseSceneId == entity.CourseSceneId)
.Where(x => (x.CourseBeginTime <= entity.CourseBeginTime && x.CourseEndTime >= entity.CourseBeginTime) || (x.CourseBeginTime <= entity.CourseEndTime && x.CourseEndTime >= entity.CourseEndTime))
.AnyAsync(x => x.StaffId == entity.StaffId))
throw new Exception("该用户存在相同学习记录!");
entity.StudyStatus = "HasFinish"; entity.StudyStatus = "HasFinish";
var snap = await Db.Queryable<Ghre_CourseSnap>().FirstAsync(x => x.CourseId == entity.CourseId); var snap = await Db.Queryable<Ghre_CourseSnap>().FirstAsync(x => x.CourseId == entity.CourseId);
@ -719,8 +718,8 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
AdjustScore = AdjustScore ?? 0, AdjustScore = AdjustScore ?? 0,
IsPass = isPass == "是" ? true : false, IsPass = isPass == "是" ? true : false,
ExamDate = dtExamDate, ExamDate = dtExamDate,
BeginTime = dtCourseBeginTime, CourseBeginTime = dtCourseBeginTime,
EndTime = dtCourseEndTime, CourseEndTime = dtCourseEndTime,
RemarkSz = remarkSz, RemarkSz = remarkSz,
CourseType = "ExcelImport" CourseType = "ExcelImport"
}; };
@ -1682,6 +1681,17 @@ WHERE A.Id = '{id}'";
StudyStatus = DIC_STUDY_RECORD_STUDY_STATUS.NO_JOIN, StudyStatus = DIC_STUDY_RECORD_STUDY_STATUS.NO_JOIN,
ExamId = exam?.Id ExamId = exam?.Id
}); });
if (exam != null)
{
var insertStaff = new Ghre_ExamStaff()
{
ExamId = exam?.Id,
StaffId = staffId,
Source = DIC_EXAM_STAFF_SOURCE.MANUAL_ELECTIVE
};
await Db.Insertable(insertStaff).ExecuteReturnSnowflakeIdAsync();
}
} }
return ServiceResult.OprateSuccess("加入成功!"); return ServiceResult.OprateSuccess("加入成功!");
} }

@ -203,6 +203,19 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
if (!entity.JobIds.IsNull() && entity.JobIds.Any()) if (!entity.JobIds.IsNull() && entity.JobIds.Any())
entity.JobId = JsonHelper.ObjToJson(entity.JobIds); entity.JobId = JsonHelper.ObjToJson(entity.JobIds);
var companyCode = await QueryCompanyCode();
if (companyCode != "Viavi")
if (entity.TrainType == "NewStaff")
{
if (!entity.ZoneIds.Any() &&
!entity.DeptIds.Any() &&
!entity.TitleIds.Any() &&
!entity.GradeIds.Any() &&
!entity.JobIds.Any())
throw new Exception("厂区、部门、职称、职等、岗位,至少填写任一个才能保存!");
}
var result = await base.Add(entity); var result = await base.Add(entity);
if (entity.Staffs != null && entity.Staffs.Any()) if (entity.Staffs != null && entity.Staffs.Any())
@ -239,6 +252,18 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
if (!entity.JobIds.IsNull()) if (!entity.JobIds.IsNull())
entity.JobId = JsonHelper.ObjToJson(entity.JobIds); entity.JobId = JsonHelper.ObjToJson(entity.JobIds);
var companyCode = await QueryCompanyCode();
if (companyCode != "Viavi")
if (entity.TrainType == "NewStaff")
{
if (!entity.ZoneIds.Any() &&
!entity.DeptIds.Any() &&
!entity.TitleIds.Any() &&
!entity.GradeIds.Any() &&
!entity.JobIds.Any())
throw new Exception("厂区、部门、职称、职等、岗位,至少填写任一个才能保存!");
}
var result = await base.Update(Id, entity); var result = await base.Update(Id, entity);
await _ghre_StudyRuleStaffServices.Delete(x => x.StudyRuleId == Id); await _ghre_StudyRuleStaffServices.Delete(x => x.StudyRuleId == Id);

@ -1,5 +1,4 @@
using SqlSugar.Extensions; using System.Text.RegularExpressions;
using Tiobon.Core.IServices;
namespace Tiobon.Core.Services; namespace Tiobon.Core.Services;
@ -570,6 +569,29 @@ public class Ghre_SurveyServices : BaseServices<Ghre_Survey, Ghre_SurveyDto, Ins
o.Percent = $"0%"; o.Percent = $"0%";
}); });
} }
else if (x.QuestionType == "ShortAnswer")
{
if (x.WordCloudKeywords.IsNotEmptyOrNull())
{
var recordOption = recordOptions.Where(a => a.SurveyQuestionId == x.Id).FirstOrDefault();
var KeywordList = x.WordCloudKeywords.Split(',');
x.Table = KeywordList.Select(x => new Ghre_SurveyStatisticQuestionTable
{
OptionContent = x,
Count = 0,
Percent1 = 0
}).ToList();
x.Table.ForEach(o =>
{
string keyword = o.OptionContent;
// 使用正则表达式匹配关键字(忽略大小写)
o.Count = Regex.Matches(recordOption.OptionContent, Regex.Escape(keyword), RegexOptions.None).Count;
});
}
}
else else
{ {
x.Table = Mapper.Map(options.Where(o => o.SurveyQuestionId == x.Id)).ToANew<List<Ghre_SurveyStatisticQuestionTable>>(); x.Table = Mapper.Map(options.Where(o => o.SurveyQuestionId == x.Id)).ToANew<List<Ghre_SurveyStatisticQuestionTable>>();

@ -146,6 +146,8 @@ public class Ghre_TitleSkill_BoltoneServices : BaseServices<Ghre_TitleSkill_Bolt
}); });
condition += ")"; condition += ")";
} }
else
condition += $" AND 1!=1";
var result2 = await _staffServices.QueryFilterPage(filter, condition); var result2 = await _staffServices.QueryFilterPage(filter, condition);
@ -165,6 +167,8 @@ public class Ghre_TitleSkill_BoltoneServices : BaseServices<Ghre_TitleSkill_Bolt
{ {
var column = result2.result.DT_TableDataT1[i]; var column = result2.result.DT_TableDataT1[i];
column.Reverse16 = await GetParaLabel("R09", column.Reverse16);
var item1 = new JObject var item1 = new JObject
{ {
new JProperty("StaffID", column.StaffID), new JProperty("StaffID", column.StaffID),
@ -172,7 +176,7 @@ public class Ghre_TitleSkill_BoltoneServices : BaseServices<Ghre_TitleSkill_Bolt
new JProperty("IndateLabel", column.IndateLabel), new JProperty("IndateLabel", column.IndateLabel),
new JProperty("StaffNo", column.StaffNo), new JProperty("StaffNo", column.StaffNo),
new JProperty("StaffName", column.StaffName), new JProperty("StaffName", column.StaffName),
new JProperty("StaffType1Label", column.StaffType1Label), new JProperty("StaffType1Label", column.Reverse16),
new JProperty("TitleName", column.TitleName), new JProperty("TitleName", column.TitleName),
}; };
//× 生手 技能有效期内所对应课程还未分配或课程学习时长为0 //× 生手 技能有效期内所对应课程还未分配或课程学习时长为0

@ -25,7 +25,7 @@ public class Ghrh_ResumeEduBGServices : BaseServices<Ghrh_ResumeEduBG, Ghrh_Resu
{ {
x.AttachmentIDs = attachments x.AttachmentIDs = attachments
.Where(o => o.TableName == x.Id.ToString()) .Where(o => o.TableName == x.Id.ToString())
.Select(o => new ResumeAttachment() .Select(o => new Ghrs_Attachment()
{ {
AttachmentID = o.AttachmentID, AttachmentID = o.AttachmentID,
AttachFileExtension = o.AttachFileExtension, AttachFileExtension = o.AttachFileExtension,
@ -78,11 +78,20 @@ public class Ghrh_ResumeEduBGServices : BaseServices<Ghrh_ResumeEduBG, Ghrh_Resu
} }
#endregion #endregion
public override async Task<long> Add(InsertGhrh_ResumeEduBGInput entity)
{
var result = await Add([entity]);
return result.First();
}
public override async Task<List<long>> Add(List<InsertGhrh_ResumeEduBGInput> listEntity) public override async Task<List<long>> Add(List<InsertGhrh_ResumeEduBGInput> listEntity)
{ {
var result = new List<long>(); var result = new List<long>();
for (int i = 0; i < listEntity.Count; i++) for (int i = 0; i < listEntity.Count; i++)
{ {
listEntity[i].IsGraduate = listEntity[i].IsGraduate1 == 1 ? true : false;
var id = await base.Add(listEntity[i]); var id = await base.Add(listEntity[i]);
if (listEntity[i].AttachmentIDs != null && listEntity[i].AttachmentIDs.Any()) if (listEntity[i].AttachmentIDs != null && listEntity[i].AttachmentIDs.Any())
{ {
@ -97,7 +106,38 @@ public class Ghrh_ResumeEduBGServices : BaseServices<Ghrh_ResumeEduBG, Ghrh_Resu
return result; return result;
} }
public override async Task<bool> Update(long Id, EditGhrh_ResumeEduBGInput editModel)
{
editModel.IsGraduate = editModel.IsGraduate1 == 1 ? true : false;
var result = await base.Update(Id, editModel);
if (editModel.AttachmentIDs != null && editModel.AttachmentIDs.Any())
{
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = null })
.Where(it => it.TableName == Id.ToString())
.ExecuteCommandAsync();
var ids = editModel.AttachmentIDs.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = Id.ToString() })
.Where(it => it.AttachmentID != null && ids.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
return result;
}
public override async Task<ServiceFormResult<Ghrh_ResumeEduBGDto>> QueryForm(QueryForm body)
{
var result = await base.QueryForm(body);
result.result.DT_TableDataT1[0].AttachmentIDs = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == body.id.ObjToString()).ToListAsync();
result.result.DT_TableDataT1[0].IsGraduate1 = result.result.DT_TableDataT1[0].IsGraduate == true ? 1 : 0;
return result;
}
#region Excel导入 #region Excel导入
public override async Task<ServiceResult<string>> DownloadExcel(string menuName) public override async Task<ServiceResult<string>> DownloadExcel(string menuName)

@ -1,4 +1,6 @@
namespace Tiobon.Core.Services; using Tiobon.Core.Common.DB.Dapper.Extensions;
namespace Tiobon.Core.Services;
/// <summary> /// <summary>
/// 证件 (服务) /// 证件 (服务)
@ -24,7 +26,7 @@ public class Ghrh_ResumeLicenceServices : BaseServices<Ghrh_ResumeLicence, Ghrh_
await SetLabel(x); await SetLabel(x);
x.AttachmentIDs = attachments x.AttachmentIDs = attachments
.Where(o => o.TableName == x.Id.ToString()) .Where(o => o.TableName == x.Id.ToString())
.Select(o => new ResumeAttachment() .Select(o => new Ghrs_Attachment()
{ {
AttachmentID = o.AttachmentID, AttachmentID = o.AttachmentID,
AttachFileExtension = o.AttachFileExtension, AttachFileExtension = o.AttachFileExtension,
@ -55,6 +57,48 @@ public class Ghrh_ResumeLicenceServices : BaseServices<Ghrh_ResumeLicence, Ghrh_
} }
return result; return result;
} }
public override async Task<long> Add(InsertGhrh_ResumeLicenceInput entity)
{
var result = await Add([entity]);
return result.First();
}
public override async Task<bool> Update(long Id, EditGhrh_ResumeLicenceInput editModel)
{
var result = await base.Update(Id, editModel);
if (editModel.AttachmentIDs != null && editModel.AttachmentIDs.Any())
{
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = null })
.Where(it => it.TableName == Id.ToString())
.ExecuteCommandAsync();
var ids = editModel.AttachmentIDs.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = Id.ToString() })
.Where(it => it.AttachmentID != null && ids.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
return result;
}
public override async Task<ServiceFormResult<Ghrh_ResumeLicenceDto>> QueryForm(QueryForm body)
{
var result = await base.QueryForm(body);
result.result.DT_TableDataT1[0].AttachmentIDs = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == body.id.ObjToString()).ToListAsync();
return result;
}
#region 字典映射、全称、单位转换等 #region 字典映射、全称、单位转换等
/// <summary> /// <summary>
/// 字典映射、全称、单位转换等 /// 字典映射、全称、单位转换等

@ -24,7 +24,7 @@ public class Ghrh_ResumeTrainingServices : BaseServices<Ghrh_ResumeTraining, Ghr
await SetLabel(x); await SetLabel(x);
x.AttachmentIDs = attachments x.AttachmentIDs = attachments
.Where(o => o.TableName == x.Id.ToString()) .Where(o => o.TableName == x.Id.ToString())
.Select(o => new ResumeAttachment() .Select(o => new Ghrs_Attachment()
{ {
AttachmentID = o.AttachmentID, AttachmentID = o.AttachmentID,
AttachFileExtension = o.AttachFileExtension, AttachFileExtension = o.AttachFileExtension,
@ -77,6 +77,7 @@ public class Ghrh_ResumeTrainingServices : BaseServices<Ghrh_ResumeTraining, Ghr
var result = new List<long>(); var result = new List<long>();
for (int i = 0; i < listEntity.Count; i++) for (int i = 0; i < listEntity.Count; i++)
{ {
listEntity[i].IsPass = listEntity[i].IsPass1 == 1 ? true : false;
var id = await base.Add(listEntity[i]); var id = await base.Add(listEntity[i]);
if (listEntity[i].AttachmentIDs != null && listEntity[i].AttachmentIDs.Any()) if (listEntity[i].AttachmentIDs != null && listEntity[i].AttachmentIDs.Any())
{ {
@ -91,6 +92,47 @@ public class Ghrh_ResumeTrainingServices : BaseServices<Ghrh_ResumeTraining, Ghr
return result; return result;
} }
public override async Task<long> Add(InsertGhrh_ResumeTrainingInput entity)
{
var result = await Add([entity]);
return result.First();
}
public override async Task<bool> Update(long Id, EditGhrh_ResumeTrainingInput editModel)
{
editModel.IsPass = editModel.IsPass1 == 1 ? true : false;
var result = await base.Update(Id, editModel);
if (editModel.AttachmentIDs != null && editModel.AttachmentIDs.Any())
{
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = null })
.Where(it => it.TableName == Id.ToString())
.ExecuteCommandAsync();
var ids = editModel.AttachmentIDs.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = Id.ToString() })
.Where(it => it.AttachmentID != null && ids.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
return result;
}
public override async Task<ServiceFormResult<Ghrh_ResumeTrainingDto>> QueryForm(QueryForm body)
{
var result = await base.QueryForm(body);
result.result.DT_TableDataT1[0].AttachmentIDs = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == body.id.ObjToString()).ToListAsync();
result.result.DT_TableDataT1[0].IsPass1 = result.result.DT_TableDataT1[0].IsPass == true ? 1 : 0;
return result;
}
#region Excel导入 #region Excel导入
public override async Task<ServiceResult<string>> DownloadExcel(string menuName) public override async Task<ServiceResult<string>> DownloadExcel(string menuName)
{ {

@ -1,4 +1,7 @@
namespace Tiobon.Core.Services; using Tiobon.Core.Common.DB.Dapper.Extensions;
using Tiobon.Core.Model.Models;
namespace Tiobon.Core.Services;
/// <summary> /// <summary>
/// 工作经历 (服务) /// 工作经历 (服务)
@ -24,7 +27,7 @@ public class Ghrh_ResumeWorkExpServices : BaseServices<Ghrh_ResumeWorkExp, Ghrh_
await SetLabel(x); await SetLabel(x);
x.AttachmentIDs = attachments x.AttachmentIDs = attachments
.Where(o => o.TableName == x.Id.ToString()) .Where(o => o.TableName == x.Id.ToString())
.Select(o => new ResumeAttachment() .Select(o => new Ghrs_Attachment()
{ {
AttachmentID = o.AttachmentID, AttachmentID = o.AttachmentID,
AttachFileExtension = o.AttachFileExtension, AttachFileExtension = o.AttachFileExtension,
@ -56,6 +59,45 @@ public class Ghrh_ResumeWorkExpServices : BaseServices<Ghrh_ResumeWorkExp, Ghrh_
return result; return result;
} }
public override async Task<long> Add(InsertGhrh_ResumeWorkExpInput entity)
{
var result = await Add([entity]);
return result.First();
}
public override async Task<bool> Update(long Id, EditGhrh_ResumeWorkExpInput editModel)
{
var result = await base.Update(Id, editModel);
if (editModel.AttachmentIDs != null && editModel.AttachmentIDs.Any())
{
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = null })
.Where(it => it.TableName == Id.ToString())
.ExecuteCommandAsync();
var ids = editModel.AttachmentIDs.Select(x => x.RelativePath).ToList();
await Db.Updateable<Ghrs_Attachment>()
.SetColumns(x => new Ghrs_Attachment() { TableName = Id.ToString() })
.Where(it => it.AttachmentID != null && ids.Contains(it.RelativePath))
.ExecuteCommandAsync();
}
return result;
}
public override async Task<ServiceFormResult<Ghrh_ResumeWorkExpDto>> QueryForm(QueryForm body)
{
var result = await base.QueryForm(body);
result.result.DT_TableDataT1[0].AttachmentIDs = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == body.id.ObjToString()).ToListAsync();
return result;
}
#region 字典映射、全称、单位转换等 #region 字典映射、全称、单位转换等
/// <summary> /// <summary>
/// 字典映射、全称、单位转换等 /// 字典映射、全称、单位转换等

@ -5740,6 +5740,16 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_BoltoneBase.SchoolName1">
<summary>
SchoolName1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_BoltoneBase.CourseName1">
<summary>
CourseName1
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitleBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitleBase">
<summary> <summary>
多岗维护 (Dto.Base) 多岗维护 (Dto.Base)
@ -7345,6 +7355,11 @@
系统内置 系统内置
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_RequestBase.OutSideOrg">
<summary>
外训机构
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourseBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourseBase">
<summary> <summary>
必选修查询 (Dto.Base) 必选修查询 (Dto.Base)
@ -9020,6 +9035,11 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_SurveyQuestionBase.WordCloudKeywords">
<summary>
词云图关键字
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecordBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecordBase">
<summary> <summary>
Ghre_SurveyRecord (Dto.Base) Ghre_SurveyRecord (Dto.Base)
@ -13890,7 +13910,7 @@
预留字段11 预留字段11
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeTrainingBase.ReverseI2"> <member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeTrainingBase.IsPass1">
<summary> <summary>
预留字段12 预留字段12
</summary> </summary>
@ -24352,6 +24372,16 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_Boltone.SchoolName1">
<summary>
SchoolName1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExternalTrainApplyOrder_Boltone.CourseName1">
<summary>
CourseName1
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitle"> <member name="T:Tiobon.Core.Model.Models.Ghre_MultipleTitle">
<summary> <summary>
多岗维护 (Model) 多岗维护 (Model)
@ -25937,6 +25967,11 @@
系统内置 系统内置
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Request.OutSideOrg">
<summary>
外训机构
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourse"> <member name="T:Tiobon.Core.Model.Models.Ghre_RequiredCourse">
<summary> <summary>
必选修查询 (Model) 必选修查询 (Model)
@ -27542,6 +27577,11 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_SurveyQuestion.WordCloudKeywords">
<summary>
词云图关键字
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecord"> <member name="T:Tiobon.Core.Model.Models.Ghre_SurveyRecord">
<summary> <summary>
Ghre_SurveyRecord (Model) Ghre_SurveyRecord (Model)
@ -39513,6 +39553,11 @@
必修规则 必修规则
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_ELECTIVE">
<summary>
手动选修
</summary>
</member>
<member name="T:Tiobon.Core.Model.Consts.DIC_TRAINING_STUDY_RULE_TRAIN_TYPE"> <member name="T:Tiobon.Core.Model.Consts.DIC_TRAINING_STUDY_RULE_TRAIN_TYPE">
<summary> <summary>
培训规则种类 培训规则种类
@ -40398,6 +40443,11 @@
图标 图标
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyQuestionExtendBase.WordCloudKeywords">
<summary>
词云图关键字
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyQuestionExtendBase.RemarkSz"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyQuestionExtendBase.RemarkSz">
<summary> <summary>
备注 备注

@ -1095,6 +1095,13 @@
<param name="examRecordId"></param> <param name="examRecordId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamRecordController.QueryGroups(System.Int64)">
<summary>
查询考试组
</summary>
<param name="examRecordId"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController"> <member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController">
<summary> <summary>
Ghre_ExamRecordDetail(Controller) Ghre_ExamRecordDetail(Controller)

Loading…
Cancel
Save