package com.unis.base.server.dao;

import com.unis.base.common.vo.*;
import com.unis.base.server.entity.PersonnelDO;
import com.unis.base.server.entity.QyiDo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface PersonnelMxDao {

    void insertBatch(PersonnelMxVO personnelMxVO);

//    List<PersonnelMxVO> selectDetails();

    List<PersonnelMxVO> selectBatch();


//    void deleteAll();

    List<QyiDo> selectduty(PageSDetailsVO pageSDetailsVO);

    List<PageCountVO> selectPerson(PageSDetailsVO pageSDetailsVO);

    List<PersonnelVO> selectPersonDetails(String ryxm);

    List<PersonnelVO> selectSmal(PageSDetailsVO pageSDetailsVO);

    List<PersonnelDO> selectDetails(String qymc, String ryxm, String personStatus);

//    void insertQiyi(List<QyiDo> pagePersonnelVOS);

//    void deleteOld();

    void updateN(String rybh);

    void updateY(String rybh);

    List<PagePersonnelVO> selectdutys(PageSDetailsVO pageSDetailsVO);

    List<PageCountVO> selectPersons(PageSDetailsVO pageSDetailsVO);

    String selectrybh(String ryxm);

    void insertEducation(List<EducationVO> educationVOList);

    void insertReport(List<ReportVO> reportVOList);

    void insertSkill(List<SkillVO> skillVOList);

    void insertRotater(List<RotaterotateVO> rotaterotateVOList);

    void insertFeieducation(List<FeiEducationVO> feiEducationVOList);

    void insertCertificate(List<OtherCertificatesVO> otherCertificatesVOList);

    String selectGroup(String ryxm);

    String selectGroupName(String groupId);

    String selectRybhd(PersonnelMxVO personnelMxVO);

    void ubdateRy(PersonnelMxVO personnelMxVO);

    PersonnelMxVO selectPer(String rybh);

    List<EducationVO> selectEducation(String rybh);

    List<ReportVO> selectReport(String rybh);

    List<SkillVO> selectSkill(String rybh);

    List<RotaterotateVO> selectRotaterotateVO(String rybh);

    List<FeiEducationVO> selectFeiEducationVO(String rybh);

    OtherCertificatesVO selectOtherCertificatesVO(String rybh);

    void updateS(SkillVO skillVO);


    void updateC(OtherCertificatesVO otherCertificatesVO);

    void updateR(RotaterotateVO rotaterotateVO);

    void updateRe(ReportVO reportVO);

    void updateFe(FeiEducationVO feiEducationVO);

    void updateEd(EducationVO educationVO);

    PersonnelDO selectDetailzs(String rybh);

    List<QyiDo> selectduty1(PageSDetailsVO pageSDetailsVO);

    List<PageCountVO> selectPerson1(PageSDetailsVO pageSDetailsVO);

    void deleteS(String rybh);

    void deleteC(String rybh);

    void deleteR(String rybh);

    void deleteRe(String rybh);

    void deleteFe(String rybh);

    void deleteEd(String rybh);

    List<String> selectTy(String qymc);

    List<PersonnelMxVO> selectByDeptId(String deptId);

    List<PersonnelMxVO> selectByGroupId(String groupId);
}
