Browse Source

指引单、人员导入

master
wxd 1 year ago
parent
commit
38ef2d64c2
  1. 2
      src/Shentun.Peis.Application.Contracts/PatientRegisters/CreatePatientRegisterExcelRequestDto.cs
  2. 27
      src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
  3. 5
      src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs
  4. 5
      src/Shentun.Peis.Domain/PrintReports/PatientRegisterGuideReportDto.cs
  5. 2
      src/Shentun.Peis.HttpApi.Host/appsettings.json

2
src/Shentun.Peis.Application.Contracts/PatientRegisters/CreatePatientRegisterExcelRequestDto.cs

@ -199,7 +199,7 @@ namespace Shentun.Peis.PatientRegisters
/// <summary>
/// 毒害因素名称 集合
/// </summary>
public List<string> Poisons { get; set;}
public List<string> Poisons { get; set;}=new List<string>();
/// <summary>
/// 是否使用默认体检类别 职业病导入用 Y=使用系统参数配置的体检类别ID N=使用请求参数中的体检类别

27
src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs

@ -2465,7 +2465,7 @@ namespace Shentun.Peis.PatientRegisters
var ocCheckTypeEnt = await _ocCheckTypeRepository.FirstOrDefaultAsync(f => f.DisplayName == input.OcCheckTypeName);
if (ocCheckTypeEnt == null)
{
throw new UserFriendlyException("职业病检查类别名称不正确");
throw new UserFriendlyException($"职业病检查类别{input.OcCheckTypeName}名称不正确");
}
ocCheckTypeId = ocCheckTypeEnt.Id;
@ -2476,10 +2476,13 @@ namespace Shentun.Peis.PatientRegisters
foreach (var poisonItem in input.Poisons)
{
if (string.IsNullOrWhiteSpace(poisonItem))
throw new UserFriendlyException($"职业病毒害因素{poisonItem}不能为空");
var poisonEnt = await _poisonRepository.FirstOrDefaultAsync(f => f.DisplayName == poisonItem);
if (poisonEnt == null)
{
throw new UserFriendlyException("职业病毒害因素名称不正确");
throw new UserFriendlyException($"职业病毒害因素{poisonItem}名称不正确");
}
if (!poisonIds.Contains(poisonEnt.Id))
{
@ -2598,12 +2601,17 @@ namespace Shentun.Peis.PatientRegisters
PatientRegister patientRegister = null;
CreateRegisterCheckAsbitemEntity createRegisterCheckAsbitemEntity = null;
patientRegister = await _manager.CreateAsync(createPatientRegisterArg);
if (customerOrgGroupId != null)
await _patientRegisterManager.SetCustomerOrgGroupId(patientRegister, (Guid)customerOrgGroupId);
await _repository.InsertAsync(patientRegister, true);
List<RegisterCheckAsbitem> registerAsbitems = new List<RegisterCheckAsbitem>();
//设置分组有关组合项目
if (customerOrgGroupId != null)
{
var registerAsbitems = (await _customerOrgGroupDetailRepository.GetQueryableAsync()).Include(x => x.Asbitem)
registerAsbitems = (await _customerOrgGroupDetailRepository.GetQueryableAsync()).Include(x => x.Asbitem)
.Where(m => m.CustomerOrgGroupId == customerOrgGroupId)
.Select(s => new RegisterCheckAsbitem
{
@ -2616,6 +2624,7 @@ namespace Shentun.Peis.PatientRegisters
StandardPrice = s.Asbitem.Price
}).ToList();
}
#region 职业病业务 检索职业病对应的项目
@ -2654,13 +2663,16 @@ namespace Shentun.Peis.PatientRegisters
}
#endregion
if (registerAsbitems.Any())
{
createRegisterCheckAsbitemEntity = await _registerAsbitemManager.UpdateManyAsync(patientRegister, registerAsbitems);
if (createRegisterCheckAsbitemEntity != null)
{
await UpdateRegisterChecks(createRegisterCheckAsbitemEntity);
}
}
#region 增加职业病信息
@ -2673,7 +2685,11 @@ namespace Shentun.Peis.PatientRegisters
JobType = input.JobType,
OcCheckTypeId = ocCheckTypeId,
RiskFactors = string.Join(",", input.Poisons),
PatientRegisterId = patientRegister.Id
PatientRegisterId = patientRegister.Id,
DrinkFlag = '0',
SmokeFlag = '0',
FamilyGeneticHistory = "无",
Other = "无"
};
patientOccupationalDiseaseEnt = _patientOccupationalDiseaseManager.CreateAsync(patientOccupationalDiseaseEnt);
@ -2698,7 +2714,6 @@ namespace Shentun.Peis.PatientRegisters
await _patientPoisonRepository.InsertManyAsync(patientPoisons);
}
#endregion
}
await CurrentUnitOfWork.SaveChangesAsync();

5
src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs

@ -198,6 +198,8 @@ namespace Shentun.Peis.PrintReports
{
//return await _patientRegisterGuideReportRepository.GetPatientRegisterGuideReportAsync(PatientRegisterId);
//_cacheService.GetMedicalTypeNameAsync
var apiUrl = _configuration.GetValue<string>("HostUrl:ApiUrl") + "/";
var patientRegister = await _patientRegisterRepository.GetAsync(o => o.Id == PatientRegisterId);
Guid medicalCenterId = patientRegister.MedicalCenterId;
@ -257,7 +259,8 @@ namespace Shentun.Peis.PrintReports
OrganizationUnitId = a.MedicalCenterId,
OrganizationUnitName = ag.DisplayName,
Detail = PatientRegisterGuideAsbitem(a.Id, a.PatientRegisterNo, medicalCenterId, a.SexId),
HisPatientId = a.HisPatientId
HisPatientId = a.HisPatientId,
MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(a.MedicalTypeId).Result,
};
return query.FirstOrDefault();

5
src/Shentun.Peis.Domain/PrintReports/PatientRegisterGuideReportDto.cs

@ -117,6 +117,11 @@ namespace Shentun.Peis.PrintReports
/// </summary>
public string OrganizationUnitName { get; set; }
/// <summary>
/// 体检类别
/// </summary>
public string MedicalTypeName { get; set; }
/// <summary>
/// HisID

2
src/Shentun.Peis.HttpApi.Host/appsettings.json

@ -13,7 +13,7 @@
"ConnectionStrings": {
//"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123;"
//"Default": "Host=localhost;Port=5432;Database=ShentunPeis1218;User ID=postgres;Password=wxd123;"
"Default": "Host=10.1.12.140;Port=5432;Database=ShentunPeis0508;User ID=postgres;Password=st123;"
"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis240701;User ID=postgres;Password=shentun123;"
},
"AuthServer": {
"Authority": "http://localhost:9530",

Loading…
Cancel
Save