Browse Source

人员登记

bjmzak
DESKTOP-G961P6V\Zhh 2 years ago
parent
commit
42ce2034d0
  1. 21
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PeisGemPlugInsModule.cs
  2. 84
      src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs
  3. 60
      src/Shentun.Peis.Domain/Patients/PatientManager.cs
  4. 100
      test/Shentun.Peis.Application.Tests/PatientRegisterAppServiceTest.cs

21
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PeisGemPlugInsModule.cs

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Modularity;
namespace Shentun.Peis.PlugIns.Gem
{
internal class PeisGemPlugInsModule : AbpModule
{
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
//var myService = context.ServiceProvider
// .GetRequiredService<MyService>();
//myService.Initialize();
}
}
}

84
src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs

@ -14,6 +14,7 @@ using Shentun.Peis.RegisterCheckPictures;
using Shentun.Peis.RegisterChecks; using Shentun.Peis.RegisterChecks;
using Shentun.Peis.RegisterCheckSuggestions; using Shentun.Peis.RegisterCheckSuggestions;
using Shentun.Peis.RegisterCheckSummarys; using Shentun.Peis.RegisterCheckSummarys;
using Shentun.Peis.SysParmValues;
using Shentun.Utilities; using Shentun.Utilities;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -65,7 +66,7 @@ namespace Shentun.Peis.PatientRegisters
private readonly RegisterCheckManager _registerCheckManager; private readonly RegisterCheckManager _registerCheckManager;
private readonly IRepository<SysParmValue> _sysParmValueRepository; private readonly IRepository<SysParmValue> _sysParmValueRepository;
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly SysParmValueManager _sysParmValueManager;
public PatientRegisterManager( public PatientRegisterManager(
IRepository<PatientRegister, Guid> repository, IRepository<PatientRegister, Guid> repository,
IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository, IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository,
@ -95,7 +96,8 @@ namespace Shentun.Peis.PatientRegisters
RegisterCheckItemManager registerCheckItemManager, RegisterCheckItemManager registerCheckItemManager,
RegisterCheckCriticalValueManager registerCheckCriticalValueManager, RegisterCheckCriticalValueManager registerCheckCriticalValueManager,
RegisterCheckManager registerCheckManager, RegisterCheckManager registerCheckManager,
IGuidGenerator guidGenerator)
IGuidGenerator guidGenerator,
SysParmValueManager sysParmValueManager)
{ {
_repository = repository; _repository = repository;
this._customerOrgRepository = customerOrgRepository; this._customerOrgRepository = customerOrgRepository;
@ -126,6 +128,7 @@ namespace Shentun.Peis.PatientRegisters
this._registerCheckManager = registerCheckManager; this._registerCheckManager = registerCheckManager;
this._sysParmValueRepository = sysParmValueRepository; this._sysParmValueRepository = sysParmValueRepository;
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_sysParmValueManager = sysParmValueManager;
} }
/// <summary> /// <summary>
/// 创建 /// 创建
@ -756,90 +759,25 @@ namespace Shentun.Peis.PatientRegisters
/// 生成条码号(规则,先找体检中心的配置,如未找到,就直接使用全局的) /// 生成条码号(规则,先找体检中心的配置,如未找到,就直接使用全局的)
/// 模式(0 日期+尾号 1.顺序递增) /// 模式(0 日期+尾号 1.顺序递增)
/// </summary> /// </summary>
/// <param name="OrganizationUnitId">体检中心ID</param>
/// <param name="medicalCenterId">体检中心ID</param>
/// <returns></returns> /// <returns></returns>
public async Task<string> CreatePatientRegisterNo(Guid OrganizationUnitId)
public async Task<string> CreatePatientRegisterNo(Guid medicalCenterId)
{ {
string PatientRegisterNo = ""; //条码号 string PatientRegisterNo = ""; //条码号
List<SysParmValue> spvlist = await _sysParmValueRepository.GetListAsync(); List<SysParmValue> spvlist = await _sysParmValueRepository.GetListAsync();
var spv_tjzx = spvlist.Where(m => m.MedicalCenterId == OrganizationUnitId); //体检中心配置
var spv_tjzx = spvlist.Where(m => m.MedicalCenterId == medicalCenterId); //体检中心配置
var spv_global = spvlist.Where(m => m.MedicalCenterId == Guid.Empty); //全局配置 var spv_global = spvlist.Where(m => m.MedicalCenterId == Guid.Empty); //全局配置
var patient_register_no_rule_coding = ""; // 模式(0 日期+尾号 1.顺序递增) var patient_register_no_rule_coding = ""; // 模式(0 日期+尾号 1.顺序递增)
var patient_register_no_rule_tail_len = ""; //尾号长度 var patient_register_no_rule_tail_len = ""; //尾号长度
var patient_register_no_rule_prefix = ""; //前缀 var patient_register_no_rule_prefix = ""; //前缀
patient_register_no_rule_coding = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_register_no_rule_coding");
patient_register_no_rule_tail_len = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_register_no_rule_tail_len");
patient_register_no_rule_prefix = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_register_no_rule_prefix");
if (spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_coding").Count() > 0)
{
//获取体检中心配置
patient_register_no_rule_coding = spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_coding").FirstOrDefault().ParmValue;
}
if (string.IsNullOrWhiteSpace(patient_register_no_rule_coding))
{
var patient_register_no_rule_coding_ent = spv_global.Where(m => m.SysParmId == "patient_register_no_rule_coding").FirstOrDefault();
if (patient_register_no_rule_coding_ent == null)
{
throw new UserFriendlyException("全局系统参数patient_register_no_rule_coding未配置");
}
else
{
//获取全局配置
patient_register_no_rule_coding = patient_register_no_rule_coding_ent.ParmValue;
}
}
if (string.IsNullOrWhiteSpace(patient_register_no_rule_coding))
{
throw new UserFriendlyException("人员条码号编码方式不能为空");
}
patient_register_no_rule_coding = patient_register_no_rule_coding.Trim();
if (spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_prefix").Count() > 0)
{
//获取体检中心配置
patient_register_no_rule_prefix = spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_prefix").FirstOrDefault().ParmValue;
}
if (string.IsNullOrWhiteSpace(patient_register_no_rule_prefix))
{
var patient_register_no_rule_prefix_ent = spv_global.Where(m => m.SysParmId == "patient_register_no_rule_prefix").FirstOrDefault();
if (patient_register_no_rule_prefix_ent == null)
{
throw new UserFriendlyException("全局系统参数patient_register_no_rule_prefix未配置");
}
else
{
//获取全局配置
patient_register_no_rule_prefix = patient_register_no_rule_prefix_ent.ParmValue;
}
}
if (!string.IsNullOrEmpty(patient_register_no_rule_prefix))
{
patient_register_no_rule_prefix = patient_register_no_rule_prefix.Trim();
}
if (spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_tail_len").Count() > 0)
{
//获取体检中心配置
patient_register_no_rule_tail_len = spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_tail_len").FirstOrDefault().ParmValue;
}
if (string.IsNullOrWhiteSpace(patient_register_no_rule_tail_len))
{
var patient_register_no_rule_tail_len_ent = spv_global.Where(m => m.SysParmId == "patient_register_no_rule_tail_len").FirstOrDefault();
if (patient_register_no_rule_tail_len_ent == null)
{
throw new UserFriendlyException("全局系统参数patient_register_no_rule_tail_len未配置");
}
else
{
//获取全局配置
patient_register_no_rule_tail_len = patient_register_no_rule_tail_len_ent.ParmValue;
}
}
if (string.IsNullOrWhiteSpace(patient_register_no_rule_tail_len)) if (string.IsNullOrWhiteSpace(patient_register_no_rule_tail_len))
{ {

60
src/Shentun.Peis.Domain/Patients/PatientManager.cs

@ -2,6 +2,7 @@
using Shentun.Peis.Enums; using Shentun.Peis.Enums;
using Shentun.Peis.HelperDto; using Shentun.Peis.HelperDto;
using Shentun.Peis.Models; using Shentun.Peis.Models;
using Shentun.Peis.SysParmValues;
using Shentun.Utilities; using Shentun.Utilities;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -26,13 +27,15 @@ namespace Shentun.Peis.Patients
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository; private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<PrimarykeyBuilder> _primarykeyBuilderRepository; private readonly IRepository<PrimarykeyBuilder> _primarykeyBuilderRepository;
private readonly IRepository<Nation> _nationRepository; private readonly IRepository<Nation> _nationRepository;
private readonly SysParmValueManager _sysParmValueManager;
public PatientManager( public PatientManager(
IRepository<Patient, Guid> repository, IRepository<Patient, Guid> repository,
IRepository<SysParmValue> sysParmValueRepository, IRepository<SysParmValue> sysParmValueRepository,
IRepository<CustomerOrg, Guid> customerOrgRepository, IRepository<CustomerOrg, Guid> customerOrgRepository,
IRepository<PatientRegister, Guid> patientRegisterRepository, IRepository<PatientRegister, Guid> patientRegisterRepository,
IRepository<PrimarykeyBuilder> primarykeyBuilderRepository, IRepository<PrimarykeyBuilder> primarykeyBuilderRepository,
IRepository<Nation> nationRepository)
IRepository<Nation> nationRepository,
SysParmValueManager sysParmValueManager)
{ {
_repository = repository; _repository = repository;
this._sysParmValueRepository = sysParmValueRepository; this._sysParmValueRepository = sysParmValueRepository;
@ -40,6 +43,7 @@ namespace Shentun.Peis.Patients
this._patientRegisterRepository = patientRegisterRepository; this._patientRegisterRepository = patientRegisterRepository;
this._primarykeyBuilderRepository = primarykeyBuilderRepository; this._primarykeyBuilderRepository = primarykeyBuilderRepository;
_nationRepository = nationRepository; _nationRepository = nationRepository;
_sysParmValueManager = sysParmValueManager;
} }
/// <summary> /// <summary>
/// 创建 /// 创建
@ -280,58 +284,14 @@ namespace Shentun.Peis.Patients
/// 生成档案号(规则,先找体检中心的配置,如未找到,就直接使用全局的) /// 生成档案号(规则,先找体检中心的配置,如未找到,就直接使用全局的)
/// 模式(默认为1 顺序递增) /// 模式(默认为1 顺序递增)
/// </summary> /// </summary>
/// <param name="OrganizationUnitId">体检中心ID</param>
/// <param name="medicalCenterId">体检中心ID</param>
/// <returns></returns> /// <returns></returns>
private async Task<string> CreatePatientNo(Guid OrganizationUnitId)
private async Task<string> CreatePatientNo(Guid medicalCenterId)
{ {
List<SysParmValue> spvlist = await _sysParmValueRepository.GetListAsync();
var spv_tjzx = spvlist.Where(m => m.MedicalCenterId == OrganizationUnitId); //体检中心配置
var spv_global = spvlist.Where(m => m.MedicalCenterId == Guid.Empty); //全局配置
var patient_id_rule_prefix = ""; //前缀 var patient_id_rule_prefix = ""; //前缀
var patient_id_rule_tail_len = "4"; //尾号长度
if (spv_tjzx.Where(m => m.SysParmId == "patient_id_rule_prefix").Count() > 0)
{
//获取体检中心配置
patient_id_rule_prefix = spv_tjzx.Where(m => m.SysParmId == "patient_id_rule_prefix").FirstOrDefault().ParmValue;
}
if (string.IsNullOrWhiteSpace(patient_id_rule_prefix))
{
var patient_id_rule_prefix_ent = spv_global.Where(m => m.SysParmId == "patient_id_rule_prefix").FirstOrDefault();
if (patient_id_rule_prefix_ent == null)
{
throw new UserFriendlyException("全局系统参数patient_id_rule_prefix未配置");
}
else
{
//获取全局配置
patient_id_rule_prefix = patient_id_rule_prefix_ent.ParmValue;
}
}
if (spv_tjzx.Where(m => m.SysParmId == "patient_id_rule_tail_len").Count() > 0)
{
//获取体检中心配置
patient_id_rule_tail_len = spv_tjzx.Where(m => m.SysParmId == "patient_id_rule_tail_len").FirstOrDefault().ParmValue;
}
if (string.IsNullOrWhiteSpace(patient_id_rule_tail_len))
{
var patient_id_rule_tail_len_ent = spv_global.Where(m => m.SysParmId == "patient_id_rule_tail_len").FirstOrDefault();
if (patient_id_rule_tail_len_ent == null)
{
throw new UserFriendlyException("全局系统参数patient_id_rule_tail_len未配置");
}
else
{
//获取全局配置
patient_id_rule_tail_len = patient_id_rule_tail_len_ent.ParmValue;
}
}
var patient_id_rule_tail_len = ""; //尾号长度
patient_id_rule_tail_len = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_id_rule_tail_len");
patient_id_rule_prefix = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_id_rule_prefix");
if (string.IsNullOrWhiteSpace(patient_id_rule_tail_len)) if (string.IsNullOrWhiteSpace(patient_id_rule_tail_len))
{ {

100
test/Shentun.Peis.Application.Tests/PatientRegisterAppServiceTest.cs

@ -42,7 +42,7 @@ namespace Shentun.Peis
var entity = new CreatePatientRegisterDto() var entity = new CreatePatientRegisterDto()
{ {
MedicalCenterId = new Guid("0de5b78a-731d-4f80-b262-655ebbf04581"), MedicalCenterId = new Guid("0de5b78a-731d-4f80-b262-655ebbf04581"),
PatientId = new Guid("3a119be6-d9aa-2e13-a764-0b363c60169d"),
//PatientId = new Guid("3a119be6-d9aa-2e13-a764-0b363c60169d"),
CustomerOrgId = new Guid("00000000-0000-0000-0000-000000000001"), CustomerOrgId = new Guid("00000000-0000-0000-0000-000000000001"),
CustomerOrgRegisterId = new Guid("00000000-0000-0000-0000-000000000001"), CustomerOrgRegisterId = new Guid("00000000-0000-0000-0000-000000000001"),
PatientName = "test", PatientName = "test",
@ -54,14 +54,14 @@ namespace Shentun.Peis
JobCardNo = "jobCardNo", JobCardNo = "jobCardNo",
MedicalCardNo = "MedicalCardNo", MedicalCardNo = "MedicalCardNo",
MaritalStatusId = MaritalStatusFlag.Married, MaritalStatusId = MaritalStatusFlag.Married,
MedicalTypeId = new Guid("3a0c5093-6dbf-d29b-cfbc-b1f742ee59d3"),
PersonnelTypeId = new Guid("3a0c5099-a5f3-e41a-dfab-caeae79e0dfe"),
//MedicalTypeId = new Guid("3a0c5093-6dbf-d29b-cfbc-b1f742ee59d3"),
//PersonnelTypeId = new Guid("3a0c5099-a5f3-e41a-dfab-caeae79e0dfe"),
NationId = "001", NationId = "001",
JobPost = "JobPost", JobPost = "JobPost",
JobTitle = "JobTitle", JobTitle = "JobTitle",
Salesman = "Salesman", Salesman = "Salesman",
SexHormoneTermId = new Guid("3a0d38cf-8b3c-95db-1a69-5119f28dc468"),
MedicalConclusionId = new Guid("3a0c50fe-cacf-d3c8-8c3c-9d3495d8bd76"),
//SexHormoneTermId = new Guid("3a0d38cf-8b3c-95db-1a69-5119f28dc468"),
//MedicalConclusionId = new Guid("3a0c50fe-cacf-d3c8-8c3c-9d3495d8bd76"),
IsUpload = 'N', IsUpload = 'N',
CompleteFlag = PatientRegisterCompleteFlag.PreRegistration, CompleteFlag = PatientRegisterCompleteFlag.PreRegistration,
IsMedicalStart = 'N', IsMedicalStart = 'N',
@ -78,65 +78,65 @@ namespace Shentun.Peis
Email = "83986010@qq.com" Email = "83986010@qq.com"
}; };
entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
//entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
//{
AsbitemId = new Guid("3a0c657d-4e73-9bab-68da-56ab2f088bb1"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
// AsbitemId = new Guid("3a0c657d-4e73-9bab-68da-56ab2f088bb1"),
// StandardPrice = 10,
// ChargePrice = 10,
// Amount = 1,
// PayTypeFlag = PayTypeFlag.PersonPay,
// IsCharge = 'N'
//});
entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
//entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
//{
AsbitemId = new Guid("3a0c5616-dab2-c209-f099-a6231ef57ac3"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
// AsbitemId = new Guid("3a0c5616-dab2-c209-f099-a6231ef57ac3"),
// StandardPrice = 10,
// ChargePrice = 10,
// Amount = 1,
// PayTypeFlag = PayTypeFlag.PersonPay,
// IsCharge = 'N'
//});
entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
//entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
//{
AsbitemId = new Guid("3a0c55f0-92b7-caa6-3fc3-f9f04ca45ad3"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
// AsbitemId = new Guid("3a0c55f0-92b7-caa6-3fc3-f9f04ca45ad3"),
// StandardPrice = 10,
// ChargePrice = 10,
// Amount = 1,
// PayTypeFlag = PayTypeFlag.PersonPay,
// IsCharge = 'N'
//});
entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
//entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
//{
AsbitemId = new Guid("3a0c55fa-63b9-1510-3e81-20750c496d44"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
// AsbitemId = new Guid("3a0c55fa-63b9-1510-3e81-20750c496d44"),
// StandardPrice = 10,
// ChargePrice = 10,
// Amount = 1,
// PayTypeFlag = PayTypeFlag.PersonPay,
// IsCharge = 'N'
//});
entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
//entity.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
//{
AsbitemId = new Guid("3a0c55fe-559e-d6e7-7f74-221edeeaf817"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
// AsbitemId = new Guid("3a0c55fe-559e-d6e7-7f74-221edeeaf817"),
// StandardPrice = 10,
// ChargePrice = 10,
// Amount = 1,
// PayTypeFlag = PayTypeFlag.PersonPay,
// IsCharge = 'N'
//});
var newEntity = await _appService.CreatePatientRegisterAsync(entity); var newEntity = await _appService.CreatePatientRegisterAsync(entity);
await unitOfWork.CompleteAsync(); await unitOfWork.CompleteAsync();

Loading…
Cancel
Save