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) {
throw new MessageException("data参数为空");
}
patientRegistrationService.updateById(registration);
return success();
}

View File

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

View File

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

View File

@ -118,6 +118,7 @@ public class PatientRegistrationService extends BaseService {
registration.setRegistrationMoney(new BigDecimal("0"));
registration.setAppointmentTime(appointmentTime);
registration.setCreateDatetime(now);
registration.setUpdateDatetime(now);
registration.setStatus(1);
OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
if (docker == null){
@ -241,16 +242,6 @@ public class PatientRegistrationService extends BaseService {
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) {
ManagerUser user = getManagerUser();
List<PatientRegistration> Beforlist = patientRegistrationMapper.selectList(getQueryWrapper(query, user,true));
List<PatientRegistration> Afterlist = patientRegistrationMapper.selectList(getQueryWrapper(query, user,false));
List<PatientRegistration> list=null;
//如果状态为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.addAll(Beforlist);
@ -272,32 +311,26 @@ public class PatientRegistrationService extends BaseService {
regis.setIsAppointment(true);
}
});
Page<PatientRegistration> page = new Page<>();
page.setList(list);
page.setTotal_count(10000);
page.setTotal_page(1);
return page;
return list;
}
private QueryWrapper getQueryWrapper(RegistrationQuery query, ManagerUser user,boolean isBefore){
QueryWrapper<PatientRegistration> regisQuery = new QueryWrapper<>();
private QueryWrapper getRegisterQueryWrapper(RegistrationQuery query, ManagerUser user,boolean isBefore){
QueryWrapper<PatientRegistration> registerQueryWrapper = new QueryWrapper<>();
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
OrganizationMember member= null;
if (dbUser != null && dbUser.getOrganizationMemberId() != null){
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
}
regisQuery.eq("del_flag", 0);
registerQueryWrapper.eq("del_flag", 0);
if (member != null && member.getRole() == 1){
regisQuery.eq("organization_doctor_id", member.getId());
}
if (query.getStatus() != null) {
regisQuery.eq("status", query.getStatus());
registerQueryWrapper.eq("organization_doctor_id", member.getId());
}
registerQueryWrapper.eq("status", query.getStatus());
if (query.getKeyword() != null) {
regisQuery.like("name", query.getKeyword());
regisQuery.or().like("phone", query.getKeyword());
registerQueryWrapper.like("name", query.getKeyword());
registerQueryWrapper.or().like("phone", query.getKeyword());
}
if (query.getPageNum() == null) {
query.setPageNum(1);
@ -306,19 +339,19 @@ public class PatientRegistrationService extends BaseService {
query.setPageSize(Constants.DetailPageSize);
}
if (query.getBeginTime() != null) {
regisQuery.ge("appointment_time", query.getBeginTime());
registerQueryWrapper.ge("appointment_time", query.getBeginTime());
}
if (query.getEndTime() != null) {
regisQuery.le("appointment_time", query.getEndTime());
registerQueryWrapper.le("appointment_time", query.getEndTime());
}
if(isBefore){
regisQuery.le("appointment_time", LocalDateTime.now());
regisQuery.orderByDesc("appointment_time");
registerQueryWrapper.le("appointment_time", LocalDateTime.now());
registerQueryWrapper.orderByDesc("appointment_time");
}else{
regisQuery.ge("appointment_time", LocalDateTime.now());
regisQuery.orderByAsc("appointment_time");
registerQueryWrapper.ge("appointment_time", LocalDateTime.now());
registerQueryWrapper.orderByAsc("appointment_time");
}
return regisQuery;
return registerQueryWrapper;
}
/**
@ -351,6 +384,7 @@ public class PatientRegistrationService extends BaseService {
public void updateById(PatientRegistration registration) {
registration.setUpdateDatetime(LocalDateTime.now());
patientRegistrationMapper.updateById(registration);
}
@ -415,6 +449,7 @@ public class PatientRegistrationService extends BaseService {
PatientRegistration updateRegistration = new PatientRegistration();
updateRegistration.setId(regisId);
updateRegistration.setStatus(status);
updateRegistration.setUpdateDatetime(LocalDateTime.now());
patientRegistrationMapper.updateById(updateRegistration);
return patientRegistrationMapper.selectById(regisId);
}