forked from kidgrow-microservices-platform

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
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);
 
    ResultBody biUserNowProduct(Long hospitalId,Long departmentId);
    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<ProductOrderDetail> departmentProductDetail(Map<String, Object> params);
}