package com.brilliance.isc.transfer.model;

import com.brilliance.isc.bo.Nid;
import com.brilliance.isc.bo.Nit;
import com.brilliance.isc.bo.model.Nidgrp;
import com.brilliance.isc.bo.model.Nitp;
import com.brilliance.isc.vo.model.NidVo;
import com.brilliance.isc.vo.model.NitVo;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;

//import com.brilliance.isc.bo.model.Niacbs;

/**
 * 国内保函业务模型拷贝、转换函数声明
 */
@Mapper(componentModel = "spring",uses = {ICbbMapper.class})
public interface INitMapper {
    NidVo convertNidToVo(Nid nid);
    Nid convertNidVoToVo(NidVo nidVo);

    void updateNidFromVo(NidVo nidVo, @MappingTarget Nid Nid);
    void updateNidVoFromBo(Nid Nid, @MappingTarget NidVo nidVo);

    NitVo convertNitToVo(Nit nit);
    Nit convertNitVoToVo(NitVo nitVo);

    void updateNitFromVo(NitVo nitVo, @MappingTarget Nit nit);
    void updateNitVoFromBo(Nit nit, @MappingTarget NitVo nitVo);

    com.brilliance.isc.vo.model.Nidgrp convertNidgrpToVo(Nidgrp nitgrp);
    Nidgrp convertNidgrpVoToVo(com.brilliance.isc.vo.model.Nidgrp nitgrpVo);

    void updateNidgrpFromVo(com.brilliance.isc.vo.model.Nidgrp nitgrpVo, @MappingTarget Nidgrp nitgrp);
    void updateNidgrpVoFromBo(Nidgrp nitgrp, @MappingTarget com.brilliance.isc.vo.model.Nidgrp nitgrpVo);

//    com.brilliance.isc.vo.model.Niacbs convertNidgrpToVo(Niacbs niacbs);
//    Niacbs convertNidgrpVoToVo(com.brilliance.isc.vo.model.Niacbs niacbsVo);
//
//    void updateNiacbsFromVo(com.brilliance.isc.vo.model.Niacbs niacbsVo, @MappingTarget Niacbs niacbs);
//    void updateNiacbsVoFromBo(Niacbs niacbs, @MappingTarget com.brilliance.isc.vo.model.Nidgrp niacbsVo);


    com.brilliance.isc.vo.model.Nitp convertNidgrpToVo(Nitp nitp);
    Nitp convertNidgrpVoToVo(com.brilliance.isc.vo.model.Nitp niacbsVo);

    void updateNitpFromVo(com.brilliance.isc.vo.model.Nitp nitpVo, @MappingTarget Nitp nitp);
    void updateNitpVoFromBo(Nitp nitp, @MappingTarget com.brilliance.isc.vo.model.Nitp nitpVo);

}
