package com.bonus.system.att.dao;

import com.bonus.system.api.domain.MapVo;
import com.bonus.system.att.entity.AttGroupBean;
import com.bonus.system.att.entity.AttGroupCheckOrgBean;
import com.bonus.system.att.entity.OrgChangeBean;
import com.bonus.system.basic.domain.SysTree;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.List;

/**
 * 组织架构-数据访问层
 * @author zys
 */
@Repository("OrgChangeDao")
public interface OrgChangeDao {

    /**
     * 获取组织架构列表
     * @param bean 参数
     * @return list bean
     */
    List<OrgChangeBean> selectOrgChangeList(OrgChangeBean bean);


    /**
     * 删除组织架构
     * @param groupId 组织架构编号
     * @return 1|0
     */
    int deleteAttGroup(Long groupId);

    /**
     * 上传组织架构表
     * @param bean 参数
     * @return 1|0
     */
    int insertOrgChange(OrgChangeBean bean);



    /**
     * 根据组织架构编号获取人员绑定情况
     * @param id 组织架构编号
     * @return list bean
     */
    OrgChangeBean selectOrgChangeById(Long id);


    /**
     * 修改组织架构
     * @param bean 参数
     * @return 1|0
     */
    int updateOrgChange(OrgChangeBean bean);
    /**
     * 提交/撤回 审核
     * @param o
     * @return
     */
    int orgChangeCheck(OrgChangeBean o);

    List<MapVo> getAttGroupList();

    void updateOrgByUserId(OrgChangeBean item);

    void updateAttGroupByUserId(OrgChangeBean item);

    void updateOrgChangeIsApply(OrgChangeBean item);

    void updateOrgByUserIdAndOldOrgId(OrgChangeBean o);
}
