修改稽查

Uat_Study
hang 2022-08-24 16:10:21 +08:00
parent 074a2ac494
commit 545c04e5db
9 changed files with 36 additions and 26 deletions

View File

@ -577,7 +577,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
//给Subject分配医生的时候 未确认绑定关系的 //给Subject分配医生的时候 未确认绑定关系的
DoctorUserList = t.SubjectDoctorList.Where(t => isJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.OrignalSubjectUserId == null).Select(t => new { t.DoctorUserId, t.ArmEnum }), DoctorUserList = t.SubjectDoctorList.Where(t => isJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.OrignalSubjectUserId == null).Select(t => new { t.DoctorUserId, t.ArmEnum }),
IsApplyed = t.SubjectDoctorList.Where(t => isJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.OrignalSubjectUserId == null).SelectMany(t => t.SubjectArmVisitTaskList).Any(c => c.DoctorUserId != null) //IsApplyed = t.SubjectDoctorList.Where(t => isJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.OrignalSubjectUserId == null).SelectMany(t => t.SubjectArmVisitTaskList).Any(c => c.DoctorUserId != null)
IsApplyed=false
}).ToList(); }).ToList();
//已产生任务的Subject数量裁判情况下就是产生裁判任务Subject 的数量) //已产生任务的Subject数量裁判情况下就是产生裁判任务Subject 的数量)

View File

@ -35,7 +35,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.SelfApplyedTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId == u.DoctorUserId))) .ForMember(o => o.SelfApplyedTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId == u.DoctorUserId)))
.ForMember(o => o.ApplyedTotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId != null))) .ForMember(o => o.ApplyedTotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId != null)))
.ForMember(o => o.SelfApplyedSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && t.SubjectArmVisitTaskList.Any(c => c.DoctorUserId != null)).Count())) //.ForMember(o => o.SelfApplyedSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && t.SubjectArmVisitTaskList.Any(c => c.DoctorUserId != null)).Count()))
.ForMember(o => o.SelfSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId).Count())) .ForMember(o => o.SelfSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId).Count()))
.ForMember(o => o.ApplyedTotalSubjectCount, t => t.MapFrom(u => u.Trial.SubjectList.Count(c => c.SubjectVisitTaskList.Any(d => d.DoctorUserId != null)))) .ForMember(o => o.ApplyedTotalSubjectCount, t => t.MapFrom(u => u.Trial.SubjectList.Count(c => c.SubjectVisitTaskList.Any(d => d.DoctorUserId != null))))
@ -43,10 +43,10 @@ namespace IRaCIS.Core.Application.Service
//该医生未应用Subject 数量 //该医生未应用Subject 数量
.ForMember(o => o.WaitApplySelfSubjectCount, t => t.MapFrom(u => //.ForMember(o => o.WaitApplySelfSubjectCount, t => t.MapFrom(u =>
subjectIdList.Count == 0 ? u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Any(c => c.DoctorUserId == null)).Count() // subjectIdList.Count == 0 ? u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Any(c => c.DoctorUserId == null)).Count()
: u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && subjectIdList.Contains(t.SubjectId) && t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Any(c => c.DoctorUserId == null)).Count() // : u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && subjectIdList.Contains(t.SubjectId) && t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Any(c => c.DoctorUserId == null)).Count()
)) // ))
.ForMember(o => o.WaitApplyTotalSubjectCount, t => t.MapFrom(u => .ForMember(o => o.WaitApplyTotalSubjectCount, t => t.MapFrom(u =>
@ -54,10 +54,10 @@ namespace IRaCIS.Core.Application.Service
: u.Trial.SubjectList.Where(t => subjectIdList.Contains(t.Id) && t.SubjectVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Any(c => c.DoctorUserId == null)).Count() : u.Trial.SubjectList.Where(t => subjectIdList.Contains(t.Id) && t.SubjectVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Any(c => c.DoctorUserId == null)).Count()
)) ))
.ForMember(o => o.WaitApplySelfTaskCount, t => t.MapFrom(u => //.ForMember(o => o.WaitApplySelfTaskCount, t => t.MapFrom(u =>
subjectIdList.Count == 0 ? u.Trial.SubjectDoctorUserList.Where(d => d.DoctorUserId == u.DoctorUserId).SelectMany(t => t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.DoctorUserId == null)).Count() //subjectIdList.Count == 0 ? u.Trial.SubjectDoctorUserList.Where(d => d.DoctorUserId == u.DoctorUserId).SelectMany(t => t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.DoctorUserId == null)).Count()
: u.Trial.SubjectDoctorUserList.Where(d => d.DoctorUserId == u.DoctorUserId && subjectIdList.Contains(d.SubjectId)).SelectMany(t => t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.DoctorUserId == null)).Count() //: u.Trial.SubjectDoctorUserList.Where(d => d.DoctorUserId == u.DoctorUserId && subjectIdList.Contains(d.SubjectId)).SelectMany(t => t.SubjectArmVisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.DoctorUserId == null)).Count()
)) // ))
.ForMember(o => o.WaitApplyTotalTaskCount, t => t.MapFrom(u => .ForMember(o => o.WaitApplyTotalTaskCount, t => t.MapFrom(u =>
subjectIdList.Count == 0 ? u.Trial.VisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.DoctorUserId == null).Count() subjectIdList.Count == 0 ? u.Trial.VisitTaskList.Where(t => isJudgeDoctor ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Where(t => t.DoctorUserId == null).Count()
@ -93,7 +93,7 @@ namespace IRaCIS.Core.Application.Service
CreateMap<SubjectUser, SubjectUserDTO>().IncludeBase<SubjectUser, SubjectUserView>() CreateMap<SubjectUser, SubjectUserDTO>().IncludeBase<SubjectUser, SubjectUserView>()
.ForMember(o => o.IsHaveReading, t => t.MapFrom(u => u.SubjectArmVisitTaskList.Any(t => t.ReadingTaskState != ReadingTaskState.WaitReading))); /*.ForMember(o => o.IsHaveReading, t => t.MapFrom(u => u.SubjectArmVisitTaskList.Any(t => t.ReadingTaskState != ReadingTaskState.WaitReading)))*/;
CreateMap<SubjectVisit, VisitGenerataTaskDTO>(); CreateMap<SubjectVisit, VisitGenerataTaskDTO>();

View File

@ -52,6 +52,7 @@ namespace IRaCIS.Core.Application.Triggers
await _subjectVisitRepository.AddRangeAsync(svList); await _subjectVisitRepository.AddRangeAsync(svList);
await _subjectVisitRepository.SaveChangesAsync(); await _subjectVisitRepository.SaveChangesAsync();
#region 在f访视计划确认的时候处理 给subject添加访视计划 #region 在f访视计划确认的时候处理 给subject添加访视计划

View File

@ -68,15 +68,16 @@ namespace IRaCIS.Core.Domain.Models
//该属性有值 说明该医生被替换了 分配的时候 要过滤掉 //该属性有值 说明该医生被替换了 分配的时候 要过滤掉
public Guid? OrignalSubjectUserId { get; set; } public Guid? OrignalSubjectUserId { get; set; }
//Parent //Parent
[ForeignKey("OrignalSubjectUserId")]
public SubjectUser OrignalSubjectUser { get; set; } public SubjectUser OrignalSubjectUser { get; set; }
//ChildList //ChildList
public List<SubjectUser> EarlierSubjectUserList { get; set; } public List<SubjectUser> EarlierSubjectUserList { get; set; }
public List<VisitTask> SubjectArmVisitTaskList { get; set; } //public List<VisitTask> SubjectArmVisitTaskList { get; set; }
} }
} }

View File

@ -105,7 +105,10 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("JudgeVisitTaskId")] [ForeignKey("JudgeVisitTaskId")]
public VisitTask JudgeVisitTask { get; set; } public VisitTask JudgeVisitTask { get; set; }
public SubjectUser SujectArm { get; set; }
//public SubjectUser SujectArm { get; set; }
public Subject Subject { get; set; } public Subject Subject { get; set; }

View File

@ -20,7 +20,7 @@ namespace IRaCIS.Core.Domain.Models
public List<VisitTask> SubjectVisitTaskList { get; set; } = new List<VisitTask>(); public List<VisitTask> SubjectVisitTaskList { get; set; } = new List<VisitTask>();
[JsonIgnore] [JsonIgnore]
public List<ReadModule> ReadModuleList { get; set; } public List<ReadModule> ReadModuleList { get; set; }
[JsonIgnore]
public List<SubjectCanceDoctor> SubjectCanceDoctorList { get; set; } public List<SubjectCanceDoctor> SubjectCanceDoctorList { get; set; }

View File

@ -16,7 +16,7 @@ namespace IRaCIS.Core.Domain.Models
public class SubjectCanceDoctor : Entity, IAuditAdd public class SubjectCanceDoctor : Entity, IAuditAdd
{ {
public Subject Subject { get; set; }
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }

View File

@ -751,7 +751,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<Subject>(entity, type, x => new InspectionConvertDTO() await InsertInspection<Subject>(entity, type, x => new InspectionConvertDTO()
{ {
SubjectId = x.Id, SubjectId = x.Id,
//SubjectCode = x.Code, SubjectCode = x.Code,
}, new }, new
{ {
FinalSubjectVisitName = finalSubjectVisitName, FinalSubjectVisitName = finalSubjectVisitName,
@ -947,7 +947,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
ObjectRelationParentId2 = entity.DoctorUserId ObjectRelationParentId2 = entity.DoctorUserId
}); },new { ArmToTask =entity.ArmEnum});
} }
//任务 //任务

View File

@ -97,7 +97,11 @@ namespace IRaCIS.Core.Infra.EFCore
modelBuilder.Entity<TaskMedicalReviewRule>().HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.TaskMedicalReviewRule).HasForeignKey(t => new { t.DoctorUserId, t.TrialId }).HasPrincipalKey(u => new { u.DoctorUserId, u.TrialId }); modelBuilder.Entity<TaskMedicalReviewRule>().HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.TaskMedicalReviewRule).HasForeignKey(t => new { t.DoctorUserId, t.TrialId }).HasPrincipalKey(u => new { u.DoctorUserId, u.TrialId });
modelBuilder.Entity<SubjectUser>().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t => t.SujectArm).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum }); //会导致级联删除
//modelBuilder.Entity<SubjectUser>().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t => t.SujectArm).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum })
// ./*IsRequired(false)*/OnDelete(DeleteBehavior.NoAction);
// modelBuilder.Entity<VisitTask>().HasOne(t => t.SujectArm).WithMany(s => s.SubjectArmVisitTaskList).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum });
modelBuilder.Entity<VisitTask>().HasMany(t => t.JudgeVisitList).WithOne(t => t.JudgeVisitTask); modelBuilder.Entity<VisitTask>().HasMany(t => t.JudgeVisitList).WithOne(t => t.JudgeVisitTask);
@ -467,8 +471,8 @@ namespace IRaCIS.Core.Infra.EFCore
public async Task AddAudit() public async Task AddAudit()
{ {
try //try
{ //{
//触发器里面提交事务 业务方法里面提交事务 会记录两次 //触发器里面提交事务 业务方法里面提交事务 会记录两次
var inspectionGeneralIdList = ChangeTracker.Entries().Where(t => typeof(DataInspection).IsAssignableFrom(t.Entity.GetType())).Select(t => ((DataInspection)t.Entity).GeneralId).ToList(); var inspectionGeneralIdList = ChangeTracker.Entries().Where(t => typeof(DataInspection).IsAssignableFrom(t.Entity.GetType())).Select(t => ((DataInspection)t.Entity).GeneralId).ToList();
@ -478,12 +482,12 @@ namespace IRaCIS.Core.Infra.EFCore
AuditingData auditingData = new AuditingData(this, _userInfo); AuditingData auditingData = new AuditingData(this, _userInfo);
await auditingData.IncomingEntitys(entities); await auditingData.IncomingEntitys(entities);
} //}
catch (Exception) //catch (Exception)
{ //{
} //}
} }