eight
2024-10-14 be5e5dd019c89cf586b9b4c8aa07954065d80b0c
装机 过号 召回
已修改4个文件
85 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java
@@ -17,6 +17,7 @@
    //5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成
    PASSED((byte)5, "已过号"),
    PASSED_INSTALL((byte)7, "已过号-安装"),
    WAITING((byte)10, "排队中"),
    RECALLED((byte)15, "已召回"),
    READY((byte)20, "候诊中"),
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java
@@ -243,6 +243,39 @@
        return success(BeanUtils.toBean(queueDOList, QueueRespVO.class));
    }
    @GetMapping("/pass-install-next-patient")
    @Operation(summary = "安装过号、下一位患者")
    @Parameter(name = "roomId", description = "诊室编号", required = true, example = "116")
    @Parameter(name = "bedNo", description = "工位编号", required = true, example = "B2")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<List<QueueRespVO>> passInstallNextPatient(
            @RequestParam("roomId") Long roomId,
            @RequestParam("bedNo") String bedNo)
    {
        queueService.passInstallNextPatient(roomId, bedNo);
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
        List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList);
        queueStatusList.clear();
        queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
        queueDOList.addAll(0, queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList) );
/*
        // 过滤出  就诊中的,准备叫号
        QueueDO onStageItem = queueDOList.stream().filter(item -> Objects.equals(item.getStatus(), QueueStatusEnum.ONSTAGE.getStatus())).findFirst().orElse(null);
        if (null != onStageItem) {
            CallSaveReqVO callSaveReqVO = BeanUtils.toBean(onStageItem, CallSaveReqVO.class);
            callSaveReqVO.setId(null);
            callService.createCall(callSaveReqVO);
        }
*/
        return success(BeanUtils.toBean(queueDOList, QueueRespVO.class));
    }
    @GetMapping("/call-again")
    @Operation(summary = "重叫、患者")
    @Parameter(name = "roomId", description = "诊室编号", required = true, example = "116")
@@ -290,17 +323,18 @@
        return success(BeanUtils.toBean(queueDOList, QueueRespVO.class));
    }
    @GetMapping("/get-received-patient-list")
    @Operation(summary = "取已领用患者列表")
    @GetMapping("/get-to-be-installed-list")
    @Operation(summary = "取 [待安装] 患者列表")
    @Parameter(name = "roomId", description = "诊室编号", required = true, example = "116")
    @Parameter(name = "bedNo", description = "工位编号", required = true, example = "B2")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<List<QueueRespVO>> getReceivedPatientList(
    public CommonResult<List<QueueRespVO>> getToBeInstalledPatientList(
            @RequestParam("roomId") Long roomId,
            @RequestParam("bedNo") String bedNo)
    {
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
        List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList);
        queueStatusList.clear();
@@ -367,4 +401,22 @@
        return success("操作成功");
    }
    @GetMapping("/recall-install-patient")
    @Operation(summary = "过号安装病人召回")
    @Parameter(name = "roomId", description = "诊室编号", required = true, example = "116")
    @Parameter(name = "bedNo", description = "工位编号", required = true, example = "B2")
    @Parameter(name = "patId", description = "患者编号", required = true, example = "B2")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<String> recallInstallPatient(
            @RequestParam("roomId") Long roomId,
            @RequestParam("bedNo") String bedNo,
            @RequestParam("patId") String patId )
    {
        Integer result = queueService.recallInstallPatient(roomId, bedNo, patId);
        if (null == result || 0 == result)
            return error(PATIENT_NOT_EXISTS);
        return success("操作成功");
    }
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java
@@ -105,9 +105,14 @@
    void finishInstallNextPatient(Long roomId, String bedNo);
    /**
     * 医生看完患者
     * 常规过号、领用过号
     */
    void passNextPatient(Long roomId, String bedNo);
    /**
     * 装机过号
     */
    void passInstallNextPatient(Long roomId, String bedNo);
    List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList);
@@ -121,6 +126,8 @@
    Integer recallPatient(Long roomId, String bedNo, String patId);
    Integer recallInstallPatient(Long roomId, String bedNo, String patId);
    Integer patientJump(String patId, Byte jumped );
    RoomDO getDocRoomInfo(Long docId);
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -387,6 +387,15 @@
        startNextPatient(roomId, bedNo);
    }
    @Override
    public void passInstallNextPatient(Long roomId, String bedNo) {
        // 从 DB 把 [安装中]的人 设置为 [过号-安装]
        Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
                QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.PASSED_INSTALL.getStatus());
        startNextPatient(roomId, bedNo);
    }
    public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) {
        List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList);
        return queueDOList;
@@ -507,6 +516,14 @@
    }
    @Override
    public Integer recallInstallPatient(Long roomId, String bedNo, String patId) {
        Integer updateNum = queueMapper.recallPassedPatient(roomId, bedNo, patId,
                QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECEIVED.getStatus());
        startHurryUpOneBed(roomId, bedNo);
        return updateNum;
    }
    @Override
    public Integer patientJump(String patId, Byte jumped) {
        Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped);