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


import com.brilliance.isc.common.trndia.vo.DiaVo;
import com.brilliance.isc.common.trndia.vo.TrndiaVo;
import com.brilliance.isc.common.vo.SimpleModuleVo;

import java.util.Date;

public interface TrndiaService {

    void assertDiaries(TrndiaVo trndiaVo);

    void saveNewDiaries(TrndiaVo trndiaVo);

    @Deprecated
    default void trnDiaSet(TrndiaVo trndiaVo, Object argRec, String argDiaTyp, Date argDat, String argCod, String argNam, String argFrm, String argWriteFlag){}

    void trnDiaSet(TrndiaVo trndiaVo, String argDiaTyp, Date argDat, String argCod, String argNam, String argFrm, String argWriteFlag);

    void trnDiaSubSet(TrndiaVo trndiaVo, String argSubtyp, String argSubKey, String argDiaTyp,Date argDat,String argCod,String argNam,String argFrm, String argWriteFlag);

    @Deprecated
    default void trnDiaSetDone(TrndiaVo trndia, Object argRec,String argDiaTyp){}

    void trnDiaSetDone(TrndiaVo trndia, String argDiaTyp);

    @Deprecated
    default void trnDiaSubSetDone(TrndiaVo trndiaVo, Object rec, String argDiaTyp, String argSubKey){}

    void trnDiaSubSetDone(TrndiaVo trndiaVo, String argDiaTyp, String argSubKey);

    void trnDiaSetDone(TrndiaVo trndiaVo, SimpleModuleVo linkModule, String argDiaTyp);

    void trnDiaSubSetDone(TrndiaVo trndiaVo, SimpleModuleVo linkModule, String argDiaTyp, String argSubKey);

    void trnDiaClearDonFlg(TrndiaVo trndiaVo, String argDiaTyp);

    void trnDiaSubClearDonFlg(TrndiaVo trndiaVo, String argDiaTyp, String argSubKey);

    void calculateDiamodflg(DiaVo diaVo);

    void syncDealQueByDia(String objtyp,String objinr);

    void trnDiaSetInftxt(TrndiaVo trndiaVo, String argDiaTyp, String inftxt);

    void trnDiaSet(TrndiaVo trndiaVo, String argDiaTyp, Date argDat, String argCod, String argNam, String argFrm, String argWriteFlag, SimpleModuleVo linkModule, String argObjref);

    void trnDiaSubSet(TrndiaVo trndiaVo, String argSubtyp, String argSubKey, String argDiaTyp,Date argDat,String argCod,String argNam,String argFrm, String argWriteFlag, SimpleModuleVo linkModule, String argObjref);

    void updateDiaObjmodpath(TrndiaVo trndiaVo, String argSubKey, String argDiaTyp, SimpleModuleVo linkModule);
}
