From 6f346bd48fb16fe1f52306a9357ff44eeb9524b6 Mon Sep 17 00:00:00 2001 From: NiuZiYuan Date: Fri, 23 May 2025 16:48:28 +0800 Subject: [PATCH] dev --- .../patient/RegistrationController.java | 2 +- .../entity/patient/PatientRegistration.java | 5 +++ .../patient/PatientRegistrationService.java | 38 +++++++++++++++++-- .../service/statistics/StatisticsService.java | 12 +++--- 4 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java b/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java index 8030d31..0f2eea0 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java @@ -123,7 +123,7 @@ public class RegistrationController extends BaseController { @RequestMapping("/getListByType") public Result> getListByType() { RegistrationQuery query = parmsUtil.getObject("query", RegistrationQuery.class); - return success(patientRegistrationService.getPageByType(query)); + return success(patientRegistrationService.getListByType(query)); } /** diff --git a/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientRegistration.java b/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientRegistration.java index 8e25d82..cbbb813 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientRegistration.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientRegistration.java @@ -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; } diff --git a/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java b/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java index 1b810e4..6a3a508 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java @@ -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 getPageByType(RegistrationQuery query) { + public Page getListByType(RegistrationQuery query) { ManagerUser user = getManagerUser(); + List Beforlist = patientRegistrationMapper.selectList(getQueryWrapper(query, user,true)); + List Afterlist = patientRegistrationMapper.selectList(getQueryWrapper(query, user,false)); + + List 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 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 regisQuery = new QueryWrapper<>(); ManagerUser dbUser = managerUserMapper.selectById(user.getId()); OrganizationMember member= null; if (dbUser != null && dbUser.getOrganizationMemberId() != null){ member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId()); } - QueryWrapper 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; } /** diff --git a/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java b/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java index 1f16c6e..ec7bbb8 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java @@ -202,8 +202,8 @@ public class StatisticsService extends BaseService { TipCountVo tipCountVo = new TipCountVo(); RegistrationStatusEnum registrationStatusEnum = RegistrationStatusEnum.waiting; QueryWrapper 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){