|
|
@ -201,6 +201,18 @@ public class Ghre_CertificateRuleServices : BaseServices<Ghre_CertificateRule, G |
|
|
|
public async Task<ServiceResult<Ghre_CertificateRuleDto>> Preview(long id) |
|
|
|
public async Task<ServiceResult<Ghre_CertificateRuleDto>> Preview(long id) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var result = await base.QueryById(id); |
|
|
|
var result = await base.QueryById(id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int? staffId = App.User.StaffId; |
|
|
|
|
|
|
|
long? studyRecordId = null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (result is null) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var certificate = await Db.Queryable<Ghre_Certificate>().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; |
|
|
|
string CourseId1 = result.CourseId1; |
|
|
|
if (!string.IsNullOrWhiteSpace(CourseId1)) |
|
|
|
if (!string.IsNullOrWhiteSpace(CourseId1)) |
|
|
|
result.CourseIds = JsonConvert.DeserializeObject<List<long?>>(CourseId1); |
|
|
|
result.CourseIds = JsonConvert.DeserializeObject<List<long?>>(CourseId1); |
|
|
@ -208,25 +220,29 @@ public class Ghre_CertificateRuleServices : BaseServices<Ghre_CertificateRule, G |
|
|
|
if (!string.IsNullOrWhiteSpace(CourseSceneId1)) |
|
|
|
if (!string.IsNullOrWhiteSpace(CourseSceneId1)) |
|
|
|
result.CourseSceneIds = JsonConvert.DeserializeObject<List<long?>>(CourseSceneId1); |
|
|
|
result.CourseSceneIds = JsonConvert.DeserializeObject<List<long?>>(CourseSceneId1); |
|
|
|
|
|
|
|
|
|
|
|
var design = await Db.Queryable<Ghre_CertificateDesign>().Where(x => x.CertificateRuleId == id).FirstAsync(); |
|
|
|
var design = await Db.Queryable<Ghre_CertificateDesign>().Where(x => x.CertificateRuleId == result.Id).FirstAsync(); |
|
|
|
if (design != null) |
|
|
|
if (design != null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var staff = await Db.Queryable<Ghra_Staff>().Where(x => x.StaffID == App.User.StaffId).FirstAsync(); |
|
|
|
var staff = await Db.Queryable<Ghra_Staff>().Where(x => x.StaffID == staffId).FirstAsync(); |
|
|
|
var dept = await Db.Queryable<Ghro_Dept>().Where(x => x.DeptID == staff.DeptID).FirstAsync(); |
|
|
|
var dept = await Db.Queryable<Ghro_Dept>().Where(x => x.DeptID == staff.DeptID).FirstAsync(); |
|
|
|
var title = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID == staff.TitleID).FirstAsync(); |
|
|
|
var title = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID == staff.TitleID).FirstAsync(); |
|
|
|
|
|
|
|
|
|
|
|
var examRecord = await Db.Queryable<Ghre_ExamRecord>() |
|
|
|
var examRecord = await Db.Queryable<Ghre_ExamRecord>() |
|
|
|
|
|
|
|
.WhereIF(studyRecordId != null, x => x.Id == studyRecordId) |
|
|
|
.OrderByDescending(x => x.CreateTime) |
|
|
|
.OrderByDescending(x => x.CreateTime) |
|
|
|
.FirstAsync(); |
|
|
|
.FirstAsync(); |
|
|
|
var exam = await Db.Queryable<Ghre_Exam>().FirstAsync(); |
|
|
|
var exam = await Db.Queryable<Ghre_Exam>().FirstAsync(); |
|
|
|
var studyRecord = await Db.Queryable<Ghre_StudyRecord>().Where(x => x.Id == examRecord.StudyRecordId).FirstAsync(); |
|
|
|
var studyRecord = await Db.Queryable<Ghre_StudyRecord>() |
|
|
|
|
|
|
|
.WhereIF(examRecord != null, x => x.Id == examRecord.StudyRecordId) |
|
|
|
|
|
|
|
.WhereIF(studyRecordId != null, x => x.Id == studyRecordId) |
|
|
|
|
|
|
|
.FirstAsync(); |
|
|
|
|
|
|
|
|
|
|
|
var course = await Db.Queryable<Ghre_Course>().FirstAsync(); |
|
|
|
var course = await Db.Queryable<Ghre_Course>().FirstAsync(); |
|
|
|
//var courseScene = await Db.Queryable<Ghre_CourseScene>().Where(x => x.Id == course.sc).FirstAsync(); |
|
|
|
//var courseScene = await Db.Queryable<Ghre_CourseScene>().Where(x => x.Id == course.sc).FirstAsync(); |
|
|
|
|
|
|
|
|
|
|
|
var design1 = Mapper.Map(design).ToANew<CertificateDesignerData>(); |
|
|
|
var design1 = Mapper.Map(design).ToANew<CertificateDesignerData>(); |
|
|
|
var items = new List<CertificateDesignerItem>(); |
|
|
|
var items = new List<CertificateDesignerItem>(); |
|
|
|
var designItems = await Db.Queryable<Ghre_CertificateDesignItem>().Where(x => x.CertificateRuleId == id).ToListAsync(); |
|
|
|
var designItems = await Db.Queryable<Ghre_CertificateDesignItem>().Where(x => x.CertificateRuleId == result.Id).ToListAsync(); |
|
|
|
designItems.ForEach(x => |
|
|
|
designItems.ForEach(x => |
|
|
|
{ |
|
|
|
{ |
|
|
|
var item = Mapper.Map(x).ToANew<CertificateDesignerItem>(); |
|
|
|
var item = Mapper.Map(x).ToANew<CertificateDesignerItem>(); |
|
|
|