修改
continuous-integration/drone/push Build is passing Details

IRC_NewDev
he 2024-11-25 16:53:07 +08:00
parent e7193be3d7
commit c5aaa08326
5 changed files with 18265 additions and 48 deletions

View File

@ -88,6 +88,7 @@ namespace IRaCIS.Core.Application.Service
OtherClinicalExperienceCN = systemInfoDcotor.OtherClinicalExperienceCN,
};
#region 概述
///没有就加
var summarizeCount = await _doctorSummarizeRepository.Where(x => x.DoctorId == inDto.DoctorId && x.TrialId == inDto.TrialId).CountAsync();
if (summarizeCount == 0)
@ -95,17 +96,48 @@ namespace IRaCIS.Core.Application.Service
var main = await _doctorSummarizeRepository.Where(x => x.DoctorId == inDto.DoctorId && x.IsMain && x.TrialId == null).ProjectTo<SummarizeInfoDto>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
if (main != null)
{
main.Id=null;
main.Id = null;
main.TrialId = inDto.TrialId;
main.IsMain = false;
var entity = await _doctorSummarizeRepository.InsertOrUpdateAsync(main, true);
}
}
doctorInfo = await _doctorRepository.AddAsync(doctor, true);
#endregion
#region 临床试验
var trialExperienceList = await _trialExperienceRepository.Where(o => o.DoctorId == inDto.DoctorId)
.Where(x => x.ExperienceDataType == ExperienceDataType.System || x.ExperienceDataType == ExperienceDataType.SystemAuto).Include(x => x.ExperienceCriteriaList).ToListAsync();
List<TrialExperienceCriteria> criteriaList = new List<TrialExperienceCriteria>();
foreach (var item in trialExperienceList)
{
item.Trial = null;
item.TrialId = inDto.TrialId;
item.ExperienceDataType = ExperienceDataType.Trial;
item.Id = NewId.NextGuid();
item.ExperienceCriteriaList.ForEach(x => {
criteriaList.Add(new TrialExperienceCriteria()
{
DoctorId = item.DoctorId,
EvaluationCriteriaId = x.EvaluationCriteriaId,
TrialExperienceId = item.Id
});
});
item.ExperienceCriteriaList = new List<TrialExperienceCriteria>();
}
await _trialExperienceCriteriaRepository.AddRangeAsync(criteriaList);
await _trialExperienceRepository.AddRangeAsync(trialExperienceList);
await _trialExperienceRepository.SaveChangesAsync();
#endregion
}
return doctorInfo;
@ -130,41 +162,6 @@ namespace IRaCIS.Core.Application.Service
DoctorId = inDto.DoctorId,
TrialId = inDto.TrialId.Value,
});
// 当前项目没有则复制
if (!(await _trialExperienceRepository.AnyAsync(x => x.TrialId == inDto.TrialId&&x.DoctorId==inDto.DoctorId &&x.ExperienceDataType== ExperienceDataType.Trial))
&&(await _doctorRepository.AnyAsync(x => x.TrialId == inDto.TrialId && x.IsAddTrialExperienceToTrial==false && x.DoctorId == inDto.DoctorId))
)
{
var trialExperienceList = await _trialExperienceRepository.Where(o => o.DoctorId == inDto.DoctorId)
.Where(x => x.ExperienceDataType == ExperienceDataType.System || x.ExperienceDataType == ExperienceDataType.SystemAuto).Include(x=>x.ExperienceCriteriaList).ToListAsync();
List<TrialExperienceCriteria> criteriaList = new List<TrialExperienceCriteria>();
foreach (var item in trialExperienceList)
{
item.Trial = null;
item.TrialId = inDto.TrialId;
item.ExperienceDataType = ExperienceDataType.Trial;
item.Id = NewId.NextGuid();
item.ExperienceCriteriaList.ForEach(x => {
criteriaList.Add(new TrialExperienceCriteria()
{
DoctorId = item.DoctorId,
EvaluationCriteriaId = x.EvaluationCriteriaId,
TrialExperienceId = item.Id
});
});
item.ExperienceCriteriaList = new List<TrialExperienceCriteria>();
}
await _trialExperienceCriteriaRepository.AddRangeAsync(criteriaList);
await _trialExperienceRepository.AddRangeAsync(trialExperienceList);
await _doctorRepository.BatchUpdateNoTrackingAsync(x => x.DoctorId == inDto.DoctorId && x.TrialId == inDto.TrialId, x => new Doctor()
{
IsAddTrialExperienceToTrial=true
});
await _trialExperienceRepository.SaveChangesAsync();
}
var doctorClinicalTrialExperienceList = await _trialExperienceRepository
.Where(o => o.DoctorId == inDto.DoctorId)
.Where(x => x.ExperienceDataType == ExperienceDataType.Trial|| x.ExperienceDataType == ExperienceDataType.TrialAuto)

View File

@ -247,9 +247,4 @@ public class Doctor : BaseFullAuditEntity
/// ÏîÄ¿Id
/// </summary>
public Guid? TrialId { get; set; }
/// <summary>
/// 是否添加临床试验到项目
/// </summary>
public bool IsAddTrialExperienceToTrial { get; set; } = false;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace IRaCIS.Core.Infra.EFCore.Migrations
{
/// <inheritdoc />
public partial class doctorino : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsAddTrialExperienceToTrial",
table: "Doctor");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsAddTrialExperienceToTrial",
table: "Doctor",
type: "bit",
nullable: false,
defaultValue: false);
}
}
}

View File

@ -1428,9 +1428,6 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<bool>("IsAddTrialExperienceToTrial")
.HasColumnType("bit");
b.Property<bool>("IsVirtual")
.HasColumnType("bit");