修改导表
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
137f77cdc5
commit
47eaed78ed
|
@ -12,9 +12,11 @@ using Microsoft.AspNetCore.Authorization;
|
|||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NPOI.POIFS.Properties;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using static IRaCIS.Core.Application.Service.ExcelExportHelper;
|
||||
using IDictionaryService = IRaCIS.Application.Interfaces.IDictionaryService;
|
||||
|
||||
|
@ -1612,34 +1614,77 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
}
|
||||
else
|
||||
{
|
||||
//产生了阅片期
|
||||
if (resultExceptJudgeList.Any(t => t.IsSubjectHaveReadingPeriod))
|
||||
|
||||
//没有产生裁判 有可能一个人没做完,也有可能做完了没产生裁判
|
||||
//两个人都做了(1、两个人都阅片完,确实没产生,2、两个人都阅片完,还没到阅片期,没产生裁判)
|
||||
|
||||
//默认都设置为null 仅仅处理 阅片期读完了没产生裁判 裁判选择标记需要设置的访视
|
||||
visitItem.IsJudgeSelect = null;
|
||||
visitItem.IsTrigerJudge = null;
|
||||
|
||||
//阅片期访视号
|
||||
var subjectReadingPeriondVisitNumList = resultExceptJudgeList.Where(t => t.SubjectCode == visitItem.SubjectCode).FirstOrDefault()?.SubjectCriterionReadingPeriodVisitNumList;
|
||||
|
||||
if (subjectReadingPeriondVisitNumList != null)
|
||||
{
|
||||
//没有产生裁判 有可能一个人没做完,也有可能做完了没产生裁判
|
||||
//两个人都做了
|
||||
if (resultExceptJudgeList.Count(t => t.VisitTaskNum == visitItem.VisitTaskNum && t.SubjectCode == visitItem.SubjectCode) == 2)
|
||||
//两个人完成最大得任务号
|
||||
var subjectMaxFinishedVisitTaskNum = resultExceptJudgeList.Where(t => t.SubjectCode == visitItem.SubjectCode)
|
||||
.GroupBy(t => t.VisitTaskNum).Where(g => g.Count() == 2).Select(g => g.Key).DefaultIfEmpty().Max();
|
||||
|
||||
var minReadingPeriodVisitNum = subjectReadingPeriondVisitNumList.Min();
|
||||
|
||||
var maxReadingPeriodVisitNum = subjectReadingPeriondVisitNumList.Max();
|
||||
|
||||
//最小阅片期 最大阅片期 完成访视号 对应存在三种情况
|
||||
|
||||
//有阅片期读完了 存在两种
|
||||
//大于最大阅片期
|
||||
if (subjectMaxFinishedVisitTaskNum > maxReadingPeriodVisitNum)
|
||||
{
|
||||
//不存在裁判 将R1设置
|
||||
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
||||
//两个人都做完了 并且当前任务号小于 最大阅片期 才设置裁判 产生标记和裁判选择标记
|
||||
if (resultExceptJudgeList.Count(t => t.VisitTaskNum == visitItem.VisitTaskNum && t.SubjectCode == visitItem.SubjectCode) == 2 && visitItem.VisitTaskNum <= maxReadingPeriodVisitNum)
|
||||
{
|
||||
visitItem.IsJudgeSelect = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
visitItem.IsJudgeSelect = false;
|
||||
//不存在裁判 将R1设置
|
||||
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
||||
{
|
||||
visitItem.IsJudgeSelect = true;
|
||||
visitItem.IsTrigerJudge = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
visitItem.IsJudgeSelect = false;
|
||||
visitItem.IsTrigerJudge = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
//大于最小阅片期
|
||||
else if (subjectMaxFinishedVisitTaskNum > minReadingPeriodVisitNum)
|
||||
{
|
||||
visitItem.IsJudgeSelect = null;
|
||||
visitItem.IsTrigerJudge = null;
|
||||
//找到小于完成最大任务号最近的阅片期号
|
||||
|
||||
var latestFinishedReadingPeriodNum = subjectReadingPeriondVisitNumList.Where(t => t < subjectMaxFinishedVisitTaskNum).OrderBy(t => t).Max();
|
||||
|
||||
if (resultExceptJudgeList.Count(t => t.VisitTaskNum == visitItem.VisitTaskNum && t.SubjectCode == visitItem.SubjectCode) == 2 && visitItem.VisitTaskNum <= latestFinishedReadingPeriodNum)
|
||||
{
|
||||
//不存在裁判 将R1设置
|
||||
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
||||
{
|
||||
visitItem.IsJudgeSelect = true;
|
||||
visitItem.IsTrigerJudge = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
visitItem.IsJudgeSelect = false;
|
||||
visitItem.IsTrigerJudge = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
visitItem.IsJudgeSelect = null;
|
||||
visitItem.IsTrigerJudge = null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -227,7 +227,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
public string SubjectCode { get; set; } = String.Empty;
|
||||
|
||||
[DictionaryTranslateAttribute("Subject_Visit_Status")]
|
||||
public SubjectStatus SubjectStatus { get; set; }
|
||||
public SubjectStatus SubjectStatus { get; set; }
|
||||
|
||||
public String TrialSiteCode { get; set; } = String.Empty;
|
||||
|
||||
|
@ -1159,7 +1159,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
{
|
||||
public List<CommonQuesionInfo> QuestionAnswerList { get; set; }
|
||||
|
||||
public bool IsSubjectHaveReadingPeriod { get; set; }
|
||||
public List<decimal> SubjectCriterionReadingPeriodVisitNumList { get; set; }
|
||||
|
||||
public String TrialSiteCode { get; set; } = String.Empty;
|
||||
public string SubjectCode { get; set; } = String.Empty;
|
||||
|
|
|
@ -257,9 +257,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
false)))
|
||||
.ForMember(o => o.JudgeNote, t => t.MapFrom(u => u.ReadingCategory==ReadingCategory.Judge? u.JudgeResultRemark : u.JudgeVisitTask.JudgeResultRemark))
|
||||
.ForMember(o => o.VisitNote, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.AdjustReason).FirstOrDefault()!.Answer))
|
||||
.ForMember(o => o.IsSubjectHaveReadingPeriod, t => t.MapFrom(u => arbitrationRule == ArbitrationRule.Reading ?
|
||||
u.Subject.ReadModuleList.Any(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.ReadingSetType == ReadingSetType.ImageReading) : false))
|
||||
//.ForMember(o => o.IsSubjectHaveReadingPeriod, t => t.MapFrom(u => arbitrationRule == ArbitrationRule.Reading ?
|
||||
//u.Subject.ReadModuleList.Any(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.ReadingSetType == ReadingSetType.ImageReading) : false))
|
||||
|
||||
|
||||
.ForMember(o => o.SubjectCriterionReadingPeriodVisitNumList, t => t.MapFrom(u =>
|
||||
u.Subject.ReadModuleList.Where(t=>t.TrialReadingCriterionId == trialReadingCriterionId && t.ReadingSetType == ReadingSetType.ImageReading).Select(c=>c.SubjectVisit.VisitNum)))
|
||||
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode))
|
||||
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
||||
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
||||
|
|
Loading…
Reference in New Issue