代码整理
parent
ab54e04ad6
commit
fde24002d1
|
@ -7644,6 +7644,13 @@
|
||||||
<param name="indto"></param>
|
<param name="indto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.DeleteReadingClinicalData(System.Guid)">
|
||||||
|
<summary>
|
||||||
|
删除
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetCRCClinicalData(IRaCIS.Core.Application.Service.Reading.Dto.GetCRCClinicalDataInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetCRCClinicalData(IRaCIS.Core.Application.Service.Reading.Dto.GetCRCClinicalDataInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取CRC上传的文件
|
获取CRC上传的文件
|
||||||
|
@ -7657,12 +7664,10 @@
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.DeleteReadingClinicalData(System.Guid)">
|
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.ReadClinicalDataSign(IRaCIS.Core.Application.Service.Inspection.DTO.ReadingClinicalDataSignIndto)">
|
||||||
<summary>
|
<summary>
|
||||||
删除
|
影像阅片临床数据签名
|
||||||
</summary>
|
</summary>
|
||||||
<param name="id"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetTrialClinicalDataSelect(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialClinicalDataSelectIndto)">
|
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetTrialClinicalDataSelect(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialClinicalDataSelectIndto)">
|
||||||
<summary>
|
<summary>
|
||||||
|
@ -7671,11 +7676,6 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.ReadClinicalDataSign(IRaCIS.Core.Application.Service.Inspection.DTO.ReadingClinicalDataSignIndto)">
|
|
||||||
<summary>
|
|
||||||
影像阅片临床数据签名
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetReadingOrTaskClinicalDataList(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingOrTaskClinicalDataListInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetReadingOrTaskClinicalDataList(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingOrTaskClinicalDataListInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取访视 阅片或任务临床数据
|
获取访视 阅片或任务临床数据
|
||||||
|
@ -8058,17 +8058,18 @@
|
||||||
<param name="addOrEditReadingPeriodSet"></param>
|
<param name="addOrEditReadingPeriodSet"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.DeleteReadingPeriodSet(System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
获取影像阅片的预览 // 需要清除之前已经选中的 (增加标准搜索,已修改)
|
删除
|
||||||
</summary>
|
</summary>
|
||||||
|
<param name="readingPeriodSetId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GenerateReadingTask(IRaCIS.Core.Application.Service.Reading.Dto.ReadingToGenerateInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.SetReadingPeriodSetEffect(IRaCIS.Core.Application.Service.Reading.Dto.SetReadingPeriodSetEffect)">
|
||||||
<summary>
|
<summary>
|
||||||
添加对应的阅片 (增加标准不影响 因为阅片期设置关联了标准)
|
设置阅片期配置是否生效 (增加标准搜索,已修改)
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inDto"></param>
|
<param name="indto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingPlanList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingPlanList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListDto)">
|
||||||
|
@ -8078,6 +8079,13 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GenerateReadingTask(IRaCIS.Core.Application.Service.Reading.Dto.ReadingToGenerateInDto)">
|
||||||
|
<summary>
|
||||||
|
添加对应的阅片计划 (后续生效将计划变为模块) (增加标准不影响 因为阅片期设置关联了标准)
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetReadingPeriodSetList(IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetQuery)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetReadingPeriodSetList(IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetQuery)">
|
||||||
<summary>
|
<summary>
|
||||||
分页获取 (增加标准搜索,已修改)
|
分页获取 (增加标准搜索,已修改)
|
||||||
|
@ -8099,18 +8107,48 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.SetReadingPeriodSetEffect(IRaCIS.Core.Application.Service.Reading.Dto.SetReadingPeriodSetEffect)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
设置阅片期配置是否生效 (增加标准搜索,已修改)
|
获取影像阅片的预览 // 需要清除之前已经选中的 (增加标准搜索,已修改)
|
||||||
</summary>
|
</summary>
|
||||||
<param name="indto"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.DeleteReadingPeriodSet(System.Guid)">
|
<member name="T:IRaCIS.Application.Services.ReadModuleService">
|
||||||
|
<summary>
|
||||||
|
生成的阅片模块(在大列表上展示的) 阅片期
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModuleList(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto)">
|
||||||
|
<summary>
|
||||||
|
获取读片模块 //加了标准参数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModule(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleIndto)">
|
||||||
|
<summary>
|
||||||
|
获取单条详情信息
|
||||||
|
</summary>
|
||||||
|
<param name="dto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetSubjectReadVisitList(IRaCIS.Core.Application.Service.Reading.Dto.GetSubjectReadVisitsInDto)">
|
||||||
|
<summary>
|
||||||
|
添加阅片的时候 获取访视 //标准参数必传
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.AddReadModule(IRaCIS.Core.Application.Service.Reading.Dto.ReadModuleAddDto)">
|
||||||
|
<summary>
|
||||||
|
添加阅片期
|
||||||
|
</summary>
|
||||||
|
<param name="dto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.DeleteReadModule(System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
删除
|
删除
|
||||||
</summary>
|
</summary>
|
||||||
<param name="readingPeriodSetId"></param>
|
<param name="readModuleId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:IRaCIS.Application.Services.ReadingQuestionService">
|
<member name="T:IRaCIS.Application.Services.ReadingQuestionService">
|
||||||
|
@ -8423,44 +8461,6 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:IRaCIS.Application.Services.ReadModuleService">
|
|
||||||
<summary>
|
|
||||||
生成的阅片模块(在大列表上展示的) 阅片期
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModuleList(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto)">
|
|
||||||
<summary>
|
|
||||||
获取读片模块 //加了标准参数
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModule(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleIndto)">
|
|
||||||
<summary>
|
|
||||||
获取单条详情信息
|
|
||||||
</summary>
|
|
||||||
<param name="dto"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetSubjectReadVisitList(IRaCIS.Core.Application.Service.Reading.Dto.GetSubjectReadVisitsInDto)">
|
|
||||||
<summary>
|
|
||||||
添加阅片的时候 获取访视 //标准参数必传
|
|
||||||
</summary>
|
|
||||||
<param name="inDto"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.AddReadModule(IRaCIS.Core.Application.Service.Reading.Dto.ReadModuleAddDto)">
|
|
||||||
<summary>
|
|
||||||
添加阅片期
|
|
||||||
</summary>
|
|
||||||
<param name="dto"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.DeleteReadModule(System.Guid)">
|
|
||||||
<summary>
|
|
||||||
删除
|
|
||||||
</summary>
|
|
||||||
<param name="readModuleId"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:IRaCIS.Application.Services.StatisticsService">
|
<member name="T:IRaCIS.Application.Services.StatisticsService">
|
||||||
<summary>
|
<summary>
|
||||||
Dashboard统计、全局工作量统计、入组两个维度统计(按照项目、按照人)
|
Dashboard统计、全局工作量统计、入组两个维度统计(按照项目、按照人)
|
||||||
|
|
|
@ -153,9 +153,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<TrialDoctorUserSelectView>> GetDoctorSelectList(DoctorSelectQuery selectQuery, [FromServices] IRepository<Enroll> _enrollRepository)
|
public async Task<List<TrialDoctorUserSelectView>> GetDoctorSelectList(DoctorSelectQuery selectQuery, [FromServices] IRepository<Enroll> _enrollRepository)
|
||||||
{
|
{
|
||||||
|
|
||||||
var query = from allocationRule in _taskAllocationRuleRepository.Where(t => t.TrialId == selectQuery.TrialId && t.IsEnable)
|
var query = from allocationRule in _taskAllocationRuleRepository.Where(t => t.TrialId == selectQuery.TrialId && t.IsEnable)
|
||||||
.WhereIf(selectQuery.ReadingCategory != null, t => t.Enroll.EnrollReadingCategoryList.Any(t => t.ReadingCategory == selectQuery.ReadingCategory))
|
.WhereIf(selectQuery.ReadingCategory != null && selectQuery.TrialReadingCriterionId == null, t => t.Enroll.EnrollReadingCategoryList.Any(t => t.ReadingCategory == selectQuery.ReadingCategory))
|
||||||
.WhereIf(selectQuery.TrialReadingCriterionId != null, t => t.Enroll.EnrollReadingCategoryList.Any(t => t.TrialReadingCriterionId == selectQuery.TrialReadingCriterionId))
|
.WhereIf(selectQuery.TrialReadingCriterionId != null && selectQuery.ReadingCategory == null, t => t.Enroll.EnrollReadingCategoryList.Any(t => t.TrialReadingCriterionId == selectQuery.TrialReadingCriterionId))
|
||||||
|
.WhereIf(selectQuery.TrialReadingCriterionId != null && selectQuery.ReadingCategory !=null,
|
||||||
|
t => t.Enroll.EnrollReadingCategoryList.Any(t => t.TrialReadingCriterionId == selectQuery.TrialReadingCriterionId && t.ReadingCategory==selectQuery.ReadingCategory))
|
||||||
join user in _userRepository.AsQueryable() on allocationRule.DoctorUserId equals user.Id
|
join user in _userRepository.AsQueryable() on allocationRule.DoctorUserId equals user.Id
|
||||||
select new TrialDoctorUserSelectView()
|
select new TrialDoctorUserSelectView()
|
||||||
{
|
{
|
||||||
|
@ -167,20 +170,19 @@ namespace IRaCIS.Core.Application.Service
|
||||||
UserTypeEnum = user.UserTypeRole.UserTypeEnum,
|
UserTypeEnum = user.UserTypeRole.UserTypeEnum,
|
||||||
|
|
||||||
ReadingCategoryList = selectQuery.TrialReadingCriterionId == null ?
|
ReadingCategoryList = selectQuery.TrialReadingCriterionId == null ?
|
||||||
allocationRule.Enroll.EnrollReadingCategoryList
|
|
||||||
.Select(t => t.ReadingCategory).OrderBy(t => t).ToList():
|
allocationRule.Enroll.EnrollReadingCategoryList.Where(t=> (selectQuery.ReadingCategory == null ?true: t.ReadingCategory == selectQuery.ReadingCategory) ).Select(t => t.ReadingCategory).OrderBy(t => t).ToList() :
|
||||||
|
|
||||||
allocationRule.Enroll.EnrollReadingCategoryList
|
allocationRule.Enroll.EnrollReadingCategoryList
|
||||||
.Where( t => t.TrialReadingCriterionId == selectQuery.TrialReadingCriterionId)
|
.Where(t => t.TrialReadingCriterionId == selectQuery.TrialReadingCriterionId && (selectQuery.ReadingCategory == null?true : t.ReadingCategory == selectQuery.ReadingCategory) )
|
||||||
.Select(t => t.ReadingCategory).OrderBy(t=>t).ToList()
|
.Select(t => t.ReadingCategory).OrderBy(t => t).ToList()
|
||||||
};
|
};
|
||||||
|
|
||||||
return await query.ToListAsync();
|
return await query.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region 废弃
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取访视任务 应用Subject后 医生比率情况
|
/// 获取访视任务 应用Subject后 医生比率情况
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -210,5 +212,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
return await taskAllocationRuleQueryable.ToListAsync();
|
return await taskAllocationRuleQueryable.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,70 +46,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
this._criterionNidusRepository = criterionNidusRepository;
|
this._criterionNidusRepository = criterionNidusRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取标准病灶类型
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="inDto"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
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();
|
|
||||||
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();
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取标准病灶器官关系信息
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="inQuery"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
public async Task<List<CriterionNidusView>> GetCriterionNidusList(CriterionNidusQuery inQuery)
|
|
||||||
{
|
|
||||||
|
|
||||||
var criterionNidusQueryable = _criterionNidusRepository
|
|
||||||
.Where(x=>x.CriterionId== inQuery.CriterionId)
|
|
||||||
.ProjectTo<CriterionNidusView>(_mapper.ConfigurationProvider);
|
|
||||||
|
|
||||||
return await criterionNidusQueryable.ToListAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 新增修改标准病灶器官关系信息
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="inDto"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
public async Task<IResponseOutput> AddOrUpdateCriterionNidus(CriterionNidusAddOrEdit inDto)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (await _criterionNidusRepository.AnyAsync(x => x.OrganType == inDto.OrganType && x.LesionType == inDto.LesionType && x.CriterionId == inDto.CriterionId && x.Id != inDto.Id))
|
|
||||||
{
|
|
||||||
throw new BusinessValidationFailedException("存在相同的数据,操作失败");
|
|
||||||
}
|
|
||||||
var entity = await _criterionNidusRepository.InsertOrUpdateAsync(inDto, true);
|
|
||||||
|
|
||||||
return ResponseOutput.Ok(entity.Id.ToString());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 删除病灶病灶器官关系信息
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="id"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpDelete("{id:guid}")]
|
|
||||||
public async Task<IResponseOutput> DeleteCriterionNidus(Guid id)
|
|
||||||
{
|
|
||||||
var success = await _criterionNidusRepository.DeleteFromQueryAsync(t => t.Id == id, true);
|
|
||||||
return ResponseOutput.Ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
#region 系统器官
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取系统器官信息
|
/// 获取系统器官信息
|
||||||
|
@ -122,11 +60,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
List<OrganType> organs = new List<OrganType>();
|
List<OrganType> organs = new List<OrganType>();
|
||||||
if (inQuery.LesionType != null)
|
if (inQuery.LesionType != null)
|
||||||
{
|
{
|
||||||
organs =await _criterionNidusRepository.Where(x => x.CriterionId == inQuery.SystemCriterionId && x.LesionType == inQuery.LesionType)
|
organs = await _criterionNidusRepository.Where(x => x.CriterionId == inQuery.SystemCriterionId && x.LesionType == inQuery.LesionType)
|
||||||
.Select(x => x.OrganType).ToListAsync();
|
.Select(x => x.OrganType).ToListAsync();
|
||||||
}
|
}
|
||||||
var organInfoQueryable = _organInfoRepository
|
var organInfoQueryable = _organInfoRepository
|
||||||
.Where(x=>x.SystemCriterionId==inQuery.SystemCriterionId)
|
.Where(x => x.SystemCriterionId == inQuery.SystemCriterionId)
|
||||||
.WhereIf(inQuery.LesionType != null, x => organs.Contains(x.OrganType))
|
.WhereIf(inQuery.LesionType != null, x => organs.Contains(x.OrganType))
|
||||||
.WhereIf(inQuery.OrganType != null, x => x.OrganType == inQuery.OrganType)
|
.WhereIf(inQuery.OrganType != null, x => x.OrganType == inQuery.OrganType)
|
||||||
.ProjectTo<OrganInfoView>(_mapper.ConfigurationProvider);
|
.ProjectTo<OrganInfoView>(_mapper.ConfigurationProvider);
|
||||||
|
@ -185,6 +123,64 @@ namespace IRaCIS.Core.Application.Service
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 项目器官
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取项目器官信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<List<GetTrialOrganListOutDto>> GetTrialOrganList(GetTrialOrganListInDto inDto)
|
||||||
|
{
|
||||||
|
|
||||||
|
List<OrganType> organs = new List<OrganType>();
|
||||||
|
|
||||||
|
if (inDto.TrialReadingCriterionId == null)
|
||||||
|
{
|
||||||
|
inDto.TrialReadingCriterionId = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
.Select(x => x.OrganType).ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
var organInfoQueryable = from data in _organInfoRepository
|
||||||
|
.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
|
||||||
|
.WhereIf(inDto.IsLymphNodes != null, x => x.IsLymphNodes == inDto.IsLymphNodes)
|
||||||
|
.WhereIf(inDto.LesionType != null, x => organs.Contains(x.OrganType))
|
||||||
|
join trialData in _organTrialInfoRepository.WhereIf(inDto.IsEnable != null, x => x.IsEnable == inDto.IsEnable)
|
||||||
|
|
||||||
|
.WhereIf(inDto.IsEnable != null, x => x.IsEnable == inDto.IsEnable)
|
||||||
|
.Where(x => x.TrialCriterionId == inDto.TrialReadingCriterionId)
|
||||||
|
on data.Id equals trialData.OrganInfoId
|
||||||
|
select new GetTrialOrganListOutDto()
|
||||||
|
{
|
||||||
|
Id = trialData.Id,
|
||||||
|
Part = data.Part,
|
||||||
|
TULAT = data.TULAT,
|
||||||
|
TULOC = data.TULOC,
|
||||||
|
Remark = data.Remark,
|
||||||
|
IsLymphNodes = data.IsLymphNodes,
|
||||||
|
IsCanEditPosition = data.IsCanEditPosition,
|
||||||
|
IsEnable = trialData.IsEnable,
|
||||||
|
OrganType = data.OrganType,
|
||||||
|
PartEN = data.PartEN,
|
||||||
|
TULATEN = data.TULATEN,
|
||||||
|
TULOCEN = data.TULOCEN,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
return await organInfoQueryable.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 批量添加项目器官
|
/// 批量添加项目器官
|
||||||
|
@ -197,9 +193,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
List<OrganTrialInfo> organTrialInfos = inDto.OrganIds.Select(x => new OrganTrialInfo()
|
List<OrganTrialInfo> organTrialInfos = inDto.OrganIds.Select(x => new OrganTrialInfo()
|
||||||
{
|
{
|
||||||
OrganInfoId=x,
|
OrganInfoId = x,
|
||||||
TrialId=inDto.TrialId,
|
TrialId = inDto.TrialId,
|
||||||
TrialCriterionId=inDto.TrialReadingCriterionId,
|
TrialCriterionId = inDto.TrialReadingCriterionId,
|
||||||
//OrganType=inDto.OrganType,
|
//OrganType=inDto.OrganType,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
@ -224,94 +220,106 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取项目器官信息
|
/// 设置项目器官是否生效
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<GetTrialOrganListOutDto>> GetTrialOrganList(GetTrialOrganListInDto inDto)
|
public async Task<IResponseOutput> SetOrganIsEnable(SetOrganIsEnableInDto inDto)
|
||||||
{
|
{
|
||||||
|
await _organTrialInfoRepository.UpdatePartialFromQueryAsync(x => inDto.Ids.Contains(x.Id), x => new OrganTrialInfo()
|
||||||
List<OrganType> organs = new List<OrganType>();
|
|
||||||
|
|
||||||
if (inDto.TrialReadingCriterionId == null)
|
|
||||||
{
|
{
|
||||||
inDto.TrialReadingCriterionId = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.TrialReadingCriterionId).FirstOrDefaultAsync();
|
IsEnable = inDto.IsEnable
|
||||||
}
|
});
|
||||||
|
|
||||||
|
await _organTrialInfoRepository.SaveChangesAsync();
|
||||||
|
|
||||||
if (inDto.LesionType != null)
|
return ResponseOutput.Ok();
|
||||||
{
|
|
||||||
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)
|
|
||||||
.Select(x => x.OrganType).ToListAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
var organInfoQueryable = from data in _organInfoRepository
|
|
||||||
.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
|
|
||||||
.WhereIf(inDto.IsLymphNodes!=null,x=>x.IsLymphNodes==inDto.IsLymphNodes)
|
|
||||||
.WhereIf(inDto.LesionType != null, x => organs.Contains(x.OrganType))
|
|
||||||
join trialData in _organTrialInfoRepository.WhereIf(inDto.IsEnable != null, x => x.IsEnable == inDto.IsEnable)
|
|
||||||
|
|
||||||
.WhereIf(inDto.IsEnable != null, x => x.IsEnable == inDto.IsEnable)
|
|
||||||
.Where(x => x.TrialCriterionId == inDto.TrialReadingCriterionId)
|
|
||||||
on data.Id equals trialData.OrganInfoId
|
|
||||||
select new GetTrialOrganListOutDto()
|
|
||||||
{
|
|
||||||
Id = trialData.Id,
|
|
||||||
Part = data.Part,
|
|
||||||
TULAT = data.TULAT,
|
|
||||||
TULOC = data.TULOC,
|
|
||||||
Remark= data.Remark,
|
|
||||||
IsLymphNodes = data.IsLymphNodes,
|
|
||||||
IsCanEditPosition=data.IsCanEditPosition,
|
|
||||||
IsEnable = trialData.IsEnable,
|
|
||||||
OrganType = data.OrganType,
|
|
||||||
PartEN=data.PartEN,
|
|
||||||
TULATEN=data.TULATEN,
|
|
||||||
TULOCEN=data.TULOCEN,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return await organInfoQueryable.ToListAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#region 注释
|
|
||||||
///// <summary>
|
|
||||||
///// 获取项目勾选器官信息
|
|
||||||
///// </summary>
|
|
||||||
///// <param name="inDto"></param>
|
|
||||||
///// <returns></returns>
|
|
||||||
//[HttpPost]
|
|
||||||
//public async Task<List<GetTrialCheckOrganList>> GetTrialCheckOrganList(GetTrialOrganListInDto inDto)
|
|
||||||
//{
|
|
||||||
// var organInfoQueryable = from data in _organInfoRepository.WhereIf(inDto.CriterionNidusId != null, x => x.CriterionNidusId == inDto.CriterionNidusId)
|
|
||||||
// join trialData in _organTrialInfoRepository.WhereIf(inDto.IsEnable != null, x => x.IsEnable == inDto.IsEnable)
|
|
||||||
// .Where(x => x.TrialId == inDto.TrialId)
|
|
||||||
// on data.Id equals trialData.OrganInfoId into jtemp
|
|
||||||
// from leftjoin in jtemp.DefaultIfEmpty()
|
|
||||||
// select new GetTrialCheckOrganList()
|
|
||||||
// {
|
|
||||||
// Id = data.Id,
|
|
||||||
// Part = data.Part,
|
|
||||||
// TULAT = data.TULAT,
|
|
||||||
// TULOC = data.TULOC,
|
|
||||||
|
|
||||||
// IsCheckd= leftjoin!=null,
|
|
||||||
// Remark = data.Remark,
|
|
||||||
// CriterionNidusId = data.CriterionNidusId,
|
|
||||||
// IsEnable = leftjoin.IsEnable,
|
|
||||||
|
|
||||||
// };
|
|
||||||
|
|
||||||
|
|
||||||
// return await organInfoQueryable.ToListAsync();
|
|
||||||
//}
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#region 器官和病灶绑定表 (项目和系统 在同一张表)
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取标准病灶类型
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
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();
|
||||||
|
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();
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取标准病灶器官关系信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inQuery"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<List<CriterionNidusView>> GetCriterionNidusList(CriterionNidusQuery inQuery)
|
||||||
|
{
|
||||||
|
|
||||||
|
var criterionNidusQueryable = _criterionNidusRepository
|
||||||
|
.Where(x => x.CriterionId == inQuery.CriterionId)
|
||||||
|
.ProjectTo<CriterionNidusView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
|
return await criterionNidusQueryable.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增修改标准病灶器官关系信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IResponseOutput> AddOrUpdateCriterionNidus(CriterionNidusAddOrEdit inDto)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (await _criterionNidusRepository.AnyAsync(x => x.OrganType == inDto.OrganType && x.LesionType == inDto.LesionType && x.CriterionId == inDto.CriterionId && x.Id != inDto.Id))
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException("存在相同的数据,操作失败");
|
||||||
|
}
|
||||||
|
var entity = await _criterionNidusRepository.InsertOrUpdateAsync(inDto, true);
|
||||||
|
|
||||||
|
return ResponseOutput.Ok(entity.Id.ToString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除病灶病灶器官关系信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpDelete("{id:guid}")]
|
||||||
|
public async Task<IResponseOutput> DeleteCriterionNidus(Guid id)
|
||||||
|
{
|
||||||
|
var success = await _criterionNidusRepository.DeleteFromQueryAsync(t => t.Id == id, true);
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 同步系统器官到项目
|
/// 同步系统器官到项目
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -373,25 +381,43 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 设置项目器官是否生效
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="inDto"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
public async Task<IResponseOutput> SetOrganIsEnable(SetOrganIsEnableInDto inDto)
|
|
||||||
{
|
|
||||||
await _organTrialInfoRepository.UpdatePartialFromQueryAsync(x => inDto.Ids.Contains(x.Id), x => new OrganTrialInfo()
|
|
||||||
{
|
|
||||||
IsEnable=inDto.IsEnable
|
|
||||||
});
|
|
||||||
|
|
||||||
await _organTrialInfoRepository.SaveChangesAsync();
|
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
|
||||||
}
|
|
||||||
|
#region 注释
|
||||||
|
///// <summary>
|
||||||
|
///// 获取项目勾选器官信息
|
||||||
|
///// </summary>
|
||||||
|
///// <param name="inDto"></param>
|
||||||
|
///// <returns></returns>
|
||||||
|
//[HttpPost]
|
||||||
|
//public async Task<List<GetTrialCheckOrganList>> GetTrialCheckOrganList(GetTrialOrganListInDto inDto)
|
||||||
|
//{
|
||||||
|
// var organInfoQueryable = from data in _organInfoRepository.WhereIf(inDto.CriterionNidusId != null, x => x.CriterionNidusId == inDto.CriterionNidusId)
|
||||||
|
// join trialData in _organTrialInfoRepository.WhereIf(inDto.IsEnable != null, x => x.IsEnable == inDto.IsEnable)
|
||||||
|
// .Where(x => x.TrialId == inDto.TrialId)
|
||||||
|
// on data.Id equals trialData.OrganInfoId into jtemp
|
||||||
|
// from leftjoin in jtemp.DefaultIfEmpty()
|
||||||
|
// select new GetTrialCheckOrganList()
|
||||||
|
// {
|
||||||
|
// Id = data.Id,
|
||||||
|
// Part = data.Part,
|
||||||
|
// TULAT = data.TULAT,
|
||||||
|
// TULOC = data.TULOC,
|
||||||
|
|
||||||
|
// IsCheckd= leftjoin!=null,
|
||||||
|
// Remark = data.Remark,
|
||||||
|
// CriterionNidusId = data.CriterionNidusId,
|
||||||
|
// IsEnable = leftjoin.IsEnable,
|
||||||
|
|
||||||
|
// };
|
||||||
|
|
||||||
|
|
||||||
|
// return await organInfoQueryable.ToListAsync();
|
||||||
|
//}
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue