package com.xintong.visualinspection.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.xintong.visualinspection.bean.*;
import com.xintong.visualinspection.pojo.StatisiticPojo;
import com.xintong.visualinspection.pojo.StatisticExUser;
import com.xintong.visualinspection.pojo.TaskAndScore;
import com.xintong.visualinspection.pojo.UserRankingData;

/**
 * 
 *
 * StatisticsService
 * 
 * tiger
 * tiger
 * 2017年5月4日 上午10:41:40
 * 
 * @version 1.0.0
 *
 */
public interface StatisticsService {

    public List<UserChangeStation> getUserChangeStation(StatisticsBean obj);

    public UserRankingData getEmployeeRankingData(StatisticsBean obj);

	public List<StatisticsBo> getEmployeeCheckedInfo(StatisticsBean obj);
	
	public List<StatisticsBean> getFeeStationCheckedScore(StatisticsBean obj);
	
	public List<StatisticsBean> getFeeStationCheckItemScore(StatisticsBean obj);
	
	public void getEmployeeCheckedInfo(StatisticsBean obj,HttpServletRequest req,HttpServletResponse resp);
	
	public void getFeeStationCheckedScore(StatisticsBean obj,HttpServletRequest req,HttpServletResponse resp);
	
	public void getFeeStationCheckItemScore(StatisticsBean obj,HttpServletRequest req,HttpServletResponse resp);
	
	public List<StatisticsBean> getYearScoreChange(StatisticsBean obj);
	
	public List<StatisticsBean> getFeeStationScoreInfo(StatisticsBean obj);
	
	public List<StatisticsBean> getCenterManageScoreInfo(StatisticsBean obj);
	
	public List<StatisticsBean> getSingleFeeStationScoreInfo(StatisticsBean obj);
	
	// 考核扣分情况占比
	public StatisticsBean getCheckedScoreInfo(StatisticsBean obj);
	
	// 分项考核情况占比
	public List<StatisticsBean> getCheckedItemScoreInfo(StatisticsBean obj);
	
	// 分项具体考核情况占比
	public Map<String,List<StatisticsBean>> get2CheckedItemScoreInfo(StatisticsBean obj);
	
	// 个人得分排名
	public List<StatisticsBean> getPersonalScoreInfo(StatisticsBean obj);
	
	// 收费站进步前5
	public List<StatisticsBean> getFSUp5Person(StatisticsBean obj);
	
	// 个人收费员的一年得分情况
	public List<StatisticsBean> getOneFSCheckedInfo(StatisticsBean obj);
	
	// 个人各项扣分情况
	public List<StatisticsBean> getOneCheckedItemInfo(StatisticsBean obj);
	
	// 个人扣分情况 / 个人稽查情况
	public List<StatisticsBean> getOneCheckedDetailInfo(StatisticsBean obj);
	
	public CheckmanStatisticsBean getCheckmanStatisticInfo(CheckmanStatisticsBean obj);
	
	// 出勤明细统计
	public List<StatisticsFsWork> getFsWorkStatisticInfo(StatisticsFsWork obj);
	
	// 顶岗出勤明细统计
	public List<StatisticsFsWork> getUnregularFsWorkStatisticInfo(StatisticsFsWork obj);
	
	// 正常在岗人数统计
	public List<StatisticsFsWork> getFsWorkPerson(StatisticsFsWork obj);
	
	// 顶岗人数统计
	public List<StatisticsFsWork> getFsWorkUnregularWorkPerson(StatisticsFsWork obj);
	
	// 申诉情况统计
	public List<CheckAppealStatistic> getCheckAppealStatistic(CheckAppealStatistic obj); 
	
	// 收费站Excel申诉
	public void getExcelAppealInfo(CheckAppealStatistic obj,String monthName,HttpServletRequest req,HttpServletResponse resp);
	
	// 稽查人员工作量统计
	public void getCheckInfo(StatisticsBean obj,HttpServletRequest req,HttpServletResponse resp);

	// 运营管理综合检查情况统计表
	public List<StatisticsBean> getOperationInfo(StatisticsBean obj);

	public void getOperationInfo(StatisticsBean obj, HttpServletRequest req, HttpServletResponse resp);
	
	//业务提升情况反馈表（所有员工排名）
	public List<StatisticsBo> getBusinessFeedbackInfo(StatisticsBean obj);

	public void getBusinessFeedbackInfo(StatisticsBeanBO obj, HttpServletRequest req, HttpServletResponse resp);
	
	// 获取清障稽查的稽查信息
	public List<StatisticsBean> getWreckerCheckInfo(StatisticsBean obj);
	
	// 获取清障稽查的信息
	public List<WreckerStatisticsBO> getWreckerStaffInfo(WreckerStatisticsBO obj);

	//获取连续月达标的员工
    public List<StatisiticPojo> getuserStatistic(UserStatistic obj);


	public Object addcheckSExUser(StatisticExUser statisticExUser);
	public Object deletecheckSExUser(StatisticExUser statisticExUser);

	//获取连续月部门积分
	public Map<String,List<DeptStatistic>> getDeptStatistic(DeptStatistic obj);
    public void getDeptStatisticExcel(DeptStatistic obj,HttpServletRequest req,HttpServletResponse resp);




}
