|
|
@ -1,4 +1,5 @@ |
|
|
using Shentun.WebPeis.Enums; |
|
|
|
|
|
|
|
|
using Shentun.WebPeis.CustomerOrgs; |
|
|
|
|
|
using Shentun.WebPeis.Enums; |
|
|
using Shentun.WebPeis.Models; |
|
|
using Shentun.WebPeis.Models; |
|
|
using Shentun.WebPeis.Persons; |
|
|
using Shentun.WebPeis.Persons; |
|
|
using Shentun.WebPeis.SysParmValues; |
|
|
using Shentun.WebPeis.SysParmValues; |
|
|
@ -18,8 +19,10 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
{ |
|
|
{ |
|
|
private readonly IRepository<CustomerOrg> _customerOrgRepository; |
|
|
private readonly IRepository<CustomerOrg> _customerOrgRepository; |
|
|
private readonly IRepository<CustomerOrgGroup> _customerOrgGroupRepository; |
|
|
private readonly IRepository<CustomerOrgGroup> _customerOrgGroupRepository; |
|
|
|
|
|
private readonly IRepository<CustomerOrgGroupDetail> _customerOrgGroupDetailRepository; |
|
|
private readonly IRepository<CustomerOrgRegister> _customerOrgRegisterRepository; |
|
|
private readonly IRepository<CustomerOrgRegister> _customerOrgRegisterRepository; |
|
|
private readonly IRepository<MedicalPackage> _medicalPackageRepository; |
|
|
private readonly IRepository<MedicalPackage> _medicalPackageRepository; |
|
|
|
|
|
private readonly IRepository<MedicalPackageDetail> _medicalPackageDetailRepository; |
|
|
private readonly IRepository<AppointPatientRegister> _repository; |
|
|
private readonly IRepository<AppointPatientRegister> _repository; |
|
|
private readonly IRepository<IdentityUser> _identityUserRepository; |
|
|
private readonly IRepository<IdentityUser> _identityUserRepository; |
|
|
private readonly IdentityUserManager _identityUserManager; |
|
|
private readonly IdentityUserManager _identityUserManager; |
|
|
@ -27,6 +30,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
private readonly SysParmValueManager _sysParmValueManager; |
|
|
private readonly SysParmValueManager _sysParmValueManager; |
|
|
private readonly IRepository<PrimarykeyBuilder> _primarykeyBuilderRepository; |
|
|
private readonly IRepository<PrimarykeyBuilder> _primarykeyBuilderRepository; |
|
|
private readonly IRepository<Asbitem> _asbitemRepository; |
|
|
private readonly IRepository<Asbitem> _asbitemRepository; |
|
|
|
|
|
private readonly CustomerOrgManager _customerOrgManager; |
|
|
public AppointPatientRegisterManager(IRepository<AppointPatientRegister> repository, |
|
|
public AppointPatientRegisterManager(IRepository<AppointPatientRegister> repository, |
|
|
IRepository<IdentityUser> identityUserRepository, |
|
|
IRepository<IdentityUser> identityUserRepository, |
|
|
IdentityUserManager identityUserManager, |
|
|
IdentityUserManager identityUserManager, |
|
|
@ -37,7 +41,10 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
IRepository<MedicalPackage> medicalPackageRepository, |
|
|
IRepository<MedicalPackage> medicalPackageRepository, |
|
|
IRepository<CustomerOrg> customerOrgRepository, |
|
|
IRepository<CustomerOrg> customerOrgRepository, |
|
|
IRepository<CustomerOrgRegister> customerOrgRegisterRepository, |
|
|
IRepository<CustomerOrgRegister> customerOrgRegisterRepository, |
|
|
IRepository<Asbitem> asbitemRepository |
|
|
|
|
|
|
|
|
IRepository<Asbitem> asbitemRepository, |
|
|
|
|
|
CustomerOrgManager customerOrgManager, |
|
|
|
|
|
IRepository<MedicalPackageDetail> medicalPackageDetailRepository, |
|
|
|
|
|
IRepository<CustomerOrgGroupDetail> customerOrgGroupDetailRepository |
|
|
) |
|
|
) |
|
|
{ |
|
|
{ |
|
|
_repository = repository; |
|
|
_repository = repository; |
|
|
@ -51,6 +58,9 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
_customerOrgRepository = customerOrgRepository; |
|
|
_customerOrgRepository = customerOrgRepository; |
|
|
_customerOrgRegisterRepository = customerOrgRegisterRepository; |
|
|
_customerOrgRegisterRepository = customerOrgRegisterRepository; |
|
|
_asbitemRepository = asbitemRepository; |
|
|
_asbitemRepository = asbitemRepository; |
|
|
|
|
|
_customerOrgManager = customerOrgManager; |
|
|
|
|
|
_medicalPackageDetailRepository = medicalPackageDetailRepository; |
|
|
|
|
|
_customerOrgGroupDetailRepository = customerOrgGroupDetailRepository; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task<AppointPatientRegister> CreateAsync(AppointPatientRegister entity) |
|
|
public async Task<AppointPatientRegister> CreateAsync(AppointPatientRegister entity) |
|
|
@ -124,20 +134,45 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException("客户登记单位次数不存在"); |
|
|
throw new UserFriendlyException("客户登记单位次数不存在"); |
|
|
} |
|
|
} |
|
|
//if (customerOrgRegister.CustomerOrgId != customerOrg.Id)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// var topCustomerOrg = await _customerOrgManager.GetTopCustomerOrgAsync(customerOrg.Id);
|
|
|
|
|
|
// var topCustomerOrgRegisterOrg = await _customerOrgManager.GetTopCustomerOrgAsync(customerOrgRegister.CustomerOrgId);
|
|
|
|
|
|
// if (topCustomerOrg.Id != topCustomerOrgRegisterOrg.Id)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// throw new UserFriendlyException("登记单位和登记单位体检次数不一致");
|
|
|
|
|
|
// }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
if (customerOrgRegister.CustomerOrgId != customerOrg.CustomerOrgId) |
|
|
|
|
|
{ |
|
|
|
|
|
var topCustomerOrg = await _customerOrgManager.GetTopCustomerOrgAsync(customerOrg.CustomerOrgId); |
|
|
|
|
|
var topCustomerOrgRegisterOrg = await _customerOrgManager.GetTopCustomerOrgAsync(customerOrgRegister.CustomerOrgId); |
|
|
|
|
|
if (topCustomerOrg.CustomerOrgId != topCustomerOrgRegisterOrg.CustomerOrgId) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException("登记单位和登记单位体检次数不一致"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (entity.AppointRegisterAsbitems == null || !entity.AppointRegisterAsbitems.Any()) |
|
|
if (entity.AppointRegisterAsbitems == null || !entity.AppointRegisterAsbitems.Any()) |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException("必须预约组合项目"); |
|
|
throw new UserFriendlyException("必须预约组合项目"); |
|
|
} |
|
|
} |
|
|
|
|
|
if (entity.MedicalPackageId != null) |
|
|
|
|
|
{ |
|
|
|
|
|
var medicalPackageDetails = await _medicalPackageDetailRepository.GetListAsync(o=>o.MedicalPackageId == entity.MedicalPackageId); |
|
|
|
|
|
medicalPackageDetails.ForEach(o => |
|
|
|
|
|
{ |
|
|
|
|
|
if (!entity.AppointRegisterAsbitems.Where(x=>x.AsbitemId == o.AsbitemId).Any()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException("套餐项目不能取消"); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (entity.CustomerOrgGroupId != null) |
|
|
|
|
|
{ |
|
|
|
|
|
var customerOrgGroupDetails = await _customerOrgGroupDetailRepository |
|
|
|
|
|
.GetListAsync(o => o.CustomerOrgGroupId == entity.CustomerOrgGroupId); |
|
|
|
|
|
customerOrgGroupDetails.ForEach(o => |
|
|
|
|
|
{ |
|
|
|
|
|
if (!entity.AppointRegisterAsbitems.Where(x => x.AsbitemId == o.AsbitemId).Any()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException("单位分组项目不能取消"); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
var asbitems = await _asbitemRepository.GetListAsync(); |
|
|
var asbitems = await _asbitemRepository.GetListAsync(); |
|
|
foreach (var appointRegisterAsbitem in entity.AppointRegisterAsbitems) |
|
|
foreach (var appointRegisterAsbitem in entity.AppointRegisterAsbitems) |
|
|
{ |
|
|
{ |
|
|
|