From 9819c3b135bbb511ba5da3788537cdf98896b784 Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Tue, 22 Apr 2025 16:06:34 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E7=BB=93=E6=9E=9C=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E5=AE=A1=E6=A0=B8=E5=8C=BB=E7=94=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...tPacsPatientRegisterWithDicomIsExistDto.cs | 26 +
...PatientRegisterWithDicomIsExistInputDto.cs | 19 +
.../GetPatientRegisterPacsCheckDto.cs | 5 +
.../GetPatientRegisterPacsCheckInputDto.cs | 6 +
...ortDicomServiceDataWithIsSignInInputDto.cs | 76 +
.../UpdateRegisterCheckRemarkInputDto.cs | 19 +
.../PacsBusiness/PacsBusinessAppService.cs | 216 +-
.../RegisterChecks/RegisterCheck.cs | 7 +
.../RegisterChecks/RegisterCheckDbMapping.cs | 3 +
...639_register_check_add_is_send.Designer.cs | 16305 ++++++++++++++++
...250401080639_register_check_add_is_send.cs | 27 +
.../Migrations/PeisDbContextModelSnapshot.cs | 7 +
12 files changed, 16711 insertions(+), 5 deletions(-)
create mode 100644 src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistDto.cs
create mode 100644 src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistInputDto.cs
create mode 100644 src/Shentun.Pacs.Application.Contracts/PacsBusiness/ImportDicomServiceDataWithIsSignInInputDto.cs
create mode 100644 src/Shentun.Pacs.Application.Contracts/PacsBusiness/UpdateRegisterCheckRemarkInputDto.cs
create mode 100644 src/Shentun.Pacs.EntityFrameworkCore/Migrations/20250401080639_register_check_add_is_send.Designer.cs
create mode 100644 src/Shentun.Pacs.EntityFrameworkCore/Migrations/20250401080639_register_check_add_is_send.cs
diff --git a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistDto.cs b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistDto.cs
new file mode 100644
index 0000000..bed3da2
--- /dev/null
+++ b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistDto.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Pacs.PacsBusiness
+{
+ public class GetPacsPatientRegisterWithDicomIsExistDto
+ {
+ public string PatientName { get; set; }
+
+ public string PatientNameEng { get; set; }
+
+ public string PatientBirthDate { get; set; }
+
+ public string PatientSex { get; set; }
+
+ public string PatientAge { get; set; }
+
+ public string HospitalName { get; set; }
+
+ ///
+ /// 是否存储 Y N
+ ///
+ public char IsExistDicom { get; set; }
+ }
+}
diff --git a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistInputDto.cs b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistInputDto.cs
new file mode 100644
index 0000000..5fefc9a
--- /dev/null
+++ b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPacsPatientRegisterWithDicomIsExistInputDto.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Pacs.PacsBusiness
+{
+ public class GetPacsPatientRegisterWithDicomIsExistInputDto
+ {
+ ///
+ /// 条码号
+ ///
+ public string CheckRequestNo { get; set; }
+
+ ///
+ /// 实例ID
+ ///
+ public string InstanceId { get; set; }
+ }
+}
diff --git a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckDto.cs b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckDto.cs
index aa17340..c13d897 100644
--- a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckDto.cs
+++ b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckDto.cs
@@ -60,5 +60,10 @@ namespace Shentun.Pacs.PacsBusiness
/// 体检类型名称
///
public string MedicalTypeName { get; set; }
+
+ ///
+ /// 是否发送结果到体检系统 Y N
+ ///
+ public char IsSend { get; set; }
}
}
diff --git a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckInputDto.cs b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckInputDto.cs
index 4b2f673..1f19e1b 100644
--- a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckInputDto.cs
+++ b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/GetPatientRegisterPacsCheckInputDto.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace Shentun.Pacs.PacsBusiness
@@ -59,5 +60,10 @@ namespace Shentun.Pacs.PacsBusiness
///
public string CheckDoctorId { get; set; }
+ ///
+ /// 是否发送结果到体检系统
+ ///
+ public char? IsSend { get; set; }
+
}
}
diff --git a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/ImportDicomServiceDataWithIsSignInInputDto.cs b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/ImportDicomServiceDataWithIsSignInInputDto.cs
new file mode 100644
index 0000000..bc62d83
--- /dev/null
+++ b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/ImportDicomServiceDataWithIsSignInInputDto.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Pacs.PacsBusiness
+{
+ public class ImportDicomServiceDataWithIsSignInInputDto
+ {
+ ///
+ /// 条码号
+ ///
+ public string CheckRequestNo { get; set; }
+
+ ///
+ /// 预检AET
+ ///
+ public string ScheduledAet { get; set; }
+
+ ///
+ /// 设备类型
+ ///
+ public string Modality { get; set; }
+
+ ///
+ /// 实例ID
+ ///
+ public string InstanceId { get; set; }
+
+ ///
+ /// 患者ID
+ ///
+ public string ParentPatientId { get; set; }
+
+ ///
+ /// 系列ID
+ ///
+ public string ParentSeriesId { get; set; }
+
+ ///
+ /// 研究ID
+ ///
+ public string ParentStudyId { get; set; }
+
+ ///
+ /// 路径
+ ///
+ public string Path { get; set; }
+
+ ///
+ /// 文件名称
+ ///
+ public string FileName { get; set; }
+
+ ///
+ /// 状态
+ ///
+ public string Status { get; set; }
+
+ ///
+ /// 检查日期
+ ///
+ public string PacsCheckDate { get; set; }
+
+ ///
+ /// 上传日期
+ ///
+ public string PacsUploadDate { get; set; }
+
+ ///
+ /// 是否检查 Y N 默认为Y
+ ///
+ public char IsPacsCheck { get; set; } = 'Y';
+
+
+ }
+}
diff --git a/src/Shentun.Pacs.Application.Contracts/PacsBusiness/UpdateRegisterCheckRemarkInputDto.cs b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/UpdateRegisterCheckRemarkInputDto.cs
new file mode 100644
index 0000000..6fb1d9e
--- /dev/null
+++ b/src/Shentun.Pacs.Application.Contracts/PacsBusiness/UpdateRegisterCheckRemarkInputDto.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Pacs.PacsBusiness
+{
+ public class UpdateRegisterCheckRemarkInputDto
+ {
+ ///
+ /// 检查id
+ ///
+ public Guid RegisterCheckId { get; set; }
+
+ ///
+ /// 项目备注
+ ///
+ public string Remark { get; set; }
+ }
+}
diff --git a/src/Shentun.Pacs.Application/PacsBusiness/PacsBusinessAppService.cs b/src/Shentun.Pacs.Application/PacsBusiness/PacsBusinessAppService.cs
index e36386e..3793a4f 100644
--- a/src/Shentun.Pacs.Application/PacsBusiness/PacsBusinessAppService.cs
+++ b/src/Shentun.Pacs.Application/PacsBusiness/PacsBusinessAppService.cs
@@ -467,7 +467,8 @@ namespace Shentun.Pacs.PacsBusiness
medicalTypeId = patientRegister.MedicalTypeId,
encodingFlag = deviceHaveEmpty == null ? '0' : deviceHaveEmpty.EncodingFlag,
isFilmRelease = asbitem.IsFilmRelease,
- checkDoctorId = registerCheck.CheckDoctorId
+ checkDoctorId = registerCheck.CheckDoctorId,
+ isSend = registerCheck.IsSend
};
if (!string.IsNullOrWhiteSpace(input.PatientName))
@@ -542,6 +543,12 @@ namespace Shentun.Pacs.PacsBusiness
{
query = query.Where(m => m.checkDoctorId == input.CheckDoctorId);
}
+
+
+ if (input.IsSend != null)
+ {
+ query = query.Where(m => m.isSend == input.IsSend);
+ }
//#region 增加项目类别权限
//string AdminId = _configuration.GetValue("AdminId");
@@ -605,7 +612,8 @@ namespace Shentun.Pacs.PacsBusiness
PacsDesc = pacsDesc,
MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(fisrtItem.medicalTypeId).GetAwaiter().GetResult(),
CheckDoctorId = fisrtItem.checkDoctorId,
- CheckDoctorName = _cacheService.GetSurnameAsync(fisrtItem.checkDoctorId).GetAwaiter().GetResult()
+ CheckDoctorName = _cacheService.GetSurnameAsync(fisrtItem.checkDoctorId).GetAwaiter().GetResult(),
+ IsSend = fisrtItem.isSend
});
}
@@ -1769,7 +1777,12 @@ namespace Shentun.Pacs.PacsBusiness
checkDoctorName = checkDoctorId;
}
}
+ string auditDoctorName = "";
+ if (_currentUser.Id != null)
+ {
+ auditDoctorName = await _cacheService.GetSurnameAsync(_currentUser.Id);
+ }
//小结
string summary = "";
@@ -1780,14 +1793,18 @@ namespace Shentun.Pacs.PacsBusiness
}
await oldDb.Ado.ExecuteCommandAsync("update register_asbitem set summary=@summary,complete_flag=@complete_flag," +
- "check_doctor=@check_doctor,check_date=@check_date where patient_register_id=@patient_register_id and asbitem_id=@asbitem_id ",
+ "check_doctor=@check_doctor,check_date=@check_date,audit_flag=@audit_flag,audit_doctor=@audit_doctor,audit_date=@audit_date" +
+ " where patient_register_id=@patient_register_id and asbitem_id=@asbitem_id ",
new List() {
new SugarParameter("patient_register_id",registerCheckFirst.registerCheckAsbitem.OldPatientRegisterId),
new SugarParameter("asbitem_id",registerCheckFirst.registerCheckAsbitem.OldAsbitemId),
new SugarParameter("summary",summary),
new SugarParameter("complete_flag",registerCheckFirst.registerCheck.CompleteFlag),
new SugarParameter("check_doctor",checkDoctorName),
- new SugarParameter("check_date",registerCheckFirst.registerCheck.CheckDate)
+ new SugarParameter("check_date",registerCheckFirst.registerCheck.CheckDate),
+ new SugarParameter("audit_flag",'Y'),
+ new SugarParameter("audit_doctor",auditDoctorName),
+ new SugarParameter("audit_date",DateTime.Now)
});
#endregion
@@ -1840,7 +1857,9 @@ namespace Shentun.Pacs.PacsBusiness
await uow.CompleteAsync();
}
-
+ //更新发送状态
+ registerCheckFirst.registerCheck.IsSend = 'Y';
+ await _registerCheckRepository.UpdateAsync(registerCheckFirst.registerCheck);
}
@@ -1897,6 +1916,193 @@ namespace Shentun.Pacs.PacsBusiness
}
+ ///
+ /// 单独更新项目备注
+ ///
+ ///
+ ///
+ [HttpPost("api/app/PacsBusiness/UpdateRegisterCheckRemark")]
+ public async Task UpdateRegisterCheckRemarkAsync(UpdateRegisterCheckRemarkInputDto input)
+ {
+ var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.Id == input.RegisterCheckId);
+
+ if (registerCheckEnt == null)
+ {
+ throw new UserFriendlyException("检查id不正确");
+ }
+
+ registerCheckEnt.Remark = input.Remark;
+
+ await _registerCheckRepository.UpdateAsync(registerCheckEnt);
+
+ }
+
+ #endregion
+
+
+ #region 新接口20250403
+
+ ///
+ /// 根据检查条码跟InstanceId获取人员信息、是否存在dicom数据记录
+ ///
+ ///
+ [HttpPost("api/app/PacsBusiness/GetPacsPatientRegisterWithDicomIsExist")]
+ public async Task GetPacsPatientRegisterWithDicomIsExistAsync(GetPacsPatientRegisterWithDicomIsExistInputDto input)
+ {
+
+ var result = new GetPacsPatientRegisterWithDicomIsExistDto();
+
+ if (string.IsNullOrWhiteSpace(input.CheckRequestNo))
+ {
+ throw new UserFriendlyException("检查条码不能为空");
+ }
+
+ if (string.IsNullOrWhiteSpace(input.InstanceId))
+ {
+ throw new UserFriendlyException("实例ID不能为空");
+ }
+
+
+ var isExistDicomQuery = (from dicomFileDetail in await _dicomFileDetailRepository.GetQueryableAsync()
+ join registerCheck in await _registerCheckRepository.GetQueryableAsync() on dicomFileDetail.RegisterCheckId equals registerCheck.Id
+ where registerCheck.CheckRequestNo == input.CheckRequestNo && dicomFileDetail.InstanceId == input.InstanceId
+ select registerCheck.CheckRequestNo).Count();
+ result.IsExistDicom = isExistDicomQuery > 0 ? 'Y' : 'N';
+
+
+
+ var patientRegisterEnt = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
+ join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
+ join organizationUnit in await _organizationUnitRepository.GetQueryableAsync()
+ on patientRegister.MedicalCenterId equals organizationUnit.Id into organizationUnitTemp
+ from organizationUnitHaveEmpty in organizationUnitTemp.DefaultIfEmpty()
+ where registerCheck.CheckRequestNo == input.CheckRequestNo
+ select new
+ {
+ patientRegister,
+ medicalCenterName = organizationUnitHaveEmpty != null ? organizationUnitHaveEmpty.DisplayName : ""
+ }).FirstOrDefault();
+
+ if (patientRegisterEnt == null)
+ {
+ throw new UserFriendlyException("检查条码不存在");
+ }
+
+ string medicalCenterName = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "medical_center_name");
+
+
+ result.PatientAge = patientRegisterEnt.patientRegister.Age == null ? "" : patientRegisterEnt.patientRegister.Age.ToString();
+ result.PatientBirthDate = patientRegisterEnt.patientRegister.BirthDate == null ? "" : DataHelper.ConversionDateShortNoSymbolToString(patientRegisterEnt.patientRegister.BirthDate);
+ result.PatientName = patientRegisterEnt.patientRegister.PatientName;
+ result.PatientSex = patientRegisterEnt.patientRegister.SexId.ToString();
+ result.HospitalName = medicalCenterName;
+ result.PatientNameEng = LanguageConverter.GetPYAllName(patientRegisterEnt.patientRegister.PatientName);
+
+ return result;
+ }
+
+
+ ///
+ /// 导入dicom数据、更新worklist签收状态
+ ///
+ ///
+ [HttpPost("api/app/PacsBusiness/ImportDicomServiceDataWithIsSignIn")]
+ public async Task ImportDicomServiceDataWithIsSignInAsync(ImportDicomServiceDataWithIsSignInInputDto input)
+ {
+ if (string.IsNullOrWhiteSpace(input.CheckRequestNo))
+ throw new UserFriendlyException("条码号不能为空");
+
+ if (string.IsNullOrWhiteSpace(input.ScheduledAet))
+ throw new UserFriendlyException("预检AET不能为空");
+
+ if (string.IsNullOrWhiteSpace(input.Modality))
+ throw new UserFriendlyException("设备类型不能为空");
+
+ if (string.IsNullOrWhiteSpace(input.InstanceId))
+ throw new UserFriendlyException("InstanceId不正确");
+
+ if (string.IsNullOrWhiteSpace(input.ParentStudyId))
+ throw new UserFriendlyException("ParentStudyId不正确");
+
+ if (string.IsNullOrWhiteSpace(input.ParentPatientId))
+ throw new UserFriendlyException("ParentPatientId不正确");
+
+ if (string.IsNullOrWhiteSpace(input.ParentSeriesId))
+ throw new UserFriendlyException("ParentSeriesId不正确");
+
+ if (string.IsNullOrWhiteSpace(input.Status))
+ throw new UserFriendlyException("状态不能为空");
+
+ if (string.IsNullOrWhiteSpace(input.Path))
+ throw new UserFriendlyException("路径不能为空");
+
+ if (string.IsNullOrWhiteSpace(input.FileName))
+ throw new UserFriendlyException("文件名称不能为空");
+
+
+ var registerCheckList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
+ join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
+ join device in await _deviceRepository.GetQueryableAsync() on patientRegister.DeviceId equals device.Id
+ join deviceType in await _deviceTypeRepository.GetQueryableAsync() on device.DeviceTypeId equals deviceType.Id
+ where registerCheck.CheckRequestNo == input.CheckRequestNo
+ && registerCheck.ScheduledAet == input.ScheduledAet
+ && (deviceType.DisplayName == input.Modality || deviceType.Alias.Contains(input.Modality))
+ select registerCheck).ToList();
+
+ if (!registerCheckList.Any())
+ throw new UserFriendlyException("条码号不正确");
+
+
+ var dicomFileDetailEnt = await _dicomFileDetailRepository.FirstOrDefaultAsync(f => f.InstanceId == input.InstanceId);
+ if (dicomFileDetailEnt == null)
+ {
+ foreach (var item in registerCheckList)
+ {
+ dicomFileDetailEnt = new DicomFileDetail
+ {
+ DisplayOrder = registerCheckList.IndexOf(item) + 1,
+ RegisterCheckId = item.Id,
+ FileName = input.FileName,
+ InstanceId = input.InstanceId,
+ ParentPatientId = input.ParentPatientId,
+ ParentSeriesId = input.ParentSeriesId,
+ ParentStudyId = input.ParentStudyId,
+ Path = input.Path,
+ Status = input.Status
+ };
+ await _dicomFileDetailRepository.InsertAsync(dicomFileDetailEnt);
+ }
+ }
+
+ foreach (var item in registerCheckList)
+ {
+ bool isUpdate = false;
+ if (item.IsPacsCheck != 'Y')
+ {
+ item.IsPacsCheck = input.IsPacsCheck;
+ item.PacsCheckDate = Convert.ToDateTime(input.PacsCheckDate);
+ item.PacsUploadDate = DateTime.Now;
+ isUpdate = true;
+ }
+
+ if (item.IsSignIn != 'Y')
+ {
+ item.IsSignIn = 'Y';
+ item.SignInTime = DateTime.Now;
+ isUpdate = true;
+ }
+
+ if (isUpdate)
+ {
+ await _registerCheckRepository.UpdateAsync(item);
+ }
+ }
+
+
+ }
+
+
+
#endregion
diff --git a/src/Shentun.Pacs.Domain/RegisterChecks/RegisterCheck.cs b/src/Shentun.Pacs.Domain/RegisterChecks/RegisterCheck.cs
index 4a5b040..ea25417 100644
--- a/src/Shentun.Pacs.Domain/RegisterChecks/RegisterCheck.cs
+++ b/src/Shentun.Pacs.Domain/RegisterChecks/RegisterCheck.cs
@@ -328,6 +328,13 @@ namespace Shentun.Pacs.Models
[Column("remark")]
public string Remark { get; set; }
+
+ ///
+ /// 是否发送结果到体检系统
+ ///
+ [Column("is_send")]
+ public char IsSend { get; set; }
+
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }
diff --git a/src/Shentun.Pacs.EntityFrameworkCore/DbMapping/RegisterChecks/RegisterCheckDbMapping.cs b/src/Shentun.Pacs.EntityFrameworkCore/DbMapping/RegisterChecks/RegisterCheckDbMapping.cs
index a31f995..fca4697 100644
--- a/src/Shentun.Pacs.EntityFrameworkCore/DbMapping/RegisterChecks/RegisterCheckDbMapping.cs
+++ b/src/Shentun.Pacs.EntityFrameworkCore/DbMapping/RegisterChecks/RegisterCheckDbMapping.cs
@@ -41,7 +41,10 @@ namespace Shentun.Pacs.DbMapping
entity.Property(t => t.WorklistFlag).HasComment("Worklist标记(0-默认值,1-已扫码登记,2-设备已获取数据,预留设计)").HasDefaultValueSql("'0'");
entity.Property(t => t.ScheduledAet).HasComment("预检AET");
entity.Property(t => t.Remark).HasComment("备注");
+ entity.Property(t => t.IsSend).HasComment("是否发送结果到体检系统").IsRequired().HasDefaultValueSql("'N'");
+
+
entity.Property(e => e.Id).ValueGeneratedNever();
//entity.Property(e => e.LastModificationTime).HasDefaultValueSql("(date(timezone('UTC-8'::text, now())) - 1)");
diff --git a/src/Shentun.Pacs.EntityFrameworkCore/Migrations/20250401080639_register_check_add_is_send.Designer.cs b/src/Shentun.Pacs.EntityFrameworkCore/Migrations/20250401080639_register_check_add_is_send.Designer.cs
new file mode 100644
index 0000000..d5ac67e
--- /dev/null
+++ b/src/Shentun.Pacs.EntityFrameworkCore/Migrations/20250401080639_register_check_add_is_send.Designer.cs
@@ -0,0 +1,16305 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using Shentun.Pacs.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Shentun.Pacs.Migrations
+{
+ [DbContext(typeof(PeisDbContext))]
+ [Migration("20250401080639_register_check_add_is_send")]
+ partial class register_check_add_is_send
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql)
+ .HasAnnotation("ProductVersion", "6.0.5")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("Shentun.Pacs.Books.HelloA", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("ADesc")
+ .HasColumnType("text")
+ .HasColumnName("a_desc");
+
+ b.Property("AName")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text")
+ .HasDefaultValue("默认值")
+ .HasColumnName("a_name");
+
+ b.Property("AddTime")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("add_time")
+ .HasDefaultValueSql("now()");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("HelloTypeId")
+ .HasColumnType("text")
+ .HasColumnName("hello_type_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("S2")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("character(1)")
+ .HasDefaultValueSql("'A'::bpchar");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "AName" }, "ix_helloa")
+ .IsUnique();
+
+ b.ToTable("hello_a");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.HelloType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("TypeName")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("type_name")
+ .HasComment("类型名称");
+
+ b.Property("s1")
+ .HasColumnType("uuid")
+ .HasColumnName("s1");
+
+ b.Property("s2")
+ .HasColumnType("uuid")
+ .HasColumnName("s2");
+
+ b.Property("s3")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("s3");
+
+ b.HasKey("Id");
+
+ b.ToTable("hello_type");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.Ma", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.ToTable("ma");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.Mb", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MaId")
+ .HasColumnType("text")
+ .HasColumnName("ma_id");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MaId");
+
+ b.ToTable("mb");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.Mc", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MbId")
+ .HasColumnType("text")
+ .HasColumnName("mb_id");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MbId");
+
+ b.ToTable("mc");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.Student", b =>
+ {
+ b.Property("Sid")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("sid");
+
+ b.Property("Cid")
+ .HasColumnType("text");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uuid")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uuid")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("DeletionTime");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("boolean")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uuid")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .HasColumnType("text");
+
+ b.Property("Uid")
+ .HasColumnType("uuid");
+
+ b.HasKey("Sid");
+
+ b.ToTable("student");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.TestA", b =>
+ {
+ b.Property("AId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("AName")
+ .HasColumnType("text");
+
+ b.HasKey("AId");
+
+ b.ToTable("testa");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.TestB", b =>
+ {
+ b.Property("BId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("AId")
+ .HasColumnType("uuid")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("AName")
+ .HasColumnType("text");
+
+ b.Property("TestAsAId")
+ .HasColumnType("uuid");
+
+ b.HasKey("BId");
+
+ b.HasIndex("TestAsAId");
+
+ b.ToTable("testb");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Books.TestCT", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("TName")
+ .HasColumnType("text")
+ .HasColumnName("t_name");
+
+ b.HasKey("Id");
+
+ b.ToTable("test_ct");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.AbpUserDepartment", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.Property("OrganizationUnitId")
+ .HasColumnType("uuid")
+ .HasColumnName("organization_unit_id");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("UserId", "OrganizationUnitId")
+ .HasName("pk_user_organizationunitid");
+
+ b.ToTable("abp_user_department");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.Asbitem", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("BarcodeMode")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("barcode_mode")
+ .HasDefaultValueSql("'0'")
+ .HasComment("条码模式");
+
+ b.Property("ClinicalMeaning")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("clinical_meaning")
+ .HasComment("临床意义");
+
+ b.Property("CollectItemTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("collect_item_type_id")
+ .IsFixedLength()
+ .HasComment("汇总项目类别");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("CriticalValueFunction")
+ .HasColumnType("text")
+ .HasColumnName("critical_value_function")
+ .HasComment("危急值函数");
+
+ b.Property("DefaultResult")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("default_result")
+ .HasComment("默认结果");
+
+ b.Property("DeviceTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("device_type_id")
+ .HasComment("仪器类别");
+
+ b.Property("DiagnosisFunction")
+ .HasMaxLength(4000)
+ .HasColumnType("character varying(4000)")
+ .HasColumnName("diagnosis_function")
+ .HasComment("诊断函数");
+
+ b.Property("DiseaseScreeningTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("disease_screening_type_id");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ b.Property("EnglishShortName")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("english_short_name")
+ .HasComment("英文简称");
+
+ b.Property("FollowUpFunction")
+ .HasColumnType("text")
+ .HasColumnName("follow_up_function")
+ .HasComment("随访函数");
+
+ b.Property("ForPregnantFlag")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("for_pregnant_flag")
+ .HasDefaultValueSql("'A'")
+ .HasComment("备怀孕期间禁止检查");
+
+ b.Property("ForSexId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("for_sex_id")
+ .HasDefaultValueSql("'A'")
+ .HasComment("适用性别,M-男,F-女,A-全部");
+
+ b.Property("IsActive")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_active")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是启用");
+
+ b.Property("IsBeforeEat")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_before_eat")
+ .HasDefaultValueSql("'N'")
+ .HasComment("餐前项目");
+
+ b.Property("IsCheck")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_check")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是检查项目");
+
+ b.Property("IsContinueProcess")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_continue_process")
+ .HasDefaultValueSql("'N'")
+ .HasComment("诊断函数处理完毕后继续处理");
+
+ b.Property("IsCriticalValueFunction")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_critical_value_function")
+ .HasDefaultValueSql("'N'")
+ .HasComment("是否启用危急值函数");
+
+ b.Property("IsDiagnosisFunction")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_diagnosis_function")
+ .HasDefaultValueSql("'N'")
+ .HasComment("启用诊断函数");
+
+ b.Property("IsFilmRelease")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("character(1)")
+ .HasColumnName("is_film_release")
+ .HasDefaultValueSql("'N'")
+ .HasComment("是否出片");
+
+ b.Property("IsFollowUpFunction")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_follow_up_function")
+ .HasDefaultValueSql("'N'")
+ .HasComment("是否启用随访函数");
+
+ b.Property("IsItemResultMerger")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_item_result_merger")
+ .HasDefaultValueSql("'N'")
+ .HasComment("项目结果合并");
+
+ b.Property("IsPictureRotate")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_picture_rotate")
+ .HasDefaultValueSql("'N'")
+ .HasComment("体检报告图片旋转90°");
+
+ b.Property("IsPrivacy")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("character(1)")
+ .HasColumnName("is_privacy")
+ .HasDefaultValueSql("'N'")
+ .HasComment("是否隐私项目");
+
+ b.Property("IsWebAppoint")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_web_appoint")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是否支持网上预约");
+
+ b.Property("ItemTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("item_type_id")
+ .IsFixedLength()
+ .HasComment("项目类别");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MaritalStatusId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("marital_status_id")
+ .HasDefaultValueSql("'A'")
+ .HasComment("适用婚姻状况,0-未婚,1-已婚,A-全部");
+
+ b.Property("Price")
+ .ValueGeneratedOnAdd()
+ .HasPrecision(8, 2)
+ .HasColumnType("numeric(8,2)")
+ .HasColumnName("price")
+ .HasDefaultValueSql("0")
+ .HasComment("价格");
+
+ b.Property("QueueTime")
+ .ValueGeneratedOnAdd()
+ .HasPrecision(3, 1)
+ .HasColumnType("numeric(3,1)")
+ .HasColumnName("queue_time")
+ .HasDefaultValueSql("0")
+ .HasComment("候诊时间");
+
+ b.Property("ShortName")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("short_name")
+ .HasComment("简称");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("simple_code");
+
+ b.Property("Warn")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("warn");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CollectItemTypeId");
+
+ b.HasIndex("ItemTypeId");
+
+ b.HasIndex(new[] { "DisplayName" }, "ix_asbitem")
+ .IsUnique();
+
+ b.ToTable("asbitem");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.AsbitemDetail", b =>
+ {
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength();
+
+ b.Property("ItemId")
+ .HasColumnType("uuid")
+ .HasColumnName("item_id")
+ .IsFixedLength()
+ .HasComment("项目编码");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.HasKey("AsbitemId", "ItemId")
+ .HasName("pk_department_asbitem_detail");
+
+ b.HasIndex("ItemId");
+
+ b.ToTable("asbitem_detail");
+
+ b.HasComment("组合项目包含项目");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.AsbitemGuide", b =>
+ {
+ b.Property("MedicalCenterId")
+ .HasColumnType("uuid")
+ .HasColumnName("medical_center_id")
+ .IsFixedLength()
+ .HasComment("单位科室ID");
+
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength()
+ .HasComment("组合项目ID");
+
+ b.Property("ForSexId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("for_sex_id")
+ .HasDefaultValueSql("'A'")
+ .HasComment("适用性别ID");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("Guide")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("guide")
+ .HasComment("指引单内容");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("MedicalCenterId", "AsbitemId", "ForSexId")
+ .HasName("pk_department_asbitem_guide");
+
+ b.ToTable("asbitem_guide");
+
+ b.HasComment("体检中心组和项目指引内容");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.AsbitemPriceItem", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("Amount")
+ .IsRequired()
+ .ValueGeneratedOnAdd()
+ .HasColumnType("smallint")
+ .HasColumnName("amount")
+ .HasDefaultValueSql("0")
+ .HasComment("数量");
+
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength()
+ .HasComment("组合项目编号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("PriceItemId")
+ .HasColumnType("uuid")
+ .HasColumnName("price_item_id")
+ .IsFixedLength()
+ .HasComment("价表项目编码");
+
+ b.HasKey("Id");
+
+ b.ToTable("asbitem_price_item");
+
+ b.HasComment("组和项目包含价表项目");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.BigtextResultConclusion", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("BigtextResultTemplateId")
+ .HasColumnType("uuid")
+ .HasColumnName("bigtext_result_template_id")
+ .IsFixedLength();
+
+ b.Property("Conclusion")
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)")
+ .HasColumnName("conclusion")
+ .HasComment("结论");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999");
+
+ b.Property("IsAbnormal")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_abnormal")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是否为异常结论");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BigtextResultTemplateId");
+
+ b.ToTable("bigtext_result_conclusion");
+
+ b.HasComment("大文本结果结论");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.BigtextResultDescription", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("BigtextResultTemplateId")
+ .HasColumnType("uuid")
+ .HasColumnName("bigtext_result_template_id")
+ .IsFixedLength();
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("Description")
+ .HasMaxLength(2000)
+ .HasColumnType("character varying(2000)")
+ .HasColumnName("description")
+ .HasComment("描述");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BigtextResultTemplateId");
+
+ b.ToTable("bigtext_result_description");
+
+ b.HasComment("大文本结果描述");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.BigtextResultTemplate", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("BigtextResultTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("bigtext_result_type_id")
+ .IsFixedLength()
+ .HasComment("结果类别编号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BigtextResultTypeId");
+
+ b.ToTable("bigtext_result_template");
+
+ b.HasComment("大文本结果模板");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.BigtextResultType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ b.Property("ItemTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("item_type_id")
+ .IsFixedLength()
+ .HasComment("项目类别");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("ParentId")
+ .HasColumnType("uuid")
+ .HasColumnName("parent_id")
+ .IsFixedLength()
+ .HasComment("父编号");
+
+ b.Property("PathCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("path_code")
+ .HasComment("路径编码");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.ToTable("bigtext_result_type");
+
+ b.HasComment("大文本结果类别");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.BirthPlace", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CountryCode")
+ .IsRequired()
+ .HasMaxLength(6)
+ .HasColumnType("character varying(6)")
+ .HasColumnName("country_code")
+ .HasComment("国家标准码");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayName")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("display_name");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "DisplayName" }, "ix_birth_place")
+ .IsUnique();
+
+ b.ToTable("birth_place");
+
+ b.HasComment("出生地");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.CardBill", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .HasComment("编号");
+
+ b.Property("BillFlag")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("bill_flag")
+ .HasDefaultValueSql("'0'::bpchar")
+ .HasComment("记账标志");
+
+ b.Property("BillMoney")
+ .HasPrecision(10, 2)
+ .HasColumnType("numeric(10,2)")
+ .HasColumnName("bill_money")
+ .HasComment("记账金额");
+
+ b.Property("CardRegisterId")
+ .HasColumnType("uuid")
+ .HasColumnName("card_register_id")
+ .HasComment("卡登记编号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("PayModeId")
+ .IsRequired()
+ .HasMaxLength(4)
+ .HasColumnType("character varying(4)")
+ .HasColumnName("pay_mode_id")
+ .HasComment("支付方式");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CardRegisterId");
+
+ b.HasIndex("PayModeId");
+
+ b.ToTable("card_bill");
+
+ b.HasComment("卡记账记录");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.CardRegister", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .HasComment("编号");
+
+ b.Property("CardBalance")
+ .HasPrecision(10, 2)
+ .HasColumnType("numeric(10,2)")
+ .HasColumnName("card_balance");
+
+ b.Property("CardNo")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("card_no")
+ .HasComment("卡号");
+
+ b.Property("CardPassword")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("card_password");
+
+ b.Property("CardTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("card_type_id")
+ .IsFixedLength()
+ .HasComment("卡类型");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("CustomerName")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("customer_name")
+ .HasComment("领用者");
+
+ b.Property("Discount")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("discount")
+ .HasDefaultValueSql("100")
+ .HasComment("折扣");
+
+ b.Property("ExpiryDate")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("expiry_date")
+ .HasComment("有效期");
+
+ b.Property("IdNo")
+ .IsRequired()
+ .HasMaxLength(18)
+ .HasColumnType("character varying(18)")
+ .HasColumnName("id_no")
+ .HasComment("身份证号");
+
+ b.Property("IsActive")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_active")
+ .HasDefaultValueSql("0")
+ .HasComment("使用标志");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MedicalCenterId")
+ .HasColumnType("uuid")
+ .HasColumnName("medical_center_id");
+
+ b.Property("MobileTelephone")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("mobile_telephone")
+ .HasComment("手机");
+
+ b.Property("Remark")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("remark")
+ .HasComment("备注");
+
+ b.Property("Telephone")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("telephone")
+ .HasComment("电话");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CardTypeId");
+
+ b.HasIndex(new[] { "CardNo", "IsActive" }, "ix_card_register")
+ .IsUnique();
+
+ b.ToTable("card_register");
+
+ b.HasComment("会员卡登记");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.CardType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("CardModeId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("card_mode_id")
+ .HasDefaultValueSql("0")
+ .HasComment("卡模式");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("Discount")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("discount")
+ .HasDefaultValueSql("100")
+ .HasComment("折扣");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999")
+ .HasComment("显示顺序");
+
+ b.Property("ExpiryDay")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("expiry_day")
+ .HasDefaultValueSql("3650")
+ .HasComment("有效期");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("Remark")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("remark")
+ .HasComment("备注");
+
+ b.HasKey("Id");
+
+ b.ToTable("card_type");
+
+ b.HasComment("会员卡类别");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.Charge", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .HasComment("收据号");
+
+ b.Property("ChargeFlag")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("charge_flag")
+ .HasDefaultValueSql("0");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("InvoiceNo")
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("invoice_no");
+
+ b.Property("InvoiceOrgName")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("invoice_org_name");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("PatientRegisterId")
+ .HasColumnType("uuid")
+ .HasColumnName("patient_register_id")
+ .HasComment("登记流水号");
+
+ b.Property("SettleAccountId")
+ .HasColumnType("uuid")
+ .HasColumnName("settle_account_id");
+
+ b.Property("SettleTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("settle_time");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "PatientRegisterId" }, "fki_fk_patient_register_charge");
+
+ b.HasIndex(new[] { "PatientRegisterId" }, "ix_charge");
+
+ b.ToTable("charge");
+
+ b.HasComment("收费主档");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.ChargeAsbitem", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("Amount")
+ .HasColumnType("smallint")
+ .HasColumnName("amount");
+
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength()
+ .HasComment("组合项目");
+
+ b.Property("ChargeId")
+ .HasColumnType("uuid")
+ .HasColumnName("charge_id")
+ .HasComment("收据号");
+
+ b.Property("ChargePrice")
+ .HasPrecision(10, 2)
+ .HasColumnType("numeric(10,2)")
+ .HasColumnName("charge_price")
+ .HasComment("价格");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("RegisterAsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("register_asbitem_id");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AsbitemId");
+
+ b.HasIndex("ChargeId");
+
+ b.ToTable("charge_asbitem");
+
+ b.HasComment("收费包含组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Pacs.Models.ChargeBack", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .HasComment("退费编号");
+
+ b.Property("ChargeId")
+ .HasColumnType("uuid")
+ .HasColumnName("charge_id")
+ .HasComment("收据号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property