Test.EIImageViewer
parent
4955437524
commit
80ef28f640
|
@ -82,6 +82,8 @@
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.10" />
|
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.10" />
|
||||||
|
<PackageReference Include="Quartz.Extensions.DependencyInjection" Version="3.6.2" />
|
||||||
|
<PackageReference Include="Quartz.Extensions.Hosting" Version="3.6.2" />
|
||||||
<PackageReference Include="Serilog.AspNetCore" Version="6.0.1" />
|
<PackageReference Include="Serilog.AspNetCore" Version="6.0.1" />
|
||||||
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="1.2.0" />
|
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="1.2.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.Email" Version="2.4.0" />
|
<PackageReference Include="Serilog.Sinks.Email" Version="2.4.0" />
|
||||||
|
|
|
@ -115,7 +115,8 @@ namespace IRaCIS.Core.API
|
||||||
//services.AddDistributedMemoryCache();
|
//services.AddDistributedMemoryCache();
|
||||||
|
|
||||||
// hangfire 定时任务框架 有界面,更友好~
|
// hangfire 定时任务框架 有界面,更友好~
|
||||||
services.AddhangfireSetup(_configuration);
|
//services.AddhangfireSetup(_configuration);
|
||||||
|
|
||||||
// QuartZ 定时任务框架 使用了hangfire 暂时不用,后续需要可以打开,已经配好
|
// QuartZ 定时任务框架 使用了hangfire 暂时不用,后续需要可以打开,已经配好
|
||||||
services.AddQuartZSetup(_configuration);
|
services.AddQuartZSetup(_configuration);
|
||||||
|
|
||||||
|
@ -172,7 +173,6 @@ namespace IRaCIS.Core.API
|
||||||
//响应压缩
|
//响应压缩
|
||||||
app.UseResponseCompression();
|
app.UseResponseCompression();
|
||||||
|
|
||||||
//app.UseCors(t => t.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
|
|
||||||
|
|
||||||
//不需要 token 访问的静态文件 wwwroot css, JavaScript, and images don't require authentication.
|
//不需要 token 访问的静态文件 wwwroot css, JavaScript, and images don't require authentication.
|
||||||
app.UseStaticFiles();
|
app.UseStaticFiles();
|
||||||
|
@ -181,14 +181,9 @@ namespace IRaCIS.Core.API
|
||||||
//LogDashboard
|
//LogDashboard
|
||||||
app.UseLogDashboard("/LogDashboard");
|
app.UseLogDashboard("/LogDashboard");
|
||||||
|
|
||||||
//hangfire
|
////hangfire
|
||||||
app.UseHangfireConfig(env);
|
//app.UseHangfireConfig(env);
|
||||||
|
|
||||||
////暂时废弃
|
|
||||||
//app.UseHttpReports();
|
|
||||||
|
|
||||||
////限流 中间件
|
|
||||||
//app.UseIpRateLimiting();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -202,7 +197,6 @@ namespace IRaCIS.Core.API
|
||||||
}
|
}
|
||||||
Console.WriteLine("当前环境: " + env.EnvironmentName);
|
Console.WriteLine("当前环境: " + env.EnvironmentName);
|
||||||
|
|
||||||
//app.UseMiddleware<AuthMiddleware>();
|
|
||||||
|
|
||||||
// 特殊异常处理 比如 404
|
// 特殊异常处理 比如 404
|
||||||
app.UseStatusCodePagesWithReExecute("/Error/{0}");
|
app.UseStatusCodePagesWithReExecute("/Error/{0}");
|
||||||
|
@ -220,17 +214,9 @@ namespace IRaCIS.Core.API
|
||||||
|
|
||||||
app.UseIRacisHostStaticFileStore(env);
|
app.UseIRacisHostStaticFileStore(env);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app.UseAuthentication();
|
app.UseAuthentication();
|
||||||
//app.UseJwtBearerQueryString();
|
|
||||||
app.UseAuthorization();
|
app.UseAuthorization();
|
||||||
|
|
||||||
////文件伺服 必须带Token 访问
|
|
||||||
////app.UseIRacisHostStaticFileStore(env);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app.UseEndpoints(endpoints =>
|
app.UseEndpoints(endpoints =>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
|
||||||
|
using IRaCIS.Application.Services.BackGroundJob;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Quartz;
|
||||||
|
|
||||||
namespace IRaCIS.Core.API
|
namespace IRaCIS.Core.API
|
||||||
{
|
{
|
||||||
|
@ -8,37 +10,35 @@ namespace IRaCIS.Core.API
|
||||||
{
|
{
|
||||||
public static void AddQuartZSetup(this IServiceCollection services, IConfiguration configuration)
|
public static void AddQuartZSetup(this IServiceCollection services, IConfiguration configuration)
|
||||||
{
|
{
|
||||||
//services.AddTransient<CacheTrialStatusQuartZJob>();
|
services.AddTransient<CacheTrialStatusQuartZJob>();
|
||||||
|
|
||||||
//services.AddQuartz(q =>
|
services.AddQuartz(q =>
|
||||||
//{
|
{
|
||||||
// // base quartz scheduler, job and trigger configuration
|
// base quartz scheduler, job and trigger configuration
|
||||||
|
|
||||||
// // as of 3.3.2 this also injects scoped services (like EF DbContext) without problems
|
// as of 3.3.2 this also injects scoped services (like EF DbContext) without problems
|
||||||
// q.UseMicrosoftDependencyInjectionJobFactory();
|
q.UseMicrosoftDependencyInjectionJobFactory();
|
||||||
|
|
||||||
// // 基本Quartz调度器、作业和触发器配置
|
// 基本Quartz调度器、作业和触发器配置
|
||||||
// var jobKey = new JobKey("RegularTrialWork", "regularWorkGroup");
|
var jobKey = new JobKey("RegularTrialWork", "regularWorkGroup");
|
||||||
// q.AddJob<CacheTrialStatusQuartZJob>(jobKey, j => j
|
q.AddJob<CacheTrialStatusQuartZJob>(jobKey, j => j
|
||||||
// .WithDescription("Trial regular work")
|
.WithDescription("Trial regular work")
|
||||||
// );
|
);
|
||||||
// q.AddTrigger(t => t
|
q.AddTrigger(t => t
|
||||||
// .WithIdentity("TrialStatusTrigger")
|
.WithIdentity("TrialStatusTrigger")
|
||||||
// .ForJob(jobKey)
|
.ForJob(jobKey)
|
||||||
// //.StartNow()
|
|
||||||
// //.WithSimpleSchedule(x => x.WithInterval(TimeSpan.FromSeconds(15))//开始秒数 15s
|
|
||||||
// // .RepeatForever())//持续工作
|
|
||||||
// .WithCronSchedule("0 0 0/2 * * ?")//每小时执行一次
|
|
||||||
// .WithDescription("My regular trial work trigger")
|
|
||||||
// );
|
|
||||||
//});
|
|
||||||
|
|
||||||
//// ASP.NET Core hosting
|
.WithCronSchedule("0 0 * * * ?")//每小时执行一次
|
||||||
//services.AddQuartzServer(options =>
|
.WithDescription("My regular trial work trigger")
|
||||||
//{
|
);
|
||||||
// // when shutting down we want jobs to complete gracefully
|
});
|
||||||
// options.WaitForJobsToComplete = true;
|
|
||||||
//});
|
// ASP.NET Core hosting
|
||||||
|
services.AddQuartzHostedService(options =>
|
||||||
|
{
|
||||||
|
// when shutting down we want jobs to complete gracefully
|
||||||
|
options.WaitForJobsToComplete = true;
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft": "Warning",
|
|
||||||
"Microsoft.Hosting.Lifetime": "Information"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ConnectionStrings": {
|
|
||||||
"RemoteNew": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_Verify;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true",
|
|
||||||
"Hangfire": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Hangfire_IRaCIS;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"
|
|
||||||
},
|
|
||||||
"BasicSystemConfig": {
|
|
||||||
|
|
||||||
"OpenUserComplexPassword": true,
|
|
||||||
|
|
||||||
"OpenSignDocumentBeforeWork": true,
|
|
||||||
|
|
||||||
"OpenLoginLimit": true
|
|
||||||
|
|
||||||
},
|
|
||||||
"SystemEmailSendConfig": {
|
|
||||||
"Port": 465,
|
|
||||||
"Host": "smtp.qiye.aliyun.com",
|
|
||||||
"FromEmail": "uat@extimaging.com",
|
|
||||||
"FromName": "UAT_IRC",
|
|
||||||
"AuthorizationCode": "SHzyyl2021"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft": "Warning",
|
|
||||||
"Microsoft.Hosting.Lifetime": "Information"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ConnectionStrings": {
|
|
||||||
"RemoteNew": "Server=47.90.161.85,1433\\MSSQLSERVER;Database=IRaCIS_Demo_US;User ID=sa;Password=zhanying2021;TrustServerCertificate=true",
|
|
||||||
"Hangfire": "Server=47.90.161.85,1433\\MSSQLSERVER;Database=Hangfire.IRaCIS_Demo_US;User ID=sa;Password=zhanying2021;TrustServerCertificate=true"
|
|
||||||
|
|
||||||
},
|
|
||||||
"BasicSystemConfig": {
|
|
||||||
|
|
||||||
"OpenUserComplexPassword": false,
|
|
||||||
|
|
||||||
"OpenSignDocumentBeforeWork": false,
|
|
||||||
|
|
||||||
"OpenTrialRelationDelete": true,
|
|
||||||
|
|
||||||
"OpenLoginLimit": false
|
|
||||||
},
|
|
||||||
|
|
||||||
"SystemEmailSendConfig": {
|
|
||||||
"Port": 465,
|
|
||||||
"Host": "smtp.qiye.aliyun.com",
|
|
||||||
"FromEmail": "test@extimaging.com",
|
|
||||||
"FromName": "Test_IRC",
|
|
||||||
"AuthorizationCode": "SHzyyl2021"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
|
||||||
"hang": "Server=ZHOU;Database=IRaCIS;User ID=sa;Password=sa123456;"
|
|
||||||
},
|
|
||||||
"JwtSetting": {
|
"JwtSetting": {
|
||||||
"SecurityKey": "3e6dbfa227234a03977a2f421bdb7f4f", // 密钥
|
"SecurityKey": "3e6dbfa227234a03977a2f421bdb7f4f", // 密钥
|
||||||
"Issuer": "IRaCIS", // 颁发者
|
"Issuer": "IRaCIS", // 颁发者
|
||||||
|
@ -74,6 +71,7 @@
|
||||||
|
|
||||||
"NoneDicomStudyCodePrefix": "NST",
|
"NoneDicomStudyCodePrefix": "NST",
|
||||||
|
|
||||||
|
|
||||||
"DicomStudyCodePrefix": "ST",
|
"DicomStudyCodePrefix": "ST",
|
||||||
|
|
||||||
"SystemSiteCodePrefix": "S",
|
"SystemSiteCodePrefix": "S",
|
||||||
|
|
|
@ -7,6 +7,7 @@ using IRaCIS.Core.Infra.EFCore;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Quartz;
|
using Quartz;
|
||||||
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
|
||||||
namespace IRaCIS.Application.Services.BackGroundJob
|
namespace IRaCIS.Application.Services.BackGroundJob
|
||||||
{
|
{
|
||||||
|
@ -17,24 +18,25 @@ namespace IRaCIS.Application.Services.BackGroundJob
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
private readonly IEasyCachingProvider _provider;
|
private readonly IEasyCachingProvider _provider;
|
||||||
private readonly ILogger<CacheTrialStatusQuartZJob> _logger;
|
private readonly ILogger<CacheTrialStatusQuartZJob> _logger;
|
||||||
|
private readonly IRepository<SystemAnonymization> _systemAnonymizationRepository;
|
||||||
|
|
||||||
public CacheTrialStatusQuartZJob(IRepository<Trial> trialRepository, IEasyCachingProvider provider,ILogger<CacheTrialStatusQuartZJob> logger)
|
public CacheTrialStatusQuartZJob(IRepository<Trial> trialRepository, IEasyCachingProvider provider,ILogger<CacheTrialStatusQuartZJob> logger, IRepository<SystemAnonymization> systemAnonymizationRepository)
|
||||||
{
|
{
|
||||||
_trialRepository = trialRepository;
|
_trialRepository = trialRepository;
|
||||||
_provider = provider;
|
_provider = provider;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_systemAnonymizationRepository = systemAnonymizationRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task Execute(IJobExecutionContext context)
|
public async Task Execute(IJobExecutionContext context)
|
||||||
|
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"开始执行QuartZ定时任务作业");
|
_logger.LogInformation($"开始执行QuartZ定时任务作业");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var list = _trialRepository.Select(t => new { TrialId = t.Id, TrialStatusStr = t.TrialStatusStr })
|
await MemoryCacheTrialStatus();
|
||||||
.ToList();
|
|
||||||
|
|
||||||
list.ForEach(t => _provider.Set(t.TrialId.ToString(), t.TrialStatusStr, TimeSpan.FromDays(1)));
|
await MemoryCacheAnonymizeData();
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -42,10 +44,28 @@ namespace IRaCIS.Application.Services.BackGroundJob
|
||||||
_logger.LogError($" 查询和缓存过程出现异常"+e.Message);
|
_logger.LogError($" 查询和缓存过程出现异常"+e.Message);
|
||||||
}
|
}
|
||||||
_logger.LogInformation("QuartZ定时任务作业结束");
|
_logger.LogInformation("QuartZ定时任务作业结束");
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task MemoryCacheTrialStatus()
|
||||||
|
{
|
||||||
|
var list = await _trialRepository.Select(t => new { TrialId = t.Id, TrialStatusStr = t.TrialStatusStr })
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
list.ForEach(t => _provider.Set(t.TrialId.ToString(), t.TrialStatusStr, TimeSpan.FromDays(7)));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task MemoryCacheAnonymizeData()
|
||||||
|
{
|
||||||
|
var systemAnonymizationList = await _systemAnonymizationRepository.Where(t => t.IsEnable).ToListAsync();
|
||||||
|
|
||||||
|
_provider.Set(StaticData.Anonymize.Anonymize_AddFixedFiled, systemAnonymizationList.Where(t => t.IsAdd && t.IsFixed).ToList(), TimeSpan.FromDays(7));
|
||||||
|
_provider.Set(StaticData.Anonymize.Anonymize_AddIRCInfoFiled, systemAnonymizationList.Where(t => t.IsAdd && t.IsFixed == false).ToList(), TimeSpan.FromDays(7));
|
||||||
|
_provider.Set(StaticData.Anonymize.Anonymize_FixedField, systemAnonymizationList.Where(t => t.IsAdd == false && t.IsFixed).ToList(), TimeSpan.FromDays(7));
|
||||||
|
_provider.Set(StaticData.Anonymize.Anonymize_IRCInfoField, systemAnonymizationList.Where(t => t.IsAdd == false && t.IsFixed == false).ToList(), TimeSpan.FromDays(7));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,26 +123,28 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
foreach (var subjectVisit in subjectGroup.SubjectVisitList)
|
foreach (var subjectVisit in subjectGroup.SubjectVisitList)
|
||||||
{
|
{
|
||||||
var blindTaskName = string.Empty;
|
//var blindTaskName = string.Empty;
|
||||||
|
|
||||||
|
var blindTaskName = subjectVisit.VisitName;
|
||||||
|
|
||||||
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList);
|
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList);
|
||||||
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
||||||
|
|
||||||
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
//if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
||||||
{
|
//{
|
||||||
blindTaskName = visitBlindConfig.BlindBaseLineName;
|
// blindTaskName = visitBlindConfig.BlindBaseLineName;
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
|
// if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
|
||||||
{
|
// {
|
||||||
blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
|
// blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
|
// blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
//每个访视 根据项目配置生成任务 双审生成两个
|
//每个访视 根据项目配置生成任务 双审生成两个
|
||||||
|
|
||||||
|
@ -540,27 +542,27 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var assignConfigList = await _subjectUserRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.SubjectId == subjectVisit.SubjectId && t.OrignalSubjectUserId == null && t.IsConfirmed).Select(u => new { u.DoctorUserId, u.ArmEnum }).ToListAsync();
|
var assignConfigList = await _subjectUserRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.SubjectId == subjectVisit.SubjectId && t.OrignalSubjectUserId == null && t.IsConfirmed).Select(u => new { u.DoctorUserId, u.ArmEnum }).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
var blindTaskName = string.Empty;
|
var blindTaskName = subjectVisit.VisitName;
|
||||||
|
|
||||||
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList);
|
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList);
|
||||||
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
||||||
|
|
||||||
|
|
||||||
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
//if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
||||||
{
|
//{
|
||||||
blindTaskName = visitBlindConfig.BlindBaseLineName;
|
// blindTaskName = visitBlindConfig.BlindBaseLineName;
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
|
// if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
|
||||||
{
|
// {
|
||||||
blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
|
// blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
|
// blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
//每个访视 根据项目配置生成任务 双审生成两个
|
//每个访视 根据项目配置生成任务 双审生成两个
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
|
using Microsoft.EntityFrameworkCore.ChangeTracking.Internal;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
@ -25,7 +26,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public class UnionDocumentView : SystemDocumentAddOrEdit
|
public class UnionDocumentView : SystemDocumentAddOrEdit
|
||||||
{
|
{
|
||||||
public string FullFilePath { get; set; } = string.Empty;
|
public string FullFilePath { get; set; }
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
public DateTime UpdateTime { get; set; }
|
public DateTime UpdateTime { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -151,7 +151,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
FileType = sysDoc.FileType.MappedValue,
|
FileType = sysDoc.FileType.MappedValue,
|
||||||
UpdateTime = sysDoc.UpdateTime,
|
UpdateTime = sysDoc.UpdateTime,
|
||||||
|
|
||||||
FullFilePath = sysDoc.Path + "?access_token=" + _userInfo.UserToken,
|
FullFilePath = sysDoc.Path ,
|
||||||
|
|
||||||
ConfirmUserId = confirm.ConfirmUserId,
|
ConfirmUserId = confirm.ConfirmUserId,
|
||||||
ConfirmTime = confirm.ConfirmTime,
|
ConfirmTime = confirm.ConfirmTime,
|
||||||
|
|
|
@ -195,6 +195,9 @@ namespace IRaCIS.Application.Services
|
||||||
trial.IsHaveFirstGiveMedicineDate = false;
|
trial.IsHaveFirstGiveMedicineDate = false;
|
||||||
|
|
||||||
trial.TrialStatusStr = StaticData.TrialState.TrialOngoing;
|
trial.TrialStatusStr = StaticData.TrialState.TrialOngoing;
|
||||||
|
|
||||||
|
trial.BlindBaseLineName = "Batch 1";
|
||||||
|
trial.BlindBaseLineName = "Batch ";
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue