package cn.com.countrygarden.bi.main.service.performance.indicators;


import org.springframework.context.annotation.Scope;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 通用的指标服务类接口，所有的子类实现类都必须符合这个标准
 *
 * @Author:Wyman
 * @Date:2018/10/22
 */
@Scope("prototype")
public interface ComIndicatorService<T> {

    /**
     *  指标对应的数据查询
     * @param elementId
     * @param year
     * @param quarter
     * @param pageCurr
     * @return
     */
     Object showData(long elementId, int year, int quarter, int pageCurr, int pageSize, String typeNo);

    /**
     * 指标数据保存
     * @param elementId
     * @param year
     * @param quarter
     * @param values
     * @return
     */
     Object saveData(long elementId, int year, int quarter, List<Object> values);

    /**
     * 指标对应excel数据上传
     * @param elementId
     * @param year
     * @param quarter
     * @param mf
     * @param OperatorId
     * @return
     */
     void uploadData(long elementId, int year, int quarter, MultipartFile mf, String OperatorId);

    /**
     * 查询用户对应指标的权限
     * @param elementId
     * @param requestMap
     * @param request
     * @return
     */
     Object selectAuthority(long elementId, Map<String, Object> requestMap, HttpServletRequest request);

}
