From 56bbccb09e70a99841493e0d5172d3c212566ec1 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Fri, 1 Nov 2024 16:16:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=8C=E4=B8=9A=E7=97=85=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...mpanyOccupationalDiseaseDetailReportDto.cs | 207 ++--- .../OccupationalDiseaseReportAppService.cs | 847 ++++++++++++++---- .../appsettings.json | 8 +- 3 files changed, 784 insertions(+), 278 deletions(-) diff --git a/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseDetailReportDto.cs b/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseDetailReportDto.cs index 0b8eb60..94e72c2 100644 --- a/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseDetailReportDto.cs +++ b/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseDetailReportDto.cs @@ -43,10 +43,15 @@ namespace Shentun.Peis.OccupationalDiseaseReports /// - /// 职业病检测类别 集合 + /// 职业病检查类别 集合 /// public List OcCheckTypeNames { get; set; } + /// + /// 已有职业病检查类别 集合 + /// + public List SelectedOcCheckTypeNames { get; set; } + /// /// 检查情况报告列表 /// @@ -57,86 +62,75 @@ namespace Shentun.Peis.OccupationalDiseaseReports /// public string MedicalResultDesc { get; set; } + /// - /// 职业病异常明细 + /// 未见异常一览表 /// - public List OccupationalAbnormalDetails { get; set; }=new List(); + public List NoAbnormalConditionsDetails { get; set; } = new List(); - /// - /// 体检结果一览表明细 - /// - public List MedicalResultDetails { get; set; } = new List(); /// - /// 体检结果异常率明细 + /// 其他疾病或异常人员一览表 /// - public List MedicalResultAbnormalRateDetails { get; set; } = new List(); + public List OtherDiseasesOrAbnormalIndividualsDetails { get; set; } = new List(); /// - /// 职业健康检查缺项情况表明细 + /// 复查人员一览表明细 /// - public List ListOfMissingItemsDetails { get; set; } = new List(); + public List ReviewPersonnelDetails { get; set; } = new List(); + /// - /// 职业病专科复查人员一览表明细 + /// 职业禁忌证人员一览表 /// - public List ReviewPersonnelDetails { get; set; } = new List(); + public List OccupationalContraindicationDetails { get; set; } = new List(); /// - /// 尽快诊疗一览表 暂时 无 + /// 疑似职业病人员一览表 /// - public List DiagnosisAndTreatmentDetails { get; set; } = new List(); + public List SuspectedOccupationalDiseaseDetails { get; set; } = new List(); /// - /// 职业禁忌证人员一览表 + /// 缺项人员一览表 /// - public List OccupationalContraindicationDetails { get; set; } = new List(); + public List ListOfMissingItemsDetails { get; set; } = new List(); /// - /// 疑似职业病人员一览表 + /// 未检人员一览表 /// - public List SuspectedOccupationalDiseaseDetails { get; set; } = new List(); - } + public List UninspectedPersonnelDetails { get; set; } = new List(); - public class GetCompanyOccupationalDiseaseDetailReportOcCheckTypeSummaryDto - { - /// - /// 毒害因素名称 A、B格式 - /// - public string PoisonNames { get; set; } /// - /// 职业病检查类别名称 + /// 职业病异常明细 /// - public string OcCheckTypeName { get; set; } + public List OccupationalAbnormalDetails { get; set; } = new List(); + - /// - /// 人数 - /// - public int CheckCount { get; set; } /// - /// 排序 + /// 体检结果异常率明细 /// - public int DisplayOrder { get; set; } + public List MedicalResultAbnormalRateDetails { get; set; } = new List(); + } - public class GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + public class GetCompanyOccupationalDiseaseDetailReportOcCheckTypeSummaryDto { /// - /// 异常名称 + /// 毒害因素名称 A、B格式 /// - public string OccupationalAbnormalName { get; set; } + public string PoisonNames { get; set; } /// - /// 人数 + /// 职业病检查类别名称 /// - public int OccupationalAbnormalCount { get; set; } + public string OcCheckTypeName { get; set; } /// /// 人数 /// - public decimal OccupationalAbnormalRatio { get; set; } + public int CheckCount { get; set; } /// /// 排序 @@ -144,6 +138,10 @@ namespace Shentun.Peis.OccupationalDiseaseReports public int DisplayOrder { get; set; } } + + /// + /// 附件一~五 + /// public class GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto { /// @@ -223,6 +221,9 @@ namespace Shentun.Peis.OccupationalDiseaseReports public int DisplayOrder { get; set; } } + /// + /// 体检结果异常率明细 暂未用到 + /// public class GetCompanyOccupationalDiseaseDetailReportMedicalResultAbnormalRateDetailDto { /// @@ -247,6 +248,9 @@ namespace Shentun.Peis.OccupationalDiseaseReports public int DisplayOrder { get; set; } } + /// + /// 缺项 + /// public class GetCompanyOccupationalDiseaseDetailReportListOfMissingItemsDetailDto { /// @@ -265,47 +269,51 @@ namespace Shentun.Peis.OccupationalDiseaseReports public string IdNo { get; set; } /// - /// 未检组合项目名称 + /// 工种 /// - public string UnCheckAsbitemName { get; set; } + public string JobType { get; set; } /// - /// 排序 + /// 接害工龄 /// - public int DisplayOrder { get; set; } - } + public string PoisonWorkTime { get; set; } - public class GetCompanyOccupationalDiseaseDetailReportReviewPersonnelDetailDto - { /// - /// 人员条码号 + /// 毒害因素 A、B格式 /// - public string PatientRegisterNo { get; set; } + public string PoisonNames { get; set; } + /// - /// 姓名 + /// 职业病检查类别 /// - public string PatientName { get; set; } + public string OcCheckTypeName { get; set; } /// - /// 身份证 + /// 性别 /// - public string IdNo { get; set; } + public string SexName { get; set; } /// - /// 毒害因素 + /// 年龄 /// - public string PoisonName { get; set; } + public string Age { get; set; } /// - /// 检查结果 + /// 体检日期 /// - public string CheckResult { get; set; } + public string MedicalStartDate { get; set; } /// - /// 处理意见 + /// 总检医生 /// - public string HandlingSuggestions { get; set; } + public string SummaryDoctorName { get; set; } + + + /// + /// 未检组合项目名称 + /// + public string UnCheckAsbitemName { get; set; } /// /// 排序 @@ -313,7 +321,10 @@ namespace Shentun.Peis.OccupationalDiseaseReports public int DisplayOrder { get; set; } } - public class GetCompanyOccupationalDiseaseDetailReportDiagnosisAndTreatmentDetailDto + /// + /// 未检 + /// + public class GetCompanyOccupationalDiseaseDetailReportUninspectedPersonnelDetailDto { /// /// 人员条码号 @@ -331,87 +342,79 @@ namespace Shentun.Peis.OccupationalDiseaseReports public string IdNo { get; set; } /// - /// 未检组合项目名称 + /// 工种 /// - public string UnCheckAsbitemName { get; set; } + public string JobType { get; set; } /// - /// 排序 + /// 接害工龄 /// - public int DisplayOrder { get; set; } - } + public string PoisonWorkTime { get; set; } - public class GetCompanyOccupationalDiseaseDetailReportOccupationalContraindicationDetailDto - { /// - /// 人员条码号 + /// 毒害因素 A、B格式 /// - public string PatientRegisterNo { get; set; } + public string PoisonNames { get; set; } - /// - /// 姓名 - /// - public string PatientName { get; set; } /// - /// 身份证 + /// 职业病检查类别 /// - public string IdNo { get; set; } + public string OcCheckTypeName { get; set; } /// - /// 毒害因素 + /// 性别 /// - public string PoisonName { get; set; } - + public string SexName { get; set; } /// - /// 检查结果 + /// 年龄 /// - public string CheckResult { get; set; } + public string Age { get; set; } /// - /// 处理意见 + /// 体检日期 /// - public string HandlingSuggestions { get; set; } + public string MedicalStartDate { get; set; } /// - /// 排序 + /// 总检医生 /// - public int DisplayOrder { get; set; } - } + public string SummaryDoctorName { get; set; } - public class GetCompanyOccupationalDiseaseDetailReportSuspectedOccupationalDiseaseDetailDto - { - /// - /// 人员条码号 - /// - public string PatientRegisterNo { get; set; } /// - /// 姓名 + /// 未检组合项目名称 /// - public string PatientName { get; set; } + public string UnCheckAsbitemName { get; set; } /// - /// 身份证 + /// 排序 /// - public string IdNo { get; set; } + public int DisplayOrder { get; set; } + } + + + /// + /// 统计表格人数 + /// + public class GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { /// - /// 毒害因素 + /// 异常名称 /// - public string PoisonName { get; set; } - + public string OccupationalAbnormalName { get; set; } /// - /// 检查结果 + /// 人数 /// - public string CheckResult { get; set; } + public int OccupationalAbnormalCount { get; set; } /// - /// 处理意见 + /// 比例 /// - public string HandlingSuggestions { get; set; } + public decimal OccupationalAbnormalRatio { get; set; } /// /// 排序 diff --git a/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs b/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs index 2a9028c..f6508a0 100644 --- a/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs +++ b/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs @@ -2,6 +2,8 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using NPOI.SS.Formula.Functions; +using NPOI.Util; +using Shentun.Peis.CustomerOrgs; using Shentun.Peis.Enums; using Shentun.Peis.Models; using Shentun.Peis.SysParmValues; @@ -38,6 +40,7 @@ namespace Shentun.Peis.OccupationalDiseaseReports private readonly IRepository _registerCheckSummaryRepository; private readonly IRepository _sumSummaryHeaderRepository; private readonly IRepository _sumSummaryContentRepository; + private readonly CustomerOrgManager _customerOrgManager; public OccupationalDiseaseReportAppService( IRepository patientRegisterRepository, IRepository registerCheckRepository, @@ -54,7 +57,8 @@ namespace Shentun.Peis.OccupationalDiseaseReports IRepository registerCheckSummaryRepository, IRepository patientRepository, IRepository sumSummaryHeaderRepository, - IRepository sumSummaryContentRepository) + IRepository sumSummaryContentRepository, + CustomerOrgManager customerOrgManager) { _patientRegisterRepository = patientRegisterRepository; _registerCheckRepository = registerCheckRepository; @@ -72,6 +76,7 @@ namespace Shentun.Peis.OccupationalDiseaseReports _patientRepository = patientRepository; _sumSummaryHeaderRepository = sumSummaryHeaderRepository; _sumSummaryContentRepository = sumSummaryContentRepository; + _customerOrgManager = customerOrgManager; } @@ -285,7 +290,6 @@ namespace Shentun.Peis.OccupationalDiseaseReports - /// /// 获取单位职业病明细报告 /// @@ -311,14 +315,9 @@ namespace Shentun.Peis.OccupationalDiseaseReports from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty() join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp from posionHaveEmpty in poisonTemp.DefaultIfEmpty() - join occupationalAbnormal in await _occupationalAbnormalRepository.GetQueryableAsync() on patientPoisonHaveEmpty.OccupationalAbnormalId equals occupationalAbnormal.Id into occupationalAbnormalTemp - from occupationalAbnormalHaveEmpty in occupationalAbnormalTemp.DefaultIfEmpty() join ocCheckType in await _ocCheckTypeRepository.GetQueryableAsync() on patientOccupationalDisease.OcCheckTypeId equals ocCheckType.Id into ocCheckTypeTemp from ocCheckTypeHaveEmpty in ocCheckTypeTemp.DefaultIfEmpty() - join sumSummaryHeader in (await _sumSummaryHeaderRepository.GetQueryableAsync()).Include(x => x.SumSummaryContents) on patientRegister.Id equals sumSummaryHeader.PatientRegisterId into sumSummaryHeaderTemp - from sumSummaryHeaderHaveEmpty in sumSummaryHeaderTemp.DefaultIfEmpty() where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId - && patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration select new { patientRegister, @@ -326,9 +325,7 @@ namespace Shentun.Peis.OccupationalDiseaseReports patientOccupationalDisease, posionHaveEmpty, patientPoisonHaveEmpty, - occupationalAbnormalHaveEmpty, - ocCheckTypeHaveEmpty, - sumSummaryHeaderHaveEmpty + ocCheckTypeHaveEmpty }; @@ -351,6 +348,12 @@ namespace Shentun.Peis.OccupationalDiseaseReports } } + if (customerOrgPara.CustomerOrgId != null) + { + var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(customerOrgPara.CustomerOrgId.Value); + query = query.Where(m => CustomerOrgIds.Contains(m.patientRegister.CustomerOrgId)); + } + if (customerOrgPara.CustomerOrgGroupId.Any()) { @@ -359,26 +362,27 @@ namespace Shentun.Peis.OccupationalDiseaseReports #endregion + var ddd = query.ToQueryString(); + + //var noCheckPatientRegisterList = query.ToList(); + //var sumCount = noCheckPatientRegisterList.GroupBy(g => g.patientRegister).Count(); //总人数 + + //query = query.Where(m => m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck); var patientRegisterList = query.ToList(); + var sumCount = patientRegisterList.GroupBy(g => g.patientRegister).Count(); //总人数 + var msg = new GetCompanyOccupationalDiseaseDetailReportDto(); - var msg = new GetCompanyOccupationalDiseaseDetailReportDto - { - DiagnosisAndTreatmentDetails = new List(), - ListOfMissingItemsDetails = new List(), - MedicalResultAbnormalRateDetails = new List(), - OccupationalContraindicationDetails = new List(), - ReviewPersonnelDetails = new List(), - SuspectedOccupationalDiseaseDetails = new List() - }; if (patientRegisterList.Any()) { //人员 - var patientRegisters = patientRegisterList.Select(m => m.patientRegister).Distinct().ToList(); + //var patientRegisters = patientRegisterList.Select(m => m.patientRegister).Distinct().ToList(); + + var patientRegisterfisrt = patientRegisterList.First(); @@ -413,44 +417,15 @@ namespace Shentun.Peis.OccupationalDiseaseReports #endregion - #region 体检结果总结 - var occupationalAbnormalDetails = patientRegisterList.Where(m => m.occupationalAbnormalHaveEmpty != null).ToList() - .GroupBy(g => new { g.patientRegister, g.occupationalAbnormalHaveEmpty }) - .Select(s => new { occupationalAbnormalName = s.Key.occupationalAbnormalHaveEmpty.DisplayName }).ToList() - .GroupBy(g => g.occupationalAbnormalName) - .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto - { - DisplayOrder = index + 1, - OccupationalAbnormalCount = s.Count(), - OccupationalAbnormalName = s.Key, - OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(s.Count() * 100) / patientRegisters.Count, 2) - }).ToList(); - - - string occupationalAbnormalDesc = ""; - - foreach (var item in occupationalAbnormalDetails) - { - if (occupationalAbnormalDetails.IndexOf(item) == occupationalAbnormalDetails.Count - 1) - occupationalAbnormalDesc += $"{item.OccupationalAbnormalName}{item.OccupationalAbnormalCount}人。"; - else - occupationalAbnormalDesc += $"{item.OccupationalAbnormalName}{item.OccupationalAbnormalCount}人,"; - } + msg.SelectedOcCheckTypeNames = ocCheckTypeDetails.Select(s => s.OcCheckTypeName).Distinct().ToList(); - msg.MedicalResultDesc = $"{Convert.ToDateTime(customerOrgPara.StartDate).ToString("yyyy-MM-dd")},{msg.CustomerOrgName}组织{patientRegisters.Count}名接触" + - $"{1}作业工人进行职业健康检查,结果:{occupationalAbnormalDesc}"; - msg.OccupationalAbnormalDetails = occupationalAbnormalDetails; - - #endregion - - #region 体检结果一览表 - var medicalResultDetails = patientRegisterList.GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) + + #region 未见异常人员一览表 + var noAbnormalConditionsDetails = patientRegisterList.Where(m => !string.IsNullOrWhiteSpace(m.patientOccupationalDisease.OccupationalAbnormal) + && m.patientOccupationalDisease.OccupationalAbnormal.Contains("未见异常")) + .GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto { - //AnomalyIndex = !string.IsNullOrWhiteSpace(s.Key.OccupationalAbnormal) - //? $"{SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList())}\n结论:{s.Key.OccupationalAbnormal}" - //: $"{SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList())}", - AnomalyIndex = $"{SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList())}", DisplayOrder = index + 1, HandlingSuggestions = s.Key.OccupationalAbSuggestion, JobType = s.Key.JobType, @@ -466,9 +441,114 @@ namespace Shentun.Peis.OccupationalDiseaseReports MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), SummaryDoctorName = _cacheService.GetSurnameAsync(s.FirstOrDefault().patientRegister.AuditDoctorId).GetAwaiter().GetResult() }).ToList(); - msg.MedicalResultDetails = medicalResultDetails; + msg.NoAbnormalConditionsDetails = noAbnormalConditionsDetails; + #endregion + + #region 其他疾病或异常人员一览表 + + var otherDiseasesOrAbnormalIndividualsDetails = patientRegisterList.Where(m => !string.IsNullOrWhiteSpace(m.patientOccupationalDisease.OccupationalAbnormal) + && m.patientOccupationalDisease.OccupationalAbnormal.Contains("其他疾病或异常")) + .GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) + .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto + { + DisplayOrder = index + 1, + HandlingSuggestions = s.Key.OccupationalAbSuggestion, + JobType = s.Key.JobType, + PatientName = s.FirstOrDefault().patientRegister.PatientName, + PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo, + PoisonNames = string.Join(",", s.Select(ss => ss.posionHaveEmpty.DisplayName).Distinct()), + PoisonWorkTime = s.Key.PoisonWorkTime, + MedicalConclusion = s.Key.OccupationalAbnormal, + OcCheckTypeName = s.FirstOrDefault().ocCheckTypeHaveEmpty.DisplayName, + Age = s.FirstOrDefault().patientRegister.Age == null ? "" : s.FirstOrDefault().patientRegister.Age.ToString(), + IdNo = s.FirstOrDefault().patient.IdNo, + SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(), + MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), + SummaryDoctorName = _cacheService.GetSurnameAsync(s.FirstOrDefault().patientRegister.AuditDoctorId).GetAwaiter().GetResult() + }).ToList(); + msg.OtherDiseasesOrAbnormalIndividualsDetails = otherDiseasesOrAbnormalIndividualsDetails; + + #endregion + + #region 复查人员一览表 + + var reviewPersonnelDetails = patientRegisterList.Where(m => !string.IsNullOrWhiteSpace(m.patientOccupationalDisease.OccupationalAbnormal) + && m.patientOccupationalDisease.OccupationalAbnormal.Contains("复查")) + .GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) + .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto + { + DisplayOrder = index + 1, + HandlingSuggestions = s.Key.OccupationalAbSuggestion, + JobType = s.Key.JobType, + PatientName = s.FirstOrDefault().patientRegister.PatientName, + PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo, + PoisonNames = string.Join(",", s.Select(ss => ss.posionHaveEmpty.DisplayName).Distinct()), + PoisonWorkTime = s.Key.PoisonWorkTime, + MedicalConclusion = s.Key.OccupationalAbnormal, + OcCheckTypeName = s.FirstOrDefault().ocCheckTypeHaveEmpty.DisplayName, + Age = s.FirstOrDefault().patientRegister.Age == null ? "" : s.FirstOrDefault().patientRegister.Age.ToString(), + IdNo = s.FirstOrDefault().patient.IdNo, + SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(), + MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), + SummaryDoctorName = _cacheService.GetSurnameAsync(s.FirstOrDefault().patientRegister.AuditDoctorId).GetAwaiter().GetResult() + }).ToList(); + msg.ReviewPersonnelDetails = reviewPersonnelDetails; + + #endregion + + #region 职业禁忌证人员一览表 + + var occupationalContraindicationDetails = patientRegisterList.Where(m => !string.IsNullOrWhiteSpace(m.patientOccupationalDisease.OccupationalAbnormal) + && m.patientOccupationalDisease.OccupationalAbnormal.Contains("职业禁忌证")) + .GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) + .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto + { + DisplayOrder = index + 1, + HandlingSuggestions = s.Key.OccupationalAbSuggestion, + JobType = s.Key.JobType, + PatientName = s.FirstOrDefault().patientRegister.PatientName, + PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo, + PoisonNames = string.Join(",", s.Select(ss => ss.posionHaveEmpty.DisplayName).Distinct()), + PoisonWorkTime = s.Key.PoisonWorkTime, + MedicalConclusion = s.Key.OccupationalAbnormal, + OcCheckTypeName = s.FirstOrDefault().ocCheckTypeHaveEmpty.DisplayName, + Age = s.FirstOrDefault().patientRegister.Age == null ? "" : s.FirstOrDefault().patientRegister.Age.ToString(), + IdNo = s.FirstOrDefault().patient.IdNo, + SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(), + MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), + SummaryDoctorName = _cacheService.GetSurnameAsync(s.FirstOrDefault().patientRegister.AuditDoctorId).GetAwaiter().GetResult() + }).ToList(); + msg.OccupationalContraindicationDetails = occupationalContraindicationDetails; + + #endregion + + #region 疑似职业病人员一览表 + + var suspectedOccupationalDiseaseDetails = patientRegisterList.Where(m => !string.IsNullOrWhiteSpace(m.patientOccupationalDisease.OccupationalAbnormal) + && m.patientOccupationalDisease.OccupationalAbnormal.Contains("疑似职业病")) + .GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) + .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto + { + DisplayOrder = index + 1, + HandlingSuggestions = s.Key.OccupationalAbSuggestion, + JobType = s.Key.JobType, + PatientName = s.FirstOrDefault().patientRegister.PatientName, + PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo, + PoisonNames = string.Join(",", s.Select(ss => ss.posionHaveEmpty.DisplayName).Distinct()), + PoisonWorkTime = s.Key.PoisonWorkTime, + MedicalConclusion = s.Key.OccupationalAbnormal, + OcCheckTypeName = s.FirstOrDefault().ocCheckTypeHaveEmpty.DisplayName, + Age = s.FirstOrDefault().patientRegister.Age == null ? "" : s.FirstOrDefault().patientRegister.Age.ToString(), + IdNo = s.FirstOrDefault().patient.IdNo, + SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(), + MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), + SummaryDoctorName = _cacheService.GetSurnameAsync(s.FirstOrDefault().patientRegister.AuditDoctorId).GetAwaiter().GetResult() + }).ToList(); + msg.SuspectedOccupationalDiseaseDetails = suspectedOccupationalDiseaseDetails; + #endregion + #region 体检结果异常率明细 var asbitemAbnormalQuery = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id @@ -479,15 +559,28 @@ namespace Shentun.Peis.OccupationalDiseaseReports join registerCheckSummary in await _registerCheckSummaryRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckSummary.RegisterCheckId into registerCheckSummaryTemp from registerCheckSummaryEmpty in registerCheckSummaryTemp.DefaultIfEmpty() join patientOccupationalDisease in await _patientOccupationalDiseaseRepository.GetQueryableAsync() on patientRegister.Id equals patientOccupationalDisease.PatientRegisterId + join ocCheckType in await _ocCheckTypeRepository.GetQueryableAsync() on patientOccupationalDisease.OcCheckTypeId equals ocCheckType.Id into ocCheckTypeTemp + from ocCheckTypeHaveEmpty in ocCheckTypeTemp.DefaultIfEmpty() + join patientPoison in await _patientPoisonRepository.GetQueryableAsync() on patientRegister.Id equals patientPoison.PatientRegisterId into patientPoisonTemp + from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty() + join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp + from posionHaveEmpty in poisonTemp.DefaultIfEmpty() where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId - && !registerCheckSummaryEmpty.Summary.Contains("未见异常") + // && !registerCheckSummaryEmpty.Summary.Contains("未见异常") && patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration + && asbitemHaveEmpty.IsCheck == 'Y' select new { patientRegister, asbitemName = asbitemHaveEmpty.DisplayName, registerCheckCompleteFlag = registerCheck.CompleteFlag, - idNo = patient.IdNo + idNo = patient.IdNo, + summary = registerCheckSummaryEmpty != null ? registerCheckSummaryEmpty.Summary : "", + ocCheckTypeName = ocCheckTypeHaveEmpty != null ? ocCheckTypeHaveEmpty.DisplayName : "", + posionName = posionHaveEmpty != null ? posionHaveEmpty.DisplayName : "", + jobType = patientOccupationalDisease.JobType, + poisonWorkTime = patientOccupationalDisease.PoisonWorkTime, + occupationalAbnormal = patientOccupationalDisease.OccupationalAbnormal }); @@ -519,11 +612,12 @@ namespace Shentun.Peis.OccupationalDiseaseReports } + var asbitemAbnormalList = asbitemAbnormalQuery.ToList(); - var asbitemAbnormalCount = asbitemAbnormalList.Select(s => s.asbitemName).Distinct().Count(); + var asbitemAbnormalCount = asbitemAbnormalList.Where(m => !m.summary.Contains("未见异常")).Select(s => s.asbitemName).Distinct().Count(); - var medicalResultAbnormalRateDetails = asbitemAbnormalList.GroupBy(g => g.asbitemName) + var medicalResultAbnormalRateDetails = asbitemAbnormalList.Where(m => !m.summary.Contains("未见异常")).GroupBy(g => g.asbitemName) .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultAbnormalRateDetailDto { AbnormalPatientNames = string.Join("、", s.Select(ss => ss.patientRegister.PatientName).Distinct()), @@ -535,136 +629,110 @@ namespace Shentun.Peis.OccupationalDiseaseReports msg.MedicalResultAbnormalRateDetails = medicalResultAbnormalRateDetails; #endregion - #region 职业健康检查缺项情况表明细 <已经开始检查了,但是未检查完的> - var listOfMissingItemsDetails = asbitemAbnormalList.Where(m => m.registerCheckCompleteFlag == RegisterCheckCompleteFlag.UnChecked) - .GroupBy(g => g.patientRegister) + #region 缺项人员一览表 <已经开始检查了,但是未检查完的> + var listOfMissingItemsDetails = asbitemAbnormalList.Where(m => m.patientRegister.IsMedicalStart == 'Y' && m.registerCheckCompleteFlag == RegisterCheckCompleteFlag.UnChecked) + .GroupBy(g => g.patientRegister).OrderBy(o => o.FirstOrDefault().occupationalAbnormal) .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportListOfMissingItemsDetailDto { DisplayOrder = index + 1, IdNo = s.FirstOrDefault().idNo, PatientName = s.Key.PatientName, PatientRegisterNo = s.Key.PatientRegisterNo, - UnCheckAsbitemName = string.Join("、", s.Select(ss => ss.asbitemName)) + UnCheckAsbitemName = string.Join("、", s.Select(ss => ss.asbitemName)), + Age = s.Key.Age == null ? "" : s.Key.Age.ToString(), + JobType = s.FirstOrDefault().jobType, + MedicalStartDate = DataHelper.ConversionDateShortToString(s.Key.MedicalStartDate), + OcCheckTypeName = s.FirstOrDefault().ocCheckTypeName, + PoisonNames = string.Join(",", s.Where(m => !string.IsNullOrWhiteSpace(m.posionName)).Select(ss => ss.posionName).Distinct()), + PoisonWorkTime = s.FirstOrDefault().poisonWorkTime, + SexName = _cacheService.GetSexNameAsync(s.Key.SexId).GetAwaiter().GetResult(), + SummaryDoctorName = _cacheService.GetSurnameAsync(s.Key.AuditDoctorId).GetAwaiter().GetResult() }).ToList(); msg.ListOfMissingItemsDetails = listOfMissingItemsDetails; #endregion - #region 职业病未检人员一览表 <还没开始检查的> - + #region 未检人员一览表 <还没开始检查的> + // + var uninspectedPersonnelDetails = asbitemAbnormalList.Where(m => m.patientRegister.IsMedicalStart == 'N' && m.registerCheckCompleteFlag == RegisterCheckCompleteFlag.UnChecked) + .GroupBy(g => g.patientRegister).OrderBy(o => o.FirstOrDefault().occupationalAbnormal) + .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportUninspectedPersonnelDetailDto + { + DisplayOrder = index + 1, + IdNo = s.FirstOrDefault().idNo, + PatientName = s.Key.PatientName, + PatientRegisterNo = s.Key.PatientRegisterNo, + UnCheckAsbitemName = string.Join("、", s.Select(ss => ss.asbitemName)), + Age = s.Key.Age == null ? "" : s.Key.Age.ToString(), + JobType = s.FirstOrDefault().jobType, + MedicalStartDate = DataHelper.ConversionDateShortToString(s.Key.MedicalStartDate), + OcCheckTypeName = s.FirstOrDefault().ocCheckTypeName, + PoisonNames = string.Join(",", s.Where(m => !string.IsNullOrWhiteSpace(m.posionName)).Select(ss => ss.posionName).Distinct()), + PoisonWorkTime = s.FirstOrDefault().poisonWorkTime, + SexName = _cacheService.GetSexNameAsync(s.Key.SexId).GetAwaiter().GetResult(), + SummaryDoctorName = _cacheService.GetSurnameAsync(s.Key.AuditDoctorId).GetAwaiter().GetResult() + }).ToList(); + msg.UninspectedPersonnelDetails = uninspectedPersonnelDetails; #endregion - #region 职业病专科复查人员一览表明细 - - //复查结论ID - Guid reviewId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("复查"))).Id; - - var patientRegisterAbnormalQuery = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() - join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id - join sumSummaryHeader in (await _sumSummaryHeaderRepository.GetQueryableAsync()).Include(x => x.SumSummaryContents) on patientRegister.Id equals sumSummaryHeader.PatientRegisterId into sumSummaryHeaderTemp - from sumSummaryHeaderHaveEmpty in sumSummaryHeaderTemp.DefaultIfEmpty() - //join sumSummaryContent in await _sumSummaryContentRepository.GetQueryableAsync() on sumSummaryHeaderHaveEmpty.Id equals sumSummaryContent.SumSummaryHeaderId into sumSummaryContentTemp - //from sumSummaryContentHaveEmpty in sumSummaryContentTemp.DefaultIfEmpty() - join patientOccupationalDisease in await _patientOccupationalDiseaseRepository.GetQueryableAsync() on patientRegister.Id equals patientOccupationalDisease.PatientRegisterId - join patientPoison in await _patientPoisonRepository.GetQueryableAsync() on patientRegister.Id equals patientPoison.PatientRegisterId into patientPoisonTemp - from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty() - join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp - from poisonHaveEmpty in poisonTemp.DefaultIfEmpty() - where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId - && patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration - select new - { - patientRegister, - poisonName = poisonHaveEmpty.DisplayName, - occupationalAbnormalId = patientPoisonHaveEmpty.OccupationalAbnormalId, - patientOccupationalDisease, - sumSummaryHeaderHaveEmpty, - //sumSummaryContentHaveEmpty, - idNo = patient.IdNo - }); - - if (!string.IsNullOrEmpty(customerOrgPara.StartDate) && !string.IsNullOrEmpty(customerOrgPara.EndDate)) - { - if (customerOrgPara.DateType == '1') - { - patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(customerOrgPara.StartDate) && - m.patientRegister.CreationTime < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); - } - else if (customerOrgPara.DateType == '2') - { - patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && - m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); - } - else if (customerOrgPara.DateType == '3') - { - patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && - m.patientRegister.SummaryDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); - } - } + #region 体检结果总结 + msg.MedicalResultDesc = $"{Convert.ToDateTime(customerOrgPara.StartDate).ToString("yyyy-MM-dd")},{msg.CustomerOrgName}组织{sumCount}名接触" + + $"{1}作业工人进行职业健康检查。"; - if (customerOrgPara.CustomerOrgGroupId.Any()) + var occupationalAbnormalDetails = new List(); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto { - patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.CustomerOrgGroupId != null && customerOrgPara.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); - } - - - var patientRegisterAbnormalList = patientRegisterAbnormalQuery.ToList(); - - var reviewPersonnelDetails = patientRegisterAbnormalList.Where(m => m.occupationalAbnormalId == reviewId).GroupBy(g => g.patientRegister) - .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportReviewPersonnelDetailDto - { - IdNo = s.FirstOrDefault().idNo, - DisplayOrder = index + 1, - PatientName = s.Key.PatientName, - PatientRegisterNo = s.Key.PatientRegisterNo, - PoisonName = string.Join(",", s.Select(ss => ss.poisonName).Distinct()), - CheckResult = SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList()), - HandlingSuggestions = $"{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbnormal}\n{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbSuggestion}" - }).ToList(); - - msg.ReviewPersonnelDetails = reviewPersonnelDetails; - - #endregion - - #region 职业禁忌证人员一览表 - - //职业禁忌证结论ID - Guid contraindicationId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("禁忌"))).Id; - - var occupationalContraindicationDetails = patientRegisterAbnormalList.Where(m => m.occupationalAbnormalId == contraindicationId).GroupBy(g => g.patientRegister) - .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportOccupationalContraindicationDetailDto - { - IdNo = s.FirstOrDefault().idNo, - DisplayOrder = index + 1, - PatientName = s.Key.PatientName, - PatientRegisterNo = s.Key.PatientRegisterNo, - PoisonName = string.Join(",", s.Select(ss => ss.poisonName).Distinct()), - CheckResult = SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList()), - HandlingSuggestions = $"{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbnormal}\n{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbSuggestion}" - }).ToList(); - - msg.OccupationalContraindicationDetails = occupationalContraindicationDetails; - #endregion - - #region 疑似职业病人员一览表 + DisplayOrder = 1, + OccupationalAbnormalName = "未见异常", + OccupationalAbnormalCount = noAbnormalConditionsDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(noAbnormalConditionsDetails.Count * 100) / sumCount, 2), + }); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { + DisplayOrder = 2, + OccupationalAbnormalName = "其他疾病或异常", + OccupationalAbnormalCount = otherDiseasesOrAbnormalIndividualsDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(otherDiseasesOrAbnormalIndividualsDetails.Count * 100) / sumCount, 2), + }); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { + DisplayOrder = 3, + OccupationalAbnormalName = "复查", + OccupationalAbnormalCount = reviewPersonnelDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(reviewPersonnelDetails.Count * 100) / sumCount, 2), + }); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { + DisplayOrder = 4, + OccupationalAbnormalName = "职业禁忌症", + OccupationalAbnormalCount = occupationalContraindicationDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(occupationalContraindicationDetails.Count * 100) / sumCount, 2), + }); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { + DisplayOrder = 5, + OccupationalAbnormalName = "疑似职业病", + OccupationalAbnormalCount = suspectedOccupationalDiseaseDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(suspectedOccupationalDiseaseDetails.Count * 100) / sumCount, 2), + }); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { + DisplayOrder = 6, + OccupationalAbnormalName = "缺项", + OccupationalAbnormalCount = listOfMissingItemsDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(listOfMissingItemsDetails.Count * 100) / sumCount, 2), + }); + occupationalAbnormalDetails.Add(new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + { + DisplayOrder = 7, + OccupationalAbnormalName = "未检", + OccupationalAbnormalCount = uninspectedPersonnelDetails.Count, + OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(uninspectedPersonnelDetails.Count * 100) / sumCount, 2), + }); - //疑似职业病结论ID - Guid suspectedOccupationalDiseaseId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("疑似"))).Id; - - var suspectedOccupationalDiseaseDetails = patientRegisterAbnormalList.Where(m => m.occupationalAbnormalId == suspectedOccupationalDiseaseId).GroupBy(g => g.patientRegister) - .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportSuspectedOccupationalDiseaseDetailDto - { - IdNo = s.FirstOrDefault().idNo, - DisplayOrder = index + 1, - PatientName = s.Key.PatientName, - PatientRegisterNo = s.Key.PatientRegisterNo, - PoisonName = string.Join(",", s.Select(ss => ss.poisonName).Distinct()), - CheckResult = SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList()), - HandlingSuggestions = $"{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbnormal}\n{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbSuggestion}" - }).ToList(); + msg.OccupationalAbnormalDetails = occupationalAbnormalDetails; - msg.SuspectedOccupationalDiseaseDetails = suspectedOccupationalDiseaseDetails; #endregion } @@ -678,6 +746,441 @@ namespace Shentun.Peis.OccupationalDiseaseReports + ///// + ///// 获取单位职业病明细报告 + ///// + ///// + //[HttpPost("api/app/OccupationalDiseaseReport/GetCompanyOccupationalDiseaseDetailReport")] + //public async Task GetCompanyOccupationalDiseaseDetailReportAsync(GetCompanyOccupationalDiseaseDetailReportInputDto input) + //{ + + // if (!input.CustomerOrgs.Any()) + // throw new UserFriendlyException("单位信息不能为空"); + + // var customerOrgPara = input.CustomerOrgs.First(); + // if (customerOrgPara.CustomerOrgId == null || customerOrgPara.CustomerOrgId == Guid.Empty) + // throw new UserFriendlyException("单位不能为空"); + // if (customerOrgPara.CustomerOrgRegisterId == null || customerOrgPara.CustomerOrgRegisterId == Guid.Empty) + // throw new UserFriendlyException("单位体检次数不能为空"); + + // #region 人员信息 + // var query = from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + // join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id + // join patientOccupationalDisease in await _patientOccupationalDiseaseRepository.GetQueryableAsync() on patientRegister.Id equals patientOccupationalDisease.PatientRegisterId + // join patientPoison in await _patientPoisonRepository.GetQueryableAsync() on patientRegister.Id equals patientPoison.PatientRegisterId into patientPoisonTemp + // from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty() + // join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp + // from posionHaveEmpty in poisonTemp.DefaultIfEmpty() + // join occupationalAbnormal in await _occupationalAbnormalRepository.GetQueryableAsync() on patientPoisonHaveEmpty.OccupationalAbnormalId equals occupationalAbnormal.Id into occupationalAbnormalTemp + // from occupationalAbnormalHaveEmpty in occupationalAbnormalTemp.DefaultIfEmpty() + // join ocCheckType in await _ocCheckTypeRepository.GetQueryableAsync() on patientOccupationalDisease.OcCheckTypeId equals ocCheckType.Id into ocCheckTypeTemp + // from ocCheckTypeHaveEmpty in ocCheckTypeTemp.DefaultIfEmpty() + // join sumSummaryHeader in (await _sumSummaryHeaderRepository.GetQueryableAsync()).Include(x => x.SumSummaryContents) on patientRegister.Id equals sumSummaryHeader.PatientRegisterId into sumSummaryHeaderTemp + // from sumSummaryHeaderHaveEmpty in sumSummaryHeaderTemp.DefaultIfEmpty() + // where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId + // && patientRegister.CompleteFlag != PatientRegisterCompleteFlag.SumCheck + // select new + // { + // patientRegister, + // patient, + // patientOccupationalDisease, + // posionHaveEmpty, + // patientPoisonHaveEmpty, + // occupationalAbnormalHaveEmpty, + // ocCheckTypeHaveEmpty, + // sumSummaryHeaderHaveEmpty + // }; + + + // if (!string.IsNullOrEmpty(customerOrgPara.StartDate) && !string.IsNullOrEmpty(customerOrgPara.EndDate)) + // { + // if (customerOrgPara.DateType == '1') + // { + // query = query.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.CreationTime < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // else if (customerOrgPara.DateType == '2') + // { + // query = query.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // else if (customerOrgPara.DateType == '3') + // { + // query = query.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.SummaryDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // } + + + // if (customerOrgPara.CustomerOrgGroupId.Any()) + // { + // query = query.Where(m => m.patientRegister.CustomerOrgGroupId != null && customerOrgPara.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); + // } + + // #endregion + + + // var patientRegisterList = query.ToList(); + + + // var msg = new GetCompanyOccupationalDiseaseDetailReportDto + // { + // DiagnosisAndTreatmentDetails = new List(), + // ListOfMissingItemsDetails = new List(), + // MedicalResultAbnormalRateDetails = new List(), + // OccupationalContraindicationDetails = new List(), + // ReviewPersonnelDetails = new List(), + // SuspectedOccupationalDiseaseDetails = new List() + // }; + + + // if (patientRegisterList.Any()) + // { + + // //人员 + // var patientRegisters = patientRegisterList.Select(m => m.patientRegister).Distinct().ToList(); + + // var patientRegisterfisrt = patientRegisterList.First(); + + // msg.CertificateNo = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "medical_center_qualification_certificate_number"); + // msg.CustomerOrgName = await _cacheService.GetTopCustomerOrgNameAsync(patientRegisterfisrt.patientRegister.CustomerOrgId); + // msg.MedicalCenterName = (await _organizationUnitRepository.GetAsync(patientRegisterfisrt.patientRegister.MedicalCenterId)).DisplayName; + // msg.MedicalStartDate = Convert.ToDateTime(customerOrgPara.StartDate).ToString("yyyy年MM月dd日"); + // msg.RecordNumber = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "medical_center_record_number"); + // msg.ReportDate = DateTime.Now.ToString("yyyy年MM月dd日"); + + // msg.OcCheckTypeNames = (await _ocCheckTypeRepository.GetListAsync()).Select(s => s.DisplayName).ToList(); + + // #region 检查情况报告列表 + + // var ocCheckTypeDetails = patientRegisterList.GroupBy(g => new { g.patientRegister, g.patientOccupationalDisease.OcCheckTypeId }) + // .Select(s => new + // { + // posionNames = string.Join("、", s.Where(m => m.posionHaveEmpty != null) + // .OrderBy(o => o.posionHaveEmpty.DisplayOrder).Select(ss => ss.posionHaveEmpty.DisplayName).Distinct()), + // ocCheckTypeName = s.FirstOrDefault().ocCheckTypeHaveEmpty != null ? s.FirstOrDefault().ocCheckTypeHaveEmpty.DisplayName : "", + // }).ToList() + // .GroupBy(g => new { g.ocCheckTypeName, g.posionNames }) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportOcCheckTypeSummaryDto + // { + // DisplayOrder = index + 1, + // OcCheckTypeName = s.Key.ocCheckTypeName, + // CheckCount = s.Count(), + // PoisonNames = s.Key.posionNames + // }).ToList(); + + // msg.OcCheckTypeDetails = ocCheckTypeDetails; + + // #endregion + + // #region 体检结果总结 + // var occupationalAbnormalDetails = patientRegisterList.Where(m => m.occupationalAbnormalHaveEmpty != null).ToList() + // .GroupBy(g => new { g.patientRegister, g.occupationalAbnormalHaveEmpty }) + // .Select(s => new { occupationalAbnormalName = s.Key.occupationalAbnormalHaveEmpty.DisplayName }).ToList() + // .GroupBy(g => g.occupationalAbnormalName) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportOccupationalAbnormalDetailDto + // { + // DisplayOrder = index + 1, + // OccupationalAbnormalCount = s.Count(), + // OccupationalAbnormalName = s.Key, + // OccupationalAbnormalRatio = Decimal.Round(Convert.ToDecimal(s.Count() * 100) / patientRegisters.Count, 2) + // }).ToList(); + + + // string occupationalAbnormalDesc = ""; + + // foreach (var item in occupationalAbnormalDetails) + // { + // if (occupationalAbnormalDetails.IndexOf(item) == occupationalAbnormalDetails.Count - 1) + // occupationalAbnormalDesc += $"{item.OccupationalAbnormalName}{item.OccupationalAbnormalCount}人。"; + // else + // occupationalAbnormalDesc += $"{item.OccupationalAbnormalName}{item.OccupationalAbnormalCount}人,"; + // } + + // msg.MedicalResultDesc = $"{Convert.ToDateTime(customerOrgPara.StartDate).ToString("yyyy-MM-dd")},{msg.CustomerOrgName}组织{patientRegisters.Count}名接触" + + // $"{1}作业工人进行职业健康检查,结果:{occupationalAbnormalDesc}"; + // msg.OccupationalAbnormalDetails = occupationalAbnormalDetails; + + // #endregion + + // #region 体检结果一览表 + // var medicalResultDetails = patientRegisterList.GroupBy(g => g.patientOccupationalDisease).OrderBy(o => o.Key.OccupationalAbnormal) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultDetailDto + // { + // //AnomalyIndex = !string.IsNullOrWhiteSpace(s.Key.OccupationalAbnormal) + // //? $"{SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList())}\n结论:{s.Key.OccupationalAbnormal}" + // //: $"{SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList())}", + // AnomalyIndex = $"{SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList())}", + // DisplayOrder = index + 1, + // HandlingSuggestions = s.Key.OccupationalAbSuggestion, + // JobType = s.Key.JobType, + // PatientName = s.FirstOrDefault().patientRegister.PatientName, + // PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo, + // PoisonNames = string.Join(",", s.Select(ss => ss.posionHaveEmpty.DisplayName).Distinct()), + // PoisonWorkTime = s.Key.PoisonWorkTime, + // MedicalConclusion = s.Key.OccupationalAbnormal, + // OcCheckTypeName = s.FirstOrDefault().ocCheckTypeHaveEmpty.DisplayName, + // Age = s.FirstOrDefault().patientRegister.Age == null ? "" : s.FirstOrDefault().patientRegister.Age.ToString(), + // IdNo = s.FirstOrDefault().patient.IdNo, + // SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(), + // MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate), + // SummaryDoctorName = _cacheService.GetSurnameAsync(s.FirstOrDefault().patientRegister.AuditDoctorId).GetAwaiter().GetResult() + // }).ToList(); + // msg.MedicalResultDetails = medicalResultDetails; + // #endregion + + // #region 体检结果异常率明细 + // var asbitemAbnormalQuery = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + // join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id + // 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 asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id into asbitemTemp + // from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty() + // join registerCheckSummary in await _registerCheckSummaryRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckSummary.RegisterCheckId into registerCheckSummaryTemp + // from registerCheckSummaryEmpty in registerCheckSummaryTemp.DefaultIfEmpty() + // join patientOccupationalDisease in await _patientOccupationalDiseaseRepository.GetQueryableAsync() on patientRegister.Id equals patientOccupationalDisease.PatientRegisterId + // join ocCheckType in await _ocCheckTypeRepository.GetQueryableAsync() on patientOccupationalDisease.OcCheckTypeId equals ocCheckType.Id into ocCheckTypeTemp + // from ocCheckTypeHaveEmpty in ocCheckTypeTemp.DefaultIfEmpty() + // join patientPoison in await _patientPoisonRepository.GetQueryableAsync() on patientRegister.Id equals patientPoison.PatientRegisterId into patientPoisonTemp + // from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty() + // join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp + // from posionHaveEmpty in poisonTemp.DefaultIfEmpty() + // where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId + // // && !registerCheckSummaryEmpty.Summary.Contains("未见异常") + // && patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration + // && asbitemHaveEmpty.IsCheck == 'Y' + // select new + // { + // patientRegister, + // asbitemName = asbitemHaveEmpty.DisplayName, + // registerCheckCompleteFlag = registerCheck.CompleteFlag, + // idNo = patient.IdNo, + // summary = registerCheckSummaryEmpty != null ? registerCheckSummaryEmpty.Summary : "", + // ocCheckTypeName = ocCheckTypeHaveEmpty != null ? ocCheckTypeHaveEmpty.DisplayName : "", + // posionName = posionHaveEmpty != null ? posionHaveEmpty.DisplayName : "", + // jobType = patientOccupationalDisease.JobType, + // poisonWorkTime = patientOccupationalDisease.PoisonWorkTime, + // occupationalAbnormal = patientOccupationalDisease.OccupationalAbnormal + // }); + + + + + // if (!string.IsNullOrEmpty(customerOrgPara.StartDate) && !string.IsNullOrEmpty(customerOrgPara.EndDate)) + // { + // if (customerOrgPara.DateType == '1') + // { + // asbitemAbnormalQuery = asbitemAbnormalQuery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.CreationTime < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // else if (customerOrgPara.DateType == '2') + // { + // asbitemAbnormalQuery = asbitemAbnormalQuery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // else if (customerOrgPara.DateType == '3') + // { + // asbitemAbnormalQuery = asbitemAbnormalQuery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.SummaryDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // } + + + // if (customerOrgPara.CustomerOrgGroupId.Any()) + // { + // asbitemAbnormalQuery = asbitemAbnormalQuery.Where(m => m.patientRegister.CustomerOrgGroupId != null && customerOrgPara.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); + // } + + + + // var asbitemAbnormalList = asbitemAbnormalQuery.ToList(); + + // var asbitemAbnormalCount = asbitemAbnormalList.Where(m => !m.summary.Contains("未见异常")).Select(s => s.asbitemName).Distinct().Count(); + + // var medicalResultAbnormalRateDetails = asbitemAbnormalList.Where(m => !m.summary.Contains("未见异常")).GroupBy(g => g.asbitemName) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportMedicalResultAbnormalRateDetailDto + // { + // AbnormalPatientNames = string.Join("、", s.Select(ss => ss.patientRegister.PatientName).Distinct()), + // AsbitemName = s.Key, + // DisplayOrder = index + 1, + // AbnormalRate = Decimal.Round(Convert.ToDecimal(s.Count() * 100) / asbitemAbnormalCount, 2) + // }).ToList(); + + // msg.MedicalResultAbnormalRateDetails = medicalResultAbnormalRateDetails; + // #endregion + + // #region 职业健康检查缺项情况表明细 <已经开始检查了,但是未检查完的> + // var listOfMissingItemsDetails = asbitemAbnormalList.Where(m => m.patientRegister.IsMedicalStart == 'Y' && m.registerCheckCompleteFlag == RegisterCheckCompleteFlag.UnChecked) + // .GroupBy(g => g.patientRegister).OrderBy(o => o.FirstOrDefault().occupationalAbnormal) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportListOfMissingItemsDetailDto + // { + // DisplayOrder = index + 1, + // IdNo = s.FirstOrDefault().idNo, + // PatientName = s.Key.PatientName, + // PatientRegisterNo = s.Key.PatientRegisterNo, + // UnCheckAsbitemName = string.Join("、", s.Select(ss => ss.asbitemName)), + // Age = s.Key.Age == null ? "" : s.Key.Age.ToString(), + // JobType = s.FirstOrDefault().jobType, + // MedicalStartDate = DataHelper.ConversionDateShortToString(s.Key.MedicalStartDate), + // OcCheckTypeName = s.FirstOrDefault().ocCheckTypeName, + // PoisonNames = string.Join(",", s.Where(m => !string.IsNullOrWhiteSpace(m.posionName)).Select(ss => ss.posionName).Distinct()), + // PoisonWorkTime = s.FirstOrDefault().poisonWorkTime, + // SexName = _cacheService.GetSexNameAsync(s.Key.SexId).GetAwaiter().GetResult(), + // SummaryDoctorName = _cacheService.GetSurnameAsync(s.Key.AuditDoctorId).GetAwaiter().GetResult() + // }).ToList(); + // msg.ListOfMissingItemsDetails = listOfMissingItemsDetails; + // #endregion + + + + // #region 职业病未检人员一览表 <还没开始检查的> + // // + // var uninspectedPersonnelDetails = asbitemAbnormalList.Where(m => m.patientRegister.IsMedicalStart == 'N' && m.registerCheckCompleteFlag == RegisterCheckCompleteFlag.UnChecked) + // .GroupBy(g => g.patientRegister).OrderBy(o => o.FirstOrDefault().occupationalAbnormal) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportUninspectedPersonnelDetailDto + // { + // DisplayOrder = index + 1, + // IdNo = s.FirstOrDefault().idNo, + // PatientName = s.Key.PatientName, + // PatientRegisterNo = s.Key.PatientRegisterNo, + // UnCheckAsbitemName = string.Join("、", s.Select(ss => ss.asbitemName)), + // Age = s.Key.Age == null ? "" : s.Key.Age.ToString(), + // JobType = s.FirstOrDefault().jobType, + // MedicalStartDate = DataHelper.ConversionDateShortToString(s.Key.MedicalStartDate), + // OcCheckTypeName = s.FirstOrDefault().ocCheckTypeName, + // PoisonNames = string.Join(",", s.Where(m => !string.IsNullOrWhiteSpace(m.posionName)).Select(ss => ss.posionName).Distinct()), + // PoisonWorkTime = s.FirstOrDefault().poisonWorkTime, + // SexName = _cacheService.GetSexNameAsync(s.Key.SexId).GetAwaiter().GetResult(), + // SummaryDoctorName = _cacheService.GetSurnameAsync(s.Key.AuditDoctorId).GetAwaiter().GetResult() + // }).ToList(); + // msg.UninspectedPersonnelDetails = uninspectedPersonnelDetails; + // #endregion + + // #region 职业病专科复查人员一览表明细 + + // //复查结论ID + // Guid reviewId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("复查"))).Id; + + // var patientRegisterAbnormalQuery = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + // join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id + // join sumSummaryHeader in (await _sumSummaryHeaderRepository.GetQueryableAsync()).Include(x => x.SumSummaryContents) on patientRegister.Id equals sumSummaryHeader.PatientRegisterId into sumSummaryHeaderTemp + // from sumSummaryHeaderHaveEmpty in sumSummaryHeaderTemp.DefaultIfEmpty() + // //join sumSummaryContent in await _sumSummaryContentRepository.GetQueryableAsync() on sumSummaryHeaderHaveEmpty.Id equals sumSummaryContent.SumSummaryHeaderId into sumSummaryContentTemp + // //from sumSummaryContentHaveEmpty in sumSummaryContentTemp.DefaultIfEmpty() + // join patientOccupationalDisease in await _patientOccupationalDiseaseRepository.GetQueryableAsync() on patientRegister.Id equals patientOccupationalDisease.PatientRegisterId + // join patientPoison in await _patientPoisonRepository.GetQueryableAsync() on patientRegister.Id equals patientPoison.PatientRegisterId into patientPoisonTemp + // from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty() + // join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp + // from poisonHaveEmpty in poisonTemp.DefaultIfEmpty() + // where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId + // && patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration + // select new + // { + // patientRegister, + // poisonName = poisonHaveEmpty.DisplayName, + // occupationalAbnormalId = patientPoisonHaveEmpty.OccupationalAbnormalId, + // patientOccupationalDisease, + // sumSummaryHeaderHaveEmpty, + // //sumSummaryContentHaveEmpty, + // idNo = patient.IdNo + // }); + + + // if (!string.IsNullOrEmpty(customerOrgPara.StartDate) && !string.IsNullOrEmpty(customerOrgPara.EndDate)) + // { + // if (customerOrgPara.DateType == '1') + // { + // patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.CreationTime < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // else if (customerOrgPara.DateType == '2') + // { + // patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // else if (customerOrgPara.DateType == '3') + // { + // patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) && + // m.patientRegister.SummaryDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1)); + // } + // } + + + // if (customerOrgPara.CustomerOrgGroupId.Any()) + // { + // patientRegisterAbnormalQuery = patientRegisterAbnormalQuery.Where(m => m.patientRegister.CustomerOrgGroupId != null && customerOrgPara.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); + // } + + + // var patientRegisterAbnormalList = patientRegisterAbnormalQuery.ToList(); + + // var reviewPersonnelDetails = patientRegisterAbnormalList.Where(m => m.occupationalAbnormalId == reviewId).GroupBy(g => g.patientRegister) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportReviewPersonnelDetailDto + // { + // IdNo = s.FirstOrDefault().idNo, + // DisplayOrder = index + 1, + // PatientName = s.Key.PatientName, + // PatientRegisterNo = s.Key.PatientRegisterNo, + // PoisonName = string.Join(",", s.Select(ss => ss.poisonName).Distinct()), + // CheckResult = SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList()), + // HandlingSuggestions = $"{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbnormal}\n{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbSuggestion}" + // }).ToList(); + + // msg.ReviewPersonnelDetails = reviewPersonnelDetails; + + // #endregion + + // #region 职业禁忌证人员一览表 + + // //职业禁忌证结论ID + // Guid contraindicationId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("禁忌"))).Id; + + // var occupationalContraindicationDetails = patientRegisterAbnormalList.Where(m => m.occupationalAbnormalId == contraindicationId).GroupBy(g => g.patientRegister) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportOccupationalContraindicationDetailDto + // { + // IdNo = s.FirstOrDefault().idNo, + // DisplayOrder = index + 1, + // PatientName = s.Key.PatientName, + // PatientRegisterNo = s.Key.PatientRegisterNo, + // PoisonName = string.Join(",", s.Select(ss => ss.poisonName).Distinct()), + // CheckResult = SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList()), + // HandlingSuggestions = $"{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbnormal}\n{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbSuggestion}" + // }).ToList(); + + // msg.OccupationalContraindicationDetails = occupationalContraindicationDetails; + // #endregion + + // #region 疑似职业病人员一览表 + + // //疑似职业病结论ID + // Guid suspectedOccupationalDiseaseId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("疑似"))).Id; + + // var suspectedOccupationalDiseaseDetails = patientRegisterAbnormalList.Where(m => m.occupationalAbnormalId == suspectedOccupationalDiseaseId).GroupBy(g => g.patientRegister) + // .Select((s, index) => new GetCompanyOccupationalDiseaseDetailReportSuspectedOccupationalDiseaseDetailDto + // { + // IdNo = s.FirstOrDefault().idNo, + // DisplayOrder = index + 1, + // PatientName = s.Key.PatientName, + // PatientRegisterNo = s.Key.PatientRegisterNo, + // PoisonName = string.Join(",", s.Select(ss => ss.poisonName).Distinct()), + // CheckResult = SetSumSummarys(s.Select(ss => ss.sumSummaryHeaderHaveEmpty).Distinct().ToList()), + // HandlingSuggestions = $"{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbnormal}\n{s.FirstOrDefault().patientOccupationalDisease.OccupationalAbSuggestion}" + // }).ToList(); + + // msg.SuspectedOccupationalDiseaseDetails = suspectedOccupationalDiseaseDetails; + // #endregion + // } + + + + + + + // return msg; + //} + + + /// /// 获取单位职业病结果Excel数据 diff --git a/src/Shentun.Peis.HttpApi.Host/appsettings.json b/src/Shentun.Peis.HttpApi.Host/appsettings.json index 62f4b88..33234d4 100644 --- a/src/Shentun.Peis.HttpApi.Host/appsettings.json +++ b/src/Shentun.Peis.HttpApi.Host/appsettings.json @@ -5,13 +5,13 @@ "CorsOrigins": "https://*.Peis.com,http://localhost:4200,http://localhost:9530,http://192.168.1.108:9530,http://localhost:8080,http://localhost:8081", "RedirectAllowedUrls": "http://localhost:9530", "SelfUser": "admin", - "SelfPassword": "Shentun!@#qwe123", + "SelfPassword": "666666", "LisUser": "admin", - "LisPassword": "Shentun!@#qwe123" + "LisPassword": "666666" }, "ConnectionStrings": { - //"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123;" - "Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis240701;User ID=postgres;Password=shentun123;" + "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;" //"Default": "Host=192.168.2.67;Port=5432;Database=ShentunPeis;User ID=postgres;Password=st123;" }, "AuthServer": {