package com.sundot.airport.item.service.impl;

import com.sundot.airport.item.domain.portrait.SeizureStats;
import com.sundot.airport.item.mapper.ItemSeizureStatsMapper;
import com.sundot.airport.item.service.IItemSeizureStatsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 查获物统计服务实现类
 */
@Service
public class ItemSeizureStatsServiceImpl implements IItemSeizureStatsService {

    @Autowired
    private ItemSeizureStatsMapper itemSeizureStatsMapper;

    @Override
    public Long getPersonalEffectiveSeizureCount(Long userId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectPersonalEffectiveSeizureCount(userId, startTime, endTime);
    }

    @Override
    public Long getPersonalWillfulConcealmentCount(Long userId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectPersonalWillfulConcealmentCount(userId, startTime, endTime);
    }

    @Override
    public Long getPersonalReferToPoliceCount(Long userId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectPersonalReferToPoliceCount(userId, startTime, endTime);
    }

    @Override
    public SeizureStats getOrgEffectiveSeizureCount(Long deptId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectTeamEffectiveSeizureCount(deptId, startTime, endTime);
    }

    @Override
    public SeizureStats getTeamEffectiveSeizureCount(Long teamId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectTeamEffectiveSeizureCount(teamId, startTime, endTime);
    }

    @Override
    public SeizureStats getDepartmentEffectiveSeizureCount(Long departmentId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectDepartmentEffectiveSeizureCount(departmentId, startTime, endTime);
    }

    @Override
    public SeizureStats getBrigadeEffectiveSeizureCount(Long brigadeId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectBrigadeEffectiveSeizureCount(brigadeId, startTime, endTime);
    }

    @Override
    public SeizureStats getStationEffectiveSeizureCount(Long stationId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectStationEffectiveSeizureCount(stationId, startTime, endTime);
    }

    @Override
    public SeizureStats getOrgWillfulConcealmentCount(Long deptId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectTeamWillfulConcealmentCount(deptId, startTime, endTime);
    }

    @Override
    public SeizureStats getTeamWillfulConcealmentCount(Long teamId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectTeamWillfulConcealmentCount(teamId, startTime, endTime);
    }

    @Override
    public SeizureStats getDepartmentWillfulConcealmentCount(Long departmentId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectDepartmentWillfulConcealmentCount(departmentId, startTime, endTime);
    }

    @Override
    public SeizureStats getBrigadeWillfulConcealmentCount(Long brigadeId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectBrigadeWillfulConcealmentCount(brigadeId, startTime, endTime);
    }

    @Override
    public SeizureStats getStationWillfulConcealmentCount(Long stationId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectStationWillfulConcealmentCount(stationId, startTime, endTime);
    }

    @Override
    public SeizureStats getOrgReferToPoliceCount(Long deptId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectTeamReferToPoliceCount(deptId, startTime, endTime);
    }

    @Override
    public SeizureStats getTeamReferToPoliceCount(Long teamId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectTeamReferToPoliceCount(teamId, startTime, endTime);
    }

    @Override
    public SeizureStats getDepartmentReferToPoliceCount(Long departmentId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectDepartmentReferToPoliceCount(departmentId, startTime, endTime);
    }

    @Override
    public SeizureStats getBrigadeReferToPoliceCount(Long brigadeId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectBrigadeReferToPoliceCount(brigadeId, startTime, endTime);
    }

    @Override
    public SeizureStats getStationReferToPoliceCount(Long stationId, Date startTime, Date endTime) {
        return itemSeizureStatsMapper.selectStationReferToPoliceCount(stationId, startTime, endTime);
    }
}