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.RegisterCheckSuggestions;
using Shentun.Peis.RegisterCheckSummarys;
using Shentun.Peis.SysParmValues;
using Shentun.Utilities;
using System;
using System.Collections.Generic;
@ -65,7 +66,7 @@ namespace Shentun.Peis.PatientRegisters
private readonly RegisterCheckManager _registerCheckManager;
private readonly IRepository<SysParmValue> _sysParmValueRepository;
private readonly IGuidGenerator _guidGenerator;
private readonly SysParmValueManager _sysParmValueManager;
public PatientRegisterManager(
IRepository<PatientRegister, Guid> repository,
IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository,
@ -95,7 +96,8 @@ namespace Shentun.Peis.PatientRegisters
RegisterCheckItemManager registerCheckItemManager,
RegisterCheckCriticalValueManager registerCheckCriticalValueManager,
RegisterCheckManager registerCheckManager,
IGuidGenerator guidGenerator)
IGuidGenerator guidGenerator,
SysParmValueManager sysParmValueManager)
{
_repository = repository;
this._customerOrgRepository = customerOrgRepository;
@ -126,6 +128,7 @@ namespace Shentun.Peis.PatientRegisters
this._registerCheckManager = registerCheckManager;
this._sysParmValueRepository = sysParmValueRepository;
_guidGenerator = guidGenerator;
_sysParmValueManager = sysParmValueManager;
}
/// <summary>
/// 创建
@ -756,90 +759,25 @@ namespace Shentun.Peis.PatientRegisters
/// 生成条码号(规则,先找体检中心的配置,如未找到,就直接使用全局的)
/// 模式(0 日期+尾号 1.顺序递增)
/// </summary>
/// <param name="OrganizationUnitId">体检中心ID</param>
/// <param name="medicalCenterId">体检中心ID</param>
/// <returns></returns>
public async Task<string> CreatePatientRegisterNo(Guid OrganizationUnitId)
public async Task<string> CreatePatientRegisterNo(Guid medicalCenterId)
{
string PatientRegisterNo = ""; //条码号
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 patient_register_no_rule_coding = ""; // 模式(0 日期+尾号 1.顺序递增)
var patient_register_no_rule_tail_len = ""; //尾号长度
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))
{

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

@ -2,6 +2,7 @@
using Shentun.Peis.Enums;
using Shentun.Peis.HelperDto;
using Shentun.Peis.Models;
using Shentun.Peis.SysParmValues;
using Shentun.Utilities;
using System;
using System.Collections.Generic;
@ -26,13 +27,15 @@ namespace Shentun.Peis.Patients
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<PrimarykeyBuilder> _primarykeyBuilderRepository;
private readonly IRepository<Nation> _nationRepository;
private readonly SysParmValueManager _sysParmValueManager;
public PatientManager(
IRepository<Patient, Guid> repository,
IRepository<SysParmValue> sysParmValueRepository,
IRepository<CustomerOrg, Guid> customerOrgRepository,
IRepository<PatientRegister, Guid> patientRegisterRepository,
IRepository<PrimarykeyBuilder> primarykeyBuilderRepository,
IRepository<Nation> nationRepository)
IRepository<Nation> nationRepository,
SysParmValueManager sysParmValueManager)
{
_repository = repository;
this._sysParmValueRepository = sysParmValueRepository;
@ -40,6 +43,7 @@ namespace Shentun.Peis.Patients
this._patientRegisterRepository = patientRegisterRepository;
this._primarykeyBuilderRepository = primarykeyBuilderRepository;
_nationRepository = nationRepository;
_sysParmValueManager = sysParmValueManager;
}
/// <summary>
/// 创建
@ -280,58 +284,14 @@ namespace Shentun.Peis.Patients
/// 生成档案号(规则,先找体检中心的配置,如未找到,就直接使用全局的)
/// 模式(默认为1 顺序递增)
/// </summary>
/// <param name="OrganizationUnitId">体检中心ID</param>
/// <param name="medicalCenterId">体检中心ID</param>
/// <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_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))
{

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

@ -42,7 +42,7 @@ namespace Shentun.Peis
var entity = new CreatePatientRegisterDto()
{
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"),
CustomerOrgRegisterId = new Guid("00000000-0000-0000-0000-000000000001"),
PatientName = "test",
@ -54,14 +54,14 @@ namespace Shentun.Peis
JobCardNo = "jobCardNo",
MedicalCardNo = "MedicalCardNo",
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",
JobPost = "JobPost",
JobTitle = "JobTitle",
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',
CompleteFlag = PatientRegisterCompleteFlag.PreRegistration,
IsMedicalStart = 'N',
@ -78,65 +78,65 @@ namespace Shentun.Peis
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);
await unitOfWork.CompleteAsync();

Loading…
Cancel
Save