package com.yeejoin.amos.boot.module.jg.api.service;


import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * 移装变更登记登记接口类
 *
 * @author system_generator
 * @date 2023-12-20
 */
public interface IJgChangeRegistrationTransferService extends IService<JgChangeRegistrationTransfer> {

    List<JgChangeRegistrationTransferDto> updateTransfer(String submitType, JSONObject map, ReginParams reginParams);

    List<JgChangeRegistrationTransferDto> createTransfer(String submitType, JSONObject map, ReginParams reginParams);

    boolean deleteBatchBySequenceNbrs(Long[] sequenceNbrs);

    Map<String, Map<String, Object>> getTransferDetail(String sequenceNbr);

    Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page, JgChangeRegistrationTransferDto params, String companyTypeCode, String companyType);

    void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId);

    void revocation(String instanceId, String nextTaskId);

    void exportUseRegistrationCertificate(String sequenceNbr, HttpServletResponse response, String printType);

    Map<String, Object> getDetailFieldCamelCase(String record);
}
