Browse Source

预约数

master
wxd 1 year ago
parent
commit
caa42a9d3a
  1. 15
      src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs
  2. 32
      src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs
  3. 8
      src/Shentun.WebPeis.EntityFrameworkCore/Configures/CustomerOrgRegisterConfigure.cs

15
src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs

@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shentun.WebPeis.AppointRegisterAsbitems;
using Shentun.WebPeis.AppointScheduleTimes;
using Shentun.WebPeis.CustomerOrgs;
using Shentun.WebPeis.Enums;
using Shentun.WebPeis.MedicalPackages;
@ -66,6 +67,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters
private readonly IRepository<QuestionAnswerAsbitem> _questionAnswerAsbitemRepository;
private readonly SysParmValueManager _sysParmValueManager;
private readonly PersonManager _personManager;
private readonly AppointScheduleTimeManager _appointScheduleTimeManager;
public AppointPatientRegisterAppService(IRepository<AppointPatientRegister> repository,
CacheService cacheService,
IRepository<ItemType> itemTypeRepository,
@ -97,8 +99,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
IRepository<QuestionAnswerRiskLevel> questionAnswerRiskLevelRepository,
IRepository<QuestionAnswerAsbitem> questionAnswerAsbitemRepository,
SysParmValueManager sysParmValueManager,
PersonManager personManager
PersonManager personManager,
AppointScheduleTimeManager appointScheduleTimeManager
)
{
_repository = repository;
@ -133,8 +135,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters
_questionAnswerAsbitemRepository = questionAnswerAsbitemRepository;
_personManager = personManager;
_sysParmValueManager = sysParmValueManager;
_appointScheduleTimeManager = appointScheduleTimeManager;
}
/// <summary>
/// 创建预约,小程序使用
@ -167,6 +168,10 @@ namespace Shentun.WebPeis.AppointPatientRegisters
entity = await _appointPatientRegisterManager.CreateAsync(entity);
await _repository.InsertAsync(entity);
//修改预约数量
await _appointScheduleTimeManager.UpdateAppointNumberAsync(input.AppointDate);
var result = ObjectMapper.Map<AppointPatientRegister, AppointPatientRegisterDto>(entity);
return result;
}
@ -540,7 +545,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters
(patientRegister.CompleteFlag == PatientRegisterCompleteFlag.PreRegistration ||
patientRegister.CompleteFlag == PatientRegisterCompleteFlag.Registration) &&
patientRegister.CustomerOrgId != GuidFlag.PersonCustomerOrgId &&
patientRegister.MedicalStartDate >= DateTime.Now.Date.AddDays(-365)
patientRegister.MedicalStartDate >= DateTime.Now.Date.AddDays(-365)
orderby patientRegister.MedicalStartDate descending
select new PatientRegisterDto()
{

32
src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs

@ -4,17 +4,25 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
using static log4net.Appender.RollingFileAppender;
namespace Shentun.WebPeis.AppointScheduleTimes
{
public class AppointScheduleTimeManager : DomainService
{
private readonly IRepository<AppointSchedule> _appointScheduleRepository;
private readonly IRepository<AppointScheduleTime> _appointScheduleTimeRepository;
public AppointScheduleTimeManager()
public AppointScheduleTimeManager(
IRepository<AppointSchedule> appointScheduleRepository,
IRepository<AppointScheduleTime> appointScheduleTimeRepository
)
{
_appointScheduleRepository = appointScheduleRepository;
_appointScheduleTimeRepository = appointScheduleTimeRepository;
}
/// <summary>
@ -37,5 +45,25 @@ namespace Shentun.WebPeis.AppointScheduleTimes
StopTime = entity.StopTime
};
}
/// <summary>
/// 修改已预约数量
/// </summary>
/// <param name="AppointDate"></param>
/// <returns></returns>
public async Task UpdateAppointNumberAsync(DateTime AppointDate)
{
var appointScheduleEnt = await _appointScheduleRepository.FirstOrDefaultAsync(f => f.AppointDate == AppointDate.Date);
if (appointScheduleEnt != null)
{
var appointScheduleTimeEnt = await _appointScheduleTimeRepository.FirstOrDefaultAsync(f => f.StartTime == new TimeOnly(AppointDate.TimeOfDay.Hours, AppointDate.TimeOfDay.Minutes, AppointDate.TimeOfDay.Seconds));
if (appointScheduleTimeEnt != null)
{
appointScheduleTimeEnt.AppointNumber += 1;
await _appointScheduleTimeRepository.UpdateAsync(appointScheduleTimeEnt);
}
}
}
}
}

8
src/Shentun.WebPeis.EntityFrameworkCore/Configures/CustomerOrgRegisterConfigure.cs

@ -60,10 +60,10 @@ namespace Shentun.WebPeis.Configures
.HasComment("计划号")
.HasColumnName("register_no");
entity.HasOne(d => d.CustomerOrg).WithMany(p => p.CustomerOrgRegisters)
.HasForeignKey(d => d.CustomerOrgId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_customer_org_register");
//entity.HasOne(d => d.CustomerOrg).WithMany(p => p.CustomerOrgRegisters)
// .HasForeignKey(d => d.CustomerOrgId)
// .OnDelete(DeleteBehavior.ClientSetNull)
// .HasConstraintName("fk_customer_org_register");
}
}
}
Loading…
Cancel
Save