yxh
8 天以前 68ff33beff11310e830b0615b5a81f83fad0f683
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -1,12 +1,9 @@
package cn.lihu.jh.module.ecg.service.devrent;
import java.util.*;
import cn.lihu.jh.framework.common.pojo.CommonResult;
import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.common.pojo.PageParam;
import javax.validation.Valid;
@@ -16,6 +13,30 @@
 * @author 芋道源码
 */
public interface DevRentService {
    /**
     * 装机登记
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> registerOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * 常规检查 完成
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> routineFinishOperation(@Valid RoutineFinishReqVO createReqVO);
    /**
     * 设备准备
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> readyOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * 装机
@@ -34,12 +55,45 @@
    Long dismantleOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * 装机
     * 数据录入
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> cancelOperation(@Valid DevCancelReqVO createReqVO);
    Long dataEntryOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * 常规检查 取消
     *
     * @param cancelReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> cancelRoutineOperation(@Valid DevCancelReqVO cancelReqVO);
    /**
     * 取消领用
     *
     * @param cancelReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> cancelReadyOperation(@Valid DevCancelReqVO cancelReqVO);
    /**
     * 取消装机
     *
     * @param cancelReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> cancelInstallOperation(@Valid DevCancelReqVO cancelReqVO);
    /**
     * 遗失
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> dismantleExceptionOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * 创建装机拆机
@@ -79,5 +133,21 @@
     */
    PageResult<DevRentDO> getDevRentPage(DevRentPageReqVO pageReqVO);
    DevRentDO getLatestRent(String devId);
    DevRentDO getExistingRent(DevRentSearchReqVO searchReqVO);
    DevRentDO getFreeRent(DevRentSearchReqVO searchReqVO);
    DevRentDO getReadyOrCancelledRent(DevRentSearchReqVO searchReqVO);
    DevRentDO getDismantledRent(DevRentSearchReqVO searchReqVO);
    Integer feeConfirm(Long rentId, String hisId, String userNickname, Boolean isFeeConfirmOrCancel);
    /**
     * 撤销「检查完成」后的回滚(本次新增):
     * 把该患者今日、该检查项目的 **60(常规检查完成) → 0(待检查)**,并**取消确费**。
     *
     * <p>为什么必须回滚:撤销原先只把队列行 40→20,检查单仍是 60;
     * 前端再次完成时 `getFreeRent` 取不到「待检查」单(rentId 为空),后端便报「请先预约确认」。
     *
     * <p>内部已 try/catch:回滚失败不应影响"撤销"本身的结果。
     */
    void rollbackRoutineFinish(String patId, Integer checkType);
}