From dc10030a6757dd0a9244bf6e58bf79eeceaf7554 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Thu, 6 Apr 2023 11:17:42 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E6=9A=82=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.API/appsettings.json | 43 ++++--------
.../Service/Common/SystemMonitor.cs | 66 +++++++++----------
2 files changed, 43 insertions(+), 66 deletions(-)
diff --git a/IRaCIS.Core.API/appsettings.json b/IRaCIS.Core.API/appsettings.json
index c200d0770..791297540 100644
--- a/IRaCIS.Core.API/appsettings.json
+++ b/IRaCIS.Core.API/appsettings.json
@@ -1,16 +1,13 @@
{
- "ConnectionStrings": {
- "hang": "Server=ZHOU;Database=IRaCIS;User ID=sa;Password=sa123456;"
- },
"JwtSetting": {
- "SecurityKey": "3e6dbfa227234a03977a2f421bdb7f4f", // 密钥
- "Issuer": "IRaCIS", // 颁发者
- "Audience": "ZhiZhun", // 接收者
- "TokenExpireDays": "7" // 过期时间(7day)
+ "SecurityKey": "3e6dbfa227234a03977a2f421bdb7f4f",
+ "Issuer": "IRaCIS",
+ "Audience": "ZhiZhun",
+ "TokenExpireDays": "7"
},
"IpRateLimiting": {
- "EnableEndpointRateLimiting": true, //False: globally executed, true: executed for each
- "StackBlockedRequests": false, // set to false, rejected calls are not added to the throttle counter
+ "EnableEndpointRateLimiting": true,
+ "StackBlockedRequests": false,
"RealIpHeader": "X-Real-IP",
"ClientIdHeader": "X-ClientId",
"QuotaExceededResponse": {
@@ -19,12 +16,10 @@
"StatusCode": 429
},
"HttpStatusCode": 429,
- //"IpWhitelist": [ "127.0.0.1", "::1/10", "192.168.0.0/24" ],
- "EndpointWhitelist": [ "post:/study/archivestudy/*" ],
- //"EndpointWhitelist": [ ],
- //"EndpointWhitelist": ["post:/trial/getTrialList"], //demo
+ "EndpointWhitelist": [
+ "post:/study/archivestudy/*"
+ ],
"IpWhitelist": [],
- //"ClientWhitelist": [ "dev-id-1", "dev-id-2" ],
"GeneralRules": [
{
"Endpoint": "*",
@@ -48,7 +43,6 @@
}
]
},
-
"easycaching": {
"inmemory": {
"MaxRdSecond": 120,
@@ -63,30 +57,19 @@
}
}
},
-
+ "UpdateConfig": {
+ "test": "123456",
+ "test1": "12345678"
+ },
"IRaCISBasicConfig": {
-
"DoctorCodePrefix": "RE",
-
"UserCodePrefix": "U",
-
"QCChallengeCodePrefix": "Q",
-
"NoneDicomStudyCodePrefix": "NST",
-
"DicomStudyCodePrefix": "ST",
-
"SystemSiteCodePrefix": "S",
-
"DefaultPassword": "123456",
-
"DefaultInternalOrganizationName": "ExtImaging",
-
"ImageShareExpireDays": 10
}
-
- //网站根地址,为了访问文件 dicom 和上传的文档... 实测发现不用将域名拼接返回,浏览器会自动加上当前ip,避免了多环境读取环境配置文件
-
-
-
}
\ No newline at end of file
diff --git a/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs b/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs
index 004aff76f..80e6973fb 100644
--- a/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs
+++ b/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs
@@ -109,9 +109,7 @@ namespace IRaCIS.Core.Application.Service.Common
//jObject.WriteTo(jsonTextWriter);
#endregion
-
-
-
+ #region test
//var json = File.ReadAllText("appsettings.json");
//var jObject = JToken.Parse(json, new JsonLoadSettings { CommentHandling = CommentHandling.Load,DuplicatePropertyNameHandling=DuplicatePropertyNameHandling.Ignore });
@@ -149,7 +147,7 @@ namespace IRaCIS.Core.Application.Service.Common
//File.WriteAllText("appsettings.json", updatedJson);
- // string json = @"{
+ //string json = @"{
// // This is a comment
// ""Name"": ""John Smith"",
// ""Age"": 30,
@@ -162,21 +160,19 @@ namespace IRaCIS.Core.Application.Service.Common
// }
//}";
- // // 使用 Json.NET 库解析 JSON 字符串
- // JObject jObject = JObject.Parse(json,new JsonLoadSettings() { CommentHandling=CommentHandling.Load});
+ //// 使用 Json.NET 库解析 JSON 字符串
+ //JObject jObject = JObject.Parse(json, new JsonLoadSettings() { CommentHandling = CommentHandling.Load });
- // // 修改属性
- // jObject["Name"] = "Jane Smith";
-
- // // 将修改后的 JObject 对象序列化为 JSON 字符串并保留注释
- // string newJson = jObject.ToString(Formatting.Indented);
-
-
- // // 打印修改后的 JSON 字符串
- // Console.WriteLine(newJson);
+ //// 修改属性
+ //jObject["Name"] = "Jane Smith";
+ //// 将修改后的 JObject 对象序列化为 JSON 字符串并保留注释
+ //string newJson = jObject.ToString(Newtonsoft.Json.Formatting.Indented);
+ //// 打印修改后的 JSON 字符串
+ //Console.WriteLine(newJson);
+ #endregion
// 读取 Json 文件
@@ -184,40 +180,38 @@ namespace IRaCIS.Core.Application.Service.Common
var json = File.ReadAllText("appsettings.json");
- JObject jsonObject = JObject.Parse(json, new JsonLoadSettings() { CommentHandling=CommentHandling.Load});
+ JObject jsonObject = JObject.Parse(json, new JsonLoadSettings() { CommentHandling = CommentHandling.Load });
// 获取 UpdateConfig 属性所在的节点
JToken updateConfigNode = jsonObject.SelectToken("UpdateConfig");
JProperty updateConfigProperty = (JProperty)updateConfigNode.Parent;
JObject updateConfigParent = (JObject)updateConfigProperty.Value;
-
-
// 向 updateConfigParent 添加或者属性
updateConfigParent[key] = newValue;
// 将更改保存回 Json 文件
- //File.WriteAllText(jsonFilePath, jsonObject.ToString());
+ File.WriteAllText(jsonFilePath, jsonObject.ToString());
- using (var reader = new JsonTextReader(new StringReader(json)))
- using (var writer = new JsonTextWriter(new StreamWriter("appsettings.json")))
- {
- while (reader.Read())
- {
- if (reader.TokenType == JsonToken.PropertyName && (string)reader.Value == key)
- {
- // Write the updated property value
- writer.WritePropertyName(key);
- writer.WriteValue(newValue);
-
- continue;
- }
+ //using (var reader = new JsonTextReader(new StringReader(json)))
+ //using (var writer = new JsonTextWriter(new StreamWriter("appsettings.json")))
+ //{
+ // while (reader.Read())
+ // {
+ // if (reader.TokenType == JsonToken.PropertyName && (string)reader.Value == key)
+ // {
+ // // Write the updated property value
+ // writer.WritePropertyName(key);
+ // writer.WriteValue(newValue);
+ // reader.Read();
+ // continue;
+ // }
- // Write all other tokens
- writer.WriteToken(reader.TokenType, reader.Value);
- }
- }
+ // // Write all other tokens
+ // writer.WriteToken(reader.TokenType, reader.Value);
+ // }
+ //}
From e8e1142363f8b71739f98070f621dd8d2731937d Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Thu, 6 Apr 2023 14:17:04 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E6=9A=82=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/Allocation/VisitTaskService.cs | 27 ++++++++++++++++++-
IRaCIS.Core.Domain/Allocation/VisitTask.cs | 10 +++----
2 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index bf2d433ed..ca280b4f9 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -1912,6 +1912,17 @@ namespace IRaCIS.Core.Application.Service.Allocation
foreach (var influenceTask in influenceTaskList)
{
+ //已签名的任务 设置转变后的标志
+ if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.ReadingTaskState==ReadingTaskState.HaveSigned)
+ {
+ var isConvertedTask= _visitTaskRepository.Where(t => t.Id == influenceTask.Id).Select(t => t.IsConvertedTask).FirstOrDefault();
+
+ if (isConvertedTask)
+ {
+ influenceTask.IsHistoryConvertedTask = true;
+ }
+ }
+
//处理申请的任务
if (influenceTask.Id == origenalTask.Id)
@@ -2138,7 +2149,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
var task = (await _visitTaskRepository.Where(t => t.Id == taskId).FirstOrDefaultAsync()).IfNullThrowException();
- var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == task.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
+ var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == task.TrialReadingCriterionId).Select(x => new { x.ReadingTool,x.CriterionType, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
if (criterionConfig.IsAutoCreate == false)
{
@@ -2306,6 +2317,19 @@ namespace IRaCIS.Core.Application.Service.Allocation
foreach (var influenceTask in influenceTaskList)
{
+ //已签名的任务 设置转变后的标志
+ if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ {
+ var isConvertedTask = _visitTaskRepository.Where(t => t.Id == influenceTask.Id).Select(t => t.IsConvertedTask).FirstOrDefault();
+
+ if (isConvertedTask)
+ {
+ influenceTask.IsHistoryConvertedTask = true;
+ }
+ }
+
+
+
//同意的访视 因为要记录具体的操作,所以废弃
if (influenceTask.Id == task.Id)
{
@@ -2367,6 +2391,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
}
+
}
#endregion
diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
index bc75a527c..37ca6af5c 100644
--- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs
+++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
@@ -321,10 +321,6 @@ namespace IRaCIS.Core.Domain.Models
public bool IsAnalysisCreate { get; set; }
- /////
- ///// 是否是转变的任务(转为IRECIST)
- /////
- //public bool IsConvertedTask { get; set; } = false;
///
/// 转换之前的任务Id(转化的任务才有该值)
@@ -342,10 +338,14 @@ namespace IRaCIS.Core.Domain.Models
&& t.ArmEnum == ArmEnum) || BeforeConvertedTaskId != null
).Any();
-
+ ///
+ /// 重阅重置任务的 标注是转化之前的 还是转化之后的
+ ///
+ public bool IsHistoryConvertedTask { get; set; } = false;
+
public bool? IsSelfAnalysis { get; set; }
public string BlindSubjectCode { get; set; } = string.Empty;
From 6e7d2888321d2e7803af20ce940ce0cce51940ae Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Thu, 6 Apr 2023 16:39:08 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=8D=E9=98=85?=
=?UTF-8?q?=E5=89=8D=E5=8F=98=E6=9B=B4=E8=8A=82=E7=82=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs | 1 +
1 file changed, 1 insertion(+)
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index ca280b4f9..955496151 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -2957,6 +2957,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//PM退回
else
{
+
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
{
From 095be8aa1a34bf647d2eceb98834092c6d416d07 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Thu, 6 Apr 2023 17:16:01 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E9=87=8D=E9=98=85=20=E9=80=80=E5=9B=9E?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4=E4=B8=80=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 7 +
.../Service/Allocation/VisitTaskService.cs | 912 ++++++++----------
2 files changed, 428 insertions(+), 491 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index a0eebe9de..0a901c2db 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1443,6 +1443,13 @@
+
+
+ 获取新靶病灶评估
+
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 955496151..65bff5b7e 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -807,7 +807,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//var defalutSortArray = new string[] { nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.IsUrgent) + " desc", nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.SubjectId), nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.VisitTaskNum) };
- var defalutSortArray = new string[] {
+ var defalutSortArray = new string[] {
nameof(ReReadingTaskView.RequestReReadingResultEnum) ,
nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.IsUrgent) + " desc",
nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.TaskState),
@@ -1515,7 +1515,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id).FirstOrDefaultAsync()).IfNullThrowException();
- if ( (origenalTask.TaskState != TaskState.Effect && origenalTask.TaskState != TaskState.Freeze))
+ if ((origenalTask.TaskState != TaskState.Effect && origenalTask.TaskState != TaskState.Freeze))
{
//---当前申请重阅任务的状态,已被其他任务重阅已影响,不允许对该状态下的任务进行重阅同意与否操作
return ResponseOutput.NotOk(_localizer["VisitTask_ReapplyStatusConflict"]);
@@ -1607,13 +1607,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
- //influenceTaskList.ForEach(t =>
- //{
- // //记录实际影像的任务
-
- // influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
- //});
-
await InfluenceAddtioncalEvaluationCritrionAsync(origenalTask, influenceTaskList.Where(t => t.Id != origenalTask.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
@@ -1622,47 +1615,67 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
- //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
- if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != origenalTask.VisitTaskNum)
+
+ if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
- if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- {
- influenceTask.TaskState = TaskState.HaveReturned;
+ influenceTask.TaskState = TaskState.HaveReturned;
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
- }
- else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
- {
- influenceTask.TaskState = TaskState.Adbandon;
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
- }
- else
- {
- influenceTask.DoctorUserId = null;
- influenceTask.AllocateTime = null;
- influenceTask.SuggesteFinishedTime = null;
- influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
-
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
- }
+ trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
}
- //当前访视
else
{
- if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- {
- influenceTask.TaskState = TaskState.HaveReturned;
-
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
- }
- else
- {
- influenceTask.TaskState = TaskState.Adbandon;
-
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
- }
+ influenceTask.TaskState = TaskState.Adbandon;
+ trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
}
+
+ #region 废弃 分配 留存
+
+ ////申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
+ //if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != origenalTask.VisitTaskNum)
+ //{
+ // if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ // {
+ // influenceTask.TaskState = TaskState.HaveReturned;
+
+ // trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
+ // }
+ // else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
+ // {
+ // influenceTask.TaskState = TaskState.Adbandon;
+ // trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
+ // }
+ // else
+ // {
+ // influenceTask.DoctorUserId = null;
+ // influenceTask.AllocateTime = null;
+ // influenceTask.SuggesteFinishedTime = null;
+ // influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
+
+ // trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
+ // }
+ //}
+ ////当前访视
+ //else
+ //{
+ // if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ // {
+ // influenceTask.TaskState = TaskState.HaveReturned;
+
+ // trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
+ // }
+ // else
+ // {
+ // influenceTask.TaskState = TaskState.Adbandon;
+
+ // trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
+ // }
+
+ //}
+
+ #endregion
+
+
}
#endregion
}
@@ -1690,12 +1703,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
- //influenceTaskList.ForEach(t =>
- //{
- // //记录实际影像的任务
-
- // influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
- //});
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
@@ -1741,77 +1748,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
RequestReReadingResultEnum = RequestReReadingResult.Agree,
});
- //await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == origenalTask.Id, u => new VisitTask()
- //{
- // ReReadingApplyState = ReReadingApplyState.Agree
- //});
+
#endregion
- #region 申请任务 重新生成 拷贝表单 必须放在影响的访视生成任务之前,因为会影响 IsConvertedTask 标志
-
-
- await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
- {
- TrialId = trialId,
-
- ReadingCategory = GenerateTaskCategory.ReReading,
-
- ReReadingTask = origenalTask,
-
- //同步才可以
- Action = (newTask) =>
- {
- //申请表 设置新任务Id
- visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
-
- ////生成的任务分配给原始医生
- newTask.DoctorUserId = origenalTask.DoctorUserId;
- newTask.TaskAllocationState = TaskAllocationState.Allocated;
- newTask.AllocateTime = DateTime.Now;
- newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
-
-
- //裁判任务 需要进行特殊处理 在重阅逻辑里面处理
-
-
- //拷贝表单
- if (visitTaskReReadingAppply.IsCopyOrigenalForms)
- {
- if (origenalTask.ReadingCategory == ReadingCategory.Visit)
- {
- var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
-
- foreach (var item in list)
- {
- item.Id = Guid.Empty;
- item.VisitTaskId = newTask.Id;
- }
-
- _ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
- }
- //else if (origenalTask.ReadingCategory == ReadingCategory.Global)
- //{
- // var list = _repository.Where(t => t.GlobalTaskId == origenalTask.Id).ToList();
-
- // foreach (var item in list)
- // {
- // item.Id = Guid.Empty;
- // item.GlobalTaskId = newTask.Id;
- // }
-
- // _ = _repository.AddRangeAsync(list).Result;
- //}
-
-
- }
-
- }
- });
-
- #endregion
//有序阅片
if (criterionConfig.IsReadingTaskViewInOrder)
@@ -1846,7 +1788,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
filterExpression = filterExpression.And(t => (t.VisitTaskNum > origenalTask.VisitTaskNum &&
(
- (((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
+ ((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
// 裁判 肿瘤学是另外的医生做
|| t.ReadingCategory == ReadingCategory.Judge
|| t.ReadingCategory == ReadingCategory.Oncology
@@ -1857,7 +1799,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
filterExpression = filterExpression.And(t => t.VisitTaskNum >= origenalTask.VisitTaskNum &&
(
- (((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
+ ((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
// 裁判 肿瘤学是另外的医生做
|| t.ReadingCategory == ReadingCategory.Judge
|| t.ReadingCategory == ReadingCategory.Oncology
@@ -1913,9 +1855,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
foreach (var influenceTask in influenceTaskList)
{
//已签名的任务 设置转变后的标志
- if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.ReadingTaskState==ReadingTaskState.HaveSigned)
+ if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
- var isConvertedTask= _visitTaskRepository.Where(t => t.Id == influenceTask.Id).Select(t => t.IsConvertedTask).FirstOrDefault();
+ var isConvertedTask = _visitTaskRepository.Where(t => t.Id == influenceTask.Id).Select(t => t.IsConvertedTask).FirstOrDefault();
if (isConvertedTask)
{
@@ -1934,106 +1876,138 @@ namespace IRaCIS.Core.Application.Service.Allocation
await InfluenceAddtioncalEvaluationCritrionAsync(origenalTask, influenceTaskList.Where(t => t.Id != origenalTask.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList(), false);
+ }
+
+
+ var beforeTaskState = influenceTask.TaskState;
+
+ if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ {
+ influenceTask.TaskState = TaskState.HaveReturned;
+
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
}
- //处理其他任务
else
{
+ influenceTask.TaskState = TaskState.Adbandon;
- var beforeTaskState = influenceTask.TaskState;
+ trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
+ }
- if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ // 影响的任务 仅仅访视类别的才生成
+ if (influenceTask.ReadingCategory == ReadingCategory.Visit)
+ {
+
+
+ // 影响的其他标准的附加评估的任务不立即生成 比如1.1基线 重阅 PM 同意仅仅生成1.1任务,不生成BM任务
+ if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment && influenceTask.TrialReadingCriterionId != origenalTask.TrialReadingCriterionId)
{
- influenceTask.TaskState = TaskState.HaveReturned;
-
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
- }
- else
- {
- influenceTask.TaskState = TaskState.Adbandon;
-
- trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
+ //BM标准的不生成任务
+ continue;
}
- // 影响的任务 仅仅访视类别的才生成
- if (influenceTask.ReadingCategory == ReadingCategory.Visit)
+
+ //当前任务是转变任务,并且影响列表里有转变之前的任务 那么该访视任务就不生成
+ if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.BeforeConvertedTaskId != null && influenceTaskList.Any(t => t.Id == influenceTask.BeforeConvertedTaskId))
{
+ continue;
+ }
+ #region 影响的任务生成
- // 影响的其他标准的附加评估的任务不立即生成 比如1.1基线 重阅 PM 同意仅仅生成1.1任务,不生成BM任务
- if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment && influenceTask.TrialReadingCriterionId != origenalTask.TrialReadingCriterionId)
+ await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
+ {
+ TrialId = trialId,
+
+ ReadingCategory = GenerateTaskCategory.ReReading,
+
+ ReReadingTask = influenceTask,
+
+ //同步才可以
+ Action = (newTask) =>
{
- //BM标准的不生成任务
- continue;
- }
+ //申请表 设置新任务Id
+ visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
+
+ //生成的任务分配给原始医生
+ newTask.DoctorUserId = origenalTask.DoctorUserId;
+ newTask.TaskAllocationState = TaskAllocationState.Allocated;
+ newTask.AllocateTime = DateTime.Now;
+ newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
- //当前任务是转变任务,并且影响列表里有转变之前的任务 那么该访视任务就不生成
- if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.BeforeConvertedTaskId != null && influenceTaskList.Any(t => t.Id == influenceTask.BeforeConvertedTaskId))
- {
- continue;
- }
-
-
- await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
- {
- TrialId = trialId,
-
- ReadingCategory = GenerateTaskCategory.ReReading,
-
- ReReadingTask = influenceTask,
-
- //同步才可以
- Action = (newTask) =>
+ if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id==origenalTask.Id)
{
- //申请表 设置新任务Id
- visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
-
- //生成的任务分配给原始医生
- newTask.DoctorUserId = origenalTask.DoctorUserId;
- newTask.TaskAllocationState = TaskAllocationState.Allocated;
- newTask.AllocateTime = DateTime.Now;
- newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
-
- //拷贝后续表单
- if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum)
+ if (origenalTask.ReadingCategory == ReadingCategory.Visit)
{
- if (origenalTask.ReadingCategory == ReadingCategory.Visit)
+ var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
+
+ foreach (var item in list)
{
- var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
-
- foreach (var item in list)
- {
- item.Id = Guid.Empty;
- item.VisitTaskId = newTask.Id;
- }
-
- _ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
+ item.Id = Guid.Empty;
+ item.VisitTaskId = newTask.Id;
}
- //else if (origenalTask.ReadingCategory == ReadingCategory.Global)
- //{
- // var list = _repository.Where(t => t.GlobalTaskId == origenalTask.Id).ToList();
- // foreach (var item in list)
- // {
- // item.Id = Guid.Empty;
- // item.GlobalTaskId = newTask.Id;
- // }
-
- // _ = _repository.AddRangeAsync(list).Result;
- //}
+ _ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
}
+ //else if (origenalTask.ReadingCategory == ReadingCategory.Global)
+ //{
+ // var list = _repository.Where(t => t.GlobalTaskId == origenalTask.Id).ToList();
+
+ // foreach (var item in list)
+ // {
+ // item.Id = Guid.Empty;
+ // item.GlobalTaskId = newTask.Id;
+ // }
+
+ // _ = _repository.AddRangeAsync(list).Result;
+ //}
+
}
- });
+
+ //拷贝后续表单
+ if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum)
+ {
+ if (origenalTask.ReadingCategory == ReadingCategory.Visit)
+ {
+ var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
+
+ foreach (var item in list)
+ {
+ item.Id = Guid.Empty;
+ item.VisitTaskId = newTask.Id;
+ }
+
+ _ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
+ }
+ //else if (origenalTask.ReadingCategory == ReadingCategory.Global)
+ //{
+ // var list = _repository.Where(t => t.GlobalTaskId == origenalTask.Id).ToList();
+
+ // foreach (var item in list)
+ // {
+ // item.Id = Guid.Empty;
+ // item.GlobalTaskId = newTask.Id;
+ // }
+
+ // _ = _repository.AddRangeAsync(list).Result;
+ //}
+ }
+
+ }
+ });
- }
+ #endregion
+
}
+
+
}
#endregion
@@ -2083,6 +2057,73 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
}
+
+ if (influenceTask.ReadingCategory == ReadingCategory.Visit)
+ {
+ await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
+ {
+ TrialId = trialId,
+
+ ReadingCategory = GenerateTaskCategory.ReReading,
+
+ ReReadingTask = origenalTask,
+
+ //同步才可以
+ Action = (newTask) =>
+ {
+ //申请表 设置新任务Id
+ visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
+
+ ////生成的任务分配给原始医生
+ newTask.DoctorUserId = origenalTask.DoctorUserId;
+ newTask.TaskAllocationState = TaskAllocationState.Allocated;
+ newTask.AllocateTime = DateTime.Now;
+ newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
+
+
+ //裁判任务 需要进行特殊处理 在重阅逻辑里面处理
+
+
+ if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id == origenalTask.Id)
+ {
+ if (origenalTask.ReadingCategory == ReadingCategory.Visit)
+ {
+ var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
+
+ foreach (var item in list)
+ {
+ item.Id = Guid.Empty;
+ item.VisitTaskId = newTask.Id;
+ }
+
+ _ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
+ }
+
+ }
+
+ //拷贝后续表单
+ if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum)
+ {
+ if (origenalTask.ReadingCategory == ReadingCategory.Visit)
+ {
+ var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
+
+ foreach (var item in list)
+ {
+ item.Id = Guid.Empty;
+ item.VisitTaskId = newTask.Id;
+ }
+
+ _ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
+ }
+ }
+
+
+ }
+ });
+
+ }
+
}
}
@@ -2149,7 +2190,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
var task = (await _visitTaskRepository.Where(t => t.Id == taskId).FirstOrDefaultAsync()).IfNullThrowException();
- var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == task.TrialReadingCriterionId).Select(x => new { x.ReadingTool,x.CriterionType, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
+ var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == task.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.CriterionType, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
if (criterionConfig.IsAutoCreate == false)
{
@@ -2197,6 +2238,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
//Expression> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.TaskAllocationState == TaskAllocationState.Allocated;
+
filterExpression = filterExpression.And(t => t.IsAnalysisCreate == false);
@@ -2209,107 +2251,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
-
- #region 方式一
- //foreach (var influenceTask in influenceTaskList)
- //{
- // //申请任务的阅片人 后续任务肯定没做, 只有访视任务,没有其他任务 取消分配
- // if (influenceTask.DoctorUserId == task.DoctorUserId)
- // {
-
- // switch (influenceTask.ReadingCategory)
- // {
- // case ReadingCategory.Visit:
-
- // influenceTask.DoctorUserId = null;
- // influenceTask.AllocateTime = null;
- // influenceTask.SuggesteFinishedTime = null;
- // influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
- // break;
-
- // case ReadingCategory.Global:
- // case ReadingCategory.Judge:
- // case ReadingCategory.Oncology:
-
- // throw new BusinessValidationFailedException("不支持回退任务类型");
- // }
- // }
- // //另外一个阅片人
- // else
- // {
- // //另外一个阅片人 有序PM 申请重阅流程
- // if (otherReviewerTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- // {
- // switch (influenceTask.ReadingCategory)
- // {
- // case ReadingCategory.Visit:
-
- // if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- // {
- // influenceTask.TaskState = TaskState.HaveReturned;
- // }
- // else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
- // {
- // influenceTask.TaskState = TaskState.Adbandon;
- // }
- // else
- // {
- // influenceTask.DoctorUserId = null;
- // influenceTask.AllocateTime = null;
- // influenceTask.SuggesteFinishedTime = null;
- // influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
- // }
- // break;
- // case ReadingCategory.Global:
- // case ReadingCategory.Oncology:
-
- // if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- // {
- // influenceTask.TaskState = TaskState.HaveReturned;
- // }
- // else
- // {
- // influenceTask.TaskState = TaskState.Adbandon;
- // }
-
- // break;
-
- // case ReadingCategory.Judge:
- // default:
-
- // throw new BusinessValidationFailedException("不支持回退任务类型");
- // }
- // }
- // //另外一个阅片人 有序 PM 回退流程
- // else
- // {
- // switch (influenceTask.ReadingCategory)
- // {
- // case ReadingCategory.Visit:
-
- // influenceTask.DoctorUserId = null;
- // influenceTask.AllocateTime = null;
- // influenceTask.SuggesteFinishedTime = null;
- // influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
- // break;
-
- // case ReadingCategory.Global:
- // case ReadingCategory.Judge:
- // case ReadingCategory.Oncology:
-
- // throw new BusinessValidationFailedException("不支持回退任务类型");
- // }
- // }
-
- // }
- //}
-
-
-
- #endregion
-
-
-
#region 方式二
var origenalTask = influenceTaskList.Where(t => t.Id == task.Id).FirstOrDefault();
@@ -2328,17 +2269,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
}
-
-
//同意的访视 因为要记录具体的操作,所以废弃
if (influenceTask.Id == task.Id)
{
- //influenceTaskList.ForEach(t =>
- //{
- // //记录实际影像的任务
-
- // influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
- //});
await InfluenceAddtioncalEvaluationCritrionAsync(task, influenceTaskList.Where(t => t.Id != task.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
@@ -2350,48 +2283,64 @@ namespace IRaCIS.Core.Application.Service.Allocation
influenceTask.IsPMSetBack = true;
}
- //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
- if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != task.VisitTaskNum)
+ if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
- //后续访视处理访视
- if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- {
- influenceTask.TaskState = TaskState.HaveReturned;
-
- origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
- }
- else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
- {
- influenceTask.TaskState = TaskState.Adbandon;
- origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
- }
- else
- {
- influenceTask.DoctorUserId = null;
- influenceTask.AllocateTime = null;
- influenceTask.SuggesteFinishedTime = null;
- influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
-
- origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
- }
+ influenceTask.TaskState = TaskState.HaveReturned;
+ origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
}
else
{
- //申请的访视 全局肿瘤学
-
- if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- {
- influenceTask.TaskState = TaskState.HaveReturned;
- origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
- }
- else
- {
- influenceTask.TaskState = TaskState.Adbandon;
- origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
- }
-
+ influenceTask.TaskState = TaskState.Adbandon;
+ origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
}
+ #region 废弃取消分配留存
+
+ ////申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
+ //if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != task.VisitTaskNum)
+ //{
+ // //后续访视处理访视
+ // if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ // {
+ // influenceTask.TaskState = TaskState.HaveReturned;
+
+ // origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
+ // }
+ // else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
+ // {
+ // influenceTask.TaskState = TaskState.Adbandon;
+ // origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
+ // }
+ // else
+ // {
+ // influenceTask.DoctorUserId = null;
+ // influenceTask.AllocateTime = null;
+ // influenceTask.SuggesteFinishedTime = null;
+ // influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
+
+ // origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
+ // }
+ //}
+ //else
+ //{
+ // //申请的访视 全局肿瘤学
+
+ // if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
+ // {
+ // influenceTask.TaskState = TaskState.HaveReturned;
+ // origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
+ // }
+ // else
+ // {
+ // influenceTask.TaskState = TaskState.Adbandon;
+ // origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
+ // }
+
+ //}
+ #endregion
+
+
+
}
#endregion
@@ -2404,25 +2353,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
//无序 无序阅片没有 全局 肿瘤学
-
- //// 当前任务标为失效
- //task.TaskState = TaskState.Adbandon;
-
- ////考虑该访视 另外一个阅片人的任务
- //var otherReviewerTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.SourceSubjectVisitId == task.SourceSubjectVisitId && t.Id != task.Id && t.TaskState == TaskState.Effect);
-
-
- //if (otherReviewerTask.ReadingTaskState == ReadingTaskState.HaveSigned)
- //{
- // //另外阅片人完成阅片了 就设置为重阅重置
- // otherReviewerTask.TaskState = TaskState.HaveReturned;
- //}
- //else
- //{
- // otherReviewerTask.TaskState = TaskState.Adbandon;
- //}
-
-
// 申请该访视的任务 申请人失效 另外一个人重阅重置或者失效
var currentVisitList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == task.SourceSubjectVisitId && t.ReadingCategory == ReadingCategory.Visit && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze) && t.VisitTaskNum == task.VisitTaskNum, true).ToListAsync();
@@ -2447,16 +2377,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
}
- ////同意的访视
- //if (influenceTask.Id == task.Id)
- //{
- // currentVisitList.ForEach(t =>
- // {
- // //记录实际影像的任务
-
- // influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
- // });
- //}
}
}
@@ -2686,7 +2606,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
filterExpression = filterExpression.And(t => (t.VisitTaskNum > filterObj.VisitTaskNum &&
(
- (((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
+ ((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
// 裁判 肿瘤学是另外的医生做
|| t.ReadingCategory == ReadingCategory.Judge
|| t.ReadingCategory == ReadingCategory.Oncology
@@ -2697,7 +2617,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
filterExpression = filterExpression.And(t => t.VisitTaskNum >= filterObj.VisitTaskNum &&
(
- (((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
+ ((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
// 裁判 肿瘤学是另外的医生做
|| t.ReadingCategory == ReadingCategory.Judge
|| t.ReadingCategory == ReadingCategory.Oncology
@@ -2869,138 +2789,148 @@ namespace IRaCIS.Core.Application.Service.Allocation
foreach (var influenceTask in list)
{
+ influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
- 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;
- }
- }
- }
+ #region 变更前 注释
- }
- //PM退回
- else
- {
+ //if (isReReading)
+ //{
- //有序
- 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 ((_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;
+ // }
+ // }
+ // }
- 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;
- }
- }
+ //}
+ ////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