diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointScheduleTimes/AppointScheduleTimeDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointScheduleTimes/AppointScheduleTimeDto.cs
new file mode 100644
index 0000000..b0e1233
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/AppointScheduleTimes/AppointScheduleTimeDto.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.AppointScheduleTimes
+{
+ public class AppointScheduleTimeDto: AuditedEntityDtoName
+ {
+ ///
+ /// 主键
+ ///
+ public Guid AppointScheduleTimeId { get; set; }
+ ///
+ /// 开始时间
+ ///
+
+ public string StartTime { get; set; }
+ ///
+ /// 结束时间
+ ///
+
+ public string StopTime { get; set; }
+ ///
+ /// 数量限制
+ ///
+
+ public int NumberLimit { get; set; }
+ ///
+ /// 已预约数
+ ///
+
+ public int AppointNumber { get; set; }
+
+
+
+
+ public Guid AppointScheduleId { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs
new file mode 100644
index 0000000..9ebd3d9
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleDto.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.AppointSchedules
+{
+ public class AppointScheduleDto: AuditedEntityDtoName
+ {
+ ///
+ /// 预约日期
+ ///
+ public string AppointDate { get; set; }
+
+ ///
+ /// 上午数量限制
+ ///
+ public int AmNumberLimit { get; set; }
+ ///
+ /// 下午数量限制
+ ///
+ public int PmNumberLimit { get; set; }
+ ///
+ /// 个人体检数量限制
+ ///
+
+ public int SingleNumberLimit { get; set; }
+
+ ///
+ /// 主键
+ ///
+
+ public Guid AppointScheduleId { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleIdInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleIdInputDto.cs
new file mode 100644
index 0000000..270a3e7
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/AppointScheduleIdInputDto.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.AppointSchedules
+{
+ public class AppointScheduleIdInputDto
+ {
+ ///
+ /// 预约计划主表ID
+ ///
+ public Guid AppointScheduleId { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/DeleteAppointScheduleInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/DeleteAppointScheduleInputDto.cs
new file mode 100644
index 0000000..58d68af
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/DeleteAppointScheduleInputDto.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.AppointSchedules
+{
+ public class DeleteAppointScheduleInputDto
+ {
+ ///
+ /// ID集合
+ ///
+ public List AppointScheduleIds { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/UpdateAppointScheduleNumberLimitInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/UpdateAppointScheduleNumberLimitInputDto.cs
index 01f0f69..9212cbd 100644
--- a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/UpdateAppointScheduleNumberLimitInputDto.cs
+++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/UpdateAppointScheduleNumberLimitInputDto.cs
@@ -19,5 +19,10 @@ namespace Shentun.WebPeis.AppointSchedules
/// 下午数量限制
///
public int? PmNumberLimit { get; set; }
+
+ ///
+ /// 个人体检数量限制
+ ///
+ public int? SingleNumberLimit { get; set; }
}
}
diff --git a/src/Shentun.WebPeis.Application/AppointScheduleTimes/AppointScheduleTimeAppService.cs b/src/Shentun.WebPeis.Application/AppointScheduleTimes/AppointScheduleTimeAppService.cs
new file mode 100644
index 0000000..009b35d
--- /dev/null
+++ b/src/Shentun.WebPeis.Application/AppointScheduleTimes/AppointScheduleTimeAppService.cs
@@ -0,0 +1,63 @@
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Shentun.WebPeis.AppointSchedules;
+using Shentun.WebPeis.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+
+namespace Shentun.WebPeis.AppointScheduleTimes
+{
+ ///
+ /// 预约计划明细
+ ///
+ [ApiExplorerSettings(GroupName = "Work")]
+ [Authorize]
+ public class AppointScheduleTimeAppService : ApplicationService
+ {
+
+ private readonly IRepository _appointScheduleTimeRepository;
+ private readonly CacheService _cacheService;
+
+ public AppointScheduleTimeAppService(
+ IRepository appointScheduleTimeRepository,
+ CacheService cacheService
+ )
+ {
+ _appointScheduleTimeRepository = appointScheduleTimeRepository;
+ _cacheService = cacheService;
+ }
+
+ ///
+ /// 获取预约计划明细
+ ///
+ ///
+ [HttpPost("api/app/AppointScheduleTime/GetAppointScheduleTimeListByAppointScheduleId")]
+ public async Task> GetAppointScheduleTimeListByAppointScheduleIdAsync(AppointScheduleIdInputDto input)
+ {
+ var entList = (await _appointScheduleTimeRepository.GetQueryableAsync())
+ .Where(m => m.AppointScheduleId == input.AppointScheduleId)
+ .OrderBy(o => o.StartTime);
+ var entListDto = entList.Select(s => new AppointScheduleTimeDto
+ {
+ 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,
+ AppointNumber = s.AppointNumber,
+ AppointScheduleTimeId = s.AppointScheduleTimeId,
+ NumberLimit = s.NumberLimit,
+ StartTime = DataHelper.ConvertTimeOnlyToString(s.StartTime),
+ StopTime = DataHelper.ConvertTimeOnlyToString(s.StopTime)
+ }).ToList();
+ return entListDto;
+ }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
index 6eb6feb..3d5d441 100644
--- a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
+++ b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
@@ -51,7 +51,6 @@ namespace Shentun.WebPeis.AppointSchedules
{
var appointScheduleDateDtos = await GetAppointScheduleDateTestListAsync();
return appointScheduleDateDtos;
-
}
@@ -232,6 +231,7 @@ namespace Shentun.WebPeis.AppointSchedules
}
}
+
}
@@ -307,7 +307,7 @@ namespace Shentun.WebPeis.AppointSchedules
m.StartTime.Hour,
m.StartTime.Minute,
m.StartTime.Second) > DateTime.Now
- &&m.StartTime> amStopTime);
+ && m.StartTime > amStopTime);
if (addNumberLimit > 0)
{
@@ -335,6 +335,68 @@ namespace Shentun.WebPeis.AppointSchedules
}
+
+
+ if (input.AmNumberLimit != null)
+ {
+ appointScheduleEnt.AmNumberLimit = input.AmNumberLimit.Value;
+ }
+
+ if (input.PmNumberLimit != null)
+ {
+ appointScheduleEnt.PmNumberLimit = input.PmNumberLimit.Value;
+ }
+
+ if (input.SingleNumberLimit != null)
+ {
+ appointScheduleEnt.SingleNumberLimit = input.SingleNumberLimit.Value;
+ }
+
+ await _appointScheduleRepository.UpdateAsync(appointScheduleEnt);
}
+
+
+
+ ///
+ /// 获取预约计划
+ ///
+ ///
+ [HttpPost("api/app/AppointSchedule/GetAppointScheduleNumberLimitList")]
+ public async Task> GetAppointScheduleListAsync()
+ {
+ var entList = await _appointScheduleRepository.GetQueryableAsync();
+ var entListDto = entList.Select(s => new AppointScheduleDto
+ {
+ AmNumberLimit = s.AmNumberLimit,
+ 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,
+ PmNumberLimit = s.PmNumberLimit,
+ SingleNumberLimit = s.SingleNumberLimit
+ }).OrderBy(o => o.AppointDate).ToList();
+ return entListDto;
+ }
+
+ ///
+ /// 删除预约计划
+ ///
+ ///
+ [HttpPost("api/app/AppointSchedule/DeleteAppointScheduleNumberLimit")]
+ public async Task DeleteAppointScheduleAsync(DeleteAppointScheduleInputDto input)
+ {
+ if (input.AppointScheduleIds.Any())
+ {
+ foreach (var item in collection)
+ {
+ await _appointScheduleManager.CheckAndDeleteAsync(item);
+ }
+ }
+ }
+
}
}
diff --git a/src/Shentun.WebPeis.Domain/AppointSchedules/AppointScheduleManager.cs b/src/Shentun.WebPeis.Domain/AppointSchedules/AppointScheduleManager.cs
index 3e08013..6d36352 100644
--- a/src/Shentun.WebPeis.Domain/AppointSchedules/AppointScheduleManager.cs
+++ b/src/Shentun.WebPeis.Domain/AppointSchedules/AppointScheduleManager.cs
@@ -13,12 +13,14 @@ namespace Shentun.WebPeis.AppointSchedules
public class AppointScheduleManager : DomainService
{
private readonly IRepository _appointScheduleRepository;
+ private readonly IRepository _appointScheduleTimeRepository;
public AppointScheduleManager(
- IRepository appointScheduleRepository
- )
+ IRepository appointScheduleRepository,
+ IRepository appointScheduleTimeRepository)
{
_appointScheduleRepository = appointScheduleRepository;
+ _appointScheduleTimeRepository = appointScheduleTimeRepository;
}
///
@@ -57,5 +59,21 @@ namespace Shentun.WebPeis.AppointSchedules
}
}
+
+ ///
+ /// 删除
+ ///
+ ///
+ ///
+ ///
+ public async Task CheckAndDeleteAsync(Guid appointScheduleId)
+ {
+ //先删除明细
+
+ await _appointScheduleTimeRepository.DeleteAsync(m => m.AppointScheduleId == appointScheduleId);
+
+ await _appointScheduleRepository.DeleteAsync(d => d.AppointScheduleId == appointScheduleId);
+
+ }
}
}
diff --git a/src/Shentun.WebPeis.Domain/DataHelper.cs b/src/Shentun.WebPeis.Domain/DataHelper.cs
index ea63e59..cacb75a 100644
--- a/src/Shentun.WebPeis.Domain/DataHelper.cs
+++ b/src/Shentun.WebPeis.Domain/DataHelper.cs
@@ -39,7 +39,7 @@ namespace Shentun.WebPeis
}
else
{
- return value.Value.ToString("HH:mm:ss");
+ return value.Value.ToString("HH:mm");
}
}