Compare commits
No commits in common. "ff395f1d56d238501cba6662fad051ad15b6417c" and "ed8d2e285fca4c0bf3c8ef599e8bd7d5ca23b5b6" have entirely different histories.
ff395f1d56
...
ed8d2e285f
|
|
@ -63,8 +63,8 @@
|
|||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"RemoteNew": "Server=prod_mssql_standard,1433;Database=Prod_Rayplus;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true",
|
||||
"Hangfire": "Server=prod_mssql_standard,1433;Database=Prod_Rayplus_Hangfire;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true"
|
||||
"RemoteNew": "Server=106.14.89.110,1435;Database=Test_Rayplus;User ID=sa;Password=xc@123456;TrustServerCertificate=true",
|
||||
"Hangfire": "Server=106.14.89.110,1435;Database=Test_Rayplus_Hangfire;User ID=sa;Password=xc@123456;TrustServerCertificate=true"
|
||||
},
|
||||
"DicomSCPServiceConfig": {
|
||||
"CalledAEList": [
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<Company>上海展影医疗科技有限公司</Company>
|
||||
<Product>IRC影像系统 (EICS)</Product>
|
||||
<Copyright>上海展影医疗科技有限公司版权所有</Copyright>
|
||||
<NoWarn>$(NoWarn);NU1903</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
|
|
|||
|
|
@ -34,15 +34,6 @@
|
|||
},
|
||||
"applicationUrl": "http://0.0.0.0:6100"
|
||||
},
|
||||
"IRaCIS.Uat_Rayplus": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Uat_Rayplus",
|
||||
"ASPNETCORE_OpenSwagger": "true"
|
||||
},
|
||||
"applicationUrl": "http://0.0.0.0:6100"
|
||||
},
|
||||
"IRaCIS.Test_IRC_PGSQL": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
"ConnectionStrings": {
|
||||
//"RemoteNew": "Server=10.10.10.49,1434;Database=Prod_IRC;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true",
|
||||
//"Hangfire": "Server=10.10.10.49,1434;Database=Prod_IRC_Hangfire;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true"
|
||||
"RemoteNew": "Server=prod_mssql_standard,1433;Database=Prod_IRC;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true",
|
||||
"RemoteNew": "Server=101.132.193.237,1433;Database=Prod_IRC_pidr_restore_2;User ID=sa;Password=xc@123456;TrustServerCertificate=true",
|
||||
"Hangfire": "Server=prod_mssql_standard,1433;Database=Prod_IRC_Hangfire;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true"
|
||||
},
|
||||
"WeComNoticeConfig": {
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"RemoteNew": "Server=prod_mssql_standard,1433;Database=Prod_Rayplus;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true",
|
||||
"Hangfire": "Server=prod_mssql_standard,1433;Database=Prod_Rayplus_Hangfire;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true"
|
||||
"RemoteNew": "Server=101.132.253.119,1435;Database=Uat_Rayplus;User ID=sa;Password=xc@123456;TrustServerCertificate=true",
|
||||
"Hangfire": "Server=101.132.253.119,1435;Database=Uat_Rayplus_Hangfire;User ID=sa;Password=xc@123456;TrustServerCertificate=true"
|
||||
},
|
||||
"WeComNoticeConfig": {
|
||||
"IsOpenWeComNotice": true,
|
||||
|
|
@ -110,9 +110,9 @@
|
|||
"Imap": "imap.qiye.aliyun.com",
|
||||
"ImapPort": 993,
|
||||
"FromEmail": "irc@mail.rayplus.net",
|
||||
"FromName": "RayPlus Imaging System",
|
||||
"FromName": "Uat RayPlus Imaging System",
|
||||
"AuthorizationCode": "QWE1zxcv7632",
|
||||
"SiteUrl": "https://irc.rayplus.net/login",
|
||||
"SiteUrl": "https://irc.uat.rayplus.net/login",
|
||||
|
||||
"PlatformName": "RayPlus",
|
||||
"PlatformNameCN": "睿佳影像云平台",
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
|
||||
"SystemPacsConfig": {
|
||||
"Port": "11113",
|
||||
"IP": "47.117.165.18"
|
||||
"IP": "101.132.253.119"
|
||||
},
|
||||
"RequestDuplicationOptions": {
|
||||
"IsEnabled": true,
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ namespace IRaCIS.Core.Application.BusinessFilter.LegacyController
|
|||
var uri = new Uri(_config["SystemEmailSendConfig:SiteUrl"]);
|
||||
var baseUrl = uri.GetLeftPart(UriPartial.Authority);
|
||||
|
||||
var userList = _config.GetSection("WeComNoticeConfig:VueNoticeUserList").Get<string[]>();
|
||||
var userList = _config.GetSection("WeComNoticeConfig:APINoticeUserList").Get<string[]>();
|
||||
|
||||
var request = accessor?.HttpContext?.Request;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
<OutputPath>..\bin\</OutputPath>
|
||||
<DocumentationFile>.\IRaCIS.Core.Application.xml</DocumentationFile>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
<NoWarn>$(NoWarn);NU1903</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
|
|
|
|||
|
|
@ -2940,7 +2940,7 @@
|
|||
<param name="modality"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.DownloadImageSuccess(System.Guid,System.Nullable{System.Guid})">
|
||||
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.DownloadImageSuccess(System.Guid)">
|
||||
<summary>
|
||||
影像下载成功回调
|
||||
</summary>
|
||||
|
|
@ -3284,20 +3284,6 @@
|
|||
批次Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.Inspection.InspectionService.getInspectionById(IRaCIS.Core.Application.Service.Inspection.DTO.InspectionDto)">
|
||||
<summary>
|
||||
根据Id获取稽查记录
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.Inspection.InspectionService.SetJsonDetail(IRaCIS.Core.Application.Service.Inspection.DTO.InspectionDto)">
|
||||
<summary>
|
||||
设置稽查记录JsonDetail
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.Inspection.InspectionService.SetTrialShowInspection(IRaCIS.Core.Application.Service.Inspection.DTO.SetTrialShowInspection)">
|
||||
<summary>
|
||||
设置项目稽查配置
|
||||
|
|
@ -9027,11 +9013,6 @@
|
|||
外弹力膜面积- 管腔面积
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.IVUSMeasuredValue.PlaqueRupture">
|
||||
<summary>
|
||||
斑块破裂
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTFCTUploadData.FrameNumber">
|
||||
<summary>
|
||||
帧数
|
||||
|
|
@ -9082,16 +9063,6 @@
|
|||
脂质角度
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTFCTUploadData.PlaqueRupture">
|
||||
<summary>
|
||||
斑块破裂
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTFCTUploadData.PlaqueHealing">
|
||||
<summary>
|
||||
斑块愈合
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTInfo.PlaqueNum">
|
||||
<summary>
|
||||
斑块编号
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ namespace IRaCIS.Core.Application.MassTransit.Command
|
|||
|
||||
//[Required(ErrorMessage = "受试者筛选号不能为空")]
|
||||
//[ImporterHeader(Name = "Subject ID", AutoTrim = true)]
|
||||
[ExcelColumnName("Participant ID")]
|
||||
[ExcelColumnName("Subject ID")]
|
||||
public string SubjectCode { get; set; } = string.Empty;
|
||||
|
||||
//[Required(ErrorMessage = "访视名称不能为空")]
|
||||
|
|
|
|||
|
|
@ -2930,7 +2930,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
arbitrationRule = criterion.ArbitrationRule,
|
||||
trialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
}).AsSplitQuery().ToListAsync();
|
||||
}).ToListAsync();
|
||||
|
||||
}
|
||||
//肿瘤标准 病灶明细表 按照病灶级别 (OCT 暂时不删除,先看是否能覆盖)
|
||||
|
|
@ -2949,7 +2949,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
arbitrationRule = criterion.ArbitrationRule,
|
||||
trialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
}).AsSplitQuery().ToListAsync();
|
||||
}).ToListAsync();
|
||||
|
||||
}
|
||||
// 非肿瘤标准 包括自定义,以及系统非肿瘤 会配置到表格层级 问题名称是 表格名称_表格子问题名
|
||||
|
|
@ -2967,7 +2967,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
arbitrationRule = criterion.ArbitrationRule,
|
||||
trialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
}).AsSplitQuery().ToListAsync();
|
||||
}).ToListAsync();
|
||||
|
||||
}
|
||||
// CDISC 导出 只管到 外层问题层级 和阅片结果表是保持一致
|
||||
|
|
@ -2985,7 +2985,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
arbitrationRule = criterion.ArbitrationRule,
|
||||
trialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
}).AsSplitQuery().ToListAsync();
|
||||
}).ToListAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -2997,7 +2997,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
arbitrationRule = criterion.ArbitrationRule,
|
||||
trialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
}).AsSplitQuery().ToListAsync();
|
||||
}).ToListAsync();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,12 +119,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
var subjectCode = string.Empty;
|
||||
var subjectId = inQuery.SubjectId;
|
||||
bool? isIRImageDownloaded = null;
|
||||
|
||||
if(inQuery.VisitTaskId != null)
|
||||
{
|
||||
isIRImageDownloaded= _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => t.IsIRImageDownloaded).FirstOrDefault();
|
||||
}
|
||||
|
||||
if (criterionInfo.IsReadingTaskViewInOrder == ReadingOrder.Random)
|
||||
{
|
||||
|
|
@ -331,7 +325,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
}
|
||||
|
||||
|
||||
return ResponseOutput.Ok(list, new { TrialModality = criterionInfo.Modalitys, IsReadingTaskViewInOrder = criterionInfo.IsReadingTaskViewInOrder, IsIRImageDownloaded= isIRImageDownloaded });
|
||||
return ResponseOutput.Ok(list, new { TrialModality = criterionInfo.Modalitys , IsReadingTaskViewInOrder = criterionInfo.IsReadingTaskViewInOrder });
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -708,12 +702,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
TaskSeries dicomSeries = await _taskSeriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId);
|
||||
|
||||
var isNewSeries = false;
|
||||
//判断重复
|
||||
if (dicomSeries == null)
|
||||
{
|
||||
isNewSeries = true;
|
||||
|
||||
var series = _mapper.Map<TaskSeries>(seriesItem);
|
||||
|
||||
series.Id = seriesId;
|
||||
|
|
@ -758,10 +749,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
await _taskInstanceRepository.AddAsync(insntance);
|
||||
|
||||
if (isNewSeries == false)
|
||||
{
|
||||
dicomSeries.InstanceCount++;
|
||||
}
|
||||
findStudy.InstanceCount++;
|
||||
}
|
||||
|
||||
|
|
@ -911,7 +899,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
var subjectCode = inQuery.SubjectCode;
|
||||
var subjectId = inQuery.SubjectId;
|
||||
var doctorUserId = _userInfo.UserRoleId;
|
||||
bool? isIRImageDownloaded = null;
|
||||
|
||||
if (inQuery.VisitTaskId != null)
|
||||
{
|
||||
|
|
@ -923,20 +910,18 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
|
||||
SubjectId = t.SubjectId,
|
||||
t.DoctorUserId,
|
||||
t.IsAnalysisCreate,
|
||||
t.IsIRImageDownloaded,
|
||||
t.IsAnalysisCreate
|
||||
}).FirstNotNullAsync();
|
||||
|
||||
subjectId = taskInfo.SubjectId;
|
||||
subjectCode = taskInfo.SubjectCode;
|
||||
doctorUserId = (Guid)taskInfo.DoctorUserId!;
|
||||
isIRImageDownloaded = taskInfo.IsIRImageDownloaded;
|
||||
}
|
||||
|
||||
var info = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId)
|
||||
.Select(t => new { t.IsImageFilter, t.CriterionType, t.TrialId, t.CriterionModalitys, t.IsReadingTaskViewInOrder }).FirstNotNullAsync();
|
||||
|
||||
var config = await _subjectRepository.Where(t => t.Id == subjectId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName, IsIRImageDownloaded= isIRImageDownloaded }).FirstOrDefaultAsync();
|
||||
var config = await _subjectRepository.Where(t => t.Id == subjectId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName }).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
//靶段标注上传,查看访视级别,上传绑定访视级别
|
||||
|
|
@ -1890,15 +1875,10 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
/// </summary>
|
||||
/// <param name="trialImageDownloadId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> DownloadImageSuccess(Guid trialImageDownloadId, Guid? visitTaskId)
|
||||
public async Task<IResponseOutput> DownloadImageSuccess(Guid trialImageDownloadId)
|
||||
{
|
||||
await _trialImageDownloadRepository.UpdatePartialFromQueryAsync(t => t.Id == trialImageDownloadId, u => new TrialImageDownload()
|
||||
{ DownloadEndTime = DateTime.Now, IsSuccess = true }, true);
|
||||
|
||||
if (visitTaskId != null)
|
||||
{
|
||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.Id == visitTaskId.Value, u => new VisitTask() { IsIRImageDownloaded = true });
|
||||
}
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -449,12 +449,6 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
|
|||
public List<GetTrialShowInspectionOutDto> Children { get; set; }
|
||||
}
|
||||
|
||||
public class InspectionDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string? JsonDetail { get; set; }
|
||||
}
|
||||
|
||||
public class SetTrialShowInspection
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,39 +27,6 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
IRepository<FrontAuditConfig> _frontAuditConfigRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IInspectionService
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 根据Id获取稽查记录
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> getInspectionById(InspectionDto inDto)
|
||||
{
|
||||
var dataInspection = await _dataInspectionRepository.Where(x=>x.Id==inDto.Id).Select(x=> new InspectionDto()
|
||||
{
|
||||
Id=x.Id,
|
||||
JsonDetail = x.JsonDetail,
|
||||
|
||||
}).FirstOrDefaultAsync();
|
||||
|
||||
return ResponseOutput.Ok(dataInspection);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置稽查记录JsonDetail
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> SetJsonDetail(InspectionDto inDto)
|
||||
{
|
||||
await _dataInspectionRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.Id, u => new DataInspection() { JsonDetail = inDto.JsonDetail });
|
||||
|
||||
return ResponseOutput.Ok(inDto);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置项目稽查配置
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -455,15 +455,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
}
|
||||
|
||||
|
||||
var isFilterIVUSNoneDicom = false;
|
||||
//ivus-在访视的时候visitTaskId==null 需要过滤掉空检查 ,但是在靶段标注的查看访视级别的时候不能过滤
|
||||
if (_subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.Trial.TrialReadingCriterionList)
|
||||
.Where(t => (t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT) && t.IsConfirm).Distinct().Count() == 2
|
||||
)
|
||||
{
|
||||
isFilterIVUSNoneDicom = true;
|
||||
}
|
||||
|
||||
return new TrialVisitQADTO
|
||||
{
|
||||
IsSupportQCDownloadImage = isSupportQCImageDownload,
|
||||
|
|
@ -476,7 +467,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
ExistsManual = (await _IReadingImageTaskService.GetManualList(new GetManualListInDto() { TrialId = sv.TrialId })).Count() > 0,
|
||||
SeriesList = temp.SeriesList,
|
||||
RelationInfo = await GetVisitQCSubjectInfo(subjectVisitId),
|
||||
NoneDicomStudyList = await _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: true).Where(t => isFilterIVUSNoneDicom ? t.Modality != "IVUS" : true).ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider).ToListAsync(),
|
||||
NoneDicomStudyList = await _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: true).ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider).ToListAsync(),
|
||||
SubjectClinicalData = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId)
|
||||
.ProjectTo<SubjectClinicalDataDto>(_mapper.ConfigurationProvider, new { subjectVisitId = subjectVisitId, token = _userInfo.UserToken }).FirstOrDefaultAsync()
|
||||
};
|
||||
|
|
|
|||
|
|
@ -238,11 +238,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
return this.Emm - this.Lumen;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 斑块破裂
|
||||
/// </summary>
|
||||
public string PlaqueRupture { get; set; }
|
||||
}
|
||||
|
||||
public class TemplateData
|
||||
|
|
@ -305,16 +300,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public decimal? LipidAngle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 斑块破裂
|
||||
/// </summary>
|
||||
public string PlaqueRupture { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 斑块愈合
|
||||
/// </summary>
|
||||
public string PlaqueHealing { get; set; }
|
||||
|
||||
|
||||
public decimal? Avg
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1546,20 +1546,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public QuestionClassify? QuestionClassify { get; set; }
|
||||
}
|
||||
|
||||
public class GetFilterTableQuestionInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public Guid QuestionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 问题分类
|
||||
/// </summary>
|
||||
public QuestionClassify? QuestionClassify { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
public class GetHistoryGlobalInfoOutDto
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1401,38 +1401,6 @@ namespace IRaCIS.Core.Application.Service
|
|||
}); ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取单个表格问题及答案 过滤问题
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> GetFilterTableQuestion(GetFilterTableQuestionInDto inDto)
|
||||
{
|
||||
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||
var tableAnswers = await _readingTableQuestionAnswerRepository
|
||||
.ProjectTo<ReadingTableQuestionAnswerInfo>(_mapper.ConfigurationProvider)
|
||||
.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync();
|
||||
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
var organIds = tableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
||||
var organList = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
||||
var questionPage = await GetReadingTableQuestion(
|
||||
new GetReadingTableQuestionOrAnswerInDto()
|
||||
{
|
||||
TrialReadingCriterionId = taskinfo.TrialReadingCriterionId,
|
||||
TaskId = inDto.VisitTaskId,
|
||||
TableAnswers = tableAnswers,
|
||||
TableAnsweRowInfos = tableAnsweRowInfos,
|
||||
OrganInfos = organList,
|
||||
QuestionClassify = inDto.QuestionClassify,
|
||||
});
|
||||
|
||||
|
||||
var result = questionPage.SinglePage.SelectMany(x => x.Childrens).Where(x => x.Id == inDto.QuestionId).FirstOrDefault();
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取自定义问题以及答案
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -298,10 +298,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
//new ReadingCalculateData (){QuestionType=QuestionType.Plaque3PVA,GetDecimalNullFun=GetPlaque3PVA},
|
||||
|
||||
|
||||
// 获取EMM求和
|
||||
// (EEM-Lumen)求和
|
||||
new ReadingCalculateData (){QuestionType=QuestionType.EEMSum,GetDecimalNullFun=GetEmmSum},
|
||||
|
||||
// (EEM-Lumen)求和
|
||||
// 斑块2-PAV
|
||||
new ReadingCalculateData (){QuestionType=QuestionType.EEMSubLumenSum,GetDecimalNullFun=GetEEMLumenSum},
|
||||
|
||||
// PAV(冠状动脉粥样硬化体积百分比)
|
||||
|
|
@ -494,38 +494,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
}
|
||||
|
||||
string getNone(string value)
|
||||
{
|
||||
if (value == string.Empty || value == null)
|
||||
{
|
||||
return "无";
|
||||
}
|
||||
else
|
||||
{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Dictionary<string, string> isPresent = new Dictionary<string, string>()
|
||||
{
|
||||
{ "有","1"},
|
||||
{ "无","0"},
|
||||
{ "Existence","1"},
|
||||
{ "Non-existence","0"},
|
||||
{ string.Empty,string.Empty},
|
||||
};
|
||||
|
||||
|
||||
Dictionary<string, string> yesOrNo = new Dictionary<string, string>()
|
||||
{
|
||||
{ "是","1"},
|
||||
{ "否","0"},
|
||||
{ "Yes","1"},
|
||||
{ "No","0"},
|
||||
};
|
||||
|
||||
List<IVUSMeasuredValue> measuredValueList = new List<IVUSMeasuredValue>();
|
||||
var errorRow = new List<int> { };
|
||||
|
||||
|
|
@ -534,19 +502,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
IVUSMeasuredValue iVUSMeasuredValue = new IVUSMeasuredValue() { };
|
||||
try
|
||||
{
|
||||
// 手动抛出异常进入catch
|
||||
if (!yesOrNo.ContainsKey(dataTable.Rows[i]["D"].ToString()))
|
||||
{
|
||||
throw new InvalidOperationException("NullError");
|
||||
}
|
||||
|
||||
iVUSMeasuredValue = new IVUSMeasuredValue()
|
||||
{
|
||||
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
|
||||
FrameNumber = dataTable.Rows[i]["A"].ToString()??string.Empty,
|
||||
Emm = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
|
||||
Lumen = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()),
|
||||
PlaqueRupture= getNone(dataTable.Rows[i]["D"].ToString()),
|
||||
};
|
||||
}
|
||||
catch (Exception)
|
||||
|
|
@ -662,18 +623,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.ElasticAreaDiffValue).Select(x => x.Id).FirstOrDefault(),
|
||||
});
|
||||
|
||||
// 斑块破裂
|
||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||
{
|
||||
Answer = yesOrNo[item.PlaqueRupture.ToString()],
|
||||
QuestionId = questionInfo.Id,
|
||||
TrialId = taskinfo.TrialId,
|
||||
VisitTaskId = taskinfo.Id,
|
||||
RowId = newRowId,
|
||||
RowIndex = maxnum,
|
||||
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueRupture).Select(x => x.Id).FirstOrDefault(),
|
||||
});
|
||||
|
||||
|
||||
// 添加其他问题答案
|
||||
foreach (var otherQuestion in tableQuestionList.Where(x => !tableAnswers.Any(y => y.TableQuestionId == x.Id && y.RowId == newRowId)))
|
||||
|
|
|
|||
|
|
@ -336,15 +336,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
List<OCTFCTUploadData> measuredValueList = new List<OCTFCTUploadData>();
|
||||
var errorRow = new List<int> { };
|
||||
|
||||
Dictionary<string, string> yesOrNo = new Dictionary<string, string>()
|
||||
{
|
||||
{ "是","1"},
|
||||
{ "否","0"},
|
||||
{ "Yes","1"},
|
||||
{ "No","0"},
|
||||
};
|
||||
|
||||
|
||||
string getNone(string value)
|
||||
{
|
||||
if (value == string.Empty || value == null)
|
||||
|
|
@ -360,29 +351,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
{
|
||||
try
|
||||
{
|
||||
|
||||
// 手动抛出异常进入catch
|
||||
if (!yesOrNo.ContainsKey(dataTable.Rows[i]["K"].ToString())|| !yesOrNo.ContainsKey(dataTable.Rows[i]["L"].ToString()))
|
||||
{
|
||||
throw new InvalidOperationException("NullError");
|
||||
}
|
||||
|
||||
measuredValueList.Add(new OCTFCTUploadData()
|
||||
{
|
||||
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
|
||||
FrameNumber = dataTable.Rows[i]["A"].ToString() ?? string.Empty,
|
||||
LumenAreaMeasurement = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
|
||||
LipidAngle = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString() ?? string.Empty),
|
||||
FirstData = getdecimalEmptyData(dataTable.Rows[i]["D"].ToString()),
|
||||
SecondData = getdecimalEmptyData(dataTable.Rows[i]["E"].ToString()),
|
||||
ThirdData = getdecimalEmptyData(dataTable.Rows[i]["F"].ToString()),
|
||||
FirstData = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
|
||||
SecondData = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()),
|
||||
ThirdData = getdecimalEmptyData(dataTable.Rows[i]["D"].ToString()),
|
||||
MacrophageInfiltrationMeasurement = getNone(dataTable.Rows[i]["E"].ToString()),
|
||||
MacrophageInfiltrationAngle = getdecimalEmptyData(dataTable.Rows[i]["F"].ToString() ?? string.Empty),
|
||||
MicrochannelMeasurement = getNone(dataTable.Rows[i]["G"].ToString()),
|
||||
CholesterolCrystalMeasurement = getNone(dataTable.Rows[i]["H"].ToString()),
|
||||
MacrophageInfiltrationMeasurement = getNone(dataTable.Rows[i]["I"].ToString()),
|
||||
MacrophageInfiltrationAngle = getdecimalEmptyData(dataTable.Rows[i]["J"].ToString() ?? string.Empty),
|
||||
PlaqueRupture = getNone(dataTable.Rows[i]["K"].ToString()),
|
||||
PlaqueHealing = getNone(dataTable.Rows[i]["L"].ToString()),
|
||||
|
||||
LumenAreaMeasurement = getdecimalEmptyData(dataTable.Rows[i]["I"].ToString()),
|
||||
LipidAngle = getdecimalEmptyData(dataTable.Rows[i]["J"].ToString() ?? string.Empty),
|
||||
});
|
||||
}
|
||||
catch (Exception)
|
||||
|
|
@ -617,30 +598,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Id).FirstOrDefault(),
|
||||
});
|
||||
|
||||
// 斑块破裂
|
||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||
{
|
||||
Answer = yesOrNo[item.PlaqueRupture.ToString()],
|
||||
QuestionId = questionInfo.Id,
|
||||
TrialId = taskinfo.TrialId,
|
||||
VisitTaskId = taskinfo.Id,
|
||||
RowId = newRowId,
|
||||
RowIndex = maxnum,
|
||||
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueRupture).Select(x => x.Id).FirstOrDefault(),
|
||||
});
|
||||
|
||||
// 斑块愈合
|
||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||
{
|
||||
Answer = yesOrNo[item.PlaqueHealing.ToString()],
|
||||
QuestionId = questionInfo.Id,
|
||||
TrialId = taskinfo.TrialId,
|
||||
VisitTaskId = taskinfo.Id,
|
||||
RowId = newRowId,
|
||||
RowIndex = maxnum,
|
||||
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueHealing).Select(x => x.Id).FirstOrDefault(),
|
||||
});
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2518,16 +2518,6 @@ namespace IRaCIS.Core.Domain.Share
|
|||
/// </summary>
|
||||
FrameNumber =1032,
|
||||
|
||||
/// <summary>
|
||||
/// 斑块破裂
|
||||
/// </summary>
|
||||
PlaqueRupture = 1033,
|
||||
|
||||
/// <summary>
|
||||
/// 斑块愈合
|
||||
/// </summary>
|
||||
PlaqueHealing = 1034,
|
||||
|
||||
/// <summary>
|
||||
/// 第一次测量
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -324,10 +324,4 @@ public class VisitTask : BaseFullAuditEntity
|
|||
|
||||
#endregion
|
||||
|
||||
#region 支持控制IR 下载影像
|
||||
|
||||
public bool? IsIRImageDownloaded { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<OutputPath>..\bin</OutputPath>
|
||||
<NoWarn>$(NoWarn);NU1903</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -2447,8 +2447,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
Reason = reason,
|
||||
ExtraIndentification = extraIdentification,
|
||||
|
||||
SubjectVisitId = entity.SourceSubjectVisitId,
|
||||
|
||||
ObjectRelationParentId = entity.SourceSubjectVisitId != null ? entity.SourceSubjectVisitId : entity.SouceReadModuleId,
|
||||
|
||||
ObjectRelationParentId2 = entity.DoctorUserId,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,28 +0,0 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addIRDownload : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsIRImageDownloaded",
|
||||
table: "VisitTask",
|
||||
type: "bit",
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsIRImageDownloaded",
|
||||
table: "VisitTask");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -16668,9 +16668,6 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
.HasColumnType("bit")
|
||||
.HasComment("重阅重置任务的 标注是转化之前的 还是转化之后的");
|
||||
|
||||
b.Property<bool?>("IsIRImageDownloaded")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<bool>("IsNeedClinicalDataSign")
|
||||
.HasColumnType("bit")
|
||||
.HasComment("临床数据");
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<OutputPath>..\bin</OutputPath>
|
||||
<NoWarn>$(NoWarn);NU1903</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
Loading…
Reference in New Issue