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

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

@ -4,17 +4,25 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services; using Volo.Abp.Domain.Services;
using static log4net.Appender.RollingFileAppender;
namespace Shentun.WebPeis.AppointScheduleTimes namespace Shentun.WebPeis.AppointScheduleTimes
{ {
public class AppointScheduleTimeManager : DomainService 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> /// <summary>
@ -37,5 +45,25 @@ namespace Shentun.WebPeis.AppointScheduleTimes
StopTime = entity.StopTime 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("计划号") .HasComment("计划号")
.HasColumnName("register_no"); .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