package com.chinaweal.aiccs.aiccs.business.service;

import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.BizCorrections;
import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;

/**
 * <p>
 * 勘误业务记录表 服务类
 * </p>
 *
 * @author <a href="https://blog.lroyia.top">lroyia</a>
 * @since 2021-04-25
 */
public interface BizCorrectionsService extends BaseService<BizCorrections> {

    /**
     * 创建勘误待办
     * @param curUser   当前用户信息
     * @param taskList  待办列表信息
     * @param corrections   勘误信息
     * @return  创建结果
     * @author lroyia
     * @since  2021年4月25日 19:01:14
     */
    TSTaskList createTask(AICUser curUser, TSTaskList taskList, BizCorrections... corrections);

    /**
     * 下一个勘误流程节点
     * @param user  当前用户
     * @param taskList  待办列表
     * @param opinionModel  处办记录
     * @param nextNodeID    下一个节点id
     * @param nextPerformerids  下一个节点用户id
     * @param nextPerformerNames    下一个节点用户名称
     * @param corrections   勘误信息
     * @return  操作结果
     * @author lroyia
     * @since  2021年4月25日 19:14:17
     */
    TSTaskList nextProcess(AICUser user, TSTaskList taskList, TSOpinion opinionModel, String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames, BizCorrections... corrections);

    /**
     * 将列异业务的相关附件作为勘误的原材料
     * @param correctBizseq
     * @param oldBizseq
     * @param newBizseq
     * @return
     */
    boolean updateBizFile(String correctBizseq,String oldBizseq,String newBizseq,String type);

}
