eight
2024-10-12 a3fcff07fc07bd35f41fd7f9b8f3a9df2676a581
常规检查 叫号
已修改5个文件
106 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/DevRentStateEnum.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/DevRentStateEnum.java
@@ -22,7 +22,9 @@
    DATAENTERED(25, "已录入"),
    READY_CANCELLED(30, "领用放弃"),
    INSTALL_CANCELLED(35, "安装放弃"),
    LOST(40, "已遗失");
    LOST(40, "已遗失"),
    ROUTINE_CANCELLED(50, "常规检查放弃"),
    ROUTINE_FINISH( 60, "常规检查完成");
    public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DevRentStateEnum::getState).toArray();
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java
@@ -50,6 +50,21 @@
    @Resource
    private QueueService queueService;
    // 常规检查 完成
    @PostMapping("/routine-finish")
    @Operation(summary = "")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Long> routineFinish(@Valid @RequestBody DevRentSaveReqVO createReqVO) {
        try {
            CommonResult<Long> result = devRentService.routineFinishOperation(createReqVO);
            return result;
        } catch ( RuntimeException runtimeException ) {
            String err = ExceptionUtils.formatException( runtimeException );
            log.error("checkFinish: " + err);
            return CommonResult.error(DEV_INSTALL_EXCEPTION);
        }
    }
    @PostMapping("/dev-ready")
    @Operation(summary = "设备领用")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
@@ -106,7 +121,7 @@
    }
    @PostMapping("/dev-ready-cancel")
    @Operation(summary = "取消装机")
    @Operation(summary = "取消领用")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Long> devReadyCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) {
        try {
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -28,6 +28,14 @@
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> routineFinishOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * 设备准备
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> readyOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -60,6 +60,68 @@
    }
    @Override
    public CommonResult<Long> routineFinishOperation(DevRentSaveReqVO createReqVO) {
        Long userId = SecurityFrameworkUtils.getLoginUserId();
        String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
        // 同样 在预约确实时 就进入 [dev_rent] 表了
        Long rent_id = createReqVO.getId();
        if (null == rent_id) {
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState());
            if (devRentDOList.size() == 0)
                return CommonResult.error(DEV_INSTALL_NOT_APPOINTMENT);
            else if (devRentDOList.size() != 1) {
                return CommonResult.error(DEV_INSTALL_EXCEPTION);
            }
            rent_id = devRentDOList.getFirst().getId();
            createReqVO.setId( rent_id );
            createReqVO.setState( DevRentStateEnum.ROUTINE_FINISH.getState() );
            updateDevRent( createReqVO );
            JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
            jobRecordSaveReqVO.setRentId(rent_id);
            jobRecordSaveReqVO.setDevId(createReqVO.getDevId());
            jobRecordSaveReqVO.setDocId(userId);
            jobRecordSaveReqVO.setDocName(userNickname);
            jobRecordSaveReqVO.setPatId(createReqVO.getPatId());
            jobRecordSaveReqVO.setPatName(createReqVO.getPatName());
            jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime());
            jobRecordSaveReqVO.setJobType( DevRentStateEnum.ROUTINE_FINISH.getState() );
            jobRecordSaveReqVO.setRemark(createReqVO.getRemark());
            jobRecordSaveReqVO.setSummary("");
            JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
            jobRecordMapper.insert(jobRecord);
        } else {
            // 撤销 放弃操作
            createReqVO.setState( DevRentStateEnum.ROUTINE_FINISH.getState() );
            updateDevRent( createReqVO );
            List<Integer> jobTypeList = new ArrayList<Integer>();
            jobTypeList.add( DevRentStateEnum.ROUTINE_FINISH.getState());
            jobTypeList.add( DevRentStateEnum.READY_CANCELLED.getState());
            JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList);
            if (null != jobRecordDO) {
                jobRecordDO.setDevId(createReqVO.getDevId());
                jobRecordDO.setJobType( DevRentStateEnum.ROUTINE_FINISH.getState() );
                jobRecordDO.setJobTime(createReqVO.getRentTime());
                jobRecordDO.setRemark(createReqVO.getRemark());
                jobRecordDO.setUpdater(String.valueOf(userId));
                jobRecordDO.setUpdateTime(LocalDateTime.now());
                jobRecordMapper.updateById(jobRecordDO);
            }
        }
        // 更新..队列状态
        queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(),
                QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
        return CommonResult.success(rent_id);
    }
    @Override
    @Transactional
    public CommonResult<Long> readyOperation(DevRentSaveReqVO createReqVO) {
        Long userId = SecurityFrameworkUtils.getLoginUserId();
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -332,8 +332,15 @@
    @Override
    public void finishNextPatient(Long roomId, String bedNo) {
        // 从 DB 把 就诊中的人 设置为就诊完成
        Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
                QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
        //Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
        //        QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
        // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃取下一位
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
        Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList);
        if ( num != null && num > 0)
            return;
        startNextPatient(roomId, bedNo);
    }
@@ -345,7 +352,7 @@
        //Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
        //        QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus());
        // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃.取下一位
        // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃取下一位
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
        Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList);
@@ -362,7 +369,7 @@
        //Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
        //        QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus());
        // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃.取下一位
        // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃取下一位
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
        Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList);