ParkingRunningStatisticDao.java 3.65 KB
package com.zteits.park.dao;

import java.util.Date;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.clouds.dto.TurnoverRatioDTO;
import com.zteits.clouds.api.dto.park.dto.ParkingRunningStatisticDTO;
import com.zteits.clouds.api.dto.park.dto.TodayVehicleFlowOccupyRateAndTurnOverDTO;
import com.zteits.clouds.api.dto.park.param.ParkingRunningStatisticForPageRequest;
import com.zteits.park.domain.ParkingRunningStatistic;

/**
 * Copyright: Copyright (c) 2018  zteits
 *
 * @ClassName: com.zteits.park.dao
 * @Description: 停车场运行状态统计Dao层服务
 * @version: v1.0.0
 * @author: atao
 * @date: 2018/3/13   下午3:42
 * Modification History:
 * Date         Author          Version      Description
 * ---------------------------------------------------------*
 * 2018/3/13      atao          v1.0.0          创建
 */
public interface ParkingRunningStatisticDao {

    /**
     * 根据停车场编号 及 统计时间周期查询最新一条的 停车场统计数据
     *
     * @param
     * @return
     * @Author: atao
     * @Date: 2018/3/19 下午12:55
     */
    ParkingRunningStatistic queryRecentParkingStatisticData(String plNo, Integer timeCycle, Integer dataSource);

    /**
     * 保存停车运行数据
     * @param
     * @return
     * @Author: atao
     * @Date: 2018/3/19 下午8:29
     *
     */
    Integer saveParkingRunningStatistic(ParkingRunningStatistic parkingRunningStatistic);

    /**
     * 按日/月查询车流量图表数据
     * @param request
     * @return
     * 2018年3月19日 wangfei
     */
    List<ParkingRunningStatisticDTO> queryCarFlowChartByDayOrMonth(ParkingRunningStatisticForPageRequest request);

    /**
     *  按时间类型(天、周、月)查询车流量列表详情
     * langlw 2018-5-18 edit
     * @param request
     * @return
     * 2018年3月19日 wangfei
     */
    PageInfo<ParkingRunningStatisticDTO> queryCarFlowByTimeTypeForList(ParkingRunningStatisticForPageRequest request);


    /***
     * 查询周转率新的
     * langlw 2018-3-19
     * @param request
     * @return
     */
    PageInfo<TurnoverRatioDTO> queryTurnoverRatioForTable(ParkingRunningStatisticForPageRequest request);
    /***
     * 查询周转率新的
     * langlw 2018-3-19
     * @param request
     * @return
     */
    PageInfo<TurnoverRatioDTO> queryTurnoverRatioChart(ParkingRunningStatisticForPageRequest request);

    /**
     * 根据停车场编号查询 当前时间的进出场车流量、周转率、占用率
     * @param beginTime
     * @param endTime
     * @param timeCycle
     * @param plNos
     * @return
     * 2018年3月20日 wangfei
     */
    List<TodayVehicleFlowOccupyRateAndTurnOverDTO> queryTodayVehicleFlowOccupyRateAndTurnOver(Date beginTime,
            Date endTime, Integer timeCycle, List<String> plNos);

    /**
     * 首页按停车场类型查询当前停车场的占用率、周转次数
     * @param beginTime
     * @param endTime
     * @param timeCycle
     * @param plNos
     * @return
     * 2018年3月20日 wangfei
     */
    List<TodayVehicleFlowOccupyRateAndTurnOverDTO> queryCurrentOccupyRateAndTurnOver(Date beginTime, Date endTime,
            Integer timeCycle, List<String> plNos);


    PageInfo<ParkingRunningStatistic> queryParkingLotUseStatisticForPage(Date beginTime, Date endTime,
            Integer timeCycleType, List<String> plNos, int pageNum, int pageSize);



    /**
     * 根据时间 查询平均占用率
     * @param plNo
     * @param timeCycle
     * @param startTime
     * @param endTime
     * @return
     */
     Double queryAvgOccUpyRatio(String plNo,Integer timeCycle, Date startTime,
        Date endTime );

}