修改稽查
parent
aa20a78ae0
commit
4bdd1d28d9
|
@ -7,6 +7,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public Guid Id { get; set;}
|
public Guid Id { get; set;}
|
||||||
public Guid StudyId { get; set; }
|
public Guid StudyId { get; set; }
|
||||||
public Guid SeriesId { get; set; }
|
public Guid SeriesId { get; set; }
|
||||||
|
|
||||||
|
public int NumberOfFrames { get; set; }
|
||||||
public string StudyInstanceUid { get; set; } = string.Empty;
|
public string StudyInstanceUid { get; set; } = string.Empty;
|
||||||
public string SeriesInstanceUid { get; set; } = string.Empty;
|
public string SeriesInstanceUid { get; set; } = string.Empty;
|
||||||
public string SopInstanceUid { get; set; } = string.Empty;
|
public string SopInstanceUid { get; set; } = string.Empty;
|
||||||
|
|
|
@ -40,13 +40,33 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
var idList = await _instanceRepository.Where(s => s.StudyId == studyId).OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
|
var idList = await _instanceRepository.Where(s => s.StudyId == studyId).OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
|
||||||
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
|
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
|
||||||
.Select(t => new { t.SeriesId, t.Id, t.Path }).ToListAsync();//.GroupBy(u => u.SeriesId);
|
.Select(t => new { t.SeriesId, t.Id, t.Path, t.NumberOfFrames }).ToListAsync();//.GroupBy(u => u.SeriesId);
|
||||||
|
|
||||||
foreach (var item in seriesList)
|
foreach (var item in seriesList)
|
||||||
{
|
{
|
||||||
item.InstanceList = idList.Where(s => s.SeriesId == item.Id).Select(u => u.Id).ToList();
|
item.InstanceList = idList.Where(s => s.SeriesId == item.Id).Select(u => u.Id).ToList();
|
||||||
|
|
||||||
item.InstancePathList = idList.Where(s => s.SeriesId == item.Id).Select(u => u.Path).ToList();
|
//处理多帧
|
||||||
|
item.InstancePathList = idList.Where(s => s.SeriesId == item.Id)
|
||||||
|
.SelectMany(u =>
|
||||||
|
{
|
||||||
|
|
||||||
|
if (u.NumberOfFrames == 1)
|
||||||
|
{
|
||||||
|
return new List<string>{u.Path};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var pathList = new List<string>();
|
||||||
|
|
||||||
|
for (int i = 1; i <= u.NumberOfFrames; i++)
|
||||||
|
{
|
||||||
|
pathList.Add(u.Path+ "?NumberOfFrames="+i);
|
||||||
|
}
|
||||||
|
return pathList;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 暂时废弃
|
#region 暂时废弃
|
||||||
|
|
|
@ -786,7 +786,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var jsonObject = JObject.Parse(arraysItem.ToString());
|
var jsonObject = JObject.Parse(arraysItem.ToString());
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (jsonObject["DictionaryCode"]?.ToString() != string.Empty)
|
if (jsonObject["DictionaryCode"]!=null && jsonObject["DictionaryCode"].ToString() != string.Empty)
|
||||||
{
|
{
|
||||||
|
|
||||||
jsonObject[item.Code]= await _dictionaryRepository.Where(x => x.Code == jsonObject["DictionaryCode"].ToString()).Join(_dictionaryRepository.Where(x => x.Code == jsonObject[item.Code].ToString()), a => a.Id, b => b.ParentId, (a, b) => new
|
jsonObject[item.Code]= await _dictionaryRepository.Where(x => x.Code == jsonObject["DictionaryCode"].ToString()).Join(_dictionaryRepository.Where(x => x.Code == jsonObject[item.Code].ToString()), a => a.Id, b => b.ParentId, (a, b) => new
|
||||||
|
|
|
@ -216,7 +216,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
||||||
|
|
||||||
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
||||||
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path }).ToListAsync();
|
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path,t.NumberOfFrames }).ToListAsync();
|
||||||
|
|
||||||
foreach (var t in studyList)
|
foreach (var t in studyList)
|
||||||
{
|
{
|
||||||
|
@ -230,7 +230,29 @@ namespace IRaCIS.Core.Application.Services
|
||||||
{
|
{
|
||||||
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
||||||
|
|
||||||
series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList();
|
//series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList();
|
||||||
|
|
||||||
|
//处理多帧
|
||||||
|
series.InstancePathList = instanceList.Where(s => s.SeriesId == series.Id)
|
||||||
|
.SelectMany(u =>
|
||||||
|
{
|
||||||
|
|
||||||
|
if (u.NumberOfFrames == 1)
|
||||||
|
{
|
||||||
|
return new List<string> { u.Path };
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var pathList = new List<string>();
|
||||||
|
|
||||||
|
for (int i = 1; i <= u.NumberOfFrames; i++)
|
||||||
|
{
|
||||||
|
pathList.Add(u.Path + "?NumberOfFrames=" + i);
|
||||||
|
}
|
||||||
|
return pathList;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,7 +347,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
||||||
|
|
||||||
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
||||||
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path }).ToListAsync();
|
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path,t.NumberOfFrames }).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -339,7 +361,31 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
t.SeriesList.ForEach(series => {
|
t.SeriesList.ForEach(series => {
|
||||||
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
||||||
series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList();
|
|
||||||
|
|
||||||
|
//series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList();
|
||||||
|
|
||||||
|
//处理多帧
|
||||||
|
series.InstancePathList = instanceList.Where(s => s.SeriesId == series.Id).OrderBy(t => t.InstanceNumber)
|
||||||
|
.SelectMany(u =>
|
||||||
|
{
|
||||||
|
|
||||||
|
if (u.NumberOfFrames == 1)
|
||||||
|
{
|
||||||
|
return new List<string> { u.Path };
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var pathList = new List<string>();
|
||||||
|
|
||||||
|
for (int i = 1; i <= u.NumberOfFrames; i++)
|
||||||
|
{
|
||||||
|
pathList.Add(u.Path + "?NumberOfFrames=" + i);
|
||||||
|
}
|
||||||
|
return pathList;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
});
|
});
|
||||||
|
|
||||||
//设置为阅片与否 不更改数据库检查 的instance数量 和 SeriesCount 所以这里要实时统计
|
//设置为阅片与否 不更改数据库检查 的instance数量 和 SeriesCount 所以这里要实时统计
|
||||||
|
|
|
@ -17,115 +17,20 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[Table("FrontAuditConfig")]
|
[Table("FrontAuditConfig")]
|
||||||
public class FrontAuditConfig : Entity, IAuditUpdate, IAuditAdd
|
public class FrontAuditConfig : Entity, IAuditUpdate, IAuditAdd
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Value
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string Value { get; set; } = String.Empty;
|
public string Value { get; set; } = String.Empty;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ValueCN
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string ValueCN { get; set; } = String.Empty;
|
public string ValueCN { get; set; } = String.Empty;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Description
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string Description { get; set; } = String.Empty;
|
public string Description { get; set; } = String.Empty;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// CreateTime
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// CreateUserId
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public Guid CreateUserId { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// UpdateTime
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public DateTime UpdateTime { get; set; }
|
public DateTime UpdateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// UpdateUserId
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public Guid UpdateUserId { get; set; }
|
public Guid UpdateUserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Code
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string Code { get; set; } = String.Empty;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ParentId
|
|
||||||
/// </summary>
|
|
||||||
public Guid? ParentId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// IsEnable
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public bool IsEnable { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// IsConfig
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public bool IsConfig { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ModuleTypeId
|
|
||||||
/// </summary>
|
|
||||||
public Guid? ModuleTypeId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// OptTypeId
|
|
||||||
/// </summary>
|
|
||||||
public Guid? OptTypeId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ChildrenTypeId
|
|
||||||
/// </summary>
|
|
||||||
public Guid? ChildrenTypeId { get; set; }
|
|
||||||
|
|
||||||
public int IsShowParent { get; set; }
|
|
||||||
|
|
||||||
public string ConfigType { get; set; } = String.Empty;
|
|
||||||
|
|
||||||
public int Sort { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public string DictionaryKey { get; set; }
|
|
||||||
|
|
||||||
public string EnumType { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public Guid? ObjectTypeId { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public bool IsShowByTrialConfig { get; set; }
|
|
||||||
|
|
||||||
public string TrialConfigRelyFieldName { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 标识
|
|
||||||
/// </summary>
|
|
||||||
public string Identification { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否有签名
|
/// 是否有签名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -147,27 +52,69 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public bool IsJoinPlan { get; set; }
|
public bool IsJoinPlan { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据类型
|
/// 标识
|
||||||
|
/// </summary>
|
||||||
|
public string Identification { get; set; }
|
||||||
|
|
||||||
|
public Guid? ParentId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public bool IsEnable { get; set; }
|
||||||
|
|
||||||
|
public int Sort { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public Guid? ModuleTypeId { get; set; }
|
||||||
|
|
||||||
|
public Guid? ObjectTypeId { get; set; }
|
||||||
|
public Guid? OptTypeId { get; set; }
|
||||||
|
|
||||||
|
public Guid? ChildrenTypeId { get; set; }
|
||||||
|
|
||||||
|
public int IsShowParent { get; set; }
|
||||||
|
|
||||||
|
public string InterfaceName { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
//前端使用 C M
|
||||||
|
public string ConfigType { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
//翻译的字段名 这里有可能是一个数组名 那么具体的翻译字段名就不是这个了
|
||||||
|
public string Code { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
//前端渲染数组 数组名 和数组值
|
||||||
|
public string ChildDataLabel { get; set; }
|
||||||
|
public string ChildDataValue { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 翻译的字典名(单个字段翻译的时候)
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public string DictionaryCode { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 前端展示类型 Router, Array,Table
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public string DataType { get; set; }
|
public string DataType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
// 后端翻译的类型 对应前端界面 "",Dictionary,Date
|
||||||
/// 子数据Lable
|
public string EnumType { get; set; }
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string ChildDataLabel { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 子数据Value
|
/// 翻译的类型 FrontAudit 的描述 可能是Id Code
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
public string DictionaryType { get; set; } = String.Empty;
|
||||||
public string ChildDataValue { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是否为特殊类型
|
|
||||||
/// </summary>
|
|
||||||
public bool IsSpecialType { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -176,49 +123,49 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public string DateType { get; set; } = String.Empty;
|
public string DateType { get; set; } = String.Empty;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 字典Code
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string DictionaryCode { get; set; } = String.Empty;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 字典Type
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string DictionaryType { get; set; } = String.Empty;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 字典表
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary> 字典表 </summary>
|
||||||
public string ForeignKeyTableName { get; set; } = String.Empty;
|
public string ForeignKeyTableName { get; set; } = String.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary> 字典Value </summary>
|
||||||
/// 字典Value
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string ForeignKeyValue { get; set; } = String.Empty;
|
public string ForeignKeyValue { get; set; } = String.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary> 字典 </summary>
|
||||||
/// 字典
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string ForeignKeyText { get; set; } = String.Empty;
|
public string ForeignKeyText { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 接口名
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public string InterfaceName { get; set; } = String.Empty;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public string TableConfigJsonStr { get; set; } = String.Empty;
|
public string TableConfigJsonStr { get; set; } = String.Empty;
|
||||||
|
|
||||||
public string UrlConfigJsonStr { get; set; } = String.Empty;
|
public string UrlConfigJsonStr { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#region 废弃
|
||||||
|
//未知是否有用
|
||||||
|
public bool IsConfig { get; set; }
|
||||||
|
public string DictionaryKey { get; set; }
|
||||||
|
public bool IsShowByTrialConfig { get; set; }
|
||||||
|
public string TrialConfigRelyFieldName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否为特殊类型
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSpecialType { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -257,7 +204,6 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public string MergeColumnName { get; set; } = String.Empty;
|
public string MergeColumnName { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue