diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs
index 4679f39..6a22f0f 100644
--- a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs
+++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs
@@ -18,6 +18,11 @@ namespace Shentun.WebPeis.AppointSchedules
public int SingleNumberLimit { get; set; }
+ ///
+ /// 当天总限制数量
+ ///
+ public int SumNumberLimit { get; set; }
+
///
/// 体检中心ID
///
diff --git a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
index 7b445d6..22acc58 100644
--- a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
+++ b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
@@ -266,33 +266,46 @@ namespace Shentun.WebPeis.AppointSchedules
[HttpPost("api/app/AppointSchedule/GetAppointScheduleList")]
public async Task> GetAppointScheduleListAsync(GetAppointScheduleListInputDto input)
{
- var entList = (await _appointScheduleRepository.GetQueryableAsync()).Where(m => m.MedicalCenterId == input.MedicalCenterId);
+ //var entList = (await _appointScheduleRepository.GetQueryableAsync())
+ // .Where(m => m.MedicalCenterId == input.MedicalCenterId);
+
+ var entList = from appointSchedule in await _appointScheduleRepository.GetQueryableAsync()
+ join appointScheduleTime in await _appointScheduleTimeRepository.GetQueryableAsync()
+ on appointSchedule.AppointScheduleId equals appointScheduleTime.AppointScheduleId into appointScheduleTimeTemp
+ from appointScheduleTimeHaveEmpty in appointScheduleTimeTemp.DefaultIfEmpty()
+ where appointSchedule.MedicalCenterId == input.MedicalCenterId
+ select new
+ {
+ appointSchedule,
+ NumberLimit = appointScheduleTimeHaveEmpty != null ? appointScheduleTimeHaveEmpty.NumberLimit : 0
+ };
if (!string.IsNullOrWhiteSpace(input.StartDate))
{
if (!string.IsNullOrWhiteSpace(input.EndDate))
{
- entList = entList.Where(m => m.AppointDate.Date >= DateTime.Parse(input.StartDate)
- && m.AppointDate.Date <= DateTime.Parse(input.EndDate));
+ entList = entList.Where(m => m.appointSchedule.AppointDate.Date >= DateTime.Parse(input.StartDate)
+ && m.appointSchedule.AppointDate.Date <= DateTime.Parse(input.EndDate));
}
else
{
- entList = entList.Where(m => m.AppointDate.Date >= DateTime.Parse(input.StartDate));
+ entList = entList.Where(m => m.appointSchedule.AppointDate.Date >= DateTime.Parse(input.StartDate));
}
}
- var entListDto = entList.ToList().Select(s => new AppointScheduleDto
+ var entListDto = entList.ToList().GroupBy(g => g.appointSchedule).Select(s => new AppointScheduleDto
{
- AppointDate = DataHelper.ConversionDateShortToString(s.AppointDate),
- AppointScheduleId = s.AppointScheduleId,
- CreationTime = s.CreationTime,
- CreatorId = s.CreatorId,
- LastModificationTime = s.LastModificationTime,
- LastModifierId = s.LastModifierId,
- CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
- LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result,
- SingleNumberLimit = s.SingleNumberLimit,
- IsWork = s.IsWork,
- MedicalCenterId = s.MedicalCenterId
+ AppointDate = DataHelper.ConversionDateShortToString(s.Key.AppointDate),
+ AppointScheduleId = s.Key.AppointScheduleId,
+ CreationTime = s.Key.CreationTime,
+ CreatorId = s.Key.CreatorId,
+ LastModificationTime = s.Key.LastModificationTime,
+ LastModifierId = s.Key.LastModifierId,
+ CreatorName = _cacheService.GetSurnameAsync(s.Key.CreatorId).Result,
+ LastModifierName = _cacheService.GetSurnameAsync(s.Key.LastModifierId).Result,
+ SingleNumberLimit = s.Key.SingleNumberLimit,
+ IsWork = s.Key.IsWork,
+ MedicalCenterId = s.Key.MedicalCenterId,
+ SumNumberLimit = s.Sum(m => m.NumberLimit)
}).OrderBy(o => o.AppointDate).ToList();
return entListDto;
}
diff --git a/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs b/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
index ebb7525..93d0368 100644
--- a/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
+++ b/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
@@ -1,6 +1,7 @@
using AutoMapper.Internal.Mappers;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Shentun.WebPeis.DiseaseRisks;
using Shentun.WebPeis.Models;
using System;
using System.Collections.Generic;
@@ -78,6 +79,39 @@ namespace Shentun.WebPeis.DiseaseRiskLevels
return entdto;
+ }
+
+
+ ///
+ /// 获取列表 根据疾病风险ID
+ ///
+ ///
+ [HttpPost("api/app/DiseaseRiskLevel/GetDiseaseRiskLevelByDiseaseRiskId")]
+ public async Task> GetDiseaseRiskLevelByDiseaseRiskIdAsync(DiseaseRiskIdInputDto input)
+ {
+ var entlist = (await _diseaseRiskLevelRepository.GetQueryableAsync()).Where(m => m.DiseaseRiskId == input.DiseaseRiskId);
+
+ var entdto = entlist.Select(s => new DiseaseRiskLevelDto
+ {
+ CreationTime = s.CreationTime,
+ CreatorId = s.CreatorId,
+ DisplayOrder = s.DisplayOrder,
+ LastModificationTime = s.LastModificationTime,
+ LastModifierId = s.LastModifierId,
+ SimpleCode = s.SimpleCode,
+ DiagnosisFunction = s.DiagnosisFunction,
+ DiseaseRiskId = s.DiseaseRiskId,
+ DiseaseRiskLevelId = s.DiseaseRiskLevelId,
+ DiseaseRiskLevelName = s.DiseaseRiskLevelName,
+ Explain = s.Explain,
+ Suggestion = s.Suggestion,
+ CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result,
+ LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result
+ }).OrderBy(o => o.DisplayOrder).ToList();
+
+ return entdto;
+
+
}
///