diff --git a/Tiobon.Core.Services/CommonServices.cs b/Tiobon.Core.Services/CommonServices.cs index a0a38fe0..47fb8433 100644 --- a/Tiobon.Core.Services/CommonServices.cs +++ b/Tiobon.Core.Services/CommonServices.cs @@ -857,6 +857,17 @@ public partial class CommonServices : BaseServices>, ICommon var index = -1; switch (param.menuName) { + case "F_CertificationComparison": + result.JM_PageControlT1.Toolbar.Add(new Toolbar() + { + display = true, + fnKey = "TBD5YN", + fnTitle = "预览", + fnType = "row", + icon = "ghr-preview", + position = "left" + }); + break; case "F_Training_CourseAndScene_Report": { toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault(); @@ -1093,6 +1104,16 @@ public partial class CommonServices : BaseServices>, ICommon if (toolbar != null) toolbar.fnKey = "TBD3YN"; toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault(); if (toolbar != null) toolbar.fnKey = "TBD4YN"; + + result.JM_PageControlT1.Toolbar.Add(new Toolbar() + { + display = true, + fnKey = "TBD5YN", + fnTitle = "记录", + fnType = "row", + icon = "ghr-preview", + position = "left" + }); break; case "F_OnlineExamScores": result.DT_Procedure.QueryProcedure = dt.Rows[0]["QueryProcedure"].ToString(); @@ -4299,7 +4320,7 @@ public partial class CommonServices : BaseServices>, ICommon break; } #endregion - + break; case "F_ESS_ExternalTrainApplyOrder_Boltone": //外训申请_宝连通 diff --git a/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs index ac93ce0c..ff6ac2f4 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateRuleServices.cs @@ -201,6 +201,18 @@ public class Ghre_CertificateRuleServices : BaseServices> Preview(long id) { var result = await base.QueryById(id); + + int? staffId = App.User.StaffId; + long? studyRecordId = null; + + if (result is null) + { + var certificate = await Db.Queryable().Where(x => x.Id == id).FirstAsync(); + staffId = certificate.StaffId; + studyRecordId = certificate.Reverse1.IsNotEmptyOrNull() ? certificate.Reverse1.ObjToLong() : null; + result = await base.QueryById(certificate.CertificateRuleId); + } + string CourseId1 = result.CourseId1; if (!string.IsNullOrWhiteSpace(CourseId1)) result.CourseIds = JsonConvert.DeserializeObject>(CourseId1); @@ -208,25 +220,29 @@ public class Ghre_CertificateRuleServices : BaseServices>(CourseSceneId1); - var design = await Db.Queryable().Where(x => x.CertificateRuleId == id).FirstAsync(); + var design = await Db.Queryable().Where(x => x.CertificateRuleId == result.Id).FirstAsync(); if (design != null) { - var staff = await Db.Queryable().Where(x => x.StaffID == App.User.StaffId).FirstAsync(); + var staff = await Db.Queryable().Where(x => x.StaffID == staffId).FirstAsync(); var dept = await Db.Queryable().Where(x => x.DeptID == staff.DeptID).FirstAsync(); var title = await Db.Queryable().Where(x => x.TitleID == staff.TitleID).FirstAsync(); var examRecord = await Db.Queryable() + .WhereIF(studyRecordId != null, x => x.Id == studyRecordId) .OrderByDescending(x => x.CreateTime) .FirstAsync(); var exam = await Db.Queryable().FirstAsync(); - var studyRecord = await Db.Queryable().Where(x => x.Id == examRecord.StudyRecordId).FirstAsync(); + var studyRecord = await Db.Queryable() + .WhereIF(examRecord != null, x => x.Id == examRecord.StudyRecordId) + .WhereIF(studyRecordId != null, x => x.Id == studyRecordId) + .FirstAsync(); var course = await Db.Queryable().FirstAsync(); //var courseScene = await Db.Queryable().Where(x => x.Id == course.sc).FirstAsync(); var design1 = Mapper.Map(design).ToANew(); var items = new List(); - var designItems = await Db.Queryable().Where(x => x.CertificateRuleId == id).ToListAsync(); + var designItems = await Db.Queryable().Where(x => x.CertificateRuleId == result.Id).ToListAsync(); designItems.ForEach(x => { var item = Mapper.Map(x).ToANew(); diff --git a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs index 17402cd7..b6b9b260 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs @@ -1753,7 +1753,8 @@ public class Ghre_ExamRecordServices : BaseServices