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") @RequestMapping("/getListByType")
public Result<Page<PatientRegistration>> getListByType() { public Result<Page<PatientRegistration>> getListByType() {
RegistrationQuery query = parmsUtil.getObject("query", RegistrationQuery.class); 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; package com.syjiaer.clinic.server.entity.patient;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
@ -95,4 +96,8 @@ public class PatientRegistration implements Serializable {
@ApiModelProperty("挂号时间") @ApiModelProperty("挂号时间")
private LocalDateTime appointmentTime; 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.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -255,15 +256,38 @@ public class PatientRegistrationService extends BaseService {
* 根据查询条件查询挂号信息 * 根据查询条件查询挂号信息
* @param query 查询条件 * @param query 查询条件
*/ */
public Page<PatientRegistration> getPageByType(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> 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()); 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());
} }
QueryWrapper<PatientRegistration> regisQuery = new QueryWrapper<>();
regisQuery.eq("del_flag", 0); regisQuery.eq("del_flag", 0);
if (member != null && member.getRole() == 1){ if (member != null && member.getRole() == 1){
regisQuery.eq("organization_doctor_id", member.getId()); regisQuery.eq("organization_doctor_id", member.getId());
@ -287,8 +311,14 @@ public class PatientRegistrationService extends BaseService {
if (query.getEndTime() != null) { if (query.getEndTime() != null) {
regisQuery.le("appointment_time", query.getEndTime()); regisQuery.le("appointment_time", query.getEndTime());
} }
if(isBefore){
return pageHelper(query.getPageNum(), query.getPageSize(), regisQuery, patientRegistrationMapper, "appointment_time", false); 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(); TipCountVo tipCountVo = new TipCountVo();
RegistrationStatusEnum registrationStatusEnum = RegistrationStatusEnum.waiting; RegistrationStatusEnum registrationStatusEnum = RegistrationStatusEnum.waiting;
QueryWrapper<PatientRegistration> registrationWrapper = new QueryWrapper<>(); QueryWrapper<PatientRegistration> registrationWrapper = new QueryWrapper<>();
registrationWrapper.lt("create_datetime", endTime); registrationWrapper.lt("appointment_time", endTime);
registrationWrapper.ge("create_datetime", beginTime); registrationWrapper.ge("appointment_time", beginTime);
registrationWrapper.eq("status", registrationStatusEnum.getStatus()); registrationWrapper.eq("status", registrationStatusEnum.getStatus());
registrationWrapper.eq("del_flag",0); registrationWrapper.eq("del_flag",0);
if (member != null && member.getRole() == 1){ if (member != null && member.getRole() == 1){
@ -213,8 +213,8 @@ public class StatisticsService extends BaseService {
registrationStatusEnum = RegistrationStatusEnum.inProgress; registrationStatusEnum = RegistrationStatusEnum.inProgress;
registrationWrapper = new QueryWrapper<>(); registrationWrapper = new QueryWrapper<>();
registrationWrapper.lt("create_datetime", endTime); registrationWrapper.lt("appointment_time", endTime);
registrationWrapper.ge("create_datetime", beginTime); registrationWrapper.ge("appointment_time", beginTime);
registrationWrapper.eq("status", registrationStatusEnum.getStatus()); registrationWrapper.eq("status", registrationStatusEnum.getStatus());
registrationWrapper.eq("del_flag",0); registrationWrapper.eq("del_flag",0);
if (member != null && member.getRole() == 1){ if (member != null && member.getRole() == 1){
@ -224,8 +224,8 @@ public class StatisticsService extends BaseService {
registrationStatusEnum = RegistrationStatusEnum.complete; registrationStatusEnum = RegistrationStatusEnum.complete;
registrationWrapper = new QueryWrapper<>(); registrationWrapper = new QueryWrapper<>();
registrationWrapper.lt("create_datetime", endTime); registrationWrapper.lt("appointment_time", endTime);
registrationWrapper.ge("create_datetime", beginTime); registrationWrapper.ge("appointment_time", beginTime);
registrationWrapper.eq("status", registrationStatusEnum.getStatus()); registrationWrapper.eq("status", registrationStatusEnum.getStatus());
registrationWrapper.eq("del_flag",0); registrationWrapper.eq("del_flag",0);
if (member != null && member.getRole() == 1){ if (member != null && member.getRole() == 1){