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