Browse Source

122002

master
wxd 1 year ago
parent
commit
ff89212f3b
  1. 10
      src/Shentun.Pacs.Application.Contracts/Asbitems/AsbitemDto.cs
  2. 11
      src/Shentun.Pacs.Application.Contracts/Asbitems/CreateAsbitemDto.cs
  3. 10
      src/Shentun.Pacs.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
  4. 10
      src/Shentun.Pacs.Application.Contracts/Worklists/GetWorklistPatientListDto.cs
  5. 2
      src/Shentun.Pacs.Application/Asbitems/AsbitemAppService.cs
  6. 722
      src/Shentun.Pacs.Application/PacsBusiness/PacsBusinessAppService.cs
  7. 5
      src/Shentun.Pacs.Application/PatientRegisters/PatientRegisterAppService.cs
  8. 78
      src/Shentun.Pacs.Application/Worklists/WorklistAppService.cs
  9. 15
      src/Shentun.Pacs.Domain/Asbitems/Asbitem.cs
  10. 6
      src/Shentun.Pacs.Domain/Asbitems/AsbitemManager.cs
  11. 4
      src/Shentun.Pacs.EntityFrameworkCore/DbMapping/Asbitems/AsbitemDbMapping.cs
  12. 16279
      src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220014728_update_asbitem_add_is_film_release.Designer.cs
  13. 27
      src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220014728_update_asbitem_add_is_film_release.cs
  14. 16285
      src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220085626_update_asbitem_add_english_short_name.Designer.cs
  15. 27
      src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220085626_update_asbitem_add_english_short_name.cs
  16. 13
      src/Shentun.Pacs.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs
  17. 23
      src/Shentun.Utilities/LanguageConverter.cs

10
src/Shentun.Pacs.Application.Contracts/Asbitems/AsbitemDto.cs

@ -184,5 +184,15 @@ namespace Shentun.Pacs.Asbitems
/// 是否隐私项目
/// </summary>
public char IsPrivacy { get; set; }
/// <summary>
/// 是否出片
/// </summary>
public char IsFilmRelease { get; set; }
/// <summary>
/// 英文简称
/// </summary>
public string EnglishShortName { get; set; }
}
}

11
src/Shentun.Pacs.Application.Contracts/Asbitems/CreateAsbitemDto.cs

@ -179,5 +179,16 @@ namespace Shentun.Pacs.Asbitems
/// 是否隐私项目
/// </summary>
public char IsPrivacy { get; set; } = 'N';
/// <summary>
/// 是否出片
/// </summary>
public char IsFilmRelease { get; set; } = 'N';
/// <summary>
/// 英文简称
/// </summary>
public string EnglishShortName { get; set; }
}
}

10
src/Shentun.Pacs.Application.Contracts/Asbitems/UpdateAsbitemDto.cs

@ -176,5 +176,15 @@ namespace Shentun.Pacs.Asbitems
/// 是否隐私项目
/// </summary>
public char IsPrivacy { get; set; } = 'N';
/// <summary>
/// 是否出片
/// </summary>
public char IsFilmRelease { get; set; } = 'N';
/// <summary>
/// 英文简称
/// </summary>
public string EnglishShortName { get; set; }
}
}

10
src/Shentun.Pacs.Application.Contracts/Worklists/GetWorklistPatientListDto.cs

@ -18,7 +18,11 @@ namespace Shentun.Pacs.Worklists
/// <summary>
/// 姓名
/// </summary>
public string Forename { get; set; }
public string Forename { get; set; }
/// <summary>
/// 全拼姓名
/// </summary>
public string PYForename { get; set; }
public string Title { get; set; }
@ -48,7 +52,9 @@ namespace Shentun.Pacs.Worklists
public string ExamRoom { get; set; }
public string ExamDescription { get; set; }
public string ExamDescription { get; set; }
public string ExamEngDescription { get; set; }
public string StudyUID { get; set; }

2
src/Shentun.Pacs.Application/Asbitems/AsbitemAppService.cs

@ -151,6 +151,8 @@ namespace Shentun.Pacs.Asbitems
IsCriticalValueFunction = s.a.IsCriticalValueFunction,
IsFollowUpFunction = s.a.IsFollowUpFunction,
IsPrivacy = s.a.IsPrivacy,
IsFilmRelease = s.a.IsFilmRelease,
EnglishShortName = s.a.EnglishShortName,
//IsDisablePregnancy = s.a.IsDisablePregnancy,
//IsDisablePreparePregnancy = s.a.IsDisablePreparePregnancy,
CreatorName = s.ab != null ? s.ab.Surname : "",

722
src/Shentun.Pacs.Application/PacsBusiness/PacsBusinessAppService.cs

@ -376,7 +376,7 @@ namespace Shentun.Pacs.PacsBusiness
}
/// <summary>
/// 获取pacs检查项目
/// 获取pacs检查项目 pacs看图界面列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@ -811,6 +811,7 @@ namespace Shentun.Pacs.PacsBusiness
#region 新流程增加接口
///// <summary>
///// 导入老系统人员、项目数据,并自动加入worklist
///// </summary>
@ -818,8 +819,9 @@ namespace Shentun.Pacs.PacsBusiness
///// <returns></returns>
///// <exception cref="UserFriendlyException"></exception>
//[HttpPost("api/app/PacsBusiness/ImportPeisCheckDataByCheckRequestNo")]
//public async Task ImportPeisCheckDataByCheckRequestNoAsync(ImportPeisCheckDataByCheckRequestNoInputDto input)
//public async Task<PatientRegisterOrNoDto> ImportPeisCheckDataByCheckRequestNoAsync(ImportPeisCheckDataByCheckRequestNoInputDto input)
//{
// var entDto = new PatientRegisterOrNoDto();
// if (string.IsNullOrWhiteSpace(input.CheckRequestNo))
// {
@ -837,6 +839,31 @@ namespace Shentun.Pacs.PacsBusiness
// throw new UserFriendlyException("预检AET不能为空");
// }
// var pacsDeviceEnt = await _deviceRepository.FirstOrDefaultAsync(f => f.Id == Guid.Parse(input.DeviceId));
// if (pacsDeviceEnt == null)
// {
// throw new UserFriendlyException("设备id不存在");
// }
// Guid deviceTypeColumnReferenId = Guid.Parse(_configuration.GetValue<string>("OldPeis:DeviceTypeColumnReferenId", Guid.Empty.ToString()));
// var deviceTypeCodeValues = await _columnReferenceCodeManager.GetInterfaceCodeValueAsync(deviceTypeColumnReferenId, pacsDeviceEnt.DeviceTypeId.ToString());
// if (!deviceTypeCodeValues.Any())
// {
// throw new UserFriendlyException($"仪器编号:{input.DeviceId}所属的仪器类型没有对照");
// }
// if (deviceTypeCodeValues.Count() > 1)
// {
// throw new UserFriendlyException($"仪器编号:{input.DeviceId}所属的仪器类型有多个体检系统的仪器类型进行了对照");
// }
// //对照中体检系统的仪器类型,用于检索数据
// string oldDeviceTypeId = deviceTypeCodeValues.First();
// string connectionString = _configuration.GetValue<string>("OldPeis:ConnectionStrings", "");
// SqlSugarClient oldDb = new SqlSugarClient(new ConnectionConfig()
// {
@ -849,222 +876,251 @@ namespace Shentun.Pacs.PacsBusiness
// var oldRegisterAsbitemList = await oldDb.Ado.GetDataTableAsync("select a.name as patient_name,a.sex_id,a.mobile_telephone,a.telephone," +
// "a.age,a.id_card_no,a.marital_status_id,a.complete_flag," +
// "b.patient_register_id,b.print_barcode_no,b.asbitem_id,b.price,b.standard_price,b.charge_flag,b.payment_mode,c.item_id " +
// "b.patient_register_id,b.print_barcode_no,b.asbitem_id,b.price,b.standard_price,b.charge_flag,b.payment_mode " +
// "from patient_register as a left join register_asbitem as b on a.patient_register_id=b.patient_register_id " +
// "left join register_item as c on b.asbitem_id=c.asbitem_id and a.patient_register_id=c.patient_register_id" +
// $" where b.print_barcode_no='{input.CheckRequestNo}'");
// " left join asbitem as c on b.asbitem_id=c.asbitem_id " +
// $" where b.print_barcode_no='{input.CheckRequestNo}' and c.device_type_id='{oldDeviceTypeId}' ");
// if (oldRegisterAsbitemList.Rows.Count > 0)
// {
// var registerCheckFirst = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
// join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id
// join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
// where registerCheck.CheckRequestNo == input.CheckRequestNo
// select new
// {
// patientRegister,
// registerCheck
// }).FirstOrDefault();
// if (registerCheckFirst == null)
// {
// #region 插入人员
// #region 档案
// var patientName = oldRegisterAsbitemList.Rows[0]["patient_name"].ToString();
// var sexId = ConvertSex(oldRegisterAsbitemList.Rows[0]["sex_id"].ToString());
// var mobileTelephone = oldRegisterAsbitemList.Rows[0]["mobile_telephone"].ToString();
// var telephone = oldRegisterAsbitemList.Rows[0]["telephone"].ToString();
// var idNo = oldRegisterAsbitemList.Rows[0]["id_card_no"].ToString();
// short? age = string.IsNullOrWhiteSpace(oldRegisterAsbitemList.Rows[0]["age"].ToString()) ? null : Convert.ToInt16(oldRegisterAsbitemList.Rows[0]["age"].ToString());
// var maritalStatusId = oldRegisterAsbitemList.Rows[0]["marital_status_id"].ToString() == "2" ? '4' : Convert.ToChar(oldRegisterAsbitemList.Rows[0]["marital_status_id"].ToString());
// var patientQuery = await _patientRepository.GetQueryableAsync();
// patientQuery = patientQuery.Where(m => m.DisplayName == patientName && m.SexId == sexId);
// if (!string.IsNullOrWhiteSpace(mobileTelephone))
// {
// patientQuery = patientQuery.Where(m => m.MobileTelephone == mobileTelephone);
// }
// if (!string.IsNullOrWhiteSpace(idNo))
// {
// patientQuery = patientQuery.Where(m => m.IdNo == idNo);
// }
// //档案
// var patientEnt = await patientQuery.FirstOrDefaultAsync();
// if (patientEnt == null)
// {
// patientEnt = new Patient(GuidGenerator.Create())
// {
// BirthDate = null,
// BirthPlaceId = null,
// DisplayName = patientName,
// Email = null,
// IdNo = idNo,
// MaritalStatusId = maritalStatusId,
// MedicalCenterId = Guid.Empty,
// MobileTelephone = mobileTelephone,
// NationId = null,
// PatientNo = await _manager.CreatePatientNo(Guid.Empty),
// PatientPassword = "",
// PostalCode = "",
// SexId = sexId,
// SimpleCode = LanguageConverter.GetPYSimpleCode(patientName),
// Telephone = telephone
// };
// patientEnt = await _patientRepository.InsertAsync(patientEnt, true);
// }
// #endregion
// #region 人员
// var patientRegisterEnt = new PatientRegister(GuidGenerator.Create())
// {
// Age = age,
// CompleteFlag = Convert.ToChar(oldRegisterAsbitemList.Rows[0]["complete_flag"].ToString()),
// CustomerOrgId = GuidFlag.PersonCustomerOrgId,
// CustomerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId,
// DeviceId = Guid.Parse(input.DeviceId),
// GuidePrintTimes = 0,
// IsAudit = 'N',
// IsLock = 'N',
// IsMedicalStart = 'Y',
// IsNameHide = 'N',
// IsPhoneFollow = 'N',
// IsVip = 'N',
// IsRecoverGuide = 'N',
// IsUpload = 'N',
// IsUploadAppoint = 'N',
// MaritalStatusId = maritalStatusId,
// MedicalCenterId = Guid.Empty,
// MedicalTimes = 0,
// PatientId = patientEnt.Id,
// PatientName = patientName,
// ReportPrintTimes = 0,
// PatientRegisterNo = await _patientRegisterManager.CreatePatientRegisterNo(Guid.Empty),
// SendFlag = '0',
// SexId = sexId
// };
// patientRegisterEnt = await _patientRegisterRepository.InsertAsync(patientRegisterEnt, true);
// #endregion
// #region 登记项目 明细项目
// string oldAsbitemId = oldRegisterAsbitemList.Rows[0]["asbitem_id"].ToString();
// var oldAsbitemPrice = Convert.ToDecimal(oldRegisterAsbitemList.Rows[0]["price"].ToString());
// var oldAsbitemStandardPrice = Convert.ToDecimal(oldRegisterAsbitemList.Rows[0]["standard_price"].ToString());
// Guid asbitemColumnReferenId = Guid.Parse(_configuration.GetValue<string>("OldPeis:AsbitemColumnReferenId", Guid.Empty.ToString()));
// Guid itemColumnReferenId = Guid.Parse(_configuration.GetValue<string>("OldPeis:ItemColumnReferenId", Guid.Empty.ToString()));
// var asbitemCodeValues = await _columnReferenceCodeManager.GetColumnReferenCodeValueAsync(asbitemColumnReferenId, oldAsbitemId);
// if (!asbitemCodeValues.Any())
// {
// throw new UserFriendlyException($"组合项目编号:{oldAsbitemId}没有对照");
// }
// if (asbitemCodeValues.Count() > 1)
// {
// throw new UserFriendlyException($"组合项目编号:{oldAsbitemId}有多个pacs项目进行了对照");
// }
// Guid asbitemId = Guid.Parse(asbitemCodeValues.First()); //pacs系统组合项目id
// //检查
// var registerCheckEnt = new RegisterCheck(GuidGenerator.Create())
// {
// CheckRequestNo = input.CheckRequestNo,
// CheckRequestPrintTimes = 0,
// CompleteFlag = RegisterCheckCompleteFlag.UnChecked,
// IsAudit = 'N',
// IsLock = 'N',
// IsPacsCheck = 'N',
// IsSignIn = 'Y',
// PatientRegisterId = patientRegisterEnt.Id,
// ScheduledAet = input.ScheduledAet,
// WorklistFlag = '1',
// WorklistPreCheckDate = DateTime.Now
// };
// registerCheckEnt = await _registerCheckRepository.InsertAsync(registerCheckEnt, true);
// //组合项目
// var registerCheckAsbitemEnt = new RegisterCheckAsbitem(GuidGenerator.Create())
// {
// Amount = 1,
// AsbitemId = asbitemId,
// ChargePrice = oldAsbitemPrice,
// StandardPrice = oldAsbitemStandardPrice,
// IsCharge = Convert.ToChar(oldRegisterAsbitemList.Rows[0]["charge_flag"].ToString()),
// OldAsbitemId = oldAsbitemId,
// OldPatientRegisterId = oldRegisterAsbitemList.Rows[0]["patient_register_id"].ToString(),
// PatientRegisterId = patientRegisterEnt.Id,
// PayTypeFlag = Convert.ToChar(oldRegisterAsbitemList.Rows[0]["payment_mode"].ToString()),
// RegisterCheckId = registerCheckEnt.Id
// };
// registerCheckAsbitemEnt = await _registerCheckAsbitemRepository.InsertAsync(registerCheckAsbitemEnt, true);
// //明细项目
// List<RegisterCheckItem> registerCheckItemList = new List<RegisterCheckItem>();
// foreach (DataRow row in oldRegisterAsbitemList.Rows)
// {
// string oldItemId = row["item_id"].ToString();
// var itemCodeValues = await _columnReferenceCodeManager.GetColumnReferenCodeValueAsync(itemColumnReferenId, oldItemId);
// if (!itemCodeValues.Any())
// {
// throw new UserFriendlyException($"项目编号:{oldItemId}没有对照");
// }
// if (itemCodeValues.Count() > 1)
// {
// throw new UserFriendlyException($"项目编号:{oldAsbitemId}有多个pacs项目进行了对照");
// }
// Guid itemId = Guid.Parse(itemCodeValues.First()); //pacs系统项目id
// if (registerCheckItemList.Count(c => c.ItemId == itemId) == 0)
// {
// registerCheckItemList.Add(new RegisterCheckItem
// {
// ItemId = itemId,
// RegisterCheckId = registerCheckEnt.Id,
// });
// }
// }
// if (registerCheckItemList.Any())
// {
// await _registerCheckItemRepository.InsertManyAsync(registerCheckItemList);
// }
// #endregion
// #endregion
// }
// else
// {
// //更新设备id
// registerCheckFirst.patientRegister.DeviceId = Guid.Parse(input.DeviceId);
// await _patientRegisterRepository.UpdateAsync(registerCheckFirst.patientRegister);
// }
// Guid tempPatientRegisterId = Guid.Empty;
// var registerCheckList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
// join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id
// join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
// join device in await _deviceRepository.GetQueryableAsync() on patientRegister.DeviceId equals device.Id
// where registerCheck.CheckRequestNo == input.CheckRequestNo && device.DeviceTypeId == pacsDeviceEnt.DeviceTypeId
// select new
// {
// patientRegister,
// registerCheck
// }).ToList();
// //if (registerCheckList.Count == 0)
// //{
// // foreach (DataRow row in oldRegisterAsbitemList.Rows)
// // {
// // #region 档案
// // var patientName = row["patient_name"].ToString();
// // var sexId = ConvertSex(row["sex_id"].ToString());
// // var mobileTelephone = row["mobile_telephone"].ToString();
// // var telephone = row["telephone"].ToString();
// // var idNo = row["id_card_no"].ToString();
// // short? age = string.IsNullOrWhiteSpace(row["age"].ToString()) ? null : Convert.ToInt16(row["age"].ToString());
// // var maritalStatusId = row["marital_status_id"].ToString() == "2" ? '4' : Convert.ToChar(row["marital_status_id"].ToString());
// // var patientQuery = await _patientRepository.GetQueryableAsync();
// // patientQuery = patientQuery.Where(m => m.DisplayName == patientName && m.SexId == sexId);
// // if (!string.IsNullOrWhiteSpace(mobileTelephone))
// // {
// // patientQuery = patientQuery.Where(m => m.MobileTelephone == mobileTelephone);
// // }
// // if (!string.IsNullOrWhiteSpace(idNo))
// // {
// // patientQuery = patientQuery.Where(m => m.IdNo == idNo);
// // }
// // //档案
// // var patientEnt = await patientQuery.FirstOrDefaultAsync();
// // if (patientEnt == null)
// // {
// // patientEnt = new Patient(GuidGenerator.Create())
// // {
// // BirthDate = null,
// // BirthPlaceId = null,
// // DisplayName = patientName,
// // Email = null,
// // IdNo = idNo,
// // MaritalStatusId = maritalStatusId,
// // MedicalCenterId = Guid.Empty,
// // MobileTelephone = mobileTelephone,
// // NationId = null,
// // PatientNo = await _manager.CreatePatientNo(Guid.Empty),
// // PatientPassword = "",
// // PostalCode = "",
// // SexId = sexId,
// // SimpleCode = LanguageConverter.GetPYSimpleCode(patientName),
// // Telephone = telephone
// // };
// // patientEnt = await _patientRepository.InsertAsync(patientEnt, true);
// // }
// // #endregion
// // #region 人员
// // Guid patientRegisterId = Guid.Empty;
// // var isCheckRequestNo = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.CheckRequestNo);
// // if (isCheckRequestNo == null)
// // {
// // var patientRegisterEnt = new PatientRegister(GuidGenerator.Create())
// // {
// // Age = age,
// // CompleteFlag = Convert.ToChar(row["complete_flag"].ToString()),
// // CustomerOrgId = GuidFlag.PersonCustomerOrgId,
// // CustomerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId,
// // DeviceId = Guid.Parse(input.DeviceId),
// // GuidePrintTimes = 0,
// // IsAudit = 'N',
// // IsLock = 'N',
// // IsMedicalStart = 'Y',
// // IsNameHide = 'N',
// // IsPhoneFollow = 'N',
// // IsVip = 'N',
// // IsRecoverGuide = 'N',
// // IsUpload = 'N',
// // IsUploadAppoint = 'N',
// // MaritalStatusId = maritalStatusId,
// // MedicalCenterId = Guid.Empty,
// // MedicalTimes = 0,
// // PatientId = patientEnt.Id,
// // PatientName = patientName,
// // ReportPrintTimes = 0,
// // PatientRegisterNo = await _patientRegisterManager.CreatePatientRegisterNo(Guid.Empty),
// // SendFlag = '0',
// // SexId = sexId
// // };
// // patientRegisterEnt = await _patientRegisterRepository.InsertAsync(patientRegisterEnt, true);
// // patientRegisterId = patientRegisterEnt.Id;
// // }
// // else
// // {
// // patientRegisterId = isCheckRequestNo.PatientRegisterId;
// // }
// // tempPatientRegisterId = patientRegisterId;
// // #endregion
// // #region 登记项目 明细项目
// // string oldAsbitemId = row["asbitem_id"].ToString();
// // var oldAsbitemPrice = Convert.ToDecimal(row["price"].ToString());
// // var oldAsbitemStandardPrice = Convert.ToDecimal(row["standard_price"].ToString());
// // Guid asbitemColumnReferenId = Guid.Parse(_configuration.GetValue<string>("OldPeis:AsbitemColumnReferenId", Guid.Empty.ToString()));
// // Guid itemColumnReferenId = Guid.Parse(_configuration.GetValue<string>("OldPeis:ItemColumnReferenId", Guid.Empty.ToString()));
// // var asbitemCodeValues = await _columnReferenceCodeManager.GetColumnReferenCodeValueAsync(asbitemColumnReferenId, oldAsbitemId);
// // if (!asbitemCodeValues.Any())
// // {
// // throw new UserFriendlyException($"组合项目编号:{oldAsbitemId}没有对照");
// // }
// // if (asbitemCodeValues.Count() > 1)
// // {
// // throw new UserFriendlyException($"组合项目编号:{oldAsbitemId}有多个pacs项目进行了对照");
// // }
// // Guid asbitemId = Guid.Parse(asbitemCodeValues.First()); //pacs系统组合项目id
// // //检查
// // var registerCheckEnt = new RegisterCheck(GuidGenerator.Create())
// // {
// // CheckRequestNo = input.CheckRequestNo,
// // CheckRequestPrintTimes = 0,
// // CompleteFlag = RegisterCheckCompleteFlag.UnChecked,
// // IsAudit = 'N',
// // IsLock = 'N',
// // IsPacsCheck = 'N',
// // IsSignIn = 'Y',
// // PatientRegisterId = patientRegisterId,
// // ScheduledAet = input.ScheduledAet,
// // WorklistFlag = '1',
// // WorklistPreCheckDate = DateTime.Now
// // };
// // registerCheckEnt = await _registerCheckRepository.InsertAsync(registerCheckEnt, true);
// // //组合项目
// // var registerCheckAsbitemEnt = new RegisterCheckAsbitem(GuidGenerator.Create())
// // {
// // Amount = 1,
// // AsbitemId = asbitemId,
// // ChargePrice = oldAsbitemPrice,
// // StandardPrice = oldAsbitemStandardPrice,
// // IsCharge = Convert.ToChar(row["charge_flag"].ToString()),
// // OldAsbitemId = oldAsbitemId,
// // OldPatientRegisterId = row["patient_register_id"].ToString(),
// // PatientRegisterId = patientRegisterId,
// // PayTypeFlag = Convert.ToChar(row["payment_mode"].ToString()),
// // RegisterCheckId = registerCheckEnt.Id
// // };
// // registerCheckAsbitemEnt = await _registerCheckAsbitemRepository.InsertAsync(registerCheckAsbitemEnt, true);
// // //明细项目
// // List<RegisterCheckItem> registerCheckItemList = new List<RegisterCheckItem>();
// // var oldRegisterItemList = await oldDb.Ado.GetDataTableAsync($"select item_id from register_item where asbitem_id='{row["asbitem_id"].ToString()}' and patient_register_id='{row["patient_register_id"].ToString()}' ");
// // if (oldRegisterItemList.Rows.Count > 0)
// // {
// // foreach (DataRow rowItem in oldRegisterItemList.Rows)
// // {
// // string oldItemId = rowItem["item_id"].ToString();
// // var itemCodeValues = await _columnReferenceCodeManager.GetColumnReferenCodeValueAsync(itemColumnReferenId, oldItemId);
// // if (!itemCodeValues.Any())
// // {
// // throw new UserFriendlyException($"项目编号:{oldItemId}没有对照");
// // }
// // if (itemCodeValues.Count() > 1)
// // {
// // throw new UserFriendlyException($"项目编号:{oldAsbitemId}有多个pacs项目进行了对照");
// // }
// // Guid itemId = Guid.Parse(itemCodeValues.First()); //pacs系统项目id
// // if (registerCheckItemList.Count(c => c.ItemId == itemId) == 0)
// // {
// // registerCheckItemList.Add(new RegisterCheckItem
// // {
// // ItemId = itemId,
// // RegisterCheckId = registerCheckEnt.Id,
// // });
// // }
// // }
// // }
// // if (registerCheckItemList.Any())
// // {
// // await _registerCheckItemRepository.InsertManyAsync(registerCheckItemList);
// // }
// // #endregion
// // }
// //}
// //else
// //{
// // foreach (var item in registerCheckList)
// // {
// // item.patientRegister.DeviceId = Guid.Parse(input.DeviceId);
// // }
// // await _patientRegisterRepository.UpdateManyAsync(registerCheckList.Select(s => s.patientRegister).ToList());
// // tempPatientRegisterId = registerCheckList.First().patientRegister.Id;
// //}
// entDto = await _patientRegisterAppService.GetPatientRegisterOrNo(tempPatientRegisterId);
// }
// else
// {
// throw new UserFriendlyException("检查条码不正确");
// }
// return entDto;
//}
/// <summary>
/// 导入老系统人员、项目数据,并自动加入worklist
/// </summary>
@ -1072,8 +1128,9 @@ namespace Shentun.Pacs.PacsBusiness
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
[HttpPost("api/app/PacsBusiness/ImportPeisCheckDataByCheckRequestNo")]
public async Task ImportPeisCheckDataByCheckRequestNoAsync(ImportPeisCheckDataByCheckRequestNoInputDto input)
public async Task<PatientRegisterOrNoDto> ImportPeisCheckDataByCheckRequestNoAsync(ImportPeisCheckDataByCheckRequestNoInputDto input)
{
var entDto = new PatientRegisterOrNoDto();
if (string.IsNullOrWhiteSpace(input.CheckRequestNo))
{
@ -1091,6 +1148,31 @@ namespace Shentun.Pacs.PacsBusiness
throw new UserFriendlyException("预检AET不能为空");
}
var pacsDeviceEnt = await _deviceRepository.FirstOrDefaultAsync(f => f.Id == Guid.Parse(input.DeviceId));
if (pacsDeviceEnt == null)
{
throw new UserFriendlyException("设备id不存在");
}
Guid deviceTypeColumnReferenId = Guid.Parse(_configuration.GetValue<string>("OldPeis:DeviceTypeColumnReferenId", Guid.Empty.ToString()));
var deviceTypeCodeValues = await _columnReferenceCodeManager.GetInterfaceCodeValueAsync(deviceTypeColumnReferenId, pacsDeviceEnt.DeviceTypeId.ToString());
if (!deviceTypeCodeValues.Any())
{
throw new UserFriendlyException($"仪器编号:{input.DeviceId}所属的仪器类型没有对照");
}
if (deviceTypeCodeValues.Count() > 1)
{
throw new UserFriendlyException($"仪器编号:{input.DeviceId}所属的仪器类型有多个体检系统的仪器类型进行了对照");
}
//对照中体检系统的仪器类型,用于检索数据
string oldDeviceTypeId = deviceTypeCodeValues.First();
string connectionString = _configuration.GetValue<string>("OldPeis:ConnectionStrings", "");
SqlSugarClient oldDb = new SqlSugarClient(new ConnectionConfig()
{
@ -1105,121 +1187,144 @@ namespace Shentun.Pacs.PacsBusiness
"a.age,a.id_card_no,a.marital_status_id,a.complete_flag," +
"b.patient_register_id,b.print_barcode_no,b.asbitem_id,b.price,b.standard_price,b.charge_flag,b.payment_mode " +
"from patient_register as a left join register_asbitem as b on a.patient_register_id=b.patient_register_id " +
$" where b.print_barcode_no='{input.CheckRequestNo}'");
" left join asbitem as c on b.asbitem_id=c.asbitem_id " +
$" where b.print_barcode_no='{input.CheckRequestNo}' and c.device_type_id='{oldDeviceTypeId}' ");
if (oldRegisterAsbitemList.Rows.Count > 0)
{
Guid tempPatientRegisterId = Guid.Empty;
var registerCheckList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
where registerCheck.CheckRequestNo == input.CheckRequestNo
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
join device in await _deviceRepository.GetQueryableAsync() on patientRegister.DeviceId equals device.Id
where registerCheck.CheckRequestNo == input.CheckRequestNo && device.DeviceTypeId == pacsDeviceEnt.DeviceTypeId
select new
{
patientRegister,
registerCheck
registerCheck,
registerCheckAsbitem
}).ToList();
if (registerCheckList.Count == 0)
#region 处理人员信息
if (registerCheckList.Count > 0)
{
//当前仪器类型下已登记过当前条码
//更新之前登记的人员信息中的仪器id
var fisrtPatientRegister = registerCheckList.Select(s => s.patientRegister).First();
fisrtPatientRegister.DeviceId = Guid.Parse(input.DeviceId);
await _patientRegisterRepository.UpdateAsync(fisrtPatientRegister);
}
else
{
foreach (DataRow row in oldRegisterAsbitemList.Rows)
//未登记
DataRow row = oldRegisterAsbitemList.Rows[0];
#region 档案
var patientName = row["patient_name"].ToString();
var sexId = ConvertSex(row["sex_id"].ToString());
var mobileTelephone = row["mobile_telephone"].ToString();
var telephone = row["telephone"].ToString();
var idNo = row["id_card_no"].ToString();
short? age = string.IsNullOrWhiteSpace(row["age"].ToString()) ? null : Convert.ToInt16(row["age"].ToString());
var maritalStatusId = row["marital_status_id"].ToString() == "2" ? '4' : Convert.ToChar(row["marital_status_id"].ToString());
var patientQuery = await _patientRepository.GetQueryableAsync();
patientQuery = patientQuery.Where(m => m.DisplayName == patientName && m.SexId == sexId);
if (!string.IsNullOrWhiteSpace(mobileTelephone))
{
#region 档案
var patientName = row["patient_name"].ToString();
var sexId = ConvertSex(row["sex_id"].ToString());
var mobileTelephone = row["mobile_telephone"].ToString();
var telephone = row["telephone"].ToString();
var idNo = row["id_card_no"].ToString();
short? age = string.IsNullOrWhiteSpace(row["age"].ToString()) ? null : Convert.ToInt16(row["age"].ToString());
var maritalStatusId = row["marital_status_id"].ToString() == "2" ? '4' : Convert.ToChar(row["marital_status_id"].ToString());
var patientQuery = await _patientRepository.GetQueryableAsync();
patientQuery = patientQuery.Where(m => m.DisplayName == patientName && m.SexId == sexId);
if (!string.IsNullOrWhiteSpace(mobileTelephone))
{
patientQuery = patientQuery.Where(m => m.MobileTelephone == mobileTelephone);
}
if (!string.IsNullOrWhiteSpace(idNo))
{
patientQuery = patientQuery.Where(m => m.IdNo == idNo);
}
patientQuery = patientQuery.Where(m => m.MobileTelephone == mobileTelephone);
}
if (!string.IsNullOrWhiteSpace(idNo))
{
patientQuery = patientQuery.Where(m => m.IdNo == idNo);
}
//档案
var patientEnt = await patientQuery.FirstOrDefaultAsync();
//档案
var patientEnt = await patientQuery.FirstOrDefaultAsync();
if (patientEnt == null)
if (patientEnt == null)
{
patientEnt = new Patient(GuidGenerator.Create())
{
patientEnt = new Patient(GuidGenerator.Create())
{
BirthDate = null,
BirthPlaceId = null,
DisplayName = patientName,
Email = null,
IdNo = idNo,
MaritalStatusId = maritalStatusId,
MedicalCenterId = Guid.Empty,
MobileTelephone = mobileTelephone,
NationId = null,
PatientNo = await _manager.CreatePatientNo(Guid.Empty),
PatientPassword = "",
PostalCode = "",
SexId = sexId,
SimpleCode = LanguageConverter.GetPYSimpleCode(patientName),
Telephone = telephone
};
patientEnt = await _patientRepository.InsertAsync(patientEnt, true);
}
#endregion
BirthDate = null,
BirthPlaceId = null,
DisplayName = patientName,
Email = null,
IdNo = idNo,
MaritalStatusId = maritalStatusId,
MedicalCenterId = Guid.Empty,
MobileTelephone = mobileTelephone,
NationId = null,
PatientNo = await _manager.CreatePatientNo(Guid.Empty),
PatientPassword = "",
PostalCode = "",
SexId = sexId,
SimpleCode = LanguageConverter.GetPYSimpleCode(patientName),
Telephone = telephone
};
#region 人员
patientEnt = await _patientRepository.InsertAsync(patientEnt, true);
}
#endregion
Guid patientRegisterId = Guid.Empty;
#region 人员
var patientRegisterEnt = new PatientRegister(GuidGenerator.Create())
{
Age = age,
CompleteFlag = Convert.ToChar(row["complete_flag"].ToString()),
CustomerOrgId = GuidFlag.PersonCustomerOrgId,
CustomerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId,
DeviceId = Guid.Parse(input.DeviceId),
GuidePrintTimes = 0,
IsAudit = 'N',
IsLock = 'N',
IsMedicalStart = 'Y',
IsNameHide = 'N',
IsPhoneFollow = 'N',
IsVip = 'N',
IsRecoverGuide = 'N',
IsUpload = 'N',
IsUploadAppoint = 'N',
MaritalStatusId = maritalStatusId,
MedicalCenterId = Guid.Empty,
MedicalTimes = 0,
PatientId = patientEnt.Id,
PatientName = patientName,
ReportPrintTimes = 0,
PatientRegisterNo = await _patientRegisterManager.CreatePatientRegisterNo(Guid.Empty),
SendFlag = '0',
SexId = sexId
};
patientRegisterEnt = await _patientRegisterRepository.InsertAsync(patientRegisterEnt, true);
tempPatientRegisterId = patientRegisterEnt.Id;
var isCheckRequestNo = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.CheckRequestNo);
if (isCheckRequestNo == null)
{
var patientRegisterEnt = new PatientRegister(GuidGenerator.Create())
{
Age = age,
CompleteFlag = Convert.ToChar(row["complete_flag"].ToString()),
CustomerOrgId = GuidFlag.PersonCustomerOrgId,
CustomerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId,
DeviceId = Guid.Parse(input.DeviceId),
GuidePrintTimes = 0,
IsAudit = 'N',
IsLock = 'N',
IsMedicalStart = 'Y',
IsNameHide = 'N',
IsPhoneFollow = 'N',
IsVip = 'N',
IsRecoverGuide = 'N',
IsUpload = 'N',
IsUploadAppoint = 'N',
MaritalStatusId = maritalStatusId,
MedicalCenterId = Guid.Empty,
MedicalTimes = 0,
PatientId = patientEnt.Id,
PatientName = patientName,
ReportPrintTimes = 0,
PatientRegisterNo = await _patientRegisterManager.CreatePatientRegisterNo(Guid.Empty),
SendFlag = '0',
SexId = sexId
};
patientRegisterEnt = await _patientRegisterRepository.InsertAsync(patientRegisterEnt, true);
patientRegisterId = patientRegisterEnt.Id;
}
else
{
patientRegisterId = isCheckRequestNo.PatientRegisterId;
}
#endregion
#endregion
}
#endregion
#region 处理项目信息
foreach (DataRow row in oldRegisterAsbitemList.Rows)
{
string oldAsbitemId = row["asbitem_id"].ToString();
string oldPatientRegisterId = row["patient_register_id"].ToString();
if (registerCheckList.Count(c => c.registerCheckAsbitem.OldAsbitemId == oldAsbitemId
&& c.registerCheckAsbitem.OldPatientRegisterId == oldPatientRegisterId) == 0)
{
//未登记的项目新增进来
#region 登记项目 明细项目
string oldAsbitemId = row["asbitem_id"].ToString();
var oldAsbitemPrice = Convert.ToDecimal(row["price"].ToString());
var oldAsbitemStandardPrice = Convert.ToDecimal(row["standard_price"].ToString());
@ -1248,7 +1353,7 @@ namespace Shentun.Pacs.PacsBusiness
IsLock = 'N',
IsPacsCheck = 'N',
IsSignIn = 'Y',
PatientRegisterId = patientRegisterId,
PatientRegisterId = tempPatientRegisterId,
ScheduledAet = input.ScheduledAet,
WorklistFlag = '1',
WorklistPreCheckDate = DateTime.Now
@ -1266,7 +1371,7 @@ namespace Shentun.Pacs.PacsBusiness
IsCharge = Convert.ToChar(row["charge_flag"].ToString()),
OldAsbitemId = oldAsbitemId,
OldPatientRegisterId = row["patient_register_id"].ToString(),
PatientRegisterId = patientRegisterId,
PatientRegisterId = tempPatientRegisterId,
PayTypeFlag = Convert.ToChar(row["payment_mode"].ToString()),
RegisterCheckId = registerCheckEnt.Id
};
@ -1315,25 +1420,18 @@ namespace Shentun.Pacs.PacsBusiness
}
#endregion
}
}
else
{
foreach (var item in registerCheckList)
{
item.patientRegister.DeviceId = Guid.Parse(input.DeviceId);
}
await _patientRegisterRepository.UpdateManyAsync(registerCheckList.Select(s => s.patientRegister).ToList());
}
}
#endregion
entDto = await _patientRegisterAppService.GetPatientRegisterOrNo(tempPatientRegisterId);
}
else
{
throw new UserFriendlyException("检查条码不正确");
}
return entDto;
}

5
src/Shentun.Pacs.Application/PatientRegisters/PatientRegisterAppService.cs

@ -3418,7 +3418,10 @@ namespace Shentun.Pacs.PatientRegisters
#region 登记完返回的数据
private async Task<PatientRegisterOrNoDto> GetPatientRegisterOrNo(Guid PatientRegisterId)
[RemoteService(false)]
public async Task<PatientRegisterOrNoDto> GetPatientRegisterOrNo(Guid PatientRegisterId)
{
// var entold = await _repository.GetAsync(PatientRegisterId);
var ent = (await _repository.GetQueryableAsync()).Include(x => x.Patient).Where(m => m.Id == PatientRegisterId).FirstOrDefault();

78
src/Shentun.Pacs.Application/Worklists/WorklistAppService.cs

@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shentun.Pacs.Models;
using Shentun.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
@ -76,38 +77,61 @@ namespace Shentun.Pacs.Worklists
patientRegister,
registerCheck,
deviceType,
asbitemName = !string.IsNullOrWhiteSpace(asbitem.ShortName) ? asbitem.ShortName : asbitem.DisplayName
asbitemName = !string.IsNullOrWhiteSpace(asbitem.ShortName) ? asbitem.ShortName : asbitem.DisplayName,
endAsbitemName = !string.IsNullOrWhiteSpace(asbitem.EnglishShortName) ? asbitem.EnglishShortName : asbitem.DisplayName,
isFilmRelease = asbitem.IsFilmRelease
}).ToList();
var entListDto = queryList.GroupBy(g => g.registerCheck.CheckRequestNo).Select(s => new GetWorklistPatientListDto
{
DateOfBirth = s.FirstOrDefault().patientRegister.BirthDate != null ? s.FirstOrDefault().patientRegister.BirthDate.Value : DateTime.Now,
ExamDateAndTime = s.FirstOrDefault().registerCheck.WorklistPreCheckDate != null ? s.FirstOrDefault().registerCheck.WorklistPreCheckDate.Value : DateTime.Now,
Modality = s.FirstOrDefault().deviceType.DisplayName,
PatientID = s.FirstOrDefault().registerCheck.CheckRequestNo,
Forename = s.FirstOrDefault().patientRegister.PatientName,
ScheduledAET = s.FirstOrDefault().registerCheck.ScheduledAet,
Sex = s.FirstOrDefault().patientRegister.SexId.ToString(),
AccessionNumber = "",
Surname = "",
ExamDescription = string.Join(",", s.Select(ss => ss.asbitemName).Distinct()),
ExamRoom = "",
HospitalName = "",
PerformingPhysician = "",
ProcedureID = "",
ProcedureStepID = "",
ReferringPhysician = "",
StudyUID = "",
Title = ""
}).ToList();
entListDto.ForEach(f =>
var checkRequestNoGroup = queryList.GroupBy(g => g.registerCheck.CheckRequestNo);
var entListDto = new List<GetWorklistPatientListDto>();
foreach (var item in checkRequestNoGroup)
{
if (f.ExamDescription.Length > 64)
string examDescription = string.Join(",", item.Select(ss => ss.asbitemName).Distinct());
if (item.Where(m => m.isFilmRelease == 'N').Count() > 0)
{
examDescription += ",不出片";
}
if (examDescription.Length > 64)
{
f.ExamDescription = f.ExamDescription.Substring(0, 64);
examDescription = examDescription.Substring(0, 64);
}
});
string examEngDescription = string.Join(",", item.Select(ss => ss.isFilmRelease == 'N' ? ss.endAsbitemName + "(BU)" : ss.endAsbitemName).Distinct());
if (examEngDescription.Length > 64)
{
examEngDescription = examEngDescription.Substring(0, 64);
}
entListDto.Add(new GetWorklistPatientListDto
{
DateOfBirth = item.FirstOrDefault().patientRegister.BirthDate != null ? item.FirstOrDefault().patientRegister.BirthDate.Value : DateTime.Now,
ExamDateAndTime = item.FirstOrDefault().registerCheck.WorklistPreCheckDate != null ? item.FirstOrDefault().registerCheck.WorklistPreCheckDate.Value : DateTime.Now,
Modality = item.FirstOrDefault().deviceType.DisplayName,
PatientID = item.FirstOrDefault().registerCheck.CheckRequestNo,
Forename = item.FirstOrDefault().patientRegister.PatientName,
PYForename = LanguageConverter.GetPYAllName(item.FirstOrDefault().patientRegister.PatientName),
ScheduledAET = item.FirstOrDefault().registerCheck.ScheduledAet,
Sex = item.FirstOrDefault().patientRegister.SexId.ToString(),
AccessionNumber = "",
Surname = "",
ExamDescription = examDescription,
ExamEngDescription = examEngDescription,
ExamRoom = "",
HospitalName = "",
PerformingPhysician = "",
ProcedureID = "",
ProcedureStepID = "",
ReferringPhysician = "",
StudyUID = "",
Title = ""
});
}
return entListDto;
}

15
src/Shentun.Pacs.Domain/Asbitems/Asbitem.cs

@ -224,6 +224,21 @@ namespace Shentun.Pacs.Models
[Column("is_privacy")]
public char IsPrivacy { get; set; }
/// <summary>
/// 是否出片
/// </summary>
[Column("is_film_release")]
public char IsFilmRelease { get; set; }
/// <summary>
/// 英文简称
/// </summary>
[Column("english_short_name")]
[StringLength(50)]
public string EnglishShortName { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }

6
src/Shentun.Pacs.Domain/Asbitems/AsbitemManager.cs

@ -113,7 +113,9 @@ namespace Shentun.Pacs.Asbitems
IsFollowUpFunction = entity.IsFollowUpFunction,
CriticalValueFunction = entity.CriticalValueFunction,
FollowUpFunction = entity.FollowUpFunction,
IsPrivacy = entity.IsPrivacy
IsPrivacy = entity.IsPrivacy,
IsFilmRelease = entity.IsFilmRelease,
EnglishShortName = entity.EnglishShortName
};
}
/// <summary>
@ -167,6 +169,8 @@ namespace Shentun.Pacs.Asbitems
targetEntity.CriticalValueFunction = sourceEntity.CriticalValueFunction;
targetEntity.FollowUpFunction = sourceEntity.FollowUpFunction;
targetEntity.IsPrivacy = sourceEntity.IsPrivacy;
targetEntity.IsFilmRelease = sourceEntity.IsFilmRelease;
targetEntity.EnglishShortName = sourceEntity.EnglishShortName;
}

4
src/Shentun.Pacs.EntityFrameworkCore/DbMapping/Asbitems/AsbitemDbMapping.cs

@ -43,7 +43,9 @@ namespace Shentun.Pacs.DbMapping
entity.Property(t => t.IsFollowUpFunction).HasComment("是否启用随访函数").IsRequired().HasDefaultValueSql("'N'");
entity.Property(t => t.FollowUpFunction).HasComment("随访函数");
entity.Property(t => t.IsPrivacy).HasComment("是否隐私项目").IsRequired().HasDefaultValueSql("'N'");
entity.Property(t => t.IsFilmRelease).HasComment("是否出片").IsRequired().HasDefaultValueSql("'N'");
entity.Property(t => t.EnglishShortName).HasComment("英文简称");
entity.Property(e => e.Id)
.IsFixedLength()
.HasComment("编号").HasColumnName("id");

16279
src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220014728_update_asbitem_add_is_film_release.Designer.cs
File diff suppressed because it is too large
View File

27
src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220014728_update_asbitem_add_is_film_release.cs

@ -0,0 +1,27 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Pacs.Migrations
{
public partial class update_asbitem_add_is_film_release : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<char>(
name: "is_film_release",
table: "asbitem",
type: "character(1)",
nullable: false,
defaultValueSql: "'N'",
comment: "是否出片");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "is_film_release",
table: "asbitem");
}
}
}

16285
src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220085626_update_asbitem_add_english_short_name.Designer.cs
File diff suppressed because it is too large
View File

27
src/Shentun.Pacs.EntityFrameworkCore/Migrations/20241220085626_update_asbitem_add_english_short_name.cs

@ -0,0 +1,27 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Pacs.Migrations
{
public partial class update_asbitem_add_english_short_name : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "english_short_name",
table: "asbitem",
type: "character varying(50)",
maxLength: 50,
nullable: true,
comment: "英文简称");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "english_short_name",
table: "asbitem");
}
}
}

13
src/Shentun.Pacs.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

@ -498,6 +498,12 @@ namespace Shentun.Pacs.Migrations
.HasColumnType("integer")
.HasColumnName("display_order");
b.Property<string>("EnglishShortName")
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("english_short_name")
.HasComment("英文简称");
b.Property<string>("FollowUpFunction")
.HasColumnType("text")
.HasColumnName("follow_up_function")
@ -567,6 +573,13 @@ namespace Shentun.Pacs.Migrations
.HasDefaultValueSql("'N'")
.HasComment("启用诊断函数");
b.Property<char>("IsFilmRelease")
.ValueGeneratedOnAdd()
.HasColumnType("character(1)")
.HasColumnName("is_film_release")
.HasDefaultValueSql("'N'")
.HasComment("是否出片");
b.Property<char>("IsFollowUpFunction")
.ValueGeneratedOnAdd()
.HasMaxLength(1)

23
src/Shentun.Utilities/LanguageConverter.cs

@ -1,6 +1,8 @@
using Microsoft.International.Converters.PinYinConverter;
using NPinyin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Shentun.Utilities
@ -11,12 +13,12 @@ namespace Shentun.Utilities
//{
// string rtnValue = "";
// if (string.IsNullOrWhiteSpace(data))
// {
// return "";
// }
// foreach (char obj in data)
// {
// try
@ -41,15 +43,15 @@ namespace Shentun.Utilities
//public static string GetPYCode(string data, int len = 50)
//{
// string rtnValue = "";
// if (string.IsNullOrWhiteSpace(data))
// {
// return "";
// }
// foreach (char obj in data)
// {
// try
@ -141,6 +143,17 @@ namespace Shentun.Utilities
}
/// <summary>
/// 获取拼音全称
/// </summary>
/// <param name="strChinese"></param>
/// <returns></returns>
public static string GetPYAllName(string strChinese)
{
string pinyin = string.Join(" ", strChinese.ToArray().Select(c => Pinyin.GetPinyin(c)));
return pinyin.ToUpper();
}
#endregion
}

Loading…
Cancel
Save