yxh
7 天以前 68ff33beff11310e830b0615b5a81f83fad0f683
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package cn.lihu.jh.module.ecg.service.devrent;
 
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 javax.validation.Valid;
 
/**
 * 装机拆机 Service 接口
 *
 * @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);
 
    /**
     * 装机
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    CommonResult<Long> installOperation(@Valid DevRentSaveReqVO createReqVO);
 
    /**
     * 拆机
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long dismantleOperation(@Valid DevRentSaveReqVO createReqVO);
 
    /**
     * 数据录入
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    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);
 
    /**
     * 创建装机拆机
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createDevRent(@Valid DevRentSaveReqVO createReqVO);
 
    /**
     * 更新装机拆机
     *
     * @param updateReqVO 更新信息
     */
    void updateDevRent(@Valid DevRentSaveReqVO updateReqVO);
 
    /**
     * 删除装机拆机
     *
     * @param id 编号
     */
    void deleteDevRent(Long id);
 
    /**
     * 获得装机拆机
     *
     * @param id 编号
     * @return 装机拆机
     */
    DevRentDO getDevRent(Long id);
 
    /**
     * 获得装机拆机分页
     *
     * @param pageReqVO 分页查询
     * @return 装机拆机分页
     */
    PageResult<DevRentDO> getDevRentPage(DevRentPageReqVO pageReqVO);
 
    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);
}