Merge branch '中心影像_Test环境' of http://192.168.1.2:8033/IRaCIS_Core_Api into 中心影像_Test环境
commit
5aa4c81c0d
|
@ -4061,6 +4061,46 @@
|
|||
序号标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetCustomTagInDto.VisitTaskId">
|
||||
<summary>
|
||||
任务Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.VisitTaskId">
|
||||
<summary>
|
||||
任务Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.StudyId">
|
||||
<summary>
|
||||
StudyId
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.SeriesId">
|
||||
<summary>
|
||||
SeriesId
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.InstanceId">
|
||||
<summary>
|
||||
InstanceId
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.MeasureData">
|
||||
<summary>
|
||||
MeasureData
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.CreateTime">
|
||||
<summary>
|
||||
CreateTime
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.CreateUserId">
|
||||
<summary>
|
||||
CreateUserId
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetManualListOutDto.Name">
|
||||
<summary>
|
||||
Name
|
||||
|
@ -11615,6 +11655,27 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.SubmitCustomTag(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto)">
|
||||
<summary>
|
||||
提交自定义标记
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.DeleteCustomTag(System.Guid)">
|
||||
<summary>
|
||||
删除自定义标记
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetCustomTag(IRaCIS.Core.Application.Service.Reading.Dto.GetCustomTagInDto)">
|
||||
<summary>
|
||||
获取自定义标记
|
||||
</summary>
|
||||
<param name="inQuery"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetManualList(IRaCIS.Core.Application.Service.Reading.Dto.GetManualListInDto)">
|
||||
<summary>
|
||||
获取手册
|
||||
|
|
|
@ -363,7 +363,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
if (inDto.ClinicalFormId!=null&&(await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId.Value)))
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前表单已确认,无法修改!");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_translation"]);
|
||||
}
|
||||
|
||||
var existsClinical = await _clinicalFormRepository.Where(x =>
|
||||
|
@ -375,7 +375,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
if (existsClinical)
|
||||
{
|
||||
throw new BusinessValidationFailedException("已经添加过临床数据,不允许多次添加!");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_duplicateData"]);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
@ -392,7 +392,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
if (await _readModuleRepository.AnyAsync(x =>x.SubjectId== inDto.SubjectId&& x.SubjectVisit.LatestScanDate <= clinicalForm.CheckDate && x.IsCRCConfirm))
|
||||
{
|
||||
throw new BusinessValidationFailedException("无法添加和修改当前日期的临床数据,因为CRC已经确认!");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToAddOrUpdate"]);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -478,7 +478,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId))
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前表单已确认,无法删除!");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToDelete"]);
|
||||
}
|
||||
|
||||
await _clinicalFormRepository.BatchDeleteNoTrackingAsync(x => x.Id == inDto.ClinicalFormId);
|
||||
|
@ -839,12 +839,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
if (dataList.Any(x => x.IsCRCConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType))
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前数据并非最后一条确认信息,无法取消!");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToCancel"]);
|
||||
}
|
||||
|
||||
if(presentData.IsPMConfirm)
|
||||
{
|
||||
throw new BusinessValidationFailedException("PM已确认,无法取消!");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToCancelPMConfirmed"]);
|
||||
}
|
||||
|
||||
if (presentData.IsNotNeedPMConfirm)
|
||||
|
@ -883,17 +883,17 @@ namespace IRaCIS.Core.Application.Service
|
|||
var readModuleData = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync();
|
||||
if (!readModuleData.IsCRCConfirm)
|
||||
{
|
||||
throw new BusinessValidationFailedException("CRC还未确认数据,PM无法操作");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToOperate"]);
|
||||
}
|
||||
|
||||
if (readModuleData.IsCRCApplicationRevoke && inDto.IsConfirm)
|
||||
{
|
||||
throw new BusinessValidationFailedException("CRC正在申请退回,PM无法确认");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToConfirm"]);
|
||||
}
|
||||
|
||||
if (!readModuleData.IsCRCApplicationRevoke && !inDto.IsConfirm)
|
||||
{
|
||||
throw new BusinessValidationFailedException("CRC未申请退回,PM无法撤销");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToWithdraw"]);
|
||||
}
|
||||
|
||||
if (inDto.IsConfirm)
|
||||
|
|
|
@ -68,7 +68,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
if (_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId).Count() == 0)
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前临床数据未配置问题,请先配置问题之后再应用");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalComment_dataNotConfigured"]);
|
||||
}
|
||||
if (isNeedVerify&&_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
if (_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId).Count() == 0)
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前临床数据未配置问题,请先配置问题之后再应用");
|
||||
throw new BusinessValidationFailedException(_localizer["ClinicalComment_dataNotConfigured"]);
|
||||
}
|
||||
|
||||
if (isNeedVerify&&_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1)
|
||||
|
|
|
@ -332,6 +332,54 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public List<AdditionalQuestionAnswer> AnswerList { get; set; } = new List<AdditionalQuestionAnswer>();
|
||||
}
|
||||
|
||||
public class GetCustomTagInDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务Id
|
||||
/// </summary>
|
||||
public Guid VisitTaskId { get; set; }
|
||||
}
|
||||
|
||||
public class ReadingCustomTagDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任务Id
|
||||
/// </summary>
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// StudyId
|
||||
/// </summary>
|
||||
public Guid? StudyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SeriesId
|
||||
/// </summary>
|
||||
public Guid? SeriesId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// InstanceId
|
||||
/// </summary>
|
||||
public Guid? InstanceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// MeasureData
|
||||
/// </summary>
|
||||
public string MeasureData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateTime
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateUserId
|
||||
/// </summary>
|
||||
public Guid CreateUserId { get; set; }
|
||||
}
|
||||
|
||||
public class GetManualListInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
|
|
@ -47,6 +47,7 @@ namespace IRaCIS.Application.Services
|
|||
private readonly IRepository<OrganInfo> _organInfoRepository;
|
||||
private readonly IRepository<TrialDocument> _trialDocumentRepository;
|
||||
private readonly IRepository<User> _userRepository;
|
||||
private readonly IRepository<ReadingCustomTag> _readingCustomTagRepository;
|
||||
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
|
||||
|
@ -86,6 +87,7 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<OrganInfo> organInfoRepository,
|
||||
IRepository<TrialDocument> trialDocumentRepository,
|
||||
IRepository<User> userRepository,
|
||||
IRepository<ReadingCustomTag> readingCustomTagRepository,
|
||||
IMemoryCache cache,
|
||||
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
|
||||
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||
|
@ -125,6 +127,7 @@ namespace IRaCIS.Application.Services
|
|||
this._organInfoRepository = organInfoRepository;
|
||||
this._trialDocumentRepository = trialDocumentRepository;
|
||||
this._userRepository = userRepository;
|
||||
this._readingCustomTagRepository = readingCustomTagRepository;
|
||||
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
||||
this._tumorAssessmentRepository = tumorAssessmentRepository;
|
||||
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
||||
|
@ -142,6 +145,43 @@ namespace IRaCIS.Application.Services
|
|||
this._trialEmailNoticeConfigService = trialEmailNoticeConfigService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 提交自定义标记
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> SubmitCustomTag(ReadingCustomTagDto inDto)
|
||||
{
|
||||
var entity = await _readingCustomTagRepository.InsertOrUpdateAsync(inDto, true);
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除自定义标记
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("{id:guid}")]
|
||||
public async Task<IResponseOutput> DeleteCustomTag(Guid id)
|
||||
{
|
||||
var success = await _readingCustomTagRepository.DeleteFromQueryAsync(t => t.Id == id, true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取自定义标记
|
||||
/// </summary>
|
||||
/// <param name="inQuery"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<List<ReadingCustomTagDto>> GetCustomTag(GetCustomTagInDto inQuery)
|
||||
{
|
||||
var result= await _readingCustomTagRepository.Where(x => x.VisitTaskId == inQuery.VisitTaskId).ProjectTo<ReadingCustomTagDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取手册
|
||||
/// </summary>
|
||||
|
|
|
@ -59,6 +59,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<ShortcutKey, DefaultShortcutKeyView>();
|
||||
|
||||
|
||||
CreateMap<ReadingCustomTag, ReadingCustomTagDto>();
|
||||
CreateMap<ReadingCustomTagDto, ReadingCustomTag>();
|
||||
|
||||
CreateMap<UserWLTemplate, UserWLTemplateView>();
|
||||
CreateMap<UserWLTemplate,UserWLTemplateAddOrEdit>().ReverseMap();
|
||||
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2023-07-31 11:12:15
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
///ReadingCustomTag
|
||||
///</summary>
|
||||
[Table("ReadingCustomTag")]
|
||||
public class ReadingCustomTag : Entity, IAuditAdd
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务Id
|
||||
/// </summary>
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// StudyId
|
||||
/// </summary>
|
||||
public Guid? StudyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SeriesId
|
||||
/// </summary>
|
||||
public Guid? SeriesId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// InstanceId
|
||||
/// </summary>
|
||||
public Guid? InstanceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// MeasureData
|
||||
/// </summary>
|
||||
public string MeasureData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateTime
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateUserId
|
||||
/// </summary>
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -196,6 +196,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
|||
#region Reading
|
||||
public virtual DbSet<TrialCriterionDictionaryCode> TrialCriterionDictionaryCode { get; set; }
|
||||
|
||||
public virtual DbSet<ReadingCustomTag> ReadingCustomTag { get; set; }
|
||||
public virtual DbSet<SystemCriterionDictionaryCode> SystemCriterionDictionaryCode { get; set; }
|
||||
public virtual DbSet<ReadingTaskRelation> ReadingTaskRelation { get; set; }
|
||||
public virtual DbSet<OrganInfo> OrganInfo { get; set; }
|
||||
|
|
Loading…
Reference in New Issue