package com.mosty.sjzx.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mosty.base.model.entity.hczx.TbHcBpcry;
import com.mosty.base.model.entity.qwzx.TbQwXfbb;
import com.mosty.base.model.entity.sjzx.TbJq;
import com.mosty.base.model.dto.sjzx.TbJqGeohash;
import com.mosty.base.model.entity.wzzx.TbWzSswz;
import com.mosty.base.model.entity.wzzx.TbWzXfwz;
import com.mosty.base.model.entity.xinzhi.Jjdb;
import com.mosty.base.model.entity.yjzl.TbYjxx;
import com.mosty.base.model.query.sjzx.TbJqListQuery;
import com.mosty.base.model.query.yjzl.TbYjxxQuery;
import com.mosty.base.model.vo.sjzx.GeohashQuery;
import com.mosty.common.config.entity.SysDictItem;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * 警情表(TbJq)表数据库访问层
 *
 * @author zhangHaiJun
 * @since 2022-07-13 20:44:48
 */
@Mapper
public interface TbJqMapper extends BaseMapper<TbJq> {


    @ApiOperation("通过ID查询单条数据")
    TbJq queryById(String id);

    @ApiOperation("新增数据")
    int insertEntity(TbJq tbJq);

    @ApiOperation("修改数据")
    int updateEntity(TbJq tbJq);

    @ApiOperation("通过主键删除数据")
    int deleteById(String id);

    @ApiOperation("查询数据总数")
    int getCount(Map<String, Object> map);

    @ApiOperation("查询数据列表分页")
    List<TbJq> getListByPage(Map<String, Object> map);

    @ApiOperation("查询警情列表不分页")
    List<TbJq> getList(Map<String, Object> map);

    @ApiOperation("警情热力图")
    List<Map<String, Object>> getJqHotMap(Map<String, Object> map);


    @ApiOperation("查询租房管控数量")
    int getZfgkCount(Map<String, Object> map);

    @ApiOperation("查询租房管控列表")
    List<TbJq> getZfgkList(Map<String, Object> map);

    @ApiOperation("查询警情统计信息")
    List<Map<String, Object>> getStatistics(TbJqListQuery dto);

    @ApiOperation("查询预警信息")
    List<Map<String, Object>> getYjxx30Day(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("查询盘查人员信息")
    List<Map<String, Object>> getPcryList(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("查询盘车车辆信息")
    List<Map<String, Object>> getPcclList(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("警情统计")
    List<Map<String, Object>> getJqTj(@Param("kssj") String kssj);

    @ApiOperation("警情统计(按时间)")
    List<Map<String, Object>> getJqTjByTime(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("查询巡防位置")
    List<Map<String, Object>> getWzList(@Param("kssj") String kssj);

    @ApiOperation("查询时间段类的报备数据")
    List<Map<String, Object>> getBbList(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("查询盘查人员统计")
    List<Map<String, Object>> getPcryTj(@Param("kssj") String kssj);

    @ApiOperation("查询盘查车辆统计")
    List<Map<String, Object>> getPcclTj(@Param("kssj") String kssj);

    @ApiOperation("查询盘查重点人员数据")
    List<Map<String, Object>> getPcZdryTj(String kssj);

    @ApiOperation("根据时间查询盘查人员统计")
    List<Map<String, Object>> getPcryByTime(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("根据时间查询盘查车辆统计")
    List<Map<String, Object>> getPcclByTime(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("根据时间查询重点人员信息")
    List<Map<String, Object>> getZdryByTime(@Param("kssj") String kssj, @Param("jssj") String jssj);

    @ApiOperation("修改警情处置状态")
    void updateJqCzzt(@Param("id") String id, @Param("czzt") String czzt);

    @ApiOperation("查询字典")
    SysDictItem selectDict(@Param("dictName") String dictName, @Param("dm") String dm);

    @ApiOperation("查询没得经纬度的接警单编号")
    List<String> selectJjdbh(String jwd);

    @ApiOperation("修改警情经纬度")
    void updateJqJwd(TbJq tbJq);


}


