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
continuous-integration/drone/push Build is passing
Details
commit
e66475ab61
|
@ -52,6 +52,7 @@ SerilogExtension.AddSerilogSetup(enviromentName);
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
|
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
|
||||||
{
|
{
|
||||||
|
|
||||||
EnvironmentName = enviromentName
|
EnvironmentName = enviromentName
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public bool? IsDistinguishCriteria { get; set; }
|
public bool? IsDistinguishCriteria { get; set; }
|
||||||
|
|
||||||
public SysEmailLevel? SystemLevel { get; set; }
|
public SysEmailLevel? SystemLevel { get; set; }
|
||||||
public int? BusinessModuleEnum { get; set; }
|
public BusinessModule? BusinessModuleEnum { get; set; }
|
||||||
|
|
||||||
public int? EmailUrgentEnum { get; set; }
|
public int? EmailUrgentEnum { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
.WhereIf(inQuery.SystemLevel != null, t => t.SystemLevel == inQuery.SystemLevel)
|
.WhereIf(inQuery.SystemLevel != null, t => t.SystemLevel == inQuery.SystemLevel)
|
||||||
.WhereIf(inQuery.IsDistinguishCriteria != null, t => t.IsDistinguishCriteria == inQuery.IsDistinguishCriteria)
|
.WhereIf(inQuery.IsDistinguishCriteria != null, t => t.IsDistinguishCriteria == inQuery.IsDistinguishCriteria)
|
||||||
.WhereIf(inQuery.CriterionTypeEnum != null, t => t.CriterionTypeEnum == inQuery.CriterionTypeEnum)
|
.WhereIf(inQuery.CriterionTypeEnum != null, t => t.CriterionTypeEnum == inQuery.CriterionTypeEnum)
|
||||||
|
.WhereIf(inQuery.BusinessModuleEnum != null, t => t.BusinessModuleEnum == inQuery.BusinessModuleEnum)
|
||||||
.WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum)
|
.WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum)
|
||||||
.WhereIf(inQuery.IsReturnRequired != null, t => t.IsReturnRequired == inQuery.IsReturnRequired)
|
.WhereIf(inQuery.IsReturnRequired != null, t => t.IsReturnRequired == inQuery.IsReturnRequired)
|
||||||
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
||||||
|
|
|
@ -1607,10 +1607,11 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName, t.ArbitrationRule }).FirstNotNullAsync();
|
var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName, t.ArbitrationRule }).FirstNotNullAsync();
|
||||||
|
|
||||||
|
|
||||||
var query = _visitTaskRepository.Where(t => t.TrialId == inQuery.TrialId && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze))
|
var query = _visitTaskRepository.Where(t => t.TrialId == inQuery.TrialId && t.TaskAllocationState==TaskAllocationState.Allocated && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze))
|
||||||
|
|
||||||
//自身一致性分析
|
//一致性分析
|
||||||
.WhereIf(inQuery.ReadingExportType == ExportResult.DetailedTableOfIntraReaderAnalysisResults, t => t.IsSelfAnalysis == true || t.IsSelfAnalysis == null)
|
.WhereIf(inQuery.ReadingExportType == ExportResult.DetailedTableOfIntraReaderAnalysisResults, t => t.IsSelfAnalysis == true || t.IsSelfAnalysis == null)
|
||||||
|
.WhereIf(inQuery.ReadingExportType == ExportResult.DetailedTableOfIntraReaderAnalysisResults, t => t.IsSelfAnalysis == null? t.Subject.SubjectVisitTaskList.Any(u=>u.IsSelfAnalysis==true &&u.DoctorUserId==t.DoctorUserId ):true)
|
||||||
.WhereIf(inQuery.ReadingExportType == ExportResult.DetailedTableOfInterReaderAnalysisResults, t => t.IsSelfAnalysis == false || t.IsSelfAnalysis == null)
|
.WhereIf(inQuery.ReadingExportType == ExportResult.DetailedTableOfInterReaderAnalysisResults, t => t.IsSelfAnalysis == false || t.IsSelfAnalysis == null)
|
||||||
|
|
||||||
//访视和全局查询已签名完成的,裁判可以是未签名,未完成的
|
//访视和全局查询已签名完成的,裁判可以是未签名,未完成的
|
||||||
|
|
|
@ -116,6 +116,8 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public UserTypeEnum? ToUserType { get; set; }
|
public UserTypeEnum? ToUserType { get; set; }
|
||||||
|
|
||||||
public UserTypeEnum? CopyUserType { get; set; }
|
public UserTypeEnum? CopyUserType { get; set; }
|
||||||
|
|
||||||
|
public BusinessModule? BusinessModuleEnum { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace IRaCIS.Core.Application.Interfaces
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery);
|
Task<IResponseOutput<List<TrialEmailNoticeConfigView>>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery);
|
||||||
|
|
||||||
Task<IResponseOutput> AddOrUpdateTrialEmailNoticeConfig(TrialEmailNoticeConfigAddOrEdit addOrEditTrialEmailNoticeConfig);
|
Task<IResponseOutput> AddOrUpdateTrialEmailNoticeConfig(TrialEmailNoticeConfigAddOrEdit addOrEditTrialEmailNoticeConfig);
|
||||||
|
|
||||||
|
|
|
@ -1320,11 +1320,33 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task<IResponseOutput> BatchAddEnrollOrPdEmailConfig(Guid trialId)
|
||||||
|
{
|
||||||
|
var trialConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.IsEnrollementQualificationConfirm, t.IsPDProgressView }).First();
|
||||||
|
|
||||||
|
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == trialId)
|
||||||
|
|
||||||
|
.WhereIf(trialConfig.IsEnrollementQualificationConfirm == true, t => t.BusinessModuleEnum == BusinessModule.EligibilityVerification)
|
||||||
|
.WhereIf(trialConfig.IsPDProgressView == true, t => t.BusinessModuleEnum == BusinessModule.PDVerification)
|
||||||
|
.WhereIf(trialConfig.IsPDProgressView == true && trialConfig.IsEnrollementQualificationConfirm == true, t => t.BusinessModuleEnum == BusinessModule.PDVerification
|
||||||
|
&& t.BusinessModuleEnum == BusinessModule.EligibilityVerification)
|
||||||
|
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
|
|
||||||
|
var list = await trialEmailNoticeConfigQueryable.ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
return await BatchAddSysEmailConfig(_mapper.Map<List<BatchAddTrialEmailNoticeConfig>>(list));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
public async Task<IResponseOutput<List<TrialEmailNoticeConfigView>>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
||||||
{
|
{
|
||||||
//await SyncSystemEmainCofigDocListAsync(inQuery.TrialId);
|
//await SyncSystemEmainCofigDocListAsync(inQuery.TrialId);
|
||||||
|
|
||||||
|
var trialConfig = _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.IsEnrollementQualificationConfirm, t.IsPDProgressView }).First();
|
||||||
|
|
||||||
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
|
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
|
||||||
.WhereIf(inQuery.IsDistinguishCriteria == false, t => t.TrialReadingCriterionId == null)
|
.WhereIf(inQuery.IsDistinguishCriteria == false, t => t.TrialReadingCriterionId == null)
|
||||||
.WhereIf(inQuery.IsDistinguishCriteria == true, t => t.CriterionTypeEnum != null)
|
.WhereIf(inQuery.IsDistinguishCriteria == true, t => t.CriterionTypeEnum != null)
|
||||||
|
@ -1334,11 +1356,19 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
||||||
.WhereIf(inQuery.ToUserType != null, t => t.TrialEmailNoticeUserList.Any(t => t.UserType == inQuery.ToUserType && t.EmailUserType == EmailUserType.To))
|
.WhereIf(inQuery.ToUserType != null, t => t.TrialEmailNoticeUserList.Any(t => t.UserType == inQuery.ToUserType && t.EmailUserType == EmailUserType.To))
|
||||||
.WhereIf(inQuery.CopyUserType != null, t => t.TrialEmailNoticeUserList.Any(t => t.UserType == inQuery.CopyUserType && t.EmailUserType == EmailUserType.Copy))
|
.WhereIf(inQuery.CopyUserType != null, t => t.TrialEmailNoticeUserList.Any(t => t.UserType == inQuery.CopyUserType && t.EmailUserType == EmailUserType.Copy))
|
||||||
|
|
||||||
|
.WhereIf(inQuery.BusinessModuleEnum != null, t => t.BusinessModuleEnum == inQuery.BusinessModuleEnum)
|
||||||
|
.WhereIf(trialConfig.IsEnrollementQualificationConfirm == false, t => t.BusinessModuleEnum != BusinessModule.EligibilityVerification)
|
||||||
|
.WhereIf(trialConfig.IsPDProgressView == false, t => t.BusinessModuleEnum != BusinessModule.PDVerification)
|
||||||
|
.WhereIf(trialConfig.IsPDProgressView == false && trialConfig.IsEnrollementQualificationConfirm == false, t => t.BusinessModuleEnum != BusinessModule.PDVerification
|
||||||
|
&& t.BusinessModuleEnum != BusinessModule.EligibilityVerification)
|
||||||
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
var sortField = string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialEmailNoticeConfigView.Code) : inQuery.SortField;
|
var sortField = string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialEmailNoticeConfigView.Code) : inQuery.SortField;
|
||||||
var orderQuery = inQuery.Asc ? trialEmailNoticeConfigQueryable.OrderBy(sortField) : trialEmailNoticeConfigQueryable.OrderBy(sortField + " desc");
|
var orderQuery = inQuery.Asc ? trialEmailNoticeConfigQueryable.OrderBy(sortField) : trialEmailNoticeConfigQueryable.OrderBy(sortField + " desc");
|
||||||
return await orderQuery.ToListAsync();
|
var list = await orderQuery.ToListAsync();
|
||||||
|
|
||||||
|
return ResponseOutput.Ok(list, trialConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
CreateMap<BatchAddTrialEmailNoticeConfig, TrialEmailNoticeConfig>();
|
CreateMap<BatchAddTrialEmailNoticeConfig, TrialEmailNoticeConfig>();
|
||||||
|
|
||||||
|
CreateMap<TrialEmailNoticeConfigView, BatchAddTrialEmailNoticeConfig > ();
|
||||||
|
|
||||||
|
|
||||||
CreateMap<AddOrEditTrialDocument, TrialDocument>()
|
CreateMap<AddOrEditTrialDocument, TrialDocument>()
|
||||||
|
|
|
@ -2,8 +2,10 @@
|
||||||
using IdentityModel;
|
using IdentityModel;
|
||||||
using IdentityModel.Client;
|
using IdentityModel.Client;
|
||||||
using IRaCIS.Core.Application.Service.OAuth;
|
using IRaCIS.Core.Application.Service.OAuth;
|
||||||
|
using MassTransit;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
|
@ -208,12 +210,16 @@ namespace IRaCIS.Core.Application.Service
|
||||||
Console.WriteLine(tokenResponse);
|
Console.WriteLine(tokenResponse);
|
||||||
|
|
||||||
//结束回话
|
//结束回话
|
||||||
|
var parameters = new Parameters();
|
||||||
|
|
||||||
var endUrl = new RequestUrl(disco.EndSessionEndpoint).CreateEndSessionUrl(tokenResponse.IdToken, "http://localhost:6100/OAuth/TestPCKEOrgin");
|
parameters.Add("clientId", "aj34vqrpvz8olsbxwtcog");
|
||||||
|
var endUrl = new RequestUrl(disco.EndSessionEndpoint).CreateEndSessionUrl(tokenResponse.IdToken, "http://localhost:6100/OAuth/TestPCKEOrgin", extra: parameters);
|
||||||
|
|
||||||
var _endHttpClient = new HttpClient();
|
|
||||||
|
|
||||||
var dd = await _endHttpClient.GetAsync(endUrl);
|
Results.Redirect(endUrl);
|
||||||
|
//var _endHttpClient = new HttpClient();
|
||||||
|
|
||||||
|
//var dd = await _endHttpClient.GetAsync(endUrl);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -162,6 +162,12 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
var info=await _doctorRepository.AddAsync(doctor,true);
|
var info=await _doctorRepository.AddAsync(doctor,true);
|
||||||
|
|
||||||
|
//await _userRepository.BatchUpdateNoTrackingAsync(x => x.EMail == inDto.EmailOrPhone, x => new User()
|
||||||
|
//{
|
||||||
|
// DoctorId = info.DoctorId,
|
||||||
|
|
||||||
|
//});
|
||||||
|
|
||||||
result.DoctorId = info.Id;
|
result.DoctorId = info.Id;
|
||||||
result.ReviewStatus = info.ReviewStatus;
|
result.ReviewStatus = info.ReviewStatus;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class EmailNoticeConfig : BaseFullDeleteAuditEntity
|
||||||
public int BusinessLevelEnum { get; set; }
|
public int BusinessLevelEnum { get; set; }
|
||||||
|
|
||||||
[Comment("业务模块")]
|
[Comment("业务模块")]
|
||||||
public int BusinessModuleEnum { get; set; }
|
public BusinessModule BusinessModuleEnum { get; set; }
|
||||||
|
|
||||||
[Comment("业务场景")]
|
[Comment("业务场景")]
|
||||||
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
||||||
|
@ -83,3 +83,55 @@ public class EmailNoticeUserType : Entity
|
||||||
public EmailUserType EmailUserType { get; set; }
|
public EmailUserType EmailUserType { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum BusinessModule
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 影像质控
|
||||||
|
/// </summary>
|
||||||
|
ImageQualityControl = 1,
|
||||||
|
/// <summary>
|
||||||
|
/// 影像阅片
|
||||||
|
/// </summary>
|
||||||
|
ImageReading = 2,
|
||||||
|
/// <summary>
|
||||||
|
/// 系统登录
|
||||||
|
/// </summary>
|
||||||
|
Login = 4,
|
||||||
|
/// <summary>
|
||||||
|
/// 后台邮件
|
||||||
|
/// </summary>
|
||||||
|
BackstageEmail = 5,
|
||||||
|
/// <summary>
|
||||||
|
/// 账号信息
|
||||||
|
/// </summary>
|
||||||
|
UserAccount = 6,
|
||||||
|
/// <summary>
|
||||||
|
/// 中心调研
|
||||||
|
/// </summary>
|
||||||
|
SiteSurvey = 7,
|
||||||
|
/// <summary>
|
||||||
|
/// 阅片人管理
|
||||||
|
/// </summary>
|
||||||
|
ReviewerManagement = 8,
|
||||||
|
/// <summary>
|
||||||
|
/// 问题反馈
|
||||||
|
/// </summary>
|
||||||
|
UsersSuggestions = 9,
|
||||||
|
/// <summary>
|
||||||
|
/// 入组确认
|
||||||
|
/// </summary>
|
||||||
|
EligibilityVerification = 10,
|
||||||
|
/// <summary>
|
||||||
|
/// PD确认
|
||||||
|
/// </summary>
|
||||||
|
PDVerification = 11,
|
||||||
|
/// <summary>
|
||||||
|
/// 医学反馈
|
||||||
|
/// </summary>
|
||||||
|
MedicalQC = 13,
|
||||||
|
/// <summary>
|
||||||
|
/// 入组/PD确认
|
||||||
|
/// </summary>
|
||||||
|
Eligibility_PDVerification = 12,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class TrialEmailNoticeConfig : BaseFullDeleteAuditEntity
|
||||||
|
|
||||||
public int BusinessLevelEnum { get; set; }
|
public int BusinessLevelEnum { get; set; }
|
||||||
|
|
||||||
public int BusinessModuleEnum { get; set; }
|
public BusinessModule BusinessModuleEnum { get; set; }
|
||||||
|
|
||||||
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue