Uat_Study
he 2022-05-26 13:56:47 +08:00
parent 5b992c0980
commit e33c681eb0
14 changed files with 249 additions and 28 deletions

View File

@ -326,6 +326,11 @@
是否有签名 是否有签名
</summary> </summary>
</member> </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)"> <member name="M:IRaCIS.Core.Application.Service.Inspection.InspectionService.RecordSing(IRaCIS.Core.Application.Contracts.SignDTO,IRaCIS.Core.Infrastructure.Extention.IResponseOutput)">
<summary> <summary>
传入参数记录ID 传入参数记录ID
@ -725,6 +730,41 @@
<member name="T:IRaCIS.Core.Application.Contracts.PreviousPDFAddOrEdit"> <member name="T:IRaCIS.Core.Application.Contracts.PreviousPDFAddOrEdit">
<summary> PreviousPDFAddOrEdit 列表查询参数模型</summary> <summary> PreviousPDFAddOrEdit 列表查询参数模型</summary>
</member> </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"> <member name="T:IRaCIS.Core.Application.Contracts.DTO.CloseCheckChallengeDto">
<summary> <summary>
关闭一致性质疑Dto 关闭一致性质疑Dto
@ -1429,6 +1469,12 @@
<param name="trialId"></param> <param name="trialId"></param>
<returns></returns> <returns></returns>
</member> </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)"> <member name="M:IRaCIS.Core.Application.Image.QA.QCListService.GetSubjectVisitSelectList(System.Guid)">
<summary> <summary>
添加计划外访视 下拉框 选择上一次访视 添加计划外访视 下拉框 选择上一次访视

View File

@ -448,7 +448,10 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
/// </summary> /// </summary>
public bool? IsSign { get; set; } public bool? IsSign { get; set; }
/// <summary>
/// 批次Id
/// </summary>
public Guid? BatchId { get; set; }
} }

View File

@ -132,11 +132,13 @@ namespace IRaCIS.Core.Application.Service.Inspection
OptType = leftOptType.Id, OptType = leftOptType.Id,
VisitNum=leftsubjectVisit.VisitNum, VisitNum=leftsubjectVisit.VisitNum,
IsFrontAdd=data.IsFrontAdd, IsFrontAdd=data.IsFrontAdd,
BatchId=data.BatchId,
OptTypeName = leftOptType.Value, OptTypeName = leftOptType.Value,
}; };
query = query.WhereIf(dto.SiteId != null, x => x.SiteId == dto.SiteId) 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.SubjectInfo.IsNullOrEmpty(), x => x.SubjectCode.Contains(dto.SubjectInfo))
.WhereIf(dto.VisitPlanInfo != null, x => x.VisitNum == dto.VisitPlanInfo) .WhereIf(dto.VisitPlanInfo != null, x => x.VisitNum == dto.VisitPlanInfo)
.WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime) .WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime)

View File

@ -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 class QCChanllengeCreatorDto
{ {
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }

View File

@ -11,11 +11,15 @@ namespace IRaCIS.Core.Application.Image.QA
public class QCListService : BaseService, IQCListService public class QCListService : BaseService, IQCListService
{ {
private readonly IRepository<SubjectVisit> _subjectVisitRepository; private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ConsistencyCheckFile> _consistencyCheckFileRepository;
public QCListService(
public QCListService(IRepository<SubjectVisit> subjectVisitRepository) IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ConsistencyCheckFile> consistencyCheckFileRepository
)
{ {
_subjectVisitRepository = subjectVisitRepository; _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>
/// 添加计划外访视 下拉框 选择上一次访视 /// 添加计划外访视 下拉框 选择上一次访视
/// </summary> /// </summary>

View File

@ -38,6 +38,7 @@ namespace IRaCIS.Core.Application.Image.QA
private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository; private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
private readonly IRepository<CheckChallengeDialog> _checkChallengeDialogrepository; private readonly IRepository<CheckChallengeDialog> _checkChallengeDialogrepository;
private readonly IRepository<Trial> _trialRepository; private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<ConsistencyCheckFile> _consistencyCheckFileRepository;
private readonly IMediator _mediator; private readonly IMediator _mediator;
private readonly AsyncLock _mutex = new AsyncLock(); private readonly AsyncLock _mutex = new AsyncLock();
@ -45,6 +46,7 @@ namespace IRaCIS.Core.Application.Image.QA
public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository, public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository,
IRepository<QCChallenge> qcChallengeRepository, IRepository<QCChallenge> qcChallengeRepository,
IRepository<Trial> trialRepository, IRepository<Trial> trialRepository,
IRepository<ConsistencyCheckFile> consistencyCheckFileRepository,
IMediator mediator, IMediator mediator,
IRepository<DicomStudy> dicomStudyRepository, IRepository<DicomStudy> dicomStudyRepository,
IRepository<DicomSeries> dicomSeriesrepository, IRepository<DicomSeries> dicomSeriesrepository,
@ -63,6 +65,7 @@ namespace IRaCIS.Core.Application.Image.QA
this._checkChallengeDialogrepository = checkChallengeDialogrepository; this._checkChallengeDialogrepository = checkChallengeDialogrepository;
_mediator = mediator; _mediator = mediator;
_trialRepository = trialRepository; _trialRepository = trialRepository;
this._consistencyCheckFileRepository = consistencyCheckFileRepository;
} }
#region QC质疑 以及回复 关闭 #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() //new()
//{ //{
// TrialId = trialId, // TrialId = trialId,

View File

@ -220,6 +220,11 @@ namespace IRaCIS.Core.Application.Service
.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"))); .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 质疑列表 //CRC 质疑列表
CreateMap<QCChallenge, QCCRCChallengeViewModel>() CreateMap<QCChallenge, QCCRCChallengeViewModel>()
.ForMember(d => d.PreliminaryAuditUserName, u => u.MapFrom(s => s.SubjectVisit.PreliminaryAuditUser.UserName)) .ForMember(d => d.PreliminaryAuditUserName, u => u.MapFrom(s => s.SubjectVisit.PreliminaryAuditUser.UserName))

View File

@ -149,10 +149,10 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
dbSV.CheckTime = DateTime.Now; dbSV.CheckTime = DateTime.Now;
await _subjectVisitRepository.SaveChangesAsync();
} }
await _subjectVisitRepository.SaveChangesAsync();
return "OK"; return "OK";
} }

View File

@ -46,5 +46,8 @@ namespace IRaCIS.Core.Domain.Share
string RequestUrl { get; } string RequestUrl { get; }
Guid? SignId { get; set; } Guid? SignId { get; set; }
Guid? BatchId { get; set; }
} }
} }

View File

@ -242,6 +242,12 @@ namespace IRaCIS.Core.Domain.Share
get; set; get; set;
} }
public Guid? BatchId
{
get; set;
}
} }
public static class ClaimAttributes public static class ClaimAttributes

View File

@ -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; }
}
}

View File

@ -154,7 +154,6 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public Guid? VisitStageId { get; set; } public Guid? VisitStageId { get; set; }
/// <summary> /// <summary>
/// 通用Id /// 通用Id
/// </summary> /// </summary>
@ -169,6 +168,11 @@ namespace IRaCIS.Core.Domain.Models
/// 上一条json /// 上一条json
/// </summary> /// </summary>
public string LastJsonDetail { get; set; } public string LastJsonDetail { get; set; }
/// <summary>
/// 批次Id
/// </summary>
public Guid BatchId { get; set; }
} }

View File

@ -3,6 +3,7 @@ using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infra.EFCore.Common.Dto; using IRaCIS.Core.Infra.EFCore.Common.Dto;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Infrastructure.Extention; using IRaCIS.Core.Infrastructure.Extention;
using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.ChangeTracking.Internal; using Microsoft.EntityFrameworkCore.ChangeTracking.Internal;
@ -40,6 +41,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
_dbContext = dbContext; _dbContext = dbContext;
_userInfo = userInfo; _userInfo = userInfo;
_userInfo.BatchId = _userInfo.BatchId == null ? NewId.NextGuid() : _userInfo.BatchId;
} }
/// <summary> /// <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 问题答案 // Qc 问题答案
if (entitys.Any(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer))) if (entitys.Any(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)))
{ {
@ -1021,7 +1034,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
Inspection = generalData Inspection = generalData
}; };
add.JsonDetail = inspectionData.ToJsonStr(); add.JsonDetail = inspectionData.ToJsonStr();
add.BatchId = _userInfo.BatchId.Value;
await _dbContext.DataInspection.AddAsync(add); await _dbContext.DataInspection.AddAsync(add);
} }

View File

@ -348,6 +348,8 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet<FrontAuditConfig> FrontAuditConfig { get; set; } public virtual DbSet<FrontAuditConfig> FrontAuditConfig { get; set; }
public virtual DbSet<ConsistencyCheckFile> ConsistencyCheckFile { get; set; }
public virtual DbSet<CommonDocument> CommonDocument { get; set; } public virtual DbSet<CommonDocument> CommonDocument { get; set; }
public virtual DbSet<SystemNotice> SystemNotice { get; set; } public virtual DbSet<SystemNotice> SystemNotice { get; set; }