自动计算触发

This commit is contained in:
he
2024-04-11 10:41:13 +08:00
parent f415c03daa
commit 6061cf5d93
7 changed files with 288 additions and 77 deletions
@@ -222,7 +222,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Arm ArmEnum { get; set; }
public ComputationTrigger ComputationTrigger { get; set; } = ComputationTrigger.Lesion;
public ComputationTrigger ComputationTrigger { get; set; }
/// <summary>
/// 是否修改其他任务
@@ -353,7 +353,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public QuestionType QuestionType { get; set; }
public ComputationTrigger? ComputationTrigger { get; set; }
public List<ComputationTrigger> ComputationTriggerList { get; set; }=new List<ComputationTrigger>();
public Func<ReadingCalculateDto, Task<decimal>> GetDecimalFun { get; set; }
@@ -588,8 +588,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public Guid VisitTaskId { get; set; }
public ComputationTrigger ComputationTrigger { get; set; }
public bool UpdateMark { get; set; } = false;
public bool UpdateMark { get; set; } = false;
public List<ChangeDicomReadingQuestionAnswerDto> Answers { get; set; }
@@ -2086,7 +2087,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public Guid QuestionId { get; set; }
public Guid? OrganInfoId { get; set; }
public ComputationTrigger ComputationTrigger { get; set; } = ComputationTrigger.CTSave;
public Guid? OrganInfoId { get; set; }
public int? NumberOfFrames { get; set; }
@@ -1637,7 +1637,7 @@ namespace IRaCIS.Application.Services
{
IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId,
ComputationTrigger = ComputationTrigger.Lesion,
ComputationTrigger = ComputationTrigger.MergeLesion,
});
// 保存完了计算疾病进展
@@ -1746,19 +1746,32 @@ namespace IRaCIS.Application.Services
/// 保存任务问题 带动态稽查参数
/// </summary>
/// <param name="inDto"></param>
/// <param name="param">请求类型</param>
/// <returns></returns>
[Route("/SaveTaskQuestion/{param}")]
[HttpPost]
public async Task<IResponseOutput> SaveTaskQuestion(ChangeDicomReadingQuestionAnswerInDto inDto, string param)
{
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var result = await this.SaveImageQuality(inDto);
// 保存脾尖或者脾底进行计算
if (taskinfo.TrialReadingCriterion.CriterionType == CriterionType.Lugano2014 && (param == "4" || param == "5"))
{
await _luganoCalculateService.SaveSplenicCalculate(inDto.VisitTaskId);
}
try
{
param = param == string.Empty ? "0" : param;
inDto.ComputationTrigger = (ComputationTrigger)int.Parse(param);
}
catch (Exception)
{
}
var result = await this.SaveImageQuality(inDto);
// 自动计算
await this._readingCalculateService.CalculateTask(new CalculateTaskInDto()
{
IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId,
ComputationTrigger = inDto.ComputationTrigger,
});
return result;
}
@@ -2055,7 +2068,7 @@ namespace IRaCIS.Application.Services
{
IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId,
ComputationTrigger=ComputationTrigger.Lesion,
ComputationTrigger=ComputationTrigger.RemoveLesion,
});
@@ -2078,7 +2091,7 @@ namespace IRaCIS.Application.Services
/// <summary>
/// 提交表格问题答案 提交病灶
/// 提交表格问题答案 提交病灶 保存病灶
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
@@ -2453,7 +2466,7 @@ namespace IRaCIS.Application.Services
{
IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId,
ComputationTrigger = ComputationTrigger.Lesion,
ComputationTrigger = inDto.ComputationTrigger,
});
// 保存完了计算疾病进展