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 Details

Test_IRC_Net8
hang 2025-06-30 16:15:47 +08:00
commit bdaa997416
5 changed files with 34 additions and 5 deletions

View File

@ -242,6 +242,8 @@ namespace IRaCIS.Application.Contracts
public class ConfirmationReviewerDTO : DoctorOptDTO
{
public Guid DoctorId { get; set; }
public int DoctorTrialState { get; set; }
public string OptUserName { get; set; } = string.Empty;
@ -249,6 +251,11 @@ namespace IRaCIS.Application.Contracts
public DateTime? OptTime { get; set; }
public string? OptTimeStr => OptTime?.ToString("yyyy-MM-dd HH:mm:ss");
public UserTypeEnum? AuditTypeEnum { get; set; }
public DateTime? AuditTime { get; set; }
public string AuditUserName { get; set; } = string.Empty;
public string? AuditTimeStr => AuditTime?.ToString("yyyy-MM-dd HH:mm:ss");
//SPM 需要看到
public DateTime? SubmmitTime { get; set; }
public string SubmmitUserName { get; set; } = string.Empty;

View File

@ -302,8 +302,6 @@ namespace IRaCIS.Core.Application.Service
.Where(x => x.TrialId == inQuery.TrialId && x.EnrollStatus >= EnrollStatus.InviteIntoGroup);
var enrollStateList = await query
.ProjectTo<DoctorStateModelDTO>(_mapper.ConfigurationProvider).ToListAsync();
enrollStateList = enrollStateList.GroupBy(e => e.DoctorId)
.Select(g => g.OrderByDescending(e => e.OptTime).FirstOrDefault()).ToList();
enrollStateList = enrollStateList
.WhereIf(inQuery.OptStartTime != null, x => x.OptTime >= inQuery.OptStartTime)
@ -337,14 +335,29 @@ namespace IRaCIS.Core.Application.Service
doctorPageList.CurrentPageData.ToList().ForEach(u =>
{
u.DoctorTrialState = (int)EnrollStatus.InviteIntoGroup;
var opt = enrollStateList.OrderByDescending(x=>x.OptTime).FirstOrDefault(t => t.DoctorId == u.Id);
var lastState= enrollStateList.OrderByDescending(x=>x.OptTime).FirstOrDefault(t => t.DoctorId == u.Id);
if (lastState != null)
{
u.DoctorTrialState = lastState.IntoGroupState;
}
var opt = enrollStateList.Where(x => x.IntoGroupState == 10).FirstOrDefault(t => t.DoctorId == u.Id);
if (opt != null)
{
u.DoctorTrialState = opt.IntoGroupState;
u.OptTime = opt.OptTime;
u.UserTypeEnum = opt.UserTypeEnum;
u.OptUserName = opt.OptUserName;
}
var approved = enrollStateList.Where(x => x.IntoGroupState == 8).FirstOrDefault(t => t.DoctorId == u.Id);
if (approved != null)
{
u.AuditTime = approved.OptTime;
u.AuditTypeEnum = approved.UserTypeEnum;
u.AuditUserName = approved.OptUserName;
}
});
return doctorPageList;

View File

@ -19,6 +19,8 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsReading { get; set; }
public bool IsDeleted { get; set; }
public DateTime? MarkTime { get; set; }
}

View File

@ -1487,7 +1487,7 @@ namespace IRaCIS.Core.Application.Service
foreach (var x in orders)
{
Dictionary<string, string> answers = new Dictionary<string, string>();
var rowInfo = tableAnsweRowInfos.First(y => y.RowIndex == x && y.QuestionId == item.Id);
var rowInfo = tableAnsweRowInfos.FirstOrDefault(y => y.RowIndex == x && y.QuestionId == item.Id);
if (rowInfo == null)
{
continue;

View File

@ -161,6 +161,13 @@ namespace IRaCIS.Core.Application.Service
var noneDicomStudyViewMark = new NoneDicomStudyView() { Id = Guid.NewGuid() };
noneDicomStudyViewMark.IsCriticalSequence = true;
noneDicomStudyViewMark.NoneDicomStudyFileList = await _noneDicomStudyFileRepository.Where(x => noneDicomids.Contains(x.Id)).ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider).ToListAsync();
foreach (var item in noneDicomStudyViewMark.NoneDicomStudyFileList)
{
item.MarkTime = nonoDicomStudyFileIds.Where(x => x.NoneDicomFileId == item.Id).Select(x => x.CreateTime).FirstOrDefault();
}
noneDicomStudyViewMark.NoneDicomStudyFileList= noneDicomStudyViewMark.NoneDicomStudyFileList.OrderBy(x => x.MarkTime).ToList();
result.Insert(0, noneDicomStudyViewMark);
}