diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index c98dd91ba..a2ccd15b3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -284,7 +284,7 @@ namespace IRaCIS.Application.Services List criterionTypes = (await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync()) .Select(x => ((int)x).ToString()).ToList(); - predicate = x => x.IsConfirm || x.SystemClinicalDataSetId == null; + predicate = x =>x.SystemClinicalDataSetId == null; foreach (var item in criterionTypes) { Expression> typeExpression = x =>x.ClinicalDataSystemSet==null|| x.ClinicalDataSystemSet.CriterionEnumListStr.Contains(item); diff --git a/IRaCIS.Core.Application/Triggers/TableQuestionRowTrigger.cs b/IRaCIS.Core.Application/Triggers/TableQuestionRowTrigger.cs index 0fa72d52d..1d7e49c2a 100644 --- a/IRaCIS.Core.Application/Triggers/TableQuestionRowTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/TableQuestionRowTrigger.cs @@ -1,14 +1,20 @@ using EntityFrameworkCore.Triggered; using IRaCIS.Core.Domain.Share; +using System.Linq.Dynamic.Core; namespace IRaCIS.Core.Application.Triggers { //病灶编号维护 public class TableQuestionRowTrigger : IBeforeSaveTrigger { + private readonly IRepository _readingQuestionTrialRepository; + public TableQuestionRowTrigger(IRepository readingQuestionTrialRepository, IRepository repository) + { + this._readingQuestionTrialRepository = readingQuestionTrialRepository; + } - public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken) + public async Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken) { Dictionary splitLesionDic = new Dictionary() { @@ -40,6 +46,11 @@ namespace IRaCIS.Core.Application.Triggers {26, "z" }, }; + if (context.Entity.OrderMark == string.Empty) + { + context.Entity.OrderMark =await _readingQuestionTrialRepository.Where(x => x.Id == context.Entity.QuestionId).Select(x => x.OrderMark).FirstOrDefaultAsync(); + + } if (context.Entity.RowIndex % 1 == 0) { context.Entity.RowMark = context.Entity.OrderMark + decimal.ToInt32(context.Entity.RowIndex).ToString().PadLeft(2, '0'); @@ -49,7 +60,7 @@ namespace IRaCIS.Core.Application.Triggers context.Entity.RowMark = context.Entity.OrderMark + Math.Floor(context.Entity.RowIndex).ToString().PadLeft(2, '0') + splitLesionDic[decimal.ToInt32((context.Entity.RowIndex % 1) * 100)]; } - return Task.CompletedTask; + //return Task.CompletedTask; } } } \ No newline at end of file