diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 000000000..fe1152bdb
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,30 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
+!**/.gitignore
+!.git/HEAD
+!.git/config
+!.git/packed-refs
+!.git/refs/heads/**
\ No newline at end of file
diff --git a/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs b/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs
index d347e03a4..3eed41f3b 100644
--- a/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs
+++ b/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs
@@ -342,7 +342,7 @@ public static class ExcelExportHelper
IgnoreTemplateParameterMissing = true,
};
- await MiniExcel.SaveAsByTemplateAsync(memoryStream, tplPath, translateData, config);
+ await MiniExcel.SaveAsByTemplateAsync(memoryStream, templateStream.ToArray(), translateData, config);
memoryStream.Seek(0, SeekOrigin.Begin);
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 1604e2e36..328e313f8 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -6702,6 +6702,11 @@
限制编辑
+
+
+ 限制显示
+
+
最大答案长度
@@ -6790,6 +6795,11 @@
限制编辑
+
+
+ 限制显示
+
+
最大答案长度
@@ -7153,6 +7163,11 @@
限制编辑
+
+
+ 限制显示
+
+
最大答案长度
@@ -7213,6 +7228,11 @@
限制编辑
+
+
+ 限制显示
+
+
最大答案长度
@@ -7558,6 +7578,11 @@
限制编辑
+
+
+ 限制显示
+
+
最大答案长度
@@ -7903,6 +7928,11 @@
限制编辑
+
+
+ 限制显示
+
+
最大答案长度
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
index 76bb7d6ea..8315655ae 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
@@ -693,7 +693,7 @@ namespace IRaCIS.Core.Application.Service
var existCurrentVisitTaskList = _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId
&& t.TrialReadingCriterionId == trialReadingCriterionId && t.TaskState == TaskState.Effect
- && t.TaskAllocationState == TaskAllocationState.NotAllocate && t.DoctorUserId == null && t.SourceSubjectVisitId == subjectVisit.Id).ToList();
+ /* && t.TaskAllocationState == TaskAllocationState.NotAllocate && t.DoctorUserId == null*/ && t.SourceSubjectVisitId == subjectVisit.Id).ToList();
VisitTask? task1 = null;
VisitTask? task2 = null;
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 96c28bf13..863ef4c7e 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -1088,7 +1088,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
.WhereIf(critrion.IsAutoCreate == false, t => !t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).Any(f => f.IsGeneratedTask == false && t.VisitTaskNum > f.SubjectVisit.VisitNum))
// 前序 不存在 未一致性核查未通过的
- .Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum))
+ .Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum >= sv.VisitNum))
//.WhereIf(critrion.IsAutoCreate == false, t => t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).Any(t => t.IsGeneratedTask == false) ?
//t.VisitTaskNum <= t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsGeneratedTask == false).Min(t => t.SubjectVisit.VisitNum) : true)
//.Where(t => t.Subject.SubjectVisitList.Any(t => t.CheckState != CheckStateEnum.CVPassed) ? t.VisitTaskNum <= t.Subject.SubjectVisitList.Where(t => t.CheckState != CheckStateEnum.CVPassed).Min(t => t.VisitNum) : true)
@@ -2281,7 +2281,13 @@ namespace IRaCIS.Core.Application.Service.Allocation
#region 方式二
- var origenalTask = influenceTaskList.Where(t => t.Id == task.Id).FirstOrDefault();
+
+ //pm退回的时候,影响的任务里不一定有该任务id 双重 分配了一个人,退回的时候,选择的是未分配的
+
+ //var origenalTask = influenceTaskList.Where(t => t.Id == task.Id).FirstOrDefault();
+
+ var origenalTask = await _visitTaskRepository.FindAsync(task.Id);
+
foreach (var influenceTask in influenceTaskList)
{
@@ -2340,7 +2346,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
await SetMedicalReviewInvalidAsync(currentVisitList);
- var origenalTask = currentVisitList.Where(t => t.Id == task.Id).First();
+ //var origenalTask = currentVisitList.Where(t => t.Id == task.Id).First();
+
+ var origenalTask = await _visitTaskRepository.FindAsync(task.Id);
foreach (var influenceTask in currentVisitList)
{
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
index e9f5a7e53..eb978edc1 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
@@ -132,7 +132,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[HttpGet]
public IResponseOutput DicomUploadInProgress(Guid trialId, string studyInstanceUid)
{
- _provider.Set($"StudyUid_{trialId}_{studyInstanceUid}", _userInfo.Id, TimeSpan.FromSeconds(30));
+ _provider.Set($"StudyUid_{trialId}_{studyInstanceUid}", _userInfo.Id, TimeSpan.FromSeconds(15));
return ResponseOutput.Ok();
@@ -247,6 +247,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//重传的时候也要赋值检查Id
studyMonitor.StudyId = study.Id;
+ studyMonitor.StudyCode = study.StudyCode;
//特殊处理逻辑
study.Modalities = string.Join("、", incommand.Study.SeriesList.Select(t => t.Modality).Union(study.Modalities.Split("、", StringSplitOptions.RemoveEmptyEntries)).Distinct());
@@ -339,8 +340,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
-
-
[HttpPost]
public async Task> GetDicomAndNoneDicomStudyList(StudyQuery studyQuery)
{
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs
index 2406b12c1..2054c1e6e 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs
@@ -194,10 +194,10 @@ namespace IRaCIS.Core.Application.Services
var siteQueryable = _siteRepository.AsQueryable(true)
- .WhereIf(!string.IsNullOrWhiteSpace(searchModel.SiteName), t => t.SiteName.Contains(searchModel.SiteName) || t.SiteNameCN.Contains(searchModel.SiteName))
+ .WhereIf(!string.IsNullOrWhiteSpace(searchModel.SiteName), t => t.SiteName.Contains(searchModel.SiteName) || t.SiteNameCN.Contains(searchModel.SiteName) || t.AliasName.Contains(searchModel.SiteName))
.WhereIf(!string.IsNullOrWhiteSpace(searchModel.AliasName), t => t.AliasName.Contains(searchModel.AliasName))
- .WhereIf(!string.IsNullOrWhiteSpace(searchModel.City), t => t.City.Contains(searchModel.City))
- .WhereIf(!string.IsNullOrWhiteSpace(searchModel.Country), t => t.Country.Contains(searchModel.Country))
+ .WhereIf(!string.IsNullOrWhiteSpace(searchModel.City), t => t.City.Contains(searchModel.City))
+ .WhereIf(!string.IsNullOrWhiteSpace(searchModel.Country), t => t.Country.Contains(searchModel.Country))
.ProjectTo(_mapper.ConfigurationProvider, new { trialId = searchModel.TrialId , isEn_Us =_userInfo.IsEn_Us});
diff --git a/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs b/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs
index a0b97d911..06387c87c 100644
--- a/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs
+++ b/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs
@@ -92,10 +92,10 @@ namespace IRaCIS.Core.Application.MediatR.CommandAndQueries
//[Required(ErrorMessage = "检查日期不能为空")]
- [CanConvertToTime(ErrorMessage = "Does not conform to Stusy Date format")]
+ [CanConvertToTime(ErrorMessage = "Does not conform to Study Date format")]
- [ImporterHeader(Name = "Stusy Date", AutoTrim = true)]
- [ExcelColumnName("Stusy Date")]
+ [ImporterHeader(Name = "Study Date", AutoTrim = true)]
+ [ExcelColumnName("Study Date")]
public string StudyDate { get; set; } = string.Empty;