package com.ruoyi.postCheck.service;

import java.util.List;
import com.ruoyi.postCheck.domain.PostProgramme;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 岗检方案Service接口
 *
 * @author csg
 * @date 2023-12-19
 */
public interface IPostProgrammeService extends IService<PostProgramme>
{
    /**
     * 查询岗检方案
     *
     * @param id 岗检方案主键
     * @return 岗检方案
     */
    public PostProgramme selectPostProgrammeById(Long id);

    /**
     * 查询岗检方案列表
     *
     * @param postProgramme 岗检方案
     * @return 岗检方案集合
     */
    public List<PostProgramme> selectPostProgrammeList(PostProgramme postProgramme);

    /**
     * 新增岗检方案
     *
     * @param postProgramme 岗检方案
     * @return 结果
     */
    public int insertPostProgramme(PostProgramme postProgramme);

    /**
     * 修改岗检方案
     *
     * @param postProgramme 岗检方案
     * @return 结果
     */
    public int updatePostProgramme(PostProgramme postProgramme);

    /**
     * 批量删除岗检方案
     *
     * @param ids 需要删除的岗检方案主键集合
     * @return 结果
     */
    public int deletePostProgrammeByIds(Long[] ids);

    /**
     * 删除岗检方案信息
     *
     * @param id 岗检方案主键
     * @return 结果
     */
    public int deletePostProgrammeById(Long id);

    /**
     * 岗检方案审核-HR
     * @param id    主键ID
     * @param statusHr 1-人力资源审批-状态：1-待审核；3-通过；4-驳回；
     * @param reasonHr 1-人力资源审批-未通过理由
     * @return
     */
    int approveHr(Long id, Integer statusHr, String reasonHr);

    /**
     * 岗检方案审核-Icfa
     * @param id    主键ID
     * @param statusIcfa 2-内控法务部审批-状态：1-待审核；3-通过；4-驳回；
     * @param reasonIcfa 2-内控法务部审批-未通过理由
     * @return
     */
    int approveIcfa(Long id, Integer statusIcfa, String reasonIcfa);
}
