Merge branch '中心影像_Test环境' of http://192.168.1.2:8033/IRaCIS_Core_Api into 中心影像_Test环境
commit
462ef4671e
|
@ -1,9 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using EasyCaching.Core;
|
using EasyCaching.Core;
|
||||||
using gRPC.ZHiZHUN.AuthServer.protos;
|
|
||||||
using Grpc.Net.Client;
|
|
||||||
using Grpc.Net.Client.Configuration;
|
|
||||||
using IRaCIS.Application.Interfaces;
|
using IRaCIS.Application.Interfaces;
|
||||||
using IRaCIS.Application.Contracts;
|
using IRaCIS.Application.Contracts;
|
||||||
using IRaCIS.Core.Application.Auth;
|
using IRaCIS.Core.Application.Auth;
|
||||||
|
|
|
@ -72,16 +72,6 @@
|
||||||
<PackageReference Include="EasyCaching.InMemory" Version="1.7.0" />
|
<PackageReference Include="EasyCaching.InMemory" Version="1.7.0" />
|
||||||
<PackageReference Include="EasyCaching.Interceptor.Castle" Version="1.7.0" />
|
<PackageReference Include="EasyCaching.Interceptor.Castle" Version="1.7.0" />
|
||||||
<PackageReference Include="EntityFrameworkCore.Triggered.Extensions" Version="3.2.1" />
|
<PackageReference Include="EntityFrameworkCore.Triggered.Extensions" Version="3.2.1" />
|
||||||
<PackageReference Include="Google.Protobuf" Version="3.21.8" />
|
|
||||||
<PackageReference Include="Grpc.Net.Client" Version="2.49.0" />
|
|
||||||
<PackageReference Include="Grpc.Tools" Version="2.50.0">
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="Hangfire" Version="1.7.31">
|
|
||||||
<TreatAsUsed>true</TreatAsUsed>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="Hangfire.Tags.SqlServer" Version="1.8.1" />
|
|
||||||
<PackageReference Include="Invio.Extensions.Authentication.JwtBearer" Version="2.0.1" />
|
<PackageReference Include="Invio.Extensions.Authentication.JwtBearer" Version="2.0.1" />
|
||||||
<PackageReference Include="LogDashboard" Version="1.4.8" />
|
<PackageReference Include="LogDashboard" Version="1.4.8" />
|
||||||
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
|
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
|
||||||
|
|
|
@ -401,113 +401,5 @@
|
||||||
<param name="withPrivate"></param>
|
<param name="withPrivate"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:gRPC.ZHiZHUN.AuthServer.protos.GrpcTokenReflection">
|
|
||||||
<summary>Holder for reflection information generated from Protos/GrpcToken.proto</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:gRPC.ZHiZHUN.AuthServer.protos.GrpcTokenReflection.Descriptor">
|
|
||||||
<summary>File descriptor for Protos/GrpcToken.proto</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest">
|
|
||||||
<summary>
|
|
||||||
新增用户时需要传递数据消息, 可理解为一个类
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.IdFieldNumber">
|
|
||||||
<summary>Field number for the "id" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.UserNameFieldNumber">
|
|
||||||
<summary>Field number for the "userName" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.RealNameFieldNumber">
|
|
||||||
<summary>Field number for the "realName" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.ReviewerCodeFieldNumber">
|
|
||||||
<summary>Field number for the "reviewerCode" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.UserTypeEnumIntFieldNumber">
|
|
||||||
<summary>Field number for the "userTypeEnumInt" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.UserTypeShortNameFieldNumber">
|
|
||||||
<summary>Field number for the "userTypeShortName" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest.IsAdminFieldNumber">
|
|
||||||
<summary>Field number for the "isAdmin" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:gRPC.ZHiZHUN.AuthServer.protos.GetTokenResponse">
|
|
||||||
<summary>
|
|
||||||
新增时返回的消息格式
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenResponse.CodeFieldNumber">
|
|
||||||
<summary>Field number for the "code" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:gRPC.ZHiZHUN.AuthServer.protos.GetTokenResponse.TokenFieldNumber">
|
|
||||||
<summary>Field number for the "token" field.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService">
|
|
||||||
<summary>
|
|
||||||
service 用标识定义服务的,里面写对应的方法
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.Descriptor">
|
|
||||||
<summary>Service descriptor</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient">
|
|
||||||
<summary>Client for TokenGrpcService</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.#ctor(Grpc.Core.ChannelBase)">
|
|
||||||
<summary>Creates a new client for TokenGrpcService</summary>
|
|
||||||
<param name="channel">The channel to use to make remote calls.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.#ctor(Grpc.Core.CallInvoker)">
|
|
||||||
<summary>Creates a new client for TokenGrpcService that uses a custom <c>CallInvoker</c>.</summary>
|
|
||||||
<param name="callInvoker">The callInvoker to use to make remote calls.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.#ctor">
|
|
||||||
<summary>Protected parameterless constructor to allow creation of test doubles.</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.#ctor(Grpc.Core.ClientBase.ClientBaseConfiguration)">
|
|
||||||
<summary>Protected constructor to allow creation of configured clients.</summary>
|
|
||||||
<param name="configuration">The client configuration.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.GetUserToken(gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
获取token
|
|
||||||
</summary>
|
|
||||||
<param name="request">The request to send to the server.</param>
|
|
||||||
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
|
|
||||||
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
|
|
||||||
<param name="cancellationToken">An optional token for canceling the call.</param>
|
|
||||||
<returns>The response received from the server.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.GetUserToken(gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest,Grpc.Core.CallOptions)">
|
|
||||||
<summary>
|
|
||||||
获取token
|
|
||||||
</summary>
|
|
||||||
<param name="request">The request to send to the server.</param>
|
|
||||||
<param name="options">The options for the call.</param>
|
|
||||||
<returns>The response received from the server.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.GetUserTokenAsync(gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
获取token
|
|
||||||
</summary>
|
|
||||||
<param name="request">The request to send to the server.</param>
|
|
||||||
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
|
|
||||||
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
|
|
||||||
<param name="cancellationToken">An optional token for canceling the call.</param>
|
|
||||||
<returns>The call object.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.GetUserTokenAsync(gRPC.ZHiZHUN.AuthServer.protos.GetTokenReuqest,Grpc.Core.CallOptions)">
|
|
||||||
<summary>
|
|
||||||
获取token
|
|
||||||
</summary>
|
|
||||||
<param name="request">The request to send to the server.</param>
|
|
||||||
<param name="options">The options for the call.</param>
|
|
||||||
<returns>The call object.</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:gRPC.ZHiZHUN.AuthServer.protos.TokenGrpcService.TokenGrpcServiceClient.NewInstance(Grpc.Core.ClientBase.ClientBaseConfiguration)">
|
|
||||||
<summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
|
|
||||||
</member>
|
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
using Hangfire;
|
|
||||||
using Hangfire.Dashboard;
|
|
||||||
using IRaCIS.Application.Services.BackGroundJob;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
|
|
||||||
namespace IRaCIS.Core.API
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
public static class HangfireConfig
|
|
||||||
{
|
|
||||||
|
|
||||||
public static void UseHangfireConfig(this IApplicationBuilder app, IWebHostEnvironment env)
|
|
||||||
{
|
|
||||||
app.UseHangfireDashboard("/api/hangfire", new DashboardOptions()
|
|
||||||
{
|
|
||||||
//直接访问,没有带token 获取不到用户身份信息,所以这种自定义授权暂时没法使用
|
|
||||||
//Authorization = new[] { new hangfireAuthorizationFilter() }
|
|
||||||
|
|
||||||
//本地请求 才能看
|
|
||||||
Authorization = new[] { new LocalRequestsOnlyAuthorizationFilter() }
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
#region hangfire
|
|
||||||
//// 延迟任务执行 1秒之后执行 有时启动没运行 换成添加到队列中
|
|
||||||
//BackgroundJob.Schedule<ICacheTrialStatusJob>(t => t.MemoryCacheTrialStatus(), TimeSpan.FromSeconds(1));
|
|
||||||
////添加到后台任务队列,
|
|
||||||
//BackgroundJob.Enqueue<ICacheTrialStatusJob>(t => t.MemoryCacheTrialStatus());
|
|
||||||
|
|
||||||
//周期性任务,1天执行一次
|
|
||||||
|
|
||||||
RecurringJob.AddOrUpdate<IIRaCISCacheHangfireJob>(t => t.ProjectStartCache(), Cron.Daily);
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
using Hangfire.Dashboard;
|
|
||||||
|
|
||||||
namespace IRaCIS.Core.API.Filter
|
|
||||||
{
|
|
||||||
public class hangfireAuthorizationFilter : IDashboardAuthorizationFilter
|
|
||||||
{
|
|
||||||
public bool Authorize(DashboardContext context)
|
|
||||||
{
|
|
||||||
var httpContext = context.GetHttpContext();
|
|
||||||
|
|
||||||
// Allow all authenticated users to see the Dashboard (potentially dangerous).
|
|
||||||
return httpContext.User.Identity.IsAuthenticated;
|
|
||||||
|
|
||||||
//return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +1,4 @@
|
||||||
using Hangfire;
|
using IRaCIS.Core.API._PipelineExtensions.Serilog;
|
||||||
using Hangfire.Dashboard;
|
|
||||||
using IRaCIS.Core.API._PipelineExtensions.Serilog;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
using Hangfire;
|
|
||||||
using Hangfire.SqlServer;
|
|
||||||
using Hangfire.Tags.SqlServer;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace IRaCIS.Core.API
|
|
||||||
{
|
|
||||||
public static class hangfireSetup
|
|
||||||
{
|
|
||||||
public static void AddhangfireSetup(this IServiceCollection services, IConfiguration configuration)
|
|
||||||
{
|
|
||||||
var hangFireConnStr = configuration.GetSection("ConnectionStrings:Hangfire").Value;
|
|
||||||
|
|
||||||
services.AddHangfire(hangFireConfig =>
|
|
||||||
{
|
|
||||||
//指定存储介质
|
|
||||||
hangFireConfig.UseSqlServerStorage(hangFireConnStr, new SqlServerStorageOptions()
|
|
||||||
{
|
|
||||||
SchemaName = "hangfire",
|
|
||||||
CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
|
|
||||||
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
|
|
||||||
QueuePollInterval = TimeSpan.Zero,
|
|
||||||
UseRecommendedIsolationLevel = true,
|
|
||||||
UsePageLocksOnDequeue = true,
|
|
||||||
DisableGlobalLocks = true
|
|
||||||
});
|
|
||||||
|
|
||||||
hangFireConfig.UseTagsWithSql(); //nuget引入Hangfire.Tags.SqlServer
|
|
||||||
//.UseHangfireHttpJob();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
services.AddHangfireServer();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1432,18 +1432,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze);
|
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze);
|
||||||
|
|
||||||
|
|
||||||
if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment)
|
|
||||||
{
|
|
||||||
//影像退回,必定影响两个标准的任务
|
|
||||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == task.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//默认影响的都是该标准的任务
|
|
||||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == task.TrialReadingCriterionId);
|
|
||||||
}
|
|
||||||
|
|
||||||
//PM 才允许操作
|
//PM 才允许操作
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
|
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
|
||||||
|
@ -1670,50 +1658,16 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
//IR 申请1.1 基线重阅,影响附加评估所有的任务
|
//IR 申请1.1 基线重阅,影响附加评估所有的任务
|
||||||
var isIR1Point1AdditionalAssessmentBaseline = false;
|
var isIR1Point1AdditionalAssessmentBaseline = false;
|
||||||
|
|
||||||
//附加评估 IR 和PM 看到的影响列表不一样
|
|
||||||
if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment)
|
|
||||||
{
|
|
||||||
|
|
||||||
// IR 申请 PM 同意
|
|
||||||
if (((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUser.UserTypeEnum == UserTypeEnum.IndependentReviewer))
|
|
||||||
|| (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null)))
|
|
||||||
{
|
|
||||||
|
|
||||||
// 1.1 基线任务影响BM任务
|
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && _subjectVisitRepository.Any(t => t.Id == filterObj.SourceSubjectVisitId && t.IsBaseLine == true))
|
|
||||||
{
|
|
||||||
|
|
||||||
isIR1Point1AdditionalAssessmentBaseline = true;
|
|
||||||
//filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
// 1.1 非基线任务不影响BM任务
|
|
||||||
else
|
|
||||||
{
|
|
||||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
//(1、PM回退,PM申请重阅,SPM同意回退)
|
|
||||||
else
|
|
||||||
{
|
|
||||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//默认影响的都是该标准的任务
|
|
||||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//重阅影响
|
//重阅影响
|
||||||
if (isReReading)
|
if (isReReading)
|
||||||
{
|
{
|
||||||
|
//默认影响的都是该标准的任务
|
||||||
|
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId);
|
||||||
|
|
||||||
|
|
||||||
//IR 申请 PM 同意 仅仅影响自己
|
//IR 申请 PM 同意 仅仅影响自己
|
||||||
|
@ -1738,7 +1692,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
filterExpression = filterExpression.And(t => t.Id == filterObj.Id || t.Id == filterObj.JudgeVisitTaskId);
|
filterExpression = filterExpression.And(t => t.Id == filterObj.Id || t.Id == filterObj.JudgeVisitTaskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//throw new BusinessValidationFailedException("仅允许PM 同意 IR 申请的任务");
|
//throw new BusinessValidationFailedException("仅允许PM 同意 IR 申请的任务");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1747,8 +1700,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
throw new BusinessValidationFailedException(_localizer["VisitTask_UndefinedList"]);
|
throw new BusinessValidationFailedException(_localizer["VisitTask_UndefinedList"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1805,146 +1756,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
||||||
|
|
||||||
|
|
||||||
#region 变更前 注释
|
|
||||||
|
|
||||||
//if (isReReading)
|
|
||||||
//{
|
|
||||||
|
|
||||||
// if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null))
|
|
||||||
// {
|
|
||||||
// //有序
|
|
||||||
// if (criterionConfig.IsReadingTaskViewInOrder)
|
|
||||||
// {
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// //else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
// //{
|
|
||||||
// // influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// //}
|
|
||||||
// //else
|
|
||||||
// //{
|
|
||||||
// // throw new BusinessValidationFailedException("IR 申请重阅,不会影响到后续未读的任务,当前影响列表有未读的任务,请核查");
|
|
||||||
// //}
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId == null))
|
|
||||||
// {
|
|
||||||
// //有序
|
|
||||||
// if (criterionConfig.IsReadingTaskViewInOrder)
|
|
||||||
// {
|
|
||||||
// //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
|
||||||
// if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum)
|
|
||||||
// {
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
//}
|
|
||||||
////PM退回
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// //有序
|
|
||||||
// if (criterionConfig.IsReadingTaskViewInOrder)
|
|
||||||
// {
|
|
||||||
// //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
|
||||||
// if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum)
|
|
||||||
// {
|
|
||||||
// //后续访视处理访视
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// //申请的访视 全局肿瘤学
|
|
||||||
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// //无序
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// //重阅重置或者失效
|
|
||||||
// influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue