package com.eactive.eai.rms.onl.manage.comm.unifbwk;

import org.mapstruct.BeanMapping;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingTarget;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.ReportingPolicy;

import com.eactive.eai.data.entity.onl.unifbwk.UnifBwkTp;
import com.eactive.eai.data.mapper.GenericMapper;

@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface UnifbwkUIMapper extends GenericMapper<UnifbwkUI, UnifBwkTp> {

	@Override
	@Mapping(source = "eaibzwkdstcd", target = "eaiBzwkDstcd")
	@Mapping(source = "bzwkdsticname", target = "bzwkDsticName")
	@Mapping(source = "applcd", target = "applCd")
	@Mapping(source = "bzwkdsticdesc", target = "bzwkDsticDesc")
	@Mapping(source = "trackasiskey1name", target = "trackAsisKey1Name")
	@Mapping(source = "trackasiskey2name", target = "trackAsisKey2Name")
	@Mapping(source = "rsempname", target = "rsEmpName")
	@Mapping(source = "rspblpsncntpctnt", target = "rsPblpsncntpcTnt")
	@Mapping(source = "groupcocd", target = "groupCoCd")
	@Mapping(source = "lastModDtm", target = "lastModDtm")
	@Mapping(source = "discarddate", target = "discardDate")
	@Mapping(source = "inputdstcd", target = "inputDstCd")
	UnifbwkUI toVo(UnifBwkTp entity);

	@Override
	@InheritInverseConfiguration
	UnifBwkTp toEntity(UnifbwkUI vo);

	@InheritInverseConfiguration
	@BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
	void updateToEntity(UnifbwkUI unifbwkVo, @MappingTarget UnifBwkTp unifBwkTp);

}
