package org.springblade.modules.sqjw.pcsInfo.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.sqjw.pcsInfo.entity.PcsInfoEntity;
import org.springblade.modules.sqjw.pcsInfo.excel.PcsInfoExcel;
import org.springblade.modules.sqjw.pcsInfo.vo.DzxxVO;
import org.springblade.modules.sqjw.pcsInfo.vo.PcsInfoVO;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.vo.ZdVO;

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

/**
 * 派出所信息表 Mapper 接口
 *
 * @author BladeX
 * @since 2024-01-08
 */
public interface PcsInfoMapper extends BaseMapper<PcsInfoEntity> {

	/**
	 * 自定义分页
	 *
	 * @param page
	 * @param params
	 * @return
	 */
	List<PcsInfoVO> selectPcsInfoPage(IPage page, @Param("params") Map<String, Object> params);

	List<PcsInfoExcel> exportPcsInfo(@Param("params") Map<String, Object> params);

	PcsInfoVO getDetail(Long deptId);

	List<ZdVO> getDictList(String code);

	List<User> getFzr(@Param("params") Map<String, Object> params);

	List<Dept> getFjSj(@Param("params") Map<String, Object> params);

	List<PcsInfoVO> getAllPcs(@Param("params") Map<String, Object> params);

	List<PcsInfoVO> getSqByPcsid(@Param("params") Map<String, Object> params);

	List<PcsInfoVO> getJgBySqId(@Param("params") Map<String, Object> params);

    List<DzxxVO> getDzxx(IPage<DzxxVO> page, @Param("params") Map<String, Object> params);

	List<Dept> getChildDept(@Param("params") Map<String, Object> params);
}
