yxh
2026-09-15 a87c0376bd72a04bb4def026b03b82dd01b7e169
修改了叫号检查页面患者信息内容
已修改6个文件
94 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/freemark/TemplateCreateController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/freemark/TemplateCreateController.java
@@ -151,7 +151,18 @@
        dataMap.put("age", appointment.getPatBirthday() == null ? "" : calculateAge(appointment.getPatBirthday()));
        dataMap.put("inhospno", StringUtils.isEmpty(appointment.getHospitalNo()) ? "" : appointment.getHospitalNo());
        dataMap.put("idNo", StringUtils.isEmpty(appointment.getPatId()) ? "" : appointment.getPatId());
        dataMap.put("badNo", StringUtils.isEmpty(appointment.getPatBedNo()) ? "" : appointment.getPatBedNo());
        String ward = StringUtils.isEmpty(appointment.getPatWardDesc()) ? "" : appointment.getPatWardDesc();
        String bed = StringUtils.isEmpty(appointment.getPatBedNo()) ? "" : appointment.getPatBedNo();
        // 如果两个都有值,中间加空格;如果只有一个有值,就不加空格
        String badNo = "";
        if (!ward.isEmpty() && !bed.isEmpty()) {
            badNo = ward + " " + bed;
        } else {
            badNo = ward + bed;
        }
        dataMap.put("badNo", badNo);
        dataMap.put("birthday", appointment.getPatBirthday() == null ? "" : appointment.getPatBirthday());
        dataMap.put("doctor", StringUtils.isEmpty(appointment.getDoctor()) ? "" : appointment.getDoctor());
        dataMap.put("deptName", StringUtils.isEmpty(appointment.getPatDeptDesc()) ? "" : appointment.getPatDeptDesc());
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java
@@ -7,6 +7,7 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Map;
import com.alibaba.excel.annotation.*;
@@ -103,4 +104,19 @@
    @TableField(exist = false)
    private String tolerance;
    /**
     * 以下字段来自预约单(appointment),由 QueueServiceImpl#fillAppointmentInfo 填充
     */
    @Schema(description = "患者生日")
    private LocalDate patBirthday;
    @Schema(description = "登记时间")
    private Date registerDate;
    @Schema(description = "开单医师")
    private String doctor;
    @Schema(description = "开单日期(开单时间)")
    private Date doctorTime;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java
@@ -7,6 +7,7 @@
import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -118,5 +119,21 @@
    @TableField(exist = false)
    private String tolerance;
    /**
     * 以下字段来自预约单(appointment),queue 表中不存在,
     * 由 QueueServiceImpl#fillAppointmentInfo 在查询后按 applyNo 回查填充。
     */
    @TableField(exist = false)
    private LocalDate patBirthday;
    @TableField(exist = false)
    private Date registerDate;
    @TableField(exist = false)
    private String doctor;
    @TableField(exist = false)
    private Date doctorTime;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java
@@ -39,7 +39,7 @@
    @Select("select * from lihu.appointment where pat_id = #{patId} and to_days(book_date) = to_days(Now())")
    List<AppointmentDO> getCurrentPatId(String patId);
    @Select("select * from lihu.appointment where (apply_no = #{code} or episode_id= #{code} or hospital_no =#{code} or pat_identity_id=#{code}) and book_date >= CURDATE() and book_date <= DATE_ADD(CURDATE(), INTERVAL 3 DAY)")
    @Select("select * from lihu.appointment where (apply_no = #{code} or episode_id= #{code} or hospital_no =#{code} or pat_identity_id=#{code}) and book_date >=  DATE_ADD(CURDATE(), INTERVAL -5 DAY)    AND book_date <=  DATE_ADD(CURDATE(), INTERVAL 15 DAY)")
    List<AppointmentDO> getCurrentCode(String code);
    @Select("select * from lihu.appointment where pat_id = #{patId} and book_check_type = #{checkType} and to_days(book_date) = to_days(Now()) limit 1")
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java
@@ -104,7 +104,7 @@
    @Update("<script> " +
            "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name=null " +
            "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} " +
            "where room_id=#{roomId} and bed_no=#{bedNo} " +
            "and status in ( " +
            " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
            "  #{curStatus.status} " +
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -6,6 +6,7 @@
import cn.lihu.jh.module.ecg.Utils;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO;
import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO;
import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO;
import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
import cn.lihu.jh.module.ecg.dal.mysql.appointment.AppointmentMapper;
@@ -318,9 +319,7 @@
    @Override
    public PageResult<QueueDO> getqueuePage(QueuePageReqVO pageReqVO) {
        PageResult<QueueDO> queueDOPageResult = queueMapper.selectPage(pageReqVO);
        queueDOPageResult.getList().forEach(queueDO -> {
            queueDO.setTolerance(appointmentMapper.getByApplyNo(queueDO.getApplyNo()).getTolerance());
        });
        fillAppointmentInfo(queueDOPageResult.getList());
        return queueDOPageResult;
    }
@@ -424,23 +423,42 @@
    public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Integer> statusList) {
        List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList);
        if (!CollectionUtils.isEmpty(queueDOList)) {
            queueDOList.forEach(queueDO -> {
                queueDO.setTolerance(appointmentMapper.getByApplyNo(queueDO.getApplyNo()).getTolerance());
            });
        }
        fillAppointmentInfo(queueDOList);
        return queueDOList;
    }
    /**
     * 从预约单补齐 queue 表上没有的患者信息。
     *
     * queue 表不存这些字段,但医生端列表接口需要展示,所以查询后按 applyNo 回查预约单填充:
     * 多耐药、性别、出生日期、登记时间、开单医师、开单日期。
     */
    private void fillAppointmentInfo(List<QueueDO> queueDOList) {
        if (CollectionUtils.isEmpty(queueDOList)) {
            return;
        }
        queueDOList.forEach(queueDO -> {
            if (null == queueDO.getApplyNo() || queueDO.getApplyNo().isEmpty()) {
                return;
            }
            AppointmentDO appointment = appointmentMapper.getByApplyNo(queueDO.getApplyNo());
            if (null == appointment) {
                return;
            }
            queueDO.setTolerance(appointment.getTolerance());
            queueDO.setPatGender(appointment.getPatGender());
            queueDO.setPatBirthday(appointment.getPatBirthday());
            queueDO.setRegisterDate(appointment.getRegisterDate());
            queueDO.setDoctor(appointment.getDoctor());
            queueDO.setDoctorTime(appointment.getDoctorTime());
        });
    }
    @Override
    public List<QueueDO> getRoomQueueByStatus(Long roomId, List<Integer> statusList) {
        List<QueueDO> queueDOList = queueMapper.getRoomQueueByStatus(roomId, statusList);
        if (!CollectionUtils.isEmpty(queueDOList)) {
            queueDOList.forEach(queueDO -> {
                queueDO.setTolerance(appointmentMapper.getByApplyNo(queueDO.getApplyNo()).getTolerance());
            });
        }
        fillAppointmentInfo(queueDOList);
        return queueDOList;
    }