修改一致性核查
parent
d65c1d5bb8
commit
c7517b56da
|
@ -791,7 +791,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
|
|
||||||
if (import.Exception != null) return ResponseOutput.NotOk(import.Exception.ToString());
|
if (import.Exception != null) return ResponseOutput.NotOk(import.Exception.ToString());
|
||||||
|
|
||||||
if (import.RowErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.RowErrors));
|
//if (import.RowErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.RowErrors));
|
||||||
|
|
||||||
if (import.TemplateErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.TemplateErrors));
|
if (import.TemplateErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.TemplateErrors));
|
||||||
|
|
||||||
|
@ -819,7 +819,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
|
|
||||||
if (import.Exception != null) return ResponseOutput.NotOk(import.Exception.ToString());
|
if (import.Exception != null) return ResponseOutput.NotOk(import.Exception.ToString());
|
||||||
|
|
||||||
if (import.RowErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.RowErrors));
|
//if (import.RowErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.RowErrors));
|
||||||
|
|
||||||
if (import.TemplateErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.TemplateErrors));
|
if (import.TemplateErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.TemplateErrors));
|
||||||
|
|
||||||
|
@ -896,7 +896,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
|
|
||||||
var dt = DateTime.Now;
|
var dt = DateTime.Now;
|
||||||
|
|
||||||
etcCheckList = etcCheckList.Where(t => !(t.Modality == string.Empty && t.SiteCode == string.Empty && t.SubjectCode == string.Empty && t.VisitName == string.Empty && t.StudyDate == string.Empty && DateTime.TryParse(t.StudyDate, out dt))).ToList();
|
etcCheckList = etcCheckList.Where(t => !(t.Modality == string.Empty || t.SiteCode == string.Empty || t.SubjectCode == string.Empty || t.VisitName == string.Empty || t.StudyDate == string.Empty ||! DateTime.TryParse(t.StudyDate, out dt))).ToList();
|
||||||
|
|
||||||
if (etcCheckList.Count == 0)
|
if (etcCheckList.Count == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,6 +7,8 @@ using Microsoft.AspNetCore.Mvc;
|
||||||
using Panda.DynamicWebApi.Attributes;
|
using Panda.DynamicWebApi.Attributes;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
using static IRaCIS.Core.Domain.Share.StaticData;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
|
||||||
namespace IRaCIS.Application.Services
|
namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
@ -396,60 +398,139 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var success = await _repository.BatchDeleteAsync<Trial>(o => o.Id == trialId) ||
|
var success = await _repository.BatchDeleteAsync<CheckChallengeDialog>(o => o.SubjectVisit.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<TrialStateChange>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<ClinicalDataTrialSet>(o => o.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<TrialPaymentPrice>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<ConsistencyCheckFile>(o => o.TrialId == trialId) ||
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<TrialUser>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialDictionary>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialSiteUser>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<VisitStage>(t => t.TrialId == trialId) ||
|
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<TrialDocument>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<CriterionNidus>(o => o.TrialReadingCriterion.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<TrialDocNeedConfirmedUserType>(t => t.TrialDocument.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<ReadingCriterionDictionary>(o => o.TrialReadingCriterion.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<TrialDocConfirmedUser>(t => t.TrialDocument.TrialId == trialId) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<DataInspection>(o => o.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<Enroll>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<EnrollDetail>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<PaymentAdjustment>(t => t.TrialId == trialId) ||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<PaymentDetail>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialAttachment>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialRevenuesPrice>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialSign>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialRevenuesPrice>(t => t.TrialId == trialId) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<TrialSiteSurvey>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialSiteUserSurvey>(t => t.TrialSiteSurvey.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialSiteEquipmentSurvey>(t => t.TrialSiteSurvey.TrialId == trialId) ||
|
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<Subject>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<SubjectVisit>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialQCQuestion>(t => t.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<TrialQCQuestionAnswer>(t => t.TrialId == trialId) ||
|
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<DicomStudy>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<DicomStudy>(t => t.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<StudyMonitor>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<StudyMonitor>(t => t.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<DicomSeries>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<DicomSeries>(t => t.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<DicomInstance>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<DicomInstance>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<StudyMonitor>(t => t.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<EnrollReadingCategory>(t => t.Enroll.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<Enroll>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<EnrollDetail>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<NoneDicomStudyFile>(t => t.NoneDicomStudy.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<NoneDicomStudy>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<OrganTrialInfo>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<PaymentAdjustment>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<PaymentDetail>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<PreviousHistory>(t => t.SubjectVisit.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<PreviousHistory>(t => t.SubjectVisit.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<PreviousOther>(t => t.SubjectVisit.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<PreviousOther>(t => t.SubjectVisit.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<PreviousPDF>(t => t.SubjectVisit.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<PreviousPDF>(t => t.SubjectVisit.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<NoneDicomStudyFile>(t => t.NoneDicomStudy.TrialId == trialId) ||
|
|
||||||
await _repository.BatchDeleteAsync<NoneDicomStudy>(t => t.TrialId == trialId)
|
|
||||||
|
await _repository.BatchDeleteAsync<QCChallengeDialog>(t => t.QCChallenge.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<QCChallenge>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<ReadingClinicalDataPDF>(t => t.ReadingClinicalData.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingClinicalData>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingGlobalTaskInfo>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingJudgeInfo>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<ReadingMedicalReviewDialog>(t => t.TaskMedicalReview.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingMedicineQuestionAnswer>(t => t.TaskMedicalReview.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingMedicineTrialQuestion>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<ReadingOncologyTaskInfo>(t => t.VisitTask.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingPeriodPlan>(t => t.ReadingPeriodSet.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingPeriodSet>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<ReadingQuestionTrial>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingTableAnswerRowInfo>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<ReadingTableQuestionAnswer>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingTableQuestionTrial>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingTaskQuestionAnswer>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<ReadingTaskRelation>(t => t.VisitTask.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadModule>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingTaskQuestionAnswer>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<SubjectCanceDoctor>(t => t.Subject.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<SubjectUser>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<Subject>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<SubjectVisit>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TaskAllocationRule>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TaskConsistentRule>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TaskInfluence>(t => t.InfluenceTask.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TaskMedicalReview>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TaskMedicalReviewRule>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialStateChange>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialPaymentPrice>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<Trial>(o => o.Id == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialClinicalDataSetCriterion>(t => t.TrialReadingCriterion.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialCriterionDictionaryCode>(t => t.TrialReadingCriterion.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<ReadingQuestionCriterionTrial>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialDictionary>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialDocConfirmedUser>(t => t.TrialDocument.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialDocument>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialDocNeedConfirmedUserType>(t => t.TrialDocument.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialEmailNoticeUser>(t => t.TrialEmailNoticeConfig.TrialId == trialId) ||
|
||||||
|
|
||||||
|
//await _repository.BatchDeleteAsync<TrialExperience>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialEmailNoticeUser>(t => t.TrialEmailNoticeConfig.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialEmailNoticeConfig>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialExternalUser>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialPaymentPrice>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialQCQuestion>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialQCQuestionAnswer>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialRevenuesPrice>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialRevenuesPriceVerification>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialSign>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialSite>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialSiteSurvey>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialSiteUserSurvey>(t => t.TrialSiteSurvey.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialSiteEquipmentSurvey>(t => t.TrialSiteSurvey.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<TrialUser>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialSiteUser>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<VisitStage>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<VisitPlanInfluenceStat>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<VisitPlanInfluenceStudy>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
await _repository.BatchDeleteAsync<VisitTaskReReading>(t => t.OriginalReReadingTask.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<VisitTask>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialAttachment>(t => t.TrialId == trialId) ||
|
||||||
|
await _repository.BatchDeleteAsync<TrialStateChange>(t => t.TrialId == trialId)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
return ResponseOutput.Result(success);
|
return ResponseOutput.Result(success);
|
||||||
|
@ -464,7 +545,41 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[AllowAnonymous]
|
||||||
|
[HttpDelete, Route("{trialId:guid}")]
|
||||||
|
public async Task<IResponseOutput> DeleteTrialTaskData(Guid trialId)
|
||||||
|
{
|
||||||
|
|
||||||
|
//await _repository.BatchDeleteAsync<ReadingMedicineTrialQuestion>(t => t.TrialId == trialId) ||
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingQuestionTrial>(t => t.TrialId == trialId) ||
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingTableQuestionTrial>(t => t.TrialId == trialId) ||
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//await _repository.BatchDeleteAsync<ReadingGlobalTaskInfo>(t => t.TrialId == trialId);
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingJudgeInfo>(t => t.TrialId == trialId);
|
||||||
|
|
||||||
|
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingMedicalReviewDialog>(t => t.TaskMedicalReview.TrialId == trialId);
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingMedicineQuestionAnswer>(t => t.TaskMedicalReview.TrialId == trialId);
|
||||||
|
|
||||||
|
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingOncologyTaskInfo>(t => t.VisitTask.TrialId == trialId);
|
||||||
|
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingTableAnswerRowInfo>(t => t.TrialId == trialId);
|
||||||
|
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingTableQuestionAnswer>(t => t.TrialId == trialId);
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingTaskQuestionAnswer>(t => t.TrialId == trialId) ;
|
||||||
|
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingTaskRelation>(t => t.VisitTask.TrialId == trialId);
|
||||||
|
// await _repository.BatchDeleteAsync<ReadingTaskQuestionAnswer>(t => t.TrialId == trialId);
|
||||||
|
|
||||||
|
// await _repository.BatchDeleteAsync<VisitTaskReReading>(t => t.OriginalReReadingTask.TrialId == trialId);
|
||||||
|
// await _repository.BatchDeleteAsync<VisitTask>(t => t.TrialId == trialId);
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<PageOutput<TrialDetailDTO>> GetReviewerTrialListByEnrollmentStatus(TrialByStatusQueryDTO param)
|
public async Task<PageOutput<TrialDetailDTO>> GetReviewerTrialListByEnrollmentStatus(TrialByStatusQueryDTO param)
|
||||||
|
|
|
@ -71,25 +71,25 @@ namespace IRaCIS.Core.Application.MediatR.CommandAndQueries
|
||||||
|
|
||||||
public class CheckViewModel
|
public class CheckViewModel
|
||||||
{
|
{
|
||||||
[Required(ErrorMessage = "中心编号不能为空")]
|
//[Required(ErrorMessage = "中心编号不能为空")]
|
||||||
[ImporterHeader(Name = "中心编号", AutoTrim = true)]
|
[ImporterHeader(Name = "中心编号", AutoTrim = true)]
|
||||||
[ExcelColumnName("中心编号")]
|
[ExcelColumnName("中心编号")]
|
||||||
public string SiteCode { get; set; } = string.Empty;
|
public string SiteCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "受试者筛选号不能为空")]
|
//[Required(ErrorMessage = "受试者筛选号不能为空")]
|
||||||
[ImporterHeader(Name = "受试者筛选号", AutoTrim = true)]
|
[ImporterHeader(Name = "受试者筛选号", AutoTrim = true)]
|
||||||
[ExcelColumnName("受试者筛选号")]
|
[ExcelColumnName("受试者筛选号")]
|
||||||
public string SubjectCode { get; set; } = string.Empty;
|
public string SubjectCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
[Required(ErrorMessage = "访视名称不能为空")]
|
//[Required(ErrorMessage = "访视名称不能为空")]
|
||||||
[ImporterHeader(Name = "访视名称", AutoTrim = true)]
|
[ImporterHeader(Name = "访视名称", AutoTrim = true)]
|
||||||
[ExcelColumnName("访视名称")]
|
[ExcelColumnName("访视名称")]
|
||||||
public string VisitName { get; set; } = string.Empty;
|
public string VisitName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "检查日期不能为空")]
|
//[Required(ErrorMessage = "检查日期不能为空")]
|
||||||
[CanConvertToTime(ErrorMessage = "检查日期格式有问题")]
|
[CanConvertToTime(ErrorMessage = "检查日期格式有问题")]
|
||||||
|
|
||||||
[ImporterHeader(Name = "检查日期", AutoTrim = true)]
|
[ImporterHeader(Name = "检查日期", AutoTrim = true)]
|
||||||
|
@ -98,7 +98,7 @@ namespace IRaCIS.Core.Application.MediatR.CommandAndQueries
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "Modality不能为空")]
|
//[Required(ErrorMessage = "Modality不能为空")]
|
||||||
[ImporterHeader(Name = "检查技术", AutoTrim = true)]
|
[ImporterHeader(Name = "检查技术", AutoTrim = true)]
|
||||||
[ExcelColumnName("检查技术")]
|
[ExcelColumnName("检查技术")]
|
||||||
public string Modality { get; set; } = string.Empty;
|
public string Modality { get; set; } = string.Empty;
|
||||||
|
|
|
@ -60,6 +60,10 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public Guid UpdateUserId { get; set; }
|
public Guid UpdateUserId { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[ForeignKey("TaskMedicalReviewId")]
|
||||||
|
public TaskMedicalReview TaskMedicalReview { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public bool IsSystemCriterion { get; set; }
|
public bool IsSystemCriterion { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[ForeignKey("CriterionId")]
|
||||||
|
[JsonIgnore]
|
||||||
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,12 +15,9 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[Table("TrialCriterionDictionaryCode")]
|
[Table("TrialCriterionDictionaryCode")]
|
||||||
public class TrialCriterionDictionaryCode : Entity, IAuditAdd
|
public class TrialCriterionDictionaryCode : Entity, IAuditAdd
|
||||||
{
|
{
|
||||||
|
[ForeignKey("TrialCriterionId")]
|
||||||
/// <summary>
|
[JsonIgnore]
|
||||||
/// Id
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
public Guid Id { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// TrialCriterionId
|
/// TrialCriterionId
|
||||||
|
|
|
@ -58,6 +58,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[ForeignKey("DictionaryId")]
|
[ForeignKey("DictionaryId")]
|
||||||
public Dictionary Dictionary { get; set; }
|
public Dictionary Dictionary { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("CriterionId")]
|
||||||
|
[JsonIgnore]
|
||||||
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,10 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[Table("ReadingTaskRelation")]
|
[Table("ReadingTaskRelation")]
|
||||||
public class ReadingTaskRelation : Entity, IAuditAdd
|
public class ReadingTaskRelation : Entity, IAuditAdd
|
||||||
{
|
{
|
||||||
|
|
||||||
|
[ForeignKey("TaskId")]
|
||||||
|
[JsonIgnore]
|
||||||
|
public VisitTask VisitTask { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 任务ID
|
/// 任务ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -40,6 +44,8 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid CreateUserId { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue