Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-02-08 10:54:45 +08:00
13 changed files with 18809 additions and 12 deletions
@@ -81,6 +81,11 @@ namespace IRaCIS.Core.Application.Contracts
public Guid? SubjectId { get; set; }
public Guid? VisitId { get; set; }
/// <summary>
/// 是否领取了
/// </summary>
public bool IsReceived { get; set; } = false;
}
public class CRCRequestToQCCommand
@@ -882,7 +882,7 @@ namespace IRaCIS.Core.Application.Image.QA
{
var nextIQCQuality = await this.GetNextIQCQuality(inDto);
if (nextIQCQuality.VisitId != null)
if (nextIQCQuality.VisitId != null&& nextIQCQuality.IsReceived==false)
{
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync();
if (!visit.IsTake)
@@ -910,6 +910,22 @@ namespace IRaCIS.Core.Application.Image.QA
.FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId)
.IfNullThrowException();
var currentActionList = await _subjectVisitRepository.Where(x => x.TrialId == inDto.TrialId && x.CurrentActionUserId == _userInfo.UserRoleId).OrderByDescending(x => x.IsUrgent)
.ThenBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).ToListAsync();
if (currentActionList.Count() > 0)
{
return new GetNextIQCQualityOutDto()
{
IsReceived = true,
SubjectId= currentActionList[0].SubjectId,
VisitId = currentActionList[0].Id,
};
}
SubjectVisit? subjectVisit = null;
List<SubjectVisit>? visitList = null;
switch (trialConfig.QCProcessEnum)
@@ -372,6 +372,8 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
UploadRole = x.UploadRole,
FileName = x.FileName,
EnFileName = x.EnFileName,
EnPath = x.EnPath,
Path = x.Path,
TrialId = trialId,
IsApply = x.IsApply,
@@ -159,9 +159,10 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName = x.ClinicalDataTrialSet.FileName,
FileName = _userInfo.IsEn_Us?x.ClinicalDataTrialSet.EnFileName: x.ClinicalDataTrialSet.FileName,
Path = _userInfo.IsEn_Us ? x.ClinicalDataTrialSet.EnPath : x.ClinicalDataTrialSet.Path,
UploadRole = x.ClinicalDataTrialSet.UploadRole,
Path = x.ClinicalDataTrialSet.Path,
IsBlind = x.IsBlind,
IsComplete = x.IsComplete,
ClinicalFromList = x.Subject.ClinicalFormList.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
@@ -231,9 +232,10 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName = x.ClinicalDataTrialSet.FileName,
FileName = _userInfo.IsEn_Us?x.ClinicalDataTrialSet.EnFileName: x.ClinicalDataTrialSet.FileName,
Path = _userInfo.IsEn_Us ? x.ClinicalDataTrialSet.EnPath : x.ClinicalDataTrialSet.Path,
UploadRole = x.ClinicalDataTrialSet.UploadRole,
Path = x.ClinicalDataTrialSet.Path,
IsBlind = x.IsBlind,
IsComplete = x.IsComplete,
ClinicalFromList = x.Subject.ClinicalFormList.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
@@ -682,8 +684,8 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
ClinicalUploadType = x.ClinicalUploadType,
FileName = x.FileName,
Path = x.Path,
FileName = _userInfo.IsEn_Us?x.EnFileName: x.FileName,
Path = _userInfo.IsEn_Us ? x.EnPath : x.Path,
Id = x.Id,
CriterionEnumList = x.CriterionEnumList,
}).ToListAsync();
@@ -66,6 +66,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string Path { get; set; }
/// <summary>
/// 英文模板文件名称
/// </summary>
public string EnFileName { get; set; } = string.Empty;
/// <summary>
/// 英文文件路径
/// </summary>
public string EnPath { get; set; } = string.Empty;
public List<Guid> TrialCriterionIdList { get; set; }
@@ -139,6 +149,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Path { get; set; }
/// <summary>
/// 英文模板文件名称
/// </summary>
public string EnFileName { get; set; } = string.Empty;
/// <summary>
/// 英文文件路径
/// </summary>
public string EnPath { get; set; } = string.Empty;
//public List<Guid> SystemCriterionIdList { get; set; }
@@ -11,7 +11,7 @@ namespace IRaCIS.Core.Application.Interfaces
Task<IResponseOutput> DeleteSiteCRC(Guid id, bool isDelete);
Task<IResponseOutput> DeleteTrialSite(Guid id);
Task<PageOutput<SiteStatDTO>> GetSiteCRCList(SiteCrcQueryDTO param);
Task<PageOutput<SiteStatSimpleDTO>> GetSiteCRCSimpleList(SiteCrcQueryDTO param);
Task<(PageOutput<SiteStatSimpleDTO>,object)> GetSiteCRCSimpleList(SiteCrcQueryDTO param);
Task<PageOutput<TrialSiteScreeningDTO>> GetTrialSiteScreeningList(TrialSiteQuery trialSiteQuery);
Task<IEnumerable<TrialSiteForSelect>> GetTrialSiteSelect(Guid trialId);
}
@@ -101,9 +101,10 @@ namespace IRaCIS.Core.Application.Services
/// <summary>[new] setting页面Site列表,和getSiteCRCList对比 没有统计数据,增加了一些site信息 </summary>
[HttpPost]
public async Task<PageOutput<SiteStatSimpleDTO>> GetSiteCRCSimpleList(SiteCrcQueryDTO inQuery)
public async Task<(PageOutput<SiteStatSimpleDTO>,object)> GetSiteCRCSimpleList(SiteCrcQueryDTO inQuery)
{
var trialinfo = await _trialRepository.Where(x => x.Id == inQuery.TrialId).FirstNotNullAsync();
var siteStatQuery = _trialSiteRepository.Where(t => t.TrialId == inQuery.TrialId).IgnoreQueryFilters()
.WhereIf(inQuery.IsDeleted != null, t => t.IsDeleted == inQuery.IsDeleted)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.SiteName), t => t.TrialSiteName.Contains(inQuery.SiteName) || t.TrialSiteAliasName.Contains(inQuery.TrialSiteAliasName))
@@ -118,7 +119,9 @@ namespace IRaCIS.Core.Application.Services
var result = await siteStatQuery.ToPagedListAsync(inQuery);
return result;
return (result,new {
IsPACSConnect= trialinfo.IsPACSConnect,
});
}