package com.elephant.framework.galaxy.aroad.module.zhjg.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.zhjg.entity.CxysBeyondFormat;
import com.elephant.framework.galaxy.aroad.module.zhjg.entity.CxysDataAnalysis;
import com.elephant.framework.galaxy.aroad.module.zhjg.entity.ShowCxysTotal;
import com.elephant.framework.galaxy.aroad.module.zhjg.entity.ZhjgLzglCxysxk;

import java.util.List;

/**
 * 超限运输许可表
 *
 * @author wangjian
 * @date 2019-03-27 17:46:24
 */
public interface ZhjgLzglCxysxkService extends IService<ZhjgLzglCxysxk> {

    /**
     * 通过时间查询该时间段内的数据
     * @param startDate
     * @param endDate
     * @return
     */
    List<ZhjgLzglCxysxk> findZhjgLzglCxysxkByDate(String startDate, String endDate);

    /**
     *  根据许可单号查询超限许可信息是否已存在
     * @param     * @return
     */
    Integer getZhjgLzglCxysxkByXkdh(String xkdh);

    /**
     * 超限许可许可公示分页查询
     *
     * @param page 分页对象
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @param xkdh 许可单号
     * @param cph 车牌号
     * @return
     */
    IPage<List<ZhjgLzglCxysxk>> selectCxysXkgsByCurrentDate(Page page, String startDate, String endDate, String xkdh, String cph);

    /**
     * 查询跨省发证审批数量
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @return 数量
     */
    Integer[] selectCountKsFzSpByDate(String startDate, String endDate);

    /**
     * 超限运输数据分析页面统计数据
     */
    CxysDataAnalysis selectCxysSjfx(Double startLong, Double endLong,
                                          Double startWidth, Double endWidth,
                                          Double startHeight, Double endHeight,
                                          Double startWeight, Double endWeight,
                                          String startDate, String endDate);

    /**
     * 超限运输综合展示页面
     * @param startDate
     * @param endDate
     * @return
     */
    ShowCxysTotal seleCxysZhzs(String startDate, String endDate);
}
