From 855df638916005e9ee7467ef9eb2f47487b3ef6b Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Fri, 19 Aug 2022 16:59:53 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A8=BD=E6=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.Domain/Trial/DataInspection.cs | 8 +-
.../Common/AuditingData.cs | 568 ++++++++----------
2 files changed, 256 insertions(+), 320 deletions(-)
diff --git a/IRaCIS.Core.Domain/Trial/DataInspection.cs b/IRaCIS.Core.Domain/Trial/DataInspection.cs
index 8370f875d..b0ef52024 100644
--- a/IRaCIS.Core.Domain/Trial/DataInspection.cs
+++ b/IRaCIS.Core.Domain/Trial/DataInspection.cs
@@ -121,10 +121,10 @@ namespace IRaCIS.Core.Domain.Models
///
public string Identification { get; set; }
- ///
- /// 访视计划ID
- ///
- public Guid? VisitStageId { get; set; }
+ /////
+ ///// 访视计划ID
+ /////
+ //public Guid? VisitStageId { get; set; }
///
/// 通用Id
diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs
index 6b1b32c8e..48b4a6c0b 100644
--- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs
+++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs
@@ -113,10 +113,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
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(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id
- }, new
+ await InsertInspection(entity, type, null, new
{
NeedConfirmedUserType = userTypeName,
});
@@ -125,10 +122,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 签名模板
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemBasicData)))
{
- await InsertInspection(item.Entity as SystemBasicData, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- });
+ await InsertInspection(item.Entity as SystemBasicData, type);
}
// 项目
@@ -157,7 +151,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
TrialId = x.Id,
TrialName = x.ExperimentName,
ResearchProgramNo = x.ResearchProgramNo,
- GeneralId = x.Id,
}, new
{
TrialDicList = string.Join(",", trialDics)
@@ -175,11 +168,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{
visitPlanStatus = false;
}
- await InsertInspection(item.Entity as VisitStage, type, x => new InspectionConvertDTO()
- {
- VisitStageId = x.Id,
- GeneralId = x.Id,
- }, new
+ await InsertInspection(item.Entity as VisitStage, type, null, new
{
VisitPlanStatus = visitPlanStatus,
});
@@ -199,10 +188,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
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(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id
- }, new
+ await InsertInspection(entity, type, null, new
{
NeedConfirmedUserType = usertypeName,
});
@@ -238,7 +224,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection(entity as TrialDocUserTypeConfirmedUser, type, x => new InspectionConvertDTO()
{
TrialId = trialid,
- GeneralId = x.Id,
}, new
{
FileTypeId = trialDocument.FileTypeId,
@@ -257,11 +242,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{
entity.Site = await _dbContext.Site.Where(x => x.Id == entity.SiteId).FirstOrDefaultAsync();
}
- await InsertInspection(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
-
- }, new
+ await InsertInspection(entity, type,null, new
{
TrialSiteCode = entity.TrialSiteCode,
SiteName = entity.Site.SiteName,
@@ -324,10 +305,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
UserType userType = new UserType();
userType = await _dbContext.UserType.Where(x => x.Id == user.UserTypeId).FirstOrDefaultAsync();
- await InsertInspection(item.Entity as TrialSiteUser, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- }, new
+ await InsertInspection(item.Entity as TrialSiteUser, type, null, new
{
TrialSiteCode = entity.TrialSite.TrialSiteCode,
SiteName = entity.Site.SiteName,
@@ -364,12 +342,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
entity.ReviewerUser = await _dbContext.User.Where(x => x.Id == entity.ReviewerUserId).FirstOrDefaultAsync();
}
- await InsertInspection(item.Entity as TrialSiteSurvey, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
-
-
- }, new
+ await InsertInspection(item.Entity as TrialSiteSurvey, type, null, new
{
TrialSiteCode = entity.TrialSite.TrialSiteCode,
TrialSiteAliasName = entity.TrialSite.TrialSiteAliasName,
@@ -386,10 +359,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{
var entity = item.Entity as TrialQCQuestion;
var paretName = await _dbContext.TrialQCQuestionConfigure.Where(x => x.Id == entity.ParentId).Select(x => x.QuestionName).FirstOrDefaultAsync();
- await InsertInspection(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- }, new
+ await InsertInspection(entity, type,null, new
{
QuestionName = entity.QuestionName,
Type = entity.Type,
@@ -403,30 +373,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common
});
}
- // 受试者
- foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(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();
-
- await InsertInspection(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId=x.Id,
- SubjectId = x.Id,
- SubjectCode = x.Code,
- }, new
- {
- FinalSubjectVisitName = finalSubjectVisitName,
- });
- }
// 检查
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(DicomStudy)))
{
- await InsertInspection(item.Entity as DicomStudy, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- });
+ await InsertInspection(item.Entity as DicomStudy, type);
}
// 序列
@@ -438,10 +389,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{
dicomStudy = await _dbContext.DicomStudys.AsNoTracking().FirstOrDefaultAsync(x => x.Id == entity.StudyId);
}
- await InsertInspection(item.Entity as DicomSeries, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- }, new
+ await InsertInspection(item.Entity as DicomSeries, type,null, new
{
StudyCode = dicomStudy?.StudyCode,
Modalities = dicomStudy?.Modalities,
@@ -456,10 +404,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var fileCount = await _dbContext.NoneDicomStudyFile.Where(x => x.NoneDicomStudyId == entity.Id).CountAsync();
- await InsertInspection(item.Entity as NoneDicomStudy, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- }, new
+ await InsertInspection(item.Entity as NoneDicomStudy, type, null, new
{
FileCount = fileCount,
});
@@ -483,10 +428,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
filecount = filecount + count;
}
- await InsertInspection(noneDicomStudy, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- }, new
+ await InsertInspection(noneDicomStudy, type,null, new
{
FileCount = filecount,
});
@@ -495,40 +437,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}
- //一致性核查 // 特殊GeneralId
- foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(CheckChallengeDialog)))
- {
-
- var entity = item.Entity as CheckChallengeDialog;
- var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
- subjectvisit = subjectvisit ?? new SubjectVisit();
- var reason = string.Empty;
-
- switch (_userInfo.RequestUrl.ToLower())
- {
- case "qcoperation/closecheckchallenge":
- reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1);
- break;
- }
- await InsertInspection(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId = entity.SubjectVisitId,
- TrialId = subjectvisit.TrialId,
- SubjectVisitId = x.SubjectVisitId,
- SiteId = subjectvisit.SiteId,
- SubjectId = subjectvisit.SubjectId,
- SubjectVisitName = subjectvisit.VisitName,
- BlindName = subjectvisit.BlindName,
- Reason = reason,
- CreateTime = x.CreateTime,
- }, new
- {
- CheckState = subjectvisit.CheckState,
- RequestBackState = subjectvisit.RequestBackState,
- CheckChallengeState = subjectvisit.CheckChallengeState,
- });
- }
-
// 访视
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SubjectVisit)))
{
@@ -544,7 +452,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var subjectCode = entity.Subject?.Code;
await InsertInspection(item.Entity as SubjectVisit, type, x => new InspectionConvertDTO()
{
- GeneralId=x.Id,
SubjectCode = subjectCode,
SubjectId = x.SubjectId,
SubjectVisitId = x.Id,
@@ -562,7 +469,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
subjectvisit = subjectvisit ?? new SubjectVisit();
await InsertInspection(entity, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
SiteId = subjectvisit.SiteId,
SubjectVisitName = subjectvisit.VisitName,
TrialId = subjectvisit.TrialId,
@@ -582,7 +488,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
subjectvisit = subjectvisit ?? new SubjectVisit();
await InsertInspection(entity, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
SiteId = subjectvisit.SiteId,
SubjectVisitName = subjectvisit.VisitName,
TrialId = subjectvisit.TrialId,
@@ -601,7 +506,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
subjectvisit = subjectvisit ?? new SubjectVisit();
await InsertInspection(entity, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
SiteId = subjectvisit.SiteId,
SubjectVisitName = subjectvisit.VisitName,
TrialId = subjectvisit.TrialId,
@@ -626,7 +530,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}
await InsertInspection(entity, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
TrialId = x.TrialId,
SubjectVisitId = x.SubjectVisitId,
SiteId = subjectvisit.SiteId,
@@ -642,62 +545,18 @@ namespace IRaCIS.Core.Infra.EFCore.Common
});
}
- // 质疑信息 // 特殊GeneralId
- foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCChallengeDialog)))
- {
- var reason = string.Empty;
- var entity = item.Entity as QCChallengeDialog;
- switch (_userInfo.RequestUrl.ToLower())
- {
- case "qcoperation/closeqcchallenge":
- reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1);
- break;
- }
-
- var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
- var qCChallenge = await _dbContext.QCChallenge.Where(x => x.Id == entity.QCChallengeId).FirstOrDefaultAsync();
- subjectvisit = subjectvisit ?? new SubjectVisit();
- qCChallenge = qCChallenge ?? new QCChallenge();
- await InsertInspection(entity, type, x => new InspectionConvertDTO()
- {
- GeneralId = qCChallenge.Id,
- TrialId = subjectvisit.TrialId,
- SubjectVisitId = x.SubjectVisitId,
- SiteId = subjectvisit.SiteId,
- SubjectId = subjectvisit.SubjectId,
- SubjectVisitName = subjectvisit.VisitName,
- BlindName = subjectvisit.BlindName,
- Reason = reason,
- }, new
- {
- AuditState = subjectvisit.AuditState,
-
- ReuploadEnum = qCChallenge.ReuploadEnum,
- Content = qCChallenge.Content,
- DeadlineTime = qCChallenge.DeadlineTime,
- IsOverTime = qCChallenge.IsClosed ? qCChallenge.ClosedTime > qCChallenge.DeadlineTime : DateTime.Now > qCChallenge.DeadlineTime,
- IsClosed = qCChallenge.IsClosed
- });
- }
-
//Qc 问题
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCQuestion)))
{
- await InsertInspection(item.Entity as QCQuestion, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- });
+ await InsertInspection(item.Entity as QCQuestion, type);
}
-
-
// 一致性核查文件
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ConsistencyCheckFile)))
{
await InsertInspection(item.Entity as ConsistencyCheckFile, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
CreateTime = x.CreateTime,
});
}
@@ -791,24 +650,80 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}
- #region 备注
- ////Qc 问题答案
- //foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)))
- //{
- // var entity = item.Entity as TrialQCQuestionAnswer;
- // var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
- // subjectvisit = subjectvisit ?? new SubjectVisit();
- // type = type == "Update" ? "Add" : type;
- // await InsertInspection(item.Entity, type, x => new DataInspection()
- // {
- // SiteId= subjectvisit.SiteId,
- // SubjectId= subjectvisit.SubjectId,
- // SubjectVisitName= subjectvisit.VisitName,
- // GeneralId = x.Id,
- // });
- //}
- #endregion
+ //一致性核查 // 特殊GeneralId
+ foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(CheckChallengeDialog)))
+ {
+ var entity = item.Entity as CheckChallengeDialog;
+ var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
+ subjectvisit = subjectvisit ?? new SubjectVisit();
+ var reason = string.Empty;
+
+ switch (_userInfo.RequestUrl.ToLower())
+ {
+ case "qcoperation/closecheckchallenge":
+ reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1);
+ break;
+ }
+ await InsertInspection(entity, type, x => new InspectionConvertDTO()
+ {
+ GeneralId = entity.SubjectVisitId,
+ TrialId = subjectvisit.TrialId,
+ SubjectVisitId = x.SubjectVisitId,
+ SiteId = subjectvisit.SiteId,
+ SubjectId = subjectvisit.SubjectId,
+ SubjectVisitName = subjectvisit.VisitName,
+ BlindName = subjectvisit.BlindName,
+ Reason = reason,
+ CreateTime = x.CreateTime,
+ }, new
+ {
+ CheckState = subjectvisit.CheckState,
+ RequestBackState = subjectvisit.RequestBackState,
+ CheckChallengeState = subjectvisit.CheckChallengeState,
+ });
+ }
+
+ // 质疑信息 // 特殊GeneralId
+ foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCChallengeDialog)))
+ {
+ var reason = string.Empty;
+ var entity = item.Entity as QCChallengeDialog;
+ switch (_userInfo.RequestUrl.ToLower())
+ {
+ case "qcoperation/closeqcchallenge":
+ reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1);
+ break;
+ }
+
+ var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
+ var qCChallenge = await _dbContext.QCChallenge.Where(x => x.Id == entity.QCChallengeId).FirstOrDefaultAsync();
+ subjectvisit = subjectvisit ?? new SubjectVisit();
+ qCChallenge = qCChallenge ?? new QCChallenge();
+ await InsertInspection(entity, type, x => new InspectionConvertDTO()
+ {
+ GeneralId = qCChallenge.Id,
+ TrialId = subjectvisit.TrialId,
+ SubjectVisitId = x.SubjectVisitId,
+ SiteId = subjectvisit.SiteId,
+ SubjectId = subjectvisit.SubjectId,
+ SubjectVisitName = subjectvisit.VisitName,
+ BlindName = subjectvisit.BlindName,
+ Reason = reason,
+ }, new
+ {
+ AuditState = subjectvisit.AuditState,
+
+ ReuploadEnum = qCChallenge.ReuploadEnum,
+ Content = qCChallenge.Content,
+ DeadlineTime = qCChallenge.DeadlineTime,
+ IsOverTime = qCChallenge.IsClosed ? qCChallenge.ClosedTime > qCChallenge.DeadlineTime : DateTime.Now > qCChallenge.DeadlineTime,
+ IsClosed = qCChallenge.IsClosed
+ });
+ }
+
+
+ #region 阅片人入组
//阅片人入组
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Enroll)))
@@ -848,6 +763,25 @@ namespace IRaCIS.Core.Infra.EFCore.Common
});
}
+ #endregion
+
+ #region Subject 阅片期和 临床数据
+
+ // 受试者
+ foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(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();
+
+ await InsertInspection(entity, type, x => new InspectionConvertDTO()
+ {
+ SubjectId = x.Id,
+ SubjectCode = x.Code,
+ }, new
+ {
+ FinalSubjectVisitName = finalSubjectVisitName,
+ });
+ }
//阅片期计划
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingPeriodSet)))
@@ -866,10 +800,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}
- await InsertInspection(item.Entity as ReadingPeriodSet, type, x => new InspectionConvertDTO()
- {
- GeneralId = x.Id,
- }, new
+ await InsertInspection(item.Entity as ReadingPeriodSet, type, null, new
{
VisitName = visitName,
SiteCodes = siteCodes
@@ -908,7 +839,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var visitName = _dbContext.SubjectVisit.Where(t => t.Id == entity.SubjectVisitId).Select(t => t.VisitName).FirstOrDefault();
await InsertInspection(item.Entity as ReadModule, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
ObjectRelationParentId = entity.ReadingPeriodSetId,
SubjectVisitId = x.SubjectVisitId,
IsDistinctionInterface = false,
@@ -932,7 +862,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection(item.Entity as ReadingClinicalData, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
SubjectVisitId = x.IsVisit ? x.ReadingId : null,
}, new
{
@@ -948,10 +877,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection(item.Entity as ReadingClinicalDataPDF, type, x => new InspectionConvertDTO()
{
- GeneralId = x.Id,
SubjectId = x.SubjectId,
- IsDistinctionInterface=false,
- ObjectRelationParentId=entity.ReadingClinicalDataId
+ IsDistinctionInterface = false,
+ ObjectRelationParentId = entity.ReadingClinicalDataId
}, new
{
IsCRCUpload = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator
@@ -959,6 +887,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}
+ #endregion
+
+
+
+
#endregion
}
@@ -977,6 +910,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
InspectionConvertDTO inspection = new InspectionConvertDTO();
+
+
if (expression != null)
{
var f = expression.Compile();
@@ -984,8 +919,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
inspection = f(entityObj);
}
- //避免重复赋值
- inspection.GeneralId = entityObj.Id;
+ //避免重复赋值 有些特殊的GeneralId
+ var generalId = (inspection.GeneralId != null && inspection.GeneralId != Guid.Empty) ? inspection.GeneralId : entityObj.Id ;
+ inspection.GeneralId = generalId;
inspection.Identification = await GetInspectionRecordIdentificationAsync(entityObj, type, inspection.IsDistinctionInterface);
@@ -1008,7 +944,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#endregion
if (inspection.ParentId == null)
{
- inspection.ParentId = (await _dbContext.DataInspection.AsQueryable().Where(x => x.TrialId == inspection.TrialId && x.SubjectVisitId == inspection.SubjectVisitId && x.SubjectId == inspection.SubjectId && x.SiteId == inspection.SiteId && x.VisitStageId == inspection.VisitStageId && x.GeneralId == inspection.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
+ inspection.ParentId = (await _dbContext.DataInspection.AsQueryable().Where(x => x.TrialId == inspection.TrialId && x.SubjectVisitId == inspection.SubjectVisitId && x.SubjectId == inspection.SubjectId && x.SiteId == inspection.SiteId && x.GeneralId == inspection.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
}
inspection.CreateUserId = _userInfo.Id;
inspection.IP = _userInfo.IP;
@@ -1309,177 +1245,177 @@ namespace IRaCIS.Core.Infra.EFCore.Common
#region 待废弃 -by zhouhang 调整
- ///
- /// 映射数据
- ///
- ///
- /// 要赋值的对象
- public void MapData(dynamic data, dynamic mapData)
- {
- List column = new List() { "TrialId", "SiteId", "SubjectId", "SubjectVisitId", "CreateUserName", "TrialName", "SiteName", "SubjectCode", "VisitName", "SubjectVisitName", "RoleName", "SiteCode", "ResearchProgramNo" };
- foreach (var item in column)
- {
- try
- {
- var i = mapData.GetType().GetProperty(item).GetValue(mapData);
- if (i == null || i == default(Guid))
- {
- var value = data.GetType().GetProperty(item).GetValue(data);
- mapData.GetType().GetProperty(item).SetValue(mapData, value);
- }
+ /////
+ ///// 映射数据
+ /////
+ /////
+ ///// 要赋值的对象
+ //public void MapData(dynamic data, dynamic mapData)
+ //{
+ // List column = new List() { "TrialId", "SiteId", "SubjectId", "SubjectVisitId", "CreateUserName", "TrialName", "SiteName", "SubjectCode", "VisitName", "SubjectVisitName", "RoleName", "SiteCode", "ResearchProgramNo" };
+ // foreach (var item in column)
+ // {
+ // try
+ // {
+ // var i = mapData.GetType().GetProperty(item).GetValue(mapData);
+ // if (i == null || i == default(Guid))
+ // {
+ // var value = data.GetType().GetProperty(item).GetValue(data);
+ // mapData.GetType().GetProperty(item).SetValue(mapData, value);
+ // }
- }
- catch (Exception)
- {
- continue;
+ // }
+ // catch (Exception)
+ // {
+ // continue;
- }
- }
- }
+ // }
+ // }
+ //}
- ///
- /// 添加稽查
- ///
- /// 新增的稽查对象
- /// 数据
- ///
- ///
- public async Task AddInspectionRecordAsync(T data, InspectionConvertDTO add, object otherItem = null) where T : class
- {
- //MapData(data, add);
+ /////
+ ///// 添加稽查
+ /////
+ ///// 新增的稽查对象
+ ///// 数据
+ /////
+ /////
+ //public async Task AddInspectionRecordAsync(T data, InspectionConvertDTO add, object otherItem = null) where T : class
+ //{
+ // //MapData(data, add);
- MapEntityPropertyToAuditEntity(data, add);
+ // MapEntityPropertyToAuditEntity(data, add);
- InspectionGeneralData generalData = new InspectionGeneralData()
- {
- //CreateUserName = add.CreateUserName,
- SiteCode = add.SiteCode,
- SiteId = add.SiteId,
- //SiteName = add.SiteName,
- SubjectCode = add.SubjectCode,
- SubjectId = add.SubjectId,
- SubjectVisitId = add.SubjectVisitId,
- SubjectVisitName = add.SubjectVisitName,
- ResearchProgramNo = add.ResearchProgramNo,
- //RoleName = add.RoleName,
- TrialId = add.TrialId,
- TrialName = add.TrialName
- };
+ // InspectionGeneralData generalData = new InspectionGeneralData()
+ // {
+ // //CreateUserName = add.CreateUserName,
+ // SiteCode = add.SiteCode,
+ // SiteId = add.SiteId,
+ // //SiteName = add.SiteName,
+ // SubjectCode = add.SubjectCode,
+ // SubjectId = add.SubjectId,
+ // SubjectVisitId = add.SubjectVisitId,
+ // SubjectVisitName = add.SubjectVisitName,
+ // ResearchProgramNo = add.ResearchProgramNo,
+ // //RoleName = add.RoleName,
+ // TrialId = add.TrialId,
+ // TrialName = add.TrialName
+ // };
- await SetInspectionNameValue(generalData);
+ // await SetInspectionNameValue(generalData);
- #region 处理标识
+ // #region 处理标识
- var from = await _dbContext.FrontAuditConfig.FirstOrDefaultAsync(x => x.Identification == add.Identification);
- add.ObjectTypeId = from?.ObjectTypeId;
- add.OptTypeId = from?.OptTypeId;
- add.ChildrenTypeId = from?.ChildrenTypeId;
- add.ModuleTypeId = from?.ModuleTypeId;
+ // var from = await _dbContext.FrontAuditConfig.FirstOrDefaultAsync(x => x.Identification == add.Identification);
+ // add.ObjectTypeId = from?.ObjectTypeId;
+ // add.OptTypeId = from?.OptTypeId;
+ // add.ChildrenTypeId = from?.ChildrenTypeId;
+ // add.ModuleTypeId = from?.ModuleTypeId;
- #endregion
- if (add.ParentId == null)
- {
- add.ParentId = (await _dbContext.DataInspection.AsQueryable().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.VisitStageId == add.VisitStageId && x.GeneralId == add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
- }
- add.CreateUserId = _userInfo.Id;
- add.IP = _userInfo.IP;
- add.CreateTime = add.CreateTime == default(DateTime) ? DateTime.Now : add.CreateTime;
+ // #endregion
+ // if (add.ParentId == null)
+ // {
+ // add.ParentId = (await _dbContext.DataInspection.AsQueryable().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.VisitStageId == add.VisitStageId && x.GeneralId == add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
+ // }
+ // add.CreateUserId = _userInfo.Id;
+ // add.IP = _userInfo.IP;
+ // add.CreateTime = add.CreateTime == default(DateTime) ? DateTime.Now : add.CreateTime;
- if (_userInfo.SignId != null)
- {
- add.SignId = _userInfo.SignId;
- add.IsSign = true;
- }
+ // if (_userInfo.SignId != null)
+ // {
+ // add.SignId = _userInfo.SignId;
+ // add.IsSign = true;
+ // }
- var inspectionData = new InspectionJsonDetail()
- {
- //稽查实体,加上扩充的信息
- Data = AddJsonItem(data, otherItem),
+ // var inspectionData = new InspectionJsonDetail()
+ // {
+ // //稽查实体,加上扩充的信息
+ // Data = AddJsonItem(data, otherItem),
- //通用信息
- CommonData = generalData
- };
- add.JsonDetail = inspectionData.ToJsonStr();
- add.BatchId = _userInfo.BatchId.Value;
- await _dbContext.DataInspection.AddAsync(add);
- }
+ // //通用信息
+ // CommonData = generalData
+ // };
+ // add.JsonDetail = inspectionData.ToJsonStr();
+ // add.BatchId = _userInfo.BatchId.Value;
+ // await _dbContext.DataInspection.AddAsync(add);
+ //}
- ///
- /// 设置项目以及名称
- ///
- ///
- ///
- public async Task SetInspectionNameValue(InspectionGeneralData generalData)
- {
- #region 项目名称
+ /////
+ ///// 设置项目以及名称
+ /////
+ /////
+ /////
+ //public async Task SetInspectionNameValue(InspectionGeneralData generalData)
+ //{
+ // #region 项目名称
- if (generalData.TrialId != null)
- {
+ // if (generalData.TrialId != null)
+ // {
- //项目添加哪里 直接会带信息过来,不用查询数据库 其他的地方需要查询数据库
- if (string.IsNullOrEmpty(generalData.ResearchProgramNo) || string.IsNullOrEmpty(generalData.TrialName))
- {
- var trialdata = (await _dbContext.Trial.Select(x => new { x.Id, x.ResearchProgramNo, x.ExperimentName, }).FirstOrDefaultAsync(x => x.Id == generalData.TrialId)).IfNullThrowException();
+ // //项目添加哪里 直接会带信息过来,不用查询数据库 其他的地方需要查询数据库
+ // if (string.IsNullOrEmpty(generalData.ResearchProgramNo) || string.IsNullOrEmpty(generalData.TrialName))
+ // {
+ // var trialdata = (await _dbContext.Trial.Select(x => new { x.Id, x.ResearchProgramNo, x.ExperimentName, }).FirstOrDefaultAsync(x => x.Id == generalData.TrialId)).IfNullThrowException();
- generalData.ResearchProgramNo = trialdata.ResearchProgramNo;
+ // generalData.ResearchProgramNo = trialdata.ResearchProgramNo;
- generalData.TrialName = trialdata.ExperimentName;
- }
- }
+ // generalData.TrialName = trialdata.ExperimentName;
+ // }
+ // }
- #endregion
+ // #endregion
- #region 测试中心名称
+ // #region 测试中心名称
- if (generalData.TrialId != null && generalData.SiteId != null)
- {
+ // if (generalData.TrialId != null && generalData.SiteId != null)
+ // {
- generalData.SiteCode = (await _dbContext.TrialSite.IgnoreQueryFilters().Where(x => x.TrialId == generalData.TrialId && x.SiteId == generalData.SiteId).Select(t => t.TrialSiteCode).FirstOrDefaultAsync()).IfNullThrowException();
+ // generalData.SiteCode = (await _dbContext.TrialSite.IgnoreQueryFilters().Where(x => x.TrialId == generalData.TrialId && x.SiteId == generalData.SiteId).Select(t => t.TrialSiteCode).FirstOrDefaultAsync()).IfNullThrowException();
- //// 添加Site 哪里会带信息过来
- //if (string.IsNullOrEmpty(generalData.SiteName))
- //{
- // generalData.SiteName = (await _dbContext.Site.Where(x => x.Id == generalData.SiteId).Select(x => x.SiteName).FirstOrDefaultAsync()).IfNullThrowException();
+ // //// 添加Site 哪里会带信息过来
+ // //if (string.IsNullOrEmpty(generalData.SiteName))
+ // //{
+ // // generalData.SiteName = (await _dbContext.Site.Where(x => x.Id == generalData.SiteId).Select(x => x.SiteName).FirstOrDefaultAsync()).IfNullThrowException();
- //}
- }
+ // //}
+ // }
- #endregion
+ // #endregion
- #region 受试者
+ // #region 受试者
- if (generalData.SubjectId != null)
- {
+ // if (generalData.SubjectId != null)
+ // {
- // 添加Subject 哪里会带信息过来
- if (string.IsNullOrEmpty(generalData.SubjectCode))
- {
- generalData.SubjectCode = (await _dbContext.Subject.Where(x => x.Id == generalData.SubjectId).Select(x => x.Code).FirstOrDefaultAsync()).IfNullThrowException();
+ // // 添加Subject 哪里会带信息过来
+ // if (string.IsNullOrEmpty(generalData.SubjectCode))
+ // {
+ // generalData.SubjectCode = (await _dbContext.Subject.Where(x => x.Id == generalData.SubjectId).Select(x => x.Code).FirstOrDefaultAsync()).IfNullThrowException();
- }
- }
+ // }
+ // }
- #endregion
+ // #endregion
- #region 访视
+ // #region 访视
- if (generalData.SubjectVisitId != null)
- {
- //添加访视的时候,会带信息过来
- if (string.IsNullOrEmpty(generalData.SubjectVisitName))
- {
- generalData.SubjectVisitName = (await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x => x.VisitName).FirstOrDefaultAsync()).IfNullThrowException();
- }
- }
+ // if (generalData.SubjectVisitId != null)
+ // {
+ // //添加访视的时候,会带信息过来
+ // if (string.IsNullOrEmpty(generalData.SubjectVisitName))
+ // {
+ // generalData.SubjectVisitName = (await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x => x.VisitName).FirstOrDefaultAsync()).IfNullThrowException();
+ // }
+ // }
- #endregion
+ // #endregion
- }
+ //}
#endregion