Compare commits
No commits in common. "72cb4077661eb71d0d6232857946af3a9587b696" and "32d6cce33e51ba2e93232a88ffde35e2d9f87b56" have entirely different histories.
72cb407766
...
32d6cce33e
|
|
@ -52,8 +52,7 @@ public static class ExcelExportHelper
|
||||||
var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
|
var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
|
||||||
|
|
||||||
|
|
||||||
var dic = (JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull())).IfNullThrowException();
|
var dic = JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull());
|
||||||
|
|
||||||
|
|
||||||
foreach (var key in dic.Keys)
|
foreach (var key in dic.Keys)
|
||||||
{
|
{
|
||||||
|
|
@ -233,7 +232,7 @@ public static class ExcelExportHelper
|
||||||
var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
|
var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
|
||||||
|
|
||||||
|
|
||||||
var dic = (JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull())).IfNullThrowException();
|
var dic = JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull());
|
||||||
|
|
||||||
foreach (var key in dic.Keys)
|
foreach (var key in dic.Keys)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -539,6 +539,7 @@ public static class FileStoreHelper
|
||||||
/// <param name="trialId"></param>
|
/// <param name="trialId"></param>
|
||||||
/// <param name="siteid"></param>
|
/// <param name="siteid"></param>
|
||||||
/// <param name="subjectId"></param>
|
/// <param name="subjectId"></param>
|
||||||
|
/// <param name="type"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static (string PhysicalPath, string RelativePath, string FileRealName) GetUploadPrintscreenFilePath(IWebHostEnvironment _hostEnvironment, string fileName, Guid trialId, Guid siteid, Guid subjectId)
|
public static (string PhysicalPath, string RelativePath, string FileRealName) GetUploadPrintscreenFilePath(IWebHostEnvironment _hostEnvironment, string fileName, Guid trialId, Guid siteid, Guid subjectId)
|
||||||
{
|
{
|
||||||
|
|
@ -685,7 +686,7 @@ public static class FileStoreHelper
|
||||||
|
|
||||||
var json = File.ReadAllText( Path.Combine(_hostEnvironment.ContentRootPath, "appsettings.json"));
|
var json = File.ReadAllText( Path.Combine(_hostEnvironment.ContentRootPath, "appsettings.json"));
|
||||||
|
|
||||||
JObject jsonObject = (JObject.Parse(json, new JsonLoadSettings() { CommentHandling = CommentHandling.Load })).IfNullThrowException();
|
JObject jsonObject = JObject.Parse(json, new JsonLoadSettings() { CommentHandling = CommentHandling.Load });
|
||||||
|
|
||||||
int switchingRatio = 80;
|
int switchingRatio = 80;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public static class SendEmailHelper
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception )
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
||||||
//---邮件发送失败,您进行的操作未能成功,请检查邮箱或联系维护人员
|
//---邮件发送失败,您进行的操作未能成功,请检查邮箱或联系维护人员
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@
|
||||||
<param name="trialId"></param>
|
<param name="trialId"></param>
|
||||||
<param name="siteid"></param>
|
<param name="siteid"></param>
|
||||||
<param name="subjectId"></param>
|
<param name="subjectId"></param>
|
||||||
|
<param name="type"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Helper.FileStoreHelper.GetFilePath(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,System.String,System.Guid,System.Guid,System.String)">
|
<member name="M:IRaCIS.Core.Application.Helper.FileStoreHelper.GetFilePath(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,System.String,System.Guid,System.Guid,System.String)">
|
||||||
|
|
@ -293,7 +294,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="origenalTask"></param>
|
<param name="origenalTask"></param>
|
||||||
<param name="agreeReReadingCommand"></param>
|
<param name="agreeReReadingCommand"></param>
|
||||||
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
|
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.SetReReadingOrBackInfluenceAnalysisAsync(System.Guid)">
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.SetReReadingOrBackInfluenceAnalysisAsync(System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
|
|
@ -503,6 +503,7 @@
|
||||||
<param name="_commonDocumentRepository"></param>
|
<param name="_commonDocumentRepository"></param>
|
||||||
<param name="_dictionaryService"></param>
|
<param name="_dictionaryService"></param>
|
||||||
<param name="_trialRepository"></param>
|
<param name="_trialRepository"></param>
|
||||||
|
<param name="inQuery"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialReadingCriterionCanExportDocumentList(System.Guid)">
|
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialReadingCriterionCanExportDocumentList(System.Guid)">
|
||||||
|
|
@ -949,8 +950,7 @@
|
||||||
<summary>
|
<summary>
|
||||||
翻译稽查数据
|
翻译稽查数据
|
||||||
</summary>
|
</summary>
|
||||||
<param name="dto"></param>
|
<param name="dto">传入Dto</param>
|
||||||
<param name="currentInspectionId"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.FrontAuditConfigService.SetDataInspectionDateType(System.Collections.Generic.List{System.String},System.String)">
|
<member name="M:IRaCIS.Core.Application.Service.FrontAuditConfigService.SetDataInspectionDateType(System.Collections.Generic.List{System.String},System.String)">
|
||||||
|
|
@ -1144,6 +1144,7 @@
|
||||||
<summary>
|
<summary>
|
||||||
获取阅片报告
|
获取阅片报告
|
||||||
</summary>
|
</summary>
|
||||||
|
<param name="indto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.ReadingCalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.ReadingCalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
|
||||||
|
|
@ -2480,8 +2481,6 @@
|
||||||
<param name="item"></param>
|
<param name="item"></param>
|
||||||
<param name="questions"></param>
|
<param name="questions"></param>
|
||||||
<param name="tableQuestions"></param>
|
<param name="tableQuestions"></param>
|
||||||
<param name="answers"></param>
|
|
||||||
<param name="tableAnswers"></param>
|
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetTrialClinicalQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionQuery)">
|
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetTrialClinicalQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionQuery)">
|
||||||
<summary>
|
<summary>
|
||||||
|
|
@ -10703,7 +10702,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageClinicalDataToBeConfirmList(IRaCIS.Core.Application.Contracts.ImageClinicalDataToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageClinicalDataToBeConfirmList(IRaCIS.Core.Application.Contracts.ImageClinicalDataToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
|
|
@ -10712,7 +10710,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetCRCImageQuestionToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQuestionToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetCRCImageQuestionToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQuestionToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
|
|
@ -10730,7 +10727,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageReUploadToBeDoneList(IRaCIS.Core.Application.Contracts.ImageReUploadToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageReUploadToBeDoneList(IRaCIS.Core.Application.Contracts.ImageReUploadToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
|
|
@ -10739,16 +10735,14 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageSubmittedToBeDoneList(IRaCIS.Core.Application.Contracts.ImageSubmittedToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageSubmittedToBeDoneList(IRaCIS.Core.Application.Contracts.ImageSubmittedToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
<summary>
|
<summary>
|
||||||
加急影像提交 --CRC 待办
|
加急影像提交 --CRC 待办
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageQualityToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQualityToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageQualityToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQualityToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
|
|
@ -10757,16 +10751,14 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetQCImageQuestionToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQuestionToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetQCImageQuestionToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQuestionToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
<summary>
|
<summary>
|
||||||
QC 质疑
|
QC 质疑
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_subjectVisitRepository"></param>
|
<param name="_subjectVisitRepository"></param>
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetIRImageReadingToBeDoneList(IRaCIS.Core.Application.Contracts.IRImageReadingToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetIRImageReadingToBeDoneList(IRaCIS.Core.Application.Contracts.IRImageReadingToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
|
||||||
|
|
@ -10784,7 +10776,6 @@
|
||||||
IR医学反馈
|
IR医学反馈
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_taskMedicalReviewRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetMIMMedicalCommentsToBeDoneList(IRaCIS.Core.Application.Contracts.MedicalCommentsToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskMedicalReview})">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetMIMMedicalCommentsToBeDoneList(IRaCIS.Core.Application.Contracts.MedicalCommentsToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskMedicalReview})">
|
||||||
|
|
@ -10793,7 +10784,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_taskMedicalReviewRepository"></param>
|
<param name="_taskMedicalReviewRepository"></param>
|
||||||
<param name="_trialReadingCriterionRepository"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetMedicalCommentsFirstToBeDone(IRaCIS.Core.Application.Contracts.MedicalCommentsFirstToBeDoneQuery,IRaCIS.Core.Application.Interfaces.ITaskMedicalReviewService)">
|
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetMedicalCommentsFirstToBeDone(IRaCIS.Core.Application.Contracts.MedicalCommentsFirstToBeDoneQuery,IRaCIS.Core.Application.Interfaces.ITaskMedicalReviewService)">
|
||||||
|
|
@ -11579,6 +11569,7 @@
|
||||||
<summary>
|
<summary>
|
||||||
新增修改系统表格问题
|
新增修改系统表格问题
|
||||||
</summary>
|
</summary>
|
||||||
|
<param name="addOrEditReadingTableQuestionSystem"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingQuestionService.DeleteReadingTableQuestionSystem(System.Guid)">
|
<member name="M:IRaCIS.Application.Services.ReadingQuestionService.DeleteReadingTableQuestionSystem(System.Guid)">
|
||||||
|
|
@ -11603,12 +11594,11 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingQuestionService.VerifyCalculateRelation(System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.CalculateRelationDto},System.Guid,System.Guid,System.Int32)">
|
<member name="M:IRaCIS.Application.Services.ReadingQuestionService.VerifyCalculateRelation(System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.CalculateRelationDto},System.Guid,System.Guid,System.Int32)">
|
||||||
<summary>
|
<summary>
|
||||||
验证计算关系
|
验证计算关系
|
||||||
</summary>
|
</summary>
|
||||||
<param name="relationList"></param>
|
<param name="relationList"></param>
|
||||||
<param name="QuestionId"></param>
|
<param name="QuestionId"></param>
|
||||||
<param name="originalId"></param>
|
<param name="originalId"></param>
|
||||||
<param name="count"></param>
|
|
||||||
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
|
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingQuestionService.GetQuestionCalculateRelation(IRaCIS.Core.Application.Service.Reading.Dto.GetQuestionCalculateRelationInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingQuestionService.GetQuestionCalculateRelation(IRaCIS.Core.Application.Service.Reading.Dto.GetQuestionCalculateRelationInDto)">
|
||||||
|
|
@ -11874,8 +11864,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<param name="trialReadingCriterionId"></param>
|
<param name="trialReadingCriterionId"></param>
|
||||||
<param name="visitTaskId"></param>
|
<param name="visitTaskId"></param>
|
||||||
<param name="questionClassify"></param>
|
|
||||||
<param name="groupClassifyList"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetReadingReportEvaluation(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingReportEvaluationInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetReadingReportEvaluation(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingReportEvaluationInDto)">
|
||||||
|
|
@ -11918,18 +11906,11 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.FindChildQuestion(IRaCIS.Core.Application.Service.Reading.Dto.TrialReadQuestionData,System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.TrialReadQuestionData},System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.TableQuestionTrial},System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableQuestionAnswerInfo},System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.TableAnsweRowInfo},System.Collections.Generic.List{IRaCIS.Core.Domain.Models.OrganInfo},System.Collections.Generic.List{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},System.Boolean,System.Collections.Generic.List{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},System.Nullable{System.Guid})">
|
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.FindChildQuestion(IRaCIS.Core.Application.Service.Reading.Dto.TrialReadQuestionData,System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.TrialReadQuestionData},System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.TableQuestionTrial},System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableQuestionAnswerInfo},System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.TableAnsweRowInfo},System.Collections.Generic.List{IRaCIS.Core.Domain.Models.OrganInfo},System.Collections.Generic.List{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},System.Boolean,System.Collections.Generic.List{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},System.Nullable{System.Guid})">
|
||||||
<summary>
|
<summary>
|
||||||
获取子元素
|
获取子元素
|
||||||
</summary>
|
</summary>
|
||||||
<param name="item"></param>
|
<param name="item"></param>
|
||||||
<param name="questionlists"></param>
|
<param name="questionlists"></param>
|
||||||
<param name="tableQuestionLists"></param>
|
<param name="tableQuestionLists"></param>
|
||||||
<param name="tableAnswers"></param>
|
|
||||||
<param name="tableAnsweRowInfos"></param>
|
|
||||||
<param name="organInfos"></param>
|
|
||||||
<param name="baseLineTableAnswer"></param>
|
|
||||||
<param name="isFirstChangeTask"></param>
|
|
||||||
<param name="lastTaskTableAnswer"></param>
|
|
||||||
<param name="TaskId"></param>
|
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.SplitLesion(IRaCIS.Core.Application.Service.Reading.Dto.SplitLesionInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.SplitLesion(IRaCIS.Core.Application.Service.Reading.Dto.SplitLesionInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
|
|
|
||||||
|
|
@ -642,6 +642,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
/// 获取有序阅片IQuery对象
|
/// 获取有序阅片IQuery对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<(int, List<IRUnReadSubjectView>)> GetOrderReadingIQueryable(GetOrderReadingIQueryableInDto inDto)
|
public async Task<(int, List<IRUnReadSubjectView>)> GetOrderReadingIQueryable(GetOrderReadingIQueryableInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
@ -843,7 +844,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
var requestRecordList = await _visitTaskReReadingRepository.Where(t => baseLineTaskIdList.Contains(t.OriginalReReadingTaskId) && t.RequestReReadingUserId == _userInfo.Id && t.RequestReReadingReason == "AIR自动重阅基线").ToListAsync();
|
var requestRecordList = await _visitTaskReReadingRepository.Where(t => baseLineTaskIdList.Contains(t.OriginalReReadingTaskId) && t.RequestReReadingUserId == _userInfo.Id && t.RequestReReadingReason == "AIR自动重阅基线").ToListAsync();
|
||||||
|
|
||||||
if (requestRecordList.Count != baseLineTaskIdList.Count)
|
if (requestRecordList.Count() != baseLineTaskIdList.Count())
|
||||||
{
|
{
|
||||||
//---后台数据有错误
|
//---后台数据有错误
|
||||||
return ResponseOutput.NotOk(_localizer["VisitTask_DoctorConfiguration"]);
|
return ResponseOutput.NotOk(_localizer["VisitTask_DoctorConfiguration"]);
|
||||||
|
|
@ -966,7 +967,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="origenalTask"></param>
|
/// <param name="origenalTask"></param>
|
||||||
/// <param name="agreeReReadingCommand"></param>
|
/// <param name="agreeReReadingCommand"></param>
|
||||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
|
||||||
private void ReReadingTaskTrackingDeal(VisitTask origenalTask, ConfirmReReadingCommand agreeReReadingCommand)
|
private void ReReadingTaskTrackingDeal(VisitTask origenalTask, ConfirmReReadingCommand agreeReReadingCommand)
|
||||||
{
|
{
|
||||||
if (origenalTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed || origenalTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed)
|
if (origenalTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed || origenalTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed)
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ namespace IRaCIS.Application.Services
|
||||||
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
|
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||||
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystem;
|
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystem;
|
||||||
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
|
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
|
||||||
|
private readonly IReadingQuestionService _readingQuestionService;
|
||||||
|
|
||||||
public DictionaryService(IRepository<Dictionary> sysDicRepository, IRepository<TrialDictionary> trialDictionaryRepository,
|
public DictionaryService(IRepository<Dictionary> sysDicRepository, IRepository<TrialDictionary> trialDictionaryRepository,
|
||||||
IRepository<Trial> trialRepository,
|
IRepository<Trial> trialRepository,
|
||||||
|
|
@ -34,7 +35,8 @@ namespace IRaCIS.Application.Services
|
||||||
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||||
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
|
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
|
||||||
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystem,
|
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystem,
|
||||||
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial
|
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
|
||||||
|
IReadingQuestionService readingQuestionService
|
||||||
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
@ -50,6 +52,7 @@ namespace IRaCIS.Application.Services
|
||||||
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
||||||
this._readingQuestionCriterionSystem = readingQuestionCriterionSystem;
|
this._readingQuestionCriterionSystem = readingQuestionCriterionSystem;
|
||||||
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
|
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
|
||||||
|
this._readingQuestionService = readingQuestionService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -970,6 +970,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
/// <param name="_commonDocumentRepository"></param>
|
/// <param name="_commonDocumentRepository"></param>
|
||||||
/// <param name="_dictionaryService"></param>
|
/// <param name="_dictionaryService"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
/// <param name="_trialRepository"></param>
|
||||||
|
/// <param name="inQuery"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IActionResult> GetGroupAnalysisTaskList_Export(VisitTaskQuery queryVisitTask,
|
public async Task<IActionResult> GetGroupAnalysisTaskList_Export(VisitTaskQuery queryVisitTask,
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,12 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
private readonly IRepository<SystemBasicData> _systemBasicDatarepository;
|
private readonly IRepository<SystemBasicData> _systemBasicDatarepository;
|
||||||
|
|
||||||
|
private readonly IWebHostEnvironment _hostEnvironment;
|
||||||
private readonly IRepository<User> _userRepository;
|
private readonly IRepository<User> _userRepository;
|
||||||
|
|
||||||
private readonly ITokenService _tokenService;
|
private readonly ITokenService _tokenService;
|
||||||
|
|
||||||
|
private readonly IMapper _mapper;
|
||||||
|
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
private readonly IRepository<UserType> _userTypeRepository;
|
private readonly IRepository<UserType> _userTypeRepository;
|
||||||
|
|
@ -59,6 +61,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
public MailVerificationService(IRepository<VerificationCode> verificationCodeRepository,
|
public MailVerificationService(IRepository<VerificationCode> verificationCodeRepository,
|
||||||
IRepository<SystemBasicData> systemBasicDatarepository,
|
IRepository<SystemBasicData> systemBasicDatarepository,
|
||||||
|
IWebHostEnvironment hostEnvironment,
|
||||||
IRepository<User> userRepository,
|
IRepository<User> userRepository,
|
||||||
ITokenService tokenService,
|
ITokenService tokenService,
|
||||||
IRepository<Trial> trialRepository,
|
IRepository<Trial> trialRepository,
|
||||||
|
|
@ -69,7 +72,9 @@ namespace IRaCIS.Application.Services
|
||||||
_verificationCodeRepository = verificationCodeRepository;
|
_verificationCodeRepository = verificationCodeRepository;
|
||||||
_systemBasicDatarepository = systemBasicDatarepository;
|
_systemBasicDatarepository = systemBasicDatarepository;
|
||||||
|
|
||||||
|
_hostEnvironment = hostEnvironment;
|
||||||
|
|
||||||
|
_mapper = mapper;
|
||||||
|
|
||||||
_tokenService = tokenService;
|
_tokenService = tokenService;
|
||||||
_userRepository = userRepository;
|
_userRepository = userRepository;
|
||||||
|
|
|
||||||
|
|
@ -421,7 +421,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
sendEmailConfig.HtmlBodyStr = htmlBodyStr.Replace(EmailNamePlaceholder, string.Join(isEn_us ? ", " : "、", toUserList.Select(t => t.FullName).ToList()));
|
sendEmailConfig.HtmlBodyStr = htmlBodyStr.Replace(EmailNamePlaceholder, string.Join(isEn_us ? ", " : "、", toUserList.Select(t => t.FullName).ToList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (toUserList.Count == 0)
|
if (toUserList.Count() == 0)
|
||||||
{
|
{
|
||||||
//---没有收件人,无法发送邮件
|
//---没有收件人,无法发送邮件
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialEmailN_NoRecipient"]);
|
throw new BusinessValidationFailedException(_localizer["TrialEmailN_NoRecipient"]);
|
||||||
|
|
@ -542,7 +542,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
sendEmailConfig.HtmlBodyStr = htmlBodyStr.Replace(EmailNamePlaceholder, string.Join(isEn_us ? ", " : "、", toUserList.Select(t => t.FullName).ToList()));
|
sendEmailConfig.HtmlBodyStr = htmlBodyStr.Replace(EmailNamePlaceholder, string.Join(isEn_us ? ", " : "、", toUserList.Select(t => t.FullName).ToList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (toUserList.Count == 0)
|
if (toUserList.Count() == 0)
|
||||||
{
|
{
|
||||||
//---没有收件人,无法发送邮件
|
//---没有收件人,无法发送邮件
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialEmailN_NoRecipient"]);
|
throw new BusinessValidationFailedException(_localizer["TrialEmailN_NoRecipient"]);
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
//自动发送
|
//自动发送
|
||||||
if (sendEmailConfig != null && trialEmailConfig !=null)
|
if (sendEmailConfig != null)
|
||||||
{
|
{
|
||||||
#region 不同标准 不同项目配置 发送邮件的时机 处理具体逻辑
|
#region 不同标准 不同项目配置 发送邮件的时机 处理具体逻辑
|
||||||
|
|
||||||
|
|
@ -470,7 +470,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//双人 产生裁判,并且裁判完成 发
|
//双人 产生裁判,并且裁判完成 发
|
||||||
else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1)
|
else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1)
|
||||||
{
|
{
|
||||||
var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First()!.JudgeResultTaskId!.Value;
|
var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().JudgeResultTaskId.Value;
|
||||||
answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Visit, taskInfo.CriterionType);
|
answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Visit, taskInfo.CriterionType);
|
||||||
|
|
||||||
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Select(t => t.Id).ToList(), minUserIdList);
|
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Select(t => t.Id).ToList(), minUserIdList);
|
||||||
|
|
@ -516,7 +516,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Global).Count() == 2)
|
else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Global).Count() == 2)
|
||||||
{
|
{
|
||||||
|
|
||||||
var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().JudgeResultTaskId!.Value;
|
var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().JudgeResultTaskId.Value;
|
||||||
answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Global, taskInfo.CriterionType);
|
answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Global, taskInfo.CriterionType);
|
||||||
|
|
||||||
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Select(t => t.Id).ToList(), minUserIdList);
|
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Select(t => t.Id).ToList(), minUserIdList);
|
||||||
|
|
@ -961,7 +961,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Visit);
|
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Visit);
|
||||||
|
|
||||||
var filePath = await BaseBusinessScenarioSendEmailAsync(task!.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
var filePath = await BaseBusinessScenarioSendEmailAsync(task.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
||||||
|
|
||||||
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
||||||
}
|
}
|
||||||
|
|
@ -970,7 +970,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Judge);
|
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Judge);
|
||||||
|
|
||||||
var filePath = await BaseBusinessScenarioSendEmailAsync(task!.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
var filePath = await BaseBusinessScenarioSendEmailAsync(task.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
||||||
|
|
||||||
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
||||||
}
|
}
|
||||||
|
|
@ -1007,7 +1007,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Global);
|
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Global);
|
||||||
|
|
||||||
var filePath = await BaseBusinessScenarioSendEmailAsync(task!.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
var filePath = await BaseBusinessScenarioSendEmailAsync(task.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
||||||
|
|
||||||
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
||||||
}
|
}
|
||||||
|
|
@ -1016,7 +1016,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Judge);
|
var task = taskList.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Judge);
|
||||||
|
|
||||||
var filePath = await BaseBusinessScenarioSendEmailAsync(task!.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
var filePath = await BaseBusinessScenarioSendEmailAsync(task.Id, true, EmailStoreSendMode.OnlyStoreLocalNotSentEmail, string.Empty);
|
||||||
|
|
||||||
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
return ResponseOutput.Ok(new { RelativePath = filePath, TaskName = task.TaskName, VisitTaskId = task.Id });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
private readonly IRepository<Dictionary> _dictionaryRepository;
|
private readonly IRepository<Dictionary> _dictionaryRepository;
|
||||||
private readonly IEasyCachingProvider _provider;
|
private readonly IEasyCachingProvider _provider;
|
||||||
|
|
||||||
|
private readonly IWebHostEnvironment _hostEnvironment;
|
||||||
|
|
||||||
private readonly IDistributedLockProvider _distributedLockProvider;
|
private readonly IDistributedLockProvider _distributedLockProvider;
|
||||||
|
|
||||||
|
|
@ -30,10 +31,12 @@ namespace IRaCIS.Core.Application.Services
|
||||||
public DicomArchiveService(IRepository<DicomStudy> studyRepository,
|
public DicomArchiveService(IRepository<DicomStudy> studyRepository,
|
||||||
IRepository<DicomSeries> seriesRepository,
|
IRepository<DicomSeries> seriesRepository,
|
||||||
IRepository<DicomInstance> instanceRepository,
|
IRepository<DicomInstance> instanceRepository,
|
||||||
|
IWebHostEnvironment hostEnvironment,
|
||||||
IRepository<Dictionary> dictionaryRepository,
|
IRepository<Dictionary> dictionaryRepository,
|
||||||
IEasyCachingProvider provider, IDistributedLockProvider distributedLockProvider)
|
IEasyCachingProvider provider, IDistributedLockProvider distributedLockProvider)
|
||||||
{
|
{
|
||||||
_distributedLockProvider = distributedLockProvider;
|
_distributedLockProvider = distributedLockProvider;
|
||||||
|
_hostEnvironment = hostEnvironment;
|
||||||
_studyRepository = studyRepository;
|
_studyRepository = studyRepository;
|
||||||
|
|
||||||
_seriesRepository = seriesRepository;
|
_seriesRepository = seriesRepository;
|
||||||
|
|
|
||||||
|
|
@ -723,7 +723,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
{
|
{
|
||||||
|
|
||||||
// $"当前访视检查时间{waitUploadItem.StudyDate?.ToString("yyyy-MM-dd")}不能早于前序访视检查时间{before?.ToString("yyyy-MM-dd")},请核对检查数据是否有误",
|
// $"当前访视检查时间{waitUploadItem.StudyDate?.ToString("yyyy-MM-dd")}不能早于前序访视检查时间{before?.ToString("yyyy-MM-dd")},请核对检查数据是否有误",
|
||||||
result.Add(new VerifyStudyUploadResult() { ErrorMesseage = _localizer["Study_VisitBeforePrevError", waitUploadItem.StudyDate?.ToString("yyyy-MM-dd")!, before?.ToString("yyyy-MM-dd")!], StudyInstanceUid = waitUploadItem.StudyInstanceUid });
|
result.Add(new VerifyStudyUploadResult() { ErrorMesseage = _localizer["Study_VisitBeforePrevError", waitUploadItem.StudyDate?.ToString("yyyy-MM-dd"), before?.ToString("yyyy-MM-dd")], StudyInstanceUid = waitUploadItem.StudyInstanceUid });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -733,7 +733,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
if (after != null && waitUploadItem.StudyDate != null && after < waitUploadItem.StudyDate)
|
if (after != null && waitUploadItem.StudyDate != null && after < waitUploadItem.StudyDate)
|
||||||
{
|
{
|
||||||
// $"当前访视检查时间{waitUploadItem.StudyDate?.ToString("yyyy-MM-dd")}不能晚于该访视之后的检查时间{after?.ToString("yyyy-MM-dd")},请核对检查数据是否有误"
|
// $"当前访视检查时间{waitUploadItem.StudyDate?.ToString("yyyy-MM-dd")}不能晚于该访视之后的检查时间{after?.ToString("yyyy-MM-dd")},请核对检查数据是否有误"
|
||||||
result.Add(new VerifyStudyUploadResult() { ErrorMesseage = _localizer["Study_VisitAfterSubseqError", waitUploadItem.StudyDate?.ToString("yyyy-MM-dd")!, after?.ToString("yyyy-MM-dd")!], StudyInstanceUid = waitUploadItem.StudyInstanceUid });
|
result.Add(new VerifyStudyUploadResult() { ErrorMesseage = _localizer["Study_VisitAfterSubseqError", waitUploadItem.StudyDate?.ToString("yyyy-MM-dd"), after?.ToString("yyyy-MM-dd")], StudyInstanceUid = waitUploadItem.StudyInstanceUid });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//找到上一条Id
|
//找到上一条Id
|
||||||
|
|
||||||
|
|
||||||
var currentInspection = await _dataInspectionRepository.Where(t => t.Id == id).Select(t => new { t.GeneralId, t.ObjectRelationParentId, t.CreateTime }).FirstNotNullAsync();
|
var currentInspection = await _dataInspectionRepository.Where(t => t.Id == id).Select(t => new { t.GeneralId, t.ObjectRelationParentId, t.CreateTime }).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var beforeId = await _dataInspectionRepository.Where(x => x.GeneralId == currentInspection.GeneralId && x.CreateTime <= currentInspection.CreateTime && x.Id != id).OrderByDescending(x => x.CreateTime).Select(t => t.Id)
|
var beforeId = await _dataInspectionRepository.Where(x => x.GeneralId == currentInspection.GeneralId && x.CreateTime <= currentInspection.CreateTime && x.Id != id).OrderByDescending(x => x.CreateTime).Select(t => t.Id)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
|
|
@ -214,11 +214,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 翻译稽查数据
|
/// 翻译稽查数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dto"></param>
|
/// <param name="dto">传入Dto</param>
|
||||||
/// <param name="currentInspectionId"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private async Task<List<string>> SetInspectionEnumValueDataList(SetInspectionEnumValueDto dto, Guid currentInspectionId)
|
private async Task<List<string>> SetInspectionEnumValueDataList(SetInspectionEnumValueDto dto, Guid currentInspectionId)
|
||||||
{
|
{
|
||||||
|
|
@ -241,7 +241,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var listIdentification = auditDatas.Select(x => x.Identification).Distinct().ToList();
|
var listIdentification = auditDatas.Select(x => x.Identification).Distinct().ToList();
|
||||||
foreach (var item in auditDatas)
|
foreach (var item in auditDatas)
|
||||||
{
|
{
|
||||||
Dictionary<string, object> jsonDict = (JsonConvert.DeserializeObject<Dictionary<string, object>>(item.JsonStr)).IfNullThrowException();
|
Dictionary<string, object> jsonDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(item.JsonStr);
|
||||||
|
|
||||||
if (!jsonDict.ContainsKey(nameof(InspectionJsonDetail.CommonData)))
|
if (!jsonDict.ContainsKey(nameof(InspectionJsonDetail.CommonData)))
|
||||||
{
|
{
|
||||||
|
|
@ -366,7 +366,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
resultJsonStrList.Add(auditData?.JsonStr);
|
resultJsonStrList.Add(auditData?.JsonStr);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (resultJsonStrList.Count < 2)
|
if (resultJsonStrList.Count() < 2)
|
||||||
{
|
{
|
||||||
resultJsonStrList.Add(String.Empty);
|
resultJsonStrList.Add(String.Empty);
|
||||||
}
|
}
|
||||||
|
|
@ -386,7 +386,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
if (relationParentInspection != null)
|
if (relationParentInspection != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
Dictionary<string, object> jsonDic = (JsonConvert.DeserializeObject<Dictionary<string, object>>(relationParentInspection.JsonDetail)).IfNullThrowConvertException();
|
Dictionary<string, object> jsonDic = JsonConvert.DeserializeObject<Dictionary<string, object>>(relationParentInspection.JsonDetail);
|
||||||
|
|
||||||
|
|
||||||
//避免对象信息记录 把 Data里面的信息也取过去 但是加上稽查对象的前缀
|
//避免对象信息记录 把 Data里面的信息也取过去 但是加上稽查对象的前缀
|
||||||
|
|
@ -539,7 +539,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
var jsonDataValueDic = (JsonConvert.DeserializeObject<IDictionary<string, object>>(jsonStr)).IfNullThrowConvertException();
|
var jsonDataValueDic = JsonConvert.DeserializeObject<IDictionary<string, object>>(jsonStr);
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
if (!jsonDataValueDic.ContainsKey(item.Key))
|
if (!jsonDataValueDic.ContainsKey(item.Key))
|
||||||
|
|
@ -881,7 +881,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
DateType = child.DateType,
|
DateType = child.DateType,
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
var JsonData = (JsonConvert.DeserializeObject<IDictionary<string, object>>(Data.JsonDetail)).IfNullThrowException();
|
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(Data.JsonDetail);
|
||||||
|
|
||||||
foreach (var item in JsonData.Keys)
|
foreach (var item in JsonData.Keys)
|
||||||
{
|
{
|
||||||
|
|
@ -892,12 +892,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
if (datefirst.DateType == FrontAuditDateType.Date.GetDescription())
|
if (datefirst.DateType == FrontAuditDateType.Date.GetDescription())
|
||||||
{
|
{
|
||||||
JsonData[item] = DateTime.Parse(JsonData[item].ToString()!).ToString("yyyy-MM-dd");
|
JsonData[item] = DateTime.Parse(JsonData[item].ToString()).ToString("yyyy-MM-dd");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (datefirst.DateType == FrontAuditDateType.DateTime.GetDescription())
|
if (datefirst.DateType == FrontAuditDateType.DateTime.GetDescription())
|
||||||
{
|
{
|
||||||
JsonData[item] = DateTime.Parse(JsonData[item].ToString()!).ToString("yyyy-MM-dd HH:mm:ss");
|
JsonData[item] = DateTime.Parse(JsonData[item].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
{
|
{
|
||||||
//_repository.GetQueryable.GetQueryable < DataInspection >
|
//_repository.GetQueryable.GetQueryable < DataInspection >
|
||||||
|
|
||||||
var trialData = await _repository.GetQueryable<Trial>().Where(x => x.Id == dto.TrialId).AsNoTracking().FirstNotNullAsync();
|
var trialData = await _repository.GetQueryable<Trial>().Where(x => x.Id == dto.TrialId).AsNoTracking().FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
trialData.TrialFinishTime = trialData.TrialFinishTime == null ? DateTime.Now : trialData.TrialFinishTime;
|
trialData.TrialFinishTime = trialData.TrialFinishTime == null ? DateTime.Now : trialData.TrialFinishTime;
|
||||||
|
|
@ -84,9 +84,9 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
data.Identification.ToLower()
|
data.Identification.ToLower()
|
||||||
equals
|
equals
|
||||||
leftfrontAuditConfig.Identification.ToLower()
|
leftfrontAuditConfig.Identification.ToLower()
|
||||||
join moduleTypec in _repository.GetQueryable<Dictionary>() on new { ModuleType = leftfrontAuditConfig.ModuleTypeId!.Value } equals new { ModuleType = moduleTypec.Id } into moduleTypectemp
|
join moduleTypec in _repository.GetQueryable<Dictionary>() on new { ModuleType = leftfrontAuditConfig.ModuleTypeId.Value } equals new { ModuleType = moduleTypec.Id } into moduleTypectemp
|
||||||
from leftmoduleTypec in moduleTypectemp.DefaultIfEmpty()
|
from leftmoduleTypec in moduleTypectemp.DefaultIfEmpty()
|
||||||
join OptTypec in _repository.GetQueryable<Dictionary>() on new { ModuleType = leftfrontAuditConfig.OptTypeId!.Value } equals new { ModuleType = OptTypec.Id } into optTypetemp
|
join OptTypec in _repository.GetQueryable<Dictionary>() on new { ModuleType = leftfrontAuditConfig.OptTypeId.Value } equals new { ModuleType = OptTypec.Id } into optTypetemp
|
||||||
from leftOptType in optTypetemp.DefaultIfEmpty()
|
from leftOptType in optTypetemp.DefaultIfEmpty()
|
||||||
|
|
||||||
select new GetDataInspectionOutDto()
|
select new GetDataInspectionOutDto()
|
||||||
|
|
|
||||||
|
|
@ -699,8 +699,8 @@ namespace IRaCIS.Application.Services
|
||||||
.WhereIf(inQuery.OptType != null, t => t.OptType == inQuery.OptType)
|
.WhereIf(inQuery.OptType != null, t => t.OptType == inQuery.OptType)
|
||||||
.WhereIf(inQuery.BeginDate != null, t => t.CreateTime >= inQuery.BeginDate)
|
.WhereIf(inQuery.BeginDate != null, t => t.CreateTime >= inQuery.BeginDate)
|
||||||
.WhereIf(inQuery.EndDate != null, t => t.CreateTime <= inQuery.EndDate)
|
.WhereIf(inQuery.EndDate != null, t => t.CreateTime <= inQuery.EndDate)
|
||||||
.WhereIf(!string.IsNullOrEmpty(inQuery.LoginFaildName), t => t.LoginFaildName.Contains(inQuery.LoginFaildName!))
|
.WhereIf(!string.IsNullOrEmpty(inQuery.LoginFaildName), t => t.LoginFaildName.Contains(inQuery.LoginFaildName))
|
||||||
.WhereIf(!string.IsNullOrEmpty(inQuery.IP), t => t.IP.Contains(inQuery.IP!))
|
.WhereIf(!string.IsNullOrEmpty(inQuery.IP), t => t.IP.Contains(inQuery.IP))
|
||||||
.ProjectTo<UserLogView>(_mapper.ConfigurationProvider);
|
.ProjectTo<UserLogView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
var pageList = await userLogQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? "Id" : inQuery.SortField, inQuery.Asc);
|
var pageList = await userLogQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? "Id" : inQuery.SortField, inQuery.Asc);
|
||||||
|
|
|
||||||
|
|
@ -891,7 +891,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
if (nextIQCQuality.VisitId != null)
|
if (nextIQCQuality.VisitId != null)
|
||||||
{
|
{
|
||||||
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync();
|
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstOrDefaultAsync();
|
||||||
if (!visit.IsTake)
|
if (!visit.IsTake)
|
||||||
{
|
{
|
||||||
await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
|
await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
|
||||||
|
|
|
||||||
|
|
@ -169,8 +169,6 @@ namespace IRaCIS.Core.Application.Service
|
||||||
/// <param name="item"></param>
|
/// <param name="item"></param>
|
||||||
/// <param name="questions"></param>
|
/// <param name="questions"></param>
|
||||||
/// <param name="tableQuestions"></param>
|
/// <param name="tableQuestions"></param>
|
||||||
/// <param name="answers"></param>
|
|
||||||
/// <param name="tableAnswers"></param>
|
|
||||||
public void FindChildQuestion(ClinicalQuestionPreviewDto item, List<ClinicalQuestionPreviewDto> questions, List<ClinicalTablePreviewDto> tableQuestions,List<ClinicalFormQuestionAnswer> answers, List<ClinicalFormTableQuestionAnswer> tableAnswers)
|
public void FindChildQuestion(ClinicalQuestionPreviewDto item, List<ClinicalQuestionPreviewDto> questions, List<ClinicalTablePreviewDto> tableQuestions,List<ClinicalFormQuestionAnswer> answers, List<ClinicalFormTableQuestionAnswer> tableAnswers)
|
||||||
{
|
{
|
||||||
item.Childrens = questions.Where(x => (x.ParentId == item.Id)||(x.GroupId== item.Id&&x.ParentId==null)).OrderBy(x => x.ShowOrder).ToList();
|
item.Childrens = questions.Where(x => (x.ParentId == item.Id)||(x.GroupId== item.Id&&x.ParentId==null)).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ namespace IRaCIS.Application.Services
|
||||||
entity.ReadingClinicalDataState = ReadingClinicalDataStatus.HaveUploaded;
|
entity.ReadingClinicalDataState = ReadingClinicalDataStatus.HaveUploaded;
|
||||||
entity.IsBlind = null;
|
entity.IsBlind = null;
|
||||||
entity.IsComplete = null;
|
entity.IsComplete = null;
|
||||||
entity.FileCount = entity.ReadingClinicalDataPDFList.Count;
|
entity.FileCount = entity.ReadingClinicalDataPDFList.Count();
|
||||||
await _readingClinicalDataRepository.AddAsync(entity, true);
|
await _readingClinicalDataRepository.AddAsync(entity, true);
|
||||||
var success = await _readingClinicalDataRepository.SaveChangesAsync();
|
var success = await _readingClinicalDataRepository.SaveChangesAsync();
|
||||||
return ResponseOutput.Ok(entity.Id);
|
return ResponseOutput.Ok(entity.Id);
|
||||||
|
|
@ -511,7 +511,7 @@ namespace IRaCIS.Application.Services
|
||||||
inDto.UploadRole = UploadRole.PM;
|
inDto.UploadRole = UploadRole.PM;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReadModule? readModule = null;
|
ReadModule readModule = null;
|
||||||
if (inDto.IsVisit == false)
|
if (inDto.IsVisit == false)
|
||||||
{
|
{
|
||||||
readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync();
|
readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync();
|
||||||
|
|
@ -536,7 +536,7 @@ namespace IRaCIS.Application.Services
|
||||||
.WhereIf(inDto.IsVisit && inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
|
.WhereIf(inDto.IsVisit && inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
|
||||||
.WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
|
.WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
|
||||||
.WhereIf(!inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
|
.WhereIf(!inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
|
||||||
.WhereIf(readModule != null, x => x.ClinicalDataLevel == keyValuePairs[readModule!.ModuleType])
|
.WhereIf(readModule != null, x => x.ClinicalDataLevel == keyValuePairs[readModule.ModuleType])
|
||||||
.WhereIf(inDto.TrialReadingCriterionId!=null,x=>x.TrialClinicalDataSetCriteriaList.Any(y=>y.TrialReadingCriterionId== inDto.TrialReadingCriterionId))
|
.WhereIf(inDto.TrialReadingCriterionId!=null,x=>x.TrialClinicalDataSetCriteriaList.Any(y=>y.TrialReadingCriterionId== inDto.TrialReadingCriterionId))
|
||||||
//.WhereIf(criterion!=null,x=>x.CriterionEnumListStr.Contains($"|{(int)criterion.CriterionType}|"))
|
//.WhereIf(criterion!=null,x=>x.CriterionEnumListStr.Contains($"|{(int)criterion.CriterionType}|"))
|
||||||
.Select(x => new GetTrialClinicalDataSelectOutDto()
|
.Select(x => new GetTrialClinicalDataSelectOutDto()
|
||||||
|
|
@ -658,7 +658,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
return (result, new
|
return (result, new
|
||||||
{
|
{
|
||||||
IsCanAddClinicalData = clinicalDataList.Count > 0,
|
IsCanAddClinicalData = clinicalDataList.Count() > 0,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -717,7 +717,7 @@ namespace IRaCIS.Application.Services
|
||||||
CheckDate = y.CheckDate,
|
CheckDate = y.CheckDate,
|
||||||
ClinicalFormId = y.Id
|
ClinicalFormId = y.Id
|
||||||
}).ToList();
|
}).ToList();
|
||||||
x.FileCount = x.ClinicalFromList.Count;
|
x.FileCount = x.ClinicalFromList.Count();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -891,7 +891,7 @@ namespace IRaCIS.Application.Services
|
||||||
CheckDate = y.CheckDate,
|
CheckDate = y.CheckDate,
|
||||||
ClinicalFormId = y.Id
|
ClinicalFormId = y.Id
|
||||||
}).ToList();
|
}).ToList();
|
||||||
x.FileCount = x.ClinicalFromList.Count;
|
x.FileCount = x.ClinicalFromList.Count();
|
||||||
});
|
});
|
||||||
|
|
||||||
// 这里处理CRC上传 阅片期的临床数据
|
// 这里处理CRC上传 阅片期的临床数据
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.WhereIf(inDto.CriterionTypeEnum != null, x => x.CriterionTypeEnum==inDto.CriterionTypeEnum)
|
.WhereIf(inDto.CriterionTypeEnum != null, x => x.CriterionTypeEnum==inDto.CriterionTypeEnum)
|
||||||
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.CriterionTypeEnum== criterionEnum || x.IsGeneral==true)
|
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.CriterionTypeEnum== criterionEnum || x.IsGeneral==true)
|
||||||
.WhereIf(inDto.IsGeneral != null, x => x.IsGeneral == inDto.IsGeneral)
|
.WhereIf(inDto.IsGeneral != null, x => x.IsGeneral == inDto.IsGeneral)
|
||||||
.WhereIf(inDto.LanguageType != null, x => x.LanguageType == inDto.LanguageType!.Value)
|
.WhereIf(inDto.LanguageType != null, x => x.LanguageType == inDto.LanguageType.Value)
|
||||||
.ProjectTo<ReadingMedicineSystemQuestionView>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder);
|
.ProjectTo<ReadingMedicineSystemQuestionView>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder);
|
||||||
|
|
||||||
return await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, new string[2] { "LanguageType desc", "ShowOrder asc" });
|
return await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, new string[2] { "LanguageType desc", "ShowOrder asc" });
|
||||||
|
|
|
||||||
|
|
@ -368,6 +368,7 @@ namespace IRaCIS.Application.Services
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增修改系统表格问题
|
/// 新增修改系统表格问题
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <param name="addOrEditReadingTableQuestionSystem"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput> AddOrUpdateReadingTableQuestionSystem(ReadingTableQuestionSystemAddOrEdit addOrEditReadingTableQuestionSystem)
|
public async Task<IResponseOutput> AddOrUpdateReadingTableQuestionSystem(ReadingTableQuestionSystemAddOrEdit addOrEditReadingTableQuestionSystem)
|
||||||
|
|
@ -480,12 +481,11 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证计算关系
|
/// 验证计算关系
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="relationList"></param>
|
/// <param name="relationList"></param>
|
||||||
/// <param name="QuestionId"></param>
|
/// <param name="QuestionId"></param>
|
||||||
/// <param name="originalId"></param>
|
/// <param name="originalId"></param>
|
||||||
/// <param name="count"></param>
|
|
||||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||||
private void VerifyCalculateRelation(List<CalculateRelationDto> relationList,Guid QuestionId,Guid originalId,int count=1)
|
private void VerifyCalculateRelation(List<CalculateRelationDto> relationList,Guid QuestionId,Guid originalId,int count=1)
|
||||||
{
|
{
|
||||||
|
|
@ -877,7 +877,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
var question = x.Clone();
|
var question = x.Clone();
|
||||||
question.ReadingQuestionCriterionSystemId = inDto.ToSystemCriterionId;
|
question.ReadingQuestionCriterionSystemId = inDto.ToSystemCriterionId;
|
||||||
question.Id = questionRelation[question.Id!.Value];
|
question.Id = questionRelation[question.Id.Value];
|
||||||
if (question.ParentId != null)
|
if (question.ParentId != null)
|
||||||
{
|
{
|
||||||
question.ParentId = questionRelation[question.ParentId ?? default(Guid)];
|
question.ParentId = questionRelation[question.ParentId ?? default(Guid)];
|
||||||
|
|
|
||||||
|
|
@ -722,8 +722,6 @@ namespace IRaCIS.Application.Services
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="trialReadingCriterionId"></param>
|
/// <param name="trialReadingCriterionId"></param>
|
||||||
/// <param name="visitTaskId"></param>
|
/// <param name="visitTaskId"></param>
|
||||||
/// <param name="questionClassify"></param>
|
|
||||||
/// <param name="groupClassifyList"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[NonDynamicMethod]
|
[NonDynamicMethod]
|
||||||
public async Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId)
|
public async Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId)
|
||||||
|
|
@ -1113,7 +1111,7 @@ namespace IRaCIS.Application.Services
|
||||||
var firstData = newPageQusetionList.FirstOrDefault();
|
var firstData = newPageQusetionList.FirstOrDefault();
|
||||||
var page = new TrialReadQuestionData()
|
var page = new TrialReadQuestionData()
|
||||||
{
|
{
|
||||||
PageName = firstData!.PageName,
|
PageName = firstData.PageName,
|
||||||
IsPage = true,
|
IsPage = true,
|
||||||
IsPublicPage = firstData.IsPublicPage,
|
IsPublicPage = firstData.IsPublicPage,
|
||||||
};
|
};
|
||||||
|
|
@ -1128,8 +1126,8 @@ namespace IRaCIS.Application.Services
|
||||||
groupList.Add(page);
|
groupList.Add(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
result.PublicPage = groupList.Where(x => x.IsPublicPage!.Value).ToList();
|
result.PublicPage = groupList.Where(x => x.IsPublicPage.Value).ToList();
|
||||||
result.MultiPage = groupList.Where(x => !x.IsPublicPage!.Value).ToList();
|
result.MultiPage = groupList.Where(x => !x.IsPublicPage.Value).ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -1153,19 +1151,12 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取子元素
|
/// 获取子元素
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="item"></param>
|
/// <param name="item"></param>
|
||||||
/// <param name="questionlists"></param>
|
/// <param name="questionlists"></param>
|
||||||
/// <param name="tableQuestionLists"></param>
|
/// <param name="tableQuestionLists"></param>
|
||||||
/// <param name="tableAnswers"></param>
|
private async void FindChildQuestion(TrialReadQuestionData item, List<TrialReadQuestionData> questionlists, List<TableQuestionTrial> tableQuestionLists, List<ReadingTableQuestionAnswerInfo> tableAnswers, List<TableAnsweRowInfo> tableAnsweRowInfos, List<OrganInfo> organInfos, List<ReadingTableQuestionAnswer> baseLineTableAnswer, bool isFirstChangeTask, List<ReadingTableQuestionAnswer> lastTaskTableAnswer, Guid? TaskId)
|
||||||
/// <param name="tableAnsweRowInfos"></param>
|
|
||||||
/// <param name="organInfos"></param>
|
|
||||||
/// <param name="baseLineTableAnswer"></param>
|
|
||||||
/// <param name="isFirstChangeTask"></param>
|
|
||||||
/// <param name="lastTaskTableAnswer"></param>
|
|
||||||
/// <param name="TaskId"></param>
|
|
||||||
private async void FindChildQuestion(TrialReadQuestionData item, List<TrialReadQuestionData> questionlists, List<TableQuestionTrial> tableQuestionLists, List<ReadingTableQuestionAnswerInfo> tableAnswers, List<TableAnsweRowInfo> tableAnsweRowInfos, List<OrganInfo> organInfos, List<ReadingTableQuestionAnswer> baseLineTableAnswer,bool isFirstChangeTask, List<ReadingTableQuestionAnswer> lastTaskTableAnswer,Guid? TaskId)
|
|
||||||
{
|
{
|
||||||
item.Childrens = questionlists.Where(x => x.ParentId == item.Id || (x.GroupId == item.Id && x.ParentId == null)).ToList();
|
item.Childrens = questionlists.Where(x => x.ParentId == item.Id || (x.GroupId == item.Id && x.ParentId == null)).ToList();
|
||||||
item.TableQuestions = new TrialReadTableQuestion();
|
item.TableQuestions = new TrialReadTableQuestion();
|
||||||
|
|
@ -2300,7 +2291,7 @@ namespace IRaCIS.Application.Services
|
||||||
VisitNum = x.VisitTaskNum,
|
VisitNum = x.VisitTaskNum,
|
||||||
TrialReadingCriterionId = x.TrialReadingCriterionId,
|
TrialReadingCriterionId = x.TrialReadingCriterionId,
|
||||||
|
|
||||||
}).FirstNotNullAsync();
|
}).FirstOrDefaultAsync();
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (inDto.SubjectId != null && trialReadingCriterion.IsReadingTaskViewInOrder)
|
else if (inDto.SubjectId != null && trialReadingCriterion.IsReadingTaskViewInOrder)
|
||||||
|
|
@ -2308,7 +2299,7 @@ namespace IRaCIS.Application.Services
|
||||||
var subjectTaskList = (await _visitTaskService.GetOrderReadingIQueryable(new GetOrderReadingIQueryableInDto()
|
var subjectTaskList = (await _visitTaskService.GetOrderReadingIQueryable(new GetOrderReadingIQueryableInDto()
|
||||||
{
|
{
|
||||||
TrialId = inDto.TrialId,
|
TrialId = inDto.TrialId,
|
||||||
TrialReadingCriterionId = trialReadingCriterionId!.Value,
|
TrialReadingCriterionId = trialReadingCriterionId.Value,
|
||||||
Page = new PageInput()
|
Page = new PageInput()
|
||||||
{
|
{
|
||||||
PageIndex = 1,
|
PageIndex = 1,
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ namespace IRaCIS.Application.Services
|
||||||
var firstData = newPageQusetionList.FirstOrDefault();
|
var firstData = newPageQusetionList.FirstOrDefault();
|
||||||
var page = new GetTrialReadingQuestionOutDto()
|
var page = new GetTrialReadingQuestionOutDto()
|
||||||
{
|
{
|
||||||
PageName = firstData!.PageName,
|
PageName = firstData.PageName,
|
||||||
IsPage = true,
|
IsPage = true,
|
||||||
IsPublicPage = firstData.IsPublicPage,
|
IsPublicPage = firstData.IsPublicPage,
|
||||||
};
|
};
|
||||||
|
|
@ -100,8 +100,8 @@ namespace IRaCIS.Application.Services
|
||||||
groupList.Add(page);
|
groupList.Add(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
result.PublicPage = groupList.Where(x => x.IsPublicPage!.Value).ToList();
|
result.PublicPage = groupList.Where(x => x.IsPublicPage.Value).ToList();
|
||||||
result.MultiPage = groupList.Where(x => !x.IsPublicPage!.Value).ToList();
|
result.MultiPage = groupList.Where(x => !x.IsPublicPage.Value).ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -181,6 +181,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取阅片报告
|
/// 获取阅片报告
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <param name="indto"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<GetReadingReportEvaluationOutDto> GetReadingReportEvaluation(GetReadingReportEvaluationInDto inDto)
|
public async Task<GetReadingReportEvaluationOutDto> GetReadingReportEvaluation(GetReadingReportEvaluationInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto
|
result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto
|
||||||
{
|
{
|
||||||
LesionType = x.Key!.Value,
|
LesionType = x.Key.Value,
|
||||||
Count = x.ToList().Count()
|
Count = x.ToList().Count()
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
@ -1775,7 +1775,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
VisitTaskId = x.VisitTaskId,
|
VisitTaskId = x.VisitTaskId,
|
||||||
Answer = x.Answer,
|
Answer = x.Answer,
|
||||||
QuestionType = x.ReadingQuestionTrial.QuestionType!.Value
|
QuestionType = x.ReadingQuestionTrial.QuestionType.Value
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
compareTaskList.ForEach(y =>
|
compareTaskList.ForEach(y =>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Application.Interfaces;
|
using IRaCIS.Core.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
using IRaCIS.Core.Application.ViewModel;
|
||||||
using Panda.DynamicWebApi.Attributes;
|
using Panda.DynamicWebApi.Attributes;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Application.Interfaces;
|
using IRaCIS.Core.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
using IRaCIS.Core.Application.ViewModel;
|
||||||
using Panda.DynamicWebApi.Attributes;
|
using Panda.DynamicWebApi.Attributes;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Application.Interfaces;
|
using IRaCIS.Core.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
using IRaCIS.Core.Application.ViewModel;
|
||||||
using Panda.DynamicWebApi.Attributes;
|
using Panda.DynamicWebApi.Attributes;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Application.Interfaces;
|
using IRaCIS.Core.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
using IRaCIS.Core.Application.ViewModel;
|
||||||
using Panda.DynamicWebApi.Attributes;
|
using Panda.DynamicWebApi.Attributes;
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ namespace IRaCIS.Core.Application
|
||||||
//正参与的数量
|
//正参与的数量
|
||||||
TrialCount = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
TrialCount = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
||||||
? await _trialRepository.CountAsync()
|
? await _trialRepository.CountAsync()
|
||||||
: await _trialUserRepository.Where(t => t.UserId == _userInfo.Id && t.Trial.IsDeleted == false).CountAsync(),
|
: await _trialUserRepository.Where(t => t.UserId == _userInfo.Id && t.Trial.IsDeleted==false).CountAsync(),
|
||||||
|
|
||||||
DeletedCount = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
DeletedCount = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
||||||
? await _trialRepository.AsQueryable(true).CountAsync(t => t.IsDeleted)
|
? await _trialRepository.AsQueryable(true).CountAsync(t => t.IsDeleted)
|
||||||
|
|
@ -366,7 +366,6 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageClinicalDataToBeDoneDto>>> GetImageClinicalDataToBeDoneList(ImageClinicalDataToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageClinicalDataToBeDoneDto>>> GetImageClinicalDataToBeDoneList(ImageClinicalDataToBeDoneQuery inQuery,
|
||||||
|
|
@ -408,7 +407,6 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageClinicalDataToBeDoneDto>>> GetImageClinicalDataToBeConfirmList(ImageClinicalDataToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageClinicalDataToBeDoneDto>>> GetImageClinicalDataToBeConfirmList(ImageClinicalDataToBeDoneQuery inQuery,
|
||||||
|
|
@ -502,7 +500,6 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageCheckQuestionToBeDoneDto>>> GetImageCheckQuestionToBeDoneList(ImageCheckQuestionToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageCheckQuestionToBeDoneDto>>> GetImageCheckQuestionToBeDoneList(ImageCheckQuestionToBeDoneQuery inQuery,
|
||||||
|
|
@ -543,12 +540,12 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 影像重传 --CRC 待办
|
/// 影像重传 --CRC 待办
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageReUploadToBeDoneDto>>> GetImageReUploadToBeDoneList(ImageReUploadToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageReUploadToBeDoneDto>>> GetImageReUploadToBeDoneList(ImageReUploadToBeDoneQuery inQuery,
|
||||||
|
|
@ -591,11 +588,10 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 加急影像提交 --CRC 待办
|
/// 加急影像提交 --CRC 待办
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageSubmittedToBeDoneDto>>> GetImageSubmittedToBeDoneList(ImageSubmittedToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageSubmittedToBeDoneDto>>> GetImageSubmittedToBeDoneList(ImageSubmittedToBeDoneQuery inQuery,
|
||||||
|
|
@ -651,7 +647,6 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageQualityToBeDoneDto>>> GetImageQualityToBeDoneList(ImageQualityToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageQualityToBeDoneDto>>> GetImageQualityToBeDoneList(ImageQualityToBeDoneQuery inQuery,
|
||||||
|
|
@ -674,7 +669,7 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
//待领取量
|
//待领取量
|
||||||
ToBeClaimedCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Where(u => u.CurrentActionUserId == null && (u.PreliminaryAuditUserId == null || (u.PreliminaryAuditUserId != _userInfo.Id && u.ReviewAuditUserId == null))).Count(),
|
ToBeClaimedCount = t.SubjectVisitList.Where(u => u.CurrentActionUserId == null && (u.PreliminaryAuditUserId == null || (u.PreliminaryAuditUserId != _userInfo.Id && u.ReviewAuditUserId == null))).Count(),
|
||||||
|
|
||||||
//待审核通过,统计从已领取到QC提交之间的 已领取 待审核 审核中 (审核完成 领取人就会清理 所以只用查询当前领取人是自己的就好了)
|
//待审核通过,统计从已领取到QC提交之间的 已领取 待审核 审核中 (审核完成 领取人就会清理 所以只用查询当前领取人是自己的就好了)
|
||||||
ToBeReviewedCount = t.SubjectVisitList.Where(u => u.CurrentActionUserId == _userInfo.Id).Count()
|
ToBeReviewedCount = t.SubjectVisitList.Where(u => u.CurrentActionUserId == _userInfo.Id).Count()
|
||||||
|
|
@ -703,11 +698,10 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// QC 质疑
|
/// QC 质疑
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_subjectVisitRepository"></param>
|
/// <param name="_subjectVisitRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<ImageQuestionToBeDoneDto>>> GetQCImageQuestionToBeDoneList(ImageQuestionToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<ImageQuestionToBeDoneDto>>> GetQCImageQuestionToBeDoneList(ImageQuestionToBeDoneQuery inQuery,
|
||||||
|
|
@ -898,7 +892,7 @@ namespace IRaCIS.Core.Application
|
||||||
/// IR医学反馈
|
/// IR医学反馈
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_taskMedicalReviewRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<MedicalCommentsToBeDoneDto>>> GetIRMedicalCommentsToBeDoneList(MedicalCommentsToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<MedicalCommentsToBeDoneDto>>> GetIRMedicalCommentsToBeDoneList(MedicalCommentsToBeDoneQuery inQuery,
|
||||||
|
|
@ -972,7 +966,7 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_taskMedicalReviewRepository"></param>
|
/// <param name="_taskMedicalReviewRepository"></param>
|
||||||
/// <param name="_trialReadingCriterionRepository"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<MedicalCommentsToBeDoneDto>>> GetMIMMedicalCommentsToBeDoneList(MedicalCommentsToBeDoneQuery inQuery,
|
public async Task<IResponseOutput<PageOutput<MedicalCommentsToBeDoneDto>>> GetMIMMedicalCommentsToBeDoneList(MedicalCommentsToBeDoneQuery inQuery,
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ using IRaCIS.Core.Application.Filter;
|
||||||
using static IRaCIS.Core.Domain.Share.StaticData;
|
using static IRaCIS.Core.Domain.Share.StaticData;
|
||||||
using IRaCIS.Core.Application.Service;
|
using IRaCIS.Core.Application.Service;
|
||||||
using DocumentFormat.OpenXml.Office.CustomUI;
|
using DocumentFormat.OpenXml.Office.CustomUI;
|
||||||
|
using IRaCIS.Core.Application.Service;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application
|
namespace IRaCIS.Core.Application
|
||||||
|
|
@ -104,7 +105,7 @@ namespace IRaCIS.Core.Application
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput> TrialReadingInfoSignVerify(TrialReadingInfoSignInDto inDto)
|
public async Task<IResponseOutput> TrialReadingInfoSignVerify(TrialReadingInfoSignInDto inDto)
|
||||||
{
|
{
|
||||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||||
var existsJudge = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion && x.JudgeType == JudgeTypeEnum.None)
|
var existsJudge = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion && x.JudgeType == JudgeTypeEnum.None)
|
||||||
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
||||||
.WhereIf(trialCriterion.FormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null)
|
.WhereIf(trialCriterion.FormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null)
|
||||||
|
|
@ -144,7 +145,7 @@ namespace IRaCIS.Core.Application
|
||||||
[NonDynamicMethod]
|
[NonDynamicMethod]
|
||||||
public async Task<IResponseOutput> TrialReadingInfoSign(TrialReadingInfoSignInDto inDto)
|
public async Task<IResponseOutput> TrialReadingInfoSign(TrialReadingInfoSignInDto inDto)
|
||||||
{
|
{
|
||||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var existsJudge = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion && x.JudgeType == JudgeTypeEnum.None)
|
var existsJudge = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion && x.JudgeType == JudgeTypeEnum.None)
|
||||||
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
||||||
|
|
@ -436,7 +437,7 @@ namespace IRaCIS.Core.Application
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<(List<TrialJudgeQuestion>, object)> GetTrialReadingJudgeList(GetTrialReadingInfoInDto inDto)
|
public async Task<(List<TrialJudgeQuestion>, object)> GetTrialReadingJudgeList(GetTrialReadingInfoInDto inDto)
|
||||||
{
|
{
|
||||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var judgeQuestionList = await _readingQuestionTrialRepository
|
var judgeQuestionList = await _readingQuestionTrialRepository
|
||||||
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
||||||
|
|
@ -484,7 +485,7 @@ namespace IRaCIS.Core.Application
|
||||||
{
|
{
|
||||||
GetTrialReadingCriterionInfoOutDto result = new GetTrialReadingCriterionInfoOutDto();
|
GetTrialReadingCriterionInfoOutDto result = new GetTrialReadingCriterionInfoOutDto();
|
||||||
result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo<ReadingCriterionPageDto>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
|
result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo<ReadingCriterionPageDto>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||||
result.ReadingInfoSignTime = trialCriterion.ReadingInfoSignTime;
|
result.ReadingInfoSignTime = trialCriterion.ReadingInfoSignTime;
|
||||||
|
|
||||||
result.DigitPlaces = trialCriterion.DigitPlaces;
|
result.DigitPlaces = trialCriterion.DigitPlaces;
|
||||||
|
|
@ -661,7 +662,7 @@ namespace IRaCIS.Core.Application
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showOrderList.Count != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
|
if (showOrderList.Count() != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
|
||||||
{
|
{
|
||||||
//---影像质控审核问题显示序号不能重复。
|
//---影像质控审核问题显示序号不能重复。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_DuplicateAuditQuestionId"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_DuplicateAuditQuestionId"]);
|
||||||
|
|
@ -731,7 +732,7 @@ namespace IRaCIS.Core.Application
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showOrderList.Count != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
|
if (showOrderList.Count() != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
|
||||||
{
|
{
|
||||||
//---影像质控审核问题显示序号不能重复。
|
//---影像质控审核问题显示序号不能重复。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_DuplicateAuditQuestionId"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_DuplicateAuditQuestionId"]);
|
||||||
|
|
|
||||||
|
|
@ -295,7 +295,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
);
|
);
|
||||||
|
|
||||||
//设置为阅片与否 不更改数据库检查 的instance数量 和 SeriesCount 所以这里要实时统计
|
//设置为阅片与否 不更改数据库检查 的instance数量 和 SeriesCount 所以这里要实时统计
|
||||||
t.SeriesCount = t.SeriesList.Count;
|
t.SeriesCount = t.SeriesList.Count();
|
||||||
t.InstanceCount = t.SeriesList.SelectMany(t => t.InstanceList).Count();
|
t.InstanceCount = t.SeriesList.SelectMany(t => t.InstanceList).Count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -370,7 +370,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
{
|
{
|
||||||
item.SeriesInstanceUid = string.Empty;
|
item.SeriesInstanceUid = string.Empty;
|
||||||
|
|
||||||
item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).OrderBy(x => x.ShowOrder).ThenBy(x => x.RowIndex).Select(y => y.InstanceId!.Value).Distinct().ToList();
|
item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).OrderBy(x => x.ShowOrder).ThenBy(x => x.RowIndex).Select(y => y.InstanceId.Value).Distinct().ToList();
|
||||||
|
|
||||||
var tempInstanceList = await _repository.Where<DicomInstance>(t => item.InstanceList.Contains(t.Id)).OrderBy(t => t.InstanceNumber)
|
var tempInstanceList = await _repository.Where<DicomInstance>(t => item.InstanceList.Contains(t.Id)).OrderBy(t => t.InstanceNumber)
|
||||||
.Select(t => new TempInstance
|
.Select(t => new TempInstance
|
||||||
|
|
@ -417,7 +417,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
})
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
item.InstanceCount = item.InstanceList.Count;
|
item.InstanceCount = item.InstanceList.Count();
|
||||||
|
|
||||||
item.Description = "Key Series";
|
item.Description = "Key Series";
|
||||||
|
|
||||||
|
|
@ -425,7 +425,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
ThenBy(s => s.SeriesTime).Select(x => x.Modality).Distinct().ToListAsync(); ;
|
ThenBy(s => s.SeriesTime).Select(x => x.Modality).Distinct().ToListAsync(); ;
|
||||||
item.Modality = string.Join(",", modalityList);
|
item.Modality = string.Join(",", modalityList);
|
||||||
thisVisitTaskStudy.SeriesList.Add(item);
|
thisVisitTaskStudy.SeriesList.Add(item);
|
||||||
thisVisitTaskStudy.SeriesCount = thisVisitTaskStudy.SeriesList.Count;
|
thisVisitTaskStudy.SeriesCount = thisVisitTaskStudy.SeriesList.Count();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -502,12 +502,12 @@ namespace IRaCIS.Core.Application.Services
|
||||||
})
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth;
|
series.WindowWidth = instanceList.FirstOrDefault()?.WindowWidth;
|
||||||
series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter;
|
series.WindowCenter = instanceList.FirstOrDefault()?.WindowCenter;
|
||||||
});
|
});
|
||||||
|
|
||||||
//设置为阅片与否 不更改数据库检查 的instance数量 和 SeriesCount 所以这里要实时统计
|
//设置为阅片与否 不更改数据库检查 的instance数量 和 SeriesCount 所以这里要实时统计
|
||||||
t.SeriesCount = t.SeriesList.Count;
|
t.SeriesCount = t.SeriesList.Count();
|
||||||
t.InstanceCount = t.SeriesList.SelectMany(t => t.InstanceList).Count();
|
t.InstanceCount = t.SeriesList.SelectMany(t => t.InstanceList).Count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -530,7 +530,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
foreach (var item in noDicomStudyList)
|
foreach (var item in noDicomStudyList)
|
||||||
{
|
{
|
||||||
var nodicom = noDicomList.Where(x => x.Id == item.StudyId).First();
|
var nodicom = noDicomList.Where(x => x.Id == item.StudyId).FirstOrDefault();
|
||||||
item.SeriesList = new List<DicomSeriesDTO>()
|
item.SeriesList = new List<DicomSeriesDTO>()
|
||||||
{
|
{
|
||||||
new DicomSeriesDTO (){
|
new DicomSeriesDTO (){
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ namespace IRaCIS.Application.Services
|
||||||
public async Task<IResponseOutput> TestDistributedLock( )
|
public async Task<IResponseOutput> TestDistributedLock( )
|
||||||
{
|
{
|
||||||
|
|
||||||
await _repository.Where<User>().Select(t => t.FullName).FirstNotNullAsync();
|
_repository.Where<User>().Select(t => t.FullName).FirstOrDefault();
|
||||||
|
|
||||||
Console.WriteLine($"我进来了当前值是:" + IntValue);
|
Console.WriteLine($"我进来了当前值是:" + IntValue);
|
||||||
_logger.LogWarning($"我进来了当前值是:" + IntValue);
|
_logger.LogWarning($"我进来了当前值是:" + IntValue);
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,14 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
public class SubjectStateTrigger :BaseService, IAfterSaveTrigger<Subject>
|
public class SubjectStateTrigger :BaseService, IAfterSaveTrigger<Subject>
|
||||||
{
|
{
|
||||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
|
private readonly IRepository _repository;
|
||||||
|
private readonly IMapper _mapper;
|
||||||
|
|
||||||
public SubjectStateTrigger(IRepository<SubjectVisit> subjectVisitRepository)
|
public SubjectStateTrigger(IRepository<SubjectVisit> subjectVisitRepository, IRepository repository, IMapper mapper)
|
||||||
{
|
{
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
|
_repository = repository;
|
||||||
|
_mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AfterSave(ITriggerContext<Subject> context, CancellationToken cancellationToken)
|
public async Task AfterSave(ITriggerContext<Subject> context, CancellationToken cancellationToken)
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
private readonly IRepository<Subject> _subjectRepository;
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
private readonly IVisitTaskHelpeService _ivisitTaskHelpeService;
|
private readonly IVisitTaskHelpeService _ivisitTaskHelpeService;
|
||||||
|
private readonly IRepository _repository;
|
||||||
|
|
||||||
public SubjectVisitFinalVisitTrigger(IRepository<SubjectVisit> subjectVisitRepository,
|
public SubjectVisitFinalVisitTrigger(IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
|
|
||||||
|
|
@ -27,7 +28,7 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
IRepository<VisitTask> visitTaskRepository,
|
IRepository<VisitTask> visitTaskRepository,
|
||||||
IVisitTaskHelpeService visitTaskHelpeService,
|
IVisitTaskHelpeService visitTaskHelpeService,
|
||||||
IRepository<ReadModule> readModuleRepository,
|
IRepository<ReadModule> readModuleRepository,
|
||||||
IRepository<Subject> subjectRepository)
|
IRepository<Subject> subjectRepository, IRepository repository)
|
||||||
{
|
{
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
this._readingPeriodSetRepository = readingPeriodSetRepository;
|
this._readingPeriodSetRepository = readingPeriodSetRepository;
|
||||||
|
|
@ -36,6 +37,7 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
this._readingPeriodPlanRepository = readingPeriodPlanRepository;
|
this._readingPeriodPlanRepository = readingPeriodPlanRepository;
|
||||||
this._readModuleRepository = readModuleRepository;
|
this._readModuleRepository = readModuleRepository;
|
||||||
_subjectRepository = subjectRepository;
|
_subjectRepository = subjectRepository;
|
||||||
|
_repository = repository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AfterSave(ITriggerContext<SubjectVisit> context, CancellationToken cancellationToken)
|
public async Task AfterSave(ITriggerContext<SubjectVisit> context, CancellationToken cancellationToken)
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var subjectVisitId = dbVisitStudyList.First().SubjectVisitId;
|
var subjectVisitId = dbVisitStudyList.FirstOrDefault().SubjectVisitId;
|
||||||
var dbSV = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
var dbSV = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
||||||
|
|
||||||
#region 更换核对的顺序 以Excel 数据为准 注释
|
#region 更换核对的顺序 以Excel 数据为准 注释
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ namespace IRaCIS.Core.Infrastructure.Extention
|
||||||
{
|
{
|
||||||
if(businessObject == null)
|
if(businessObject == null)
|
||||||
{
|
{
|
||||||
throw new QueryBusinessObjectNotExistException($"The query object {typeof(TEntity).Name} is null, Please check ");
|
throw new QueryBusinessObjectNotExistException($"The query object {typeof(TEntity).Name} does not exist in database, Please check the query parameters");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -25,7 +25,7 @@ namespace IRaCIS.Core.Infrastructure.Extention
|
||||||
{
|
{
|
||||||
if (businessStruct == null)
|
if (businessStruct == null)
|
||||||
{
|
{
|
||||||
throw new QueryBusinessObjectNotExistException($"The query object {typeof(TEntity).Name} is null, Please check ");
|
throw new QueryBusinessObjectNotExistException($"The query object {typeof(TEntity).Name} does not exist in database, Please check the query parameters");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -38,7 +38,7 @@ namespace IRaCIS.Core.Infrastructure.Extention
|
||||||
{
|
{
|
||||||
if (businessObject == null)
|
if (businessObject == null)
|
||||||
{
|
{
|
||||||
throw new QueryBusinessObjectNotExistException($" {typeof(TEntity).Name} Type object should not null, Please check ");
|
throw new QueryBusinessObjectNotExistException($" Can not Convert to {typeof(TEntity).Name} Type, Please check parameter");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue