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:
2026-02-09 20:58:46 -05:00
8 changed files with 148 additions and 57 deletions
@@ -985,6 +985,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string QuestionGroupName { get; set; }
public string QuestionGroupEnName { get; set; }
/// <summary>
/// 影像工具
/// </summary>
@@ -375,6 +375,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(dest => dest.CreateUserRole, opt => opt.Ignore());
CreateMap<ReadingQuestionTrial, ReadingQuestionTrialView>()
.ForMember(d => d.QuestionGroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName))
.ForMember(d => d.QuestionGroupEnName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupEnName : s.GroupInfo.GroupEnName))
.ForMember(d => d.GroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName))
.ForMember(d => d.GroupEnName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupEnName : s.GroupInfo.GroupEnName))
.ForMember(d => d.ParentQuestionName, u => u.MapFrom(s => s.ParentReadingQuestionTrial == null ? string.Empty : s.ParentReadingQuestionTrial.QuestionName))
@@ -154,7 +154,7 @@ namespace IRaCIS.Core.Application.Contracts
{
isVirtual = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => x.TrialType != TrialType.OfficialTrial).FirstNotNullAsync();
await _doctorRepository.UpdatePartialFromQueryAsync(x => x.Id == dockerInfo.Id, y => new Doctor()
await _doctorRepository.BatchUpdateNoTrackingAsync(x => x.Id == dockerInfo.Id, y => new Doctor()
{
IsVirtual = isVirtual,
AcceptingNewTrial = inDto.TrialId == null ? false : true,
@@ -245,6 +245,17 @@ namespace IRaCIS.Core.Application.Contracts
{
result.DoctorId = dockerInfo.Id;
result.ReviewStatus = dockerInfo.ReviewStatus;
if(inDto.TrialId != null)
{
var isVirtual = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => x.TrialType != TrialType.OfficialTrial).FirstNotNullAsync();
await _doctorRepository.BatchUpdateNoTrackingAsync(x => x.Id == dockerInfo.Id, y => new Doctor()
{
IsVirtual = isVirtual,
AcceptingNewTrial = inDto.TrialId == null ? false : true,
CooperateStatus = inDto.TrialId == null ? ContractorStatusEnum.Noncooperation : ContractorStatusEnum.Cooperation,
});
}
}
else
{
@@ -254,16 +265,19 @@ namespace IRaCIS.Core.Application.Contracts
{
isVirtual = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => x.TrialType != TrialType.OfficialTrial).FirstNotNullAsync();
}
Doctor doctor = new Doctor()
{
EMail = inDto.EmailOrPhone,
IsVirtual = isVirtual,
AcceptingNewTrial = false,
AcceptingNewTrial = inDto.TrialId == null ? false : true,
ActivelyReading = false,
CooperateStatus = ContractorStatusEnum.Noncooperation,
ResumeStatus = ResumeStatusEnum.Pass,
CooperateStatus = inDto.TrialId == null ? ContractorStatusEnum.Noncooperation : ContractorStatusEnum.Cooperation,
ReviewStatus = ReviewerInformationConfirmStatus.ConfirmRefuse
};
doctor.Code = await _doctorRepository.Select(t => t.Code).DefaultIfEmpty().MaxAsync() + 1;
doctor.ReviewerCode = AppSettings.GetCodeStr(doctor.Code, nameof(Doctor));
var info = await _doctorRepository.AddAsync(doctor, true);