diff --git a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
index 3b70d7c..8288999 100644
--- a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
+++ b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs
@@ -47,9 +47,33 @@ namespace Shentun.WebPeis.AppointSchedules
         /// 
         /// 
         [HttpPost("api/app/AppointSchedule/GetAppointScheduleDateList")]
-        public async Task> GetAppointScheduleDateListAsync()
+        public async Task> GetAppointScheduleDateListAsync(MedicalCenterIdInputDto input)
         {
             var appointScheduleDateDtos = await GetAppointScheduleDateTestListAsync();
+            var canAppointDaysStr = await _sysParmValueManager.GetSysParmValueAsync(input.MedicalCenterId, "appoint_schedule_can_appoint_days");
+            if (!int.TryParse(canAppointDaysStr, out var canAppointDays))
+            {
+                canAppointDays = 30;
+            }
+
+            var appointSchedules = (from appointSchedule in await _appointScheduleRepository.GetQueryableAsync()
+                                    join appointScheduleTime in await _appointScheduleTimeRepository.GetQueryableAsync()
+                                    on appointSchedule.AppointScheduleId equals appointScheduleTime.AppointScheduleId
+                                    where appointSchedule.MedicalCenterId == input.MedicalCenterId &&
+                                    appointSchedule.AppointDate >= DateTime.Now.Date && appointSchedule.AppointDate <= DateTime.Now.Date.AddDays(canAppointDays
+                                    select new
+                                   {
+                                       appointSchedule,
+                                       appointScheduleTime
+                                   }
+             ).ToList();
+           var list =  appointSchedules.GroupBy(o => o.appointSchedule)
+            .Select(x => new AppointScheduleDateDto()
+            {
+                AppointDate = x.Key.AppointDate,
+                IsWork = (x.Key.AmNumberLimit + x.Key.PmNumberLimit) == 0? 'N':'Y',
+                IsFull = (x.Key.AmNumberLimit + x.Key.PmNumberLimit)<= x.Key.AppointScheduleTimes.Sum(m=>m.AppointNumber)?'Y':'N'
+            }).ToList();
             return appointScheduleDateDtos;
         }
 
diff --git a/src/Shentun.WebPeis.Application/MedicalCenterIdInputDto.cs b/src/Shentun.WebPeis.Application/MedicalCenterIdInputDto.cs
new file mode 100644
index 0000000..3be79a6
--- /dev/null
+++ b/src/Shentun.WebPeis.Application/MedicalCenterIdInputDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Shentun.WebPeis
+{
+    public class MedicalCenterIdInputDto
+    {
+        public Guid MedicalCenterId { get; set; }
+    }
+}
diff --git a/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs b/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs
index 890e733..be212f1 100644
--- a/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs
+++ b/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs
@@ -36,6 +36,8 @@ public partial class AppointSchedule : AuditedEntity, IHasConcurrencyStamp
 
     public Guid AppointScheduleId { get; set; }
 
+    public Guid MedicalCenterId { get; set; }
+
     public virtual ICollection AppointScheduleTimes { get; set; } = new List();
 
     public override object?[] GetKeys()
diff --git a/src/Shentun.WebPeis.EntityFrameworkCore/Configures/AppointScheduleConfigure.cs b/src/Shentun.WebPeis.EntityFrameworkCore/Configures/AppointScheduleConfigure.cs
index c522492..c1d9ea7 100644
--- a/src/Shentun.WebPeis.EntityFrameworkCore/Configures/AppointScheduleConfigure.cs
+++ b/src/Shentun.WebPeis.EntityFrameworkCore/Configures/AppointScheduleConfigure.cs
@@ -40,6 +40,7 @@ namespace Shentun.WebPeis.Configures
             entity.Property(e => e.AmNumberLimit).IsRequired().HasColumnName("am_number_limit");
             entity.Property(e => e.PmNumberLimit).IsRequired().HasColumnName("pm_number_limit");
             entity.Property(e => e.SingleNumberLimit).IsRequired().HasColumnName("single_number_limit");
+            entity.Property(e => e.MedicalCenterId).IsRequired().HasColumnName("medical_center_id");
         }
     }
 }