修改一版
parent
d096461fda
commit
ad60991589
|
@ -48,14 +48,14 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task IncomingEntitys(List<EntityEntry> entitys)
|
public async Task IncomingEntitys(List<EntityEntry> entitys)
|
||||||
{
|
{
|
||||||
// 新增
|
|
||||||
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Added).ToList(), "Add");
|
|
||||||
|
|
||||||
// 修改
|
// 修改
|
||||||
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Modified&&(!typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType())
|
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Modified && (!typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType())
|
||||||
|| !(bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity))
|
|| !(bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity))
|
||||||
).ToList(), "Update");
|
).ToList(), "Update");
|
||||||
|
|
||||||
|
// 新增
|
||||||
|
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Added).ToList(), "Add");
|
||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Deleted
|
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Deleted
|
||||||
||((typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType())&& (bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity)))
|
||((typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType())&& (bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity)))
|
||||||
|
@ -116,10 +116,16 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
// 受试者
|
// 受试者
|
||||||
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject)))
|
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject)))
|
||||||
{
|
{
|
||||||
|
var entity = item.Entity as Subject;
|
||||||
|
var FinalSubjectVisitName = await _dbContext.SubjectVisit.AsNoTracking().Where(x => x.Id == entity.FinalSubjectVisitId&& entity.FinalSubjectVisitId!=null).Select(x => x.VisitName).FirstOrDefaultAsync();
|
||||||
|
|
||||||
await InsertInspection<Subject>(item, type, x => new DataInspection()
|
await InsertInspection<Subject>(item, type, x => new DataInspection()
|
||||||
{
|
{
|
||||||
SubjectId = x.Id,
|
SubjectId = x.Id,
|
||||||
SubjectCode=x.Code,
|
SubjectCode=x.Code,
|
||||||
|
}, new
|
||||||
|
{
|
||||||
|
FinalSubjectVisitName = FinalSubjectVisitName,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 访视
|
// 访视
|
||||||
|
@ -154,6 +160,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
SubjectId=x.SubjectId,
|
SubjectId=x.SubjectId,
|
||||||
SubjectVisitId = x.Id,
|
SubjectVisitId = x.Id,
|
||||||
SubjectVisitName=x.VisitName,
|
SubjectVisitName=x.VisitName,
|
||||||
|
BlindName=x.BlindName,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +212,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
var entity = item.Entity as DicomSeries;
|
var entity = item.Entity as DicomSeries;
|
||||||
if (entity.DicomStudy == null)
|
if (entity.DicomStudy == null)
|
||||||
{
|
{
|
||||||
entity.DicomStudy =await _dbContext.DicomStudys.FirstOrDefaultAsync(x=>x.Id== entity.StudyId);
|
entity.DicomStudy =await _dbContext.DicomStudys.AsNoTracking().FirstOrDefaultAsync(x=>x.Id== entity.StudyId);
|
||||||
}
|
}
|
||||||
await InsertInspection<DicomSeries>(item, type, x => new DataInspection()
|
await InsertInspection<DicomSeries>(item, type, x => new DataInspection()
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,27 +43,6 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<DataInspection> SetDataInspectionDateType(DataInspection Data);
|
Task<DataInspection> SetDataInspectionDateType(DataInspection Data);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 处理枚举
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="Identification">标识</param>
|
|
||||||
/// <param name="json">json对象</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
|
|
||||||
Task<string> SetEnum(Guid trial, string Identification, string json);
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取外键表数据
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="Table">表名称</param>
|
|
||||||
/// <param name="ForeignKeyValue">外键value</param>
|
|
||||||
/// <param name="ForeignKeyText">要查询的外键值</param>
|
|
||||||
/// <param name="value">传入的纸</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<string> GetInspectionEnumValue(string Identification, string json);
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 翻译稽查数据
|
/// 翻译稽查数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -584,11 +584,16 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<string>> SetInspectionEnumValue(SetInspectionEnumValueDto dto)
|
public async Task<List<string>> SetInspectionEnumValue(SetInspectionEnumValueDto dto)
|
||||||
{
|
{
|
||||||
|
var listIdentification = dto.Items.Select(x => x.Identification).ToList() ;
|
||||||
foreach (var item in dto.Items)
|
foreach (var item in dto.Items)
|
||||||
{
|
{
|
||||||
item.Json = await GetInspectionEnumValue(item.Identification, item.Json);
|
if (item.Identification == string.Empty || item.Json == string.Empty)
|
||||||
item.Json = await SetEnum(dto.TrialId, item.Identification, item.Json);
|
{
|
||||||
item.Json = await SetDataInspectionDateType(item.Identification, item.Json);
|
continue;
|
||||||
|
}
|
||||||
|
item.Json = await GetInspectionEnumValue(listIdentification, item.Json);
|
||||||
|
item.Json = await SetEnum(dto.TrialId, listIdentification, item.Json);
|
||||||
|
item.Json = await SetDataInspectionDateType(listIdentification, item.Json);
|
||||||
}
|
}
|
||||||
return dto.Items.Select(x => x.Json).ToList();
|
return dto.Items.Select(x => x.Json).ToList();
|
||||||
}
|
}
|
||||||
|
@ -602,9 +607,9 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="Data">稽查数据</param>
|
/// <param name="Data">稽查数据</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> SetDataInspectionDateType(string identification, string json)
|
public async Task<string> SetDataInspectionDateType(List<string> identification, string json)
|
||||||
{
|
{
|
||||||
var list = await (from parent in _dbContext.FrontAuditConfig.AsQueryable().Where(x => x.Identification == identification)
|
var list = await (from parent in _dbContext.FrontAuditConfig.AsQueryable().Where(x => identification.Contains(x.Identification))
|
||||||
join child in _dbContext.FrontAuditConfig.AsQueryable().Where(x => x.EnumType == "Date" && x.IsEnable.HasValue && x.IsEnable.Value) on parent.Id equals child.ParentId
|
join child in _dbContext.FrontAuditConfig.AsQueryable().Where(x => x.EnumType == "Date" && x.IsEnable.HasValue && x.IsEnable.Value) on parent.Id equals child.ParentId
|
||||||
select new DateDto()
|
select new DateDto()
|
||||||
{
|
{
|
||||||
|
@ -612,6 +617,12 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
DateType = child.DateType,
|
DateType = child.DateType,
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
|
list = list.GroupBy(x => new { x.Code }, (key, lst) => new DateDto()
|
||||||
|
{
|
||||||
|
Code = key.Code,
|
||||||
|
DateType = lst.Max(x => x.DateType),
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(json);
|
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(json);
|
||||||
|
|
||||||
if (JsonData == null)
|
if (JsonData == null)
|
||||||
|
@ -657,9 +668,9 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
/// <param name="ForeignKeyText">要查询的外键值</param>
|
/// <param name="ForeignKeyText">要查询的外键值</param>
|
||||||
/// <param name="value">传入的纸</param>
|
/// <param name="value">传入的纸</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> GetInspectionEnumValue(string identification, string json)
|
public async Task<string> GetInspectionEnumValue(List<string> identification, string json)
|
||||||
{
|
{
|
||||||
var list = await (from u in _dbContext.FrontAuditConfig.Where(x => x.Identification == identification)
|
var list = await (from u in _dbContext.FrontAuditConfig.Where(x => identification.Contains(x.Identification))
|
||||||
join p in _dbContext.FrontAuditConfig.Where(x => x.EnumType == "Foreign" && x.IsEnable.HasValue && x.IsEnable.Value) on u.Id equals p.ParentId
|
join p in _dbContext.FrontAuditConfig.Where(x => x.EnumType == "Foreign" && x.IsEnable.HasValue && x.IsEnable.Value) on u.Id equals p.ParentId
|
||||||
select new
|
select new
|
||||||
{
|
{
|
||||||
|
@ -669,6 +680,17 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
ForeignKeyTable = p.ForeignKeyTable
|
ForeignKeyTable = p.ForeignKeyTable
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
|
list= list.GroupBy(x => new { x.Key }, (key, lst) => new
|
||||||
|
{
|
||||||
|
Key=key.Key,
|
||||||
|
ForeignKeyValue=lst.Max(x=>x.ForeignKeyValue),
|
||||||
|
ForeignKeyText = lst.Max(x => x.ForeignKeyText),
|
||||||
|
ForeignKeyTable = lst.Max(x => x.ForeignKeyTable),
|
||||||
|
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var JsonDataValue = JsonConvert.DeserializeObject<IDictionary<string, object>>(json);
|
var JsonDataValue = JsonConvert.DeserializeObject<IDictionary<string, object>>(json);
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
|
@ -713,13 +735,13 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
/// <param name="json">Json对象</param>
|
/// <param name="json">Json对象</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||||
public async Task<string> SetEnum(Guid trilaid, string identification, string json)
|
public async Task<string> SetEnum(Guid trilaid, List<string> identification, string json)
|
||||||
{
|
{
|
||||||
if (json == null||json=="null")
|
if (json == null||json=="null")
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var list = await (from u in _dbContext.FrontAuditConfig.Where(x => x.Identification == identification)
|
var list = await (from u in _dbContext.FrontAuditConfig.Where(x => identification.Contains(x.Identification))
|
||||||
join p in _dbContext.FrontAuditConfig.Where(x => x.Code != "AuditState" && x.EnumType == "Dictionary"&&x.IsEnable.HasValue&& x.IsEnable.Value) on u.Id equals p.ParentId
|
join p in _dbContext.FrontAuditConfig.Where(x => x.Code != "AuditState" && x.EnumType == "Dictionary"&&x.IsEnable.HasValue&& x.IsEnable.Value) on u.Id equals p.ParentId
|
||||||
select new
|
select new
|
||||||
{
|
{
|
||||||
|
@ -739,6 +761,14 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
Type = "Code",
|
Type = "Code",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
list = list.GroupBy(x => new { x.Key }, (key, lst) => new
|
||||||
|
{
|
||||||
|
Key = key.Key,
|
||||||
|
Code = lst.Max(x => x.Code),
|
||||||
|
Type = lst.Max(x => x.Type),
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(json);
|
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(json);
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue