导航属性加注释

Uat_Study
hang 2022-08-26 10:21:11 +08:00
parent 22f04c82ba
commit 0342048a02
5 changed files with 108 additions and 89 deletions

View File

@ -74,6 +74,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? ParentId { get; set; } public Guid? ParentId { get; set; }
[JsonIgnore]
[ForeignKey("ParentId")] [ForeignKey("ParentId")]
public SystemBasicData Parent { get; set; } public SystemBasicData Parent { get; set; }

View File

@ -15,14 +15,14 @@ namespace IRaCIS.Core.Domain.Models
[Table("SystemDocument")] [Table("SystemDocument")]
public class SystemDocument : Entity, IAuditUpdate, IAuditAdd,ISoftDelete public class SystemDocument : Entity, IAuditUpdate, IAuditAdd,ISoftDelete
{ {
[JsonIgnore]
public List<SystemDocConfirmedUser> SystemDocConfirmedUserList { get; set; } public List<SystemDocConfirmedUser> SystemDocConfirmedUserList { get; set; }
[JsonIgnore]
public List<SystemDocNeedConfirmedUserType> NeedConfirmedUserTypeList { get; set; } public List<SystemDocNeedConfirmedUserType> NeedConfirmedUserTypeList { get; set; }
[JsonIgnore]
[ForeignKey("FileTypeId")] [ForeignKey("FileTypeId")]
public Dictionary FileType { get; set; } public Dictionary FileType { get; set; }

View File

@ -17,7 +17,7 @@ namespace IRaCIS.Core.Domain.Models
//public Guid TrialId { get; set; } //public Guid TrialId { get; set; }
//public TrialUser TrialUser { get; set; } //public TrialUser TrialUser { get; set; }
[JsonIgnore]
public TrialDocument TrialDocument { get; set; } public TrialDocument TrialDocument { get; set; }

View File

@ -18,13 +18,13 @@ namespace IRaCIS.Core.Domain.Models
//需要确认的项目用户 通过TrialId 关联 用中间表过滤 //需要确认的项目用户 通过TrialId 关联 用中间表过滤
[JsonIgnore]
public List<TrialDocUserTypeConfirmedUser> TrialDocConfirmedUserList { get; set; } public List<TrialDocUserTypeConfirmedUser> TrialDocConfirmedUserList { get; set; }
[JsonIgnore]
public List<TrialDocNeedConfirmedUserType> NeedConfirmedUserTypeList { get; set; } public List<TrialDocNeedConfirmedUserType> NeedConfirmedUserTypeList { get; set; }
[JsonIgnore]
public Trial Trial { get; set; } public Trial Trial { get; set; }
[JsonIgnore]
[ForeignKey("FileTypeId")] [ForeignKey("FileTypeId")]
public Dictionary FileType { get; set; } public Dictionary FileType { get; set; }

View File

@ -100,52 +100,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#region 区分 #region 区分
//系统文件
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemDocument)))
{
var entity = item.Entity as SystemDocument;
var userTypes = entity.NeedConfirmedUserTypeList;
if (userTypes == null)
{
userTypes = await _dbContext.SystemDocNeedConfirmedUserType.Where(x => x.SystemDocumentId == entity.Id).ToListAsync();
}
var userTypeIds = userTypes.Select(x => x.NeedConfirmUserTypeId).ToList();
var userTypeNameList = await _dbContext.UserType.Where(x => userTypeIds.Contains(x.Id)).Select(x => x.UserTypeShortName).ToListAsync();
var userTypeName = string.Join(",", userTypeNameList);
await InsertInspection<SystemDocument>(entity, type, null, new
{
NeedConfirmedUserType = userTypeName,
});
}
// 项目文档
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialDocument)))
{
var entity = item.Entity as TrialDocument;
var userTypes = entity.NeedConfirmedUserTypeList;
if (userTypes == null)
{
userTypes = await _dbContext.TrialDocNeedConfirmedUserType.Where(x => x.TrialDocumentId == entity.Id).ToListAsync();
}
var userTypeIds = userTypes.Select(x => x.NeedConfirmUserTypeId).ToList();
var usertypeNames = await _dbContext.UserType.Where(x => userTypeIds.Contains(x.Id)).Select(x => x.UserTypeShortName).ToListAsync();
var usertypeName = string.Join(",", usertypeNames);
await InsertInspection<TrialDocument>(entity, type, null, new
{
NeedConfirmedUserType = usertypeName,
});
}
// 系统文件签署 // 系统文件签署
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemDocConfirmedUser))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemDocConfirmedUser)))
@ -155,6 +109,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<SystemDocConfirmedUser>(entity, type, x => new InspectionConvertDTO() await InsertInspection<SystemDocConfirmedUser>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
ObjectRelationParentId=x.SystemDocumentId
}, new }, new
{ {
@ -175,6 +132,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<TrialDocUserTypeConfirmedUser>(entity as TrialDocUserTypeConfirmedUser, type, x => new InspectionConvertDTO() await InsertInspection<TrialDocUserTypeConfirmedUser>(entity as TrialDocUserTypeConfirmedUser, type, x => new InspectionConvertDTO()
{ {
TrialId = trialid, TrialId = trialid,
ObjectRelationParentId = x.TrialDocumentId
}, new }, new
{ {
FileTypeId = trialDocument.FileTypeId, FileTypeId = trialDocument.FileTypeId,
@ -510,6 +468,65 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#region 已修改 #region 已修改
//系统文件
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemDocument)))
{
var entity = item.Entity as SystemDocument;
List<Guid> needConfirmedUserTypeIdList = new List<Guid>();
if (entity.NeedConfirmedUserTypeList == null)
{
needConfirmedUserTypeIdList = await _dbContext.SystemDocNeedConfirmedUserType.Where(x => x.SystemDocumentId == entity.Id).Select(t => t.NeedConfirmUserTypeId).ToListAsync();
}
else
{
needConfirmedUserTypeIdList = entity.NeedConfirmedUserTypeList.Select(t => t.NeedConfirmUserTypeId).ToList();
}
var userTypeNameList = await _dbContext.UserType.Where(x => needConfirmedUserTypeIdList.Contains(x.Id)).Select(x => x.UserTypeShortName).ToListAsync();
var userTypeName = string.Join(",", userTypeNameList);
await InsertInspection<SystemDocument>(entity, type, null, new
{
NeedConfirmedUserType = userTypeName,
});
}
// 项目文档
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialDocument)))
{
var entity = item.Entity as TrialDocument;
List<Guid> needConfirmedUserTypeIdList = new List<Guid>();
if (entity.NeedConfirmedUserTypeList == null)
{
needConfirmedUserTypeIdList = await _dbContext.TrialDocNeedConfirmedUserType.Where(x => x.TrialDocumentId == entity.Id).Select(t => t.NeedConfirmUserTypeId).ToListAsync();
}
else
{
needConfirmedUserTypeIdList = entity.NeedConfirmedUserTypeList.Select(t => t.NeedConfirmUserTypeId).ToList();
}
var usertypeNames = await _dbContext.UserType.Where(x => needConfirmedUserTypeIdList.Contains(x.Id)).Select(x => x.UserTypeShortName).ToListAsync();
var usertypeName = string.Join(",", usertypeNames);
await InsertInspection<TrialDocument>(entity, type, x => new InspectionConvertDTO()
{ ObjectRelationParentId = x.TrialId },
new
{
NeedConfirmedUserType = usertypeName,
});
}
// 签名模板 // 签名模板
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemBasicData))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemBasicData)))
{ {
@ -606,8 +623,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
} }
// 受试者 // 受试者
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject)))
{ {
@ -696,7 +711,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<NoneDicomStudy>(item.Entity as NoneDicomStudy, type, x => new InspectionConvertDTO() await InsertInspection<NoneDicomStudy>(item.Entity as NoneDicomStudy, type, x => new InspectionConvertDTO()
{ {
ObjectRelationParentId=x.SubjectVisitId, ObjectRelationParentId = x.SubjectVisitId,
}); });
@ -709,31 +724,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//}); //});
} }
//// 非Dicom文件
//if (entitys.Any(x => x.Entity.GetType() == typeof(NoneDicomStudyFile)))
//{
// var noneDicomStudyfile = entitys.Where(x => x.Entity.GetType() == typeof(NoneDicomStudyFile)).Select(x => x.Entity).FirstOrDefault() as NoneDicomStudyFile;
// var noneDicomStudy = await _dbContext.NoneDicomStudy.Where(x => x.Id == noneDicomStudyfile.NoneDicomStudyId).FirstOrDefaultAsync();
// if (noneDicomStudy != null)
// {
// var filecount = await _dbContext.NoneDicomStudyFile.Where(x => x.NoneDicomStudyId == noneDicomStudyfile.NoneDicomStudyId).CountAsync();
// var count = entitys.Where(x => x.Entity.GetType() == typeof(NoneDicomStudyFile)).ToList().Count;
// if (type == "Deleted")
// {
// filecount = filecount - count;
// }
// else
// {
// filecount = filecount + count;
// }
// await InsertInspection<NoneDicomStudy>(noneDicomStudy, type, null, new
// {
// FileCount = filecount,
// });
// }
//}
#region 阅片人入组 #region 阅片人入组
@ -1109,7 +1100,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
Data = AddJsonItem(entityObj, otherItem), Data = AddJsonItem(entityObj, otherItem),
//准确来讲 此处称之为 RelationData 更贴合 为了兼容之前的数据 //准确来讲 此处称之为 RelationData 更贴合 为了兼容之前的数据
CommonData = new {SiteCode= generalData.SiteCode,SubjectCode=generalData.SubjectCode}, CommonData = new { SiteCode = generalData.SiteCode, SubjectCode = generalData.SubjectCode },
}.ToJsonStr(); }.ToJsonStr();
@ -1172,7 +1163,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null) if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null)
{ {
var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectCode=x.Subject.Code,TrialSiteCode=x.Subject.TrialSite.TrialSiteCode, SubjectId = x.SubjectId, x.Subject.SiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId }).FirstOrDefaultAsync(); var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectCode = x.Subject.Code, TrialSiteCode = x.Subject.TrialSite.TrialSiteCode, SubjectId = x.SubjectId, x.Subject.SiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId }).FirstOrDefaultAsync();
generalData.TrialId = info?.TrialId ?? generalData.TrialId; generalData.TrialId = info?.TrialId ?? generalData.TrialId;
@ -1194,7 +1185,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null) if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null)
{ {
var info = await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x => var info = await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x =>
new { x.SubjectId, x.SiteId, x.TrialId ,SubjectCode = x.Subject.Code, TrialSiteCode = x.Subject.TrialSite.TrialSiteCode }).FirstOrDefaultAsync(); new { x.SubjectId, x.SiteId, x.TrialId, SubjectCode = x.Subject.Code, TrialSiteCode = x.Subject.TrialSite.TrialSiteCode }).FirstOrDefaultAsync();
generalData.TrialId = info?.TrialId ?? generalData.TrialId; generalData.TrialId = info?.TrialId ?? generalData.TrialId;
@ -1498,6 +1489,33 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#region 待废弃 -by zhouhang 调整 #region 待废弃 -by zhouhang 调整
//// 非Dicom文件
//if (entitys.Any(x => x.Entity.GetType() == typeof(NoneDicomStudyFile)))
//{
// var noneDicomStudyfile = entitys.Where(x => x.Entity.GetType() == typeof(NoneDicomStudyFile)).Select(x => x.Entity).FirstOrDefault() as NoneDicomStudyFile;
// var noneDicomStudy = await _dbContext.NoneDicomStudy.Where(x => x.Id == noneDicomStudyfile.NoneDicomStudyId).FirstOrDefaultAsync();
// if (noneDicomStudy != null)
// {
// var filecount = await _dbContext.NoneDicomStudyFile.Where(x => x.NoneDicomStudyId == noneDicomStudyfile.NoneDicomStudyId).CountAsync();
// var count = entitys.Where(x => x.Entity.GetType() == typeof(NoneDicomStudyFile)).ToList().Count;
// if (type == "Deleted")
// {
// filecount = filecount - count;
// }
// else
// {
// filecount = filecount + count;
// }
// await InsertInspection<NoneDicomStudy>(noneDicomStudy, type, null, new
// {
// FileCount = filecount,
// });
// }
//}
/// <summary> /// <summary>
/// 获取稽查通用数据 (每条稽查记录必须查询的) /// 获取稽查通用数据 (每条稽查记录必须查询的)
/// </summary> /// </summary>