package com.kingdee.eas.custom.expandassess.service;

import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.metadata.entity.FilterInfo;
import com.kingdee.bos.metadata.entity.FilterItemInfo;
import com.kingdee.bos.metadata.query.util.CompareType;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.custom.expandassess.ExpandAssessEntryCollection;
import com.kingdee.eas.custom.expandassess.QuarterlyRatioCollection;
import com.kingdee.eas.custom.expandassess.app.ExpandStatusEunm;
import com.kingdee.eas.custom.performancenew.ExamineGradePersonEntryCollection;
import com.kingdee.eas.custom.performancenew.ExamineGradePersonEntryFactory;
import com.kingdee.eas.custom.performancenew.ExamineGradePersonEntryInfo;
import com.kingdee.eas.custom.performancenew.IExamineGradePersonEntry;
import com.kingdee.eas.custom.performancenew.app.orderStatucEnum;
import com.kingdee.eas.hr.ats.AtsUtil;
import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;

/**
 * @author qingwu
 * @date 2024/5/17
 * @apiNote
 */
public interface ExpandAssessService {

    /**
     * 校验周期是否被锁定
     *
     * @param billId
     */
    public boolean verifyeriodLockOrNot(Context ctx, String billId) throws BOSException, ShrWebBizException;

    /**
     * 通过年获取季度比例表数据
     *
     * @param year
     * @return
     */
    public QuarterlyRatioCollection getQuarterlyRatioByYear(Context ctx, int year) throws BOSException;

    /**
     * 查询分录数据通过单据Id和部门ID
     *
     * @param ctx
     * @param billId
     * @param adminOrgId
     * @return
     */
    public ExpandAssessEntryCollection qeruyEntryByBillIdAndAdminOrg(Context ctx, String billId, String adminOrgId) throws BOSException;

    /**
     * 批量修改状态
     *
     * @param ctx
     * @param idArray   ID集合
     * @param eunm1     判断条件
     * @param eunm2     赋值内容
     * @param errorText 错误提示
     */
    public void updateAsseStatusAll(Context ctx, String idArray, ExpandStatusEunm eunm1, ExpandStatusEunm eunm2, String errorText) throws ShrWebBizException, BOSException, EASBizException;

    /**
     * 获取当前登录人为负责人的数据
     *
     * @param ctx
     * @param billId
     * @return
     * @throws ShrWebBizException
     * @throws BOSException
     */
    public ExpandAssessEntryCollection getCurrentPersonEqualsPrincipal(Context ctx, String billId, String adminId) throws ShrWebBizException, BOSException;

    /**
     * 组织过滤
     *
     * @param billID
     * @return
     */
    public String getAdminOrgFilter(Context ctx, String billID) throws ShrWebBizException, BOSException;

    /**
     * 校验提交状态是否
     */
    public void verifyStatus(String trs);


    /**
     * 查询分录数据
     *
     * @param billId
     */
    public ExpandAssessEntryCollection getEntrysByBill(Context ctx, String billId) throws ShrWebBizException, BOSException;

    /**
     * 专员动态列表删除
     *
     * @param ctx
     * @param idArray
     * @throws BOSException
     * @throws ShrWebBizException
     * @throws EASBizException
     */
    public void deleteExpandAssessEntry(Context ctx, String idArray) throws BOSException, ShrWebBizException, EASBizException;
}
