Merge branch 'Test.Study' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test.Study
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
b8ad8085cd
|
@ -1,16 +1,16 @@
|
||||||
// 使用的是proto3版本
|
// 使用的是proto3版本
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
// 定义命名空间,后续生成代码时就会生成对应的命名空间
|
// 定义命名空间,后续生成代码时就会生成对应的命名空间
|
||||||
option csharp_namespace = "gRPC.ZHiZHUN.AuthServer.protos";
|
option csharp_namespace = "gRPC.ZHiZHUN.AuthServer.protos";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
每一句需要用分号结尾
|
每一句需要用分号结尾
|
||||||
message 用来定义请求和返回数据格式
|
message 用来定义请求和返回数据格式
|
||||||
tag message后面的值数字代表是字段的标识(tag),不是赋值,
|
tag message后面的值数字代表是字段的标识(tag),不是赋值,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// 新增用户时需要传递数据消息, 可理解为一个类
|
// 新增用户时需要传递数据消息, 可理解为一个类
|
||||||
message GetTokenReuqest{
|
message GetTokenReuqest{
|
||||||
string id=1;
|
string id=1;
|
||||||
string userName=2;
|
string userName=2;
|
||||||
|
@ -22,48 +22,48 @@ message GetTokenReuqest{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增时返回的消息格式
|
// 新增时返回的消息格式
|
||||||
message GetTokenResponse {
|
message GetTokenResponse {
|
||||||
int32 code=1;
|
int32 code=1;
|
||||||
string token =2;
|
string token =2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// service 用标识定义服务的,里面写对应的方法
|
// service 用标识定义服务的,里面写对应的方法
|
||||||
service TokenGrpcService{
|
service TokenGrpcService{
|
||||||
// 获取token
|
// 获取token
|
||||||
rpc GetUserToken(GetTokenReuqest) returns (GetTokenResponse);
|
rpc GetUserToken(GetTokenReuqest) returns (GetTokenResponse);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// 新增用户时需要传递数据消息, 可理解为一个类
|
// 新增用户时需要传递数据消息, 可理解为一个类
|
||||||
message AddUserReuqest{
|
message AddUserReuqest{
|
||||||
string name=1;
|
string name=1;
|
||||||
int32 age=2;
|
int32 age=2;
|
||||||
bool isBoy=3;
|
bool isBoy=3;
|
||||||
}
|
}
|
||||||
// 新增时返回的消息格式
|
// 新增时返回的消息格式
|
||||||
message ResultResponse {
|
message ResultResponse {
|
||||||
int32 code=1;
|
int32 code=1;
|
||||||
string msg =2;
|
string msg =2;
|
||||||
}
|
}
|
||||||
//传递的查询条件信息格式,可理解为平时传入的查询条件对象
|
//传递的查询条件信息格式,可理解为平时传入的查询条件对象
|
||||||
message QueryUserReuqest{
|
message QueryUserReuqest{
|
||||||
string name=1;
|
string name=1;
|
||||||
}
|
}
|
||||||
//查询返回的用户信息格式,可理解为返回的类
|
//查询返回的用户信息格式,可理解为返回的类
|
||||||
message UserInfoResponse {
|
message UserInfoResponse {
|
||||||
string name=1;
|
string name=1;
|
||||||
int32 age=2;
|
int32 age=2;
|
||||||
string gender=3;
|
string gender=3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// service 用标识定义服务的,里面写对应的方法
|
// service 用标识定义服务的,里面写对应的方法
|
||||||
service UserService{
|
service UserService{
|
||||||
// 新增用户
|
// 新增用户
|
||||||
rpc AddUser(AddUserReuqest) returns (ResultResponse);
|
rpc AddUser(AddUserReuqest) returns (ResultResponse);
|
||||||
// 查询用户
|
// 查询用户
|
||||||
rpc GetAllUser(QueryUserReuqest) returns (UserInfoResponse);
|
rpc GetAllUser(QueryUserReuqest) returns (UserInfoResponse);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using Autofac.Extensions.DependencyInjection;
|
using Autofac.Extensions.DependencyInjection;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
|
@ -24,7 +24,7 @@ namespace IRaCIS.Core.API
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//以配置文件为准,否则 从url中取环境值(服务以命令行传递参数启动,配置文件配置了就不需要传递环境参数)
|
//以配置文件为准,否则 从url中取环境值(服务以命令行传递参数启动,配置文件配置了就不需要传递环境参数)
|
||||||
var config = new ConfigurationBuilder()
|
var config = new ConfigurationBuilder()
|
||||||
.AddEnvironmentVariables()
|
.AddEnvironmentVariables()
|
||||||
.Build();
|
.Build();
|
||||||
|
@ -40,11 +40,11 @@ namespace IRaCIS.Core.API
|
||||||
: "Development";
|
: "Development";
|
||||||
}
|
}
|
||||||
|
|
||||||
//Dicom 浏览
|
//Dicom 浏览
|
||||||
//ImageManager.SetImplementation(WinFormsImageManager.Instance);
|
//ImageManager.SetImplementation(WinFormsImageManager.Instance);
|
||||||
|
|
||||||
var host = CreateHostBuilder(args)
|
var host = CreateHostBuilder(args)
|
||||||
.UseEnvironment(enviromentName) //命令行传入环境
|
.UseEnvironment(enviromentName) //命令行传入环境
|
||||||
.ConfigureAppConfiguration((hostContext, config) =>
|
.ConfigureAppConfiguration((hostContext, config) =>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -58,20 +58,20 @@ namespace IRaCIS.Core.API
|
||||||
//// Serilog
|
//// Serilog
|
||||||
SerilogExtension.AddSerilogSetup(enviromentName, host.Services);
|
SerilogExtension.AddSerilogSetup(enviromentName, host.Services);
|
||||||
|
|
||||||
Log.Logger.Warning($"当前环境:{enviromentName}");
|
Log.Logger.Warning($"当前环境:{enviromentName}");
|
||||||
|
|
||||||
|
|
||||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||||
{
|
{
|
||||||
Log.Logger.Warning($"当前部署平台环境:windows");
|
Log.Logger.Warning($"当前部署平台环境:windows");
|
||||||
}
|
}
|
||||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
|
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
|
||||||
{
|
{
|
||||||
Log.Logger.Warning($"当前部署平台环境:linux");
|
Log.Logger.Warning($"当前部署平台环境:linux");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Log.Logger.Warning($"当前部署平台环境:OSX or FreeBSD");
|
Log.Logger.Warning($"当前部署平台环境:OSX or FreeBSD");
|
||||||
}
|
}
|
||||||
|
|
||||||
NewId.SetProcessIdProvider(new CurrentProcessIdProvider());
|
NewId.SetProcessIdProvider(new CurrentProcessIdProvider());
|
||||||
|
@ -97,13 +97,13 @@ namespace IRaCIS.Core.API
|
||||||
{
|
{
|
||||||
webBuilder.ConfigureKestrel((context, options) =>
|
webBuilder.ConfigureKestrel((context, options) =>
|
||||||
{
|
{
|
||||||
//设置应用服务器Kestrel请求体最大为1GB // if don't set default value is: 30 MB
|
//设置应用服务器Kestrel请求体最大为1GB // if don't set default value is: 30 MB
|
||||||
options.Limits.MaxRequestBodySize = long.MaxValue;
|
options.Limits.MaxRequestBodySize = long.MaxValue;
|
||||||
options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30);
|
options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30);
|
||||||
options.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(20);
|
options.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(20);
|
||||||
|
|
||||||
});
|
});
|
||||||
//webBuilder.UseSerilog();//在宿主机启动的时候配置serilog,与微软ILogger进行整合
|
//webBuilder.UseSerilog();//在宿主机启动的时候配置serilog,与微软ILogger进行整合
|
||||||
webBuilder.UseStartup<Startup>();
|
webBuilder.UseStartup<Startup>();
|
||||||
}).UseSerilog()
|
}).UseSerilog()
|
||||||
.UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
.UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
||||||
|
@ -113,7 +113,7 @@ namespace IRaCIS.Core.API
|
||||||
{
|
{
|
||||||
var _repository = host.Services.GetService(typeof(IRepository)) as IRepository;
|
var _repository = host.Services.GetService(typeof(IRepository)) as IRepository;
|
||||||
|
|
||||||
//初始化 国际化数据,并且监测国际化文件变更
|
//初始化 国际化数据,并且监测国际化文件变更
|
||||||
//await InternationalizationHelper.InitInternationlizationDataAndWatchJsonFileAsync(_repository);
|
//await InternationalizationHelper.InitInternationlizationDataAndWatchJsonFileAsync(_repository);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
// 使用的是proto3版本
|
// 使用的是proto3版本
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
// 定义命名空间,后续生成代码时就会生成对应的命名空间
|
// 定义命名空间,后续生成代码时就会生成对应的命名空间
|
||||||
option csharp_namespace = "gRPC.ZHiZHUN.AuthServer.protos";
|
option csharp_namespace = "gRPC.ZHiZHUN.AuthServer.protos";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
每一句需要用分号结尾
|
每一句需要用分号结尾
|
||||||
message 用来定义请求和返回数据格式
|
message 用来定义请求和返回数据格式
|
||||||
tag message后面的值数字代表是字段的标识(tag),不是赋值,
|
tag message后面的值数字代表是字段的标识(tag),不是赋值,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// 新增用户时需要传递数据消息, 可理解为一个类
|
// 新增用户时需要传递数据消息, 可理解为一个类
|
||||||
message GetTokenReuqest{
|
message GetTokenReuqest{
|
||||||
string id=1;
|
string id=1;
|
||||||
string userName=2;
|
string userName=2;
|
||||||
|
@ -22,48 +22,48 @@ message GetTokenReuqest{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增时返回的消息格式
|
// 新增时返回的消息格式
|
||||||
message GetTokenResponse {
|
message GetTokenResponse {
|
||||||
int32 code=1;
|
int32 code=1;
|
||||||
string token =2;
|
string token =2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// service 用标识定义服务的,里面写对应的方法
|
// service 用标识定义服务的,里面写对应的方法
|
||||||
service TokenGrpcService{
|
service TokenGrpcService{
|
||||||
// 获取token
|
// 获取token
|
||||||
rpc GetUserToken(GetTokenReuqest) returns (GetTokenResponse);
|
rpc GetUserToken(GetTokenReuqest) returns (GetTokenResponse);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// 新增用户时需要传递数据消息, 可理解为一个类
|
// 新增用户时需要传递数据消息, 可理解为一个类
|
||||||
message AddUserReuqest{
|
message AddUserReuqest{
|
||||||
string name=1;
|
string name=1;
|
||||||
int32 age=2;
|
int32 age=2;
|
||||||
bool isBoy=3;
|
bool isBoy=3;
|
||||||
}
|
}
|
||||||
// 新增时返回的消息格式
|
// 新增时返回的消息格式
|
||||||
message ResultResponse {
|
message ResultResponse {
|
||||||
int32 code=1;
|
int32 code=1;
|
||||||
string msg =2;
|
string msg =2;
|
||||||
}
|
}
|
||||||
//传递的查询条件信息格式,可理解为平时传入的查询条件对象
|
//传递的查询条件信息格式,可理解为平时传入的查询条件对象
|
||||||
message QueryUserReuqest{
|
message QueryUserReuqest{
|
||||||
string name=1;
|
string name=1;
|
||||||
}
|
}
|
||||||
//查询返回的用户信息格式,可理解为返回的类
|
//查询返回的用户信息格式,可理解为返回的类
|
||||||
message UserInfoResponse {
|
message UserInfoResponse {
|
||||||
string name=1;
|
string name=1;
|
||||||
int32 age=2;
|
int32 age=2;
|
||||||
string gender=3;
|
string gender=3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// service 用标识定义服务的,里面写对应的方法
|
// service 用标识定义服务的,里面写对应的方法
|
||||||
service UserService{
|
service UserService{
|
||||||
// 新增用户
|
// 新增用户
|
||||||
rpc AddUser(AddUserReuqest) returns (ResultResponse);
|
rpc AddUser(AddUserReuqest) returns (ResultResponse);
|
||||||
// 查询用户
|
// 查询用户
|
||||||
rpc GetAllUser(QueryUserReuqest) returns (UserInfoResponse);
|
rpc GetAllUser(QueryUserReuqest) returns (UserInfoResponse);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -142,8 +142,9 @@ public static class FileStoreHelper
|
||||||
//API vue 部署目录
|
//API vue 部署目录
|
||||||
public static string GetIRaCISRootPath(IWebHostEnvironment _hostEnvironment)
|
public static string GetIRaCISRootPath(IWebHostEnvironment _hostEnvironment)
|
||||||
{
|
{
|
||||||
var rootPath = (Directory.GetParent(_hostEnvironment.ContentRootPath.TrimEnd('\\'))).IfNullThrowException().FullName;
|
string parentDirectory = Path.GetFullPath(Path.Combine(_hostEnvironment.ContentRootPath, ".."));
|
||||||
return rootPath;
|
|
||||||
|
return parentDirectory;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -644,7 +644,8 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
await _userLogRepository.AddAsync(new UserLog() { IP = _userInfo.IP, LoginUserId = Guid.Empty, OptUserId = Guid.Empty, LoginFaildName = userName,LoginPassword=password, OptType = UserOptType.AccountLocked }, true);
|
await _userLogRepository.AddAsync(new UserLog() { IP = _userInfo.IP, LoginUserId = Guid.Empty, OptUserId = Guid.Empty, LoginFaildName = userName,LoginPassword=password, OptType = UserOptType.AccountLocked }, true);
|
||||||
|
|
||||||
throw new BusinessValidationFailedException($"密码连续错误{maxFailures}次,当前账号已被限制登录,请等待 {lockoutMinutes} 分钟后再试。");
|
//$"密码连续错误{maxFailures}次,当前账号已被限制登录,请等待 {lockoutMinutes} 分钟后再试。"
|
||||||
|
throw new BusinessValidationFailedException(_localizer["User_ErrorLimit", maxFailures, lockoutMinutes]);
|
||||||
}
|
}
|
||||||
|
|
||||||
var userLoginReturnModel = new LoginReturnDTO();
|
var userLoginReturnModel = new LoginReturnDTO();
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public string RoleDescription { get; set; } = string.Empty;
|
public string RoleDescription { get; set; } = string.Empty;
|
||||||
|
|
||||||
public int Status { get; set; }
|
public int Status { get; set; }
|
||||||
public int PrivilegeLevel { get; set; } //ȨĎŢźśąđ
|
public int PrivilegeLevel { get; set; } //权限级别
|
||||||
|
|
||||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||||
public Guid CreateUserId { get; set; } = Guid.Empty;
|
public Guid CreateUserId { get; set; } = Guid.Empty;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
@ -87,12 +87,12 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
public string Indication { get; set; } = string.Empty;
|
public string Indication { get; set; } = string.Empty;
|
||||||
|
|
||||||
//入组那一块的状态
|
//入组那一块的状态
|
||||||
//[ConcurrencyCheck]
|
//[ConcurrencyCheck]
|
||||||
public int TrialEnrollStatus { get; set; }
|
public int TrialEnrollStatus { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//启动状态
|
//启动状态
|
||||||
[StringLength(500)]
|
[StringLength(500)]
|
||||||
public string TrialStatusStr { get; set; } = StaticData.TrialState.TrialInitializing;
|
public string TrialStatusStr { get; set; } = StaticData.TrialState.TrialInitializing;
|
||||||
|
|
||||||
|
@ -142,15 +142,15 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//废弃
|
//废弃
|
||||||
//public AttendedReviewerType AttendedReviewerType { get; set; } = AttendedReviewerType.CN;//0全部中国医生 1美国医生 2既有中国医生,也有美国医生
|
//public AttendedReviewerType AttendedReviewerType { get; set; } = AttendedReviewerType.CN;//0全部中国医生 1美国医生 2既有中国医生,也有美国医生
|
||||||
|
|
||||||
////废弃
|
////废弃
|
||||||
//[JsonIgnore]
|
//[JsonIgnore]
|
||||||
//[ForeignKey("DeclarationTypeId")]
|
//[ForeignKey("DeclarationTypeId")]
|
||||||
//public Dictionary DeclarationType { get; set; }
|
//public Dictionary DeclarationType { get; set; }
|
||||||
|
|
||||||
//废弃
|
//废弃
|
||||||
//public Guid DeclarationTypeId { get; set; } = Guid.Empty;
|
//public Guid DeclarationTypeId { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
@ -173,66 +173,66 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public bool VisitPlanConfirmed { get; set; }
|
public bool VisitPlanConfirmed { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 受试者编号具体规则
|
/// 受试者编号具体规则
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string SubjectCodeRule { get; set; } = StaticData.International("Trial_number");
|
public string SubjectCodeRule { get; set; } = StaticData.International("Trial_number");
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否 提醒受试者编号规则
|
/// 是否 提醒受试者编号规则
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsNoticeSubjectCodeRule { get; set; } = true;
|
public bool IsNoticeSubjectCodeRule { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否 有基准时间(首次给药时间)
|
/// 是否 有基准时间(首次给药时间)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsHaveFirstGiveMedicineDate { get; set; } = true;
|
public bool IsHaveFirstGiveMedicineDate { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否有 受试者年龄
|
/// 是否有 受试者年龄
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsHaveSubjectAge { get; set; } = false;
|
public bool IsHaveSubjectAge { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否有 入组性确认
|
/// 是否有 入组性确认
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsEnrollementQualificationConfirm { get; set; } = false;
|
public bool IsEnrollementQualificationConfirm { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 出组后计划外访视名称
|
/// 出组后计划外访视名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string OutEnrollmentVisitName { get; set; } = "EOT";
|
public string OutEnrollmentVisitName { get; set; } = "EOT";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否 验证拍片日期
|
/// 是否 验证拍片日期
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsVerifyVisitImageDate { get; set; } = true;
|
public bool IsVerifyVisitImageDate { get; set; } = true;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 临床信息传输 1:系统录入 2:系统录入+PDF 0:无
|
/// 临床信息传输 1:系统录入 2:系统录入+PDF 0:无
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int ClinicalInformationTransmissionEnum { get; set; } = 1;
|
public int ClinicalInformationTransmissionEnum { get; set; } = 1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否审核 临床信息
|
/// 是否审核 临床信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsCRAAuditClinicalInformation { get; set; } = false;
|
public bool IsCRAAuditClinicalInformation { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// QC流程 0 不审,1 单审,2双审
|
/// QC流程 0 不审,1 单审,2双审
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.NotAudit;
|
public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.NotAudit;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 影像一致性核查
|
/// 影像一致性核查
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsImageConsistencyVerification { get; set; } = false;
|
public bool IsImageConsistencyVerification { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 影像导出
|
/// 影像导出
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsImageExport { get; set; } = false;
|
public bool IsImageExport { get; set; } = false;
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//阅片方式
|
//阅片方式
|
||||||
public int ReadingMode { get; set; } = 1;
|
public int ReadingMode { get; set; } = 1;
|
||||||
|
|
||||||
|
|
||||||
|
@ -249,12 +249,12 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public int ChangeDefalutDays { get; set; } = 5;
|
public int ChangeDefalutDays { get; set; } = 5;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 跨项目复制
|
/// 跨项目复制
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsImageReplicationAcrossTrial { get; set; } = false;
|
public bool IsImageReplicationAcrossTrial { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
public string BodyPartTypes { get; set; } = "鼻咽部|脑部|颈部|胸部|上/下腹部|盆腔|全身|其他";
|
public string BodyPartTypes { get; set; } = "鼻咽部|脑部|颈部|胸部|上/下腹部|盆腔|全身|其他";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -270,25 +270,25 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//PD 进展是否显示 配置访视 是否显示 PD进展 (从而可以设置状态)
|
//PD 进展是否显示 配置访视 是否显示 PD进展 (从而可以设置状态)
|
||||||
public bool IsPDProgressView { get; set; }
|
public bool IsPDProgressView { get; set; }
|
||||||
|
|
||||||
//研究方案号
|
//研究方案号
|
||||||
public string ResearchProgramNo { get; set; }
|
public string ResearchProgramNo { get; set; }
|
||||||
|
|
||||||
//实验名称
|
//实验名称
|
||||||
public string ExperimentName { get; set; }
|
public string ExperimentName { get; set; }
|
||||||
|
|
||||||
//主研单位
|
//主研单位
|
||||||
public string MainResearchUnit { get; set; }
|
public string MainResearchUnit { get; set; }
|
||||||
|
|
||||||
// 负责人PI
|
// 负责人PI
|
||||||
public string HeadPI { get; set; }
|
public string HeadPI { get; set; }
|
||||||
|
|
||||||
public bool IsUrgent { get; set; }
|
public bool IsUrgent { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 项目类型 1 正式项目、0 非正式项目 2是培训项目
|
/// 项目类型 1 正式项目、0 非正式项目 2是培训项目
|
||||||
/// </summary>time
|
/// </summary>time
|
||||||
public TrialType TrialType { get; set; }
|
public TrialType TrialType { get; set; }
|
||||||
|
|
||||||
|
@ -306,7 +306,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public bool IsSubjectSexView { get; set; } = false;
|
public bool IsSubjectSexView { get; set; } = false;
|
||||||
|
|
||||||
//配置Suject Edit页面 是否显示 加急
|
//配置Suject Edit页面 是否显示 加急
|
||||||
public bool IsSubjectExpeditedView { get; set; } = false;
|
public bool IsSubjectExpeditedView { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
|
@ -314,14 +314,14 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public bool IsDeleted { get; set; }
|
public bool IsDeleted { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//QC 问题流程
|
//QC 问题流程
|
||||||
|
|
||||||
public User QCQuestionConfirmedUser { get; set; }
|
public User QCQuestionConfirmedUser { get; set; }
|
||||||
public Guid? QCQuestionConfirmedUserId { get; set; }
|
public Guid? QCQuestionConfirmedUserId { get; set; }
|
||||||
public DateTime? QCQuestionConfirmedTime { get; set; }
|
public DateTime? QCQuestionConfirmedTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 项目完成时间
|
/// 项目完成时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? TrialFinishTime { get; set; }
|
public DateTime? TrialFinishTime { get; set; }
|
||||||
|
|
||||||
|
@ -340,7 +340,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public Guid? DeleteUserId { get; set; }
|
public Guid? DeleteUserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 同步临床数据时间
|
/// 同步临床数据时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? SyncClinicalDataTime { get; set; }
|
public DateTime? SyncClinicalDataTime { get; set; }
|
||||||
|
|
||||||
|
@ -359,34 +359,34 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public UserTypeEnum? PDProgressDefaultUserType { get; set; }
|
public UserTypeEnum? PDProgressDefaultUserType { get; set; }
|
||||||
|
|
||||||
#region 邮件配置
|
#region 邮件配置
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发件箱账号
|
/// 发件箱账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string EmailFromEmail { get; set; } = string.Empty;
|
public string EmailFromEmail { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发件人
|
/// 发件人
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string EmailFromName { get; set; } = string.Empty;
|
public string EmailFromName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 密码/授权码
|
/// 密码/授权码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string EmailAuthorizationCode { get; set; } = string.Empty;
|
public string EmailAuthorizationCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SMTP服务器
|
/// SMTP服务器
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string EmailSMTPServerAddress { get; set; } = string.Empty;
|
public string EmailSMTPServerAddress { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SMTP端口
|
/// SMTP端口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int EmailSMTPServerPort { get; set; }
|
public int EmailSMTPServerPort { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否配置过邮箱
|
/// 是否配置过邮箱
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsConfigureEmail { get; set; } = false;
|
public bool IsConfigureEmail { get; set; } = false;
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -395,20 +395,20 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 图像是否有标注
|
///// 图像是否有标注
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public bool IsImageIabeled { get; set; }
|
//public bool IsImageIabeled { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////阅片类型
|
////阅片类型
|
||||||
//public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
|
//public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
|
||||||
|
|
||||||
|
|
||||||
//public bool IsGlobalReading { get; set; } = true;
|
//public bool IsGlobalReading { get; set; } = true;
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 仲裁阅片
|
///// 仲裁阅片
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public bool? IsArbitrationReading { get; set; } = true;
|
//public bool? IsArbitrationReading { get; set; } = true;
|
||||||
|
|
||||||
|
@ -416,50 +416,50 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 1 Mint、2 PACS
|
///// 1 Mint、2 PACS
|
||||||
///// </summary>
|
///// </summary>
|
||||||
|
|
||||||
//public int ImagePlatform { get; set; } = 1;
|
//public int ImagePlatform { get; set; } = 1;
|
||||||
|
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 仲裁规则
|
///// 仲裁规则
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.None;
|
//public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.None;
|
||||||
|
|
||||||
////任务分配对象
|
////任务分配对象
|
||||||
//public TaskAllocateObj TaskAllocateObjEnum { get; set; }
|
//public TaskAllocateObj TaskAllocateObjEnum { get; set; }
|
||||||
|
|
||||||
////后续访视任务自动分配
|
////后续访视任务自动分配
|
||||||
//public bool IsFollowVisitAutoAssign { get; set; } = true;
|
//public bool IsFollowVisitAutoAssign { get; set; } = true;
|
||||||
|
|
||||||
////后续全局自动分配
|
////后续全局自动分配
|
||||||
//public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
|
//public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
|
||||||
|
|
||||||
//public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
|
//public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
|
||||||
|
|
||||||
//public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
//public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
||||||
|
|
||||||
////后续访视自动分配默认状态
|
////后续访视自动分配默认状态
|
||||||
//public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
//public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
||||||
|
|
||||||
////后续全局自动分配默认状态
|
////后续全局自动分配默认状态
|
||||||
//public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
//public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
||||||
|
|
||||||
////读片任务显示规则
|
////读片任务显示规则
|
||||||
|
|
||||||
//public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
//public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
||||||
|
|
||||||
////读片任务显示是否顺序
|
////读片任务显示是否顺序
|
||||||
//public bool IsReadingTaskViewInOrder { get; set; } = true;
|
//public bool IsReadingTaskViewInOrder { get; set; } = true;
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 阅片是否显示受试者信息
|
///// 阅片是否显示受试者信息
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public bool IsReadingShowSubjectInfo { get; set; } = false;
|
//public bool IsReadingShowSubjectInfo { get; set; } = false;
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 阅片是否显示既往结果
|
///// 阅片是否显示既往结果
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public bool IsReadingShowPreviousResults { get; set; } = false;
|
//public bool IsReadingShowPreviousResults { get; set; } = false;
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 是确认医学审核问题
|
///// 是确认医学审核问题
|
||||||
///// </summary>
|
///// </summary>
|
||||||
|
|
||||||
//public bool IsConfirmMedicineQuestion { get; set; } = false;
|
//public bool IsConfirmMedicineQuestion { get; set; } = false;
|
||||||
|
@ -476,12 +476,12 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 阅片信息签名时间
|
///// 阅片信息签名时间
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public DateTime? ReadingInfoSignTime { get; set; }
|
//public DateTime? ReadingInfoSignTime { get; set; }
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 阅片工具
|
///// 阅片工具
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public ReadingTool? ReadingTool { get; set; }
|
//public ReadingTool? ReadingTool { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ using IRaCIS.Core.Domain.Share;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 运维人员与项目关联关系表 - 实体
|
/// 运维人员与项目关联关系表 - 实体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Table("TrialUser")]
|
[Table("TrialUser")]
|
||||||
public partial class TrialUser : Entity, IAuditUpdate, IAuditAdd ,ISoftDelete
|
public partial class TrialUser : Entity, IAuditUpdate, IAuditAdd ,ISoftDelete
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
"RemoteNew": "Server=123.56.181.144,14333\\MSSQLExpress14;Database=IRaCIS_New;User ID=sa;Password=dev123456DEV;"
|
"RemoteNew": "Server=123.56.181.144,14333\\MSSQLExpress14;Database=IRaCIS_New;User ID=sa;Password=dev123456DEV;"
|
||||||
},
|
},
|
||||||
"JwtSetting": {
|
"JwtSetting": {
|
||||||
"SecurityKey": "3e6dbfa227234a03977a2f421bdb7f4f", // 密钥
|
"SecurityKey": "3e6dbfa227234a03977a2f421bdb7f4f", // 密钥
|
||||||
"Issuer": "IRaCIS", // 颁发者
|
"Issuer": "IRaCIS", // 颁发者
|
||||||
"Audience": "ZhiZhun", // 接收者
|
"Audience": "ZhiZhun", // 接收者
|
||||||
"TokenExpireDays": "7" // 过期时间(7day)
|
"TokenExpireDays": "7" // 过期时间(7day)
|
||||||
},
|
},
|
||||||
"IpRateLimiting": {
|
"IpRateLimiting": {
|
||||||
"EnableEndpointRateLimiting": true, //False: globally executed, true: executed for each
|
"EnableEndpointRateLimiting": true, //False: globally executed, true: executed for each
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
//网站根地址,为了访问文件 dicom 和上传的文档... 实测发现不用将域名拼接返回,浏览器会自动加上当前ip,避免了多环境读取环境配置文件
|
//网站根地址,为了访问文件 dicom 和上传的文档... 实测发现不用将域名拼接返回,浏览器会自动加上当前ip,避免了多环境读取环境配置文件
|
||||||
//"RootUrl": "http://localhost:8060",
|
//"RootUrl": "http://localhost:8060",
|
||||||
|
|
||||||
"GrpcAddress": "http://123.56.181.144:7200",
|
"GrpcAddress": "http://123.56.181.144:7200",
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
"UserCodePrefix": "U",
|
"UserCodePrefix": "U",
|
||||||
"Share": false, //
|
"Share": false, //
|
||||||
"FileSizeLimit": 1073741824,
|
"FileSizeLimit": 1073741824,
|
||||||
"LoginExpiredTimeSpan": ":15", // Minute
|
"LoginExpiredTimeSpan": ":15", // Minute
|
||||||
"OpenLog": true,
|
"OpenLog": true,
|
||||||
"AddClinicalInfo": true
|
"AddClinicalInfo": true
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
{
|
{
|
||||||
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.Study;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
|
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.Study;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
|
||||||
public static readonly string DbDatabase = "Test.Study";
|
public static readonly string DbDatabase = "Test.Study";
|
||||||
//表名称用字符串,拼接
|
//表名称用字符串,拼接
|
||||||
public static readonly string TableName = "SubjectVisitClinicalDialog";
|
public static readonly string TableName = "SubjectVisitClinicalDialog";
|
||||||
//具体文件里面 例如service 可以配置是否分页
|
//具体文件里面 例如service 可以配置是否分页
|
||||||
}
|
}
|
||||||
#>
|
#>
|
||||||
<#+
|
<#+
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
// 使用的是proto3版本
|
// 使用的是proto3版本
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
// 定义命名空间,后续生成代码时就会生成对应的命名空间
|
// 定义命名空间,后续生成代码时就会生成对应的命名空间
|
||||||
option csharp_namespace = "gRPC.ZHiZHUN.AuthServer.protos";
|
option csharp_namespace = "gRPC.ZHiZHUN.AuthServer.protos";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
每一句需要用分号结尾
|
每一句需要用分号结尾
|
||||||
message 用来定义请求和返回数据格式
|
message 用来定义请求和返回数据格式
|
||||||
tag message后面的值数字代表是字段的标识(tag),不是赋值,
|
tag message后面的值数字代表是字段的标识(tag),不是赋值,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// 新增用户时需要传递数据消息, 可理解为一个类
|
// 新增用户时需要传递数据消息, 可理解为一个类
|
||||||
message GetTokenReuqest{
|
message GetTokenReuqest{
|
||||||
string id=1;
|
string id=1;
|
||||||
string userName=2;
|
string userName=2;
|
||||||
|
@ -22,48 +22,48 @@ message GetTokenReuqest{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增时返回的消息格式
|
// 新增时返回的消息格式
|
||||||
message GetTokenResponse {
|
message GetTokenResponse {
|
||||||
int32 code=1;
|
int32 code=1;
|
||||||
string token =2;
|
string token =2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// service 用标识定义服务的,里面写对应的方法
|
// service 用标识定义服务的,里面写对应的方法
|
||||||
service TokenGrpcService{
|
service TokenGrpcService{
|
||||||
// 获取token
|
// 获取token
|
||||||
rpc GetUserToken(GetTokenReuqest) returns (GetTokenResponse);
|
rpc GetUserToken(GetTokenReuqest) returns (GetTokenResponse);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// 新增用户时需要传递数据消息, 可理解为一个类
|
// 新增用户时需要传递数据消息, 可理解为一个类
|
||||||
message AddUserReuqest{
|
message AddUserReuqest{
|
||||||
string name=1;
|
string name=1;
|
||||||
int32 age=2;
|
int32 age=2;
|
||||||
bool isBoy=3;
|
bool isBoy=3;
|
||||||
}
|
}
|
||||||
// 新增时返回的消息格式
|
// 新增时返回的消息格式
|
||||||
message ResultResponse {
|
message ResultResponse {
|
||||||
int32 code=1;
|
int32 code=1;
|
||||||
string msg =2;
|
string msg =2;
|
||||||
}
|
}
|
||||||
//传递的查询条件信息格式,可理解为平时传入的查询条件对象
|
//传递的查询条件信息格式,可理解为平时传入的查询条件对象
|
||||||
message QueryUserReuqest{
|
message QueryUserReuqest{
|
||||||
string name=1;
|
string name=1;
|
||||||
}
|
}
|
||||||
//查询返回的用户信息格式,可理解为返回的类
|
//查询返回的用户信息格式,可理解为返回的类
|
||||||
message UserInfoResponse {
|
message UserInfoResponse {
|
||||||
string name=1;
|
string name=1;
|
||||||
int32 age=2;
|
int32 age=2;
|
||||||
string gender=3;
|
string gender=3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// service 用标识定义服务的,里面写对应的方法
|
// service 用标识定义服务的,里面写对应的方法
|
||||||
service UserService{
|
service UserService{
|
||||||
// 新增用户
|
// 新增用户
|
||||||
rpc AddUser(AddUserReuqest) returns (ResultResponse);
|
rpc AddUser(AddUserReuqest) returns (ResultResponse);
|
||||||
// 查询用户
|
// 查询用户
|
||||||
rpc GetAllUser(QueryUserReuqest) returns (UserInfoResponse);
|
rpc GetAllUser(QueryUserReuqest) returns (UserInfoResponse);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue