维护CriterionNidusTrial
parent
421bee68dc
commit
bd6a11b77a
|
@ -67,7 +67,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
public class GetCriterionLesionTypeInDto
|
||||
{
|
||||
public Guid CriterionId { get; set; }
|
||||
public Guid? SystemCriterionId { get; set; }
|
||||
|
||||
public Guid? TrialCriterionId { get; set; }
|
||||
}
|
||||
|
||||
///<summary>CriterionNidusQuery 列表查询参数模型</summary>
|
||||
|
|
|
@ -28,6 +28,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
private readonly IRepository<OrganTrialInfo> _organTrialInfoRepository;
|
||||
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
|
||||
private readonly IRepository<CriterionNidus> _criterionNidusRepository;
|
||||
private readonly IRepository<CriterionNidusTrial> _criterionNidusTrialRepository;
|
||||
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystemRepository;
|
||||
|
||||
public OrganInfoService(
|
||||
IRepository<OrganInfo> organInfoRepository,
|
||||
|
@ -35,6 +37,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
IRepository<VisitTask> visitTaskRepository,
|
||||
IRepository<OrganTrialInfo> organTrialInfoRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
|
||||
IRepository<CriterionNidusTrial> criterionNidusTrialRepository,
|
||||
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystemRepository,
|
||||
IRepository<CriterionNidus> criterionNidusRepository
|
||||
)
|
||||
{
|
||||
|
@ -44,6 +48,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
this._organTrialInfoRepository = organTrialInfoRepository;
|
||||
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
|
||||
this._criterionNidusRepository = criterionNidusRepository;
|
||||
this._criterionNidusTrialRepository = criterionNidusTrialRepository;
|
||||
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
|
||||
}
|
||||
|
||||
|
||||
|
@ -146,7 +152,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
join trialData in _organTrialInfoRepository.AsQueryable().Where( x => x.IsEnable&&x.TrialCriterionId== trialReadingCriterionId)
|
||||
on data.Id equals trialData.OrganInfoId
|
||||
join criterionNidus in _criterionNidusRepository.AsQueryable().Where(x=>x.CriterionId== trialReadingCriterionId)
|
||||
join criterionNidus in _criterionNidusTrialRepository.AsQueryable().Where(x=>x.CriterionId== trialReadingCriterionId)
|
||||
on data.OrganType equals criterionNidus.OrganType
|
||||
select new ReadingOrganDto()
|
||||
{
|
||||
|
@ -203,7 +209,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
if (inDto.LesionType != null)
|
||||
{
|
||||
var criterion = await _readingQuestionCriterionTrial.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||
organs = await _criterionNidusRepository.Where(x => x.CriterionId == (criterion == null ? default(Guid) : criterion.Id) && x.LesionType == inDto.LesionType)
|
||||
organs = await _criterionNidusTrialRepository.Where(x => x.CriterionId == (criterion == null ? default(Guid) : criterion.Id) && x.LesionType == inDto.LesionType)
|
||||
.Select(x => x.OrganType).ToListAsync();
|
||||
}
|
||||
|
||||
|
@ -315,7 +321,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task<List<OrganDictionary>> GetCriterionLesionType(GetCriterionLesionTypeInDto inDto)
|
||||
{
|
||||
var dicNums = new List<string>();
|
||||
dicNums = await _criterionNidusRepository.Where(x => x.CriterionId == inDto.CriterionId).Select(x => ((int)x.LesionType).ToString()).Distinct().ToListAsync();
|
||||
if (inDto.TrialCriterionId != null)
|
||||
{
|
||||
dicNums = await _criterionNidusTrialRepository.Where(x => x.CriterionId == inDto.TrialCriterionId).Select(x => ((int)x.LesionType).ToString()).Distinct().ToListAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
dicNums = await _criterionNidusRepository.Where(x => x.CriterionId == inDto.SystemCriterionId).Select(x => ((int)x.LesionType).ToString()).Distinct().ToListAsync();
|
||||
}
|
||||
|
||||
var dictionaryId = await _dictionaryRepository.Where(x => x.Code == "LesionType").Select(x => x.Id).FirstOrDefaultAsync();
|
||||
|
||||
var result = await _dictionaryRepository.Where(x => x.ParentId == dictionaryId && dicNums.Contains(x.Code)).ProjectTo<OrganDictionary>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
@ -332,11 +346,19 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task<List<CriterionNidusView>> GetCriterionNidusList(CriterionNidusQuery inQuery)
|
||||
{
|
||||
|
||||
var criterionNidusQueryable = _criterionNidusRepository
|
||||
if (await _readingQuestionCriterionSystemRepository.AnyAsync(x => x.Id == inQuery.CriterionId))
|
||||
{
|
||||
return await _criterionNidusRepository
|
||||
.Where(x => x.CriterionId == inQuery.CriterionId)
|
||||
.ProjectTo<CriterionNidusView>(_mapper.ConfigurationProvider);
|
||||
.ProjectTo<CriterionNidusView>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
return await _criterionNidusTrialRepository
|
||||
.Where(x => x.CriterionId == inQuery.CriterionId)
|
||||
.ProjectTo<CriterionNidusView>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
}
|
||||
|
||||
return await criterionNidusQueryable.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -418,20 +440,22 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
inDto.SystemCriterionId = readingQuestionCriterionTrial.ReadingQuestionCriterionSystemId;
|
||||
}
|
||||
await _criterionNidusRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterionId);
|
||||
List<CriterionNidusData> criterionNidusList = await _criterionNidusRepository.Where(x => x.CriterionId == inDto.SystemCriterionId).Select(x => new CriterionNidusData()
|
||||
await _criterionNidusTrialRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterionId);
|
||||
|
||||
|
||||
List<CriterionNidusTrial> criterionNidusList = await _criterionNidusRepository.Where(x => x.CriterionId == inDto.SystemCriterionId).Select(x => new CriterionNidusTrial()
|
||||
{
|
||||
Id = x.Id,
|
||||
CriterionId = trialCriterionId,
|
||||
LesionType = x.LesionType,
|
||||
OriginalId = x.Id,
|
||||
|
||||
OrganType=x.OrganType,
|
||||
IsSystemCriterion=false,
|
||||
|
||||
}).ToListAsync();
|
||||
|
||||
criterionNidusList.ForEach(x => x.Id = NewId.NextGuid());
|
||||
|
||||
await _criterionNidusRepository.AddRangeAsync(criterionNidusList);
|
||||
await _criterionNidusTrialRepository.AddRangeAsync(criterionNidusList);
|
||||
await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(x => x.TrialCriterionId == readingQuestionCriterionTrial.Id);
|
||||
List<OrganTrialInfo> organTrialInfoList = await _organInfoRepository.Where(x =>x.SystemCriterionId== inDto.SystemCriterionId).Select(x => new OrganTrialInfo()
|
||||
{
|
||||
|
|
|
@ -242,7 +242,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
#region 阅片部位
|
||||
|
||||
|
||||
CreateMap<CriterionNidusTrial, CriterionNidusView>();
|
||||
CreateMap<CriterionNidus, CriterionNidusView>();
|
||||
CreateMap<CriterionNidus, CriterionNidusAddOrEdit>().ReverseMap();
|
||||
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2023-04-24 09:29:54
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
///CriterionNidusTrial
|
||||
///</summary>
|
||||
[Table("CriterionNidusTrial")]
|
||||
public class CriterionNidusTrial : Entity, IAuditAdd
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// CriterionId
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid CriterionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateTime
|
||||
/// </summary>
|
||||
[Required]
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateUserId
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 病灶类型
|
||||
/// </summary>
|
||||
public LesionType LesionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 器官类型
|
||||
/// </summary>
|
||||
public OrganType OrganType { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2023-04-24 09:32:01
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
///ReadingTrialCriterionDictionary
|
||||
///</summary>
|
||||
[Table("ReadingTrialCriterionDictionary")]
|
||||
public class ReadingTrialCriterionDictionary : Entity, IAuditAdd
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Id
|
||||
/// </summary>
|
||||
[Key]
|
||||
[Required]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CriterionId
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid CriterionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DictionaryId
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid DictionaryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateTime
|
||||
/// </summary>
|
||||
[Required]
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CreateUserId
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ParentCode
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string ParentCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// IsBaseLineUse
|
||||
/// </summary>
|
||||
[Required]
|
||||
public bool IsBaseLineUse { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// IsFollowVisitUse
|
||||
/// </summary>
|
||||
[Required]
|
||||
public bool IsFollowVisitUse { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CrterionDictionaryGroup
|
||||
/// </summary>
|
||||
[Required]
|
||||
public int CrterionDictionaryGroup { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1013,3 +1013,10 @@ delete ReadingTaskRelation where RelevanceType=2
|
|||
|
||||
INSERT INTO ReadingTaskRelation(Id, TaskId, RelevanceTaskId, RelevanceType, CreateTime,CreateUserId)
|
||||
SELECT NEWID(), TaskId, RelevanceTaskId, 2,ReadingTaskRelation.CreateTime ,ReadingTaskRelation.CreateUserId FROM ReadingTaskRelation inner join VisitTask on VisitTask.Id=ReadingTaskRelation.TaskId WHERE RelevanceType = 1 and ReadingCategory=1
|
||||
|
||||
-----------------------------------------2023-04-24-----------------------------------
|
||||
--维护CriterionNidusTrial 数据
|
||||
INSERT INTO CriterionNidusTrial (Id, CriterionId, CreateTime, CreateUserId, LesionType, OrganType)
|
||||
SELECT NEWID(), CriterionId, GETDATE(), '00000000-0000-0000-0000-000000000000', LesionType, OrganType
|
||||
FROM CriterionNidus
|
||||
WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM CriterionNidusTrial ) and IsSystemCriterion=0
|
|
@ -261,6 +261,10 @@ namespace IRaCIS.Core.Infra.EFCore
|
|||
|
||||
public virtual DbSet<CriterionNidus> CriterionNidus { get; set; }
|
||||
|
||||
public virtual DbSet<CriterionNidusTrial> CriterionNidusTrial { get; set; }
|
||||
|
||||
public virtual DbSet<ReadingTrialCriterionDictionary> ReadingTrialCriterionDictionary { get; set; }
|
||||
|
||||
public virtual DbSet<ReadingTableQuestionTrial> ReadingTableQuestionTrial { get; set; }
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
|
||||
public static readonly string DbDatabase = "IRaCIS_New_Tet";
|
||||
//表名称用字符串,拼接
|
||||
public static readonly string TableName = "SubjectCriteriaEvaluation";
|
||||
public static readonly string TableName = "ReadingTrialCriterionDictionary";
|
||||
//具体文件里面 例如service 可以配置是否分页
|
||||
}
|
||||
#>
|
||||
|
|
Loading…
Reference in New Issue