using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Shentun.Peis.Enums;
using Shentun.Peis.Models;
using Shentun.Peis.OcCheckTypes;
using Shentun.Peis.PatientOccupationalDiseases;
using Shentun.Peis.PatientRegisters;
using Shentun.Peis.SumSummaryReports;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Identity;
using Volo.Abp.ObjectMapping;
namespace Shentun.Peis.OccupationalDiseases
{
///
/// 职业病业务
///
[ApiExplorerSettings(GroupName = "Work")]
[Authorize]
public class OccupationalDiseaseAppService : ApplicationService
{
private readonly IRepository _patientOccupationalDiseaseRepository;
private readonly IRepository _patientOccupationalHistoryRepository;
private readonly IRepository _patientPoisonRepository;
private readonly IRepository _patientSymptomRepository;
private readonly IRepository _patientOccupationalMedicalHistoryRepository;
private readonly PatientOccupationalDiseaseManager _patientOccupationalDiseaseManager;
private readonly CacheService _cacheService;
private readonly IRepository _patientRepository;
private readonly IRepository _registerCheckRepository;
private readonly IRepository _identityUserRepository;
private readonly IRepository _itemTypeRepository;
private readonly IRepository _registerCheckItemRepository;
private readonly IRepository- _itemRepository;
private readonly IRepository _patientRegisterRepository;
private readonly IRepository _registerCheckAsbitemRepository;
private readonly IRepository _resultStatusRepository;
private readonly IRepository _registerCheckSummaryRepository;
private readonly IRepository _asbitemRepository;
public OccupationalDiseaseAppService(
IRepository patientOccupationalDiseaseRepository,
IRepository patientOccupationalHistoryRepository,
IRepository patientPoisonRepository,
IRepository patientSymptomRepository,
PatientOccupationalDiseaseManager patientOccupationalDiseaseManager,
CacheService cacheService,
IRepository patientRepository,
IRepository registerCheckRepository,
IRepository identityUserRepository,
IRepository itemTypeRepository,
IRepository registerCheckItemRepository,
IRepository
- itemRepository,
IRepository patientRegisterRepository,
IRepository registerCheckAsbitemRepository,
IRepository resultStatusRepository,
IRepository registerCheckSummaryRepository,
IRepository asbitemRepository,
IRepository patientOccupationalMedicalHistoryRepository)
{
_patientOccupationalDiseaseRepository = patientOccupationalDiseaseRepository;
_patientOccupationalHistoryRepository = patientOccupationalHistoryRepository;
_patientPoisonRepository = patientPoisonRepository;
_patientSymptomRepository = patientSymptomRepository;
_patientOccupationalDiseaseManager = patientOccupationalDiseaseManager;
_cacheService = cacheService;
_patientRepository = patientRepository;
_registerCheckRepository = registerCheckRepository;
_identityUserRepository = identityUserRepository;
_itemTypeRepository = itemTypeRepository;
_registerCheckItemRepository = registerCheckItemRepository;
_itemRepository = itemRepository;
_patientRegisterRepository = patientRegisterRepository;
_registerCheckAsbitemRepository = registerCheckAsbitemRepository;
_resultStatusRepository = resultStatusRepository;
_registerCheckSummaryRepository = registerCheckSummaryRepository;
_asbitemRepository = asbitemRepository;
_patientOccupationalMedicalHistoryRepository = patientOccupationalMedicalHistoryRepository;
}
///
/// 创建职业病信息
///
///
[HttpPost("api/app/OccupationalDisease/CreateOccupationalDiseaseWithDetail")]
public async Task CreateOccupationalDiseaseWithDetailAsync(OccupationalDiseaseWithDetailInputDto input)
{
if (input == null)
{
throw new UserFriendlyException("请求参数有误");
}
if (input.PatientRegisterId == Guid.Empty)
throw new UserFriendlyException("人员ID不正确");
#region 基础信息
if (input.PatientOccupationalDisease == null)
throw new UserFriendlyException("职业病基础信息有误");
var patientOccupationalDiseaseInput = ObjectMapper.Map(input.PatientOccupationalDisease);
patientOccupationalDiseaseInput.PatientRegisterId = input.PatientRegisterId;
var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId);
if (patientOccupationalDiseaseEnt == null)
{
var entity = _patientOccupationalDiseaseManager.CreateAsync(patientOccupationalDiseaseInput);
await _patientOccupationalDiseaseRepository.InsertAsync(entity, true);
}
else
{
_patientOccupationalDiseaseManager.UpdateAsync(patientOccupationalDiseaseInput, patientOccupationalDiseaseEnt);
await _patientOccupationalDiseaseRepository.UpdateAsync(patientOccupationalDiseaseEnt, true);
}
#endregion
#region 毒害因素
var patientPoisonsInput = ObjectMapper.Map
, List>(input.PatientPoisons);
await _patientPoisonRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
List patientPoisonList = new List();
foreach (var item in patientPoisonsInput)
{
patientPoisonList.Add(new PatientPoison
{
PatientRegisterId = input.PatientRegisterId,
PoisonId = item.PoisonId
});
}
await _patientPoisonRepository.InsertManyAsync(patientPoisonList, true);
#endregion
#region 症状
var patientSymptomsInput = ObjectMapper.Map, List>(input.PatientSymptoms);
await _patientSymptomRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
List patientSymptomList = new List();
foreach (var item in patientSymptomsInput)
{
patientSymptomList.Add(new PatientSymptom
{
PatientRegisterId = input.PatientRegisterId,
Degree = item.Degree,
SymptomId = item.SymptomId,
TimeLength = item.TimeLength
});
}
await _patientSymptomRepository.InsertManyAsync(patientSymptomList, true);
#endregion
#region 职业病史
var patientOccupationalMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalMedicalHistorys);
await _patientOccupationalMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
List patientOccupationalMedicalHistoryList = new List();
foreach (var item in patientOccupationalMedicalHistorysInput)
{
patientOccupationalMedicalHistoryList.Add(new PatientOccupationalMedicalHistory
{
PatientRegisterId = input.PatientRegisterId,
DiagnosisDate = item.DiagnosisDate,
DiagnosisHospital = item.DiagnosisHospital,
IsRecovery = item.IsRecovery,
OccupationalDisease = item.OccupationalDisease,
TreatmentMethods = item.TreatmentMethods
});
}
await _patientOccupationalMedicalHistoryRepository.InsertManyAsync(patientOccupationalMedicalHistoryList, true);
#endregion
#region 职业史
var patientOccupationalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalHistorys);
await _patientOccupationalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
List patientOccupationalHistoryList = new List();
foreach (var item in patientOccupationalHistorysInput)
{
patientOccupationalHistoryList.Add(new PatientOccupationalHistory
{
PatientRegisterId = input.PatientRegisterId,
BeginDate = item.BeginDate,
EndDate = item.EndDate,
Org = item.Org,
Poison = item.Poison,
ProtectiveMeasures = item.ProtectiveMeasures,
WorkShop = item.WorkShop,
WorkType = item.WorkType
});
}
await _patientOccupationalHistoryRepository.InsertManyAsync(patientOccupationalHistoryList, true);
#endregion
return await GetOccupationalDiseaseWithDetailByPatientRegisterIdAsync(new PatientRegisterIdInputDto
{
PatientRegisterId = input.PatientRegisterId
});
}
///
/// 获取职业病信息 根据人员登记ID
///
///
[HttpPost("api/app/OccupationalDisease/GetOccupationalDiseaseWithDetailByPatientRegisterId")]
public async Task GetOccupationalDiseaseWithDetailByPatientRegisterIdAsync(PatientRegisterIdInputDto input)
{
if (input == null)
{
throw new UserFriendlyException("请求参数有误");
}
if (input.PatientRegisterId == Guid.Empty)
throw new UserFriendlyException("人员ID不正确");
var result = new OccupationalDiseaseWithDetailByPatientRegisterIdDto();
#region 基础信息
var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId);
if (patientOccupationalDiseaseEnt != null)
{
result.PatientOccupationalDisease = new PatientOccupationalDiseaseDto
{
AbnormalTimes = patientOccupationalDiseaseEnt.AbnormalTimes,
AbortionTimes = patientOccupationalDiseaseEnt.AbortionTimes,
ChildrenNum = patientOccupationalDiseaseEnt.ChildrenNum,
CreationTime = patientOccupationalDiseaseEnt.CreationTime,
CreatorId = patientOccupationalDiseaseEnt.CreatorId,
DrinkFlag = patientOccupationalDiseaseEnt.DrinkFlag,
DrinkNum = patientOccupationalDiseaseEnt.DrinkNum,
DrinkYears = patientOccupationalDiseaseEnt.DrinkYears,
FirstMenstruation = patientOccupationalDiseaseEnt.FirstMenstruation,
HandleSuggestion = patientOccupationalDiseaseEnt.HandleSuggestion,
Id = patientOccupationalDiseaseEnt.Id,
JobType = patientOccupationalDiseaseEnt.JobType,
LastMenstrualPeriodDate = patientOccupationalDiseaseEnt.LastMenstrualPeriodDate,
LastModificationTime = patientOccupationalDiseaseEnt.LastModificationTime,
LastModifierId = patientOccupationalDiseaseEnt.LastModifierId,
MenstruationCycle = patientOccupationalDiseaseEnt.MenstruationCycle,
MenstruationEndAge = patientOccupationalDiseaseEnt.MenstruationEndAge,
MenstruationFlag = patientOccupationalDiseaseEnt.MenstruationFlag,
MenstruationTimeLength = patientOccupationalDiseaseEnt.MenstruationTimeLength,
NoOccupAbSuggestion = patientOccupationalDiseaseEnt.NoOccupAbSuggestion,
NoOccupationalAbnormal = patientOccupationalDiseaseEnt.NoOccupationalAbnormal,
OcCheckTypeId = patientOccupationalDiseaseEnt.OcCheckTypeId,
OccupationalAbnormal = patientOccupationalDiseaseEnt.OccupationalAbnormal,
OccupationalAbSuggestion = patientOccupationalDiseaseEnt.OccupationalAbSuggestion,
Other = patientOccupationalDiseaseEnt.Other,
PoisonWorkTime = patientOccupationalDiseaseEnt.PoisonWorkTime,
PrematureBirthTimes = patientOccupationalDiseaseEnt.PrematureBirthTimes,
PreviousHistory = patientOccupationalDiseaseEnt.PreviousHistory,
SmokeFlag = patientOccupationalDiseaseEnt.SmokeFlag,
SmokeNum = patientOccupationalDiseaseEnt.SmokeNum,
SmokeYears = patientOccupationalDiseaseEnt.SmokeYears,
StillbirthTimes = patientOccupationalDiseaseEnt.StillbirthTimes,
TotalWorkTime = patientOccupationalDiseaseEnt.TotalWorkTime,
CreatorName = _cacheService.GetSurnameAsync(patientOccupationalDiseaseEnt.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(patientOccupationalDiseaseEnt.LastModifierId).Result
};
}
#endregion
#region 毒害因素
List patientPoisonDtos = new List();
var patientPoisonList = await _patientPoisonRepository.GetListAsync(d => d.PatientRegisterId == input.PatientRegisterId);
patientPoisonDtos = patientPoisonList.Select(s => new PatientPoisonDto
{
PoisonId = s.PoisonId,
SuspectedOccupationalDiseaseId = s.SuspectedOccupationalDiseaseId,
OccupationalContraindicationsId = s.OccupationalContraindicationsId,
OccupationalAbnormalId = s.OccupationalAbnormalId,
OtherDiseases = s.OtherDiseases,
CreationTime = s.CreationTime,
CreatorId = s.CreatorId,
LastModificationTime = s.LastModificationTime,
LastModifierId = s.LastModifierId,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
}).ToList();
result.PatientPoisonDtos = patientPoisonDtos;
#endregion
#region 职业病史
List patientOccupationalMedicalHistoryDtos = new List();
var patientOccupationalMedicalHistoryList = await _patientOccupationalMedicalHistoryRepository.GetListAsync(d => d.PatientRegisterId == input.PatientRegisterId);
patientOccupationalMedicalHistoryDtos = patientOccupationalMedicalHistoryList.Select(s => new PatientOccupationalMedicalHistoryDto
{
DiagnosisDate = s.DiagnosisDate,
DiagnosisHospital = s.DiagnosisHospital,
Id = s.Id,
IsRecovery = s.IsRecovery,
OccupationalDisease = s.OccupationalDisease,
TreatmentMethods = s.TreatmentMethods,
CreationTime = s.CreationTime,
CreatorId = s.CreatorId,
LastModificationTime = s.LastModificationTime,
LastModifierId = s.LastModifierId,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
}).ToList();
result.PatientOccupationalMedicalHistoryDtos = patientOccupationalMedicalHistoryDtos;
#endregion
#region 症状
var patientSymptomList = await _patientSymptomRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
List patientSymptomDtos = patientSymptomList.Select(s => new PatientSymptomDto
{
Degree = s.Degree,
SymptomId = s.SymptomId,
TimeLength = s.TimeLength,
CreationTime = s.CreationTime,
CreatorId = s.CreatorId,
LastModificationTime = s.LastModificationTime,
LastModifierId = s.LastModifierId,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
}).ToList();
result.PatientSymptomDtos = patientSymptomDtos;
#endregion
#region 职业史
var patientOccupationalHistoryList = await _patientOccupationalHistoryRepository.GetListAsync(d => d.PatientRegisterId == input.PatientRegisterId);
List patientOccupationalHistoryDtos = patientOccupationalHistoryList.Select(s => new PatientOccupationalHistoryDto
{
BeginDate = s.BeginDate,
EndDate = s.EndDate,
Org = s.Org,
Poison = s.Poison,
ProtectiveMeasures = s.ProtectiveMeasures,
WorkShop = s.WorkShop,
WorkType = s.WorkType,
CreationTime = s.CreationTime,
CreatorId = s.CreatorId,
Id = s.Id,
LastModifierId = s.LastModifierId,
LastModificationTime = s.LastModificationTime,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
}).ToList();
result.PatientOccupationalHistoryDtos = patientOccupationalHistoryDtos;
#endregion
return result;
}
///
/// 修改检查结论
///
///
[HttpPost("api/app/OccupationalDisease/UpdateOccupationalDiseaseInspectionConclusion")]
public async Task UpdateOccupationalDiseaseInspectionConclusionAsync(OccupationalDiseaseInspectionConclusionInputDto input)
{
var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(F => F.PatientRegisterId == input.PatientRegisterId);
if (patientOccupationalDiseaseEnt == null)
{
throw new UserFriendlyException("请先登记职业病信息");
}
patientOccupationalDiseaseEnt.NoOccupAbSuggestion = input.NoOccupAbSuggestion;
patientOccupationalDiseaseEnt.NoOccupationalAbnormal = input.NoOccupationalAbnormal;
patientOccupationalDiseaseEnt.OccupationalAbnormal = input.OccupationalAbnormal;
patientOccupationalDiseaseEnt.OccupationalAbSuggestion = input.OccupationalAbSuggestion;
patientOccupationalDiseaseEnt.HandleSuggestion = input.HandleSuggestion;
await _patientOccupationalDiseaseRepository.UpdateAsync(patientOccupationalDiseaseEnt);
}
///
/// 获取检查结论
///
///
[HttpPost("api/app/OccupationalDisease/GetOccupationalDiseaseInspectionConclusion")]
public async Task GetOccupationalDiseaseInspectionConclusionAsync(PatientRegisterIdInputDto input)
{
var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(F => F.PatientRegisterId == input.PatientRegisterId);
if (patientOccupationalDiseaseEnt == null)
{
throw new UserFriendlyException("暂无职业病信息");
}
var entDto = new OccupationalDiseaseInspectionConclusionDto
{
HandleSuggestion = patientOccupationalDiseaseEnt.HandleSuggestion,
NoOccupAbSuggestion = patientOccupationalDiseaseEnt.NoOccupAbSuggestion,
NoOccupationalAbnormal = patientOccupationalDiseaseEnt.NoOccupationalAbnormal,
OccupationalAbnormal = patientOccupationalDiseaseEnt.OccupationalAbnormal,
OccupationalAbSuggestion = patientOccupationalDiseaseEnt.OccupationalAbSuggestion
};
return entDto;
}
///
/// 获取体征结果
///
/// 人员登记ID
///
[HttpPost("api/app/OccupationalDisease/GetDetailResults")]
public async Task> GetDetailResultsAsync(PatientRegisterIdInputDto input)
{
List msg = new List();
var userlist = await _identityUserRepository.GetListAsync();
var resultStatus = await _resultStatusRepository.GetListAsync();
var list = (from patient in await _patientRepository.GetQueryableAsync()
join patientRegister in await _patientRegisterRepository.GetQueryableAsync()
on patient.Id equals patientRegister.PatientId
join registerCheck in await _registerCheckRepository.GetQueryableAsync()
on patientRegister.Id equals registerCheck.PatientRegisterId
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync()
on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
join registerCheckSummary in await _registerCheckSummaryRepository.GetQueryableAsync()
on registerCheck.Id equals registerCheckSummary.RegisterCheckId
join asbitem in await _asbitemRepository.GetQueryableAsync()
on registerCheckAsbitem.AsbitemId equals asbitem.Id
join registerCheckItem in await _registerCheckItemRepository.GetQueryableAsync()
on registerCheck.Id equals registerCheckItem.RegisterCheckId
join item in await _itemRepository.GetQueryableAsync()
on registerCheckItem.ItemId equals item.Id
join itemType in await _itemTypeRepository.GetQueryableAsync()
on asbitem.ItemTypeId equals itemType.Id
where patientRegister.Id == input.PatientRegisterId
&& registerCheck.CompleteFlag == RegisterCheckCompleteFlag.Checked
&& asbitem.IsCheck == 'Y'
select new
{
patient,
patientRegister,
registerCheck,
registerCheckSummary,
registerCheckAsbitem,
asbitem,
registerCheckItem,
item,
itemType
}).AsNoTracking().ToList();
if (!list.Any())
{
return null;
}
//将子项目类别设置为父项目类别
var itemTypes = await _itemTypeRepository.GetListAsync();
foreach (var listItem in list)
{
var parentItemType = itemTypes.Where(o => o.Id == listItem.itemType.ParentId).FirstOrDefault();
if (parentItemType != null)
{
listItem.asbitem.DisplayOrder = listItem.itemType.DisplayOrder * 1000 + listItem.asbitem.DisplayOrder;
listItem.itemType.DisplayName = parentItemType.DisplayName;
listItem.itemType.DisplayOrder = parentItemType.DisplayOrder;
}
}
var detailedResultsList_Asbitems = new List();
var registerCheckIds = list.OrderBy(o => o.itemType.DisplayOrder)
.OrderBy(o => o.asbitem.DisplayOrder)
.Select(o => o.registerCheck.Id).Distinct().ToList();
foreach (var registerCheckId in registerCheckIds)
{
var listItem = list.Where(o => o.registerCheck.Id == registerCheckId).First();
var detailedResultsList_Asbitem = new SumSummaryReportDetailResultWithAsbitem()
{
ItemTypeName = listItem.itemType.DisplayName,
AsbitemNames = string.Join(",", list.Where(o => o.registerCheck.Id == registerCheckId)
.OrderBy(o => o.itemType.DisplayOrder).OrderBy(o => o.asbitem.DisplayOrder)
.Select(o => o.asbitem.DisplayName).Distinct().ToList()),
ItemTypeDisplayOrder = listItem.itemType.DisplayOrder,
AsbitemDisplayOrder = listItem.asbitem.DisplayOrder,
CheckDate = ((DateTime)listItem.registerCheck.CheckDate).Date,
CheckDoctorName = EntityHelper.GetCheckDoctorName(listItem.registerCheck.CheckDoctorId, userlist),
Items = list.Where(o => o.registerCheck.Id == registerCheckId)
.OrderBy(o => o.itemType.DisplayOrder)
.OrderBy(o => o.asbitem.DisplayOrder)
.OrderBy(o => o.item.DisplayOrder)
.GroupBy(o => o.registerCheckItem.ItemId)
.Select(o => new SumSummaryReportDetailResultWithItem()
{
ItemId = o.FirstOrDefault().registerCheckItem.ItemId,
ItemName = o.FirstOrDefault().item.DisplayName,
ItemResult = o.FirstOrDefault().registerCheckItem.Result,
ReferenceRangeValue = o.FirstOrDefault().registerCheckItem.ReferenceRangeValue,
CriticalRangeValue = o.FirstOrDefault().registerCheckItem.CriticalRangeValue,
Unit = o.FirstOrDefault().registerCheckItem.Unit,
ResultStatusId = o.FirstOrDefault().registerCheckItem.ResultStatusId,
ResultStatusName = (resultStatus.Where(x => x.Id == o.FirstOrDefault().registerCheckItem.ResultStatusId).FirstOrDefault() == null) ? "" : resultStatus.Where(x => x.Id == o.FirstOrDefault().registerCheckItem.ResultStatusId).FirstOrDefault().ReportPrompt,
ReportFontColor = (resultStatus.Where(x => x.Id == o.FirstOrDefault().registerCheckItem.ResultStatusId).FirstOrDefault() == null) ? 0 : resultStatus.Where(x => x.Id == o.FirstOrDefault().registerCheckItem.ResultStatusId).FirstOrDefault().ReportFontColor,
ReportBackgroundColor = (resultStatus.Where(x => x.Id == o.FirstOrDefault().registerCheckItem.ResultStatusId).FirstOrDefault() == null) ? 16777215 : resultStatus.Where(x => x.Id == o.FirstOrDefault().registerCheckItem.ResultStatusId).FirstOrDefault().ReportBackgroundColor,
}).ToList(),
Summarys = list.Where(o => o.registerCheck.Id == registerCheckId)
.OrderBy(o => o.registerCheckSummary.DisplayOrder)
.GroupBy(o => o.registerCheckSummary.Summary)
.Select(o => new SumSummaryReportDetailResultWithSummary()
{
Summary = o.FirstOrDefault().registerCheckSummary.Summary
})
.ToList(),
};
detailedResultsList_Asbitem.Summarys = detailedResultsList_Asbitem.Summarys.Distinct().ToList();
detailedResultsList_Asbitems.Add(detailedResultsList_Asbitem);
}
var grouplist = detailedResultsList_Asbitems.OrderBy(o => o.ItemTypeDisplayOrder)
.OrderBy(o => o.AsbitemDisplayOrder)
.GroupBy(g => g.ItemTypeName);
foreach (var g in grouplist)
{
var glist = g.OrderBy(o => o.ItemTypeDisplayOrder).OrderBy(o => o.AsbitemDisplayOrder).ToList();
var resultlist = new SumSummaryReportDetailResultDto
{
ItemTypeDisplayOrder = glist.FirstOrDefault().ItemTypeDisplayOrder,
ItemTypeName = glist.FirstOrDefault().ItemTypeName,
Asbitems = glist
};
msg.Add(resultlist);
}
msg = msg.OrderBy(o => o.ItemTypeDisplayOrder).ToList();
return msg;
}
///
/// 删除职业病相关信息
///
///
///
[HttpPost("api/app/OccupationalDisease/DeleteOccupationalDiseaseWithDetail")]
public async Task DeleteOccupationalDiseaseWithDetailAsync(PatientRegisterIdInputDto input)
{
if (input == null)
{
throw new UserFriendlyException("请求参数有误");
}
if (input.PatientRegisterId == Guid.Empty)
throw new UserFriendlyException("人员ID不正确");
await _patientOccupationalDiseaseRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
await _patientOccupationalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
await _patientPoisonRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
await _patientOccupationalMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
await _patientSymptomRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
}
}
}