修改临床数据配置

Uat_Study
hang 2022-10-14 10:58:04 +08:00
parent c120e227aa
commit 45bdc51722
10 changed files with 393 additions and 256 deletions

View File

@ -865,21 +865,6 @@
文件路径 文件路径
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.ClinicalDataSetName">
<summary>
名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.ClinicalDataLevel">
<summary>
临床级别
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.ClinicalUploadType">
<summary>
上传方式
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.CreateTime"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.CreateTime">
<summary> <summary>
创建时间 创建时间
@ -890,26 +875,11 @@
创建人 创建人
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.UploadRole">
<summary>
上传角色
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.TrialId">
<summary>
项目ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.SystemClinicalDataSetId"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.SystemClinicalDataSetId">
<summary> <summary>
系统的ClinicalDataSetId 系统的ClinicalDataSetId
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.IsConfirm">
<summary>
是否勾选
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.IsFromSystemData"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.IsFromSystemData">
<summary> <summary>
是否来自于系统数据 是否来自于系统数据
@ -920,41 +890,6 @@
是否使用 是否使用
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.FileName">
<summary>
模板文件名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.Path">
<summary>
文件路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.ClinicalDataSetEnum">
<summary>
枚举
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.ClinicalDataSetName">
<summary>
名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.ClinicalDataLevel">
<summary>
临床级别
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.ClinicalUploadType">
<summary>
上传方式
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.UploadRole">
<summary>
上传角色
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.CreateTime"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.CreateTime">
<summary> <summary>
创建时间 创建时间
@ -965,21 +900,6 @@
创建人 创建人
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.IsEnable">
<summary>
是否启用
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.FileName">
<summary>
模板文件名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetView.Path">
<summary>
文件路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataInDto.TrialId"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataInDto.TrialId">
<summary> <summary>
项目Id 项目Id
@ -1040,6 +960,11 @@
上传方式 上传方式
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SystemCriterionSelectDto.IsEnable">
<summary>
是否启用
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto.TrialSiteCode"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto.TrialSiteCode">
<summary> <summary>
项目中心Code 项目中心Code
@ -7620,13 +7545,6 @@
临床数据配置 临床数据配置
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddOrUpdateClinicalDataTrialSet(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit)">
<summary>
新增或者修改(项目)
</summary>
<param name="indto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddOrUpdateClinicalDataSystemSet(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit)"> <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddOrUpdateClinicalDataSystemSet(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit)">
<summary> <summary>
新增或者修改(系统) 新增或者修改(系统)
@ -7640,6 +7558,20 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.DeleteClinicalSystemSetData(System.Guid)">
<summary>
删除(系统)
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddOrUpdateClinicalDataTrialSet(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit)">
<summary>
新增或者修改(项目)
</summary>
<param name="indto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.GetTrialClinicalDataTrialSetList(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialClinicalDataTrialIndto)"> <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.GetTrialClinicalDataTrialSetList(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialClinicalDataTrialIndto)">
<summary> <summary>
获取项目的临床数据 获取项目的临床数据
@ -7647,13 +7579,6 @@
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddTrialClinicalDataTrialSet(System.Guid)">
<summary>
将系统配置添加到项目配置
</summary>
<param name="trialId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.DeleteClinicalTrialSetData(System.Guid)"> <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.DeleteClinicalTrialSetData(System.Guid)">
<summary> <summary>
删除(项目) 删除(项目)
@ -7661,11 +7586,11 @@
<param name="id"></param> <param name="id"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.DeleteClinicalSystemSetData(System.Guid)"> <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddTrialClinicalDataTrialSet(System.Guid)">
<summary> <summary>
删除(系统) 将系统配置添加到项目配置
</summary> </summary>
<param name="id"></param> <param name="trialId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:IRaCIS.Application.Services.ReadingClinicalDataService"> <member name="T:IRaCIS.Application.Services.ReadingClinicalDataService">

View File

@ -1,11 +1,4 @@
using IRaCIS.Application.Interfaces; using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Infra.EFCore;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Application.Filter;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Service.WorkLoad.DTO;
using Microsoft.AspNetCore.Authorization;
using IRaCIS.Core.Application.Auth;
using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Application.Service.Reading.Dto;
using MassTransit; using MassTransit;
@ -24,15 +17,22 @@ namespace IRaCIS.Application.Services
private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository; private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository;
private readonly IRepository<PreviousPDF> _previousPDFRepository; private readonly IRepository<PreviousPDF> _previousPDFRepository;
private readonly IRepository<Trial> _trialRepository; private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<SystemClinicalDataCriterion> _systemClinicalDataCriterionRepository;
private readonly IRepository<TrialClinicalDataCriterion> _trialClinicalDataCriterionRepository;
public ClinicalDataSetService(IRepository<SubjectVisit> subjectVisitRepository, public ClinicalDataSetService(IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository, IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository,
IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository, IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository,
IRepository<PreviousPDF> previousPDFRepository, IRepository<PreviousPDF> previousPDFRepository,
IRepository<Trial> trialRepository IRepository<Trial> trialRepository,
IRepository<SystemClinicalDataCriterion> systemClinicalDataCriterionRepository,
IRepository<TrialClinicalDataCriterion> trialClinicalDataCriterionRepository
) )
{ {
_systemClinicalDataCriterionRepository = systemClinicalDataCriterionRepository;
_trialClinicalDataCriterionRepository = trialClinicalDataCriterionRepository;
_subjectVisitRepository = subjectVisitRepository; _subjectVisitRepository = subjectVisitRepository;
_clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
@ -42,26 +42,8 @@ namespace IRaCIS.Application.Services
} }
/// <summary>
/// 新增或者修改(项目)
/// </summary>
/// <param name="indto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateClinicalDataTrialSet(ClinicalDataTrialSetAddOrEdit indto)
{
var existsQuery = _clinicalDataTrialSetRepository
.WhereIf(indto.Id != null, x => x.Id != indto.Id)
.Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName&&x.TrialId==indto.TrialId);
if (await existsQuery.AnyAsync())
{
return ResponseOutput.NotOk("存在同类型的临床数据,操作失败");
}
var entity = await _clinicalDataTrialSetRepository.InsertOrUpdateAsync(indto,true);
return ResponseOutput.Ok(entity.Id.ToString());
}
#region 系统
/// <summary> /// <summary>
/// 新增或者修改(系统) /// 新增或者修改(系统)
/// </summary> /// </summary>
@ -79,7 +61,24 @@ namespace IRaCIS.Application.Services
{ {
return ResponseOutput.NotOk("存在同类型的临床数据,操作失败"); return ResponseOutput.NotOk("存在同类型的临床数据,操作失败");
} }
var entity = await _clinicalDataSystemSetRepository.InsertOrUpdateAsync(indto, true);
var entity = await _clinicalDataSystemSetRepository.InsertOrUpdateAsync(indto);
entity.SystemClinicalDataCriterionList = indto.SystemCriterionIdList.Select(t => new SystemClinicalDataCriterion()
{
SystemClinicalDataSetId = entity.Id,
SystemReadingCriterionId = t
}).ToList();
if (indto.Id != null)
{
await _systemClinicalDataCriterionRepository.BatchDeleteNoTrackingAsync(t => t.SystemClinicalDataSetId == entity.Id);
await _systemClinicalDataCriterionRepository.AddRangeAsync(entity.SystemClinicalDataCriterionList);
}
await _clinicalDataSystemSetRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id.ToString()); return ResponseOutput.Ok(entity.Id.ToString());
} }
@ -92,12 +91,67 @@ namespace IRaCIS.Application.Services
{ {
return await _clinicalDataSystemSetRepository.AsQueryable() return await _clinicalDataSystemSetRepository.AsQueryable()
.WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel) .WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel)
.WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType)
.WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName))
.ProjectTo<ClinicalDataSystemSetView>(_mapper.ConfigurationProvider).ToListAsync(); .ProjectTo<ClinicalDataSystemSetView>(_mapper.ConfigurationProvider).ToListAsync();
} }
/// <summary>
/// 删除(系统)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteClinicalSystemSetData(Guid id)
{
await _clinicalDataSystemSetRepository.DeleteFromQueryAsync(x => x.Id == id, true);
return ResponseOutput.Result(true);
}
#endregion
#region 项目
/// <summary>
/// 新增或者修改(项目)
/// </summary>
/// <param name="indto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateClinicalDataTrialSet(ClinicalDataTrialSetAddOrEdit indto)
{
var existsQuery = _clinicalDataTrialSetRepository
.WhereIf(indto.Id != null, x => x.Id != indto.Id)
.Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName && x.TrialId == indto.TrialId);
if (await existsQuery.AnyAsync())
{
return ResponseOutput.NotOk("存在同类型的临床数据,操作失败");
}
var entity = await _clinicalDataTrialSetRepository.InsertOrUpdateAsync(indto, true);
entity.TrialClinicalDataCriterionList = indto.TrialCriterionIdList.Select(t => new TrialClinicalDataCriterion()
{
TrialClinicalDataSetId = entity.Id,
TrialReadingCriterionId = t
}).ToList();
if (indto.Id != null)
{
await _trialClinicalDataCriterionRepository.BatchDeleteNoTrackingAsync(t => t.TrialClinicalDataSetId == entity.Id);
await _trialClinicalDataCriterionRepository.AddRangeAsync(entity.TrialClinicalDataCriterionList);
}
await _clinicalDataTrialSetRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary> /// <summary>
/// 获取项目的临床数据 /// 获取项目的临床数据
@ -109,17 +163,75 @@ namespace IRaCIS.Application.Services
public async Task<List<ClinicalDataTrialSetView>> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto) public async Task<List<ClinicalDataTrialSetView>> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto)
{ {
await this.AddTrialClinicalDataTrialSet(inDto.TrialId); await this.AddTrialClinicalDataTrialSet(inDto.TrialId);
var trialClinicalDataList= await _clinicalDataTrialSetRepository.AsQueryable() var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable()
.Where(x => x.TrialId == inDto.TrialId) .Where(x => x.TrialId == inDto.TrialId)
.WhereIf(inDto.ClinicalDataLevel!=null,x=>x.ClinicalDataLevel== inDto.ClinicalDataLevel) .WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel)
.WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType)
.WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName))
.ProjectTo<ClinicalDataTrialSetView>(_mapper.ConfigurationProvider).ToListAsync(); .ProjectTo<ClinicalDataTrialSetView>(_mapper.ConfigurationProvider).ToListAsync();
return trialClinicalDataList; return trialClinicalDataList;
} }
/// <summary>
/// 删除(项目)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteClinicalTrialSetData(Guid id)
{
await _clinicalDataTrialSetRepository.DeleteFromQueryAsync(x => x.Id == id, true);
return ResponseOutput.Result(true);
}
#endregion
#region 系统和项目标准下拉 和临床数据关联
[HttpPost]
public async Task<List<SystemCriterionSelectDto>> GetSystemCriterionSelectList(SystemCriterionSelectQuery inQuery)
{
return await _repository.Where<ReadingQuestionCriterionSystem>()
.WhereIf(string.IsNullOrEmpty(inQuery.CriterionName), t => t.CriterionName.Contains(inQuery.CriterionName))
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
.WhereIf(inQuery.IsCompleteConfig != null, t => t.IsCompleteConfig == inQuery.IsCompleteConfig)
.Select(t => new SystemCriterionSelectDto()
{
Id = t.Id,
CriterionName = t.CriterionName,
IsCompleteConfig = t.IsCompleteConfig,
IsEnable = t.IsEnable
}).ToListAsync();
}
[HttpPost]
public async Task<List<TrialCriterionSelectDto>> GetTrialCriterionSelectList(TrialCriterionSelectQuery inQuery)
{
return await _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == inQuery.TrialId)
.WhereIf(string.IsNullOrEmpty(inQuery.CriterionName), t => t.CriterionName.Contains(inQuery.CriterionName))
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
.WhereIf(inQuery.IsCompleteConfig != null, t => t.IsCompleteConfig == inQuery.IsCompleteConfig)
.Select(t => new TrialCriterionSelectDto()
{
Id = t.Id,
CriterionName = t.CriterionName,
IsCompleteConfig = t.IsCompleteConfig,
IsEnable = t.IsEnable
}).ToListAsync();
}
#endregion
#region 将系统配置添加到项目配置
/// <summary> /// <summary>
/// 将系统配置添加到项目配置 /// 将系统配置添加到项目配置
/// </summary> /// </summary>
@ -134,7 +246,6 @@ namespace IRaCIS.Application.Services
var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable().ToListAsync(); var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable().ToListAsync();
var systemIds = systemClinicalDataList.Select(x => x.Id).ToList(); var systemIds = systemClinicalDataList.Select(x => x.Id).ToList();
var trialSystemIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync(); var trialSystemIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync();
//var needUpdateIds = systemIds.Intersect(trialSystemIds).ToList();
var needAddids = systemIds.Except(trialSystemIds).ToList(); var needAddids = systemIds.Except(trialSystemIds).ToList();
var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList(); var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList();
@ -150,8 +261,12 @@ namespace IRaCIS.Application.Services
Path = x.Path, Path = x.Path,
TrialId = trialId, TrialId = trialId,
}).ToList(); }).ToList();
dataSets.ForEach(x=>x.TrialClinicalDataCriterionList = systemClinicalDataList.Where(t=>t.Id==x.SystemClinicalDataSetId).Select(t => new TrialClinicalDataCriterion() { TrialReadingCriterionId =x.Id}).ToList());
await _clinicalDataTrialSetRepository.AddRangeAsync(dataSets); await _clinicalDataTrialSetRepository.AddRangeAsync(dataSets);
//var needUpdateitemList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && needUpdateIds.Contains(x.SystemClinicalDataSetId.Value)).ToListAsync(); //var needUpdateitemList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && needUpdateIds.Contains(x.SystemClinicalDataSetId.Value)).ToListAsync();
@ -178,29 +293,6 @@ namespace IRaCIS.Application.Services
} }
} }
#endregion
/// <summary>
/// 删除(项目)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteClinicalTrialSetData(Guid id)
{
await _clinicalDataTrialSetRepository.DeleteFromQueryAsync(x=>x.Id== id,true);
return ResponseOutput.Result(true);
}
/// <summary>
/// 删除(系统)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteClinicalSystemSetData(Guid id)
{
await _clinicalDataSystemSetRepository.DeleteFromQueryAsync(x => x.Id == id, true);
return ResponseOutput.Result(true);
}
} }
} }

View File

@ -14,8 +14,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid? Id { get; set; } public Guid? Id { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
@ -61,6 +59,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 文件路径 /// 文件路径
/// </summary> /// </summary>
public string Path { get; set; } public string Path { get; set; }
public List<Guid> TrialCriterionIdList { get; set; }
} }
public class ClinicalDataSystemSetAddOrEdit public class ClinicalDataSystemSetAddOrEdit
@ -110,30 +111,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Path { get; set; } public string Path { get; set; }
public List<Guid> SystemCriterionIdList { get; set; }
} }
public class ClinicalDataTrialSetView public class ClinicalDataTrialSetView: ClinicalDataTrialSetAddOrEdit
{ {
public List<string> TrialCriterionNameList { get; set; }
public Guid Id { get; set; }
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; }
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
@ -145,26 +133,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary> /// <summary>
/// 系统的ClinicalDataSetId /// 系统的ClinicalDataSetId
/// </summary> /// </summary>
public Guid? SystemClinicalDataSetId { get; set; } public Guid? SystemClinicalDataSetId { get; set; }
/// <summary>
/// 是否勾选
/// </summary>
public bool IsConfirm { get; set; }
/// <summary> /// <summary>
/// 是否来自于系统数据 /// 是否来自于系统数据
@ -182,48 +158,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public bool IsUsed { get; set; } = false; public bool IsUsed { get; set; } = false;
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; }
} }
public class ClinicalDataSystemSetView public class ClinicalDataSystemSetView : ClinicalDataSystemSetAddOrEdit
{ {
public Guid Id { get; set; }
public List<string> SystemCriterionNameList { get; set; }
/// <summary>
/// 枚举
/// </summary>
public int ClinicalDataSetEnum { get; set; }
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; }
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
@ -235,24 +176,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; }
} }
public class ClinicalDataInDto public class ClinicalDataInDto
@ -338,4 +261,66 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public ClinicalUploadType? ClinicalUploadType { get; set; } public ClinicalUploadType? ClinicalUploadType { get; set; }
} }
public class CriterionSelectDto
{
public Guid Id { get; set; }
public string CriterionName { get; set; }
}
public class SystemCriterionSelectDto
{
public Guid Id { get; set; }
public string CriterionName { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
public bool IsCompleteConfig { get; set; }
}
public class TrialCriterionSelectDto
{
public Guid Id { get; set; }
public string CriterionName { get; set; }
public bool IsEnable { get; set; }
public bool IsCompleteConfig { get; set; }
public bool IsConfirm { get; set; }
}
public class SystemCriterionSelectQuery
{
public string? CriterionName { get; set; }
public bool? IsEnable { get; set; }
public bool? IsCompleteConfig { get; set; }
}
public class TrialCriterionSelectQuery
{
public Guid TrialId { get; set; }
public string? CriterionName { get; set; }
public bool? IsEnable { get; set; }
public bool? IsCompleteConfig { get; set; }
public bool? IsConfirm { get; set; }
}
} }

View File

@ -41,8 +41,13 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetAddOrEdit>().ReverseMap(); CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetAddOrEdit>().ReverseMap();
CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetView>() CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetView>()
.ForMember(t => t.TrialCriterionNameList, u => u.MapFrom(c => c.TrialClinicalDataCriterionList.Select(t => t.TrialReadingCriterion.CriterionName)))
.ForMember(t => t.TrialCriterionIdList, u => u.MapFrom(c => c.TrialClinicalDataCriterionList.Select(t => t.TrialReadingCriterion.Id)))
.ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count()>0)); .ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count()>0));
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetView>();
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetView>()
.ForMember(t=>t.SystemCriterionNameList,u=>u.MapFrom(c=>c.SystemClinicalDataCriterionList.Select(t=>t.SystemReadingCriterion.CriterionName)))
.ForMember(t => t.SystemCriterionIdList, u => u.MapFrom(c => c.SystemClinicalDataCriterionList.Select(t => t.SystemReadingCriterion.Id)));
CreateMap<PreviousPDF, PreviousPDFAddOrEdit>().ReverseMap(); CreateMap<PreviousPDF, PreviousPDFAddOrEdit>().ReverseMap();

View File

@ -4,6 +4,7 @@ using System;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
namespace IRaCIS.Core.Domain.Models namespace IRaCIS.Core.Domain.Models
{ {
@ -65,6 +66,8 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public string Path { get; set; } public string Path { get; set; }
public List<SystemClinicalDataCriterion> SystemClinicalDataCriterionList { get; set; } = new List<SystemClinicalDataCriterion>();
} }

View File

@ -83,6 +83,8 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("TrialId")] [ForeignKey("TrialId")]
public Trial Trial { get; set; } public Trial Trial { get; set; }
public List<TrialClinicalDataCriterion> TrialClinicalDataCriterionList { get; set; } = new List<TrialClinicalDataCriterion>();
} }

View File

@ -0,0 +1,61 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-10-14 09:26:02
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///SystemClinicalDataCriterion
///</summary>
[Table("SystemClinicalDataCriterion")]
public class SystemClinicalDataCriterion : Entity, IAuditUpdate, IAuditAdd
{
[ForeignKey("SystemClinicalDataSetId")]
public ClinicalDataSystemSet SystemClinicalDataSet { get; set; }
[ForeignKey("SystemReadingCriterionId")]
public ReadingQuestionCriterionSystem SystemReadingCriterion { get; set; }
[Required]
public Guid SystemClinicalDataSetId { get; set; }
[Required]
public Guid SystemReadingCriterionId { get; set; }
/// <summary>
/// CreateTime
/// </summary>
[Required]
public DateTime CreateTime { get; set; }
/// <summary>
/// CreateUserId
/// </summary>
[Required]
public Guid CreateUserId { get; set; }
/// <summary>
/// UpdateTime
/// </summary>
[Required]
public DateTime UpdateTime { get; set; }
/// <summary>
/// UpdateUserId
/// </summary>
[Required]
public Guid UpdateUserId { get; set; }
}
}

View File

@ -0,0 +1,61 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-10-14 09:26:02
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///TrialClinicalDataCriterion
///</summary>
[Table("TrialClinicalDataCriterion")]
public class TrialClinicalDataCriterion : Entity, IAuditUpdate, IAuditAdd
{
[ForeignKey("TrialClinicalDataSetId")]
public ClinicalDataSystemSet TrialClinicalDataSet { get; set; }
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
[Required]
public Guid TrialClinicalDataSetId { get; set; }
/// <summary>
/// TrialReadingCriterionId
/// </summary>
[Required]
public Guid TrialReadingCriterionId { get; set; }
/// <summary>
/// CreateTime
/// </summary>
[Required]
public DateTime CreateTime { get; set; }
/// <summary>
/// CreateUserId
/// </summary>
[Required]
public Guid CreateUserId { get; set; }
/// <summary>
/// UpdateTime
/// </summary>
[Required]
public DateTime UpdateTime { get; set; }
/// <summary>
/// UpdateUserId
/// </summary>
[Required]
public Guid UpdateUserId { get; set; }
}
}

View File

@ -259,6 +259,9 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet<TumorAssessment> TumorAssessment { get; set; } public virtual DbSet<TumorAssessment> TumorAssessment { get; set; }
public virtual DbSet<TrialClinicalDataCriterion> TrialClinicalDataCriterion { get; set; }
public virtual DbSet<SystemClinicalDataCriterion> SystemClinicalDataCriterion { get; set; }
#endregion #endregion
#region Subject and Visit and study #region Subject and Visit and study

View File

@ -4,7 +4,7 @@
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"; public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
public static readonly string DbDatabase = "IRaCIS_New_Tet"; public static readonly string DbDatabase = "IRaCIS_New_Tet";
//表名称用字符串,拼接 //表名称用字符串,拼接
public static readonly string TableName = "ReadingTableAnswerRowInfo"; public static readonly string TableName = "SystemClinicalDataCriterion,TrialClinicalDataCriterion";
//具体文件里面 例如service 可以配置是否分页 //具体文件里面 例如service 可以配置是否分页
} }
#> #>