diff --git a/IRaCIS.Core.Application/Service/Institution/DTO/HospitalModel.cs b/IRaCIS.Core.Application/Service/Institution/DTO/HospitalModel.cs index 32d933d97..3bf266668 100644 --- a/IRaCIS.Core.Application/Service/Institution/DTO/HospitalModel.cs +++ b/IRaCIS.Core.Application/Service/Institution/DTO/HospitalModel.cs @@ -23,6 +23,8 @@ namespace IRaCIS.Application.Contracts public string CountryCN { get; set; } = String.Empty; public string ProvinceCN { get; set; } = String.Empty; public string CityCN { get; set; } = String.Empty; + + public Guid? SiteId { get; set; } } public class HospitalQueryDTO : PageInput diff --git a/IRaCIS.Core.Application/Service/Institution/HospitalService.cs b/IRaCIS.Core.Application/Service/Institution/HospitalService.cs index c05d5c156..393b5b571 100644 --- a/IRaCIS.Core.Application/Service/Institution/HospitalService.cs +++ b/IRaCIS.Core.Application/Service/Institution/HospitalService.cs @@ -2,6 +2,7 @@ using IRaCIS.Application.Contracts; using IRaCIS.Core.Infra.EFCore; using Microsoft.AspNetCore.Mvc; +using IRaCIS.Core.Infrastructure; namespace IRaCIS.Application.Services { @@ -33,6 +34,11 @@ namespace IRaCIS.Application.Services VerifyMsg = "已经存在同名的医院,请确认。" }; + if (await _hospitalRepository.AnyAsync(x => x.SiteId == hospitalCommand.SiteId && hospitalCommand.SiteId != null)) + { + throw new BusinessValidationFailedException("当前Site已经添加到其他Hospital了"); + } + var hospital = await _hospitalRepository.InsertOrUpdateAsync(hospitalCommand, true, exp); return ResponseOutput.Ok(hospital.Id.ToString()); diff --git a/IRaCIS.Core.Domain/Institution/Hospital.cs b/IRaCIS.Core.Domain/Institution/Hospital.cs index 45c86356c..b0b93ad2e 100644 --- a/IRaCIS.Core.Domain/Institution/Hospital.cs +++ b/IRaCIS.Core.Domain/Institution/Hospital.cs @@ -26,6 +26,11 @@ namespace IRaCIS.Core.Domain.Models public DateTime UpdateTime { get; set; } = DateTime.Now; public Guid UpdateUserId { get; set; } = Guid.Empty; + /// + /// 中心Id + /// + public Guid? SiteId { get; set; } = Guid.Empty; + [JsonIgnore] public List DoctorList { get; set; } diff --git a/IRaCIS.Core.Domain/SQLFile/Test.sql b/IRaCIS.Core.Domain/SQLFile/Test.sql index 94f92b59e..6e151b610 100644 --- a/IRaCIS.Core.Domain/SQLFile/Test.sql +++ b/IRaCIS.Core.Domain/SQLFile/Test.sql @@ -194,4 +194,14 @@ inner join ReadingMedicineQuestionAnswer on ReadingMedicineQuestionAnswer.TaskMe update frontAuditConfig set DictionaryCode ='' where Code='AuditState' and DictionaryCode='AuditState' -----正式环境 修改TrialCode 错误的 \ No newline at end of file +----正式环境 修改TrialCode 错误的 + + + + + +----------------------------2023-1-09 + +-- 修改Hospital 的SiteId +update Hospital set Hospital.SiteId=Site.Id from Site +inner join Hospital on Hospital.HospitalName=Site.SiteName \ No newline at end of file