You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weaver-hrm-organization/src/com/engine/organization/mapper/job/JobMapper.java

183 lines
4.0 KiB
Java

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<JobListDTO> listByFilter(@Param("jobPO") JobPO jobPO, @Param("orderSql") String orderSql);
/**
* 展示所有列表数据
*
* @return
*/
List<JobListDTO> listNoFilter(@Param("orderSql") String orderSql);
/**
* 根据搜索条件查询数据
*
* @param jobPO
* @return
*/
List<JobPO> listPOsByFilter(@Param("jobPO") JobPO jobPO);
/**
* 查询所有数据
*
* @return
*/
List<JobPO> listAll();
/**
* 根据ID查询元素
*
* @param id
* @return
*/
JobPO getJobById(@Param("id") Long id);
List<JobPO> getJobsByIds(@Param("ids") Collection<Long> ids);
/**
* 根据父ID查询元素
*
* @param pid
* @return
*/
List<JobPO> getJobsByPid(@Param("pid") Long pid);
/**
* 浏览按钮展示数据用
*
* @param ids
* @return
*/
List<Map<String, Object>> listJobsByIds(@Param("ids") Collection<Long> ids);
/**
* 根据编号查询数据
*
* @param jobNo
* @return
*/
List<JobPO> listByNo(@Param("jobNo") String jobNo);
/**
* 查询是否存在同名岗位
*
* @param jobName
* @param id
* @return
*/
List<JobPO> 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<JobPO> 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<Long> ids);
/**
* 查询所有被引用的ID
*
* @return
*/
List<String> 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<Long> ids, @Param("parentCompany") Long parentCompany, @Param("ecCompany") String ecCompany);
int isHasResource(@Param("jobId") Long jobId);
}