package com.brilliance.isc.common.finmod.service;

import com.brilliance.isc.bo.Finmod;
import com.brilliance.isc.common.finmod.vo.*;
import com.brilliance.isc.vo.model.FinmodVo;

public interface FinmodService {

    void initFinmod(FinmodVo finmodVo);

    void defaultFinmod(FinmodVo finmodVo);

    /**
     * 在新国结里面finmod是一张表，老国结是finblk
     * 兼容新老国结数据结构
     * 1.优先从数据库表finmod查询
     * 2.finblk解析成finmod
     * @param objinr
     * @param objtyp
     * @param finblk
     * @return
     */
    FinmodVo loadDataFromBlock(String objinr, String objtyp, String finblk);

    Finmod saveDataToBlock(FinmodVo finmodVo);

    String save6153Data(FinmodVo finmodVo);

    String save6205Data(FinmodVo finmodVo);

    String save6107Data(FinmodVo finmodVo);

    boolean isCreFinTrn(FinmodVo finmodVo);

    String getCecmCpmc(String argCode);

    void defaultFixprdN1000(FinmodVo finmodVo);

    void defaultCbsCbeCurN1000(FinmodVo finmodVo);

    void defaultTotintN1000(FinmodVo finmodVo);

    void defaultWjdkflN1000(FinmodVo finmodVo);

    void defaultDingjia2N1400(FinmodVo finmodVo);

    void defaultDinmodJzllgzN900(FinmodVo finmodVo);

    Finmod2571Response call2571(Finmod2571Request request);

    Finmod6153Response call6153(FinmodVo finmodVo);

    FinmodCPC3Response callCPC3(FinmodCPC3Request finmodCPC3Request);
}
