@ -15,6 +15,7 @@ using Shentun.Peis.Enums;
using Shentun.Peis.ItemTypes ;
using Shentun.Peis.Models ;
using Shentun.Peis.MyUser ;
using Shentun.Peis.PatientRegisters ;
using Shentun.Peis.RegisterCheckItems ;
using Shentun.Peis.Sexs ;
using Shentun.Utilities ;
@ -50,7 +51,7 @@ namespace Shentun.Peis.DataMigrations
private readonly SqlSugarClient Db = new SqlSugarClient ( new ConnectionConfig ( )
{
ConnectionString = "server=.;uid=sa;pwd=123;database=mypeis0512 ;Encrypt=false;" ,
ConnectionString = "server=.;uid=sa;pwd=123;database=mypeis0513 ;Encrypt=false;" ,
DbType = SqlSugar . DbType . SqlServer ,
IsAutoCloseConnection = true
} ) ;
@ -140,6 +141,7 @@ namespace Shentun.Peis.DataMigrations
private readonly IRepository < CollectItemType , Guid > _collectItemTypeRepository ;
private readonly IRepository < PatientRegisterExter > _patientRegisterExterRepository ;
private readonly IRepository < AsbitemGuide > _asbitemGuideRepository ;
private readonly PatientRegisterManager _patientRegisterManager ;
private Dictionary < string , string > veryPatientNo = new Dictionary < string , string > ( ) ;
@ -197,7 +199,8 @@ namespace Shentun.Peis.DataMigrations
IRepository < SysParmValue > sysParmValueRepository ,
IRepository < CollectItemType , Guid > collectItemTypeRepository ,
IRepository < PatientRegisterExter > patientRegisterExterRepository ,
IRepository < AsbitemGuide > asbitemGuideRepository )
IRepository < AsbitemGuide > asbitemGuideRepository ,
PatientRegisterManager patientRegisterManager )
{
_deviceTypeRepository = deviceTypeRepository ;
_itemTypeRepository = itemTypeRepository ;
@ -253,6 +256,7 @@ namespace Shentun.Peis.DataMigrations
_collectItemTypeRepository = collectItemTypeRepository ;
_patientRegisterExterRepository = patientRegisterExterRepository ;
_asbitemGuideRepository = asbitemGuideRepository ;
_patientRegisterManager = patientRegisterManager ;
}
@ -2910,6 +2914,519 @@ namespace Shentun.Peis.DataMigrations
#endregion
#region 青藏公司对比
/// <summary>
/// 对比青藏公司
/// </summary>
/// <returns></returns>
public async Task QZTLDB ( )
{
List < string > qsIdCard = new List < string > ( ) ;
var oldDate = await Db . Ado . GetDataTableAsync ( $"select top 1000 * from patient_register where patient_register_id>'20240513010001' order by patient_register_id asc" ) ;
var CustomerOrgIds = await _customerOrgManager . GetCustomerOrgChildrenId ( Guid . Parse ( "3a126b36-831f-aa9f-ddfe-a82f660fc485" ) ) ;
foreach ( DataRow item in oldDate . Rows )
{
var isIdNo = ( from a in await _patientRegisterRepository . GetQueryableAsync ( )
join b in await _patientRepository . GetQueryableAsync ( ) on a . PatientId equals b . Id
where CustomerOrgIds . Contains ( a . CustomerOrgId ) & & ! string . IsNullOrEmpty ( b . IdNo ) & & b . IdNo = = item [ "id_card_no" ] . ToString ( )
select b . IdNo ) . FirstOrDefault ( ) ;
if ( string . IsNullOrEmpty ( isIdNo ) )
{
qsIdCard . Add ( item [ "id_card_no" ] . ToString ( ) ) ;
}
}
}
#endregion
#region 青藏公司剩余数据
/// <summary>
/// 迁移人员、检查单、登记项目、项目结果、医生小结、修改人员创建者、创建时间
/// </summary>
/// <returns></returns>
public async Task TransferPatientRegisterQZTLData ( )
{
string nextKeyValue = Db . Ado . GetString ( "select keyvalue from tb_export_key where tablename='patient_register_qztl' " ) ;
var oldPatientRegisterList = await Db . Ado . GetDataTableAsync ( $"select top 1000 * from patient_register where patient_register_id>'20240513010001' order by patient_register_id asc" ) ;
if ( oldPatientRegisterList . Rows . Count > 0 )
{
List < string > planuserids = new List < string > ( ) ;
var userList = await _identityUserRepository . GetListAsync ( ) ;
List < CustomerOrgRegister > customerOrgRegisterList = await _customerOrgRegisterRepository . GetListAsync ( ) ;
foreach ( DataRow row in oldPatientRegisterList . Rows )
{
var isPlanuserid = await _patientRegisterExterRepository . FirstOrDefaultAsync ( m = > m . Planuserid = = row [ "planuserid" ] . ToString ( ) ) ;
if ( isPlanuserid = = null )
{
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 = _patientRegisterManager . CreatePrePatientRegisterNo ( ) . Result ,
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_qztl' " ) ;
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
}
}
else
{
planuserids . Add ( row [ "planuserid" ] . ToString ( ) ) ;
}
}
_logger . LogInformation ( $"青藏公司剩余数据查询{oldPatientRegisterList.Rows.Count}条" ) ;
_logger . LogInformation ( $"青藏公司剩余数据跳过{planuserids.Count}条" ) ;
_logger . LogInformation ( $"青藏公司剩余数据导入{oldPatientRegisterList.Rows.Count - planuserids.Count}条" ) ;
// await TransferPatientRegisterWithAsbitemData();
}
else
{
_logger . LogInformation ( "青藏公司剩余数据已处理完" ) ;
}
}
#endregion
#region 人员登记