Compare commits

..

3 Commits

Author SHA1 Message Date
牛子源 6f346bd48f dev 2025-05-23 16:48:28 +08:00
牛子源 87a5a1e2e3 Merge branch 'master' of ssh://git.jizhiweb.cn:2222/clinic-v2/server 2025-05-23 16:19:06 +08:00
牛子源 1e31ec06df dev 2025-05-23 16:18:59 +08:00
5 changed files with 71 additions and 16 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,25 +1,25 @@
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;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
* 挂号表 * 挂号表
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-30 * @since 2025-05-23
*/ */
@Getter @Getter
@Setter @Setter
@ -93,4 +93,11 @@ public class PatientRegistration implements Serializable {
@ApiModelProperty("流水号") @ApiModelProperty("流水号")
private String fstNo; private String fstNo;
@ApiModelProperty("挂号时间")
private LocalDateTime appointmentTime;
@ApiModelProperty("是否预约")
@TableField(exist = false)
private Boolean isAppointment;
} }

View File

@ -79,4 +79,6 @@ public class RegistrationSaveDto {
@ApiModelProperty("医保余额") @ApiModelProperty("医保余额")
private BigDecimal insuBalance; private BigDecimal insuBalance;
@ApiModelProperty("预约时间")
private String appointmentTime;
} }

View File

@ -37,6 +37,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; 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.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -79,6 +81,20 @@ public class PatientRegistrationService extends BaseService {
throw new MessageException("证件号码不能为空"); throw new MessageException("证件号码不能为空");
} }
LocalDateTime appointmentTime=null;
if(registrationParam.getAppointmentTime()!=null &&!registrationParam.getAppointmentTime().isEmpty()){
try{
appointmentTime = LocalDateTime.parse(registrationParam.getAppointmentTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
}
catch (Exception e){
appointmentTime=LocalDateTime.now();
}
}
if(appointmentTime==null||appointmentTime.isBefore(LocalDateTime.now())){
appointmentTime=LocalDateTime.now();
}
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String fstNo = StringUtil.getCode("FSN"); String fstNo = StringUtil.getCode("FSN");
@ -100,6 +116,7 @@ public class PatientRegistrationService extends BaseService {
BeanUtils.copyProperties(registrationParam, registration); BeanUtils.copyProperties(registrationParam, registration);
registration.setFstNo(fstNo); registration.setFstNo(fstNo);
registration.setRegistrationMoney(new BigDecimal("0")); registration.setRegistrationMoney(new BigDecimal("0"));
registration.setAppointmentTime(appointmentTime);
registration.setCreateDatetime(now); registration.setCreateDatetime(now);
registration.setStatus(1); registration.setStatus(1);
OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId()); OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
@ -239,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());
@ -271,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){