package com.ruoyi.postCheck.service;

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

/**
 * 岗检计划Service接口
 *
 * @author csg
 * @date 2023-12-19
 */
public interface IPostPlanService extends IService<PostPlan>
{
    /**
     * 查询岗检计划
     *
     * @param id 岗检计划主键
     * @return 岗检计划
     */
    public PostPlan selectPostPlanById(Long id);

    /**
     * 查询岗检计划列表
     *
     * @param postPlan 岗检计划
     * @return 岗检计划集合
     */
    public List<PostPlan> selectPostPlanList(PostPlan postPlan);

    /**
     * 新增岗检计划
     *
     * @param postPlan 岗检计划
     * @return 结果
     */
    public int insertPostPlan(PostPlan postPlan);

    /**
     * 修改岗检计划
     *
     * @param postPlan 岗检计划
     * @return 结果
     */
    public int updatePostPlan(PostPlan postPlan);

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

    /**
     * 删除岗检计划信息
     *
     * @param id 岗检计划主键
     * @return 结果
     */
    public int deletePostPlanById(Long id);

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

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