Uat_Study
parent
5b992c0980
commit
e33c681eb0
|
@ -326,6 +326,11 @@
|
|||
是否有签名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionDto.BatchId">
|
||||
<summary>
|
||||
批次Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.Inspection.InspectionService.RecordSing(IRaCIS.Core.Application.Contracts.SignDTO,IRaCIS.Core.Infrastructure.Extention.IResponseOutput)">
|
||||
<summary>
|
||||
传入参数记录ID
|
||||
|
@ -725,6 +730,41 @@
|
|||
<member name="T:IRaCIS.Core.Application.Contracts.PreviousPDFAddOrEdit">
|
||||
<summary> PreviousPDFAddOrEdit 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.FileName">
|
||||
<summary>
|
||||
文件名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.FilePath">
|
||||
<summary>
|
||||
文件路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.RelativePaths">
|
||||
<summary>
|
||||
相对路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.CreateUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.CreateTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.TrialId">
|
||||
<summary>
|
||||
项目ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileDto.CreateUserName">
|
||||
<summary>
|
||||
创建者名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Contracts.DTO.CloseCheckChallengeDto">
|
||||
<summary>
|
||||
关闭一致性质疑Dto
|
||||
|
@ -1429,6 +1469,12 @@
|
|||
<param name="trialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCListService.GetConsistencyCheckFile(IRaCIS.Core.Application.Contracts.DTO.GetConsistencyCheckFileInDto)">
|
||||
<summary>
|
||||
获取一致性核查文件上传记录
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCListService.GetSubjectVisitSelectList(System.Guid)">
|
||||
<summary>
|
||||
添加计划外访视 下拉框 选择上一次访视
|
||||
|
|
|
@ -448,7 +448,10 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
|
|||
/// </summary>
|
||||
public bool? IsSign { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 批次Id
|
||||
/// </summary>
|
||||
public Guid? BatchId { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -132,11 +132,13 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
OptType = leftOptType.Id,
|
||||
VisitNum=leftsubjectVisit.VisitNum,
|
||||
IsFrontAdd=data.IsFrontAdd,
|
||||
BatchId=data.BatchId,
|
||||
OptTypeName = leftOptType.Value,
|
||||
|
||||
};
|
||||
|
||||
query = query.WhereIf(dto.SiteId != null, x => x.SiteId == dto.SiteId)
|
||||
.WhereIf(dto.BatchId != null, x => x.BatchId == dto.BatchId)
|
||||
.WhereIf(!dto.SubjectInfo.IsNullOrEmpty(), x => x.SubjectCode.Contains(dto.SubjectInfo))
|
||||
.WhereIf(dto.VisitPlanInfo != null, x => x.VisitNum == dto.VisitPlanInfo)
|
||||
.WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime)
|
||||
|
|
|
@ -152,6 +152,57 @@ namespace IRaCIS.Core.Application.Contracts.DTO
|
|||
|
||||
}
|
||||
|
||||
|
||||
public class GetConsistencyCheckFileDto/*: ConsistencyCheckFile*/
|
||||
{
|
||||
/// <summary>
|
||||
/// 文件名称
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件路径
|
||||
/// </summary>
|
||||
public string FilePath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 相对路径
|
||||
/// </summary>
|
||||
public string RelativePaths { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者名称
|
||||
/// </summary>
|
||||
public string CreateUserName { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class GetConsistencyCheckFileInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public int PageIndex { get; set; } = 1;
|
||||
public int PageSize { set; get; } = 10;
|
||||
}
|
||||
|
||||
|
||||
public class QCChanllengeCreatorDto
|
||||
{
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
|
|
@ -11,11 +11,15 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
public class QCListService : BaseService, IQCListService
|
||||
{
|
||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||
private readonly IRepository<ConsistencyCheckFile> _consistencyCheckFileRepository;
|
||||
|
||||
|
||||
public QCListService(IRepository<SubjectVisit> subjectVisitRepository)
|
||||
public QCListService(
|
||||
IRepository<SubjectVisit> subjectVisitRepository,
|
||||
IRepository<ConsistencyCheckFile> consistencyCheckFileRepository
|
||||
)
|
||||
{
|
||||
_subjectVisitRepository = subjectVisitRepository;
|
||||
this._consistencyCheckFileRepository = consistencyCheckFileRepository;
|
||||
}
|
||||
|
||||
|
||||
|
@ -796,6 +800,20 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取一致性核查文件上传记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<GetConsistencyCheckFileDto>> GetConsistencyCheckFile(GetConsistencyCheckFileInDto indto)
|
||||
{
|
||||
var query = _repository.Where<ConsistencyCheckFile>(t => t.TrialId == indto.TrialId)
|
||||
.ProjectTo<GetConsistencyCheckFileDto>(_mapper.ConfigurationProvider);
|
||||
|
||||
return await query.ToPagedListAsync(indto.PageIndex, indto.PageSize, "CreateTime", false);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加计划外访视 下拉框 选择上一次访视
|
||||
/// </summary>
|
||||
|
|
|
@ -38,6 +38,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
|
||||
private readonly IRepository<CheckChallengeDialog> _checkChallengeDialogrepository;
|
||||
private readonly IRepository<Trial> _trialRepository;
|
||||
private readonly IRepository<ConsistencyCheckFile> _consistencyCheckFileRepository;
|
||||
private readonly IMediator _mediator;
|
||||
|
||||
private readonly AsyncLock _mutex = new AsyncLock();
|
||||
|
@ -45,6 +46,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository,
|
||||
IRepository<QCChallenge> qcChallengeRepository,
|
||||
IRepository<Trial> trialRepository,
|
||||
IRepository<ConsistencyCheckFile> consistencyCheckFileRepository,
|
||||
IMediator mediator,
|
||||
IRepository<DicomStudy> dicomStudyRepository,
|
||||
IRepository<DicomSeries> dicomSeriesrepository,
|
||||
|
@ -63,6 +65,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
this._checkChallengeDialogrepository = checkChallengeDialogrepository;
|
||||
_mediator = mediator;
|
||||
_trialRepository = trialRepository;
|
||||
this._consistencyCheckFileRepository = consistencyCheckFileRepository;
|
||||
}
|
||||
|
||||
#region QC质疑 以及回复 关闭
|
||||
|
@ -703,6 +706,16 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
}
|
||||
|
||||
await _consistencyCheckFileRepository.AddAsync(new ConsistencyCheckFile()
|
||||
{
|
||||
TrialId = trialId,
|
||||
CreateTime = DateTime.Now,
|
||||
FileName = fileName,
|
||||
FilePath = filePath,
|
||||
RelativePaths = filePath.Replace(rootPath, ""),
|
||||
CreateUserId = _userInfo.Id
|
||||
});
|
||||
|
||||
//new()
|
||||
//{
|
||||
// TrialId = trialId,
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
//CreateMap<QaTemplateCommand, QATemplate>();
|
||||
|
||||
//CreateMap<QaTemplateItemCommand, QATemplateItem>();
|
||||
|
||||
|
||||
|
||||
//CreateMap<QARecordTrialTemplateItemCommand, QARecordTemplateItemDetail>();
|
||||
|
||||
|
@ -73,7 +73,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.ParentShowOrder, u => u.MapFrom(s => s.ParentQCQuestion.ShowOrder));
|
||||
|
||||
CreateMap<TrialQCQuestionSelect, TrialQCQuestionConfigureView>();
|
||||
|
||||
|
||||
CreateMap<CheckChallengeDialogCommand, CheckChallengeDialog>();
|
||||
|
||||
CreateMap<PreviousPDFAddOrEdit, PreviousPDF>().ReverseMap();
|
||||
|
@ -104,11 +104,11 @@ namespace IRaCIS.Core.Application.Service
|
|||
//影像质控
|
||||
CreateMap<SubjectVisit, QCVisitViewModel>()
|
||||
.ForMember(d => d.ChallengeCount, u => u.MapFrom(s => s.QCChallengeList.Count()))
|
||||
|
||||
//.ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.Subject.Code))
|
||||
//.ForMember(d => d.IsEnrollmentConfirm, u => u.MapFrom(s => s.Subject.IsEnrollmentConfirm))
|
||||
//.ForMember(d => d.FistGiveMedicineTime, u => u.MapFrom(s => s.Subject.FistGiveMedicineTime))
|
||||
//.ForMember(d => d.SubjectVisitId, u => u.MapFrom(s => s.Id))
|
||||
|
||||
//.ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.Subject.Code))
|
||||
//.ForMember(d => d.IsEnrollmentConfirm, u => u.MapFrom(s => s.Subject.IsEnrollmentConfirm))
|
||||
//.ForMember(d => d.FistGiveMedicineTime, u => u.MapFrom(s => s.Subject.FistGiveMedicineTime))
|
||||
//.ForMember(d => d.SubjectVisitId, u => u.MapFrom(s => s.Id))
|
||||
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode))
|
||||
.ForMember(d => d.QCProcessEnum, u => u.MapFrom(s => s.Trial.QCProcessEnum))
|
||||
.ForMember(d => d.SubjectStatus, u => u.MapFrom(s => s.Subject.Status))
|
||||
|
@ -116,7 +116,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.CurrentActionUserName, u => u.MapFrom(s => s.CurrentActionUser.UserName))
|
||||
.ForMember(d => d.PreliminaryAuditUserName, u => u.MapFrom(s => s.PreliminaryAuditUser.UserName))
|
||||
.ForMember(d => d.ReviewAuditUserName, u => u.MapFrom(s => s.ReviewAuditUser.UserName))
|
||||
.ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any() || t.PreviousPDFList.Any() || t.PreviousSurgeryList.Any() : false))
|
||||
.ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any() || t.PreviousPDFList.Any() || t.PreviousSurgeryList.Any() : false))
|
||||
.ForMember(d => d.DicomStudyCount, u => u.MapFrom(t => t.StudyList.Count()))
|
||||
.ForMember(d => d.NoneDicomStudyCount, u => u.MapFrom(t => t.NoneDicomStudyList.Count(t => t.NoneDicomFileList.Any())));
|
||||
|
||||
|
@ -130,21 +130,21 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.QCProcessEnum, u => u.MapFrom(s => s.Trial.QCProcessEnum))
|
||||
.ForMember(d => d.SubjectId, u => u.MapFrom(t => t.Subject.Id))
|
||||
.ForMember(d => d.MedicalNo, u => u.MapFrom(s => s.Subject.MedicalNo))
|
||||
.ForMember(d => d.Sex, u=> u.MapFrom(s => s.Subject.Sex))
|
||||
.ForMember(d => d.Sex, u => u.MapFrom(s => s.Subject.Sex))
|
||||
.ForMember(d => d.Age, u => u.MapFrom(t => t.Subject.Age))
|
||||
.ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t=> t.IsBaseLine? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any() || t.PreviousPDFList.Any() || t.PreviousSurgeryList.Any() :false))
|
||||
|
||||
.ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any() || t.PreviousPDFList.Any() || t.PreviousSurgeryList.Any() : false))
|
||||
|
||||
//.ForMember(d => d.VisitName, u => u.MapFrom(t =>t.InPlan? t.VisitStage.VisitName : t.VisitName))
|
||||
//.ForMember(d => d.VisitNum, u => u.MapFrom(t => t.InPlan ? t.VisitStage.VisitNum : t.VisitNum))
|
||||
//.ForMember(d => d.VisitDay, u => u.MapFrom(t => t.InPlan ? t.VisitStage.VisitDay : t.VisitDay))
|
||||
.ForMember(d => d.DicomStudyCount, u => u.MapFrom(t => t.StudyList.Count()))
|
||||
.ForMember(d => d.NoneDicomStudyCount, u => u.MapFrom(t => t.NoneDicomStudyList.Count(t=>t.NoneDicomFileList.Any())));
|
||||
//.ForMember(d => d.StudyCount, u => u.MapFrom(s => s.StudyList.Count()));
|
||||
.ForMember(d => d.NoneDicomStudyCount, u => u.MapFrom(t => t.NoneDicomStudyList.Count(t => t.NoneDicomFileList.Any())));
|
||||
//.ForMember(d => d.StudyCount, u => u.MapFrom(s => s.StudyList.Count()));
|
||||
CreateMap<Subject, QCCRCVisitViewModel>();
|
||||
|
||||
//一致性核查
|
||||
CreateMap<SubjectVisit, QCCheckViewModel>()
|
||||
.ForMember(d => d.TalkContent, u => u.MapFrom(s =>s.CheckChallengeDialogList.OrderByDescending(y=>y.CreateTime).Select(x=>x.TalkContent).FirstOrDefault()))
|
||||
.ForMember(d => d.TalkContent, u => u.MapFrom(s => s.CheckChallengeDialogList.OrderByDescending(y => y.CreateTime).Select(x => x.TalkContent).FirstOrDefault()))
|
||||
.ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.Subject.Code))
|
||||
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode));
|
||||
|
||||
|
@ -154,12 +154,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.CreateUserFullName, u => u.MapFrom(t => t.CreateUser.FullName));
|
||||
|
||||
CreateMap<SubjectVisit, CheckDialogDTO>()
|
||||
.ForMember(d => d.SubjectVisitCheck, u => u.MapFrom(t => t))
|
||||
.ForMember(d => d.SubjectVisitCheck, u => u.MapFrom(t => t))
|
||||
.ForMember(d => d.DialogList, u => u.MapFrom(t => t.CheckChallengeDialogList.OrderBy(t => t.CreateTime)));
|
||||
|
||||
|
||||
CreateMap<SubjectVisit, ForWardViewModel>()
|
||||
.ForMember(d => d.ForwardUserName, u => u.MapFrom(s => s.ForwardUser.UserName))
|
||||
.ForMember(d => d.ForwardUserName, u => u.MapFrom(s => s.ForwardUser.UserName))
|
||||
.ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.Subject.Code))
|
||||
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode));
|
||||
|
||||
|
@ -172,7 +172,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.SubjectFirstGiveMedicineTime, u => u.MapFrom(s => s.Subject.FirstGiveMedicineTime))
|
||||
.ForMember(d => d.SiteName, u => u.MapFrom(s => s.Site.SiteName))
|
||||
.ForMember(d => d.TotalChallengeCount, u => u.MapFrom(s => s.QCChallengeList.Count()))
|
||||
.ForMember(d => d.NotClosedChallengeCount, u => u.MapFrom(s => s.QCChallengeList.Count(c=>c.IsClosed==false)));
|
||||
.ForMember(d => d.NotClosedChallengeCount, u => u.MapFrom(s => s.QCChallengeList.Count(c => c.IsClosed == false)));
|
||||
|
||||
|
||||
CreateMap<Subject, QARelationInfo>(MemberList.None);
|
||||
|
@ -188,7 +188,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<PreviousSurgery, PreviousSurgeryView>()
|
||||
.ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path + "?access_token=" + token));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -197,7 +197,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<QCChallengeDialog, QCChanllengeDialogDTO>()
|
||||
.ForMember(d => d.CreateUserName, u => u.MapFrom(t => t.CreateUser.UserName))
|
||||
.ForMember(d => d.CreateUserFullName, u => u.MapFrom(t => t.CreateUser.FullName))
|
||||
|
||||
|
||||
.ForMember(d => d.IsCurrentUser, u => u.MapFrom(s => s.CreateUserId == currentUserId));
|
||||
//质疑编号
|
||||
CreateMap<QCChallenge, QCChallengeWithUser>()
|
||||
|
@ -206,7 +206,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.CurrentActionUserId, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUserId))
|
||||
.ForMember(d => d.CurrentActionUserName, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUser.UserName))
|
||||
|
||||
.ForMember(d => d.SubjectId, u => u.MapFrom(t => t.SubjectVisit.SubjectId ))
|
||||
.ForMember(d => d.SubjectId, u => u.MapFrom(t => t.SubjectVisit.SubjectId))
|
||||
.ForMember(d => d.ChallengeCode, u => u.MapFrom(s => "Q" + s.ChallengeCode.ToString("D5")));
|
||||
|
||||
|
||||
|
@ -217,9 +217,14 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.CurrentActionUserName, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUser.UserName))
|
||||
|
||||
.ForMember(d => d.SubjectId, u => u.MapFrom(t => t.SubjectVisit.SubjectId))
|
||||
.ForMember(d => d.DialogList, u => u.MapFrom(t => t.DialogList.OrderBy(t=>t.CreateTime)))
|
||||
.ForMember(d => d.DialogList, u => u.MapFrom(t => t.DialogList.OrderBy(t => t.CreateTime)))
|
||||
.ForMember(d => d.ChallengeCode, u => u.MapFrom(s => "Q" + s.ChallengeCode.ToString("D5")));
|
||||
|
||||
// 一致性核查文件
|
||||
CreateMap<ConsistencyCheckFile, GetConsistencyCheckFileDto>()
|
||||
.ForMember(d => d.CreateUserName, u => u.MapFrom(t => t.User.FirstName +"/"+ t.User.LastName));
|
||||
|
||||
|
||||
//CRC 质疑列表
|
||||
CreateMap<QCChallenge, QCCRCChallengeViewModel>()
|
||||
.ForMember(d => d.PreliminaryAuditUserName, u => u.MapFrom(s => s.SubjectVisit.PreliminaryAuditUser.UserName))
|
||||
|
|
|
@ -149,10 +149,10 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
|
|||
dbSV.CheckTime = DateTime.Now;
|
||||
|
||||
|
||||
await _subjectVisitRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
}
|
||||
|
||||
await _subjectVisitRepository.SaveChangesAsync();
|
||||
return "OK";
|
||||
|
||||
}
|
||||
|
|
|
@ -46,5 +46,8 @@ namespace IRaCIS.Core.Domain.Share
|
|||
string RequestUrl { get; }
|
||||
|
||||
Guid? SignId { get; set; }
|
||||
|
||||
Guid? BatchId { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -242,6 +242,12 @@ namespace IRaCIS.Core.Domain.Share
|
|||
get; set;
|
||||
}
|
||||
|
||||
|
||||
public Guid? BatchId
|
||||
{
|
||||
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ClaimAttributes
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
/// 一致性核查文件
|
||||
///</summary>
|
||||
[Table("ConsistencyCheckFile")]
|
||||
public class ConsistencyCheckFile : Entity, IAuditAdd
|
||||
{
|
||||
/// <summary>
|
||||
/// 文件名称
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件路径
|
||||
/// </summary>
|
||||
public string FilePath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 相对路径
|
||||
/// </summary>
|
||||
public string RelativePaths { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
[ForeignKey("CreateUserId")]
|
||||
public User User { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -154,7 +154,6 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public Guid? VisitStageId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 通用Id
|
||||
/// </summary>
|
||||
|
@ -169,6 +168,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// 上一条json
|
||||
/// </summary>
|
||||
public string LastJsonDetail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次Id
|
||||
/// </summary>
|
||||
public Guid BatchId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ using IRaCIS.Core.Domain.Share;
|
|||
using IRaCIS.Core.Infra.EFCore.Common.Dto;
|
||||
using IRaCIS.Core.Infrastructure;
|
||||
using IRaCIS.Core.Infrastructure.Extention;
|
||||
using MassTransit;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||
using Microsoft.EntityFrameworkCore.ChangeTracking.Internal;
|
||||
|
@ -40,6 +41,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
{
|
||||
_dbContext = dbContext;
|
||||
_userInfo = userInfo;
|
||||
_userInfo.BatchId = _userInfo.BatchId == null ? NewId.NextGuid() : _userInfo.BatchId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -749,6 +751,17 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
// 一致性核查文件
|
||||
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ConsistencyCheckFile)))
|
||||
{
|
||||
await InsertInspection<ConsistencyCheckFile>(item.Entity, type, x => new DataInspection()
|
||||
{
|
||||
GeneralId = x.Id,
|
||||
CreateTime=x.CreateTime,
|
||||
});
|
||||
}
|
||||
|
||||
// Qc 问题答案
|
||||
if (entitys.Any(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)))
|
||||
{
|
||||
|
@ -1021,7 +1034,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
Inspection = generalData
|
||||
};
|
||||
add.JsonDetail = inspectionData.ToJsonStr();
|
||||
|
||||
add.BatchId = _userInfo.BatchId.Value;
|
||||
await _dbContext.DataInspection.AddAsync(add);
|
||||
}
|
||||
|
||||
|
|
|
@ -348,6 +348,8 @@ namespace IRaCIS.Core.Infra.EFCore
|
|||
|
||||
public virtual DbSet<FrontAuditConfig> FrontAuditConfig { get; set; }
|
||||
|
||||
public virtual DbSet<ConsistencyCheckFile> ConsistencyCheckFile { get; set; }
|
||||
|
||||
public virtual DbSet<CommonDocument> CommonDocument { get; set; }
|
||||
|
||||
public virtual DbSet<SystemNotice> SystemNotice { get; set; }
|
||||
|
|
Loading…
Reference in New Issue