package com.mosty.base.manager.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mosty.base.model.dto.jcgl.TbJcglXfllSearchQuery;
import com.mosty.base.model.dto.jcgl.TbJcglZyjzSearchDto;
import com.mosty.base.model.query.jcgl.TbJcglXfllQueryAllDto;
import com.mosty.base.model.vo.jcgl.TbJcglZyjz;
import com.mosty.base.model.dto.jcgl.TbJcglXfllDto;
import com.mosty.base.model.entity.jcgl.TbJcglXfll;
import com.mosty.base.model.query.jcgl.TbJcglXfllQuery;
import com.mosty.base.model.vo.jcgl.TbJcglXfllVo;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;

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

/**
 * 巡防力量表;(tb_jcgl_xfll)表服务接口
 * @author : Lhh
 * @date : 2022-6-4
 */
public interface TbJcglXfllService extends IService<TbJcglXfll> {

    IPage<TbJcglXfllVo> getList(TbJcglXfllQuery tbJcglXfll);

    void add(TbJcglXfllDto tbJcglXfllDto);

    TbJcglXfllVo queryById(String id);

    void edit(TbJcglXfllDto tbJcglXfllDto);

    boolean cheskXfll(String idCard);

    void lzList(List<String> id);

    Object deleteList(List<String> id);

    @ApiOperation("查询有效身份证号码")
    List<String> querySfzh();

    @ApiOperation("大屏-勤务中心-警力情况")
    Object selectAllPolice(TbJcglXfllDto tbJcglXfllDto);

    @ApiOperation("查询部门下所有的辅警信息")
    List<com.mosty.base.model.dto.jcgl.TbJcglXfllVo> getFjList(String deptid);

    @ApiModelProperty("查询部门下的专业警种信息")
    IPage<TbJcglZyjz> getZyjzList(TbJcglZyjzSearchDto dto);

    @ApiOperation("查询部门下的巡防力量信息")
    List<TbJcglXfllVo> getXfll(TbJcglXfllQueryAllDto dto);

    @ApiOperation("查询巡防力量 民警、辅警")
    IPage<TbJcglXfllVo> getXfllList(TbJcglXfllSearchQuery dto);

    @ApiOperation("根据身份证查询巡组力量信息")
    TbJcglXfllDto getXfllBySfz(String sfzh);

    @ApiOperation("巡防力量查询--第三方接口")
    IPage<TbJcglXfllVo> getXfllPage(TbJcglXfllQuery tbJcglXfll);


    @ApiOperation("获取离职人员列表")
    IPage<TbJcglXfll> getLzPage(TbJcglXfllQuery tbJcglXfll);

    @ApiOperation("查询部门下面人员数量")
     Integer getRysl(String ssbmd);

    @ApiOperation("人员统计")
    Map<String,Object> getRytj(String ssbmd);

    @ApiOperation("获取部门列表")
    List<TbJcglXfll>  getBmAll();

    @ApiOperation("获取所有数据")
    List<TbJcglXfll>  export();

    @ApiOperation("导入巡防力量")
    String importData(List<TbJcglXfll> userList,boolean updateSupport);
}