Browse Source

职业病

bjmzak
wxd 2 years ago
parent
commit
c96a71e9bd
  1. 23
      src/Shentun.Peis.Application.Contracts/PrintReports/OccupationalDiseaseMedicalReportDto.cs
  2. 2
      src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs
  3. 47
      src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs
  4. 8
      src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs
  5. 17
      src/Shentun.Peis.Domain/DataHelper.cs

23
src/Shentun.Peis.Application.Contracts/PrintReports/OccupationalDiseaseMedicalReportDto.cs

@ -45,6 +45,9 @@ namespace Shentun.Peis.PrintReports
public List<OccupationalDiseaseMedicalReport_PatientOccupationalMedicalHistoryDto> PatientPastMedicalHistoryDtos { get; set; }
}
/// <summary>
/// 职业病检查类别
/// </summary>
public class OccupationalDiseaseMedicalReport_OcCheckTypeDto
{
/// <summary>
@ -238,6 +241,11 @@ namespace Shentun.Peis.PrintReports
/// 职业体检结论ID
/// </summary>
public string OccupationalAbnormalName { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
}
/// <summary>
@ -256,6 +264,11 @@ namespace Shentun.Peis.PrintReports
/// 时间
/// </summary>
public string TimeLength { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
}
/// <summary>
@ -296,6 +309,11 @@ namespace Shentun.Peis.PrintReports
/// 防护措施
/// </summary>
public string ProtectiveMeasures { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
}
public class OccupationalDiseaseMedicalReport_PatientOccupationalMedicalHistoryDto
@ -323,5 +341,10 @@ namespace Shentun.Peis.PrintReports
/// 治疗方式
/// </summary>
public string TreatmentMethods { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
}
}

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

@ -653,7 +653,7 @@ namespace Shentun.Peis.OccupationalDiseases
await _patientSymptomRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
await _patientPastMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
}

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

@ -528,7 +528,7 @@ namespace Shentun.Peis.PrintReports
#region 检查类别
var ocCheckTypeList = await _ocCheckTypeRepository.GetListAsync();
var ocCheckTypeList = (await _ocCheckTypeRepository.GetQueryableAsync()).OrderBy(o => o.DisplayOrder);
if (ocCheckTypeList.Any())
{
result.OcCheckTypeDtos = ocCheckTypeList.Select(s => new OccupationalDiseaseMedicalReport_OcCheckTypeDto
@ -555,7 +555,7 @@ namespace Shentun.Peis.PrintReports
FirstMenstruation = patientOccupationalDiseaseEnt.patientOccupationalDisease.FirstMenstruation,
HandleSuggestion = patientOccupationalDiseaseEnt.patientOccupationalDisease.HandleSuggestion,
JobType = patientOccupationalDiseaseEnt.patientOccupationalDisease.JobType,
LastMenstrualPeriodDate = DataHelper.ConversionDateToString(patientOccupationalDiseaseEnt.patientOccupationalDisease.LastMenstrualPeriodDate),
LastMenstrualPeriodDate = DataHelper.ConversionDateShortToString(patientOccupationalDiseaseEnt.patientOccupationalDisease.LastMenstrualPeriodDate),
MenstruationCycle = patientOccupationalDiseaseEnt.patientOccupationalDisease.MenstruationCycle,
MenstruationEndAge = patientOccupationalDiseaseEnt.patientOccupationalDisease.MenstruationEndAge,
MenstruationFlag = patientOccupationalDiseaseEnt.patientOccupationalDisease.MenstruationFlag,
@ -580,70 +580,77 @@ namespace Shentun.Peis.PrintReports
#region 职业史
var patientOccupationalHistoryList = await _patientOccupationalHistoryRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
var patientOccupationalHistoryList = (await _patientOccupationalHistoryRepository.GetQueryableAsync()).Where(m => m.PatientRegisterId == input.PatientRegisterId)
.OrderBy(o => o.CreationTime).ToList();
result.PatientOccupationalHistoryDtos = patientOccupationalHistoryList.Select(s => new OccupationalDiseaseMedicalReport_PatientOccupationalHistoryDto
{
BeginDate = DataHelper.ConversionDateToString(s.BeginDate),
EndDate = DataHelper.ConversionDateToString(s.EndDate),
BeginDate = DataHelper.ConversionDateShortToString(s.BeginDate),
EndDate = DataHelper.ConversionDateShortToString(s.EndDate),
Org = s.Org,
Poison = s.Poison,
ProtectiveMeasures = s.ProtectiveMeasures,
WorkShop = s.WorkShop,
WorkType = s.WorkType
WorkType = s.WorkType,
DisplayOrder = patientOccupationalHistoryList.IndexOf(s) + 1
}).ToList();
#endregion
#region 毒害因素
var patientPoisonDtoList = from patientPoison in await _patientPoisonRepository.GetQueryableAsync()
var patientPoisonDtoList = (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()
join occupationalAbnormal in await _occupationalAbnormalRepository.GetQueryableAsync() on patientPoison.OccupationalAbnormalId equals occupationalAbnormal.Id into occupationalAbnormalTemp
from occupationalAbnormalHaveEmpty in occupationalAbnormalTemp.DefaultIfEmpty()
where patientPoison.PatientRegisterId == input.PatientRegisterId
orderby patientPoison.CreationTime ascending
select new
{
OccupationalAbnormalName = occupationalAbnormalHaveEmpty != null ? occupationalAbnormalHaveEmpty.DisplayName : "",
PoisonName = poisonHaveEmpty != null ? poisonHaveEmpty.DisplayName : ""
};
}).ToList();
result.PatientPoisonDtos = patientPoisonDtoList.Select(s => new OccupationalDiseaseMedicalReport_PatientPoisonDto
{
OccupationalAbnormalName = s.OccupationalAbnormalName,
PoisonName = s.PoisonName
PoisonName = s.PoisonName,
DisplayOrder = patientPoisonDtoList.IndexOf(s) + 1
}).ToList();
#endregion
#region 职业病症状
var patientSymptomList = from patientSymptom in await _patientSymptomRepository.GetQueryableAsync()
var patientSymptomList = (from patientSymptom in await _patientSymptomRepository.GetQueryableAsync()
join symptom in await _symptomRepository.GetQueryableAsync() on patientSymptom.SymptomId equals symptom.Id into symptomTemp
from symptomHaveEmpty in symptomTemp.DefaultIfEmpty()
where patientSymptom.PatientRegisterId == input.PatientRegisterId
orderby patientSymptom.CreationTime ascending
select new
{
patientSymptom,
SymptomName = symptomHaveEmpty != null ? symptomHaveEmpty.DisplayName : ""
};
}).ToList();
result.PatientSymptomDtos = patientSymptomList.Select(s => new OccupationalDiseaseMedicalReport_PatientSymptomDto
{
Degree = s.patientSymptom.Degree,
SymptomName = s.SymptomName,
TimeLength = s.patientSymptom.TimeLength
TimeLength = s.patientSymptom.TimeLength,
DisplayOrder = patientSymptomList.IndexOf(s) + 1
}).ToList();
#endregion
#region 职业病史
var patientOccupationalMedicalHistoryList = await _patientOccupationalMedicalHistoryRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
var patientOccupationalMedicalHistoryList = (await _patientOccupationalMedicalHistoryRepository.GetQueryableAsync())
.Where(m => m.PatientRegisterId == input.PatientRegisterId).OrderBy(o => o.CreationTime).ToList();
result.PatientOccupationalMedicalHistoryDtos = patientOccupationalMedicalHistoryList.Select(s => new OccupationalDiseaseMedicalReport_PatientOccupationalMedicalHistoryDto
{
DiagnosisDate = DataHelper.ConversionDateToString(s.DiagnosisDate),
DiagnosisDate = DataHelper.ConversionDateShortToString(s.DiagnosisDate),
DiagnosisHospital = s.DiagnosisHospital,
IsRecovery = s.IsRecovery,
OccupationalDisease = s.OccupationalDisease,
TreatmentMethods = s.TreatmentMethods
TreatmentMethods = s.TreatmentMethods,
DisplayOrder = patientOccupationalMedicalHistoryList.IndexOf(s) + 1
}).ToList();
@ -651,14 +658,16 @@ namespace Shentun.Peis.PrintReports
#region 既往病史
var patientPastMedicalHistoryList = await _patientPastMedicalHistoryRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
var patientPastMedicalHistoryList =( await _patientPastMedicalHistoryRepository.GetQueryableAsync())
.Where(m => m.PatientRegisterId == input.PatientRegisterId).OrderBy(o => o.CreationTime).ToList();
result.PatientPastMedicalHistoryDtos = patientPastMedicalHistoryList.Select(s => new OccupationalDiseaseMedicalReport_PatientOccupationalMedicalHistoryDto
{
DiagnosisDate = DataHelper.ConversionDateToString(s.DiagnosisDate),
DiagnosisDate = DataHelper.ConversionDateShortToString(s.DiagnosisDate),
DiagnosisHospital = s.DiagnosisHospital,
IsRecovery = s.IsRecovery,
OccupationalDisease = s.OccupationalDisease,
TreatmentMethods = s.TreatmentMethods
TreatmentMethods = s.TreatmentMethods,
DisplayOrder = patientPastMedicalHistoryList.IndexOf(s) + 1
}).ToList();
#endregion

8
src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs

@ -187,6 +187,10 @@ namespace Shentun.Peis.TransToWebPeis
}
//更新上传状态
var patientRegisterEnt = await _patientRegisterRepository.GetAsync(input.PatientRegisterId);
patientRegisterEnt.IsUpload = 'Y';
await _patientRegisterRepository.UpdateAsync(patientRegisterEnt);
}
@ -275,7 +279,7 @@ namespace Shentun.Peis.TransToWebPeis
return url;
}
public async Task<TOut> CallAppServiceAsync<TInput, TOut>(string appBaseAddress,string url, TInput data)
public async Task<TOut> CallAppServiceAsync<TInput, TOut>(string appBaseAddress, string url, TInput data)
{
string baseAddress = appBaseAddress;
@ -750,7 +754,6 @@ namespace Shentun.Peis.TransToWebPeis
#endregion
#region 人员导入
/// <summary>
/// 人员导入
@ -1182,7 +1185,6 @@ namespace Shentun.Peis.TransToWebPeis
#endregion
#region 撤销、删除
/// <summary>

17
src/Shentun.Peis.Domain/DataHelper.cs

@ -111,6 +111,23 @@ namespace Shentun.Peis
}
}
/// <summary>
/// 转换 只保留年月日
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static string ConversionDateShortToString(DateTime? dateTime)
{
if (dateTime == null)
{
return "";
}
else
{
return dateTime.Value.ToString("yyyy-MM-dd");
}
}
/// <summary>
/// 验证是否为空或者空字符串
/// </summary>

Loading…
Cancel
Save