package com.chinaweal.aiccs.aiccs.punishment.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList;
import com.chinaweal.aiccs.aiccs.punishment.entity.TBizRemPunishment;
import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate;
import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 行政处罚修复业务表 服务类
 * </p>
 *
 * @author chinaweal
 * @since 2023-04-10
 */
public interface ITBizRemPunishmentService extends BaseService<TBizRemPunishment> {


    /**
     * 新增行政处罚修复业务表
     */
    TBizRemPunishment saveTBizRemPunishment(TBizRemPunishment tBizRemPunishment);

    /**
     * 修改行政处罚修复业务表
     */
    void updateTBizRemPunishment(TBizRemPunishment tBizRemPunishment);

    /**
     * 分页查询行政处罚修复业务表
     */
    IPage<TBizRemPunishment> listTBizRemPunishment(BaseQuery<TBizRemPunishment> query);

    Map<String, String> startTask(TBizRemPunishment tBizRemPunishment);

    void submitTask(TBizRemPunishment tBizRemPunishment, TSTaskList tsTaskList, Tswrittemplate tswrittemplate);

    /**
     * 提交外省行政处罚修复待办
     * @param tBizRemPunishment 业务信息
     * @param tsTaskList 任务信息
     * @param tswrittemplate 文书模板
     * @param qgCasePubNbaseinfoService 跨省处罚信息服务
     * @param crECaseService 跨省修复案例服务
     */
    void submitTaskN(TBizRemPunishment tBizRemPunishment, TSTaskList tsTaskList, Tswrittemplate tswrittemplate,
                     IQgCasePubNbaseinfoService qgCasePubNbaseinfoService, ICrECaseService crECaseService);

    List<TBizRemPunishment> selectbizRembizseq(String bizseqid);

}
