IRC_NewDev
he 2023-09-25 17:13:15 +08:00
parent 71d128a325
commit 2f1df92dc3
5 changed files with 98 additions and 10 deletions

View File

@ -1920,6 +1920,20 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.GetSuvMaxFocus(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
SuvMax所在病灶
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.GetSuvMax(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
最大sum
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.GetImgOncology(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
影像学整体肿瘤评估
@ -4204,6 +4218,11 @@
病灶类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionInfo.OrderMark">
<summary>
序号标记
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TableQuestionInfo.Answer">
<summary>
答案
@ -5054,6 +5073,21 @@
MeasureData
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionMarkInfo.OtherInstanceId">
<summary>
InstanceId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionMarkInfo.OtherSeriesId">
<summary>
SeriesId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionMarkInfo.OtherStudyId">
<summary>
StudyId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingQuestionAndAnswerInDto.QuestionClassify">
<summary>
问题分类

View File

@ -1920,21 +1920,21 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public int? NumberOfFrames { get; set; }
public string? FromMark { get; set; }
public string FromMark { get; set; } = string.Empty;
public string? ReportMark { get; set; }
public string ReportMark { get; set; } = string.Empty;
/// <summary>
/// 标记工具
/// </summary>
public string? MarkTool { get; set; }
public string MarkTool { get; set; } = string.Empty;
public decimal RowIndex { get; set; }
public decimal RowIndex { get; set; }
/// <summary>
/// 截图地址
/// </summary>
public string? PicturePath { get; set; }
public string PicturePath { get; set; } = string.Empty;
/// <summary>
/// 任务Id
@ -1946,9 +1946,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public Guid TrialId { get; set; }
public string? MeasureData { get; set; }
public string MeasureData { get; set; } = string.Empty;
public string? OtherMeasureData { get; set; } = string.Empty;
public string? OtherMeasureData { get; set; } = string.Empty;
public Guid? SeriesId { get; set; }
@ -1966,7 +1966,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
}
public bool? IsCanEditPosition { get; set; } = false;
public bool IsCanEditPosition { get; set; } = false;
public decimal FristAddTaskNum { get; set; } = 0;
@ -1974,7 +1974,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public decimal? WL { get; set; }
public string? BlindName { get; set; } = string.Empty;
public string BlindName { get; set; } = string.Empty;
public bool IsDicomReading { get; set; } = true;

View File

@ -2061,7 +2061,7 @@ namespace IRaCIS.Application.Services
else
{
await _readingTableAnswerRowInfoRepository.UpdateFromDTOAsync(inDto) ;
await _readingTableAnswerRowInfoRepository.NotUpdateEmptyAsync(inDto) ;
foreach (var item in inDto.AnswerList)

View File

@ -21,6 +21,18 @@ namespace IRaCIS.Core.Infra.EFCore
Task<TEntity> UpdateFromDTOAsync<TFrom>(TFrom from, bool autoSave = false, bool ignoreDtoNullProperty = true, params EntityVerifyExp<TEntity>[] verify);
/// <summary>
/// 空和Empty不更新
/// </summary>
/// <typeparam name="TFrom"></typeparam>
/// <param name="from"></param>
/// <param name="autoSave"></param>
/// <param name="ignoreDtoNullProperty"></param>
/// <param name="verify"></param>
/// <returns></returns>
Task<TEntity> NotUpdateEmptyAsync<TFrom>(TFrom from, bool autoSave = false, bool ignoreDtoNullProperty = true, params EntityVerifyExp<TEntity>[] verify);
#region EF 跟踪方式删除 (先查询完整实体,再删除)

View File

@ -139,6 +139,48 @@ namespace IRaCIS.Core.Infra.EFCore
}
public async Task<TEntity> NotUpdateEmptyAsync<TFrom>(TFrom from, bool autoSave = false, bool ignoreDtoNullProperty = true, params EntityVerifyExp<TEntity>[] verify)
{
var entity = _mapper.Map<TEntity>(from);
//await EntityVerifyAsync(false, verify, entity.Id);
await _dbContext.EntityVerifyAsync(false, verify, entity.Id);
var dbEntity = await _dbSet.IgnoreQueryFilters().FirstOrDefaultAsync(t => t.Id == entity.Id).ConfigureAwait(false);
if (dbEntity == null)
{
throw new BusinessValidationFailedException(_localizer["Repository_UpdateError"]);
}
var dbBeforEntity = dbEntity.Clone();
_mapper.Map(from, dbEntity);
//为null 或者 string.empty 不更新
if (ignoreDtoNullProperty)
{
var dbEntityProp = typeof(TEntity).GetProperties();
foreach (var propertyInfo in from.GetType().GetProperties())
{
if ((propertyInfo.GetValue(from) == null|| propertyInfo.GetValue(from).ToString()==string.Empty) && dbEntityProp.Any(t => t.Name == propertyInfo.Name))
{
_dbContext.Entry(dbEntity).Property(propertyInfo.Name).IsModified = false;
}
}
}
await SaveChangesAsync(autoSave);
return dbBeforEntity;
}
/// <summary> EF跟踪方式 生成 部分字段更新, 跟踪的实体仅有修改的属性的值有具体意义,没有从数据库查询完整的实体</summary>