package com.chinaweal.aiccs.aiccs.annual.service;

import com.chinaweal.aiccs.aiccs.annual.entity.BizAnnualDissentInfo;
import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList;
import com.chinaweal.aiccs.aiccs.punishment.entity.TsbizPunishLock;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 年报公示异议反馈业务记录信息 服务类
 * </p>
 *
 * @author <a href="https://blog.lroyia.top">lroyia</a>
 * @since 2021-04-13
 */
public interface BizAnnualDissentInfoService extends BaseService<BizAnnualDissentInfo> {

    /**
     * 保存年报异议申请
     * @param curUser   当前用户
     * @param taskList  待办信息
     * @param infos 业务信息记录
     * @return  处理结果
     * @author  lroyia
     * @since   2021年4月13日 14:36:46
     */
    TSTaskList saveAnnualDissentAccept(AICUser curUser, TSTaskList taskList, BizAnnualDissentInfo ...infos);

    /**
     * 下一步流程
     * @param user  当前用户
     * @param taskList 待办模型
     * @param opinionModel  处办模型
     * @param nextNodeID    下一个节点id
     * @param nextPerformerids  下一个操作人的id
     * @param nextPerformerNames    下一个操作人名称
     * @param infos 业务信息
     * @return  操作结果
     * @author  lroyia
     * @since   2021年4月13日 15:52:45
     */
    TSTaskList nextProcess(AICUser user, TSTaskList taskList,TSOpinion opinionModel, String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames,  BizAnnualDissentInfo ...infos);

    TSTaskList saveAnnualProcess(AICUser user, TSTaskList taskListModel, BizAnnualDissentInfo bizAnnualDissentInfo,
                                            TSOpinion opinionModel, String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames);

    List<BizAnnualDissentInfo> queryByinfoId(String infoId);

    List<BizAnnualDissentInfo> queryByBizseq(String bizseq);
}
