This commit is contained in:
牛子源 2025-05-23 16:48:28 +08:00
parent 87a5a1e2e3
commit 6f346bd48f
4 changed files with 46 additions and 11 deletions

View File

@ -123,7 +123,7 @@ public class RegistrationController extends BaseController {
@RequestMapping("/getListByType")
public Result<Page<PatientRegistration>> getListByType() {
RegistrationQuery query = parmsUtil.getObject("query", RegistrationQuery.class);
return success(patientRegistrationService.getPageByType(query));
return success(patientRegistrationService.getListByType(query));
}
/**

View File

@ -1,6 +1,7 @@
package com.syjiaer.clinic.server.entity.patient;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
@ -95,4 +96,8 @@ public class PatientRegistration implements Serializable {
@ApiModelProperty("挂号时间")
private LocalDateTime appointmentTime;
@ApiModelProperty("是否预约")
@TableField(exist = false)
private Boolean isAppointment;
}

View File

@ -38,6 +38,7 @@ import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
@ -255,15 +256,38 @@ public class PatientRegistrationService extends BaseService {
* 根据查询条件查询挂号信息
* @param query 查询条件
*/
public Page<PatientRegistration> getPageByType(RegistrationQuery query) {
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 = new ArrayList<>();
list.addAll(Beforlist);
list.addAll(Afterlist);
list.forEach((regis)->{
LocalDateTime appointmentTime = regis.getAppointmentTime();
if (appointmentTime.isBefore(LocalDateTime.now())) {
regis.setIsAppointment(false);
} else {
regis.setIsAppointment(true);
}
});
Page<PatientRegistration> page = new Page<>();
page.setList(list);
page.setTotal_count(10000);
page.setTotal_page(1);
return page;
}
private QueryWrapper getQueryWrapper(RegistrationQuery query, ManagerUser user,boolean isBefore){
QueryWrapper<PatientRegistration> regisQuery = new QueryWrapper<>();
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
OrganizationMember member= null;
if (dbUser != null && dbUser.getOrganizationMemberId() != null){
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
}
QueryWrapper<PatientRegistration> regisQuery = new QueryWrapper<>();
regisQuery.eq("del_flag", 0);
if (member != null && member.getRole() == 1){
regisQuery.eq("organization_doctor_id", member.getId());
@ -287,8 +311,14 @@ public class PatientRegistrationService extends BaseService {
if (query.getEndTime() != null) {
regisQuery.le("appointment_time", query.getEndTime());
}
return pageHelper(query.getPageNum(), query.getPageSize(), regisQuery, patientRegistrationMapper, "appointment_time", false);
if(isBefore){
regisQuery.le("appointment_time", LocalDateTime.now());
regisQuery.orderByDesc("appointment_time");
}else{
regisQuery.ge("appointment_time", LocalDateTime.now());
regisQuery.orderByAsc("appointment_time");
}
return regisQuery;
}
/**

View File

@ -202,8 +202,8 @@ public class StatisticsService extends BaseService {
TipCountVo tipCountVo = new TipCountVo();
RegistrationStatusEnum registrationStatusEnum = RegistrationStatusEnum.waiting;
QueryWrapper<PatientRegistration> registrationWrapper = new QueryWrapper<>();
registrationWrapper.lt("create_datetime", endTime);
registrationWrapper.ge("create_datetime", beginTime);
registrationWrapper.lt("appointment_time", endTime);
registrationWrapper.ge("appointment_time", beginTime);
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
registrationWrapper.eq("del_flag",0);
if (member != null && member.getRole() == 1){
@ -213,8 +213,8 @@ public class StatisticsService extends BaseService {
registrationStatusEnum = RegistrationStatusEnum.inProgress;
registrationWrapper = new QueryWrapper<>();
registrationWrapper.lt("create_datetime", endTime);
registrationWrapper.ge("create_datetime", beginTime);
registrationWrapper.lt("appointment_time", endTime);
registrationWrapper.ge("appointment_time", beginTime);
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
registrationWrapper.eq("del_flag",0);
if (member != null && member.getRole() == 1){
@ -224,8 +224,8 @@ public class StatisticsService extends BaseService {
registrationStatusEnum = RegistrationStatusEnum.complete;
registrationWrapper = new QueryWrapper<>();
registrationWrapper.lt("create_datetime", endTime);
registrationWrapper.ge("create_datetime", beginTime);
registrationWrapper.lt("appointment_time", endTime);
registrationWrapper.ge("appointment_time", beginTime);
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
registrationWrapper.eq("del_flag",0);
if (member != null && member.getRole() == 1){