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 org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* @Description: 产品/明显的充值记录
* @Project: 用户中心
* @CreateDate: Created in 2020-04-01 09:37:05
* @Author: liuke
* @version 1.0
*/
public interface IProductOrderDetailService extends ISuperService {
/**
* 列表
* @param params
* @return
*/
PageResult findList(Map params);
/**
* 诊断列表
* @param params
* @return
*/
PageResult findAllDataList(Map params);
/**
* 统计产品使用量列表
* @param params
* @return
*/
PageResult groupList(Map params);
/**
* 根据ProductOrderDetail对象当做查询条件进行查询
* @param productOrderDetail
* @return ProductOrderDetail对象
*/
ProductOrderDetail findByObject(ProductOrderDetail productOrderDetail);
/**
* 状态变更
* @param params
* @return
*/
ResultBody updateEnabled(Map params);
ResultBody getTypeByUser(SysUser sysUser);
/**
* 获取所有的套餐记录数据
* @param params
* @return
*/
List findAllList(Map params);
/**
* 获取医院的套餐数据
* @param hospitalId
* @param departmentId
* @return
*/
UserProductDetail getUserProductDetail(Long hospitalId, Long departmentId);
ResultBody biUserNowProduct(Long hospitalId,Long departmentId);
ResultBody UserProductDetailData(Long hospitalId, Long departmentId);
/**
* 试用审核的列表
* @param params
* @return
*/
PageResult all(Map 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 productOrderChart(@Param("p") Map params);
/**
* 统计产品的使用数量
* @return ccount 是数量
* units 是产品名称
*/
List proCountChart();
}