package com.xunmei.core.resumption.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xunmei.core.resumption.domain.AppPlan;
import com.xunmei.core.resumption.vo.appPlan.AppPlanVo;
import com.xunmei.core.resumption.vo.appPlan.RuleItemVo;
import com.xunmei.core.resumption.vo.appPlan.RuleRequestVo;

import java.util.List;
import java.util.Map;

public interface AppPlanService extends IService<AppPlan> {

    /**
     * 获取分页数据
     *
     * @return
     */
    Page<AppPlan> selectPage(AppPlanVo info);

    List<Long> selectItemIdsByPlanId(Long id);

    /**
     * @param plan_id
     * @return
     */

    List<Long> findExecOrgByPlan(Long plan_id);


    /**
     * 获取规范
     *
     * @param info
     * @return
     */
    List<Map<String, Object>> findByOrg(RuleRequestVo info);

    /**
     * 检查要点分页
     *
     * @param info
     * @return
     */
    Page<RuleItemVo> selectItemPage(RuleItemVo info);

    /**
     * 新增或者修改
     *
     * @param app
     * @author 高雄
     * @time 2022/5/5 16:38
     */
    void saveOrUpdatePlan(AppPlanVo app) throws Exception;

    /**
     * 获取计划详情数据
     *
     * @param id
     * @return
     */
    AppPlanVo findById(Long id);

    /**
     * 删除计划
     *
     * @param id
     * @throws Exception
     */
    void deleted(Long id) throws Exception;

    /**
     * 获取履职计划对于的履职角色
     *
     * @param id
     * @return
     */
    List<Long> findRoleByPlan(Long id);
}
