package com.srs.comprehensive.service;

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

import com.srs.common.core.domain.entity.SysUser;
import com.srs.comprehensive.domain.CphTeacher;
import com.srs.comprehensive.domain.Dto.CphExport;
import com.srs.comprehensive.domain.SrsGrade;
import com.srs.comprehensive.domain.SrsMajors;
import com.srs.comprehensive.domain.Vo.*;

/**
 * 辅导员信息Service接口
 *
 * @author srs
 * @date 2023-07-03
 */
public interface ICphTeacherService
{

    /**
     * 通过工号查询辅导员信息
     * @author zhy
     * @date 2023-07-07 16:08:11
     * @param tno
     * @return
     **/
    public CphTeacher searchTeacherByEmployeeId(String tno);

    public List<Map<String,Object>> getOwnUnTodoCount(String tno);

    public List<CphTeacherLookScore> listClassTwo(String tno);
    public List<CphTeacherLookScore> listIam(String tno);
    public List<CphTeacherLookScore> listCe(String tno);
    public List<CphTeacherLookScore> listCourse(String tno);
    public List<CphTeacherLookScore> listSport(String tno);
    public List<CphRecord> getIamRecordByStuNo(String stuNo);
    public List<SrsMajors> listOwnMajor(String tNo);
    public List<SrsGrade> listOwnGrade(String tNo);

    public CountStu countOwnStu(CphSearch param);

    public CountStu countLiveStu(CphSearch param);

    public List<CphClassRankScore> countOwnHisClass(CphSearch param);


    public List<Map> countOwnHisAsClass(CphSearch param);


    /**
     * 查询辅导员信息
     *
     * @param teacherId 辅导员信息主键
     * @return 辅导员信息
     */
    public CphTeacher selectCphTeacherByTeacherId(Long teacherId);



    public List<CphTeacherOwnStu> listOwnStu(String tNo);


    /**
     * 查询辅导员信息列表
     *
     * @param cphTeacher 辅导员信息
     * @return 辅导员信息集合
     */
    public List<CphTeacher> selectCphTeacherList(CphTeacher cphTeacher);

    /**
     * 查询辅导员名字列表
     *
     * @param
     * @return 辅导员信息
     */
    public List<Object> selectCphTeacherNameList();

    /**
     * 新增辅导员信息
     *
     * @param cphTeacher 辅导员信息
     * @return 结果
     */
    public int insertCphTeacher(CphTeacher cphTeacher);

    /**
     * 修改辅导员信息
     *
     * @param cphTeacher 辅导员信息
     * @return 结果
     */
    public int updateCphTeacher(CphTeacher cphTeacher);

    /**
     * 批量删除辅导员信息
     *
     * @param teacherIds 需要删除的辅导员信息主键集合
     * @return 结果
     */
    public int deleteCphTeacherByTeacherIds(Long[] teacherIds);

    /**
     * 删除辅导员信息信息
     *
     * @param teacherId 辅导员信息主键
     * @return 结果
     */
    public int deleteCphTeacherByTeacherId(Long teacherId);

    /**
     * 同步辅导员信息
     * @return
     */
    public Map<String, Integer> teacherDataSync();

    void sqlserverSynchronousMYSQL(List<Map> list);
    void synchronousMYSQL(List<Map> list);

    void Usertb();
    void UsertbNew();

    void insertUserrole(List<SysUser> insertUser);

    List<Map<String, Object>> exportSXZZ(CphExport param);
    List<Map<String, Object>> exportZHPJ(CphExport param);
}
