新加阅片关键点
parent
0e0ce59d74
commit
1d7b28e7f9
|
|
@ -993,6 +993,8 @@ namespace IRaCIS.Core.API.Controllers
|
|||
|
||||
EmailBodyHtml = 4,
|
||||
|
||||
ReadKeyFile=5,
|
||||
|
||||
Other = 5
|
||||
}
|
||||
|
||||
|
|
@ -1025,6 +1027,9 @@ namespace IRaCIS.Core.API.Controllers
|
|||
case UploadFileType.EmailBodyHtml:
|
||||
result = await SingleFileUploadAsync((fileName) => FileStoreHelper.GetSystemFileUploadPath(_hostEnvironment, StaticData.Folder.EmailTemplate, fileName));
|
||||
break;
|
||||
case UploadFileType.ReadKeyFile:
|
||||
result = await SingleFileUploadAsync((fileName) => FileStoreHelper.GetSystemFileUploadPath(_hostEnvironment, StaticData.Folder.ReadKetFile, fileName));
|
||||
break;
|
||||
|
||||
default:
|
||||
result = await SingleFileUploadAsync((fileName) => FileStoreHelper.GetOtherFileUploadPath(_hostEnvironment, StaticData.Folder.TempFile, fileName));
|
||||
|
|
|
|||
|
|
@ -13736,6 +13736,84 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Service.SystemCriterionKeyFileService">
|
||||
<summary>
|
||||
系统标准阅片关键点文件服务
|
||||
</summary>
|
||||
<param name="_systemCriterionKeyFileRepository"></param>
|
||||
<param name="_mapper"></param>
|
||||
<param name="_userInfo"></param>
|
||||
<param name="_localizer"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.SystemCriterionKeyFileService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemCriterionKeyFile},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
||||
<summary>
|
||||
系统标准阅片关键点文件服务
|
||||
</summary>
|
||||
<param name="_systemCriterionKeyFileRepository"></param>
|
||||
<param name="_mapper"></param>
|
||||
<param name="_userInfo"></param>
|
||||
<param name="_localizer"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.SystemCriterionKeyFileService.GetSystemCriterionKeyFileList(IRaCIS.Core.Application.Service.Reading.Dto.SystemCriterionKeyFileQuery)">
|
||||
<summary>
|
||||
获取系统标准阅片关键点文件列表
|
||||
</summary>
|
||||
<param name="inQuery"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.SystemCriterionKeyFileService.AddOrUpdateSystemCriterionKeyFile(IRaCIS.Core.Application.Service.Reading.Dto.SystemCriterionKeyFileAddOrEdit)">
|
||||
<summary>
|
||||
新增或者修改系统标准阅片关键点文件
|
||||
</summary>
|
||||
<param name="addOrEditSystemCriterionKeyFile"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.SystemCriterionKeyFileService.DeleteSystemCriterionKeyFile(System.Guid)">
|
||||
<summary>
|
||||
删除系统标准阅片关键点文件
|
||||
</summary>
|
||||
<param name="systemCriterionKeyFileId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Service.TrialCriterionKeyFileService">
|
||||
<summary>
|
||||
项目标准阅片关键点文件服务
|
||||
</summary>
|
||||
<param name="_trialCriterionKeyFileRepository"></param>
|
||||
<param name="_mapper"></param>
|
||||
<param name="_userInfo"></param>
|
||||
<param name="_localizer"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialCriterionKeyFileService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialCriterionKeyFile},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
||||
<summary>
|
||||
项目标准阅片关键点文件服务
|
||||
</summary>
|
||||
<param name="_trialCriterionKeyFileRepository"></param>
|
||||
<param name="_mapper"></param>
|
||||
<param name="_userInfo"></param>
|
||||
<param name="_localizer"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialCriterionKeyFileService.GetTrialCriterionKeyFileList(IRaCIS.Core.Application.Service.Reading.Dto.TrialCriterionKeyFileQuery)">
|
||||
<summary>
|
||||
获取项目标准阅片关键点文件列表
|
||||
</summary>
|
||||
<param name="inQuery"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialCriterionKeyFileService.AddOrUpdateTrialCriterionKeyFile(IRaCIS.Core.Application.Service.Reading.Dto.TrialCriterionKeyFileAddOrEdit)">
|
||||
<summary>
|
||||
新增或者修改项目标准阅片关键点文件
|
||||
</summary>
|
||||
<param name="addOrEditTrialCriterionKeyFile"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialCriterionKeyFileService.DeleteTrialCriterionKeyFile(System.Guid)">
|
||||
<summary>
|
||||
删除项目标准阅片关键点文件
|
||||
</summary>
|
||||
<param name="trialCriterionKeyFileId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TA.ReadingQuestionService.GetTumorAssessmentPageList(IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto)">
|
||||
<summary>
|
||||
获取疗效对照
|
||||
|
|
@ -13790,11 +13868,18 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMarkBinding},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserLog},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingOncologyTaskInfo},IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Application.Service.IVisitTaskService,IRaCIS.Core.Application.Contracts.IReadingClinicalDataService,IRaCIS.Core.Application.Service.IReadingCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserFeedBack},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.ServiceVerifyConfigOption},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingGlobalTaskInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingCriterionPage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskRelation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingJudgeInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganTrialInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialDocument},IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoCalculateService,IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoWithoutPETCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTrialCriterionDictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableAnswerRowInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Application.Service.IGeneralCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskStudy},IRaCIS.Core.Application.Service.ImageAndDoc.IDownloadAndUploadService,IRaCIS.Core.Application.Interfaces.ITrialEmailNoticeConfigService,AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer,ZiggyCreatures.Caching.Fusion.IFusionCache)">
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMarkBinding},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserLog},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingOncologyTaskInfo},IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Application.Service.IVisitTaskService,IRaCIS.Core.Application.Contracts.IReadingClinicalDataService,IRaCIS.Core.Application.Service.IReadingCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserFeedBack},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.ServiceVerifyConfigOption},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingGlobalTaskInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingCriterionPage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskRelation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingJudgeInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganTrialInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialDocument},IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoCalculateService,IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoWithoutPETCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTrialCriterionDictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableAnswerRowInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CriterionKeyFileRead},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Application.Service.IGeneralCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskStudy},IRaCIS.Core.Application.Service.ImageAndDoc.IDownloadAndUploadService,IRaCIS.Core.Application.Interfaces.ITrialEmailNoticeConfigService,AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer,ZiggyCreatures.Caching.Fusion.IFusionCache)">
|
||||
<summary>
|
||||
IR影像阅片
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.SetReadKeyFile(IRaCIS.Core.Application.Service.Reading.Dto.SetReadKeyFileInDto)">
|
||||
<summary>
|
||||
设置已阅读关键文件
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.GetReadingCalculationData(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingCalculationDataInDto)">
|
||||
<summary>
|
||||
获取阅片的计算数据
|
||||
|
|
@ -19325,6 +19410,12 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.SynchronizeKeyFile(System.Guid)">
|
||||
<summary>
|
||||
同步阅片关键点
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.SetGlobalReadingInfo(IRaCIS.Core.Application.Contracts.SetGlobalReadingInfoInDto)">
|
||||
<summary>
|
||||
修改全局阅片配置信息
|
||||
|
|
|
|||
|
|
@ -446,6 +446,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
|
||||
}
|
||||
|
||||
public class SetReadKeyFileInDto
|
||||
{
|
||||
public Guid TrialCriterionId { get; set; }
|
||||
}
|
||||
public class ViewStudyPartInDto
|
||||
{
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
|
@ -1947,6 +1951,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public bool IsConvertedTask { get; set; } = false;
|
||||
|
||||
public bool IsReadKeyFile { get; set; } = false;
|
||||
|
||||
}
|
||||
|
||||
public class GetReadingImgInDto
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由liquid模板自动生成 byzhouhang 20240909
|
||||
// 生成时间 2025-11-12 06:46:41Z
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.Collections.Generic;
|
||||
namespace IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
|
||||
public class SystemCriterionKeyFileView : SystemCriterionKeyFileAddOrEdit
|
||||
{
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class SystemCriterionKeyFileAddOrEdit
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
public string FileName { get; set; }
|
||||
|
||||
public string FilePath { get; set; }
|
||||
|
||||
public Guid SystemCriterionId { get; set; }
|
||||
}
|
||||
|
||||
public class SystemCriterionKeyFileQuery:PageInput
|
||||
{
|
||||
public string? FileName { get; set; }
|
||||
|
||||
public string? FilePath { get; set; }
|
||||
|
||||
public Guid SystemCriterionId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由liquid模板自动生成 byzhouhang 20240909
|
||||
// 生成时间 2025-11-12 06:51:58Z
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.Collections.Generic;
|
||||
namespace IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
|
||||
public class TrialCriterionKeyFileView : TrialCriterionKeyFileAddOrEdit
|
||||
{
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class TrialCriterionKeyFileAddOrEdit
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
public string FileName { get; set; }
|
||||
|
||||
public string FilePath { get; set; }
|
||||
|
||||
public Guid TrialCriterionId { get; set; }
|
||||
}
|
||||
|
||||
public class TrialCriterionKeyFileQuery:PageInput
|
||||
{
|
||||
public string? FileName { get; set; }
|
||||
|
||||
|
||||
public Guid TrialCriterionId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由liquid模板自动生成 byzhouhang 20240909
|
||||
// 生成时间 2025-11-12 06:46:41Z
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using System;
|
||||
using IRaCIS.Core.Infrastructure.Extention;
|
||||
using System.Threading.Tasks;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
namespace IRaCIS.Core.Application.Service.Reading.Interface;
|
||||
|
||||
public interface ISystemCriterionKeyFileService
|
||||
{
|
||||
|
||||
Task<PageOutput<SystemCriterionKeyFileView>> GetSystemCriterionKeyFileList(SystemCriterionKeyFileQuery inQuery);
|
||||
|
||||
Task<IResponseOutput> AddOrUpdateSystemCriterionKeyFile(SystemCriterionKeyFileAddOrEdit addOrEditSystemCriterionKeyFile);
|
||||
|
||||
Task<IResponseOutput> DeleteSystemCriterionKeyFile(Guid systemCriterionKeyFileId);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由liquid模板自动生成 byzhouhang 20240909
|
||||
// 生成时间 2025-11-12 06:51:58Z
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using System;
|
||||
using IRaCIS.Core.Infrastructure.Extention;
|
||||
using System.Threading.Tasks;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
namespace IRaCIS.Core.Application.Service.Reading.Interface;
|
||||
|
||||
public interface ITrialCriterionKeyFileService
|
||||
{
|
||||
|
||||
Task<PageOutput<TrialCriterionKeyFileView>> GetTrialCriterionKeyFileList(TrialCriterionKeyFileQuery inQuery);
|
||||
|
||||
Task<IResponseOutput> AddOrUpdateTrialCriterionKeyFile(TrialCriterionKeyFileAddOrEdit addOrEditTrialCriterionKeyFile);
|
||||
|
||||
Task<IResponseOutput> DeleteTrialCriterionKeyFile(Guid trialCriterionKeyFileId);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由liquid模板自动生成 byzhouhang 20240909
|
||||
// 生成时间 2025-11-12 06:46:38Z
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using IRaCIS.Core.Infrastructure.Extention;
|
||||
using System.Threading.Tasks;
|
||||
using IRaCIS.Core.Infra.EFCore;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
using IRaCIS.Core.Application.Service.Reading.Interface;
|
||||
namespace IRaCIS.Core.Application.Service;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 系统标准阅片关键点文件服务
|
||||
/// </summary>
|
||||
/// <param name="_systemCriterionKeyFileRepository"></param>
|
||||
/// <param name="_mapper"></param>
|
||||
/// <param name="_userInfo"></param>
|
||||
/// <param name="_localizer"></param>
|
||||
[ApiExplorerSettings(GroupName = "Reading")]
|
||||
public class SystemCriterionKeyFileService(IRepository<SystemCriterionKeyFile> _systemCriterionKeyFileRepository,
|
||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer): BaseService, ISystemCriterionKeyFileService
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 获取系统标准阅片关键点文件列表
|
||||
/// </summary>
|
||||
/// <param name="inQuery"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<SystemCriterionKeyFileView>> GetSystemCriterionKeyFileList(SystemCriterionKeyFileQuery inQuery)
|
||||
{
|
||||
|
||||
var systemCriterionKeyFileQueryable =_systemCriterionKeyFileRepository
|
||||
.Where(x=>x.SystemCriterionId==inQuery.SystemCriterionId)
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.FileName),x=>x.FileName.Contains(inQuery.FileName))
|
||||
.ProjectTo<SystemCriterionKeyFileView>(_mapper.ConfigurationProvider);
|
||||
|
||||
var pageList= await systemCriterionKeyFileQueryable.ToPagedListAsync(inQuery);
|
||||
|
||||
return pageList;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 新增或者修改系统标准阅片关键点文件
|
||||
/// </summary>
|
||||
/// <param name="addOrEditSystemCriterionKeyFile"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> AddOrUpdateSystemCriterionKeyFile(SystemCriterionKeyFileAddOrEdit addOrEditSystemCriterionKeyFile)
|
||||
{
|
||||
// 在此处拷贝automapper 映射
|
||||
var entity = await _systemCriterionKeyFileRepository.InsertOrUpdateAsync(addOrEditSystemCriterionKeyFile, true);
|
||||
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除系统标准阅片关键点文件
|
||||
/// </summary>
|
||||
/// <param name="systemCriterionKeyFileId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{systemCriterionKeyFileId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteSystemCriterionKeyFile(Guid systemCriterionKeyFileId)
|
||||
{
|
||||
var success = await _systemCriterionKeyFileRepository.DeleteFromQueryAsync(t => t.Id == systemCriterionKeyFileId,true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由liquid模板自动生成 byzhouhang 20240909
|
||||
// 生成时间 2025-11-12 06:51:56Z
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using IRaCIS.Core.Infrastructure.Extention;
|
||||
using System.Threading.Tasks;
|
||||
using IRaCIS.Core.Infra.EFCore;
|
||||
using IRaCIS.Core.Application.Service.Reading.Interface;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
namespace IRaCIS.Core.Application.Service;
|
||||
|
||||
/// <summary>
|
||||
/// 项目标准阅片关键点文件服务
|
||||
/// </summary>
|
||||
/// <param name="_trialCriterionKeyFileRepository"></param>
|
||||
/// <param name="_mapper"></param>
|
||||
/// <param name="_userInfo"></param>
|
||||
/// <param name="_localizer"></param>
|
||||
[ApiExplorerSettings(GroupName = "Reading")]
|
||||
public class TrialCriterionKeyFileService(IRepository<TrialCriterionKeyFile> _trialCriterionKeyFileRepository,
|
||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer): BaseService, ITrialCriterionKeyFileService
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目标准阅片关键点文件列表
|
||||
/// </summary>
|
||||
/// <param name="inQuery"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<TrialCriterionKeyFileView>> GetTrialCriterionKeyFileList(TrialCriterionKeyFileQuery inQuery)
|
||||
{
|
||||
|
||||
var trialCriterionKeyFileQueryable =_trialCriterionKeyFileRepository
|
||||
.Where(x=>x.TrialCriterionId==inQuery.TrialCriterionId)
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.FileName),x=>x.FileName.Contains(inQuery.FileName))
|
||||
.ProjectTo<TrialCriterionKeyFileView>(_mapper.ConfigurationProvider);
|
||||
|
||||
var pageList= await trialCriterionKeyFileQueryable.ToPagedListAsync(inQuery);
|
||||
|
||||
return pageList;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 新增或者修改项目标准阅片关键点文件
|
||||
/// </summary>
|
||||
/// <param name="addOrEditTrialCriterionKeyFile"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> AddOrUpdateTrialCriterionKeyFile(TrialCriterionKeyFileAddOrEdit addOrEditTrialCriterionKeyFile)
|
||||
{
|
||||
|
||||
|
||||
|
||||
var entity = await _trialCriterionKeyFileRepository.InsertOrUpdateAsync(addOrEditTrialCriterionKeyFile, true);
|
||||
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除项目标准阅片关键点文件
|
||||
/// </summary>
|
||||
/// <param name="trialCriterionKeyFileId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{trialCriterionKeyFileId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteTrialCriterionKeyFile(Guid trialCriterionKeyFileId)
|
||||
{
|
||||
var success = await _trialCriterionKeyFileRepository.DeleteFromQueryAsync(t => t.Id == trialCriterionKeyFileId,true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -71,6 +71,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
IRepository<ReadingQuestionSystem> _readingQuestionSystem,
|
||||
IRepository<CriterionKeyFileRead> _criterionKeyFileReadRepository,
|
||||
IRepository<NoneDicomStudyFile> _noneDicomStudyFileSystem,
|
||||
IGeneralCalculateService _generalCalculateService,
|
||||
IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository,
|
||||
|
|
@ -80,7 +81,23 @@ namespace IRaCIS.Core.Application.Service
|
|||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer, IFusionCache _fusionCache) : BaseService, IReadingImageTaskService
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 设置已阅读关键文件
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> SetReadKeyFile(SetReadKeyFileInDto inDto)
|
||||
{
|
||||
await _criterionKeyFileReadRepository.AddAsync(new CriterionKeyFileRead()
|
||||
{
|
||||
IdentityUserId=_userInfo.IdentityUserId,
|
||||
TrialCriterionId= inDto.TrialCriterionId,
|
||||
});
|
||||
await _criterionKeyFileReadRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
#region 计算
|
||||
|
||||
|
|
@ -3747,6 +3764,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
task.ReadingToolList = criterionInfo.ReadingToolList;
|
||||
task.IsExistUnprocessedFeedback = await _userFeedBackRepository.AnyAsync(x => x.VisitTaskId == task.VisitTaskId && x.State == 0);
|
||||
task.IsViewStudyPart= visitTaskInfo.ReadingCategory==ReadingCategory.Judge|| visitTaskInfo.IsViewStudyPart;
|
||||
task.IsReadKeyFile = await _criterionKeyFileReadRepository.AnyAsync(x => x.IdentityUserId == _userInfo.IdentityUserId && x.TrialCriterionId == task.TrialReadingCriterionId);
|
||||
// 添加默认答案
|
||||
if (inDto.VisitTaskId == null && visitTaskInfo.ReadingTaskState != ReadingTaskState.HaveSigned)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -15,6 +15,14 @@ namespace IRaCIS.Core.Application.Service
|
|||
//是否英文环境
|
||||
var isEn_Us = false;
|
||||
|
||||
CreateMap<SystemCriterionKeyFile, SystemCriterionKeyFileView>();
|
||||
CreateMap<SystemCriterionKeyFile, SystemCriterionKeyFileAddOrEdit>().ReverseMap();
|
||||
|
||||
// 在此处拷贝automapper 映射
|
||||
|
||||
CreateMap<TrialCriterionKeyFile, TrialCriterionKeyFileView>();
|
||||
CreateMap<TrialCriterionKeyFile, TrialCriterionKeyFileAddOrEdit>().ReverseMap();
|
||||
|
||||
//标准Id
|
||||
List<Guid> CriterionIds = new List<Guid>();
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Mvc;
|
|||
using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json;
|
||||
using Panda.DynamicWebApi.Attributes;
|
||||
using System.IO;
|
||||
using ZiggyCreatures.Caching.Fusion;
|
||||
|
||||
namespace IRaCIS.Core.Application
|
||||
|
|
@ -30,6 +31,10 @@ namespace IRaCIS.Core.Application
|
|||
IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystemRepository,
|
||||
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
|
||||
IRepository<ReadingCriterionPage> _readingCriterionPageRepository,
|
||||
|
||||
IRepository<SystemCriterionKeyFile> _systemCriterionKeyFileRepository,
|
||||
IOSSService oSSService,
|
||||
IRepository<TrialCriterionKeyFile> _trialCriterionKeyFileRepository,
|
||||
IOrganInfoService _iOrganInfoService,
|
||||
IRepository<TrialBodyPart> _trialBodyPartRepository,
|
||||
IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository,
|
||||
|
|
@ -276,6 +281,8 @@ namespace IRaCIS.Core.Application
|
|||
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
|
||||
#endregion
|
||||
|
||||
// 同步阅片关键点
|
||||
await SynchronizeKeyFile(inDto.TrialReadingCriterionId);
|
||||
|
||||
//var trialModalitys = _readingQuestionCriterionTrialRepository.Where(t => t.Id == inDto.TrialReadingCriterionId).Select(t => t.Trial.Modalitys).FirstOrDefault();
|
||||
var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == trialCriterion.ReadingQuestionCriterionSystemId).FirstNotNullAsync();
|
||||
|
|
@ -317,6 +324,39 @@ namespace IRaCIS.Core.Application
|
|||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 同步阅片关键点
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task SynchronizeKeyFile(Guid TrialReadingCriterionId)
|
||||
{
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == TrialReadingCriterionId).AsNoTracking().FirstOrDefaultAsync();
|
||||
if (trialCriterion != null && trialCriterion.ReadingQuestionCriterionSystemId!=null)
|
||||
{
|
||||
var systemCriterionKeyFile = await _systemCriterionKeyFileRepository.Where(x => x.SystemCriterionId == trialCriterion.ReadingQuestionCriterionSystemId).ToListAsync();
|
||||
|
||||
List<TrialCriterionKeyFile> trialCriterionKeyFiles= new List<TrialCriterionKeyFile>();
|
||||
|
||||
foreach (var item in systemCriterionKeyFile)
|
||||
{
|
||||
|
||||
var path= await oSSService.UploadToOSSAsync(item.FilePath, $"{trialCriterion.TrialId}/KeyFile", true);
|
||||
|
||||
trialCriterionKeyFiles.Add(new TrialCriterionKeyFile
|
||||
{
|
||||
TrialCriterionId= TrialReadingCriterionId,
|
||||
FileName= item.FileName,
|
||||
FilePath= path
|
||||
});
|
||||
}
|
||||
|
||||
await _trialCriterionKeyFileRepository.BatchDeleteNoTrackingAsync(x => x.TrialCriterionId == TrialReadingCriterionId);
|
||||
await _trialCriterionKeyFileRepository.AddRangeAsync(trialCriterionKeyFiles);
|
||||
await _trialCriterionKeyFileRepository.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改全局阅片配置信息
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ public static class StaticData
|
|||
|
||||
public static readonly string DataTemplate = "DataTemplate";
|
||||
public static readonly string EmailTemplate = "EmailTemplate";
|
||||
public static readonly string ReadKetFile = "ReadKetFile";
|
||||
|
||||
public static readonly string CommonFile = "CommonFile";
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue