package com.casic.missiles.service.meter;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.meter.MeterStaffImport;
import com.casic.missiles.dto.meter.MeterStaffRequest;
import com.casic.missiles.model.meter.MeterStaff;
import com.casic.missiles.model.meter.MeterTrainStaff;
import com.casic.missiles.model.system.UserInfo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;


/**
 * <p>
 * 计量管理-计量人员-计量人员表 服务类
 * </p>
 *
 */
public interface MeterStaffService extends IService<MeterStaff> {

    Page<MeterStaff> selectStaffList(Page<MeterStaff> page,MeterStaffRequest meterStaffVo);

    MeterStaff selectStaffInfo(IdDTO id);

    ReturnDTO deleteStaff(IdDTO idDto);

    Page<UserInfo> getUserList(String name, String deptId, Page<UserInfo> page);

    ReturnDTO addStaffInfo(MeterStaff meterStaff);

    void exportStaffList(MeterStaffRequest meterStaffRequest, HttpServletResponse response);

    ReturnDTO updateStaffInfo(MeterStaff meterStaff);

    ReturnDTO dataCheck(List<MeterStaffImport> list);

    List<MeterStaff> selectStaffListByDept(MeterStaffRequest meterStaffRequest);

    Page<MeterTrainStaff> staffCultivateLog(Page<MeterTrainStaff> page, IdDTO idDto);

    ReturnDTO updateStaffCultivateLog(List<MeterTrainStaff> list);

    ReturnDTO<Map<String, Integer>> isMeterStaff();
}
