diff --git a/src/Shentun.Peis.Application.Contracts/PrintReports/OccupationalDiseaseMedicalReportDto.cs b/src/Shentun.Peis.Application.Contracts/PrintReports/OccupationalDiseaseMedicalReportDto.cs index 1bcd608..eb6ed7a 100644 --- a/src/Shentun.Peis.Application.Contracts/PrintReports/OccupationalDiseaseMedicalReportDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PrintReports/OccupationalDiseaseMedicalReportDto.cs @@ -45,6 +45,9 @@ namespace Shentun.Peis.PrintReports public List PatientPastMedicalHistoryDtos { get; set; } } + /// + /// 职业病检查类别 + /// public class OccupationalDiseaseMedicalReport_OcCheckTypeDto { /// @@ -238,6 +241,11 @@ namespace Shentun.Peis.PrintReports /// 职业体检结论ID /// public string OccupationalAbnormalName { get; set; } + + /// + /// 显示顺序 + /// + public int DisplayOrder { get; set; } } /// @@ -256,6 +264,11 @@ namespace Shentun.Peis.PrintReports /// 时间 /// public string TimeLength { get; set; } + + /// + /// 显示顺序 + /// + public int DisplayOrder { get; set; } } /// @@ -296,6 +309,11 @@ namespace Shentun.Peis.PrintReports /// 防护措施 /// public string ProtectiveMeasures { get; set; } + + /// + /// 显示顺序 + /// + public int DisplayOrder { get; set; } } public class OccupationalDiseaseMedicalReport_PatientOccupationalMedicalHistoryDto @@ -323,5 +341,10 @@ namespace Shentun.Peis.PrintReports /// 治疗方式 /// public string TreatmentMethods { get; set; } + + /// + /// 显示顺序 + /// + public int DisplayOrder { get; set; } } } diff --git a/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs b/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs index 1cc3abb..993999a 100644 --- a/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs +++ b/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); } diff --git a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs index 0568d32..2167d44 100644 --- a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs +++ b/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() - 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 - select new - { - OccupationalAbnormalName = occupationalAbnormalHaveEmpty != null ? occupationalAbnormalHaveEmpty.DisplayName : "", - PoisonName = poisonHaveEmpty != null ? poisonHaveEmpty.DisplayName : "" - }; + 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() - join symptom in await _symptomRepository.GetQueryableAsync() on patientSymptom.SymptomId equals symptom.Id into symptomTemp - from symptomHaveEmpty in symptomTemp.DefaultIfEmpty() - where patientSymptom.PatientRegisterId == input.PatientRegisterId - select new - { - patientSymptom, - SymptomName = symptomHaveEmpty != null ? symptomHaveEmpty.DisplayName : "" - }; + 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,22 +658,24 @@ 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 return result; - + } diff --git a/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs b/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs index 1f46c25..f3d0a85 100644 --- a/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs +++ b/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); } @@ -272,13 +276,13 @@ namespace Shentun.Peis.TransToWebPeis .AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue))); var interfaceConfig = configurationBuilder.Build(); var url = interfaceConfig.GetSection("Interface").GetSection("Url").Value; - + return url; } - public async Task CallAppServiceAsync(string appBaseAddress,string url, TInput data) + public async Task CallAppServiceAsync(string appBaseAddress, string url, TInput data) { string baseAddress = appBaseAddress; - + using (var httpClientHandler = new HttpClientHandler()) { using (var httpClient = new HttpClient(httpClientHandler)) @@ -750,7 +754,6 @@ namespace Shentun.Peis.TransToWebPeis #endregion - #region 人员导入 /// /// 人员导入 @@ -1182,7 +1185,6 @@ namespace Shentun.Peis.TransToWebPeis #endregion - #region 撤销、删除 /// diff --git a/src/Shentun.Peis.Domain/DataHelper.cs b/src/Shentun.Peis.Domain/DataHelper.cs index 6813e55..101aee2 100644 --- a/src/Shentun.Peis.Domain/DataHelper.cs +++ b/src/Shentun.Peis.Domain/DataHelper.cs @@ -111,6 +111,23 @@ namespace Shentun.Peis } } + /// + /// 转换 只保留年月日 + /// + /// + /// + public static string ConversionDateShortToString(DateTime? dateTime) + { + if (dateTime == null) + { + return ""; + } + else + { + return dateTime.Value.ToString("yyyy-MM-dd"); + } + } + /// /// 验证是否为空或者空字符串 ///