Merge branch 'Test_IRC_Net10' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net10

Test_IRC_Net10
he 2026-06-09 15:45:53 +08:00
commit bafe61ae64
5 changed files with 63 additions and 4 deletions

View File

@ -9736,6 +9736,11 @@
融合的病灶
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetMarkListInDto.VisitTaskId">
<summary>
任务Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetCustomTagInDto.VisitTaskId">
<summary>
任务Id
@ -14824,6 +14829,13 @@
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.GetMarkList(IRaCIS.Core.Application.Service.Reading.Dto.GetMarkListInDto)">
<summary>
获取标记信息
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.GetManualList(IRaCIS.Core.Application.Service.Reading.Dto.GetManualListInDto)">
<summary>
获取手册
@ -16059,6 +16071,12 @@
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.DoctorWorkloadService.GetDoctorUserTrialReadingStat(IRaCIS.Application.Contracts.TrialReadingStatQuery)">
<summary>
获取项目阅片统计
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.DoctorWorkloadService.GetTrialEnrollmentWorkloadStats(IRaCIS.Application.Contracts.WorkLoadDoctorQueryDTO)">
<summary>
获取某个项目入组的医生工作量统计列表
@ -17492,17 +17510,17 @@
</member>
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Question">
<summary>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
质疑
</summary>
</member>
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Consistency">
<summary>
һ<EFBFBD><EFBFBD><EFBFBD>Ժ˲<EFBFBD>
一致性核查
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.CopyFrontAuditConfigItemDto">
<summary>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
复制
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeView">

View File

@ -90,6 +90,7 @@ namespace IRaCIS.Application.Contracts
public class SubjectQueryView : SubjectCommand
{
public bool IsHaveTaskFinished { get; set; }
public DateTime? OutEnrollmentTime { get; set; }
public DateTime? VisitOverTime { get; set; }

View File

@ -39,6 +39,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode))
.ForMember(d => d.LatestBlindName, u => u.MapFrom(s => s.LatestSubjectVisit.BlindName))
.ForMember(d => d.LatestVisitName, u => u.MapFrom(s => s.LatestSubjectVisit.VisitName))
.ForMember(d => d.IsHaveTaskFinished, u => u.MapFrom(s => s.SubjectVisitTaskList.Any(t => t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned)))
//.ForMember(d => d.FinalSubjectVisitId, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.IsFinalVisit).Select(c => (Guid?)c.Id).FirstOrDefault()))

View File

@ -177,6 +177,17 @@ namespace IRaCIS.Application.Contracts
public bool IsEnable { get; set; }
}
public class TrialReadingStatQuery
{
[NotDefault]
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public List<Guid?> DoctorUserIdList { get; set; } = new List<Guid?>();
}
public class WorkLoadDoctorQueryDTO : PageInput
{
@ -212,7 +223,7 @@ namespace IRaCIS.Application.Contracts
public class WorkLoadAndTrainingDTO
{
public Guid? DoctorUserId { get; set; }
public Guid DoctorId { get; set; }/*=Guid.Empty;*/
public string Code { get; set; } = String.Empty;
public string FirstName { get; set; } = String.Empty;
@ -356,6 +367,7 @@ namespace IRaCIS.Application.Contracts
public class DoctorTaskStat
{
public Guid? DoctorUserId { get; set; }
public CriterionType? CriterionType { get; set; }
public Guid TrialReadingCriterionId { get; set; }

View File

@ -193,6 +193,31 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Result(success2);
}
/// <summary>
/// 获取项目阅片统计
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<List<DoctorTaskStat>> GetDoctorUserTrialReadingStat(TrialReadingStatQuery inQuery)
{
var list = _enrollRepository.Where(x => x.TrialId == inQuery.TrialId && x.EnrollStatus >= EnrollStatus.ConfirmIntoGroup)
.WhereIf(inQuery.DoctorUserIdList.Count > 0, t => inQuery.DoctorUserIdList.Contains(t.DoctorUserId))
.SelectMany(t => t.DoctorUser.VisitTaskList.Where(t => t.TrialReadingCriterion.IsConfirm && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
.Where(x => x.TaskState == TaskState.Effect && x.TrialId == inQuery.TrialId))
.GroupBy(x => new { x.TrialReadingCriterionId, x.TrialReadingCriterion.CriterionType, x.DoctorUserId })
.Select(g => new DoctorTaskStat()
{
DoctorUserId = g.Key.DoctorUserId,
PendingCount = g.Count(x => x.ReadingTaskState != ReadingTaskState.HaveSigned),
TotalCount = g.Count(),
ComplectedCount = g.Count(x => x.ReadingTaskState == ReadingTaskState.HaveSigned),
TrialReadingCriterionId = g.Key.TrialReadingCriterionId,
CriterionType = g.Key.CriterionType,
}).ToList();
return list;
}
/// <summary>
/// 获取某个项目入组的医生工作量统计列表
/// </summary>
@ -254,6 +279,8 @@ namespace IRaCIS.Core.Application.Service
//}).ToList(),
DoctorUserId = intoGroup.DoctorUserId,
DoctorId = doctor.Id,
Code = doctor.ReviewerCode,
FirstName = doctor.FirstName,