Browse Source

提交

bjmzak
wxd 2 years ago
parent
commit
6a9e7f3256
  1. 4
      src/Shentun.Peis.Application.Contracts/OccupationalDiseases/OccupationalDiseaseWithDetailInputDto.cs
  2. 5
      src/Shentun.Peis.Application.Contracts/OccupationalDiseases/PatientPoisonDto.cs
  3. 36
      src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs

4
src/Shentun.Peis.Application.Contracts/OccupationalDiseases/OccupationalDiseaseWithDetailInputDto.cs

@ -228,9 +228,9 @@ namespace Shentun.Peis.OccupationalDiseases
public Guid PoisonId { get; set; }
/// <summary>
/// 毒害因素ID
/// 职业体检结论ID
/// </summary>
public Guid OccupationalAbnormalId { get; set; }
public Guid? OccupationalAbnormalId { get; set; }
}
public class PatientOccupationalHistoryInputDto

5
src/Shentun.Peis.Application.Contracts/OccupationalDiseases/PatientPoisonDto.cs

@ -9,6 +9,11 @@ namespace Shentun.Peis.OccupationalDiseases
{
public Guid PoisonId { get; set; }
/// <summary>
/// 毒害因素
/// </summary>
public string PoisonName { get; set; }
/// <summary>
/// 职业体检结论ID
/// </summary>

36
src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs

@ -37,6 +37,7 @@ namespace Shentun.Peis.OccupationalDiseases
private readonly PatientOccupationalDiseaseManager _patientOccupationalDiseaseManager;
private readonly CacheService _cacheService;
private readonly IRepository<Symptom, Guid> _symptomRepository;
private readonly IRepository<Poison, Guid> _poisonRepository;
private readonly IRepository<Patient, Guid> _patientRepository;
private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository;
@ -74,7 +75,9 @@ namespace Shentun.Peis.OccupationalDiseases
IRepository<Asbitem, Guid> asbitemRepository,
IRepository<PatientOccupationalMedicalHistory, Guid> patientOccupationalMedicalHistoryRepository,
IRepository<PatientPastMedicalHistory, Guid> patientPastMedicalHistoryRepository,
IRepository<RegisterCheckPicture, Guid> registerCheckPictureRepository)
IRepository<RegisterCheckPicture, Guid> registerCheckPictureRepository,
IRepository<Symptom, Guid> symptomRepository,
IRepository<Poison, Guid> poisonRepository)
{
_patientOccupationalDiseaseRepository = patientOccupationalDiseaseRepository;
_patientOccupationalHistoryRepository = patientOccupationalHistoryRepository;
@ -96,6 +99,8 @@ namespace Shentun.Peis.OccupationalDiseases
_patientOccupationalMedicalHistoryRepository = patientOccupationalMedicalHistoryRepository;
_patientPastMedicalHistoryRepository = patientPastMedicalHistoryRepository;
_registerCheckPictureRepository = registerCheckPictureRepository;
_symptomRepository = symptomRepository;
_poisonRepository = poisonRepository;
}
/// <summary>
@ -316,18 +321,27 @@ namespace Shentun.Peis.OccupationalDiseases
#region 毒害因素
List<PatientPoisonDto> patientPoisonDtos = new List<PatientPoisonDto>();
var patientPoisonList = await _patientPoisonRepository.GetListAsync(d => d.PatientRegisterId == input.PatientRegisterId);
//var patientPoisonList = await _patientPoisonRepository.GetListAsync(d => d.PatientRegisterId == input.PatientRegisterId);
var patientPoisonList = from patientPoison in await _patientPoisonRepository.GetQueryableAsync()
join poison in await _poisonRepository.GetQueryableAsync() on patientPoison.PoisonId equals poison.Id into poisonTemp
from poisonHaveEmpty in poisonTemp.DefaultIfEmpty()
where patientPoison.PatientRegisterId == input.PatientRegisterId
select new
{
patientPoison,
PoisonName = poisonHaveEmpty != null ? poisonHaveEmpty.DisplayName : ""
};
patientPoisonDtos = patientPoisonList.Select(s => new PatientPoisonDto
{
PoisonId = s.PoisonId,
OccupationalAbnormalId = s.OccupationalAbnormalId,
CreationTime = s.CreationTime,
CreatorId = s.CreatorId,
LastModificationTime = s.LastModificationTime,
LastModifierId = s.LastModifierId,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
PoisonId = s.patientPoison.PoisonId,
PoisonName = s.PoisonName,
OccupationalAbnormalId = s.patientPoison.OccupationalAbnormalId,
CreationTime = s.patientPoison.CreationTime,
CreatorId = s.patientPoison.CreatorId,
LastModificationTime = s.patientPoison.LastModificationTime,
LastModifierId = s.patientPoison.LastModifierId,
CreatorName = _cacheService.GetSurnameAsync(s.patientPoison.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(s.patientPoison.LastModifierId).Result
}).OrderBy(o => o.CreationTime).ToList();
result.PatientPoisonDtos = patientPoisonDtos;

Loading…
Cancel
Save