package com.brilliance.isc.swift.fremsg.service;

import com.brilliance.isc.bo.Ecm;
import com.brilliance.isc.bo.Spt;
import com.brilliance.isc.common.doc.TextResultVo;
import com.brilliance.isc.common.trndia.vo.TrndiaVo;
import com.brilliance.isc.common.trndoc.vo.DoceotVo;
import com.brilliance.isc.common.trndoc.vo.TrndocVo;
import com.brilliance.isc.common.vo.BizInfoVo;
import com.brilliance.isc.common.vo.FremsgVo;
import com.brilliance.isc.common.vo.PtsptaVo;

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

public interface FreMessageService {
    void regDocFRE(BizInfoVo bizInfoVo, TrndocVo trndoc);
    void regDocFRE1(BizInfoVo bizInfoVo, TrndocVo trndoc,String fre1,String fre2);
     Set<String> buildMsgrolList(String objinr, String objtyp);

     void freDiaSet(BizInfoVo bizInfoVo,TrndiaVo trndiaVo,String inifrm);

    TextResultVo xxxfres1(FremsgVo fremsg, PtsptaVo ptsptaVo, String ownRef, DoceotVo doceotVo);
    TextResultVo xxxfres2(FremsgVo fremsg, PtsptaVo ptsptaVo, String ownRef, DoceotVo doceotVo);
    TextResultVo xxxfres1(FremsgVo fremsg, PtsptaVo ptsptaVo,String ownRef, DoceotVo doceotVo,String objTyp);
    TextResultVo xxxfres2(FremsgVo fremsg, PtsptaVo ptsptaVo, String ownRef, DoceotVo doceotVo, String objTyp, Spt spt);

    <T> TextResultVo xxxfres1(FremsgVo fremsg, PtsptaVo ptsptaVo, T transactionVo,String ownRef, DoceotVo doceotVo,String objTyp);
    <T> TextResultVo xxxfres2(FremsgVo fremsg, PtsptaVo ptsptaVo,T transactionVo, String ownRef, DoceotVo doceotVo, String objTyp, Spt spt);

    <T> void xmlPrtBodyOriginal(Map<String, List<String[]>> dataMap, T transactionVo, DoceotVo doceotVo);
    <T> void xmlPrtBodyCopy(Map<String, List<String[]>> dataMap, T transactionVo, DoceotVo doceotVo);

    TextResultVo Ecmswt103(Ecm ecm);

}
