This commit is contained in:
牛子源 2025-05-26 09:21:13 +08:00
parent 52233cf83a
commit d9b6676e6e
4 changed files with 73 additions and 33 deletions

View File

@ -77,6 +77,7 @@ public class RegistrationController extends BaseController {
if (registration == null) { if (registration == null) {
throw new MessageException("data参数为空"); throw new MessageException("data参数为空");
} }
patientRegistrationService.updateById(registration); patientRegistrationService.updateById(registration);
return success(); return success();
} }

View File

@ -55,6 +55,9 @@ public class PatientRegistration implements Serializable {
@ApiModelProperty("挂号时间") @ApiModelProperty("挂号时间")
private LocalDateTime createDatetime; private LocalDateTime createDatetime;
@ApiModelProperty("挂号时间")
private LocalDateTime updateDatetime;
@ApiModelProperty("推荐") @ApiModelProperty("推荐")
private String recommendations; private String recommendations;

View File

@ -124,6 +124,7 @@ public class DiagnosisService extends BaseService {
} }
PatientRegistration updateRegis = new PatientRegistration(); PatientRegistration updateRegis = new PatientRegistration();
updateRegis.setId(dbRegis.getId()); updateRegis.setId(dbRegis.getId());
updateRegis.setUpdateDatetime(LocalDateTime.now());
updateRegis.setStatus(RegistrationStatusEnum.complete.getStatus()); updateRegis.setStatus(RegistrationStatusEnum.complete.getStatus());
patientRegistrationMapper.updateById(updateRegis); patientRegistrationMapper.updateById(updateRegis);
//诊断主表 //诊断主表

View File

@ -118,6 +118,7 @@ public class PatientRegistrationService extends BaseService {
registration.setRegistrationMoney(new BigDecimal("0")); registration.setRegistrationMoney(new BigDecimal("0"));
registration.setAppointmentTime(appointmentTime); registration.setAppointmentTime(appointmentTime);
registration.setCreateDatetime(now); registration.setCreateDatetime(now);
registration.setUpdateDatetime(now);
registration.setStatus(1); registration.setStatus(1);
OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId()); OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
if (docker == null){ if (docker == null){
@ -241,16 +242,6 @@ public class PatientRegistrationService extends BaseService {
return registration; return registration;
} }
/*
* 获取所有已删除挂号信息
* @param id 挂号id
*/
public List<PatientRegistration> allList() {
QueryWrapper<PatientRegistration> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("del_flag", 1);
List<PatientRegistration> list = patientRegistrationMapper.selectList(queryWrapper);
return list;
}
/* /*
* 根据查询条件查询挂号信息 * 根据查询条件查询挂号信息
@ -258,8 +249,56 @@ public class PatientRegistrationService extends BaseService {
*/ */
public Page<PatientRegistration> getListByType(RegistrationQuery query) { public Page<PatientRegistration> getListByType(RegistrationQuery query) {
ManagerUser user = getManagerUser(); ManagerUser user = getManagerUser();
List<PatientRegistration> Beforlist = patientRegistrationMapper.selectList(getQueryWrapper(query, user,true)); List<PatientRegistration> list=null;
List<PatientRegistration> Afterlist = patientRegistrationMapper.selectList(getQueryWrapper(query, user,false)); //如果状态为1 获取挂号列表
if(query.getStatus()==RegistrationStatusEnum.waiting.getStatus()){
list = getRegisterList(query, user);
}
//否则获取患者列表 逻辑相同 但是排序规则不同
else{
list = getPatientList(query, user);
}
Page<PatientRegistration> page = new Page<>();
page.setList(list);
page.setTotal_count(10000);
page.setTotal_page(1);
return page;
}
private List<PatientRegistration> getPatientList(RegistrationQuery query, ManagerUser user){
List<PatientRegistration> list =patientRegistrationMapper.selectList(getPatientQueryWrapper(query, user));;
return list;
}
private QueryWrapper getPatientQueryWrapper(RegistrationQuery query, ManagerUser user){
QueryWrapper<PatientRegistration> PatientQueryWrapper = new QueryWrapper<>();
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
OrganizationMember member= null;
if (dbUser != null && dbUser.getOrganizationMemberId() != null){
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
}
PatientQueryWrapper.eq("del_flag", 0);
if (member != null && member.getRole() == 1){
PatientQueryWrapper.eq("organization_doctor_id", member.getId());
}
PatientQueryWrapper.eq("status", query.getStatus());
if (query.getKeyword() != null) {
PatientQueryWrapper.like("name", query.getKeyword());
PatientQueryWrapper.or().like("phone", query.getKeyword());
}
if (query.getPageNum() == null) {
query.setPageNum(1);
}
if (query.getPageSize() == null) {
query.setPageSize(Constants.DetailPageSize);
}
return PatientQueryWrapper;
}
private List<PatientRegistration> getRegisterList(RegistrationQuery query, ManagerUser user){
List<PatientRegistration> Beforlist = patientRegistrationMapper.selectList(getRegisterQueryWrapper(query, user,true));
List<PatientRegistration> Afterlist = patientRegistrationMapper.selectList(getRegisterQueryWrapper(query, user,false));
List<PatientRegistration> list = new ArrayList<>(); List<PatientRegistration> list = new ArrayList<>();
list.addAll(Beforlist); list.addAll(Beforlist);
@ -272,32 +311,26 @@ public class PatientRegistrationService extends BaseService {
regis.setIsAppointment(true); regis.setIsAppointment(true);
} }
}); });
Page<PatientRegistration> page = new Page<>(); return list;
page.setList(list);
page.setTotal_count(10000);
page.setTotal_page(1);
return page;
} }
private QueryWrapper getQueryWrapper(RegistrationQuery query, ManagerUser user,boolean isBefore){ private QueryWrapper getRegisterQueryWrapper(RegistrationQuery query, ManagerUser user,boolean isBefore){
QueryWrapper<PatientRegistration> regisQuery = new QueryWrapper<>(); QueryWrapper<PatientRegistration> registerQueryWrapper = new QueryWrapper<>();
ManagerUser dbUser = managerUserMapper.selectById(user.getId()); ManagerUser dbUser = managerUserMapper.selectById(user.getId());
OrganizationMember member= null; OrganizationMember member= null;
if (dbUser != null && dbUser.getOrganizationMemberId() != null){ if (dbUser != null && dbUser.getOrganizationMemberId() != null){
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId()); member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
} }
regisQuery.eq("del_flag", 0); registerQueryWrapper.eq("del_flag", 0);
if (member != null && member.getRole() == 1){ if (member != null && member.getRole() == 1){
regisQuery.eq("organization_doctor_id", member.getId()); registerQueryWrapper.eq("organization_doctor_id", member.getId());
}
if (query.getStatus() != null) {
regisQuery.eq("status", query.getStatus());
} }
registerQueryWrapper.eq("status", query.getStatus());
if (query.getKeyword() != null) { if (query.getKeyword() != null) {
regisQuery.like("name", query.getKeyword()); registerQueryWrapper.like("name", query.getKeyword());
regisQuery.or().like("phone", query.getKeyword()); registerQueryWrapper.or().like("phone", query.getKeyword());
} }
if (query.getPageNum() == null) { if (query.getPageNum() == null) {
query.setPageNum(1); query.setPageNum(1);
@ -306,19 +339,19 @@ public class PatientRegistrationService extends BaseService {
query.setPageSize(Constants.DetailPageSize); query.setPageSize(Constants.DetailPageSize);
} }
if (query.getBeginTime() != null) { if (query.getBeginTime() != null) {
regisQuery.ge("appointment_time", query.getBeginTime()); registerQueryWrapper.ge("appointment_time", query.getBeginTime());
} }
if (query.getEndTime() != null) { if (query.getEndTime() != null) {
regisQuery.le("appointment_time", query.getEndTime()); registerQueryWrapper.le("appointment_time", query.getEndTime());
} }
if(isBefore){ if(isBefore){
regisQuery.le("appointment_time", LocalDateTime.now()); registerQueryWrapper.le("appointment_time", LocalDateTime.now());
regisQuery.orderByDesc("appointment_time"); registerQueryWrapper.orderByDesc("appointment_time");
}else{ }else{
regisQuery.ge("appointment_time", LocalDateTime.now()); registerQueryWrapper.ge("appointment_time", LocalDateTime.now());
regisQuery.orderByAsc("appointment_time"); registerQueryWrapper.orderByAsc("appointment_time");
} }
return regisQuery; return registerQueryWrapper;
} }
/** /**
@ -351,6 +384,7 @@ public class PatientRegistrationService extends BaseService {
public void updateById(PatientRegistration registration) { public void updateById(PatientRegistration registration) {
registration.setUpdateDatetime(LocalDateTime.now());
patientRegistrationMapper.updateById(registration); patientRegistrationMapper.updateById(registration);
} }
@ -415,6 +449,7 @@ public class PatientRegistrationService extends BaseService {
PatientRegistration updateRegistration = new PatientRegistration(); PatientRegistration updateRegistration = new PatientRegistration();
updateRegistration.setId(regisId); updateRegistration.setId(regisId);
updateRegistration.setStatus(status); updateRegistration.setStatus(status);
updateRegistration.setUpdateDatetime(LocalDateTime.now());
patientRegistrationMapper.updateById(updateRegistration); patientRegistrationMapper.updateById(updateRegistration);
return patientRegistrationMapper.selectById(regisId); return patientRegistrationMapper.selectById(regisId);
} }