package com.kingdee.eas.custom.integration.feishu;


import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.bos.framework.ejb.EJBRemoteException;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.bos.util.BOSObjectType;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.custom.integration.feishu.app.FeishuApprovalGroupController;
import com.kingdee.shr.base.syssetting.SHRBaseItem;

import java.rmi.RemoteException;

/**
 * @Description TODO
 * @Date 2026/3/12 10:34
 * @Created by HeYuan
 */
public class FeishuApprovalGroup  extends SHRBaseItem implements IFeishuApprovalGroup {
    public FeishuApprovalGroup() {
        super();
        registerInterface(IFeishuApprovalGroup.class, this);
    }

    public FeishuApprovalGroup(Context ctx) {
        super(ctx);
        registerInterface(IFeishuApprovalGroup.class, this);
    }

    public BOSObjectType getType() {
        return new BOSObjectType("DAFFF593");
    }

    private FeishuApprovalGroupController getController() throws BOSException {
        return (FeishuApprovalGroupController) getBizController();
    }

    /**
     * 取值-System defined method
     *
     * @param pk 取值
     * @return
     */
    public FeishuApprovalGroupInfo getFeishuApprovalGroupInfo(IObjectPK pk) throws BOSException, EASBizException {
        try {
            return getController().getFeishuApprovalGroupInfo(getContext(), pk);
        } catch (RemoteException err) {
            throw new EJBRemoteException(err);
        }
    }

    /**
     * 取值-System defined method
     *
     * @param pk       取值
     * @param selector 取值
     * @return
     */
    public FeishuApprovalGroupInfo getFeishuApprovalGroupInfo(IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException {
        try {
            return getController().getFeishuApprovalGroupInfo(getContext(), pk, selector);
        } catch (RemoteException err) {
            throw new EJBRemoteException(err);
        }
    }

    /**
     * 取值-System defined method
     *
     * @param oql 取值
     * @return
     */
    public FeishuApprovalGroupInfo getFeishuApprovalGroupInfo(String oql) throws BOSException, EASBizException {
        try {
            return getController().getFeishuApprovalGroupInfo(getContext(), oql);
        } catch (RemoteException err) {
            throw new EJBRemoteException(err);
        }
    }

    /**
     * 取集合-System defined method
     *
     * @return
     */
    public FeishuApprovalGroupCollection getFeishuApprovalGroupCollection() throws BOSException {
        try {
            return getController().getFeishuApprovalGroupCollection(getContext());
        } catch (RemoteException err) {
            throw new EJBRemoteException(err);
        }
    }

    /**
     * 取集合-System defined method
     *
     * @param view 取集合
     * @return
     */
    public FeishuApprovalGroupCollection getFeishuApprovalGroupCollection(EntityViewInfo view) throws BOSException {
        try {
            return getController().getFeishuApprovalGroupCollection(getContext(), view);
        } catch (RemoteException err) {
            throw new EJBRemoteException(err);
        }
    }

    /**
     * 取集合-System defined method
     *
     * @param oql 取集合
     * @return
     */
    public FeishuApprovalGroupCollection getFeishuApprovalGroupCollection(String oql) throws BOSException {
        try {
            return getController().getFeishuApprovalGroupCollection(getContext(), oql);
        } catch (RemoteException err) {
            throw new EJBRemoteException(err);
        }
    }
}