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
package cn.lihu.jh.module.ecg.service.appointment;
 
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentConfirmReqVO;
import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentPageReqVO;
import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentSaveReqVO;
import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO;
 
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
 
/**
 * 预约 Service 接口
 *
 * @author 马剑波
 */
public interface AppointmentService {
 
    /**
     * 创建预约
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createAppointment(@Valid AppointmentSaveReqVO createReqVO);
 
    /**
     * 更新预约
     *
     * @param updateReqVO 更新信息
     */
    void updateAppointment(@Valid AppointmentSaveReqVO updateReqVO);
 
    /**
     * 更新预约状态
     *
     * @param updateReqVO 更新信息
     */
    void updateAppointmentStatus(@Valid AppointmentSaveReqVO updateReqVO);
 
    /**
     * 删除预约
     *
     * @param id 编号
     */
    void deleteAppointment(Long id);
 
    /**
     * 获得预约
     *
     * @param id 编号
     * @return 预约
     */
    AppointmentDO getAppointment(Long id);
 
    /**
     * 获得预约分页
     *
     * @param pageReqVO 分页查询
     * @return 预约分页
     */
    PageResult<AppointmentDO> getAppointmentPage(AppointmentPageReqVO pageReqVO);
 
    /**
     * 申请单创建
     *
     * @param dataMap 请求数据
     * @return 预约编号
     */
    Long handleAppointmentCreate(Map<String, Object> dataMap);
 
    /**
     * 申请单更新
     *
     * @param dataMap 请求数据
     */
    void handleAppointmentUpdate(Map<String, Object> dataMap);
 
    /**
     * 申请单状态更新
     *
     * @param dataMap 请求数据
     */
    void handleAppointmentStateUpdate(Map<String, Object> dataMap);
 
    /**
     * 处理检查预约状态新增
     *
     * @param dataMap 请求数据
     */
    void handleCheckAppointmentUpdate(Map<String, Object> dataMap);
 
    /**
     * 登记状态更新
     *
     * @param dataMap
     */
    void handleAppointmentStatusUpdate(Map<String, Object> dataMap);
 
    /**
     * 获得当天的预约 根据PatID and CheckType
     *
     * @param patId 编号
     * @return 预约
     */
    AppointmentDO getCurAppointmentByPatIdAndCheckType(String patId, Integer checkType);
 
    /**
     * 获得预约
     *
     * @param patCode 编号
     * @return 预约
     */
    List<AppointmentDO> queryAndCreateAppointmentByPatId(String patCode);
 
    /**
     * 【本需求:紧急患者不排队直接检查】按「申请单号 / 就诊号 / 患者编号」查近一个月的预约记录。
     *
     * @param code       申请单号 / 就诊流水号 / 患者编号(三者之一)
     * @param checkTypes 本窗口开展的检查项目,逗号分隔;为空表示不限制
     * @return 预约记录,**按预约时间倒序**(最近的在前)
     */
    List<AppointmentDO> getEmergencyCandidates(String code, String checkTypes);
 
    List<AppointmentDO> getAppointmentExtermal(String patId);
 
    Integer appoitmentConfirm(AppointmentConfirmReqVO appointmentConfirmReqVO);
 
    public AppointmentDO getByApplyNo(String applyNo);
}