|
@@ -266,22 +266,8 @@ namespace WingAIDiagnosisService.Service
|
|
|
//AI实体有很多参数仅支持get,为了方便后续反序列化,db入库前先做个转换
|
|
|
var diagnosisPerImages = results.Select(x => new AIDiagnosisPerImageModel(x.Key, x.Value.ImageDiagResult, 1)).ToList();
|
|
|
var organs = GetDiagnosisOrgans(diagnosisPerImages);
|
|
|
- if (organs.Contains(DiagnosisOrganEnum.Breast))
|
|
|
- {
|
|
|
- var breastCount = diagnosisPerImages.Where(a => a.PriorityScore > 0).Count();
|
|
|
- var totalCount = results.Count;
|
|
|
- var breastRate = breastCount * 1.0 / totalCount * 1.0;
|
|
|
- if (breastRate <= 1 / 3.0)
|
|
|
- {
|
|
|
- return new DiagnosisImageResult
|
|
|
- {
|
|
|
- DiagnosisConclusion = DiagnosisConclusionEnum.Unrecognized,
|
|
|
- DiagnosisResult = null,
|
|
|
- DiagnosisOrgans = new List<DiagnosisOrganEnum>(),
|
|
|
- };
|
|
|
- }
|
|
|
- }
|
|
|
- await AddDiagnosisResultInfosAsync(relationCode, fileUrl, diagnosisPerImages, createTime, upateTime);
|
|
|
+
|
|
|
+ await AddDiagnosisResultInfosAsync(relationCode, fileUrl, diagnosisPerImages, createTime, upateTime, false);
|
|
|
//轮廓线分隔处理
|
|
|
diagnosisPerImages = results.Select(x => new AIDiagnosisPerImageModel(x.Key, x.Value.ImageDiagResult, _contourInterval)).ToList();
|
|
|
var diagnosisResult = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AIDiagnosisPerImageDTO>>(Newtonsoft.Json.JsonConvert.SerializeObject(diagnosisPerImages));
|
|
@@ -1161,7 +1147,8 @@ namespace WingAIDiagnosisService.Service
|
|
|
/// <param name="fileUrl"></param>
|
|
|
/// <param name="diagnosisResultInfos"></param>
|
|
|
/// <returns></returns>
|
|
|
- private async Task<bool> AddDiagnosisResultInfosAsync(string relationCode, string fileUrl, List<AIDiagnosisPerImageModel> diagnosisResultInfos, DateTime? createTime = null, DateTime? updateTime = null)
|
|
|
+ private async Task<bool> AddDiagnosisResultInfosAsync(string relationCode, string fileUrl, List<AIDiagnosisPerImageModel> diagnosisResultInfos
|
|
|
+ , DateTime? createTime = null, DateTime? updateTime = null, bool syncOthers = true)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
@@ -1180,9 +1167,17 @@ namespace WingAIDiagnosisService.Service
|
|
|
FileUrl = fileUrl,
|
|
|
DiagnosisResultInfos = resultInfos,
|
|
|
CreateTime = createTime,
|
|
|
- UpdateTime = updateTime
|
|
|
+ UpdateTime = updateTime,
|
|
|
+ SyncOthers = syncOthers,
|
|
|
};
|
|
|
- _diagnosisResultDBService.AddDiagnosisResultInfosAsync(addRequest);
|
|
|
+ if (syncOthers)
|
|
|
+ {
|
|
|
+ _diagnosisResultDBService.AddDiagnosisResultInfosAsync(addRequest);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ await _diagnosisResultDBService.AddDiagnosisResultInfosAsync(addRequest);
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|