From 1fa1fd4b54f70345b43ba105a7b2531fb4becba3 Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Sun, 12 May 2024 14:44:11 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E5=90=88=E9=A1=B9=E7=9B=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Asbitems/AsbitemDto.cs | 6 +
.../Asbitems/CreateAsbitemDto.cs | 8 +-
.../Asbitems/UpdateAsbitemDto.cs | 5 +
.../Asbitems/AsbitemAppService.cs | 1 +
.../BaseDataHandleAppService.cs | 625 +-
src/Shentun.Peis.DbMigrator/appsettings.json | 2 +-
.../Enums/BarcodeModeFlag.cs | 31 +
src/Shentun.Peis.Domain/Asbitems/Asbitem.cs | 7 +
.../Asbitems/AsbitemManager.cs | 11 +-
.../DbMapping/Asbitems/AsbitemDbMapping.cs | 2 +
...20240512063617_init20240502001.Designer.cs | 14273 ++++++++++++++++
.../20240512063617_init20240502001.cs | 28 +
.../Migrations/PeisDbContextModelSnapshot.cs | 8 +
13 files changed, 15002 insertions(+), 5 deletions(-)
create mode 100644 src/Shentun.Peis.Domain.Shared/Enums/BarcodeModeFlag.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240512063617_init20240502001.Designer.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240512063617_init20240502001.cs
diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs
index e9a64a4..2cd9887 100644
--- a/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs
@@ -118,5 +118,11 @@ namespace Shentun.Peis.Asbitems
public int DisplayOrder { get; set; }
+
+ ///
+ /// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0
+ ///
+ public char BarcodeMode { get; set; }
+
}
}
diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs
index 3a232bd..b4daa53 100644
--- a/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs
@@ -110,6 +110,12 @@ namespace Shentun.Peis.Asbitems
///
public char IsActive { get; set; } = 'N';
-
+
+ ///
+ /// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0
+ ///
+ public char BarcodeMode { get; set; } = '0';
+
+
}
}
diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
index 049e319..c9e326b 100644
--- a/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
@@ -110,6 +110,11 @@ namespace Shentun.Peis.Asbitems
///
public char IsActive { get; set; }
+ ///
+ /// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0
+ ///
+ public char BarcodeMode { get; set; }
+
}
}
diff --git a/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs b/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs
index e53f327..4dcf922 100644
--- a/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs
+++ b/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs
@@ -137,6 +137,7 @@ namespace Shentun.Peis.Asbitems
QueueTime = s.a.QueueTime,
ShortName = s.a.ShortName,
SimpleCode = s.a.SimpleCode,
+ BarcodeMode = s.a.BarcodeMode,
CreatorName = s.ab != null ? s.ab.Surname : "",
LastModifierName = s.ac != null ? s.ac.Surname : ""
}).OrderBy(o => o.DisplayOrder).ToList();
diff --git a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
index 03e1818..9a6f5e3 100644
--- a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
+++ b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
@@ -50,7 +50,7 @@ namespace Shentun.Peis.DataMigrations
private readonly SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
{
- ConnectionString = "server=.;uid=sa;pwd=123;database=mypeis;Encrypt=false;",
+ ConnectionString = "server=.;uid=sa;pwd=123;database=mypeis0512;Encrypt=false;",
DbType = SqlSugar.DbType.SqlServer,
IsAutoCloseConnection = true
});
@@ -2281,14 +2281,635 @@ namespace Shentun.Peis.DataMigrations
+ #region 新版人员登记迁移
+ ///
+ /// 迁移人员、检查单、登记项目、项目结果、医生小结、修改人员创建者、创建时间
+ ///
+ ///
+ public async Task TransferPatientRegisterWithAsbitemData()
+ {
+
+ string nextKeyValue = Db.Ado.GetString("select keyvalue from tb_export_key where tablename='patient_register_new' ");
+
+
+ List patientRegisterNos = new List { "P23083101999",
+ "P23083100427", "P23083101608","P23083100503", "P23083102172",
+ "P23083102000", "P23083100563", "P23083100542" };
+
+
+ var oldPatientRegisterList = await Db.Ado.GetDataTableAsync($"select top 1000 * from patient_register where patient_register_id>'{nextKeyValue}' order by patient_register_id asc");
+
+
+ if (oldPatientRegisterList.Rows.Count > 0)
+ {
+
+ var userList = await _identityUserRepository.GetListAsync();
+ List customerOrgRegisterList = await _customerOrgRegisterRepository.GetListAsync();
+
+ foreach (DataRow row in oldPatientRegisterList.Rows)
+ {
+ if (!patientRegisterNos.Contains(row["barcode_no"].ToString()))
+ {
+ using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
+ {
+
+ //档案ID
+ Guid patientId = Guid.Empty;
+
+ #region 处理档案,未找到档案就生成
+
+ var patientEnt = await _patientRepository.FirstOrDefaultAsync(m => m.PatientNo == row["patient_id"].ToString());
+ if (patientEnt == null)
+ {
+ string nationId = null;
+ if (!string.IsNullOrWhiteSpace(row["nation_id"].ToString()))
+ {
+ nationId = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "nation" && m.OldKeyValue == row["nation_id"].ToString()).FirstOrDefault().NewKeyValue;
+ }
+
+ Guid autoPatientId = GuidGenerator.Create(); //档案ID
+
+ var dataPatient = new Patient(autoPatientId)
+ {
+ Address = row["address"].ToString(),
+ BirthDate = string.IsNullOrEmpty(row["birth_date"].ToString()) ? null : Convert.ToDateTime(row["birth_date"].ToString()),
+ BirthPlaceId = null,
+ DisplayName = row["name"].ToString(),
+ Email = row["email"].ToString(),
+ IdNo = row["id_card_no"].ToString(),
+ MaritalStatusId = row["marital_status_id"].ToString() == "2" ? '4' : Convert.ToChar(row["marital_status_id"].ToString()),
+ MedicalCenterId = defaultMedicalCenterId,
+ MobileTelephone = row["mobile_telephone"].ToString(),
+ NationId = nationId,
+ PatientNo = row["patient_id"].ToString(),
+ PatientPassword = row["patient_password"].ToString(),
+ PostalCode = row["postalcode"].ToString(),
+ SexId = ConvertSex(row["sex_id"].ToString()),
+ SimpleCode = LanguageConverter.GetPYSimpleCode(row["name"].ToString()),
+ Telephone = row["telephone"].ToString()
+ };
+
+ await _patientRepository.InsertAsync(dataPatient, true);
+ patientId = autoPatientId;
+ }
+ else
+ {
+ patientId = patientEnt.Id;
+ }
+
+
+ #endregion
+
+
+
+ Guid patientRegisterId = GuidGenerator.Create(); //生成登记ID
+
+ #region 转换审核医生ID
+ Guid? AuditDoctorId = null;
+ if (!string.IsNullOrWhiteSpace(row["audit_doctor"].ToString()))
+ {
+ var userEnt = userList.Where(m => m.UserName == row["audit_doctor"].ToString().Trim()).FirstOrDefault();
+ if (userEnt != null)
+ {
+ AuditDoctorId = userEnt.Id;
+ }
+ }
+ #endregion
+
+ #region 转换单位分组ID
+ Guid? customerOrgGroupId = null;
+ if (!string.IsNullOrWhiteSpace(row["org_group_id"].ToString()))
+ {
+ var customerOrgGroupEnt = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "customer_org_group" && m.OldKeyValue == row["org_group_id"].ToString()).FirstOrDefault();
+ if (customerOrgGroupEnt != null)
+ {
+ customerOrgGroupId = Guid.Parse(customerOrgGroupEnt.NewKeyValue);
+ }
+ }
+ #endregion
+
+ #region 转换单位ID 部门
+ Guid customerOrgId = Guid.Parse((await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "customer_org" && m.OldKeyValue == row["org_id"].ToString()).FirstOrDefault().NewKeyValue);
+ #endregion
+
+ #region 转换单位体检次数ID 没有增加默认值
+ Guid customerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId;
+ if (row["org_id"].ToString() != "00000")
+ {
+ Guid topCustomerOrgId = Guid.Parse((await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "customer_org" && m.OldKeyValue == row["org_id"].ToString().Substring(0, 5)).FirstOrDefault().NewKeyValue);
+ var customerOrgRegisterEnt = customerOrgRegisterList.Where(m => m.CustomerOrgId == topCustomerOrgId
+ && m.MedicalTimes == (short)Convert.ToInt32(row["org_medical_times"].ToString())).FirstOrDefault();
+ if (customerOrgRegisterEnt != null)
+ {
+ customerOrgRegisterId = customerOrgRegisterEnt.Id;
+ }
+ }
+
+ #endregion
+
+ #region 转换体检结论ID
+ Guid? medicalConclusionId = null;
+ if (!string.IsNullOrWhiteSpace(row["medical_conclusion_id"].ToString()))
+ {
+ var medicalConclusionEnt = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "medical_conclusion"
+ && m.OldKeyValue == row["medical_conclusion_id"].ToString()).FirstOrDefault();
+ if (medicalConclusionEnt != null)
+ {
+ medicalConclusionId = Guid.Parse(medicalConclusionEnt.NewKeyValue);
+ }
+ }
+ #endregion
+
+ #region 转换套餐ID
+ Guid? medicalPackageId = null;
+ if (!string.IsNullOrWhiteSpace(row["medical_package_id"].ToString()))
+ {
+ var medicalPackageEnt = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "medical_package" && m.OldKeyValue == row["medical_package_id"].ToString()).FirstOrDefault();
+ if (medicalPackageEnt != null)
+ {
+ medicalPackageId = Guid.Parse(medicalPackageEnt.NewKeyValue);
+ }
+ }
+ #endregion
+
+ #region 转换体检类别ID
+ Guid? medicalTypeId = null;
+ if (!string.IsNullOrWhiteSpace(row["medical_type_id"].ToString()))
+ {
+ var medicalTypeEnt = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "medical_type" && m.OldKeyValue == row["medical_type_id"].ToString()).FirstOrDefault();
+ if (medicalTypeEnt != null)
+ {
+ medicalTypeId = Guid.Parse(medicalTypeEnt.NewKeyValue);
+ }
+ }
+ #endregion
+
+
+
+ #region 转换人员类别ID
+ Guid? personnelTypeId = null;
+ if (!string.IsNullOrWhiteSpace(row["personnel_type_id"].ToString()))
+ {
+ var personnelTypeEnt = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "personnel_type" && m.OldKeyValue == row["personnel_type_id"].ToString()).FirstOrDefault();
+ if (personnelTypeEnt != null)
+ {
+ personnelTypeId = Guid.Parse(personnelTypeEnt.NewKeyValue);
+ }
+ }
+ #endregion
+
+ #region 转换总检医生ID
+ Guid? summaryDoctorId = null;
+ if (!string.IsNullOrWhiteSpace(row["summary_doctor"].ToString()))
+ {
+ var userEnt = userList.Where(m => m.UserName == row["summary_doctor"].ToString().Trim()).FirstOrDefault();
+ if (userEnt != null)
+ {
+ summaryDoctorId = userEnt.Id;
+ }
+ }
+ #endregion
+
+
+ #region 上传图片,获取地址
+
+ string photo = "";
+ if (!string.IsNullOrEmpty(row["photograph"].ToString()))
+ {
+ photo = UpLoadImg(patientRegisterId, Convert.ToDateTime(row["register_date"].ToString()), (byte[])row["photograph"]);
+ }
+
+ #endregion
+
+ var data = new PatientRegister(patientRegisterId)
+ {
+ BirthDate = string.IsNullOrEmpty(row["birth_date"].ToString()) ? null : Convert.ToDateTime(row["birth_date"].ToString()),
+ MaritalStatusId = row["marital_status_id"].ToString() == "2" ? '4' : Convert.ToChar(row["marital_status_id"].ToString()),
+ MedicalCenterId = defaultMedicalCenterId,
+ SexId = ConvertSex(row["sex_id"].ToString()),
+ Age = string.IsNullOrWhiteSpace(row["age"].ToString()) ? null : Convert.ToInt16(row["age"].ToString()),
+ AuditDate = string.IsNullOrWhiteSpace(row["audit_date"].ToString()) ? null : Convert.ToDateTime(row["audit_date"].ToString()),
+ AuditDoctorId = AuditDoctorId,
+ CompleteFlag = Convert.ToChar(row["complete_flag"].ToString()),
+ CustomerOrgGroupId = customerOrgGroupId,
+ CustomerOrgId = customerOrgId,
+ CustomerOrgRegisterId = customerOrgRegisterId,
+ GuidePrintTimes = string.IsNullOrWhiteSpace(row["instruct_print_times"].ToString()) ? (short)0 : Convert.ToInt16(row["instruct_print_times"].ToString()),
+ InterposeMeasure = null,
+ IsAudit = string.IsNullOrWhiteSpace(row["audit_flag"].ToString()) ? 'N' : Convert.ToChar(row["audit_flag"].ToString()),
+ IsLock = string.IsNullOrWhiteSpace(row["lock_flag"].ToString()) ? 'N' : Convert.ToChar(row["lock_flag"].ToString()),
+ IsMedicalStart = string.IsNullOrWhiteSpace(row["medical_start_flag"].ToString()) ? 'N' : Convert.ToChar(row["medical_start_flag"].ToString()),
+ IsNameHide = string.IsNullOrWhiteSpace(row["name_encrypt_flag"].ToString()) ? 'N' : Convert.ToChar(row["name_encrypt_flag"].ToString()),
+ IsPhoneFollow = 'N',
+ IsRecoverGuide = string.IsNullOrWhiteSpace(row["recover_form_flag"].ToString()) ? 'N' : Convert.ToChar(row["recover_form_flag"].ToString()),
+ IsUpload = string.IsNullOrWhiteSpace(row["upload_flag"].ToString()) ? 'N' : Convert.ToChar(row["upload_flag"].ToString()),
+ IsVip = string.IsNullOrWhiteSpace(row["vip_flag"].ToString()) ? 'N' : Convert.ToChar(row["vip_flag"].ToString()),
+ JobCardNo = row["job_card_no"].ToString(),
+ JobPost = row["job_post"].ToString(),
+ JobTitle = row["job_title"].ToString(),
+ MedicalCardNo = row["medical_card_no"].ToString(),
+ MedicalConclusionId = medicalConclusionId,
+ MedicalPackageId = medicalPackageId,
+ MedicalStartDate = string.IsNullOrEmpty(row["medical_start_date"].ToString()) ? null : Convert.ToDateTime(row["medical_start_date"].ToString()),
+ MedicalTimes = Convert.ToInt16(row["medical_times"].ToString()),
+ MedicalTypeId = medicalTypeId,
+ PatientId = patientId,
+ PatientName = row["name"].ToString(),
+ PatientRegisterNo = row["barcode_no"].ToString(),
+ PersonnelTypeId = personnelTypeId,
+ Photo = photo,
+ Remark = row["remark"].ToString(),
+ ReportPrintTimes = Convert.ToInt16(row["report_print_times"].ToString()),
+ Salesman = row["salesman"].ToString(),
+ SexHormoneTermId = null,
+ SummaryDate = string.IsNullOrEmpty(row["summary_date"].ToString()) ? null : Convert.ToDateTime(row["summary_date"].ToString()),
+ SummaryDoctorId = summaryDoctorId,
+ ThirdInfo = row["third_info"].ToString(),
+ };
+
+ await _patientRegisterRepository.InsertAsync(data, true);
+
+
+ #region 人员登记扩展
+
+ var patientRegisterExterData = new PatientRegisterExter
+ {
+ IsQztlImport = Convert.ToChar(row["is_qztl_import"].ToString()),
+ PatientRegisterId = patientRegisterId,
+ Planuserid = row["planuserid"].ToString(),
+ QztlIsCw = Convert.ToChar(row["qztl_is_cw"].ToString()),
+ QztlIsCy = Convert.ToChar(row["qztl_is_cy"].ToString()),
+ QztlIsFj = Convert.ToChar(row["qztl_is_fj"].ToString()),
+ QztlIsGt = Convert.ToChar(row["qztl_is_gt"].ToString()),
+ QztlIsMain = Convert.ToChar(row["qztl_is_main"].ToString()),
+ QztlIsWh = Convert.ToChar(row["qztl_is_wh"].ToString()),
+ QztlType = string.IsNullOrEmpty(row["qztl_type"].ToString()) ? null : Convert.ToChar(row["qztl_type"].ToString()),
+ Remark2 = row["remark2"].ToString(),
+ Remark3 = row["remark3"].ToString(),
+ Remark4 = row["remark4"].ToString(),
+ UploadQztlFlag = Convert.ToChar(row["upload_qztl_flag"].ToString())
+ };
+
+ await _patientRegisterExterRepository.InsertAsync(patientRegisterExterData);
+
+ #endregion
+
+
+
+ var oldRegisterAsbitemList = await Db.Ado.GetDataTableAsync($"select * from register_asbitem where patient_register_id='{row["patient_register_id"].ToString()}'");
+
+ if (oldRegisterAsbitemList.Rows.Count > 0)
+ {
+ foreach (DataRow rowAsbitem in oldRegisterAsbitemList.Rows)
+ {
+ #region 转换审核医生ID
+ Guid? auditorUserId = null;
+ if (!string.IsNullOrWhiteSpace(rowAsbitem["audit_doctor"].ToString()))
+ {
+ var userEnt = userList.Where(m => m.UserName == rowAsbitem["audit_doctor"].ToString().Trim()).FirstOrDefault();
+ if (userEnt != null)
+ {
+ auditorUserId = userEnt.Id;
+ }
+ }
+ #endregion
+
+ #region 转换检查医生ID
+ string checkDoctorId = null;
+ if (!string.IsNullOrWhiteSpace(rowAsbitem["check_doctor"].ToString()))
+ {
+ var userEnt = userList.Where(m => m.UserName == rowAsbitem["check_doctor"].ToString().Trim()).FirstOrDefault();
+ if (userEnt != null)
+ {
+ checkDoctorId = userEnt.Id.ToString();
+ }
+ else
+ {
+ checkDoctorId = rowAsbitem["check_doctor"].ToString().Trim();
+ }
+ }
+ #endregion
+
+ #region 转换组合项目ID
+ Guid newAsbitemId = Guid.Parse((await _fieldComparisonRepository.GetQueryableAsync())
+ .Where(m => m.TableName == "asbitem" && m.OldKeyValue == rowAsbitem["asbitem_id"].ToString()).FirstOrDefault().NewKeyValue);
+ #endregion
+
+ #region 插入register_check
+ Guid registerCheckId = GuidGenerator.Create();
+ var dataRegisterCheck = new RegisterCheck(registerCheckId)
+ {
+ AuditorUserId = auditorUserId,
+ AuditTime = string.IsNullOrEmpty(rowAsbitem["audit_date"].ToString()) ? null : Convert.ToDateTime(rowAsbitem["audit_date"].ToString()),
+ CheckDate = string.IsNullOrEmpty(rowAsbitem["check_date"].ToString()) ? null : Convert.ToDateTime(rowAsbitem["check_date"].ToString()),
+ CheckDoctorId = checkDoctorId,
+ CheckRequestNo = "",
+ CheckRequestPrintTimes = (short)1,
+ CompleteFlag = Convert.ToChar(rowAsbitem["complete_flag"].ToString()),
+ CriticalValue = null,
+ CriticalValueCreateDate = null,
+ CriticalValueFlag = null,
+ CriticalValueProcessContent = null,
+ CriticalValueProcessDate = null,
+ CriticalValueProcessDoctor = null,
+ CriticalValueProcessFlag = null,
+ IsAudit = string.IsNullOrEmpty(rowAsbitem["audit_flag"].ToString()) ? 'N' : Convert.ToChar(rowAsbitem["audit_flag"].ToString()),
+ IsLock = string.IsNullOrEmpty(rowAsbitem["lock_flag"].ToString()) ? 'N' : Convert.ToChar(rowAsbitem["lock_flag"].ToString()),
+ PatientRegisterId = patientRegisterId,
+ ThirdInfo = rowAsbitem["third_info"].ToString()
+ };
+
+
+ await _registerCheckRepository.InsertAsync(dataRegisterCheck, true);
+ #endregion
+
+
+
+ #region 插入register_check_asbitem
+ Guid registerCheckAsbitemId = GuidGenerator.Create();
+
+ var dataRegisterAsbitem = new RegisterCheckAsbitem(registerCheckAsbitemId)
+ {
+ Amount = 1,
+ IsCharge = Convert.ToChar(rowAsbitem["charge_flag"].ToString()),
+ AsbitemId = newAsbitemId,
+ ChargePrice = Convert.ToDecimal(rowAsbitem["price"].ToString()),
+ GroupPackageId = null,
+ LisRequestId = null,
+ PatientRegisterId = patientRegisterId,
+ PayTypeFlag = Convert.ToChar(rowAsbitem["payment_mode"].ToString()),
+ RegisterCheckId = registerCheckId,
+ StandardPrice = Convert.ToDecimal(rowAsbitem["standard_price"].ToString())
+ };
+
+ await _registerCheckAsbitemRepository.InsertAsync(dataRegisterAsbitem);
+ #endregion
+
+
+ #region 插入医生小结
+
+ var oldSummary = rowAsbitem["summary"].ToString();
+ if (!string.IsNullOrWhiteSpace(oldSummary))
+ {
+ var dataRegisterCheckSummary = new RegisterCheckSummary
+ {
+ RegisterCheckId = registerCheckId,
+ DisplayOrder = 1,
+ Summary = oldSummary,
+ SummaryFlag = '0'
+ };
+
+ await _registerCheckSummaryRepository.InsertAsync(dataRegisterCheckSummary);
+
+ }
+
+ #endregion
+ #region 插入明细项目
+
+ var oldRegisterCheckItemList = await Db.Ado.GetDataTableAsync($"select * from register_item where patient_register_id='{row["patient_register_id"].ToString()}' and asbitem_id='{rowAsbitem["asbitem_id"].ToString()}'");
+
+ if (oldRegisterCheckItemList.Rows.Count > 0)
+ {
+
+ foreach (DataRow rowRegisterCheckItem in oldRegisterCheckItemList.Rows)
+ {
+ #region 转换项目ID 老转新
+ Guid newItemId = Guid.Parse((await _fieldComparisonRepository.GetQueryableAsync())
+ .Where(m => m.TableName == "item" && m.OldKeyValue == rowRegisterCheckItem["item_id"].ToString()).FirstOrDefault().NewKeyValue);
+
+ #endregion
+
+
+ var dataRegisterCheckItem = new RegisterCheckItem
+ {
+ CheckDate = string.IsNullOrEmpty(rowRegisterCheckItem["check_date"].ToString()) ? null : Convert.ToDateTime(rowRegisterCheckItem["check_date"].ToString()),
+ CriticalValue = null,
+ CheckDoctorName = rowRegisterCheckItem["check_doctor"].ToString().Trim(),
+ CriticalRangeValue = null,
+ ItemId = newItemId,
+ ReferenceRangeValue = rowRegisterCheckItem["reference_range_value"].ToString(),
+ RegisterCheckId = registerCheckId,
+ Result = rowRegisterCheckItem["result"].ToString(),
+ ResultStatusId = _registerCheckItemManager.GetResultStatusId(rowRegisterCheckItem["result"].ToString(), rowRegisterCheckItem["reference_range_value"].ToString()),
+ Unit = rowRegisterCheckItem["Unit"].ToString()
+ };
+
+ await _registerCheckItemRepository.InsertAsync(dataRegisterCheckItem);
+
+ }
+
+ }
+
+ #endregion
+
+ }
+ }
+
+
+
+
+ var fieldComparison = new FieldComparison
+ {
+ FieldName = "id",
+ NewKeyValue = patientRegisterId.ToString(),
+ OldKeyValue = row["patient_register_id"].ToString(),
+ TableName = "patient_register"
+ };
+
+ await _fieldComparisonRepository.InsertAsync(fieldComparison);
+
+
+ await Db.Ado.ExecuteCommandAsync($"update tb_export_key set keyvalue='{row["patient_register_id"].ToString()}',addtime=getdate(),handlecount+=1 where tablename='patient_register_new' ");
+
+ await uow.CompleteAsync();
+
+
+ #region 修改创建者日期跟id
+ Guid registerDoctorId = Guid.Parse("3a11fe49-5719-0e9e-dd44-0c4aff0900b0");
+ var registerDoctorEnt = userList.Where(m => m.UserName == row["register_doctor"].ToString().Trim()).FirstOrDefault();
+ if (registerDoctorEnt != null)
+ {
+ registerDoctorId = registerDoctorEnt.Id;
+ }
+ string sql_update = $"update patient_register set creator_id='{registerDoctorId}',creation_time='{Convert.ToDateTime(row["register_date"]).ToString("yyyy-MM-dd HH:mm:ss")}'";
+ sql_update += $" where id='{patientRegisterId}' ";
+ await PgNWDb.Ado.ExecuteCommandAsync(sql_update);
+ #endregion
+ }
+ }
+
+ }
+
+ _logger.LogInformation($"新版人员数据处理{oldPatientRegisterList.Rows.Count}条");
+
+ await TransferPatientRegisterWithAsbitemData();
+ }
+ else
+ {
+ _logger.LogInformation("新版人员数据已处理完");
+ }
+
+ }
+
+
+ ///
+ /// 迁移总症 建议、综述、诊断数据
+ ///
+ ///
+ public async Task TransferSumData()
+ {
+ string nextKeyValue = Db.Ado.GetString("select keyvalue from tb_export_key where tablename='sum_summary'");
+
+ var patientRegisterList = (await _patientRegisterRepository.GetQueryableAsync()).OrderBy(o => o.Id)
+ .Where(m => string.Compare(m.Id.ToString(), nextKeyValue) > 0).Take(1000).ToList();
+
+
+ if (patientRegisterList.Any())
+ {
+ foreach (var item in patientRegisterList)
+ {
+
+ using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
+ {
+ #region 转换成老系统PatientRegisterId
+ string oldPatientRegisterId = (await _fieldComparisonRepository.GetQueryableAsync())
+ .Where(m => m.TableName == "patient_register" && m.NewKeyValue == item.Id.ToString()).FirstOrDefault().OldKeyValue;
+ #endregion
+
+
+ var oldSum = await Db.Ado.GetDataTableAsync($"select summary,suggestion from patient_register where patient_register_id='{oldPatientRegisterId}' ");
+
+ if (oldSum.Rows.Count == 1)
+ {
+ string oldSummary = oldSum.Rows[0][0].ToString();
+ string oldSuggestion= oldSum.Rows[0][1].ToString();
+
+ if (!string.IsNullOrWhiteSpace(oldSummary))
+ {
+
+ Guid sumSummaryHeaderId = GuidGenerator.Create();
+
+ var dataSumSummaryHeader = new SumSummaryHeader(sumSummaryHeaderId)
+ {
+ DisplayOrder = 1,
+ SummaryFlag = '0',
+ PatientRegisterId = item.Id,
+ SummaryTitle = "."
+ };
+
+ await _sumSummaryHeaderRepository.InsertAsync(dataSumSummaryHeader);
+
+ Guid sumSummaryContentId = GuidGenerator.Create();
+ var dataSumSummaryContent = new SumSummaryContent(sumSummaryContentId)
+ {
+ DisplayOrder = 1,
+ SumSummaryHeaderId = sumSummaryHeaderId,
+ SummaryContent = oldSummary
+ };
+
+ await _sumSummaryContentRepository.InsertAsync(dataSumSummaryContent);
+
+ await uow.CompleteAsync();
+ }
+
+
+
+
+ if (!string.IsNullOrWhiteSpace(oldSuggestion))
+ {
+
+ Guid sumSuggestionHeaderId = GuidGenerator.Create();
+
+ var dataSumSuggestionHeader = new SumSuggestionHeader(sumSuggestionHeaderId)
+ {
+ DisplayOrder = 1,
+ SuggestionFlag = '0',
+ PatientRegisterId = item.Id,
+ SuggestionTitle = "."
+ };
+
+ await _sumSuggestionHeaderRepository.InsertAsync(dataSumSuggestionHeader);
+
+ Guid sumSuggestionContentId = GuidGenerator.Create();
+ var dataSumSuggestionContent = new SumSuggestionContent(sumSuggestionContentId)
+ {
+ DisplayOrder = 1,
+ SuggestionContent = oldSuggestion,
+ SuggestionType = SuggestionTypeFlag.HealthGuidance,
+ SumSuggestionHeaderId = sumSuggestionHeaderId
+ };
+
+ await _sumSuggestionContentRepository.InsertAsync(dataSumSuggestionContent);
+
+ await uow.CompleteAsync();
+ }
+
+ }
+
+
+
+
+ var oldSummaryDiagnosis = await Db.Ado.GetDataTableAsync($"select diagnosis_id from summary_diagnosis where patient_register_id='{oldPatientRegisterId}' order by display_order asc ");
+
+ if (oldSummaryDiagnosis.Rows.Count > 0)
+ {
+ //获取建议头
+ var sumSuggestionHeaderEnt = await _sumSuggestionHeaderRepository.FirstOrDefaultAsync(m => m.PatientRegisterId == item.Id);
+ if (sumSuggestionHeaderEnt != null)
+ {
+ List sumDiagnosisInsert = new List();
+
+ foreach (DataRow row in oldSummaryDiagnosis.Rows)
+ {
+ var diagnosisEnt = (await _fieldComparisonRepository.GetQueryableAsync())
+ .Where(m => m.TableName == "diagnosis" && m.OldKeyValue == row["diagnosis_id"].ToString()).FirstOrDefault();
+ if (diagnosisEnt != null)
+ {
+
+ var dataSumDiagnosis = new SumDiagnosis
+ {
+ DisplayOrder = oldSummaryDiagnosis.Rows.IndexOf(row) + 1,
+ PatientRegisterId = item.Id,
+ DiagnosisId = Guid.Parse(diagnosisEnt.NewKeyValue),
+ SumSuggestionHeaderId = sumSuggestionHeaderEnt.Id
+ };
+
+ sumDiagnosisInsert.Add(dataSumDiagnosis);
+ }
+
+
+ }
+
+ if (sumDiagnosisInsert.Any())
+ await _sumDiagnosisRepository.InsertManyAsync(sumDiagnosisInsert);
+
+ await uow.CompleteAsync();
+ }
+ }
+
+
+ await Db.Ado.ExecuteCommandAsync($"update tb_export_key set keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='sum_summary' ");
+ }
+ }
+
+ await TransferSumSummaryData();
+ }
+ else
+ {
+ _logger.LogInformation("总检综述已处理完");
+ }
+ }
+
+ #endregion
#region 人员登记
+
///
/// 迁移人员登记数据
///
@@ -2723,6 +3344,8 @@ namespace Shentun.Peis.DataMigrations
}
+
+
///
/// 迁移明细项目 查询register_item
///
diff --git a/src/Shentun.Peis.DbMigrator/appsettings.json b/src/Shentun.Peis.DbMigrator/appsettings.json
index 553c49e..5721ccb 100644
--- a/src/Shentun.Peis.DbMigrator/appsettings.json
+++ b/src/Shentun.Peis.DbMigrator/appsettings.json
@@ -3,7 +3,7 @@
//"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123;"
//"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeisTemp;User ID=postgres;Password=shentun123;"
//"Default": "Host=localhost;Port=5432;Database=ShentunPeis1218;User ID=postgres;Password=wxd123;"
- "Default": "Host=10.1.12.140;Port=5432;Database=ShentunPeis;User ID=postgres;Password=st123;"
+ "Default": "Host=10.1.12.140;Port=5432;Database=ShentunPeis0508;User ID=postgres;Password=st123;"
},
"OpenIddict": {
"Applications": {
diff --git a/src/Shentun.Peis.Domain.Shared/Enums/BarcodeModeFlag.cs b/src/Shentun.Peis.Domain.Shared/Enums/BarcodeModeFlag.cs
new file mode 100644
index 0000000..1319b9a
--- /dev/null
+++ b/src/Shentun.Peis.Domain.Shared/Enums/BarcodeModeFlag.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Text;
+
+namespace Shentun.Peis.Enums
+{
+
+ public static class BarcodeModeFlag
+ {
+ ///
+ /// 使用项目类别设置
+ ///
+ [Description("使用项目类别设置")]
+ public const char UsingItemType = '0';
+
+
+ ///
+ /// 打印人员登记号
+ ///
+ [Description("打印人员登记号")]
+ public const char PrintPatientRegisterNumber = '1';
+
+
+ ///
+ /// 不打印
+ ///
+ [Description("不打印")]
+ public const char NoPrint = '2';
+ }
+}
diff --git a/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs b/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs
index 8fee1ba..701bba8 100644
--- a/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs
+++ b/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs
@@ -145,6 +145,13 @@ namespace Shentun.Peis.Models
[Column("display_order")]
public int DisplayOrder { get; set; }
+ ///
+ /// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0
+ ///
+ [Column("barcode_mode")]
+ [MaxLength(1)]
+ public char BarcodeMode { get; set; }
+
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }
diff --git a/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs b/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs
index 28a4e5f..12f0909 100644
--- a/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs
+++ b/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs
@@ -99,7 +99,8 @@ namespace Shentun.Peis.Asbitems
ItemTypeId = entity.ItemTypeId,
Price = entity.Price,
QueueTime = entity.QueueTime,
- ShortName = entity.ShortName
+ ShortName = entity.ShortName,
+ BarcodeMode = entity.BarcodeMode
};
}
///
@@ -140,7 +141,7 @@ namespace Shentun.Peis.Asbitems
targetEntity.Price = sourceEntity.Price;
targetEntity.QueueTime = sourceEntity.QueueTime;
targetEntity.ShortName = sourceEntity.ShortName;
-
+ targetEntity.BarcodeMode = sourceEntity.BarcodeMode;
}
@@ -165,6 +166,12 @@ namespace Shentun.Peis.Asbitems
DataHelper.CheckCharIsYOrN(entity.IsPictureRotate, "体检报告图片旋转90°");
DataHelper.CheckCharIsYOrN(entity.IsCheck, "是否为检查项目");
DataHelper.CheckCharIsYOrN(entity.IsActive, "是否启用");
+ if (entity.BarcodeMode != BarcodeModeFlag.UsingItemType
+ && entity.BarcodeMode != BarcodeModeFlag.PrintPatientRegisterNumber
+ && entity.BarcodeMode != BarcodeModeFlag.NoPrint)
+ {
+ throw new ArgumentException($"BarcodeMode参数为:{entity.BarcodeMode},是无效值,只能为{BarcodeModeFlag.UsingItemType},{BarcodeModeFlag.PrintPatientRegisterNumber},{BarcodeModeFlag.NoPrint}");
+ }
}
diff --git a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Asbitems/AsbitemDbMapping.cs b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Asbitems/AsbitemDbMapping.cs
index 72d31c5..4fb34aa 100644
--- a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Asbitems/AsbitemDbMapping.cs
+++ b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Asbitems/AsbitemDbMapping.cs
@@ -34,7 +34,9 @@ namespace Shentun.Peis.DbMapping
entity.Property(t => t.IsPictureRotate).HasComment("体检报告图片旋转90°").IsRequired().HasDefaultValueSql("'N'");
entity.Property(t => t.IsCheck).HasComment("是检查项目").IsRequired().HasDefaultValueSql("'Y'");
entity.Property(t => t.IsActive).HasComment("是启用").IsRequired().HasDefaultValueSql("'Y'");
+ entity.Property(t => t.BarcodeMode).HasComment("条码模式").IsRequired().HasDefaultValueSql("'0'");
+
entity.Property(e => e.Id)
.IsFixedLength()
diff --git a/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240512063617_init20240502001.Designer.cs b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240512063617_init20240502001.Designer.cs
new file mode 100644
index 0000000..6946e4a
--- /dev/null
+++ b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240512063617_init20240502001.Designer.cs
@@ -0,0 +1,14273 @@
+//
+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.Peis.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Shentun.Peis.Migrations
+{
+ [DbContext(typeof(PeisDbContext))]
+ [Migration("20240512063617_init20240502001")]
+ partial class init20240502001
+ {
+ 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("AsbitemRoom", b =>
+ {
+ b.Property("AsbitemId")
+ .HasColumnType("uuid");
+
+ b.Property("RoomId")
+ .HasColumnType("uuid");
+
+ b.HasKey("AsbitemId", "RoomId");
+
+ b.ToTable("AsbitemRoom");
+ });
+
+ modelBuilder.Entity("RoomAsbitem", b =>
+ {
+ b.Property("RoomId")
+ .HasMaxLength(5)
+ .HasColumnType("uuid")
+ .HasColumnName("room_id")
+ .IsFixedLength();
+
+ b.Property("AsbitemId")
+ .HasMaxLength(6)
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength();
+
+ b.HasKey("RoomId", "AsbitemId")
+ .HasName("pk_room_asbitem");
+
+ b.HasIndex("AsbitemId");
+
+ b.ToTable("room_asbitem", (string)null);
+
+ b.HasComment("房间包含组合项目设置");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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("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("DisplayName")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ 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("IsDiagnosisFunction")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_diagnosis_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("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("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.HasKey("Id");
+
+ b.HasIndex("CollectItemTypeId");
+
+ b.HasIndex("ItemTypeId");
+
+ b.HasIndex(new[] { "DisplayName" }, "ix_asbitem")
+ .IsUnique();
+
+ b.ToTable("asbitem");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.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.Peis.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.Peis.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.Peis.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("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.Peis.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(200)
+ .HasColumnType("character varying(200)")
+ .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.Peis.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.Peis.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(20)
+ .HasColumnType("character varying(20)")
+ .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(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ItemTypeId");
+
+ b.ToTable("bigtext_result_type");
+
+ b.HasComment("大文本结果类别");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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.Peis.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("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("SettleAccountId")
+ .HasColumnType("uuid")
+ .HasColumnName("settle_account_id")
+ .HasComment("结账ID");
+
+ b.Property("SettleTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("settle_time");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ChargeId");
+
+ b.ToTable("charge_back");
+
+ b.HasComment("退费主档");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.ChargeBackPay", b =>
+ {
+ b.Property("ChargeBackId")
+ .HasColumnType("uuid")
+ .HasColumnName("charge_back_id");
+
+ b.Property("PayModeId")
+ .HasMaxLength(4)
+ .HasColumnType("character varying(4)")
+ .HasColumnName("pay_mode_id")
+ .HasComment("支付方式ID");
+
+ b.Property("BackMoeny")
+ .HasPrecision(10, 2)
+ .HasColumnType("numeric(10,2)")
+ .HasColumnName("back_moeny")
+ .HasComment("退费金额");
+
+ b.Property