Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
This commit is contained in:
+45
-6
@@ -19,6 +19,7 @@ using IRaCIS.Core.Domain.Share.Reading;
|
||||
using System.Runtime.InteropServices;
|
||||
using DocumentFormat.OpenXml.Bibliography;
|
||||
using System.Linq.Expressions;
|
||||
using MathNet.Numerics.Statistics.Mcmc;
|
||||
|
||||
namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
@@ -495,12 +496,21 @@ namespace IRaCIS.Core.Application.Service
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
public async Task BatchGenerateTask(BatchGenerateTaskCommand batchGenerateTaskCommand)
|
||||
public async Task<IResponseOutput> BatchGenerateTask(BatchGenerateTaskCommand batchGenerateTaskCommand)
|
||||
{
|
||||
|
||||
await _subjectCriteriaEvaluationVisitFilterRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == batchGenerateTaskCommand.SubjectId
|
||||
var trakingList= await _subjectCriteriaEvaluationVisitFilterRepository.Where(t => t.SubjectId == batchGenerateTaskCommand.SubjectId
|
||||
&& t.TrialReadingCriterionId == batchGenerateTaskCommand.TrialReadingCriterionId
|
||||
&& batchGenerateTaskCommand.SubjectVisitIdList.Contains(t.SubjectVisitId), u => new SubjectCriteriaEvaluationVisitFilter { IsGeneratedTask = true });
|
||||
&& batchGenerateTaskCommand.SubjectVisitIdList.Contains(t.SubjectVisitId),true).ToListAsync();
|
||||
|
||||
foreach (var item in trakingList)
|
||||
{
|
||||
item.IsGeneratedTask = true;
|
||||
}
|
||||
|
||||
//await _subjectCriteriaEvaluationVisitFilterRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == batchGenerateTaskCommand.SubjectId
|
||||
//&& t.TrialReadingCriterionId == batchGenerateTaskCommand.TrialReadingCriterionId
|
||||
//&& batchGenerateTaskCommand.SubjectVisitIdList.Contains(t.SubjectVisitId), u => new SubjectCriteriaEvaluationVisitFilter { IsGeneratedTask = true });
|
||||
|
||||
//自动生成任务
|
||||
|
||||
@@ -513,6 +523,10 @@ namespace IRaCIS.Core.Application.Service
|
||||
var generateVisitIdList = idList.Except(haveGenerateVisitIdList);
|
||||
|
||||
await _IVisitTaskHelpeService.BaseCritrionGenerateVisitTask(batchGenerateTaskCommand.TrialId, batchGenerateTaskCommand.TrialReadingCriterionId, true, generateVisitIdList.Select(t => (Guid)t).ToList());
|
||||
|
||||
await _subjectCriteriaEvaluationVisitFilterRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -573,10 +587,35 @@ namespace IRaCIS.Core.Application.Service
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> BatchAddSubjectCriteriaEvaluationVisitStudyFilter(List<SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit> batchList)
|
||||
{
|
||||
var ids = batchList.Select(t => t.Id).ToList();
|
||||
await _subjectCriteriaEvaluationVisitStudyFilterRepository.BatchDeleteNoTrackingAsync(t => ids.Contains(t.Id));
|
||||
|
||||
await _subjectCriteriaEvaluationVisitStudyFilterRepository.AddRangeAsync(_mapper.Map<List<SubjectCriteriaEvaluationVisitStudyFilter>>(batchList));
|
||||
var ids = batchList.Where(t => t.Id != null).Select(t => t.Id).ToList();
|
||||
#region 稽查修改前
|
||||
|
||||
//await _subjectCriteriaEvaluationVisitStudyFilterRepository.BatchDeleteNoTrackingAsync(t => ids.Contains(t.Id));
|
||||
|
||||
//await _subjectCriteriaEvaluationVisitStudyFilterRepository.AddRangeAsync(_mapper.Map<List<SubjectCriteriaEvaluationVisitStudyFilter>>(batchList));
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 查询再更新
|
||||
if (ids.Count > 0)
|
||||
{
|
||||
var list = await _subjectCriteriaEvaluationVisitStudyFilterRepository.Where(t => ids.Contains(t.Id), true).ToListAsync();
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
item.IsReading = batchList.FirstOrDefault(t => t.Id == item.Id)?.IsReading ?? item.IsReading;
|
||||
item.IsConfirmed = batchList.FirstOrDefault(t => t.Id == item.Id)?.IsConfirmed ?? item.IsConfirmed;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
await _subjectCriteriaEvaluationVisitStudyFilterRepository.AddRangeAsync(_mapper.Map<List<SubjectCriteriaEvaluationVisitStudyFilter>>(batchList));
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
var first = batchList.First();
|
||||
|
||||
Reference in New Issue
Block a user