package com.eactive.eai.common.c2rservice.mapper;

import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;

import com.eactive.eai.common.c2rservice.C2RServiceVO;
import com.eactive.eai.data.entity.onl.c2rservice.C2RService;
import com.eactive.eai.data.mapper.GenericMapper;

@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface C2RServiceMapper extends GenericMapper<C2RServiceVO, C2RService> {

	@Mapping(source = "id.extnlinstiidnfiname", target = "c2rExtnlInstiCd")
	@Mapping(source = "id.svcprcssno", target = "svcPssSeq")
	@Mapping(source = "bascrspnschngeonot", target = "bsRspCnvEn")
	@Mapping(source = "bascrspnschngmsgidname", target = "bsRspCnvMsgID")
	@Mapping(source = "bascrspnsmsgcmprctnt", target = "bsRspMsgCprVl")
	@Mapping(source = "chngeonot", target = "cnvEn")
	@Mapping(source = "chngmsgidname", target = "cnvMsgID")
	@Mapping(source = "cmpensvcprcssdsticname", target = "cpnsSvcPssCd")
	@Mapping(source = "errrspnschngeonot", target = "errRspCnvEn")
	@Mapping(source = "errrspnschngmsgidname", target = "errRspCnvMsgID")
	@Mapping(source = "errrspnsmsgcmprctnt", target = "errRspMsgCprVl")
	@Mapping(source = "flovryn", target = "flOvrCls")
	@Mapping(source = "hdrctrldstcd", target = "hdrCtrlDstcd")
	@Mapping(source = "hdrrefclsname", target = "hdrRefClsName")
	@Mapping(source = "nextsvcprcssno", target = "nxtSvcPssSeq")
	@Mapping(source = "outbndroutname", target = "outbRtnNm")
	@Mapping(source = "psvintfacdsticname", target = "psvItfTp")
	@Mapping(source = "psvsysadptrbzwkgroupname", target = "psvSysItfTp")
	@Mapping(source = "psvsysbzwkdstcd", target = "psvBwkSysNm")
	@Mapping(source = "psvsysidname", target = "psvSysID")
	@Mapping(source = "psvsyssvcdsticname", target = "psvSysSvcCd")
	@Mapping(source = "suppldelyn", target = "supplDelYn")
	@Mapping(source = "toutval", target = "tmoVl")
	@Mapping(source = "useyn", target = "useYn")
	@Override
	C2RServiceVO toVo(C2RService entity);

	@InheritInverseConfiguration
	@Override
	C2RService toEntity(C2RServiceVO vo);
}
