eight
2025-04-15 01a81beea99c0298a3b6178c7796f4c27b30c6c7
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -140,7 +140,7 @@
        //queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(),
        //        QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
        QueueDO firstOnStageQueueItem = queueMapper.getFirstItemByBedAndStatus(createReqVO.getRoomId(),
        QueueDO firstOnStageQueueItem = queueMapper.getBedFirstQueueItemByStatus(createReqVO.getRoomId(),
                                            createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus());
        // QueueStatusEnum.ONSTAGE  =>  QueueStatusEnum.FINISH
        firstOnStageQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus());  // 默认状态 设置
@@ -176,8 +176,8 @@
        }
        List<Integer> jobTypeList = new ArrayList<Integer>();
        jobTypeList.add( DevRentStateEnum.READY.getState());
        jobTypeList.add( DevRentStateEnum.READY_CANCELLED.getState());
        jobTypeList.add( DevRentStateEnum.RECEIVED.getState());
        jobTypeList.add( DevRentStateEnum.RECEIVED_CANCELLED.getState());
        JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList);
        if (null == jobRecordDO) {
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState());
@@ -189,7 +189,7 @@
            rent_id = devRentDOList.getFirst().getId();
            createReqVO.setId( rent_id );
            createReqVO.setState( DevRentStateEnum.READY.getState() );
            createReqVO.setState( DevRentStateEnum.RECEIVED.getState() );
            updateDevRent( createReqVO );
            JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
@@ -200,7 +200,7 @@
            jobRecordSaveReqVO.setPatId(createReqVO.getPatId());
            jobRecordSaveReqVO.setPatName(createReqVO.getPatName());
            jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime());
            jobRecordSaveReqVO.setJobType( DevRentStateEnum.READY.getState() );
            jobRecordSaveReqVO.setJobType( DevRentStateEnum.RECEIVED.getState() );
            jobRecordSaveReqVO.setRemark(createReqVO.getRemark());
            jobRecordSaveReqVO.setSummary("");
            jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() );
@@ -209,12 +209,12 @@
            jobRecordMapper.insert(jobRecord);
        } else {
            // 撤销 放弃操作
            createReqVO.setState( DevRentStateEnum.READY.getState() );
            createReqVO.setState( DevRentStateEnum.RECEIVED.getState() );
            updateDevRent( createReqVO );
            jobRecordDO.setDevId(createReqVO.getDevId());
            jobRecordDO.setJobType( DevRentStateEnum.READY.getState() );
            jobRecordDO.setJobType( DevRentStateEnum.RECEIVED.getState() );
            jobRecordDO.setJobTime(createReqVO.getRentTime());
            jobRecordDO.setRemark(createReqVO.getRemark());
            jobRecordDO.setUpdater(String.valueOf(userId));
@@ -227,10 +227,11 @@
        //        QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus());
        // QueueStatusEnum.ONSTAGE  =>  QueueStatusEnum.RECEIVED
        QueueDO bedOnStageQueueItem = queueMapper.getFirstItemByBedAndStatus(
        QueueDO bedOnStageQueueItem = queueMapper.getBedFirstQueueItemByStatus(
                createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus() );
        CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( bedOnStageQueueItem.getBookCheckType() );
        bedOnStageQueueItem.setStatus(QueueStatusEnum.RECEIVED.getStatus());  // [已领用] 状态
        bedOnStageQueueItem.setAffinityItem( 0 ); // 亲和标记 清除,在安装阶段重新亲和
        // 检查项目.亲和性 处理逻辑 , 更新 bedOnStageQueueItem
        if (checkTypeDO.getAffinityCheckTypes().length > 0) {
@@ -269,7 +270,7 @@
        // 第一次 安装操作
        if (null == jobRecordDO) {
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.READY.getState());
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.RECEIVED.getState());
            if (devRentDOList.size() == 0)
                throw exception(DEV_INSTALL_NOT_RECEIVED);
            else if (devRentDOList.size() != 1) {
@@ -315,7 +316,7 @@
        //        QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus());
        // QueueStatusEnum.INSTALLING  =>  QueueStatusEnum.FINISH
        QueueDO bedInstallingQueueItem = queueMapper.getFirstItemByBedAndStatus(
        QueueDO bedInstallingQueueItem = queueMapper.getBedFirstQueueItemByStatus(
                            createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.INSTALLING.getStatus());
        bedInstallingQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus());  // 默认状态 设置
        queueMapper.updateById( bedInstallingQueueItem );
@@ -480,13 +481,13 @@
        DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class);
        createReqVO.setDevId(null);
        createReqVO.setState( DevRentStateEnum.READY_CANCELLED.getState());
        createReqVO.setState( DevRentStateEnum.RECEIVED_CANCELLED.getState());
        Long rent_id = createReqVO.getId();
        List<Integer> jobTypeList = new ArrayList<Integer>();
        jobTypeList.add( DevRentStateEnum.READY.getState());
        jobTypeList.add( DevRentStateEnum.READY_CANCELLED.getState());
        jobTypeList.add( DevRentStateEnum.RECEIVED.getState());
        jobTypeList.add( DevRentStateEnum.RECEIVED_CANCELLED.getState());
        JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList);
        if (null == jobRecordDO) {
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState());
@@ -495,7 +496,7 @@
            rent_id = devRentDOList.getFirst().getId();
            createReqVO.setId( rent_id );
            createReqVO.setState( DevRentStateEnum.READY_CANCELLED.getState() );
            createReqVO.setState( DevRentStateEnum.RECEIVED_CANCELLED.getState() );
            updateDevRent( createReqVO );
            JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
@@ -505,7 +506,7 @@
            jobRecordSaveReqVO.setDocName(userNickname);
            jobRecordSaveReqVO.setPatId(createReqVO.getPatId());
            jobRecordSaveReqVO.setPatName(createReqVO.getPatName());
            jobRecordSaveReqVO.setJobType( DevRentStateEnum.READY_CANCELLED.getState() );
            jobRecordSaveReqVO.setJobType( DevRentStateEnum.RECEIVED_CANCELLED.getState() );
            jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime());
            jobRecordSaveReqVO.setRemark(createReqVO.getRemark());
            jobRecordSaveReqVO.setSummary("");
@@ -517,7 +518,7 @@
            updateDevRent( createReqVO );
            jobRecordDO.setDevId(null);
            jobRecordDO.setJobType(DevRentStateEnum.READY_CANCELLED.getState());
            jobRecordDO.setJobType(DevRentStateEnum.RECEIVED_CANCELLED.getState());
            jobRecordDO.setJobTime(createReqVO.getRentTime());
            jobRecordDO.setRemark(createReqVO.getRemark());
            jobRecordDO.setUpdater(String.valueOf(userId));
@@ -550,7 +551,7 @@
        jobTypeList.add( DevRentStateEnum.INSTALL_CANCELLED.getState());
        JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList);
        if (null == jobRecordDO) {
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.READY.getState());
            List<DevRentDO>  devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.RECEIVED.getState());
            if (devRentDOList.size() != 1)
                throw exception(DEV_INSTALL_EXIST);
@@ -684,6 +685,7 @@
    @Override
    public PageResult<DevRentDO> getDevRentPage(DevRentPageReqVO pageReqVO) {
        pageReqVO.setState(0);
        return devRentMapper.selectPage(pageReqVO);
    }
@@ -691,7 +693,7 @@
    public DevRentDO getExistingRent(DevRentSearchReqVO searchReqVO) {
        List<Integer> stateList = new ArrayList<>();
        stateList.add( DevRentStateEnum.INSTALLED.getState() );
        stateList.add( DevRentStateEnum.READY.getState());
        stateList.add( DevRentStateEnum.RECEIVED.getState());
        searchReqVO.setStateList( stateList );
        return devRentMapper.getRentByState(searchReqVO);
    }
@@ -707,8 +709,8 @@
    @Override
    public DevRentDO getReadyOrCancelledRent(DevRentSearchReqVO searchReqVO) {
        List<Integer> stateList = new ArrayList<>();
        stateList.add( DevRentStateEnum.READY.getState() );
        stateList.add( DevRentStateEnum.READY_CANCELLED.getState());
        stateList.add( DevRentStateEnum.RECEIVED.getState() );
        stateList.add( DevRentStateEnum.RECEIVED_CANCELLED.getState());
        searchReqVO.setStateList( stateList );
        return devRentMapper.getRentByState(searchReqVO);
    }
@@ -755,9 +757,16 @@
        exmRequest.setPatientType( getPatientType(patDetails.getSource()) ); //
        exmRequest.setItem(item);
        hisFeeConfirmReqBody.setExmRequest(exmRequest);
        HisFeeConfirmRespResult result = feeConfirmFeignService.httpFeeApi("UpdateExmRequestStatus", "ECG", "ECG", hisFeeConfirmReqBody);
        log.info( result.getMsgHeader().getStatus() );
        Integer returnValue = result.getMsgHeader().getStatus().equals("true") ? 0 : 1;
        Integer returnValue = 1;
        try {
            HisFeeConfirmRespResult result = feeConfirmFeignService.httpFeeApi("UpdateExmRequestStatus", "ECG", "ECG", hisFeeConfirmReqBody);
            log.info( result.getMsgHeader().getStatus() );
            returnValue = result.getMsgHeader().getStatus().equals("true") ? 0 : 1;
        } catch (RuntimeException ex) {
            returnValue = 1;
        }
        if (0 == returnValue) {
            devRentMapper.setPaid(rentId, isFeeConfirmOrCancel ? 1 : 0);
        }
@@ -850,6 +859,7 @@
        if (!affinityInstallingItems.isEmpty()) {
            QueueDO affinityInstallingItem = affinityInstallingItems.get(0);
            bedOnStageQueueItem.setStatus(QueueStatusEnum.AFFINITY_INSTALL.getStatus()); // 亲和-领用
            bedOnStageQueueItem.setAffinityItem(1);
            bedOnStageQueueItem.setRoomId( affinityInstallingItem.getRoomId() );
            bedOnStageQueueItem.setBedNo( affinityInstallingItem.getBedNo() );  // 领用 到 安装 可能会在不同工位
        }