修改稽查

Test.EIImageViewer
hang 2022-08-15 17:52:51 +08:00
parent 8187a0bc2a
commit 6c0317d93d
6 changed files with 223 additions and 122 deletions

View File

@ -536,6 +536,36 @@
父标识 父标识
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.TrialName">
<summary>
项目名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.SiteCode">
<summary>
中心Code
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.ResearchProgramNo">
<summary>
项目编码
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.SiteName">
<summary>
中心名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.SubjectCode">
<summary>
受试者名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.SubjectVisitName">
<summary>
访视名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionDto.TrialId"> <member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionDto.TrialId">
<summary> <summary>
项目iD 项目iD
@ -2335,6 +2365,11 @@
表格问题类型 表格问题类型
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableQuestionSystemView.DependParentId">
<summary>
依赖父问题
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableQuestionSystemQuery.TableQuestionType"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableQuestionSystemQuery.TableQuestionType">
<summary> <summary>
表格问题类型 表格问题类型
@ -2348,6 +2383,11 @@
表格问题类型 表格问题类型
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableQuestionSystemAddOrEdit.DependParentId">
<summary>
依赖父问题
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCriterionPageQuery.PageName"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCriterionPageQuery.PageName">
<summary> PageName</summary> <summary> PageName</summary>
</member> </member>
@ -3562,6 +3602,16 @@
类型枚举 类型枚举
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.ViewModel.OrganInfoView.IsDepend">
<summary>
是否关联
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialSelectOrganListInDto.OrganType">
<summary>
类型枚举
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialOrganListInDto.OrganType"> <member name="P:IRaCIS.Core.Application.ViewModel.GetTrialOrganListInDto.OrganType">
<summary> <summary>
类型枚举 类型枚举
@ -3580,8 +3630,10 @@
<member name="T:IRaCIS.Core.Application.ViewModel.OrganInfoQuery"> <member name="T:IRaCIS.Core.Application.ViewModel.OrganInfoQuery">
<summary>OrganInfoQuery 列表查询参数模型</summary> <summary>OrganInfoQuery 列表查询参数模型</summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.ViewModel.OrganInfoQuery.TypeName"> <member name="P:IRaCIS.Core.Application.ViewModel.OrganInfoQuery.OrganType">
<summary> 类型名称</summary> <summary>
类型枚举
</summary>
</member> </member>
<member name="T:IRaCIS.Core.Application.ViewModel.OrganInfoAddOrEdit"> <member name="T:IRaCIS.Core.Application.ViewModel.OrganInfoAddOrEdit">
<summary> OrganInfoAddOrEdit 列表查询参数模型</summary> <summary> OrganInfoAddOrEdit 列表查询参数模型</summary>
@ -3596,6 +3648,11 @@
备注 备注
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.ViewModel.OrganInfoAddOrEdit.IsDepend">
<summary>
是否关联
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.Type"> <member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.Type">
<summary> <summary>
类型 类型

View File

@ -347,7 +347,7 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
public string ExperimentName { get; set; } = string.Empty; public string ExperimentName { get; set; } = string.Empty;
public string BlindName { get; set; }
public string FirstName { get; set; } = string.Empty; public string FirstName { get; set; } = string.Empty;
@ -371,7 +371,7 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
public bool? InPlan { get; set; } public bool? InPlan { get; set; }
public string OptTypeName { get; set; } = string.Empty; public string OptType { get; set; } = string.Empty;
public Guid? FrontAuditConfigId { get; set; } public Guid? FrontAuditConfigId { get; set; }
@ -381,6 +381,36 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
/// </summary> /// </summary>
public string ParentIdentification { get; set; } public string ParentIdentification { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string TrialName { get; set; }
/// <summary>
/// 中心Code
/// </summary>
public string SiteCode { get; set; }
/// <summary>
/// 项目编码
/// </summary>
public string ResearchProgramNo { get; set; }
/// <summary>
/// 中心名称
/// </summary>
public string SiteName { get; set; }
/// <summary>
/// 受试者名称
/// </summary>
public string SubjectCode { get; set; }
/// <summary>
/// 访视名称
/// </summary>
public string SubjectVisitName { get; set; }
} }

View File

@ -88,7 +88,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
{ {
CreateTime = data.CreateTime, CreateTime = data.CreateTime,
CreateUserId = data.CreateUserId, CreateUserId = data.CreateUserId,
ModuleType = leftmoduleTypec.Id, ModuleTypeId = leftmoduleTypec.Id,
BlindName = leftsubjectVisit.BlindName, BlindName = leftsubjectVisit.BlindName,
TrialId = data.TrialId, TrialId = data.TrialId,
SiteId = data.SiteId, SiteId = data.SiteId,
@ -100,7 +100,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
IsSign = data.IsSign, IsSign = data.IsSign,
SignId = data.SignId, SignId = data.SignId,
ParentId = data.ParentId, ParentId = data.ParentId,
ChildrenType = data.ChildrenType, ChildrenTypeId = data.ChildrenTypeId,
//JsonDetail = data.JsonDetail, //JsonDetail = data.JsonDetail,
//SiteName = data.SiteName, //SiteName = data.SiteName,
//ExperimentName = data.TrialName, //ExperimentName = data.TrialName,
@ -120,19 +120,19 @@ namespace IRaCIS.Core.Application.Service.Inspection
TrialName= leftrial.ExperimentName, TrialName= leftrial.ExperimentName,
SiteCode= lefttrialSite.TrialSiteCode, SiteCode= lefttrialSite.TrialSiteCode,
ResearchProgramNo= leftrial.ResearchProgramNo, ResearchProgramNo= leftrial.ResearchProgramNo,
ObjectType=data.ObjectType, ObjectTypeId=data.ObjectTypeId,
Description=leftfrontAuditConfig.Description, Description=leftfrontAuditConfig.Description,
ModuleTypeName= leftmoduleTypec.ValueCN, ModuleTypeName= leftmoduleTypec.ValueCN,
SignText= lefttrialSign.SignText, SignText= lefttrialSign.SignText,
Identification= leftfrontAuditConfig.Identification, Identification= leftfrontAuditConfig.Identification,
FrontAuditConfigId= leftfrontAuditConfig.Id, FrontAuditConfigId= leftfrontAuditConfig.Id,
ParentIdentification = leftparent.Identification, ParentIdentification = leftparent.Identification,
OptType = leftOptType.Id, OptTypeId = leftOptType.Id,
VisitNum=leftsubjectVisit.VisitNum, VisitNum=leftsubjectVisit.VisitNum,
InPlan= leftsubjectVisit.InPlan, InPlan= leftsubjectVisit.InPlan,
//IsFrontAdd=data.IsFrontAdd, //IsFrontAdd=data.IsFrontAdd,
BatchId =data.BatchId, BatchId =data.BatchId,
OptTypeName = leftOptType.Value, OptType = leftOptType.Value,
}; };
query = query.WhereIf(dto.SiteId != null, x => x.SiteId == dto.SiteId) query = query.WhereIf(dto.SiteId != null, x => x.SiteId == dto.SiteId)
@ -142,7 +142,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
//.WhereIf(dto.VisitPlanInfo != (decimal)1.11,x=>x.InPlan!=null&& x.InPlan==false) //.WhereIf(dto.VisitPlanInfo != (decimal)1.11,x=>x.InPlan!=null&& x.InPlan==false)
.WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime) .WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime)
.WhereIf(dto.EndTime != null, x => x.CreateTime <= dto.EndTime) .WhereIf(dto.EndTime != null, x => x.CreateTime <= dto.EndTime)
.WhereIf(dto.ModuleType!=null, x => x.ModuleType == dto.ModuleType) .WhereIf(dto.ModuleType!=null, x => x.ModuleTypeId == dto.ModuleType)
.WhereIf(!dto.Description.IsNullOrEmpty(), x => x.Description == dto.Description) .WhereIf(!dto.Description.IsNullOrEmpty(), x => x.Description == dto.Description)
.WhereIf(!dto.OpByUserName.IsNullOrEmpty(), x => x.CreateUserName.Contains(dto.OpByUserName)) .WhereIf(!dto.OpByUserName.IsNullOrEmpty(), x => x.CreateUserName.Contains(dto.OpByUserName))
//.WhereIf(!dto.SubjectInfo.IsNullOrEmpty(), x => x.SubjectCode.Contains(dto.SubjectInfo)) //.WhereIf(!dto.SubjectInfo.IsNullOrEmpty(), x => x.SubjectCode.Contains(dto.SubjectInfo))

View File

@ -27,11 +27,6 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 盲态访视名
/// </summary>
public string BlindName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 项目iD /// 项目iD
/// </summary> /// </summary>
@ -85,21 +80,21 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 子类 /// 子类
/// </summary> /// </summary>
public Guid? ChildrenType { get; set; } public Guid? ChildrenTypeId { get; set; }
/// <summary> /// <summary>
/// 对象类型 /// 对象类型
/// </summary> /// </summary>
public Guid? ObjectType { get; set; } public Guid? ObjectTypeId { get; set; }
/// <summary> /// <summary>
/// 操作类型 /// 操作类型
/// </summary> /// </summary>
public Guid? OptType { get; set; } public Guid? OptTypeId { get; set; }
/// <summary> /// <summary>
/// 功能模块 /// 功能模块
/// </summary> /// </summary>
public Guid? ModuleType { get; set; } public Guid? ModuleTypeId { get; set; }
/// <summary> /// <summary>
@ -113,23 +108,6 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public string CreateUserName { get; set; } public string CreateUserName { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string TrialName { get; set; }
/// <summary>
/// 中心名称
/// </summary>
public string SiteName { get; set; }
/// <summary>
/// 受试者名称
/// </summary>
public string SubjectCode { get; set; }
/// <summary>
/// 访视名称
/// </summary>
public string SubjectVisitName { get; set; }
/// <summary> /// <summary>
/// 角色名称 /// 角色名称
@ -138,18 +116,6 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 中心Code
/// </summary>
public string SiteCode { get; set; }
/// <summary>
/// 项目编码
/// </summary>
public string ResearchProgramNo { get; set; }
/// <summary> /// <summary>
/// 标识 /// 标识
/// </summary> /// </summary>
@ -167,7 +133,6 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 批次Id /// 批次Id
/// </summary> /// </summary>

View File

@ -106,7 +106,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var userTypeIds = userTypes.Select(x => x.NeedConfirmUserTypeId).ToList(); 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 userTypeNameList = await _dbContext.UserType.Where(x => userTypeIds.Contains(x.Id)).Select(x => x.UserTypeShortName).ToListAsync();
var userTypeName = string.Join(",", userTypeNameList); var userTypeName = string.Join(",", userTypeNameList);
await InsertInspection<SystemDocument>(entity, type, x => new DataInspection() await InsertInspection<SystemDocument>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id GeneralId = x.Id
}, new }, new
@ -118,7 +118,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 签名模板 // 签名模板
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemBasicData))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemBasicData)))
{ {
await InsertInspection<SystemBasicData>(item.Entity as SystemBasicData, type, x => new DataInspection() await InsertInspection<SystemBasicData>(item.Entity as SystemBasicData, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}); });
@ -144,7 +144,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
trialDics = await this._dbContext.Dictionary.Where(x => dictionaryIds.Contains(x.Id)).Select(x => x.ValueCN).ToListAsync(); trialDics = await this._dbContext.Dictionary.Where(x => dictionaryIds.Contains(x.Id)).Select(x => x.ValueCN).ToListAsync();
await InsertInspection<Trial>(item.Entity as Trial, type, x => new DataInspection() await InsertInspection<Trial>(item.Entity as Trial, type, x => new InspectionConvertDTO()
{ {
TrialId = x.Id, TrialId = x.Id,
@ -168,7 +168,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
visitPlanStatus = false; visitPlanStatus = false;
} }
await InsertInspection<VisitStage>(item.Entity as VisitStage, type, x => new DataInspection() await InsertInspection<VisitStage>(item.Entity as VisitStage, type, x => new InspectionConvertDTO()
{ {
VisitStageId = x.Id, VisitStageId = x.Id,
GeneralId = x.Id, GeneralId = x.Id,
@ -192,7 +192,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var userTypeIds = userTypes.Select(x => x.NeedConfirmUserTypeId).ToList(); 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 usertypeNames = await _dbContext.UserType.Where(x => userTypeIds.Contains(x.Id)).Select(x => x.UserTypeShortName).ToListAsync();
var usertypeName = string.Join(",", usertypeNames); var usertypeName = string.Join(",", usertypeNames);
await InsertInspection<TrialDocument>(entity, type, x => new DataInspection() await InsertInspection<TrialDocument>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id GeneralId = x.Id
}, new }, new
@ -208,7 +208,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
var entity = item.Entity as SystemDocConfirmedUser; var entity = item.Entity as SystemDocConfirmedUser;
var systemDocument = await _dbContext.SystemDocument.Where(x => x.Id == entity.SystemDocumentId).FirstOrDefaultAsync(); var systemDocument = await _dbContext.SystemDocument.Where(x => x.Id == entity.SystemDocumentId).FirstOrDefaultAsync();
await InsertInspection<SystemDocConfirmedUser>(entity, type, x => new DataInspection() await InsertInspection<SystemDocConfirmedUser>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}, new }, new
@ -228,7 +228,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var trialDocument = await _dbContext.TrialDocument.Where(x => x.Id == entity.TrialDocumentId).FirstOrDefaultAsync(); var trialDocument = await _dbContext.TrialDocument.Where(x => x.Id == entity.TrialDocumentId).FirstOrDefaultAsync();
var trialid = trialDocument.TrialId; var trialid = trialDocument.TrialId;
await InsertInspection<TrialDocUserTypeConfirmedUser>(entity as TrialDocUserTypeConfirmedUser, type, x => new DataInspection() await InsertInspection<TrialDocUserTypeConfirmedUser>(entity as TrialDocUserTypeConfirmedUser, type, x => new InspectionConvertDTO()
{ {
TrialId = trialid, TrialId = trialid,
GeneralId = x.Id, GeneralId = x.Id,
@ -241,23 +241,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}); });
} }
// 医生
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Enroll)))
{
await InsertInspection<Enroll>(item.Entity as Enroll, type, x => new DataInspection()
{
GeneralId = x.Id,
});
}
// 医生详情
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(EnrollDetail)))
{
await InsertInspection<EnrollDetail>(item.Entity as EnrollDetail, type, x => new DataInspection()
{
GeneralId = x.Id,
});
}
// 项目中心 // 项目中心
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialSite))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialSite)))
@ -267,7 +250,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
entity.Site = await _dbContext.Site.Where(x => x.Id == entity.SiteId).FirstOrDefaultAsync(); entity.Site = await _dbContext.Site.Where(x => x.Id == entity.SiteId).FirstOrDefaultAsync();
} }
await InsertInspection<TrialSite>(entity, type, x => new DataInspection() await InsertInspection<TrialSite>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
@ -287,7 +270,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as TrialUser; var entity = item.Entity as TrialUser;
var user = await _dbContext.Users.Include(x => x.UserTypeRole).FirstOrDefaultAsync(x => x.Id == entity.UserId); var user = await _dbContext.Users.Include(x => x.UserTypeRole).FirstOrDefaultAsync(x => x.Id == entity.UserId);
await InsertInspection<TrialUser>(entity, type, x => new DataInspection await InsertInspection<TrialUser>(entity, type, x => new InspectionConvertDTO
{ {
TrialId = x.TrialId, TrialId = x.TrialId,
}, new }, new
@ -334,7 +317,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
UserType userType = new UserType(); UserType userType = new UserType();
userType = await _dbContext.UserType.Where(x => x.Id == user.UserTypeId).FirstOrDefaultAsync(); userType = await _dbContext.UserType.Where(x => x.Id == user.UserTypeId).FirstOrDefaultAsync();
await InsertInspection<TrialSiteUser>(item.Entity as TrialSiteUser, type, x => new DataInspection() await InsertInspection<TrialSiteUser>(item.Entity as TrialSiteUser, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}, new }, new
@ -374,7 +357,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
entity.ReviewerUser = await _dbContext.User.Where(x => x.Id == entity.ReviewerUserId).FirstOrDefaultAsync(); entity.ReviewerUser = await _dbContext.User.Where(x => x.Id == entity.ReviewerUserId).FirstOrDefaultAsync();
} }
await InsertInspection<TrialSiteSurvey>(item.Entity as TrialSiteSurvey, type, x => new DataInspection() await InsertInspection<TrialSiteSurvey>(item.Entity as TrialSiteSurvey, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
@ -396,7 +379,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
var entity = item.Entity as TrialQCQuestion; var entity = item.Entity as TrialQCQuestion;
var paretName = await _dbContext.TrialQCQuestionConfigure.Where(x => x.Id == entity.ParentId).Select(x => x.QuestionName).FirstOrDefaultAsync(); var paretName = await _dbContext.TrialQCQuestionConfigure.Where(x => x.Id == entity.ParentId).Select(x => x.QuestionName).FirstOrDefaultAsync();
await InsertInspection<TrialQCQuestion>(entity, type, x => new DataInspection() await InsertInspection<TrialQCQuestion>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}, new }, new
@ -419,7 +402,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as Subject; var entity = item.Entity as Subject;
var finalSubjectVisitName = await _dbContext.SubjectVisit.AsNoTracking().Where(x => x.Id == entity.FinalSubjectVisitId && entity.FinalSubjectVisitId != null).Select(x => x.VisitName).FirstOrDefaultAsync(); var finalSubjectVisitName = await _dbContext.SubjectVisit.AsNoTracking().Where(x => x.Id == entity.FinalSubjectVisitId && entity.FinalSubjectVisitId != null).Select(x => x.VisitName).FirstOrDefaultAsync();
await InsertInspection<Subject>(entity, type, x => new DataInspection() await InsertInspection<Subject>(entity, type, x => new InspectionConvertDTO()
{ {
SubjectId = x.Id, SubjectId = x.Id,
SubjectCode = x.Code, SubjectCode = x.Code,
@ -432,7 +415,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 检查 // 检查
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(DicomStudy))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(DicomStudy)))
{ {
await InsertInspection<DicomStudy>(item.Entity as DicomStudy, type, x => new DataInspection() await InsertInspection<DicomStudy>(item.Entity as DicomStudy, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}); });
@ -447,7 +430,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
dicomStudy = await _dbContext.DicomStudys.AsNoTracking().FirstOrDefaultAsync(x => x.Id == entity.StudyId); dicomStudy = await _dbContext.DicomStudys.AsNoTracking().FirstOrDefaultAsync(x => x.Id == entity.StudyId);
} }
await InsertInspection<DicomSeries>(item.Entity as DicomSeries, type, x => new DataInspection() await InsertInspection<DicomSeries>(item.Entity as DicomSeries, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}, new }, new
@ -465,7 +448,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var fileCount = await _dbContext.NoneDicomStudyFile.Where(x => x.NoneDicomStudyId == entity.Id).CountAsync(); var fileCount = await _dbContext.NoneDicomStudyFile.Where(x => x.NoneDicomStudyId == entity.Id).CountAsync();
await InsertInspection<NoneDicomStudy>(item.Entity as NoneDicomStudy, type, x => new DataInspection() await InsertInspection<NoneDicomStudy>(item.Entity as NoneDicomStudy, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}, new }, new
@ -492,7 +475,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
filecount = filecount + count; filecount = filecount + count;
} }
await InsertInspection<NoneDicomStudy>(noneDicomStudy, type, x => new DataInspection() await InsertInspection<NoneDicomStudy>(noneDicomStudy, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}, new }, new
@ -519,7 +502,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1); reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1);
break; break;
} }
await InsertInspection<CheckChallengeDialog>(entity, type, x => new DataInspection() await InsertInspection<CheckChallengeDialog>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = entity.SubjectVisitId, GeneralId = entity.SubjectVisitId,
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
@ -551,7 +534,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var subjectCode = entity.Subject?.Code; var subjectCode = entity.Subject?.Code;
await InsertInspection<SubjectVisit>(item.Entity as SubjectVisit, type, x => new DataInspection() await InsertInspection<SubjectVisit>(item.Entity as SubjectVisit, type, x => new InspectionConvertDTO()
{ {
SubjectCode = subjectCode, SubjectCode = subjectCode,
SubjectId = x.SubjectId, SubjectId = x.SubjectId,
@ -568,7 +551,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as PreviousSurgery; var entity = item.Entity as PreviousSurgery;
var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync(); var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
subjectvisit = subjectvisit ?? new SubjectVisit(); subjectvisit = subjectvisit ?? new SubjectVisit();
await InsertInspection<PreviousSurgery>(entity, type, x => new DataInspection() await InsertInspection<PreviousSurgery>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
SiteId = subjectvisit.SiteId, SiteId = subjectvisit.SiteId,
@ -588,7 +571,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as PreviousHistory; var entity = item.Entity as PreviousHistory;
var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync(); var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
subjectvisit = subjectvisit ?? new SubjectVisit(); subjectvisit = subjectvisit ?? new SubjectVisit();
await InsertInspection<PreviousHistory>(entity, type, x => new DataInspection() await InsertInspection<PreviousHistory>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
SiteId = subjectvisit.SiteId, SiteId = subjectvisit.SiteId,
@ -607,7 +590,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as PreviousOther; var entity = item.Entity as PreviousOther;
var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync(); var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
subjectvisit = subjectvisit ?? new SubjectVisit(); subjectvisit = subjectvisit ?? new SubjectVisit();
await InsertInspection<PreviousOther>(entity, type, x => new DataInspection() await InsertInspection<PreviousOther>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
SiteId = subjectvisit.SiteId, SiteId = subjectvisit.SiteId,
@ -632,7 +615,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
content = entity.Content; content = entity.Content;
} }
await InsertInspection<QCChallenge>(entity, type, x => new DataInspection() await InsertInspection<QCChallenge>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
TrialId = x.TrialId, TrialId = x.TrialId,
@ -666,7 +649,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var qCChallenge = await _dbContext.QCChallenge.Where(x => x.Id == entity.QCChallengeId).FirstOrDefaultAsync(); var qCChallenge = await _dbContext.QCChallenge.Where(x => x.Id == entity.QCChallengeId).FirstOrDefaultAsync();
subjectvisit = subjectvisit ?? new SubjectVisit(); subjectvisit = subjectvisit ?? new SubjectVisit();
qCChallenge = qCChallenge ?? new QCChallenge(); qCChallenge = qCChallenge ?? new QCChallenge();
await InsertInspection<QCChallengeDialog>(entity, type, x => new DataInspection() await InsertInspection<QCChallengeDialog>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = qCChallenge.Id, GeneralId = qCChallenge.Id,
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
@ -692,7 +675,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//Qc 问题 //Qc 问题
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCQuestion))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCQuestion)))
{ {
await InsertInspection<QCQuestion>(item.Entity as QCQuestion, type, x => new DataInspection() await InsertInspection<QCQuestion>(item.Entity as QCQuestion, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
}); });
@ -703,7 +686,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 一致性核查文件 // 一致性核查文件
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ConsistencyCheckFile))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ConsistencyCheckFile)))
{ {
await InsertInspection<ConsistencyCheckFile>(item.Entity as ConsistencyCheckFile, type, x => new DataInspection() await InsertInspection<ConsistencyCheckFile>(item.Entity as ConsistencyCheckFile, type, x => new InspectionConvertDTO()
{ {
GeneralId = x.Id, GeneralId = x.Id,
CreateTime = x.CreateTime, CreateTime = x.CreateTime,
@ -719,7 +702,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
subjectVisit = subjectVisit ?? new SubjectVisit(); subjectVisit = subjectVisit ?? new SubjectVisit();
if (type == "Add") if (type == "Add")
{ {
await AddInspectionRecordAsync(new DataInspection() await AddInspectionRecordAsync(new InspectionConvertDTO()
{ {
SiteId = subjectVisit.SiteId, SiteId = subjectVisit.SiteId,
Identification = $"{_userInfo.RequestUrl}/{firstEntity.GetType().Name}/{type}", Identification = $"{_userInfo.RequestUrl}/{firstEntity.GetType().Name}/{type}",
@ -740,7 +723,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var createUserId = entitylist.Select(x => x.CreateUserId).FirstOrDefault(); var createUserId = entitylist.Select(x => x.CreateUserId).FirstOrDefault();
var noUpdateData = _dbContext.TrialQCQuestionAnswer.Where(x => x.CreateUserId == createUserId && x.SubjectVisitId == subjectVisit.Id && !questionIds.Contains(x.Id)).ToList(); var noUpdateData = _dbContext.TrialQCQuestionAnswer.Where(x => x.CreateUserId == createUserId && x.SubjectVisitId == subjectVisit.Id && !questionIds.Contains(x.Id)).ToList();
entitylist.AddRange(noUpdateData); entitylist.AddRange(noUpdateData);
await AddInspectionRecordAsync(new DataInspection() await AddInspectionRecordAsync(new InspectionConvertDTO()
{ {
Identification = $"{_userInfo.RequestUrl}/{firstEntity.GetType().Name}/{type}", Identification = $"{_userInfo.RequestUrl}/{firstEntity.GetType().Name}/{type}",
SiteId = subjectVisit.SiteId, SiteId = subjectVisit.SiteId,
@ -790,6 +773,35 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//} //}
#endregion #endregion
//阅片人入组
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Enroll)))
{
var entity = item.Entity as Enroll;
var doctor = await _dbContext.Doctor.FirstOrDefaultAsync(x => x.Id == entity.DoctorId);
await InsertInspection<Enroll>(item.Entity as Enroll, type, x => new InspectionConvertDTO()
{
GeneralId = x.Id,
}, new
{
Name = doctor.FullName,
ChineseName = doctor.ChineseName,
Email=doctor.EMail,
}) ;
}
//// 医生详情
//foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(EnrollDetail)))
//{
// await InsertInspection<EnrollDetail>(item.Entity as EnrollDetail, type, x => new DataInspection()
// {
// GeneralId = x.Id,
// });
//}
#endregion #endregion
} }
@ -803,10 +815,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
/// <param name="expression">表达式</param> /// <param name="expression">表达式</param>
/// <param name="otherItem">其他对象</param> /// <param name="otherItem">其他对象</param>
/// <returns></returns> /// <returns></returns>
public async Task InsertInspection<T>(T data, string type, Expression<Func<T, DataInspection>> expression = null, object otherItem = null, object originaldata = null) where T : class public async Task InsertInspection<T>(T data, string type, Expression<Func<T, InspectionConvertDTO>> expression = null, object otherItem = null, object originaldata = null) where T : class
{ {
object entityobj = data; object entityobj = data;
DataInspection inspection = new DataInspection(); InspectionConvertDTO inspection = new InspectionConvertDTO();
if (expression != null) if (expression != null)
{ {
var f = expression.Compile(); var f = expression.Compile();
@ -959,7 +971,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
/// <param name="data">数据</param> /// <param name="data">数据</param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="BusinessValidationFailedException"></exception> /// <exception cref="BusinessValidationFailedException"></exception>
public async Task AddInspectionRecordAsync(DataInspection add, object data, object otherItem = null) public async Task AddInspectionRecordAsync(InspectionConvertDTO add, object data, object otherItem = null)
{ {
//MapData(data, add); //MapData(data, add);
@ -967,7 +979,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
InspectionGeneralData generalData = new InspectionGeneralData() InspectionGeneralData generalData = new InspectionGeneralData()
{ {
CreateUserName = add.CreateUserName, //CreateUserName = add.CreateUserName,
SiteCode = add.SiteCode, SiteCode = add.SiteCode,
SiteId = add.SiteId, SiteId = add.SiteId,
SiteName = add.SiteName, SiteName = add.SiteName,
@ -976,7 +988,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
SubjectVisitId = add.SubjectVisitId, SubjectVisitId = add.SubjectVisitId,
SubjectVisitName = add.SubjectVisitName, SubjectVisitName = add.SubjectVisitName,
ResearchProgramNo = add.ResearchProgramNo, ResearchProgramNo = add.ResearchProgramNo,
RoleName = add.RoleName, //RoleName = add.RoleName,
TrialId = add.TrialId, TrialId = add.TrialId,
TrialName = add.TrialName TrialName = add.TrialName
}; };
@ -985,10 +997,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#region 处理标识 #region 处理标识
var from = await _dbContext.FrontAuditConfig.FirstOrDefaultAsync(x => x.Identification == add.Identification); var from = await _dbContext.FrontAuditConfig.FirstOrDefaultAsync(x => x.Identification == add.Identification);
add.ObjectType = from?.ObjectTypeId; add.ObjectTypeId = from?.ObjectTypeId;
add.OptType = from?.OptTypeId; add.OptTypeId = from?.OptTypeId;
add.ChildrenType = from?.ChildrenTypeId; add.ChildrenTypeId = from?.ChildrenTypeId;
add.ModuleType = from?.ModuleTypeId; add.ModuleTypeId = from?.ModuleTypeId;
#endregion #endregion
if (add.ParentId == null) if (add.ParentId == null)
@ -1130,11 +1142,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#endregion #endregion
generalData.CreateUserName = _userInfo.RealName;
generalData.RoleName = _userInfo.UserTypeShortName;
} }
} }

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using IRaCIS.Core.Domain.Models;
namespace IRaCIS.Core.Infra.EFCore.Common.Dto namespace IRaCIS.Core.Infra.EFCore.Common.Dto
{ {
@ -93,6 +93,47 @@ namespace IRaCIS.Core.Infra.EFCore.Common.Dto
public InspectionGeneralData Inspection { get; set; } public InspectionGeneralData Inspection { get; set; }
} }
public class InspectionConvertDTO : DataInspection
{
/// <summary>
/// 项目名称
/// </summary>
public string TrialName { get; set; }
/// <summary>
/// 中心Code
/// </summary>
public string SiteCode { get; set; }
/// <summary>
/// 项目编码
/// </summary>
public string ResearchProgramNo { get; set; }
/// <summary>
/// 中心名称
/// </summary>
public string SiteName { get; set; }
/// <summary>
/// 受试者名称
/// </summary>
public string SubjectCode { get; set; }
/// <summary>
/// 访视名称
/// </summary>
public string SubjectVisitName { get; set; }
/// <summary>
/// 盲态访视名
/// </summary>
public string BlindName { get; set; } = string.Empty;
}
/// <summary> /// <summary>
/// 稽查外层数据 /// 稽查外层数据
/// </summary> /// </summary>
@ -151,16 +192,17 @@ namespace IRaCIS.Core.Infra.EFCore.Common.Dto
/// <summary> // /// <summary>
/// 创建人名称 ///// 创建人名称
/// </summary> ///// </summary>
public string CreateUserName { get; set; } //public string CreateUserName { get; set; }
/// <summary> // /// <summary>
/// 角色名称 // /// 角色名称
/// </summary> // /// </summary>
public string RoleName { get; set; } // public string RoleName { get; set; }
} }