package com.engine.organization.mapper.job; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; import java.util.Map; /** * @description: * @author:dxfeng * @createTime: 2022/05/24 * @version: 1.0 */ public interface JobMapper { /** * 根据搜索条件查询数据 * * @return */ List listByFilter(@Param("jobPO") JobPO jobPO, @Param("orderSql") String orderSql); /** * 展示所有列表数据 * * @return */ List listNoFilter(@Param("orderSql") String orderSql); /** * 根据搜索条件查询数据 * * @param jobPO * @return */ List listPOsByFilter(@Param("jobPO") JobPO jobPO); /** * 查询所有数据 * * @return */ List listAll(); /** * 根据ID查询元素 * * @param id * @return */ JobPO getJobById(@Param("id") Long id); List getJobsByIds(@Param("ids") Collection ids); /** * 根据父ID查询元素 * * @param pid * @return */ List getJobsByPid(@Param("pid") Long pid); /** * 浏览按钮展示数据用 * * @param ids * @return */ List> listJobsByIds(@Param("ids") Collection ids); /** * 根据编号查询数据 * * @param jobNo * @return */ List listByNo(@Param("jobNo") String jobNo); /** * 查询是否存在同名岗位 * * @param jobName * @param id * @return */ List listByNameExceptId(@Param("jobName") String jobName, @Param("id") Long id); /** * 统计同一层级下是否有重名岗位 * @param jobName * @param id * @param parentJob * @param ecDepartment * @return */ Integer countRepeatNameByPid(@Param("jobName") String jobName, @Param("id") Long id, @Param("parentJob") Long parentJob, @Param("ecDepartment") Long ecDepartment); /** * 根据所属部门查询数据 * * @param departmentId * @return */ List listJobsByDepartmentId(@Param("departmentId") long departmentId); /** * 添加数据 * * @param jobPO * @return */ int insertIgnoreNull(JobPO jobPO); /** * 更新主表内容 * * @param jobPO * @return */ int updateBaseJob(JobPO jobPO); /** * 更新禁用标识 * * @param id * @param forbiddenTag * @return */ int updateForbiddenTagById(@Param("id") long id, @Param("forbiddenTag") int forbiddenTag); /** * 批量删除 * * @param ids */ int deleteByIds(@Param("ids") Collection ids); /** * 查询所有被引用的ID * * @return */ List listUsedId(); /** * 获取最大排序 * * @return */ Integer getMaxShowOrder(); /** * 根据名字和上级查询岗位信息 * * @param jobName * @param parentCompany * @param parentDepartment * @param parentJob * @return */ Long getIdByNameAndPid(@Param("jobName") String jobName, @Param("parentCompany") Long parentCompany, @Param("parentDepartment") Long parentDepartment, @Param("parentJob") Long parentJob); Long getIdByNameAndEcId(@Param("jobName") String jobName, @Param("ecCompany") String ecCompany, @Param("ecDepartment") String ecDepartment); int checkRepeatNo(@Param("jobNo") String jobNo, @Param("id") Long id); /** * 批量更新岗位的所属分部 * * @param ids * @param parentCompany * @return */ int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Long parentCompany, @Param("ecCompany") String ecCompany); int isHasResource(@Param("jobId") Long jobId); }