forked from kidgrow-microservices-platform

dougang
2020-12-09 c8cdba0d34f57835a96233a7f0a7eaa35774dd6f
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
package com.kidgrow.oprationcenter.service;
 
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.service.ISuperService;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
import com.kidgrow.oprationcenter.vo.*;
 
import java.util.List;
import java.util.Map;
 
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 * @Description: 产品/明显的充值记录<br>
 * @Project: 用户中心<br>
 * @CreateDate: Created in 2020-04-01 09:37:05 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 * @version 1.0
 */
public interface IProductOrderDetailService extends ISuperService<ProductOrderDetail> {
    /**
     * 列表
     * @param params
     * @return
     */
    PageResult<ProductOrderDetail> findList(Map<String, Object> params);
 
    /**
     * 诊断列表
     * @param params
     * @return
     */
    PageResult<DiagnosisRecord> findAllDataList(Map<String, Object> params);
    /**
     * 统计产品使用量列表
     * @param params
     * @return
     */
    PageResult<GroupProductDetail> groupList(Map<String, Object> params);
 
    /**
    * 根据ProductOrderDetail对象当做查询条件进行查询
    * @param productOrderDetail
    * @return ProductOrderDetail对象
    */
    ProductOrderDetail findByObject(ProductOrderDetail productOrderDetail);
    /**
     * 状态变更
     * @param params
     * @return
     */
    ResultBody updateEnabled(Map<String, Object> params);
 
    ResultBody getTypeByUser(SysUser sysUser);
    /**
     * 获取所有的套餐记录数据
     * @param params
     * @return
     */
    List<ProductOrderJoinDetail> findAllList(Map<String, Object> params);
    /**
     * 获取医院的套餐数据
     * @param hospitalId
     * @param departmentId
     * @return
     */
    UserProductDetail getUserProductDetail(Long hospitalId, Long departmentId);
 
    /**
     *
     * @param hospitalId
     * @param departmentId
     * @return
     */
    ResultBody biUserNowProduct(Long hospitalId,Long departmentId);
 
    /**
     * 获取医院的到期时间
     * @param hospitalId
     * @param departmentId
     * @param diagnosticId
     * @return
     */
    ResultBody<UserProductData> userProductDetailData(Long hospitalId, Long departmentId,String diagnosticId);
 
    /**
     * 试用审核的列表
     * @param params
     * @return
     */
    PageResult all(Map<String, Object> params);
 
    /**
     * 获取一个科室使用过多少个试用套餐
     * @param departmentId
     * @return
     */
    int getEnabledCount(Long departmentId);
    /**
     * 统计获取数据量
     * @param datatype
     * 0 试用审核量
     * 1 套餐总量
     * 2 未处理用户反馈
     * 3 未处理数据需求
     * @return
     */
    int oprationChart(int datatype);
    /**
     * 按指定类型统计合同数量
     * @param params
     *    datatype      1 按年
     *                 2 按月
     *                 3 按天
     *                 4 按周
     *    beginTime 查询时间段的开始时间
     *    endTime   结束时间
     * @return
     */
    List<OrderChartVo> productOrderChart(Map<String, Object> params);
    /**
     * 统计产品的使用数量
     * @return  ccount 是数量
     *          units 是产品名称
     */
    List<OrderChartVo> proCountChart();
    /**
     *获取该科室下的所有的套餐信息
     * @param params
     * @return
     */
    PageResult<ProductOrderDetailVo> departmentProductDetail(Map<String, Object> params);
    /**
     * 获取最近即将到期的套餐
     * @return
     */
    PageResult<ProductEndVo>productEndList(Map<String, Object> params);
    /**
     * 获取一个科室所有的有效套餐
     * @param departmentId
     * hospitalId
     * @return
     */
    int getUserdProduct(Long hospitalId,Long departmentId);
 
}